165 行
7.2 KiB
PHP
可执行文件
165 行
7.2 KiB
PHP
可执行文件
<?php
|
|
|
|
namespace Common\Order;
|
|
|
|
use Common\Business\Store;
|
|
use Common\Model\RetailVipChangeModel;
|
|
use Common\User\Cashier;
|
|
use Common\User\Manager;
|
|
|
|
//[1.8.50]
|
|
|
|
/**
|
|
* 会员变更记录类
|
|
* Class VipEditRecord
|
|
* @package Common\Order
|
|
*/
|
|
class VipChangeRecord
|
|
{
|
|
/**
|
|
* 获取会员变更记录
|
|
* @param $param
|
|
* $param['merchant_id'] 商户ID
|
|
* $param['store_id'] 指定查询的门店ID
|
|
* $param['get_vip_type'] 获取会员类型 1指定门店会员 2商户所有会员
|
|
* $param['start_time'] 开始时间
|
|
* $param['end_time'] 结束时间
|
|
* $param['keyword'] 会员关键词
|
|
* $param['page'] 页
|
|
* $param['limit'] 每页数量
|
|
* $param['need_count'] 是否需要统计数量
|
|
* @return mixed
|
|
*/
|
|
public function getRecordList($param)
|
|
{
|
|
$merchant_id = $param['merchant_id'];//商户ID
|
|
$get_vip_type = $param['get_vip_type'];//获取的会员类型 1指定门店会员 2商户所有会员
|
|
$store_id = $param['store_id'];//指定查询的门店ID
|
|
if (!$merchant_id || !$get_vip_type || $get_vip_type == 1 && !$store_id) {
|
|
return callBack(statusCode()['error'], '缺少必要参数,详情请见data', array(
|
|
'merchant_id' => $merchant_id,
|
|
'get_vip_type' => $get_vip_type,
|
|
'store_id' => $store_id,
|
|
));
|
|
}
|
|
$ChangeModel = new RetailVipChangeModel(); // 变更记录模型
|
|
|
|
// 判断时间搜索条件
|
|
if ($timeMap = handleSQLSearchTime($param['start_time'], $param['end_time'])) {
|
|
$map['c.add_time'] = $timeMap;
|
|
}
|
|
|
|
// 判断门店搜索条件
|
|
if ($store_id && $get_vip_type == 1) {
|
|
$map['c.store_id'] = $store_id;
|
|
}
|
|
|
|
// 判断姓名,昵称搜索
|
|
if (trim($param['keyword'])) {
|
|
$map['v.mobile_phone|v.card_key|v.name|v.nickname'] = ['like', '%' . trim($param['keyword']) . '%'];
|
|
}
|
|
|
|
// 其他查询条件
|
|
$map['v.status'] = ['neq', 2];//会员状态不为删除
|
|
$map['v.merchantid'] = $merchant_id;
|
|
|
|
//读取的字段
|
|
$field = ['c.*,v.name,v.nickname'];
|
|
$list = $ChangeModel->getLinkSelect($map, $field, $param['page'], $param['limit']);
|
|
$count = 0;//数据总条数
|
|
if ($list && $param['need_count']) {
|
|
$count = $ChangeModel->getLinkCount($map);
|
|
}
|
|
// 处理数据
|
|
$store_name = array();//临时存储门店名称列表
|
|
$manager_name = array();//临时存储店长名称列表
|
|
$cashier_name = array();//临时存储收银员名称列表
|
|
$Store = new Store();//门店类
|
|
$Manager = new Manager();//店长类
|
|
$Cashier = new Cashier();//收银员类
|
|
foreach ($list as $key => &$val) {
|
|
$val['index'] = $key + 1;
|
|
$val['name'] = $val['name'] && $val['name'] != '' ? $val['name'] : '未设置';
|
|
$val['nickname'] = $val['nickname'] && $val['nickname'] != '' ? $val['nickname'] : '未设置';
|
|
// 操作时间
|
|
$val['add_time'] = date('Y-m-d H:i:s', $val['add_time']);
|
|
// 操作门店
|
|
if ($val['store_id']) {
|
|
$val['store_name'] = $Store->getStoreName($val['store_id'], $store_name);
|
|
} else {
|
|
$val['store_name'] = '商户操作';
|
|
}
|
|
// 操作类型
|
|
switch ($val['operator']) {
|
|
case '1':
|
|
// 商户操作
|
|
$val['operator_type'] = '商户';
|
|
$val['operator_name'] = '商户';
|
|
break;
|
|
case '2':
|
|
// 店长操作
|
|
$val['operator_type'] = '店长';
|
|
$val['operator_name'] = $Manager->getManagerName($val['operator_id'], $manager_name);
|
|
break;
|
|
case '3':
|
|
// 收银员操作
|
|
$val['operator_type'] = '收银员';
|
|
$val['operator_name'] = $Cashier->getCashierName($val['operator_id'], $cashier_name);
|
|
break;
|
|
default:
|
|
// 未知类型
|
|
$val['operator_type'] = '其他';
|
|
$val['operator_name'] = '其他';
|
|
break;
|
|
}
|
|
|
|
//处理变更字段信息
|
|
// 手机号
|
|
if (($val['before_phone'] && $val['before_phone'] != '') || ($val['after_phone'] && $val['after_phone'] != '')) {
|
|
$val['before_phone'] = $val['before_phone'] && $val['before_phone'] != '' ? $val['before_phone'] : '未设置';
|
|
$val['after_phone'] = $val['after_phone'] && $val['after_phone'] != '' ? $val['after_phone'] : '解除手机号';
|
|
} else {
|
|
$val['before_phone'] = '';
|
|
$val['after_phone'] = '';
|
|
}
|
|
// 实体卡
|
|
if (($val['before_card_key'] && $val['before_card_key'] != '') || ($val['after_card_key'] && $val['after_card_key'] != '')) {
|
|
$val['before_card_key'] = $val['before_card_key'] && $val['before_card_key'] != '' ? $val['before_card_key'] : '未绑定实体卡';
|
|
$val['after_card_key'] = $val['after_card_key'] && $val['after_card_key'] != '' ? $val['after_card_key'] : '解绑实体卡';
|
|
} else {
|
|
$val['before_card_key'] = '';
|
|
$val['after_card_key'] = '';
|
|
}
|
|
|
|
// 等级
|
|
if (($val['before_grade'] && $val['before_grade'] != '') || ($val['after_grade'] && $val['after_grade'] != '')) {
|
|
$val['before_grade'] = $val['before_grade'] ? $val['before_grade'] : '无等级';
|
|
$val['after_grade'] = $val['after_grade'] ? $val['after_grade'] : '重置等级';
|
|
} else {
|
|
$val['before_grade'] = '';
|
|
$val['after_grade'] = '';
|
|
}
|
|
// 余额
|
|
if (($val['before_balance'] && floatval($val['before_balance']) != 0) || ($val['after_balance'] && floatval($val['after_balance']) != 0)) {
|
|
$val['before_balance'] = $val['before_balance'] && floatval($val['before_balance']) != 0 ? $val['before_balance'] : '0.00';
|
|
$val['after_balance'] = $val['after_balance'] && floatval($val['after_balance']) != 0 ? $val['after_balance'] : '0.00';
|
|
} else {
|
|
$val['before_balance'] = '';
|
|
$val['after_balance'] = '';
|
|
}
|
|
//PLUS会员结束时间
|
|
if ($val['before_plus_end_time'] || $val['after_plus_end_time']) {
|
|
$val['before_plus_end_time'] = newDate('Y-m-d H:i:s', $val['before_plus_end_time']);
|
|
$val['after_plus_end_time'] = newDate('Y-m-d H:i:s', $val['after_plus_end_time']);
|
|
} else {
|
|
$val['before_plus_end_time'] = '';
|
|
$val['after_plus_end_time'] = '';
|
|
}
|
|
|
|
// 密码
|
|
$val['password'] = $val['password_state'] == 0 ? '未修改' : '修改';
|
|
}
|
|
|
|
return callBack(statusCode()['success'], $list ? '获取数据成功' : '暂无数据', ['list' => $list, 'count' => $count]);
|
|
}
|
|
} |