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-fee/src/main/java/com/java110/fee/bmo/fee/impl/FeeBMOImpl.java | 61 ++++++++++++++++++++++++++----
1 files changed, 53 insertions(+), 8 deletions(-)
diff --git a/service-fee/src/main/java/com/java110/fee/bmo/fee/impl/FeeBMOImpl.java b/service-fee/src/main/java/com/java110/fee/bmo/fee/impl/FeeBMOImpl.java
index 8fadf6c..04b9eba 100644
--- a/service-fee/src/main/java/com/java110/fee/bmo/fee/impl/FeeBMOImpl.java
+++ b/service-fee/src/main/java/com/java110/fee/bmo/fee/impl/FeeBMOImpl.java
@@ -5,29 +5,29 @@
import com.java110.core.context.ICmdDataFlowContext;
import com.java110.core.factory.GenerateCodeFactory;
import com.java110.core.smo.IComputeFeeSMO;
-import com.java110.dto.RoomDto;
+import com.java110.dto.room.RoomDto;
import com.java110.dto.contract.ContractDto;
import com.java110.dto.fee.FeeConfigDto;
import com.java110.dto.fee.FeeDto;
import com.java110.dto.machine.CarInoutDto;
import com.java110.dto.owner.OwnerCarDto;
import com.java110.dto.owner.OwnerDto;
+import com.java110.dto.user.UserDto;
import com.java110.fee.bmo.ApiBaseBMO;
import com.java110.fee.bmo.fee.IFeeBMO;
import com.java110.intf.common.ICarInoutInnerServiceSMO;
import com.java110.intf.community.IParkingSpaceInnerServiceSMO;
import com.java110.intf.community.IRoomInnerServiceSMO;
-import com.java110.intf.fee.IFeeConfigInnerServiceSMO;
-import com.java110.intf.fee.IFeeInnerServiceSMO;
-import com.java110.intf.fee.IPayFeeDetailV1InnerServiceSMO;
-import com.java110.intf.fee.IPayFeeV1InnerServiceSMO;
+import com.java110.intf.fee.*;
+import com.java110.intf.user.IUserV1InnerServiceSMO;
import com.java110.po.car.CarInoutPo;
import com.java110.po.fee.FeeAttrPo;
import com.java110.po.fee.PayFeeConfigPo;
import com.java110.po.fee.PayFeeDetailPo;
import com.java110.po.fee.PayFeePo;
-import com.java110.po.feeReceipt.FeeReceiptPo;
-import com.java110.po.feeReceiptDetail.FeeReceiptDetailPo;
+import com.java110.po.fee.FeeReceiptPo;
+import com.java110.po.fee.FeeReceiptDetailPo;
+import com.java110.utils.cache.CommonCache;
import com.java110.utils.constant.*;
import com.java110.utils.exception.ListenerExecuteException;
import com.java110.utils.util.Assert;
@@ -78,6 +78,12 @@
@Autowired
private IPayFeeV1InnerServiceSMO payFeeV1InnerServiceSMOImpl;
+
+ @Autowired
+ private IUserV1InnerServiceSMO userV1InnerServiceSMOImpl;
+
+ @Autowired
+ private IFeeReceiptInnerServiceSMO feeReceiptInnerServiceSMOImpl;
/**
* 娣诲姞灏忓尯淇℃伅
@@ -367,6 +373,9 @@
*/
public JSONObject addFeePreDetail(JSONObject paramInJson) {
+ //todo 鐢熸垚鏀舵嵁缂栧彿
+ String receiptCode = feeReceiptInnerServiceSMOImpl.generatorReceiptCode(paramInJson.getString("communityId"));
+
JSONObject businessFeeDetail = new JSONObject();
businessFeeDetail.putAll(paramInJson);
businessFeeDetail.put("detailId", paramInJson.getString("detailId"));
@@ -418,11 +427,44 @@
payFeeDetail.setPayableAmount("0.0");
}
payFeeDetail.setPayOrderId(paramInJson.getString("oId"));
+ //todo 缂撳瓨鏀舵嵁缂栧彿
+ CommonCache.setValue(payFeeDetail.getDetailId()+CommonCache.RECEIPT_CODE,receiptCode,CommonCache.DEFAULT_EXPIRETIME_TWO_MIN);
+ // todo 鍒峰叆鏀堕摱浜哄憳淇℃伅
+ freshCashierInfo(payFeeDetail, paramInJson);
+
int flag = payFeeDetailNewV1InnerServiceSMOImpl.savePayFeeDetailNew(payFeeDetail);
if (flag < 1) {
throw new ListenerExecuteException(ResponseConstant.RESULT_CODE_ERROR, "淇濆瓨璐圭敤鏄庣粏澶辫触");
}
return businessFeeDetail;
+ }
+
+ /**
+ * 鍒峰叆鏀堕摱浜哄憳
+ *
+ * @param payFeeDetail
+ * @param paramInJson
+ */
+ private void freshCashierInfo(PayFeeDetailPo payFeeDetail, JSONObject paramInJson) {
+ String userId = paramInJson.getString("userId");
+ if (StringUtil.isEmpty(userId)) {
+ payFeeDetail.setCashierId("-1");
+ payFeeDetail.setCashierName("绯荤粺鏀堕摱");
+ return;
+ }
+
+ UserDto userDto = new UserDto();
+ userDto.setUserId(userId);
+ List<UserDto> userDtos = userV1InnerServiceSMOImpl.queryUsers(userDto);
+ if (userDtos != null && userDtos.size() > 0) {
+ payFeeDetail.setCashierId(userDtos.get(0).getUserId());
+ payFeeDetail.setCashierName(userDtos.get(0).getName());
+ return;
+ }
+
+ payFeeDetail.setCashierId("-1");
+ payFeeDetail.setCashierName("绯荤粺鏀堕摱");
+
}
/**
@@ -661,6 +703,9 @@
businessUnit.put("feeTypeCd", paramInJson.getString("feeTypeCd"));
businessUnit.put("incomeObjId", paramInJson.getString("storeId"));
businessUnit.put("amount", "-1.00");
+ if (paramInJson.containsKey("amount") && !StringUtil.isEmpty(paramInJson.getString("amount"))) {
+ businessUnit.put("amount", paramInJson.getString("amount"));
+ }
businessUnit.put("startTime", time);
businessUnit.put("endTime", time);
businessUnit.put("communityId", paramInJson.getString("communityId"));
@@ -681,7 +726,7 @@
feeAttrPo.setSpecCd(specCd);
feeAttrPo.setValue(value);
feeAttrPo.setFeeId(paramInJson.getString("feeId"));
- feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId));
+ feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId,true));
return feeAttrPo;
}
--
Gitblit v1.8.0