Browse Source

新增五个接口的基础参数校验

master
weigang 6 years ago
parent
commit
610bc8036d
  1. 19
      app/Controller/BaseController.php
  2. 61
      app/Controller/CouponController.php

19
app/Controller/BaseController.php

@ -35,4 +35,23 @@ class BaseController extends AbstractController
{ {
return $this->result(0,$data, $message); return $this->result(0,$data, $message);
} }
/**
* 请求参数判空
* null&'null' / false&&'false' / '' / 'undefined' / 'unknown'
* @param mixed $var 参数
*/
public function empty($var)
{
return ! (
isset($var)
&& $var
&& !empty($var)
&& !is_null($var)
&& $var != 'undefined'
&& $var != 'unknown'
&& $var != 'null'
&& $var != 'false'
);
}
} }

61
app/Controller/CouponController.php

@ -27,8 +27,12 @@ class CouponController extends BaseController
*/ */
public function getSystemCouponUserList() public function getSystemCouponUserList()
{ {
$user_id = $this->request->input('user_id');
$receive_type = $this->request->input('receive_type');
$user_id = $this->request->input('user_id', 0);
$receive_type = $this->request->input('receive_type', 0);
if ($this->empty($user_id) || $this->empty($receive_type)) {
$this->success(['not_reveive' => []]);
}
$c_ids = CouponUserRecType::where('receive_type', $receive_type)->pluck('system_coupon_user_id'); $c_ids = CouponUserRecType::where('receive_type', $receive_type)->pluck('system_coupon_user_id');
$nowTime = time(); $nowTime = time();
@ -36,19 +40,10 @@ class CouponController extends BaseController
['user_id',"=",$user_id], ['user_id',"=",$user_id],
['receive_type',"=",$receive_type] ['receive_type',"=",$receive_type]
])->pluck('system_coupon_user_id'); ])->pluck('system_coupon_user_id');
// $ids = array_merge($c_ids->toArray(), $cr_ids->toArray());
//
// //领过券的ID
// $ids = collect($ids)->unique();
//领过券的ID
$c_ids = $c_ids->toArray(); $c_ids = $c_ids->toArray();
$cr_ids = $cr_ids->toArray(); $cr_ids = $cr_ids->toArray();
// $ids = [];
// foreach ($c_ids as $key => $val){
// if(!in_array($val,$cr_ids)) {
// $ids[] = $val;
// }
// }
// print_r($ids);print_r($c_ids);print_r($cr_ids);
$c = Db::table('ims_system_coupon_user as u') $c = Db::table('ims_system_coupon_user as u')
->where([ ->where([
@ -63,7 +58,7 @@ class CouponController extends BaseController
->whereNotIn('u.id',$cr_ids) ->whereNotIn('u.id',$cr_ids)
->select('u.*','type.one_receive_number') ->select('u.*','type.one_receive_number')
->orderBy('u.weigh','desc') ->orderBy('u.weigh','desc')
// ->orderByRaw('FIELD(u.id, '.implode(", " , $ids).')')
// ->orderByRaw('FIELD(u.id, '.implode(", " , $ids).')')
->limit(4) ->limit(4)
->get(); ->get();
foreach ($c as $k => &$v){ foreach ($c as $k => &$v){
@ -77,7 +72,7 @@ class CouponController extends BaseController
//统计用户 //统计用户
public function userCouponAccount() public function userCouponAccount()
{ {
$userId = $this->request->input("user_id");
$userId = $this->request->input("user_id", 0);
$nowTime = time(); $nowTime = time();
$num = Db::table('ims_system_coupon_user_receive as receive') $num = Db::table('ims_system_coupon_user_receive as receive')
@ -99,14 +94,21 @@ class CouponController extends BaseController
*/ */
public function userReceiveCoupon() public function userReceiveCoupon()
{ {
$userId = $this->request->input("user_id");
$receiveType = $this->request->input("receive_type");
$ids = $this->request->input("ids");
$userId = $this->request->input("user_id", 0);
$receiveType = $this->request->input("receive_type", 0);
$ids = $this->request->input("ids", '');
$ids = explode(',', $ids); $ids = explode(',', $ids);
$now = time(); $now = time();
$success = []; $success = [];
$fail = []; $fail = [];
if ($this->empty($userId) || $this->empty($receiveType) || $this->empty($ids)) {
return $this->success([
'success' => $success,
'fail' => $fail,
]);
}
Db::transaction(function () use ($ids,$receiveType,$userId,&$success,&$fail,$now) { Db::transaction(function () use ($ids,$receiveType,$userId,&$success,&$fail,$now) {
//读写锁,完全控制,性能底 //读写锁,完全控制,性能底
@ -159,6 +161,14 @@ class CouponController extends BaseController
public function getUserReceiveCouponList() public function getUserReceiveCouponList()
{ {
$userId = $this->request->input("user_id"); $userId = $this->request->input("user_id");
$not_expired = [];
$expired = [];
if ($this->empty($userId)) {
return $this->success(['not_expired' => $not_expired, 'expired' => $expired]);
}
$nowTime = time(); $nowTime = time();
$coupons = Db::table('ims_system_coupon_user_receive as receive') $coupons = Db::table('ims_system_coupon_user_receive as receive')
@ -171,9 +181,6 @@ class CouponController extends BaseController
->orderBy('u.weigh','desc') ->orderBy('u.weigh','desc')
->get(); ->get();
$not_expired = [];
$expired = [];
foreach ($coupons as $key => $coupon) { foreach ($coupons as $key => $coupon) {
if ($coupon->usable_end_time < $nowTime || $coupon->number_remain <= 0) { if ($coupon->usable_end_time < $nowTime || $coupon->number_remain <= 0) {
$expired[] = $coupon; $expired[] = $coupon;
@ -206,6 +213,16 @@ class CouponController extends BaseController
$storetypeId = $this->request->input('storetype_id', 0); $storetypeId = $this->request->input('storetype_id', 0);
$storetypeIds = explode(',', str_replace(',', ',', $storetypeId)); $storetypeIds = explode(',', str_replace(',', ',', $storetypeId));
$available = [];
$notAvailable = [];
if ($this->empty($orderAmount) || $this->empty($userId)) {
return $this->success([
'available' => $available,
'not_available' => array_values($notAvailable)
]);
}
// 获取用户优惠券 // 获取用户优惠券
$currentTime = time(); $currentTime = time();
@ -241,8 +258,6 @@ class CouponController extends BaseController
$redis = $container->get(Redis::class); $redis = $container->get(Redis::class);
$couponIds = $redis->sMembers('coupon_'.date('Ymd').'_used_'.$userId); $couponIds = $redis->sMembers('coupon_'.date('Ymd').'_used_'.$userId);
$available = [];
$notAvailable = [];
foreach ($data as $key => &$item) { foreach ($data as $key => &$item) {
if (in_array($item->id, $couponIds)) { if (in_array($item->id, $couponIds)) {
$notAvailable[$item->id] = $item; $notAvailable[$item->id] = $item;

Loading…
Cancel
Save