Browse Source

Merge branch 'master' of ssh://gitlab.frkj.cc:222/php/zhjwxt

wangzeyan
王泽彦 11 months ago
parent
commit
0b21fff019
  1. 16
      niucloud/app/api/controller/apiController/Common.php
  2. 81
      niucloud/app/api/controller/apiController/CustomerResources.php
  3. 5
      niucloud/app/api/route/route.php
  4. 5
      niucloud/app/event.php
  5. 29
      niucloud/app/listener/personnel/CalculatePerformance.php
  6. 46
      niucloud/app/service/api/apiService/CommonService.php
  7. 73
      niucloud/app/service/api/apiService/CustomerResourcesService.php

16
niucloud/app/api/controller/apiController/Common.php

@ -11,15 +11,9 @@
namespace app\api\controller\apiController;
use app\dict\member\MemberLoginTypeDict;
use app\Request;
use app\service\api\apiService\PersonnelService;
use app\service\api\captcha\CaptchaService;
use app\service\api\login\ConfigService;
use app\service\api\login\LoginService;
use app\service\api\apiService\CommonService;
use core\base\BaseApiService;
use Exception;
use think\Response;
/**
* 公共控制器相关接口
@ -29,13 +23,13 @@ use think\Response;
class Common extends BaseApiService
{
//员工详情
public function info(Request $request){
//获取字典
public function getDictionary(Request $request){
//获取员工信息
$where = [
'id'=>$this->member_id,
'key'=>$request->param('key','')
];
$res = (new PersonnelService())->info($where);
$res = (new CommonService())->getDictionary($where);
if(!$res){
return fail('账户信息有误');
}

81
niucloud/app/api/controller/apiController/CustomerResources.php

@ -0,0 +1,81 @@
<?php
// +----------------------------------------------------------------------
// | Niucloud-admin 企业快速开发的多应用管理平台
// +----------------------------------------------------------------------
// | 官方网址:https://www.niucloud.com
// +----------------------------------------------------------------------
// | niucloud团队 版权所有 开源版本可自由商用
// +----------------------------------------------------------------------
// | Author: Niucloud Team
// +----------------------------------------------------------------------
namespace app\api\controller\apiController;
use app\Request;
use app\service\api\apiService\CustomerResourcesService;
use core\base\BaseApiService;
/**
* 客户资源相关接口
* Class Personnel
* @package app\api\controller\apiController
*/
class CustomerResources extends BaseApiService
{
//客户资源添加
public function add(Request $request){
$date = date('Y-m-d');
$customer_resources_data = [
"create_year_month"=>date('Y-m'),
"create_date"=>date('Y-m-d'),
"source_channel" => $request->param('source_channel', ''),
"source" => $request->param('source', ''),
"consultant" => $request->param('consultant', ''),
"name" => $request->param('name', ''),
"age" => $request->param('age', ''),
"gender" => $request->param('gender', ''),
"phone_number" => $request->param('phone_number', ''),
"demand" => $request->param('demand', ''),
"decision_maker" => $request->param('decision_maker', ''),
"initial_intent" => $request->param('initial_intent', ''),
"status" => $request->param('status', ''),
"purchasing_power" => $request->param('purchasing_power', ''),
"cognitive_idea" => $request->param('cognitive_idea', ''),
"optional_class_time" => $request->param('optional_class_time', ''),
"distance" => $request->param('distance', ''),
];
$six_speed_data = [
"purchase_power" => $request->param('purchasing_power', ''),
"concept_awareness" => $request->param('cognitive_idea', ''),
"promised_visit_time" => $request->param('promised_visit_time', ''),//承诺到访时间
"preferred_class_time" => $request->param('optional_class_time', ''),//可选上课时间
"distance" => $request->param('distance', ''),//距离
"communication" => $request->param('communication', ''),//沟通备注
"staff_id" => $request->param('staff_id', ''),//人员ID
];
foreach($customer_resources_data as $k=>$v){
if(empty($v)){
return fail("缺少必填项{$k}");
}
}
foreach($six_speed_data as $k=>$v){
if(empty($v)){
return fail("缺少必填项{$k}");
}
}
$res = (new CustomerResourcesService())->addData($customer_resources_data,$six_speed_data);
if(!$res['code']){
return fail($res['msg']);
}
return success([]);
}
}

5
niucloud/app/api/route/route.php

@ -174,6 +174,8 @@ Route::group(function() {
Route::group(function() {
//员工登录
Route::post('personnelLogin', 'login.Login/personnelLogin');
//获取字典
Route::get('common/getDictionary', 'apiController.Common/getDictionary');
@ -202,6 +204,9 @@ Route::group(function() {
//员工端-修改
Route::post('personnel/edit', 'apiController.Personnel/edit');
//客户资源-添加
Route::post('customerResources/add', 'apiController.CustomerResources/add');

5
niucloud/app/event.php

@ -109,7 +109,10 @@ $system_event = [
'ShowApp' => [
'app\listener\system\ShowAppListener'
]
],
//计算业绩
'CalculatePerformance' => [ 'app\listener\personnel\CalculatePerformance' ],
],
'subscribe' => [
],

29
niucloud/app/listener/personnel/CalculatePerformance.php

@ -0,0 +1,29 @@
<?php
// +----------------------------------------------------------------------
// | Niucloud-admin 企业快速开发的多应用管理平台
// +----------------------------------------------------------------------
// | 官方网址:https://www.niucloud.com
// +----------------------------------------------------------------------
// | niucloud团队 版权所有 开源版本可自由商用
// +----------------------------------------------------------------------
// | Author: Niucloud Team
// +----------------------------------------------------------------------
namespace app\listener\personnel;
/**
* 计算业绩事件
*/
class CalculatePerformance
{
/**
* @param array $params
* $params['customer_resources_id']客户资源表id
* $params['event_type']事件类型"add=添加,edit=修改
*/
public function handle(array $params)
{
//...业务逻辑
}
}

46
niucloud/app/service/api/apiService/CommonService.php

@ -0,0 +1,46 @@
<?php
// +----------------------------------------------------------------------
// | Niucloud-admin 企业快速开发的多应用管理平台
// +----------------------------------------------------------------------
// | 官方网址:https://www.niucloud.com
// +----------------------------------------------------------------------
// | niucloud团队 版权所有 开源版本可自由商用
// +----------------------------------------------------------------------
// | Author: Niucloud Team
// +----------------------------------------------------------------------
namespace app\service\api\apiService;
use app\model\dict\Dict;
use core\base\BaseApiService;
/**
* 公共服务层
* Class MemberService
* @package app\service\api\member
*/
class CommonService extends BaseApiService
{
public function __construct()
{
parent::__construct();
}
//获取字典
public function getDictionary(array $where,string $field = '*'){
$model = (new Dict());
if(!empty($where['key'])){
$model = $model->where('key',$where['key']);
}
$res = $model->field($field)->find();//员工信息
if($res){
$res = $res->toArray();
}else{
$res = [];
}
return $res;
}
}

73
niucloud/app/service/api/apiService/CustomerResourcesService.php

@ -0,0 +1,73 @@
<?php
// +----------------------------------------------------------------------
// | Niucloud-admin 企业快速开发的多应用管理平台
// +----------------------------------------------------------------------
// | 官方网址:https://www.niucloud.com
// +----------------------------------------------------------------------
// | niucloud团队 版权所有 开源版本可自由商用
// +----------------------------------------------------------------------
// | Author: Niucloud Team
// +----------------------------------------------------------------------
namespace app\service\api\apiService;
use app\model\customer_resources\CustomerResources;
use app\model\six_speed\SixSpeed;
use core\base\BaseApiService;
use think\facade\Db;
/**
* 客户资源服务层
* Class MemberService
* @package app\service\api\member
*/
class CustomerResourcesService extends BaseApiService
{
public function __construct()
{
parent::__construct();
}
//添加数据
public function addData(array $customer_resources_data,array $six_speed_data){
$date = date('Y-m-d H:i:s');
$customer_resources_data['updated_at'] = $date;
$six_speed_data['updated_at'] = $date;
$res = [
'code'=>0,
'msg'=>'操作失败'
];
//开启事物
Db::startTrans();
try {
$resource_id = CustomerResources::insertGetId($customer_resources_data);//客户资源表
if(!$resource_id){
Db::rollback();
return $res;
}
$six_speed_data['resource_id'] = $resource_id;
$sixSpeedAdd = SixSpeed::create($six_speed_data);
if(!$sixSpeedAdd){
Db::rollback();
return $res;
}
Db::commit();
$res = [
'code'=>1,
'msg'=>'操作成功'
];
$event_data = [
'customer_resources_id'=>$resource_id,//客户资源表id
'event_type'=>'add'//事件类型"add=添加,edit=修改
];//事件类型"add=添加,edit=修改
event('CalculatePerformance',$event_data);
return $res;
}catch (\Exception $exception){
Db::rollback();
return $res;
}
}
}
Loading…
Cancel
Save