用户状态限制购物逻辑优化

feat/task1-c-wallet
devil_gong 2019-02-27 11:51:19 +08:00
parent 25330333a1
commit 70e87a5c09
4 changed files with 76 additions and 11 deletions

View File

@ -59,9 +59,9 @@ class Hook extends Controller
$user = UserService::LoginUserInfo();
if(!empty($user))
{
// 查询用户状态是否待审核状态
$user = UserService::UserInfo('id', $user['id']);
if(isset($user['status']) && in_array($user['status'], [0,1]))
// 查询用户状态是否正常
$ret = UserService::UserStatusCheck('id', $user['id']);
if($ret['code'] == 0)
{
return DataReturn('无需处理', 0);
}

View File

@ -65,6 +65,13 @@ class BuyService
return DataReturn($ret, -1);
}
// 查询用户状态是否正常
$ret = UserService::UserStatusCheck('id', $params['user']['id']);
if($ret['code'] != 0)
{
return $ret;
}
// 获取商品
$goods_id = intval($params['goods_id']);
$goods = Db::name('Goods')->where(['id'=>$goods_id, 'is_shelves'=>1, 'is_delete_time'=>0])->find();
@ -190,8 +197,8 @@ class BuyService
if($goods_base['code'] == 0)
{
$v['inventory'] = $goods_base['data']['inventory'];
$v['price'] = $goods_base['data']['price'];
$v['original_price'] = $goods_base['data']['original_price'];
$v['price'] = (float) $goods_base['data']['price'];
$v['original_price'] = (float) $goods_base['data']['original_price'];
$v['spec_weight'] = $goods_base['data']['weight'];
$v['spec_coding'] = $goods_base['data']['coding'];
$v['spec_barcode'] = $goods_base['data']['barcode'];
@ -203,7 +210,7 @@ class BuyService
$v['goods_url'] = MyUrl('index/goods/index', ['id'=>$v['goods_id']]);
$v['images_old'] = $v['images'];
$v['images'] = ResourcesService::AttachmentPathViewHandle($v['images']);
$v['total_price'] = $v['stock']*$v['price'];
$v['total_price'] = $v['stock']* ((float) $v['price']);
$v['buy_max_number'] = ($v['buy_max_number'] <= 0) ? $v['inventory']: $v['buy_max_number'];
}
}
@ -241,6 +248,13 @@ class BuyService
return DataReturn($ret, -1);
}
// 查询用户状态是否正常
$ret = UserService::UserStatusCheck('id', $params['user']['id']);
if($ret['code'] != 0)
{
return $ret;
}
// 删除
$where = [
'id' => explode(',', $params['id']),
@ -299,6 +313,13 @@ class BuyService
return DataReturn($ret, -1);
}
// 查询用户状态是否正常
$ret = UserService::UserStatusCheck('id', $params['user']['id']);
if($ret['code'] != 0)
{
return $ret;
}
// 更新
$where = [
'id' => intval($params['id']),
@ -385,8 +406,8 @@ class BuyService
if($goods_base['code'] == 0)
{
$ret['data'][0]['inventory'] = $goods_base['data']['inventory'];
$ret['data'][0]['price'] = $goods_base['data']['price'];
$ret['data'][0]['original_price'] = $goods_base['data']['original_price'];
$ret['data'][0]['price'] = (float) $goods_base['data']['price'];
$ret['data'][0]['original_price'] = (float) $goods_base['data']['original_price'];
$ret['data'][0]['spec_weight'] = $goods_base['data']['weight'];
$ret['data'][0]['spec_coding'] = $goods_base['data']['coding'];
$ret['data'][0]['spec_barcode'] = $goods_base['data']['barcode'];
@ -396,7 +417,7 @@ class BuyService
// 数量/小计
$ret['data'][0]['stock'] = $params['stock'];
$ret['data'][0]['total_price'] = $params['stock']*$ret['data'][0]['price'];
$ret['data'][0]['total_price'] = $params['stock']* ((float) $ret['data'][0]['price']);
return DataReturn('操作成功', 0, $ret['data']);
}
@ -604,6 +625,13 @@ class BuyService
return DataReturn($ret, -1);
}
// 查询用户状态是否正常
$ret = UserService::UserStatusCheck('id', $params['user']['id']);
if($ret['code'] != 0)
{
return $ret;
}
// 清单商品
$goods = self::BuyTypeGoodsList($params);
if(!isset($goods['code']) || $goods['code'] != 0)
@ -654,8 +682,6 @@ class BuyService
$order['confirm_time'] = time();
}
//print_r($goods['data']);die;
// 开始事务
Db::startTrans();

View File

@ -472,6 +472,13 @@ class GoodsService
return DataReturn($ret, -1);
}
// 查询用户状态是否正常
$ret = UserService::UserStatusCheck('id', $params['user']['id']);
if($ret['code'] != 0)
{
return $ret;
}
// 开始操作
$data = ['goods_id'=>intval($params['id']), 'user_id'=>$params['user']['id']];
$temp = Db::name('GoodsFavor')->where($data)->find();

View File

@ -41,6 +41,38 @@ class UserService
return empty($params['user_id']) ? null : self::UserLoginRecord($params['user_id'], true);
}
}
/**
* 用户状态校验
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2019-02-27
* @desc description
* @param [string] $field [条件字段]
* @param [string] $value [条件值]
*/
public static function UserStatusCheck($field, $value)
{
// 查询用户状态是否正常
$user = self::UserInfo($field, $value);
if(empty($user))
{
return DataReturn('用户不存在或已删除', -110);
}
if(!in_array($user['status'], [0,1]))
{
$common_user_status_list = lang('common_user_status_list');
if(isset($common_user_status_list[$user['status']]))
{
return DataReturn($common_user_status_list[$user['status']]['tips'], -110);
} else {
return DataReturn('用户状态有误', -110);
}
}
return DataReturn('正常', 0);
}
/**
* 用户列表
* @author Devil