Browse Source

邮箱签名

yzc 1 năm trước cách đây
mục cha
commit
8852f4d9ec

+ 2 - 2
code/src/test/java/MailDataSource.java

@@ -4,9 +4,9 @@ public class MailDataSource {
 
     public static void main(String[] args) {
         GeneratorApplication.builder()
-                .url("jdbc:mysql://36.134.91.96:12333/bytesailing_mail?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true")
+                .url("jdbc:mysql://121.37.194.75:30102/bytesailing_mail?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true")
                 .username("root")
-                .password("Fjhx@pwd123")
+                .password("5fWD*oa^nso@kmKa")
                 .port(9989)
                 .module("hx-mail")
                 .parent("com.fjhx.mail")

+ 78 - 0
hx-mail/src/main/java/com/fjhx/mail/controller/signature/MailSignatureController.java

@@ -0,0 +1,78 @@
+package com.fjhx.mail.controller.signature;
+
+import org.springframework.web.bind.annotation.*;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.mail.entity.signature.vo.MailSignatureVo;
+import com.fjhx.mail.entity.signature.dto.MailSignatureSelectDto;
+import com.fjhx.mail.entity.signature.dto.MailMailSignatureDto;
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import com.fjhx.mail.service.signature.MailSignatureService;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import java.util.List;
+
+
+/**
+ * <p>
+ * 签名 前端控制器
+ * </p>
+ *
+ * @author 
+ * @since 2023-08-24
+ */
+@RestController
+@RequestMapping("/mailSignature")
+public class MailSignatureController {
+
+    @Autowired
+    private MailSignatureService mailSignatureService;
+
+    /**
+     * 签名分页
+     */
+    @PostMapping("/page")
+    public Page<MailSignatureVo> page(@RequestBody MailSignatureSelectDto dto) {
+        return mailSignatureService.getPage(dto);
+    }
+
+    /**
+     * 签名明细
+     */
+    @PostMapping("/detail")
+    public MailSignatureVo detail(@RequestBody BaseSelectDto dto) {
+        return mailSignatureService.detail(dto.getId());
+    }
+
+    /**
+     * 签名新增
+     */
+    @PostMapping("/add")
+    public void add(@RequestBody MailMailSignatureDto mailSignatureDto) {
+        mailSignatureService.add(mailSignatureDto);
+    }
+
+    /**
+     * 签名编辑
+     */
+    @PostMapping("/edit")
+    public void edit(@RequestBody MailMailSignatureDto mailSignatureDto) {
+        mailSignatureService.edit(mailSignatureDto);
+    }
+
+    /**
+     * 签名删除
+     */
+    @PostMapping("/delete")
+    public void delete(@RequestBody BaseSelectDto dto) {
+        mailSignatureService.delete(dto.getId());
+    }
+
+    /**
+     * 获取模板名称列表
+     */
+    @GetMapping("/getTemplateList")
+    public List<String> getTemplateList(){
+        return mailSignatureService.getTemplateList();
+    }
+
+}

+ 17 - 0
hx-mail/src/main/java/com/fjhx/mail/entity/signature/dto/MailMailSignatureDto.java

@@ -0,0 +1,17 @@
+package com.fjhx.mail.entity.signature.dto;
+
+import com.fjhx.mail.entity.signature.po.MailSignature;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 签名新增编辑入参实体
+ *
+ * @author 
+ * @since 2023-08-24
+ */
+@Getter
+@Setter
+public class MailMailSignatureDto extends MailSignature {
+
+}

+ 17 - 0
hx-mail/src/main/java/com/fjhx/mail/entity/signature/dto/MailSignatureSelectDto.java

@@ -0,0 +1,17 @@
+package com.fjhx.mail.entity.signature.dto;
+
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 签名列表查询入参实体
+ *
+ * @author 
+ * @since 2023-08-24
+ */
+@Getter
+@Setter
+public class MailSignatureSelectDto extends BaseSelectDto {
+
+}

+ 31 - 0
hx-mail/src/main/java/com/fjhx/mail/entity/signature/po/MailSignature.java

@@ -0,0 +1,31 @@
+package com.fjhx.mail.entity.signature.po;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.ruoyi.common.core.domain.BasePo;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 签名
+ * </p>
+ *
+ * @author 
+ * @since 2023-08-24
+ */
+@Getter
+@Setter
+@TableName("mail_signature")
+public class MailSignature extends BasePo {
+
+    /**
+     * 模板名称
+     */
+    private String templateName;
+
+    /**
+     * 签名内容
+     */
+    private String content;
+
+}

+ 17 - 0
hx-mail/src/main/java/com/fjhx/mail/entity/signature/vo/MailSignatureVo.java

@@ -0,0 +1,17 @@
+package com.fjhx.mail.entity.signature.vo;
+
+import com.fjhx.mail.entity.signature.po.MailSignature;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 签名列表查询返回值实体
+ *
+ * @author 
+ * @since 2023-08-24
+ */
+@Getter
+@Setter
+public class MailSignatureVo extends MailSignature {
+
+}

+ 26 - 0
hx-mail/src/main/java/com/fjhx/mail/mapper/signature/MailSignatureMapper.java

@@ -0,0 +1,26 @@
+package com.fjhx.mail.mapper.signature;
+
+import com.fjhx.mail.entity.signature.po.MailSignature;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.mail.entity.signature.vo.MailSignatureVo;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import org.apache.ibatis.annotations.Param;
+
+
+/**
+ * <p>
+ * 签名 Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2023-08-24
+ */
+public interface MailSignatureMapper extends BaseMapper<MailSignature> {
+
+    /**
+     * 签名分页
+     */
+    Page<MailSignatureVo> getPage(@Param("page") Page<Object> page, @Param("ew") IWrapper<MailSignature> wrapper);
+
+}

+ 52 - 0
hx-mail/src/main/java/com/fjhx/mail/service/signature/MailSignatureService.java

@@ -0,0 +1,52 @@
+package com.fjhx.mail.service.signature;
+
+import com.fjhx.mail.entity.signature.po.MailSignature;
+import com.ruoyi.common.core.service.BaseService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.mail.entity.signature.vo.MailSignatureVo;
+import com.fjhx.mail.entity.signature.dto.MailSignatureSelectDto;
+import com.fjhx.mail.entity.signature.dto.MailMailSignatureDto;
+
+import java.util.List;
+
+
+/**
+ * <p>
+ * 签名 服务类
+ * </p>
+ *
+ * @author 
+ * @since 2023-08-24
+ */
+public interface MailSignatureService extends BaseService<MailSignature> {
+
+    /**
+     * 签名分页
+     */
+    Page<MailSignatureVo> getPage(MailSignatureSelectDto dto);
+
+    /**
+     * 签名明细
+     */
+    MailSignatureVo detail(Long id);
+
+    /**
+     * 签名新增
+     */
+    void add(MailMailSignatureDto mailSignatureDto);
+
+    /**
+     * 签名编辑
+     */
+    void edit(MailMailSignatureDto mailSignatureDto);
+
+    /**
+     * 签名删除
+     */
+    void delete(Long id);
+
+    /**
+     * 获取模板名称列表
+     */
+    List<String> getTemplateList();
+}

+ 72 - 0
hx-mail/src/main/java/com/fjhx/mail/service/signature/impl/MailSignatureServiceImpl.java

@@ -0,0 +1,72 @@
+package com.fjhx.mail.service.signature.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.signature.dto.MailMailSignatureDto;
+import com.fjhx.mail.entity.signature.dto.MailSignatureSelectDto;
+import com.fjhx.mail.entity.signature.po.MailSignature;
+import com.fjhx.mail.entity.signature.vo.MailSignatureVo;
+import com.fjhx.mail.mapper.signature.MailSignatureMapper;
+import com.fjhx.mail.service.signature.MailSignatureService;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import com.ruoyi.common.utils.wrapper.SqlField;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+
+/**
+ * <p>
+ * 签名 服务实现类
+ * </p>
+ *
+ * @author
+ * @since 2023-08-24
+ */
+@Service
+public class MailSignatureServiceImpl extends ServiceImpl<MailSignatureMapper, MailSignature> implements MailSignatureService {
+
+    @Override
+    public Page<MailSignatureVo> getPage(MailSignatureSelectDto dto) {
+        IWrapper<MailSignature> wrapper = getWrapper();
+
+        wrapper.keyword(dto.getKeyword(),
+                new SqlField(MailSignature::getTemplateName),
+                new SqlField(MailSignature::getContent)
+        );
+
+        wrapper.orderByDesc("s", MailSignature::getId);
+        Page<MailSignatureVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
+        return page;
+    }
+
+    @Override
+    public MailSignatureVo detail(Long id) {
+        MailSignature MailSignature = this.getById(id);
+        MailSignatureVo result = BeanUtil.toBean(MailSignature, MailSignatureVo.class);
+        return result;
+    }
+
+    @Override
+    public void add(MailMailSignatureDto mailSignatureDto) {
+        this.save(mailSignatureDto);
+    }
+
+    @Override
+    public void edit(MailMailSignatureDto mailSignatureDto) {
+        this.updateById(mailSignatureDto);
+    }
+
+    @Override
+    public void delete(Long id) {
+        this.removeById(id);
+    }
+
+    @Override
+    public List<String> getTemplateList() {
+        List<String> list = this.listObject(MailSignature::getTemplateName, q -> q.groupBy(MailSignature::getTemplateName));
+        return list;
+    }
+
+}

+ 17 - 0
hx-mail/src/main/resources/mapper/signature/MailSignatureMapper.xml

@@ -0,0 +1,17 @@
+<?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.signature.MailSignatureMapper">
+    <select id="getPage" resultType="com.fjhx.mail.entity.signature.vo.MailSignatureVo">
+        select
+            s.id,
+            s.template_name,
+            s.content,
+            s.create_user,
+            s.create_time,
+            s.update_user,
+            s.update_time
+        from mail_signature s
+            ${ew.customSqlSegment}
+    </select>
+
+</mapper>