From ac3e79e819b855e107d879ef835f007bee697ee7 Mon Sep 17 00:00:00 2001 From: liujiang <569804566@qq.com> Date: Sun, 3 Aug 2025 22:26:51 +0800 Subject: [PATCH] =?UTF-8?q?master=EF=BC=9A=E7=B3=BB=E7=BB=9F=E8=B0=83?= =?UTF-8?q?=E4=BC=98=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/system/SysDictDataController.java | 6 ++++++ .../controller/system/SysDictTypeController.java | 12 ++++++------ .../controller/xkt/vo/advert/AdvertCreateVO.java | 3 +-- .../service/impl/SysDictTypeServiceImpl.java | 15 +++++++++++---- 4 files changed, 24 insertions(+), 12 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictDataController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictDataController.java index 64b1c90c8..8d1d86bf9 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictDataController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictDataController.java @@ -15,6 +15,7 @@ import com.ruoyi.system.service.ISysDictTypeService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; +import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -34,6 +35,7 @@ public class SysDictDataController extends BaseController { final ISysDictDataService dictDataService; final ISysDictTypeService dictTypeService; + @PreAuthorize("@ss.hasAnyRoles('admin,general_admin')") @ApiOperation(value = "新增字典明细类型", httpMethod = "POST", response = R.class) @Log(title = "新增字典明细类型", businessType = BusinessType.INSERT) @PostMapping @@ -41,6 +43,7 @@ public class SysDictDataController extends BaseController { return R.ok(dictDataService.create(BeanUtil.toBean(dataVO, DictDataDTO.class))); } + @PreAuthorize("@ss.hasAnyRoles('admin,general_admin')") @ApiOperation(value = "修改字典明细类型", httpMethod = "PUT", response = R.class) @Log(title = "修改字典明细类型", businessType = BusinessType.UPDATE) @PutMapping @@ -48,6 +51,7 @@ public class SysDictDataController extends BaseController { return R.ok(dictDataService.update(BeanUtil.toBean(dataVO, DictDataDTO.class))); } + @PreAuthorize("@ss.hasAnyRoles('admin,general_admin')") @ApiOperation(value = "删除字典明细类型", httpMethod = "PUT", response = R.class) @Log(title = "删除字典明细类型", businessType = BusinessType.DELETE) @DeleteMapping() @@ -55,12 +59,14 @@ public class SysDictDataController extends BaseController { return R.ok(dictDataService.delete(BeanUtil.toBean(deleteVO, DictDataDeleteDTO.class))); } + @PreAuthorize("@ss.hasAnyRoles('admin,general_admin')") @ApiOperation(value = "查询字典数据详细", httpMethod = "GET", response = R.class) @GetMapping(value = "/{dictDataId}") public R getInfo(@PathVariable Long dictDataId) { return R.ok(BeanUtil.toBean(dictDataService.selectById(dictDataId), DictDataResVO.class)); } + @PreAuthorize("@ss.hasAnyRoles('admin,general_admin')") @GetMapping(value = "/type/{dictType}") @ApiOperation(value = "根据字典类型查询字典数据信息", httpMethod = "GET", response = R.class) public R> dictType(@PathVariable String dictType) { diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictTypeController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictTypeController.java index 26426486d..d295f8f0a 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictTypeController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictTypeController.java @@ -33,7 +33,7 @@ public class SysDictTypeController extends BaseController { final ISysDictTypeService dictTypeService; - @PreAuthorize("@ss.hasPermi('system:dict:add')") + @PreAuthorize("@ss.hasAnyRoles('admin,general_admin')") @ApiOperation(value = "新增字典类型", httpMethod = "POST", response = R.class) @Log(title = "新增字典类型", businessType = BusinessType.INSERT) @PostMapping @@ -41,14 +41,14 @@ public class SysDictTypeController extends BaseController { return R.ok(dictTypeService.create(BeanUtil.toBean(dictTypeVO, DictTypeDTO.class))); } - @PreAuthorize("@ss.hasPermi('system:dict:list')") + @PreAuthorize("@ss.hasAnyRoles('admin,general_admin')") @ApiOperation(value = "查询字典类型列表", httpMethod = "POST", response = R.class) @PostMapping("/page") public R> page(@Validated @RequestBody DictTypePageVO pageVO) { return R.ok(dictTypeService.page(BeanUtil.toBean(pageVO, DictTypePageDTO.class))); } - @PreAuthorize("@ss.hasPermi('system:dict:edit')") + @PreAuthorize("@ss.hasAnyRoles('admin,general_admin')") @ApiOperation(value = "修改字典类型", httpMethod = "PUT", response = R.class) @Log(title = "修改字典类型", businessType = BusinessType.UPDATE) @PutMapping @@ -56,7 +56,7 @@ public class SysDictTypeController extends BaseController { return R.ok(dictTypeService.update(BeanUtil.toBean(dictTypeVO, DictTypeDTO.class))); } - @PreAuthorize("@ss.hasPermi('system:dict:remove')") + @PreAuthorize("@ss.hasAnyRoles('admin,general_admin')") @ApiOperation(value = "删除字典类型", httpMethod = "DELETE", response = R.class) @Log(title = "字典类型", businessType = BusinessType.DELETE) @DeleteMapping() @@ -64,14 +64,13 @@ public class SysDictTypeController extends BaseController { return R.ok(dictTypeService.delete(BeanUtil.toBean(deleteVO, DictTypeDeleteDTO.class))); } - @PreAuthorize("@ss.hasPermi('system:dict:query')") + @PreAuthorize("@ss.hasAnyRoles('admin,general_admin')") @ApiOperation(value = "查询字典类型详细", httpMethod = "GET", response = R.class) @GetMapping(value = "/{dictId}") public R getInfo(@PathVariable Long dictId) { return R.ok(BeanUtil.toBean(dictTypeService.selectById(dictId), DictTypeResVO.class)); } - @PreAuthorize("@ss.hasPermi('system:dict:remove')") @ApiOperation(value = "刷新字典缓存", httpMethod = "DELETE", response = R.class) @Log(title = "刷新字典缓存", businessType = BusinessType.CLEAN) @DeleteMapping("/refreshCache") @@ -80,6 +79,7 @@ public class SysDictTypeController extends BaseController { return R.ok(); } + @PreAuthorize("@ss.hasAnyRoles('admin,general_admin')") @ApiOperation(value = "获取字典选择框列表", httpMethod = "DELETE", response = R.class) @GetMapping("/optionselect") public R> optionSelect() { diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/advert/AdvertCreateVO.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/advert/AdvertCreateVO.java index 11b5ca152..c1a01d2e0 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/advert/AdvertCreateVO.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/advert/AdvertCreateVO.java @@ -36,8 +36,7 @@ public class AdvertCreateVO { @NotNull(message = "播放轮次展示类型不能为空!") @ApiModelProperty(value = "播放轮次展示类型 1 时间范围or 2位置枚举", required = true) private Integer showType; - @NotNull(message = "prodMaxNum不能为空!") - @ApiModelProperty(value = "播放商品,或者图及商品 最多可容纳的商品数量", required = true) + @ApiModelProperty(value = "播放商品,或者图及商品 最多可容纳的商品数量") private Integer prodMaxNum; @NotNull(message = "展示类型不能为空!") @ApiModelProperty(value = "展示类型 1推广图、2商品、3推广图及商品", required = true) diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictTypeServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictTypeServiceImpl.java index 9ff8b7c0b..b644fbd80 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictTypeServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictTypeServiceImpl.java @@ -22,15 +22,13 @@ import com.ruoyi.system.mapper.SysDictDataMapper; import com.ruoyi.system.mapper.SysDictTypeMapper; import com.ruoyi.system.service.ISysDictTypeService; import lombok.RequiredArgsConstructor; +import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.ObjectUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.PostConstruct; -import java.util.Comparator; -import java.util.List; -import java.util.Map; -import java.util.Optional; +import java.util.*; import java.util.stream.Collectors; import static com.ruoyi.common.utils.SecurityUtils.getUsername; @@ -112,6 +110,15 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService { SysDictType dict = Optional.ofNullable(this.dictTypeMapper.selectOne(new LambdaQueryWrapper() .eq(SysDictType::getDictId, typeDTO.getDictId()).eq(SysDictType::getDelFlag, Constants.UNDELETED))) .orElseThrow(() -> new ServiceException("字典类型不存在!", HttpStatus.ERROR)); + // 如果字典类型被修改,则同步修改sys_dict_data中的数据 + if (!Objects.equals(dict.getDictType(), typeDTO.getDictType())) { + List dataList = this.dictDataMapper.selectList(new LambdaQueryWrapper() + .eq(SysDictData::getDictType, dict.getDictType()).eq(SysDictData::getDelFlag, Constants.UNDELETED)); + if (CollectionUtils.isNotEmpty(dataList)) { + dataList.forEach(x -> x.setDictType(typeDTO.getDictType())); + this.dictDataMapper.updateById(dataList); + } + } dict.setUpdateBy(getUsername()); BeanUtil.copyProperties(typeDTO, dict); return this.dictTypeMapper.updateById(dict);