|
@@ -161,6 +161,73 @@ class MemberController
|
|
|
return json_success('',$data);
|
|
|
}
|
|
|
|
|
|
+ public function selectMemberAllQuotaByGoods(Request $request){
|
|
|
+ $memberId = $request->get('member_id','');
|
|
|
+ $orderId = $request->get('order_id','');
|
|
|
+ $person = $request->get('person','');
|
|
|
+ $selectType = $request->get('select_type','ALL');
|
|
|
+
|
|
|
+ if(!$memberId){
|
|
|
+ return json_fail('参数异常');
|
|
|
+ }
|
|
|
+ $data = [];
|
|
|
+
|
|
|
+ $benefit = MemberBenefit::where('join_benefit_member_id',$memberId)
|
|
|
+ // ->whereColumn('member_benefit_limit_count','>','member_benefit_used_count')
|
|
|
+ ->select('member_benefit_id as id','member_benefit_name as name','member_benefit_limit_count as total','member_benefit_used_count as used')
|
|
|
+ ->when($orderId != '',function($query) use ($orderId){
|
|
|
+ $query->where('join_benefit_order_id',$orderId);
|
|
|
+ })
|
|
|
+ ->get()
|
|
|
+ ->toArray();
|
|
|
+
|
|
|
+
|
|
|
+ foreach($benefit as $item){
|
|
|
+ if ($item['total'] - $item['used'] < $person){
|
|
|
+ $item['disabled'] = true;
|
|
|
+ }
|
|
|
+ $item['cut'] = $item['total'] - $item['used'];
|
|
|
+ $data[] = $item;
|
|
|
+ }
|
|
|
+ if ($selectType == 'BENEFIT'){
|
|
|
+ return json_success('',$data);
|
|
|
+ }
|
|
|
+
|
|
|
+ $quotas = MemberQuota::where('join_quota_member_id',$memberId)
|
|
|
+ ->selectRaw('join_quota_member_id,join_member_rule_added_component_id,COUNT(*) as total')
|
|
|
+ ->groupBy('join_quota_member_id','join_member_rule_added_component_id')
|
|
|
+ ->get()
|
|
|
+ ->toArray();
|
|
|
+ foreach($quotas as $quota){
|
|
|
+ $usedNum = MemberQuota::where('join_quota_member_id',$quota['join_quota_member_id'])
|
|
|
+ ->where('join_member_rule_added_component_id',$quota['join_member_rule_added_component_id'])
|
|
|
+ ->where('member_quota_status','USED')
|
|
|
+ ->count('*');
|
|
|
+ if($quota['total'] <= $usedNum){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ $memberQuota = MemberQuota::where('join_quota_member_id',$quota['join_quota_member_id'])
|
|
|
+ ->where('join_member_rule_added_component_id',$quota['join_member_rule_added_component_id'])
|
|
|
+ ->select('member_quota_id as id','member_quota_name as name')
|
|
|
+ ->first()
|
|
|
+ ->toArray();
|
|
|
+
|
|
|
+ $memberQuota['total'] = $quota['total'];
|
|
|
+ $memberQuota['used'] = $usedNum;
|
|
|
+ if ($memberQuota['total'] - $memberQuota['used'] < $person){
|
|
|
+ $memberQuota['disabled'] = true;
|
|
|
+ }
|
|
|
+ $memberQuota['cut'] = $memberQuota['total'] - $memberQuota['used'];
|
|
|
+ $data[] = $memberQuota;
|
|
|
+ }
|
|
|
+
|
|
|
+ if($selectType == 'QUOTA'){
|
|
|
+ return json_success('',$data);
|
|
|
+ }
|
|
|
+
|
|
|
+ return json_success('',$data);
|
|
|
+ }
|
|
|
+
|
|
|
public function list(Request $request)
|
|
|
{
|
|
|
|