init: import production code mss.nahaichuan.com (exclude Runtime/Uploads/backups/logs)
这个提交包含在:
@@ -0,0 +1,137 @@
|
||||
<?php
|
||||
|
||||
namespace Common\Model;
|
||||
|
||||
|
||||
//[1.8.20]
|
||||
use Common\Business\Store;
|
||||
use Common\Business\VipInfo;
|
||||
|
||||
class VipAndPlusViewModel extends BaseViewModel
|
||||
{
|
||||
public $viewFields = array(
|
||||
'RetailVip' => array(
|
||||
'_table' => 'ls_retail_vip',
|
||||
'id', 'name', 'nickname', 'mobile_phone', 'plus_type', 'card_key', 'balance', 'integral', 'grade_integral', 'addtime' => 'add_time', 'merchantid', 'storeid' => 'store_id', 'status', 'plus_id', 'guideid',
|
||||
'_type' => 'LEFT'
|
||||
),
|
||||
'RetailPlusVip' => array(
|
||||
'_table' => 'ls_retail_plus_vip',
|
||||
'vip_id', 'xcx_vip_id', 'start_time', 'end_time', 'storeid', 'state', 'addtime',
|
||||
'_on' => 'RetailPlusVip.id = RetailVip.plus_id',
|
||||
),
|
||||
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
* 多条排序查询(select)ram $map
|
||||
* @param $map
|
||||
* @param string $field
|
||||
* @param string $order
|
||||
* @param string $page
|
||||
* @param string $limit
|
||||
* @return bool|mixed
|
||||
*/
|
||||
public function getOrderSelect($map, $field = '*', $order = 'id desc', $page = '', $limit = '')
|
||||
{
|
||||
if (!$map) {
|
||||
return false;
|
||||
}
|
||||
if (!$page || !$limit) {
|
||||
$select = $this->field($field)->where($map)->order($order)->select();
|
||||
} else {
|
||||
$select = $this->field($field)->where($map)->order($order)->page($page, $limit)->select();
|
||||
}
|
||||
return $select;
|
||||
}
|
||||
|
||||
/**
|
||||
* 处理多条数据
|
||||
* @param array $vip_data 原始数据
|
||||
* @return array $vip_data 原始数据
|
||||
*/
|
||||
public function handleData($vip_data)
|
||||
{
|
||||
if (!$vip_data) {
|
||||
return $vip_data;
|
||||
}
|
||||
// 实例化模型
|
||||
$Store = new Store();
|
||||
$store_name = [];
|
||||
$RetailVipLabelModel = new RetailVipLabelModel();
|
||||
$VipInfo = new VipInfo();
|
||||
// 处理数据
|
||||
foreach ($vip_data as $key => &$val) {
|
||||
$val['index'] = $key + 1;
|
||||
// 会员名称
|
||||
$val['name'] = $val['name'] ? $val['name'] : '';
|
||||
// 会员昵称
|
||||
$val['nickname'] = $val['nickname'] ? $val['nickname'] : '';
|
||||
$val['name'] = $val['name'] ? $val['name'] : $val['nickname'];
|
||||
// 会员手机号
|
||||
$val['mobile_phone'] = $val['mobile_phone'] ? $val['mobile_phone'] : '';
|
||||
// 会员实体卡
|
||||
$val['card_key'] = $val['card_key'] ? $val['card_key'] : '';
|
||||
// 门店名称(普通会员)
|
||||
$val['store_name'] = $Store->getStoreName($val['store_id'], $store_name);
|
||||
$val['plus_store_name'] = $val['store_name'];
|
||||
|
||||
// 等级名称
|
||||
if ($val['plus_type'] == 3) {
|
||||
$grade_info = $VipInfo->singleVipGrade([
|
||||
'merchant_id' => $val['merchantid'],
|
||||
'grade_integral' => $val['grade_integral'],
|
||||
'get_default' => true,
|
||||
]);
|
||||
$val['grade'] = $grade_info['grade_name'];
|
||||
$val['grade_id'] = $grade_info['id'];
|
||||
} else {
|
||||
$val['grade'] = "Plus会员";
|
||||
$val['grade_id'] = 0;
|
||||
}
|
||||
// 余额
|
||||
$val['balance'] = $val['balance'] ? floatval($val['balance']) : 0;
|
||||
// 积分
|
||||
$val['integral'] = $val['integral'] ? floatval($val['integral']) : 0;
|
||||
// 时间
|
||||
$val['add_time'] = date('Y-m-d', $val['plus_type'] == 2 ? $val['addtime'] : $val['add_time']);
|
||||
unset($val['addtime']);
|
||||
// 状态
|
||||
switch ($val['status']) {
|
||||
case 1:
|
||||
$val['status_name'] = '正常';
|
||||
break;
|
||||
case 2:
|
||||
$val['status_name'] = '已删除';
|
||||
break;
|
||||
case 3:
|
||||
$val['status_name'] = '冻结';
|
||||
break;
|
||||
case 4:
|
||||
$val['status_name'] = '挂失';
|
||||
break;
|
||||
default:
|
||||
$val['status_name'] = '未知';
|
||||
}
|
||||
if ($val['end_time']) {
|
||||
$val['end_time'] = date('Y-m-d H:i:s', $val['end_time']);
|
||||
} else {
|
||||
$val['end_time'] = '';
|
||||
}
|
||||
|
||||
//会员标签
|
||||
$label_map = [
|
||||
'rvwl.is_del' => 1,
|
||||
'rvl.is_del' => 1,
|
||||
'vid' => $val['id'],
|
||||
];
|
||||
$label_field = [
|
||||
'rvl.name',
|
||||
];
|
||||
$val['label_list'] = $RetailVipLabelModel->getUserLabelList($label_map, $label_field);
|
||||
}
|
||||
|
||||
return $vip_data;
|
||||
}
|
||||
}
|
||||
在新工单中引用
屏蔽一个用户