From 0b04f664887c73e90bf684a4e69c0fdbfe26349d Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期三, 29 三月 2023 13:35:20 +0800
Subject: [PATCH] Merge branch 'master' of http://git.homecommunity.cn/supervip/MicroCommunity
---
service-fee/src/main/java/com/java110/fee/api/ApplyRoomDiscountApi.java | 111 ++++++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 93 insertions(+), 18 deletions(-)
diff --git a/service-fee/src/main/java/com/java110/fee/api/ApplyRoomDiscountApi.java b/service-fee/src/main/java/com/java110/fee/api/ApplyRoomDiscountApi.java
index 8a40ac4..8fbcab0 100755
--- a/service-fee/src/main/java/com/java110/fee/api/ApplyRoomDiscountApi.java
+++ b/service-fee/src/main/java/com/java110/fee/api/ApplyRoomDiscountApi.java
@@ -6,14 +6,10 @@
import com.java110.core.annotation.Java110Transactional;
import com.java110.core.context.DataFlowContext;
import com.java110.core.factory.GenerateCodeFactory;
-import com.java110.dto.account.AccountDto;
-import com.java110.dto.accountDetail.AccountDetailDto;
import com.java110.dto.applyRoomDiscount.ApplyRoomDiscountDto;
import com.java110.dto.applyRoomDiscountType.ApplyRoomDiscountTypeDto;
import com.java110.dto.fee.FeeDetailDto;
import com.java110.dto.feeDiscount.FeeDiscountRuleDto;
-import com.java110.dto.owner.OwnerRoomRelDto;
-import com.java110.fee.bmo.account.ISaveAccountBMO;
import com.java110.fee.bmo.account.IUpdateAccountBMO;
import com.java110.fee.bmo.applyRoomDiscount.IAuditApplyRoomDiscountBMO;
import com.java110.fee.bmo.applyRoomDiscount.IDeleteApplyRoomDiscountBMO;
@@ -24,20 +20,24 @@
import com.java110.fee.bmo.applyRoomDiscountType.IGetApplyRoomDiscountTypeBMO;
import com.java110.fee.bmo.applyRoomDiscountType.ISaveApplyRoomDiscountTypeBMO;
import com.java110.fee.bmo.applyRoomDiscountType.IUpdateApplyRoomDiscountTypeBMO;
-import com.java110.intf.acct.IAccountInnerServiceSMO;
+import com.java110.intf.common.IFileRelInnerServiceSMO;
import com.java110.intf.fee.IApplyRoomDiscountInnerServiceSMO;
import com.java110.intf.fee.IFeeDetailInnerServiceSMO;
import com.java110.intf.fee.IFeeDiscountRuleInnerServiceSMO;
-import com.java110.intf.user.IOwnerRoomRelInnerServiceSMO;
import com.java110.po.applyRoomDiscount.ApplyRoomDiscountPo;
import com.java110.po.applyRoomDiscountType.ApplyRoomDiscountTypePo;
+import com.java110.po.file.FileRelPo;
import com.java110.utils.util.Assert;
import com.java110.utils.util.BeanConvertUtil;
import com.java110.utils.util.StringUtil;
-import com.java110.vo.ResultVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestHeader;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
import java.math.BigDecimal;
import java.text.DecimalFormat;
@@ -49,6 +49,8 @@
@RestController
@RequestMapping(value = "/applyRoomDiscount")
public class ApplyRoomDiscountApi {
+
+ private static final String SPEC_RATE = "89002020980013"; // 鎵撴姌鐜�
@Autowired
private ISaveApplyRoomDiscountBMO saveApplyRoomDiscountBMOImpl;
@@ -87,16 +89,10 @@
private IFeeDetailInnerServiceSMO feeDetailInnerServiceSMOImpl;
@Autowired
- private IOwnerRoomRelInnerServiceSMO ownerRoomRelInnerServiceSMOImpl;
-
- @Autowired
- private IAccountInnerServiceSMO accountInnerServiceSMOImpl;
-
- @Autowired
- private ISaveAccountBMO saveAccountBMOImpl;
-
- @Autowired
private IUpdateAccountBMO updateAccountBMOImpl;
+
+ @Autowired
+ private IFileRelInnerServiceSMO fileRelInnerServiceSMOImpl;
/**
* 浼樻儬鐢宠
@@ -135,6 +131,9 @@
if (applyRoomDiscountDtos.size() == 0) {
//绌虹疆鎴夸紭鎯犲彲鐢�
applyRoomDiscountPo.setInUse("0");
+ applyRoomDiscountPo.setArdId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_ardId));
+ applyRoomDiscountPo.setState(ApplyRoomDiscountDto.STATE_APPLY);
+ saveFile(applyRoomDiscountPo);
return saveApplyRoomDiscountBMOImpl.save(applyRoomDiscountPo);
} else if (applyRoomDiscountDtos.size() > 0) {
//鍙栧嚭缁撴潫鏃堕棿
@@ -143,12 +142,41 @@
if (startDate.getTime() - finishTime.getTime() >= 0) {
//绌虹疆鎴夸紭鎯犲彲鐢�
applyRoomDiscountPo.setInUse("0");
+ applyRoomDiscountPo.setArdId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_ardId));
+ applyRoomDiscountPo.setState(ApplyRoomDiscountDto.STATE_APPLY);
+ saveFile(applyRoomDiscountPo);
return saveApplyRoomDiscountBMOImpl.save(applyRoomDiscountPo);
} else {
throw new UnsupportedOperationException("璇ユ椂闂存宸茬粡鐢宠杩囩┖缃埧锛岃閲嶆柊杈撳叆绌虹疆鎴跨敵璇峰紑濮嬪拰缁撴潫鏃堕棿");
}
} else {
throw new UnsupportedOperationException("淇℃伅閿欒");
+ }
+ }
+
+ /**
+ * 涓婁紶鍥剧墖
+ *
+ * @param applyRoomDiscountPo
+ */
+ public void saveFile(ApplyRoomDiscountPo applyRoomDiscountPo) {
+ //鑾峰彇鍥剧墖
+ List<String> photos = applyRoomDiscountPo.getPhotos();
+ FileRelPo fileRelPo = new FileRelPo();
+ fileRelPo.setFileRelId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_relId));
+ fileRelPo.setObjId(applyRoomDiscountPo.getArdId());
+ //table琛ㄧず琛ㄥ瓨鍌� ftp琛ㄧずftp鏂囦欢瀛樺偍
+ fileRelPo.setSaveWay("ftp");
+ fileRelPo.setCreateTime(new Date());
+ //鍥剧墖涓婁紶
+ if (photos != null && photos.size() > 0) {
+ //19000琛ㄧず瑁呬慨鍥剧墖
+ fileRelPo.setRelTypeCd("19000");
+ for (String photo : photos) {
+ fileRelPo.setFileRealName(photo);
+ fileRelPo.setFileSaveName(photo);
+ fileRelInnerServiceSMOImpl.saveFileRel(fileRelPo);
+ }
}
}
@@ -240,6 +268,9 @@
BigDecimal cashBackAmount = new BigDecimal("0.00");//杩旂幇鎬婚噾棰�
for (int i = 0; i < discounts.size(); i++) {
JSONObject discountObject = discounts.getJSONObject(i);
+ if (!reqJson.getString("discountId").equals(discountObject.getString("discountId"))) {
+ continue;
+ }
JSONArray feeDiscountSpecs = discountObject.getJSONArray("feeDiscountSpecs");
//鑾峰彇瑙勫垯id
String ruleId = discounts.getJSONObject(i).getString("ruleId");
@@ -250,7 +281,8 @@
//鑾峰彇鎶樻墸绫诲瀷(1: 鎵撴姌 2:鍑忓厤 3:婊炵撼閲� 4:绌虹疆鎴挎墦鎶� 5:绌虹疆鎴垮噺鍏�)
String discountSmallType = feeDiscountRuleDtos.get(0).getDiscountSmallType();
//鑾峰彇瑙勫垯
- String specValue = feeDiscountSpecs.getJSONObject(1).getString("specValue");
+ //String specValue = feeDiscountSpecs.getJSONObject(1).getString("specValue");
+ String specValue = getRateSpecValueByFeeDiscountSpecs(feeDiscountSpecs);
if (!StringUtil.isEmpty(discountSmallType) && (discountSmallType.equals("1") || discountSmallType.equals("4"))) { //鎵撴姌
for (int index = 0; index < feeDetailIds.size(); index++) {
String feeDetailId = String.valueOf(feeDetailIds.get(index));
@@ -291,6 +323,47 @@
reqJson.put("reviewUserId", userId);
ApplyRoomDiscountPo applyRoomDiscountPo = BeanConvertUtil.covertBean(reqJson, ApplyRoomDiscountPo.class);
return updateApplyRoomDiscountBMOImpl.update(applyRoomDiscountPo);
+ }
+
+ /**
+ * 89002020980001 102020001 鏈堜唤
+ * 89002020980002 102020001 鎵撴姌鐜�
+ * 89002020980003 102020002 鏈堜唤
+ * 89002020980004 102020002 鍑忓厤閲戦
+ * 89002020980005 102020003 婊炵撼閲�
+ * 89002020980006 102020004 婊炵撼閲�
+ * 89002020980007 102020005 鏈堜唤
+ * 89002020980008 102020005 鎵撴姌鐜�
+ * 89002020980009 102020005 娆犺垂鏃堕暱
+ * 89002020980010 102020006 鏈堜唤
+ * 89002020980011 102020006 鍑忓厤閲戦
+ * 89002020980012 102020007 鏈堜唤
+ * 89002020980013 102020007 鎵撴姌鐜�
+ *
+ * @param feeDiscountSpecs
+ * @return
+ */
+ private String getRateSpecValueByFeeDiscountSpecs(JSONArray feeDiscountSpecs) {
+
+ for (int specIndex = 0; specIndex < feeDiscountSpecs.size(); specIndex++) {
+ if (SPEC_RATE.equals(feeDiscountSpecs.getJSONObject(specIndex).getString("specId"))) {
+ return feeDiscountSpecs.getJSONObject(specIndex).getString("specValue");
+ }
+ if ("89002020980002".equals(feeDiscountSpecs.getJSONObject(specIndex).getString("specId"))) {
+ return feeDiscountSpecs.getJSONObject(specIndex).getString("specValue");
+ }
+ if ("89002020980004".equals(feeDiscountSpecs.getJSONObject(specIndex).getString("specId"))) {
+ return feeDiscountSpecs.getJSONObject(specIndex).getString("specValue");
+ }
+ if ("89002020980008".equals(feeDiscountSpecs.getJSONObject(specIndex).getString("specId"))) {
+ return feeDiscountSpecs.getJSONObject(specIndex).getString("specValue");
+ }
+ if ("89002020980011".equals(feeDiscountSpecs.getJSONObject(specIndex).getString("specId"))) {
+ return feeDiscountSpecs.getJSONObject(specIndex).getString("specValue");
+ }
+ }
+
+ throw new IllegalArgumentException("鏈壘鍒� 鎵撴姌绯绘暟");
}
/**
@@ -337,6 +410,7 @@
*/
@RequestMapping(value = "/queryApplyRoomDiscount", method = RequestMethod.GET)
public ResponseEntity<String> queryApplyRoomDiscount(@RequestParam(value = "communityId") String communityId,
+ @RequestParam(value = "ardId", required = false) String ardId,
@RequestParam(value = "roomName", required = false) String roomName,
@RequestParam(value = "roomId", required = false) String roomId,
@RequestParam(value = "state", required = false) String state,
@@ -344,6 +418,7 @@
@RequestParam(value = "page") int page,
@RequestParam(value = "row") int row) {
ApplyRoomDiscountDto applyRoomDiscountDto = new ApplyRoomDiscountDto();
+ applyRoomDiscountDto.setArdId(ardId);
applyRoomDiscountDto.setPage(page);
applyRoomDiscountDto.setRow(row);
applyRoomDiscountDto.setCommunityId(communityId);
--
Gitblit v1.8.0