From 4e134e61ede1f8574189af45c810ca365c7c7f9a Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期四, 12 五月 2022 18:33:14 +0800
Subject: [PATCH] 优化代码
---
service-job/src/main/java/com/java110/job/adapt/payment/receipt/PayFeeReceiptAdapt.java | 185 ++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 185 insertions(+), 0 deletions(-)
diff --git a/service-job/src/main/java/com/java110/job/adapt/payment/receipt/PayFeeReceiptAdapt.java b/service-job/src/main/java/com/java110/job/adapt/payment/receipt/PayFeeReceiptAdapt.java
new file mode 100644
index 0000000..8608df0
--- /dev/null
+++ b/service-job/src/main/java/com/java110/job/adapt/payment/receipt/PayFeeReceiptAdapt.java
@@ -0,0 +1,185 @@
+package com.java110.job.adapt.payment.receipt;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.alibaba.fastjson.serializer.SerializerFeature;
+import com.java110.core.factory.GenerateCodeFactory;
+import com.java110.core.smo.IComputeFeeSMO;
+import com.java110.dto.fee.FeeDetailDto;
+import com.java110.dto.fee.FeeDto;
+import com.java110.dto.logSystemError.LogSystemErrorDto;
+import com.java110.dto.owner.OwnerDto;
+import com.java110.entity.order.Business;
+import com.java110.intf.community.ICommunityInnerServiceSMO;
+import com.java110.intf.fee.IFeeDetailInnerServiceSMO;
+import com.java110.intf.fee.IFeeInnerServiceSMO;
+import com.java110.intf.fee.IFeeReceiptDetailInnerServiceSMO;
+import com.java110.intf.fee.IFeeReceiptInnerServiceSMO;
+import com.java110.intf.user.IOwnerAppUserInnerServiceSMO;
+import com.java110.intf.user.IOwnerCarInnerServiceSMO;
+import com.java110.intf.user.IOwnerInnerServiceSMO;
+import com.java110.intf.user.IOwnerRoomRelInnerServiceSMO;
+import com.java110.job.adapt.DatabusAdaptImpl;
+import com.java110.po.fee.PayFeeDetailPo;
+import com.java110.po.feeReceipt.FeeReceiptPo;
+import com.java110.po.feeReceiptDetail.FeeReceiptDetailPo;
+import com.java110.po.logSystemError.LogSystemErrorPo;
+import com.java110.service.smo.ISaveSystemErrorSMO;
+import com.java110.utils.util.Assert;
+import com.java110.utils.util.BeanConvertUtil;
+import com.java110.utils.util.ExceptionUtil;
+import com.java110.utils.util.StringUtil;
+import org.slf4j.Logger;
+import com.java110.core.log.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 缂磋垂鏀舵嵁澶勭悊
+ *
+ * @author fqz
+ * @date 2020-12-11 18:54
+ */
+@Component(value = "payFeeReceiptAdapt")
+public class PayFeeReceiptAdapt extends DatabusAdaptImpl {
+
+ private static Logger logger = LoggerFactory.getLogger(PayFeeReceiptAdapt.class);
+
+ @Autowired
+ private ICommunityInnerServiceSMO communityInnerServiceSMO;
+
+ @Autowired
+ private ISaveSystemErrorSMO saveSystemErrorSMOImpl;
+
+ @Autowired
+ private IFeeReceiptInnerServiceSMO feeReceiptInnerServiceSMOImpl;
+
+ @Autowired
+ private IFeeReceiptDetailInnerServiceSMO feeReceiptDetailInnerServiceSMOImpl;
+
+ @Autowired
+ private IFeeInnerServiceSMO feeInnerServiceSMOImpl;
+
+ @Autowired
+ private IFeeDetailInnerServiceSMO feeDetailInnerServiceSMOImpl;
+
+ @Autowired
+ private IComputeFeeSMO computeFeeSMOImpl;
+
+ @Autowired
+ private IOwnerRoomRelInnerServiceSMO ownerRoomRelInnerServiceSMO;
+
+ @Autowired
+ private IOwnerCarInnerServiceSMO ownerCarInnerServiceSMO;
+
+ @Autowired
+ private IOwnerInnerServiceSMO ownerInnerServiceSMO;
+
+ @Autowired
+ private IOwnerAppUserInnerServiceSMO ownerAppUserInnerServiceSMO;
+
+ //妯℃澘淇℃伅鎺ㄩ�佸湴鍧�
+ private static String sendMsgUrl = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=";
+
+ public final static String ALI_SMS_DOMAIN = "ALI_SMS";
+
+ @Override
+ public void execute(Business business, List<Business> businesses) {
+ JSONObject data = business.getData();
+
+ if(data != null){
+ logger.debug("璇锋眰鏃ュ織:{}",data);
+ }
+ JSONArray businessPayFeeDetails = null;
+ if (data == null) {
+ FeeDetailDto feeDetailDto = new FeeDetailDto();
+ feeDetailDto.setbId(business.getbId());
+ List<FeeDetailDto> feeDetailDtos = feeDetailInnerServiceSMOImpl.queryFeeDetails(feeDetailDto);
+ Assert.listOnlyOne(feeDetailDtos, "鏈煡璇㈠埌缂磋垂璁板綍");
+ businessPayFeeDetails = JSONArray.parseArray(JSONArray.toJSONString(feeDetailDtos, SerializerFeature.WriteDateUseDateFormat));
+ } else if (data.containsKey(PayFeeDetailPo.class.getSimpleName())) {
+ Object bObj = data.get(PayFeeDetailPo.class.getSimpleName());
+ if (bObj instanceof JSONObject) {
+ businessPayFeeDetails = new JSONArray();
+ businessPayFeeDetails.add(bObj);
+ } else if (bObj instanceof Map) {
+ businessPayFeeDetails = new JSONArray();
+ businessPayFeeDetails.add(JSONObject.parseObject(JSONObject.toJSONString(bObj)));
+ } else if (bObj instanceof List) {
+ businessPayFeeDetails = JSONArray.parseArray(JSONObject.toJSONString(bObj));
+ } else {
+ businessPayFeeDetails = (JSONArray) bObj;
+ }
+ } else {
+ if (data instanceof JSONObject) {
+ businessPayFeeDetails = new JSONArray();
+ businessPayFeeDetails.add(data);
+ }
+ }
+
+ if (businessPayFeeDetails == null) {
+ return;
+ }
+ for (int bPayFeeDetailIndex = 0; bPayFeeDetailIndex < businessPayFeeDetails.size(); bPayFeeDetailIndex++) {
+ JSONObject businessPayFeeDetail = businessPayFeeDetails.getJSONObject(bPayFeeDetailIndex);
+ doPayFeeDetail(business, businessPayFeeDetail);
+ }
+ }
+
+ private void doPayFeeDetail(Business business, JSONObject businessPayFeeDetail) {
+ try {
+ //鏌ヨ缂磋垂鏄庣粏
+ PayFeeDetailPo payFeeDetailPo = BeanConvertUtil.covertBean(businessPayFeeDetail, PayFeeDetailPo.class);
+ FeeDto feeDto = new FeeDto();
+ feeDto.setFeeId(payFeeDetailPo.getFeeId());
+ feeDto.setCommunityId(payFeeDetailPo.getCommunityId());
+ List<FeeDto> feeDtos = feeInnerServiceSMOImpl.queryFees(feeDto);
+
+ Assert.listOnlyOne(feeDtos, "鏈煡璇㈠埌璐圭敤淇℃伅");
+
+ feeDto = feeDtos.get(0);
+
+ //鏌ヨ涓氫富淇℃伅
+ OwnerDto ownerDto = computeFeeSMOImpl.getFeeOwnerDto(feeDto);
+
+ //娣诲姞鍗曞厓淇℃伅
+ FeeReceiptPo feeReceiptPo = new FeeReceiptPo();
+ FeeReceiptDetailPo feeReceiptDetailPo = new FeeReceiptDetailPo();
+
+ feeReceiptDetailPo.setAmount(businessPayFeeDetail.getString("receivedAmount"));
+ feeReceiptDetailPo.setCommunityId(feeDto.getCommunityId());
+ feeReceiptDetailPo.setCycle(businessPayFeeDetail.getString("cycles"));
+ feeReceiptDetailPo.setDetailId(businessPayFeeDetail.getString("detailId"));
+ feeReceiptDetailPo.setEndTime(businessPayFeeDetail.getString("endTime"));
+ feeReceiptDetailPo.setFeeId(feeDto.getFeeId());
+ feeReceiptDetailPo.setFeeName(StringUtil.isEmpty(feeDto.getImportFeeName()) ? feeDto.getFeeName() : feeDto.getImportFeeName());
+ feeReceiptDetailPo.setStartTime(businessPayFeeDetail.getString("startTime"));
+ feeReceiptDetailPo.setReceiptId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_receiptId));
+ computeFeeSMOImpl.freshFeeReceiptDetail(feeDto, feeReceiptDetailPo);
+ feeReceiptPo.setAmount(feeReceiptDetailPo.getAmount());
+ feeReceiptPo.setCommunityId(feeReceiptDetailPo.getCommunityId());
+ feeReceiptPo.setReceiptId(feeReceiptDetailPo.getReceiptId());
+ feeReceiptPo.setObjType(feeDto.getPayerObjType());
+ feeReceiptPo.setObjId(feeDto.getPayerObjId());
+ feeReceiptPo.setObjName(computeFeeSMOImpl.getFeeObjName(feeDto));
+ feeReceiptPo.setPayObjId(ownerDto.getOwnerId());
+ feeReceiptPo.setPayObjName(ownerDto.getName());
+
+ //杩欓噷鍙槸鍐欏叆 鏀舵嵁琛紝鏆備笉鑰冭檻 浜嬪姟涓�鑷存�ч棶棰橈紝灏辩畻鍐欏叆澶辫触 涔熷彧鏄奖鍝� 鏀舵嵁鎵撳嵃锛屽鏋� 璐靛叕鍙稿 鏀舵嵁瑕佹眰 姣旇緝楂橈紝涓嶈兘鏈夊け璐ョ殑鎯呭喌 璇峰姞鍏ヤ簨鍔$鐞�
+ feeReceiptDetailInnerServiceSMOImpl.saveFeeReceiptDetail(feeReceiptDetailPo);
+ feeReceiptInnerServiceSMOImpl.saveFeeReceipt(feeReceiptPo);
+ }catch (Exception e){
+ LogSystemErrorPo logSystemErrorPo = new LogSystemErrorPo();
+ logSystemErrorPo.setErrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_errId));
+ logSystemErrorPo.setErrType(LogSystemErrorDto.ERR_TYPE_NOTICE);
+ logSystemErrorPo.setMsg(ExceptionUtil.getStackTrace(e));
+ saveSystemErrorSMOImpl.saveLog(logSystemErrorPo);
+ logger.error("閫氱煡寮傚父", e);
+ }
+ }
+
+
+}
--
Gitblit v1.8.0