Jelajahi Sumber

Merge branch 'group_0313'

dongxiaoqin 1 tahun lalu
induk
melakukan
06394c5105

+ 1 - 1
app/adminapi/lists/group_activity/GroupOrderLists.php

@@ -38,7 +38,7 @@ class GroupOrderLists extends BaseAdminDataLists implements ListsSearchInterface
     public function setSearch(): array
     public function setSearch(): array
     {
     {
         return [
         return [
-            '=' => ['a.group_activity_id', 'a.sn','a.goods_id','a.equity_id','a.status','a.user_id'],
+            '=' => ['a.id','a.group_activity_id', 'a.sn','a.goods_id','a.equity_id','a.status','a.user_id'],
         ];
         ];
     }
     }
 
 

+ 5 - 2
app/adminapi/lists/group_activity/GroupUserOrderLists.php

@@ -38,7 +38,7 @@ class GroupUserOrderLists extends BaseAdminDataLists implements ListsSearchInter
     public function setSearch(): array
     public function setSearch(): array
     {
     {
         return [
         return [
-            '=' => ['a.sn','a.status','a.pay_status','a.pay_way','a.refund_status','a.group_activity_id','a.user_equity_id','a.group_order_id','c.group_order_status','d.mobile'],
+            '=' => ['a.status','a.pay_status','a.pay_way','a.refund_status','a.group_activity_id','a.user_equity_id','a.group_order_id','c.sn','d.mobile'],
         ];
         ];
     }
     }
 
 
@@ -50,6 +50,9 @@ class GroupUserOrderLists extends BaseAdminDataLists implements ListsSearchInter
         if(!empty($this->params['title'])){
         if(!empty($this->params['title'])){
             $where[] = ['b.title', 'like', '%'.$this->params['title'].'%'];
             $where[] = ['b.title', 'like', '%'.$this->params['title'].'%'];
         }
         }
+        if (isset($this->params['group_order_status'])) {
+            $where[] = ['c.status', '=', $this->params['group_order_status']];
+        }
         return $where;
         return $where;
     }
     }
 
 
@@ -70,7 +73,7 @@ class GroupUserOrderLists extends BaseAdminDataLists implements ListsSearchInter
             ->leftJoin('user d', 'd.id = a.user_id')
             ->leftJoin('user d', 'd.id = a.user_id')
             ->where($this->searchWhere)
             ->where($this->searchWhere)
             ->where($this->queryWhere())
             ->where($this->queryWhere())
-            ->field(['a.*', 'b.title','b.image','c.status as group_order_status','d.mobile'])
+            ->field(['a.*', 'b.title','b.image','c.sn as group_order_sn','c.status as group_order_status','d.mobile'])
             ->limit($this->limitOffset, $this->limitLength)
             ->limit($this->limitOffset, $this->limitLength)
             ->order(['a.id' => 'desc'])
             ->order(['a.id' => 'desc'])
             ->select()
             ->select()

+ 1 - 1
app/adminapi/logic/group_activity/GroupActivityCategoryLogic.php

@@ -122,7 +122,7 @@ class GroupActivityCategoryLogic extends BaseLogic
         try {
         try {
             $mnp_page = 'pages/web_view/group';
             $mnp_page = 'pages/web_view/group';
             
             
-            $scene_page = 'group';
+            $scene_page = 'good';
             Log::info('getQRCode:'.rawurlencode($scene_page));
             Log::info('getQRCode:'.rawurlencode($scene_page));
             $response = (new WeChatMnpService())->getUnlimitedQRCode(
             $response = (new WeChatMnpService())->getUnlimitedQRCode(
                 'page='.$scene_page.'&id='.$params['id'],
                 'page='.$scene_page.'&id='.$params['id'],

+ 1 - 1
app/adminapi/logic/group_activity/GroupActivityLogic.php

@@ -174,7 +174,7 @@ class GroupActivityLogic extends BaseLogic
         try {
         try {
             $mnp_page = 'pages/web_view/group';
             $mnp_page = 'pages/web_view/group';
             
             
-            $scene_page = 'group';
+            $scene_page = 'active';
             Log::info('getQRCode:'.rawurlencode($scene_page));
             Log::info('getQRCode:'.rawurlencode($scene_page));
             $response = (new WeChatMnpService())->getUnlimitedQRCode(
             $response = (new WeChatMnpService())->getUnlimitedQRCode(
                 'page='.$scene_page.'&id='.$params['id'],
                 'page='.$scene_page.'&id='.$params['id'],

+ 16 - 8
app/api/logic/GroupActivityLogic.php

@@ -167,8 +167,8 @@ class GroupActivityLogic extends BaseLogic
         Db::startTrans();
         Db::startTrans();
         try {
         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('您已参加过该活动!');
                 throw new Exception('您已参加过该活动!');
             }
             }
             
             
@@ -237,6 +237,8 @@ class GroupActivityLogic extends BaseLogic
                 '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'],
+                'area'  => $params['area'],
+                'address' => $params['address'],
                 'remark' => isset($params['remark']) ? $params['remark'] : '',
                 'remark' => isset($params['remark']) ? $params['remark'] : '',
                 'order_amount' => $order_amount,
                 'order_amount' => $order_amount,
                 'order_terminal' => $params['terminal'],
                 'order_terminal' => $params['terminal'],
@@ -286,7 +288,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();
             Db::commit();
             return true;
             return true;
@@ -310,7 +312,7 @@ class GroupActivityLogic extends BaseLogic
             $order =  GroupUserOrder::where([
             $order =  GroupUserOrder::where([
                     'user_id' => $params['user_id'],
                     'user_id' => $params['user_id'],
                     'id'=>$params['order_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)){
             if(empty($order)){
                 throw new Exception('订单不存在');
                 throw new Exception('订单不存在');
             }
             }
@@ -329,7 +331,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');
             $recordSn = generate_sn(RefundRecord::class, 'sn');
@@ -362,6 +369,7 @@ class GroupActivityLogic extends BaseLogic
         catch (\Exception $e) {
         catch (\Exception $e) {
             Db::rollback();
             Db::rollback();
             self::$error = $e->getMessage();
             self::$error = $e->getMessage();
+            Log::write("[拼团订单退款失败]:".$e->getMessage());
             return [false, $e->getMessage()];
             return [false, $e->getMessage()];
         }
         }
     }
     }
@@ -396,11 +404,11 @@ class GroupActivityLogic extends BaseLogic
     public static function getQRCode($params,$url)
     public static function getQRCode($params,$url)
     {
     {
         try {
         try {
-            $mnp_page = 'pages/group/team';
+            $mnp_page = 'pages/web_view/group';
             
             
-            $scene_page = 'group';
+            $scene_page = 'team';
             $response = (new WeChatMnpService())->getUnlimitedQRCode(
             $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,
                 $mnp_page,
                 env('miniprogram.mini_env_version', 'release'),
                 env('miniprogram.mini_env_version', 'release'),
                 false
                 false

+ 10 - 2
app/api/validate/GroupOrderValidate.php

@@ -12,22 +12,30 @@ class GroupOrderValidate extends BaseValidate
 {
 {
 
 
     protected $rule = [
     protected $rule = [
+        'id'=>'require',
         'order_id'=>'require',
         'order_id'=>'require',
         'pay_way' => 'require',
         'pay_way' => 'require',
         'group_activity_id' => 'require',
         'group_activity_id' => 'require',
+        'area' => 'require',
+        'address' =>'require',
+        'category_id' => 'require',
     ];
     ];
 
 
 
 
     protected $field = [
     protected $field = [
+        'id' => '活动ID',
         'order_id' => '订单ID',
         'order_id' => '订单ID',
         'pay_way' => '支付方式',
         'pay_way' => '支付方式',
         'group_activity_id' => '拼团活动ID',
         'group_activity_id' => '拼团活动ID',
+        'area' => '小区',
+        'address' => '详细地址',
+        'category_id' => '分类ID',
     ];
     ];
 
 
 
 
     public function sceneAdd()
     public function sceneAdd()
     {
     {
-        return $this->only(['pay_way','group_activity_id','remark']);
+        return $this->only(['pay_way','group_activity_id','remark','area','address']);
     }
     }
 
 
     public function sceneDetail()
     public function sceneDetail()
@@ -61,7 +69,7 @@ class GroupOrderValidate extends BaseValidate
 
 
     public function sceneQrcode()
     public function sceneQrcode()
     {
     {
-        return $this->only(['id','order_id']);
+        return $this->only(['id','order_id','category_id']);
     }
     }
 
 
 }
 }

+ 1 - 1
app/common/command/GroupOrder.php

@@ -153,7 +153,7 @@ class GroupOrder extends Command
                     GroupUserOrder::where('id',$item['id'])->update(['remark' => $remark]);
                     GroupUserOrder::where('id',$item['id'])->update(['remark' => $remark]);
                 } else {
                 } else {
                     //退款成功
                     //退款成功
-                    GroupUserOrder::where('id',$item['id'])->update(['status' => 3,'refund_status' => 1]);
+                    GroupUserOrder::where('id',$item['id'])->update(['status' => 2,'refund_status' => 1]);
                 }
                 }
 
 
             }
             }