mirror of
http://192.168.1.205:9980/cf_devdept2/cf_imes_server.git
synced 2026-08-14 05:42:06 +08:00
禅道#1054问题修复
This commit is contained in:
+36
-19
@@ -32,6 +32,7 @@ import org.springframework.data.redis.core.StringRedisTemplate;
|
|||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
|
import java.util.Collections;
|
||||||
import java.util.Comparator;
|
import java.util.Comparator;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -69,23 +70,18 @@ public class CustomPlateNoServiceHandler extends AbstractSystemConfigServiceHand
|
|||||||
public List<SystemConfigDO> selectList(ConfigPageReqVO pageReqVO) {
|
public List<SystemConfigDO> selectList(ConfigPageReqVO pageReqVO) {
|
||||||
SystemConfigTypeEnum customPlateNoEnum = SystemConfigTypeEnum.CUSTOM_PLATE_NO;
|
SystemConfigTypeEnum customPlateNoEnum = SystemConfigTypeEnum.CUSTOM_PLATE_NO;
|
||||||
List<SystemConfigDO> systemConfigDOS = systemConfigMapper.selectList(new LambdaQueryWrapperX<SystemConfigDO>()
|
List<SystemConfigDO> systemConfigDOS = systemConfigMapper.selectList(new LambdaQueryWrapperX<SystemConfigDO>()
|
||||||
.eq(SystemConfigDO::getStatus, CommonStatusEnum.ENABLE.getStatus())
|
.eq(SystemConfigDO::getType, customPlateNoEnum.getType())
|
||||||
.eq(SystemConfigDO::getType, pageReqVO.getType())
|
.eq(SystemConfigDO::getOrganId, OrganContextHolder.getOrganId())
|
||||||
.eqIfPresent(SystemConfigDO::getOrganId, OrganContextHolder.getOrganId())
|
.orderByAsc(SystemConfigDO::getVersion));
|
||||||
.orderByAsc(SystemConfigDO::getId));
|
|
||||||
if (systemConfigDOS.isEmpty()) {
|
if (systemConfigDOS.isEmpty()) {
|
||||||
SystemConfigDO initCustomPlateNoConfig = new SystemConfigDO().builder().id(null).name(customPlateNoEnum.getName()).type(customPlateNoEnum.getType()).build();
|
SystemConfigDO initCustomPlateNoConfig = new SystemConfigDO().builder().id(null).name(customPlateNoEnum.getName()).type(customPlateNoEnum.getType()).build();
|
||||||
return List.of(initCustomPlateNoConfig);
|
return List.of(initCustomPlateNoConfig);
|
||||||
} else {
|
}
|
||||||
// configDOPageResult下的自定义板编号配置只保留version最大的一项
|
// configDOPageResult下的自定义板编号配置只保留version最大的一项
|
||||||
Optional<SystemConfigDO> maxVersionCustPlateNoConfigOptinal = systemConfigDOS.stream()
|
return systemConfigDOS.stream()
|
||||||
.filter(s -> ObjectUtil.equal(customPlateNoEnum.getType(), s.getType()))
|
.max(Comparator.comparing(SystemConfigDO::getVersion))
|
||||||
.max(Comparator.comparing(SystemConfigDO::getVersion));
|
.map(Collections::singletonList)
|
||||||
if (maxVersionCustPlateNoConfigOptinal.isPresent()) {
|
.orElse(Collections.emptyList());
|
||||||
systemConfigDOS.removeIf(s -> ObjectUtil.equal(customPlateNoEnum.getType(), s.getType()) && ObjectUtil.notEqual(s.getId(), maxVersionCustPlateNoConfigOptinal.get().getId()));
|
|
||||||
}
|
|
||||||
return systemConfigDOS;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -304,8 +300,11 @@ public class CustomPlateNoServiceHandler extends AbstractSystemConfigServiceHand
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateConfigStatus(ConfigUpdateStatusReqVO reqVO) {
|
public void updateConfigStatus(ConfigUpdateStatusReqVO reqVO) {
|
||||||
|
|
||||||
Long id = reqVO.getId();
|
Long id = reqVO.getId();
|
||||||
|
// 状态
|
||||||
|
Integer status = reqVO.getStatus();
|
||||||
|
// 组织
|
||||||
|
Long organId = OrganContextHolder.getOrganId();
|
||||||
|
|
||||||
// 校验存在
|
// 校验存在
|
||||||
SystemConfigDO systemConfigDO = systemConfigMapper.selectOne(new LambdaQueryWrapperX<SystemConfigDO>()
|
SystemConfigDO systemConfigDO = systemConfigMapper.selectOne(new LambdaQueryWrapperX<SystemConfigDO>()
|
||||||
@@ -315,13 +314,31 @@ public class CustomPlateNoServiceHandler extends AbstractSystemConfigServiceHand
|
|||||||
throw exception(SYSTEM_CONFIG_NOT_EXISTS);
|
throw exception(SYSTEM_CONFIG_NOT_EXISTS);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 更新状态
|
if (CommonStatusEnum.ENABLE.getStatus().equals(status)) {
|
||||||
systemConfigMapper.update(new LambdaUpdateWrapper<SystemConfigDO>().eq(SystemConfigDO::getId, id).set(SystemConfigDO::getStatus, reqVO.getStatus()));
|
// 查询最大版本号
|
||||||
|
List<SystemConfigDO> systemConfigDOS = systemConfigMapper.selectList(new LambdaQueryWrapperX<SystemConfigDO>()
|
||||||
|
.eq(SystemConfigDO::getType, SystemConfigTypeEnum.CUSTOM_PLATE_NO.getType())
|
||||||
|
.eq(SystemConfigDO::getOrganId, OrganContextHolder.getOrganId())
|
||||||
|
.orderByAsc(SystemConfigDO::getVersion));
|
||||||
|
Optional<SystemConfigDO> maxVersionCustPlateNoConfigOptinal = systemConfigDOS.stream()
|
||||||
|
.max(Comparator.comparing(SystemConfigDO::getVersion));
|
||||||
|
if (maxVersionCustPlateNoConfigOptinal.isPresent()) {
|
||||||
|
// 启用配置,启用最大版本号
|
||||||
|
systemConfigMapper.update(new LambdaUpdateWrapper<SystemConfigDO>()
|
||||||
|
.eq(SystemConfigDO::getOrganId, organId)
|
||||||
|
.eq(SystemConfigDO::getId, maxVersionCustPlateNoConfigOptinal.get().getId())
|
||||||
|
.eq(SystemConfigDO::getType, SystemConfigTypeEnum.CUSTOM_PLATE_NO.getType())
|
||||||
|
.set(SystemConfigDO::getStatus, status));
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// 禁用配置,禁用组织下所有板编号配置
|
||||||
|
systemConfigMapper.update(new LambdaUpdateWrapper<SystemConfigDO>()
|
||||||
|
.eq(SystemConfigDO::getOrganId, organId)
|
||||||
|
.eq(SystemConfigDO::getType, SystemConfigTypeEnum.CUSTOM_PLATE_NO.getType())
|
||||||
|
.set(SystemConfigDO::getStatus, status));
|
||||||
|
|
||||||
|
|
||||||
if (CommonStatusEnum.DISABLE.getStatus().equals(reqVO.getStatus())) {
|
|
||||||
// 禁用配置移除缓存
|
// 禁用配置移除缓存
|
||||||
String redisKey = String.format("%s:%d:%s", RedisKeyConstants.SYSTEM_CONFIG, OrganContextHolder.getOrganId(), RedisKeyConstants.CUSTOM_PLATE_NO);
|
String redisKey = String.format("%s:%d:%s", RedisKeyConstants.SYSTEM_CONFIG, organId, RedisKeyConstants.CUSTOM_PLATE_NO);
|
||||||
Boolean delete = stringRedisTemplate.delete(redisKey);
|
Boolean delete = stringRedisTemplate.delete(redisKey);
|
||||||
log.info("[CustomPlateNoGenerateService][afterUpdateStatus]key:{}缓存删除结果:{}", redisKey, delete);
|
log.info("[CustomPlateNoGenerateService][afterUpdateStatus]key:{}缓存删除结果:{}", redisKey, delete);
|
||||||
}
|
}
|
||||||
|
|||||||
+9
-4
@@ -38,7 +38,7 @@ public class DefaultSystemConfigServiceHandler extends AbstractSystemConfigServi
|
|||||||
|
|
||||||
// 自定义板编号、高级筛选不走通用分页查询
|
// 自定义板编号、高级筛选不走通用分页查询
|
||||||
List<SystemConfigTypeEnum> list = allConfigTypes.stream()
|
List<SystemConfigTypeEnum> list = allConfigTypes.stream()
|
||||||
.filter(f -> ObjectUtil.notEqual(SystemConfigTypeEnum.ADVANCED_SCREEN.getType(), f.getType()) && ObjectUtil.notEqual(SystemConfigTypeEnum.CUSTOM_PLATE_NO.getType(), f.getType())).toList();
|
.filter(f -> ObjectUtil.notEqual(SystemConfigTypeEnum.ADVANCED_SCREEN.getType(), f.getType())).toList();
|
||||||
|
|
||||||
List<SystemConfigDO> systemConfigDOS = systemConfigMapper.selectList(new LambdaQueryWrapperX<SystemConfigDO>()
|
List<SystemConfigDO> systemConfigDOS = systemConfigMapper.selectList(new LambdaQueryWrapperX<SystemConfigDO>()
|
||||||
.likeIfPresent(SystemConfigDO::getName, reqVO.getName())
|
.likeIfPresent(SystemConfigDO::getName, reqVO.getName())
|
||||||
@@ -65,6 +65,14 @@ public class DefaultSystemConfigServiceHandler extends AbstractSystemConfigServi
|
|||||||
.type(configTypeEnum.getType())
|
.type(configTypeEnum.getType())
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
|
// 自定义板编号
|
||||||
|
if(configTypeEnum.getType().equals(SystemConfigTypeEnum.CUSTOM_PLATE_NO.getType())){
|
||||||
|
initConfig.setStatus(CommonStatusEnum.DISABLE.getStatus());
|
||||||
|
resultList.add(initConfig);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 支持多种颜色排单
|
||||||
if(configTypeEnum.getType().equals(SystemConfigTypeEnum.MULTI_COLOR_ORDER_PLAN.getType())){
|
if(configTypeEnum.getType().equals(SystemConfigTypeEnum.MULTI_COLOR_ORDER_PLAN.getType())){
|
||||||
SystemConfigDO systemConfigDO = SystemConfigDO
|
SystemConfigDO systemConfigDO = SystemConfigDO
|
||||||
.builder()
|
.builder()
|
||||||
@@ -90,9 +98,6 @@ public class DefaultSystemConfigServiceHandler extends AbstractSystemConfigServi
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 增加自定义板编号配置
|
|
||||||
List<SystemConfigDO> customPlateNoConfigList = customPlateNoServiceHandler.selectList(ConfigPageReqVO.builder().type(SystemConfigTypeEnum.CUSTOM_PLATE_NO.getType()).build());
|
|
||||||
resultList.addAll(0, customPlateNoConfigList);
|
|
||||||
return resultList;
|
return resultList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user