OpenRewardLogic.php 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. <?php
  2. namespace addons\LuckyGroup\common\logic\order;
  3. use addons\LuckyGroup\common\models\LuckyGroupActivity;
  4. use addons\LuckyGroup\common\models\LuckyGroupOrder;
  5. use common\enums\StatusEnum;
  6. use yii\db\Exception;
  7. class OpenRewardLogic
  8. {
  9. //开团
  10. public static function handleSync($data)
  11. {
  12. try {
  13. \Yii::$app->db->close();
  14. echo '开渠道列处理开始,接收订单id:' . implode(',', $data['order_ids']);
  15. $mall_id = $data['mall_id'];
  16. $activity_id = $data['activity_id'];
  17. $goods_id = $data['goods_id'];
  18. $order_ids = $data['order_ids'];
  19. if (empty($order_ids)) throw new Exception('订单ids 不能为空');
  20. // 拼团中奖处理
  21. //todo 读缓存
  22. $activity = LuckyGroupActivity::findOne(['id' => $activity_id, 'mall_id' => $mall_id, 'status' => [StatusEnum::ENABLED, StatusEnum::DISABLED]]);
  23. if (empty($activity)) throw new Exception('未找到幸运拼团活动(' . $activity_id . ')');
  24. //拼团开奖
  25. $win_loss_logic = new WinLossLogic();
  26. $win_loss_logic->openReward($activity, $goods_id, $order_ids);
  27. return true;
  28. } catch (Exception $e) {
  29. echo '开奖队列处理失败' . PHP_EOL . $e->getFile() . '(' . $e->getLine() . ')' . PHP_EOL . "message:" . $e->getMessage();
  30. var_dump('开奖队列处理失败处理失败' . PHP_EOL . $e->getFile() . '(' . $e->getLine() . ')' . PHP_EOL . "message:" . $e->getMessage());
  31. return false;
  32. }
  33. }
  34. //禁用活动
  35. public static function disableActivity($data){
  36. $order_ids = $data['order_ids'];
  37. $win_loss_logic = new WinLossLogic();
  38. $win_loss_logic->disableActivity($order_ids);
  39. }
  40. }