Browse Source

1、优化策略管理排序问题。

dev
25604 6 hours ago
parent
commit
c83403c4cd
  1. 4
      mh-system/src/main/java/com/mh/system/mapper/policy/PolicyManageMapper.java
  2. 4
      mh-system/src/main/java/com/mh/system/service/policy/impl/PolicyManageServiceImpl.java

4
mh-system/src/main/java/com/mh/system/mapper/policy/PolicyManageMapper.java

@ -20,7 +20,7 @@ public interface PolicyManageMapper extends BaseMapper<PolicyManage> {
@Select("select pm.*,cpm.cur_value from policy_manage pm " +
" left join collection_params_manage cpm on pm.cpm_id = cpm.id " +
" where pm.system_type = #{systemType} and pm.fun_policy_type = #{funPolicyType} order by pm.policy_type, pm.order_num ")
" where pm.system_type = #{systemType} and pm.fun_policy_type = #{funPolicyType} order by pm.policy_type::int, pm.order_num ")
List<PolicyManage> selectPolicyList(@Param("systemType") String systemType,
@Param("funPolicyType") String funPolicyType);
@ -32,7 +32,7 @@ public interface PolicyManageMapper extends BaseMapper<PolicyManage> {
" where pm.system_type = #{systemType} " +
" and pm.fun_policy_type = #{funPolicyType} " +
" and house_id = #{houseId} " +
" order by pm.policy_type, pm.order_num ")
" order by pm.policy_type:int, pm.order_num ")
List<PolicyManage> selectPolicyListByParams(@Param("systemType") String systemType,
@Param("funPolicyType") String funPolicyType,
@Param("houseId") String houseId);

4
mh-system/src/main/java/com/mh/system/service/policy/impl/PolicyManageServiceImpl.java

@ -46,7 +46,7 @@ public class PolicyManageServiceImpl implements IPolicyManageService {
List<PolicyManage> policyManages = policyManageMapper.selectPolicyListByParams(systemType, funPolicyType, houseId);
Map<String, List<PolicyManage>> listMap = policyManages.stream()
// 先排序(例如按 policyType)
.sorted(Comparator.comparing(PolicyManage::getPolicyType))
// .sorted(Comparator.comparing(PolicyManage::getPolicyType))
// 处理每个PolicyManage对象的curValue字段
.peek(policy -> {
policy.setCurValue(BigDecimal.valueOf(policy.getCurValue().intValue())); // 除以1000并保留整数
@ -80,7 +80,7 @@ public class PolicyManageServiceImpl implements IPolicyManageService {
// policyManages使用stream流,根据policyType进行数据分组,
Map<String, List<PolicyManage>> listMap = policyManages.stream()
// 先按PolicyType排序
.sorted(Comparator.comparing(PolicyManage::getPolicyType))
// .sorted(Comparator.comparing(PolicyManage::getPolicyType))
// 处理每个PolicyManage对象的curValue字段
.peek(policy -> {
// 自动开关机时间,反馈是ms,页面是s,所以除以1000

Loading…
Cancel
Save