ycl-platform/src/main/java/com/ycl/common/constant/ChannelCode.java
New file @@ -0,0 +1,24 @@ package com.ycl.common.constant; /** * <p> * 类说明 * </p> * * @author mg * @since 2022-10-17 */ public class ChannelCode { /** * 内站发送 */ public static final String INNER = "01"; /** * 短信发送 */ public static final String SMS = "02"; /** * 邮件发送 */ public static final String MAIL = "03"; } ycl-platform/src/main/java/com/ycl/controller/message/MessageColumnSetController.java
@@ -42,7 +42,7 @@ @ApiOperation("获取指定栏目") @RequestMapping(value = "/getColumnSet/{id}", method = RequestMethod.GET) @ResponseBody public CommonResult<MessageColumnSet> getMessage(@PathVariable Long id) { public CommonResult<MessageColumnSet> getColumnSet(@PathVariable Long id) { MessageColumnSet columnSet = iMessageColumnSetService.getById(id); return CommonResult.success(columnSet); } ycl-platform/src/main/java/com/ycl/controller/message/MessageController.java
@@ -15,6 +15,7 @@ import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.util.Date; import java.util.List; /** @@ -66,7 +67,8 @@ message.setId(id); AdminUserDetails user = (AdminUserDetails) SecurityContextHolder.getContext().getAuthentication().getPrincipal(); //设置创建人 message.setCreateUser(user.getUserId()); message.setUpdateUser(user.getUserId()); message.setUpdateTime(new Date()); BeanUtils.copyProperties(messageParam, message); boolean success = iMessageService.updateById(message); if (success) { ycl-platform/src/main/java/com/ycl/controller/message/MessageSmsAuditController.java
New file @@ -0,0 +1,90 @@ package com.ycl.controller.message; import com.baomidou.mybatisplus.core.metadata.IPage; import com.ycl.api.CommonResult; import com.ycl.bo.AdminUserDetails; import com.ycl.entity.message.SmsAudit; import com.ycl.service.message.ISmsAuditService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.util.Date; import java.util.List; /** * <p> * 短信审核管理 前端控制器 * </p> * * @author mg * @since 2022-10-17 */ @RestController @RequestMapping("/message_audit") @Api(tags = "短信审核管理") public class MessageSmsAuditController { @Autowired private ISmsAuditService iSmsAuditService; @ApiOperation(value = "新增短信审核") @RequestMapping(value = "/addSmsAudit", method = RequestMethod.POST) @ResponseBody public CommonResult addSmsAudit(@Validated @RequestBody SmsAudit smsAudit) { AdminUserDetails user = (AdminUserDetails) SecurityContextHolder.getContext().getAuthentication().getPrincipal(); //设置创建人 smsAudit.setCreateUser(user.getUserId()); smsAudit.setCreateTime(new Date()); smsAudit.setUpdateTime(new Date()); smsAudit.setUpdateUser(user.getUserId()); iSmsAuditService.save(smsAudit); return CommonResult.success(smsAudit); } @ApiOperation(value = "获取短信审核分页查询") @RequestMapping(value = "/list", method = RequestMethod.POST) @ResponseBody public CommonResult<IPage<SmsAudit>> list(@Validated @RequestBody SmsAudit smsAudit) { return CommonResult.success(iSmsAuditService.list(smsAudit)); } @ApiOperation("获取指定短信审核") @RequestMapping(value = "/getSmsAudit/{id}", method = RequestMethod.GET) @ResponseBody public CommonResult<SmsAudit> getSmsAudit(@PathVariable Long id) { SmsAudit smsAudit = iSmsAuditService.getById(id); return CommonResult.success(smsAudit); } @ApiOperation("修改指定短信审核") @RequestMapping(value = "/update/{id}", method = RequestMethod.POST) @ResponseBody public CommonResult update(@PathVariable Long id, @RequestBody SmsAudit smsAudit) { smsAudit.setId(id); AdminUserDetails user = (AdminUserDetails) SecurityContextHolder.getContext().getAuthentication().getPrincipal(); //设置创建人 smsAudit.setUpdateUser(user.getUserId()); smsAudit.setUpdateTime(new Date()); boolean success = iSmsAuditService.updateById(smsAudit); if (success) { return CommonResult.success(null); } return CommonResult.failed(); } @ApiOperation("批量删除短信审核") @RequestMapping(value = "/delete", method = RequestMethod.POST) @ResponseBody public CommonResult delete(@RequestParam("ids") List<Long> ids) { boolean success = iSmsAuditService.removeBatchByIds(ids); if (success) { return CommonResult.success(null); } return CommonResult.failed(); } } ycl-platform/src/main/java/com/ycl/controller/message/MessageSmsTemplateController.java
@@ -1,8 +1,19 @@ package com.ycl.controller.message; import com.baomidou.mybatisplus.core.metadata.IPage; import com.ycl.api.CommonResult; import com.ycl.bo.AdminUserDetails; import com.ycl.entity.message.SmsTemplate; import com.ycl.service.message.ISmsTemplateService; import io.swagger.annotations.Api; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.util.Date; import java.util.List; /** * <p> @@ -14,6 +25,66 @@ */ @RestController @RequestMapping("/message_sms_template") @Api(tags = "用户消息栏目设置") @Api(tags = "短信模板管理") public class MessageSmsTemplateController { @Autowired private ISmsTemplateService iSmsTemplateService; @ApiOperation(value = "新增短信模板") @RequestMapping(value = "/addSmsTemplate", method = RequestMethod.POST) @ResponseBody public CommonResult addSmsTemplate(@Validated @RequestBody SmsTemplate smsTemplate) { AdminUserDetails user = (AdminUserDetails) SecurityContextHolder.getContext().getAuthentication().getPrincipal(); //设置创建人 smsTemplate.setCreateUser(user.getUserId()); smsTemplate.setCreateTime(new Date()); smsTemplate.setUpdateTime(new Date()); smsTemplate.setUpdateUser(user.getUserId()); iSmsTemplateService.save(smsTemplate); return CommonResult.success(smsTemplate); } @ApiOperation(value = "获取短信模板分页查询") @RequestMapping(value = "/list", method = RequestMethod.POST) @ResponseBody public CommonResult<IPage<SmsTemplate>> list(@Validated @RequestBody SmsTemplate smsTemplate) { return CommonResult.success(iSmsTemplateService.list(smsTemplate)); } @ApiOperation("获取指定短信模板") @RequestMapping(value = "/getSmsTemplate/{id}", method = RequestMethod.GET) @ResponseBody public CommonResult<SmsTemplate> getSmsTemplate(@PathVariable Long id) { SmsTemplate smsTemplate = iSmsTemplateService.getById(id); return CommonResult.success(smsTemplate); } @ApiOperation("修改指定短信模板") @RequestMapping(value = "/update/{id}", method = RequestMethod.POST) @ResponseBody public CommonResult update(@PathVariable Long id, @RequestBody SmsTemplate smsTemplate) { smsTemplate.setId(id); AdminUserDetails user = (AdminUserDetails) SecurityContextHolder.getContext().getAuthentication().getPrincipal(); //设置创建人 smsTemplate.setUpdateUser(user.getUserId()); smsTemplate.setUpdateTime(new Date()); boolean success = iSmsTemplateService.updateById(smsTemplate); if (success) { return CommonResult.success(null); } return CommonResult.failed(); } @ApiOperation("批量删除短信模板") @RequestMapping(value = "/delete", method = RequestMethod.POST) @ResponseBody public CommonResult delete(@RequestParam("ids") List<Long> ids) { boolean success = iSmsTemplateService.removeBatchByIds(ids); if (success) { return CommonResult.success(null); } return CommonResult.failed(); } } ycl-platform/src/main/java/com/ycl/controller/region/SccgRegionController.java
@@ -23,7 +23,7 @@ * @since 2022-09-16 */ @RestController @RequestMapping("/sccg-region") @RequestMapping("/sccg_region") @Api(tags = "行政区域") public class SccgRegionController extends BaseController { ycl-platform/src/main/java/com/ycl/entity/message/MessageColumn.java
@@ -10,6 +10,7 @@ import lombok.EqualsAndHashCode; import javax.validation.constraints.NotBlank; import java.io.Serializable; import java.util.Date; /** @@ -24,7 +25,7 @@ @EqualsAndHashCode(callSuper = false) @TableName("ums_message_column") @ApiModel(value = "消息栏目表") public class MessageColumn { public class MessageColumn implements Serializable { private static final long serialVersionUID = 1L; /** * 主键 ycl-platform/src/main/java/com/ycl/entity/message/MessageColumnSet.java
@@ -10,6 +10,7 @@ import lombok.EqualsAndHashCode; import javax.validation.constraints.NotNull; import java.io.Serializable; /** * <p> @@ -23,7 +24,7 @@ @EqualsAndHashCode(callSuper = false) @TableName("ums_message_column_set") @ApiModel(value = "消息栏目用户设置表") public class MessageColumnSet { public class MessageColumnSet implements Serializable { private static final long serialVersionUID = 1L; /** * 主键 ycl-platform/src/main/java/com/ycl/entity/message/SmsAudit.java
New file @@ -0,0 +1,79 @@ package com.ycl.entity.message; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.ycl.api.BasePageVO; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; import java.io.Serializable; import java.util.Date; /** * <p> * 短信审核 实体类 * </p> * * @author mg * @since 2022-10-17 */ @Data @EqualsAndHashCode(callSuper = false) @TableName("ums_sms_audit") @ApiModel(value = "短信审核表") public class SmsAudit extends BasePageVO implements Serializable { private static final long serialVersionUID = 1L; /** * 主键 */ @TableId(value = "id", type = IdType.AUTO) @ApiModelProperty(value = "主键") private Long id; /** * 消息Id */ @TableField("message_id") @ApiModelProperty(value = "消息Id") private Long messageId; /** * 审核人Id */ @TableField("audit_id") @ApiModelProperty(value = "审核人Id") private Long auditId; /** * 审核状态 */ @TableField("audit_status") @ApiModelProperty(value = "审核状态") private Integer auditStatus; /** * 创建人 */ @TableField("create_user") @ApiModelProperty(value = "创建人") private Long createUser; /** * 创建时间 */ @TableField("create_time") @ApiModelProperty(value = "创建时间") private Date createTime; /** * 更新人 */ @TableField("update_user") @ApiModelProperty(value = "创建人") private Long updateUser; /** * 更新时间 */ @TableField("update_time") @ApiModelProperty(value = "更新时间") private Date updateTime; } ycl-platform/src/main/java/com/ycl/entity/message/SmsTemplate.java
@@ -1,12 +1,82 @@ package com.ycl.entity.message; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.ycl.api.BasePageVO; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; import java.io.Serializable; import java.util.Date; /** * <p> * 类说明 * 短信模板 实体类 * </p> * * @author mg * @since 2022-10-14 */ public class SmsTemplate { @Data @EqualsAndHashCode(callSuper = false) @TableName("ums_sms_template") @ApiModel(value = "短信模板表") public class SmsTemplate extends BasePageVO implements Serializable { private static final long serialVersionUID = 1L; /** * 主键 */ @TableId(value = "id", type = IdType.AUTO) @ApiModelProperty(value = "主键") private Long id; /** * 模板类型1-验证码模板2-活动模板 */ @TableField("type") @ApiModelProperty(value = "模板类型1-验证码模板2-活动模板") private Integer type; /** * 标题 */ @TableField("title") @ApiModelProperty(value = "标题") private String title; /** * 消息体 */ @TableField("body") @ApiModelProperty(value = "消息体") private String body; /** * 创建人 */ @TableField("create_user") @ApiModelProperty(value = "创建人") private Long createUser; /** * 创建时间 */ @TableField("create_time") @ApiModelProperty(value = "创建时间") private Date createTime; /** * 更新人 */ @TableField("update_user") @ApiModelProperty(value = "创建人") private Long updateUser; /** * 更新时间 */ @TableField("update_time") @ApiModelProperty(value = "更新时间") private Date updateTime; } ycl-platform/src/main/java/com/ycl/mapper/message/SmsAuditMapper.java
New file @@ -0,0 +1,15 @@ package com.ycl.mapper.message; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ycl.entity.message.SmsAudit; /** * <p> * 短信审核 Mapper 接口 * </p> * * @author mg * @since 2022-10-17 */ public interface SmsAuditMapper extends BaseMapper<SmsAudit> { } ycl-platform/src/main/java/com/ycl/mapper/message/SmsTemplateMapper.java
New file @@ -0,0 +1,15 @@ package com.ycl.mapper.message; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ycl.entity.message.SmsTemplate; /** * <p> * 短信模板 Mapper 接口 * </p> * * @author mg * @since 2022-10-17 */ public interface SmsTemplateMapper extends BaseMapper<SmsTemplate> { } ycl-platform/src/main/java/com/ycl/service/message/ISmsAuditService.java
New file @@ -0,0 +1,17 @@ package com.ycl.service.message; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import com.ycl.entity.message.SmsAudit; /** * <p> * 类说明 * </p> * * @author mg * @since 2022-10-17 */ public interface ISmsAuditService extends IService<SmsAudit> { IPage<SmsAudit> list(SmsAudit smsAudit); } ycl-platform/src/main/java/com/ycl/service/message/ISmsTemplateService.java
New file @@ -0,0 +1,17 @@ package com.ycl.service.message; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import com.ycl.entity.message.SmsTemplate; /** * <p> * 类说明 * </p> * * @author mg * @since 2022-10-17 */ public interface ISmsTemplateService extends IService<SmsTemplate> { IPage<SmsTemplate> list(SmsTemplate smsTemplate); } ycl-platform/src/main/java/com/ycl/service/message/factory/InnerSender.java
@@ -1,5 +1,6 @@ package com.ycl.service.message.factory; import com.ycl.common.constant.ChannelCode; import com.ycl.common.util.UtilNumber; import com.ycl.dto.message.MessageParam; import com.ycl.entity.message.Message; @@ -49,6 +50,11 @@ if (messageAdd.getSendTime() == null) { messageAdd.setSendTime(new Date()); } if (ChannelCode.MAIL.equals(messageParam.getChannelCode())) { messageAdd.setIsScan(1); } else { messageAdd.setIsScan(0); } //生成默认参数 messageAdd.setCreateTime(new Date()); messageAdd.setUpdateTime(new Date()); @@ -56,7 +62,6 @@ messageAdd.setUpdateUser(messageParam.getCreateUser()); messageAdd.setIsView(0); messageAdd.setVersion(0); messageAdd.setIsScan(1); messages.add(messageAdd); } BeanUtils.copyProperties(messageParam, message); ycl-platform/src/main/java/com/ycl/service/message/impl/MessageServiceImpl.java
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ycl.common.constant.ChannelCode; import com.ycl.dto.message.MessageParam; import com.ycl.entity.message.Message; import com.ycl.exception.ApiException; @@ -39,11 +40,11 @@ switch (messageParam.getChannelCode()) { //内站发送 case "01": case ChannelCode.INNER: provider = new InnerFactory(); break; //邮件发送 case "02": case ChannelCode.SMS: provider = new MailFactory(); //id换成邮箱号 String targetToMail = adminService.getTargetTo(messageParam.getTargetTo(), messageParam.getChannelCode()); @@ -51,7 +52,7 @@ break; //短信发送 case "03": case ChannelCode.MAIL: provider = new SmsFactory(); //id换成手机号 String targetToPhone = adminService.getTargetTo(messageParam.getTargetTo(), messageParam.getChannelCode()); ycl-platform/src/main/java/com/ycl/service/message/impl/SmsAuditServiceImpl.java
New file @@ -0,0 +1,32 @@ package com.ycl.service.message.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ycl.entity.message.SmsAudit; import com.ycl.mapper.message.SmsAuditMapper; import com.ycl.service.message.ISmsAuditService; import org.springframework.stereotype.Service; /** * <p> * 短信审核 服务实现类 * </p> * * @author mg * @since 2022-10-17 */ @Service public class SmsAuditServiceImpl extends ServiceImpl<SmsAuditMapper, SmsAudit> implements ISmsAuditService { @Override public IPage<SmsAudit> list(SmsAudit smsAudit) { Page<SmsAudit> page = new Page<>(smsAudit.getCurrent(), smsAudit.getPageSize()); LambdaQueryWrapper<SmsAudit> queryWrapper = new LambdaQueryWrapper<>(); if (smsAudit.getAuditStatus() != null) { queryWrapper.eq(SmsAudit::getAuditStatus, smsAudit.getAuditStatus()); } Page<SmsAudit> result = baseMapper.selectPage(page, queryWrapper); return result; } } ycl-platform/src/main/java/com/ycl/service/message/impl/SmsTemplateServiceImpl.java
New file @@ -0,0 +1,35 @@ package com.ycl.service.message.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ycl.entity.message.SmsTemplate; import com.ycl.mapper.message.SmsTemplateMapper; import com.ycl.service.message.ISmsTemplateService; import org.springframework.stereotype.Service; /** * <p> * 短信模板 服务实现类 * </p> * * @author mg * @since 2022-10-17 */ @Service public class SmsTemplateServiceImpl extends ServiceImpl<SmsTemplateMapper, SmsTemplate> implements ISmsTemplateService { @Override public IPage<SmsTemplate> list(SmsTemplate smsTemplate) { Page<SmsTemplate> page = new Page<>(smsTemplate.getCurrent(), smsTemplate.getPageSize()); LambdaQueryWrapper<SmsTemplate> queryWrapper = new LambdaQueryWrapper<>(); if (smsTemplate.getType() != null) { queryWrapper.eq(SmsTemplate::getType, smsTemplate.getType()); } if (smsTemplate.getTitle() != null) { queryWrapper.eq(SmsTemplate::getTitle, smsTemplate.getTitle()); } Page<SmsTemplate> result = baseMapper.selectPage(page, queryWrapper); return result; } }