chore(src): 所有代码上传
This commit is contained in:
@@ -1,179 +1,170 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
*/
|
||||
|
||||
namespace app\model\verify;
|
||||
|
||||
use app\model\BaseModel;
|
||||
|
||||
/**
|
||||
* 核销员管理
|
||||
*/
|
||||
class Verifier extends BaseModel
|
||||
{
|
||||
|
||||
/**
|
||||
* 添加核销人员
|
||||
* @param $data
|
||||
* @return array
|
||||
*/
|
||||
public function addVerifier($data)
|
||||
{
|
||||
//检测会员是否在本店铺存在核销员
|
||||
if ($data[ "member_id" ] > 0) {
|
||||
$member_condition = array (
|
||||
[ "member_id", "=", $data[ "member_id" ] ],
|
||||
[ "site_id", "=", $data[ "site_id" ] ]
|
||||
);
|
||||
$member_count = model("verifier")->getCount($member_condition, "verifier_id");
|
||||
if ($member_count > 0) {
|
||||
return $this->error([], "当前会员已存在核销员身份");
|
||||
}
|
||||
}
|
||||
//检测用户是否在本店铺存在核销员
|
||||
if ($data[ "uid" ] > 0) {
|
||||
$user_condition = array (
|
||||
[ "uid", "=", $data[ "uid" ] ],
|
||||
[ "site_id", "=", $data[ "site_id" ] ]
|
||||
);
|
||||
$user_count = model("verifier")->getCount($user_condition, "verifier_id");
|
||||
if ($user_count > 0) {
|
||||
return $this->error([], "当前用户已存在核销员身份");
|
||||
}
|
||||
}
|
||||
$data[ 'create_time' ] = time();
|
||||
$res = model("verifier")->add($data);
|
||||
return $this->success($res);
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑用户
|
||||
* @param $data
|
||||
* @param $condition
|
||||
* @return array
|
||||
*/
|
||||
public function editVerifier($data, $condition)
|
||||
{
|
||||
$check_condition = array_column($condition, 2, 0);
|
||||
$site_id = $check_condition['site_id'] ?? '';
|
||||
$verifier_id = $check_condition['verifier_id'] ?? '';
|
||||
//检测会员是否在本店铺存在核销员
|
||||
if ($data[ "member_id" ] > 0) {
|
||||
$member_condition = array (
|
||||
[ "member_id", "=", $data[ "member_id" ] ],
|
||||
[ "site_id", "=", $site_id ],
|
||||
[ "verifier_id", "<>", $verifier_id ]
|
||||
);
|
||||
$member_count = model("verifier")->getCount($member_condition, "verifier_id");
|
||||
if ($member_count > 0) {
|
||||
return $this->error([], "当前会员在当前店铺已存在核销员身份");
|
||||
}
|
||||
}
|
||||
//检测用户是否在本店铺存在核销员
|
||||
if ($data[ "uid" ] > 0) {
|
||||
$user_condition = array (
|
||||
[ "uid", "=", $data[ "uid" ] ],
|
||||
[ "site_id", "=", $site_id ],
|
||||
[ "verifier_id", "<>", $verifier_id ]
|
||||
);
|
||||
$user_count = model("verifier")->getCount($user_condition, "verifier_id");
|
||||
if ($user_count > 0) {
|
||||
return $this->error([], "当前用户在当前店铺已存在核销员身份");
|
||||
}
|
||||
}
|
||||
$data[ 'modify_time' ] = time();
|
||||
$res = model("verifier")->update($data, $condition);
|
||||
if ($res === false) {
|
||||
return $this->error('', 'UNKNOW_ERROR');
|
||||
}
|
||||
return $this->success($res);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除核销人员
|
||||
* @param $verifier_id
|
||||
* @param $site_id
|
||||
* @return array
|
||||
*/
|
||||
public function deleteVerifier($verifier_id, $site_id)
|
||||
{
|
||||
$res = model("verifier")->delete([ [ 'verifier_id', '=', $verifier_id ], [ 'site_id', '=', $site_id ] ]);
|
||||
return $this->success($res);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取核销人员信息
|
||||
* @param $condition
|
||||
* @param string $field
|
||||
* @return array
|
||||
*/
|
||||
public function getVerifierInfo($condition, $field = '*')
|
||||
{
|
||||
$res = model('verifier')->getInfo($condition, $field);
|
||||
return $this->success($res);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取核销人员列表
|
||||
* @param array $condition
|
||||
* @param string $field
|
||||
* @param string $order
|
||||
* @param null $limit
|
||||
* @return array
|
||||
*/
|
||||
public function getVerifierList($condition = [], $field = '*', $order = '', $limit = null)
|
||||
{
|
||||
$list = model('verifier')->getList($condition, $field, $order, '', '', '', $limit);
|
||||
return $this->success($list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取核销人员分页列表
|
||||
* @param array $condition
|
||||
* @param int $page
|
||||
* @param int $page_size
|
||||
* @param string $order
|
||||
* @return array
|
||||
*/
|
||||
public function getVerifierPageList($condition = [], $page = 1, $page_size = PAGE_LIST_ROWS, $order = 'v.create_time desc')
|
||||
{
|
||||
$field = 'v.verifier_id, v.verifier_name, v.site_id, v.member_id, v.uid, v.create_time, v.modify_time, v.verifier_type,v.store_id,s.store_name,m.username, m.mobile';
|
||||
$alias = 'v';
|
||||
$join = [
|
||||
[
|
||||
'member m',
|
||||
'm.member_id = v.member_id',
|
||||
'left'
|
||||
],
|
||||
[
|
||||
'store s',
|
||||
'v.store_id = s.store_id',
|
||||
'left'
|
||||
]
|
||||
];
|
||||
$list = model('verifier')->pageList($condition, $field, $order, $page, $page_size, $alias, $join);
|
||||
return $this->success($list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 检测会员是否是核销员
|
||||
* @param $condition
|
||||
* @return array
|
||||
*/
|
||||
public function checkIsVerifier($condition)
|
||||
{
|
||||
$info = model('verifier')->getInfo($condition, "verifier_id");
|
||||
if (!empty($info)) {
|
||||
return $this->success($info);
|
||||
} else {
|
||||
return $this->error();
|
||||
}
|
||||
}
|
||||
}
|
||||
<?php
|
||||
|
||||
namespace app\model\verify;
|
||||
|
||||
use app\model\BaseModel;
|
||||
|
||||
/**
|
||||
* 核销员管理
|
||||
*/
|
||||
class Verifier extends BaseModel
|
||||
{
|
||||
|
||||
/**
|
||||
* 添加核销人员
|
||||
* @param $data
|
||||
* @return array
|
||||
*/
|
||||
public function addVerifier($data)
|
||||
{
|
||||
//检测会员是否在本店铺存在核销员
|
||||
if ($data[ "member_id" ] > 0) {
|
||||
$member_condition = array (
|
||||
[ "member_id", "=", $data[ "member_id" ] ],
|
||||
[ "site_id", "=", $data[ "site_id" ] ]
|
||||
);
|
||||
$member_count = model("verifier")->getCount($member_condition, "verifier_id");
|
||||
if ($member_count > 0) {
|
||||
return $this->error([], "当前会员已存在核销员身份");
|
||||
}
|
||||
}
|
||||
//检测用户是否在本店铺存在核销员
|
||||
if ($data[ "uid" ] > 0) {
|
||||
$user_condition = array (
|
||||
[ "uid", "=", $data[ "uid" ] ],
|
||||
[ "site_id", "=", $data[ "site_id" ] ]
|
||||
);
|
||||
$user_count = model("verifier")->getCount($user_condition, "verifier_id");
|
||||
if ($user_count > 0) {
|
||||
return $this->error([], "当前用户已存在核销员身份");
|
||||
}
|
||||
}
|
||||
$data[ 'create_time' ] = time();
|
||||
$res = model("verifier")->add($data);
|
||||
return $this->success($res);
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑用户
|
||||
* @param $data
|
||||
* @param $condition
|
||||
* @return array
|
||||
*/
|
||||
public function editVerifier($data, $condition)
|
||||
{
|
||||
$check_condition = array_column($condition, 2, 0);
|
||||
$site_id = $check_condition['site_id'] ?? '';
|
||||
$verifier_id = $check_condition['verifier_id'] ?? '';
|
||||
//检测会员是否在本店铺存在核销员
|
||||
if ($data[ "member_id" ] > 0) {
|
||||
$member_condition = array (
|
||||
[ "member_id", "=", $data[ "member_id" ] ],
|
||||
[ "site_id", "=", $site_id ],
|
||||
[ "verifier_id", "<>", $verifier_id ]
|
||||
);
|
||||
$member_count = model("verifier")->getCount($member_condition, "verifier_id");
|
||||
if ($member_count > 0) {
|
||||
return $this->error([], "当前会员在当前店铺已存在核销员身份");
|
||||
}
|
||||
}
|
||||
//检测用户是否在本店铺存在核销员
|
||||
if ($data[ "uid" ] > 0) {
|
||||
$user_condition = array (
|
||||
[ "uid", "=", $data[ "uid" ] ],
|
||||
[ "site_id", "=", $site_id ],
|
||||
[ "verifier_id", "<>", $verifier_id ]
|
||||
);
|
||||
$user_count = model("verifier")->getCount($user_condition, "verifier_id");
|
||||
if ($user_count > 0) {
|
||||
return $this->error([], "当前用户在当前店铺已存在核销员身份");
|
||||
}
|
||||
}
|
||||
$data[ 'modify_time' ] = time();
|
||||
$res = model("verifier")->update($data, $condition);
|
||||
if ($res === false) {
|
||||
return $this->error('', 'UNKNOW_ERROR');
|
||||
}
|
||||
return $this->success($res);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除核销人员
|
||||
* @param $verifier_id
|
||||
* @param $site_id
|
||||
* @return array
|
||||
*/
|
||||
public function deleteVerifier($verifier_id, $site_id)
|
||||
{
|
||||
$res = model("verifier")->delete([ [ 'verifier_id', '=', $verifier_id ], [ 'site_id', '=', $site_id ] ]);
|
||||
return $this->success($res);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取核销人员信息
|
||||
* @param $condition
|
||||
* @param string $field
|
||||
* @return array
|
||||
*/
|
||||
public function getVerifierInfo($condition, $field = '*')
|
||||
{
|
||||
$res = model('verifier')->getInfo($condition, $field);
|
||||
return $this->success($res);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取核销人员列表
|
||||
* @param array $condition
|
||||
* @param string $field
|
||||
* @param string $order
|
||||
* @param null $limit
|
||||
* @return array
|
||||
*/
|
||||
public function getVerifierList($condition = [], $field = '*', $order = '', $limit = null)
|
||||
{
|
||||
$list = model('verifier')->getList($condition, $field, $order, '', '', '', $limit);
|
||||
return $this->success($list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取核销人员分页列表
|
||||
* @param array $condition
|
||||
* @param int $page
|
||||
* @param int $page_size
|
||||
* @param string $order
|
||||
* @return array
|
||||
*/
|
||||
public function getVerifierPageList($condition = [], $page = 1, $page_size = PAGE_LIST_ROWS, $order = 'v.create_time desc')
|
||||
{
|
||||
$field = 'v.verifier_id, v.verifier_name, v.site_id, v.member_id, v.uid, v.create_time, v.modify_time, v.verifier_type,v.store_id,s.store_name,m.username, m.mobile';
|
||||
$alias = 'v';
|
||||
$join = [
|
||||
[
|
||||
'member m',
|
||||
'm.member_id = v.member_id',
|
||||
'left'
|
||||
],
|
||||
[
|
||||
'store s',
|
||||
'v.store_id = s.store_id',
|
||||
'left'
|
||||
]
|
||||
];
|
||||
$list = model('verifier')->pageList($condition, $field, $order, $page, $page_size, $alias, $join);
|
||||
return $this->success($list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 检测会员是否是核销员
|
||||
* @param $condition
|
||||
* @return array
|
||||
*/
|
||||
public function checkIsVerifier($condition)
|
||||
{
|
||||
$info = model('verifier')->getInfo($condition, "verifier_id");
|
||||
if (!empty($info)) {
|
||||
return $this->success($info);
|
||||
} else {
|
||||
return $this->error();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,424 +1,415 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
*/
|
||||
|
||||
namespace app\model\verify;
|
||||
|
||||
use app\model\BaseModel;
|
||||
|
||||
/**
|
||||
* 核销编码管理
|
||||
*/
|
||||
class Verify extends BaseModel
|
||||
{
|
||||
|
||||
public $verifyFrom = [
|
||||
'shop' => '商家后台',
|
||||
'store' => '门店后台',
|
||||
'mobile' => '手机端',
|
||||
];
|
||||
|
||||
/**
|
||||
* 获取核销类型
|
||||
*/
|
||||
public function getVerifyType()
|
||||
{
|
||||
$verify_type = event("VerifyType", []);
|
||||
$type = [
|
||||
'pickup' => [
|
||||
'name' => '订单自提',
|
||||
],
|
||||
'virtualgoods' => [
|
||||
'name' => '虚拟商品',
|
||||
]
|
||||
];
|
||||
foreach ($verify_type as $k => $v) {
|
||||
$type = array_merge($type, $v);
|
||||
}
|
||||
return $type;
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加待核销记录
|
||||
* @param $type
|
||||
* @param $site_id
|
||||
* @param $site_name
|
||||
* @param $content_array
|
||||
* @param int $expire_time
|
||||
* @param int $verify_total_count
|
||||
* @param int $store_id
|
||||
* @param int $member_id
|
||||
* @return array
|
||||
*/
|
||||
public function addVerify($type, $site_id, $site_name, $content_array, $expire_time = 0, $verify_total_count = 1, $store_id = 0, $member_id = 0)
|
||||
{
|
||||
$code = $this->getCode();
|
||||
$type_array = $this->getVerifyType();
|
||||
$data = [
|
||||
'site_id' => $site_id,
|
||||
'site_name' => $site_name,
|
||||
'verify_code' => $code,
|
||||
'verify_type' => $type,
|
||||
'verify_type_name' => $type_array[ $type ][ 'name' ],
|
||||
'verify_content_json' => json_encode($content_array, JSON_UNESCAPED_UNICODE),
|
||||
'create_time' => time(),
|
||||
'expire_time' => $expire_time,
|
||||
'verify_total_count' => $verify_total_count,
|
||||
'store_id' => $store_id,
|
||||
'member_id' => $member_id
|
||||
];
|
||||
$res = model("verify")->add($data);
|
||||
return $this->success([ 'verify_code' => $code, 'verify_id' => $res ]);
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑待核销记录
|
||||
* @param $data
|
||||
* @param $condition
|
||||
* @return array
|
||||
*/
|
||||
public function editVerify($data, $condition)
|
||||
{
|
||||
|
||||
$res = model("verify")->update($data, $condition);
|
||||
return $this->success($res);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取code值
|
||||
*/
|
||||
public function getCode()
|
||||
{
|
||||
return random_keys(12);
|
||||
}
|
||||
|
||||
/**
|
||||
* 执行核销
|
||||
* @param $verifier_info
|
||||
* @param $code
|
||||
* @return array|mixed|void
|
||||
*/
|
||||
public function verify($verifier_info, $code)
|
||||
{
|
||||
$verifier_info[ 'store_id' ] = $verifier_info[ 'store_id' ] ?? 0;
|
||||
|
||||
model('verify')->startTrans();
|
||||
|
||||
try {
|
||||
$verify_info = model("verify")->getInfo([ [ 'verify_code', '=', $code ] ], 'id, site_id, verify_code, verify_type, verify_type_name, verify_content_json, verifier_id, verifier_name, is_verify, expire_time, verify_total_count, verify_use_num, store_id');
|
||||
if (empty($verify_info)) {
|
||||
model('verify')->rollback();
|
||||
return $this->error();
|
||||
}
|
||||
if ($verify_info[ 'is_verify' ] == 0) {
|
||||
if ($verify_info[ 'expire_time' ] > 0 && $verify_info[ 'expire_time' ] < time()) {
|
||||
model('verify')->rollback();
|
||||
return $this->error('', '核销码已过期');
|
||||
}
|
||||
if ($verify_info[ 'store_id' ] && $verifier_info[ 'store_id' ] && $verify_info[ 'store_id' ] != $verifier_info[ 'store_id' ]) {
|
||||
model('verify')->rollback();
|
||||
return $this->error('', '没有核销该核销码的权限');
|
||||
}
|
||||
$verify_total_count = $verify_info[ 'verify_total_count' ];
|
||||
$verify_use_num = $verify_info[ 'verify_use_num' ];
|
||||
$now_verify_use_num = $verify_use_num + 1;
|
||||
|
||||
//开始核销
|
||||
$data_verify = [
|
||||
'verifier_id' => $verifier_info[ "verifier_id" ],
|
||||
'verifier_name' => $verifier_info[ 'verifier_name' ],
|
||||
'verify_from' => $verifier_info['verify_from'] ?? '',
|
||||
'verify_remark' => $verifier_info['verify_remark'] ?? '',
|
||||
'verify_use_num' => $now_verify_use_num
|
||||
];
|
||||
if ($verify_total_count > 0 && $now_verify_use_num >= $verify_total_count) {
|
||||
$data_verify[ 'is_verify' ] = 1;
|
||||
$data_verify[ 'verify_time' ] = time();
|
||||
}
|
||||
|
||||
$res = model("verify")->update($data_verify, [ [ 'id', '=', $verify_info[ 'id' ] ] ]);
|
||||
$result = event('Verify', [ 'verify_type' => $verify_info[ 'verify_type' ], 'verify_code' => $code, 'verify_id' => $verify_info[ 'id' ], 'store_id' => $verifier_info[ 'store_id' ] ], true);
|
||||
if (!empty($result) && $result[ 'code' ] < 0) {
|
||||
model('verify')->rollback();
|
||||
return $result;
|
||||
}
|
||||
|
||||
$site_id = $verify_info[ 'site_id' ];
|
||||
$verify_record_model = new VerifyRecord();
|
||||
$verify_record_data = [
|
||||
'site_id' => $site_id,
|
||||
'verify_code' => $code,
|
||||
'verifier_id' => $verifier_info[ "verifier_id" ],
|
||||
'verifier_name' => $verifier_info[ 'verifier_name' ],
|
||||
'verify_time' => time(),
|
||||
'verify_from' => $verifier_info[ 'verify_from' ] ?? '',
|
||||
'verify_remark' => $verifier_info[ 'verify_remark' ] ?? '',
|
||||
'store_id' => $verifier_info[ 'store_id' ]
|
||||
];
|
||||
$verify_record_model->addVerifyRecord($verify_record_data);
|
||||
} else {
|
||||
model('verify')->rollback();
|
||||
return $this->error('', "IS_VERIFYED");
|
||||
}
|
||||
|
||||
model('verify')->commit();
|
||||
return $this->success();
|
||||
} catch (\Exception $e) {
|
||||
model('verify')->rollback();
|
||||
return $this->error('', $e->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取核销信息
|
||||
* @param $condition
|
||||
* @param string $field
|
||||
* @return array
|
||||
*/
|
||||
public function getVerifyInfo($condition, $field = '*')
|
||||
{
|
||||
$res = model('verify')->getInfo($condition, $field);
|
||||
//验证是否存在
|
||||
if (!empty($res)) {
|
||||
|
||||
if ($res[ 'is_verify' ] == 2) {
|
||||
return $this->error([], "订单已退款!");
|
||||
}
|
||||
|
||||
$json_array = json_decode($res[ "verify_content_json" ], true); //格式化存储数据
|
||||
|
||||
$res[ "data" ] = $json_array;
|
||||
return $this->success($res);
|
||||
} else {
|
||||
return $this->error([], "找不到核销码信息!");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取核销列表
|
||||
* @param array $condition
|
||||
* @param string $field
|
||||
* @param string $order
|
||||
* @param null $limit
|
||||
* @return array
|
||||
*/
|
||||
public function getVerifyList($condition = [], $field = '*', $order = '', $limit = null)
|
||||
{
|
||||
|
||||
$list = model('verify')->getList($condition, $field, $order, '', '', '', $limit);
|
||||
return $this->success($list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取核销分页列表
|
||||
* @param array $condition
|
||||
* @param int $page
|
||||
* @param int $page_size
|
||||
* @param string $order
|
||||
* @param string $field
|
||||
* @return array
|
||||
*/
|
||||
public function getVerifyPageList($condition = [], $page = 1, $page_size = PAGE_LIST_ROWS, $order = '', $field = '*')
|
||||
{
|
||||
$list = model('verify')->pageList($condition, $field, $order, $page, $page_size);
|
||||
//组装数据
|
||||
$order_no_array = [];
|
||||
$member_id_array = [];
|
||||
$member_verify_id_array = [];
|
||||
|
||||
foreach ($list[ "list" ] as $k => $v) {
|
||||
$temp = json_decode($v[ 'verify_content_json' ], true);
|
||||
if ($v[ 'verify_type' ] == 'pickup' || $v[ 'verify_type' ] == 'virtualgoods') {
|
||||
$order_no_array[] = $temp[ 'remark_array' ][ 1 ][ 'value' ];
|
||||
$member_id_array[] = $v[ 'member_id' ];
|
||||
} else {
|
||||
$list[ 'list' ][ $k ][ 'sku_image' ] = $temp[ "item_array" ][ 0 ][ 'img' ];
|
||||
$list[ 'list' ][ $k ][ 'sku_name' ] = $temp[ "item_array" ][ 0 ][ 'name' ];
|
||||
$member_verify_id_array[] = $v[ 'id' ];
|
||||
}
|
||||
}
|
||||
|
||||
$order_nos = implode(",", $order_no_array);
|
||||
$order_list = [];
|
||||
if (!empty($order_nos)) {
|
||||
$order_list = model('order')->getList([ [ 'order_no', 'in', $order_nos ] ], 'order_id,order_no,member_id,name,order_name');
|
||||
if (!empty($order_list)) {
|
||||
$key = array_column($order_list, 'order_no');
|
||||
$order_list = array_combine($key, $order_list);
|
||||
}
|
||||
}
|
||||
|
||||
$member_ids = implode(",", $member_id_array);
|
||||
$member_list = [];
|
||||
if (!empty($member_ids)) {
|
||||
$member_list = model('member')->getList([ [ 'member_id', 'in', $member_ids ] ], 'member_id,username');
|
||||
if (!empty($member_list)) {
|
||||
$key = array_column($member_list, 'member_id');
|
||||
$member_list = array_combine($key, $member_list);
|
||||
}
|
||||
}
|
||||
|
||||
$member_verify_ids = implode(",", $member_verify_id_array);
|
||||
$member_verify_list = [];
|
||||
if (!empty($member_verify_ids)) {
|
||||
$member_verify_list = model('member_goods_card_item')->getList([ [ 'mgci.member_verify_id', 'in', $v[ 'id' ] ] ], 'mgci.member_verify_id,m.username', '', 'mgci', [ [ 'member m', 'm.member_id = mgci.member_id', 'left' ] ]);
|
||||
if (!empty($member_verify_list)) {
|
||||
$key = array_column($member_verify_list, 'member_verify_id');
|
||||
$member_verify_list = array_combine($key, $member_verify_list);
|
||||
}
|
||||
}
|
||||
|
||||
foreach ($list[ "list" ] as $k => $v) {
|
||||
$temp = json_decode($v[ 'verify_content_json' ], true);
|
||||
$list[ "list" ][ $k ][ "item_array" ] = $temp[ "item_array" ];
|
||||
$list[ "list" ][ $k ][ "remark_array" ] = $temp[ "remark_array" ];
|
||||
if ($v[ 'verify_type' ] == 'pickup' || $v[ 'verify_type' ] == 'virtualgoods') {
|
||||
$list[ "list" ][ $k ][ 'order_no' ] = $temp[ 'remark_array' ][ 1 ][ 'value' ];
|
||||
$list[ 'list' ][ $k ][ 'order_info' ] = $order_list[ $temp[ 'remark_array' ][ 1 ][ 'value' ] ] ?? [];
|
||||
$list[ 'list' ][ $k ][ 'name' ] = $member_list[ $v[ 'member_id' ] ][ 'username' ] ?? '';
|
||||
$list[ 'list' ][ $k ][ 'sku_image' ] = "";
|
||||
if ($v[ 'verify_type' ] == "virtualgoods") {
|
||||
$list[ 'list' ][ $k ][ 'sku_image' ] = $temp[ "item_array" ][ 0 ][ 'img' ] ?? '';
|
||||
}
|
||||
} else {
|
||||
$list[ 'list' ][ $k ][ 'sku_image' ] = $temp[ "item_array" ][ 0 ][ 'img' ];
|
||||
$list[ 'list' ][ $k ][ 'sku_name' ] = $temp[ "item_array" ][ 0 ][ 'name' ];
|
||||
$list[ 'list' ][ $k ][ 'name' ] = $member_verify_list[ $v[ 'id' ] ][ 'username' ] ?? '';
|
||||
}
|
||||
unset($list[ "list" ][ $k ][ "verify_content_json" ]);
|
||||
$list[ 'list' ][ $k ][ 'verifyFrom' ] = $this->verifyFrom[ $v[ 'verify_from' ] ?? '' ] ?? '';
|
||||
}
|
||||
|
||||
return $this->success($list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 验证数据详情
|
||||
* @param $item_array
|
||||
* @param $remark_array
|
||||
* @return array
|
||||
*/
|
||||
public function getVerifyJson($item_array, $remark_array)
|
||||
{
|
||||
$json_array = array (
|
||||
"item_array" => $item_array,
|
||||
"remark_array" => $remark_array,
|
||||
);
|
||||
return $json_array;
|
||||
}
|
||||
|
||||
/**
|
||||
* 检测会员是否具备当前核销码的核销权限
|
||||
* @param $member_id
|
||||
* @param $verify_code
|
||||
* @return array
|
||||
*/
|
||||
public function checkMemberVerify($member_id, $verify_code)
|
||||
{
|
||||
$verify_info = model("verify")->getInfo([ [ "verify_code", "=", $verify_code ] ]);
|
||||
if (empty($verify_info))
|
||||
return $this->error([], "当前核销码不存在!");
|
||||
|
||||
$site_id = $verify_info[ "site_id" ];
|
||||
//验证核销员身份
|
||||
$condition = array (
|
||||
[ "member_id", "=", $member_id ],
|
||||
[ "site_id", "=", $site_id ]
|
||||
);
|
||||
$verifier_info = model("verifier")->getInfo($condition, "verifier_id,verifier_name,store_id,verifier_type");
|
||||
if (empty($verifier_info))
|
||||
return $this->error([], "没有店铺" . $verify_info[ "site_name" ] . "的核销权限!");
|
||||
|
||||
//权限验证
|
||||
switch ( $verify_info[ 'verify_type' ] ) {
|
||||
case 'virtualgoods':
|
||||
//虚拟订单权限
|
||||
if ($verifier_info[ 'verifier_type' ] != 0) {
|
||||
return $this->error([], "没有该订单的核销权限!");
|
||||
}
|
||||
break;
|
||||
case 'pickup':
|
||||
//门店自提权限
|
||||
if ($verifier_info[ 'verifier_type' ] != 0) {
|
||||
$condition = array (
|
||||
[ 'delivery_store_id', '=', $verifier_info[ 'store_id' ] ],
|
||||
[ 'delivery_code', '=', $verify_code ],
|
||||
[ 'site_id', '=', $site_id ]
|
||||
);
|
||||
$order_count = model('order')->getCount($condition, "order_id");
|
||||
if (empty($order_count)) return $this->error([], "没有该门店的核销权限!");
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
$temp = json_decode($verify_info[ 'verify_content_json' ], true);
|
||||
$verify_info[ "item_array" ] = $temp[ "item_array" ];
|
||||
$verify_info[ "remark_array" ] = $temp[ "remark_array" ];
|
||||
unset($verify_info[ "verify_content_json" ]);
|
||||
|
||||
$data = array (
|
||||
"verify" => $verify_info,
|
||||
"verifier" => $verifier_info,
|
||||
);
|
||||
return $this->success($data);
|
||||
}
|
||||
|
||||
/**
|
||||
* 生成核销码二维码
|
||||
* @param $code
|
||||
* @param $app_type
|
||||
* @param $verify_type
|
||||
* @param $site_id
|
||||
* @param string $type
|
||||
* @return array
|
||||
*/
|
||||
public function qrcode($code, $app_type, $verify_type, $site_id, $type = 'create')
|
||||
{
|
||||
$page = '/pages_tool/verification/detail';
|
||||
$params = [
|
||||
'site_id' => $site_id,
|
||||
'data' => [
|
||||
"code" => $code
|
||||
],
|
||||
'page' => $page,
|
||||
'app_type' => $app_type,
|
||||
'promotion_type' => '',
|
||||
'h5_path' => $page . '?code=' . $code,
|
||||
'qrcode_path' => 'upload/qrcode/' . $verify_type,
|
||||
'qrcode_name' => $verify_type . '_' . $code . '_' . $site_id
|
||||
];
|
||||
$solitaire = event('PromotionQrcode', $params, true);
|
||||
return $this->success($solitaire);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取核销码字段和
|
||||
* @param $condition
|
||||
* @param $field
|
||||
* @return array
|
||||
*/
|
||||
public function getVerifySum($condition, $field)
|
||||
{
|
||||
$res = model('verify')->getSum($condition, $field);
|
||||
return $this->success($res);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取核销码数量
|
||||
* @param $condition
|
||||
* @param $field
|
||||
* @return array
|
||||
*/
|
||||
public function getVerifyCount($condition, $field)
|
||||
{
|
||||
$res = model('verify')->getCount($condition, $field);
|
||||
return $this->success($res);
|
||||
}
|
||||
<?php
|
||||
|
||||
namespace app\model\verify;
|
||||
|
||||
use app\model\BaseModel;
|
||||
|
||||
/**
|
||||
* 核销编码管理
|
||||
*/
|
||||
class Verify extends BaseModel
|
||||
{
|
||||
|
||||
public $verifyFrom = [
|
||||
'shop' => '商家后台',
|
||||
'store' => '门店后台',
|
||||
'mobile' => '手机端',
|
||||
];
|
||||
|
||||
/**
|
||||
* 获取核销类型
|
||||
*/
|
||||
public function getVerifyType()
|
||||
{
|
||||
$verify_type = event("VerifyType", []);
|
||||
$type = [
|
||||
'pickup' => [
|
||||
'name' => '订单自提',
|
||||
],
|
||||
'virtualgoods' => [
|
||||
'name' => '虚拟商品',
|
||||
]
|
||||
];
|
||||
foreach ($verify_type as $k => $v) {
|
||||
$type = array_merge($type, $v);
|
||||
}
|
||||
return $type;
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加待核销记录
|
||||
* @param $type
|
||||
* @param $site_id
|
||||
* @param $site_name
|
||||
* @param $content_array
|
||||
* @param int $expire_time
|
||||
* @param int $verify_total_count
|
||||
* @param int $store_id
|
||||
* @param int $member_id
|
||||
* @return array
|
||||
*/
|
||||
public function addVerify($type, $site_id, $site_name, $content_array, $expire_time = 0, $verify_total_count = 1, $store_id = 0, $member_id = 0)
|
||||
{
|
||||
$code = $this->getCode();
|
||||
$type_array = $this->getVerifyType();
|
||||
$data = [
|
||||
'site_id' => $site_id,
|
||||
'site_name' => $site_name,
|
||||
'verify_code' => $code,
|
||||
'verify_type' => $type,
|
||||
'verify_type_name' => $type_array[ $type ][ 'name' ],
|
||||
'verify_content_json' => json_encode($content_array, JSON_UNESCAPED_UNICODE),
|
||||
'create_time' => time(),
|
||||
'expire_time' => $expire_time,
|
||||
'verify_total_count' => $verify_total_count,
|
||||
'store_id' => $store_id,
|
||||
'member_id' => $member_id
|
||||
];
|
||||
$res = model("verify")->add($data);
|
||||
return $this->success([ 'verify_code' => $code, 'verify_id' => $res ]);
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑待核销记录
|
||||
* @param $data
|
||||
* @param $condition
|
||||
* @return array
|
||||
*/
|
||||
public function editVerify($data, $condition)
|
||||
{
|
||||
|
||||
$res = model("verify")->update($data, $condition);
|
||||
return $this->success($res);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取code值
|
||||
*/
|
||||
public function getCode()
|
||||
{
|
||||
return random_keys(12);
|
||||
}
|
||||
|
||||
/**
|
||||
* 执行核销
|
||||
* @param $verifier_info
|
||||
* @param $code
|
||||
* @return array|mixed|void
|
||||
*/
|
||||
public function verify($verifier_info, $code)
|
||||
{
|
||||
$verifier_info[ 'store_id' ] = $verifier_info[ 'store_id' ] ?? 0;
|
||||
|
||||
model('verify')->startTrans();
|
||||
|
||||
try {
|
||||
$verify_info = model("verify")->getInfo([ [ 'verify_code', '=', $code ] ], 'id, site_id, verify_code, verify_type, verify_type_name, verify_content_json, verifier_id, verifier_name, is_verify, expire_time, verify_total_count, verify_use_num, store_id');
|
||||
if (empty($verify_info)) {
|
||||
model('verify')->rollback();
|
||||
return $this->error();
|
||||
}
|
||||
if ($verify_info[ 'is_verify' ] == 0) {
|
||||
if ($verify_info[ 'expire_time' ] > 0 && $verify_info[ 'expire_time' ] < time()) {
|
||||
model('verify')->rollback();
|
||||
return $this->error('', '核销码已过期');
|
||||
}
|
||||
if ($verify_info[ 'store_id' ] && $verifier_info[ 'store_id' ] && $verify_info[ 'store_id' ] != $verifier_info[ 'store_id' ]) {
|
||||
model('verify')->rollback();
|
||||
return $this->error('', '没有核销该核销码的权限');
|
||||
}
|
||||
$verify_total_count = $verify_info[ 'verify_total_count' ];
|
||||
$verify_use_num = $verify_info[ 'verify_use_num' ];
|
||||
$now_verify_use_num = $verify_use_num + 1;
|
||||
|
||||
//开始核销
|
||||
$data_verify = [
|
||||
'verifier_id' => $verifier_info[ "verifier_id" ],
|
||||
'verifier_name' => $verifier_info[ 'verifier_name' ],
|
||||
'verify_from' => $verifier_info['verify_from'] ?? '',
|
||||
'verify_remark' => $verifier_info['verify_remark'] ?? '',
|
||||
'verify_use_num' => $now_verify_use_num
|
||||
];
|
||||
if ($verify_total_count > 0 && $now_verify_use_num >= $verify_total_count) {
|
||||
$data_verify[ 'is_verify' ] = 1;
|
||||
$data_verify[ 'verify_time' ] = time();
|
||||
}
|
||||
|
||||
$res = model("verify")->update($data_verify, [ [ 'id', '=', $verify_info[ 'id' ] ] ]);
|
||||
$result = event('Verify', [ 'verify_type' => $verify_info[ 'verify_type' ], 'verify_code' => $code, 'verify_id' => $verify_info[ 'id' ], 'store_id' => $verifier_info[ 'store_id' ] ], true);
|
||||
if (!empty($result) && $result[ 'code' ] < 0) {
|
||||
model('verify')->rollback();
|
||||
return $result;
|
||||
}
|
||||
|
||||
$site_id = $verify_info[ 'site_id' ];
|
||||
$verify_record_model = new VerifyRecord();
|
||||
$verify_record_data = [
|
||||
'site_id' => $site_id,
|
||||
'verify_code' => $code,
|
||||
'verifier_id' => $verifier_info[ "verifier_id" ],
|
||||
'verifier_name' => $verifier_info[ 'verifier_name' ],
|
||||
'verify_time' => time(),
|
||||
'verify_from' => $verifier_info[ 'verify_from' ] ?? '',
|
||||
'verify_remark' => $verifier_info[ 'verify_remark' ] ?? '',
|
||||
'store_id' => $verifier_info[ 'store_id' ]
|
||||
];
|
||||
$verify_record_model->addVerifyRecord($verify_record_data);
|
||||
} else {
|
||||
model('verify')->rollback();
|
||||
return $this->error('', "IS_VERIFYED");
|
||||
}
|
||||
|
||||
model('verify')->commit();
|
||||
return $this->success();
|
||||
} catch (\Exception $e) {
|
||||
model('verify')->rollback();
|
||||
return $this->error('', $e->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取核销信息
|
||||
* @param $condition
|
||||
* @param string $field
|
||||
* @return array
|
||||
*/
|
||||
public function getVerifyInfo($condition, $field = '*')
|
||||
{
|
||||
$res = model('verify')->getInfo($condition, $field);
|
||||
//验证是否存在
|
||||
if (!empty($res)) {
|
||||
|
||||
if ($res[ 'is_verify' ] == 2) {
|
||||
return $this->error([], "订单已退款!");
|
||||
}
|
||||
|
||||
$json_array = json_decode($res[ "verify_content_json" ], true); //格式化存储数据
|
||||
|
||||
$res[ "data" ] = $json_array;
|
||||
return $this->success($res);
|
||||
} else {
|
||||
return $this->error([], "找不到核销码信息!");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取核销列表
|
||||
* @param array $condition
|
||||
* @param string $field
|
||||
* @param string $order
|
||||
* @param null $limit
|
||||
* @return array
|
||||
*/
|
||||
public function getVerifyList($condition = [], $field = '*', $order = '', $limit = null)
|
||||
{
|
||||
|
||||
$list = model('verify')->getList($condition, $field, $order, '', '', '', $limit);
|
||||
return $this->success($list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取核销分页列表
|
||||
* @param array $condition
|
||||
* @param int $page
|
||||
* @param int $page_size
|
||||
* @param string $order
|
||||
* @param string $field
|
||||
* @return array
|
||||
*/
|
||||
public function getVerifyPageList($condition = [], $page = 1, $page_size = PAGE_LIST_ROWS, $order = '', $field = '*')
|
||||
{
|
||||
$list = model('verify')->pageList($condition, $field, $order, $page, $page_size);
|
||||
//组装数据
|
||||
$order_no_array = [];
|
||||
$member_id_array = [];
|
||||
$member_verify_id_array = [];
|
||||
|
||||
foreach ($list[ "list" ] as $k => $v) {
|
||||
$temp = json_decode($v[ 'verify_content_json' ], true);
|
||||
if ($v[ 'verify_type' ] == 'pickup' || $v[ 'verify_type' ] == 'virtualgoods') {
|
||||
$order_no_array[] = $temp[ 'remark_array' ][ 1 ][ 'value' ];
|
||||
$member_id_array[] = $v[ 'member_id' ];
|
||||
} else {
|
||||
$list[ 'list' ][ $k ][ 'sku_image' ] = $temp[ "item_array" ][ 0 ][ 'img' ];
|
||||
$list[ 'list' ][ $k ][ 'sku_name' ] = $temp[ "item_array" ][ 0 ][ 'name' ];
|
||||
$member_verify_id_array[] = $v[ 'id' ];
|
||||
}
|
||||
}
|
||||
|
||||
$order_nos = implode(",", $order_no_array);
|
||||
$order_list = [];
|
||||
if (!empty($order_nos)) {
|
||||
$order_list = model('order')->getList([ [ 'order_no', 'in', $order_nos ] ], 'order_id,order_no,member_id,name,order_name');
|
||||
if (!empty($order_list)) {
|
||||
$key = array_column($order_list, 'order_no');
|
||||
$order_list = array_combine($key, $order_list);
|
||||
}
|
||||
}
|
||||
|
||||
$member_ids = implode(",", $member_id_array);
|
||||
$member_list = [];
|
||||
if (!empty($member_ids)) {
|
||||
$member_list = model('member')->getList([ [ 'member_id', 'in', $member_ids ] ], 'member_id,username');
|
||||
if (!empty($member_list)) {
|
||||
$key = array_column($member_list, 'member_id');
|
||||
$member_list = array_combine($key, $member_list);
|
||||
}
|
||||
}
|
||||
|
||||
$member_verify_ids = implode(",", $member_verify_id_array);
|
||||
$member_verify_list = [];
|
||||
if (!empty($member_verify_ids)) {
|
||||
$member_verify_list = model('member_goods_card_item')->getList([ [ 'mgci.member_verify_id', 'in', $v[ 'id' ] ] ], 'mgci.member_verify_id,m.username', '', 'mgci', [ [ 'member m', 'm.member_id = mgci.member_id', 'left' ] ]);
|
||||
if (!empty($member_verify_list)) {
|
||||
$key = array_column($member_verify_list, 'member_verify_id');
|
||||
$member_verify_list = array_combine($key, $member_verify_list);
|
||||
}
|
||||
}
|
||||
|
||||
foreach ($list[ "list" ] as $k => $v) {
|
||||
$temp = json_decode($v[ 'verify_content_json' ], true);
|
||||
$list[ "list" ][ $k ][ "item_array" ] = $temp[ "item_array" ];
|
||||
$list[ "list" ][ $k ][ "remark_array" ] = $temp[ "remark_array" ];
|
||||
if ($v[ 'verify_type' ] == 'pickup' || $v[ 'verify_type' ] == 'virtualgoods') {
|
||||
$list[ "list" ][ $k ][ 'order_no' ] = $temp[ 'remark_array' ][ 1 ][ 'value' ];
|
||||
$list[ 'list' ][ $k ][ 'order_info' ] = $order_list[ $temp[ 'remark_array' ][ 1 ][ 'value' ] ] ?? [];
|
||||
$list[ 'list' ][ $k ][ 'name' ] = $member_list[ $v[ 'member_id' ] ][ 'username' ] ?? '';
|
||||
$list[ 'list' ][ $k ][ 'sku_image' ] = "";
|
||||
if ($v[ 'verify_type' ] == "virtualgoods") {
|
||||
$list[ 'list' ][ $k ][ 'sku_image' ] = $temp[ "item_array" ][ 0 ][ 'img' ] ?? '';
|
||||
}
|
||||
} else {
|
||||
$list[ 'list' ][ $k ][ 'sku_image' ] = $temp[ "item_array" ][ 0 ][ 'img' ];
|
||||
$list[ 'list' ][ $k ][ 'sku_name' ] = $temp[ "item_array" ][ 0 ][ 'name' ];
|
||||
$list[ 'list' ][ $k ][ 'name' ] = $member_verify_list[ $v[ 'id' ] ][ 'username' ] ?? '';
|
||||
}
|
||||
unset($list[ "list" ][ $k ][ "verify_content_json" ]);
|
||||
$list[ 'list' ][ $k ][ 'verifyFrom' ] = $this->verifyFrom[ $v[ 'verify_from' ] ?? '' ] ?? '';
|
||||
}
|
||||
|
||||
return $this->success($list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 验证数据详情
|
||||
* @param $item_array
|
||||
* @param $remark_array
|
||||
* @return array
|
||||
*/
|
||||
public function getVerifyJson($item_array, $remark_array)
|
||||
{
|
||||
$json_array = array (
|
||||
"item_array" => $item_array,
|
||||
"remark_array" => $remark_array,
|
||||
);
|
||||
return $json_array;
|
||||
}
|
||||
|
||||
/**
|
||||
* 检测会员是否具备当前核销码的核销权限
|
||||
* @param $member_id
|
||||
* @param $verify_code
|
||||
* @return array
|
||||
*/
|
||||
public function checkMemberVerify($member_id, $verify_code)
|
||||
{
|
||||
$verify_info = model("verify")->getInfo([ [ "verify_code", "=", $verify_code ] ]);
|
||||
if (empty($verify_info))
|
||||
return $this->error([], "当前核销码不存在!");
|
||||
|
||||
$site_id = $verify_info[ "site_id" ];
|
||||
//验证核销员身份
|
||||
$condition = array (
|
||||
[ "member_id", "=", $member_id ],
|
||||
[ "site_id", "=", $site_id ]
|
||||
);
|
||||
$verifier_info = model("verifier")->getInfo($condition, "verifier_id,verifier_name,store_id,verifier_type");
|
||||
if (empty($verifier_info))
|
||||
return $this->error([], "没有店铺" . $verify_info[ "site_name" ] . "的核销权限!");
|
||||
|
||||
//权限验证
|
||||
switch ( $verify_info[ 'verify_type' ] ) {
|
||||
case 'virtualgoods':
|
||||
//虚拟订单权限
|
||||
if ($verifier_info[ 'verifier_type' ] != 0) {
|
||||
return $this->error([], "没有该订单的核销权限!");
|
||||
}
|
||||
break;
|
||||
case 'pickup':
|
||||
//门店自提权限
|
||||
if ($verifier_info[ 'verifier_type' ] != 0) {
|
||||
$condition = array (
|
||||
[ 'delivery_store_id', '=', $verifier_info[ 'store_id' ] ],
|
||||
[ 'delivery_code', '=', $verify_code ],
|
||||
[ 'site_id', '=', $site_id ]
|
||||
);
|
||||
$order_count = model('order')->getCount($condition, "order_id");
|
||||
if (empty($order_count)) return $this->error([], "没有该门店的核销权限!");
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
$temp = json_decode($verify_info[ 'verify_content_json' ], true);
|
||||
$verify_info[ "item_array" ] = $temp[ "item_array" ];
|
||||
$verify_info[ "remark_array" ] = $temp[ "remark_array" ];
|
||||
unset($verify_info[ "verify_content_json" ]);
|
||||
|
||||
$data = array (
|
||||
"verify" => $verify_info,
|
||||
"verifier" => $verifier_info,
|
||||
);
|
||||
return $this->success($data);
|
||||
}
|
||||
|
||||
/**
|
||||
* 生成核销码二维码
|
||||
* @param $code
|
||||
* @param $app_type
|
||||
* @param $verify_type
|
||||
* @param $site_id
|
||||
* @param string $type
|
||||
* @return array
|
||||
*/
|
||||
public function qrcode($code, $app_type, $verify_type, $site_id, $type = 'create')
|
||||
{
|
||||
$page = '/pages_tool/verification/detail';
|
||||
$params = [
|
||||
'site_id' => $site_id,
|
||||
'data' => [
|
||||
"code" => $code
|
||||
],
|
||||
'page' => $page,
|
||||
'app_type' => $app_type,
|
||||
'promotion_type' => '',
|
||||
'h5_path' => $page . '?code=' . $code,
|
||||
'qrcode_path' => 'upload/qrcode/' . $verify_type,
|
||||
'qrcode_name' => $verify_type . '_' . $code . '_' . $site_id
|
||||
];
|
||||
$solitaire = event('PromotionQrcode', $params, true);
|
||||
return $this->success($solitaire);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取核销码字段和
|
||||
* @param $condition
|
||||
* @param $field
|
||||
* @return array
|
||||
*/
|
||||
public function getVerifySum($condition, $field)
|
||||
{
|
||||
$res = model('verify')->getSum($condition, $field);
|
||||
return $this->success($res);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取核销码数量
|
||||
* @param $condition
|
||||
* @param $field
|
||||
* @return array
|
||||
*/
|
||||
public function getVerifyCount($condition, $field)
|
||||
{
|
||||
$res = model('verify')->getCount($condition, $field);
|
||||
return $this->success($res);
|
||||
}
|
||||
}
|
||||
@@ -1,127 +1,118 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
*/
|
||||
|
||||
namespace app\model\verify;
|
||||
|
||||
use app\model\BaseModel;
|
||||
|
||||
/**
|
||||
* 核销记录管理
|
||||
*/
|
||||
class VerifyRecord extends BaseModel
|
||||
{
|
||||
/**
|
||||
* 新增核销记录
|
||||
* @param $data
|
||||
* @return array
|
||||
*/
|
||||
public function addVerifyRecord($data)
|
||||
{
|
||||
// $data = [
|
||||
// 'site_id' => $member_verify_info[ 'site_id' ],
|
||||
// 'verify_code' => $member_verify_info[ 'verify_code' ],
|
||||
// 'verifier_id' => $verifyer_id,
|
||||
// 'verifier_name' => $verifyer_name,
|
||||
// 'create_time' => time()
|
||||
// ];
|
||||
$res = model('verify_record')->add($data);
|
||||
return $this->success($res);
|
||||
}
|
||||
|
||||
/**
|
||||
* 核销码核销记录
|
||||
*/
|
||||
public function getVerifyRecordsList($condition = [], $field = '*', $order = '', $alias = 'a', $join = [], $limit = null)
|
||||
{
|
||||
$list = model('verify_record')->getList($condition, $field, $order, $alias, $join, '', $limit);
|
||||
return $this->success($list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 核销码核销记录
|
||||
*/
|
||||
public function getVerifyRecordsPageList($condition = [], $page = 1, $page_size = PAGE_LIST_ROWS, $field = '*', $order = '', $alias = 'a', $join = [], $limit = null)
|
||||
{
|
||||
$list = model('verify_record')->pageList($condition, $field, $order, $page, $page_size, $alias, $join);
|
||||
return $this->success($list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 核销码核销记录
|
||||
*/
|
||||
public function getVerifyRecordsViewList($condition = [], $field = '*', $order = '', $alias = 'a', $join = [], $limit = null)
|
||||
{
|
||||
$list = model('verify_record')->getList($condition, $field, $order, $alias, $join, '', $limit);
|
||||
return $this->success($list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 核销码核销记录
|
||||
*/
|
||||
public function getVerifyRecordsViewPageList($condition = [], $page = 1, $page_size = PAGE_LIST_ROWS, $field = '*', $order = '', $alias = 'a', $join = [], $limit = null)
|
||||
{
|
||||
$alias = 'vr';
|
||||
$join = array (
|
||||
[ 'verify v', 'v.verify_code = vr.verify_code', 'left' ],
|
||||
[ 'store s', 's.store_id = vr.store_id', 'left' ]
|
||||
);
|
||||
$order = 'vr.verify_time desc';
|
||||
$field = 'v.*,vr.id as verify_redord_id ,vr.verifier_id,vr.verifier_name,vr.verify_code,vr.verify_time,vr.verify_num,vr.verify_from,vr.store_id,s.store_name';
|
||||
|
||||
$list = model('verify_record')->pageList($condition, $field, $order, $page, $page_size, $alias, $join);
|
||||
$order_no_array = [];
|
||||
foreach ($list[ "list" ] as $k => $v) {
|
||||
$temp = json_decode($v[ 'verify_content_json' ], true);
|
||||
if ($v[ 'verify_type' ] == 'pickup' || $v[ 'verify_type' ] == 'virtualgoods') {
|
||||
$order_no_array[] = $temp[ 'remark_array' ][ 1 ][ 'value' ];
|
||||
}
|
||||
}
|
||||
|
||||
$order_nos = implode(",", $order_no_array);
|
||||
$order_list = [];
|
||||
if(!empty($order_nos)){
|
||||
$order_list = model('order')->getList([ [ 'order_no', 'in', $order_nos] ], 'order_id,order_no,member_id,name,order_name');
|
||||
if(!empty($order_list)) {
|
||||
$key = array_column($order_list, 'order_no');
|
||||
$order_list = array_combine($key, $order_list);
|
||||
}
|
||||
}
|
||||
|
||||
$verify_model = new Verify();
|
||||
foreach ($list[ "list" ] as $k => $v) {
|
||||
$temp = json_decode($v[ 'verify_content_json' ], true);
|
||||
$list[ "list" ][ $k ][ "item_array" ] = $temp[ "item_array" ];
|
||||
$list[ "list" ][ $k ][ "remark_array" ] = $temp[ "remark_array" ];
|
||||
if ($v['verify_type'] == 'pickup' || $v['verify_type'] == 'virtualgoods') {
|
||||
$list[ "list" ][ $k ][ 'order_no' ] = $temp[ 'remark_array' ][ 1 ][ 'value' ];
|
||||
$order_info = $order_list[ $temp[ 'remark_array' ][ 1 ][ 'value' ]] ?? [];
|
||||
$list[ 'list' ][ $k ][ 'order_info' ] = $order_info;
|
||||
$list[ 'list' ][ $k ][ 'sku_image' ] = $temp[ "item_array" ][0]['img'] ?? '';
|
||||
} else {
|
||||
$list[ 'list' ][ $k ][ 'sku_image' ] = $temp[ "item_array" ][0]['img'];
|
||||
$list[ 'list' ][ $k ][ 'name' ] = $temp[ "item_array" ][0]['name'];
|
||||
}
|
||||
unset($list[ "list" ][ $k ][ "verify_content_json" ]);
|
||||
$list[ 'list' ][ $k ][ 'verifyFrom' ] = $verify_model->verifyFrom[ $v[ 'verify_from' ] ];
|
||||
}
|
||||
return $this->success($list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取核销记录信息
|
||||
*/
|
||||
public function getVerifyRecordsInfo($condition, $field = '*', $alias = 'a', $join = null, $data = null)
|
||||
{
|
||||
$info = model('verify_record')->getInfo($condition, $field, $alias, $join, $data);
|
||||
return $this->success($info);
|
||||
}
|
||||
|
||||
<?php
|
||||
|
||||
namespace app\model\verify;
|
||||
|
||||
use app\model\BaseModel;
|
||||
|
||||
/**
|
||||
* 核销记录管理
|
||||
*/
|
||||
class VerifyRecord extends BaseModel
|
||||
{
|
||||
/**
|
||||
* 新增核销记录
|
||||
* @param $data
|
||||
* @return array
|
||||
*/
|
||||
public function addVerifyRecord($data)
|
||||
{
|
||||
// $data = [
|
||||
// 'site_id' => $member_verify_info[ 'site_id' ],
|
||||
// 'verify_code' => $member_verify_info[ 'verify_code' ],
|
||||
// 'verifier_id' => $verifyer_id,
|
||||
// 'verifier_name' => $verifyer_name,
|
||||
// 'create_time' => time()
|
||||
// ];
|
||||
$res = model('verify_record')->add($data);
|
||||
return $this->success($res);
|
||||
}
|
||||
|
||||
/**
|
||||
* 核销码核销记录
|
||||
*/
|
||||
public function getVerifyRecordsList($condition = [], $field = '*', $order = '', $alias = 'a', $join = [], $limit = null)
|
||||
{
|
||||
$list = model('verify_record')->getList($condition, $field, $order, $alias, $join, '', $limit);
|
||||
return $this->success($list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 核销码核销记录
|
||||
*/
|
||||
public function getVerifyRecordsPageList($condition = [], $page = 1, $page_size = PAGE_LIST_ROWS, $field = '*', $order = '', $alias = 'a', $join = [], $limit = null)
|
||||
{
|
||||
$list = model('verify_record')->pageList($condition, $field, $order, $page, $page_size, $alias, $join);
|
||||
return $this->success($list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 核销码核销记录
|
||||
*/
|
||||
public function getVerifyRecordsViewList($condition = [], $field = '*', $order = '', $alias = 'a', $join = [], $limit = null)
|
||||
{
|
||||
$list = model('verify_record')->getList($condition, $field, $order, $alias, $join, '', $limit);
|
||||
return $this->success($list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 核销码核销记录
|
||||
*/
|
||||
public function getVerifyRecordsViewPageList($condition = [], $page = 1, $page_size = PAGE_LIST_ROWS, $field = '*', $order = '', $alias = 'a', $join = [], $limit = null)
|
||||
{
|
||||
$alias = 'vr';
|
||||
$join = array (
|
||||
[ 'verify v', 'v.verify_code = vr.verify_code', 'left' ],
|
||||
[ 'store s', 's.store_id = vr.store_id', 'left' ]
|
||||
);
|
||||
$order = 'vr.verify_time desc';
|
||||
$field = 'v.*,vr.id as verify_redord_id ,vr.verifier_id,vr.verifier_name,vr.verify_code,vr.verify_time,vr.verify_num,vr.verify_from,vr.store_id,s.store_name';
|
||||
|
||||
$list = model('verify_record')->pageList($condition, $field, $order, $page, $page_size, $alias, $join);
|
||||
$order_no_array = [];
|
||||
foreach ($list[ "list" ] as $k => $v) {
|
||||
$temp = json_decode($v[ 'verify_content_json' ], true);
|
||||
if ($v[ 'verify_type' ] == 'pickup' || $v[ 'verify_type' ] == 'virtualgoods') {
|
||||
$order_no_array[] = $temp[ 'remark_array' ][ 1 ][ 'value' ];
|
||||
}
|
||||
}
|
||||
|
||||
$order_nos = implode(",", $order_no_array);
|
||||
$order_list = [];
|
||||
if(!empty($order_nos)){
|
||||
$order_list = model('order')->getList([ [ 'order_no', 'in', $order_nos] ], 'order_id,order_no,member_id,name,order_name');
|
||||
if(!empty($order_list)) {
|
||||
$key = array_column($order_list, 'order_no');
|
||||
$order_list = array_combine($key, $order_list);
|
||||
}
|
||||
}
|
||||
|
||||
$verify_model = new Verify();
|
||||
foreach ($list[ "list" ] as $k => $v) {
|
||||
$temp = json_decode($v[ 'verify_content_json' ], true);
|
||||
$list[ "list" ][ $k ][ "item_array" ] = $temp[ "item_array" ];
|
||||
$list[ "list" ][ $k ][ "remark_array" ] = $temp[ "remark_array" ];
|
||||
if ($v['verify_type'] == 'pickup' || $v['verify_type'] == 'virtualgoods') {
|
||||
$list[ "list" ][ $k ][ 'order_no' ] = $temp[ 'remark_array' ][ 1 ][ 'value' ];
|
||||
$order_info = $order_list[ $temp[ 'remark_array' ][ 1 ][ 'value' ]] ?? [];
|
||||
$list[ 'list' ][ $k ][ 'order_info' ] = $order_info;
|
||||
$list[ 'list' ][ $k ][ 'sku_image' ] = $temp[ "item_array" ][0]['img'] ?? '';
|
||||
} else {
|
||||
$list[ 'list' ][ $k ][ 'sku_image' ] = $temp[ "item_array" ][0]['img'];
|
||||
$list[ 'list' ][ $k ][ 'name' ] = $temp[ "item_array" ][0]['name'];
|
||||
}
|
||||
unset($list[ "list" ][ $k ][ "verify_content_json" ]);
|
||||
$list[ 'list' ][ $k ][ 'verifyFrom' ] = $verify_model->verifyFrom[ $v[ 'verify_from' ] ];
|
||||
}
|
||||
return $this->success($list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取核销记录信息
|
||||
*/
|
||||
public function getVerifyRecordsInfo($condition, $field = '*', $alias = 'a', $join = null, $data = null)
|
||||
{
|
||||
$info = model('verify_record')->getInfo($condition, $field, $alias, $join, $data);
|
||||
return $this->success($info);
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user