From 7958f1dddb8a7f4e70d232b07a7703955ecedae0 Mon Sep 17 00:00:00 2001
From: Your Name <you@example.com>
Date: 星期六, 26 八月 2023 12:45:33 +0800
Subject: [PATCH] 优化diamante
---
service-common/src/main/java/com/java110/common/charge/ChargeCoreImpl.java | 95 +++++++++++++++++++++++++++++------------------
1 files changed, 58 insertions(+), 37 deletions(-)
diff --git a/service-common/src/main/java/com/java110/common/charge/ChargeCoreImpl.java b/service-common/src/main/java/com/java110/common/charge/ChargeCoreImpl.java
index f5c3f21..05edf8b 100644
--- a/service-common/src/main/java/com/java110/common/charge/ChargeCoreImpl.java
+++ b/service-common/src/main/java/com/java110/common/charge/ChargeCoreImpl.java
@@ -3,22 +3,21 @@
import com.alibaba.fastjson.JSONObject;
import com.java110.core.factory.GenerateCodeFactory;
import com.java110.dto.account.AccountDto;
-import com.java110.dto.chargeMachine.ChargeMachineDto;
-import com.java110.dto.chargeMachine.ChargeMachineFactoryDto;
-import com.java110.dto.chargeMachine.ChargeMachineOrderDto;
-import com.java110.dto.chargeMachine.NotifyChargeOrderDto;
-import com.java110.dto.chargeMachine.ChargeMachineOrderCouponDto;
-import com.java110.dto.chargeMachine.ChargeMachinePortDto;
-import com.java110.dto.chargeMachine.ChargeRuleFeeDto;
-import com.java110.dto.chargeMonthOrder.ChargeMonthOrderDto;
-import com.java110.dto.user.UserDto;
+import com.java110.dto.charge.ChargeMachineDto;
+import com.java110.dto.charge.ChargeMachineFactoryDto;
+import com.java110.dto.charge.ChargeMachineOrderDto;
+import com.java110.dto.charge.NotifyChargeOrderDto;
+import com.java110.dto.charge.ChargeMachineOrderCouponDto;
+import com.java110.dto.charge.ChargeMachinePortDto;
+import com.java110.dto.charge.ChargeRuleFeeDto;
+import com.java110.dto.charge.ChargeMonthOrderDto;
import com.java110.intf.acct.IAccountInnerServiceSMO;
import com.java110.intf.common.*;
-import com.java110.po.accountDetail.AccountDetailPo;
-import com.java110.po.chargeMachineOrder.ChargeMachineOrderPo;
-import com.java110.po.chargeMachineOrderAcct.ChargeMachineOrderAcctPo;
-import com.java110.po.chargeMachineOrderCoupon.ChargeMachineOrderCouponPo;
-import com.java110.po.chargeMachinePort.ChargeMachinePortPo;
+import com.java110.po.account.AccountDetailPo;
+import com.java110.po.charge.ChargeMachineOrderPo;
+import com.java110.po.charge.ChargeMachineOrderAcctPo;
+import com.java110.po.charge.ChargeMachineOrderCouponPo;
+import com.java110.po.charge.ChargeMachinePortPo;
import com.java110.utils.exception.CmdException;
import com.java110.utils.factory.ApplicationContextFactory;
import com.java110.utils.util.Assert;
@@ -120,16 +119,7 @@
String remark,
String energy,
List<ChargeMachineOrderDto> chargeMachineOrderDtos) {
- // 閫�娆�
-// ChargeMachineOrderDto chargeMachineOrderDto = new ChargeMachineOrderDto();
-// chargeMachineOrderDto.setMachineId(chargeMachineDto.getMachineId());
-// chargeMachineOrderDto.setPortId(chargeMachinePortDto.getPortId());
-// chargeMachineOrderDto.setState(ChargeMachineOrderDto.STATE_DOING);
-// List<ChargeMachineOrderDto> chargeMachineOrderDtos = chargeMachineOrderV1InnerServiceSMOImpl.queryChargeMachineOrders(chargeMachineOrderDto);
-//
-// if (chargeMachineOrderDtos == null || chargeMachineOrderDtos.size() < 1) {
-// return;
-// }
+
Date startTime = DateUtil.getDateFromStringA(chargeMachineOrderDtos.get(0).getStartTime());
@@ -139,7 +129,7 @@
double usedHours = Math.ceil((calendar.getTime().getTime() - startTime.getTime()) / (60 * 60 * 1000.00));
// 璁$畻骞冲潎鍔熺巼
String power = energy;
- if (usedHours < 0) {
+ if (usedHours <= 0) {
usedHours = 0;
} else {
BigDecimal powerDec = new BigDecimal(Double.parseDouble(energy)).divide(new BigDecimal(usedHours), 2, BigDecimal.ROUND_HALF_UP);
@@ -242,7 +232,7 @@
chargeMachineOrderAcctV1InnerServiceSMOImpl.saveChargeMachineOrderAcct(chargeMachineOrderAcctPo);
}
- public boolean ifMonthCard(String personTel, String communityId) {
+ public boolean ifMonthCard(String personTel, String communityId ) {
ChargeMonthOrderDto chargeMonthOrderDto = new ChargeMonthOrderDto();
chargeMonthOrderDto.setPersonTel(personTel);
@@ -257,7 +247,36 @@
ChargeMachineOrderDto chargeMachineOrderDto = new ChargeMachineOrderDto();
chargeMachineOrderDto.setPersonTel(personTel);
chargeMachineOrderDto.setCommunityId(communityId);
- chargeMachineOrderDto.setQueryTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
+ chargeMachineOrderDto.setQueryTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_B));
+ chargeMachineOrderDto.setState(ChargeMachineOrderDto.STATE_FINISH);
+ int count = chargeMachineOrderV1InnerServiceSMOImpl.queryChargeMachineOrdersCount(chargeMachineOrderDto);
+
+ if(count >1){
+ return false;
+ }
+
+ return true;
+ }
+
+ @Override
+ public boolean ifStartMonthCard(String personTel, String communityId ) {
+
+ ChargeMonthOrderDto chargeMonthOrderDto = new ChargeMonthOrderDto();
+ chargeMonthOrderDto.setPersonTel(personTel);
+ chargeMonthOrderDto.setCommunityId(communityId);
+ chargeMonthOrderDto.setQueryTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
+ List<ChargeMonthOrderDto> chargeMonthOrderDtos = chargeMonthOrderV1InnerServiceSMOImpl.queryChargeMonthOrders(chargeMonthOrderDto);
+ if (chargeMonthOrderDtos == null || chargeMonthOrderDtos.size() < 1) {
+ return false;
+ }
+
+ //todo 浠婂ぉ鏄惁鍙堝厖杩囩數
+ ChargeMachineOrderDto chargeMachineOrderDto = new ChargeMachineOrderDto();
+ chargeMachineOrderDto.setPersonTel(personTel);
+ chargeMachineOrderDto.setCommunityId(communityId);
+ chargeMachineOrderDto.setQueryStartTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_B));
+ chargeMachineOrderDto.setQueryEndTime(DateUtil.getAddDayStringB(DateUtil.getCurrentDate(),1));
+ chargeMachineOrderDto.setState(ChargeMachineOrderDto.STATE_FINISH);
List<ChargeMachineOrderDto> chargeMachineOrderDtos = chargeMachineOrderV1InnerServiceSMOImpl.queryChargeMachineOrders(chargeMachineOrderDto);
if (chargeMachineOrderDtos == null || chargeMachineOrderDtos.size() < 1) {
@@ -277,6 +296,7 @@
return false;
}
+
/**
* 浼樻儬鍒告姷鎵� 灏忔椂
@@ -353,18 +373,10 @@
@Override
public ResultVo finishCharge(NotifyChargeOrderDto notifyChargeOrderDto) {
-// // todo 鐢熸垚 鍏呯數璁㈠崟
-// ChargeMachineOrderPo chargeMachineOrderPo = new ChargeMachineOrderPo();
-// chargeMachineOrderPo.setEndTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
-// chargeMachineOrderPo.setState(ChargeMachineOrderDto.STATE_FINISH);
-// chargeMachineOrderPo.setOrderId(notifyChargeOrderDto.getOrderId());
-// chargeMachineOrderV1InnerServiceSMOImpl.updateChargeMachineOrder(chargeMachineOrderPo);
ChargeMachineDto chargeMachineDto = new ChargeMachineDto();
chargeMachineDto.setMachineCode(notifyChargeOrderDto.getMachineCode());
List<ChargeMachineDto> chargeMachineDtos = chargeMachineV1InnerServiceSMOImpl.queryChargeMachines(chargeMachineDto);
-
- //Assert.listOnlyOne(chargeMachineDtos, "鍏呯數妗� 涓嶅瓨鍦�");
if (chargeMachineDtos == null || chargeMachineDtos.size() < 1) {
return new ResultVo(ResultVo.CODE_OK, "鎴愬姛");
@@ -388,8 +400,8 @@
chargeMachinePortV1InnerServiceSMOImpl.updateChargeMachinePort(chargeMachinePortPo);
ChargeMachineOrderDto chargeMachineOrderDto = new ChargeMachineOrderDto();
- chargeMachineOrderDto.setMachineId(chargeMachineDto.getMachineId());
- chargeMachineOrderDto.setPortId(chargeMachinePortDto.getPortId());
+ chargeMachineOrderDto.setMachineId(chargeMachineDtos.get(0).getMachineId());
+ chargeMachineOrderDto.setPortId(chargeMachinePortDtos.get(0).getPortId());
chargeMachineOrderDto.setState(ChargeMachineOrderDto.STATE_DOING);
List<ChargeMachineOrderDto> chargeMachineOrderDtos = chargeMachineOrderV1InnerServiceSMOImpl.queryChargeMachineOrders(chargeMachineOrderDto);
@@ -397,6 +409,15 @@
return new ResultVo(ResultVo.CODE_OK, "鎴愬姛");
}
+ ChargeMachineOrderPo chargeMachineOrderPo = new ChargeMachineOrderPo();
+ chargeMachineOrderPo.setOrderId(chargeMachineOrderDtos.get(0).getOrderId());
+ chargeMachineOrderPo.setState(ChargeMachineOrderDto.STATE_FINISHING);
+ chargeMachineOrderPo.setCommunityId(chargeMachineOrderDtos.get(0).getCommunityId());
+ int flag = chargeMachineOrderV1InnerServiceSMOImpl.updateChargeMachineOrder(chargeMachineOrderPo);
+ if (flag < 1) {
+ throw new IllegalArgumentException("淇敼璁㈠崟澶辫触");
+ }
+
//todo 鏈堝崱鐩存帴淇敼鐘舵��
if (ifMonthCard(chargeMachineOrderDtos.get(0).getPersonTel(), chargeMachinePortDtos.get(0).getCommunityId())) {
finishMonthCardChargeOrder(notifyChargeOrderDto, chargeMachineOrderDtos);
--
Gitblit v1.8.0