24282 2 years ago
parent
commit
0203a741be

+ 17 - 0
code/src/test/java/MailDataSource.java

@@ -0,0 +1,17 @@
+import fly.generator.GeneratorApplication;
+
+public class MailDataSource {
+
+    public static void main(String[] args) {
+        GeneratorApplication.builder()
+                .url("jdbc:mysql://36.134.91.96:17330/bytesailing_mail?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true")
+                .username("fjhx2012mysql")
+                .password("3PN-Mzn#vnP&q6d")
+                .port(9989)
+                .module("hx-mail")
+                .parent("com.fjhx.mail")
+                .superServiceClass("com.ruoyi.common.core.service.BaseService")
+                .build();
+    }
+
+}

+ 1 - 1
code/src/test/java/mesDataSource.java → code/src/test/java/MesDataSource.java

@@ -1,6 +1,6 @@
 import fly.generator.GeneratorApplication;
 
-public class mesDataSource {
+public class MesDataSource {
 
     public static void main(String[] args) {
         GeneratorApplication.builder()

+ 1 - 1
code/src/test/java/oaDataSource.java → code/src/test/java/OaDataSource.java

@@ -1,6 +1,6 @@
 import fly.generator.GeneratorApplication;
 
-public class oaDataSource {
+public class OaDataSource {
 
     public static void main(String[] args) {
         GeneratorApplication.builder()

+ 1 - 1
code/src/test/java/wmsDataSource.java → code/src/test/java/WmsDataSource.java

@@ -1,6 +1,6 @@
 import fly.generator.GeneratorApplication;
 
-public class wmsDataSource {
+public class WmsDataSource {
 
     public static void main(String[] args) {
         GeneratorApplication.builder()

+ 13 - 0
hx-mail/pom.xml

@@ -12,5 +12,18 @@
 
     <artifactId>hx-mail</artifactId>
 
+    <dependencies>
+
+        <dependency>
+            <groupId>com.fjhx</groupId>
+            <artifactId>hx-base</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.fjhx</groupId>
+            <artifactId>hx-common</artifactId>
+        </dependency>
+
+    </dependencies>
 
 </project>

+ 68 - 0
hx-mail/src/main/java/com/fjhx/mail/controller/personal/PersonalMailboxController.java

@@ -0,0 +1,68 @@
+package com.fjhx.mail.controller.personal;
+
+import org.springframework.web.bind.annotation.*;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.mail.entity.personal.vo.PersonalMailboxVo;
+import com.fjhx.mail.entity.personal.dto.PersonalMailboxSelectDto;
+import com.fjhx.mail.entity.personal.dto.PersonalMailboxDto;
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import com.fjhx.mail.service.personal.PersonalMailboxService;
+import org.springframework.beans.factory.annotation.Autowired;
+
+
+/**
+ * <p>
+ * 个人邮箱 前端控制器
+ * </p>
+ *
+ * @author 
+ * @since 2023-04-06
+ */
+@RestController
+@RequestMapping("/personalMailbox")
+public class PersonalMailboxController {
+
+    @Autowired
+    private PersonalMailboxService personalMailboxService;
+
+    /**
+     * 个人邮箱分页
+     */
+    @PostMapping("/page")
+    public Page<PersonalMailboxVo> page(@RequestBody PersonalMailboxSelectDto dto) {
+        return personalMailboxService.getPage(dto);
+    }
+
+    /**
+     * 个人邮箱明细
+     */
+    @PostMapping("/detail")
+    public PersonalMailboxVo detail(@RequestBody BaseSelectDto dto) {
+        return personalMailboxService.detail(dto.getId());
+    }
+
+    /**
+     * 个人邮箱新增
+     */
+    @PostMapping("/add")
+    public void add(@RequestBody PersonalMailboxDto personalMailboxDto) {
+        personalMailboxService.add(personalMailboxDto);
+    }
+
+    /**
+     * 个人邮箱编辑
+     */
+    @PostMapping("/edit")
+    public void edit(@RequestBody PersonalMailboxDto personalMailboxDto) {
+        personalMailboxService.edit(personalMailboxDto);
+    }
+
+    /**
+     * 个人邮箱删除
+     */
+    @PostMapping("/delete")
+    public void delete(@RequestBody BaseSelectDto dto) {
+        personalMailboxService.delete(dto.getId());
+    }
+
+}

+ 17 - 0
hx-mail/src/main/java/com/fjhx/mail/entity/personal/dto/PersonalMailboxDto.java

@@ -0,0 +1,17 @@
+package com.fjhx.mail.entity.personal.dto;
+
+import com.fjhx.mail.entity.personal.po.PersonalMailbox;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 个人邮箱新增编辑入参实体
+ *
+ * @author 
+ * @since 2023-04-06
+ */
+@Getter
+@Setter
+public class PersonalMailboxDto extends PersonalMailbox {
+
+}

+ 17 - 0
hx-mail/src/main/java/com/fjhx/mail/entity/personal/dto/PersonalMailboxSelectDto.java

@@ -0,0 +1,17 @@
+package com.fjhx.mail.entity.personal.dto;
+
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 个人邮箱列表查询入参实体
+ *
+ * @author 
+ * @since 2023-04-06
+ */
+@Getter
+@Setter
+public class PersonalMailboxSelectDto extends BaseSelectDto {
+
+}

+ 87 - 0
hx-mail/src/main/java/com/fjhx/mail/entity/personal/po/PersonalMailbox.java

@@ -0,0 +1,87 @@
+package com.fjhx.mail.entity.personal.po;
+
+import com.ruoyi.common.core.domain.BasePo;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.util.Date;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 个人邮箱
+ * </p>
+ *
+ * @author 
+ * @since 2023-04-06
+ */
+@Getter
+@Setter
+@TableName("personal_mailbox")
+public class PersonalMailbox extends BasePo {
+
+    /**
+     * mail账号
+     */
+    private String mailUser;
+
+    /**
+     * mail授权码
+     */
+    private String mailPassword;
+
+    /**
+     * 类型:1国内 2国外
+     */
+    private Integer type;
+
+    /**
+     * 状态:1启用 0禁用
+     */
+    private Integer status;
+
+    /**
+     * 同步邮件状态: 1同步 0不同步
+     */
+    private Integer syncStatus;
+
+    /**
+     * 默认邮箱: 1默认 0非默认
+     */
+    private Integer defaultStatus;
+
+    /**
+     * 收件host
+     */
+    private String receiveHost;
+
+    /**
+     * 收件端口
+     */
+    private Integer receivePort;
+
+    /**
+     * 收件协议
+     */
+    private String receiveProtocol;
+
+    /**
+     * 发件host
+     */
+    private String sendHost;
+
+    /**
+     * 发件端口
+     */
+    private Integer sendPort;
+
+    /**
+     * 发件协议
+     */
+    private String sendProtocol;
+
+    /**
+     * 用户id
+     */
+    private Long userId;
+
+}

+ 17 - 0
hx-mail/src/main/java/com/fjhx/mail/entity/personal/vo/PersonalMailboxVo.java

@@ -0,0 +1,17 @@
+package com.fjhx.mail.entity.personal.vo;
+
+import com.fjhx.mail.entity.personal.po.PersonalMailbox;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 个人邮箱列表查询返回值实体
+ *
+ * @author 
+ * @since 2023-04-06
+ */
+@Getter
+@Setter
+public class PersonalMailboxVo extends PersonalMailbox {
+
+}

+ 26 - 0
hx-mail/src/main/java/com/fjhx/mail/mapper/personal/PersonalMailboxMapper.java

@@ -0,0 +1,26 @@
+package com.fjhx.mail.mapper.personal;
+
+import com.fjhx.mail.entity.personal.po.PersonalMailbox;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.mail.entity.personal.vo.PersonalMailboxVo;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import org.apache.ibatis.annotations.Param;
+
+
+/**
+ * <p>
+ * 个人邮箱 Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2023-04-06
+ */
+public interface PersonalMailboxMapper extends BaseMapper<PersonalMailbox> {
+
+    /**
+     * 个人邮箱分页
+     */
+    Page<PersonalMailboxVo> getPage(@Param("page") Page<Object> page, @Param("ew") IWrapper<PersonalMailbox> wrapper);
+
+}

+ 46 - 0
hx-mail/src/main/java/com/fjhx/mail/service/personal/PersonalMailboxService.java

@@ -0,0 +1,46 @@
+package com.fjhx.mail.service.personal;
+
+import com.fjhx.mail.entity.personal.po.PersonalMailbox;
+import com.ruoyi.common.core.service.BaseService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.mail.entity.personal.vo.PersonalMailboxVo;
+import com.fjhx.mail.entity.personal.dto.PersonalMailboxSelectDto;
+import com.fjhx.mail.entity.personal.dto.PersonalMailboxDto;
+
+
+/**
+ * <p>
+ * 个人邮箱 服务类
+ * </p>
+ *
+ * @author 
+ * @since 2023-04-06
+ */
+public interface PersonalMailboxService extends BaseService<PersonalMailbox> {
+
+    /**
+     * 个人邮箱分页
+     */
+    Page<PersonalMailboxVo> getPage(PersonalMailboxSelectDto dto);
+
+    /**
+     * 个人邮箱明细
+     */
+    PersonalMailboxVo detail(Long id);
+
+    /**
+     * 个人邮箱新增
+     */
+    void add(PersonalMailboxDto personalMailboxDto);
+
+    /**
+     * 个人邮箱编辑
+     */
+    void edit(PersonalMailboxDto personalMailboxDto);
+
+    /**
+     * 个人邮箱删除
+     */
+    void delete(Long id);
+
+}

+ 57 - 0
hx-mail/src/main/java/com/fjhx/mail/service/personal/impl/PersonalMailboxServiceImpl.java

@@ -0,0 +1,57 @@
+package com.fjhx.mail.service.personal.impl;
+
+import com.fjhx.mail.entity.personal.po.PersonalMailbox;
+import com.fjhx.mail.mapper.personal.PersonalMailboxMapper;
+import com.fjhx.mail.service.personal.PersonalMailboxService;
+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.personal.vo.PersonalMailboxVo;
+import com.fjhx.mail.entity.personal.dto.PersonalMailboxSelectDto;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import com.fjhx.mail.entity.personal.dto.PersonalMailboxDto;
+import cn.hutool.core.bean.BeanUtil;
+
+
+/**
+ * <p>
+ * 个人邮箱 服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2023-04-06
+ */
+@Service
+public class PersonalMailboxServiceImpl extends ServiceImpl<PersonalMailboxMapper, PersonalMailbox> implements PersonalMailboxService {
+
+    @Override
+    public Page<PersonalMailboxVo> getPage(PersonalMailboxSelectDto dto) {
+        IWrapper<PersonalMailbox> wrapper = getWrapper();
+        wrapper.orderByDesc("pm", PersonalMailbox::getId);
+        Page<PersonalMailboxVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
+        return page;
+    }
+
+    @Override
+    public PersonalMailboxVo detail(Long id) {
+        PersonalMailbox PersonalMailbox = this.getById(id);
+        PersonalMailboxVo result = BeanUtil.toBean(PersonalMailbox, PersonalMailboxVo.class);
+        return result;
+    }
+
+    @Override
+    public void add(PersonalMailboxDto personalMailboxDto) {
+        this.save(personalMailboxDto);
+    }
+
+    @Override
+    public void edit(PersonalMailboxDto personalMailboxDto) {
+        this.updateById(personalMailboxDto);
+    }
+
+    @Override
+    public void delete(Long id) {
+        this.removeById(id);
+    }
+
+}

+ 28 - 0
hx-mail/src/main/resources/mapper/personal/PersonalMailboxMapper.xml

@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.fjhx.mail.mapper.personal.PersonalMailboxMapper">
+    <select id="getPage" resultType="com.fjhx.mail.entity.personal.vo.PersonalMailboxVo">
+        select
+            pm.id,
+            pm.mail_user,
+            pm.mail_password,
+            pm.type,
+            pm.status,
+            pm.sync_status,
+            pm.default_status,
+            pm.receive_host,
+            pm.receive_port,
+            pm.receive_protocol,
+            pm.send_host,
+            pm.send_port,
+            pm.send_protocol,
+            pm.user_id,
+            pm.create_user,
+            pm.create_time,
+            pm.update_user,
+            pm.update_time
+        from personal_mailbox pm
+            ${ew.customSqlSegment}
+    </select>
+
+</mapper>