智慧教务系统 PHP-NiuCloud框架开发
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

<?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());
}
}