Express.php 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191
  1. <?php
  2. namespace app\controller\admin\store;
  3. use ln\jobs\ExpressSyncJob;
  4. use think\App;
  5. use ln\basic\BaseController;
  6. use app\common\repositories\store\shipping\ExpressRepository as repository;
  7. use think\facade\Queue;
  8. class Express extends BaseController
  9. {
  10. /**
  11. * @var repository
  12. */
  13. protected $repository;
  14. /**
  15. * City constructor.
  16. * @param App $app
  17. * @param repository $repository
  18. */
  19. public function __construct(App $app, repository $repository)
  20. {
  21. parent::__construct($app);
  22. $this->repository = $repository;
  23. }
  24. /**
  25. * @Author:Qinii
  26. * @Date: 2020/5/13
  27. * @return mixed
  28. */
  29. public function lst()
  30. {
  31. [$page , $limit] = $this->getPage();
  32. $where = $this->request->params(['keyword','code']);
  33. $mer_id = $this->request->merId();
  34. if($mer_id) $where['is_show'] = 1;
  35. return app('json')->success($this->repository->search($where, $page, $limit));
  36. }
  37. public function detail($id)
  38. {
  39. return app('json')->success($this->repository->get($id));
  40. }
  41. /**
  42. * @Author:Qinii
  43. * @Date: 2020/5/13
  44. * @return mixed
  45. */
  46. public function create()
  47. {
  48. $data = $this->request->params(['name','code','is_show','sort']);
  49. if(empty($data['name']))
  50. return app('json')->fail('名称不可为空');
  51. if($this->repository->codeExists($data['code'],null))
  52. return app('json')->fail('编码重复');
  53. if($this->repository->nameExists($data['name'],null))
  54. return app('json')->fail('名称重复');
  55. $this->repository->create($data);
  56. return app('json')->success('添加成功');
  57. }
  58. /**
  59. * @Author:Qinii
  60. * @Date: 2020/5/13
  61. * @param $id
  62. * @return mixed
  63. */
  64. public function update($id)
  65. {
  66. $data = $this->request->params(['name','code','is_show','sort']);
  67. if(!$this->repository->fieldExists($id))
  68. return app('json')->fail('数据不存在');
  69. if(empty($data['name']))
  70. return app('json')->fail('名称不可为空');
  71. if($this->repository->codeExists($data['code'],$id))
  72. return app('json')->fail('编码重复');
  73. if($this->repository->nameExists($data['name'],$id))
  74. return app('json')->fail('名称重复');
  75. $this->repository->update($id,$data);
  76. return app('json')->success('编辑成功');
  77. }
  78. /**
  79. * @Author:Qinii
  80. * @Date: 2020/5/13
  81. * @param $id
  82. * @return mixed
  83. */
  84. public function delete($id)
  85. {
  86. if(!$this->repository->fieldExists($id))
  87. return app('json')->fail('数据不存在');
  88. $this->repository->delete($id);
  89. return app('json')->success('删除成功');
  90. }
  91. /**
  92. * @Author:Qinii
  93. * @Date: 2020/5/22
  94. * @return mixed
  95. */
  96. public function createForm()
  97. {
  98. return app('json')->success(formToData($this->repository->form($this->request->merId())));
  99. }
  100. /**
  101. * @Author:Qinii
  102. * @Date: 2020/5/22
  103. * @param $id
  104. * @return mixed
  105. */
  106. public function updateForm($id)
  107. {
  108. if(!$this->repository->fieldExists($id))
  109. return app('json')->fail('数据不存在');
  110. return app('json')->success(formToData($this->repository->updateForm($this->request->merId(),$id)));
  111. }
  112. /**
  113. * @Author:Qinii
  114. * @Date: 2020/5/22
  115. * @param int $id
  116. * @return mixed
  117. */
  118. public function switchStatus($id)
  119. {
  120. $status = $this->request->param('is_show', 0) == 1 ? 1 : 0;
  121. if(!$this->repository->fieldExists($id))
  122. return app('json')->fail('数据不存在');
  123. $this->repository->switchStatus($id, ['is_show' =>$status]);
  124. return app('json')->success('修改成功');
  125. }
  126. /**
  127. * TODO 同步信息
  128. * @return \think\response\Json
  129. * @author Qinii
  130. * @day 7/23/21
  131. */
  132. public function syncAll()
  133. {
  134. Queue::push(ExpressSyncJob::class,[]);
  135. return app('json')->success('后台同步中,请稍后来查看~');
  136. }
  137. public function partnerForm($id)
  138. {
  139. $merId = $this->request->merId();
  140. return app('json')->success(formToData($this->repository->partnerForm($id,$merId)));
  141. }
  142. public function partner($id)
  143. {
  144. $data = $this->request->params(['account','key','net_name']);
  145. if (!$expressInfo = $this->repository->get($id))
  146. return app('json')->fail('编辑的记录不存在!');
  147. if ($expressInfo['partner_id'] == 1 && !$data['account'])
  148. return app('json')->fail('请输入月结账号');
  149. if ($expressInfo['partner_key'] == 1 && !$data['key'])
  150. return app('json')->fail('请输入月结密码');
  151. if ($expressInfo['net'] == 1 && !$data['net_name'])
  152. return app('json')->fail('请输入取件网点');
  153. $data['express_id'] = $id;
  154. $data['mer_id'] = $this->request->merId();
  155. $this->repository->updatePartne($data);
  156. return app('json')->success('修改成功');
  157. }
  158. public function options()
  159. {
  160. return app('json')->success($this->repository->options());
  161. }
  162. }