From 5b60dd29e8f0c9d82fa54051b3c22d76543a362b Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期五, 20 九月 2024 10:37:29 +0800
Subject: [PATCH] 修改权限控制逻辑
---
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/tools/StrategyUtil.java | 258 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 255 insertions(+), 3 deletions(-)
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/tools/StrategyUtil.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/tools/StrategyUtil.java
index 732dec1..4ebf980 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/tools/StrategyUtil.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/tools/StrategyUtil.java
@@ -1,19 +1,271 @@
package com.ruoyi.integration.iotda.utils.tools;
+import com.ruoyi.chargingPile.api.model.TAccountingStrategyDetail;
+import com.ruoyi.common.core.utils.DateUtils;
+import com.ruoyi.integration.api.model.AcquisitionBillingModeReply;
import lombok.extern.slf4j.Slf4j;
import java.io.Serializable;
+import java.time.LocalTime;
+import java.util.*;
+import java.util.stream.Collectors;
@Slf4j
public class StrategyUtil implements Serializable {
/**
- * 校验计费模版是否准确
+ * 获取计费模版的价格
* @return
*/
- public static boolean checkStrategy() {
- return true;
+ public static Map<Integer, TAccountingStrategyDetail> getStrategyPrice(List<TAccountingStrategyDetail> accountingStrategyDetails) {
+ Map<Integer, TAccountingStrategyDetail> phaseToServiceFee = new HashMap<>();
+ for (TAccountingStrategyDetail detail : accountingStrategyDetails) {
+ Integer type = detail.getType();
+ if (!phaseToServiceFee.containsKey(type)) {
+ phaseToServiceFee.put(type, detail);
+ }
+ }
+ return phaseToServiceFee;
+ }
+ /**
+ * 计费模版的价格设置
+ * @return
+ */
+ public static void setStrategyPrice(Map<Integer, TAccountingStrategyDetail> accountingStrategyDetails,AcquisitionBillingModeReply acquisitionBillingModeReply) {
+ accountingStrategyDetails.forEach((k,v)->{
+ switch (k){
+ case 1:
+ acquisitionBillingModeReply.setSharp_peak_electricity_rate(v.getElectrovalence());
+// acquisitionBillingModeReply.setSharp_peak_service_rate(v.getServiceCharge());
+ break;
+ case 2:
+ acquisitionBillingModeReply.setPeak_electricity_rate(v.getElectrovalence());
+// acquisitionBillingModeReply.setPeak_service_rate(v.getServiceCharge());
+ break;
+ case 3:
+ acquisitionBillingModeReply.setFlat_peak_electricity_rate(v.getElectrovalence());
+// acquisitionBillingModeReply.setFlat_peak_service_rate(v.getServiceCharge());
+ break;
+ default:
+ acquisitionBillingModeReply.setLow_peak_electricity_rate(v.getElectrovalence());
+// acquisitionBillingModeReply.setLow_peak_service_rate(v.getServiceCharge());
+ break;
+ }
+ });
+ }
+
+ /**
+ * 计费模版的时段设置
+ * @return
+ */
+ public static void setTime(List<TAccountingStrategyDetail> accountingStrategyDetails,AcquisitionBillingModeReply acquisitionBillingModeReply) {
+ LocalTime time = LocalTime.of(0, 15, 0);
+ for (int i = 1; i <= 48; i++) {
+ if(i != 1){
+ time = time.plusMinutes(30);
+ }
+ accountingStrategyDetails = accountingStrategyDetails.stream().sorted(Comparator.comparing(TAccountingStrategyDetail::getStartTime)).collect(Collectors.toList());
+ for (TAccountingStrategyDetail accountingStrategyDetail : accountingStrategyDetails) {
+ if(DateUtils.string2LocalTime(accountingStrategyDetail.getStartTime()).isBefore(time)
+ && DateUtils.string2LocalTime(accountingStrategyDetail.getEndTime()).isAfter(time)){
+ switch (i){
+ case 1:
+ acquisitionBillingModeReply.setTime1(accountingStrategyDetail.getType().equals(1)?0
+ :accountingStrategyDetail.getType().equals(2)?1:accountingStrategyDetail.getType().equals(3)?2:3);
+ break;
+ case 2:
+ acquisitionBillingModeReply.setTime2(accountingStrategyDetail.getType().equals(1)?0
+ :accountingStrategyDetail.getType().equals(2)?1:accountingStrategyDetail.getType().equals(3)?2:3);
+ break;
+ case 3:
+ acquisitionBillingModeReply.setTime3(accountingStrategyDetail.getType().equals(1)?0
+ :accountingStrategyDetail.getType().equals(2)?1:accountingStrategyDetail.getType().equals(3)?2:3);
+ break;
+ case 4:
+ acquisitionBillingModeReply.setTime4(accountingStrategyDetail.getType().equals(1)?0
+ :accountingStrategyDetail.getType().equals(2)?1:accountingStrategyDetail.getType().equals(3)?2:3);
+ break;
+ case 5:
+ acquisitionBillingModeReply.setTime5(accountingStrategyDetail.getType().equals(1)?0
+ :accountingStrategyDetail.getType().equals(2)?1:accountingStrategyDetail.getType().equals(3)?2:3);
+ break;
+ case 6:
+ acquisitionBillingModeReply.setTime6(accountingStrategyDetail.getType().equals(1)?0
+ :accountingStrategyDetail.getType().equals(2)?1:accountingStrategyDetail.getType().equals(3)?2:3);
+ break;
+ case 7:
+ acquisitionBillingModeReply.setTime7(accountingStrategyDetail.getType().equals(1)?0
+ :accountingStrategyDetail.getType().equals(2)?1:accountingStrategyDetail.getType().equals(3)?2:3);
+ break;
+ case 8:
+ acquisitionBillingModeReply.setTime8(accountingStrategyDetail.getType().equals(1)?0
+ :accountingStrategyDetail.getType().equals(2)?1:accountingStrategyDetail.getType().equals(3)?2:3);
+ break;
+ case 9:
+ acquisitionBillingModeReply.setTime9(accountingStrategyDetail.getType().equals(1)?0
+ :accountingStrategyDetail.getType().equals(2)?1:accountingStrategyDetail.getType().equals(3)?2:3);
+ break;
+ case 10:
+ acquisitionBillingModeReply.setTime10(accountingStrategyDetail.getType().equals(1)?0
+ :accountingStrategyDetail.getType().equals(2)?1:accountingStrategyDetail.getType().equals(3)?2:3);
+ break;
+ case 11:
+ acquisitionBillingModeReply.setTime11(accountingStrategyDetail.getType().equals(1)?0
+ :accountingStrategyDetail.getType().equals(2)?1:accountingStrategyDetail.getType().equals(3)?2:3);
+ break;
+ case 12:
+ acquisitionBillingModeReply.setTime12(accountingStrategyDetail.getType().equals(1)?0
+ :accountingStrategyDetail.getType().equals(2)?1:accountingStrategyDetail.getType().equals(3)?2:3);
+ break;
+ case 13:
+ acquisitionBillingModeReply.setTime13(accountingStrategyDetail.getType().equals(1)?0
+ :accountingStrategyDetail.getType().equals(2)?1:accountingStrategyDetail.getType().equals(3)?2:3);
+ break;
+ case 14:
+ acquisitionBillingModeReply.setTime14(accountingStrategyDetail.getType().equals(1)?0
+ :accountingStrategyDetail.getType().equals(2)?1:accountingStrategyDetail.getType().equals(3)?2:3);
+ break;
+ case 15:
+ acquisitionBillingModeReply.setTime15(accountingStrategyDetail.getType().equals(1)?0
+ :accountingStrategyDetail.getType().equals(2)?1:accountingStrategyDetail.getType().equals(3)?2:3);
+ break;
+ case 16:
+ acquisitionBillingModeReply.setTime16(accountingStrategyDetail.getType().equals(1)?0
+ :accountingStrategyDetail.getType().equals(2)?1:accountingStrategyDetail.getType().equals(3)?2:3);
+ break;
+ case 17:
+ acquisitionBillingModeReply.setTime17(accountingStrategyDetail.getType().equals(1)?0
+ :accountingStrategyDetail.getType().equals(2)?1:accountingStrategyDetail.getType().equals(3)?2:3);
+ break;
+ case 18:
+ acquisitionBillingModeReply.setTime18(accountingStrategyDetail.getType().equals(1)?0
+ :accountingStrategyDetail.getType().equals(2)?1:accountingStrategyDetail.getType().equals(3)?2:3);
+ break;
+ case 19:
+ acquisitionBillingModeReply.setTime19(accountingStrategyDetail.getType().equals(1)?0
+ :accountingStrategyDetail.getType().equals(2)?1:accountingStrategyDetail.getType().equals(3)?2:3);
+ break;
+ case 20:
+ acquisitionBillingModeReply.setTime20(accountingStrategyDetail.getType().equals(1)?0
+ :accountingStrategyDetail.getType().equals(2)?1:accountingStrategyDetail.getType().equals(3)?2:3);
+ break;
+ case 21:
+ acquisitionBillingModeReply.setTime21(accountingStrategyDetail.getType().equals(1)?0
+ :accountingStrategyDetail.getType().equals(2)?1:accountingStrategyDetail.getType().equals(3)?2:3);
+ break;
+ case 22:
+ acquisitionBillingModeReply.setTime22(accountingStrategyDetail.getType().equals(1)?0
+ :accountingStrategyDetail.getType().equals(2)?1:accountingStrategyDetail.getType().equals(3)?2:3);
+ break;
+ case 23:
+ acquisitionBillingModeReply.setTime23(accountingStrategyDetail.getType().equals(1)?0
+ :accountingStrategyDetail.getType().equals(2)?1:accountingStrategyDetail.getType().equals(3)?2:3);
+ break;
+ case 24:
+ acquisitionBillingModeReply.setTime24(accountingStrategyDetail.getType().equals(1)?0
+ :accountingStrategyDetail.getType().equals(2)?1:accountingStrategyDetail.getType().equals(3)?2:3);
+ break;
+ case 25:
+ acquisitionBillingModeReply.setTime25(accountingStrategyDetail.getType().equals(1)?0
+ :accountingStrategyDetail.getType().equals(2)?1:accountingStrategyDetail.getType().equals(3)?2:3);
+ break;
+ case 26:
+ acquisitionBillingModeReply.setTime26(accountingStrategyDetail.getType().equals(1)?0
+ :accountingStrategyDetail.getType().equals(2)?1:accountingStrategyDetail.getType().equals(3)?2:3);
+ break;
+ case 27:
+ acquisitionBillingModeReply.setTime27(accountingStrategyDetail.getType().equals(1)?0
+ :accountingStrategyDetail.getType().equals(2)?1:accountingStrategyDetail.getType().equals(3)?2:3);
+ break;
+ case 28:
+ acquisitionBillingModeReply.setTime28(accountingStrategyDetail.getType().equals(1)?0
+ :accountingStrategyDetail.getType().equals(2)?1:accountingStrategyDetail.getType().equals(3)?2:3);
+ break;
+ case 29:
+ acquisitionBillingModeReply.setTime29(accountingStrategyDetail.getType().equals(1)?0
+ :accountingStrategyDetail.getType().equals(2)?1:accountingStrategyDetail.getType().equals(3)?2:3);
+ break;
+ case 30:
+ acquisitionBillingModeReply.setTime30(accountingStrategyDetail.getType().equals(1)?0
+ :accountingStrategyDetail.getType().equals(2)?1:accountingStrategyDetail.getType().equals(3)?2:3);
+ break;
+ case 31:
+ acquisitionBillingModeReply.setTime31(accountingStrategyDetail.getType().equals(1)?0
+ :accountingStrategyDetail.getType().equals(2)?1:accountingStrategyDetail.getType().equals(3)?2:3);
+ break;
+ case 32:
+ acquisitionBillingModeReply.setTime32(accountingStrategyDetail.getType().equals(1)?0
+ :accountingStrategyDetail.getType().equals(2)?1:accountingStrategyDetail.getType().equals(3)?2:3);
+ break;
+ case 33:
+ acquisitionBillingModeReply.setTime33(accountingStrategyDetail.getType().equals(1)?0
+ :accountingStrategyDetail.getType().equals(2)?1:accountingStrategyDetail.getType().equals(3)?2:3);
+ break;
+ case 34:
+ acquisitionBillingModeReply.setTime34(accountingStrategyDetail.getType().equals(1)?0
+ :accountingStrategyDetail.getType().equals(2)?1:accountingStrategyDetail.getType().equals(3)?2:3);
+ break;
+ case 35:
+ acquisitionBillingModeReply.setTime35(accountingStrategyDetail.getType().equals(1)?0
+ :accountingStrategyDetail.getType().equals(2)?1:accountingStrategyDetail.getType().equals(3)?2:3);
+ break;
+ case 36:
+ acquisitionBillingModeReply.setTime36(accountingStrategyDetail.getType().equals(1)?0
+ :accountingStrategyDetail.getType().equals(2)?1:accountingStrategyDetail.getType().equals(3)?2:3);
+ break;
+ case 37:
+ acquisitionBillingModeReply.setTime37(accountingStrategyDetail.getType().equals(1)?0
+ :accountingStrategyDetail.getType().equals(2)?1:accountingStrategyDetail.getType().equals(3)?2:3);
+ break;
+ case 38:
+ acquisitionBillingModeReply.setTime38(accountingStrategyDetail.getType().equals(1)?0
+ :accountingStrategyDetail.getType().equals(2)?1:accountingStrategyDetail.getType().equals(3)?2:3);
+ break;
+ case 39:
+ acquisitionBillingModeReply.setTime39(accountingStrategyDetail.getType().equals(1)?0
+ :accountingStrategyDetail.getType().equals(2)?1:accountingStrategyDetail.getType().equals(3)?2:3);
+ break;
+ case 40:
+ acquisitionBillingModeReply.setTime40(accountingStrategyDetail.getType().equals(1)?0
+ :accountingStrategyDetail.getType().equals(2)?1:accountingStrategyDetail.getType().equals(3)?2:3);
+ break;
+ case 41:
+ acquisitionBillingModeReply.setTime41(accountingStrategyDetail.getType().equals(1)?0
+ :accountingStrategyDetail.getType().equals(2)?1:accountingStrategyDetail.getType().equals(3)?2:3);
+ break;
+ case 42:
+ acquisitionBillingModeReply.setTime42(accountingStrategyDetail.getType().equals(1)?0
+ :accountingStrategyDetail.getType().equals(2)?1:accountingStrategyDetail.getType().equals(3)?2:3);
+ break;
+ case 43:
+ acquisitionBillingModeReply.setTime43(accountingStrategyDetail.getType().equals(1)?0
+ :accountingStrategyDetail.getType().equals(2)?1:accountingStrategyDetail.getType().equals(3)?2:3);
+ break;
+ case 44:
+ acquisitionBillingModeReply.setTime44(accountingStrategyDetail.getType().equals(1)?0
+ :accountingStrategyDetail.getType().equals(2)?1:accountingStrategyDetail.getType().equals(3)?2:3);
+ break;
+ case 45:
+ acquisitionBillingModeReply.setTime45(accountingStrategyDetail.getType().equals(1)?0
+ :accountingStrategyDetail.getType().equals(2)?1:accountingStrategyDetail.getType().equals(3)?2:3);
+ break;
+ case 46:
+ acquisitionBillingModeReply.setTime46(accountingStrategyDetail.getType().equals(1)?0
+ :accountingStrategyDetail.getType().equals(2)?1:accountingStrategyDetail.getType().equals(3)?2:3);
+ break;
+ case 47:
+ acquisitionBillingModeReply.setTime47(accountingStrategyDetail.getType().equals(1)?0
+ :accountingStrategyDetail.getType().equals(2)?1:accountingStrategyDetail.getType().equals(3)?2:3);
+ break;
+ case 48:
+ acquisitionBillingModeReply.setTime48(accountingStrategyDetail.getType().equals(1)?0
+ :accountingStrategyDetail.getType().equals(2)?1:accountingStrategyDetail.getType().equals(3)?2:3);
+ break;
+ }
+ }
+ }
+ }
}
}
--
Gitblit v1.7.1