gorden 5 månader sedan
förälder
incheckning
44b5f7d9b6

+ 40 - 19
app/admin/controller/order/PayDetailController.php

@@ -3,9 +3,11 @@
 namespace app\admin\controller\order;
 
 use app\admin\controller\notify\RechargeController;
+use app\admin\service\member\MemberService;
 use app\controller\Curd;
 use app\model\Goods;
 use app\model\GoodsSku;
+use app\model\Member;
 use app\model\MemberAccount;
 use app\model\Order;
 use app\model\OrderSheet;
@@ -114,17 +116,17 @@ class PayDetailController extends Curd
             }
         }
 
-        if (!empty($params['order_type'])){
-            if ($params['order_type'] == 'COMBINE'){
-                $model = $model->where('join_pay_order_id','COMBINE');
-            }elseif ($params['order_type'] == 'PARTNER'){
-                $model = $model->where('join_pay_order_id','PARTNER');
-            }elseif ($params['order_type'] == 'VIP'){
-                $model = $model->where('pay_category','VIP');
-            }elseif ($params['order_type'] == 'RECHARGE'){
-                $model = $model->where('join_pay_order_id','<>','PARTNER')
-                    ->where('join_pay_order_id','<>','COMBINE')
-                    ->where('pay_category','<>','VIP');
+        if (!empty($params['order_type'])) {
+            if ($params['order_type'] == 'COMBINE') {
+                $model = $model->where('join_pay_order_id', 'COMBINE');
+            } elseif ($params['order_type'] == 'PARTNER') {
+                $model = $model->where('join_pay_order_id', 'PARTNER');
+            } elseif ($params['order_type'] == 'VIP') {
+                $model = $model->where('pay_category', 'VIP');
+            } elseif ($params['order_type'] == 'RECHARGE') {
+                $model = $model->where('join_pay_order_id', '<>', 'PARTNER')
+                    ->where('join_pay_order_id', '<>', 'COMBINE')
+                    ->where('pay_category', '<>', 'VIP');
             }
         }
 
@@ -236,9 +238,9 @@ class PayDetailController extends Curd
                         ->where('pay_status', 'SUCCESS')
                         ->get()
                         ->toArray();
-                    if (count($payDetails) > 1){
+                    if (count($payDetails) > 1) {
                         $item->pay_prepayid = 'BY_STAGES';
-                    }else if (count($payDetails) == 1){
+                    } else if (count($payDetails) == 1) {
                         $item->pay_prepayid = $payDetails[0]['pay_prepayid'];
                     }
 
@@ -291,7 +293,8 @@ class PayDetailController extends Curd
     public function goodsOrder(Request $request)
     {
         $orderId = $request->get('order_id', '');
-        if (!$orderId) {
+        $memberId = $request->get('member_id', '');
+        if (!$orderId || !$memberId) {
             return json_fail('参数异常');
         }
         $orderSheet = OrderSheet::with([
@@ -308,14 +311,32 @@ class PayDetailController extends Curd
             ->get()
             ->toArray();
 
-        $payDetails = PayDetail::whereJsonContains('join_pay_object_json->order_id',$orderId)
-            ->where('pay_status','SUCCESS')
-            ->select('pay_status','pay_amount','pay_paytimes','pay_prepayid')
+        $member = Member::with([
+            'cert' => function ($query) {
+                $query->select('join_cert_member_id', 'member_cert_name');
+            },
+            'info' => function ($query) {
+                $query->select('join_info_member_id', 'member_info_nickname', 'member_info_headimg');
+            }
+        ])->where('member_id', $memberId)
+            ->select('member_id', 'member_mobile', 'join_member_role_id', 'member_is_owner', 'member_is_vip', 'member_is_partner', 'member_is_referrer')
+            ->first();
+        $certName = $member['cert']['member_cert_name'] ?? '';
+        $nickname = $member['info']['member_info_nickname'] ?? '';
+        $mobile = $member['member_mobile'] ?? '';
+        $member['member_name'] = MemberService::getMemberCertName($mobile, $certName, $nickname);
+        $member['info']['member_info_headimg'] = MemberService::getAvatarUrl($member['info']['member_info_headimg'] ?? '');
+        $member['level'] = MemberService::getRoleName($member['join_member_role_id']);
+
+        $payDetails = PayDetail::whereJsonContains('join_pay_object_json->order_id', $orderId)
+            ->where('pay_status', 'SUCCESS')
+            ->select('pay_status', 'pay_amount', 'pay_paytimes', 'pay_prepayid')
             ->get();
 
         $data = [
-            'payDetails'=>$payDetails,
-            'goodsOrder' => $orderSheet
+            'payDetails' => $payDetails,
+            'goodsOrder' => $orderSheet,
+            'member' => $member
         ];
 
         return json_success('', $data);

+ 27 - 2
app/admin/service/member/MemberService.php

@@ -15,6 +15,7 @@ use app\model\MemberAccountList;
 use app\model\MemberCert;
 use app\model\MemberDevice;
 use app\model\MemberInfo;
+use app\model\MemberRole;
 use app\model\Order;
 use app\model\OrderSheet;
 use app\model\PayDetail;
@@ -1634,6 +1635,21 @@ class MemberService
         return $name;
     }
 
+    public static function getMemberCertName($mobile, $certName, $nickname)
+    {
+        $name = '';
+        if (!empty($certName)) {
+            $name = $certName;
+        }
+        if (!empty($name) && !empty($mobile)) {
+            $name .= '-' . $mobile;
+        } elseif (!empty($mobile)) {
+            $name = $mobile;
+        }
+
+        return $name;
+    }
+
     public static function getMemberNameByMemberId($memberId)
     {
         $member = Member::with([
@@ -1690,6 +1706,15 @@ class MemberService
         return $url;
     }
 
+    public static function getRoleName($roleId)
+    {
+        if (empty($roleId)) {
+            return '';
+        }
+
+        return MemberRole::where('member_role_id', $roleId)->value('member_role_name');
+    }
+
     /**
      * @Desc 获取身份-合伙人,推荐官
      * @Author Gorden
@@ -1721,7 +1746,7 @@ class MemberService
     {
         $members = Member::where('member_is_partner', 'Y')->get()->toArray();
         foreach ($members as $member) {
-            $partnerJson = ['member_id'=>$member['member_id']];
+            $partnerJson = ['member_id' => $member['member_id']];
             if (!empty($member['member_partner_json'])) {
                 $partnerJson = json_decode($member['member_partner_json'], true);
             }
@@ -1751,7 +1776,7 @@ class MemberService
     {
         $members = Member::where('member_is_referrer', 'Y')->get()->toArray();
         foreach ($members as $member) {
-            $referrerJson = ['member_id'=>$member['member_id']];
+            $referrerJson = ['member_id' => $member['member_id']];
             if (!empty($member['member_referrer_json'])) {
                 $referrerJson = json_decode($member['member_referrer_json'], true);
             }