ShowTemplate.php 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215
  1. <?php
  2. declare (strict_types = 1);
  3. namespace app\system\controller;
  4. use app\BaseController;
  5. use app\model\api\ShowTemplate as ShowTemplateModel;
  6. use app\model\api\ServiceType as ServiceTypeModel;
  7. use app\Request;
  8. use library\services\UtilService;
  9. // +----------------------------------------------------------------------
  10. // | [ WE CAN DO IT MORE SIMPLE ]
  11. // +----------------------------------------------------------------------
  12. // | Copyright (c) 2018-2020 rights reserved.
  13. // +----------------------------------------------------------------------
  14. // | [ 皮肤模板管理 ]
  15. // +----------------------------------------------------------------------
  16. // | Date: 2020-09-06 21:53
  17. // +----------------------------------------------------------------------
  18. class ShowTemplate extends BaseController{
  19. /**
  20. * 商品列表
  21. * @param Request $request
  22. * @return type
  23. */
  24. public function list(Request $request) {
  25. $post = UtilService::getMore([
  26. ['is_hot', '0'],
  27. ['is_recommend', '0'],
  28. ['status', ''],
  29. ['page', 1],
  30. ['pageSize', 50],
  31. ], $request);
  32. $post["pageSize"] = $post["pageSize"]>50 ? 50 : (int)$post["pageSize"];
  33. $post["page"] = $post["page"]<=0 ? 1 : (int)$post["page"];
  34. $where=[];
  35. if(is_numeric($post['status'])) {
  36. $where[]=["status","=",(int)$post['status']];
  37. }
  38. if((int)$post["is_hot"]==1){
  39. $where[]=["is_hot","=",1];
  40. }
  41. if((int)$post["is_recommend"]==1){
  42. $where[]=["is_recommend","=",1];
  43. }
  44. $totalCount = (new ShowTemplateModel)->where($where)->count();
  45. $data=null;
  46. if($totalCount>0){
  47. $data = (new ShowTemplateModel)
  48. ->field("*")
  49. ->where($where)
  50. ->order("id", "desc")
  51. ->page($post["page"], $post["pageSize"])
  52. ->select();
  53. foreach($data as $k=>$v){
  54. $data[$k]["time"] = date("Y-m-d H:i:s",$v["time"]);
  55. $data[$k]["imgs"] = getImageAr($v["imgs"]);
  56. $data[$k]["admin_time"] = date("Y-m-d H:i:s",$v["admin_time"]);
  57. }
  58. }
  59. $data = empty($data)?[]:$data;
  60. return app('json')->success(["list" => $data, "pageSize" => $post["pageSize"],"page"=>$post["page"],"totalCount"=>$totalCount]);
  61. }
  62. /**
  63. * 添加编辑商品
  64. * @param Request $request
  65. * @return type
  66. */
  67. public function add(Request $request){
  68. $post = UtilService::getMore([
  69. ['id',''],
  70. ['title','','empty','请填写模板标题'],
  71. ['price','0','is_numeric','请输入正确的模板售价'],
  72. ['old_price','0','is_numeric','请输入正确的模板原价'],
  73. // ['imgs',[],'empty','请上传商品主图'],
  74. ['imgs',[]],
  75. ['is_hot','0'],
  76. ['is_recommend','0'],
  77. ['code','','empty','请输入CODE'],
  78. ['status','0'],
  79. ['unreal_sales','0'],
  80. ],$request);
  81. $save=[];
  82. $save["title"] = $post["title"];
  83. $save["price"] = floatval($post["price"]);
  84. $save["old_price"] = floatval($post["old_price"]);
  85. $save["status"] = (int)$post["status"]==1?1:0;
  86. $save["imgs"] = empty($post["imgs"]) ? "" : implode(",", $post["imgs"]);
  87. $save["is_hot"] = (int)$post["is_hot"]==1?1:0;
  88. $save["is_recommend"] = (int)$post["is_recommend"]==1?1:0;
  89. $save["code"] = $post["code"];
  90. $save["unreal_sales"] = (int)$post["unreal_sales"];
  91. $save["admin_time"] = time();
  92. $save["admin_id"] = $request->adminInfo['id'];
  93. if($save["price"]<0 || $save["old_price"]<0){
  94. return app('json')->fail("请输入正确的价格");
  95. }
  96. $id = empty($post["id"])?0:(int)$post["id"];
  97. $codeWhere[]=["code","=",$save["code"]];
  98. if($id>0){
  99. $save["time"] = time();
  100. $codeWhere[]=["id","<>",$id];
  101. }
  102. $count = (new ShowTemplateModel)->where($codeWhere)->where("id","<>",$id)->count();
  103. if($count>0){
  104. return app('json')->fail("当前code已存在");
  105. }
  106. $r=0;
  107. if(empty($id) || $id=="0"){
  108. $r = (new ShowTemplateModel)->insert($save);
  109. }else{
  110. $r = (new ShowTemplateModel)->where("id",$id)->update($save);
  111. }
  112. if($r){
  113. return app('json')->success("数据保存成功");
  114. }else{
  115. return app('json')->fail("数据保存失败");
  116. }
  117. }
  118. /**
  119. * 服务类型列表
  120. * @param Request $request
  121. * @return type
  122. */
  123. public function serviceType(Request $request) {
  124. $pageSize = 50;
  125. $post = UtilService::getMore([
  126. ['page',1],
  127. ['title',''],
  128. ],$request);
  129. $data = (new ServiceTypeModel)
  130. ->when(1 == 1, function ($query) use ($request, $post) {
  131. if (!empty($post["title"])){
  132. $query->where("title","like","%{$post["title"]}%");
  133. }
  134. })
  135. ->page((int)$post["page"], (int)$pageSize)
  136. ->order("seq","desc")
  137. ->order("id","desc")
  138. ->select()
  139. ->toArray();
  140. $pageCount = (new ServiceTypeModel)
  141. ->when(1 == 1, function ($query) use ($request, $post) {
  142. if (!empty($post["title"])){
  143. $query->where("title",$post["title"]);
  144. }
  145. })
  146. ->count();
  147. $data = empty($data)?[]:$data;
  148. return app('json')->success([
  149. 'list' => $data,
  150. 'pageCount' => $pageCount,
  151. 'pageSize' => $pageSize,
  152. 'page' => $post["page"]
  153. ]);
  154. }
  155. /**
  156. * 添加服务内容
  157. */
  158. public function serviceTypeAdd(Request $request){
  159. $post = UtilService::getMore([
  160. ['id','0'],
  161. ['title','','empty','请填写名称'],
  162. ['seq','0'],
  163. ['content',''],
  164. ['img',''],
  165. ['status','0']
  166. ],$request);
  167. $id = $post["id"];
  168. unset($post["id"]);
  169. $r=0;
  170. if(empty($id) || $id=="0"){
  171. $r = (new ServiceTypeModel)->insert($post);
  172. }else{
  173. $r = (new ServiceTypeModel)->where("id",$id)->update($post);
  174. }
  175. if($r){
  176. return app('json')->success("数据保存成功");
  177. }else{
  178. return app('json')->fail("数据保存失败");
  179. }
  180. }
  181. /**
  182. * 分类删除
  183. * @param Request $request
  184. */
  185. public function serviceTypeDel(Request $request) {
  186. [$id] = UtilService::getMore([
  187. ['id',0,'empty','参数错误']
  188. ],$request,true);
  189. return app('json')->success("暂不支持删除");
  190. $bool = (new ServiceTypeModel)->where("id",$id)->delete();
  191. return app('json')->success("删除成功");
  192. }
  193. }