智慧教务系统
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

191 lines
7.5 KiB

<?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(!isset($v) || $v === ''){
return fail("缺少必填项{$k}");
}
}
foreach($six_speed_data as $k=>$v){
if(!isset($v) || $v === ''){
return fail("缺少必填项{$k}");
}
}
$res = (new CustomerResourcesService())->addData($customer_resources_data,$six_speed_data);
if(!$res['code']){
return fail($res['msg']);
}
return success([]);
}
//客户资源-编辑
public function edit(Request $request){
$resource_sharing_id = $request->param('resource_sharing_id', '');//资源共享id
$customer_resources_id = $request->param('id', '');//客户资源表id
$promised_visit_time = $request->param('promised_visit_time', '');
if($promised_visit_time){
$promised_visit_time = date('Y-m-d H:i:s',strtotime($promised_visit_time));
}
$optional_class_time = $request->param('optional_class_time', '');
if($optional_class_time){
$optional_class_time = date('Y-m-d H:i:s',strtotime($optional_class_time));
}
if(empty($customer_resources_id)){
return fail("缺少客户id");
}
$where=[
'id'=>$customer_resources_id
];
//客户资源数据
$customer_resources_data = [
"source_channel" => $request->param('source_channel', ''),//来源渠道
"source" => $request->param('source', ''),//来源
"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" => $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" => $promised_visit_time,//承诺到访时间
"preferred_class_time" => $optional_class_time,//可选上课时间
"distance" => $request->param('distance', ''),//距离
"communication" => $request->param('communication', ''),//沟通备注
"staff_id" => $request->param('staff_id', ''),//人员ID
"first_visit_status" => $request->param('first_visit_status', null),//一访情况
"second_visit_status" => $request->param('second_visit_status', null),//二访情况
];
foreach($customer_resources_data as $k=>$v){
if(!isset($v) || $v === ''){
return fail("缺少必填项{$k}");
}
}
foreach($six_speed_data as $k=>$v){
// 排除 first_visit_status 和 second_visit_status 的必填校验
if (in_array($k, ['first_visit_status', 'second_visit_status'])) {
continue;
}
if(!isset($v) || $v === ''){
return fail("缺少必填项{$k}");
}
}
$res = (new CustomerResourcesService())->editData($where,$customer_resources_data,$six_speed_data);
if(!$res['code']){
return fail($res['msg']);
}
return success([]);
}
//客户资源-修改记录列表
public function getEditLogList(Request $request){
//前端要传递分页(page,limit)参数
$customer_resource_id = $request->param('customer_resource_id','');
$type = $request->param('type','resource');//查询类型|resource=客户资源,six_speed=六要素
if(empty($customer_resource_id) || empty($type)){
return fail('缺少必要参数');
}
if(!in_array($type,['resource','six_speed'])){
return fail('类型不正确');
}
$where = [
'customer_resource_id' =>$customer_resource_id
];
if($type == 'resource'){
//resource=客户资源
$res =(new CustomerResourcesService())->getCustomerResourceChangesEditLog($where);
}else{
$res =(new CustomerResourcesService())->getSixSpeedModificationEditLog($where);
}
return success($res);
}
}