diff --git a/yshop-app/src/main/java/co/yixiang/modules/activity/rest/StoreSeckillController.java b/yshop-app/src/main/java/co/yixiang/modules/activity/rest/StoreSeckillController.java index 43d7de53..d9042f16 100644 --- a/yshop-app/src/main/java/co/yixiang/modules/activity/rest/StoreSeckillController.java +++ b/yshop-app/src/main/java/co/yixiang/modules/activity/rest/StoreSeckillController.java @@ -110,6 +110,7 @@ public class StoreSeckillController { YxSystemGroupDataQueryCriteria queryCriteria = new YxSystemGroupDataQueryCriteria(); queryCriteria.setGroupName(ShopConstants.YSHOP_SECKILL_TIME); + queryCriteria.setStatus(1); List yxSystemGroupDataList = yxSystemGroupDataService.queryAll(queryCriteria); List list = new ArrayList<>(); diff --git a/yshop-shop/src/main/java/co/yixiang/modules/shop/rest/SystemGroupDataController.java b/yshop-shop/src/main/java/co/yixiang/modules/shop/rest/SystemGroupDataController.java index 58a7e46c..4cb4bc02 100644 --- a/yshop-shop/src/main/java/co/yixiang/modules/shop/rest/SystemGroupDataController.java +++ b/yshop-shop/src/main/java/co/yixiang/modules/shop/rest/SystemGroupDataController.java @@ -1,12 +1,12 @@ /** * Copyright (C) 2018-2021 * All rights reserved, Designed By www.yixiang.co - */ package co.yixiang.modules.shop.rest; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; +import cn.hutool.json.JSONUtil; import co.yixiang.constant.ShopConstants; import co.yixiang.exception.BadRequestException; import co.yixiang.logging.aop.log.Log; @@ -16,6 +16,7 @@ import co.yixiang.modules.shop.service.YxSystemGroupDataService; import co.yixiang.modules.shop.service.dto.YxSystemGroupDataQueryCriteria; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.cache.annotation.CacheEvict; @@ -25,19 +26,15 @@ import org.springframework.data.domain.Sort; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +import java.util.Map; /** -* @author hupeng -* @date 2019-10-18 -*/ + * @author hupeng + * @date 2019-10-18 + */ @Api(tags = "商城:数据配置管理") @RestController @RequestMapping("api") @@ -54,21 +51,21 @@ public class SystemGroupDataController { @GetMapping(value = "/yxSystemGroupData") @PreAuthorize("hasAnyRole('admin','YXSYSTEMGROUPDATA_ALL','YXSYSTEMGROUPDATA_SELECT')") public ResponseEntity getYxSystemGroupDatas(YxSystemGroupDataQueryCriteria criteria, - Pageable pageable){ + Pageable pageable) { Sort sort = Sort.by(Sort.Direction.DESC, "sort"); Pageable pageableT = PageRequest.of(pageable.getPageNumber(), pageable.getPageSize(), sort); - return new ResponseEntity<>(yxSystemGroupDataService.queryAll(criteria,pageableT),HttpStatus.OK); + return new ResponseEntity<>(yxSystemGroupDataService.queryAll(criteria, pageableT), HttpStatus.OK); } @ForbidSubmit @Log("新增数据配置") @ApiOperation(value = "新增数据配置") @PostMapping(value = "/yxSystemGroupData") - @CacheEvict(cacheNames = ShopConstants.YSHOP_REDIS_INDEX_KEY,allEntries = true) + @CacheEvict(cacheNames = ShopConstants.YSHOP_REDIS_INDEX_KEY, allEntries = true) @PreAuthorize("hasAnyRole('admin','YXSYSTEMGROUPDATA_ALL','YXSYSTEMGROUPDATA_CREATE')") - public ResponseEntity create(@RequestBody String jsonStr){ + public ResponseEntity create(@RequestBody String jsonStr) { JSONObject jsonObject = JSON.parseObject(jsonStr); this.checkParam(jsonObject); @@ -79,17 +76,27 @@ public class SystemGroupDataController { yxSystemGroupData.setStatus(jsonObject.getInteger("status")); yxSystemGroupData.setSort(jsonObject.getInteger("sort")); + List yshop_seckill_time = yxSystemGroupDataService.list(Wrappers.lambdaQuery() + .eq(YxSystemGroupData::getGroupName, "yshop_seckill_time")); + if (yxSystemGroupData.getStatus() == 1) { + yshop_seckill_time.forEach(item -> { + Map map = JSONUtil.toBean(item.getValue(), Map.class); + if (jsonObject.getInteger("time").equals(map.get("time"))) { + throw new BadRequestException("不能同时开启同一时间点"); + } + }); + } - return new ResponseEntity<>(yxSystemGroupDataService.save(yxSystemGroupData),HttpStatus.CREATED); + return new ResponseEntity<>(yxSystemGroupDataService.save(yxSystemGroupData), HttpStatus.CREATED); } @ForbidSubmit @Log("修改数据配置") @ApiOperation(value = "修改数据配置") @PutMapping(value = "/yxSystemGroupData") - @CacheEvict(cacheNames = ShopConstants.YSHOP_REDIS_INDEX_KEY,allEntries = true) + @CacheEvict(cacheNames = ShopConstants.YSHOP_REDIS_INDEX_KEY, allEntries = true) @PreAuthorize("hasAnyRole('admin','YXSYSTEMGROUPDATA_ALL','YXSYSTEMGROUPDATA_EDIT')") - public ResponseEntity update(@RequestBody String jsonStr){ + public ResponseEntity update(@RequestBody String jsonStr) { JSONObject jsonObject = JSON.parseObject(jsonStr); this.checkParam(jsonObject); @@ -98,15 +105,28 @@ public class SystemGroupDataController { yxSystemGroupData.setGroupName(jsonObject.get("groupName").toString()); jsonObject.remove("groupName"); yxSystemGroupData.setValue(jsonObject.toJSONString()); - if(jsonObject.getInteger("status") == null){ + yxSystemGroupData.setStatus(jsonObject.getInteger("status")); + + List yshop_seckill_time = yxSystemGroupDataService.list(Wrappers.lambdaQuery() + .eq(YxSystemGroupData::getGroupName, "yshop_seckill_time")); + if (yxSystemGroupData.getStatus() == 1) { + yshop_seckill_time.forEach(item -> { + Map map = JSONUtil.toBean(item.getValue(), Map.class); + if (jsonObject.getInteger("time").equals(map.get("time"))) { + throw new BadRequestException("不能同时开启同一时间点"); + } + }); + } + + if (jsonObject.getInteger("status") == null) { yxSystemGroupData.setStatus(1); - }else{ + } else { yxSystemGroupData.setStatus(jsonObject.getInteger("status")); } - if(jsonObject.getInteger("sort") == null){ + if (jsonObject.getInteger("sort") == null) { yxSystemGroupData.setSort(0); - }else{ + } else { yxSystemGroupData.setSort(jsonObject.getInteger("sort")); } @@ -121,37 +141,38 @@ public class SystemGroupDataController { @ApiOperation(value = "删除数据配置") @DeleteMapping(value = "/yxSystemGroupData/{id}") @PreAuthorize("hasAnyRole('admin','YXSYSTEMGROUPDATA_ALL','YXSYSTEMGROUPDATA_DELETE')") - public ResponseEntity delete(@PathVariable Integer id){ + public ResponseEntity delete(@PathVariable Integer id) { yxSystemGroupDataService.removeById(id); return new ResponseEntity(HttpStatus.OK); } /** * 检测参数 + * * @param jsonObject */ - private void checkParam(JSONObject jsonObject){ - if(ObjectUtil.isNotNull(jsonObject.get("name"))){ - if(StrUtil.isEmpty(jsonObject.getString("name"))){ + private void checkParam(JSONObject jsonObject) { + if (ObjectUtil.isNotNull(jsonObject.get("name"))) { + if (StrUtil.isEmpty(jsonObject.getString("name"))) { throw new BadRequestException("名称必须填写"); } } - if(ObjectUtil.isNotNull(jsonObject.get("title"))){ - if(StrUtil.isEmpty(jsonObject.getString("title"))){ + if (ObjectUtil.isNotNull(jsonObject.get("title"))) { + if (StrUtil.isEmpty(jsonObject.getString("title"))) { throw new BadRequestException("标题必须填写"); } } - if(ObjectUtil.isNotNull(jsonObject.get("pic"))){ - if(StrUtil.isEmpty(jsonObject.getString("pic"))){ + if (ObjectUtil.isNotNull(jsonObject.get("pic"))) { + if (StrUtil.isEmpty(jsonObject.getString("pic"))) { throw new BadRequestException("图片必须上传"); } } - if(ObjectUtil.isNotNull(jsonObject.get("info"))){ - if(StrUtil.isEmpty(jsonObject.getString("info"))){ + if (ObjectUtil.isNotNull(jsonObject.get("info"))) { + if (StrUtil.isEmpty(jsonObject.getString("info"))) { throw new BadRequestException("简介必须填写"); } }