|
@@ -77,7 +77,7 @@ class MemberService
|
|
}
|
|
}
|
|
$query->whereBetween('member.member_addtimes', $addtime);
|
|
$query->whereBetween('member.member_addtimes', $addtime);
|
|
})
|
|
})
|
|
- ->select('member_id', 'member_is_owner', 'member_classify', 'member_status', 'member_mobile', 'member_from', 'member_addtimes', 'member_extend_json',
|
|
|
|
|
|
+ ->select('member_id','member_is_vip', 'member_is_owner', 'member_classify', 'member_status', 'member_mobile', 'member_from', 'member_addtimes', 'member_extend_json',
|
|
'member_info.member_info_nickname', 'member_info.member_info_headimg',
|
|
'member_info.member_info_nickname', 'member_info.member_info_headimg',
|
|
'member_role.member_role_id', 'member_role.member_role_name',
|
|
'member_role.member_role_id', 'member_role.member_role_name',
|
|
'member_cert.member_cert_birth', 'member_cert.member_cert_gender', 'member_cert.member_cert_name', 'member_cert.member_cert_nbr', 'member_cert.member_cert_province', 'member_cert.member_cert_addr', 'member_cert.member_cert_face', 'member_cert.member_cert_photo', 'member_cert.member_cert_nation',
|
|
'member_cert.member_cert_birth', 'member_cert.member_cert_gender', 'member_cert.member_cert_name', 'member_cert.member_cert_nbr', 'member_cert.member_cert_province', 'member_cert.member_cert_addr', 'member_cert.member_cert_face', 'member_cert.member_cert_photo', 'member_cert.member_cert_nation',
|
|
@@ -142,6 +142,14 @@ class MemberService
|
|
'member_account_surplus' => $item['member_account_surplus'],
|
|
'member_account_surplus' => $item['member_account_surplus'],
|
|
'member_account_added' => $item['member_account_added'],
|
|
'member_account_added' => $item['member_account_added'],
|
|
];
|
|
];
|
|
|
|
+ } else if ($item['member_account_classify'] == 'VIP') {
|
|
|
|
+ $account['vip'] = [
|
|
|
|
+ 'member_account_name' => $item['member_account_name'],
|
|
|
|
+ 'member_account_income' => $item['member_account_income'],
|
|
|
|
+ 'member_account_expend' => $item['member_account_expend'],
|
|
|
|
+ 'member_account_surplus' => $item['member_account_surplus'],
|
|
|
|
+ 'member_account_added' => $item['member_account_added'],
|
|
|
|
+ ];
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -336,6 +344,120 @@ class MemberService
|
|
return json_success('', $member);
|
|
return json_success('', $member);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
+ * VIP账户明细
|
|
|
|
+ */
|
|
|
|
+ public static function vipInfo(Request $request)
|
|
|
|
+ {
|
|
|
|
+ $memberId = $request->get('member_id', '');
|
|
|
|
+ $page = $request->get('page', 1);
|
|
|
|
+ $pageSize = $request->get('pageSize', 20);
|
|
|
|
+
|
|
|
|
+ $account = MemberAccount::where('join_account_member_id', $memberId)
|
|
|
|
+ ->where('member_account_classify', 'VIP')
|
|
|
|
+ ->first();
|
|
|
|
+ $balance = $account->member_account_surplus + $account->member_account_added;
|
|
|
|
+
|
|
|
|
+ $info = PayDetail::where(function ($query) use ($memberId) {
|
|
|
|
+ $query->where('join_pay_member_id', $memberId)
|
|
|
|
+ // ->whereIn('pay_prepayid', ['W06', 'A01'])
|
|
|
|
+ ->where('pay_category', 'VIP')
|
|
|
|
+ ->where('pay_status', 'SUCCESS');
|
|
|
|
+ })->orWhere(function ($query) use ($memberId) {
|
|
|
|
+ $query->where('join_pay_member_id', $memberId)
|
|
|
|
+ ->where('pay_prepayid','like', '%VIP%')
|
|
|
|
+ ->where('pay_status', 'SUCCESS');
|
|
|
|
+ })->orderByDesc('pay_addtimes')
|
|
|
|
+ ->get()
|
|
|
|
+ ->toArray();
|
|
|
|
+ $data = [];
|
|
|
|
+ foreach ($info as $key => $item) {
|
|
|
|
+ $categoryIds = [];
|
|
|
|
+ if(!empty($item['join_pay_order_id'])){
|
|
|
|
+ $orderIds = Order::where('order_groupby', $item['join_pay_order_id'])->pluck('order_id');
|
|
|
|
+ $goodsIds = OrderSheet::whereIn('join_sheet_order_id', $orderIds)->pluck('join_sheet_goods_id');
|
|
|
|
+ $categoryIds = Goods::whereIn('goods_id', $goodsIds)->pluck('join_goods_category_id');
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ $categoryName = [];
|
|
|
|
+ foreach ($categoryIds as $id) {
|
|
|
|
+ $category = SysCategory::where('category_id', $id)->first();
|
|
|
|
+ if (!empty($category->category_super_path)) {
|
|
|
|
+ $path = explode('#', $category->category_super_path);
|
|
|
|
+ $ids = array_filter($path);
|
|
|
|
+ $categoryName[] = SysCategory::where('category_id', current($ids))->value('category_name');
|
|
|
|
+ } else {
|
|
|
|
+ $categoryName[] = $category->category_name;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ $item['goods_category'] = implode(',', array_unique($categoryName));
|
|
|
|
+ if(mb_substr($item['goods_category'],0,7) == '自定义金额充值'){
|
|
|
|
+ $item['goods_category'] = '自定义金额充值';
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if (in_array($item['pay_category'], ['VIP', 'REFUND'])) {
|
|
|
|
+ $item['balance_type'] = 'add';
|
|
|
|
+ } else {
|
|
|
|
+ $item['balance_type'] = 'cut';
|
|
|
|
+ }
|
|
|
|
+ if ($key == 0 && in_array($item['pay_category'], ['VIP', 'REFUND'])) {
|
|
|
|
+ if (!empty($item['pay_extend_json'])) {
|
|
|
|
+ $extendJson = json_decode($item['pay_extend_json'], true);
|
|
|
|
+ if (!isset($extendJson['added_amount'])) {
|
|
|
|
+ $extendJson['added_amount'] = 0;
|
|
|
|
+ }
|
|
|
|
+ if (isset($extendJson['added_amount']) && floatval($extendJson['added_amount']) > 0) {
|
|
|
|
+ $data[] = [
|
|
|
|
+ 'join_pay_member_id' => $item['join_pay_member_id'],
|
|
|
|
+ 'pay_addtimes' => $item['pay_addtimes'],
|
|
|
|
+ 'pay_amount' => $extendJson['added_amount'],
|
|
|
|
+ 'pay_category' => 'ADDED',
|
|
|
|
+ 'balance' => number_format($balance, 2, '.', ''),
|
|
|
|
+ 'balance_type' => 'add',
|
|
|
|
+ ];
|
|
|
|
+ }
|
|
|
|
+ $balance = $balance - $extendJson['added_amount'];
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ $item['balance'] = number_format($balance, 2, '.', '');
|
|
|
|
+ $balance = $balance - $item['pay_amount'];
|
|
|
|
+ $data[] = $item;
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if (in_array($item['pay_category'], ['VIP', 'REFUND'])) {
|
|
|
|
+ if (!empty($item['pay_extend_json'])) {
|
|
|
|
+ $extendJson = json_decode($item['pay_extend_json'], true);
|
|
|
|
+ if (isset($extendJson['added_amount']) && floatval($extendJson['added_amount']) > 0) {
|
|
|
|
+ $data[] = [
|
|
|
|
+ 'join_pay_member_id' => $item['join_pay_member_id'],
|
|
|
|
+ 'pay_addtimes' => $item['pay_addtimes'],
|
|
|
|
+ 'pay_amount' => $extendJson['added_amount'],
|
|
|
|
+ 'pay_category' => 'ADDED',
|
|
|
|
+ 'balance' => number_format($balance, 2, '.', ''),
|
|
|
|
+ 'balance_type' => 'add',
|
|
|
|
+ ];
|
|
|
|
+ $balance = $balance - $extendJson['added_amount'];
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ $item['balance'] = number_format($balance, 2, '.', '');
|
|
|
|
+ $balance = $balance - $item['pay_amount'];
|
|
|
|
+ } else {
|
|
|
|
+ $item['balance'] = number_format($balance, 2, '.', '');
|
|
|
|
+ $balance = $balance + $item['pay_amount'];
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ $data[] = $item;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ $total = count($data);
|
|
|
|
+ $start = ($page-1)*$pageSize;
|
|
|
|
+ $rows = array_slice($data,$start,$pageSize);
|
|
|
|
+
|
|
|
|
+ return json_success('', compact('rows', 'page', 'pageSize', 'total'));
|
|
|
|
+ }
|
|
|
|
+
|
|
public static function welfareInfo(Request $request)
|
|
public static function welfareInfo(Request $request)
|
|
{
|
|
{
|
|
$memberId = $request->get('member_id', '');
|
|
$memberId = $request->get('member_id', '');
|
|
@@ -719,7 +841,7 @@ class MemberService
|
|
return json_fail("数据添加失败");
|
|
return json_fail("数据添加失败");
|
|
}
|
|
}
|
|
|
|
|
|
- return json_success('数据添加成功');
|
|
|
|
|
|
+ return json_success('数据添加成功',['member_id'=>$memberId]);
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|