OrderBehavior.php 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193
  1. <?php
  2. /**
  3. *
  4. * @author: xaboy<365615158@qq.com>
  5. * @day: 2017/12/18
  6. */
  7. namespace behavior\order;
  8. use app\ebapi\model\store\StoreOrder;
  9. use app\ebapi\model\routine\RoutineTemplate;
  10. use app\ebapi\model\user\User;
  11. use app\ebapi\model\user\WechatUser;
  12. use app\ebapi\model\user\UserAddress;
  13. use app\admin\model\order\StoreOrder as StoreOrderAdminModel;
  14. use app\core\util\SystemConfigService;
  15. use app\core\util\WechatTemplateService;
  16. class OrderBehavior
  17. {
  18. /**
  19. * 用户确认收货
  20. * @param $order
  21. * @param $uid
  22. */
  23. public static function storeProductOrderUserTakeDelivery($order, $uid)
  24. {
  25. $res1 = StoreOrder::gainUserIntegral($order);
  26. $res2 = User::backOrderBrokerage($order);
  27. StoreOrder::orderTakeAfter($order);
  28. $giveCouponMinPrice = SystemConfigService::get('store_give_con_min_price');
  29. if($order['total_price'] >= $giveCouponMinPrice) WechatUser::userTakeOrderGiveCoupon($uid);
  30. if(!($res1 && $res2)) exception('收货失败!');
  31. }
  32. /**
  33. * 订单创建成功后
  34. * @param $oid
  35. */
  36. public static function storeProductOrderCreate($order,$group)
  37. {
  38. UserAddress::be(['is_default'=>1,'uid'=>$order['uid']]) || UserAddress::setDefaultAddress($group['addressId'],$order['uid']);
  39. }
  40. /**
  41. * 修改发货状态 为送货
  42. * @param $data
  43. * $data array 送货方式 送货人姓名 送货人电话
  44. * @param $oid
  45. * $oid string store_order表中的id
  46. */
  47. // public static function storeProductOrderDeliveryAfter($data,$oid){
  48. // StoreOrder::orderPostageAfter($data,$oid);
  49. // }
  50. /**
  51. * 修改发货状态 为发货
  52. * @param $data
  53. * $data array 发货方式 送货人姓名 送货人电话
  54. * @param $oid
  55. * $oid string store_order表中的id
  56. */
  57. // public static function storeProductOrderDeliveryGoodsAfter($data,$oid){
  58. // StoreOrder::orderPostageAfter($data,$oid);
  59. // RoutineTemplate::sendOrderGoods($oid,$data);
  60. // }
  61. /**
  62. * 修改状态 为已收货
  63. * @param $data
  64. * $data array status 状态为 已收货
  65. * @param $oid
  66. * $oid string store_order表中的id
  67. */
  68. public static function storeProductOrderTakeDeliveryAfter($order,$oid)
  69. {
  70. $res1 = StoreOrder::gainUserIntegral($order);
  71. $res2 = User::backOrderBrokerage($order);
  72. StoreOrder::orderTakeAfter($order);
  73. if(!($res1 && $res2)) exception('收货失败!');
  74. }
  75. /**
  76. * 线下付款
  77. * @param $id
  78. * $id 订单id
  79. */
  80. public static function storeProductOrderOffline($id){
  81. }
  82. /**
  83. * 修改状态为 已退款
  84. * @param $data
  85. * $data array type 1 直接退款 2 退款后返回原状态 refund_price 退款金额
  86. * @param $oid
  87. * $oid string store_order表中的id
  88. */
  89. public static function storeProductOrderRefundYAfter($data,$oid){
  90. StoreOrderAdminModel::refundTemplate($data,$oid);
  91. }
  92. /**
  93. * 修改状态为 不退款
  94. * @param $data
  95. * $data string 退款原因
  96. * @param $oid
  97. * $oid string store_order表中的id
  98. */
  99. public static function storeProductOrderRefundNAfter($data,$oid){
  100. }
  101. /**
  102. * 修改订单状态
  103. * @param $data
  104. * data total_price 商品总价 pay_price 实际支付
  105. * @param $oid
  106. * oid 订单id
  107. */
  108. public static function storeProductOrderEditAfter($data,$oid){
  109. }
  110. /**
  111. * 修改送货信息
  112. * @param $data
  113. * $data array 送货人姓名/快递公司 送货人电话/快递单号
  114. * @param $oid
  115. * $oid string store_order表中的id
  116. */
  117. public static function storeProductOrderDistributionAfter($data,$oid){
  118. }
  119. /**
  120. * 用户申请退款
  121. * @param $oid
  122. * @param $uid
  123. */
  124. public static function storeProductOrderApplyRefundAfter($oid, $uid)
  125. {
  126. $order = StoreOrder::where('id',$oid)->find();
  127. WechatTemplateService::sendAdminNoticeTemplate([
  128. 'first'=>"亲,您有一个订单申请退款 \n订单号:{$order['order_id']}",
  129. 'keyword1'=>'申请退款',
  130. 'keyword2'=>'待处理',
  131. 'keyword3'=>date('Y/m/d H:i',time()),
  132. 'remark'=>'请及时处理'
  133. ]);
  134. }
  135. /**
  136. * 评价产品
  137. * @param $replyInfo
  138. * @param $cartInfo
  139. */
  140. public static function storeProductOrderReply($replyInfo, $cartInfo)
  141. {
  142. StoreOrder::checkOrderOver($cartInfo['oid']);
  143. }
  144. /**
  145. * 订单全部产品评价完
  146. * @param $oid
  147. */
  148. public static function storeProductOrderOver($oid)
  149. {
  150. }
  151. /**
  152. * 退积分
  153. * @param $product
  154. * $product 商品信息
  155. * @param $back_integral
  156. * $back_integral 退多少积分
  157. */
  158. public static function storeOrderIntegralBack($product,$back_integral){
  159. }
  160. /**
  161. * 加入购物车成功之后
  162. * @param array $cartInfo 购物车信息
  163. * @param array $userInfo 用户信息
  164. */
  165. public static function storeProductSetCartAfterAfter($cartInfo, $userInfo)
  166. {
  167. }
  168. }