StoreProductBehavior.php 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
  4. // +----------------------------------------------------------------------
  5. // | Copyright (c) 2016~2022 https://www.crmeb.com All rights reserved.
  6. // +----------------------------------------------------------------------
  7. // | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
  8. // +----------------------------------------------------------------------
  9. // | Author: CRMEB Team <admin@crmeb.com>
  10. // +----------------------------------------------------------------------
  11. namespace behavior\wap;
  12. use app\wap\model\store\StoreOrder;
  13. use app\admin\model\store\StoreProduct;
  14. use app\wap\model\user\User;
  15. use app\wap\model\user\UserAddress;
  16. use app\admin\model\user\UserRecharge;
  17. use app\wap\model\user\UserBill;
  18. use app\wap\model\user\WechatUser;
  19. use basic\ModelBasic;
  20. use app\admin\model\order\StoreOrder as StoreOrderAdminModel;
  21. use app\admin\model\order\TestPaperOrder as TestPaperOrderAdminModel;
  22. use app\admin\model\order\DataDownloadOrder as DataDownloadOrderAdminModel;
  23. use service\SystemConfigService;
  24. use service\WechatTemplateService;
  25. use app\admin\model\merchant\MerchantFlowingWater;
  26. class StoreProductBehavior
  27. {
  28. /**
  29. * 取消点赞产品后
  30. * @param $productId
  31. * @param $uid
  32. */
  33. public static function storeProductUnLikeAfter($productId, $uid)
  34. {
  35. }
  36. /**
  37. * 点赞产品后
  38. * @param $product
  39. * @param $uid
  40. */
  41. public static function storeProductLikeAfter($product, $uid)
  42. {
  43. }
  44. /**
  45. * 订单创建成功后
  46. * @param $oid
  47. */
  48. public static function storeProductOrderCreate($order, $group)
  49. {
  50. UserAddress::be(['is_default' => 1, 'uid' => $order['uid']]) || UserAddress::setDefaultAddress($group['addressId'], $order['uid']);
  51. }
  52. /**
  53. * 修改发货状态 为送货
  54. * @param $data
  55. * $data array 送货方式 送货人姓名 送货人电话
  56. * @param $oid
  57. * $oid string store_order表中的id
  58. */
  59. public static function storeProductOrderDeliveryAfter($data, $oid)
  60. {
  61. StoreOrder::orderPostageAfter($data, $oid);
  62. }
  63. /**
  64. * 修改发货状态 为发货
  65. * @param $data
  66. * $data array 发货方式 送货人姓名 送货人电话
  67. * @param $oid
  68. * $oid string store_order表中的id
  69. */
  70. public static function storeProductOrderDeliveryGoodsAfter($data, $oid)
  71. {
  72. StoreOrder::orderPostageAfter($data, $oid);
  73. }
  74. /**
  75. * 修改状态 为已收货
  76. * @param $data
  77. * $data array status 状态为 已收货
  78. * @param $oid
  79. * $oid string store_order表中的id
  80. */
  81. public static function storeProductOrderTakeDelivery($order, $oid)
  82. {
  83. $res1 = StoreOrder::gainUserGoldNum($order);
  84. $res2 = User::backGoodsOrderBrokerage($order);
  85. $res3 = StoreProduct::setAssociatedTopics($order);
  86. StoreOrder::orderTakeAfter($order);
  87. if (!$res1 || !$res2 || !$res3) exception('收货失败!');
  88. }
  89. /**
  90. * 用户确认收货
  91. * @param $order
  92. * @param $uid
  93. */
  94. public static function storeProductOrderUserTakeDelivery($order, $uid)
  95. {
  96. $res1 = StoreOrder::gainUserGoldNum($order);
  97. $res2 = User::backGoodsOrderBrokerage($order);
  98. $res3 = StoreProduct::setAssociatedTopics($order);
  99. StoreOrder::orderTakeAfter($order);
  100. if (!$res1 || !$res2 || !$res3) exception('收货失败!');
  101. }
  102. /**
  103. * 线下付款
  104. * @param $id
  105. * $id 订单id
  106. */
  107. public static function storeProductOrderOffline($id)
  108. {
  109. }
  110. /**
  111. * 修改状态为 已退款
  112. * @param $data
  113. * $data array type 1 直接退款 2 退款后返回原状态 refund_price 退款金额
  114. * @param $oid
  115. * $oid string store_order表中的id
  116. */
  117. public static function storeProductOrderRefundYAfter($data, $oid)
  118. {
  119. StoreOrderAdminModel::returnGoldCoin($oid);
  120. StoreOrderAdminModel::returnCommissionOne($oid);
  121. StoreProduct::returnAssociatedTopics($oid);
  122. StoreOrderAdminModel::refundTemplate($data, $oid);
  123. }
  124. /**
  125. * 修改状态为 不退款
  126. * @param $data
  127. * $data string 退款原因
  128. * @param $oid
  129. * $oid string store_order表中的id
  130. */
  131. public static function storeProductOrderRefundNAfter($data, $oid)
  132. {
  133. }
  134. /**
  135. * 修改订单状态
  136. * @param $data
  137. * data total_price 商品总价 pay_price 实际支付
  138. * @param $oid
  139. * oid 订单id
  140. */
  141. public static function storeProductOrderEditAfter($data, $oid)
  142. {
  143. }
  144. /**
  145. * 修改送货信息
  146. * @param $data
  147. * $data array 送货人姓名/快递公司 送货人电话/快递单号
  148. * @param $oid
  149. * $oid string store_order表中的id
  150. */
  151. public static function storeProductOrderDistributionAfter($data, $oid)
  152. {
  153. }
  154. /**
  155. * 用户申请退款
  156. * @param $oid
  157. * @param $uid
  158. */
  159. public static function storeProductOrderApplyRefundAfter($oid, $uid)
  160. {
  161. $order = StoreOrder::where('id', $oid)->find();
  162. WechatTemplateService::sendAdminNoticeTemplate([
  163. 'first' => "亲,您有一个订单申请退款 \n订单号:{$order['order_id']}",
  164. 'keyword1' => '申请退款',
  165. 'keyword2' => '待处理',
  166. 'keyword3' => date('Y/m/d H:i', time()),
  167. 'remark' => '请及时处理'
  168. ]);
  169. }
  170. /**
  171. * 评价产品
  172. * @param $replyInfo
  173. * @param $cartInfo
  174. */
  175. public static function storeProductOrderReply($replyInfo, $cartInfo)
  176. {
  177. StoreOrder::checkOrderOver($cartInfo['oid']);
  178. }
  179. /**
  180. * 订单全部产品评价完
  181. * @param $oid
  182. */
  183. public static function storeProductOrderOver($oid)
  184. {
  185. }
  186. /**
  187. * 退积分
  188. * @param $product
  189. * $product 商品信息
  190. * @param $back_integral
  191. * $back_integral 退多少积分
  192. */
  193. public static function storeOrderIntegralBack($product, $back_integral)
  194. {
  195. }
  196. /**
  197. * 退虚拟币
  198. * @param $product
  199. * $product 商品信息
  200. * @param $back_integral
  201. * $back_integral 退多少积分
  202. */
  203. public static function storeOrderGoldBack($order, $back_gold)
  204. {
  205. }
  206. /**
  207. * 加入购物车成功之后
  208. * @param array $cartInfo 购物车信息
  209. * @param array $userInfo 用户信息
  210. */
  211. public static function storeProductSetCartAfterAfter($cartInfo, $userInfo)
  212. {
  213. }
  214. /**试卷订单退款
  215. * @param $data
  216. * @param $oid
  217. */
  218. public static function testPaperOrderRefundYAfter($data, $oid)
  219. {
  220. }
  221. /**资料订单退款
  222. * @param $data
  223. * @param $oid
  224. */
  225. public static function dataDownloadOrderRefundYAfter($data, $oid)
  226. {
  227. }
  228. }