ShopcategoryController.php 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234
  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. }else{
  104. $oneGoodsClass[$ks]['gc_isshow']=1; //
  105. }
  106. }
  107. // dump($oneGoodsClass);die;
  108. $this->assign('data', $data);
  109. $this->assign('oneGoodsClass', $oneGoodsClass);
  110. $this->assign("status", $this->getStatus());
  111. return $this->fetch();
  112. }
  113. function editPost(){
  114. if ($this->request->isPost()) {
  115. $data = $this->request->param();
  116. $classids=isset($data['classids'])?$data['classids']:[];
  117. $uid=$data['uid'];
  118. $shop_status=$data['status'];
  119. $reason=$data['reason'];
  120. if($shop_status==2){ //审核失败
  121. if(trim($reason)==""){
  122. $this->error("请填写审核失败原因");
  123. }
  124. }
  125. $data['goods_classid']=implode(",",$classids);
  126. $data['uptime']=time();
  127. unset($data['classids']);
  128. $rs = DB::name('apply_goods_class')->update($data);
  129. if($rs===false){
  130. $this->error("修改失败!");
  131. }
  132. $action="修改店铺经营类目";
  133. if($shop_status>0){
  134. $title='';
  135. $msg='';
  136. if($shop_status==1){ //审核通过
  137. $title='经营类目审核通过提醒';
  138. $msg='你申请的经营类目审核已通过。';
  139. //更新用户经营类目
  140. foreach ($classids as $k => $v){
  141. //获取一级分类的状态
  142. $status=Db::name("shop_goods_class")->where("gc_id={$v}")->value('gc_isshow');
  143. $data1=array(
  144. 'uid'=>$uid,
  145. 'goods_classid'=>$v,
  146. 'status'=>$status
  147. );
  148. Db::name("seller_goods_class")->insert($data1);
  149. }
  150. }else if($shop_status==2){ //审核失败
  151. $title='经营类目审核失败提醒';
  152. $msg='你申请的经营类目审核失败。';
  153. if($reason){
  154. $msg.='失败原因:'.$reason;
  155. }
  156. }
  157. $action.=$title;
  158. //写入记录
  159. $id=addSysytemInfo($uid,$title,$msg);
  160. //发送腾讯云IM
  161. txMessageIM($title,$uid);
  162. }
  163. $action.=" UID:{$uid}";
  164. setAdminLog($action);
  165. $this->success("修改成功!",url("Shopcategory/index"));
  166. }
  167. }
  168. }