文件
mashangyoujiu/Application/CashierApi/Controller/FaceClientController.class.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);
}
}