Cat.php 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175
  1. <?php
  2. namespace app\admin\controller;
  3. use app\admin\model\ActionLog;
  4. use app\BaseController;
  5. use think\App;
  6. use think\facade\Db;
  7. class Cat extends BaseController
  8. {
  9. public $post="";
  10. public function __construct(App $app)
  11. {
  12. parent::__construct($app);
  13. $this->post=$this->request->post();
  14. }
  15. public function list(){
  16. $where=[];
  17. $pid = isset($this->post['pid']) &&$this->post['pid']!=="" ?intval($this->post['pid']): "";
  18. if($pid!==""){
  19. $where[]=["pid","=",$pid];
  20. }
  21. $cat_name=isset($this->post['cat_name']) && $this->post['cat_name'] !==""? intval($this->post['cat_name']) :"";
  22. if($cat_name!==""){
  23. $where[]=['cat_name',"like","%$cat_name%"];
  24. }
  25. $list = Db::name('cat')->where(['pid'=>$pid])->select();
  26. foreach ($list as $value) {
  27. $str = Db::name('cat')->where(['pid' => $value['id']])->select();
  28. foreach ($str as $stn) {
  29. $var = Db::name('cat')->where(['pid' => $stn['id']])->select();
  30. }
  31. }
  32. //var_dump(Db::name('cat')->getLastSql());
  33. $data = Db::name("cat")->where(['pid'=>0])->select();
  34. $vmp = [];
  35. foreach ($data as $sts){
  36. $vmp[]=stro($sts);
  37. }
  38. return app_show(0,"获取成功",$vmp);
  39. }
  40. public function plist(){
  41. $page = isset($this->post['page']) && $this->post['page'] !=="" ? intval($this->post['page']) :"1";
  42. $size = isset($this->post['size']) && $this->post['size'] !=="" ? intval($this->post['size']) :"10";
  43. $where =[];
  44. $cat_name=isset($this->post['cat_name']) && $this->post['cat_name'] !==""? trim($this->post['cat_name']) :"";
  45. if($cat_name!==""){
  46. $where[]=['cat_name',"like","%$cat_name%"];
  47. }
  48. $pid=isset($this->post['pid']) && $this->post['pid'] !==""? intval($this->post['pid']) :"";
  49. if($pid!==""){
  50. $where[]=['pid',"=",$pid];
  51. }
  52. $status=isset($this->post['status']) && $this->post['status'] !==""? intval($this->post['status']) :"";
  53. if($status!==""){
  54. $where[]=['status',"=",$status];
  55. }
  56. $count = Db::name("cat")->where($where)->count();
  57. $total = ceil($count / $size);
  58. $page = $page >= $total ? $total : $page;
  59. $list = Db::name('cat')->where($where)->page($page, $size)->select();
  60. return app_show(0, "获取成功", ['list' => $list, 'count' => $count]);
  61. }
  62. public function create()
  63. {
  64. $cat_name = isset($this->post['cat_name']) && $this->post['cat_name'] !== "" ? trim($this->post['cat_name']) : "";
  65. if ($cat_name == "") {
  66. return error_show(1002, "参数cat_name不能为空");
  67. }
  68. $pid = isset($this->post['pid']) && $this->post['pid'] !== "" ? intval($this->post['pid']) : "";
  69. if ($pid === "") {
  70. return error_show(1002, "参数pid不能为空");
  71. }
  72. $level = isset($this->post['level']) && $this->post['level'] !== "" ? intval($this->post['level']) : "";
  73. $levl=Db::name('cat')->where(['id'=>$pid])->find();
  74. $level =1;
  75. if ($pid !== 0) {
  76. if(empty($levl)){
  77. return error_show(1002,"未找到父级数据");
  78. }
  79. $level =$levl['level']+1;
  80. }
  81. $rate = isset($this->post['rate']) && $this->post['rate'] !== "" ? intval($this->post['rate']) : "";
  82. $weight = isset($this->post['weight']) && $this->post['weight'] !== "" ? intval($this->post['weight']) : "0";
  83. $status = isset($this->post['status']) && $this->post['status'] !== "" ? intval($this->post['status']) : "1";
  84. $data = [
  85. "cat_name" => $cat_name,
  86. "pid" => $pid,
  87. "level" => $level,
  88. "rate" => $rate,
  89. "weight" => $weight,
  90. "status" => $status,
  91. "addtime" => date("Y-m-d H:i:s"),
  92. "updatetime" => date("Y-m-d H:i:s")
  93. ];
  94. $datainfo = Db::name('cat')->insert($data);
  95. if ($datainfo) {
  96. $stx = ["order_code"=>$pid,"status"=>$status,"action_remark"=>'',"action_type"=>"create"];
  97. ActionLog::logAdd($this->post['token'],$stx,"sxd",$status,$stx);
  98. return error_show(0, "新建成功");
  99. } else {
  100. return error_show(1002, "新建失败");
  101. }
  102. }
  103. public function edit(){
  104. $id = isset($this->post['id']) && $this->post['id'] !==""? intval($this->post['id']) :"";
  105. $idinfo = Db::name('cat')->where(['id'=>$id])->find();
  106. if($idinfo==""){
  107. return error_show(1002,"未找到商品数据");
  108. }
  109. $cat_name= isset($this->post['cat_name']) && $this->post['cat_name'] !=="" ? trim($this->post['cat_name']) :"";
  110. if($cat_name==""){
  111. return error_show(1002,"参数cat_name不能为空");
  112. }
  113. $pid = isset($this->post['pid']) && $this->post['pid'] !=="" ? intval($this->post['pid']) :"";
  114. if($pid==""){
  115. return error_show(1002,"参数pid不能为空");
  116. }
  117. $level = isset($this->post['level']) && $this->post['level'] !=="" ? intval($this->post['level']) :"";
  118. $weight = isset($this->post['weight']) && $this->post['weight']!==""? intval($this->post['weight']):"0";
  119. $status = isset($this->post['status']) && $this->post['status'] !==""?intval($this->post['status']) :"1";
  120. $str = [
  121. "id"=>$id,
  122. "cat_name"=>$cat_name,
  123. "pid"=>$pid,
  124. "level"=>$level,
  125. "weight"=>$weight,
  126. "status"=>$status,
  127. "updatetime"=>date("Y-m-d H:i:s")
  128. ];
  129. $strinfo = Db::name('cat')->where(['id'=>$id])->save($str);
  130. if($strinfo){
  131. $order = ["order_code"=>$id,"status"=>$status,"action_remark"=>'',"action_type"=>"edit"];
  132. ActionLog::logAdd($this->post['token'],$order,"sxd",$status,$order);
  133. return error_show(0,"编辑成功");
  134. }else{
  135. return error_show(1002,"编辑失败");
  136. }
  137. }
  138. public function info(){
  139. $id = isset($this->post['id']) && $this->post['id'] !=="" ? intval($this->post['id']) :"";
  140. if($id==""){
  141. return error_show(1002,"参数id不能为空");
  142. }
  143. $idinfo = Db::name('cat')->where(['id'=>$id])->find();
  144. return app_show(0,"获取成功",$idinfo);
  145. }
  146. public function status(){
  147. $id = isset($this->post['id']) && $this->post['id'] !=="" ? intval($this->post['id']):"";
  148. if($id===""){
  149. return error_show(1002,"参数id不能为空");
  150. }
  151. $stn = Db::name('cat')->where(['id'=>$id])->find();
  152. if(empty($stn)){
  153. return error_show(1002,"未找到商品数据");
  154. }
  155. $status = isset($this->post['status']) && $this->post['status'] !=="" ? intval($this->post['status']) :"";
  156. if($status===""){
  157. return error_show(1002,"参数status不能为空");
  158. }
  159. $pd= $stn['status'];
  160. $stn['status']=$status;
  161. $stn['updatetime']=date("Y-m-d H:i:s");
  162. $str = Db::name('cat')->where(['id'=>$id])->save($stn);
  163. if($str){
  164. $order = ["order_code"=>$id,"status"=>$pd,"action_remark"=>'',"action_type"=>"edit"];
  165. ActionLog::logAdd($this->post['token'],$order,"sxd",$stn['status'],$order);
  166. return error_show(0,"状态更新成功");
  167. }else{
  168. return error_show(1002,"状态更新失败");
  169. }
  170. }
  171. }