handleVipMap($param); $map = $mapResult['map']; $VipAndPlusViewModel = new VipAndPlusViewModel(); if (!$param['is_export']) { $plusList = $VipAndPlusViewModel->getSelect($map, '*', 'id desc', $param['page'] . ',' . $param['limit']); } else { $plusList = $VipAndPlusViewModel->getSelect($map, '*', 'id desc'); } if (!empty($plusList)) { $Guide = new Guide(); $guide_list = []; $VipWithLabelModel = new RetailVipWithLabelModel(); $Store = new Store(); $store_name = [];//门店id和name数组 减少重复操作数据库查询 foreach ($plusList as $key => &$val) { $val['index'] = $key + 1; switch ($val['status']) { case 1: $val['state_name'] = '正常'; break; case 3: $val['state_name'] = '冻结'; break; case 4: $val['state_name'] = '挂失'; break; } $val['add_time'] = date('Y-m-d H:i:s', $val['addtime']); $val['start_time'] = newDate('Y-m-d H:i:s', $val['start_time']); $val['end_time'] = newDate('Y-m-d H:i:s', $val['end_time']); // 显示导购员名称 if (!empty($val['guideid'])) { $val['guide_name'] = $Guide->getGuideName($val['guideid'], $guide_list, 1); } $val['store_name'] = $Store->getStoreName($val['storeid'], $store_name); if ($param['user_type'] == 2) { // 获取会员标签--2020-05/07 $val['user_label'] = $VipWithLabelModel->getVipLabelName($val['vip_id'], $param['store_id']); } } } $data = [ 'list' => $plusList, ]; if ($param['is_need_count']) { $data['count'] = $VipAndPlusViewModel->getCount($map); } return callBack(statusCode()['success'], !empty($plusList) ? '数据获取成功' : '暂无数据', $data); } /** * 获取Plus会员统计 * @param param * [ * merchant_id 商户id * store_id 门店id * ] * @param data */ public function getPlusVipTotal($param) { $param['sum'] = true; $param['plus_type'] = 2; $VipClass = new Vip(); $mapResult = $VipClass->handleVipMap($param); $VipAndPlusViewModel = new VipAndPlusViewModel(); $yesterday_count = $VipAndPlusViewModel->getCount($mapResult['yesterdayMap']); $last_week_count = $VipAndPlusViewModel->getCount($mapResult['lastWeekMap']); $available_integral = $VipAndPlusViewModel->getSum($mapResult['map'], 'integral'); $available_balance = $VipAndPlusViewModel->getSum($mapResult['map'], 'balance'); return [ 'status' => 1, 'message' => '获取成功', 'data' => [ 'yesterday_count' => $yesterday_count, 'last_week_count' => $last_week_count, 'all_integral' => round($available_integral), 'all_balance' => round($available_balance, 2), ] ]; } /** * 修改plus会员所属门店 * @param $where * @param $save * @return mixed */ public function plugVipStoreSave($where,$save){ //plus会员修改门店 $retailPlusVipModel = new RetailPlusVipModel(); $retailPlusVipModel->updateOrder($where,$save); return true; } /** * 修改小程序会员所属门店 * @param $where * @param $save * @return mixed */ public function xcxVipStoreSave($where,$save){ //plus会员修改门店 $retailSmallProgramUserModel = new RetailSmallProgramUserModel(); $retailSmallProgramUserModel->updateOrder($where,$save); return true; } }