Selaa lähdekoodia

Merge branch 'master' of e.coding.net:zdap/weixiu/weixiu_api into m--tmp

liugc 1 vuosi sitten
vanhempi
commit
d53faf4c13

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

@@ -38,7 +38,7 @@ class GroupOrderLists extends BaseAdminDataLists implements ListsSearchInterface
     public function setSearch(): array
     {
         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
     {
         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'])){
             $where[] = ['b.title', 'like', '%'.$this->params['title'].'%'];
         }
+        if (isset($this->params['group_order_status'])) {
+            $where[] = ['c.status', '=', $this->params['group_order_status']];
+        }
         return $where;
     }
 
@@ -70,7 +73,7 @@ class GroupUserOrderLists extends BaseAdminDataLists implements ListsSearchInter
             ->leftJoin('user d', 'd.id = a.user_id')
             ->where($this->searchWhere)
             ->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)
             ->order(['a.id' => 'desc'])
             ->select()

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

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

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

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

+ 24 - 15
app/api/logic/GroupActivityLogic.php

@@ -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

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

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

+ 2 - 2
app/common/command/AutomaticDispatch.php

@@ -233,7 +233,7 @@ class AutomaticDispatch extends Command
                     $this->customerList[] = [
                         'phone' => $worker['mobile'],
                         'properties' => [
-                            // '订单号' => substr($item['work_sn'], -4),
+                            '订单号' => substr($item['work_sn'], -4),
                             // '详细地址'=>$item['address'],
                             // '服务类型'=> isset($this->categoryType[$item['category_type']]) ? $this->categoryType[$item['category_type']] : '',
                             // '客户手机号'=>$item['mobile']
@@ -327,7 +327,7 @@ class AutomaticDispatch extends Command
                 $this->customerList[] = [
                     'phone' => MasterWorker::where('id',$worker['master_worker_id'])->value('mobile'),
                     'properties' => [
-                        // '订单号' => substr($item['work_sn'], -4),
+                        '订单号' => substr($item['work_sn'], -4),
                         // '详细地址'=>$item['address'],
                         // '服务类型'=> isset($this->categoryType[$item['category_type']]) ? $this->categoryType[$item['category_type']] : '',
                         // '客户手机号'=>$item['mobile']

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

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