OrderCommissionLogic.php 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. <?php
  2. namespace addons\Store\common\logic\order;
  3. use addons\Store\common\enums\StoreEnum;
  4. class OrderCommissionLogic
  5. {
  6. /**
  7. * 记录订单插件佣金
  8. * @param $order_id [store_order_id]
  9. * @param $addons_name
  10. * @param $commission_arr [['detail_id']['commission'] => money]
  11. * @return
  12. */
  13. public static function addOrderAddonsCommission($order_id,$addons_name,$commission_arr)
  14. {
  15. $commission_key = StoreEnum::STORE_ORDER_ID_COMMISSION.':'.$order_id;
  16. $commission_addons_key = $commission_key.':'.$addons_name;
  17. $check = \Yii::$app->redis->set($commission_addons_key,1,'NX','EX',3600*24);
  18. if(!$check) return ;
  19. $result = self::getOrderAddonsCommission($order_id);
  20. if ($result) {
  21. if(!isset($result[$addons_name])) $result[$addons_name] = $commission_arr;
  22. }else{
  23. $result = [$addons_name => $commission_arr];
  24. }
  25. \Yii::$app->redis->set($commission_key, json_encode($result));
  26. return true;
  27. }
  28. /**
  29. * 获取订单插件佣金记录
  30. * @param $order_id
  31. * @return mixed
  32. */
  33. public static function getOrderAddonsCommission($order_id)
  34. {
  35. $commission_key = StoreEnum::STORE_ORDER_ID_COMMISSION.':'.$order_id;
  36. $result = \Yii::$app->redis->get($commission_key);
  37. return $result ? json_decode($result, true) : [];
  38. }
  39. /**
  40. * 删除标记
  41. * @param $order_id
  42. */
  43. public static function delOrderAddonsCommission($order_id)
  44. {
  45. $commission_key = StoreEnum::STORE_ORDER_ID_COMMISSION.':'.$order_id;
  46. \Yii::$app->redis->del($commission_key);
  47. }
  48. }