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.
252 lines
7.4 KiB
252 lines
7.4 KiB
<?php
|
|
// +----------------------------------------------------------------------
|
|
// | Niucloud-admin 企业快速开发的多应用管理平台
|
|
// +----------------------------------------------------------------------
|
|
// | 官方网址:https://www.niucloud.com
|
|
// +----------------------------------------------------------------------
|
|
// | niucloud团队 版权所有 开源版本可自由商用
|
|
// +----------------------------------------------------------------------
|
|
// | Author: Niucloud Team
|
|
// +----------------------------------------------------------------------
|
|
|
|
namespace addon\zhjw\app\adminapi\controller\sales;
|
|
|
|
use app\model\member\Member;
|
|
use app\service\admin\member\MemberService;
|
|
use core\base\BaseAdminController;
|
|
use addon\zhjw\app\service\admin\sales\SalesService;
|
|
use think\facade\Db;
|
|
|
|
|
|
/**
|
|
* 销售管理控制器
|
|
* Class Sales
|
|
* @package addon\zhjw\app\adminapi\controller\sales
|
|
*/
|
|
class Sales extends BaseAdminController
|
|
{
|
|
/**
|
|
* 获取销售管理列表
|
|
* @return \think\Response
|
|
*/
|
|
public function lists()
|
|
{
|
|
$data = $this->request->params([
|
|
["student_phone", ""],
|
|
["student_name", ""],
|
|
["sex", ""],
|
|
["age", ["", ""]],
|
|
["school_name", ""],
|
|
["grade", ""],
|
|
["class_name", ""],
|
|
["source_channel", ""],
|
|
["customer_source", ""],
|
|
["add_staff_id", ""],
|
|
["get_staff_id", ""],
|
|
["contact_name", ""],
|
|
["province_id", ""],
|
|
["city_id", ""],
|
|
["district_id", ""],
|
|
["community_name", ""],
|
|
["customer_tags", ""],
|
|
["create_time", ""]
|
|
]);
|
|
return success((new SalesService())->getPage($data));
|
|
}
|
|
|
|
/**
|
|
* 销售管理详情
|
|
* @param int $id
|
|
* @return \think\Response
|
|
*/
|
|
public function info(int $id)
|
|
{
|
|
return success((new SalesService())->getInfo($id));
|
|
}
|
|
|
|
/**
|
|
* 添加销售管理
|
|
* @return \think\Response
|
|
*/
|
|
public function add()
|
|
{
|
|
$data = $this->request->params([
|
|
["title", ""],
|
|
["student_phone", ""],
|
|
["student_name", ""],
|
|
["sex", ""],
|
|
["age", ""],
|
|
["campuses_id", ""],
|
|
["school_name", ""],
|
|
["grade", ""],
|
|
["class_name", ""],
|
|
["class_id", ""],
|
|
["source_channel", ""],
|
|
["customer_source", ""],
|
|
["add_staff_id", 0],
|
|
["get_staff_id", 0],
|
|
["contact_name", ""],
|
|
["province_id", 0],
|
|
["city_id", 0],
|
|
["district_id", 0],
|
|
["community_name", ""],
|
|
["customer_tags", []],
|
|
["full_address", ""],
|
|
|
|
]);
|
|
|
|
if (!empty($data['customer_tags'])) {
|
|
$data['customer_tags'] = implode(',', $data['customer_tags']);
|
|
}
|
|
if($data['get_staff_id'] == 0){
|
|
$data['is_gh'] = 1;
|
|
}
|
|
|
|
// $this->validate($data, 'addon\zhjw\app\validate\sales\Sales.add');
|
|
|
|
//查询用户是否注册,注册了提示报错,没注册直接注册账号
|
|
// $is_member_id = Member::where('username',$data['student_phone'])->value('member_id');
|
|
// if ($is_member_id){
|
|
// return fail('手机号已注册');
|
|
// }
|
|
|
|
//开启事务
|
|
Db::startTrans();
|
|
try {
|
|
$id = (new SalesService())->add($data);
|
|
// $member_data = [
|
|
// 'nickname'=> $data['student_name'],
|
|
// 'mobile'=> $data['student_phone'],
|
|
// 'member_no'=> '',
|
|
// 'init_member_no'=> '',
|
|
// 'password' => substr($data['student_phone'], -4), // 截取手机号最后四位作为密码
|
|
// 'headimg'=> '',
|
|
// 'member_label'=> [],//会员标签
|
|
// 'sex'=> $data['sex'],
|
|
// 'birthday'=> '',//出生日期
|
|
// ];
|
|
// $member_id = (new MemberService())->add($member_data);
|
|
// if (!$id || !$member_id){
|
|
// Db::rollback();
|
|
// return fail('操作失败');
|
|
// }
|
|
// (new SalesService())->edit($id, ['user_id'=>$member_id]);
|
|
|
|
Db::commit();
|
|
}catch (\Exception $exception){
|
|
Db::rollback();
|
|
// if ($exception->getMessage() == 'MEMBER_IS_EXIST'){
|
|
// return fail('账号已存在');
|
|
// }
|
|
return fail($exception->getMessage());
|
|
}
|
|
|
|
|
|
|
|
return success('ADD_SUCCESS', ['id' => $id]);
|
|
}
|
|
|
|
/**
|
|
* 销售管理编辑
|
|
* @param $id 销售管理id
|
|
* @return \think\Response
|
|
*/
|
|
public function edit(int $id)
|
|
{
|
|
$data = $this->request->params([
|
|
["title", ""],
|
|
["student_phone", ""],
|
|
["student_name", ""],
|
|
["sex", ""],
|
|
["age", ""],
|
|
["campuses_id", ""],
|
|
["school_name", ""],
|
|
["grade", ""],
|
|
["class_name", ""],
|
|
["class_id", ""],
|
|
["source_channel", ""],
|
|
["customer_source", ""],
|
|
["add_staff_id", 0],
|
|
["get_staff_id", 0],
|
|
["contact_name", ""],
|
|
["province_id", 0],
|
|
["city_id", 0],
|
|
["district_id", 0],
|
|
["community_name", ""],
|
|
["customer_tags", []],
|
|
["full_address", ""],
|
|
]);
|
|
|
|
if (!empty($data['customer_tags'])) {
|
|
$data['customer_tags'] = implode(',', $data['customer_tags']);
|
|
}
|
|
|
|
if(!$data['get_staff_id']){
|
|
$data['is_gh'] = 2;
|
|
}
|
|
// $this->validate($data, 'addon\zhjw\app\validate\sales\Sales.edit');
|
|
|
|
|
|
//查询新手机号是否存在,存在提示报错信息
|
|
//修改用户手机号
|
|
//查询用户是否注册,注册了提示报错,没注册直接注册账号
|
|
$info = (new SalesService())->getInfo($id);
|
|
// if($data['student_phone'] != $info['student_phone']){
|
|
// $is_member_id = Member::where('username',$data['student_phone'])->value('member_id');
|
|
// if ($is_member_id){
|
|
// return fail('手机号已注册');
|
|
// }
|
|
// }
|
|
|
|
//开启事务
|
|
Db::startTrans();
|
|
try {
|
|
if($data['student_phone'] != $info['student_phone']){
|
|
$data['user_id'] = addMember($data);
|
|
}
|
|
|
|
(new SalesService())->edit($id, $data);
|
|
|
|
// $member_data = [
|
|
// 'username'=> $data['student_phone'],
|
|
// 'mobile'=> $data['student_phone'],
|
|
// ];
|
|
//
|
|
//
|
|
//
|
|
//
|
|
// $member_id = (new MemberService())->edit($info['user_id'],$member_data);
|
|
// (new SalesService())->edit($id, ['user_id'=>$member_id]);
|
|
|
|
Db::commit();
|
|
}catch (\Exception $exception){
|
|
Db::rollback();
|
|
return fail('操作失败');
|
|
}
|
|
|
|
return success('EDIT_SUCCESS');
|
|
}
|
|
|
|
/**
|
|
* 销售管理删除
|
|
* @param $id 销售管理id
|
|
* @return \think\Response
|
|
*/
|
|
public function del(int $id)
|
|
{
|
|
(new SalesService())->del($id);
|
|
return success('DELETE_SUCCESS');
|
|
}
|
|
|
|
|
|
public function getStaffAll()
|
|
{
|
|
return success((new SalesService())->getStaffAll());
|
|
}
|
|
|
|
public function getSysAreaAll()
|
|
{
|
|
return success((new SalesService())->getSysAreaAll());
|
|
}
|
|
|
|
}
|
|
|