123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195 |
- <?php
- /**
- * Created by PhpStorm.
- * User: Administrator
- * Date: 2020-09-14
- * Time: 9:15
- */
-
- namespace app\back\controller;
-
-
- use app\back\model\AgencyModel;
- use app\back\model\AgencyRankModel;
- use app\back\model\UserModel;
- use app\back\validate\AgencyValidate;
- use cmf\controller\AdminBaseController;
- use think\Db;
- use think\Validate;
- class AgencyController extends AdminBaseController
- {
-
- public function index()
- {
- $agencyModel = new AgencyModel();
- $list = $agencyModel::with(['renk','city','district'])->select();
- $this->assign('list',$list);
-
- return $this->fetch();
- }
-
- public function add()
- {
- $rank = AgencyRankModel::order('id','asc')->select();
-
- $provinceList = Db::name('region')->where('depth',1)->field('id,cityName')->select();
-
-
- $this->assign('rank',$rank);
- $this->assign('provinceList',$provinceList);
- return $this->fetch();
- }
-
- public function addPost()
- {
- $validate = new AgencyValidate();
-
- $data = $this->request->param();
- if (!$validate->check($data)) {
- $this->error($validate->getError());
- }
- $data = $this->request->param();
-
- if (!$validate->check($data)) {
- $this->error($validate->getError());
- }
- $agencyModel = new AgencyModel();
- $agencyModel->allowField(true)->isUpdate(false)->save($data);
- $this->success('添加成功');
- }
- public function edit()
- {
- $id = $this->request->param('id');
- $info = AgencyModel::get($id);
- $info->renk;
- $info->province;
- $info->city;
- $info->district;
- $rank = AgencyRankModel::order('id','asc')->select();
- $provinceList = Db::name('region')->where('depth',1)->field('id,cityName')->select();
- $this->assign('rank',$rank);
- $this->assign('provinceList',$provinceList);
- $this->assign('info',$info);
- return $this->fetch();
- }
- public function editPost()
- {
- $validate = new AgencyValidate();
-
- $data = $this->request->param();
- if (!$validate->check($data)) {
- $this->error($validate->getError());
- }
- $agencyModel = new AgencyModel();
- $agencyModel->allowField(true)->isUpdate(true)->save($data);
- $this->success('编辑成功');
- }
- public function delete()
- {
- $id = $this->request->param('id');
- $user_id = Db::name('user')->where('agency_id',$id)->value('id');
- if($user_id){
- $this->error('用户使用该代理不可删除!');
- }
- AgencyModel::destroy($id);
- $this->success('删除成功');
- }
-
-
- public function select()
- {
- $user_id = $this->request->param('id');
- $agencyModel = new AgencyModel();
- $list = $agencyModel::with(['renk','city','district'])->select();
-
- $user_agency_id = UserModel::get($user_id)['agency_id'];
- $user_agency_id = explode(',',$user_agency_id);
- $this->assign('user_id',$user_id);
- $this->assign('list',$list);
- $this->assign('user_agency_id',$user_agency_id);
- return $this->fetch();
- }
-
- public function setuser()
- {
- $user_id = $this->request->param('user_id');
- $agency_id = $this->request->param('agency_id/a');
- $agency_id = empty($agency_id)?'':implode(',',$agency_id);
- $UserModel = new UserModel();
- $agencyModel = new AgencyModel();
- $user_info = UserModel::get($user_id)->toArray();
- $befor_data = $user_info['agency_id'];
- if(!empty($befor_data)){
- $befor_arr = $agencyModel::where('id in ('.$befor_data.')')->column('name');
- }else{
- $befor_arr = array();
- }
- $after_data = $agency_id;
- if(!is_array($befor_arr)){
- $befor_arr=array($befor_arr);
- }
- if(!empty($after_data)){
- $after_arr = $agencyModel::where('id in ('.$after_data.')')->column('name');
- }else{
- $after_arr = array();
- }
- if(!is_array($after_arr)){
- $after_arr=array($after_arr);
- }
- $admin_id = cmf_get_current_admin_id();
- $log_info = '变更前:'.join('|',$befor_arr).';变更后:'.join('|',$after_arr);
- admin_log($admin_id,$log_info,$user_id,'指定代理商区域');
- // $id = $UserModel::where('agency_id',$agency_id)->value('id');
- // if($id){
- // return json(['code'=>2]);
- // }
- $UserModel->allowField(true)->isUpdate(true)->save(['agency_id'=>$agency_id],['id'=>$user_id]);
- return json(['code'=>1]);
-
- }
-
- public function user_apply_agency()
- {
- $where = [];
- $page = $this->request->param('page',1);
- $pw = [];
- $keyword = $this->request->param('keyword');
- if($keyword){
- $this->assign('keyword',$keyword);
- $pw['keyword'] = $keyword;
- }
- $status = $this->request->param('status');
- if($status || $status != ''){
- $pw['status'] = $status;
- $this->assign('status',$status);
- $where['status'] = $status;
- }
- $list = Db::name('user_apply_agency')->where($where)->where(function ($query)use ($keyword){
- if($keyword){
- $query->where('name|t.mobile','like','%'.$keyword.'%');
- }
- })
- ->field('t.*,t1.mobile as user_mobile,t1.user_nickname')
- ->alias('t')
- ->join('user t1','t.user_id = t1.id','left')
- ->order('id','desc')
- ->paginate(30,false,array($page,url('index'),'query'=>$pw));
- $this->assign('list',$list);
- return $this->fetch();
- }
-
- public function apply_delete()
- {
- $id = $this->request->param('id');
- Db::name('user_apply_agency')->where('id',$id)->delete();
- $this->success('删除成功');
- }
-
- public function apply_set()
- {
- $id = $this->request->param('id');
- Db::name('user_apply_agency')->where('id',$id)->update(['status'=>1,'chuli_time'=>time()]);
- $this->success('设置成功');
- }
- }
|