7 changed files with 243 additions and 12 deletions
@ -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([]); |
|||
} |
|||
|
|||
|
|||
} |
|||
@ -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) |
|||
{ |
|||
//...业务逻辑 |
|||
} |
|||
} |
|||
@ -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; |
|||
|
|||
} |
|||
|
|||
} |
|||
@ -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…
Reference in new issue