Explorar o código

邮箱,联系人

24282 %!s(int64=2) %!d(string=hai) anos
pai
achega
58979ade54

+ 3 - 3
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:17330/bytesailing_mail?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true")
-                .username("fjhx2012mysql")
-                .password("3PN-Mzn#vnP&q6d")
+                .url("jdbc:mysql://36.134.91.96:12333/bytesailing_mail?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true")
+                .username("root")
+                .password("Fjhx@pwd123")
                 .port(9989)
                 .module("hx-mail")
                 .parent("com.fjhx.mail")

+ 72 - 0
hx-mail/src/main/java/com/fjhx/mail/controller/my/MyContactPersonController.java

@@ -0,0 +1,72 @@
+package com.fjhx.mail.controller.my;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.mail.entity.my.dto.MyContactPersonDto;
+import com.fjhx.mail.entity.my.dto.MyContactPersonSelectDto;
+import com.fjhx.mail.entity.my.vo.MyContactPersonVo;
+import com.fjhx.mail.service.my.MyContactPersonService;
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+
+/**
+ * <p>
+ * 联系人 前端控制器
+ * </p>
+ *
+ * @author
+ * @since 2023-06-09
+ */
+@RestController
+@RequestMapping("/myContactPerson")
+public class MyContactPersonController {
+
+    @Autowired
+    private MyContactPersonService myContactPersonService;
+
+    /**
+     * 联系人分页
+     */
+    @PostMapping("/page")
+    public Page<MyContactPersonVo> page(@RequestBody MyContactPersonSelectDto dto) {
+        return myContactPersonService.getPage(dto);
+    }
+
+    /**
+     * 联系人明细
+     */
+    @PostMapping("/detail")
+    public MyContactPersonVo detail(@RequestBody BaseSelectDto dto) {
+        return myContactPersonService.detail(dto.getId());
+    }
+
+    /**
+     * 联系人新增
+     */
+    @PostMapping("/add")
+    public void add(@Validated @RequestBody MyContactPersonDto myContactPersonDto) {
+        myContactPersonService.add(myContactPersonDto);
+    }
+
+    /**
+     * 联系人编辑
+     */
+    @PostMapping("/edit")
+    public void edit(@Validated @RequestBody MyContactPersonDto myContactPersonDto) {
+        myContactPersonService.edit(myContactPersonDto);
+    }
+
+    /**
+     * 联系人删除
+     */
+    @PostMapping("/delete")
+    public void delete(@RequestBody BaseSelectDto dto) {
+        myContactPersonService.delete(dto.getId());
+    }
+
+}

+ 17 - 0
hx-mail/src/main/java/com/fjhx/mail/entity/my/dto/MyContactPersonDto.java

@@ -0,0 +1,17 @@
+package com.fjhx.mail.entity.my.dto;
+
+import com.fjhx.mail.entity.my.po.MyContactPerson;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 联系人新增编辑入参实体
+ *
+ * @author
+ * @since 2023-06-09
+ */
+@Getter
+@Setter
+public class MyContactPersonDto extends MyContactPerson {
+
+}

+ 17 - 0
hx-mail/src/main/java/com/fjhx/mail/entity/my/dto/MyContactPersonSelectDto.java

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

+ 35 - 0
hx-mail/src/main/java/com/fjhx/mail/entity/my/po/MyContactPerson.java

@@ -0,0 +1,35 @@
+package com.fjhx.mail.entity.my.po;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.ruoyi.common.core.domain.BasePo;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotEmpty;
+
+/**
+ * <p>
+ * 联系人
+ * </p>
+ *
+ * @author
+ * @since 2023-06-09
+ */
+@Getter
+@Setter
+@TableName("my_contact_person")
+public class MyContactPerson extends BasePo {
+
+    /**
+     * 联系人名称
+     */
+    @NotEmpty(message = "联系人名称不能为空")
+    private String name;
+
+    /**
+     * 联系人邮箱集合
+     */
+    @NotEmpty(message = "联系人邮箱不能为空")
+    private String mailSet;
+
+}

+ 17 - 0
hx-mail/src/main/java/com/fjhx/mail/entity/my/vo/MyContactPersonVo.java

@@ -0,0 +1,17 @@
+package com.fjhx.mail.entity.my.vo;
+
+import com.fjhx.mail.entity.my.po.MyContactPerson;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 联系人列表查询返回值实体
+ *
+ * @author
+ * @since 2023-06-09
+ */
+@Getter
+@Setter
+public class MyContactPersonVo extends MyContactPerson {
+
+}

+ 26 - 0
hx-mail/src/main/java/com/fjhx/mail/mapper/my/MyContactPersonMapper.java

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

+ 46 - 0
hx-mail/src/main/java/com/fjhx/mail/service/my/MyContactPersonService.java

@@ -0,0 +1,46 @@
+package com.fjhx.mail.service.my;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.mail.entity.my.dto.MyContactPersonDto;
+import com.fjhx.mail.entity.my.dto.MyContactPersonSelectDto;
+import com.fjhx.mail.entity.my.po.MyContactPerson;
+import com.fjhx.mail.entity.my.vo.MyContactPersonVo;
+import com.ruoyi.common.core.service.BaseService;
+
+
+/**
+ * <p>
+ * 联系人 服务类
+ * </p>
+ *
+ * @author
+ * @since 2023-06-09
+ */
+public interface MyContactPersonService extends BaseService<MyContactPerson> {
+
+    /**
+     * 联系人分页
+     */
+    Page<MyContactPersonVo> getPage(MyContactPersonSelectDto dto);
+
+    /**
+     * 联系人明细
+     */
+    MyContactPersonVo detail(Long id);
+
+    /**
+     * 联系人新增
+     */
+    void add(MyContactPersonDto myContactPersonDto);
+
+    /**
+     * 联系人编辑
+     */
+    void edit(MyContactPersonDto myContactPersonDto);
+
+    /**
+     * 联系人删除
+     */
+    void delete(Long id);
+
+}

+ 70 - 0
hx-mail/src/main/java/com/fjhx/mail/service/my/impl/MyContactPersonServiceImpl.java

@@ -0,0 +1,70 @@
+package com.fjhx.mail.service.my.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.my.dto.MyContactPersonDto;
+import com.fjhx.mail.entity.my.dto.MyContactPersonSelectDto;
+import com.fjhx.mail.entity.my.po.MyContactPerson;
+import com.fjhx.mail.entity.my.vo.MyContactPersonVo;
+import com.fjhx.mail.mapper.my.MyContactPersonMapper;
+import com.fjhx.mail.service.my.MyContactPersonService;
+import com.ruoyi.common.core.domain.BasePo;
+import com.ruoyi.common.exception.ServiceException;
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import org.springframework.stereotype.Service;
+
+
+/**
+ * <p>
+ * 联系人 服务实现类
+ * </p>
+ *
+ * @author
+ * @since 2023-06-09
+ */
+@Service
+public class MyContactPersonServiceImpl extends ServiceImpl<MyContactPersonMapper, MyContactPerson> implements MyContactPersonService {
+
+    @Override
+    public Page<MyContactPersonVo> getPage(MyContactPersonSelectDto dto) {
+        IWrapper<MyContactPerson> wrapper = getWrapper();
+        wrapper.eq("mcp", MyContactPerson::getCreateUser, SecurityUtils.getUserId());
+        wrapper.orderByDesc("mcp", MyContactPerson::getId);
+        Page<MyContactPersonVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
+        return page;
+    }
+
+    @Override
+    public MyContactPersonVo detail(Long id) {
+        MyContactPerson MyContactPerson = this.getById(id);
+        MyContactPersonVo result = BeanUtil.toBean(MyContactPerson, MyContactPersonVo.class);
+        return result;
+    }
+
+    @Override
+    public void add(MyContactPersonDto myContactPersonDto) {
+        long count = count(q -> q
+                .eq(MyContactPerson::getName, myContactPersonDto.getName())
+                .eq(BasePo::getCreateUser, SecurityUtils.getUserId())
+                .last("limit 1")
+        );
+        if (count > 0) {
+            throw new ServiceException("联系人已存在");
+        }
+
+        this.save(myContactPersonDto);
+    }
+
+    @Override
+    public void edit(MyContactPersonDto myContactPersonDto) {
+        this.updateById(myContactPersonDto);
+    }
+
+    @Override
+    public void delete(Long id) {
+        this.removeById(id);
+    }
+
+}

+ 16 - 0
hx-mail/src/main/resources/mapper/my/MyContactPersonMapper.xml

@@ -0,0 +1,16 @@
+<?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.my.MyContactPersonMapper">
+    <select id="getPage" resultType="com.fjhx.mail.entity.my.vo.MyContactPersonVo">
+        select mcp.id,
+               mcp.name,
+               mcp.mail_set,
+               mcp.create_user,
+               mcp.create_time,
+               mcp.update_user,
+               mcp.update_time
+        from my_contact_person mcp
+            ${ew.customSqlSegment}
+    </select>
+
+</mapper>