feat: 更改数据库主键id生成策略
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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);
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
}
|
||||
@@ -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);
|
||||
|
||||
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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> {
|
||||
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
/**
|
||||
|
||||
@@ -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;
|
||||
|
||||
/**
|
||||
|
||||
@@ -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;
|
||||
|
||||
/**
|
||||
|
||||
@@ -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);
|
||||
|
||||
}
|
||||
@@ -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));
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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>
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user