package com.java110.job.importData.adapt; import com.alibaba.fastjson.JSONObject; import com.java110.core.factory.GenerateCodeFactory; import com.java110.dto.account.AccountDto; import com.java110.dto.contract.ContractDto; import com.java110.dto.contract.ContractPartyaDto; import com.java110.dto.dict.DictDto; import com.java110.dto.fee.FeeAttrDto; import com.java110.dto.fee.FeeConfigDto; import com.java110.dto.fee.FeeDto; import com.java110.dto.importData.ImportCustomCreateFeeDto; import com.java110.dto.importData.ImportFeeDto; import com.java110.dto.importData.ImportRoomFee; import com.java110.dto.log.AssetImportLogDetailDto; import com.java110.dto.menu.MenuDto; import com.java110.dto.menu.MenuUserDto; import com.java110.dto.owner.OwnerDto; import com.java110.dto.payFee.PayFeeBatchDto; import com.java110.dto.payFee.PayFeeDetailRefreshFeeMonthDto; import com.java110.dto.room.RoomDto; import com.java110.dto.user.UserDto; import com.java110.fee.cmd.fee.SaveRoomCreateFeeCmd; import com.java110.intf.acct.IAccountInnerServiceSMO; import com.java110.intf.community.IRoomInnerServiceSMO; import com.java110.intf.dev.IDictV1InnerServiceSMO; import com.java110.intf.fee.*; import com.java110.intf.store.IContractInnerServiceSMO; import com.java110.intf.store.IContractPartyaInnerServiceSMO; import com.java110.intf.user.IMenuUserV1InnerServiceSMO; import com.java110.intf.user.IOwnerCarInnerServiceSMO; import com.java110.intf.user.IOwnerInnerServiceSMO; import com.java110.intf.user.IUserInnerServiceSMO; import com.java110.job.cmd.ImportSaveRoomCreateFeeCmd; import com.java110.job.importData.DefaultImportData; import com.java110.job.importData.IImportDataAdapt; import com.java110.po.fee.FeeAttrPo; import com.java110.po.fee.PayFeePo; import com.java110.po.importFee.ImportFeeDetailPo; import com.java110.po.importFee.ImportFeePo; import com.java110.po.payFee.PayFeeBatchPo; import com.java110.utils.util.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.List; import java.util.Objects; @Service("importRoomFeeQueueData") public class ImportRoomFeeQueueDataAdapt extends DefaultImportData implements IImportDataAdapt { @Autowired private IUserInnerServiceSMO userInnerServiceSMOImpl; @Autowired private IRoomInnerServiceSMO roomInnerServiceSMOImpl; @Autowired private IOwnerInnerServiceSMO ownerInnerServiceSMOImpl; @Autowired private IPayFeeConfigV1InnerServiceSMO payFeeConfigV1InnerServiceSMOImpl; @Autowired private IFeeInnerServiceSMO feeInnerServiceSMOImpl; @Autowired private IFeeAttrInnerServiceSMO feeAttrInnerServiceSMOImpl; @Autowired private IOwnerCarInnerServiceSMO ownerCarInnerServiceSMOImpl; @Autowired private IPayFeeMonthInnerServiceSMO payFeeMonthInnerServiceSMOImpl; @Autowired private IImportFeeDetailInnerServiceSMO importFeeDetailInnerServiceSMOImpl; @Autowired private IImportFeeInnerServiceSMO importFeeInnerServiceSMOImpl; @Autowired private IDictV1InnerServiceSMO iDictV1InnerServiceSMO; @Autowired private IAccountInnerServiceSMO accountInnerServiceSMOImpl; @Autowired private IContractPartyaInnerServiceSMO iContractPartyaInnerServiceSMO; @Autowired private IPayFeeBatchV1InnerServiceSMO payFeeBatchV1InnerServiceSMOImpl; @Autowired private IContractInnerServiceSMO iContractInnerServiceSMO; // @Autowired // private IPayFeeMonth payFeeMonthImpl; @Override public void importData(List assetImportLogDetailDtos) { for (AssetImportLogDetailDto assetImportLogDetailDto : assetImportLogDetailDtos) { try { doImportData(assetImportLogDetailDto); updateImportLogDetailState(assetImportLogDetailDto.getDetailId()); } catch (Exception e) { e.printStackTrace(); updateImportLogDetailState(assetImportLogDetailDto.getDetailId(), e); } } } private void doImportData(AssetImportLogDetailDto assetImportLogDetailDto) { JSONObject data = JSONObject.parseObject(assetImportLogDetailDto.getContent()); ImportRoomFee importRoomFee = BeanConvertUtil.covertBean(data, ImportRoomFee.class); String communityId = importRoomFee.getCommunityId(); String batchId = importRoomFee.getBatchId(); doImportRoomCreateFee(importRoomFee, batchId); doImportCarCreateFee(importRoomFee, batchId); doImportContractFee(importRoomFee, batchId); } /** * 房屋创建费用 * * @param importRoomFee * @param batchId */ private void doImportRoomCreateFee(ImportRoomFee importRoomFee, String batchId) { if (!FeeDto.PAYER_OBJ_TYPE_ROOM.equals(importRoomFee.getObjType())) { return; } List rooms = new ArrayList<>(); DictDto dictDto = new DictDto(); dictDto.setName(importRoomFee.getFeeTypeCd()); List dictDtos = iDictV1InnerServiceSMO.queryDicts(dictDto); try { importRoomFee.setFeeTypeCd(dictDtos.get(0).getStatusCd()); }catch (Exception e){ throw new IllegalArgumentException("查询费用类型异常"); } String[] objNames; objNames = importRoomFee.getPayerObjName().split("-", 3); if (objNames.length != 3) { throw new IllegalArgumentException("收费对象格式错误:" + importRoomFee.getPayerObjName()); } importRoomFee.setFloorNum(objNames[0]); importRoomFee.setUnitNum(objNames[1]); importRoomFee.setRoomNum(objNames[2]); rooms.add(importRoomFee); List importRoomFees = roomInnerServiceSMOImpl.freshRoomIds(rooms); List roomIds = new ArrayList<>(); for (ImportRoomFee tmpImportRoomFee : importRoomFees) { if (StringUtil.isEmpty(tmpImportRoomFee.getRoomId())) { throw new IllegalArgumentException("房屋不存在," + importRoomFee.getFloorNum() + "-" + importRoomFee.getUnitNum() + "-" + importRoomFee.getRoomNum()); } roomIds.add(tmpImportRoomFee.getRoomId()); } OwnerDto ownerDto = new OwnerDto(); ownerDto.setCommunityId(importRoomFee.getCommunityId()); ownerDto.setRoomIds(roomIds.toArray(new String[roomIds.size()])); List ownerDtos = ownerInnerServiceSMOImpl.queryOwnersByRoom(ownerDto); for (ImportRoomFee tmpImportRoomFee : importRoomFees) { for (OwnerDto tmpOwnerDto : ownerDtos) { if (tmpImportRoomFee.getRoomId().equals(tmpOwnerDto.getRoomId())) { importRoomFee.setOwnerId(tmpOwnerDto.getOwnerId()); importRoomFee.setOwnerName(tmpOwnerDto.getName()); importRoomFee.setOwnerLink(tmpOwnerDto.getLink()); } } } doCreateFeeAndAttrs(importRoomFees.get(0), batchId); } /** * 创建车辆费用 * * @param importRoomFee * @param batchId */ private void doImportCarCreateFee(ImportRoomFee importRoomFee, String batchId) { if (!FeeDto.PAYER_OBJ_TYPE_CONTRACT.equals(importRoomFee.getObjType())) { return; } List cars = new ArrayList<>(); importRoomFee.setCarNum(importRoomFee.getPayerObjName()); cars.add(importRoomFee); List importRoomFees = ownerCarInnerServiceSMOImpl.freshCarIds(cars); for (ImportRoomFee tmpImportRoomFee : importRoomFees) { if (StringUtil.isEmpty(tmpImportRoomFee.getPayerObjName())) { throw new IllegalArgumentException(tmpImportRoomFee.getCarNum() + "不存在"); } } doCreateFeeAndAttrs(importRoomFees.get(0), batchId); } /** * 创建车辆费用 * * @param importRoomFee * @param batchId */ public void doImportContractFee(ImportRoomFee importRoomFee, String batchId) { if (!FeeDto.PAYER_OBJ_TYPE_CAR.equals(importRoomFee.getObjType())) { return; } List cars = new ArrayList<>(); importRoomFee.setCarNum(importRoomFee.getPayerObjName()); cars.add(importRoomFee); List importRoomFees = ownerCarInnerServiceSMOImpl.freshCarIds(cars); for (ImportRoomFee tmpImportRoomFee : importRoomFees) { if (StringUtil.isEmpty(tmpImportRoomFee.getCarId())) { throw new IllegalArgumentException(tmpImportRoomFee.getCarNum() + "不存在"); } } try { Integer.parseInt(importRoomFees.get(0).getFeeTypeCd()); }catch (Exception e){ DictDto dictDto = new DictDto(); dictDto.setTableName("pay_fee_config"); dictDto.setName(importRoomFees.get(0).getFeeTypeCd()); List dictDtos = iDictV1InnerServiceSMO.queryDicts(dictDto); importRoomFees.get(0).setFeeTypeCd(dictDtos.get(0).getStatusCd()); } doCreateFeeAndAttrs(importRoomFees.get(0), batchId); } private void doCreateFeeAndAttrs(ImportRoomFee importRoomFee, String batchId) { List payFeePos = new ArrayList<>(); List feeAttrPos = new ArrayList<>(); PayFeePo payFeePo = null; ImportFeeDetailPo importFeeDetailPo = null; // if (StringUtil.isEmpty(importRoomFee.getRoomId())) { // throw new IllegalArgumentException("收费对象不存在"); // } FeeConfigDto feeConfigDto = new FeeConfigDto(); feeConfigDto.setCommunityId(importRoomFee.getCommunityId()); if (!StringUtil.isEmpty(importRoomFee.getConfigId())) { feeConfigDto.setConfigId(importRoomFee.getConfigId()); } else { feeConfigDto.setFeeNameEq(importRoomFee.getFeeName()); } feeConfigDto.setComputingFormula(FeeConfigDto.COMPUTING_FORMULA_DYNAMIC); feeConfigDto.setComputingFormula(null); List feeConfigDtos = payFeeConfigV1InnerServiceSMOImpl.queryPayFeeConfigs(feeConfigDto); if (ListUtil.isNull(feeConfigDtos)) { throw new IllegalArgumentException("费用项不存在,或者费用项公式不是动态费用"); } payFeePo = new PayFeePo(); payFeePo.setFeeId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_feeId, true)); payFeePo.setEndTime(importRoomFee.getStartTime()); payFeePo.setState(FeeDto.STATE_DOING); payFeePo.setCommunityId(importRoomFee.getCommunityId()); payFeePo.setConfigId(feeConfigDtos.get(0).getConfigId()); if (FeeDto.PAYER_OBJ_TYPE_CONTRACT.equals(importRoomFee.getObjType())) { ContractDto contractDto = new ContractDto(); contractDto.setCommunityId(importRoomFee.getCommunityId()); contractDto.setContractCode(importRoomFee.getContractId()); List contractDtos = iContractInnerServiceSMO.queryContracts(contractDto); if(contractDtos.size() == 0){ throw new IllegalArgumentException("不存在合同编号为"+importRoomFee.getContractId()+"的合同"); } importRoomFee.setFeeTypeCd(feeConfigDtos.get(0).getFeeTypeCd()); payFeePo.setFeeTypeCd(feeConfigDtos.get(0).getFeeTypeCd()); payFeePo.setContractFee(contractDtos.get(0).getContractId()); // payFeePo.setCreateTime(importFeeDetailPo.getC); ContractPartyaDto contractPartyaDto = new ContractPartyaDto(); contractPartyaDto.setCommunityId(importRoomFee.getCommunityId()); if(importRoomFee.getPayerObjName() == null || Objects.equals(importRoomFee.getPayerObjName(), "")){//当没写入主体时 contractPartyaDto.setPartyaId(contractDtos.get(0).getbPartyaId()); } else{//写入了 contractPartyaDto.setIsPartyA(importRoomFee.getPayerObjName()); } List contractPartyaDtos = iContractPartyaInnerServiceSMO.queryContractPartyas(contractPartyaDto); if (ListUtil.isNull(contractPartyaDtos)) { throw new IllegalArgumentException("不存在合同主体:"+importRoomFee.getPayerObjName()); }else if (contractPartyaDtos.size() > 1){ throw new IllegalArgumentException("合同主体"+importRoomFee.getPayerObjName()+"存在重名"); } importRoomFee.setOwnerName(contractPartyaDtos.get(0).getPartyA()); payFeePo.setPayerObjId(contractPartyaDtos.get(0).getPartyaId()); payFeePo.setPayerObjType(FeeDto.PAYER_OBJ_TYPE_CONTRACT); payFeePo.setIsContractFee("O"); payFeePo.setEndTime(importRoomFee.getEndTime()); } else if (FeeDto.PAYER_OBJ_TYPE_CAR.equals(importRoomFee.getObjType())) { payFeePo.setPayerObjId(importRoomFee.getCarId()); payFeePo.setPayerObjType(FeeDto.PAYER_OBJ_TYPE_CAR); } else { payFeePo.setPayerObjId(importRoomFee.getRoomId()); payFeePo.setPayerObjType(FeeDto.PAYER_OBJ_TYPE_ROOM); } payFeePo.setCreateTime(importRoomFee.getCreateTime()); FeeDto feeDto = new FeeDto(); feeDto.setFeeTypeCd(importRoomFee.getFeeTypeCd()); feeDto.setCommunityId(importRoomFee.getCommunityId()); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); try { feeDto.setStartTime(sdf.parse(importRoomFee.getStartTime())); feeDto.setEndTime(sdf.parse(importRoomFee.getEndTime())); } catch (ParseException e) { throw new RuntimeException("导入起始时间异常"); } feeDto.setPayerObjId(payFeePo.getPayerObjId()); if (payFeePo.getPayerObjType()!= null && payFeePo.getPayerObjType().equals(FeeDto.PAYER_OBJ_TYPE_CONTRACT)) { feeDto.setIsContractFee("O"); feeDto.setContractFee(payFeePo.getContractFee()); } int feeDtos = feeInnerServiceSMOImpl.getFeeInfoBus(feeDto); if(feeDtos > 0){ throw new IllegalArgumentException("重复的费用"); } payFeePo.setUserId(importRoomFee.getUserId()); payFeePo.setIncomeObjId(importRoomFee.getStoreId()); FeeConfigDto payFeePo1 = new FeeConfigDto(); payFeePo1.setFeeTypeCd(importRoomFee.getFeeTypeCd()); // List feeConfigDtos1 = payFeeConfigV1InnerServiceSMOImpl.queryPayFeeConfigs(payFeePo1); payFeePo.setFeeTypeCd(importRoomFee.getFeeTypeCd()); payFeePo.setFeeFlag(feeConfigDtos.get(0).getFeeFlag()); payFeePo.setAmount(importRoomFee.getAmount()); payFeePo.setBatchId(batchId); payFeePo.setEndTime(importRoomFee.getStartTime()); payFeePo.setStartTime(importRoomFee.getStartTime()); if (FeeDto.PAYER_OBJ_TYPE_CONTRACT.equals(importRoomFee.getObjType())){ // payFeePo.setEndTime(importRoomFee.getEndTime()); } if(payFeePo.getAmount() == null && importRoomFee.getFeeName() == null){ throw new IllegalArgumentException("收费内容和收费金额不能同时为空"); } if(payFeePo.getAmount() == null){ if(importRoomFee.getFeeName() == null){ throw new IllegalArgumentException("收费内容为空"); } else if (importRoomFee.getStartTime() == null){ throw new IllegalArgumentException("收费起始时间为空"); } else if (importRoomFee.getEndTime() == null){ throw new IllegalArgumentException("收费结束时间为空"); } else{ } } payFeePos.add(payFeePo); FeeAttrPo feeAttrPo = new FeeAttrPo(); feeAttrPo.setCommunityId(importRoomFee.getCommunityId()); feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId, true)); feeAttrPo.setSpecCd(FeeAttrDto.SPEC_CD_IMPORT_FEE_NAME); feeAttrPo.setValue(feeConfigDtos.get(0).getFeeName()); feeAttrPo.setFeeId(payFeePo.getFeeId()); feeAttrPos.add(feeAttrPo); feeAttrPo = new FeeAttrPo(); feeAttrPo.setCommunityId(importRoomFee.getCommunityId()); feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId, true)); feeAttrPo.setSpecCd(FeeAttrDto.SPEC_CD_PAY_OBJECT_NAME); if (FeeDto.PAYER_OBJ_TYPE_CONTRACT.equals(importRoomFee.getObjType())) { feeAttrPo.setValue(importRoomFee.getContractId()); } else if (FeeDto.PAYER_OBJ_TYPE_CAR.equals(importRoomFee.getObjType())) { feeAttrPo.setValue(importRoomFee.getCarNum()); } else { feeAttrPo.setValue(importRoomFee.getRoomName()); } feeAttrPo.setFeeId(payFeePo.getFeeId()); if(feeAttrPo.getValue() == null){ feeAttrPo.setValue(importRoomFee.getPayerObjName()); } feeAttrPos.add(feeAttrPo); //todo 不是周期性费用的场景需要写入结束时间 feeAttrPo = new FeeAttrPo(); feeAttrPo.setCommunityId(importRoomFee.getCommunityId()); feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId, true)); feeAttrPo.setSpecCd(FeeAttrDto.SPEC_CD_ONCE_FEE_DEADLINE_TIME); feeAttrPo.setValue(importRoomFee.getEndTime()); feeAttrPo.setFeeId(payFeePo.getFeeId()); feeAttrPos.add(feeAttrPo); if (!StringUtil.isEmpty(importRoomFee.getOwnerId())) { feeAttrPo = new FeeAttrPo(); feeAttrPo.setCommunityId(importRoomFee.getCommunityId()); feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId, true)); feeAttrPo.setSpecCd(FeeAttrDto.SPEC_CD_OWNER_ID); feeAttrPo.setValue(importRoomFee.getOwnerId()); feeAttrPo.setFeeId(payFeePo.getFeeId()); if(feeAttrPo.getValue() != null){ feeAttrPos.add(feeAttrPo); } feeAttrPo = new FeeAttrPo(); feeAttrPo.setCommunityId(importRoomFee.getCommunityId()); feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId, true)); feeAttrPo.setSpecCd(FeeAttrDto.SPEC_CD_OWNER_NAME); feeAttrPo.setValue(importRoomFee.getOwnerName()); feeAttrPo.setFeeId(payFeePo.getFeeId()); feeAttrPos.add(feeAttrPo); feeAttrPo = new FeeAttrPo(); feeAttrPo.setCommunityId(importRoomFee.getCommunityId()); feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId, true)); feeAttrPo.setSpecCd(FeeAttrDto.SPEC_CD_OWNER_LINK); feeAttrPo.setValue(importRoomFee.getOwnerLink()); feeAttrPo.setFeeId(payFeePo.getFeeId()); feeAttrPos.add(feeAttrPo); } if (payFeePos.size() < 1) { return; } feeInnerServiceSMOImpl.saveFee(payFeePos); feeAttrInnerServiceSMOImpl.saveFeeAttrs(feeAttrPos); //todo 保存导入记录日志 saveImportFee(importRoomFee, payFeePo); // todo 这里异步的方式计算 月数据 和欠费数据 PayFeeDetailRefreshFeeMonthDto payFeeDetailRefreshFeeMonthDto = new PayFeeDetailRefreshFeeMonthDto(); payFeeDetailRefreshFeeMonthDto.setCommunityId(importRoomFee.getCommunityId()); payFeeDetailRefreshFeeMonthDto.setFeeId(payFeePos.get(0).getFeeId()); try { payFeeMonthInnerServiceSMOImpl.doGeneratorOrRefreshFeeMonth(payFeeDetailRefreshFeeMonthDto); }catch (Exception e){ } } private void saveImportFee(ImportRoomFee importRoomFee, PayFeePo payFeePo) { ImportFeeDetailPo importFeeDetailPo; List importFeeDetailPos = new ArrayList<>(); importFeeDetailPo = new ImportFeeDetailPo(); importFeeDetailPo.setAmount(importRoomFee.getAmount()); importFeeDetailPo.setCommunityId(payFeePo.getCommunityId()); importFeeDetailPo.setEndTime(importRoomFee.getEndTime()); importFeeDetailPo.setFeeId(payFeePo.getFeeId()); importFeeDetailPo.setFeeName(importRoomFee.getFeeName()); if (FeeDto.PAYER_OBJ_TYPE_CONTRACT.equals(importRoomFee.getObjType())) { importFeeDetailPo.setFloorNum("无"); importFeeDetailPo.setUnitNum("无"); importFeeDetailPo.setRoomNum(importRoomFee.getContractId()); importFeeDetailPo.setRoomId(importRoomFee.getContractId()); importFeeDetailPo.setObjId(importRoomFee.getContractId()); importFeeDetailPo.setObjName(importRoomFee.getContractId()); } else if (FeeDto.PAYER_OBJ_TYPE_CAR.equals(importRoomFee.getObjType())) { importFeeDetailPo.setFloorNum("无"); importFeeDetailPo.setUnitNum("无"); importFeeDetailPo.setRoomNum(importRoomFee.getCarNum()); importFeeDetailPo.setRoomId(importRoomFee.getCarId()); importFeeDetailPo.setObjId(importRoomFee.getCarId()); importFeeDetailPo.setObjName(importRoomFee.getCarNum()); } else { importFeeDetailPo.setFloorNum(importRoomFee.getFloorNum()); importFeeDetailPo.setUnitNum(importRoomFee.getUnitNum()); importFeeDetailPo.setRoomNum(importRoomFee.getRoomNum()); importFeeDetailPo.setRoomId(importRoomFee.getRoomId()); importFeeDetailPo.setObjId(importRoomFee.getRoomId()); importFeeDetailPo.setObjName(!"0".equals(importRoomFee.getUnitNum()) ? importRoomFee.getFloorNum() + "栋" + importRoomFee.getUnitNum() + "单元" + importRoomFee.getRoomNum() + "室" : importRoomFee.getFloorNum() + "栋" + importRoomFee.getRoomNum() + "室" ); } importFeeDetailPo.setObjType(importRoomFee.getObjType()); importFeeDetailPo.setExpenseSubject(importRoomFee.getExpenseSubject()); importFeeDetailPo.setStartTime(importRoomFee.getStartTime()); importFeeDetailPo.setIfdId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_IfdId, true)); importFeeDetailPo.setState("1000"); importFeeDetailPo.setImportFeeId(importRoomFee.getBatchId()); importFeeDetailPos.add(importFeeDetailPo); ImportFeeDto importFeeDto = new ImportFeeDto(); importFeeDto.setCommunityId(payFeePo.getCommunityId()); importFeeDto.setImportFeeId(importRoomFee.getBatchId()); List importRoomFeess = importFeeInnerServiceSMOImpl.queryImportFees(importFeeDto); if (ListUtil.isNull(importRoomFeess)) { //保存日志 ImportFeePo importFeePo = new ImportFeePo(); importFeePo.setCommunityId(importRoomFee.getCommunityId()); importFeePo.setFeeTypeCd(importRoomFee.getFeeTypeCd()); importFeePo.setImportFeeId(importRoomFee.getBatchId()); importFeeInnerServiceSMOImpl.saveImportFee(importFeePo); } importFeeDetailInnerServiceSMOImpl.saveImportFeeDetails(importFeeDetailPos); } private void generatorBatch(JSONObject reqJson) { PayFeeBatchPo payFeeBatchPo = new PayFeeBatchPo(); payFeeBatchPo.setBatchId(GenerateCodeFactory.getGeneratorId("12")); payFeeBatchPo.setCommunityId(reqJson.getString("communityId")); payFeeBatchPo.setCreateUserId(reqJson.getString("userId")); UserDto userDto = new UserDto(); userDto.setUserId(reqJson.getString("userId")); List userDtos = userInnerServiceSMOImpl.getUsers(userDto); Assert.listOnlyOne(userDtos, "用户不存在"); payFeeBatchPo.setCreateUserName(userDtos.get(0).getUserName()); payFeeBatchPo.setState(PayFeeBatchDto.STATE_NORMAL); payFeeBatchPo.setMsg("正常"); int flag = payFeeBatchV1InnerServiceSMOImpl.savePayFeeBatch(payFeeBatchPo); if (flag < 1) { throw new IllegalArgumentException("生成批次失败"); } reqJson.put("batchId", payFeeBatchPo.getBatchId()); } }