|
|
@@ -5,7 +5,6 @@ import com.alibaba.fastjson2.JSONObject;
|
|
|
import com.baomidou.dynamic.datasource.annotation.DS;
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
|
import com.kym.common.cache.ConnectorStatusCache;
|
|
|
-import com.kym.common.config.RedisDBChangeUtil;
|
|
|
import com.kym.entity.admin.ConnectorInfo;
|
|
|
import com.kym.entity.admin.EquipmentInfo;
|
|
|
import com.kym.entity.admin.MonitorLog;
|
|
|
@@ -14,7 +13,6 @@ import com.kym.entity.enplus.EnConnectorStatusInfo;
|
|
|
import com.kym.entity.miniapp.Account;
|
|
|
import com.kym.entity.miniapp.ChargeOrder;
|
|
|
import com.kym.entity.miniapp.WalletDetail;
|
|
|
-import com.kym.entity.miniapp.other.DiscountCompute;
|
|
|
import com.kym.service.admin.ConnectorInfoService;
|
|
|
import com.kym.service.admin.EquipmentInfoService;
|
|
|
import com.kym.service.admin.MonitorLogService;
|
|
|
@@ -48,26 +46,15 @@ import java.util.stream.Collectors;
|
|
|
@Service
|
|
|
public class EnNotifyServiceImpl implements EnNotifyService {
|
|
|
private static final Logger LOGGER = LoggerFactory.getLogger(EnNotifyServiceImpl.class);
|
|
|
-
|
|
|
+ public final StringRedisTemplate redisTemplate;
|
|
|
private final EnPlusService enPlusService;
|
|
|
-
|
|
|
private final ChargeOrderService chargeOrderService;
|
|
|
-
|
|
|
private final ChargeService chargeService;
|
|
|
-
|
|
|
private final AccountService accountService;
|
|
|
-
|
|
|
private final WalletDetailService walletDetailService;
|
|
|
-
|
|
|
private final MonitorLogService monitorLogService;
|
|
|
-
|
|
|
private final EquipmentInfoService equipmentInfoService;
|
|
|
-
|
|
|
private final ConnectorInfoService connectorInfoService;
|
|
|
-
|
|
|
-
|
|
|
- public final StringRedisTemplate redisTemplate;
|
|
|
-
|
|
|
@Value("${kym.notify-email}")
|
|
|
private String notifyEmail;
|
|
|
|
|
|
@@ -279,35 +266,35 @@ public class EnNotifyServiceImpl implements EnNotifyService {
|
|
|
var account = accountService.getAccountByUserId(chargeOrder.getUserId());
|
|
|
|
|
|
// EN+平台推送重试策略是当天失败第二天再推送一次,仅此一次。EN+订单页面可以多次手动推送,所以这里要先判断订单状态,避免重复处理。
|
|
|
- if (chargeOrder.getChargeStatus() != ChargeOrder.CHARGE_STATUS_已结束 || chargeOrder.getOrderStatus() != ChargeOrder.ORDER_STATUS_成功) {
|
|
|
- // 更新订单信息
|
|
|
- chargeOrder
|
|
|
- .setStartTime(LocalDateTime.parse(data.getString("StartTime"), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")))
|
|
|
- .setEndTime(LocalDateTime.parse(data.getString("EndTime"), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")))
|
|
|
- .setTotalPower(data.getDoubleValue("TotalPower"))
|
|
|
- .setElecMoney((int) Math.round(data.getDouble("TotalElecMoney") * 100))
|
|
|
- .setServiceMoney((int) Math.round(data.getDoubleValue("TotalSeviceMoney") * 100)) // 这里文档service单词错误,按文档填写
|
|
|
- .setTotalMoney((int) Math.round(data.getDoubleValue("TotalMoney") * 100))
|
|
|
- .setStopReason(data.getIntValue("StopReason"))
|
|
|
- .setSumPeriod(data.getIntValue("SumPeriod"))
|
|
|
- .setChargeDetail(data.getString("ChargeDetails"))
|
|
|
- // 实付金额初始化为订单总金额
|
|
|
- .setPayAmount(chargeOrder.getTotalMoney());
|
|
|
-
|
|
|
- // 结束时间
|
|
|
- var endTime = LocalDateTime.parse(data.getString("EndTime"), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
|
|
|
-
|
|
|
- // 处理充值权益优惠逻辑/优惠券优惠逻辑
|
|
|
- // 优惠金额
|
|
|
- var discountCompute = DiscountStrategyFactory.getDiscountStrategy(chargeOrder.getDiscountType()).computeDiscount(new DiscountCompute(chargeOrder, account, endTime));
|
|
|
-
|
|
|
- // 更新订单优惠金额
|
|
|
- updateOrderDiscount(chargeOrder, discountCompute);
|
|
|
-
|
|
|
- // 扣费等资金操作
|
|
|
- deductions(discountCompute.chargeOrder, discountCompute.account, endTime);
|
|
|
+// if (chargeOrder.getChargeStatus() != ChargeOrder.CHARGE_STATUS_已结束 || chargeOrder.getOrderStatus() != ChargeOrder.ORDER_STATUS_成功) {
|
|
|
+ // 更新订单信息
|
|
|
+ chargeOrder
|
|
|
+ .setStartTime(LocalDateTime.parse(data.getString("StartTime"), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")))
|
|
|
+ .setEndTime(LocalDateTime.parse(data.getString("EndTime"), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")))
|
|
|
+ .setTotalPower(data.getDoubleValue("TotalPower"))
|
|
|
+ .setElecMoney((int) Math.round(data.getDouble("TotalElecMoney") * 100))
|
|
|
+ .setServiceMoney((int) Math.round(data.getDoubleValue("TotalSeviceMoney") * 100)) // 这里文档service单词错误,按文档填写
|
|
|
+ .setTotalMoney((int) Math.round(data.getDoubleValue("TotalMoney") * 100))
|
|
|
+ .setStopReason(data.getIntValue("StopReason"))
|
|
|
+ .setSumPeriod(data.getIntValue("SumPeriod"))
|
|
|
+ .setChargeDetail(data.getString("ChargeDetails"))
|
|
|
+ // 实付金额初始化为订单总金额
|
|
|
+ .setPayAmount(chargeOrder.getTotalMoney());
|
|
|
+
|
|
|
+ // 结束时间
|
|
|
+ var endTime = LocalDateTime.parse(data.getString("EndTime"), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
|
|
|
+
|
|
|
+ // 处理充值权益优惠逻辑/优惠券优惠逻辑
|
|
|
+ // 优惠金额
|
|
|
+ DiscountStrategyFactory.getDiscountStrategy(chargeOrder.getDiscountType()).computeDiscount(chargeOrder, account);
|
|
|
+
|
|
|
+ // 更新订单优惠金额
|
|
|
+ chargeOrderService.updateById(chargeOrder);
|
|
|
|
|
|
- }
|
|
|
+ // 扣费等资金操作
|
|
|
+ deductions(chargeOrder, account, endTime);
|
|
|
+
|
|
|
+// }
|
|
|
return """
|
|
|
{
|
|
|
"StartChargeSeq":"%s",
|
|
|
@@ -318,18 +305,6 @@ public class EnNotifyServiceImpl implements EnNotifyService {
|
|
|
}
|
|
|
|
|
|
|
|
|
- /**
|
|
|
- * 更新订单优惠金额
|
|
|
- *
|
|
|
- * @param chargeOrder
|
|
|
- * @param discountCompute
|
|
|
- */
|
|
|
- void updateOrderDiscount(ChargeOrder chargeOrder, DiscountCompute discountCompute) {
|
|
|
- chargeOrder.setDiscountAmount(discountCompute.discountAmount);
|
|
|
- chargeOrder.setServiceMoneyDiscount(discountCompute.discountAmount);
|
|
|
- chargeOrderService.updateById(chargeOrder);
|
|
|
- }
|
|
|
-
|
|
|
/**
|
|
|
* 扣费等资金操作
|
|
|
*
|