MerchantController.php 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240
  1. <?php
  2. /**
  3. * 重庆赤晓店信息科技有限公司
  4. * https://www.chixiaodian.com
  5. * Copyright (c) 2023 赤店商城 All rights reserved.
  6. */
  7. namespace app\modules\admin\controllers\cloud;
  8. use app\modules\admin\models\GoodsForm;
  9. use app\modules\admin\models\MerchantForm;
  10. use app\modules\admin\controllers\BaseController;
  11. use app\modules\admin\controllers\cloud\behaviors\MerchantBehaviors;
  12. use yii\helpers\ArrayHelper;
  13. class MerchantController extends BaseController
  14. {
  15. /**
  16. * @return array
  17. */
  18. public function behaviors()
  19. {
  20. return ArrayHelper::merge(parent::behaviors(), [
  21. [
  22. 'class' => MerchantBehaviors::class
  23. ]
  24. ]);
  25. }
  26. //供货单 订单确认收货
  27. public function actionMchOrderConfirm(){
  28. $post = post_params();
  29. $form = new MerchantForm();
  30. $form->attributes = $post;
  31. $this->asJson($form->mchOrderConfirm());
  32. }
  33. //供货单 订单取消审核
  34. public function actionMchOrderCancel(){
  35. $post = post_params();
  36. $form = new MerchantForm();
  37. $form->attributes = $post;
  38. $this->asJson($form->mchOrderCancel());
  39. }
  40. //供货单列表
  41. public function actionMchOrderList(){
  42. $post = post_params();
  43. $form = new MerchantForm();
  44. $form->attributes = $post;
  45. $this->asJson($form->mchOrderList());
  46. }
  47. //创建供货单
  48. public function actionMchSetSubmitOrder(){
  49. $post = post_params();
  50. $form = new MerchantForm();
  51. $form->attributes = $post;
  52. $this->asJson($form->mchSetSubmitOrder());
  53. }
  54. //转单 订单确认收货
  55. public function actionMchPurchaseOrderConfirm(){
  56. $post = post_params();
  57. $form = new MerchantForm();
  58. $form->attributes = $post;
  59. $this->asJson($form->mchPurchaseOrderConfirm());
  60. }
  61. //转单 订单取消审核
  62. public function actionMchPurchaseSendcancel(){
  63. $post = post_params();
  64. $form = new MerchantForm();
  65. $form->attributes = $post;
  66. $this->asJson($form->mchPurchaseSendcancel());
  67. }
  68. //转单列表
  69. public function actionMchPurchaseOrderList(){
  70. $post = post_params();
  71. $form = new MerchantForm(['store_id' => get_store_id()]);
  72. $form->attributes = $post;
  73. $this->asJson($form->mchPurchaseOrderList());
  74. }
  75. //转单列表
  76. public function actionGetPurchaseOrderList(){
  77. $post = post_params();
  78. $form = new MerchantForm();
  79. $form->attributes = $post;
  80. $this->asJson($form->getPurchaseOrderList());
  81. }
  82. //获取云仓转单信息
  83. public function actionMchGetPurchaseOrder(){
  84. $post = post_params();
  85. $form = new MerchantForm();
  86. $form->attributes = $post;
  87. $this->asJson($form->mchGetPurchaseOrder());
  88. }
  89. //订单申请售后
  90. public function actionMchOrderRefundApply(){
  91. $post = post_params();
  92. $form = new MerchantForm();
  93. $form->attributes = $post;
  94. $this->asJson($form->mchOrderRefundApply());
  95. }
  96. //订单申请售后(邮寄产品)
  97. public function actionMchOrderRefundSend(){
  98. $post = post_params();
  99. $form = new MerchantForm();
  100. $form->attributes = $post;
  101. $this->asJson($form->mchOrderRefundSend());
  102. }
  103. //创建转单
  104. public function actionMchSetPurchaseOrder(){
  105. $post = post_params();
  106. $form = new MerchantForm();
  107. $form->attributes = $post;
  108. $this->asJson($form->mchSetPurchaseOrder());
  109. }
  110. //绑定商品列表
  111. public function actionMchGetGoodsBindList(){
  112. $post = post_params();
  113. $form = new MerchantForm();
  114. $form->attributes = $post;
  115. $this->asJson($form->mchGetGoodsBindingList());
  116. }
  117. //导入商品
  118. public function actionMchGoodsImport(){
  119. $post = post_params();
  120. $ids = $post['id'];
  121. if(is_string($ids)){
  122. $ids = explode(',', $ids);
  123. }
  124. $cat_id = $post['cat_id'];
  125. $okCount = 0;
  126. foreach($ids as $id){
  127. $form = new GoodsForm();
  128. $form->id = $id;
  129. $form->store_id = get_store_id();
  130. $form->cat_id = $cat_id;
  131. $goodsInfo = $form->saveCloudGoods();
  132. if (isset($goodsInfo['code'])) {
  133. return $this->asJson($goodsInfo);
  134. }
  135. $merchantForm = new MerchantForm();
  136. $mchGoodsImport = $merchantForm->mchGoodsImport($goodsInfo['cloudBindInfo'],$goodsInfo['goods_id']);
  137. if($mchGoodsImport['code'] == 0){
  138. $okCount++;
  139. }
  140. }
  141. $res = [
  142. 'code' => 0,
  143. 'msg' => '导入完成。成功' . $okCount . '个,失败' . (count($ids) - $okCount) . '个'
  144. ];
  145. if(!$okCount){
  146. $res = $mchGoodsImport;
  147. }
  148. $this->asJson($res);
  149. }
  150. //绑定商品
  151. public function actionMchSetGoodsBind(){
  152. $post = post_params();
  153. $form = new MerchantForm();
  154. $form->attributes = $post;
  155. $this->asJson($form->mchSetGoodsBinding());
  156. }
  157. //余额记录
  158. public function actionMchGetBalanceLog(){
  159. $post = post_params();
  160. $form = new MerchantForm();
  161. $form->attributes = $post;
  162. $this->asJson($form->mchGetBalanceLog());
  163. }
  164. //商品列表
  165. public function actionMchGetGoodsList(){
  166. $post = post_params();
  167. $form = new MerchantForm();
  168. $form->attributes = $post;
  169. $form->is_distribution = 2;
  170. $res = $form->mchGetGoodsList();
  171. //判断是否有采购权限
  172. $storeCloud = \app\models\StoreCloud::find()->where(['store_id' => get_store_id(), 'is_delete' => 0, 'is_enable' => 1, 'can_distribution' => 1])->one();
  173. $res['data']['can_distribution'] = $storeCloud ? 1 : 0;
  174. $res['data']['distribution'] = $storeCloud;
  175. $this->asJson($res);
  176. }
  177. //配送单列表
  178. public function actionGetDistributionList(){
  179. $post = get_params();
  180. $form = new MerchantForm();
  181. $form->attributes = $post;
  182. $form->is_distribution = 0;
  183. $this->asJson($form->getAgentOrderDistributionList());
  184. }
  185. //更改配货单状态
  186. public function actionSetDistributionStatus() {
  187. $post = post_params();
  188. $form = new MerchantForm();
  189. $form->attributes = $post;
  190. $this->asJson($form->mchPurchaseOrderConfirm());
  191. }
  192. //更改配货单状态
  193. public function actionGetCloudGoodsInfo() {
  194. $post = post_params();
  195. $form = new MerchantForm();
  196. $form->attributes = $post;
  197. $this->asJson($form->getCloudGoodsInfo());
  198. }
  199. //获取云仓产品更新记录
  200. public function actionCloudGoodsUpdateLog() {
  201. $post = get_params();
  202. $form = new MerchantForm();
  203. $form->attributes = $post;
  204. $this->asJson($form->mchGetCloudGoodsUpdateLog());
  205. }
  206. //转单取消订单
  207. public function actionPurchaseOrderCancel() {
  208. $post = post_params();
  209. $form = new MerchantForm();
  210. $form->attributes = $post;
  211. $this->asJson($form->purchaseOrderCancel());
  212. }
  213. }