Agent.php 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. <?php
  2. namespace app\controller\admin;
  3. use app\extra\tools\CodeExtend;
  4. use app\model\hx\HxAgent;
  5. use app\service\hx\AgentService;
  6. use support\Request;
  7. use support\Response;
  8. use Webman\RedisQueue\Redis;
  9. class Agent
  10. {
  11. public function getAgentList(Request $request): Response
  12. {
  13. try {
  14. $param = $request->all();
  15. $data = (new AgentService)->setModel()->getList($param);
  16. return successTrans('success.data',pageFormat($data),200);
  17. } catch (\Throwable $throwable) {
  18. return error($throwable->getMessage());
  19. }
  20. }
  21. public function setListData(Request $request): Response
  22. {
  23. try {
  24. $param = $request->post();
  25. if (empty($param['id'])) {
  26. $param['agent_id'] = CodeExtend::uniqidNumber(18,"J");
  27. }
  28. $state = (new HxAgent)->setAutoData($param);
  29. if (!$state) return errorTrans("error.data");
  30. return successTrans("success.data");
  31. } catch (\Throwable $throwable) {
  32. return error($throwable->getMessage());
  33. }
  34. }
  35. public function setBatchData(Request $request): Response
  36. {
  37. try {
  38. $param = v_valid([
  39. "id.require" => "参数错误",
  40. "value.require" => "参数错误",
  41. "field.require" => "参数错误",
  42. "type.require" => "参数错误"
  43. ],"post");
  44. if (!is_array($param)) return error($param);
  45. if ($param['type'] == "batch") {
  46. $state = (new HxAgent)->where("id","in",$param['id'])->save([$param['field'] => $param['value']]);
  47. } else {
  48. $state = (new HxAgent)->where("id",$param['id'])->save([$param['field'] => $param['value']]);
  49. }
  50. if (!$state) return errorTrans("error.data");
  51. return successTrans("success.data");
  52. } catch (\Throwable $throwable) {
  53. return error($throwable->getMessage());
  54. }
  55. }
  56. public function delData(Request $request): Response
  57. {
  58. try {
  59. $param = v_valid([
  60. "id.require" => trans("empty.require")
  61. ],$request->method());
  62. if (!is_array($param)) return error($param);
  63. $data = (new HxAgent)->where(['id' => $param['id']])->findOrEmpty();
  64. if ($data->isEmpty()) return errorTrans("error.data");
  65. $data->is_deleted = 0;
  66. $state = $data->save();
  67. if (!$state) return errorTrans("error.data");
  68. return successTrans("success.data");
  69. } catch (\Throwable $throwable) {
  70. return error($throwable->getMessage());
  71. }
  72. }
  73. public function syncPoi(Request $request): Response
  74. {
  75. try {
  76. $param = v_valid([
  77. "agent.default" => "",
  78. "type.default" => 'poi'
  79. ],$request->method());
  80. if (!is_array($param)) return error($param);
  81. if (!empty($request->user['agent_id'])) {
  82. $param['agent'] = $request->user['agent_id'];
  83. }
  84. $data = (new HxAgent)->where(['agent_id' => $param['agent']])->findOrEmpty();
  85. if ($data->isEmpty()) return errorTrans("error.data");
  86. if ($param['type'] == "poi") {
  87. Redis::send('poi-sync',['account' => $data['agent_id']]);
  88. } else {
  89. Redis::send('goods-sync',['account' => $data['agent_id']]);
  90. }
  91. return successTrans("success.data");
  92. } catch (\Throwable $throwable) {
  93. return error($throwable->getMessage());
  94. }
  95. }
  96. }