From a13573d5ef8d16f4bc2535a3c89c2891e6f5b56c Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期二, 30 五月 2023 15:33:30 +0800
Subject: [PATCH] optimize
---
service-store/src/main/java/com/java110/store/cmd/collection/ResourceOutCmd.java | 71 ++++++++++++++++++++---------------
1 files changed, 41 insertions(+), 30 deletions(-)
diff --git a/service-store/src/main/java/com/java110/store/cmd/collection/ResourceOutCmd.java b/service-store/src/main/java/com/java110/store/cmd/collection/ResourceOutCmd.java
index b161d03..197427d 100644
--- a/service-store/src/main/java/com/java110/store/cmd/collection/ResourceOutCmd.java
+++ b/service-store/src/main/java/com/java110/store/cmd/collection/ResourceOutCmd.java
@@ -3,6 +3,7 @@
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.java110.core.annotation.Java110Cmd;
+import com.java110.core.annotation.Java110Transactional;
import com.java110.core.context.ICmdDataFlowContext;
import com.java110.core.event.cmd.Cmd;
import com.java110.core.event.cmd.CmdEvent;
@@ -36,7 +37,7 @@
* 璇锋眰鍦板潃涓�/app/purchase/resourceEnter
*/
-@Java110CmdDoc(title = "浠撳簱绠$悊鍛� 棰嗙敤鍑哄簱",
+@Java110CmdDoc(title = "棰嗙敤鍑哄簱",
description = "涓昏鐢ㄤ簬 浠撳簱绠$悊鍛橀鐢ㄥ嚭搴�",
httpMethod = "post",
url = "http://{ip}:{port}/app/collection/resourceOut",
@@ -47,10 +48,10 @@
@Java110ParamsDoc(params = {
@Java110ParamDoc(name = "applyOrderId", length = 30, remark = "閲囪喘鐢宠鍗曡鍗旾D"),
- @Java110ParamDoc(name = "purchaseApplyDetailVo", type = "Array",length = 30, remark = "閲囪喘鐗╁搧淇℃伅"),
- @Java110ParamDoc(parentNodeName = "-", name = "purchaseQuantity", type = "Int",length = 30, remark = "鏁伴噺"),
- @Java110ParamDoc(parentNodeName = "-", name = "id", type = "String",length = 30, remark = "閲囪喘鏄庣粏ID"),
- @Java110ParamDoc(parentNodeName = "-", name = "resId", type = "String",length = 30, remark = "鐗╁搧ID"),
+ @Java110ParamDoc(name = "purchaseApplyDetailVo", type = "Array", length = 30, remark = "閲囪喘鐗╁搧淇℃伅"),
+ @Java110ParamDoc(parentNodeName = "purchaseApplyDetailVo", name = "purchaseQuantity", type = "Int", length = 30, remark = "鏁伴噺"),
+ @Java110ParamDoc(parentNodeName = "purchaseApplyDetailVo", name = "id", type = "String", length = 30, remark = "閲囪喘鏄庣粏ID"),
+ @Java110ParamDoc(parentNodeName = "purchaseApplyDetailVo", name = "resId", type = "String", length = 30, remark = "鐗╁搧ID"),
})
@Java110ResponseDoc(
@@ -61,12 +62,12 @@
)
@Java110ExampleDoc(
- reqBody="{'applyOrderId':'123123','purchaseApplyDetailVo':[{'purchaseQuantity':'10','id':'123123','resId':'343434'}]}",
- resBody="{'code':0,'msg':'鎴愬姛'}"
+ reqBody = "{'applyOrderId':'123123','purchaseApplyDetailVo':[{'purchaseQuantity':'10','id':'123123','resId':'343434'}]}",
+ resBody = "{'code':0,'msg':'鎴愬姛'}"
)
/**
- * 鐗╁搧棰嗙敤
+ * 鐗╁搧棰嗙敤鐢宠鍑哄簱
*/
@Java110Cmd(serviceCode = "/collection/resourceOut")
public class ResourceOutCmd extends Cmd {
@@ -99,7 +100,16 @@
}
}
+ /**
+ * 鐗╁搧棰嗙敤-鐗╁搧棰嗙敤鐗╁搧鍙戞斁
+ * @param event 浜嬩欢瀵硅薄
+ * @param context 鏁版嵁涓婃枃瀵硅薄
+ * @param reqJson 璇锋眰鎶ユ枃
+ * @throws CmdException
+ * @throws ParseException
+ */
@Override
+ @Java110Transactional
public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException {
JSONArray purchaseApplyDetails = reqJson.getJSONArray("purchaseApplyDetailVo");
@@ -151,7 +161,7 @@
resourceStoreInnerServiceSMOImpl.updateResourceStore(resourceStorePo);
//鍔犲叆 浠庡簱瀛樹腑鎵e噺
- subResourceStoreTimesStock(purchaseApplyDetailPo.getResId(), purchaseApplyDetailPo.getPurchaseQuantity());
+ subResourceStoreTimesStock(resourceStores.get(0).getResCode(), purchaseApplyDetailPo);
ResourceStoreDto resourceStoreDto = new ResourceStoreDto();
resourceStoreDto.setResId(purchaseApplyDetailPo.getResId());
@@ -174,6 +184,7 @@
userStorehousePo.setResName(resourceStoreDtos.get(0).getResName());
userStorehousePo.setStoreId(resourceStoreDtos.get(0).getStoreId());
userStorehousePo.setUserId(purchaseApplyDtos.get(0).getUserId());
+ userStorehousePo.setTimesId(purchaseApplyDetailPo.getTimesId());
//鏌ヨ鐗╁搧 鏄惁宸茬粡瀛樺湪
UserStorehouseDto userStorehouseDto = new UserStorehouseDto();
userStorehouseDto.setResCode(resourceStoreDtos.get(0).getResCode());
@@ -220,7 +231,10 @@
}
userStorehouseInnerServiceSMOImpl.updateUserStorehouses(userStorehousePo);
}
+
}
+
+ //
//鑾峰彇璁㈠崟鍙�
String applyOrderId = purchaseApplyPo.getApplyOrderId();
PurchaseApplyPo purchaseApply = new PurchaseApplyPo();
@@ -233,14 +247,16 @@
/**
* 浠巘imes涓墸鍑�
- * @param resId
- * @param applyQuantity
+ *
+ * @param resCode
+ * @param purchaseApplyDetailPo
*/
- private void subResourceStoreTimesStock(String resId, String applyQuantity) {
-
+ private void subResourceStoreTimesStock(String resCode, PurchaseApplyDetailPo purchaseApplyDetailPo) {
+ String applyQuantity = purchaseApplyDetailPo.getPurchaseQuantity();
ResourceStoreTimesDto resourceStoreTimesDto = new ResourceStoreTimesDto();
- resourceStoreTimesDto.setResId(resId);
- resourceStoreTimesDto.setHasStock("Y");
+ resourceStoreTimesDto.setResCode(resCode);
+ resourceStoreTimesDto.setTimesId(purchaseApplyDetailPo.getTimesId());
+ //resourceStoreTimesDto.setHasStock("Y");
List<ResourceStoreTimesDto> resourceStoreTimesDtos = resourceStoreTimesV1InnerServiceSMOImpl.queryResourceStoreTimess(resourceStoreTimesDto);
if (resourceStoreTimesDtos == null || resourceStoreTimesDtos.size() < 1) {
@@ -249,21 +265,16 @@
int stock = 0;
int quantity = Integer.parseInt(applyQuantity);
ResourceStoreTimesPo resourceStoreTimesPo = null;
- for (ResourceStoreTimesDto resourceStoreTimesDto1 : resourceStoreTimesDtos) {
- stock = Integer.parseInt(resourceStoreTimesDto1.getStock());
- if (stock > quantity) {
- stock = stock - quantity;
- resourceStoreTimesPo = new ResourceStoreTimesPo();
- resourceStoreTimesPo.setTimesId(resourceStoreTimesDto1.getTimesId());
- resourceStoreTimesPo.setStock(stock + "");
- resourceStoreTimesV1InnerServiceSMOImpl.updateResourceStoreTimes(resourceStoreTimesPo);
- break;
- }
- quantity = quantity - stock;
- resourceStoreTimesPo = new ResourceStoreTimesPo();
- resourceStoreTimesPo.setTimesId(resourceStoreTimesDto1.getTimesId());
- resourceStoreTimesPo.setStock("0");
- resourceStoreTimesV1InnerServiceSMOImpl.updateResourceStoreTimes(resourceStoreTimesPo);
+
+ stock = Integer.parseInt(resourceStoreTimesDtos.get(0).getStock());
+ if (stock < quantity) {
+ throw new CmdException(resourceStoreTimesDtos.get(0).getResCode() + "浠锋牸涓猴細" + resourceStoreTimesDtos.get(0).getPrice() + "鐨勫簱瀛�" + resourceStoreTimesDtos.get(0).getStock() + ",搴撳瓨涓嶈冻");
}
+
+ stock = stock - quantity;
+ resourceStoreTimesPo = new ResourceStoreTimesPo();
+ resourceStoreTimesPo.setTimesId(resourceStoreTimesDtos.get(0).getTimesId());
+ resourceStoreTimesPo.setStock(stock + "");
+ resourceStoreTimesV1InnerServiceSMOImpl.updateResourceStoreTimes(resourceStoreTimesPo);
}
}
--
Gitblit v1.8.0