Commit b32a7986 by 陈文顺

数据字典完成2

parent e78193c1
...@@ -36,7 +36,9 @@ import java.util.Map; ...@@ -36,7 +36,9 @@ import java.util.Map;
void edit(DictTypeDto dto); void edit(DictTypeDto dto);
/** 批量保存字典列表 */ /** 批量保存字典列表 */
void saveDatas(List<DictDataDto> dictDataDtos); // void saveDatas(List<DictDataDto> dictDataDtos);
void editDatas(String typeCd, List<DictDataDto> dictDataDtos);
/** 删除 */ /** 删除 */
void deleteDict(long dictTypeId); void deleteDict(long dictTypeId);
......
...@@ -19,10 +19,7 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -19,10 +19,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import tk.mybatis.mapper.entity.Example; import tk.mybatis.mapper.entity.Example;
import java.util.ArrayList; import java.util.*;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
...@@ -108,9 +105,7 @@ public class DictTypeServiceImpl implements IDictTypeService{ ...@@ -108,9 +105,7 @@ public class DictTypeServiceImpl implements IDictTypeService{
if (dto.getDictDataDtos()==null || dto.getDictDataDtos().isEmpty()){ if (dto.getDictDataDtos()==null || dto.getDictDataDtos().isEmpty()){
return; return;
} }
Example exampleDel = new Example(TDictData.class); Example exampleDel = getDelExample(dto.getId());
exampleDel.createCriteria()
.andEqualTo("dictTypeId",dto.getId());
dictDataMapper.deleteByExample(exampleDel); dictDataMapper.deleteByExample(exampleDel);
List<TDictData> dictDataList = dto.getDictDataDtos().stream() List<TDictData> dictDataList = dto.getDictDataDtos().stream()
.map(d -> { .map(d -> {
...@@ -130,14 +125,33 @@ public class DictTypeServiceImpl implements IDictTypeService{ ...@@ -130,14 +125,33 @@ public class DictTypeServiceImpl implements IDictTypeService{
} }
@Override @Override
public void saveDatas(List<DictDataDto> dictDataDtos) { public void editDatas(String typeCd, List<DictDataDto> dictDataDtos) {
dictDataDtos.stream()
.forEach(d -> {
TDictData dictDataEntiy = new TDictData();
BeanUtils.copyProperties(d,dictDataEntiy);
dictDataMapper.updateByPrimaryKeySelective(dictDataEntiy);
dictRedisHashCache.delCache(typeCd);
}
);
} }
@Override @Override
public void deleteDict(long dictTypeId) { public void deleteDict(long dictTypeId) {
Example delExample = new Example(TDictData.class);
delExample.createCriteria()
.andEqualTo("dictTypeId",dictTypeId);
this.dictDataMapper.deleteByExample(delExample);
this.dictTypeMapper.deleteByPrimaryKey(dictTypeId);
} }
@Override @Override
...@@ -194,6 +208,9 @@ public class DictTypeServiceImpl implements IDictTypeService{ ...@@ -194,6 +208,9 @@ public class DictTypeServiceImpl implements IDictTypeService{
Map<String,DictDataDto> map = dictRedisHashCache.getAllValue(dictTypeCd); Map<String,DictDataDto> map = dictRedisHashCache.getAllValue(dictTypeCd);
dictDataDtos = new ArrayList<>(map.values()); dictDataDtos = new ArrayList<>(map.values());
dictDataDtos = dictDataDtos.stream()
.sorted(Comparator.comparing(DictDataDto::getDispOrderNo))
.collect(Collectors.toList());
return dictDataDtos; return dictDataDtos;
} }
...@@ -202,4 +219,12 @@ public class DictTypeServiceImpl implements IDictTypeService{ ...@@ -202,4 +219,12 @@ public class DictTypeServiceImpl implements IDictTypeService{
return null; return null;
} }
private Example getDelExample(long id){
Example exampleDel = new Example(TDictData.class);
exampleDel.createCriteria()
.andEqualTo("dictTypeId",id);
return exampleDel;
}
} }
...@@ -89,6 +89,10 @@ public abstract class RedisHashCache<T> { ...@@ -89,6 +89,10 @@ public abstract class RedisHashCache<T> {
redisTemplate.delete(getRedisKey(key)); redisTemplate.delete(getRedisKey(key));
} }
public void delHashFile(Object key,Object filed){
redisTemplate.boundHashOps(key).delete(filed);
}
public abstract Map<String,T> searchDB(Object key); public abstract Map<String,T> searchDB(Object key);
......
...@@ -59,4 +59,22 @@ public class DictController { ...@@ -59,4 +59,22 @@ public class DictController {
} }
@ApiOperation("修改字典信息")
@PostMapping("/editData")
public ResDto editData(@RequestBody DictTypeDto dict){
this.dictTypeService.editDatas(dict.getDictTypeCd(),dict.getDictDataDtos());
return new ResDto();
}
@GetMapping("/delete")
public ResDto delete(Long dictTypeId){
this.dictTypeService.deleteDict(dictTypeId);
return new ResDto();
}
} }
...@@ -17,7 +17,7 @@ CREATE TABLE `T_DICT_DATA` ( ...@@ -17,7 +17,7 @@ CREATE TABLE `T_DICT_DATA` (
`id` bigint(20) NOT NULL AUTO_INCREMENT, `id` bigint(20) NOT NULL AUTO_INCREMENT,
`DICT_CD` varchar(50) DEFAULT NULL, `DICT_CD` varchar(50) DEFAULT NULL,
`DICT_NAME` longtext, `DICT_NAME` longtext,
`DISP_ORDER_NO` decimal(38,0) DEFAULT NULL, `DISP_ORDER_NO` decimal(38,0) not null DEFAULT 0,
`ENABLE_FLG` tinyint(1) DEFAULT NULL, `ENABLE_FLG` tinyint(1) DEFAULT NULL,
`I18N` varchar(200) DEFAULT NULL, `I18N` varchar(200) DEFAULT NULL,
`REMARK` varchar(200) DEFAULT NULL, `REMARK` varchar(200) DEFAULT NULL,
...@@ -25,6 +25,5 @@ CREATE TABLE `T_DICT_DATA` ( ...@@ -25,6 +25,5 @@ CREATE TABLE `T_DICT_DATA` (
`CREATED_DATE` datetime DEFAULT NULL, `CREATED_DATE` datetime DEFAULT NULL,
`UPDATED_DATE` datetime DEFAULT NULL, `UPDATED_DATE` datetime DEFAULT NULL,
PRIMARY KEY (`id`), PRIMARY KEY (`id`),
KEY `idx_dict_type_id` (`dict_type_id`), UNIQUE KEY uk_dict_type_id_DICT_CD(`dict_type_id`,`DICT_CD`)
UNIQUE KEY (`DICT_CD`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment