ShopcategoryController.php 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232
  1. <?php
  2. /**
  3. * 店铺经营类目申请
  4. */
  5. namespace app\admin\controller;
  6. use cmf\controller\AdminBaseController;
  7. use think\facade\Db;
  8. class ShopcategoryController extends AdminbaseController {
  9. protected function getStatus($k=''){
  10. $status=array(
  11. '0'=>'待处理',
  12. '1'=>'审核成功',
  13. '2'=>'审核失败',
  14. );
  15. if($k===''){
  16. return $status;
  17. }
  18. return isset($status[$k])?$status[$k]:'';
  19. }
  20. function index(){
  21. $data = $this->request->param();
  22. $map=[];
  23. $start_time=isset($data['start_time']) ? $data['start_time']: '';
  24. $end_time=isset($data['end_time']) ? $data['end_time']: '';
  25. if($start_time!=""){
  26. $map[]=['addtime','>=',strtotime($start_time)];
  27. }
  28. if($end_time!=""){
  29. $map[]=['addtime','<=',strtotime($end_time) + 60*60*24];
  30. }
  31. $status=isset($data['status']) ? $data['status']: '';
  32. if($status!=''){
  33. $map[]=['status','=',$status];
  34. }
  35. $uid=isset($data['uid']) ? $data['uid']: '';
  36. if($uid!=''){
  37. $map[]=['uid','=',$uid];
  38. }
  39. $lists = Db::name("apply_goods_class")
  40. ->where($map)
  41. ->order("addtime DESC")
  42. ->paginate(20);
  43. $lists->each(function($v,$k){
  44. $v['userinfo']= getUserInfo($v['uid']);
  45. $v['classname']='';
  46. //获取商家经营类目
  47. $class_list=explode(",",$v['goods_classid']);
  48. $num=count($class_list);
  49. //var_dump($class_list);
  50. foreach ($class_list as $k1 => $v1) {
  51. if($v1){
  52. $gc_name=Db::name("shop_goods_class")->where("gc_id={$v1}")->value('gc_name');
  53. if($gc_name){
  54. $v['classname'].=$gc_name;
  55. if($num>1&&$k1<($num-1)){
  56. $v['classname'].=' | ';
  57. }
  58. }
  59. }
  60. }
  61. return $v;
  62. });
  63. /*var_dump("11111");
  64. die;*/
  65. $lists->appends($data);
  66. $page = $lists->render();
  67. $this->assign('lists', $lists);
  68. $this->assign("page", $page);
  69. $this->assign("status", $this->getStatus());
  70. return $this->fetch();
  71. }
  72. function del(){
  73. $id = $this->request->param('id', 0, 'intval');
  74. $rs = DB::name('apply_goods_class')->where("id={$id}")->delete();
  75. if(!$rs){
  76. $this->error("删除失败!");
  77. }
  78. $action="删除店铺经营类目申请:{$id}";
  79. setAdminLog($action);
  80. $this->success("删除成功!",url("Shopcategory/index"));
  81. }
  82. function edit(){
  83. $id = $this->request->param('id', 0, 'intval');
  84. $data=Db::name('apply_goods_class')
  85. ->where("id={$id}")
  86. ->find();
  87. if(!$data){
  88. $this->error("信息错误");
  89. }
  90. $data['userinfo']= getUserInfo($data['uid']);
  91. //获取一级店铺分类
  92. $oneGoodsClass=getcaches("oneGoodsClass");
  93. if(!$oneGoodsClass){
  94. $oneGoodsClass=Db::name("shop_goods_class")->field("gc_id,gc_name,gc_isshow")->where("gc_parentid=0")->order("gc_sort")->select()->toArray();
  95. setcaches("oneGoodsClass",$oneGoodsClass);
  96. }
  97. //获取用户的经营类目
  98. $seller_class_arr=Db::name("seller_goods_class")->where("uid={$data['uid']}")->select()->toArray();
  99. $seller_class_arr=array_column($seller_class_arr, 'goods_classid');
  100. foreach($oneGoodsClass as $ks=>$vs){
  101. if(in_array($vs['gc_id'],$seller_class_arr)){
  102. $oneGoodsClass[$ks]['gc_isshow']=3; //已存在的类目
  103. }
  104. }
  105. $this->assign('data', $data);
  106. $this->assign('oneGoodsClass', $oneGoodsClass);
  107. $this->assign("status", $this->getStatus());
  108. return $this->fetch();
  109. }
  110. function editPost(){
  111. if ($this->request->isPost()) {
  112. $data = $this->request->param();
  113. $classids=isset($data['classids'])?$data['classids']:[];
  114. $uid=$data['uid'];
  115. $shop_status=$data['status'];
  116. $reason=$data['reason'];
  117. if($shop_status==2){ //审核失败
  118. if(trim($reason)==""){
  119. $this->error("请填写审核失败原因");
  120. }
  121. }
  122. $data['goods_classid']=implode(",",$classids);
  123. $data['uptime']=time();
  124. unset($data['classids']);
  125. $rs = DB::name('apply_goods_class')->update($data);
  126. if($rs===false){
  127. $this->error("修改失败!");
  128. }
  129. $action="修改店铺经营类目";
  130. if($shop_status>0){
  131. $title='';
  132. $msg='';
  133. if($shop_status==1){ //审核通过
  134. $title='经营类目审核通过提醒';
  135. $msg='你申请的经营类目审核已通过。';
  136. //更新用户经营类目
  137. foreach ($classids as $k => $v){
  138. //获取一级分类的状态
  139. $status=Db::name("shop_goods_class")->where("gc_id={$v}")->value('gc_isshow');
  140. $data1=array(
  141. 'uid'=>$uid,
  142. 'goods_classid'=>$v,
  143. 'status'=>$status
  144. );
  145. Db::name("seller_goods_class")->insert($data1);
  146. }
  147. }else if($shop_status==2){ //审核失败
  148. $title='经营类目审核失败提醒';
  149. $msg='你申请的经营类目审核失败。';
  150. if($reason){
  151. $msg.='失败原因:'.$reason;
  152. }
  153. }
  154. $action.=$title;
  155. //写入记录
  156. $id=addSysytemInfo($uid,$title,$msg);
  157. //发送腾讯云IM
  158. txMessageIM($title,$uid);
  159. }
  160. $action.=" UID:{$uid}";
  161. setAdminLog($action);
  162. $this->success("修改成功!",url("Shopcategory/index"));
  163. }
  164. }
  165. }