|
|
@@ -141,39 +141,41 @@ class GroupActivityLogic extends BaseLogic
|
|
|
|
|
|
//校验拼团活动
|
|
|
if (empty($params['sn'])) {
|
|
|
+ //新开团
|
|
|
+ $activity = GroupActivity::findOrEmpty($params['group_activity_id']); //活动详情
|
|
|
+ if ($activity->isEmpty()) {
|
|
|
+ throw new Exception('拼团活动不存在!'); //拼团活动不存在
|
|
|
+ }
|
|
|
+ //校验活动时间
|
|
|
+ if (time() < strtotime($activity['start_time'])) {
|
|
|
+ throw new Exception('拼团活动未开始!'); //拼团活动未开始
|
|
|
+ }
|
|
|
+ if (time() > $activity['end_time']) {
|
|
|
+ throw new Exception('拼团活动已结束!'); //拼团活动已结束
|
|
|
+ }
|
|
|
+
|
|
|
+ $order_amount = explode(",",$activity['price'])[0];
|
|
|
+ //生成拼团单
|
|
|
+ $data = [
|
|
|
+ 'sn' => generate_sn(GroupOrder::class, 'sn'),
|
|
|
+ 'group_activity_id' => $params['group_activity_id'],
|
|
|
+ 'equity_id' => $activity['equity_id'],
|
|
|
+ 'goods_id' => EquityConfig::where('id', $activity['equity_id'])->value('goods_id'),
|
|
|
+ 'user_id' => $params['user_id'],
|
|
|
+ 'origin_price' => $activity['origin_price'],
|
|
|
+ 'price' => $order_amount,
|
|
|
+ 'create_time' => time(),
|
|
|
+ 'end_time' => time() + $activity['form_time_limit'] * 60 * 60,
|
|
|
+ ];
|
|
|
|
|
|
- //如果已有团单,直接加入
|
|
|
+ //如果已有数据,直接覆盖
|
|
|
$groupOrder = GroupOrder::where(['group_activity_id' => $params['group_activity_id'],'user_id' => $params['user_id']])->findOrEmpty()->toArray();
|
|
|
if (!$groupOrder) {
|
|
|
- //新开团
|
|
|
- $activity = GroupActivity::findOrEmpty($params['group_activity_id']); //活动详情
|
|
|
- if ($activity->isEmpty()) {
|
|
|
- throw new Exception('拼团活动不存在!'); //拼团活动不存在
|
|
|
- }
|
|
|
- //校验活动时间
|
|
|
- if (time() < strtotime($activity['start_time'])) {
|
|
|
- throw new Exception('拼团活动未开始!'); //拼团活动未开始
|
|
|
- }
|
|
|
- if (time() > $activity['end_time']) {
|
|
|
- throw new Exception('拼团活动已结束!'); //拼团活动已结束
|
|
|
- }
|
|
|
-
|
|
|
- $order_amount = explode(",",$activity['price'])[0];
|
|
|
- //生成拼团单
|
|
|
- $data = [
|
|
|
- 'sn' => generate_sn(GroupOrder::class, 'sn'),
|
|
|
- 'group_activity_id' => $params['group_activity_id'],
|
|
|
- 'equity_id' => $activity['equity_id'],
|
|
|
- 'goods_id' => EquityConfig::where('id', $activity['equity_id'])->value('goods_id'),
|
|
|
- 'user_id' => $params['user_id'],
|
|
|
- 'origin_price' => $activity['origin_price'],
|
|
|
- 'price' => $order_amount,
|
|
|
- 'create_time' => time(),
|
|
|
- 'end_time' => time() + $activity['form_time_limit'] * 60 * 60,
|
|
|
- ];
|
|
|
$groupOrder = GroupOrder::create($data);
|
|
|
} else {
|
|
|
- $order_amount = explode(",",$groupOrder['price']);
|
|
|
+ GroupOrder::where('id',$groupOrder['id'])->update($data);
|
|
|
+ $data['id'] = $groupOrder['id'];
|
|
|
+ $groupOrder = $data;
|
|
|
}
|
|
|
} else {
|
|
|
//加入已开的拼团单
|