From 59a4cefa00be59d24d4fd255da5361e271f39e2b Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期一, 21 九月 2020 07:20:59 +0800
Subject: [PATCH] 优化代码
---
service-store/src/main/java/com/java110/store/bmo/contract/impl/UpdateContractBMOImpl.java | 54 +++++++++++++++++++++++++++++++++++++++++++++++++++---
service-store/src/main/java/com/java110/store/bmo/contract/IUpdateContractBMO.java | 3 ++-
service-store/src/main/java/com/java110/store/api/ContractApi.java | 2 +-
3 files changed, 54 insertions(+), 5 deletions(-)
diff --git a/service-store/src/main/java/com/java110/store/api/ContractApi.java b/service-store/src/main/java/com/java110/store/api/ContractApi.java
index 6e57491..bdf31bb 100644
--- a/service-store/src/main/java/com/java110/store/api/ContractApi.java
+++ b/service-store/src/main/java/com/java110/store/api/ContractApi.java
@@ -141,7 +141,7 @@
ContractPo contractPo = BeanConvertUtil.covertBean(reqJson, ContractPo.class);
- return updateContractBMOImpl.update(contractPo);
+ return updateContractBMOImpl.update(contractPo,reqJson);
}
/**
diff --git a/service-store/src/main/java/com/java110/store/bmo/contract/IUpdateContractBMO.java b/service-store/src/main/java/com/java110/store/bmo/contract/IUpdateContractBMO.java
index 7b53630..ad50557 100644
--- a/service-store/src/main/java/com/java110/store/bmo/contract/IUpdateContractBMO.java
+++ b/service-store/src/main/java/com/java110/store/bmo/contract/IUpdateContractBMO.java
@@ -1,4 +1,5 @@
package com.java110.store.bmo.contract;
+import com.alibaba.fastjson.JSONObject;
import com.java110.po.contract.ContractPo;
import org.springframework.http.ResponseEntity;
@@ -11,7 +12,7 @@
* @param contractPo
* @return
*/
- ResponseEntity<String> update(ContractPo contractPo);
+ ResponseEntity<String> update(ContractPo contractPo, JSONObject reqJson);
}
diff --git a/service-store/src/main/java/com/java110/store/bmo/contract/impl/UpdateContractBMOImpl.java b/service-store/src/main/java/com/java110/store/bmo/contract/impl/UpdateContractBMOImpl.java
index b7a7e66..04651cd 100644
--- a/service-store/src/main/java/com/java110/store/bmo/contract/impl/UpdateContractBMOImpl.java
+++ b/service-store/src/main/java/com/java110/store/bmo/contract/impl/UpdateContractBMOImpl.java
@@ -1,13 +1,21 @@
package com.java110.store.bmo.contract.impl;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
import com.java110.core.annotation.Java110Transactional;
+import com.java110.dto.contractAttr.ContractAttrDto;
+import com.java110.intf.store.IContractAttrInnerServiceSMO;
import com.java110.intf.store.IContractInnerServiceSMO;
import com.java110.po.contract.ContractPo;
+import com.java110.po.contractAttr.ContractAttrPo;
import com.java110.store.bmo.contract.IUpdateContractBMO;
+import com.java110.utils.util.Assert;
import com.java110.vo.ResultVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
+
+import java.util.List;
@Service("updateContractBMOImpl")
public class UpdateContractBMOImpl implements IUpdateContractBMO {
@@ -15,20 +23,60 @@
@Autowired
private IContractInnerServiceSMO contractInnerServiceSMOImpl;
+ @Autowired
+ private IContractAttrInnerServiceSMO contractAttrInnerServiceSMOImpl;
+
/**
* @param contractPo
* @return 璁㈠崟鏈嶅姟鑳藉鎺ュ彈鐨勬姤鏂�
*/
@Java110Transactional
- public ResponseEntity<String> update(ContractPo contractPo) {
+ public ResponseEntity<String> update(ContractPo contractPo, JSONObject reqJson) {
int flag = contractInnerServiceSMOImpl.updateContract(contractPo);
- if (flag > 0) {
+ if (flag < 1) {
+ return ResultVo.createResponseEntity(ResultVo.CODE_ERROR, "淇濆瓨澶辫触");
+
+ }
+
+ if (!reqJson.containsKey("contractTypeSpecs")) {
return ResultVo.createResponseEntity(ResultVo.CODE_OK, "淇濆瓨鎴愬姛");
}
- return ResultVo.createResponseEntity(ResultVo.CODE_ERROR, "淇濆瓨澶辫触");
+
+ JSONArray contractTypeSpecs = reqJson.getJSONArray("contractTypeSpecs");
+
+ if (contractTypeSpecs.size() < 1) {
+ return ResultVo.createResponseEntity(ResultVo.CODE_OK, "淇濆瓨鎴愬姛");
+ }
+
+ for (int typeSpecIndex = 0; typeSpecIndex < contractTypeSpecs.size(); typeSpecIndex++) {
+ updateContractAttr(contractTypeSpecs.getJSONObject(typeSpecIndex), contractPo);
+ }
+
+ return ResultVo.createResponseEntity(ResultVo.CODE_OK, "淇濆瓨鎴愬姛");
+
+ }
+
+ private void updateContractAttr(JSONObject jsonObject, ContractPo contractPo) {
+ ContractAttrDto contractAttrDto = new ContractAttrDto();
+ contractAttrDto.setContractId(contractPo.getContractId());
+ contractAttrDto.setSpecCd(jsonObject.getString("specCd"));
+ List<ContractAttrDto> contractAttrDtos = contractAttrInnerServiceSMOImpl.queryContractAttrs(contractAttrDto);
+
+ Assert.listOnlyOne(contractAttrDtos, "鏈壘鍒伴渶瑕佷慨鏀圭殑鍚堝悓灞炴��");
+ ContractAttrPo contractAttrPo = new ContractAttrPo();
+ contractAttrPo.setAttrId(contractAttrDtos.get(0).getAttrId());
+ contractAttrPo.setContractId(contractPo.getContractId());
+ contractAttrPo.setSpecCd(jsonObject.getString("specCd"));
+ contractAttrPo.setValue(jsonObject.getString("value"));
+ contractAttrPo.setStoreId(contractPo.getStoreId());
+ int count = contractAttrInnerServiceSMOImpl.updateContractAttr(contractAttrPo);
+
+ if (count < 1) {
+ throw new IllegalArgumentException("淇濆瓨灞炴�уけ璐�");
+ }
}
}
--
Gitblit v1.8.0