From f20966d00f6f1cfb381987150e879bd75e34d933 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期三, 19 十月 2022 18:38:12 +0800
Subject: [PATCH] 优化代码

---
 service-job/src/main/java/com/java110/job/cmd/export/ExportDataCmd.java |   67 ++++++++++++++++++++++++++++++++-
 1 files changed, 64 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 521b50b..22850f4 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,16 +5,39 @@
 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.userDownloadFile.UserDownloadFileDto;
+import com.java110.intf.job.IUserDownloadFileV1InnerServiceSMO;
+import com.java110.intf.user.IUserV1InnerServiceSMO;
+import com.java110.job.export.ExportDataQueue;
+import com.java110.po.userDownloadFile.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 = "hc/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", "璇锋眰涓湭鍖呭惈灏忓尯");
@@ -22,9 +45,47 @@
     }
 
     @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");
+
+        UserDto userDto = new UserDto();
+        userDto.setUserId(userId);
+        List<UserDto> userDtos = userV1InnerServiceSMOImpl.queryUsers(userDto);
+
+        Assert.listOnlyOne(userDtos, "鐢ㄦ埛涓嶅瓨鍦�");
+
+        ExportDataDto exportDataDto = new ExportDataDto();
+        exportDataDto.setBusinessAdapt(reqJson.getString("pagePath"));
+        exportDataDto.setReqJson(reqJson);
+        String fileName = DateUtil.getyyyyMMddhhmmssDateString()
+                + ".xlsx";
+        exportDataDto.setFileName(exportDataDto
+                + 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).getUserName());
+        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