Browse Source

优化清除接口

master
wanghongjun 3 years ago
parent
commit
3f5ea1f8f9
  1. 15
      app/controller/AdminZoneManage.php
  2. 36
      app/logic/Zone.php
  3. 26
      route/app.php

15
app/controller/AdminZoneManage.php

@ -101,6 +101,21 @@ class AdminZoneManage extends BaseController
$zone_goods_id = $param['zone_goods_id'] ?? ''; $zone_goods_id = $param['zone_goods_id'] ?? '';
$ZoneGoodsParam = new ZoneGoodsParam(); $ZoneGoodsParam = new ZoneGoodsParam();
# 填写总概率不能超出 1
$queryWhere = [['zone_goods_id','=',$zone_goods_id],['status','=',1]];
# 编辑时不算当前id
if (empty($id) && is_numeric($id)) $queryWhere[] = ['id','<>',$id];
$query = $ZoneGoodsParam->where($queryWhere)
->field('SUM(probability) as sum_p')
->find();
if (!empty($query->sum_p)) {
$sumProbability = $query->sum_p + ($param['probability'] / 100);
if ($sumProbability > 1) {
throw new ValidateException('奖金总概率数不得超出100%,现已超出' . (($sumProbability - 1) * 100) . '%' );
}
}
if ($id) { if ($id) {
validate(ZoneValidate::class)->scene('goodsParamEdit')->check($param); validate(ZoneValidate::class)->scene('goodsParamEdit')->check($param);
$Save = $ZoneGoodsParam->find($id); $Save = $ZoneGoodsParam->find($id);

36
app/logic/Zone.php

@ -42,6 +42,12 @@ class Zone
*/ */
public static function createOrder($user_id,$zone_goods_id) public static function createOrder($user_id,$zone_goods_id)
{ {
# 判断用户是否存在未刮的
$inspect = self::inspectCompleteRecord($user_id);
if ($inspect['status']) {
return $inspect;
}
# 获取奖项个参数 # 获取奖项个参数
$zoneParamArr = ZoneGoodsParam::getList(['zone_goods_id' => $zone_goods_id]); $zoneParamArr = ZoneGoodsParam::getList(['zone_goods_id' => $zone_goods_id]);
@ -97,10 +103,12 @@ class Zone
foreach ($data as $key => $goodsParam) { foreach ($data as $key => $goodsParam) {
foreach ($goodsParam as $k => $item) { foreach ($goodsParam as $k => $item) {
$data[$key][$k]['is_awards'] = 0; $data[$key][$k]['is_awards'] = 0;
$awardsAmountRes = ZoneGoodsParam::getAwardsAmount($item['id']); if (isset($item['id'])) {
if ($awardsAmountRes) { $awardsAmountRes = ZoneGoodsParam::getAwardsAmount($item['id']);
$data[$key][$k]['is_awards'] = 1; if ($awardsAmountRes) {
$awards_amount += $item['amount']; $data[$key][$k]['is_awards'] = 1;
$awards_amount += $item['amount'];
}
} }
} }
} }
@ -134,6 +142,26 @@ class Zone
} }
} }
/**
* 检查用户是否存在未刮的
* @param $user_id
* @return array|int[]
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\DbException
* @throws \think\db\exception\ModelNotFoundException
*/
public static function inspectCompleteRecord($user_id)
{
$query = ConsumptionRecords::where(['user_id' => $user_id,'status' => 0])->find();
if ($query) {
$data = self::handleTextData(unserialize($query['text_data']));
return ['status' => 1, 'data' => $data, 'c_r_id' => $query['id']];
};
return ['status' => 0];
}
/** /**
* 处理刮奖信息数据 * 处理刮奖信息数据
* @param $data * @param $data

26
route/app.php

@ -22,7 +22,7 @@ Route::group('passport',function (){
Route::post('sendCode','passport/sendCode'); Route::post('sendCode','passport/sendCode');
Route::post('adminLogin','passport/adminLogin'); Route::post('adminLogin','passport/adminLogin');
Route::post('agentLogin','passport/agentLogin'); Route::post('agentLogin','passport/agentLogin');
})->allowCrossDomain(); });
# 用户 # 用户
Route::group('index',function () { Route::group('index',function () {
@ -31,7 +31,7 @@ Route::group('index',function () {
Route::post('zoneList','index/zoneList'); Route::post('zoneList','index/zoneList');
Route::post('getNotice','index/getNotice'); Route::post('getNotice','index/getNotice');
Route::post('getNoticeInfo','index/getNoticeInfo')->middleware(CheckUser::class); Route::post('getNoticeInfo','index/getNoticeInfo')->middleware(CheckUser::class);
})->allowCrossDomain(); });
Route::group('user',function (){ Route::group('user',function (){
Route::rule('modifyPassword','user/modifyPassword'); Route::rule('modifyPassword','user/modifyPassword');
@ -40,7 +40,7 @@ Route::group('user',function (){
Route::rule('consumptionRecords','user/consumptionRecords'); Route::rule('consumptionRecords','user/consumptionRecords');
Route::rule('awardsRecords','user/awardsRecords'); Route::rule('awardsRecords','user/awardsRecords');
Route::rule('userInfo','user/userInfo'); Route::rule('userInfo','user/userInfo');
})->middleware(CheckUser::class)->allowCrossDomain(); })->middleware(CheckUser::class);
Route::group('zone',function(){ Route::group('zone',function(){
#Route::post('zoneList','zone/zoneList'); #Route::post('zoneList','zone/zoneList');
@ -49,7 +49,7 @@ Route::group('zone',function(){
Route::post('endLottery','zone/endLottery'); Route::post('endLottery','zone/endLottery');
Route::post('queryAwardsResult','zone/queryAwardsResult'); Route::post('queryAwardsResult','zone/queryAwardsResult');
Route::post('beginInitInfo','zone/beginInitInfo'); Route::post('beginInitInfo','zone/beginInitInfo');
})->middleware(CheckUser::class)->allowCrossDomain(); })->middleware(CheckUser::class);
# 代理 # 代理
Route::group('agentTeam',function(){ Route::group('agentTeam',function(){
@ -58,14 +58,14 @@ Route::group('agentTeam',function(){
Route::post('downScores','agentTeam/downScores'); Route::post('downScores','agentTeam/downScores');
Route::post('getAgentInviteCode','agentTeam/getAgentInviteCode'); Route::post('getAgentInviteCode','agentTeam/getAgentInviteCode');
Route::post('getAgentUserInfo','agentTeam/getAgentUserInfo'); Route::post('getAgentUserInfo','agentTeam/getAgentUserInfo');
})->middleware(CheckAgent::class)->allowCrossDomain(); })->middleware(CheckAgent::class);
# 总后台 # 总后台
Route::group('adminStatistics',function() { Route::group('adminStatistics',function() {
Route::post('needStatistics','adminStatistics/needStatistics'); Route::post('needStatistics','adminStatistics/needStatistics');
Route::post('userStatistics','adminStatistics/userStatistics'); Route::post('userStatistics','adminStatistics/userStatistics');
Route::post('upAndDownStatistics','adminStatistics/upAndDownStatistics'); Route::post('upAndDownStatistics','adminStatistics/upAndDownStatistics');
})->middleware(CheckAdmin::class)->allowCrossDomain(); })->middleware(CheckAdmin::class);
Route::group('adminUserTeam',function() { Route::group('adminUserTeam',function() {
Route::post('userList','adminUserTeam/userList'); Route::post('userList','adminUserTeam/userList');
@ -73,7 +73,7 @@ Route::group('adminUserTeam',function() {
Route::post('deleteUser','adminUserTeam/deleteUser'); Route::post('deleteUser','adminUserTeam/deleteUser');
Route::post('upScores','adminUserTeam/upScores'); Route::post('upScores','adminUserTeam/upScores');
Route::post('downScores','adminUserTeam/downScores'); Route::post('downScores','adminUserTeam/downScores');
})->middleware(CheckAdmin::class)->allowCrossDomain(); })->middleware(CheckAdmin::class);
Route::group('adminAgentTeam',function() { Route::group('adminAgentTeam',function() {
Route::post('agentList','adminAgentTeam/agentList'); Route::post('agentList','adminAgentTeam/agentList');
@ -82,13 +82,13 @@ Route::group('adminAgentTeam',function() {
Route::post('editAgent','adminAgentTeam/editAgent'); Route::post('editAgent','adminAgentTeam/editAgent');
Route::post('deleteAgent','adminAgentTeam/deleteAgent'); Route::post('deleteAgent','adminAgentTeam/deleteAgent');
Route::post('addAgent','adminAgentTeam/addAgent'); Route::post('addAgent','adminAgentTeam/addAgent');
})->middleware(CheckAdmin::class)->allowCrossDomain(); })->middleware(CheckAdmin::class);
Route::group('adminUser',function() { Route::group('adminUser',function() {
Route::post('userInfo','adminUser/userInfo'); Route::post('userInfo','adminUser/userInfo');
Route::post('upScoresList','adminUser/upScoresList'); Route::post('upScoresList','adminUser/upScoresList');
Route::post('downScoresList','adminUser/downScoresList'); Route::post('downScoresList','adminUser/downScoresList');
})->middleware(CheckAdmin::class)->allowCrossDomain(); })->middleware(CheckAdmin::class);
Route::group('adminZoneManage',function() { Route::group('adminZoneManage',function() {
Route::post('zoneGoodsList','adminZoneManage/zoneGoodsList'); Route::post('zoneGoodsList','adminZoneManage/zoneGoodsList');
@ -96,26 +96,26 @@ Route::group('adminZoneManage',function() {
Route::post('goodsParamList','adminZoneManage/goodsParamList'); Route::post('goodsParamList','adminZoneManage/goodsParamList');
Route::post('goodsParamSave','adminZoneManage/goodsParamSave'); Route::post('goodsParamSave','adminZoneManage/goodsParamSave');
Route::post('goodsParamDel','adminZoneManage/goodsParamDel'); Route::post('goodsParamDel','adminZoneManage/goodsParamDel');
})->middleware(CheckAdmin::class)->allowCrossDomain(); })->middleware(CheckAdmin::class);
Route::group('customerService',function() { Route::group('customerService',function() {
Route::post('list','customerService/list'); Route::post('list','customerService/list');
Route::post('save','customerService/save'); Route::post('save','customerService/save');
Route::post('delete','customerService/delete'); Route::post('delete','customerService/delete');
})->middleware(CheckAdmin::class)->allowCrossDomain(); })->middleware(CheckAdmin::class);
Route::group('notice',function() { Route::group('notice',function() {
Route::post('list','notice/list'); Route::post('list','notice/list');
Route::post('save','notice/save'); Route::post('save','notice/save');
Route::post('delete','notice/delete'); Route::post('delete','notice/delete');
})->middleware(CheckAdmin::class)->allowCrossDomain(); })->middleware(CheckAdmin::class);
Route::group('rotationChart',function() { Route::group('rotationChart',function() {
Route::post('list','rotationChart/list'); Route::post('list','rotationChart/list');
Route::post('save','rotationChart/save'); Route::post('save','rotationChart/save');
Route::post('delete','rotationChart/delete'); Route::post('delete','rotationChart/delete');
Route::post('upload','rotationChart/upload'); Route::post('upload','rotationChart/upload');
})->middleware(CheckAdmin::class)->allowCrossDomain(); })->middleware(CheckAdmin::class);
# 支付(待开发) # 支付(待开发)

Loading…
Cancel
Save