From 64b14b0549344f13b191e2c26ed199f62655c43f Mon Sep 17 00:00:00 2001
From: chengf <cgf12138@163.com>
Date: 星期三, 25 二月 2026 10:12:46 +0800
Subject: [PATCH] 导入测试
---
service-job/src/main/java/com/java110/job/importData/adapt/ImportOwnerCarQueueV2DataAdapt.java | 147 +++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 136 insertions(+), 11 deletions(-)
diff --git a/service-job/src/main/java/com/java110/job/importData/adapt/ImportOwnerCarQueueV2DataAdapt.java b/service-job/src/main/java/com/java110/job/importData/adapt/ImportOwnerCarQueueV2DataAdapt.java
index f454fde..5b2456e 100644
--- a/service-job/src/main/java/com/java110/job/importData/adapt/ImportOwnerCarQueueV2DataAdapt.java
+++ b/service-job/src/main/java/com/java110/job/importData/adapt/ImportOwnerCarQueueV2DataAdapt.java
@@ -6,6 +6,7 @@
import com.java110.core.factory.GenerateCodeFactory;
import com.java110.dto.community.CommunityDto;
import com.java110.dto.dict.DictDto;
+import com.java110.dto.fee.FeeConfigDto;
import com.java110.dto.importData.*;
import com.java110.dto.log.AssetImportLogDetailDto;
import com.java110.dto.oweFeeCallable.OweFeeCallableDto;
@@ -21,7 +22,11 @@
import com.java110.intf.community.IParkingSpaceV1InnerServiceSMO;
import com.java110.intf.community.IRoomInnerServiceSMO;
import com.java110.intf.dev.IDictV1InnerServiceSMO;
+import com.java110.intf.fee.IFeeAttrInnerServiceSMO;
+import com.java110.intf.fee.IFeeConfigInnerServiceSMO;
import com.java110.intf.fee.IOweFeeCallableV1InnerServiceSMO;
+import com.java110.intf.fee.IPayFeeV1InnerServiceSMO;
+import com.java110.intf.user.IOwnerCarInnerServiceSMO;
import com.java110.intf.user.IOwnerCarV1InnerServiceSMO;
import com.java110.intf.user.IOwnerRoomRelInnerServiceSMO;
import com.java110.intf.user.IOwnerV1InnerServiceSMO;
@@ -29,6 +34,8 @@
import com.java110.job.importData.IImportDataAdapt;
import com.java110.po.car.OwnerCarPo;
import com.java110.po.dict.DictPo;
+import com.java110.po.fee.FeeAttrPo;
+import com.java110.po.fee.PayFeePo;
import com.java110.po.oweFeeCallable.OweFeeCallablePo;
import com.java110.po.owner.OwnerPo;
import com.java110.po.parking.ParkingAreaPo;
@@ -36,6 +43,7 @@
import com.java110.po.room.ApplyRoomDiscountPo;
import com.java110.po.room.LitigationInfoPo;
import com.java110.utils.util.BeanConvertUtil;
+import com.java110.utils.util.DateUtil;
import com.java110.utils.util.ListUtil;
import com.java110.utils.util.StringUtil;
import org.mybatis.spring.SqlSessionTemplate;
@@ -62,6 +70,13 @@
@Autowired
private IOwnerCarV1InnerServiceSMO ownerCarV1InnerServiceSMOImpl;
+ @Autowired
+ private IFeeConfigInnerServiceSMO feeConfigInnerServiceSMOImpl;
+ @Autowired
+ private IPayFeeV1InnerServiceSMO payFeeV1InnerServiceSMO;
+
+ @Autowired
+ private IFeeAttrInnerServiceSMO feeAttrInnerServiceSMO;
@Autowired
private IApplyRoomDiscountServiceDao applyRoomDiscountServiceDaoImpl;
@@ -94,6 +109,10 @@
@Autowired
IOwnerRoomRelInnerServiceSMO ownerRoomRelInnerServiceSMOImpl;
+
+ @Autowired
+ private IOwnerCarInnerServiceSMO ownerCarInnerServiceSMOImpl;
+
@Override
public void importData(List<AssetImportLogDetailDto> assetImportLogDetailDtos) {
importDatas(assetImportLogDetailDtos);
@@ -105,11 +124,24 @@
for (AssetImportLogDetailDto assetImportLogDetailDto : infos) {
try {
- doImportData(assetImportLogDetailDto);
+ OwnerCarDto ownerCarDto = null;
+ doImportData(assetImportLogDetailDto,ownerCarDto);
updateImportLogDetailState(assetImportLogDetailDto.getDetailId());
} catch (Exception e) {
e.printStackTrace();
- updateImportLogDetailState(assetImportLogDetailDto.getDetailId(), e);
+
+ if (e.getMessage().contains("for column 'end_time' at row 1")){
+ updateImportLogDetailState(assetImportLogDetailDto.getDetailId(), "娉ㄩ攢鏃ユ湡鏍煎紡閿欒锛�");
+ }
+ else if (e.getMessage().contains("for column 'start_time' at row 1")){
+ updateImportLogDetailState(assetImportLogDetailDto.getDetailId(), "鍚敤鏃ユ湡鏍煎紡閿欒锛�");
+ }
+// else if (e.getMessage().contains("### Error updating database")){
+// updateImportLogDetailState(assetImportLogDetailDto.getDetailId(), "鏈煡閿欒锛岃鑱旂郴绠$悊鍛�");
+// }
+ else {
+ updateImportLogDetailState(assetImportLogDetailDto.getDetailId(), e);
+ }
}
}
@@ -120,13 +152,13 @@
*
* @param assetImportLogDetailDto
*/
- private void doImportData(AssetImportLogDetailDto assetImportLogDetailDto) {
+ private void doImportData(AssetImportLogDetailDto assetImportLogDetailDto,OwnerCarDto ownerCarDto) throws Exception {
JSONObject data = JSONObject.parseObject(assetImportLogDetailDto.getContent());
String[] o = JSON.parseObject(data.getString("otherItem"), String[].class);
String otherItem = data.getString("otherItem");
data.put("otherItem", null);
- OwnerCarDto ownerCarDto = BeanConvertUtil.covertBean(data, OwnerCarDto.class);
+ ownerCarDto = BeanConvertUtil.covertBean(data, OwnerCarDto.class);
if (ownerCarDto.getOwnerName() == null || "".equals(ownerCarDto.getOwnerName())) {
RoomDto roomDto = new RoomDto();
roomDto.setRoadName(ownerCarDto.getRoadName());
@@ -134,18 +166,23 @@
roomDto.setCommunityId(ownerCarDto.getCommunityId());
roomDto.setUnitNum(ownerCarDto.getUnitNum());
roomDto.setRoomNum(ownerCarDto.getRoomNum());
+ if (Vtil.defaultValue(roomDto.getRoomNum()).equals("")){
+ roomDto.setPropertyType("鍟嗛摵");
+ }
List<RoomDto> roomDtos = iroomInnerServiceSMOImpl.queryRooms(roomDto);
if (roomDtos.isEmpty()) {
- throw new IllegalArgumentException("鏈~鍐欎笟涓讳笖鎴垮眿涓嶅瓨鍦�");
+ ownerCarDto.setRemark("鎴垮眿锛�" + roomDto.getRoadName() + "-" + roomDto.getFloorNum() + "-" + roomDto.getUnitNum() + "-" + Vtil.defaultValue(ownerCarDto.getRoomName()) + "鏈煡璇㈠埌");
+// throw new IllegalArgumentException("鏈~鍐欎笟涓讳笖鎴垮眿涓嶅瓨鍦�");
} else if (roomDtos.size() > 1) {
- throw new IllegalArgumentException("璇ユ埧灞嬪瓨鍦ㄥ涓笟涓�");
+ ownerCarDto.setRemark("鎴垮眿锛�" + roomDto.getRoadName() + "-" + roomDto.getFloorNum() + "-" + roomDto.getUnitNum() + "-" + Vtil.defaultValue(ownerCarDto.getRoomName()) + "鏌ヨ鍒板涓埧灞�");
}
else {
OwnerRoomRelDto ownerRoomRelDto = new OwnerRoomRelDto();
ownerRoomRelDto.setRoomId(roomDtos.get(0).getRoomId());
List<OwnerRoomRelDto> ownerRoomRelDtos = ownerRoomRelInnerServiceSMOImpl.queryOwnerRoomRels(ownerRoomRelDto);
if (ownerRoomRelDtos.isEmpty()) {
- throw new IllegalArgumentException("鏈~鍐欎笟涓讳笖璇ユ埧灞嬫湭缁戝畾涓氫富");
+ ownerCarDto.setRemark("鎴垮眿锛�" + roomDto.getRoadName() + "-" + roomDto.getFloorNum() + "-" + roomDto.getUnitNum() + "-" + Vtil.defaultValue(ownerCarDto.getRoomName()) + "鏈煡璇㈠埌涓氫富");
+// throw new IllegalArgumentException("鏈~鍐欎笟涓讳笖璇ユ埧灞嬫湭缁戝畾涓氫富");
} else {
OwnerDto ownerDto = new OwnerDto();
ownerDto.setOwnerId(ownerRoomRelDtos.get(0).getOwnerId());
@@ -153,6 +190,7 @@
if (ownerDtos.isEmpty()) {
throw new IllegalArgumentException("鏈煡閿欒锛�00022");
} else {
+ ownerCarDto.setOwnerId(ownerDtos.get(0).getOwnerId());
ownerCarDto.setOwnerName(ownerDtos.get(0).getName());
}
}
@@ -164,6 +202,9 @@
Object[] os = ownerCarDto.getOtherItem();
String communityId = ownerCarDto.getCommunityId();
JSONArray objects = JSONObject.parseArray(otherItem);
+ OwnerCarDto carDto = new OwnerCarDto();
+ carDto.setCommunityId(ownerCarDto.getCommunityId());
+ carDto.setCarNum(ownerCarDto.getCarNum());
communityDto.setCommunityCode(defaultValue(os[1]));
communityDto.setName(defaultValue(os[2]));
List<CommunityDto> communityDtos = communityV1InnerServiceSMOImpl.queryCommunitys(communityDto);
@@ -174,14 +215,21 @@
ownerCarDto.setCommunityId(communityDtos.get(0).getCommunityId());
communityDto.setCommunityId(communityDtos.get(0).getCommunityId());
- //todo 瀵煎叆涓氫富淇℃伅
- importOwnerData(ownerCarDto, os);
+// //todo 瀵煎叆涓氫富淇℃伅
+// importOwnerData(ownerCarDto, os);
OwnerCarPo ownerCarPo = BeanConvertUtil.covertBean(ownerCarDto, OwnerCarPo.class);
+
+
+
+
ownerCarPo.setStartTime(ownerCarDto.getLogStartTime());
ownerCarPo.setEndTime(ownerCarDto.getLogEndTime());
+
+
+
//鑾峰彇鎴垮眿鍚嶇О
- String carTypeCd = defaultValue(os[13]);
+ String carTypeCd = defaultValue(os[12]);
if (!carTypeCd.equals("")){
DictDto dictDto = new DictDto();
dictDto.setTableName("owner_car");
@@ -195,7 +243,6 @@
dictPo.setTableName("owner_car");
dictPo.setTableColumns("car_type_cd");
dictPo.setName(carTypeCd);
- dictPo.setDescription(carTypeCd);
dictPo.setStatusCd(dictDtos1.get(dictDtos1.size() - 1).getStatusCd() + 100);
int i = dictV1InnerServiceSMOImpl.saveDict(dictPo);
if (i == 0) {
@@ -208,6 +255,28 @@
else {
ownerCarPo.setCarTypeCd("1001"); //榛樿涓昏溅杈�
}
+
+
+ int i1 = ownerCarInnerServiceSMOImpl.queryOwnerCarsCount(carDto);
+ if (i1 > 0) {
+ carDto.setOwnerId(ownerCarDto.getOwnerId());
+ carDto.setParkingType(Vtil.defaultValue(os[13]));
+ carDto.setCarNum(null);
+ carDto.setCarNumLikeRight_(ownerCarDto.getCarNum());
+ carDto.setRoadName(defaultValue(os[3]));
+ carDto.setFloorNum(defaultValue(os[4]));
+ carDto.setUnitNum(defaultValue(os[5]));
+ carDto.setRoomNum(defaultValue(os[6]));
+ carDto.setCarTypeCd(ownerCarPo.getCarTypeCd());
+ carDto.setUnitPricePerMonth(defaultValue(os[18]));
+ int i2 = ownerCarInnerServiceSMOImpl.queryOwnerCarsCount(carDto);
+ if (i2 > 0) {
+ throw new IllegalArgumentException("閲嶅鐨勮溅杈�:" + ownerCarDto.getCarNum());
+ } else {
+ ownerCarDto.setCarNum(ownerCarDto.getCarNum() + "_" + i1);
+ }
+ }
+
ParkingAreaDto parkingAreaDto = new ParkingAreaDto();
parkingAreaDto.setNum(ownerCarDto.getAreaNum());
@@ -284,6 +353,9 @@
roomDto.setFloorNum(defaultValue(os[4]));
roomDto.setUnitNum(defaultValue(os[5]));
roomDto.setRoomNum(defaultValue(os[6]));
+ if (roomDto.getRoomNum() == null || roomDto.getRoomNum().equals("")) {
+ roomDto.setPropertyType("鍟嗛摵");
+ }
List<RoomDto> roomDtos = iroomInnerServiceSMOImpl.queryRooms(roomDto);
if (ListUtil.isNull(roomDtos)) {
throw new IllegalArgumentException("鏈煡璇㈠埌鎴块棿");
@@ -494,6 +566,13 @@
//瀵煎叆杞﹁締
+ saveFee(ownerCarPo, os, ownerCarDto, assetImportLogDetailDto);
+ ownerCarPo.setParkingType(Vtil.defaultValue(os[12]));
+
+ ownerCarPo.setRoadName(defaultValue(os[3]));
+ ownerCarPo.setFloorNum(defaultValue(os[4]));
+ ownerCarPo.setUnitNum(defaultValue(os[5]));
+ ownerCarPo.setRoomNum(defaultValue(os[6]));
ownerCarV1InnerServiceSMOImpl.saveOwnerCar(ownerCarPo);
ParkingSpacePo parkingSpacePo = new ParkingSpacePo();
parkingSpacePo.setPsId(psId); //杞︿綅id
@@ -501,6 +580,52 @@
parkingSpaceV1InnerServiceSMOImpl.updateParkingSpace(parkingSpacePo);
}
+ public void saveFee(OwnerCarPo ownerCarPo, Object[] os, OwnerCarDto ownerCarDto, AssetImportLogDetailDto assetImportLogDetailDto) {
+ List<FeeConfigDto> feeDtos = null;
+ if (!ownerCarPo.getCommunityId().isEmpty()){
+ FeeConfigDto feeConfigDto = new FeeConfigDto();
+ feeConfigDto.setCommunityId(ownerCarPo.getCommunityId());
+ feeConfigDto.setSquarePrice(Vtil.processCount(ownerCarPo.getUnitPricePerMonth(), 2, null));
+ switch (Vtil.defaultValue(os[12])) {
+ case "鍦伴潰鍋滆溅": feeConfigDto.setFeeTypeCd("630000003");break;
+ case "鍦颁笅鍋滆溅": feeConfigDto.setFeeTypeCd("630000004");break;
+ default: feeConfigDto.setFeeTypeCds(new String[]{"630000003","630000004"});
+ }
+ if (feeConfigDto.getSquarePrice() == null) {
+ throw new IllegalArgumentException("鏈煡璇㈠埌鏀惰垂椤�");
+ }
+ feeDtos = feeConfigInnerServiceSMOImpl.queryFeeConfigs(feeConfigDto);
+ if (feeDtos.isEmpty()) {
+ throw new IllegalArgumentException("鍗曚环`"+ownerCarPo.getUnitPricePerMonth()+"`鏈煡璇㈠埌鏀惰垂椤�");
+ }
+ }
+ FeeConfigDto feeDto = feeDtos.get(0);
+ PayFeePo payFeePo = new PayFeePo();
+ payFeePo.setFeeId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_feeId));
+ payFeePo.setbId("-1");
+ payFeePo.setFeeTypeCd(feeDto.getFeeTypeCd());
+ payFeePo.setSecondaryFeeTypeCd(feeDto.getSecondaryFeeTypeCd());
+ payFeePo.setCommunityId(ownerCarDto.getCommunityId());
+ payFeePo.setPayerObjId(ownerCarPo.getCarId());
+ payFeePo.setIncomeObjId("102025062610470035");
+ payFeePo.setStartTime(Vtil.processDateEnhanced(ownerCarDto.getStartTime(), null, "yyyy-MM-dd HH:mm:ss", "start", feeDto.getStartTime()));
+ payFeePo.setEndTime(payFeePo.getStartTime());
+ payFeePo.setUserId(ownerCarPo.getUserId());
+ payFeePo.setStatusCd("0");
+ payFeePo.setFeeFlag(feeDto.getFeeFlag());
+ payFeePo.setConfigId(feeDto.getConfigId());
+ payFeePo.setState("2008001");
+ payFeePo.setPayerObjType("6666");
+ payFeePo.setBatchId(assetImportLogDetailDto.getLogId());
+ payFeeV1InnerServiceSMO.savePayFee(payFeePo);
+ List<FeeAttrPo> feeAttrPos = new ArrayList<>();
+ feeAttrPos.add(
+ new FeeAttrPo(payFeePo.getFeeId(), payFeePo.getCommunityId(), GenerateCodeFactory.getGeneratorId("11"), "390010" ,
+ Vtil.processDateEnhanced(ownerCarDto.getEndTime(), null, "yyyy-MM-dd HH:mm:ss", "end", feeDto.getEndTime())));
+ feeAttrPos.add(new FeeAttrPo(payFeePo.getFeeId(), payFeePo.getCommunityId(), GenerateCodeFactory.getGeneratorId("11"), "390012" , "(" + ownerCarPo.getCarNum() + ")"));
+ feeAttrInnerServiceSMO.saveFeeAttrs(feeAttrPos);
+ }
+
private String defaultValueToDate(Object o) {
return o == null ? null : o.toString();
}
--
Gitblit v1.8.0