Browse Source

演示场景申请,发送邮件

lyhzzz 2 năm trước cách đây
mục cha
commit
aec67a2550
24 tập tin đã thay đổi với 831 bổ sung5 xóa
  1. 12 0
      pom.xml
  2. 34 0
      src/main/java/com/fdkankan/manage/controller/AgentAuditController.java
  3. 21 0
      src/main/java/com/fdkankan/manage/controller/MailTemplateController.java
  4. 47 0
      src/main/java/com/fdkankan/manage/controller/SceneApplyController.java
  5. 141 0
      src/main/java/com/fdkankan/manage/entity/AgentAudit.java
  6. 72 0
      src/main/java/com/fdkankan/manage/entity/MailTemplate.java
  7. 96 0
      src/main/java/com/fdkankan/manage/entity/SceneApply.java
  8. 1 1
      src/main/java/com/fdkankan/manage/generate/AutoGenerate.java
  9. 18 0
      src/main/java/com/fdkankan/manage/mapper/IAgentAuditMapper.java
  10. 18 0
      src/main/java/com/fdkankan/manage/mapper/IMailTemplateMapper.java
  11. 18 0
      src/main/java/com/fdkankan/manage/mapper/ISceneApplyMapper.java
  12. 22 0
      src/main/java/com/fdkankan/manage/service/IAgentAuditService.java
  13. 16 0
      src/main/java/com/fdkankan/manage/service/IMailTemplateService.java
  14. 21 0
      src/main/java/com/fdkankan/manage/service/ISceneApplyService.java
  15. 57 0
      src/main/java/com/fdkankan/manage/service/impl/AgentAuditServiceImpl.java
  16. 20 0
      src/main/java/com/fdkankan/manage/service/impl/MailTemplateServiceImpl.java
  17. 80 0
      src/main/java/com/fdkankan/manage/service/impl/SceneApplyServiceImpl.java
  18. 97 0
      src/main/java/com/fdkankan/manage/util/SendMailUtils.java
  19. 12 0
      src/main/java/com/fdkankan/manage/vo/request/AgentAuditListParam.java
  20. 9 0
      src/main/java/com/fdkankan/manage/vo/request/SceneApplySendEmailParam.java
  21. 5 0
      src/main/resources/mapper/manage/AgentAuditMapper.xml
  22. 4 4
      src/main/resources/mapper/manage/DataMapper.xml
  23. 5 0
      src/main/resources/mapper/manage/MailTemplateMapper.xml
  24. 5 0
      src/main/resources/mapper/manage/SceneApplyMapper.xml

+ 12 - 0
pom.xml

@@ -59,6 +59,13 @@
       <version>3.5.1</version>
     </dependency>
 
+    <!--velocity模板-->
+    <dependency>
+      <groupId>org.apache.velocity</groupId>
+      <artifactId>velocity-engine-core</artifactId>
+      <version>2.3</version>
+    </dependency>
+
     <dependency>
       <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-starter-web</artifactId>
@@ -127,6 +134,11 @@
       <version>1.30.0</version>
     </dependency>
 
+    <dependency>
+      <groupId>com.sun.mail</groupId>
+      <artifactId>javax.mail</artifactId>
+      <version>1.5.4</version>
+    </dependency>
   </dependencies>
 
   <build>

+ 34 - 0
src/main/java/com/fdkankan/manage/controller/AgentAuditController.java

@@ -0,0 +1,34 @@
+package com.fdkankan.manage.controller;
+
+
+import com.fdkankan.common.response.ResultData;
+import com.fdkankan.manage.entity.AgentAudit;
+import com.fdkankan.manage.service.IAgentAuditService;
+import com.fdkankan.manage.vo.request.AgentAuditListParam;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * 经销商申请管理
+ * @author 
+ * @since 2022-09-21
+ */
+@RestController
+@RequestMapping("/service/manage/agentAudit")
+public class AgentAuditController {
+
+    @Autowired
+    IAgentAuditService agentAuditService;
+
+    @PostMapping("/list")
+    public ResultData list(@RequestBody AgentAuditListParam param){
+        return ResultData.ok(agentAuditService.pageList(param));
+    }
+
+    @PostMapping("/handle")
+    public ResultData handle(@RequestBody AgentAudit agentAudit){
+        agentAuditService.handle(agentAudit.getId(),agentAudit.getNoteContent());
+        return ResultData.ok();
+    }
+}
+

+ 21 - 0
src/main/java/com/fdkankan/manage/controller/MailTemplateController.java

@@ -0,0 +1,21 @@
+package com.fdkankan.manage.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author 
+ * @since 2022-09-22
+ */
+@RestController
+@RequestMapping("/manage/mailTemplate")
+public class MailTemplateController {
+
+}
+

+ 47 - 0
src/main/java/com/fdkankan/manage/controller/SceneApplyController.java

@@ -0,0 +1,47 @@
+package com.fdkankan.manage.controller;
+
+
+import com.fdkankan.common.constant.ErrorCode;
+import com.fdkankan.common.exception.BusinessException;
+import com.fdkankan.common.response.ResultData;
+import com.fdkankan.manage.entity.SceneApply;
+import com.fdkankan.manage.service.ISceneApplyService;
+import com.fdkankan.manage.vo.request.AgentAuditListParam;
+import com.fdkankan.manage.vo.request.SceneApplySendEmailParam;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+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;
+
+/**
+ *场景申请管理
+ * @author 
+ * @since 2022-09-22
+ */
+@RestController
+@RequestMapping("/service/manage/sceneApply")
+public class SceneApplyController {
+
+    @Autowired
+    ISceneApplyService sceneApplyService;
+
+
+    @PostMapping("/list")
+    public ResultData list(@RequestBody  AgentAuditListParam param){
+        return ResultData.ok(sceneApplyService.pageList(param));
+    }
+
+    @PostMapping("/sendEmail")
+    public ResultData sendEmail(@RequestBody SceneApplySendEmailParam param){
+        if(param.getSceneApplyId() == null || param.getMailTemplateId() == null){
+            throw new BusinessException(ErrorCode.MISSING_REQUIRED_PARAMETERS);
+        }
+        sceneApplyService.sendEmail(param.getSceneApplyId(),param.getMailTemplateId());
+        return ResultData.ok();
+    }
+
+}
+

+ 141 - 0
src/main/java/com/fdkankan/manage/entity/AgentAudit.java

@@ -0,0 +1,141 @@
+package com.fdkankan.manage.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 代理商申请表
+ * </p>
+ *
+ * @author 
+ * @since 2022-09-21
+ */
+@Getter
+@Setter
+@TableName("t_agent_audit")
+public class AgentAudit implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 经销商公司名称
+     */
+    @TableField("name")
+    private String name;
+
+    /**
+     * 国家
+     */
+    @TableField("country")
+    private String country;
+
+    /**
+     * 地区
+     */
+    @TableField("region")
+    private String region;
+
+    /**
+     * 地址
+     */
+    @TableField("address")
+    private String address;
+
+    /**
+     * 类型,1为线下,2为线上
+     */
+    @TableField("type")
+    private Integer type;
+
+    /**
+     * 线下门店地址或线上网站
+     */
+    @TableField("store_address")
+    private String storeAddress;
+
+    /**
+     * 申请人的姓
+     */
+    @TableField("sur_name")
+    private String surName;
+
+    /**
+     * 申请人的名字
+     */
+    @TableField("user_name")
+    private String userName;
+
+    /**
+     * 申请人职位
+     */
+    @TableField("post")
+    private String post;
+
+    /**
+     * 区号
+     */
+    @TableField("area_code")
+    private String areaCode;
+
+    /**
+     * 手机号
+     */
+    @TableField("phone")
+    private String phone;
+
+    /**
+     * 邮箱地址
+     */
+    @TableField("email")
+    private String email;
+
+    /**
+     * 状态,0申请中,1审核通过,2审核失败
+     */
+    @TableField("state")
+    private Integer state;
+
+    /**
+     * 创建时间
+     */
+    @TableField("create_time")
+    private String createTime;
+
+    /**
+     * 更新时间
+     */
+    @TableField("update_time")
+    private String updateTime;
+
+    /**
+     * 记录的状态,A: 生效,I: 禁用
+     */
+    @TableField("rec_status")
+    @TableLogic(value = "A",delval = "I")
+    private String recStatus;
+
+    /**
+     * 备注等级
+     */
+    @TableField("note_type")
+    private Integer noteType;
+
+    /**
+     * 备注内容
+     */
+    @TableField("note_content")
+    private String noteContent;
+
+
+}

+ 72 - 0
src/main/java/com/fdkankan/manage/entity/MailTemplate.java

@@ -0,0 +1,72 @@
+package com.fdkankan.manage.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 
+ * @since 2022-09-22
+ */
+@Getter
+@Setter
+@TableName("t_mail_template")
+public class MailTemplate implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 发件人邮箱
+     */
+    @TableField("send_mail")
+    private String sendMail;
+
+    /**
+     * 发件人邮箱密码
+     */
+    @TableField("send_password")
+    private String sendPassword;
+
+    /**
+     * 发件人主机
+     */
+    @TableField("send_host")
+    private String sendHost;
+
+    /**
+     * 收件主题
+     */
+    @TableField("subject")
+    private String subject;
+
+    /**
+     * 邮件内容
+     */
+    @TableField("msg")
+    private String msg;
+
+    @TableField("rec_status")
+    @TableLogic(value = "A",delval = "I")
+    private String recStatus;
+
+    @TableField("create_time")
+    private String createTime;
+
+    @TableField("update_time")
+    private String updateTime;
+
+
+}

+ 96 - 0
src/main/java/com/fdkankan/manage/entity/SceneApply.java

@@ -0,0 +1,96 @@
+package com.fdkankan.manage.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 
+ * @since 2022-09-22
+ */
+@Getter
+@Setter
+@TableName("t_scene_apply")
+public class SceneApply implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 姓名
+     */
+    @TableField("name")
+    private String name;
+
+    /**
+     * 手机号码
+     */
+    @TableField("phone")
+    private String phone;
+
+    /**
+     * 邮箱地址
+     */
+    @TableField("email")
+    private String email;
+
+    /**
+     * 公司
+     */
+    @TableField("company")
+    private String company;
+
+    /**
+     * 行业
+     */
+    @TableField("job")
+    private String job;
+
+    /**
+     * 大洲
+     */
+    @TableField("continent")
+    private String continent;
+
+    /**
+     * 国家
+     */
+    @TableField("country")
+    private String country;
+
+    /**
+     * 申请状态
+     */
+    @TableField("state")
+    private Integer state;
+
+    /**
+     * 备注
+     */
+    @TableField("remark")
+    private String remark;
+
+    @TableField("create_time")
+    private String createTime;
+
+    @TableField("update_time")
+    private String updateTime;
+
+    @TableField("rec_status")
+    @TableLogic(value = "A",delval = "I")
+    private String recStatus;
+
+
+}

+ 1 - 1
src/main/java/com/fdkankan/manage/generate/AutoGenerate.java

@@ -18,7 +18,7 @@ public class AutoGenerate {
         String path =System.getProperty("user.dir");
 
         generate(path,"manage", getTables(new String[]{
-                "t_scene_edit_controls","t_scene_edit_info","t_scene_edit_info_ext"
+                "t_mail_template"
         }));
 
 //        generate(path,"goods", getTables(new String[]{

+ 18 - 0
src/main/java/com/fdkankan/manage/mapper/IAgentAuditMapper.java

@@ -0,0 +1,18 @@
+package com.fdkankan.manage.mapper;
+
+import com.fdkankan.manage.entity.AgentAudit;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ * 代理商申请表 Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2022-09-21
+ */
+@Mapper
+public interface IAgentAuditMapper extends BaseMapper<AgentAudit> {
+
+}

+ 18 - 0
src/main/java/com/fdkankan/manage/mapper/IMailTemplateMapper.java

@@ -0,0 +1,18 @@
+package com.fdkankan.manage.mapper;
+
+import com.fdkankan.manage.entity.MailTemplate;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2022-09-22
+ */
+@Mapper
+public interface IMailTemplateMapper extends BaseMapper<MailTemplate> {
+
+}

+ 18 - 0
src/main/java/com/fdkankan/manage/mapper/ISceneApplyMapper.java

@@ -0,0 +1,18 @@
+package com.fdkankan.manage.mapper;
+
+import com.fdkankan.manage.entity.SceneApply;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2022-09-22
+ */
+@Mapper
+public interface ISceneApplyMapper extends BaseMapper<SceneApply> {
+
+}

+ 22 - 0
src/main/java/com/fdkankan/manage/service/IAgentAuditService.java

@@ -0,0 +1,22 @@
+package com.fdkankan.manage.service;
+
+import com.fdkankan.common.response.PageInfo;
+import com.fdkankan.manage.entity.AgentAudit;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.fdkankan.manage.vo.request.AgentAuditListParam;
+import org.apache.commons.lang3.StringUtils;
+
+/**
+ * <p>
+ * 代理商申请表 服务类
+ * </p>
+ *
+ * @author 
+ * @since 2022-09-21
+ */
+public interface IAgentAuditService extends IService<AgentAudit> {
+
+    PageInfo pageList(AgentAuditListParam param);
+
+    void handle(Long id, String noteContent);
+}

+ 16 - 0
src/main/java/com/fdkankan/manage/service/IMailTemplateService.java

@@ -0,0 +1,16 @@
+package com.fdkankan.manage.service;
+
+import com.fdkankan.manage.entity.MailTemplate;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author 
+ * @since 2022-09-22
+ */
+public interface IMailTemplateService extends IService<MailTemplate> {
+
+}

+ 21 - 0
src/main/java/com/fdkankan/manage/service/ISceneApplyService.java

@@ -0,0 +1,21 @@
+package com.fdkankan.manage.service;
+
+import com.fdkankan.common.response.PageInfo;
+import com.fdkankan.manage.entity.SceneApply;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.fdkankan.manage.vo.request.AgentAuditListParam;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author 
+ * @since 2022-09-22
+ */
+public interface ISceneApplyService extends IService<SceneApply> {
+
+    PageInfo pageList(AgentAuditListParam param);
+
+    void sendEmail(Integer id, Integer email);
+}

+ 57 - 0
src/main/java/com/fdkankan/manage/service/impl/AgentAuditServiceImpl.java

@@ -0,0 +1,57 @@
+package com.fdkankan.manage.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fdkankan.common.response.PageInfo;
+import com.fdkankan.manage.entity.AgentAudit;
+import com.fdkankan.manage.mapper.IAgentAuditMapper;
+import com.fdkankan.manage.service.IAgentAuditService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fdkankan.manage.vo.request.AgentAuditListParam;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.stereotype.Service;
+
+import java.util.Arrays;
+
+/**
+ * <p>
+ * 代理商申请表 服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2022-09-21
+ */
+@Service
+public class AgentAuditServiceImpl extends ServiceImpl<IAgentAuditMapper, AgentAudit> implements IAgentAuditService {
+
+
+    @Override
+    public PageInfo pageList(AgentAuditListParam param) {
+        LambdaQueryWrapper<AgentAudit> wrapper = new LambdaQueryWrapper<>();
+        if(StringUtils.isNotBlank(param.getCompanyName())){
+            wrapper.like(AgentAudit::getName,param.getCompanyName());
+        }
+        if(StringUtils.isNotBlank(param.getStartTime())&& StringUtils.isNotBlank(param.getEndTime()) ) {
+            wrapper.between(AgentAudit::getCreateTime,param.getStartTime(),param.getEndTime());
+        }
+        if(param.getHandleState() == 1){
+            wrapper.in(AgentAudit::getState, Arrays.asList(1,2));
+        }else {
+            wrapper.eq(AgentAudit::getState, 0);
+        }
+        wrapper.orderByDesc(AgentAudit::getCreateTime);
+        Page<AgentAudit> page = this.page(new Page<>(param.getPageNum(), param.getPageSize()), wrapper);
+
+        return PageInfo.PageInfo(page);
+    }
+
+    @Override
+    public void handle(Long id,String noteContent) {
+        LambdaUpdateWrapper<AgentAudit> wrapper = new LambdaUpdateWrapper<>();
+        wrapper.eq(AgentAudit::getId,id);
+        wrapper.set(AgentAudit::getNoteContent,noteContent);
+        wrapper.set(AgentAudit::getState,1);
+        this.update(wrapper);
+    }
+}

+ 20 - 0
src/main/java/com/fdkankan/manage/service/impl/MailTemplateServiceImpl.java

@@ -0,0 +1,20 @@
+package com.fdkankan.manage.service.impl;
+
+import com.fdkankan.manage.entity.MailTemplate;
+import com.fdkankan.manage.mapper.IMailTemplateMapper;
+import com.fdkankan.manage.service.IMailTemplateService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2022-09-22
+ */
+@Service
+public class MailTemplateServiceImpl extends ServiceImpl<IMailTemplateMapper, MailTemplate> implements IMailTemplateService {
+
+}

+ 80 - 0
src/main/java/com/fdkankan/manage/service/impl/SceneApplyServiceImpl.java

@@ -0,0 +1,80 @@
+package com.fdkankan.manage.service.impl;
+
+import cn.hutool.core.collection.CollUtil;
+import cn.hutool.extra.mail.MailAccount;
+import cn.hutool.extra.mail.MailUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fdkankan.common.exception.BusinessException;
+import com.fdkankan.common.response.PageInfo;
+import com.fdkankan.manage.entity.AgentAudit;
+import com.fdkankan.manage.entity.MailTemplate;
+import com.fdkankan.manage.entity.SceneApply;
+import com.fdkankan.manage.mapper.ISceneApplyMapper;
+import com.fdkankan.manage.service.IMailTemplateService;
+import com.fdkankan.manage.service.ISceneApplyService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fdkankan.manage.util.SendMailUtils;
+import com.fdkankan.manage.vo.request.AgentAuditListParam;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.Arrays;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2022-09-22
+ */
+@Service
+public class SceneApplyServiceImpl extends ServiceImpl<ISceneApplyMapper, SceneApply> implements ISceneApplyService {
+
+    @Autowired
+    IMailTemplateService mailTemplateService;
+
+    @Override
+    public PageInfo pageList(AgentAuditListParam param) {
+        LambdaQueryWrapper<SceneApply> wrapper = new LambdaQueryWrapper<>();
+        if(StringUtils.isNotBlank(param.getCompanyName())){
+            wrapper.like(SceneApply::getName,param.getCompanyName());
+        }
+        if(StringUtils.isNotBlank(param.getStartTime())&& StringUtils.isNotBlank(param.getEndTime()) ) {
+            wrapper.between(SceneApply::getCreateTime,param.getStartTime(),param.getEndTime());
+        }
+        if(param.getHandleState() == 1){
+            wrapper.in(SceneApply::getState, Arrays.asList(1,2));
+        }else {
+            wrapper.eq(SceneApply::getState, 0);
+        }
+        wrapper.orderByDesc(SceneApply::getCreateTime);
+        Page<SceneApply> page = this.page(new Page<>(param.getPageNum(), param.getPageSize()), wrapper);
+
+        return PageInfo.PageInfo(page);
+    }
+
+    @Override
+    public void sendEmail(Integer sceneApplyId, Integer emailTemplateId) {
+        SceneApply sceneApply = this.getById(sceneApplyId);
+        if(sceneApply == null){
+            throw new BusinessException(-1,"场景申请不存在");
+        }
+        MailTemplate mailTemplate = mailTemplateService.getById(emailTemplateId);
+        if(mailTemplate == null){
+            throw new BusinessException(-1,"邮件发送模板不存在");
+        }
+        boolean flag = SendMailUtils.sendMail(mailTemplate.getSendMail(), mailTemplate.getSendPassword(), mailTemplate.getSendHost(),
+                sceneApply.getEmail(), mailTemplate.getSubject(), mailTemplate.getMsg(), null);
+
+        if(flag){
+            sceneApply.setState(1);
+        }else {
+            sceneApply.setState(2);
+        }
+        this.updateById(sceneApply);
+    }
+
+}

+ 97 - 0
src/main/java/com/fdkankan/manage/util/SendMailUtils.java

@@ -0,0 +1,97 @@
+package com.fdkankan.manage.util;
+
+import com.sun.mail.util.MailSSLSocketFactory;
+import org.apache.commons.lang3.StringUtils;
+
+import javax.activation.DataHandler;
+import javax.activation.DataSource;
+import javax.activation.FileDataSource;
+import javax.mail.*;
+import javax.mail.internet.*;
+import java.io.UnsupportedEncodingException;
+import java.security.GeneralSecurityException;
+import java.util.Properties;
+
+/**
+ * Created by Hb_zzZ on 2020/3/16.
+ */
+public class SendMailUtils {
+
+
+    /**
+     * 发送带附件的邮件
+     * @param  from      发件人
+     * @param  pass      发件人密码
+     * @param  host      发件人主机
+     * @param receive    收件人
+     * @param subject    邮件主题
+     * @param msg        邮件内容
+     * @param filename   附件地址
+     *
+     */
+    public static boolean sendMail(String from,String pass,String host,
+                                   String receive, String subject, String msg, String filename) {
+        if (StringUtils.isEmpty(receive)) {
+            return false;
+        }
+        try {
+            // 获取系统属性
+            Properties properties = System.getProperties();
+            // 设置邮件服务器
+            properties.setProperty("mail.smtp.host", host);
+            properties.setProperty("mail.debug", "true");
+            properties.put("mail.smtp.auth", "true");
+            MailSSLSocketFactory sf = new MailSSLSocketFactory();
+            sf.setTrustAllHosts(true);
+            properties.put("mail.smtp.ssl.enable", "true");
+            properties.put("mail.smtp.ssl.socketFactory", sf);
+            // 获取默认session对象
+            Session session = Session.getDefaultInstance(properties, new Authenticator() {
+                public PasswordAuthentication getPasswordAuthentication() { // qq邮箱服务器账户、第三方登录授权码
+                    return new PasswordAuthentication(from, pass); // 发件人邮件用户名、密码
+                }
+            });
+            // 创建默认的 MimeMessage 对象
+            MimeMessage message = new MimeMessage(session);
+            // Set From: 头部头字段
+            message.setFrom(new InternetAddress(from));
+            // Set To: 头部头字段
+            message.addRecipient(Message.RecipientType.TO, new InternetAddress(receive));
+            // Set Subject: 主题文字
+            message.setSubject(subject);
+            // 创建消息部分
+            BodyPart messageBodyPart = new MimeBodyPart();
+            // 消息
+            messageBodyPart.setText(msg);
+            // 创建多重消息
+            MimeMultipart multipart = new MimeMultipart("mixed");
+
+            if(StringUtils.isNotEmpty(filename)){
+                // 附件部分
+                messageBodyPart = new MimeBodyPart();
+                // 设置要发送附件的文件路径
+                DataSource source = new FileDataSource(filename);
+                messageBodyPart.setDataHandler(new DataHandler(source));
+                // messageBodyPart.setFileName(filename);
+                // 处理附件名称中文(附带文件路径)乱码问题
+                messageBodyPart.setFileName(MimeUtility.encodeText(filename));
+                multipart.addBodyPart(messageBodyPart);
+            }
+            //html代码部分
+            MimeBodyPart htmlPart = new MimeBodyPart();
+            multipart.addBodyPart(htmlPart);
+            //html代码
+            htmlPart.setContent(msg, "text/html;charset=utf-8");
+            // 发送完整消息
+            message.setContent(multipart);
+            // 发送消息
+            Transport.send(message, new  Address[]{new InternetAddress(receive)});
+            // System.out.println("Sent message successfully....");
+            return true;
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return false;
+    }
+
+}

+ 12 - 0
src/main/java/com/fdkankan/manage/vo/request/AgentAuditListParam.java

@@ -0,0 +1,12 @@
+package com.fdkankan.manage.vo.request;
+
+import com.fdkankan.common.request.RequestBase;
+import lombok.Data;
+
+@Data
+public class AgentAuditListParam  extends RequestBase {
+    private String startTime;
+    private String endTime;
+    private String companyName;
+    private Integer handleState = 0;        //0 待处理,1已处理
+}

+ 9 - 0
src/main/java/com/fdkankan/manage/vo/request/SceneApplySendEmailParam.java

@@ -0,0 +1,9 @@
+package com.fdkankan.manage.vo.request;
+
+import lombok.Data;
+
+@Data
+public class SceneApplySendEmailParam {
+    private Integer sceneApplyId;
+    private Integer mailTemplateId;
+}

+ 5 - 0
src/main/resources/mapper/manage/AgentAuditMapper.xml

@@ -0,0 +1,5 @@
+<?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.fdkankan.manage.mapper.IAgentAuditMapper">
+
+</mapper>

+ 4 - 4
src/main/resources/mapper/manage/DataMapper.xml

@@ -38,7 +38,7 @@
     </select>
 
 
-    <sql id="type">
+    <sql id="typeSQL">
         <if test="type == 1">
             and is_upgrade = 0
         </if>
@@ -48,18 +48,18 @@
     </sql>
     <select id="totalUserCount" resultType="java.lang.Long">
         select  count(id) from ${tb} where 1=1
-        <include refid="isUp"></include>
+        <include refid="typeSQL"></include>
     </select>
 
     <select id="preMonthAddCount" resultType="java.lang.Long">
         SELECT count(id) FROM ${tb} WHERE
                 date_format(create_time, '%Y %m') = date_format(DATE_SUB(curdate(), INTERVAL 1 MONTH),'%Y %m')
-        <include refid="isUp"></include>
+        <include refid="typeSQL"></include>
     </select>
 
     <select id="todayAddCount" resultType="java.lang.Long">
         SELECT count(id) FROM ${tb} WHERE DATEDIFF(create_time,NOW())=0
-        <include refid="isUp"></include>
+        <include refid="typeSQL"></include>
     </select>
 
     <select id="todayActiveCount" resultType="java.lang.Long">

+ 5 - 0
src/main/resources/mapper/manage/MailTemplateMapper.xml

@@ -0,0 +1,5 @@
+<?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.fdkankan.manage.mapper.IMailTemplateMapper">
+
+</mapper>

+ 5 - 0
src/main/resources/mapper/manage/SceneApplyMapper.xml

@@ -0,0 +1,5 @@
+<?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.fdkankan.manage.mapper.ISceneApplyMapper">
+
+</mapper>