소스 검색

余额明细

gorden 6 달 전
부모
커밋
3eb58cea67
1개의 변경된 파일26개의 추가작업 그리고 5개의 파일을 삭제
  1. 26 5
      app/admin/service/member/MemberService.php

+ 26 - 5
app/admin/service/member/MemberService.php

@@ -11,6 +11,7 @@ use app\model\FamilyMember;
 use app\model\Goods;
 use app\model\Member;
 use app\model\MemberAccount;
+use app\model\MemberAccountList;
 use app\model\MemberCert;
 use app\model\MemberDevice;
 use app\model\MemberInfo;
@@ -905,11 +906,25 @@ class MemberService
             $query->where('join_pay_member_id', $memberId)
                 ->where('pay_prepayid', 'like', '%CASH%')
                 ->where('pay_status', 'SUCCESS');
-        })->orderByDesc('pay_addtimes')
+        })->select('join_pay_object_json','join_pay_member_id','pay_category','join_pay_order_id','pay_extend_json','pay_addtimes','pay_amount');
+//            ->orderByDesc('pay_addtimes')
+//            ->get()
+//            ->toArray();
+
+        $memberAccountList = MemberAccountList::where('join_member_account_list_member_id',$memberId)
+            ->selectRaw('
+                member_account_list_extend_json as join_pay_object_json,
+                join_member_account_list_member_id as join_pay_member_id,
+                member_account_list_attr as pay_category,
+                join_list_member_account_nbr as pay_prepayid,
+                member_account_list_extend_json as pay_extend_json,
+                member_account_list_addtimes as pay_addtimes,
+                member_account_list_amount as pay_amount');
+
+        $info = $info->union($memberAccountList)
+            ->orderByDesc('pay_addtimes')
             ->get()
             ->toArray();
-
-//        dump($info);
         $data = [];
         foreach ($info as $key => $item) {
             if ($item['pay_category'] == 'PARTNER') {
@@ -918,6 +933,12 @@ class MemberService
                     continue;
                 }
             }
+            if ($item['pay_category'] == 'REFERRER') {
+                $payObjectJson = json_decode($item['join_pay_object_json'], true);
+                if (!Order::where('order_id', $payObjectJson['order_id'])->where('order_is_complete', 'Y')->exists()) {
+                    continue;
+                }
+            }
             $categoryIds = [];
             if (!empty($item['join_pay_order_id'])) {
                 $orderIds = Order::where('order_groupby', $item['join_pay_order_id'])->pluck('order_id');
@@ -940,7 +961,7 @@ class MemberService
             if (mb_substr($item['goods_category'], 0, 7) == '自定义金额充值') {
                 $item['goods_category'] = '自定义金额充值';
             }
-            if (in_array($item['pay_category'], ['RECHARGE', 'REFUND', 'GIVE', 'PARTNER'])) {
+            if (in_array($item['pay_category'], ['RECHARGE', 'REFUND', 'GIVE', 'PARTNER','IN'])) {
                 $item['balance_type'] = 'add';
             } else {
                 $item['balance_type'] = 'cut';
@@ -977,7 +998,7 @@ class MemberService
                 continue;
             }
 
-            if (in_array($item['pay_category'], ['RECHARGE', 'REFUND', 'GIVE', 'PARTNER', 'COMBINE'])) {
+            if (in_array($item['pay_category'], ['RECHARGE', 'REFUND', 'GIVE', 'PARTNER', 'COMBINE','IN'])) {
                 if (!empty($item['pay_extend_json'])) {
                     $extendJson = json_decode($item['pay_extend_json'], true);
                     if (isset($extendJson['added_amount']) && floatval($extendJson['added_amount']) > 0) {