| | |
| | | |
| | | import com.alibaba.fastjson.JSONArray; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.java110.core.context.ICmdDataFlowContext; |
| | | import com.java110.core.factory.GenerateCodeFactory; |
| | | import com.java110.dto.fee.FeeAttrDto; |
| | | import com.java110.dto.fee.FeeConfigDto; |
| | | import com.java110.dto.fee.FeeDetailDto; |
| | | import com.java110.dto.fee.FeeDto; |
| | | import com.java110.dto.owner.OwnerDto; |
| | | import com.java110.dto.owner.OwnerRoomRelDto; |
| | | import com.java110.entity.assetImport.ImportRoomFee; |
| | | import com.java110.fee.bmo.payFeeDetail.IImportPayFeeBMODetail; |
| | | import com.java110.intf.community.IRoomInnerServiceSMO; |
| | | import com.java110.intf.fee.IFeeConfigInnerServiceSMO; |
| | | import com.java110.intf.fee.IFeeDetailInnerServiceSMO; |
| | | import com.java110.intf.fee.IFeeInnerServiceSMO; |
| | | import com.java110.intf.fee.IImportFeeDetailInnerServiceSMO; |
| | | import com.java110.intf.fee.*; |
| | | import com.java110.intf.user.IOwnerCarInnerServiceSMO; |
| | | import com.java110.intf.user.IOwnerRoomRelV1InnerServiceSMO; |
| | | import com.java110.po.fee.FeeAttrPo; |
| | | import com.java110.po.fee.PayFeeDetailPo; |
| | | import com.java110.po.fee.PayFeePo; |
| | | import com.java110.utils.constant.StatusConstant; |
| | |
| | | @Autowired |
| | | private IOwnerCarInnerServiceSMO ownerCarInnerServiceSMOImpl; |
| | | |
| | | @Autowired |
| | | private IFeeAttrInnerServiceSMO feeAttrInnerServiceSMOImpl; |
| | | |
| | | @Autowired |
| | | private IOwnerRoomRelV1InnerServiceSMO ownerRoomRelV1InnerServiceSMOImpl; |
| | | |
| | | /** |
| | | * @param reqJson |
| | | * @return 订单服务能够接受的报文 |
| | |
| | | String storeId = reqJson.getString("storeId"); |
| | | String userId = reqJson.getString("userId"); |
| | | String objType = reqJson.getString("objType"); |
| | | String batchId = reqJson.getString("batchId"); |
| | | |
| | | JSONArray datas = reqJson.getJSONArray("importRoomFees"); |
| | | |
| | |
| | | return ResultVo.success(); |
| | | } |
| | | if (FeeDto.PAYER_OBJ_TYPE_ROOM.equals(objType)) { |
| | | importFeeDetails(storeId, userId, importRoomFees); |
| | | importFeeDetails(storeId, userId, importRoomFees, batchId); |
| | | } else { |
| | | importCarFeeDetails(storeId, userId, importRoomFees); |
| | | importCarFeeDetails(storeId, userId, importRoomFees, batchId); |
| | | } |
| | | |
| | | return ResultVo.success(); |
| | | } |
| | | |
| | | private void importFeeDetails(String storeId, String userId, List<ImportRoomFee> importRoomFees) { |
| | | private void importFeeDetails(String storeId, String userId, List<ImportRoomFee> importRoomFees, String batchId) { |
| | | |
| | | importRoomFees = roomInnerServiceSMOImpl.freshRoomIds(importRoomFees); |
| | | for (ImportRoomFee importRoomFee : importRoomFees) { |
| | | if(StringUtil.isEmpty(importRoomFee.getRoomId())){ |
| | | if (StringUtil.isEmpty(importRoomFee.getRoomId())) { |
| | | continue; |
| | | } |
| | | importFeeDetail(importRoomFee, storeId, userId); |
| | | importFeeDetail(importRoomFee, storeId, userId, batchId); |
| | | } |
| | | } |
| | | |
| | | |
| | | private void importCarFeeDetails(String storeId, String userId, List<ImportRoomFee> importCarFees) { |
| | | private void importCarFeeDetails(String storeId, String userId, List<ImportRoomFee> importCarFees, String batchId) { |
| | | |
| | | importCarFees = ownerCarInnerServiceSMOImpl.freshCarIds(importCarFees); |
| | | for (ImportRoomFee importCarFee : importCarFees) { |
| | | importCarFeeDetail(importCarFee, storeId, userId); |
| | | if (StringUtil.isEmpty(importCarFee.getCarId())) { |
| | | continue; |
| | | } |
| | | importCarFeeDetail(importCarFee, storeId, userId, batchId); |
| | | } |
| | | } |
| | | |
| | |
| | | * |
| | | * @param importRoomFee |
| | | */ |
| | | private void importCarFeeDetail(ImportRoomFee importRoomFee, String storeId, String userId) { |
| | | private void importCarFeeDetail(ImportRoomFee importRoomFee, String storeId, String userId, String batchId) { |
| | | |
| | | FeeConfigDto feeConfigDto = new FeeConfigDto(); |
| | | feeConfigDto.setFeeName(importRoomFee.getFeeName()); |
| | | feeConfigDto.setFeeNameEq(importRoomFee.getFeeName().trim()); |
| | | feeConfigDto.setCommunityId(importRoomFee.getCommunityId()); |
| | | List<FeeConfigDto> feeConfigDtos = feeConfigInnerServiceSMOImpl.queryFeeConfigs(feeConfigDto); |
| | | |
| | |
| | | payFeePo.setFeeFlag(tmpFeeConfigDto.getFeeFlag()); |
| | | payFeePo.setFeeTypeCd(tmpFeeConfigDto.getFeeTypeCd()); |
| | | payFeePo.setIncomeObjId(storeId); |
| | | payFeePo.setState(FeeDto.STATE_DOING); |
| | | payFeePo.setBatchId(batchId); |
| | | if (FeeDto.FEE_FLAG_ONCE.equals(tmpFeeConfigDto.getFeeFlag())) { |
| | | payFeePo.setState(FeeDto.STATE_FINISH); |
| | | } else { |
| | | payFeePo.setState(FeeDto.STATE_DOING); |
| | | } |
| | | payFeePo.setFeeId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_feeId)); |
| | | payFeePo.setPayerObjId(importRoomFee.getCarId()); |
| | | payFeePo.setUserId(userId); |
| | |
| | | payFeePos = new ArrayList<>(); |
| | | payFeePos.add(payFeePo); |
| | | feeInnerServiceSMOImpl.saveFee(payFeePos); |
| | | List<FeeAttrPo> feeAttrsPos = new ArrayList<>(); |
| | | //查询业主信息 |
| | | if (!FeeDto.FEE_FLAG_CYCLE.equals(tmpFeeConfigDto.getFeeFlag())) { |
| | | feeAttrsPos.add(addFeeAttr(payFeePo, FeeAttrDto.SPEC_CD_ONCE_FEE_DEADLINE_TIME, |
| | | importRoomFee.getEndTime())); |
| | | } |
| | | feeAttrsPos.add(addFeeAttr(payFeePo, FeeAttrDto.SPEC_CD_OWNER_ID, importRoomFee.getOwnerId())); |
| | | feeAttrsPos.add(addFeeAttr(payFeePo, FeeAttrDto.SPEC_CD_OWNER_LINK, importRoomFee.getOwnerLink())); |
| | | feeAttrsPos.add(addFeeAttr(payFeePo, FeeAttrDto.SPEC_CD_OWNER_NAME, importRoomFee.getOwnerName())); |
| | | feeAttrInnerServiceSMOImpl.saveFeeAttrs(feeAttrsPos); |
| | | |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | |
| | | * |
| | | * @param importRoomFee |
| | | */ |
| | | private void importFeeDetail(ImportRoomFee importRoomFee, String storeId, String userId) { |
| | | private void importFeeDetail(ImportRoomFee importRoomFee, String storeId, String userId, String batchId) { |
| | | |
| | | FeeConfigDto feeConfigDto = new FeeConfigDto(); |
| | | feeConfigDto.setFeeName(importRoomFee.getFeeName()); |
| | | feeConfigDto.setFeeName(importRoomFee.getFeeName().trim()); |
| | | feeConfigDto.setCommunityId(importRoomFee.getCommunityId()); |
| | | List<FeeConfigDto> feeConfigDtos = feeConfigInnerServiceSMOImpl.queryFeeConfigs(feeConfigDto); |
| | | |
| | |
| | | List<PayFeePo> payFeePos = null; |
| | | if (feeDtos == null || feeDtos.size() < 1) { |
| | | try { |
| | | List<FeeAttrPo> feeAttrsPos = new ArrayList<>(); |
| | | |
| | | PayFeePo payFeePo = new PayFeePo(); |
| | | payFeePo.setCommunityId(importRoomFee.getCommunityId()); |
| | | payFeePo.setConfigId(feeDto.getConfigId()); |
| | |
| | | payFeePo.setFeeFlag(tmpFeeConfigDto.getFeeFlag()); |
| | | payFeePo.setFeeTypeCd(tmpFeeConfigDto.getFeeTypeCd()); |
| | | payFeePo.setIncomeObjId(storeId); |
| | | if(FeeDto.FEE_FLAG_ONCE.equals(tmpFeeConfigDto.getFeeFlag())) { |
| | | payFeePo.setBatchId(batchId); |
| | | if (FeeDto.FEE_FLAG_ONCE.equals(tmpFeeConfigDto.getFeeFlag())) { |
| | | payFeePo.setState(FeeDto.STATE_FINISH); |
| | | }else { |
| | | } else { |
| | | payFeePo.setState(FeeDto.STATE_DOING); |
| | | } |
| | | payFeePo.setFeeId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_feeId)); |
| | |
| | | payFeePos = new ArrayList<>(); |
| | | payFeePos.add(payFeePo); |
| | | feeInnerServiceSMOImpl.saveFee(payFeePos); |
| | | |
| | | //查询业主信息 |
| | | OwnerRoomRelDto ownerRoomRelDto = new OwnerRoomRelDto(); |
| | | ownerRoomRelDto.setRoomId(importRoomFee.getRoomId()); |
| | | List<OwnerRoomRelDto> ownerRoomRelDtos = ownerRoomRelV1InnerServiceSMOImpl.queryOwnerRoomRels(ownerRoomRelDto); |
| | | if (ownerRoomRelDtos != null && ownerRoomRelDtos.size() > 0) { |
| | | if (!FeeDto.FEE_FLAG_CYCLE.equals(tmpFeeConfigDto.getFeeFlag())) { |
| | | feeAttrsPos.add(addFeeAttr(payFeePo, FeeAttrDto.SPEC_CD_ONCE_FEE_DEADLINE_TIME, |
| | | importRoomFee.getEndTime())); |
| | | } |
| | | feeAttrsPos.add(addFeeAttr(payFeePo, FeeAttrDto.SPEC_CD_OWNER_ID, ownerRoomRelDtos.get(0).getOwnerId())); |
| | | feeAttrsPos.add(addFeeAttr(payFeePo, FeeAttrDto.SPEC_CD_OWNER_LINK, ownerRoomRelDtos.get(0).getLink())); |
| | | feeAttrsPos.add(addFeeAttr(payFeePo, FeeAttrDto.SPEC_CD_OWNER_NAME, ownerRoomRelDtos.get(0).getOwnerName())); |
| | | feeAttrInnerServiceSMOImpl.saveFeeAttrs(feeAttrsPos); |
| | | } |
| | | |
| | | |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | |
| | | for (FeeDto tmpFeeDto : feeDtos) { |
| | | try { |
| | | doImportFeeDetail(tmpFeeDto, importRoomFee); |
| | | } catch (ParseException e) { |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | public FeeAttrPo addFeeAttr(PayFeePo payFeePo, String specCd, String value) { |
| | | FeeAttrPo feeAttrPo = new FeeAttrPo(); |
| | | feeAttrPo.setCommunityId(payFeePo.getCommunityId()); |
| | | feeAttrPo.setSpecCd(specCd); |
| | | feeAttrPo.setValue(value); |
| | | feeAttrPo.setFeeId(payFeePo.getFeeId()); |
| | | feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId)); |
| | | return feeAttrPo; |
| | | |
| | | } |
| | | |
| | | |
| | | private void doImportFeeDetail(FeeDto tmpFeeDto, ImportRoomFee importRoomFee) throws ParseException { |
| | | // FeeDetailDto feeDetailDto = new FeeDetailDto(); |
| | |
| | | payFeeDetailPo.setDetailId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_detailId)); |
| | | payFeeDetailPo.setRemark(importRoomFee.getRemark()); |
| | | payFeeDetailPo.setCreateTime(importRoomFee.getCreateTime()); |
| | | payFeeDetailPo.setState("1400"); |
| | | payFeeDetailPo.setPayableAmount(importRoomFee.getAmount()); |
| | | int saved = feeDetailInnerServiceSMOImpl.saveFeeDetail(payFeeDetailPo); |
| | | |
| | | if (saved < 1) { |
| | |
| | | payFeePo.setStatusCd(StatusConstant.STATUS_CD_VALID); |
| | | payFeePo.setFeeId(tmpFeeDto.getFeeId()); |
| | | payFeePo.setEndTime(importRoomFee.getEndTime()); |
| | | if(FeeDto.FEE_FLAG_ONCE.equals(tmpFeeDto.getFeeFlag())) { |
| | | if (FeeDto.FEE_FLAG_ONCE.equals(tmpFeeDto.getFeeFlag())) { |
| | | payFeePo.setState(FeeDto.STATE_FINISH); |
| | | } |
| | | |