Forráskód Böngészése

Merge remote-tracking branch 'origin/master'

YPZ 1 hónapja
szülő
commit
4f9c46da17
14 módosított fájl, 122 hozzáadás és 34 törlés
  1. 1 1
      java/storlead-api/src/main/resources/application-dev.yml
  2. 31 0
      java/storlead-mail/storlead-mail-api/src/main/java/com/storlead/mail/controller/common/MailCommonApiController.java
  3. 1 0
      java/storlead-mail/storlead-mail-api/src/main/java/com/storlead/mail/controller/mkt/MktEmailAccountApiController.java
  4. 7 0
      java/storlead-mail/storlead-mail-api/src/main/java/com/storlead/mail/controller/mkt/MktMailApiController.java
  5. 1 0
      java/storlead-mail/storlead-mail-api/src/main/java/com/storlead/mail/webclient/MailRemoteClientFacade.java
  6. 0 4
      java/storlead-mail/storlead-mail-api/src/main/java/com/storlead/mail/webclient/client/CrmMailRemoteClient.java
  7. 17 0
      java/storlead-mail/storlead-mail-api/src/main/java/com/storlead/mail/webclient/client/MailCommonRemoteClient.java
  8. 8 0
      java/storlead-mail/storlead-mail-api/src/main/java/com/storlead/mail/webclient/client/MktMailRemoteClient.java
  9. 9 2
      java/storlead-mail/storlead-mail-api/src/main/java/com/storlead/mail/webclient/config/MailWebClientAutoConfiguration.java
  10. 27 24
      java/storlead-mail/storlead-mail-api/src/main/java/com/storlead/mail/webclient/constant/MailRemoteApiConstants.java
  11. 17 0
      java/storlead-mail/storlead-mail-api/src/main/java/com/storlead/mail/webclient/dto/MktEditMailContentRemoteDTO.java
  12. 1 1
      ui/smarttrade-platform/src/api/emails/index.js
  13. 1 1
      ui/sp-storlead-center/src/api/emails/index.ts
  14. 1 1
      ui/sp-user-center/src/api/emails/index.ts

+ 1 - 1
java/storlead-api/src/main/resources/application-dev.yml

@@ -208,7 +208,7 @@ storlead:
     remote:
       enabled: true
       scheme: http
-      host: 192.168.1.181
+      host: 192.168.1.162
       port: 10080
       context-path: /router/email
       # 也可直接写完整地址(优先于上面分项):

+ 31 - 0
java/storlead-mail/storlead-mail-api/src/main/java/com/storlead/mail/controller/common/MailCommonApiController.java

@@ -0,0 +1,31 @@
+package com.storlead.mail.controller.common;
+
+import com.storlead.framework.common.result.Result;
+import com.storlead.mail.webclient.client.CrmEmailFolderRuleRemoteClient;
+import com.storlead.mail.webclient.client.MailCommonRemoteClient;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.log4j.Log4j2;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+
+@RestController
+@Log4j2
+@RequestMapping("/mail/common")
+@Api(tags = "邮件: 公共接口")
+public class MailCommonApiController {
+
+    @Resource
+    private MailCommonRemoteClient mailCommonRemoteClient;
+
+    @PostMapping("/mail_port_config")
+    @ApiOperation(value = "获取邮箱端口配置", notes = "获取邮箱端口配置")
+    public Result<?> getFolderRule(String mailAccount) {
+        return mailCommonRemoteClient.mailPortConfig(mailAccount);
+    }
+
+
+}

+ 1 - 0
java/storlead-mail/storlead-mail-api/src/main/java/com/storlead/mail/controller/mkt/MktEmailAccountApiController.java

@@ -83,6 +83,7 @@ public class MktEmailAccountApiController {
     @PostMapping("/personal_mail_account")
     @ApiOperation("营销邮箱账户(含未读数)")
     public Result<?> personalMailAccount() {
+
         return mktAccountRemoteClient.personalMailAccount();
     }
 

+ 7 - 0
java/storlead-mail/storlead-mail-api/src/main/java/com/storlead/mail/controller/mkt/MktMailApiController.java

@@ -2,6 +2,7 @@ package com.storlead.mail.controller.mkt;
 
 import com.storlead.framework.common.result.Result;
 import com.storlead.mail.webclient.client.MktMailRemoteClient;
+import com.storlead.mail.webclient.dto.MktEditMailContentRemoteDTO;
 import com.storlead.mail.webclient.dto.MktMailQueryRemoteDTO;
 import com.storlead.mail.webclient.dto.MktSendMailRemoteDTO;
 import com.storlead.mail.webclient.support.MailRemoteResponseWriter;
@@ -78,6 +79,12 @@ public class MktMailApiController {
         return mktMailRemoteClient.send(dto);
     }
 
+    @PostMapping("/edit_content")
+    @ApiOperation("编辑营销邮件内容(仅更新正文,不发送、不改收件人/附件)")
+    public Result<?> editContent(@RequestBody MktEditMailContentRemoteDTO dto) {
+        return mktMailRemoteClient.editContent(dto);
+    }
+
     @PostMapping("/page_list")
     @ApiOperation("营销邮件投递分页")
     public Result<?> pageList(@RequestBody MktMailQueryRemoteDTO query) {

+ 1 - 0
java/storlead-mail/storlead-mail-api/src/main/java/com/storlead/mail/webclient/MailRemoteClientFacade.java

@@ -23,4 +23,5 @@ public class MailRemoteClientFacade {
     private final CrmMailboxAutoReplyRemoteClient crmMailboxAutoReply;
     private final CrmMailSignatureRemoteClient crmMailSignature;
     private final CrmThumbnailRemoteClient crmThumbnail;
+    private final MailCommonRemoteClient commonRemote;
 }

+ 0 - 4
java/storlead-mail/storlead-mail-api/src/main/java/com/storlead/mail/webclient/client/CrmMailRemoteClient.java

@@ -109,8 +109,4 @@ public class CrmMailRemoteClient {
     public byte[] download(Long attachmentId) {
         return http.postForBytes(MailRemoteApiConstants.CRM_DOWNLOAD, http.formOf("attachmentId", attachmentId));
     }
-
-    public Result<?> mailPortConfig(String mailAccount) {
-        return http.postForm(MailRemoteApiConstants.CRM_MAIL_PORT_CONFIG, http.formOf("mailAccount", mailAccount));
-    }
 }

+ 17 - 0
java/storlead-mail/storlead-mail-api/src/main/java/com/storlead/mail/webclient/client/MailCommonRemoteClient.java

@@ -0,0 +1,17 @@
+package com.storlead.mail.webclient.client;
+
+import com.storlead.framework.common.result.Result;
+import com.storlead.mail.pojo.dto.EmailTemplatesDTO;
+import com.storlead.mail.webclient.constant.MailRemoteApiConstants;
+import com.storlead.mail.webclient.support.MailRemoteHttpSupport;
+import lombok.RequiredArgsConstructor;
+
+
+@RequiredArgsConstructor
+public class MailCommonRemoteClient {
+    private final MailRemoteHttpSupport http;
+
+    public Result<?> mailPortConfig(String mailAccount) {
+        return http.postForm(MailRemoteApiConstants.COMMON_MAIL_PORT_CONFIG, http.formOf("mailAccount", mailAccount));
+    }
+}

+ 8 - 0
java/storlead-mail/storlead-mail-api/src/main/java/com/storlead/mail/webclient/client/MktMailRemoteClient.java

@@ -2,6 +2,7 @@ package com.storlead.mail.webclient.client;
 
 import com.storlead.framework.common.result.Result;
 import com.storlead.mail.webclient.constant.MailRemoteApiConstants;
+import com.storlead.mail.webclient.dto.MktEditMailContentRemoteDTO;
 import com.storlead.mail.webclient.dto.MktMailQueryRemoteDTO;
 import com.storlead.mail.webclient.dto.MktMailStatusChangeRemoteDTO;
 import com.storlead.mail.webclient.dto.MktMailStatusSyncQueryRemoteDTO;
@@ -54,6 +55,13 @@ public class MktMailRemoteClient {
         return http.postJson(MailRemoteApiConstants.MKT_SEND, dto);
     }
 
+    /**
+     * 编辑营销邮件内容(仅更新正文,不发送、不改收件人/附件)。
+     */
+    public Result<?> editContent(MktEditMailContentRemoteDTO dto) {
+        return http.postJson(MailRemoteApiConstants.MKT_EDIT_CONTENT, dto);
+    }
+
     public Result<?> pageList(MktMailQueryRemoteDTO query) {
         return http.postJson(MailRemoteApiConstants.MKT_PAGE_LIST, query);
     }

+ 9 - 2
java/storlead-mail/storlead-mail-api/src/main/java/com/storlead/mail/webclient/config/MailWebClientAutoConfiguration.java

@@ -126,6 +126,12 @@ public class MailWebClientAutoConfiguration {
         return new CrmThumbnailRemoteClient(http);
     }
 
+    @Bean
+    @ConditionalOnMissingBean
+    public MailCommonRemoteClient mailCommonRemoteClient(MailRemoteHttpSupport http) {
+        return new MailCommonRemoteClient(http);
+    }
+
     @Bean
     @ConditionalOnMissingBean
     public MailRemoteClientFacade mailRemoteClientFacade(MktMailRemoteClient mktMail,
@@ -139,10 +145,11 @@ public class MailWebClientAutoConfiguration {
                                                          CrmEmailFolderRuleRemoteClient crmEmailFolderRule,
                                                          CrmMailboxAutoReplyRemoteClient crmMailboxAutoReply,
                                                          CrmMailSignatureRemoteClient crmMailSignature,
-                                                         CrmThumbnailRemoteClient crmThumbnail) {
+                                                         CrmThumbnailRemoteClient crmThumbnail,
+                                                         MailCommonRemoteClient commonRemote) {
         return new MailRemoteClientFacade(
                 mktMail, mktAccount, crmMail, crmAccount, crmMailFile,
                 crmMailTemplates, crmMailBlacklist, crmUserEmailFolder,
-                crmEmailFolderRule, crmMailboxAutoReply, crmMailSignature, crmThumbnail);
+                crmEmailFolderRule, crmMailboxAutoReply, crmMailSignature, crmThumbnail,commonRemote);
     }
 }

+ 27 - 24
java/storlead-mail/storlead-mail-api/src/main/java/com/storlead/mail/webclient/constant/MailRemoteApiConstants.java

@@ -34,6 +34,9 @@ public final class MailRemoteApiConstants {
     /** 发送营销邮件(默认同步;async=true 异步),JSON:MktSendMailRemoteDTO */
     public static final String MKT_SEND = "/mkt/send";
 
+    /** 编辑营销邮件正文(仅更新内容,不发送、不改收件人/附件),JSON:MktEditMailContentRemoteDTO */
+    public static final String MKT_EDIT_CONTENT = "/mkt/edit_content";
+
     /** 营销邮件投递分页,JSON:MktMailQueryRemoteDTO */
     public static final String MKT_PAGE_LIST = "/mkt/page_list";
 
@@ -100,76 +103,76 @@ public final class MailRemoteApiConstants {
     // ========================= CRM 邮件主流程 /mail =========================
 
     /** 同步发送邮件,form:SendMailDTO */
-    public static final String CRM_SEND_MAIL = "/mail/send_mail";
+    public static final String CRM_SEND_MAIL = "/crm/send_mail";
 
     /** 异步发送邮件,form:SendMailDTO */
-    public static final String CRM_ASYN_SEND_MAIL = "/mail/asyn_send_mail";
+    public static final String CRM_ASYN_SEND_MAIL = "/crm/asyn_send_mail";
 
     /** 保存草稿,form:SendMailDTO */
-    public static final String CRM_SAVE_DRAFT = "/mail/save_draft";
+    public static final String CRM_SAVE_DRAFT = "/crm/save_draft";
 
     /** 收取邮件(当前用户默认账户) */
-    public static final String CRM_RECEIVE_MAIL = "/mail/receive_mail";
+    public static final String CRM_RECEIVE_MAIL = "/crm/receive_mail";
 
     /** 批量下载邮件为 eml zip,form:MailDTO,返回二进制 */
-    public static final String CRM_DOWNLOAD_MAIL_EML_ZIP = "/mail/download_mail_eml_zip";
+    public static final String CRM_DOWNLOAD_MAIL_EML_ZIP = "/crm/download_mail_eml_zip";
 
     /** 下载单封邮件 eml,form:MailDTO,返回二进制 */
-    public static final String CRM_DOWNLOAD_MAIL_EML = "/mail/download_mail_eml";
+    public static final String CRM_DOWNLOAD_MAIL_EML = "/crm/download_mail_eml";
 
     /** 移动邮件到指定箱,form:MailMoveDTO */
-    public static final String CRM_MV_MAIL_BOX = "/mail/mv_mail_box";
+    public static final String CRM_MV_MAIL_BOX = "/crm/mv_mail_box";
 
     /** 标记/移入垃圾箱,form:MailMoveDTO */
-    public static final String CRM_MARK_TRASH = "/mail/mark_trash";
+    public static final String CRM_MARK_TRASH = "/crm/mark_trash";
 
     /** 删除邮件(软删),参数:ids */
-    public static final String CRM_DELETE_IDS = "/mail/deleteIds";
+    public static final String CRM_DELETE_IDS = "/crm/deleteIds";
 
     /** 删除草稿,参数:ids */
-    public static final String CRM_DELETE_DRAFT_IDS = "/mail/deleteDraftIds";
+    public static final String CRM_DELETE_DRAFT_IDS = "/crm/deleteDraftIds";
 
     /** 获取邮件详情,参数:mailId(路径拼写与 B 服务保持一致 detial) */
-    public static final String CRM_GET_MAIL_DETAIL = "/mail/get_mail_detial";
+    public static final String CRM_GET_MAIL_DETAIL = "/crm/get_mail_detial";
 
     /** 邮件移入自定义文件夹,参数:mailIds、folderId */
-    public static final String CRM_MV_CUSTOM_FOLDER = "/mail/mv_custom_folder";
+    public static final String CRM_MV_CUSTOM_FOLDER = "/crm/mv_custom_folder";
 
     /** 从自定义文件夹移除邮件,参数:mailIds */
-    public static final String CRM_DEL_CUSTOM_FOLDER_MAIL = "/mail/del_custom_folder_mail";
+    public static final String CRM_DEL_CUSTOM_FOLDER_MAIL = "/crm/del_custom_folder_mail";
 
     /** 星标/取消星标,form:MailMoveDTO */
-    public static final String CRM_MARK_STAR = "/mail/mark_star";
+    public static final String CRM_MARK_STAR = "/crm/mark_star";
 
     /** 标记已读/未读,form:MailMoveDTO */
-    public static final String CRM_MARK_READ = "/mail/mark_read";
+    public static final String CRM_MARK_READ = "/crm/mark_read";
 
     /** 标记回复关联原信,form:MailMoveDTO */
-    public static final String CRM_MARK_REPLY_MSG_ID = "/mail/mark_reply_msg_id";
+    public static final String CRM_MARK_REPLY_MSG_ID = "/crm/mark_reply_msg_id";
 
     /** 全部标为已读 */
-    public static final String CRM_MARK_ALL_READ = "/mail/mark_all_read";
+    public static final String CRM_MARK_ALL_READ = "/crm/mark_all_read";
 
     /** 邮件附件列表,form:AttachmentDTO */
-    public static final String CRM_LIST_MAIL_ATTACHMENT = "/mail/list_mail_attachment";
+    public static final String CRM_LIST_MAIL_ATTACHMENT = "/crm/list_mail_attachment";
 
     /** 附件打包下载 zip,form:AttachmentDTO,返回二进制 */
-    public static final String CRM_DOWNLOAD_ZIP = "/mail/download_zip";
+    public static final String CRM_DOWNLOAD_ZIP = "/crm/download_zip";
 
     /** 获取正式附件下载地址,参数:attachmentId */
-    public static final String CRM_DOWNLOAD_URL = "/mail/download_url";
+    public static final String CRM_DOWNLOAD_URL = "/crm/download_url";
 
     /** 获取草稿附件下载地址,参数:attachmentId */
-    public static final String CRM_DRAFT_DOWNLOAD_URL = "/mail/draft_download_url";
+    public static final String CRM_DRAFT_DOWNLOAD_URL = "/crm/draft_download_url";
 
     /** 下载草稿附件文件流,参数:attachmentId */
-    public static final String CRM_DRAFT_DOWNLOAD = "/mail/draft_download";
+    public static final String CRM_DRAFT_DOWNLOAD = "/crm/draft_download";
 
     /** 下载正式附件文件流,参数:attachmentId */
-    public static final String CRM_DOWNLOAD = "/mail/download";
+    public static final String CRM_DOWNLOAD = "/crm/download";
 
     /** 根据邮箱账号查询端口/服务器配置,参数:mailAccount */
-    public static final String CRM_MAIL_PORT_CONFIG = "/mail/mail_port_config";
+    public static final String COMMON_MAIL_PORT_CONFIG = "/common/mail_port_config";
 
     // ========================= CRM 邮箱账户 /smtp/pop/setting =========================
 

+ 17 - 0
java/storlead-mail/storlead-mail-api/src/main/java/com/storlead/mail/webclient/dto/MktEditMailContentRemoteDTO.java

@@ -0,0 +1,17 @@
+package com.storlead.mail.webclient.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 编辑营销邮件正文(对齐 B 服务 MktEditMailContentDTO)。
+ */
+@Data
+public class MktEditMailContentRemoteDTO {
+
+    @ApiModelProperty(value = "邮件ID", required = true)
+    private Long mailId;
+
+    @ApiModelProperty(value = "正文HTML", required = true)
+    private String content;
+}

+ 1 - 1
ui/smarttrade-platform/src/api/emails/index.js

@@ -1,6 +1,6 @@
 import { get, post, put, remove, upload } from '@/utils/request'
 
-export const getMailsPort = (mailAccount) => post('/router/rest/mail/mail_port_config', { mailAccount })
+export const getMailsPort = (mailAccount) => post('/router/rest/mail/common/mail_port_config', { mailAccount })
 export const emailsTest = (data) => post('/router/rest/mkt/email/account/test_connect', data)
 export const addEmailsSetting = (data) => post('/router/rest/mkt/email/account/save', data)
 export const getUserEmails = () => post('/router/rest/mkt/email/account/personal_mail_account')

+ 1 - 1
ui/sp-storlead-center/src/api/emails/index.ts

@@ -134,7 +134,7 @@ export const emailsTest = (data: EmailsForm) => {
  */
 export const getMailsPort = (mailAccount: string) => {
     return request({
-        url: '/mail/mail_port_config',
+        url: '/mail/common/mail_port_config',
         method: 'post',
         data: { mailAccount }
     });

+ 1 - 1
ui/sp-user-center/src/api/emails/index.ts

@@ -134,7 +134,7 @@ export const emailsTest = (data: EmailsForm) => {
  */
 export const getMailsPort = (mailAccount: string) => {
     return request({
-        url: '/mail/mail_port_config',
+        url: '/mail/common/mail_port_config',
         method: 'post',
         data: { mailAccount }
     });