diff --git a/boot-service/src/main/java/com/xwbing/domain/entity/model/EmailModel.java b/boot-service/src/main/java/com/xwbing/domain/entity/model/EmailModel.java index 64faa90..d727ed8 100644 --- a/boot-service/src/main/java/com/xwbing/domain/entity/model/EmailModel.java +++ b/boot-service/src/main/java/com/xwbing/domain/entity/model/EmailModel.java @@ -13,7 +13,12 @@ import java.util.Date; @Data public class EmailModel { public EmailModel() { - //默认值 + this.serverHost = "smtp.163.com"; + this.serverPort = 25; + this.protocol = "smtp"; + this.auth = true; + this.fromEmail="xwbing2009@163.com"; + this.password = "xwbing900417"; } /** @@ -56,8 +61,8 @@ public class EmailModel { * 邮件内容 */ private String centent; - /** - * 邮件附件的文件名 - */ - private String[] attachFileNames; +// /** +// * 邮件附件的文件名 +// */ +// private String[] attachFileNames; } diff --git a/boot-service/src/main/java/com/xwbing/domain/entity/sys/SysConfig.java b/boot-service/src/main/java/com/xwbing/domain/entity/sys/SysConfig.java index c2c9932..2b92a0e 100644 --- a/boot-service/src/main/java/com/xwbing/domain/entity/sys/SysConfig.java +++ b/boot-service/src/main/java/com/xwbing/domain/entity/sys/SysConfig.java @@ -1,14 +1,9 @@ package com.xwbing.domain.entity.sys; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; -import org.hibernate.validator.constraints.Length; -import org.hibernate.validator.constraints.NotBlank; import javax.persistence.Entity; -import javax.validation.constraints.Pattern; /** * 说明: 系统配置 @@ -19,23 +14,23 @@ import javax.validation.constraints.Pattern; @EqualsAndHashCode(callSuper = true) @Data @Entity(name = "system_config") -@ApiModel public class SysConfig extends BaseEntity { private static final long serialVersionUID = -7587016038432881980L; public static String table = "system_config"; - @NotBlank(message = "配置项的code不能为空") - @Length(min = 1, max = 50, message = "code长度为1-50") - @ApiModelProperty(value = "配置项的code", example = "email_config", required = true) + /** + * 配置项的code + */ private String code; - @NotBlank(message = "配置项的value不能为空") - @ApiModelProperty(value = "配置项的值", example = "{}", required = true) + /** + * 配置项的值 + */ private String value; - @NotBlank(message = "配置项的name不能为空") - @Length(min = 1, max = 20, message = "value长度为1-20") - @ApiModelProperty(value = "配置项的描述(名称)", example = "邮箱配置", required = true) + /** + * 配置项的描述(名称) + */ private String name; - @NotBlank(message = "是否启用不能为空") - @Pattern(regexp = "[Y|N]", message = "是否启用格式为Y|N") - @ApiModelProperty(value = "是否启用(Y|N)", example = "Y", required = true) + /** + * 是否启用(Y|N) + */ private String enable; } diff --git a/boot-service/src/main/java/com/xwbing/service/sys/CommonConfigService.java b/boot-service/src/main/java/com/xwbing/service/sys/CommonConfigService.java new file mode 100644 index 0000000..04462a5 --- /dev/null +++ b/boot-service/src/main/java/com/xwbing/service/sys/CommonConfigService.java @@ -0,0 +1,64 @@ +package com.xwbing.service.sys; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.xwbing.constant.CommonConstant; +import com.xwbing.domain.entity.model.EmailModel; +import com.xwbing.domain.entity.sys.SysConfig; +import com.xwbing.util.RestMessage; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; + +/** + * 项目名称: boot-module-demo + * 创建时间: 2018/4/10 17:58 + * 作者: xiangwb + * 说明: 公共配置信息 + */ +@Service +public class CommonConfigService { + @Resource + private SysConfigService sysConfigService; + + /** + * 添加邮箱配置 + * + * @param emailModel + * @return + */ + public RestMessage saveOrUpdateEmail(EmailModel emailModel) { + SysConfig sysConfig = sysConfigService.getByCode(CommonConstant.EMAIL_KEY); + if (sysConfig == null) { + sysConfig = new SysConfig(); + sysConfig.setName("邮箱配置"); + sysConfig.setCode(CommonConstant.EMAIL_KEY); + sysConfig.setEnable(CommonConstant.IS_ENABLE); + sysConfig.setValue(JSON.toJSONString(emailModel)); + return sysConfigService.save(sysConfig); + } else { + sysConfig.setValue(JSON.toJSONString(emailModel)); + return sysConfigService.update(sysConfig); + } + } + + /** + * 获取邮箱信息 + * + * @return + */ + public EmailModel getEmail() { + SysConfig sysConfig = sysConfigService.getByCode(CommonConstant.EMAIL_KEY); + if (sysConfig == null) { + return new EmailModel(); + } else { + String value = sysConfig.getValue(); + if (StringUtils.isEmpty(value)) { + return new EmailModel(); + } else { + return JSONObject.parseObject(value, EmailModel.class); + } + } + } +} diff --git a/boot-service/src/main/java/com/xwbing/service/sys/SysConfigService.java b/boot-service/src/main/java/com/xwbing/service/sys/SysConfigService.java index 45a1816..acd0b8f 100644 --- a/boot-service/src/main/java/com/xwbing/service/sys/SysConfigService.java +++ b/boot-service/src/main/java/com/xwbing/service/sys/SysConfigService.java @@ -1,8 +1,8 @@ package com.xwbing.service.sys; import com.xwbing.domain.entity.sys.SysConfig; -import com.xwbing.exception.BusinessException; import com.xwbing.domain.repository.sys.SysConfigRepository; +import com.xwbing.exception.BusinessException; import com.xwbing.util.PassWordUtil; import com.xwbing.util.RestMessage; import org.slf4j.Logger; diff --git a/boot-service/src/main/java/com/xwbing/util/EmailUtil.java b/boot-service/src/main/java/com/xwbing/util/EmailUtil.java index b700866..73aeedc 100644 --- a/boot-service/src/main/java/com/xwbing/util/EmailUtil.java +++ b/boot-service/src/main/java/com/xwbing/util/EmailUtil.java @@ -34,8 +34,8 @@ public class EmailUtil { throw new UtilException("发送邮件主机不能为空"); } String protocol = emailModel.getProtocol(); - if(protocol==null || "".equals(protocol.trim())){ - protocol="smtp"; + if (protocol == null || "".equals(protocol.trim())) { + protocol = "smtp"; } props.setProperty("mail.transport.protocol", protocol);// 使用的协议(JavaMail规范要求) props.setProperty("mail.smtp.host", serverHost); // 发件人的邮箱的 @@ -83,8 +83,8 @@ public class EmailUtil { multipart.addBodyPart(html); message.setContent(multipart); Date sendTime = emailModel.getSendTime(); - if(sendTime==null){ - sendTime=new Date(); + if (sendTime == null) { + sendTime = new Date(); } message.setSentDate(sendTime);// 设置显示的发件时间 message.saveChanges();// 保存邮件 @@ -138,7 +138,7 @@ public class EmailUtil { // emailModel.setSendTime();默认当前时间 emailModel.setFromEmail("xwbing2009@163.com"); emailModel.setToEmail("786461501@qq.com,xiangwb@drore.com"); - emailModel.setAttachFileNames(null); +// emailModel.setAttachFileNames(null); emailModel.setPassword("xwbing900417"); emailModel.setSubject("测试邮件"); emailModel.setCentent("邮件功能测试,请勿回复"); diff --git a/boot-web/src/main/java/com/xwbing/controller/sys/SysConfigControl.java b/boot-web/src/main/java/com/xwbing/controller/sys/SysConfigControl.java index b368251..41a6997 100644 --- a/boot-web/src/main/java/com/xwbing/controller/sys/SysConfigControl.java +++ b/boot-web/src/main/java/com/xwbing/controller/sys/SysConfigControl.java @@ -2,23 +2,16 @@ package com.xwbing.controller.sys; import com.alibaba.fastjson.JSONObject; import com.xwbing.annotation.LogInfo; -import com.xwbing.domain.entity.sys.SysConfig; -import com.xwbing.domain.entity.vo.ListSysConfigVo; +import com.xwbing.domain.entity.model.EmailModel; import com.xwbing.domain.entity.vo.RestMessageVo; -import com.xwbing.domain.entity.vo.SysConfigVo; -import com.xwbing.service.sys.SysConfigService; +import com.xwbing.service.sys.CommonConfigService; import com.xwbing.util.JsonResult; import com.xwbing.util.RestMessage; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.apache.commons.lang3.StringUtils; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; -import javax.validation.Valid; -import java.util.List; /** * 说明: 系统配置控制层 @@ -30,72 +23,22 @@ import java.util.List; @RestController @RequestMapping("/config/") public class SysConfigControl { - private final Logger logger = LoggerFactory.getLogger(SysConfigControl.class); @Resource - private SysConfigService sysConfigService; + private CommonConfigService commonConfigService; - @LogInfo("新增系统配置信息") - @ApiOperation(value = "新增", notes = "新增系统配置信息", response = RestMessageVo.class) - @PostMapping("save") - public JSONObject save(@RequestBody @Valid SysConfig sysConfig) { - String logMsg = "新增系统配置信息"; - logger.info(logMsg); - RestMessage result = sysConfigService.save(sysConfig); - return JsonResult.toJSONObj(result); + @LogInfo("获取邮箱配置信息") + @ApiOperation(value = "获取邮箱配置信息", response = RestMessageVo.class) + @GetMapping("getEmail") + public JSONObject getEmail() { + EmailModel email = commonConfigService.getEmail(); + return JsonResult.toJSONObj(email, ""); } - @LogInfo("根据code删除系统配置信息") - @ApiOperation(value = "删除", notes = "根据code删除系统配置信息", response = RestMessageVo.class) - @GetMapping("removeByCode") - public JSONObject removeByCode(@RequestParam String code) { - String logMsg = "删除系统配置信息"; - logger.info(logMsg + " code:{}", code); - if (StringUtils.isEmpty(code)) { - return JsonResult.toJSONObj("code不能为空"); - } - RestMessage result = sysConfigService.removeByCode(code); - return JsonResult.toJSONObj(result); - } - - @LogInfo("修改系统配置信息") - @ApiOperation(value = "修改", notes = "修改系统配置信息", response = RestMessageVo.class) - @PostMapping("update") - public JSONObject update(@RequestBody @Valid SysConfig sysConfig) { - String logMsg = "修改系统配置信息"; - logger.info(logMsg); - if (StringUtils.isEmpty(sysConfig.getCode())) { - return JsonResult.toJSONObj("配置项的code不能为空"); - } - RestMessage result = sysConfigService.update(sysConfig); - return JsonResult.toJSONObj(result); - } - - @LogInfo("根据key查找系统配置信息") - @ApiOperation(value = "查找", notes = "根据key查找系统配置信息", response = SysConfigVo.class) - @GetMapping("getByCode") - public JSONObject getByCode(@RequestParam String code) { - String logMsg = "根据code查找系统配置信息"; - logger.info(logMsg + " code:{}", code); - if (StringUtils.isEmpty(code)) { - return JsonResult.toJSONObj("code不能为空"); - } - SysConfig one = sysConfigService.getByCode(code); - if (one == null) { - return JsonResult.toJSONObj("该配置不存在"); - } - return JsonResult.toJSONObj(one, ""); - } - - @LogInfo("根据是否启用查找配置列表") - @ApiOperation(value = "查找列表", notes = "根据是否启用查找配置列表", response = ListSysConfigVo.class) - @GetMapping("listByEnable") - public JSONObject listByEnable(@RequestParam String enable) { - String logMsg = "根据是否启用查找配置列表"; - logger.info(logMsg + " enable:{}", enable); - if (StringUtils.isEmpty(enable)) { - return JsonResult.toJSONObj("是否启用不能为空"); - } - List byEnable = sysConfigService.listByEnable(enable); - return JsonResult.toJSONObj(byEnable, ""); + @LogInfo("添加修改邮箱配置信息") + @ApiOperation(value = "添加修改邮箱配置信息", response = RestMessageVo.class) + @PostMapping("saveOrUpdateEmail") + public JSONObject saveOrUpdateEmail(@RequestBody EmailModel emailModel) { + RestMessage restMessage = commonConfigService.saveOrUpdateEmail(emailModel); + return JsonResult.toJSONObj(restMessage); } }