feat: 更改数据库主键id生成策略

This commit is contained in:
landaiqing
2024-06-20 00:07:12 +08:00
parent 962b82dd01
commit 8ce221d28a
64 changed files with 1406 additions and 431 deletions

View File

@@ -1,18 +1,21 @@
package com.schisandra.system.api;
import com.schisandra.system.entity.Result;
import com.schisandra.system.entity.SchisandraSmsConfigDTO;
import com.schisandra.system.entity.SchisandraSysConfigDTO;
import com.schisandra.system.entity.SchisandraSysOauthDTO;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
@FeignClient("schisandra-cloud-storage-system")
public interface SchisandraSystemFeignService {
@PostMapping(value = "/system/getConfigByKey")
Result<SchisandraSysConfigDTO> getConfigByKey(@RequestParam(value = "key") String key);
@PostMapping("/system/oauth/getOauthConfigByType")
Result<SchisandraSysOauthDTO> getOauthConfigByType(@RequestParam("type") String type);
@PostMapping("/system/sms/querySmsByConfigId")
Result<SchisandraSmsConfigDTO> querySmsByConfigId(@RequestParam(value = "configId") String configId);
}

View File

@@ -0,0 +1,233 @@
package com.schisandra.system.entity;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 短信配置信息表 dto
*
* @author landaiqing
* @since 2024-06-19 22:20:47
*/
@Data
public class SchisandraSmsConfigDTO implements Serializable {
/**
* id
*/
private Integer id;
/**
* 配置id
*/
private String configId;
/**
* 请求地址
*/
private String requestUrl;
/**
* 模板变量名称
*/
private String templateName;
/**
* 接口名称
*/
private String action;
/**
* 地域信息
*/
private String region;
/**
*
*/
private String accessKeyId;
/**
*
*/
private String accessKeySecret;
/**
* 厂商名称标识
*/
private String supplier;
/**
* 短信签名
*/
private String signature;
/**
*
*/
private String sdkAppId;
/**
* 模板ID
*/
private String templateId;
/**
* 权重
*/
private Integer weight;
/**
* 短信重试次数默认0次不重试
*/
private Integer retryInterval;
/**
* 短信重试次数默认0次不重试
*/
private Integer maxRetries;
/**
* 厂商的发送数量上限,默认不设置上限
*/
private Long maximum;
/**
* REST API Base URL
*/
private String baseUrl;
/**
* 请求域名
*/
private String serverIp;
/**
* 请求端口
*/
private Integer serverPort;
/**
* 国内短信签名通道号
*/
private String sender;
/**
* 短信状态报告接收地
*/
private String statusCallBack;
/**
* APP接入地址
*/
private String url;
/**
* 模板短信请求地址
*/
private String templateUrl;
/**
* 验证码短信请求地址
*/
private String codeUrl;
/**
* 验证码验证请求地址
*/
private String verifyUrl;
/**
* 是否需要支持短信上行。true:需要false:不需要false
*/
private String needUp;
/**
* 请求超时时间
*/
private Integer connTimeout;
/**
* 是否为简易模式
*/
private String isSimple;
/**
* 短信发送后将向这个地址推送(运营商返回的)发送报告
*/
private String callbackUrl;
/**
* 企业ID
*/
private Integer mchId;
/**
*
*/
private String appKey;
/**
*
*/
private Integer appId;
/**
* 版本号
*/
private String version;
/**
* 单发链接
*/
private String singleMsgUrl;
/**
* 群发链接
*/
private String massMsgUrl;
/**
* 签名ID
*/
private String signatureId;
/**
* 创建人
*/
private String createdBy;
/**
* 创建时间
*/
private Date createdTime;
/**
* 更新时间
*/
private Date updateTime;
/**
* 更新人
*/
private String updateBy;
/**
* 是否删除 0 未删除 1已删除
*/
private Integer isDeleted;
/**
*
*/
private String extraJson;
/**
* 服务名
*/
private String service;
}

View File

@@ -0,0 +1,235 @@
package com.schisandra.system.application.controller;
import com.alibaba.fastjson.JSON;
import com.google.common.base.Preconditions;
import com.schisandra.system.application.convert.SchisandraSmsConfigDTOConverter;
import com.schisandra.system.application.dto.SchisandraSmsConfigDTO;
import com.schisandra.system.common.entity.Result;
import com.schisandra.system.domain.bo.SchisandraSmsConfigBO;
import com.schisandra.system.domain.service.SchisandraSmsConfigDomainService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
/**
* 短信配置信息表 controller
*
* @author landaiqing
* @since 2024-06-19 22:20:47
*/
@RestController
@RequestMapping("/system/sms/")
@Slf4j
public class SchisandraSmsConfigController {
@Resource
private SchisandraSmsConfigDomainService schisandraSmsConfigDomainService;
/**
* 新增短信配置信息表
*/
@RequestMapping("add")
public Result<Boolean> add(@RequestBody SchisandraSmsConfigDTO schisandraSmsConfigDTO) {
try {
if (log.isInfoEnabled()) {
log.info("SchisandraSmsConfigController.add.dto:{}", JSON.toJSONString(schisandraSmsConfigDTO));
}
Preconditions.checkNotNull(schisandraSmsConfigDTO.getId(), "id不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getConfigId(), "配置id不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getRequestUrl(), "请求地址不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getTemplateName(), "模板变量名称不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getAction(), "接口名称不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getRegion(), "地域信息不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getAccessKeyId(), "不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getAccessKeySecret(), "不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getSupplier(), "厂商名称标识不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getSignature(), "短信签名不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getSdkAppId(), "不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getTemplateId(), "模板ID不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getWeight(), "权重不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getRetryInterval(), "短信重试次数默认0次不重试不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getMaxRetries(), "短信重试次数默认0次不重试不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getMaximum(), "厂商的发送数量上限,默认不设置上限不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getBaseUrl(), "REST API Base URL不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getServerIp(), "请求域名不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getServerPort(), "请求端口不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getSender(), "国内短信签名通道号不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getStatusCallBack(), "短信状态报告接收地不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getUrl(), "APP接入地址不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getTemplateUrl(), "模板短信请求地址不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getCodeUrl(), "验证码短信请求地址不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getVerifyUrl(), "验证码验证请求地址不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getNeedUp(), "是否需要支持短信上行。true:需要false:不需要false不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getConnTimeout(), "请求超时时间不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getIsSimple(), "是否为简易模式不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getCallbackUrl(), "短信发送后将向这个地址推送(运营商返回的)发送报告不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getMchId(), "企业ID不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getAppKey(), "不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getAppId(), "不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getVersion(), "版本号不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getSingleMsgUrl(), "单发链接不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getMassMsgUrl(), "群发链接不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getSignatureId(), "签名ID不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getCreatedBy(), "创建人不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getCreatedTime(), "创建时间不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getUpdateTime(), "更新时间不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getUpdateBy(), "更新人不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getIsDeleted(), "是否删除 0 未删除 1已删除不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getExtraJson(), "不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getService(), "服务名不能为空");
SchisandraSmsConfigBO SchisandraSmsConfigBO = SchisandraSmsConfigDTOConverter.INSTANCE.convertDTOToBO(schisandraSmsConfigDTO);
return Result.ok(schisandraSmsConfigDomainService.add(SchisandraSmsConfigBO));
} catch (Exception e) {
log.error("SchisandraSmsConfigController.register.error:{}", e.getMessage(), e);
return Result.fail("新增短信配置信息表失败");
}
}
/**
* 修改短信配置信息表
*/
@RequestMapping("update")
public Result<Boolean> update(@RequestBody SchisandraSmsConfigDTO schisandraSmsConfigDTO) {
try {
if (log.isInfoEnabled()) {
log.info("SchisandraSmsConfigController.update.dto:{}", JSON.toJSONString(schisandraSmsConfigDTO));
}
Preconditions.checkNotNull(schisandraSmsConfigDTO.getId(), "id不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getConfigId(), "配置id不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getRequestUrl(), "请求地址不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getTemplateName(), "模板变量名称不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getAction(), "接口名称不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getRegion(), "地域信息不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getAccessKeyId(), "不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getAccessKeySecret(), "不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getSupplier(), "厂商名称标识不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getSignature(), "短信签名不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getSdkAppId(), "不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getTemplateId(), "模板ID不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getWeight(), "权重不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getRetryInterval(), "短信重试次数默认0次不重试不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getMaxRetries(), "短信重试次数默认0次不重试不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getMaximum(), "厂商的发送数量上限,默认不设置上限不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getBaseUrl(), "REST API Base URL不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getServerIp(), "请求域名不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getServerPort(), "请求端口不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getSender(), "国内短信签名通道号不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getStatusCallBack(), "短信状态报告接收地不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getUrl(), "APP接入地址不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getTemplateUrl(), "模板短信请求地址不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getCodeUrl(), "验证码短信请求地址不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getVerifyUrl(), "验证码验证请求地址不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getNeedUp(), "是否需要支持短信上行。true:需要false:不需要false不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getConnTimeout(), "请求超时时间不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getIsSimple(), "是否为简易模式不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getCallbackUrl(), "短信发送后将向这个地址推送(运营商返回的)发送报告不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getMchId(), "企业ID不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getAppKey(), "不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getAppId(), "不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getVersion(), "版本号不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getSingleMsgUrl(), "单发链接不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getMassMsgUrl(), "群发链接不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getSignatureId(), "签名ID不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getCreatedBy(), "创建人不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getCreatedTime(), "创建时间不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getUpdateTime(), "更新时间不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getUpdateBy(), "更新人不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getIsDeleted(), "是否删除 0 未删除 1已删除不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getExtraJson(), "不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getService(), "服务名不能为空");
SchisandraSmsConfigBO schisandraSmsConfigBO = SchisandraSmsConfigDTOConverter.INSTANCE.convertDTOToBO(schisandraSmsConfigDTO);
return Result.ok(schisandraSmsConfigDomainService.update(schisandraSmsConfigBO));
} catch (Exception e) {
log.error("SchisandraSmsConfigController.update.error:{}", e.getMessage(), e);
return Result.fail("更新短信配置信息表信息失败");
}
}
/**
* 删除短信配置信息表
*/
@RequestMapping("delete")
public Result<Boolean> delete(@RequestBody SchisandraSmsConfigDTO schisandraSmsConfigDTO) {
try {
if (log.isInfoEnabled()) {
log.info("SchisandraSmsConfigController.delete.dto:{}", JSON.toJSONString(schisandraSmsConfigDTO));
}
Preconditions.checkNotNull(schisandraSmsConfigDTO.getId(), "id不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getConfigId(), "配置id不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getRequestUrl(), "请求地址不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getTemplateName(), "模板变量名称不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getAction(), "接口名称不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getRegion(), "地域信息不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getAccessKeyId(), "不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getAccessKeySecret(), "不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getSupplier(), "厂商名称标识不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getSignature(), "短信签名不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getSdkAppId(), "不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getTemplateId(), "模板ID不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getWeight(), "权重不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getRetryInterval(), "短信重试次数默认0次不重试不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getMaxRetries(), "短信重试次数默认0次不重试不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getMaximum(), "厂商的发送数量上限,默认不设置上限不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getBaseUrl(), "REST API Base URL不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getServerIp(), "请求域名不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getServerPort(), "请求端口不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getSender(), "国内短信签名通道号不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getStatusCallBack(), "短信状态报告接收地不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getUrl(), "APP接入地址不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getTemplateUrl(), "模板短信请求地址不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getCodeUrl(), "验证码短信请求地址不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getVerifyUrl(), "验证码验证请求地址不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getNeedUp(), "是否需要支持短信上行。true:需要false:不需要false不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getConnTimeout(), "请求超时时间不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getIsSimple(), "是否为简易模式不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getCallbackUrl(), "短信发送后将向这个地址推送(运营商返回的)发送报告不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getMchId(), "企业ID不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getAppKey(), "不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getAppId(), "不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getVersion(), "版本号不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getSingleMsgUrl(), "单发链接不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getMassMsgUrl(), "群发链接不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getSignatureId(), "签名ID不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getCreatedBy(), "创建人不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getCreatedTime(), "创建时间不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getUpdateTime(), "更新时间不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getUpdateBy(), "更新人不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getIsDeleted(), "是否删除 0 未删除 1已删除不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getExtraJson(), "不能为空");
Preconditions.checkNotNull(schisandraSmsConfigDTO.getService(), "服务名不能为空");
SchisandraSmsConfigBO schisandraSmsConfigBO = SchisandraSmsConfigDTOConverter.INSTANCE.convertDTOToBO(schisandraSmsConfigDTO);
return Result.ok(schisandraSmsConfigDomainService.delete(schisandraSmsConfigBO));
} catch (Exception e) {
log.error("SchisandraSmsConfigController.delete.error:{}", e.getMessage(), e);
return Result.fail("删除短信配置信息表信息失败");
}
}
/**
* @description: 根据短信厂商获取短信配置信息
* @param: [configId]
* @return: com.schisandra.system.common.entity.Result<com.schisandra.system.application.dto.SchisandraSmsConfigDTO>
* @author: landaiqing
* @date: 2024/6/19 22:36
*/
@PostMapping("querySmsByConfigId")
public Result<SchisandraSmsConfigDTO> querySmsByConfigId(@RequestParam(value = "configId") String configId) {
log.info("SchisandraSmsConfigController.querySmsByConfigId.configId:{}", configId);
Preconditions.checkNotNull(configId, "短信configId不能为空");
SchisandraSmsConfigBO schisandraSmsConfigBO = schisandraSmsConfigDomainService.queryByConfigId(configId);
if (ObjectUtils.isEmpty(schisandraSmsConfigBO)) {
return Result.fail("查询短信配置信息表信息失败");
}
SchisandraSmsConfigDTO schisandraSmsConfigDTO = SchisandraSmsConfigDTOConverter.INSTANCE.convertBOToDTO(schisandraSmsConfigBO);
return Result.ok(schisandraSmsConfigDTO);
}
}

View File

@@ -0,0 +1,22 @@
package com.schisandra.system.application.convert;
import com.schisandra.system.application.dto.SchisandraSmsConfigDTO;
import com.schisandra.system.domain.bo.SchisandraSmsConfigBO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
/**
* 短信配置信息表 dto转换器
*
* @author landaiqing
* @since 2024-06-19 22:20:47
*/
@Mapper
public interface SchisandraSmsConfigDTOConverter {
SchisandraSmsConfigDTOConverter INSTANCE = Mappers.getMapper(SchisandraSmsConfigDTOConverter.class);
SchisandraSmsConfigBO convertDTOToBO(SchisandraSmsConfigDTO schisandraSmsConfigDTO);
SchisandraSmsConfigDTO convertBOToDTO(SchisandraSmsConfigBO schisandraSmsConfigBO);
}

View File

@@ -0,0 +1,233 @@
package com.schisandra.system.application.dto;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 短信配置信息表 dto
*
* @author landaiqing
* @since 2024-06-19 22:20:47
*/
@Data
public class SchisandraSmsConfigDTO implements Serializable {
/**
* id
*/
private Integer id;
/**
* 配置id
*/
private String configId;
/**
* 请求地址
*/
private String requestUrl;
/**
* 模板变量名称
*/
private String templateName;
/**
* 接口名称
*/
private String action;
/**
* 地域信息
*/
private String region;
/**
*
*/
private String accessKeyId;
/**
*
*/
private String accessKeySecret;
/**
* 厂商名称标识
*/
private String supplier;
/**
* 短信签名
*/
private String signature;
/**
*
*/
private String sdkAppId;
/**
* 模板ID
*/
private String templateId;
/**
* 权重
*/
private Integer weight;
/**
* 短信重试次数默认0次不重试
*/
private Integer retryInterval;
/**
* 短信重试次数默认0次不重试
*/
private Integer maxRetries;
/**
* 厂商的发送数量上限,默认不设置上限
*/
private Long maximum;
/**
* REST API Base URL
*/
private String baseUrl;
/**
* 请求域名
*/
private String serverIp;
/**
* 请求端口
*/
private Integer serverPort;
/**
* 国内短信签名通道号
*/
private String sender;
/**
* 短信状态报告接收地
*/
private String statusCallBack;
/**
* APP接入地址
*/
private String url;
/**
* 模板短信请求地址
*/
private String templateUrl;
/**
* 验证码短信请求地址
*/
private String codeUrl;
/**
* 验证码验证请求地址
*/
private String verifyUrl;
/**
* 是否需要支持短信上行。true:需要false:不需要false
*/
private String needUp;
/**
* 请求超时时间
*/
private Integer connTimeout;
/**
* 是否为简易模式
*/
private String isSimple;
/**
* 短信发送后将向这个地址推送(运营商返回的)发送报告
*/
private String callbackUrl;
/**
* 企业ID
*/
private Integer mchId;
/**
*
*/
private String appKey;
/**
*
*/
private Integer appId;
/**
* 版本号
*/
private String version;
/**
* 单发链接
*/
private String singleMsgUrl;
/**
* 群发链接
*/
private String massMsgUrl;
/**
* 签名ID
*/
private String signatureId;
/**
* 创建人
*/
private String createdBy;
/**
* 创建时间
*/
private Date createdTime;
/**
* 更新时间
*/
private Date updateTime;
/**
* 更新人
*/
private String updateBy;
/**
* 是否删除 0 未删除 1已删除
*/
private Integer isDeleted;
/**
*
*/
private String extraJson;
/**
* 服务名
*/
private String service;
}

View File

@@ -0,0 +1,232 @@
package com.schisandra.system.domain.bo;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 短信配置信息表 bo
*
* @author landaiqing
* @since 2024-06-19 22:20:47
*/
@Data
public class SchisandraSmsConfigBO implements Serializable {
/**
* id
*/
private Integer id;
/**
* 配置id
*/
private String configId;
/**
* 请求地址
*/
private String requestUrl;
/**
* 模板变量名称
*/
private String templateName;
/**
* 接口名称
*/
private String action;
/**
* 地域信息
*/
private String region;
/**
*
*/
private String accessKeyId;
/**
*
*/
private String accessKeySecret;
/**
* 厂商名称标识
*/
private String supplier;
/**
* 短信签名
*/
private String signature;
/**
*
*/
private String sdkAppId;
/**
* 模板ID
*/
private String templateId;
/**
* 权重
*/
private Integer weight;
/**
* 短信重试次数默认0次不重试
*/
private Integer retryInterval;
/**
* 短信重试次数默认0次不重试
*/
private Integer maxRetries;
/**
* 厂商的发送数量上限,默认不设置上限
*/
private Long maximum;
/**
* REST API Base URL
*/
private String baseUrl;
/**
* 请求域名
*/
private String serverIp;
/**
* 请求端口
*/
private Integer serverPort;
/**
* 国内短信签名通道号
*/
private String sender;
/**
* 短信状态报告接收地
*/
private String statusCallBack;
/**
* APP接入地址
*/
private String url;
/**
* 模板短信请求地址
*/
private String templateUrl;
/**
* 验证码短信请求地址
*/
private String codeUrl;
/**
* 验证码验证请求地址
*/
private String verifyUrl;
/**
* 是否需要支持短信上行。true:需要false:不需要false
*/
private String needUp;
/**
* 请求超时时间
*/
private Integer connTimeout;
/**
* 是否为简易模式
*/
private String isSimple;
/**
* 短信发送后将向这个地址推送(运营商返回的)发送报告
*/
private String callbackUrl;
/**
* 企业ID
*/
private Integer mchId;
/**
*
*/
private String appKey;
/**
*
*/
private Integer appId;
/**
* 版本号
*/
private String version;
/**
* 单发链接
*/
private String singleMsgUrl;
/**
* 群发链接
*/
private String massMsgUrl;
/**
* 签名ID
*/
private String signatureId;
/**
* 创建人
*/
private String createdBy;
/**
* 创建时间
*/
private Date createdTime;
/**
* 更新时间
*/
private Date updateTime;
/**
* 更新人
*/
private String updateBy;
/**
* 是否删除 0 未删除 1已删除
*/
private Integer isDeleted;
/**
*
*/
private String extraJson;
/**
* 服务名
*/
private String service;
}

View File

@@ -0,0 +1,22 @@
package com.schisandra.system.domain.convert;
import com.schisandra.system.domain.bo.SchisandraSmsConfigBO;
import com.schisandra.system.infra.basic.entity.SchisandraSmsConfig;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
/**
* 短信配置信息表 bo转换器
*
* @author landaiqing
* @since 2024-06-19 22:20:47
*/
@Mapper
public interface SchisandraSmsConfigBOConverter {
SchisandraSmsConfigBOConverter INSTANCE = Mappers.getMapper(SchisandraSmsConfigBOConverter.class);
SchisandraSmsConfig convertBOToEntity(SchisandraSmsConfigBO schisandraSmsConfigBO);
SchisandraSmsConfigBO convertEntityToBO(SchisandraSmsConfig schisandraSmsConfig);
}

View File

@@ -0,0 +1,31 @@
package com.schisandra.system.domain.service;
import com.schisandra.system.domain.bo.SchisandraSmsConfigBO;
/**
* 短信配置信息表 领域service
*
* @author landaiqing
* @since 2024-06-19 22:20:47
*/
public interface SchisandraSmsConfigDomainService {
/**
* 添加 短信配置信息表 信息
*/
Boolean add(SchisandraSmsConfigBO schisandraSmsConfigBO);
/**
* 更新 短信配置信息表 信息
*/
Boolean update(SchisandraSmsConfigBO schisandraSmsConfigBO);
/**
* 删除 短信配置信息表 信息
*/
Boolean delete(SchisandraSmsConfigBO schisandraSmsConfigBO);
SchisandraSmsConfigBO queryByConfigId(String configId);
}

View File

@@ -0,0 +1,55 @@
package com.schisandra.system.domain.service.impl;
import com.schisandra.system.common.enums.IsDeletedFlagEnum;
import com.schisandra.system.domain.convert.SchisandraSmsConfigBOConverter;
import com.schisandra.system.domain.bo.SchisandraSmsConfigBO;
import com.schisandra.system.domain.service.SchisandraSmsConfigDomainService;
import com.schisandra.system.infra.basic.entity.SchisandraSmsConfig;
import com.schisandra.system.infra.basic.service.SchisandraSmsConfigService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
/**
* 短信配置信息表 领域service实现了
*
* @author landaiqing
* @since 2024-06-19 22:20:47
*/
@Service
@Slf4j
public class SchisandraSmsConfigDomainServiceImpl implements SchisandraSmsConfigDomainService {
@Resource
private SchisandraSmsConfigService schisandraSmsConfigService;
@Override
public Boolean add(SchisandraSmsConfigBO schisandraSmsConfigBO) {
SchisandraSmsConfig schisandraSmsConfig = SchisandraSmsConfigBOConverter.INSTANCE.convertBOToEntity(schisandraSmsConfigBO);
schisandraSmsConfig.setIsDeleted(IsDeletedFlagEnum.UN_DELETED.getCode());
return schisandraSmsConfigService.insert(schisandraSmsConfig) > 0;
}
@Override
public Boolean update(SchisandraSmsConfigBO schisandraSmsConfigBO) {
SchisandraSmsConfig schisandraSmsConfig = SchisandraSmsConfigBOConverter.INSTANCE.convertBOToEntity(schisandraSmsConfigBO);
return schisandraSmsConfigService.update(schisandraSmsConfig) > 0;
}
@Override
public Boolean delete(SchisandraSmsConfigBO schisandraSmsConfigBO) {
SchisandraSmsConfig schisandraSmsConfig = new SchisandraSmsConfig();
schisandraSmsConfig.setId(schisandraSmsConfigBO.getId());
schisandraSmsConfig.setIsDeleted(IsDeletedFlagEnum.DELETED.getCode());
return schisandraSmsConfigService.update(schisandraSmsConfig) > 0;
}
@Override
public SchisandraSmsConfigBO queryByConfigId(String configId) {
SchisandraSmsConfig schisandraSmsConfig= schisandraSmsConfigService.queryByConfigId(configId);
return SchisandraSmsConfigBOConverter.INSTANCE.convertEntityToBO(schisandraSmsConfig);
}
}

View File

@@ -49,8 +49,7 @@ public class SchisandraSysOauthDomainServiceImpl implements SchisandraSysOauthDo
@Override
public SchisandraSysOauthBO getOauthConfigByType(String type) {
SchisandraSysOauth schisandraSysOauth= schisandraSysOauthService.getOauthConfigByType(type);
SchisandraSysOauthBO schisandraSysOauthBO = SchisandraSysOauthBOConverter.INSTANCE.convertEntityToBO(schisandraSysOauth);
return schisandraSysOauthBO;
return SchisandraSysOauthBOConverter.INSTANCE.convertEntityToBO(schisandraSysOauth);
}
}

View File

@@ -0,0 +1,17 @@
package com.schisandra.system.infra.basic.dao;
import com.schisandra.system.infra.basic.entity.SchisandraSmsConfig;
import com.mybatisflex.core.BaseMapper;
import org.springframework.stereotype.Repository;
/**
* 短信配置信息表 表数据库访问层
*
* @author landaiqing
* @since 2024-06-19 22:20:47
*/
@Repository
public interface SchisandraSmsConfigDao extends BaseMapper<SchisandraSmsConfig> {
}

View File

@@ -0,0 +1,282 @@
package com.schisandra.system.infra.basic.entity;
import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.annotation.Table;
import com.mybatisflex.core.keygen.KeyGenerators;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 短信配置信息表 实体类
*
* @author landaiqing
* @since 2024-06-19 22:20:47
*/
@Data
@Table("schisandra_sms_config")
public class SchisandraSmsConfig implements Serializable {
/**
* id
*/
@Id(keyType=KeyType.Generator, value= KeyGenerators.flexId)
private Integer id;
/**
* 配置id
*/
@Column("config_id")
private String configId;
/**
* 请求地址
*/
@Column("request_url")
private String requestUrl;
/**
* 模板变量名称
*/
@Column("template_name")
private String templateName;
/**
* 接口名称
*/
@Column("action")
private String action;
/**
* 地域信息
*/
@Column("region")
private String region;
/**
*
*/
@Column("access_key_id")
private String accessKeyId;
/**
*
*/
@Column("access_key_secret")
private String accessKeySecret;
/**
* 厂商名称标识
*/
@Column("supplier")
private String supplier;
/**
* 短信签名
*/
@Column("signature")
private String signature;
/**
*
*/
@Column("sdk_app_id")
private String sdkAppId;
/**
* 模板ID
*/
@Column("template_id")
private String templateId;
/**
* 权重
*/
@Column("weight")
private Integer weight;
/**
* 短信重试次数默认0次不重试
*/
@Column("retry_interval")
private Integer retryInterval;
/**
* 短信重试次数默认0次不重试
*/
@Column("max_retries")
private Integer maxRetries;
/**
* 厂商的发送数量上限,默认不设置上限
*/
@Column("maximum")
private Long maximum;
/**
* REST API Base URL
*/
@Column("base_url")
private String baseUrl;
/**
* 请求域名
*/
@Column("server_ip")
private String serverIp;
/**
* 请求端口
*/
@Column("server_port")
private Integer serverPort;
/**
* 国内短信签名通道号
*/
@Column("sender")
private String sender;
/**
* 短信状态报告接收地
*/
@Column("status_call_back")
private String statusCallBack;
/**
* APP接入地址
*/
@Column("url")
private String url;
/**
* 模板短信请求地址
*/
@Column("template_url")
private String templateUrl;
/**
* 验证码短信请求地址
*/
@Column("code_url")
private String codeUrl;
/**
* 验证码验证请求地址
*/
@Column("verify_url")
private String verifyUrl;
/**
* 是否需要支持短信上行。true:需要false:不需要false
*/
@Column("need_up")
private String needUp;
/**
* 请求超时时间
*/
@Column("conn_timeout")
private Integer connTimeout;
/**
* 是否为简易模式
*/
@Column("is_simple")
private String isSimple;
/**
* 短信发送后将向这个地址推送(运营商返回的)发送报告
*/
@Column("callback_url")
private String callbackUrl;
/**
* 企业ID
*/
@Column("mch_id")
private Integer mchId;
/**
*
*/
@Column("app_key")
private String appKey;
/**
*
*/
@Column("app_id")
private Integer appId;
/**
* 版本号
*/
@Column("version")
private String version;
/**
* 单发链接
*/
@Column("single_msg_url")
private String singleMsgUrl;
/**
* 群发链接
*/
@Column("mass_msg_url")
private String massMsgUrl;
/**
* 签名ID
*/
@Column("signature_Id")
private String signatureId;
/**
* 创建人
*/
@Column("created_by")
private String createdBy;
/**
* 创建时间
*/
@Column("created_time")
private Date createdTime;
/**
* 更新时间
*/
@Column("update_time")
private Date updateTime;
/**
* 更新人
*/
@Column("update_by")
private String updateBy;
/**
* 是否删除 0 未删除 1已删除
*/
@Column(value = "is_deleted",isLogicDelete = true)
private Integer isDeleted;
/**
*
*/
@Column("extra_json")
private String extraJson;
/**
* 服务名
*/
@Column("service")
private String service;
}

View File

@@ -4,6 +4,7 @@ import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.annotation.Table;
import com.mybatisflex.core.keygen.KeyGenerators;
import lombok.Data;
import java.io.Serializable;
@@ -22,7 +23,7 @@ public class SchisandraSysConfig implements Serializable {
/**
* id
*/
@Id(value = "id", keyType = KeyType.Auto)
@Id(keyType=KeyType.Generator, value= KeyGenerators.flexId)
private Long id;
/**

View File

@@ -5,6 +5,7 @@ import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.annotation.Table;
import com.mybatisflex.core.keygen.KeyGenerators;
import lombok.Data;
import java.io.Serializable;
@@ -24,7 +25,7 @@ public class SchisandraSysLog implements Serializable {
/**
* 编号
*/
@Id(value = "id", keyType = KeyType.Auto)
@Id(keyType=KeyType.Generator, value= KeyGenerators.flexId)
private Long id;
/**

View File

@@ -4,6 +4,7 @@ import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.annotation.Table;
import com.mybatisflex.core.keygen.KeyGenerators;
import lombok.Data;
import java.io.Serializable;
@@ -22,7 +23,7 @@ public class SchisandraSysOauth implements Serializable {
/**
*
*/
@Id(value = "id", keyType = KeyType.Auto)
@Id(keyType=KeyType.Generator, value= KeyGenerators.flexId)
private Long id;
/**

View File

@@ -0,0 +1,47 @@
package com.schisandra.system.infra.basic.service;
import com.schisandra.system.infra.basic.entity.SchisandraSmsConfig;
/**
* 短信配置信息表 表服务接口
*
* @author landaiqing
* @since 2024-06-19 22:20:47
*/
public interface SchisandraSmsConfigService {
/**
* 通过ID查询单条数据
*
* @param id 主键
* @return 实例对象
*/
SchisandraSmsConfig queryById(Long id);
/**
* 新增数据
*
* @param schisandraSmsConfig 实例对象
* @return 实例对象
*/
int insert(SchisandraSmsConfig schisandraSmsConfig);
/**
* 修改数据
*
* @param schisandraSmsConfig 实例对象
* @return 实例对象
*/
int update(SchisandraSmsConfig schisandraSmsConfig);
/**
* 通过主键删除数据
*
* @param id 主键
* @return 是否成功
*/
boolean deleteById(Long id);
SchisandraSmsConfig queryByConfigId(String configId);
}

View File

@@ -0,0 +1,72 @@
package com.schisandra.system.infra.basic.service.impl;
import com.schisandra.system.infra.basic.dao.SchisandraSmsConfigDao;
import com.schisandra.system.infra.basic.entity.SchisandraSmsConfig;
import com.schisandra.system.infra.basic.entity.table.SchisandraSmsConfigTableDef;
import com.schisandra.system.infra.basic.service.SchisandraSmsConfigService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
/**
* 短信配置信息表 表服务实现类
*
* @author landaiqing
* @since 2024-06-19 22:20:47
*/
@Service("SchisandraSmsConfigService")
public class SchisandraSmsConfigServiceImpl implements SchisandraSmsConfigService {
@Resource
private SchisandraSmsConfigDao schisandraSmsConfigDao;
/**
* 通过ID查询单条数据
*
* @param id 主键
* @return 实例对象
*/
@Override
public SchisandraSmsConfig queryById(Long id) {
return this.schisandraSmsConfigDao.selectOneById(id);
}
/**
* 新增数据
*
* @param schisandraSmsConfig 实例对象
* @return 实例对象
*/
@Override
public int insert(SchisandraSmsConfig schisandraSmsConfig) {
return this.schisandraSmsConfigDao.insert(schisandraSmsConfig, true);
}
/**
* 修改数据
*
* @param schisandraSmsConfig 实例对象
* @return 实例对象
*/
@Override
public int update(SchisandraSmsConfig schisandraSmsConfig) {
return this.schisandraSmsConfigDao.update(schisandraSmsConfig, true);
}
/**
* 通过主键删除数据
*
* @param id 主键
* @return 是否成功
*/
@Override
public boolean deleteById(Long id) {
return this.schisandraSmsConfigDao.deleteById(id) > 0;
}
@Override
public SchisandraSmsConfig queryByConfigId(String configId) {
return schisandraSmsConfigDao.selectOneByCondition(SchisandraSmsConfigTableDef.SCHISANDRA_SMS_CONFIG.CONFIG_ID.eq(configId));
}
}

View File

@@ -0,0 +1,51 @@
<?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.schisandra.system.infra.basic.dao.SchisandraSmsConfigDao">
<resultMap id="BaseResultMap" type="com.schisandra.system.infra.basic.entity.SchisandraSmsConfig">
<id column="id" jdbcType="INTEGER" property="id"/>
<result column="config_id" jdbcType="VARCHAR" property="configId"/>
<result column="request_url" jdbcType="VARCHAR" property="requestUrl"/>
<result column="template_name" jdbcType="VARCHAR" property="templateName"/>
<result column="action" jdbcType="VARCHAR" property="action"/>
<result column="region" jdbcType="VARCHAR" property="region"/>
<result column="access_key_id" jdbcType="VARCHAR" property="accessKeyId"/>
<result column="access_key_secret" jdbcType="VARCHAR" property="accessKeySecret"/>
<result column="supplier" jdbcType="VARCHAR" property="supplier"/>
<result column="signature" jdbcType="VARCHAR" property="signature"/>
<result column="sdk_app_id" jdbcType="VARCHAR" property="sdkAppId"/>
<result column="template_id" jdbcType="VARCHAR" property="templateId"/>
<result column="weight" jdbcType="INTEGER" property="weight"/>
<result column="retry_interval" jdbcType="INTEGER" property="retryInterval"/>
<result column="max_retries" jdbcType="INTEGER" property="maxRetries"/>
<result column="maximum" jdbcType="BIGINT" property="maximum"/>
<result column="base_url" jdbcType="VARCHAR" property="baseUrl"/>
<result column="server_ip" jdbcType="VARCHAR" property="serverIp"/>
<result column="server_port" jdbcType="INTEGER" property="serverPort"/>
<result column="sender" jdbcType="VARCHAR" property="sender"/>
<result column="status_call_back" jdbcType="VARCHAR" property="statusCallBack"/>
<result column="url" jdbcType="VARCHAR" property="url"/>
<result column="template_url" jdbcType="VARCHAR" property="templateUrl"/>
<result column="code_url" jdbcType="VARCHAR" property="codeUrl"/>
<result column="verify_url" jdbcType="VARCHAR" property="verifyUrl"/>
<result column="need_up" jdbcType="VARCHAR" property="needUp"/>
<result column="conn_timeout" jdbcType="INTEGER" property="connTimeout"/>
<result column="is_simple" jdbcType="VARCHAR" property="isSimple"/>
<result column="callback_url" jdbcType="VARCHAR" property="callbackUrl"/>
<result column="mch_id" jdbcType="INTEGER" property="mchId"/>
<result column="app_key" jdbcType="VARCHAR" property="appKey"/>
<result column="app_id" jdbcType="INTEGER" property="appId"/>
<result column="version" jdbcType="VARCHAR" property="version"/>
<result column="single_msg_url" jdbcType="VARCHAR" property="singleMsgUrl"/>
<result column="mass_msg_url" jdbcType="VARCHAR" property="massMsgUrl"/>
<result column="signature_Id" jdbcType="VARCHAR" property="signatureId"/>
<result column="created_by" jdbcType="VARCHAR" property="createdBy"/>
<result column="created_time" jdbcType="TIMESTAMP" property="createdTime"/>
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/>
<result column="update_by" jdbcType="VARCHAR" property="updateBy"/>
<result column="is_deleted" jdbcType="INTEGER" property="isDeleted"/>
<result column="extra_json" jdbcType="VARCHAR" property="extraJson"/>
<result column="service" jdbcType="VARCHAR" property="service"/>
</resultMap>
</mapper>

View File

@@ -75,7 +75,7 @@ mybatis-flex:
global-config:
print-banner: false
key-config:
key-type: auto
key-type: generator
normal-value-of-logic-delete: 0
deleted-value-of-logic-delete: 1
logic-delete-column: is_deleted