From 18d1f4bc4f4f77c8883702a00896dd99469db648 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期五, 25 八月 2023 16:06:37 +0800
Subject: [PATCH] Merge branch 'master' of http://git.homecommunity.cn/supervip/MicroCommunity

---
 service-store/src/main/java/com/java110/store/cmd/resourceStore/UpdateResourceStoreCmd.java |  125 +++++++++++++++++++++++++++++++++++++++++
 1 files changed, 123 insertions(+), 2 deletions(-)

diff --git a/service-store/src/main/java/com/java110/store/cmd/resourceStore/UpdateResourceStoreCmd.java b/service-store/src/main/java/com/java110/store/cmd/resourceStore/UpdateResourceStoreCmd.java
index 74b4bd7..0e5fcf9 100644
--- a/service-store/src/main/java/com/java110/store/cmd/resourceStore/UpdateResourceStoreCmd.java
+++ b/service-store/src/main/java/com/java110/store/cmd/resourceStore/UpdateResourceStoreCmd.java
@@ -1,4 +1,125 @@
 package com.java110.store.cmd.resourceStore;
 
-public class UpdateResourceStoreCmd {
-}
+import com.alibaba.fastjson.JSONObject;
+import com.java110.core.annotation.Java110Cmd;
+import com.java110.core.context.ICmdDataFlowContext;
+import com.java110.core.event.cmd.Cmd;
+import com.java110.core.event.cmd.CmdEvent;
+import com.java110.core.factory.GenerateCodeFactory;
+import com.java110.dto.file.FileRelDto;
+import com.java110.dto.resource.ResourceStoreDto;
+import com.java110.intf.common.IFileRelInnerServiceSMO;
+import com.java110.intf.store.IResourceStoreInnerServiceSMO;
+import com.java110.intf.store.IResourceStoreV1InnerServiceSMO;
+import com.java110.po.file.FileRelPo;
+import com.java110.po.purchase.ResourceStorePo;
+import com.java110.utils.exception.CmdException;
+import com.java110.utils.util.Assert;
+import com.java110.utils.util.BeanConvertUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import java.util.Date;
+import java.util.List;
+
+@Java110Cmd(serviceCode = "resourceStore.updateResourceStore")
+public class UpdateResourceStoreCmd extends Cmd {
+
+    @Autowired
+    private IResourceStoreInnerServiceSMO resourceStoreInnerServiceSMOImpl;
+
+    @Autowired
+    private IResourceStoreV1InnerServiceSMO resourceStoreV1InnerServiceSMOImpl;
+
+    @Autowired
+    private IFileRelInnerServiceSMO fileRelInnerServiceSMOImpl;
+
+    @Override
+    public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException {
+        Assert.hasKeyAndValue(reqJson, "resId", "鐗╁搧ID涓嶈兘涓虹┖");
+        Assert.hasKeyAndValue(reqJson, "resName", "蹇呭~锛岃濉啓鐗╁搧鍚嶇О");
+        Assert.hasKeyAndValue(reqJson, "price", "蹇呭~锛岃濉啓鐗╁搧浠锋牸");
+        Assert.hasKeyAndValue(reqJson, "storeId", "鍟嗘埛淇℃伅涓嶈兘涓虹┖");
+
+        //鑾峰彇鏈�浣庢敹璐规爣鍑�
+        double outLowPrice = Double.parseDouble(reqJson.getString("outLowPrice"));
+        //鑾峰彇鏈�楂樻敹璐规爣鍑�
+        double outHighPrice = Double.parseDouble(reqJson.getString("outHighPrice"));
+        if (outLowPrice > outHighPrice) {
+            throw new IllegalArgumentException("鏈�浣庢敹璐规爣鍑嗕笉鑳藉ぇ浜庢渶楂樻敹璐规爣鍑嗭紒");
+        }
+
+    }
+
+    @Override
+    public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException {
+        ResourceStoreDto resourceStoreDto = new ResourceStoreDto();
+        resourceStoreDto.setResId(reqJson.getString("resId"));
+        resourceStoreDto.setStoreId(reqJson.getString("storeId"));
+        List<ResourceStoreDto> resourceStoreDtos = resourceStoreInnerServiceSMOImpl.queryResourceStores(resourceStoreDto);
+        Assert.isOne(resourceStoreDtos, "鏌ヨ鍒板鏉$墿鍝� 鎴栨湭鏌ュ埌鐗╁搧锛宺esId=" + resourceStoreDto.getResId());
+        JSONObject businessResourceStore = new JSONObject();
+        businessResourceStore.putAll(reqJson);
+        businessResourceStore.put("stock", resourceStoreDtos.get(0).getStock());
+        ResourceStorePo resourceStorePo = BeanConvertUtil.covertBean(businessResourceStore, ResourceStorePo.class);
+
+        int flag = resourceStoreV1InnerServiceSMOImpl.updateResourceStore(resourceStorePo);
+
+        if (flag < 1) {
+            throw new CmdException("淇濆瓨鏁版嵁澶辫触");
+        }
+        //鑾峰彇鍥剧墖淇℃伅
+        List<String> photos = resourceStorePo.getFileUrls();
+        //鍥剧墖鏇存柊
+        FileRelDto fileRelDto = new FileRelDto();
+        fileRelDto.setObjId(reqJson.getString("resId"));
+        //鏌ヨ鏂囦欢琛�
+        List<FileRelDto> fileRelDtos = fileRelInnerServiceSMOImpl.queryFileRels(fileRelDto);
+        //濡傛灉鏂囦欢琛ㄩ噷鏈夎繖涓祫婧愮殑璁板綍锛屽氨鍏堝垹鎺夊師鍏堢殑
+        if (fileRelDtos != null && fileRelDtos.size() > 0) {
+            //鍏堟妸鍒犻櫎鏂囦欢琛ㄥ浘鐗�
+            for (FileRelDto fileRel : fileRelDtos) {
+                FileRelPo fileRelPo = new FileRelPo();
+                fileRelPo.setFileRelId(fileRel.getFileRelId());
+                flag = fileRelInnerServiceSMOImpl.deleteFileRel(fileRelPo);
+                if (flag < 1) {
+                    throw new CmdException("淇濆瓨鏁版嵁澶辫触");
+                }
+            }
+            FileRelPo fileRel = new FileRelPo();
+            fileRel.setObjId(resourceStorePo.getResId());
+            //table琛ㄧず琛ㄥ瓨鍌� ftp琛ㄧずftp鏂囦欢瀛樺偍
+            fileRel.setSaveWay("ftp");
+            fileRel.setCreateTime(new Date());
+            if (photos != null && photos.size() > 0) {
+                //22000琛ㄧず鐗╁搧鍥剧墖
+                fileRel.setRelTypeCd("22000");
+                for (String photo : photos) {
+                    fileRel.setFileRelId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_relId));
+                    fileRel.setFileRealName(photo);
+                    fileRel.setFileSaveName(photo);
+                    flag = fileRelInnerServiceSMOImpl.saveFileRel(fileRel);
+                    if (flag < 1) {
+                        throw new CmdException("淇濆瓨鏁版嵁澶辫触");
+                    }
+                }
+            }
+        } else if (photos != null && photos.size() > 0) {  //濡傛灉鏂囦欢琛ㄩ噷娌℃湁杩欎釜璧勬簮鐨勮褰曪紝灏卞垽鏂槸鍚︽湁鍥剧墖浼犺繃鏉ワ紝鏈夊氨鎻掑叆鍒版枃浠惰〃閲�
+            FileRelPo fileRel = new FileRelPo();
+            fileRel.setObjId(resourceStorePo.getResId());
+            //table琛ㄧず琛ㄥ瓨鍌� ftp琛ㄧずftp鏂囦欢瀛樺偍
+            fileRel.setSaveWay("ftp");
+            fileRel.setCreateTime(new Date());
+            //22000琛ㄧず鐗╁搧鍥剧墖
+            fileRel.setRelTypeCd("22000");
+            for (String photo : photos) {
+                fileRel.setFileRelId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_relId));
+                fileRel.setFileRealName(photo);
+                fileRel.setFileSaveName(photo);
+                flag = fileRelInnerServiceSMOImpl.saveFileRel(fileRel);
+                if (flag < 1) {
+                    throw new CmdException("淇濆瓨鏁版嵁澶辫触");
+                }
+            }
+        }
+    }
+}
\ No newline at end of file

--
Gitblit v1.8.0