163 行
6.3 KiB
PHP
可执行文件
163 行
6.3 KiB
PHP
可执行文件
<?php
|
|
|
|
namespace CashierApi\Controller;
|
|
//[1.3.80]
|
|
class FaceClientController extends BaseController
|
|
{
|
|
/**
|
|
* 刷脸设备轮播背景图
|
|
*/
|
|
public function imageList()
|
|
{
|
|
$store_id = self::$store_id;
|
|
$where = array(
|
|
'store_id' => $store_id,
|
|
'status' => array('in', '0,1'),
|
|
'scene_type'=>1
|
|
);
|
|
$info = D("FaceBackGround")->getSelect($where, "img_id", "sort asc");
|
|
if ($info) {
|
|
foreach ($info as &$val) {
|
|
$val['img'] = D('ImageGallery')->getFieldPath(array('id' => $val['img_id']));
|
|
}
|
|
}
|
|
$res['status'] = 1;
|
|
$res['imgList'] = $info;
|
|
$this->ajaxReturn($res);
|
|
}
|
|
/**
|
|
* 自助收银轮播背景图
|
|
*/
|
|
public function selfCashImageList()
|
|
{
|
|
$store_id = self::$store_id;
|
|
$where = array(
|
|
'store_id' => $store_id,
|
|
'status' => array('in', '0,1'),
|
|
'scene_type'=>2
|
|
);
|
|
$info = D("FaceBackGround")->getSelect($where, "img_id", "sort asc");
|
|
if ($info) {
|
|
foreach ($info as &$val) {
|
|
$val['img'] = D('ImageGallery')->getFieldPath(array('id' => $val['img_id']));
|
|
}
|
|
}
|
|
$res['status'] = 1;
|
|
$res['imgList'] = $info;
|
|
$this->ajaxReturn($res);
|
|
}
|
|
|
|
/* 会员登录
|
|
* @param $store_id 门店id
|
|
* @param $merchant_id 商户id
|
|
* @param $code 会员卡号
|
|
* @param $password 密码
|
|
* @param $barcode 核销码
|
|
* @return array
|
|
* */
|
|
public function vipLogin()
|
|
{
|
|
$code = I('post.vipCode');
|
|
$password = I('post.password');
|
|
$merchant_id = self::$merchant_id;//商户id;
|
|
$store_id = self::$store_id;//门店id
|
|
$cashier_id = self::$cashier_id;//门店id
|
|
$VipDynamicCodeModel = D('RetailVipDynamicCode');
|
|
$VipModel = D('RetailVip');
|
|
$temp = (int)substr($code, 0, 2);
|
|
$field = array(
|
|
$VipModel::ID,
|
|
$VipModel::NICK_NAME,
|
|
$VipModel::NAME,
|
|
$VipModel::BALANCE,
|
|
$VipModel::MOBILE_PHONE . ' as cardnum',
|
|
$VipModel::CARD_KEY,
|
|
$VipModel::INTEGRAL,
|
|
$VipModel::GRADE_INTEGRAL,
|
|
$VipModel::STATUS,
|
|
$VipModel::PLUS_TYPE,
|
|
$VipModel::DENSITY_FREE,
|
|
$VipModel::ADD_TIME,
|
|
$VipModel::PASSWORD,
|
|
$VipModel::AVATAR
|
|
);
|
|
if (is_numeric($code) && strlen($code) == 18 && $temp >= 86 && $temp <= 89) {
|
|
$map = array(
|
|
$VipDynamicCodeModel::CODE => $code,
|
|
$VipDynamicCodeModel::STATUS => 0,
|
|
$VipDynamicCodeModel::STATE => 0,
|
|
$VipDynamicCodeModel::MERCHANT_ID => $merchant_id
|
|
);
|
|
$old = $VipDynamicCodeModel->getFind($map);
|
|
if (empty($old) || $old[$VipDynamicCodeModel::FAILURE_TIME] <= time()) {
|
|
$res['status'] = 0;
|
|
$res['msg'] = '请会员刷新动态码';
|
|
$this->ajaxReturn($res);
|
|
} else {
|
|
$save = array(
|
|
$VipDynamicCodeModel::STATUS => 1,
|
|
$VipDynamicCodeModel::USE_STORE_ID => $store_id,
|
|
$VipDynamicCodeModel::USE_CASHIER_ID => $cashier_id
|
|
);
|
|
$VipDynamicCodeModel->updateOrder($map, $save);
|
|
}
|
|
$where[$VipModel::ID] = $old[$VipDynamicCodeModel::VID];
|
|
$where[$VipModel::STATUS] = array('neq', 2);
|
|
$vip = $VipModel->getOrderFind($where, $field);
|
|
$login_type = 1;
|
|
$payCode = $code;
|
|
$vipInfo = $vip;
|
|
} else {
|
|
if (empty($password)) {
|
|
$res['status'] = 0;
|
|
$res['msg'] = '请输入会员密码';
|
|
$this->ajaxReturn($res);
|
|
}
|
|
$map[$VipModel::MERCHANT_ID] = $merchant_id;
|
|
$map[$VipModel::STATUS] = array('neq', 2);
|
|
if (is_numeric($code) && strlen($code) == 11) {
|
|
$map[$VipModel::MOBILE_PHONE.'|'.$VipModel::CARD_KEY] = $code;
|
|
}else if (is_numeric($code)) {
|
|
$map[$VipModel::CARD_KEY . '|' . $VipModel::CARD_NUM] = $code;
|
|
} else {
|
|
$map[$VipModel::CARD_KEY] = $code;
|
|
}
|
|
$vipInfo = $VipModel->getOrderFind($map, $field);
|
|
if($vipInfo){
|
|
if (!checkPassword($vipInfo[$VipModel::PASSWORD], $password, $vipInfo[$VipModel::ADD_TIME])) {
|
|
$res['status'] = 0;
|
|
$res['msg'] = '支付密码错误';
|
|
$this->ajaxReturn($res);
|
|
}
|
|
$login_type = 2;
|
|
}else{
|
|
$res['status'] = 0;
|
|
$res['msg'] = '查询失败';
|
|
}
|
|
}
|
|
if (!empty($vipInfo)) {
|
|
$vipData = A('CashierApi/GetVipInfo')->getVipData($vipInfo);
|
|
$vipInfo['login_type'] = $login_type;
|
|
$vipInfo['payCode'] = !empty($payCode) ? $payCode : ($vipInfo[$VipModel::CARD_NUM] ? $vipInfo[$VipModel::CARD_NUM] : $vipInfo[$VipModel::CARD_KEY]);
|
|
$vipInfo['grade'] = $vipData['grade']['grade'];
|
|
$vipInfo['grade_name'] = $vipData['grade']['grade_name'];
|
|
$vipInfo['discount'] = floatval($vipData['grade']['discount']);
|
|
$vipInfo['couponList'] = $vipData['couponList'];
|
|
if (empty($vipInfo[$VipModel::NICK_NAME])) {
|
|
$vipInfo['nickname'] = $vipInfo[$VipModel::NAME];
|
|
}
|
|
if (empty($vipInfo[$VipModel::NAME])) {
|
|
$vipInfo['name'] = $vipInfo[$VipModel::NICK_NAME];
|
|
}
|
|
$StoreModel = D('RetailStore');
|
|
$res['density_free_state'] = self::$store[$StoreModel::DENSITY_FREE_STATE];
|
|
$res['info'] = $vipInfo;
|
|
$res['status'] = 1;
|
|
$res['msg'] = '查询成功';
|
|
} else {
|
|
$res['status'] = 0;
|
|
$res['msg'] = '查询失败';
|
|
}
|
|
$this->ajaxReturn($res);
|
|
}
|
|
} |