mirror of
https://gitee.com/zoujingli/ThinkAdmin.git
synced 2025-04-06 03:58:04 +08:00
修改接口token规则
This commit is contained in:
parent
7c43421241
commit
bb56604e41
@ -8,7 +8,7 @@ use think\exception\HttpResponseException;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 授权认证基类
|
* 授权认证基类
|
||||||
* Class Member
|
* Class Auth
|
||||||
* @package app\store\controller\api
|
* @package app\store\controller\api
|
||||||
*/
|
*/
|
||||||
abstract class Auth extends Controller
|
abstract class Auth extends Controller
|
||||||
@ -17,7 +17,7 @@ abstract class Auth extends Controller
|
|||||||
* 当前用户UID
|
* 当前用户UID
|
||||||
* @var int
|
* @var int
|
||||||
*/
|
*/
|
||||||
protected $uid;
|
protected $uuid;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 当前用户数据
|
* 当前用户数据
|
||||||
@ -25,13 +25,19 @@ abstract class Auth extends Controller
|
|||||||
*/
|
*/
|
||||||
protected $user;
|
protected $user;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 当前接口类型
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
protected $type = 'wxapp';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 控制器初始化
|
* 控制器初始化
|
||||||
*/
|
*/
|
||||||
protected function initialize()
|
protected function initialize()
|
||||||
{
|
{
|
||||||
$this->user = $this->getUser();
|
$this->user = $this->getUser();
|
||||||
$this->uid = $this->user['id'];
|
$this->uuid = $this->user['id'];
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -41,9 +47,13 @@ abstract class Auth extends Controller
|
|||||||
protected function getUser()
|
protected function getUser()
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
$this->token = input('token') ?: $this->request->header('token');
|
if (empty($this->uuid)) {
|
||||||
if (empty($this->token)) $this->error('接口请求认证令牌不能为空!');
|
$token = input('token') ?: $this->request->header('token');
|
||||||
return UserService::instance()->get(['token' => $this->token]);
|
if (empty($token)) $this->error('接口认证令牌不能为空!');
|
||||||
|
[$state, $message, $this->uuid] = UserService::instance()->checkUserToken($this->type, $token);
|
||||||
|
if ($state) $this->error($message);
|
||||||
|
}
|
||||||
|
return UserService::instance()->get($this->type, $this->uuid);
|
||||||
} catch (HttpResponseException $exception) {
|
} catch (HttpResponseException $exception) {
|
||||||
throw $exception;
|
throw $exception;
|
||||||
} catch (\Exception $exception) {
|
} catch (\Exception $exception) {
|
||||||
|
@ -38,7 +38,7 @@ class Login extends Controller
|
|||||||
if (empty($user)) $this->error('该手机号还没有注册哦!');
|
if (empty($user)) $this->error('该手机号还没有注册哦!');
|
||||||
if (empty($user['status'])) $this->error('该用户账号状态异常!');
|
if (empty($user['status'])) $this->error('该用户账号状态异常!');
|
||||||
if (md5($data['password']) === $user['password']) {
|
if (md5($data['password']) === $user['password']) {
|
||||||
$this->success('手机登录成功!', UserService::instance()->get($map, true));
|
$this->success('手机登录成功!', UserService::instance()->save($map, [], 'web', true));
|
||||||
} else {
|
} else {
|
||||||
$this->error('账号登录失败,请稍候再试!');
|
$this->error('账号登录失败,请稍候再试!');
|
||||||
}
|
}
|
||||||
@ -46,6 +46,7 @@ class Login extends Controller
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 用户统一注册入口
|
* 用户统一注册入口
|
||||||
|
* @throws \think\Exception
|
||||||
* @throws \think\db\exception\DataNotFoundException
|
* @throws \think\db\exception\DataNotFoundException
|
||||||
* @throws \think\db\exception\DbException
|
* @throws \think\db\exception\DbException
|
||||||
* @throws \think\db\exception\ModelNotFoundException
|
* @throws \think\db\exception\ModelNotFoundException
|
||||||
@ -72,7 +73,7 @@ class Login extends Controller
|
|||||||
$this->error('手机号已注册,请使用其它手机号!');
|
$this->error('手机号已注册,请使用其它手机号!');
|
||||||
}
|
}
|
||||||
$data['password'] = md5($data['password']);
|
$data['password'] = md5($data['password']);
|
||||||
$user = UserService::instance()->save($map, $data, true);
|
$user = UserService::instance()->save($map, $data, 'web', true);
|
||||||
empty($user) ? $this->success('用户注册成功!', $user) : $this->error('手机注册失败!');
|
empty($user) ? $this->success('用户注册成功!', $user) : $this->error('手机注册失败!');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -82,7 +82,7 @@ class Wechat extends Controller
|
|||||||
$data['base_sex'] = ['未知', '男', '女'][$data['sex']] ?? '未知';
|
$data['base_sex'] = ['未知', '男', '女'][$data['sex']] ?? '未知';
|
||||||
if (isset($data['headimgurl'])) $data['headimg'] = $data['headimgurl'];
|
if (isset($data['headimgurl'])) $data['headimg'] = $data['headimgurl'];
|
||||||
$map = isset($data['unionid']) ? ['unionid' => $data['unionid']] : ['openid2' => $this->openid];
|
$map = isset($data['unionid']) ? ['unionid' => $data['unionid']] : ['openid2' => $this->openid];
|
||||||
$this->userInfo = UserService::instance()->save($map, array_merge($map, $data), true);
|
$this->userInfo = UserService::instance()->save($map, array_merge($map, $data), 'wechat', true);
|
||||||
$content = $this->_buildContent();
|
$content = $this->_buildContent();
|
||||||
}
|
}
|
||||||
return Response::create($content)->contentType('application/x-javascript');
|
return Response::create($content)->contentType('application/x-javascript');
|
||||||
|
@ -51,7 +51,7 @@ class Wxapp extends Controller
|
|||||||
[$openid, $unionid, $sessionKey] = $this->_getSessionKey($input['code']);
|
[$openid, $unionid, $sessionKey] = $this->_getSessionKey($input['code']);
|
||||||
$map = empty($unionid) ? ['openid1' => $openid] : ['unionid' => $unionid];
|
$map = empty($unionid) ? ['openid1' => $openid] : ['unionid' => $unionid];
|
||||||
$data = array_merge($map, ['openid1' => $openid, 'session_key' => $sessionKey]);
|
$data = array_merge($map, ['openid1' => $openid, 'session_key' => $sessionKey]);
|
||||||
$this->success('授权换取成功!', UserService::instance()->save($map, $data, true));
|
$this->success('授权换取成功!', UserService::instance()->save($map, $data, 'wxapp', true));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -76,7 +76,7 @@ class Wxapp extends Controller
|
|||||||
$sex = ['未知', '男', '女'][$result['gender']] ?? '未知';
|
$sex = ['未知', '男', '女'][$result['gender']] ?? '未知';
|
||||||
$map = empty($result['unionId']) ? ['openid1' => $result['openId']] : ['unionid' => $result['unionId']];
|
$map = empty($result['unionId']) ? ['openid1' => $result['openId']] : ['unionid' => $result['unionId']];
|
||||||
$data = ['openid1' => $result['openId'], 'headimg' => $result['avatarUrl'], 'nickname' => $result['nickName'], 'base_sex' => $sex];
|
$data = ['openid1' => $result['openId'], 'headimg' => $result['avatarUrl'], 'nickname' => $result['nickName'], 'base_sex' => $sex];
|
||||||
$this->success('数据解密成功!', UserService::instance()->save($map, array_merge($map, $data), true));
|
$this->success('数据解密成功!', UserService::instance()->save($map, array_merge($map, $data), 'wxapp', true));
|
||||||
} elseif (is_array($result) && isset($result['phoneNumber'])) {
|
} elseif (is_array($result) && isset($result['phoneNumber'])) {
|
||||||
$this->success('数据解密成功!', $result);
|
$this->success('数据解密成功!', $result);
|
||||||
} else {
|
} else {
|
||||||
|
@ -25,7 +25,7 @@ class Address extends Auth
|
|||||||
public function set()
|
public function set()
|
||||||
{
|
{
|
||||||
$data = $this->_vali([
|
$data = $this->_vali([
|
||||||
'uid.value' => $this->uid,
|
'uid.value' => $this->uuid,
|
||||||
'code.default' => '',
|
'code.default' => '',
|
||||||
'type.default' => 0,
|
'type.default' => 0,
|
||||||
'type.in:0,1' => '地址状态不在范围!',
|
'type.in:0,1' => '地址状态不在范围!',
|
||||||
@ -47,14 +47,14 @@ class Address extends Auth
|
|||||||
$this->error('添加收货地址失败!');
|
$this->error('添加收货地址失败!');
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
$map = ['uid' => $this->uid, 'code' => $data['code']];
|
$map = ['uid' => $this->uuid, 'code' => $data['code']];
|
||||||
$address = $this->app->db->name($this->table)->where($map)->find();
|
$address = $this->app->db->name($this->table)->where($map)->find();
|
||||||
if (empty($address)) $this->error('修改收货地址不存在!');
|
if (empty($address)) $this->error('修改收货地址不存在!');
|
||||||
$this->app->db->name($this->table)->where($map)->update($data);
|
$this->app->db->name($this->table)->where($map)->update($data);
|
||||||
}
|
}
|
||||||
// 去除其它默认选项
|
// 去除其它默认选项
|
||||||
if (isset($data['type']) && $data['type'] > 0) {
|
if (isset($data['type']) && $data['type'] > 0) {
|
||||||
$map = [['uid', '=', $this->uid], ['code', '<>', $data['code']]];
|
$map = [['uid', '=', $this->uuid], ['code', '<>', $data['code']]];
|
||||||
$this->app->db->name($this->table)->where($map)->update(['type' => 0]);
|
$this->app->db->name($this->table)->where($map)->update(['type' => 0]);
|
||||||
}
|
}
|
||||||
$this->success('添加收货地址成功!', $this->_getAddress($data['code']));
|
$this->success('添加收货地址成功!', $this->_getAddress($data['code']));
|
||||||
@ -69,7 +69,7 @@ class Address extends Auth
|
|||||||
public function get()
|
public function get()
|
||||||
{
|
{
|
||||||
$query = $this->_query($this->table)->withoutField('deleted');
|
$query = $this->_query($this->table)->withoutField('deleted');
|
||||||
$query->equal('code')->where(['uid' => $this->uid, 'deleted' => 0]);
|
$query->equal('code')->where(['uid' => $this->uuid, 'deleted' => 0]);
|
||||||
$result = $query->order('type desc,id desc')->page(false, false, false, 15);
|
$result = $query->order('type desc,id desc')->page(false, false, false, 15);
|
||||||
$this->success('获取收货地址数据!', $result);
|
$this->success('获取收货地址数据!', $result);
|
||||||
}
|
}
|
||||||
@ -81,7 +81,7 @@ class Address extends Auth
|
|||||||
public function state()
|
public function state()
|
||||||
{
|
{
|
||||||
$data = $this->_vali([
|
$data = $this->_vali([
|
||||||
'uid.value' => $this->uid,
|
'uid.value' => $this->uuid,
|
||||||
'type.in:0,1' => '地址状态不在范围!',
|
'type.in:0,1' => '地址状态不在范围!',
|
||||||
'type.require' => '地址状态不能为空!',
|
'type.require' => '地址状态不能为空!',
|
||||||
'code.require' => '地址编号不能为空!',
|
'code.require' => '地址编号不能为空!',
|
||||||
@ -96,7 +96,7 @@ class Address extends Auth
|
|||||||
$this->app->db->name($this->table)->where($map)->update(['type' => $data['type']]);
|
$this->app->db->name($this->table)->where($map)->update(['type' => $data['type']]);
|
||||||
// 去除其它默认选项
|
// 去除其它默认选项
|
||||||
if ($data['type'] > 0) {
|
if ($data['type'] > 0) {
|
||||||
$map = [['uid', '=', $this->uid], ['code', '<>', $data['code']]];
|
$map = [['uid', '=', $this->uuid], ['code', '<>', $data['code']]];
|
||||||
$this->app->db->name($this->table)->where($map)->update(['type' => 0]);
|
$this->app->db->name($this->table)->where($map)->update(['type' => 0]);
|
||||||
}
|
}
|
||||||
$this->success('默认设置成功!', $this->_getAddress($data['code']));
|
$this->success('默认设置成功!', $this->_getAddress($data['code']));
|
||||||
@ -109,7 +109,7 @@ class Address extends Auth
|
|||||||
public function remove()
|
public function remove()
|
||||||
{
|
{
|
||||||
$map = $this->_vali([
|
$map = $this->_vali([
|
||||||
'uid.value' => $this->uid,
|
'uid.value' => $this->uuid,
|
||||||
'code.require' => '地址编号不能为空!',
|
'code.require' => '地址编号不能为空!',
|
||||||
]);
|
]);
|
||||||
$address = $this->app->db->name($this->table)->where($map)->find();
|
$address = $this->app->db->name($this->table)->where($map)->find();
|
||||||
@ -131,7 +131,7 @@ class Address extends Auth
|
|||||||
*/
|
*/
|
||||||
private function _getAddress(string $code)
|
private function _getAddress(string $code)
|
||||||
{
|
{
|
||||||
$map = ['code' => $code, 'uid' => $this->uid, 'deleted' => 0];
|
$map = ['code' => $code, 'uid' => $this->uuid, 'deleted' => 0];
|
||||||
return $this->app->db->name($this->table)->withoutField('deleted')->where($map)->find();
|
return $this->app->db->name($this->table)->withoutField('deleted')->where($map)->find();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -39,7 +39,7 @@ class Center extends Auth
|
|||||||
if ($vo === '') unset($data[$key]);
|
if ($vo === '') unset($data[$key]);
|
||||||
}
|
}
|
||||||
if (empty($data)) $this->error('没有修改的数据!');
|
if (empty($data)) $this->error('没有修改的数据!');
|
||||||
if ($this->app->db->name($this->table)->where(['id' => $this->uid])->update($data) !== false) {
|
if ($this->app->db->name($this->table)->where(['id' => $this->uuid])->update($data) !== false) {
|
||||||
$this->success('更新资料成功!', $this->getUser());
|
$this->success('更新资料成功!', $this->getUser());
|
||||||
} else {
|
} else {
|
||||||
$this->error('更新资料失败!');
|
$this->error('更新资料失败!');
|
||||||
@ -59,7 +59,7 @@ class Center extends Auth
|
|||||||
*/
|
*/
|
||||||
public function total()
|
public function total()
|
||||||
{
|
{
|
||||||
$this->success('获取用户统计!', UserService::instance()->total($this->uid));
|
$this->success('获取用户统计!', UserService::instance()->total($this->uuid));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -93,16 +93,16 @@ class Center extends Auth
|
|||||||
public function bindFrom()
|
public function bindFrom()
|
||||||
{
|
{
|
||||||
$data = $this->_vali(['from.require' => '邀请人不能为空']);
|
$data = $this->_vali(['from.require' => '邀请人不能为空']);
|
||||||
if ($data['from'] == $this->uid) {
|
if ($data['from'] == $this->uuid) {
|
||||||
$this->error('邀请人不能是自己哦', UserService::instance()->total($this->uid));
|
$this->error('邀请人不能是自己哦', UserService::instance()->total($this->uuid));
|
||||||
}
|
}
|
||||||
$from = $this->app->db->name($this->table)->where(['id' => $data['from']])->find();
|
$from = $this->app->db->name($this->table)->where(['id' => $data['from']])->find();
|
||||||
if (empty($from)) $this->error('邀请人状态异常', UserService::instance()->get($this->uid));
|
if (empty($from)) $this->error('邀请人状态异常', UserService::instance()->get($this->type, $this->uuid));
|
||||||
if ($this->user['from'] > 0) $this->error('您已经绑定了邀请人', UserService::instance()->total($this->uid));
|
if ($this->user['from'] > 0) $this->error('您已经绑定了邀请人', UserService::instance()->total($this->uuid));
|
||||||
if ($this->app->db->name($this->table)->where(['id' => $this->uid])->update($data) !== false) {
|
if ($this->app->db->name($this->table)->where(['id' => $this->uuid])->update($data) !== false) {
|
||||||
$this->success('绑定邀请人成功!', UserService::instance()->total($this->uid));
|
$this->success('绑定邀请人成功!', UserService::instance()->total($this->uuid));
|
||||||
} else {
|
} else {
|
||||||
$this->error('绑定邀请人失败!', UserService::instance()->total($this->uid));
|
$this->error('绑定邀请人失败!', UserService::instance()->total($this->uuid));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -115,7 +115,7 @@ class Center extends Auth
|
|||||||
public function getFrom()
|
public function getFrom()
|
||||||
{
|
{
|
||||||
$query = $this->_query($this->table);
|
$query = $this->_query($this->table);
|
||||||
$query->where(['from' => $this->uid])->field('id,from,username,nickname,headimg,create_at');
|
$query->where(['from' => $this->uuid])->field('id,from,username,nickname,headimg,create_at');
|
||||||
$this->success('获取我邀请的朋友', $query->order('id desc')->page(true, false, false, 15));
|
$this->success('获取我邀请的朋友', $query->order('id desc')->page(true, false, false, 15));
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -19,7 +19,7 @@ class News extends Auth
|
|||||||
public function addComment()
|
public function addComment()
|
||||||
{
|
{
|
||||||
$data = $this->_vali([
|
$data = $this->_vali([
|
||||||
'uid.value' => $this->uid,
|
'uid.value' => $this->uuid,
|
||||||
'code.require' => '文章不能为空!',
|
'code.require' => '文章不能为空!',
|
||||||
'content.require' => '内容不能为空!',
|
'content.require' => '内容不能为空!',
|
||||||
]);
|
]);
|
||||||
@ -39,7 +39,7 @@ class News extends Auth
|
|||||||
*/
|
*/
|
||||||
public function getComment()
|
public function getComment()
|
||||||
{
|
{
|
||||||
$map = $this->_vali(['uid.value' => $this->uid, 'code.require' => '文章不能为空!']);
|
$map = $this->_vali(['uid.value' => $this->uuid, 'code.require' => '文章不能为空!']);
|
||||||
$result = $this->_query('DataNewsXComment')->where($map)->order('id desc')->page(true, false);
|
$result = $this->_query('DataNewsXComment')->where($map)->order('id desc')->page(true, false);
|
||||||
if (count($result['list']) > 0) {
|
if (count($result['list']) > 0) {
|
||||||
NewsService::instance()->buildListByMinAndCode($result);
|
NewsService::instance()->buildListByMinAndCode($result);
|
||||||
@ -54,7 +54,7 @@ class News extends Auth
|
|||||||
public function delComment()
|
public function delComment()
|
||||||
{
|
{
|
||||||
$map = $this->_vali([
|
$map = $this->_vali([
|
||||||
'uid.value' => $this->uid,
|
'uid.value' => $this->uuid,
|
||||||
'id.require' => '评论ID不能为空!',
|
'id.require' => '评论ID不能为空!',
|
||||||
'code.require' => '文章CODE不能为空!',
|
'code.require' => '文章CODE不能为空!',
|
||||||
]);
|
]);
|
||||||
@ -104,7 +104,7 @@ class News extends Auth
|
|||||||
*/
|
*/
|
||||||
public function getCollect()
|
public function getCollect()
|
||||||
{
|
{
|
||||||
$map = ['uid' => $this->uid, 'type' => 1];
|
$map = ['uid' => $this->uuid, 'type' => 1];
|
||||||
$query = $this->_query('DataNewsXCollect')->where($map);
|
$query = $this->_query('DataNewsXCollect')->where($map);
|
||||||
$result = $query->order('id desc')->page(true, false, false, 15);
|
$result = $query->order('id desc')->page(true, false, false, 15);
|
||||||
if (count($result['list']) > 0) {
|
if (count($result['list']) > 0) {
|
||||||
@ -153,7 +153,7 @@ class News extends Auth
|
|||||||
public function getLike()
|
public function getLike()
|
||||||
{
|
{
|
||||||
$query = $this->_query('DataNewsXCollect')->order('id desc');
|
$query = $this->_query('DataNewsXCollect')->order('id desc');
|
||||||
$result = $query->where(['uid' => $this->uid, 'type' => 2])->page(true, false, false, 15);
|
$result = $query->where(['uid' => $this->uuid, 'type' => 2])->page(true, false, false, 15);
|
||||||
NewsService::instance()->buildListByMinAndCode($result['list']);
|
NewsService::instance()->buildListByMinAndCode($result['list']);
|
||||||
$this->success('获取点赞记录成功!', $result);
|
$this->success('获取点赞记录成功!', $result);
|
||||||
}
|
}
|
||||||
@ -167,7 +167,7 @@ class News extends Auth
|
|||||||
public function getHistory()
|
public function getHistory()
|
||||||
{
|
{
|
||||||
$query = $this->_query('DataNewsXCollect')->order('id desc');
|
$query = $this->_query('DataNewsXCollect')->order('id desc');
|
||||||
$result = $query->where(['uid' => $this->uid, 'type' => 3])->page(true, false, false, 15);
|
$result = $query->where(['uid' => $this->uuid, 'type' => 3])->page(true, false, false, 15);
|
||||||
NewsService::instance()->buildListByMinAndCode($result['list']);
|
NewsService::instance()->buildListByMinAndCode($result['list']);
|
||||||
$this->success('获取浏览历史成功!', $result);
|
$this->success('获取浏览历史成功!', $result);
|
||||||
}
|
}
|
||||||
@ -180,7 +180,7 @@ class News extends Auth
|
|||||||
private function _getCollectWhere(int $type = 1): array
|
private function _getCollectWhere(int $type = 1): array
|
||||||
{
|
{
|
||||||
return $this->_vali([
|
return $this->_vali([
|
||||||
'uid.value' => $this->uid,
|
'uid.value' => $this->uuid,
|
||||||
'type.value' => $type,
|
'type.value' => $type,
|
||||||
'code.require' => '编号不能为空!',
|
'code.require' => '编号不能为空!',
|
||||||
]);
|
]);
|
||||||
|
@ -36,7 +36,7 @@ class Order extends Auth
|
|||||||
*/
|
*/
|
||||||
public function get()
|
public function get()
|
||||||
{
|
{
|
||||||
$map = [['uid', '=', $this->uid]];
|
$map = [['uid', '=', $this->uuid]];
|
||||||
if (!$this->request->has('order_no', 'param', true)) {
|
if (!$this->request->has('order_no', 'param', true)) {
|
||||||
$map[] = ['status', 'in', [0, 2, 3, 4, 5]];
|
$map[] = ['status', 'in', [0, 2, 3, 4, 5]];
|
||||||
}
|
}
|
||||||
@ -59,10 +59,10 @@ class Order extends Auth
|
|||||||
if (empty($rules)) $this->error('商品规则不能为空!');
|
if (empty($rules)) $this->error('商品规则不能为空!');
|
||||||
// 订单数据
|
// 订单数据
|
||||||
[$codes, $items] = [[], []];
|
[$codes, $items] = [[], []];
|
||||||
$order = ['uid' => $this->uid, 'from' => input('from_mid', '0'), 'status' => 1];
|
$order = ['uid' => $this->uuid, 'from' => input('from_mid', '0'), 'status' => 1];
|
||||||
$order['order_no'] = CodeExtend::uniqidDate(18, 'N');
|
$order['order_no'] = CodeExtend::uniqidDate(18, 'N');
|
||||||
// 推荐人处理
|
// 推荐人处理
|
||||||
if ($order['from'] == $this->uid) {
|
if ($order['from'] == $this->uuid) {
|
||||||
$order['from'] = 0;
|
$order['from'] = 0;
|
||||||
}
|
}
|
||||||
if ($order['from'] > 0) {
|
if ($order['from'] > 0) {
|
||||||
@ -137,11 +137,11 @@ class Order extends Auth
|
|||||||
'order_no.require' => '订单单号不能为空!',
|
'order_no.require' => '订单单号不能为空!',
|
||||||
]);
|
]);
|
||||||
// 用户收货地址
|
// 用户收货地址
|
||||||
$map = ['uid' => $this->uid, 'code' => $data['code'], 'deleted' => 0];
|
$map = ['uid' => $this->uuid, 'code' => $data['code'], 'deleted' => 0];
|
||||||
$addr = $this->app->db->name('DataUserAddress')->where($map)->find();
|
$addr = $this->app->db->name('DataUserAddress')->where($map)->find();
|
||||||
if (empty($addr)) $this->error('用户收货地址异常!');
|
if (empty($addr)) $this->error('用户收货地址异常!');
|
||||||
// 订单状态检查
|
// 订单状态检查
|
||||||
$map = ['uid' => $this->uid, 'order_no' => $data['order_no']];
|
$map = ['uid' => $this->uuid, 'order_no' => $data['order_no']];
|
||||||
$order = $this->app->db->name('ShopOrder')->where($map)->whereIn('status', [1, 2])->find();
|
$order = $this->app->db->name('ShopOrder')->where($map)->whereIn('status', [1, 2])->find();
|
||||||
$tCount = $this->app->db->name('ShopOrderItem')->where($map)->sum('truck_count');
|
$tCount = $this->app->db->name('ShopOrderItem')->where($map)->sum('truck_count');
|
||||||
if (empty($order)) $this->error('不能修改收货地址哦!');
|
if (empty($order)) $this->error('不能修改收货地址哦!');
|
||||||
@ -151,9 +151,8 @@ class Order extends Auth
|
|||||||
[$amount, $tCount, $tCode, $remark] = TruckService::instance()->amount($tCode, $addr['province'], $addr['city'], $tCount);
|
[$amount, $tCount, $tCode, $remark] = TruckService::instance()->amount($tCode, $addr['province'], $addr['city'], $tCount);
|
||||||
// 创建订单发货信息
|
// 创建订单发货信息
|
||||||
$express = [
|
$express = [
|
||||||
'uid' => $this->uid, 'status' => 1,
|
'template_code' => $tCode, 'template_count' => $tCount, 'uid' => $this->uuid,
|
||||||
'template_code' => $tCode, 'template_count' => $tCount,
|
'template_remark' => $remark, 'template_amount' => $amount, 'status' => 1,
|
||||||
'template_remark' => $remark, 'template_amount' => $amount,
|
|
||||||
];
|
];
|
||||||
$express['order_no'] = $data['order_no'];
|
$express['order_no'] = $data['order_no'];
|
||||||
$express['address_code'] = $data['code'];
|
$express['address_code'] = $data['code'];
|
||||||
@ -166,7 +165,7 @@ class Order extends Auth
|
|||||||
$express['address_datetime'] = date('Y-m-d H:i:s');
|
$express['address_datetime'] = date('Y-m-d H:i:s');
|
||||||
data_save('ShopOrderSend', $express, 'order_no');
|
data_save('ShopOrderSend', $express, 'order_no');
|
||||||
// 更新订单状态,刷新订单金额
|
// 更新订单状态,刷新订单金额
|
||||||
$map = ['uid' => $this->uid, 'order_no' => $data['order_no']];
|
$map = ['uid' => $this->uuid, 'order_no' => $data['order_no']];
|
||||||
$update = ['status' => 2, 'amount_express' => $express['template_amount']];
|
$update = ['status' => 2, 'amount_express' => $express['template_amount']];
|
||||||
$update['amount_total'] = $order['amount_goods'] + $amount - $order['amount_reduct'] - $order['amount_discount'];
|
$update['amount_total'] = $order['amount_goods'] + $amount - $order['amount_reduct'] - $order['amount_discount'];
|
||||||
if ($this->app->db->name('ShopOrder')->where($map)->update($update) !== false) {
|
if ($this->app->db->name('ShopOrder')->where($map)->update($update) !== false) {
|
||||||
@ -232,7 +231,7 @@ class Order extends Auth
|
|||||||
public function cancel()
|
public function cancel()
|
||||||
{
|
{
|
||||||
$map = $this->_vali([
|
$map = $this->_vali([
|
||||||
'uid.value' => $this->uid,
|
'uid.value' => $this->uuid,
|
||||||
'order_no.require' => '订单号不能为空!',
|
'order_no.require' => '订单号不能为空!',
|
||||||
]);
|
]);
|
||||||
$order = $this->app->db->name('ShopOrder')->where($map)->find();
|
$order = $this->app->db->name('ShopOrder')->where($map)->find();
|
||||||
@ -263,7 +262,7 @@ class Order extends Auth
|
|||||||
public function confirm()
|
public function confirm()
|
||||||
{
|
{
|
||||||
$map = $this->_vali([
|
$map = $this->_vali([
|
||||||
'uid.value' => $this->uid,
|
'uid.value' => $this->uuid,
|
||||||
'order_no.require' => '订单号不能为空!',
|
'order_no.require' => '订单号不能为空!',
|
||||||
]);
|
]);
|
||||||
$order = $this->app->db->name('ShopOrder')->where($map)->find();
|
$order = $this->app->db->name('ShopOrder')->where($map)->find();
|
||||||
@ -288,7 +287,7 @@ class Order extends Auth
|
|||||||
*/
|
*/
|
||||||
public function total()
|
public function total()
|
||||||
{
|
{
|
||||||
$map = ['uid' => $this->uid, 'deleted' => 0];
|
$map = ['uid' => $this->uuid, 'deleted' => 0];
|
||||||
$data = ['t0' => 0, 't1' => 0, 't2' => 0, 't3' => 0, 't4' => 0, 't5' => 0];
|
$data = ['t0' => 0, 't1' => 0, 't2' => 0, 't3' => 0, 't4' => 0, 't5' => 0];
|
||||||
$query = $this->app->db->name('ShopOrder')->fieldRaw('status,count(1) count');
|
$query = $this->app->db->name('ShopOrder')->fieldRaw('status,count(1) count');
|
||||||
$query->where($map)->group('status')->select()->each(function ($item) use (&$data) {
|
$query->where($map)->group('status')->select()->each(function ($item) use (&$data) {
|
||||||
@ -304,7 +303,8 @@ class Order extends Auth
|
|||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
$data = $this->_vali([
|
$data = $this->_vali([
|
||||||
'code.require' => '快递编号不能为空!', 'number.require' => '配送单号不能为空!',
|
'code.require' => '快递编号不能为空!',
|
||||||
|
'number.require' => '配送单号不能为空!',
|
||||||
]);
|
]);
|
||||||
$result = TruckService::instance()->query($data['code'], $data['number']);
|
$result = TruckService::instance()->query($data['code'], $data['number']);
|
||||||
empty($result['code']) ? $this->error($result['info']) : $this->success('快递追踪信息', $result);
|
empty($result['code']) ? $this->error($result['info']) : $this->success('快递追踪信息', $result);
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
Target Server Version : 50562
|
Target Server Version : 50562
|
||||||
File Encoding : 65001
|
File Encoding : 65001
|
||||||
|
|
||||||
Date: 24/11/2020 15:59:13
|
Date: 24/11/2020 17:59:00
|
||||||
*/
|
*/
|
||||||
|
|
||||||
SET NAMES utf8mb4;
|
SET NAMES utf8mb4;
|
||||||
@ -82,7 +82,7 @@ CREATE TABLE `data_news_x_collect` (
|
|||||||
INDEX `idx_data_news_x_collect_mid`(`uid`) USING BTREE,
|
INDEX `idx_data_news_x_collect_mid`(`uid`) USING BTREE,
|
||||||
INDEX `idx_data_news_x_collect_type`(`type`) USING BTREE,
|
INDEX `idx_data_news_x_collect_type`(`type`) USING BTREE,
|
||||||
INDEX `idx_data_news_x_collect_code`(`code`) USING BTREE
|
INDEX `idx_data_news_x_collect_code`(`code`) USING BTREE
|
||||||
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '数据-文章-标记' ROW_FORMAT = Compact;
|
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '数据-文章-标记' ROW_FORMAT = COMPACT;
|
||||||
|
|
||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
-- Records of data_news_x_collect
|
-- Records of data_news_x_collect
|
||||||
@ -113,9 +113,7 @@ CREATE TABLE `data_news_x_comment` (
|
|||||||
DROP TABLE IF EXISTS `data_user`;
|
DROP TABLE IF EXISTS `data_user`;
|
||||||
CREATE TABLE `data_user` (
|
CREATE TABLE `data_user` (
|
||||||
`id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT,
|
`id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||||
`from` bigint(20) UNSIGNED NULL DEFAULT 0 COMMENT '邀请者UID',
|
`from` bigint(20) UNSIGNED NULL DEFAULT 0 COMMENT '邀请者MID',
|
||||||
`token` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '授权TOKEN令牌',
|
|
||||||
`tokenv` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '授权TOKEN验证',
|
|
||||||
`openid1` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '小程序OPENID',
|
`openid1` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '小程序OPENID',
|
||||||
`openid2` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '服务号OPENID',
|
`openid2` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '服务号OPENID',
|
||||||
`unionid` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '公众号UnionID',
|
`unionid` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '公众号UnionID',
|
||||||
@ -138,13 +136,12 @@ CREATE TABLE `data_user` (
|
|||||||
`deleted` tinyint(1) UNSIGNED NULL DEFAULT 0 COMMENT '删除状态',
|
`deleted` tinyint(1) UNSIGNED NULL DEFAULT 0 COMMENT '删除状态',
|
||||||
`create_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '注册时间',
|
`create_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '注册时间',
|
||||||
PRIMARY KEY (`id`) USING BTREE,
|
PRIMARY KEY (`id`) USING BTREE,
|
||||||
INDEX `idx_data_user_token`(`token`) USING BTREE,
|
|
||||||
INDEX `idx_data_user_status`(`status`) USING BTREE,
|
INDEX `idx_data_user_status`(`status`) USING BTREE,
|
||||||
INDEX `idx_data_user_deleted`(`deleted`) USING BTREE,
|
INDEX `idx_data_user_deleted`(`deleted`) USING BTREE,
|
||||||
INDEX `idx_data_user_openid1`(`openid1`) USING BTREE,
|
INDEX `idx_data_user_openid1`(`openid1`) USING BTREE,
|
||||||
INDEX `idx_data_user_openid2`(`openid2`) USING BTREE,
|
INDEX `idx_data_user_openid2`(`openid2`) USING BTREE,
|
||||||
INDEX `idx_data_user_unionid`(`unionid`) USING BTREE
|
INDEX `idx_data_user_unionid`(`unionid`) USING BTREE
|
||||||
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '数据-用户' ROW_FORMAT = COMPACT;
|
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '数据-用户-记录' ROW_FORMAT = COMPACT;
|
||||||
|
|
||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
-- Records of data_user
|
-- Records of data_user
|
||||||
@ -172,7 +169,7 @@ CREATE TABLE `data_user_address` (
|
|||||||
INDEX `idx_data_user_address_type`(`type`) USING BTREE,
|
INDEX `idx_data_user_address_type`(`type`) USING BTREE,
|
||||||
INDEX `idx_data_user_address_code`(`code`) USING BTREE,
|
INDEX `idx_data_user_address_code`(`code`) USING BTREE,
|
||||||
INDEX `idx_data_user_address_deleted`(`deleted`) USING BTREE
|
INDEX `idx_data_user_address_deleted`(`deleted`) USING BTREE
|
||||||
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '数据-用户-地址' ROW_FORMAT = Compact;
|
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '数据-用户-地址' ROW_FORMAT = COMPACT;
|
||||||
|
|
||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
-- Records of data_user_address
|
-- Records of data_user_address
|
||||||
@ -210,7 +207,7 @@ DROP TABLE IF EXISTS `data_user_coin_used`;
|
|||||||
CREATE TABLE `data_user_coin_used` (
|
CREATE TABLE `data_user_coin_used` (
|
||||||
`id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT,
|
`id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||||
`uid` bigint(20) UNSIGNED NULL DEFAULT 0 COMMENT '用户UID',
|
`uid` bigint(20) UNSIGNED NULL DEFAULT 0 COMMENT '用户UID',
|
||||||
`from` bigint(20) NULL DEFAULT 0 COMMENT '来自UID',
|
`from` bigint(20) NULL DEFAULT 0 COMMENT '来自MID',
|
||||||
`type` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '记录类型',
|
`type` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '记录类型',
|
||||||
`target` bigint(20) UNSIGNED NULL DEFAULT 0 COMMENT '目标ID',
|
`target` bigint(20) UNSIGNED NULL DEFAULT 0 COMMENT '目标ID',
|
||||||
`name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '记录名称',
|
`name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '记录名称',
|
||||||
@ -246,12 +243,34 @@ CREATE TABLE `data_user_message` (
|
|||||||
INDEX `idx_data_user_message_status`(`status`) USING BTREE,
|
INDEX `idx_data_user_message_status`(`status`) USING BTREE,
|
||||||
INDEX `idx_data_user_message_phone`(`phone`) USING BTREE,
|
INDEX `idx_data_user_message_phone`(`phone`) USING BTREE,
|
||||||
INDEX `idx_data_user_message_msgid`(`msgid`) USING BTREE
|
INDEX `idx_data_user_message_msgid`(`msgid`) USING BTREE
|
||||||
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '系统-用户-短信' ROW_FORMAT = Compact;
|
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '系统-用户-短信' ROW_FORMAT = COMPACT;
|
||||||
|
|
||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
-- Records of data_user_message
|
-- Records of data_user_message
|
||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Table structure for data_user_token
|
||||||
|
-- ----------------------------
|
||||||
|
DROP TABLE IF EXISTS `data_user_token`;
|
||||||
|
CREATE TABLE `data_user_token` (
|
||||||
|
`id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||||
|
`uid` bigint(20) UNSIGNED NULL DEFAULT 0 COMMENT '用户UID',
|
||||||
|
`type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '授权类型',
|
||||||
|
`time` bigint(20) UNSIGNED NULL DEFAULT 0 COMMENT '有效时间',
|
||||||
|
`token` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '授权TOKEN令牌',
|
||||||
|
`tokenv` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '授权TOKEN验证',
|
||||||
|
`create_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '注册时间',
|
||||||
|
PRIMARY KEY (`id`) USING BTREE,
|
||||||
|
INDEX `idx_data_user_token_type`(`type`) USING BTREE,
|
||||||
|
INDEX `idx_data_user_token_time`(`time`) USING BTREE,
|
||||||
|
INDEX `idx_data_user_token_token`(`token`) USING BTREE
|
||||||
|
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '数据-用户-认证' ROW_FORMAT = COMPACT;
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Records of data_user_token
|
||||||
|
-- ----------------------------
|
||||||
|
|
||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
-- Table structure for shop_goods
|
-- Table structure for shop_goods
|
||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
@ -284,7 +303,7 @@ CREATE TABLE `shop_goods` (
|
|||||||
PRIMARY KEY (`id`) USING BTREE,
|
PRIMARY KEY (`id`) USING BTREE,
|
||||||
INDEX `idx_data_news_item_status`(`status`) USING BTREE,
|
INDEX `idx_data_news_item_status`(`status`) USING BTREE,
|
||||||
INDEX `idx_data_news_item_deleted`(`deleted`) USING BTREE
|
INDEX `idx_data_news_item_deleted`(`deleted`) USING BTREE
|
||||||
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '商城-商品-内容' ROW_FORMAT = Compact;
|
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '商城-商品-内容' ROW_FORMAT = COMPACT;
|
||||||
|
|
||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
-- Records of shop_goods
|
-- Records of shop_goods
|
||||||
@ -308,7 +327,7 @@ CREATE TABLE `shop_goods_cate` (
|
|||||||
INDEX `idx_shop_goods_cate_sort`(`sort`) USING BTREE,
|
INDEX `idx_shop_goods_cate_sort`(`sort`) USING BTREE,
|
||||||
INDEX `idx_shop_goods_cate_status`(`status`) USING BTREE,
|
INDEX `idx_shop_goods_cate_status`(`status`) USING BTREE,
|
||||||
INDEX `idx_shop_goods_cate_deleted`(`deleted`) USING BTREE
|
INDEX `idx_shop_goods_cate_deleted`(`deleted`) USING BTREE
|
||||||
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '商城-商品-分类' ROW_FORMAT = Compact;
|
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '商城-商品-分类' ROW_FORMAT = COMPACT;
|
||||||
|
|
||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
-- Records of shop_goods_cate
|
-- Records of shop_goods_cate
|
||||||
@ -355,7 +374,7 @@ CREATE TABLE `shop_goods_mark` (
|
|||||||
PRIMARY KEY (`id`) USING BTREE,
|
PRIMARY KEY (`id`) USING BTREE,
|
||||||
INDEX `idx_shop_goods_mark_sort`(`sort`) USING BTREE,
|
INDEX `idx_shop_goods_mark_sort`(`sort`) USING BTREE,
|
||||||
INDEX `idx_shop_goods_mark_status`(`status`) USING BTREE
|
INDEX `idx_shop_goods_mark_status`(`status`) USING BTREE
|
||||||
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '商城-商品-标签' ROW_FORMAT = Compact;
|
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '商城-商品-标签' ROW_FORMAT = COMPACT;
|
||||||
|
|
||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
-- Records of shop_goods_mark
|
-- Records of shop_goods_mark
|
||||||
@ -377,7 +396,7 @@ CREATE TABLE `shop_goods_stock` (
|
|||||||
PRIMARY KEY (`id`) USING BTREE,
|
PRIMARY KEY (`id`) USING BTREE,
|
||||||
INDEX `idx_data_news_item_status`(`status`) USING BTREE,
|
INDEX `idx_data_news_item_status`(`status`) USING BTREE,
|
||||||
INDEX `idx_data_news_item_deleted`(`deleted`) USING BTREE
|
INDEX `idx_data_news_item_deleted`(`deleted`) USING BTREE
|
||||||
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '商城-商品-库存' ROW_FORMAT = Compact;
|
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '商城-商品-库存' ROW_FORMAT = COMPACT;
|
||||||
|
|
||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
-- Records of shop_goods_stock
|
-- Records of shop_goods_stock
|
||||||
@ -417,7 +436,7 @@ CREATE TABLE `shop_order` (
|
|||||||
INDEX `idx_shop_order_orderno`(`order_no`) USING BTREE,
|
INDEX `idx_shop_order_orderno`(`order_no`) USING BTREE,
|
||||||
INDEX `idx_shop_order_cancel_status`(`cancel_status`) USING BTREE,
|
INDEX `idx_shop_order_cancel_status`(`cancel_status`) USING BTREE,
|
||||||
INDEX `idx_shop_order_payment_status`(`payment_status`) USING BTREE
|
INDEX `idx_shop_order_payment_status`(`payment_status`) USING BTREE
|
||||||
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '商城-订单-内容' ROW_FORMAT = Compact;
|
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '商城-订单-内容' ROW_FORMAT = COMPACT;
|
||||||
|
|
||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
-- Records of shop_order
|
-- Records of shop_order
|
||||||
@ -453,7 +472,7 @@ CREATE TABLE `shop_order_item` (
|
|||||||
INDEX `idx_shop_order_item_goods_sku`(`goods_sku`) USING BTREE,
|
INDEX `idx_shop_order_item_goods_sku`(`goods_sku`) USING BTREE,
|
||||||
INDEX `idx_shop_order_item_goods_code`(`goods_code`) USING BTREE,
|
INDEX `idx_shop_order_item_goods_code`(`goods_code`) USING BTREE,
|
||||||
INDEX `idx_shop_order_item_goods_spec`(`goods_spec`) USING BTREE
|
INDEX `idx_shop_order_item_goods_spec`(`goods_spec`) USING BTREE
|
||||||
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '商城-订单-商品' ROW_FORMAT = Compact;
|
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '商城-订单-商品' ROW_FORMAT = COMPACT;
|
||||||
|
|
||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
-- Records of shop_order_item
|
-- Records of shop_order_item
|
||||||
@ -492,7 +511,7 @@ CREATE TABLE `shop_order_send` (
|
|||||||
INDEX `idx_shop_order_send_status`(`status`) USING BTREE,
|
INDEX `idx_shop_order_send_status`(`status`) USING BTREE,
|
||||||
INDEX `idx_shop_order_send_deleted`(`deleted`) USING BTREE,
|
INDEX `idx_shop_order_send_deleted`(`deleted`) USING BTREE,
|
||||||
INDEX `idx_shop_order_send_order_no`(`order_no`) USING BTREE
|
INDEX `idx_shop_order_send_order_no`(`order_no`) USING BTREE
|
||||||
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '商城-订单-配送' ROW_FORMAT = Compact;
|
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '商城-订单-配送' ROW_FORMAT = COMPACT;
|
||||||
|
|
||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
-- Records of shop_order_send
|
-- Records of shop_order_send
|
||||||
@ -520,7 +539,7 @@ CREATE TABLE `shop_order_service` (
|
|||||||
PRIMARY KEY (`id`) USING BTREE,
|
PRIMARY KEY (`id`) USING BTREE,
|
||||||
INDEX `idx_data_news_item_status`(`status`) USING BTREE,
|
INDEX `idx_data_news_item_status`(`status`) USING BTREE,
|
||||||
INDEX `idx_data_news_item_deleted`(`deleted`) USING BTREE
|
INDEX `idx_data_news_item_deleted`(`deleted`) USING BTREE
|
||||||
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '商城-订单-售后' ROW_FORMAT = Compact;
|
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '商城-订单-售后' ROW_FORMAT = COMPACT;
|
||||||
|
|
||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
-- Records of shop_order_service
|
-- Records of shop_order_service
|
||||||
@ -547,7 +566,7 @@ CREATE TABLE `shop_truck_company` (
|
|||||||
INDEX `idx_shop_truck_company_code3`(`code_3`) USING BTREE,
|
INDEX `idx_shop_truck_company_code3`(`code_3`) USING BTREE,
|
||||||
INDEX `idx_shop_truck_company_status`(`status`) USING BTREE,
|
INDEX `idx_shop_truck_company_status`(`status`) USING BTREE,
|
||||||
INDEX `idx_shop_truck_company_deleted`(`deleted`) USING BTREE
|
INDEX `idx_shop_truck_company_deleted`(`deleted`) USING BTREE
|
||||||
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '商城-快递-公司' ROW_FORMAT = Compact;
|
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '商城-快递-公司' ROW_FORMAT = COMPACT;
|
||||||
|
|
||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
-- Records of shop_truck_company
|
-- Records of shop_truck_company
|
||||||
@ -572,7 +591,7 @@ CREATE TABLE `shop_truck_region` (
|
|||||||
PRIMARY KEY (`id`) USING BTREE,
|
PRIMARY KEY (`id`) USING BTREE,
|
||||||
INDEX `idx_shop_truck_region_pid`(`pid`) USING BTREE,
|
INDEX `idx_shop_truck_region_pid`(`pid`) USING BTREE,
|
||||||
INDEX `idx_shop_truck_region_name`(`name`) USING BTREE
|
INDEX `idx_shop_truck_region_name`(`name`) USING BTREE
|
||||||
) ENGINE = InnoDB AUTO_INCREMENT = 4019 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '商城-快递-区域' ROW_FORMAT = Compact;
|
) ENGINE = InnoDB AUTO_INCREMENT = 4019 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '商城-快递-区域' ROW_FORMAT = COMPACT;
|
||||||
|
|
||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
-- Records of shop_truck_region
|
-- Records of shop_truck_region
|
||||||
@ -4337,7 +4356,7 @@ CREATE TABLE `shop_truck_template` (
|
|||||||
`deleted` tinyint(1) UNSIGNED NULL DEFAULT 0 COMMENT '删除状态',
|
`deleted` tinyint(1) UNSIGNED NULL DEFAULT 0 COMMENT '删除状态',
|
||||||
`create_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
`create_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||||
PRIMARY KEY (`id`) USING BTREE
|
PRIMARY KEY (`id`) USING BTREE
|
||||||
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '商城-快递-模板' ROW_FORMAT = Compact;
|
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '商城-快递-模板' ROW_FORMAT = COMPACT;
|
||||||
|
|
||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
-- Records of shop_truck_template
|
-- Records of shop_truck_template
|
||||||
|
@ -12,35 +12,29 @@ use think\admin\Service;
|
|||||||
class UserService extends Service
|
class UserService extends Service
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* 绑定数据表
|
* 认证有效时间
|
||||||
* @var string
|
* @var integer
|
||||||
*/
|
*/
|
||||||
protected $table = 'DataUser';
|
private $expire = 3600;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取用户资料
|
* 获取用户数据
|
||||||
* @param mixed $map 查询条件
|
* @param string $type 接口类型
|
||||||
* @param boolean $force 刷新令牌
|
* @param integer $uuid 用户UID
|
||||||
* @return array
|
* @return array
|
||||||
* @throws \think\Exception
|
* @throws \think\Exception
|
||||||
* @throws \think\db\exception\DataNotFoundException
|
* @throws \think\db\exception\DataNotFoundException
|
||||||
* @throws \think\db\exception\DbException
|
* @throws \think\db\exception\DbException
|
||||||
* @throws \think\db\exception\ModelNotFoundException
|
* @throws \think\db\exception\ModelNotFoundException
|
||||||
*/
|
*/
|
||||||
public function get($map, bool $force = false): array
|
public function get(string $type, int $uuid)
|
||||||
{
|
{
|
||||||
if (is_numeric($map)) {
|
$user = $this->app->db->name('DataUser')->where(['id' => $uuid, 'deleted' => 0])->findOrEmpty();
|
||||||
$map = ['id' => $map];
|
$data = $this->app->db->name('DataUserToken')->where(['uid' => $uuid, 'type' => $type])->findOrEmpty();
|
||||||
} elseif (is_string($map)) {
|
[$state, $message] = $this->checkUserToken($type, $data['token'], $data);
|
||||||
$map = ['token|openid1|openid2|unionid' => $map];
|
if (empty($state)) throw new \think\Exception($message);
|
||||||
}
|
unset($user['deleted'], $user['password']);
|
||||||
$user = $this->save($map, [], $force);
|
$user['token'] = ['token' => $data['token'], 'expire' => $data['time']];
|
||||||
if (empty($user)) {
|
|
||||||
throw new \think\Exception('登录授权失败');
|
|
||||||
}
|
|
||||||
// if ($member['tokenv'] !== $this->buildTokenVerify()) {
|
|
||||||
// throw new \think\Exception('请重新登录授权');
|
|
||||||
// }
|
|
||||||
return $user;
|
return $user;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -48,52 +42,89 @@ class UserService extends Service
|
|||||||
* 更新用户用户参数
|
* 更新用户用户参数
|
||||||
* @param array $map 查询条件
|
* @param array $map 查询条件
|
||||||
* @param array $data 更新数据
|
* @param array $data 更新数据
|
||||||
|
* @param string $type 接口类型
|
||||||
* @param boolean $force 强刷令牌
|
* @param boolean $force 强刷令牌
|
||||||
* @return array
|
* @return array
|
||||||
|
* @throws \think\Exception
|
||||||
* @throws \think\db\exception\DataNotFoundException
|
* @throws \think\db\exception\DataNotFoundException
|
||||||
* @throws \think\db\exception\DbException
|
* @throws \think\db\exception\DbException
|
||||||
* @throws \think\db\exception\ModelNotFoundException
|
* @throws \think\db\exception\ModelNotFoundException
|
||||||
*/
|
*/
|
||||||
public function save(array $map, array $data = [], bool $force = false): array
|
public function save(array $map, array $data, string $type, bool $force = false): array
|
||||||
{
|
{
|
||||||
$query = $this->app->db->name($this->table)->where($map);
|
unset($data['id'], $data['deleted'], $data['create_at']);
|
||||||
$member = $query->withoutField('deleted,password')->where(['deleted' => 0])->find() ?: [];
|
if ($uid = $this->app->db->name('DataUser')->where($map)->where(['deleted' => 0])->value('id')) {
|
||||||
unset($data['id'], $data['token'], $data['tokenv'], $data['deleted'], $data['create_at']);
|
if (!empty($data)) {
|
||||||
if (empty($data['phone']) && empty($data['unionid']) && empty($data['openid1']) && empty($data['openid2'])) {
|
$map = ['id' => $uid, 'deleted' => 0];
|
||||||
return $member;
|
$this->app->db->name('DataUser')->strict(false)->where($map)->update($data);
|
||||||
}
|
}
|
||||||
if ($force) $data = array_merge($data, $this->_buildUserToken());
|
|
||||||
if (isset($member['id']) && $member['id'] > 0) {
|
|
||||||
$map = ['id' => $member['id'], 'deleted' => 0];
|
|
||||||
$this->app->db->name($this->table)->strict(false)->where($map)->update($data);
|
|
||||||
} else {
|
} else {
|
||||||
$member['id'] = $this->app->db->name($this->table)->strict(false)->insertGetId($data);
|
$uid = $this->app->db->name('DataUser')->strict(false)->insertGetId($data);
|
||||||
}
|
}
|
||||||
$map = ['id' => $member['id'], 'deleted' => 0];
|
if ($force) $this->buildUserToken($uid, $type);
|
||||||
$query = $this->app->db->name($this->table)->where($map);
|
return $this->get($uid, $type);
|
||||||
return $query->withoutField('deleted,password')->find() ?: [];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取用户数据统计
|
* 获取用户数据统计
|
||||||
* @param int $mid 用户UID
|
* @param int $uid 用户UID
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
public function total(int $mid): array
|
public function total(int $uid): array
|
||||||
{
|
{
|
||||||
$query = $this->app->db->name($this->table);
|
$query = $this->app->db->name('DataUser');
|
||||||
return ['my_invite' => $query->where(['from' => $mid])->count()];
|
return ['my_invite' => $query->where(['from' => $uid])->count()];
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 生成新的用户令牌
|
* 生成新的用户令牌
|
||||||
* @return array
|
* @param int $uid 授权用户
|
||||||
|
* @param string $type 接口类型
|
||||||
|
* @return array [创建状态, 状态描述, 令牌数据]
|
||||||
|
* @throws \think\db\exception\DbException
|
||||||
*/
|
*/
|
||||||
private function _buildUserToken(): array
|
public function buildUserToken(int $uid, string $type): array
|
||||||
{
|
{
|
||||||
do $map = ['token' => md5(uniqid('', true) . rand(100, 999))];
|
// 清理历史认证及已过期的认证
|
||||||
while ($this->app->db->name($this->table)->where($map)->count() > 0);
|
$map1 = [['time', '<', $time = time()]];
|
||||||
return ['token' => $map['token'], 'tokenv' => $this->_buildTokenVerify()];
|
$map2 = [['uid', '=', $uid], ['type', '=', $type]];
|
||||||
|
$this->app->db->name('DataUserToken')->whereOr([$map1, $map2])->delete();
|
||||||
|
// 创建用户新的用户认证数据
|
||||||
|
do $map = ['type' => $type, 'token' => md5(uniqid('', true) . rand(100, 999))];
|
||||||
|
while ($this->app->db->name('DataUser')->where($map)->count() > 0);
|
||||||
|
$token = array_merge($map, ['time' => $time + $this->expire, 'tokenv' => $this->_buildTokenVerify()]);
|
||||||
|
if ($this->app->db->name('DataUserToken')->insert($token) !== false) {
|
||||||
|
return [1, '刷新用户认证成功', $token];
|
||||||
|
} else {
|
||||||
|
return [0, '刷新用户认证失败', []];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 检查接口授权 TOKEN 是否有效
|
||||||
|
* @param string $type 接口类型
|
||||||
|
* @param string $token 认证令牌
|
||||||
|
* @param array $data 认证数据
|
||||||
|
* @return array [ 检查状态,状态描述,用户UID, 有效时间 ]
|
||||||
|
* @throws \think\db\exception\DataNotFoundException
|
||||||
|
* @throws \think\db\exception\DbException
|
||||||
|
* @throws \think\db\exception\ModelNotFoundException
|
||||||
|
*/
|
||||||
|
public function checkUserToken(string $type, string $token, array $data = []): array
|
||||||
|
{
|
||||||
|
if (empty($data)) {
|
||||||
|
$map = ['type' => $type, 'token' => $token];
|
||||||
|
$data = $this->app->db->name('DataUserToken')->where($map)->find();
|
||||||
|
}
|
||||||
|
if (empty($data) || empty($data['uid'])) {
|
||||||
|
return [0, '接口认证令牌无效', 0, 0];
|
||||||
|
} elseif ($data['time'] < time()) {
|
||||||
|
return [0, '接口认证令牌已失效', 0, 0];
|
||||||
|
} elseif ($data['tokenv'] !== $this->_buildTokenVerify()) {
|
||||||
|
return [0, '接口请求客户端已更换', 0, 0];
|
||||||
|
} else {
|
||||||
|
return [1, '接口认证令牌验证成功', $data['uid'], $data['time']];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
x
Reference in New Issue
Block a user