From 05683f2b2bdbdbe21cf17ad523c21ab338bd1c54 Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期二, 19 七月 2022 21:49:55 +0800
Subject: [PATCH] 优化添加设备 功能
---
service-fee/src/main/java/com/java110/fee/bmo/feeDiscount/impl/GetFeeDiscountBMOImpl.java | 99 +++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 99 insertions(+), 0 deletions(-)
diff --git a/service-fee/src/main/java/com/java110/fee/bmo/feeDiscount/impl/GetFeeDiscountBMOImpl.java b/service-fee/src/main/java/com/java110/fee/bmo/feeDiscount/impl/GetFeeDiscountBMOImpl.java
old mode 100644
new mode 100755
index 1f6a88f..ed8813e
--- a/service-fee/src/main/java/com/java110/fee/bmo/feeDiscount/impl/GetFeeDiscountBMOImpl.java
+++ b/service-fee/src/main/java/com/java110/fee/bmo/feeDiscount/impl/GetFeeDiscountBMOImpl.java
@@ -1,8 +1,12 @@
package com.java110.fee.bmo.feeDiscount.impl;
import com.java110.dto.feeDiscount.FeeDiscountDto;
+import com.java110.dto.feeDiscount.FeeDiscountSpecDto;
+import com.java110.dto.payFeeDetailDiscount.PayFeeDetailDiscountDto;
import com.java110.fee.bmo.feeDiscount.IGetFeeDiscountBMO;
import com.java110.intf.fee.IFeeDiscountInnerServiceSMO;
+import com.java110.intf.fee.IFeeDiscountSpecInnerServiceSMO;
+import com.java110.intf.fee.IPayFeeDetailDiscountInnerServiceSMO;
import com.java110.vo.ResultVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
@@ -18,6 +22,12 @@
@Autowired
private IFeeDiscountInnerServiceSMO feeDiscountInnerServiceSMOImpl;
+ @Autowired
+ private IFeeDiscountSpecInnerServiceSMO feeDiscountSpecInnerServiceSMOImpl;
+
+ @Autowired
+ private IPayFeeDetailDiscountInnerServiceSMO payFeeDetailDiscountInnerServiceSMOImpl;
+
/**
* @param feeDiscountDto
* @return 璁㈠崟鏈嶅姟鑳藉鎺ュ彈鐨勬姤鏂�
@@ -30,6 +40,7 @@
List<FeeDiscountDto> feeDiscountDtos = null;
if (count > 0) {
feeDiscountDtos = feeDiscountInnerServiceSMOImpl.queryFeeDiscounts(feeDiscountDto);
+ freshDiscountSpec(feeDiscountDtos);
} else {
feeDiscountDtos = new ArrayList<>();
}
@@ -41,4 +52,92 @@
return responseEntity;
}
+ @Override
+ public ResponseEntity<String> getFeeDetailDiscount(PayFeeDetailDiscountDto payFeeDetailDiscountDto) {
+
+ int count = payFeeDetailDiscountInnerServiceSMOImpl.queryPayFeeDetailDiscountsCount(payFeeDetailDiscountDto);
+
+ List<PayFeeDetailDiscountDto> feeDetailDiscountDtos = null;
+ if (count > 0) {
+ feeDetailDiscountDtos = payFeeDetailDiscountInnerServiceSMOImpl.queryPayFeeDetailDiscounts(payFeeDetailDiscountDto);
+ freshDiscountDetailSpec(feeDetailDiscountDtos);
+ } else {
+ feeDetailDiscountDtos = new ArrayList<>();
+ }
+
+ ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) payFeeDetailDiscountDto.getRow()), count, feeDetailDiscountDtos);
+
+ ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
+
+ return responseEntity;
+ }
+
+ private void freshDiscountDetailSpec(List<PayFeeDetailDiscountDto> feeDetailDiscountDtos) {
+
+ if (feeDetailDiscountDtos == null || feeDetailDiscountDtos.size() < 1) {
+ return;
+ }
+
+ List<String> discountIds = new ArrayList<>();
+ for (PayFeeDetailDiscountDto feeDetailDiscountDto : feeDetailDiscountDtos) {
+ discountIds.add(feeDetailDiscountDto.getDiscountId());
+ }
+
+ FeeDiscountSpecDto tmpFeeDiscountSpecDto = new FeeDiscountSpecDto();
+
+ tmpFeeDiscountSpecDto.setDiscountIds(discountIds.toArray(new String[discountIds.size()]));
+ tmpFeeDiscountSpecDto.setCommunityId(feeDetailDiscountDtos.get(0).getCommunityId());
+
+ List<FeeDiscountSpecDto> feeDiscountSpecDtos = feeDiscountSpecInnerServiceSMOImpl.queryFeeDiscountSpecs(tmpFeeDiscountSpecDto);
+
+ if (feeDiscountSpecDtos == null || feeDiscountSpecDtos.size() < 1) {
+ return;
+ }
+ List<FeeDiscountSpecDto> tmpSpecs = null;
+ for (PayFeeDetailDiscountDto feeDetailDiscountDto : feeDetailDiscountDtos) {
+ tmpSpecs = new ArrayList<>();
+ for (FeeDiscountSpecDto feeDiscountSpecDto : feeDiscountSpecDtos) {
+ if (feeDetailDiscountDto.getDiscountId().equals(feeDiscountSpecDto.getDiscountId())) {
+ tmpSpecs.add(feeDiscountSpecDto);
+
+ }
+ }
+ feeDetailDiscountDto.setFeeDiscountSpecs(tmpSpecs);
+ }
+ }
+
+ private void freshDiscountSpec(List<FeeDiscountDto> feeDiscountDtos) {
+
+ if (feeDiscountDtos == null || feeDiscountDtos.size() < 1) {
+ return;
+ }
+
+ List<String> discountIds = new ArrayList<>();
+ for (FeeDiscountDto feeDiscountDto : feeDiscountDtos) {
+ discountIds.add(feeDiscountDto.getDiscountId());
+ }
+
+ FeeDiscountSpecDto tmpFeeDiscountSpecDto = new FeeDiscountSpecDto();
+
+ tmpFeeDiscountSpecDto.setDiscountIds(discountIds.toArray(new String[discountIds.size()]));
+ tmpFeeDiscountSpecDto.setCommunityId(feeDiscountDtos.get(0).getCommunityId());
+
+ List<FeeDiscountSpecDto> feeDiscountSpecDtos = feeDiscountSpecInnerServiceSMOImpl.queryFeeDiscountSpecs(tmpFeeDiscountSpecDto);
+
+ if (feeDiscountSpecDtos == null || feeDiscountSpecDtos.size() < 1) {
+ return;
+ }
+ List<FeeDiscountSpecDto> tmpSpecs = null;
+ for (FeeDiscountDto feeDiscountDto : feeDiscountDtos) {
+ tmpSpecs = new ArrayList<>();
+ for (FeeDiscountSpecDto feeDiscountSpecDto : feeDiscountSpecDtos) {
+ if (feeDiscountDto.getDiscountId().equals(feeDiscountSpecDto.getDiscountId())) {
+ tmpSpecs.add(feeDiscountSpecDto);
+
+ }
+ }
+ feeDiscountDto.setFeeDiscountSpecs(tmpSpecs);
+ }
+ }
+
}
--
Gitblit v1.8.0