|
@@ -124,7 +124,7 @@ class GroupActivityLogic extends BaseLogic
|
|
|
* @notes 用户订单详情
|
|
* @notes 用户订单详情
|
|
|
*/
|
|
*/
|
|
|
public static function userOrderDetail($order_id,$userId){
|
|
public static function userOrderDetail($order_id,$userId){
|
|
|
- $detail = GroupUserOrder::with('groupOrder')->where(['id'=>$order_id, 'user_id' => $userId])->field('id,sn,status,pay_way,pay_time,pay_status,refund_status,remark,create_time,group_order_id,group_activity_id,user_equity_id,area,address')->findOrEmpty()->toArray();
|
|
|
|
|
|
|
+ $detail = GroupUserOrder::with('groupOrder')->where(['id'=>$order_id, 'user_id' => $userId])->field('id,mobile,sn,status,pay_way,pay_time,pay_status,refund_status,remark,create_time,group_order_id,group_activity_id,user_equity_id,area,address')->findOrEmpty()->toArray();
|
|
|
if ($detail) {
|
|
if ($detail) {
|
|
|
$detail['is_refund'] = 0;
|
|
$detail['is_refund'] = 0;
|
|
|
if ($detail['pay_status'] == 1 && $detail['refund_status'] == 0) {
|
|
if ($detail['pay_status'] == 1 && $detail['refund_status'] == 0) {
|
|
@@ -154,23 +154,23 @@ class GroupActivityLogic extends BaseLogic
|
|
|
if ($userOrder && $userOrder['pay_status'] == 1) {
|
|
if ($userOrder && $userOrder['pay_status'] == 1) {
|
|
|
throw new Exception('您已参加过该活动!');
|
|
throw new Exception('您已参加过该活动!');
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ $activity = GroupActivity::getDetail($params['group_activity_id']); //活动详情
|
|
|
|
|
+ if (!$activity) {
|
|
|
|
|
+ throw new Exception('拼团活动不存在!'); //拼团活动不存在
|
|
|
|
|
+ }
|
|
|
|
|
+ //校验活动时间
|
|
|
|
|
+ if (time() < strtotime($activity['start_time'])) {
|
|
|
|
|
+ throw new Exception('拼团活动未开始!'); //拼团活动未开始
|
|
|
|
|
+ }
|
|
|
|
|
+ if (time() > $activity['end_time']) {
|
|
|
|
|
+ throw new Exception('拼团活动已结束!'); //拼团活动已结束
|
|
|
|
|
+ }
|
|
|
|
|
+ $order_amount = $activity['price'][0];
|
|
|
|
|
|
|
|
- //校验拼团活动
|
|
|
|
|
- if (empty($params['order_id'])) {
|
|
|
|
|
- //新开团
|
|
|
|
|
- $activity = GroupActivity::getDetail($params['group_activity_id']); //活动详情
|
|
|
|
|
- if (!$activity) {
|
|
|
|
|
- throw new Exception('拼团活动不存在!'); //拼团活动不存在
|
|
|
|
|
- }
|
|
|
|
|
- //校验活动时间
|
|
|
|
|
- if (time() < strtotime($activity['start_time'])) {
|
|
|
|
|
- throw new Exception('拼团活动未开始!'); //拼团活动未开始
|
|
|
|
|
- }
|
|
|
|
|
- if (time() > $activity['end_time']) {
|
|
|
|
|
- throw new Exception('拼团活动已结束!'); //拼团活动已结束
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- $order_amount = $activity['price'][0];
|
|
|
|
|
|
|
+ //加入已开的拼团单
|
|
|
|
|
+ $groupOrder = GroupOrder::where(['group_activity_id' => $params['group_activity_id'], 'status' => 0])->where('num','<',100)->findOrEmpty()->toArray();
|
|
|
|
|
+ if (empty($groupOrder)) {
|
|
|
//生成拼团单
|
|
//生成拼团单
|
|
|
$data = [
|
|
$data = [
|
|
|
'sn' => generate_sn(GroupOrder::class, 'sn'),
|
|
'sn' => generate_sn(GroupOrder::class, 'sn'),
|
|
@@ -183,40 +183,13 @@ class GroupActivityLogic extends BaseLogic
|
|
|
'create_time' => time(),
|
|
'create_time' => time(),
|
|
|
'end_time' => time() + $activity['form_time_limit'] * 60 * 60,
|
|
'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) {
|
|
|
|
|
- $groupOrder = GroupOrder::create($data);
|
|
|
|
|
- } else {
|
|
|
|
|
- GroupOrder::where('id',$groupOrder['id'])->update($data);
|
|
|
|
|
- $data['id'] = $groupOrder['id'];
|
|
|
|
|
- $groupOrder = $data;
|
|
|
|
|
- }
|
|
|
|
|
- } else {
|
|
|
|
|
- //加入已开的拼团单
|
|
|
|
|
- $groupOrder = GroupOrder::where(['group_activity_id' => $params['group_activity_id'], 'id' => $params['order_id']])->findOrEmpty()->toArray();
|
|
|
|
|
- if (empty($groupOrder)) {
|
|
|
|
|
- throw new Exception('拼团订单不存在!'); //拼团活动不存在
|
|
|
|
|
- }
|
|
|
|
|
- if ($groupOrder['num'] >= 100) {
|
|
|
|
|
- throw new Exception('拼团人数已满!'); //拼团人数已满
|
|
|
|
|
- }
|
|
|
|
|
- if ($groupOrder['status'] == 1 ) {
|
|
|
|
|
- throw new Exception('活动已成团');
|
|
|
|
|
- }
|
|
|
|
|
- if ($groupOrder['status'] >= 1 ) {
|
|
|
|
|
- throw new Exception('拼团已取消!');
|
|
|
|
|
- }
|
|
|
|
|
- if ($groupOrder['end_time'] < time()) {
|
|
|
|
|
- throw new Exception('拼团活动已结束!'); //拼团活动已结束
|
|
|
|
|
- }
|
|
|
|
|
- $order_amount = $groupOrder['price'];
|
|
|
|
|
|
|
+ $groupOrder = GroupOrder::create($data);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
//生成用户拼单订单
|
|
//生成用户拼单订单
|
|
|
$data = [
|
|
$data = [
|
|
|
'sn' => generate_sn(groupUserOrder::class, 'sn'),
|
|
'sn' => generate_sn(groupUserOrder::class, 'sn'),
|
|
|
|
|
+ 'mobile' => $params['mobile'],
|
|
|
'group_order_id' => $groupOrder['id'],
|
|
'group_order_id' => $groupOrder['id'],
|
|
|
'group_activity_id' => $params['group_activity_id'],
|
|
'group_activity_id' => $params['group_activity_id'],
|
|
|
'user_id' => $params['user_id'],
|
|
'user_id' => $params['user_id'],
|