ControlGoods.php 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233
  1. <?php
  2. namespace App\Http\Controllers\Manager\Process;
  3. use App\Http\Controllers\Controller;
  4. use App\Http\Requests\Manager\Process\ControlGoods as Request;
  5. use App\Models\Manager\Process\ControlGoods as ControlGoodsModel;
  6. /**
  7. * 违规处理-强管控商品
  8. * @author 唐远望
  9. * @version 1.0
  10. * @date 2025-12-08
  11. */
  12. class ControlGoods extends Controller
  13. {
  14. /**
  15. * 列表
  16. * @author 唐远望
  17. * @version 1.0
  18. * @date 2025-12-08
  19. *
  20. */
  21. public function list(Request $request, ControlGoodsModel $ControlGoodsModel)
  22. {
  23. $request->scene('list')->validate();
  24. // 查询条件
  25. $map = [];
  26. $limit = request('limit', config('page_num', 10));
  27. $status = request('status', '');
  28. $start_time = request('start_time', '');
  29. $end_time = request('end_time', '');
  30. $product_name = request('product_name', '');
  31. $first_responsible_person = request('first_responsible_person', '');
  32. $responsible_person = request('responsible_person', '');
  33. $platform = request('platform', '');
  34. $company_name = request('company_name', '');
  35. $store_name = request('store_name', '');
  36. $source_responsible_person = request('source_responsible_person', '');
  37. $processing_status = request('processing_status', '');
  38. $product_name = request('product_name', '');
  39. $product_specs = request('product_specs', '');
  40. $online_posting_cunt = request('online_posting_cunt', '');
  41. // 时间条件
  42. if ($start_time) $map[] = ['insert_time', '>=', strtotime($start_time)];
  43. if ($end_time) $map[] = ['insert_time', '<=', strtotime($end_time)];
  44. // 其他条件
  45. if ($status) $map[] = ['status', '=', $status];
  46. if ($product_name) $map[] = ['product_name', 'like', "%$product_name%"];
  47. if ($first_responsible_person) $map[] = ['first_responsible_person', 'like', "%$first_responsible_person%"];
  48. if ($responsible_person) $map[] = ['responsible_person', 'like', "%$responsible_person%"];
  49. if ($platform) $map[] = ['platform', 'like', "%$platform%"];
  50. if ($company_name) $map[] = ['company_name', 'like', "%$company_name%"];
  51. if ($store_name) $map[] = ['store_name', 'like', "%$store_name%"];
  52. if ($source_responsible_person) $map[] = ['source_responsible_person', 'like', "%$source_responsible_person%"];
  53. if ($processing_status) $map[] = ['processing_status', '=', $processing_status];
  54. if ($product_name) $map[] = ['product_name', 'like', "%$product_name%"];
  55. if ($product_specs) $map[] = ['product_specs', 'like', "%$product_specs%"];
  56. if ($online_posting_cunt) $map[] = ['online_posting_cunt', '=', $online_posting_cunt];
  57. // 查询数据
  58. $result = $ControlGoodsModel->query()
  59. ->where($map)
  60. ->orderByDesc('id')
  61. ->paginate($limit)->toarray();
  62. // 分配数据
  63. if (!$result) return json_send(['code' => 'error', 'msg' => '暂无数据']);
  64. // 加载模板
  65. return json_send(['code' => 'success', 'msg' => '获取成功', 'data' => $result]);
  66. }
  67. /**
  68. * 详情
  69. * @author 唐远望
  70. * @version 1.0
  71. * @date 2025-12-08
  72. */
  73. public function detail(Request $request, ControlGoodsModel $ControlGoodsModel)
  74. {
  75. $request->scene('detail')->validate();
  76. // 接收参数
  77. $id = request('id', 0);
  78. $map = ['id' => $id];
  79. $data = $ControlGoodsModel->where($map)->first();
  80. if (!$data) return json_send(['code' => 'error', 'msg' => '记录不存在']);
  81. // 加载模板
  82. return json_send(['code' => 'success', 'msg' => '获取成功', 'data' => $data]);
  83. }
  84. /**
  85. * 添加
  86. * @author 唐远望
  87. * @version 1.0
  88. * @date 2025-12-08
  89. *
  90. */
  91. public function add(Request $request, ControlGoodsModel $ControlGoodsModel)
  92. {
  93. $request->scene('add')->validate();
  94. // 接收数据
  95. $all_data = request()->all();
  96. $store_scope = request('store_scope', '');
  97. $all_data['store_scope'] = $store_scope;
  98. //查询是否存在
  99. $map = ['product_name' => $all_data['product_name'], 'product_specs' => $all_data['product_specs']];
  100. $data = $ControlGoodsModel->where($map)->first();
  101. if ($data) return json_send(['code' => 'error', 'msg' => '记录已存在']);
  102. // 写入数据表
  103. $result = $ControlGoodsModel->addControlGoods($all_data);
  104. // 如果操作失败
  105. if (!$result) return json_send(['code' => 'error', 'msg' => '新增失败']);
  106. // 告知结果
  107. return json_send(['code' => 'success', 'msg' => '新增成功']);
  108. }
  109. /**
  110. * 修改
  111. * @author 唐远望
  112. * @version 1.0
  113. * @date 2025-12-08
  114. *
  115. */
  116. public function edit(Request $request, ControlGoodsModel $ControlGoodsModel)
  117. {
  118. $request->scene('edit')->validate();
  119. // 接收参数
  120. $id = request('id', 0);
  121. // 接收数据
  122. $all_data = request()->all();
  123. $store_scope = request('store_scope','');
  124. $all_data['store_scope'] = $store_scope;
  125. //查询是否存在
  126. $map = ['product_name' => $all_data['product_name'], 'product_specs' => $all_data['product_specs']];
  127. $data = $ControlGoodsModel->where($map)->where('id', '!=', $id)->first();
  128. if ($data) return json_send(['code' => 'error', 'msg' => '记录已存在']);
  129. // 更新数据表
  130. $where = ['id' => $id];
  131. $result = $ControlGoodsModel->updateControlGoods($where, $all_data);
  132. // 如果操作失败
  133. if (!$result) return json_send(['code' => 'error', 'msg' => '修改失败']);
  134. // 告知结果
  135. return json_send(['code' => 'success', 'msg' => '修改成功']);
  136. }
  137. /**
  138. * 修改状态
  139. * @author 唐远望
  140. * @version 1.0
  141. * @date 2025-12-08
  142. *
  143. */
  144. public function set_status(Request $request, ControlGoodsModel $ControlGoodsModel)
  145. {
  146. // 验证参数
  147. $request->scene('set_status')->validate();
  148. // 接收数据
  149. $id = request('id', 0);
  150. $status = request('status', 0);
  151. // 查询用户
  152. $where = ['id' => $id];
  153. // 执行修改
  154. $result = $ControlGoodsModel->changeStatus($where, $status);
  155. // 提示新增失败
  156. if (!$result) return json_send(['code' => 'error', 'msg' => '设置失败']);
  157. // 告知结果
  158. return json_send(['code' => 'success', 'msg' => '设置成功']);
  159. }
  160. /**
  161. * 修改处理状态
  162. * @author 唐远望
  163. * @version 1.0
  164. * @date 2025-12-08
  165. *
  166. */
  167. public function set_processing_status(Request $request, ControlGoodsModel $ControlGoodsModel)
  168. {
  169. // 验证参数
  170. $request->scene('set_processing_status')->validate();
  171. // 接收数据
  172. $id = request('id', 0);
  173. $processing_status = request('processing_status', 0);
  174. // 查询用户
  175. $where = ['id' => $id];
  176. // 执行修改
  177. $result = $ControlGoodsModel->changeProcessingStatus($where, $processing_status);
  178. // 提示新增失败
  179. if (!$result) return json_send(['code' => 'error', 'msg' => '设置失败']);
  180. // 告知结果
  181. return json_send(['code' => 'success', 'msg' => '设置成功']);
  182. }
  183. /**
  184. * 删除
  185. * @author 唐远望
  186. * @version 1.0
  187. * @date 2025-12-08
  188. *
  189. */
  190. public function delete(Request $request, ControlGoodsModel $ControlGoodsModel)
  191. {
  192. // 验证参数
  193. $request->scene('delete')->validate();
  194. // 接收数据
  195. $id = request('id', 0);
  196. // 查询用户
  197. $where = ['id' => $id];
  198. // 执行删除
  199. $result = $ControlGoodsModel->deleteControlGoods($where);
  200. // 提示删除失败
  201. if (!$result) return json_send(['code' => 'error', 'msg' => '删除失败']);
  202. // 告知结果
  203. return json_send(['code' => 'success', 'msg' => '删除成功']);
  204. }
  205. /**
  206. * 执行数据清洗
  207. * @author 唐远望
  208. * @version 1.0
  209. * @date 2025-12-11
  210. *
  211. */
  212. public function data_cleaning(Request $request)
  213. {
  214. // 验证参数
  215. $request->scene('data_cleaning')->validate();
  216. $access_token = request('access_token', '');
  217. $admin_id=$access_token['uid'];
  218. $message_data =['page'=>'1','limit'=>50,'admin_id'=>$admin_id];
  219. // 告知结果
  220. return json_send(['code' => 'success', 'msg' => '执行成功']);
  221. }
  222. }