Files
ZangShiQi/app/shopapi/controller/Verify.php
2026-04-04 17:27:12 +08:00

268 lines
8.4 KiB
PHP
Executable File

<?php
/**
* Niushop商城系统 - 团队十年电商经验汇集巨献!
* =========================================================
* Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
* ----------------------------------------------
* 官方网址: https://www.niushop.com
* 这不是一个自由软件!您只能在不用于商业目的的前提下对程序代码进行修改和使用。
* 任何企业和个人不允许对程序代码以任何形式任何目的再发布。
* =========================================================
*/
namespace app\shopapi\controller;
use app\model\member\Member;
use app\model\verify\Verifier;
use app\model\verify\Verify as VerifyModel;
/**
* 核销
* Class Verify
* @package app\shop\controller
*/
class Verify extends BaseApi
{
public function __construct()
{
//执行父类构造函数
parent::__construct();
$token = $this->checkToken();
if ($token[ 'code' ] < 0) {
echo json_encode($token);
exit;
}
}
/**
* 核销记录
* @return mixed
*/
public function records()
{
$verify_model = new VerifyModel();
$page = $this->params['page'] ?? 1;
$page_size = $this->params['page_size'] ?? PAGE_LIST_ROWS;
$order = $this->params['order'] ?? 'create_time desc';
$verify_type = $this->params['verify_type'] ?? '';//验证类型
$verify_code = $this->params['verify_code'] ?? '';//验证码
$verifier_name = $this->params['verifier_name'] ?? '';
$start_time = $this->params['start_time'] ?? '';
$end_time = $this->params['end_time'] ?? '';
$condition = [
[ 'site_id', "=", $this->site_id ],
[ 'is_verify', '=', 1 ]
];
if (!empty($verify_type)) {
$condition[] = [ "verify_type", "=", $verify_type ];
}
if (!empty($verify_code)) {
$condition[] = [ "verify_code", 'like', '%' . $verify_code . '%' ];
}
if (!empty($verifier_name)) {
$condition[] = [ 'verifier_name', 'like', '%' . $verifier_name . '%' ];
}
if (!empty($start_time) && empty($end_time)) {
$condition[] = [ 'create_time', '>=', date_to_time($start_time) ];
} elseif (empty($start_time) && !empty($end_time)) {
$condition[] = [ "create_time", "<=", date_to_time($end_time) ];
} elseif (!empty($start_time) && !empty($end_time)) {
$condition[] = [ 'create_time', 'between', [ date_to_time($start_time), date_to_time($end_time) ] ];
}
$list = $verify_model->getVerifyPageList($condition, $page, $page_size, $order, $field = 'id, verify_code, verify_type, verify_type_name, verify_content_json, verifier_id, verifier_name, is_verify, create_time, verify_time,member_id');
return $this->response($list);
}
/**
* 核销类型
* @return false|string
*/
public function verifyType()
{
$verify_model = new VerifyModel();
$verify_type = $verify_model->getVerifyType();
return $this->response($this->success($verify_type));
}
/**
* 核销信息
*/
public function verifyInfo()
{
$id = $this->params['id'] ?? '';
$verify_model = new VerifyModel();
$info = $verify_model->getVerifyInfo([ [ 'id', '=', $id ], [ 'site_id', '=', $this->site_id ] ]);
return $this->response($info);
}
/**
* 核销台
* @return mixed
*/
public function verifyCard()
{
$verify_code = $this->params['verify_code'] ?? '';
$verify_model = new VerifyModel();
$res = $verify_model->getVerifyInfo([ [ "verify_code", "=", $verify_code ], [ "site_id", "=", $this->site_id ] ]);
return $this->response($res);
}
/**
* 核销人员
* @return mixed
*/
public function user()
{
$verifier = new Verifier();
$page = $this->params['page'] ?? 1;
$page_size = $this->params['page_size'] ?? PAGE_LIST_ROWS;
$order = $this->params['order'] ?? 'v.create_time desc';
$verifier_name = $this->params['verifier_name'] ?? '';
$condition = [];
$condition[] = [ 'v.site_id', "=", $this->site_id ];
if ($verifier_name) {
$condition[] = [ 'v.verifier_name', '=', $verifier_name ];
}
$list = $verifier->getVerifierPageList($condition, $page, $page_size, $order);
return $this->response($list);
}
/**
* 添加核销人员
* @return mixed
*/
public function addUser()
{
$verifier_name = $this->params['verifier_name'] ?? '';
$member_id = $this->params['member_id'] ?? 0;//会员账号
$model = new Verifier();
if ($member_id <= 0) {
$model->error([], "EMPTY_BIND_MEMBER");
}
$uid = $this->params['uid'] ?? 0;//管理员账号
$data = array ();
$data[ 'site_id' ] = $this->site_id;
$data[ 'create_time' ] = time();
$data[ "verifier_name" ] = $verifier_name;
$data[ "member_id" ] = $member_id;
$data[ "uid" ] = $uid;
$result = $model->addVerifier($data);
return $this->response($result);
}
/**
* 获取核销人员详情
*/
public function verifyUSerInfo()
{
$model = new Verifier();
$verifier_id = $this->params['verifier_id'] ?? 0;
//用户信息
$condition = [
[ "verifier_id", "=", $verifier_id ],
[ "site_id", "=", $this->site_id ],
];
$info_result = $model->getVerifierInfo($condition);
$info = $info_result[ "data" ];
$member_account = "";
if (!empty($info[ "member_id" ])) {
$member_model = new Member();
$member_info_result = $member_model->getMemberInfo([ [ "member_id", "=", $info[ "member_id" ] ] ], "username");
$member_info = $member_info_result[ "data" ];
if (!empty($member_info)) {
$member_account = $member_info[ "username" ];
}
}
$info[ "member_account" ] = $member_account;
return $this->response($this->success($info));
}
/**
* 编辑核销人员
* @return mixed
*/
public function editUser()
{
$model = new Verifier();
$verifier_id = $this->params['verifier_id'] ?? 0;//核销员id
$verifier_name = $this->params['verifier_name'] ?? '';
$member_id = $this->params['member_id'] ?? '';//会员账号
if ($member_id <= 0) {
$model->error([], "EMPTY_BIND_MEMBER");
}
$data = [
'verifier_name' => $verifier_name,
'modify_time' => time(),
];
$data[ "member_id" ] = $member_id;
$data[ "uid" ] = 0;
$condition = array (
[ 'verifier_id', '=', $verifier_id ],
[ 'site_id', '=', $this->site_id ],
);
$result = $model->editVerifier($data, $condition);
return $this->response($result);
}
/**
* 删除核销人员
* @return mixed
*/
public function deleteUser()
{
$verifier = new Verifier();
$verifier_id = $this->params['ids'] ?? '';
$res = $verifier->deleteVerifier($verifier_id, $this->site_id);
return $this->response($res);
}
/**
* 核销
*/
public function verify()
{
//先验证登录用户是否具备核销权限
$info = array (
"verifier_id" => $this->uid,
"verifier_name" => $this->user_info[ 'username' ],
"verify_from" => 'mobile',
);
$verify_code = $this->params['verify_code'] ?? '';
$verify_model = new VerifyModel();
$res = $verify_model->verify($info, $verify_code);
return $this->response($res);
}
/**
* 搜索会员
* 不是菜单 不入权限
*/
public function searchMember()
{
$search_text = $this->params['search_text'] ?? '';
$member_model = new Member();
$member_info = $member_model->getMemberInfo([ [ 'username|mobile', '=', $search_text ] ]);
return $this->response($member_info);
}
}