24282 %!s(int64=2) %!d(string=hai) anos
pai
achega
58f48bcc5f

+ 3 - 0
hx-mail/src/main/java/com/fjhx/mail/controller/enterprise/EnterpriseDomainController.java

@@ -1,6 +1,8 @@
 package com.fjhx.mail.controller.enterprise;
 package com.fjhx.mail.controller.enterprise;
 
 
+import com.baomidou.dynamic.datasource.annotation.DS;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.common.constant.SourceConstant;
 import com.fjhx.mail.entity.enterprise.dto.EnterpriseDomainDto;
 import com.fjhx.mail.entity.enterprise.dto.EnterpriseDomainDto;
 import com.fjhx.mail.entity.enterprise.dto.EnterpriseDomainSelectDto;
 import com.fjhx.mail.entity.enterprise.dto.EnterpriseDomainSelectDto;
 import com.fjhx.mail.entity.enterprise.vo.EnterpriseDomainVo;
 import com.fjhx.mail.entity.enterprise.vo.EnterpriseDomainVo;
@@ -22,6 +24,7 @@ import org.springframework.web.bind.annotation.RestController;
  * @author
  * @author
  * @since 2023-04-06
  * @since 2023-04-06
  */
  */
+@DS(SourceConstant.MAIL)
 @RestController
 @RestController
 @RequestMapping("/enterpriseDomain")
 @RequestMapping("/enterpriseDomain")
 public class EnterpriseDomainController {
 public class EnterpriseDomainController {

+ 5 - 1
hx-mail/src/main/java/com/fjhx/mail/controller/enterprise/EnterpriseMailboxController.java

@@ -1,5 +1,8 @@
 package com.fjhx.mail.controller.enterprise;
 package com.fjhx.mail.controller.enterprise;
 
 
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.fjhx.common.constant.SourceConstant;
+import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.bind.annotation.*;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fjhx.mail.entity.enterprise.vo.EnterpriseMailboxVo;
 import com.fjhx.mail.entity.enterprise.vo.EnterpriseMailboxVo;
@@ -18,6 +21,7 @@ import org.springframework.beans.factory.annotation.Autowired;
  * @author 
  * @author 
  * @since 2023-04-06
  * @since 2023-04-06
  */
  */
+@DS(SourceConstant.MAIL)
 @RestController
 @RestController
 @RequestMapping("/enterpriseMailbox")
 @RequestMapping("/enterpriseMailbox")
 public class EnterpriseMailboxController {
 public class EnterpriseMailboxController {
@@ -45,7 +49,7 @@ public class EnterpriseMailboxController {
      * 企业邮箱新增
      * 企业邮箱新增
      */
      */
     @PostMapping("/add")
     @PostMapping("/add")
-    public void add(@RequestBody EnterpriseMailboxDto enterpriseMailboxDto) {
+    public void add(@Validated @RequestBody EnterpriseMailboxDto enterpriseMailboxDto) {
         enterpriseMailboxService.add(enterpriseMailboxDto);
         enterpriseMailboxService.add(enterpriseMailboxDto);
     }
     }
 
 

+ 8 - 2
hx-mail/src/main/java/com/fjhx/mail/entity/enterprise/po/EnterpriseMailbox.java

@@ -1,11 +1,13 @@
 package com.fjhx.mail.entity.enterprise.po;
 package com.fjhx.mail.entity.enterprise.po;
 
 
-import com.ruoyi.common.core.domain.BasePo;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.annotation.TableName;
-import java.util.Date;
+import com.ruoyi.common.core.domain.BasePo;
 import lombok.Getter;
 import lombok.Getter;
 import lombok.Setter;
 import lombok.Setter;
 
 
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
 /**
 /**
  * <p>
  * <p>
  * 企业邮箱
  * 企业邮箱
@@ -22,16 +24,19 @@ public class EnterpriseMailbox extends BasePo {
     /**
     /**
      * 企业邮箱域名id
      * 企业邮箱域名id
      */
      */
+    @NotNull(message = "企业邮箱域名id不能为空")
     private Long domainId;
     private Long domainId;
 
 
     /**
     /**
      * mail账号前缀
      * mail账号前缀
      */
      */
+    @NotBlank(message = "邮箱地址不能为空")
     private String mailUserPrefix;
     private String mailUserPrefix;
 
 
     /**
     /**
      * mail授权码
      * mail授权码
      */
      */
+    @NotBlank(message = "授权码不能为空")
     private String mailPassword;
     private String mailPassword;
 
 
     /**
     /**
@@ -47,6 +52,7 @@ public class EnterpriseMailbox extends BasePo {
     /**
     /**
      * 用户id
      * 用户id
      */
      */
+    @NotNull(message = "绑定用户id不能为空")
     private Long userId;
     private Long userId;
 
 
 }
 }

+ 57 - 1
hx-mail/src/main/java/com/fjhx/mail/entity/enterprise/vo/EnterpriseMailboxVo.java

@@ -4,14 +4,70 @@ import com.fjhx.mail.entity.enterprise.po.EnterpriseMailbox;
 import lombok.Getter;
 import lombok.Getter;
 import lombok.Setter;
 import lombok.Setter;
 
 
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
 /**
 /**
  * 企业邮箱列表查询返回值实体
  * 企业邮箱列表查询返回值实体
  *
  *
- * @author 
+ * @author
  * @since 2023-04-06
  * @since 2023-04-06
  */
  */
 @Getter
 @Getter
 @Setter
 @Setter
 public class EnterpriseMailboxVo extends EnterpriseMailbox {
 public class EnterpriseMailboxVo extends EnterpriseMailbox {
 
 
+    /**
+     * 域名
+     */
+    @NotBlank(message = "邮箱域名不能为空")
+    private String domainName;
+
+    /**
+     * 类型:1国内 2国外
+     */
+    @NotNull(message = "是否海外邮箱不能为空")
+    private Integer type;
+
+    /**
+     * 收件host
+     */
+    @NotBlank(message = "收件服务器地址不能为空")
+    private String receiveHost;
+
+    /**
+     * 收件端口
+     */
+    @NotNull(message = "收件端口不能为空")
+    private Integer receivePort;
+
+    /**
+     * 收件协议
+     */
+    @NotBlank(message = "收件协议不能为空")
+    private String receiveProtocol;
+
+    /**
+     * 发件host
+     */
+    @NotBlank(message = "发件服务器地址不能为空")
+    private String sendHost;
+
+    /**
+     * 发件端口
+     */
+    @NotNull(message = "发件端口不能为空")
+    private Integer sendPort;
+
+    /**
+     * 发件协议
+     */
+    @NotBlank(message = "发件协议不能为空")
+    private String sendProtocol;
+
+    /**
+     * 用户名称
+     */
+    private String userName;
+
 }
 }

+ 21 - 7
hx-mail/src/main/java/com/fjhx/mail/service/enterprise/impl/EnterpriseMailboxServiceImpl.java

@@ -1,16 +1,20 @@
 package com.fjhx.mail.service.enterprise.impl;
 package com.fjhx.mail.service.enterprise.impl;
 
 
+import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fjhx.mail.entity.enterprise.dto.EnterpriseMailboxDto;
+import com.fjhx.mail.entity.enterprise.dto.EnterpriseMailboxSelectDto;
 import com.fjhx.mail.entity.enterprise.po.EnterpriseMailbox;
 import com.fjhx.mail.entity.enterprise.po.EnterpriseMailbox;
+import com.fjhx.mail.entity.enterprise.vo.EnterpriseMailboxVo;
 import com.fjhx.mail.mapper.enterprise.EnterpriseMailboxMapper;
 import com.fjhx.mail.mapper.enterprise.EnterpriseMailboxMapper;
 import com.fjhx.mail.service.enterprise.EnterpriseMailboxService;
 import com.fjhx.mail.service.enterprise.EnterpriseMailboxService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.stereotype.Service;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.fjhx.mail.entity.enterprise.vo.EnterpriseMailboxVo;
-import com.fjhx.mail.entity.enterprise.dto.EnterpriseMailboxSelectDto;
 import com.ruoyi.common.utils.wrapper.IWrapper;
 import com.ruoyi.common.utils.wrapper.IWrapper;
-import com.fjhx.mail.entity.enterprise.dto.EnterpriseMailboxDto;
-import cn.hutool.core.bean.BeanUtil;
+import com.ruoyi.common.utils.wrapper.SqlField;
+import com.ruoyi.system.utils.UserUtil;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
 
 
 
 
 /**
 /**
@@ -27,8 +31,18 @@ public class EnterpriseMailboxServiceImpl extends ServiceImpl<EnterpriseMailboxM
     @Override
     @Override
     public Page<EnterpriseMailboxVo> getPage(EnterpriseMailboxSelectDto dto) {
     public Page<EnterpriseMailboxVo> getPage(EnterpriseMailboxSelectDto dto) {
         IWrapper<EnterpriseMailbox> wrapper = getWrapper();
         IWrapper<EnterpriseMailbox> wrapper = getWrapper();
+        wrapper.keyword(dto, new SqlField("em.mail_user_prefix + '@' + ed.domain_name"));
         wrapper.orderByDesc("em", EnterpriseMailbox::getId);
         wrapper.orderByDesc("em", EnterpriseMailbox::getId);
         Page<EnterpriseMailboxVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
         Page<EnterpriseMailboxVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
+        List<EnterpriseMailboxVo> records = page.getRecords();
+
+        if (records.size() == 0) {
+            return page;
+        }
+
+        // 赋值用户名称
+        UserUtil.assignmentNickName(records, EnterpriseMailbox::getUserId, EnterpriseMailboxVo::setUserName);
+
         return page;
         return page;
     }
     }
 
 

+ 20 - 12
hx-mail/src/main/resources/mapper/enterprise/EnterpriseMailboxMapper.xml

@@ -2,19 +2,27 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.fjhx.mail.mapper.enterprise.EnterpriseMailboxMapper">
 <mapper namespace="com.fjhx.mail.mapper.enterprise.EnterpriseMailboxMapper">
     <select id="getPage" resultType="com.fjhx.mail.entity.enterprise.vo.EnterpriseMailboxVo">
     <select id="getPage" resultType="com.fjhx.mail.entity.enterprise.vo.EnterpriseMailboxVo">
-        select
-            em.id,
-            em.domain_id,
-            em.mail_user_prefix,
-            em.mail_password,
-            em.sync_status,
-            em.default_status,
-            em.user_id,
-            em.create_user,
-            em.create_time,
-            em.update_user,
-            em.update_time
+        select em.id,
+               em.domain_id,
+               em.mail_user_prefix,
+               em.mail_password,
+               em.sync_status,
+               em.default_status,
+               em.user_id,
+               em.create_user,
+               em.create_time,
+               em.update_user,
+               em.update_time,
+               ed.type,
+               ed.domain_name,
+               ed.send_host,
+               ed.send_port,
+               ed.send_protocol,
+               ed.receive_host,
+               ed.receive_port,
+               ed.receive_protocol
         from enterprise_mailbox em
         from enterprise_mailbox em
+                 left join enterprise_domain ed on em.domain_id = ed.id
             ${ew.customSqlSegment}
             ${ew.customSqlSegment}
     </select>
     </select>