Agent.php 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208
  1. <?php
  2. namespace app\controller\admin\warehouse;
  3. use crmeb\basic\BaseController;
  4. use think\facade\Db;
  5. class Agent extends BaseController
  6. {
  7. public function operation()
  8. {
  9. try {
  10. $params=['account','status','contacts','contact_number','company_subject','business_license','province','city','county','type','id'];
  11. $data = $this->request->params($params);
  12. $check=$this->check_params($data);
  13. if($check['code']!=200) {
  14. return app('json')->fail($check['msg']);
  15. }
  16. if($data['type']==1){//添加
  17. $res=$this->warehouse_add($data);//执行方法
  18. if($res){
  19. return app('json')->success('添加成功');
  20. }else{
  21. return app('json')->success('添加失败');
  22. }
  23. }elseif ($data['type']==2){//修改
  24. $res=$this->warehouse_update($data);//执行方法
  25. if($res!==false){
  26. return app('json')->success('修改成功');
  27. }else{
  28. return app('json')->success('修改失败');
  29. }
  30. }
  31. }catch (\Exception $exception){
  32. return '代理商错误:'.$exception->getFile().':'.$exception->getLine().'【'.$exception->getMessage().'】';
  33. }
  34. }
  35. //大仓添加
  36. public function warehouse_add($data)
  37. {
  38. unset($data['type']);
  39. unset($data['id']);
  40. $data['create_time']=time();
  41. $data['uid']=Db::name('user')->where('account',$data['account']??'')->value('uid');
  42. $res=Db::name('warehouse_agent')->insert($data);
  43. return $res;
  44. }
  45. //大仓修改
  46. public function warehouse_update($data)
  47. {
  48. //修改代理商 城市表
  49. $this->update_agent($data);
  50. $id=$data['id'];
  51. unset($data['type']);
  52. unset($data['id']);
  53. unset($data['account']);
  54. $data['update_time']=time();
  55. // $data['uid']=Db::name('user')->where('account',$data['account']??0)->value('uid');
  56. $res=Db::name('warehouse_agent')->where('id',$id)->update($data);
  57. return $res;
  58. }
  59. //update_agent
  60. public function update_agent($data)
  61. {
  62. $data=Db::name('warehouse_agent')->where('id',$data['id'])->find();
  63. if($data['county']!=0){
  64. Db::name('user_area')->where('area_code',$data['county'])->update(['uid'=>0]);
  65. }elseif ($data['city']!=0){
  66. Db::name('user_city')->where('city_code',$data['city'])->update(['uid'=>0]);
  67. }elseif ($data['province']!=0){
  68. Db::name('user_province')->where('province_code',$data['province'])->update(['uid'=>0]);
  69. }
  70. }
  71. //检查参数
  72. public function check_params($data)
  73. {
  74. if(empty($data['province'])&&empty($data['city'])&&empty($data['county'])){
  75. return ['code'=>1,'msg'=>'参数不完整'];
  76. }
  77. $uid=Db::name('user')->where('account',$data['account'])->value('uid');
  78. if(!$uid){
  79. return ['code'=>1,'msg'=>'手机号暂未注册'];
  80. }
  81. if($data['type']!=1&&$data['type']!=2){
  82. return ['code'=>1,'msg'=>'请求类型不一致'];
  83. }
  84. if(!empty($data['type'])&&$data['type']==1){
  85. $uu=Db::name('warehouse_agent')->where('account',$data['account'])->value('id');
  86. if($uu){
  87. return ['code'=>1,'msg'=>'该账号已注册代理商'];
  88. }
  89. }
  90. if($data['county']!=0){
  91. $u=Db::name('user_area')->where('area_code',$data['county'])->value('uid');
  92. if($u){
  93. if($uid!=$u){
  94. return ['code'=>1,'msg'=>'该区域已有代理商'];
  95. }
  96. }
  97. Db::name('user_area')->where('area_code',$data['county'])->update(['uid'=>$uid]);
  98. // dump(Db::name('log')->getLastSql());
  99. }elseif ($data['city']!=0){
  100. $u=Db::name('user_city')->where('city_code',$data['city'])->value('uid');
  101. if($u){
  102. if($uid!=$u) {
  103. return ['code' => 1, 'msg' => '该城区已有代理商'];
  104. }
  105. }
  106. Db::name('user_city')->where('city_code',$data['city'])->update(['uid'=>$uid]);
  107. }elseif ($data['province']!=0){
  108. $u=Db::name('user_province')->where('province_code',$data['province'])->value('uid');
  109. if($u){
  110. if($uid!=$u) {
  111. return ['code' => 1, 'msg' => '该省份已有代理商'];
  112. }
  113. }
  114. Db::name('user_province')->where('province_code',$data['province'])->update(['uid'=>$uid]);
  115. }else{
  116. return ['code'=>1,'msg'=>'请选择地域选项'];
  117. }
  118. return ['code'=>200,'msg'=>''];
  119. }
  120. //列表
  121. public function lst()
  122. {
  123. [$page, $limit] = $this->getPage();
  124. $list=Db::name('warehouse_agent')->page($page,$limit)->select()->toArray();
  125. foreach ($list as $k=>&$v){
  126. $v['create_time']=date('Y-m-d H:i:s',$v['create_time']);
  127. if($v['update_time']){
  128. $v['update_time']=date('Y-m-d H:i:s',$v['update_time']);
  129. }else{
  130. $v['update_time']='';
  131. }
  132. }
  133. $count=Db::name('warehouse_agent')->count('id');
  134. $return_data=[
  135. 'count'=>$count,
  136. 'list'=>$list
  137. ];
  138. return app('json')->success($return_data);
  139. }
  140. //单个详情
  141. public function details()
  142. {
  143. $id=$this->request->params(['id']);
  144. if(empty($id['id'])){
  145. return app('json')->fail('id不存在');
  146. }
  147. $data=Db::name('warehouse_agent')->where('id',$id['id'])->find();
  148. if($data){
  149. $data['create_time']=date('Y-m-d H:i:s',$data['create_time']);
  150. if($data['update_time']){
  151. $data['update_time']=date('Y-m-d H:i:s',$data['update_time']);
  152. }else{
  153. $data['update_time']='';
  154. }
  155. return app('json')->success($data);
  156. }else{
  157. return app('json')->fail('未查询到数据');
  158. }
  159. }
  160. //更改单个状态
  161. public function switchstatus($id)
  162. {
  163. $data=Db::name('warehouse_agent')->where('id',$id)->find();
  164. if($data){
  165. if($data['status']==1){
  166. Db::name('warehouse_agent')->where('id',$id)->dec('status',1)->update();
  167. }elseif ($data['status']==0){
  168. Db::name('warehouse_agent')->where('id',$id)->inc('status',1)->update();
  169. }
  170. return app('json')->success('修改成功');
  171. }else{
  172. return app('json')->fail('未查询到数据');
  173. }
  174. }
  175. /*获取省份*/
  176. public function getProvince(){
  177. $data = Db::name("user_province")
  178. ->where(['status'=>1])
  179. ->field("province_id,province_code,province_name")
  180. ->select();
  181. return app('json')->success($data);
  182. }
  183. /*获取城市*/
  184. public function getCity($id){
  185. $data = Db::name("user_city")
  186. ->where(['status'=>1,'province_code'=>$id])
  187. ->field("city_id,city_code,city_name")
  188. ->select();
  189. return app('json')->success($data);
  190. }
  191. /*获取区域*/
  192. public function getArea($id){
  193. $data = Db::name("user_area")
  194. ->where(['status'=>1,'city_code'=>$id])
  195. ->field("area_id,area_code,area_name")
  196. ->select();
  197. return app('json')->success($data);
  198. }
  199. }