From 7fca0ff445f4c19d547daf71b47201505cb2b9c0 Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期三, 01 十一月 2023 14:36:22 +0800
Subject: [PATCH] 优化代码

---
 service-job/src/main/java/com/java110/job/cmd/export/ExportDataCmd.java |   77 +++++++++++++++++++++++++++++++++++++-
 1 files changed, 74 insertions(+), 3 deletions(-)

diff --git a/service-job/src/main/java/com/java110/job/cmd/export/ExportDataCmd.java b/service-job/src/main/java/com/java110/job/cmd/export/ExportDataCmd.java
index 8bcaa37..1409e42 100644
--- a/service-job/src/main/java/com/java110/job/cmd/export/ExportDataCmd.java
+++ b/service-job/src/main/java/com/java110/job/cmd/export/ExportDataCmd.java
@@ -5,22 +5,93 @@
 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.data.ExportDataDto;
+import com.java110.dto.user.UserDto;
+import com.java110.dto.user.UserDownloadFileDto;
+import com.java110.intf.job.IUserDownloadFileV1InnerServiceSMO;
+import com.java110.intf.user.IUserV1InnerServiceSMO;
+import com.java110.job.export.ExportDataQueue;
+import com.java110.po.user.UserDownloadFilePo;
 import com.java110.utils.exception.CmdException;
+import com.java110.utils.util.Assert;
+import com.java110.utils.util.DateUtil;
+import com.java110.vo.ResultVo;
+import org.springframework.beans.factory.annotation.Autowired;
 
-import java.text.ParseException;
+import java.util.List;
 
 /**
  * 鏁版嵁瀵煎嚭澶勭悊绫�
  */
 @Java110Cmd(serviceCode = "export.exportData")
 public class ExportDataCmd extends Cmd {
+
+    private static final String EXPORT_DATA_PRE = "temp/export/data/";
+
+    public static final String CODE_PREFIX_ID = "10";
+
+    @Autowired
+    private IUserDownloadFileV1InnerServiceSMO userDownloadFileV1InnerServiceSMOImpl;
+
+
+    @Autowired
+    private IUserV1InnerServiceSMO userV1InnerServiceSMOImpl;
+
     @Override
     public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException {
-
+        Assert.hasKeyAndValue(reqJson, "communityId", "璇锋眰涓湭鍖呭惈灏忓尯");
+        Assert.hasKeyAndValue(reqJson, "pagePath", "璇锋眰涓湭鍖呭惈椤甸潰");
     }
 
     @Override
-    public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException {
+    public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException {
 
+        String userId = context.getReqHeaders().get("user-id");
+        String storeId = context.getReqHeaders().get("store-id");
+
+        UserDto userDto = new UserDto();
+        userDto.setUserId(userId);
+        List<UserDto> userDtos = userV1InnerServiceSMOImpl.queryUsers(userDto);
+
+        Assert.listOnlyOne(userDtos, "鐢ㄦ埛涓嶅瓨鍦�");
+
+        //杩欓噷鏀惧叆 鍛樺伐ID 鍜�  鍟嗘埛ID
+
+        reqJson.put("userId",userId);
+        reqJson.put("storeId",storeId);
+
+        ExportDataDto exportDataDto = new ExportDataDto();
+        exportDataDto.setBusinessAdapt(reqJson.getString("pagePath"));
+        exportDataDto.setReqJson(reqJson);
+        String fileName = GenerateCodeFactory.getUUID()
+                + ".xlsx";
+        exportDataDto.setFileName(EXPORT_DATA_PRE
+                + reqJson.getString("pagePath")
+                + "/"
+                + DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_B)
+                + "/"
+                + fileName);
+
+        UserDownloadFilePo userDownloadFilePo = new UserDownloadFilePo();
+        userDownloadFilePo.setDownloadId(GenerateCodeFactory.getGeneratorId(CODE_PREFIX_ID));
+        userDownloadFilePo.setDownloadUserId(userId);
+        userDownloadFilePo.setDownloadUserName(userDtos.get(0).getName());
+        userDownloadFilePo.setFileType(reqJson.getString("pagePath"));
+        userDownloadFilePo.setCommunityId(reqJson.getString("communityId"));
+        userDownloadFilePo.setName(fileName);
+        userDownloadFilePo.setState(UserDownloadFileDto.STATE_WAIT);
+        int flag = userDownloadFileV1InnerServiceSMOImpl.saveUserDownloadFile(userDownloadFilePo);
+
+        if (flag < 1) {
+            throw new CmdException("涓嬭浇鏂囦欢澶辫触");
+        }
+
+        exportDataDto.setDownloadId(userDownloadFilePo.getDownloadId());
+
+        ExportDataQueue.addMsg(exportDataDto);
+
+
+        context.setResponseEntity(ResultVo.createResponseEntity(ResultVo.CODE_OK,"鏂囦欢姝e湪鐢熸垚锛岃鍒版枃浠朵笅杞介〉闈笅杞�"));
     }
 }

--
Gitblit v1.8.0