Index.php 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170
  1. <?php
  2. namespace app\youzan\controller;
  3. use app\admin\controller\Base;
  4. use app\youzan\logic\Cat;
  5. use app\youzan\logic\Order;
  6. use app\youzan\logic\Tag;
  7. use app\youzan\logic\Goodup;
  8. use think\facade\Validate;
  9. //有赞对接类
  10. class Index extends Base
  11. {
  12. //获取有赞的类目列表
  13. public function getYzCatList()
  14. {
  15. $parent_cid = $this->request->post('parent_cid/d', 0, 'trim');
  16. $rs = Cat::getYzCatList($parent_cid);
  17. return app_show(0, '请求成功', $rs);
  18. }
  19. //获取有赞的标签列表
  20. public function getYzTagList()
  21. {
  22. $rs = Tag::getYzTagList();
  23. return app_show(0, '请求成功', $rs);
  24. }
  25. //审核并将商品推送到有赞平台
  26. public function checkExamstatus()
  27. {
  28. $param = $this->request->only(['platform_youzan_id', 'exam_status', 'reject_reason', 'yz_cat_id', 'is_support_barter', 'good_ladder_id', 'final_price', 'token', 'start_sale_num', 'tags' => [], 'item_type' => 0, 'auto_listing_time' => '0', 'origin' => 0], 'post', 'trim');
  29. $val = Validate::rule([
  30. 'platform_youzan_id|商品上线记录ID' => 'require|number|gt:0',
  31. 'exam_status|审核状态' => 'require|number|in:1,2',
  32. 'reject_reason|驳回原因' => 'requireIf:exam_status,2',
  33. 'yz_cat_id|有赞分类' => 'requireIf:exam_status,1|number|gt:0',
  34. 'is_support_barter|是否可退货' => 'requireIf:exam_status,1|number|in:0,1',
  35. 'good_ladder_id|商品阶梯记录id' => 'requireIf:exam_status,1|number|gt:0',
  36. 'final_price|最终售价' => 'requireIf:exam_status,1|float|elt:9999999',
  37. 'start_sale_num|有赞起售数' => 'requireIf:exam_status,1|number',
  38. 'token' => 'require',
  39. ]);
  40. if ($val->check($param)) return Goodup::youzanGoodUpOnline($param['platform_youzan_id'], $param);
  41. else return error_show(1005, $val->getError());
  42. }
  43. //有赞商品重新上线
  44. public function goodupOnlineAgain()
  45. {
  46. $param = $this->request->only(['token', 'platform_youzan_id'], 'post', 'trim');
  47. $val = Validate::rule([
  48. 'platform_youzan_id|商品上线记录ID' => 'require|number|gt:0',
  49. 'token' => 'require',
  50. ]);
  51. if ($val->check($param)) return Goodup::goodupOnlineAgain($param['platform_youzan_id'], $param['token']);
  52. else return error_show(1005, $val->getError());
  53. }
  54. //商品上线详情
  55. public function getYzGoodupInfo()
  56. {
  57. $platform_youzan_id = $this->request->post('platform_youzan_id/d', 0, 'trim');
  58. return Goodup::getYzGoodupInfo($platform_youzan_id);
  59. }
  60. //商品下线
  61. public function youzanOffline()
  62. {
  63. $param = $this->request->only(['platform_youzan_id', 'token', 'offline_reason_id', 'offline_remark' => ''], 'post', 'trim');
  64. $val = Validate::rule([
  65. 'platform_youzan_id|有赞商品上线记录id' => 'require|number|gt:0',
  66. 'offline_reason_id|商品下线原因id' => 'require|number|gt:0',
  67. 'offline_remark|商品下线备注' => 'require|max:255',
  68. 'token' => 'require',
  69. ]);
  70. if ($val->check($param)) return Goodup::youzanGoodOffline($param['platform_youzan_id'], $param);
  71. else return error_show(1005, $val->getError());
  72. }
  73. //有赞下线商品列表
  74. public function youzanOfflineList()
  75. {
  76. $param = $this->request->only(['start_date' => '', 'end_date' => '', 'creater' => '', 'page' => 1, 'size' => 15], 'post', 'trim');
  77. return Goodup::youzanOfflineList($param);
  78. }
  79. //有赞下线商品详情
  80. public function youzanOfflineDetail()
  81. {
  82. $id = $this->request->param('id/d', 0, 'trim');
  83. return Goodup::youzanOfflineDetail($id);
  84. }
  85. //获取有赞订单列表
  86. public function getYzOrderList()
  87. {
  88. $param = $this->request->filter('trim')->only(['oid' => '', 'plat_code' => '', 'orderCode' => '', 'skuCode' => '', 'platform_name' => '', 'status' => '', 'addtime_start' => '', 'addtime_end' => '', 'page' => 1, 'size' => 15], 'post');
  89. return Order::getYzOrderList($param);
  90. }
  91. //获取有赞平台修改商品日志
  92. public function getYzUpdateLog()
  93. {
  94. $param = $this->request->only(['msg_type' => '', 'page' => 1, 'size' => 15, 'start_date' => '', 'end_date' => ''], 'post', 'trim');
  95. $res = curl_request(config('app.yz_domain') . 'api/yz_get_youzan_update_log', $param);
  96. $res = json_decode($res, true);
  97. if ($res['code'] == 0) return app_show(0, '请求成功', $res['data']);
  98. else return error_show(1005, $res['message']);
  99. }
  100. //获取修改商品日志,采销系统
  101. public function getUpdateGoodLog()
  102. {
  103. $param = $this->request->only(['page' => 1, 'size' => 15, 'start_date' => '', 'end_date' => '', 'skuCode' => '', 'creater' => ''], 'post', 'trim');
  104. $res = curl_request(config('app.yz_domain') . 'api/yz_get_update_good_log_by_caixiao', $param);
  105. $res = json_decode($res, true);
  106. if ($res['code'] == 0) return app_show(0, '请求成功', $res['data']);
  107. else return error_show(1005, $res['message']);
  108. }
  109. //有赞订单审核
  110. public function checkStatus()
  111. {
  112. $param = $this->request->filter('trim')->only(['id', 'status', 'token', 'reason' => '']);
  113. $val = Validate::rule([
  114. 'id|订单ID' => 'require|number|gt:0',
  115. 'status|审核状态' => 'require|number|in:3,4,5,0', 'token' => 'require'
  116. ]);
  117. if ($val->check($param)) return Order::checkStatus($param);
  118. else return error_show(1005, $val->getError());
  119. }
  120. }