|
|
@@ -35,15 +35,16 @@ class GroupActivityLogic extends BaseLogic
|
|
|
$detail = GroupActivityCategory::where('id',$id)->where('status',1)->field('id,title,images,block_data')->findOrEmpty()->toArray();
|
|
|
if($detail) {
|
|
|
$detail['block_data'] = $detail['block_data'] ? json_decode($detail['block_data'],true) : [];
|
|
|
- if ($block_key) {
|
|
|
- foreach($detail['block_data'] as $item) {
|
|
|
- if ($block_key == $item['block_key']) {
|
|
|
- return $item;
|
|
|
- }
|
|
|
+
|
|
|
+ foreach($detail['block_data'] as $item) {
|
|
|
+ foreach($item['activity'] as &$activity) {
|
|
|
+ $activity['end_time'] = is_numeric($activity['end_time']) ? $activity['end_time'] : strtotime($activity['end_time']);
|
|
|
+ }
|
|
|
+ if ($block_key == $item['block_key']) {
|
|
|
+ return $item;
|
|
|
}
|
|
|
- } else {
|
|
|
- $detail['images'] = $detail['images']? explode(",",$detail['images']) : [];
|
|
|
}
|
|
|
+ $detail['images'] = $detail['images']? explode(",",$detail['images']) : [];
|
|
|
}
|
|
|
return $detail;
|
|
|
}
|
|
|
@@ -167,8 +168,8 @@ class GroupActivityLogic extends BaseLogic
|
|
|
Db::startTrans();
|
|
|
try {
|
|
|
|
|
|
- $userOrder = GroupUserOrder::where(['group_activity_id' => $params['group_activity_id'], 'user_id' => $params['user_id']])->findOrEmpty()->toArray();
|
|
|
- if ($userOrder && $userOrder['pay_status'] == 1 && $userOrder['refund_status'] == 0) {
|
|
|
+ $userOrder = GroupUserOrder::where(['group_activity_id' => $params['group_activity_id'], 'user_id' => $params['user_id'],'refund_status' => 0])->findOrEmpty()->toArray();
|
|
|
+ if ($userOrder && $userOrder['pay_status'] == 1) {
|
|
|
throw new Exception('您已参加过该活动!');
|
|
|
}
|
|
|
|
|
|
@@ -237,6 +238,8 @@ class GroupActivityLogic extends BaseLogic
|
|
|
'group_order_id' => $groupOrder['id'],
|
|
|
'group_activity_id' => $params['group_activity_id'],
|
|
|
'user_id' => $params['user_id'],
|
|
|
+ 'area' => $params['area'],
|
|
|
+ 'address' => $params['address'],
|
|
|
'remark' => isset($params['remark']) ? $params['remark'] : '',
|
|
|
'order_amount' => $order_amount,
|
|
|
'order_terminal' => $params['terminal'],
|
|
|
@@ -286,7 +289,7 @@ class GroupActivityLogic extends BaseLogic
|
|
|
}
|
|
|
|
|
|
//将用户订单状态更新为已取消
|
|
|
- GroupUserOrder::where('id',$detail['id'])->update(['status' => 4, 'pay_status' => 2]);
|
|
|
+ GroupUserOrder::where('id',$detail['id'])->update(['status' => 3, 'pay_status' => 2]);
|
|
|
|
|
|
Db::commit();
|
|
|
return true;
|
|
|
@@ -310,7 +313,7 @@ class GroupActivityLogic extends BaseLogic
|
|
|
$order = GroupUserOrder::where([
|
|
|
'user_id' => $params['user_id'],
|
|
|
'id'=>$params['order_id']
|
|
|
- ])->field('id,sn,status,order_amount,pay_status,pay_way,user_equity_id,user_id,order_terminal')->findOrEmpty()->toArray();
|
|
|
+ ])->field('id,group_order_id,sn,status,order_amount,pay_status,pay_way,user_equity_id,user_id,order_terminal,transaction_id')->findOrEmpty()->toArray();
|
|
|
if(empty($order)){
|
|
|
throw new Exception('订单不存在');
|
|
|
}
|
|
|
@@ -329,7 +332,12 @@ class GroupActivityLogic extends BaseLogic
|
|
|
}
|
|
|
|
|
|
//将用户订单状态更新为申请退款
|
|
|
- GroupUserOrder::where('id',$order['id'])->update(['status' => 3,'refund_status' => 1]);
|
|
|
+ GroupUserOrder::where('id',$order['id'])->update(['status' => 2,'refund_status' => 1]);
|
|
|
+
|
|
|
+ //更新拼团订单
|
|
|
+ GroupOrder::where('id',$order['group_order_id'])->update([
|
|
|
+ 'num' => Db::raw('num-1'),
|
|
|
+ ]);
|
|
|
|
|
|
// 生成退款记录
|
|
|
$recordSn = generate_sn(RefundRecord::class, 'sn');
|
|
|
@@ -362,6 +370,7 @@ class GroupActivityLogic extends BaseLogic
|
|
|
catch (\Exception $e) {
|
|
|
Db::rollback();
|
|
|
self::$error = $e->getMessage();
|
|
|
+ Log::write("[拼团订单退款失败]:".$e->getMessage());
|
|
|
return [false, $e->getMessage()];
|
|
|
}
|
|
|
}
|
|
|
@@ -396,11 +405,11 @@ class GroupActivityLogic extends BaseLogic
|
|
|
public static function getQRCode($params,$url)
|
|
|
{
|
|
|
try {
|
|
|
- $mnp_page = 'pages/group/team';
|
|
|
+ $mnp_page = 'pages/web_view/group';
|
|
|
|
|
|
- $scene_page = 'group';
|
|
|
+ $scene_page = 'team';
|
|
|
$response = (new WeChatMnpService())->getUnlimitedQRCode(
|
|
|
- 'page='.$scene_page.'&id='.$params['id'].'&order_id='.$params['order_id'],
|
|
|
+ 'page='.$scene_page.'&id='.$params['id'].'&oid='.$params['order_id']."&cid=".$params['category_id'],
|
|
|
$mnp_page,
|
|
|
env('miniprogram.mini_env_version', 'release'),
|
|
|
false
|