java110 лет назад: 5
Родитель
Сommit
26d31b2687

+ 33 - 9
service-fee/src/main/java/com/java110/fee/bmo/impl/ImportRoomFeeImpl.java

@@ -7,10 +7,10 @@ import com.java110.core.factory.GenerateCodeFactory;
 import com.java110.dto.fee.FeeAttrDto;
 import com.java110.dto.fee.FeeConfigDto;
 import com.java110.dto.fee.FeeDto;
+import com.java110.dto.importFee.ImportFeeDto;
 import com.java110.entity.assetImport.ImportRoomFee;
 import com.java110.fee.bmo.IImportRoomFee;
 import com.java110.fee.listener.fee.UpdateFeeInfoListener;
-import com.java110.intf.fee.IImportFeeDetailInnerServiceSMO;
 import com.java110.intf.community.IRoomInnerServiceSMO;
 import com.java110.intf.fee.*;
 import com.java110.po.fee.FeeAttrPo;
@@ -21,6 +21,7 @@ import com.java110.po.importFeeDetail.ImportFeeDetailPo;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.BeanConvertUtil;
 import com.java110.utils.util.DateUtil;
+import com.java110.utils.util.StringUtil;
 import com.java110.vo.ResultVo;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -75,6 +76,9 @@ public class ImportRoomFeeImpl implements IImportRoomFee {
     @Java110Transactional
     public ResponseEntity<String> importFee(JSONObject reqJson) {
 
+        int successCount = 0;
+        int errorCount = 0;
+
         //小区ID
         String communityId = reqJson.getString("communityId");
         String importFeeId = reqJson.getString("importFeeId");
@@ -101,7 +105,7 @@ public class ImportRoomFeeImpl implements IImportRoomFee {
 
         List<ImportRoomFee> tmpImportRoomFees = importRoomFees.toJavaList(ImportRoomFee.class);
 
-        for(ImportRoomFee tmpImportRoomFee: tmpImportRoomFees){
+        for (ImportRoomFee tmpImportRoomFee : tmpImportRoomFees) {
             tmpImportRoomFee.setCommunityId(communityId);
         }
 
@@ -115,6 +119,14 @@ public class ImportRoomFeeImpl implements IImportRoomFee {
         PayFeePo payFeePo = null;
         ImportFeeDetailPo importFeeDetailPo = null;
         for (ImportRoomFee importRoomFee : tmpImportRoomFees) {
+            if (StringUtil.isEmpty(importRoomFee.getRoomId()) || importRoomFee.getRoomId().startsWith("-") ||
+                    StringUtil.isEmpty(importRoomFee.getFloorNum()) || importRoomFee.getFloorNum().startsWith("-") ||
+                    StringUtil.isEmpty(importRoomFee.getUnitNum()) || importRoomFee.getUnitNum().startsWith("-")
+            ) {
+                errorCount++;
+                continue;
+            }
+            successCount++;
             payFeePo = new PayFeePo();
             payFeePo.setFeeId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_feeId));
             payFeePo.setEndTime(importRoomFee.getStartTime());
@@ -161,18 +173,30 @@ public class ImportRoomFeeImpl implements IImportRoomFee {
 
         feeAttrInnerServiceSMOImpl.saveFeeAttrs(feeAttrPos);
 
-        //保存日志
-        ImportFeePo importFeePo = new ImportFeePo();
-        importFeePo.setCommunityId(communityId);
-        importFeePo.setFeeTypeCd(feeTypeCd);
-        importFeePo.setImportFeeId(importFeeId);
-        importFeeInnerServiceSMOImpl.saveImportFee(importFeePo);
+        ImportFeeDto importFeeDto = new ImportFeeDto();
+        importFeeDto.setCommunityId(communityId);
+        importFeeDto.setImportFeeId(importFeeId);
+
+        List<ImportFeeDto> importRoomFeess = importFeeInnerServiceSMOImpl.queryImportFees(importFeeDto);
+
+        if (importRoomFeess == null || importRoomFeess.size() < 1) {
+            //保存日志
+            ImportFeePo importFeePo = new ImportFeePo();
+            importFeePo.setCommunityId(communityId);
+            importFeePo.setFeeTypeCd(feeTypeCd);
+            importFeePo.setImportFeeId(importFeeId);
+            importFeeInnerServiceSMOImpl.saveImportFee(importFeePo);
+        }
 
 
         importFeeDetailInnerServiceSMOImpl.saveImportFeeDetails(importFeeDetailPos);
 
 
-        return ResultVo.success();
+        JSONObject data = new JSONObject();
+        data.put("successCount", successCount);
+        data.put("errorCount", errorCount);
+
+        return ResultVo.createResponseEntity(data);
     }
 
     /**

+ 27 - 6
service-front/src/main/java/com/java110/front/smo/assetImport/impl/ImportRoomFeeSMOImpl.java

@@ -96,25 +96,29 @@ public class ImportRoomFeeSMOImpl extends BaseComponentSMO implements IImportRoo
             throw new IllegalArgumentException("没有数据需要处理");
         }
 
+        JSONObject paramOut = new JSONObject();
+        paramOut.put("successCount", 0);
+        paramOut.put("errorCount", 0);
+
         JSONObject data = JSONObject.parseObject(pd.getReqData());
         data.put("storeId", result.getStoreId());
+        data.put("importFeeId", GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_feeId));
         data.put("userId", result.getUserId());
         data.put("communityId", result.getCommunityId());
         List<ImportRoomFee> tmpImportRoomFees = new ArrayList<>();
         for (int roomIndex = 0; roomIndex < roomFees.size(); roomIndex++) {
             tmpImportRoomFees.add(roomFees.get(roomIndex));
             if (roomIndex % DEFAULT_ADD_FEE_COUNT == 0 && roomIndex != 0) {
-                data.put("importFeeId", GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_feeId));
-                createRoomFee(pd, tmpImportRoomFees, data);
+                createRoomFee(pd, tmpImportRoomFees, data, paramOut);
 
                 tmpImportRoomFees = new ArrayList<>();
             }
         }
         if (tmpImportRoomFees != null && tmpImportRoomFees.size() > 0) {
 
-            createRoomFee(pd, tmpImportRoomFees, data);
+            createRoomFee(pd, tmpImportRoomFees, data, paramOut);
         }
-        return ResultVo.success();
+        return ResultVo.createResponseEntity(ResultVo.CODE_OK, "成功:" + paramOut.getString("successCount") + ",失败:" + paramOut.getString("errorCount"));
     }
 
     /**
@@ -123,14 +127,31 @@ public class ImportRoomFeeSMOImpl extends BaseComponentSMO implements IImportRoo
      * @param pd
      * @param tmpImportRoomFee
      */
-    private void createRoomFee(IPageData pd, List<ImportRoomFee> tmpImportRoomFee, JSONObject data) {
+    private void createRoomFee(IPageData pd, List<ImportRoomFee> tmpImportRoomFee, JSONObject data, JSONObject paramOut) {
+
+        int successCount = paramOut.getInteger("successCount");
+        int errorCount = paramOut.getInteger("errorCount");
 
         JSONArray importRoomFees = JSONArray.parseArray(JSONObject.toJSONString(tmpImportRoomFee));
         data.put("importRoomFees", importRoomFees);
 
         String apiUrl = ServiceConstant.SERVICE_API_URL + "/api/feeApi/importRoomFees";
 
-        this.callCenterService(restTemplate, pd, data.toJSONString(), apiUrl, HttpMethod.POST);
+        ResponseEntity<String> responseEntity = this.callCenterService(restTemplate, pd, data.toJSONString(), apiUrl, HttpMethod.POST);
+
+        if (HttpStatus.OK != responseEntity.getStatusCode()) {
+            errorCount += tmpImportRoomFee.size();
+            paramOut.put("errorCount", errorCount);
+            return;
+        }
+
+        JSONObject resOut = JSONObject.parseObject(responseEntity.getBody());
+
+        successCount += resOut.getInteger("successCount");
+        errorCount += resOut.getInteger("errorCount");
+
+        paramOut.put("successCount", successCount);
+        paramOut.put("errorCount", errorCount);
     }