diff --git a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/controller/SysDictDataController.java b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/controller/SysDictDataController.java index 376e1c7..790aa23 100644 --- a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/controller/SysDictDataController.java +++ b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/controller/SysDictDataController.java @@ -5,11 +5,14 @@ import com.muyu.common.core.utils.poi.ExcelUtil; import com.muyu.common.core.web.controller.BaseController; import com.muyu.common.core.domain.Result; import com.muyu.common.core.web.page.DataPageResp; +import com.muyu.common.core.web.page.PageQueryModel; import com.muyu.common.log.annotation.Log; import com.muyu.common.log.enums.BusinessType; import com.muyu.common.security.annotation.RequiresPermissions; import com.muyu.common.security.utils.SecurityUtils; import com.muyu.common.system.domain.SysDictData; +import com.muyu.system.domain.model.SysDictDataPageQueryModel; +import com.muyu.system.domain.rep.SysDictDataListReq; import com.muyu.system.service.SysDictDataService; import com.muyu.system.service.SysDictTypeService; import org.springframework.beans.factory.annotation.Autowired; @@ -36,18 +39,21 @@ public class SysDictDataController extends BaseController { @RequiresPermissions("system:dict:list") @PostMapping("/list") - public Result> list (@RequestBody SysDictData dictData) { - List list = dictDataService.selectDictDataList(dictData); - return Result.success(new DataPageResp<>(0,list)); + public Result> list (@RequestBody SysDictDataListReq sysDictDataListReq) { + PageQueryModel sysDictDataPageQueryModel = dictDataService.selectDictDataList(SysDictDataPageQueryModel.reqBuild(sysDictDataListReq)); + return Result.success( + DataPageResp.of(sysDictDataPageQueryModel) + ); } @Log(title = "字典数据", businessType = BusinessType.EXPORT) @RequiresPermissions("system:dict:export") @PostMapping("/export") - public void export (HttpServletResponse response, SysDictData dictData) { - List list = dictDataService.selectDictDataList(dictData); + public void export (HttpServletResponse response, SysDictDataListReq sysDictDataListReq) { + // TODO 需要重写导出查询 + PageQueryModel list = dictDataService.selectDictDataList(SysDictDataPageQueryModel.reqBuild(sysDictDataListReq)); ExcelUtil util = new ExcelUtil(SysDictData.class); - util.exportExcel(response, list, "字典数据"); + util.exportExcel(response, list.getDataList(), "字典数据"); } /** @@ -56,7 +62,7 @@ public class SysDictDataController extends BaseController { @RequiresPermissions("system:dict:query") @GetMapping(value = "/{dictCode}") public Result getInfo (@PathVariable("dictCode") Long dictCode) { - return success(dictDataService.selectDictDataById(dictCode)); + return success(dictDataService.getOneById(dictCode)); } /** @@ -79,7 +85,8 @@ public class SysDictDataController extends BaseController { @PostMapping public Result add (@Validated @RequestBody SysDictData dict) { dict.setCreateBy(SecurityUtils.getUsername()); - return toAjax(dictDataService.insertDictData(dict)); + dictDataService.insertDictData(dict); + return Result.success(); } /** @@ -90,7 +97,8 @@ public class SysDictDataController extends BaseController { @PutMapping public Result edit (@Validated @RequestBody SysDictData dict) { dict.setUpdateBy(SecurityUtils.getUsername()); - return toAjax(dictDataService.updateDictData(dict)); + dictDataService.updateDictData(dict); + return Result.success(); } /** diff --git a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/controller/SysDictTypeController.java b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/controller/SysDictTypeController.java index 1e17fe7..1d66f22 100644 --- a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/controller/SysDictTypeController.java +++ b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/controller/SysDictTypeController.java @@ -64,7 +64,8 @@ public class SysDictTypeController extends BaseController { return error("新增字典'" + dict.getDictName() + "'失败,字典类型已存在"); } dict.setCreateBy(SecurityUtils.getUsername()); - return toAjax(dictTypeService.insertDictType(dict)); + dictTypeService.insertDictType(dict); + return Result.success(); } /** @@ -78,7 +79,8 @@ public class SysDictTypeController extends BaseController { return error("修改字典'" + dict.getDictName() + "'失败,字典类型已存在"); } dict.setUpdateBy(SecurityUtils.getUsername()); - return toAjax(dictTypeService.updateDictType(dict)); + dictTypeService.updateDictType(dict); + return Result.success(); } /** diff --git a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/mapper/SysConfigMapper.java b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/mapper/SysConfigMapper.java index ced239a..f6c1f1e 100644 --- a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/mapper/SysConfigMapper.java +++ b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/mapper/SysConfigMapper.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.muyu.system.domain.SysConfig; /** + * 配置管理 * @author DongZl * @description: 配置mybatis配置 * @Date 2023-11-13 上午 10:05 diff --git a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/mapper/SysDeptMapper.java b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/mapper/SysDeptMapper.java index dac7df2..193ffdc 100644 --- a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/mapper/SysDeptMapper.java +++ b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/mapper/SysDeptMapper.java @@ -13,14 +13,6 @@ import java.util.List; * @author muyu */ public interface SysDeptMapper extends BaseMapper { - /** - * 查询部门管理数据 - * - * @param dept 部门信息 - * - * @return 部门信息集合 - */ - public List selectDeptList (SysDept dept); /** * 根据角色ID查询部门树信息 @@ -42,41 +34,6 @@ public interface SysDeptMapper extends BaseMapper { */ public int selectNormalChildrenDeptById (Long deptId); - /** - * 是否存在子节点 - * - * @param deptId 部门ID - * - * @return 结果 - */ - public int hasChildByDeptId (Long deptId); - - /** - * 查询部门是否存在用户 - * - * @param deptId 部门ID - * - * @return 结果 - */ - public int checkDeptExistUser (Long deptId); - - /** - * 校验部门名称是否唯一 - * - * @param deptName 部门名称 - * @param parentId 父部门ID - * - * @return 结果 - */ - public SysDept checkDeptNameUnique (@Param("deptName") String deptName, @Param("parentId") Long parentId); - - /** - * 修改所在部门正常状态 - * - * @param deptIds 部门ID组 - */ - public void updateDeptStatusNormal (Long[] deptIds); - /** * 修改子元素关系 * @@ -86,12 +43,4 @@ public interface SysDeptMapper extends BaseMapper { */ public int updateDeptChildren (@Param("depts") List depts); - /** - * 删除部门管理信息 - * - * @param deptId 部门ID - * - * @return 结果 - */ - public int deleteDeptById (Long deptId); } diff --git a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/mapper/SysDictDataMapper.java b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/mapper/SysDictDataMapper.java index 1e87a7e..308a1f3 100644 --- a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/mapper/SysDictDataMapper.java +++ b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/mapper/SysDictDataMapper.java @@ -12,95 +12,5 @@ import java.util.List; * @author muyu */ public interface SysDictDataMapper extends BaseMapper { - /** - * 根据条件分页查询字典数据 - * - * @param dictData 字典数据信息 - * - * @return 字典数据集合信息 - */ - public List selectDictDataList (SysDictData dictData); - /** - * 根据字典类型查询字典数据 - * - * @param dictType 字典类型 - * - * @return 字典数据集合信息 - */ - public List selectDictDataByType (String dictType); - - /** - * 根据字典类型和字典键值查询字典数据信息 - * - * @param dictType 字典类型 - * @param dictValue 字典键值 - * - * @return 字典标签 - */ - public String selectDictLabel (@Param("dictType") String dictType, @Param("dictValue") String dictValue); - - /** - * 根据字典数据ID查询信息 - * - * @param dictCode 字典数据ID - * - * @return 字典数据 - */ - public SysDictData selectDictDataById (Long dictCode); - - /** - * 查询字典数据 - * - * @param dictType 字典类型 - * - * @return 字典数据 - */ - public int countDictDataByType (String dictType); - - /** - * 通过字典ID删除字典数据信息 - * - * @param dictCode 字典数据ID - * - * @return 结果 - */ - public int deleteDictDataById (Long dictCode); - - /** - * 批量删除字典数据信息 - * - * @param dictCodes 需要删除的字典数据ID - * - * @return 结果 - */ - public int deleteDictDataByIds (Long[] dictCodes); - - /** - * 新增字典数据信息 - * - * @param dictData 字典数据信息 - * - * @return 结果 - */ - public int insertDictData (SysDictData dictData); - - /** - * 修改字典数据信息 - * - * @param dictData 字典数据信息 - * - * @return 结果 - */ - public int updateDictData (SysDictData dictData); - - /** - * 同步修改字典类型 - * - * @param oldDictType 旧字典类型 - * @param newDictType 新旧字典类型 - * - * @return 结果 - */ - public int updateDictDataType (@Param("oldDictType") String oldDictType, @Param("newDictType") String newDictType); } diff --git a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/mapper/SysDictTypeMapper.java b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/mapper/SysDictTypeMapper.java index 0a4ffe6..69cbeed 100644 --- a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/mapper/SysDictTypeMapper.java +++ b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/mapper/SysDictTypeMapper.java @@ -11,82 +11,5 @@ import java.util.List; * @author muyu */ public interface SysDictTypeMapper extends BaseMapper { - /** - * 根据条件分页查询字典类型 - * - * @param dictType 字典类型信息 - * - * @return 字典类型集合信息 - */ - public List selectDictTypeList (SysDictType dictType); - /** - * 根据所有字典类型 - * - * @return 字典类型集合信息 - */ - public List selectDictTypeAll (); - - /** - * 根据字典类型ID查询信息 - * - * @param dictId 字典类型ID - * - * @return 字典类型 - */ - public SysDictType selectDictTypeById (Long dictId); - - /** - * 根据字典类型查询信息 - * - * @param dictType 字典类型 - * - * @return 字典类型 - */ - public SysDictType selectDictTypeByType (String dictType); - - /** - * 通过字典ID删除字典信息 - * - * @param dictId 字典ID - * - * @return 结果 - */ - public int deleteDictTypeById (Long dictId); - - /** - * 批量删除字典类型信息 - * - * @param dictIds 需要删除的字典ID - * - * @return 结果 - */ - public int deleteDictTypeByIds (Long[] dictIds); - - /** - * 新增字典类型信息 - * - * @param dictType 字典类型信息 - * - * @return 结果 - */ - public int insertDictType (SysDictType dictType); - - /** - * 修改字典类型信息 - * - * @param dictType 字典类型信息 - * - * @return 结果 - */ - public int updateDictType (SysDictType dictType); - - /** - * 校验字典类型称是否唯一 - * - * @param dictType 字典类型 - * - * @return 结果 - */ - public SysDictType checkDictTypeUnique (String dictType); } diff --git a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/SysDictDataService.java b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/SysDictDataService.java index 0d9e8f5..cc904ac 100644 --- a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/SysDictDataService.java +++ b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/SysDictDataService.java @@ -3,9 +3,7 @@ package com.muyu.system.service; import com.baomidou.mybatisplus.extension.service.IService; import com.muyu.common.core.web.page.PageQueryModel; import com.muyu.common.system.domain.SysDictData; -import com.muyu.common.system.domain.SysDictType; import com.muyu.system.domain.model.SysDictDataPageQueryModel; -import com.muyu.system.domain.model.SysDictTypePageQueryModel; import java.util.List; @@ -18,11 +16,11 @@ public interface SysDictDataService extends IService { /** * 根据条件分页查询字典数据 * - * @param dictData 字典数据信息 + * @param pageQueryModel 字典数据信息 * * @return 字典数据集合信息 */ - public List selectDictDataList (SysDictData dictData); + public PageQueryModel selectDictDataList (SysDictDataPageQueryModel pageQueryModel); /** * 根据字典类型和字典键值查询字典数据信息 @@ -41,7 +39,7 @@ public interface SysDictDataService extends IService { * * @return 字典数据 */ - public SysDictData selectDictDataById (Long dictCode); + public SysDictData getOneById(Long dictCode); /** * 批量删除字典数据信息 @@ -54,20 +52,48 @@ public interface SysDictDataService extends IService { * 新增保存字典数据信息 * * @param dictData 字典数据信息 - * - * @return 结果 */ - public int insertDictData (SysDictData dictData); + public void insertDictData (SysDictData dictData); /** * 修改保存字典数据信息 * * @param dictData 字典数据信息 - * - * @return 结果 */ - public int updateDictData (SysDictData dictData); + public void updateDictData (SysDictData dictData); PageQueryModel pageQuery(SysDictDataPageQueryModel sysDictDataPageQueryModel); + /** + * 查询所有非禁用的字典 + * @return 非禁用字典集合 + */ + List findAllByEnable(); + + /** + * 通过旧的字典类型修改为新字典类型 + * @param oldDictType 旧字典类型 + * @param newDictType 新字典类型 + */ + void updateDictDataType(String oldDictType, String newDictType); + + /** + * 通过字典类型获取旗下所有字典值 + * @param dictType 字典类型 + * @return 所有字典值集合 + */ + List selectDictDataByType(String dictType); + + /** + * 根据字典类型查询字典下总数 + * @param dictType 字典类型 + * @return 总数 + */ + long countDictDataByType(String dictType); + /** + * 根据字典类型查询是否有子集 + * @param dictType 字典类型 + * @return 含有:true 不含有:false + */ + boolean isChildByType(String dictType); } diff --git a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/SysDictTypeService.java b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/SysDictTypeService.java index 521251e..897ffac 100644 --- a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/SysDictTypeService.java +++ b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/SysDictTypeService.java @@ -86,16 +86,14 @@ public interface SysDictTypeService extends IService { * * @return 结果 */ - public int insertDictType (SysDictType dictType); + public void insertDictType (SysDictType dictType); /** * 修改保存字典类型信息 * * @param dictType 字典类型信息 - * - * @return 结果 */ - public int updateDictType (SysDictType dictType); + public void updateDictType (SysDictType dictType); /** * 校验字典类型称是否唯一 diff --git a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/SysUserService.java b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/SysUserService.java index 371a1d1..90f762d 100644 --- a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/SysUserService.java +++ b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/SysUserService.java @@ -229,4 +229,11 @@ public interface SysUserService extends IService { public String importUser (List userList, Boolean isUpdateSupport, String operName); PageQueryModel pageQuery(SysUserPageQueryModel sysUserPageQueryModel); + + /** + * 检查部门下是否含有用户 + * @param deptId 部门ID + * @return 是:true 否:false + */ + boolean checkDeptExistUser(Long deptId); } diff --git a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/SysDeptServiceImpl.java b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/SysDeptServiceImpl.java index 0181f6e..e1a68c4 100644 --- a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/SysDeptServiceImpl.java +++ b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/SysDeptServiceImpl.java @@ -21,6 +21,7 @@ import com.muyu.system.domain.vo.TreeSelect; import com.muyu.system.mapper.SysDeptMapper; import com.muyu.system.mapper.SysRoleMapper; import com.muyu.system.service.SysDeptService; +import com.muyu.system.service.SysUserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.Assert; @@ -44,6 +45,9 @@ public class SysDeptServiceImpl extends ServiceImpl @Autowired private SysRoleMapper roleMapper; + @Autowired + private SysUserService sysUserService; + @Override public List queryList(SysDeptPageQueryModel sysDeptPageQueryModel) { @@ -171,8 +175,10 @@ public class SysDeptServiceImpl extends ServiceImpl */ @Override public boolean hasChildByDeptId (Long deptId) { - int result = deptMapper.hasChildByDeptId(deptId); - return result > 0; + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper() + .eq(SysDept::getDeptId, deptId) + .eq(SysDept::getDelFlag, SysNormalDisableEnum.ENABLE.getCode()); + return this.count(lambdaQueryWrapper) > 0; } /** @@ -184,8 +190,7 @@ public class SysDeptServiceImpl extends ServiceImpl */ @Override public boolean checkDeptExistUser (Long deptId) { - int result = deptMapper.checkDeptExistUser(deptId); - return result > 0; + return sysUserService.checkDeptExistUser(deptId); } /** diff --git a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/SysDictDataServiceImpl.java b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/SysDictDataServiceImpl.java index 90b7b8d..ca2c16c 100644 --- a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/SysDictDataServiceImpl.java +++ b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/SysDictDataServiceImpl.java @@ -1,22 +1,22 @@ package com.muyu.system.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.muyu.common.core.enums.SysNormalDisableEnum; import com.muyu.common.core.utils.StringUtils; import com.muyu.common.core.web.page.PageQueryModel; import com.muyu.common.security.utils.DictUtils; import com.muyu.common.system.domain.SysDictData; -import com.muyu.common.system.domain.SysDictType; import com.muyu.system.domain.model.SysDictDataPageQueryModel; -import com.muyu.system.domain.model.SysDictTypePageQueryModel; import com.muyu.system.mapper.SysDictDataMapper; import com.muyu.system.service.SysDictDataService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.util.Assert; import java.util.List; -import java.util.Objects; /** * 字典 业务层处理 @@ -38,8 +38,14 @@ public class SysDictDataServiceImpl extends ServiceImpl selectDictDataList (SysDictData dictData) { - return dictDataMapper.selectDictDataList(dictData); + public PageQueryModel selectDictDataList (SysDictDataPageQueryModel pageQueryModel) { + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(StringUtils.isNotNull(pageQueryModel.getDictType()),SysDictData::getDictType, pageQueryModel.getDictType()); + lambdaQueryWrapper.like(StringUtils.isNotNull(pageQueryModel.getDictLabel()),SysDictData::getDictLabel, pageQueryModel.getDictLabel()); + lambdaQueryWrapper.eq(StringUtils.isNotNull(pageQueryModel.getStatus()),SysDictData::getStatus, pageQueryModel.getStatus()); + Page sysDictDataPage = this.page(pageQueryModel.buildPage(), lambdaQueryWrapper); + + return PageQueryModel.of(sysDictDataPage); } /** @@ -52,7 +58,13 @@ public class SysDictDataServiceImpl extends ServiceImpl lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(SysDictData::getDictType, dictType); + lambdaQueryWrapper.eq(SysDictData::getDictValue, dictValue); + SysDictData sysDictData = this.getOne(lambdaQueryWrapper); + return sysDictData.getDictLabel(); } /** @@ -63,8 +75,10 @@ public class SysDictDataServiceImpl extends ServiceImpl lambdaQueryWrapper = new LambdaQueryWrapper() + .eq(SysDictData::getDictCode, dictCode); + return this.getOne(lambdaQueryWrapper); } /** @@ -75,10 +89,12 @@ public class SysDictDataServiceImpl extends ServiceImpl dictDatas = dictDataMapper.selectDictDataByType(data.getDictType()); - DictUtils.setDictCache(data.getDictType(), dictDatas); + SysDictData data = this.getOneById(dictCode); + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(SysDictData::getDictCode, dictCode); + this.remove(lambdaQueryWrapper); + List sysDictDataList = this.selectDictDataByType(data.getDictType()); + DictUtils.setDictCache(data.getDictType(), sysDictDataList); } } @@ -86,34 +102,26 @@ public class SysDictDataServiceImpl extends ServiceImpl 0) { - List dictDatas = dictDataMapper.selectDictDataByType(data.getDictType()); - DictUtils.setDictCache(data.getDictType(), dictDatas); + public void insertDictData (SysDictData data) { + if (this.save(data)) { + List dictDataList = this.selectDictDataByType(data.getDictType()); + DictUtils.setDictCache(data.getDictType(), dictDataList); } - return row; } /** * 修改保存字典数据信息 * * @param data 字典数据信息 - * - * @return 结果 */ @Override - public int updateDictData (SysDictData data) { - int row = dictDataMapper.updateDictData(data); - if (row > 0) { - List dictDatas = dictDataMapper.selectDictDataByType(data.getDictType()); - DictUtils.setDictCache(data.getDictType(), dictDatas); + public void updateDictData (SysDictData data) { + if (this.updateById(data)) { + List dictDataList = this.selectDictDataByType(data.getDictType()); + DictUtils.setDictCache(data.getDictType(), dictDataList); } - return row; } @Override @@ -125,4 +133,71 @@ public class SysDictDataServiceImpl extends ServiceImpl page = this.page(sysDictdataPageQueryModel.buildPage(), queryWrapper); return PageQueryModel.of(page); } + + /** + * 查询所有非禁用的字典 + * @return 非禁用字典集合 + */ + @Override + public List findAllByEnable() { + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(SysDictData::getStatus, SysNormalDisableEnum.ENABLE.getCode()); + return this.list(lambdaQueryWrapper); + } + + /** + * 通过旧的字典类型修改为新字典类型 + * + * @param oldDictType 旧字典类型 + * @param newDictType 新字典类型 + */ + @Override + public void updateDictDataType(String oldDictType, String newDictType) { + Assert.notNull(oldDictType, "旧字典类型不可为空"); + Assert.notNull(newDictType, "新字典类型不可为空"); + LambdaUpdateWrapper lambdaUpdateWrapper = new LambdaUpdateWrapper<>(); + lambdaUpdateWrapper.set(SysDictData::getDictType, newDictType); + lambdaUpdateWrapper.eq(SysDictData::getDictType, oldDictType); + this.update(lambdaUpdateWrapper); + } + + /** + * 通过字典类型获取旗下所有字典值 + * + * @param dictType 字典类型 + * @return 所有字典值集合 + */ + @Override + public List selectDictDataByType(String dictType) { + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(SysDictData::getDictType, dictType); + lambdaQueryWrapper.eq(SysDictData::getStatus, SysNormalDisableEnum.DISABLE.getCode()); + lambdaQueryWrapper.orderByAsc(SysDictData::getDictSort); + return this.list(lambdaQueryWrapper); + } + + /** + * 根据字典类型查询字典下总数 + * + * @param dictType 字典类型 + * @return 总数 + */ + @Override + public long countDictDataByType(String dictType) { + Assert.notNull(dictType, "字典类型不可为空"); + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(SysDictData::getDictType, dictType); + return this.count(lambdaQueryWrapper); + } + + /** + * 根据字典类型查询是否有子集 + * + * @param dictType 字典类型 + * @return 含有:true 不含有:false + */ + @Override + public boolean isChildByType(String dictType) { + return countDictDataByType(dictType) > 0; + } } diff --git a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/SysDictTypeServiceImpl.java b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/SysDictTypeServiceImpl.java index 5dacdbd..299c3b3 100644 --- a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/SysDictTypeServiceImpl.java +++ b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/SysDictTypeServiceImpl.java @@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.muyu.common.core.constant.UserConstants; +import com.muyu.common.core.enums.SysNormalDisableEnum; +import com.muyu.common.core.enums.SysWhetherEnum; import com.muyu.common.core.exception.ServiceException; import com.muyu.common.core.utils.StringUtils; import com.muyu.common.core.web.page.PageQueryModel; @@ -13,16 +15,15 @@ import com.muyu.common.system.domain.SysDictType; import com.muyu.system.domain.model.SysDictTypePageQueryModel; import com.muyu.system.mapper.SysDictDataMapper; import com.muyu.system.mapper.SysDictTypeMapper; +import com.muyu.system.service.SysDictDataService; import com.muyu.system.service.SysDictTypeService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.Assert; import javax.annotation.PostConstruct; -import java.util.Comparator; -import java.util.List; -import java.util.Map; -import java.util.Objects; +import java.util.*; import java.util.stream.Collectors; /** @@ -36,7 +37,7 @@ public class SysDictTypeServiceImpl extends ServiceImpl pageQuery(SysDictTypePageQueryModel sysDictDataPageQueryModel) { @@ -67,7 +68,18 @@ public class SysDictTypeServiceImpl extends ServiceImpl selectDictTypeList (SysDictType dictType) { - return dictTypeMapper.selectDictTypeList(dictType); + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.like(StringUtils.isNotEmpty(dictType.getDictName()),SysDictType::getDictName, dictType.getDictName()); + lambdaQueryWrapper.eq(StringUtils.isNotEmpty(dictType.getStatus()),SysDictType::getStatus, dictType.getStatus()); + lambdaQueryWrapper.like(StringUtils.isNotEmpty(dictType.getDictType()),SysDictType::getDictType, dictType.getDictType()); + Map params = dictType.getParams(); + Date beginTime = (Date) params.get("beginTime"); + Date endTime = (Date) params.get("endTime"); + lambdaQueryWrapper.between( + beginTime != null && endTime != null, + SysDictType::getCreateTime, beginTime, endTime + ); + return this.list(lambdaQueryWrapper); } /** @@ -77,7 +89,7 @@ public class SysDictTypeServiceImpl extends ServiceImpl selectDictTypeAll () { - return dictTypeMapper.selectDictTypeAll(); + return this.list(); } /** @@ -93,7 +105,7 @@ public class SysDictTypeServiceImpl extends ServiceImpl lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(SysDictType::getDictType, dictType); + return getOne(lambdaQueryWrapper); } /** @@ -134,10 +148,10 @@ public class SysDictTypeServiceImpl extends ServiceImpl 0) { + if (sysDictDataService.isChildByType(dictType.getDictType())) { throw new ServiceException(String.format("%1$s已分配,不能删除", dictType.getDictName())); } - dictTypeMapper.deleteDictTypeById(dictId); + this.removeById(dictId); DictUtils.removeDictCache(dictType.getDictType()); } } @@ -147,11 +161,16 @@ public class SysDictTypeServiceImpl extends ServiceImpl> dictDataMap = dictDataMapper.selectDictDataList(dictData).stream().collect(Collectors.groupingBy(SysDictData::getDictType)); + List sysDictDataEnableList = sysDictDataService.findAllByEnable(); + Map> dictDataMap = sysDictDataEnableList.stream() + .collect(Collectors.groupingBy(SysDictData::getDictType)); for (Map.Entry> entry : dictDataMap.entrySet()) { - DictUtils.setDictCache(entry.getKey(), entry.getValue().stream().sorted(Comparator.comparing(SysDictData::getDictSort)).collect(Collectors.toList())); + DictUtils.setDictCache( + entry.getKey(), + entry.getValue().stream() + .sorted(Comparator.comparing(SysDictData::getDictSort)) + .toList() + ); } } @@ -180,32 +199,26 @@ public class SysDictTypeServiceImpl extends ServiceImpl 0) { + public void insertDictType (SysDictType dict) { + if (this.save(dict)) { DictUtils.setDictCache(dict.getDictType(), null); } - return row; } /** * 修改保存字典类型信息 * * @param dict 字典类型信息 - * - * @return 结果 */ @Override @Transactional(rollbackFor = Exception.class) - public int updateDictType (SysDictType dict) { - SysDictType oldDict = dictTypeMapper.selectDictTypeById(dict.getDictId()); - dictDataMapper.updateDictDataType(oldDict.getDictType(), dict.getDictType()); - int row = dictTypeMapper.updateDictType(dict); - if (row > 0) { - List dictDatas = dictDataMapper.selectDictDataByType(dict.getDictType()); - DictUtils.setDictCache(dict.getDictType(), dictDatas); + public void updateDictType (SysDictType dict) { + SysDictType oldDict = this.getById(dict.getDictId()); + sysDictDataService.updateDictDataType(oldDict.getDictType(), dict.getDictType()); + if (this.updateById(dict)) { + List dictDataList = sysDictDataService.selectDictDataByType(dict.getDictType()); + DictUtils.setDictCache(dict.getDictType(), dictDataList); } - return row; } /** @@ -217,9 +230,12 @@ public class SysDictTypeServiceImpl extends ServiceImpl lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(SysDictType::getDictType, dict.getDictType()); + lambdaQueryWrapper.ne(dict.getDictId() != null, SysDictType::getDictId, dictId); + if (this.count(lambdaQueryWrapper) > 0) { return UserConstants.NOT_UNIQUE; } return UserConstants.UNIQUE; diff --git a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/SysUserServiceImpl.java b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/SysUserServiceImpl.java index 8e8a52d..b9dd9a4 100644 --- a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/SysUserServiceImpl.java +++ b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/SysUserServiceImpl.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.muyu.common.core.constant.UserConstants; +import com.muyu.common.core.enums.SysNormalDisableEnum; import com.muyu.common.core.exception.ServiceException; import com.muyu.common.core.utils.SpringUtils; import com.muyu.common.core.utils.StringUtils; @@ -516,9 +517,18 @@ public class SysUserServiceImpl extends ServiceImpl impl Page page = this.page(sysUserPageQueryModel.buildPage(), queryWrapper); return PageQueryModel.of(page); } - //nickName - //phonenumber - //status - //beginTime - //endTime + + /** + * 检查部门下是否含有用户 + * + * @param deptId 部门ID + * @return 是:true 否:false + */ + @Override + public boolean checkDeptExistUser(Long deptId) { + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper() + .eq(SysUser::getDeptId, deptId) + .eq(SysUser::getDelFlag, SysNormalDisableEnum.ENABLE.getCode()); + return this.count(lambdaQueryWrapper) > 0; + } } diff --git a/cloud-modules/cloud-modules-system/src/main/resources/mapper/system/SysDeptMapper.xml b/cloud-modules/cloud-modules-system/src/main/resources/mapper/system/SysDeptMapper.xml index 7ac54c8..41b2b3f 100644 --- a/cloud-modules/cloud-modules-system/src/main/resources/mapper/system/SysDeptMapper.xml +++ b/cloud-modules/cloud-modules-system/src/main/resources/mapper/system/SysDeptMapper.xml @@ -38,26 +38,6 @@ from sys_dept d - - - - - - - - update sys_dept set ancestors = - - - update sys_dept set status = '0' where dept_id in - - #{deptId} - - - - - update sys_dept - set del_flag = '2' - where dept_id = #{deptId} - - diff --git a/cloud-modules/cloud-modules-system/src/main/resources/mapper/system/SysDictDataMapper.xml b/cloud-modules/cloud-modules-system/src/main/resources/mapper/system/SysDictDataMapper.xml index 5128c99..8dd705d 100644 --- a/cloud-modules/cloud-modules-system/src/main/resources/mapper/system/SysDictDataMapper.xml +++ b/cloud-modules/cloud-modules-system/src/main/resources/mapper/system/SysDictDataMapper.xml @@ -36,108 +36,4 @@ from sys_dict_data - - - - - - - - - - - - delete - from sys_dict_data - where dict_code = #{dictCode} - - - - delete from sys_dict_data where dict_code in - - #{dictCode} - - - - - update sys_dict_data - - dict_sort = #{dictSort}, - dict_label = #{dictLabel}, - dict_value = #{dictValue}, - dict_type = #{dictType}, - css_class = #{cssClass}, - list_class = #{listClass}, - is_default = #{isDefault}, - status = #{status}, - remark = #{remark}, - update_by = #{updateBy}, - update_time = sysdate() - - where dict_code = #{dictCode} - - - - update sys_dict_data - set dict_type = #{newDictType} - where dict_type = #{oldDictType} - - - - insert into sys_dict_data( - dict_sort, - dict_label, - dict_value, - dict_type, - css_class, - list_class, - is_default, - status, - remark, - create_by, - create_time - )values( - #{dictSort}, - #{dictLabel}, - #{dictValue}, - #{dictType}, - #{cssClass}, - #{listClass}, - #{isDefault}, - #{status}, - #{remark}, - #{createBy}, - sysdate() - ) - - diff --git a/cloud-modules/cloud-modules-system/src/main/resources/mapper/system/SysDictTypeMapper.xml b/cloud-modules/cloud-modules-system/src/main/resources/mapper/system/SysDictTypeMapper.xml index 7c0ebd1..7657164 100644 --- a/cloud-modules/cloud-modules-system/src/main/resources/mapper/system/SysDictTypeMapper.xml +++ b/cloud-modules/cloud-modules-system/src/main/resources/mapper/system/SysDictTypeMapper.xml @@ -19,89 +19,4 @@ select dict_id, dict_name, dict_type, status, create_by, create_time, remark from sys_dict_type - - - - - - - - - - - - - delete - from sys_dict_type - where dict_id = #{dictId} - - - - delete from sys_dict_type where dict_id in - - #{dictId} - - - - - update sys_dict_type - - dict_name = #{dictName}, - dict_type = #{dictType}, - status = #{status}, - remark = #{remark}, - update_by = #{updateBy}, - update_time = sysdate() - - where dict_id = #{dictId} - - - - insert into sys_dict_type( - dict_name, - dict_type, - status, - remark, - create_by, - create_time - )values( - #{dictName}, - #{dictType}, - #{status}, - #{remark}, - #{createBy}, - sysdate() - ) - -