修改项目库市场顺序

This commit is contained in:
gaosong
2023-10-26 17:53:37 +08:00
parent ac0664e0e8
commit bb60bd5a74
3 changed files with 35 additions and 3 deletions
@@ -17,12 +17,17 @@ public class DictModel implements Serializable{
public DictModel() {
}
public DictModel(String value, String text) {
this.value = value;
this.text = text;
}
public DictModel(String id,String value, String text) {
this.id = id;
this.value = value;
this.text = text;
}
private String id;
/**
* 字典value
*/
@@ -4,7 +4,7 @@
<!-- 通过字典code获取字典数据 -->
<select id="queryDictItemsByCode" parameterType="String" resultType="com.jero.common.system.vo.DictModel">
select s.item_value as "value",s.item_text as "text", s.en_name as "textEn" from sys_dict_item s
select s.id as "id", s.item_value as "value",s.item_text as "text", s.en_name as "textEn" from sys_dict_item s
where dict_id = (select id from sys_dict where dict_code = #{code}) and del_flag = '0'
order by s.sort_order asc
</select>
@@ -233,7 +233,20 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
projectLibraryBase.setCreateBy(sysUser.getUsername());
projectLibraryBase.setUpdateBy(sysUser.getUsername());
if(StringUtils.isNotBlank(projectLibraryBase.getTargetMarket())){
List<String> targetMarketList = Arrays.stream(projectLibraryBase.getTargetMarket().split(",")).collect(Collectors.toList());
if(targetMarketList.size() > 1){
List<DictModel> regionList = sysDictService.queryDictItemsByCode(DicCodeEnum.REGION.getCode());
List<DictModel> collect = regionList.stream().filter(e -> targetMarketList.contains(e.getValue())).collect(Collectors.toList());
Collections.sort(collect, Comparator.comparing(DictModel::getId));
StringBuilder sb = new StringBuilder();
for (DictModel dm:collect) {
sb.append(dm.getValue()).append(",");
}
String substring = sb.substring(0, sb.length() - 1);
projectLibraryBase.setTargetMarket(substring);
}
}
checkExitData(projectLibraryBase);
save(projectLibraryBase);
@@ -472,6 +485,20 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
public void editById(ProjectLibraryBase libraryBase) {
List<ProjectLibraryBase> projectLibraryBaseList = new ArrayList<>();
if(StringUtils.isNotBlank(libraryBase.getTargetMarket())){
List<String> targetMarketList = Arrays.stream(libraryBase.getTargetMarket().split(",")).collect(Collectors.toList());
if(targetMarketList.size() > 1){
List<DictModel> regionList = sysDictService.queryDictItemsByCode(DicCodeEnum.REGION.getCode());
List<DictModel> collect = regionList.stream().filter(e -> targetMarketList.contains(e.getValue())).collect(Collectors.toList());
Collections.sort(collect, Comparator.comparing(DictModel::getId));
StringBuilder sb = new StringBuilder();
for (DictModel dm:collect) {
sb.append(dm.getValue()).append(",");
}
String substring = sb.substring(0, sb.length() - 1);
libraryBase.setTargetMarket(substring);
}
}
projectLibraryBaseList.add(libraryBase);
LambdaQueryWrapper<ProjectLibraryBase> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(ProjectLibraryBase::getParentId,libraryBase.getId());