From f342a0d88b2a7168f794d0cf545d16a3138acb6d Mon Sep 17 00:00:00 2001 From: wuqiping <wuqiping@qq.com> Date: Wed, 09 Jun 2021 15:55:33 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev --- screen-manage/src/main/java/com/moral/api/service/impl/SysDictTypeServiceImpl.java | 184 ++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 184 insertions(+), 0 deletions(-) diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/SysDictTypeServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/SysDictTypeServiceImpl.java index 8f8b83c..a0aa05b 100644 --- a/screen-manage/src/main/java/com/moral/api/service/impl/SysDictTypeServiceImpl.java +++ b/screen-manage/src/main/java/com/moral/api/service/impl/SysDictTypeServiceImpl.java @@ -1,10 +1,31 @@ package com.moral.api.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.moral.api.entity.SysDictData; import com.moral.api.entity.SysDictType; import com.moral.api.mapper.SysDictTypeMapper; +import com.moral.api.pojo.dto.sysDictType.SysDictTypeDTO; +import com.moral.api.pojo.dto.sysDictType.SysDictTypeQueryDTO; +import com.moral.api.pojo.form.sysDictType.SysDictTypeDeleteForm; +import com.moral.api.pojo.form.sysDictType.SysDictTypeInsertForm; +import com.moral.api.pojo.form.sysDictType.SysDictTypeUpdateForm; +import com.moral.api.service.SysDictDataService; import com.moral.api.service.SysDictTypeService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.moral.api.util.CacheUtils; +import com.moral.constant.Constants; +import com.moral.constant.RedisConstants; +import com.moral.constant.ResponseCodeEnum; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.ObjectUtils; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; /** * <p> @@ -17,4 +38,167 @@ @Service public class SysDictTypeServiceImpl extends ServiceImpl<SysDictTypeMapper, SysDictType> implements SysDictTypeService { + @Autowired + SysDictTypeMapper sysDictTypeMapper; + @Autowired + SysDictDataService sysDictDataService; + @Autowired + RedisTemplate redisTemplate; + + @Override + @Transactional + public SysDictTypeDTO deleteType(SysDictTypeDeleteForm form) { + //������������������ + SysDictTypeDTO dto = new SysDictTypeDTO(); + //������Id + Integer typeId = form.getId(); + //������������������type������������������ + QueryWrapper<SysDictType> existWrapper = new QueryWrapper<>(); + existWrapper.eq("is_delete",Constants.NOT_DELETE); + existWrapper.eq("id",typeId); + SysDictType type = sysDictTypeMapper.selectOne(existWrapper); + if(ObjectUtils.isEmpty(type)){ + dto.setCode(ResponseCodeEnum.DICTTYPE_NOT_EXIST.getCode()); + dto.setMsg(ResponseCodeEnum.DICTTYPE_NOT_EXIST.getMsg()); + return dto; + } + //������������������ + UpdateWrapper deleteTypeWrapper = new UpdateWrapper(); + deleteTypeWrapper.eq("id",typeId); + deleteTypeWrapper.set("is_delete",Constants.DELETE); + sysDictTypeMapper.update(null,deleteTypeWrapper); + //��������������������������������� + UpdateWrapper deleteDataWrapper = new UpdateWrapper(); + deleteDataWrapper.eq("dict_type_id",typeId); + deleteDataWrapper.set("is_delete",Constants.DELETE); + sysDictDataService.update(null,deleteDataWrapper); + //������������������ + CacheUtils.clearDictionariesCache(); + //������������������ + dto.setCode(ResponseCodeEnum.SUCCESS.getCode()); + dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg()); + return dto; + } + + + @Override + @Transactional + public SysDictTypeDTO updateType(SysDictTypeUpdateForm form) { + //������������������ + SysDictTypeDTO dto = new SysDictTypeDTO(); + //������������ + SysDictType type = form.formConvertEntity(); + //������type������������������ + QueryWrapper<SysDictType> existNameWrapper = new QueryWrapper<>(); + existNameWrapper.eq("id",type.getId()); + existNameWrapper.eq("is_delete",Constants.NOT_DELETE); + SysDictType existType = sysDictTypeMapper.selectOne(existNameWrapper); + if(ObjectUtils.isEmpty(existType)){ + dto.setCode(ResponseCodeEnum.DICTTYPE_NOT_EXIST.getCode()); + dto.setMsg(ResponseCodeEnum.DICTTYPE_NOT_EXIST.getMsg()); + return dto; + } + //������������ + sysDictTypeMapper.updateById(type); + //������������������������ + SysDictType sysDictType = sysDictTypeMapper.selectById(type.getId()); + //������������ + CacheUtils.clearDictionariesCache(); + //������������������ + dto.setCode(ResponseCodeEnum.SUCCESS.getCode()); + dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg()); + return dto; + } + + @Override + @Transactional + public SysDictTypeDTO insertType(SysDictTypeInsertForm form) { + //������������������ + SysDictTypeDTO dto = new SysDictTypeDTO(); + //������������������������ + SysDictType sysDictType = form.formConvertEntity(); + //������name������������������ + QueryWrapper<SysDictType> existNameWrapper = new QueryWrapper<>(); + existNameWrapper.eq("name",sysDictType.getName()); + existNameWrapper.eq("is_delete",Constants.NOT_DELETE); + SysDictType existType = sysDictTypeMapper.selectOne(existNameWrapper); + if(!ObjectUtils.isEmpty(existType)){ + dto.setCode(ResponseCodeEnum.DICTTYPE_EXIST.getCode()); + dto.setMsg(ResponseCodeEnum.DICTTYPE_EXIST.getMsg()); + return dto; + } + //������������ + sysDictTypeMapper.insert(sysDictType); + //������������ + CacheUtils.clearDictionariesCache(); + //������������������ + dto.setCode(ResponseCodeEnum.SUCCESS.getCode()); + dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg()); + return dto; + } + + /** + * @Description: ��������������������������������������� + * @Param: [] + * @return: com.moral.api.pojo.dto.sysDictType.SysDictTypeQueryDTO + * @Author: ��������� + * @Date: 2021/4/15 + */ + @Override + public SysDictTypeQueryDTO queryTypeAndDatas() { + //������������������ + SysDictTypeQueryDTO queryDTO = new SysDictTypeQueryDTO(); + List<SysDictTypeDTO> dtos = new ArrayList<>(); + //������������������ + List<SysDictType> types = getAllDictType(); + //������������������ + Map<String, List<SysDictData>> datas = sysDictDataService.getAllDictData(); + for (SysDictType type : types) { + SysDictTypeDTO dto = new SysDictTypeDTO(); + List<SysDictData> typeDatas = (List<SysDictData>) datas.get(type.getName()); + dto.setSysDictType(type); + dto.setSysDictDatas(typeDatas); + dtos.add(dto); + } + //������������������ + queryDTO.setSysDictTypeDTOS(dtos); + queryDTO.setCode(ResponseCodeEnum.SUCCESS.getCode()); + queryDTO.setMsg(ResponseCodeEnum.SUCCESS.getMsg()); + return queryDTO; + } + + /** + * @Description: ��������������������������������������������� + * @Param: [] + * @return: java.util.List<com.moral.api.entity.sysDictType> + * @Author: ��������� + * @Date: 2021/4/15 + */ + @Override + public List<SysDictType> getAllDictType() { + //������������������ + List<SysDictType> types = (List<SysDictType>) redisTemplate.opsForValue().get(RedisConstants.DICT_TYPE_KEY); + if(ObjectUtils.isEmpty(types)){//������������������������������������ + types = getAllDictTypeFromDB(); + redisTemplate.opsForValue().set(RedisConstants.DICT_TYPE_KEY,types); + } + return types; + } + + @Override + public SysDictType getDictTypeById(Integer id) { + QueryWrapper<SysDictType> wrapper = new QueryWrapper(); + wrapper.eq("is_delete",Constants.NOT_DELETE); + wrapper.eq("id",id); + return sysDictTypeMapper.selectOne(wrapper); + } + + private List<SysDictType> getAllDictTypeFromDB() { + QueryWrapper<SysDictType> wrapper = new QueryWrapper<>(); + wrapper.eq("is_delete", Constants.NOT_DELETE); + List<SysDictType> sysDictTypes = sysDictTypeMapper.selectList(wrapper); + return sysDictTypes; + } + + } -- Gitblit v1.8.0