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'] ?? '';
$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) {
validate(ZoneValidate::class)->scene('goodsParamEdit')->check($param);
$Save = $ZoneGoodsParam->find($id);

36
app/logic/Zone.php

@ -42,6 +42,12 @@ class Zone
*/
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]);
@ -97,10 +103,12 @@ class Zone
foreach ($data as $key => $goodsParam) {
foreach ($goodsParam as $k => $item) {
$data[$key][$k]['is_awards'] = 0;
$awardsAmountRes = ZoneGoodsParam::getAwardsAmount($item['id']);
if ($awardsAmountRes) {
$data[$key][$k]['is_awards'] = 1;
$awards_amount += $item['amount'];
if (isset($item['id'])) {
$awardsAmountRes = ZoneGoodsParam::getAwardsAmount($item['id']);
if ($awardsAmountRes) {
$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

26
route/app.php

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

Loading…
Cancel
Save