|
|
@@ -0,0 +1,105 @@
|
|
|
+package com.java110.fee.bmo.impl;
|
|
|
+
|
|
|
+import com.alibaba.fastjson.JSONArray;
|
|
|
+import com.alibaba.fastjson.JSONObject;
|
|
|
+import com.java110.core.annotation.Java110Transactional;
|
|
|
+import com.java110.core.factory.GenerateCodeFactory;
|
|
|
+import com.java110.dto.RoomDto;
|
|
|
+import com.java110.dto.fee.*;
|
|
|
+import com.java110.dto.parking.ParkingSpaceDto;
|
|
|
+import com.java110.dto.repair.RepairDto;
|
|
|
+import com.java110.fee.bmo.IImportRoomFee;
|
|
|
+import com.java110.fee.bmo.IPayOweFee;
|
|
|
+import com.java110.fee.listener.fee.UpdateFeeInfoListener;
|
|
|
+import com.java110.intf.community.IParkingSpaceInnerServiceSMO;
|
|
|
+import com.java110.intf.community.IRepairInnerServiceSMO;
|
|
|
+import com.java110.intf.community.IRoomInnerServiceSMO;
|
|
|
+import com.java110.intf.fee.IFeeAttrInnerServiceSMO;
|
|
|
+import com.java110.intf.fee.IFeeConfigInnerServiceSMO;
|
|
|
+import com.java110.intf.fee.IFeeDetailInnerServiceSMO;
|
|
|
+import com.java110.intf.fee.IFeeInnerServiceSMO;
|
|
|
+import com.java110.po.fee.PayFeeDetailPo;
|
|
|
+import com.java110.po.fee.PayFeePo;
|
|
|
+import com.java110.po.owner.RepairPoolPo;
|
|
|
+import com.java110.utils.constant.FeeFlagTypeConstant;
|
|
|
+import com.java110.utils.constant.FeeStateConstant;
|
|
|
+import com.java110.utils.constant.ResponseConstant;
|
|
|
+import com.java110.utils.exception.ListenerExecuteException;
|
|
|
+import com.java110.utils.lock.DistributedLock;
|
|
|
+import com.java110.utils.util.Assert;
|
|
|
+import com.java110.utils.util.DateUtil;
|
|
|
+import com.java110.vo.ResultVo;
|
|
|
+import org.slf4j.Logger;
|
|
|
+import org.slf4j.LoggerFactory;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.http.ResponseEntity;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+
|
|
|
+import java.math.BigDecimal;
|
|
|
+import java.text.ParseException;
|
|
|
+import java.util.Calendar;
|
|
|
+import java.util.Date;
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+/**
|
|
|
+ * 欠费缴费实现类
|
|
|
+ */
|
|
|
+@Service
|
|
|
+public class ImportRoomFeeImpl implements IImportRoomFee {
|
|
|
+
|
|
|
+ private static Logger logger = LoggerFactory.getLogger(UpdateFeeInfoListener.class);
|
|
|
+
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private IFeeInnerServiceSMO feeInnerServiceSMOImpl;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private IFeeDetailInnerServiceSMO feeDetailInnerServiceSMOImpl;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private IFeeConfigInnerServiceSMO feeConfigInnerServiceSMOImpl;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private IFeeAttrInnerServiceSMO feeAttrInnerServiceSMOImpl;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private IRepairInnerServiceSMO repairInnerServiceSMOImpl;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private IRoomInnerServiceSMO roomInnerServiceSMOImpl;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private IParkingSpaceInnerServiceSMO parkingSpaceInnerServiceSMOImpl;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 欠费缴费
|
|
|
+ *
|
|
|
+ * @param reqJson 缴费报文 {"communityId":"7020181217000001","fees":[{"feeId":"902020073149140091","feePrice":90},{"feeId":"902020072844020741","feePrice":1500}]}
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ @Java110Transactional
|
|
|
+ public ResponseEntity<String> importFee(JSONObject reqJson) {
|
|
|
+
|
|
|
+ //小区ID
|
|
|
+ String communityId = reqJson.getString("communityId");
|
|
|
+
|
|
|
+
|
|
|
+ JSONArray importRoomFees = reqJson.getJSONArray("importRoomFees");
|
|
|
+
|
|
|
+ JSONObject feeObj = null;
|
|
|
+
|
|
|
+ for (int feeIndex = 0; feeIndex < importRoomFees.size(); feeIndex++) {
|
|
|
+ feeObj = importRoomFees.getJSONObject(feeIndex);
|
|
|
+ Assert.hasKeyAndValue(feeObj, "feeId", "未包含费用项ID");
|
|
|
+ Assert.hasKeyAndValue(feeObj, "feePrice", "未包含缴费金额");
|
|
|
+
|
|
|
+ feeObj.put("communityId", communityId);
|
|
|
+
|
|
|
+ }
|
|
|
+ return ResultVo.success();
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+}
|