From 1dca0b72ef9731bda8b1c55fc2b577fbdf0bce9d Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期日, 02 三月 2025 00:23:14 +0800
Subject: [PATCH] 完成运营业主信息 和业主详情显示处理
---
service-common/src/main/java/com/java110/common/cmd/machineTranslate/MachineUploadCarPaymentCmd.java | 71 +++++++++++++++++++++++++----------
1 files changed, 50 insertions(+), 21 deletions(-)
diff --git a/service-common/src/main/java/com/java110/common/cmd/machineTranslate/MachineUploadCarPaymentCmd.java b/service-common/src/main/java/com/java110/common/cmd/machineTranslate/MachineUploadCarPaymentCmd.java
index df48c2b..b29511f 100644
--- a/service-common/src/main/java/com/java110/common/cmd/machineTranslate/MachineUploadCarPaymentCmd.java
+++ b/service-common/src/main/java/com/java110/common/cmd/machineTranslate/MachineUploadCarPaymentCmd.java
@@ -7,8 +7,8 @@
import com.java110.core.event.cmd.Cmd;
import com.java110.core.event.cmd.CmdEvent;
import com.java110.core.factory.GenerateCodeFactory;
-import com.java110.dto.CommunityMemberDto;
-import com.java110.dto.carInoutPayment.CarInoutPaymentDto;
+import com.java110.dto.community.CommunityMemberDto;
+import com.java110.dto.payment.CarInoutPaymentDto;
import com.java110.dto.fee.FeeAttrDto;
import com.java110.dto.fee.FeeConfigDto;
import com.java110.dto.fee.FeeDetailDto;
@@ -17,7 +17,7 @@
import com.java110.dto.machine.MachineDto;
import com.java110.dto.owner.OwnerCarDto;
import com.java110.dto.owner.OwnerDto;
-import com.java110.dto.tempCarFeeConfig.TempCarFeeConfigDto;
+import com.java110.dto.fee.TempCarFeeConfigDto;
import com.java110.intf.common.ICarInoutPaymentV1InnerServiceSMO;
import com.java110.intf.common.ICarInoutV1InnerServiceSMO;
import com.java110.intf.common.IMachineInnerServiceSMO;
@@ -30,12 +30,14 @@
import com.java110.intf.user.IOwnerCarInnerServiceSMO;
import com.java110.intf.user.IOwnerCarV1InnerServiceSMO;
import com.java110.po.car.CarInoutPo;
-import com.java110.po.carInoutPayment.CarInoutPaymentPo;
+import com.java110.po.car.CarInoutPaymentPo;
import com.java110.po.fee.FeeAttrPo;
import com.java110.po.fee.PayFeeDetailPo;
import com.java110.po.fee.PayFeePo;
import com.java110.utils.exception.CmdException;
+import com.java110.utils.lock.DistributedLock;
import com.java110.utils.util.Assert;
+import com.java110.utils.util.BeanConvertUtil;
import com.java110.utils.util.DateUtil;
import org.springframework.beans.factory.annotation.Autowired;
@@ -131,6 +133,7 @@
carInoutDto.setPaId(machineDto.getLocationObjId());
carInoutDto.setStates(new String[]{
CarInoutDto.STATE_IN,
+ CarInoutDto.STATE_PAY,
CarInoutDto.STATE_REPAY
});
List<CarInoutDto> carInoutDtos = carInoutV1InnerServiceSMOImpl.queryCarInouts(carInoutDto);
@@ -154,18 +157,9 @@
throw new CmdException("鏇存柊璐圭敤澶辫触");
}
- CarInoutPo carInoutPo = new CarInoutPo();
- carInoutPo.setPaId(carInoutDtos.get(0).getPaId());
- carInoutPo.setInoutId(carInoutDtos.get(0).getInoutId());
- carInoutPo.setCommunityId(carInoutDtos.get(0).getCommunityId());
- carInoutPo.setState(CarInoutDto.STATE_PAY);
- flag = carInoutV1InnerServiceSMOImpl.updateCarInout(carInoutPo);
+ CarInoutPo carInoutPo = updateCarInoutState(reqJson,machineDto,carInoutDtos.get(0));
- if (flag < 1) {
- throw new CmdException("鏇存柊鍑哄満鏃堕棿澶辫触");
- }
-
- //濡傛灉鏈夎垂鐢� 鍒欑即璐�
+ //濡傛灉鏈夎垂鐢� 鍒欑即璐�
boolean hasFee = hasFeeAndPayFee(carInoutPo, carInoutPaymentPo);
double realCharge = Double.parseDouble(carInoutPaymentPo.getRealCharge());
@@ -202,10 +196,46 @@
paramIn.put("communityId", carInoutDtos.get(0).getCommunityId());
paramIn.put("inoutId", carInoutDtos.get(0).getInoutId());
paramIn.put("ownerId", ownerDtos.get(0).getMemberId());
- saveTempCarFee(paramIn, machineDto,carInoutDtos.get(0));
+ saveTempCarFee(paramIn, machineDto, carInoutDtos.get(0));
//鍐嶅幓缂磋垂
hasFeeAndPayFee(carInoutPo, carInoutPaymentPo);
+ }
+
+ private CarInoutPo updateCarInoutState(JSONObject reqJson,MachineDto machineDto,CarInoutDto carInoutDto) {
+ int flag;
+
+ String requestId = DistributedLock.getLockUUID();
+ String key = "updateInoutState_" + carInoutDto.getInoutId();
+ try {
+ DistributedLock.waitGetDistributedLock(key, requestId);
+
+ CarInoutDto newCarInoutDto = new CarInoutDto();
+ newCarInoutDto.setCommunityId(reqJson.getString("communityId"));
+ newCarInoutDto.setCarNum(reqJson.getString("carNum"));
+ newCarInoutDto.setPaId(machineDto.getLocationObjId());
+ newCarInoutDto.setStates(new String[]{
+ CarInoutDto.STATE_IN,
+ CarInoutDto.STATE_REPAY
+ });
+ List<CarInoutDto> carInoutDtos = carInoutV1InnerServiceSMOImpl.queryCarInouts(newCarInoutDto);
+ if(carInoutDtos == null || carInoutDtos.size()<1){
+ return BeanConvertUtil.covertBean(carInoutDto,CarInoutPo.class);
+ }
+ CarInoutPo carInoutPo = new CarInoutPo();
+ carInoutPo.setInoutId(carInoutDto.getInoutId());
+ carInoutPo.setPaId(carInoutDto.getPaId());
+ carInoutPo.setCommunityId(carInoutDto.getCommunityId());
+ carInoutPo.setState(CarInoutDto.STATE_PAY);
+ flag = carInoutV1InnerServiceSMOImpl.updateCarInout(carInoutPo);
+ if (flag < 1) {
+ throw new CmdException("鏇存柊鍑哄満鏃堕棿澶辫触");
+ }
+ return carInoutPo;
+ } finally {
+ DistributedLock.releaseDistributedLock(requestId, key);
+ }
+
}
private boolean hasFeeAndPayFee(CarInoutPo carInoutPo, CarInoutPaymentPo carInoutPaymentPo) {
@@ -232,11 +262,11 @@
PayFeeDetailPo payFeeDetailPo = new PayFeeDetailPo();
payFeeDetailPo.setDetailId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_detailId));
- if(CarInoutPaymentDto.PAY_TYPE_CRASH.equals(carInoutPaymentPo.getPayType())) {
+ if (CarInoutPaymentDto.PAY_TYPE_CRASH.equals(carInoutPaymentPo.getPayType())) {
payFeeDetailPo.setPrimeRate(FeeDetailDto.PRIME_REATE_CRASH);
- }else if(CarInoutPaymentDto.PAY_TYPE_WECHAT.equals(carInoutPaymentPo.getPayType())){
+ } else if (CarInoutPaymentDto.PAY_TYPE_WECHAT.equals(carInoutPaymentPo.getPayType())) {
payFeeDetailPo.setPrimeRate(FeeDetailDto.PRIME_REATE_WECHAT_QRCODE);
- }else{
+ } else {
payFeeDetailPo.setPrimeRate(FeeDetailDto.PRIME_REATE_ALI_QRCODE);
}
FeeDto feeDto = feeDtos.get(0);
@@ -255,8 +285,7 @@
return true;
}
- private void saveTempCarFee(JSONObject reqJson, MachineDto machineDto,CarInoutDto carInoutDto) {
-
+ private void saveTempCarFee(JSONObject reqJson, MachineDto machineDto, CarInoutDto carInoutDto) {
//鍒涘缓璐圭敤
--
Gitblit v1.8.0