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