活动区域图片限制添加数量

This commit is contained in:
evoxwht 2021-04-19 16:33:03 +08:00
parent b87c062a1c
commit 8c95b58fc3

View File

@ -114,10 +114,46 @@ class SystemGroupData extends AuthController
{
$Fields = GroupModel::getField($gid);
$params = request()->post();
$config_name = GroupModel::get(['id' => $gid])['config_name'];
//秒杀时间短判断
if ($config_name == 'routine_seckill_time') {
if ($params['time'] == '') {
return Json::fail('请输入开始时间');
}
if (!$params['continued']) {
return Json::fail('请输入持续时间');
}
if (!preg_match('/^(\d|1\d|2[0-3])$/', $params['time'])) {
return Json::fail('请输入0-23点之前的整点数');
}
if (!preg_match('/^([1-9]|1\d|2[0-4])$/', $params['continued'])) {
return Json::fail('请输入1-24点之前的持续时间');
}
if (($params['time'] + $params['continued']) > 24) {
return Json::fail('开始时间+持续时间不能大于24小时');
}
$list = GroupDataModel::where('gid', $gid)->column('value', 'id');
$times = $time = [];
foreach ($list as $item) {
$info = json_decode($item, true);
for ($i = 0; $i < $info['continued']['value']; $i++) {
$times[] = $info['time']['value'] + $i;
}
}
for ($i = 0; $i < $params['continued']; $i++) {
$time[] = $params['time'] + $i;
}
foreach ($time as $v) {
if (in_array($v, $times)) return Json::fail('时段已占用');
}
}
//活动区域图片最多为3个
if ($config_name == 'routine_home_activity') {
if (GroupDataModel::where('gid', $gid)->count() >= 3) return Json::fail('获取区域图片不能大于三个');
}
foreach ($params as $key => $param) {
foreach ($Fields['fields'] as $index => $field) {
if ($key == $field["title"]) {
// if($param == "" || count($param) == 0)
if ($param == "")
return Json::fail($field["name"] . "不能为空!");
else {
@ -228,17 +264,44 @@ class SystemGroupData extends AuthController
{
$GroupData = GroupDataModel::get($id);
$group = GroupModel::where('id', $GroupData['gid'])->find();
if(!$GroupData || !$group){
if (!$GroupData || !$group) {
return Json::fail('请检查配置');
}
$params = request()->post();
//秒杀
if($group['config_name'] == 'routine_seckill_time'){
if((int)($params['time'] + $params['continued']) > 24){
return Json::fail('请重新填写持续时间或者开始时间(时间跨度超过了一天)');
if ($group['config_name'] == 'routine_seckill_time') {
if ($params['time'] == '') {
return Json::fail('请输入开始时间');
}
if (!$params['continued']) {
return Json::fail('请输入持续时间');
}
if (!preg_match('/^(\d|1\d|2[0-3])$/', $params['time'])) {
return Json::fail('请输入0-23点之前的整点数');
}
if (!preg_match('/^([1-9]|1\d|2[0-4])$/', $params['continued'])) {
return Json::fail('请输入1-24点之前的持续时间');
}
if (($params['time'] + $params['continued']) > 24) {
return Json::fail('开始时间+持续时间不能大于24小时');
}
$list = GroupDataModel::where('gid', $GroupData['gid'])->column('value', 'id');
$times = $time = [];
if ($id) unset($list[$id]);
foreach ($list as $item) {
$info = json_decode($item, true);
for ($i = 0; $i < $info['continued']['value']; $i++) {
$times[] = $info['time']['value'] + $i;
}
}
for ($i = 0; $i < $params['continued']; $i++) {
$time[] = $params['time'] + $i;
}
foreach ($time as $v) {
if (in_array($v, $times)) return Json::fail('时段已占用');
}
}
$Fields = json_decode( $group['fields'],true) ?? [];
$Fields = json_decode($group['fields'], true) ?? [];
foreach ($params as $key => $param) {
foreach ($Fields as $index => $field) {