Commit b32a7986 by 陈文顺

数据字典完成2

parent e78193c1
......@@ -36,7 +36,9 @@ import java.util.Map;
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);
......
......@@ -19,10 +19,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import tk.mybatis.mapper.entity.Example;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.stream.Collectors;
/**
......@@ -108,9 +105,7 @@ public class DictTypeServiceImpl implements IDictTypeService{
if (dto.getDictDataDtos()==null || dto.getDictDataDtos().isEmpty()){
return;
}
Example exampleDel = new Example(TDictData.class);
exampleDel.createCriteria()
.andEqualTo("dictTypeId",dto.getId());
Example exampleDel = getDelExample(dto.getId());
dictDataMapper.deleteByExample(exampleDel);
List<TDictData> dictDataList = dto.getDictDataDtos().stream()
.map(d -> {
......@@ -130,14 +125,33 @@ public class DictTypeServiceImpl implements IDictTypeService{
}
@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
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
......@@ -194,6 +208,9 @@ public class DictTypeServiceImpl implements IDictTypeService{
Map<String,DictDataDto> map = dictRedisHashCache.getAllValue(dictTypeCd);
dictDataDtos = new ArrayList<>(map.values());
dictDataDtos = dictDataDtos.stream()
.sorted(Comparator.comparing(DictDataDto::getDispOrderNo))
.collect(Collectors.toList());
return dictDataDtos;
}
......@@ -202,4 +219,12 @@ public class DictTypeServiceImpl implements IDictTypeService{
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> {
redisTemplate.delete(getRedisKey(key));
}
public void delHashFile(Object key,Object filed){
redisTemplate.boundHashOps(key).delete(filed);
}
public abstract Map<String,T> searchDB(Object key);
......
......@@ -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` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`DICT_CD` varchar(50) DEFAULT NULL,
`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,
`I18N` varchar(200) DEFAULT NULL,
`REMARK` varchar(200) DEFAULT NULL,
......@@ -25,6 +25,5 @@ CREATE TABLE `T_DICT_DATA` (
`CREATED_DATE` datetime DEFAULT NULL,
`UPDATED_DATE` datetime DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `idx_dict_type_id` (`dict_type_id`),
UNIQUE KEY (`DICT_CD`)
UNIQUE KEY uk_dict_type_id_DICT_CD(`dict_type_id`,`DICT_CD`)
) 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