From 6626a1a17bf1c0e3f51274ee632b39ff32aa2144 Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期四, 16 六月 2022 00:38:49 +0800
Subject: [PATCH] 优化代码

---
 service-store/src/main/java/com/java110/store/cmd/property/UpdatePropertyCmd.java |   61 +++++++++++++++++++++++++++++-
 1 files changed, 58 insertions(+), 3 deletions(-)

diff --git a/service-store/src/main/java/com/java110/store/cmd/property/UpdatePropertyCmd.java b/service-store/src/main/java/com/java110/store/cmd/property/UpdatePropertyCmd.java
index d1d9f1a..115bfa4 100644
--- a/service-store/src/main/java/com/java110/store/cmd/property/UpdatePropertyCmd.java
+++ b/service-store/src/main/java/com/java110/store/cmd/property/UpdatePropertyCmd.java
@@ -19,9 +19,13 @@
 import com.java110.core.annotation.Java110Cmd;
 import com.java110.core.annotation.Java110Transactional;
 import com.java110.core.context.ICmdDataFlowContext;
-import com.java110.core.event.cmd.AbstractServiceCmdListener;
+import com.java110.core.event.cmd.Cmd;
 import com.java110.core.event.cmd.CmdEvent;
+import com.java110.core.factory.GenerateCodeFactory;
+import com.java110.dto.store.StoreAttrDto;
+import com.java110.intf.store.IStoreAttrV1InnerServiceSMO;
 import com.java110.intf.store.IStoreV1InnerServiceSMO;
+import com.java110.po.store.StoreAttrPo;
 import com.java110.po.store.StorePo;
 import com.java110.utils.exception.CmdException;
 import com.java110.utils.util.Assert;
@@ -30,6 +34,8 @@
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
+
+import java.util.List;
 
 
 /**
@@ -43,7 +49,7 @@
  * // modify by 寮犱笁 at 2021-09-12 绗�10琛屽湪鏌愮鍦烘櫙涓嬪瓨鍦ㄦ煇绉峛ug 闇�瑕佷慨澶嶏紝娉ㄩ噴10鑷�20琛� 鍔犲叆 20琛岃嚦30琛�
  */
 @Java110Cmd(serviceCode = "property.updateProperty")
-public class UpdatePropertyCmd extends AbstractServiceCmdListener {
+public class UpdatePropertyCmd extends Cmd {
 
     private static Logger logger = LoggerFactory.getLogger(UpdatePropertyCmd.class);
 
@@ -51,10 +57,13 @@
     @Autowired
     private IStoreV1InnerServiceSMO storeV1InnerServiceSMOImpl;
 
+
+    @Autowired
+    private IStoreAttrV1InnerServiceSMO storeAttrV1InnerServiceSMOImpl;
+
     @Override
     public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
         Assert.hasKeyAndValue(reqJson, "storeId", "storeId涓嶈兘涓虹┖");
-        Assert.hasKeyAndValue(reqJson, "storeTypeCd", "storeTypeCd涓嶈兘涓虹┖");
 
     }
 
@@ -69,6 +78,52 @@
             throw new CmdException("鏇存柊鏁版嵁澶辫触");
         }
 
+        if (reqJson.containsKey("corporation")) {
+
+            StoreAttrDto storeAttrDto = new StoreAttrDto();
+            storeAttrDto.setStoreId(reqJson.getString("storeId"));
+            storeAttrDto.setSpecCd(StoreAttrDto.SPEC_CD_CORPORATION);
+            List<StoreAttrDto> storeAttrDtos = storeAttrV1InnerServiceSMOImpl.queryStoreAttrs(storeAttrDto);
+            if (storeAttrDtos == null || storeAttrDtos.size() < 1) {
+                StoreAttrPo storeAttrPo = new StoreAttrPo();
+                storeAttrPo.setAttrId(GenerateCodeFactory.getAttrId());
+                storeAttrPo.setSpecCd(StoreAttrDto.SPEC_CD_CORPORATION);
+                storeAttrPo.setValue(reqJson.getString("corporation"));
+                flag = storeAttrV1InnerServiceSMOImpl.saveStoreAttr(storeAttrPo);
+            } else {
+                StoreAttrPo storeAttrPo = new StoreAttrPo();
+                storeAttrPo.setAttrId(storeAttrDtos.get(0).getAttrId());
+                storeAttrPo.setSpecCd(StoreAttrDto.SPEC_CD_CORPORATION);
+                storeAttrPo.setValue(reqJson.getString("corporation"));
+                flag = storeAttrV1InnerServiceSMOImpl.updateStoreAttr(storeAttrPo);
+            }
+
+            if (flag < 1) {
+                throw new CmdException("淇濆瓨鏁版嵁澶辫触");
+            }
+        }
+        if (reqJson.containsKey("foundingTime")) {
+            StoreAttrDto storeAttrDto = new StoreAttrDto();
+            storeAttrDto.setStoreId(reqJson.getString("storeId"));
+            storeAttrDto.setSpecCd(StoreAttrDto.SPEC_CD_FOUNDINGTIME);
+            List<StoreAttrDto> storeAttrDtos = storeAttrV1InnerServiceSMOImpl.queryStoreAttrs(storeAttrDto);
+            if (storeAttrDtos == null || storeAttrDtos.size() < 1) {
+                StoreAttrPo storeAttrPo = new StoreAttrPo();
+                storeAttrPo.setAttrId(GenerateCodeFactory.getAttrId());
+                storeAttrPo.setSpecCd(StoreAttrDto.SPEC_CD_FOUNDINGTIME);
+                storeAttrPo.setValue(reqJson.getString("foundingTime"));
+                flag = storeAttrV1InnerServiceSMOImpl.saveStoreAttr(storeAttrPo);
+            } else {
+                StoreAttrPo storeAttrPo = new StoreAttrPo();
+                storeAttrPo.setAttrId(storeAttrDtos.get(0).getAttrId());
+                storeAttrPo.setSpecCd(StoreAttrDto.SPEC_CD_FOUNDINGTIME);
+                storeAttrPo.setValue(reqJson.getString("foundingTime"));
+                flag = storeAttrV1InnerServiceSMOImpl.updateStoreAttr(storeAttrPo);
+            }
+            if (flag < 1) {
+                throw new CmdException("淇濆瓨鏁版嵁澶辫触");
+            }
+        }
         cmdDataFlowContext.setResponseEntity(ResultVo.success());
     }
 }

--
Gitblit v1.8.0