From c0075ef88a780cb6d5cbdae57eed39fa516a6563 Mon Sep 17 00:00:00 2001 From: zlg <482370576@qq.com> Date: Wed, 8 May 2024 23:08:29 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E7=9F=AD=E4=BF=A1=E9=AA=8C=E8=AF=81?= =?UTF-8?q?=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../application/config/SmsInitConfig.java | 32 ++ .../application/config/SmsReadConfig.java | 89 ++++ .../application/controller/SmsController.java | 49 +- .../SchisandraSmsConfigDTOConvert.java | 43 ++ .../dto/SchisandraSmsConfigDTO.java | 155 ++++++ .../auth/common/config/SmsConfig.java | 44 -- .../auth/common/utils/RedisUtils.java | 86 --- .../domain/bo/SchisandraAuthPermissionBO.java | 3 +- .../auth/domain/bo/SchisandraSmsConfigBO.java | 155 ++++++ .../convert/SchisandraSmsConfigBOConvert.java | 48 ++ .../SchisandraSmsConfigDomainService.java | 22 + .../SchisandraSmsConfigDomainServiceImpl.java | 26 + .../basic/dao/SchisandraSmsConfigDao.java | 86 +++ .../basic/entity/SchisandraSmsConfig.java | 174 ++++++ .../service/SchisandraSmsConfigService.java | 60 +++ .../impl/SchisandraSmsConfigServiceImpl.java | 88 +++ .../mapper/SchisandraSmsConfigDao.xml | 499 ++++++++++++++++++ .../src/main/resources/application.yml | 2 +- 18 files changed, 1507 insertions(+), 154 deletions(-) create mode 100644 schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-application/schisandra-cloud-storage-auth-application-controller/src/main/java/com/schisandra/auth/application/config/SmsInitConfig.java create mode 100644 schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-application/schisandra-cloud-storage-auth-application-controller/src/main/java/com/schisandra/auth/application/config/SmsReadConfig.java create mode 100644 schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-application/schisandra-cloud-storage-auth-application-controller/src/main/java/com/schisandra/auth/application/convert/SchisandraSmsConfigDTOConvert.java create mode 100644 schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-application/schisandra-cloud-storage-auth-application-controller/src/main/java/com/schisandra/auth/application/dto/SchisandraSmsConfigDTO.java delete mode 100644 schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-common/src/main/java/com/schisandra/auth/common/config/SmsConfig.java delete mode 100644 schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-common/src/main/java/com/schisandra/auth/common/utils/RedisUtils.java create mode 100644 schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-domain/src/main/java/com/schisandra/auth/domain/bo/SchisandraSmsConfigBO.java create mode 100644 schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-domain/src/main/java/com/schisandra/auth/domain/convert/SchisandraSmsConfigBOConvert.java create mode 100644 schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-domain/src/main/java/com/schisandra/auth/domain/service/SchisandraSmsConfigDomainService.java create mode 100644 schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-domain/src/main/java/com/schisandra/auth/domain/service/impl/SchisandraSmsConfigDomainServiceImpl.java create mode 100644 schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-infra/src/main/java/com/schisandra/auth/infra/basic/dao/SchisandraSmsConfigDao.java create mode 100644 schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-infra/src/main/java/com/schisandra/auth/infra/basic/entity/SchisandraSmsConfig.java create mode 100644 schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-infra/src/main/java/com/schisandra/auth/infra/basic/service/SchisandraSmsConfigService.java create mode 100644 schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-infra/src/main/java/com/schisandra/auth/infra/basic/service/impl/SchisandraSmsConfigServiceImpl.java create mode 100644 schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-infra/src/main/resources/mapper/SchisandraSmsConfigDao.xml diff --git a/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-application/schisandra-cloud-storage-auth-application-controller/src/main/java/com/schisandra/auth/application/config/SmsInitConfig.java b/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-application/schisandra-cloud-storage-auth-application-controller/src/main/java/com/schisandra/auth/application/config/SmsInitConfig.java new file mode 100644 index 0000000..3d157dc --- /dev/null +++ b/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-application/schisandra-cloud-storage-auth-application-controller/src/main/java/com/schisandra/auth/application/config/SmsInitConfig.java @@ -0,0 +1,32 @@ +package com.schisandra.auth.application.config; + +import com.schisandra.auth.application.convert.SchisandraSmsConfigDTOConvert; +import com.schisandra.auth.application.dto.SchisandraSmsConfigDTO; +import com.schisandra.auth.domain.bo.SchisandraSmsConfigBO; +import com.schisandra.auth.domain.service.SchisandraSmsConfigDomainService; +import com.schisandra.auth.infra.basic.entity.SchisandraSmsConfig; +import org.dromara.sms4j.core.factory.SmsFactory; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.event.ContextRefreshedEvent; +import org.springframework.context.event.EventListener; + +import javax.annotation.Resource; +import java.util.List; +@Configuration +public class SmsInitConfig { + @Resource + SmsReadConfig smsReadConfig; + @Resource + SchisandraSmsConfigDomainService schisandraSmsConfigDomainService; + @EventListener + public void init(ContextRefreshedEvent event){ + List SchisandraSmsConfigBOs= schisandraSmsConfigDomainService.queryAll(); + List schisandraSmsConfigDTOS = SchisandraSmsConfigDTOConvert.INSTANCE.convertBOToDTOList(SchisandraSmsConfigBOs); + for (SchisandraSmsConfigDTO schisandraSmsConfig : schisandraSmsConfigDTOS){ + System.out.println(schisandraSmsConfig.toString()); + if (schisandraSmsConfig!=null){ + // 创建SmsBlend 短信实例 + SmsFactory.createSmsBlend(smsReadConfig); + }; + }} +} diff --git a/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-application/schisandra-cloud-storage-auth-application-controller/src/main/java/com/schisandra/auth/application/config/SmsReadConfig.java b/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-application/schisandra-cloud-storage-auth-application-controller/src/main/java/com/schisandra/auth/application/config/SmsReadConfig.java new file mode 100644 index 0000000..ac40ceb --- /dev/null +++ b/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-application/schisandra-cloud-storage-auth-application-controller/src/main/java/com/schisandra/auth/application/config/SmsReadConfig.java @@ -0,0 +1,89 @@ +package com.schisandra.auth.application.config; + +import com.schisandra.auth.application.convert.SchisandraSmsConfigDTOConvert; +import com.schisandra.auth.application.dto.SchisandraSmsConfigDTO; +import com.schisandra.auth.domain.bo.SchisandraSmsConfigBO; +import com.schisandra.auth.domain.service.SchisandraSmsConfigDomainService; +import com.schisandra.auth.infra.basic.dao.SchisandraSmsConfigDao; +import com.schisandra.auth.infra.basic.entity.SchisandraSmsConfig; +import org.dromara.sms4j.aliyun.config.AlibabaConfig; +import org.dromara.sms4j.huawei.config.HuaweiConfig; +import org.dromara.sms4j.provider.config.BaseConfig; +import org.dromara.sms4j.tencent.config.TencentConfig; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; + +/** + * @Classname SmsConfig + * @BelongsProject: schisandra-cloud-storage + * @BelongsPackage: com.schisandra.auth.common.config + * @Author: landaiqing + * @CreateTime: 2024-05-08 18:46 + * @Description: TODO + * @Version: 1.0 + */ +@Component +public class SmsReadConfig implements org.dromara.sms4j.core.datainterface.SmsReadConfig { + @Resource + SchisandraSmsConfigDomainService schisandraSmsConfigDomainService; + + @Override + public BaseConfig getSupplierConfig(String configId) { + return null; + + } + + @Override + public List getSupplierConfigList() { + List configs = new ArrayList<>(); + List SchisandraSmsConfigBOs= schisandraSmsConfigDomainService.queryAll(); + List schisandraSmsConfigDTOS = SchisandraSmsConfigDTOConvert.INSTANCE.convertBOToDTOList(SchisandraSmsConfigBOs); + for (SchisandraSmsConfigDTO schisandraSmsConfig : schisandraSmsConfigDTOS){ + if ("alibaba".equals(schisandraSmsConfig.getConfigId())) { + AlibabaConfig alibabaConfig = new AlibabaConfig(); + alibabaConfig.setConfigId(schisandraSmsConfig.getConfigId()); + alibabaConfig.setRequestUrl(schisandraSmsConfig.getRequestUrl()); + alibabaConfig.setAccessKeyId(schisandraSmsConfig.getAccessKeyId()); + alibabaConfig.setAccessKeySecret(schisandraSmsConfig.getAccessKeySecret()); + alibabaConfig.setSignature(schisandraSmsConfig.getSignature()); + alibabaConfig.setTemplateId(schisandraSmsConfig.getTemplateId()); + alibabaConfig.setTemplateName(schisandraSmsConfig.getTemplateName()); + alibabaConfig.setSdkAppId(schisandraSmsConfig.getSdkAppId()); + configs.add(alibabaConfig); + } + if ("tencent".equals(schisandraSmsConfig.getConfigId())) { + TencentConfig tencentConfig=new TencentConfig(); + tencentConfig.setConfigId(schisandraSmsConfig.getConfigId()); + tencentConfig.setAccessKeyId(schisandraSmsConfig.getAccessKeyId()); + tencentConfig.setAccessKeySecret(schisandraSmsConfig.getAccessKeySecret()); + tencentConfig.setSdkAppId(schisandraSmsConfig.getSdkAppId()); + tencentConfig.setService(schisandraSmsConfig.getSdkAppId()); + tencentConfig.setRequestUrl(schisandraSmsConfig.getRequestUrl()); + tencentConfig.setTerritory(schisandraSmsConfig.getRegion()); + tencentConfig.setAction(schisandraSmsConfig.getAction()); + tencentConfig.setSignature(schisandraSmsConfig.getSignature()); + tencentConfig.setTemplateId(schisandraSmsConfig.getTemplateId()); + tencentConfig.setVersion(schisandraSmsConfig.getVersion()); + tencentConfig.setConnTimeout(schisandraSmsConfig.getConnTimeout()); + tencentConfig.setSdkAppId(schisandraSmsConfig.getSdkAppId()); + configs.add(tencentConfig); + } + if ("huawei".equals(schisandraSmsConfig.getConfigId())) { + HuaweiConfig huaweiConfig = new HuaweiConfig(); + huaweiConfig.setConfigId(schisandraSmsConfig.getConfigId()); + huaweiConfig.setSdkAppId(schisandraSmsConfig.getSdkAppId()); + huaweiConfig.setAccessKeySecret(schisandraSmsConfig.getAccessKeySecret()); + huaweiConfig.setAccessKeyId(schisandraSmsConfig.getAccessKeyId()); + huaweiConfig.setUrl(schisandraSmsConfig.getUrl()); + huaweiConfig.setSignature(schisandraSmsConfig.getSignature()); + huaweiConfig.setTemplateId(schisandraSmsConfig.getTemplateId()); + configs.add(huaweiConfig); + }} + return configs; + + } + +} diff --git a/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-application/schisandra-cloud-storage-auth-application-controller/src/main/java/com/schisandra/auth/application/controller/SmsController.java b/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-application/schisandra-cloud-storage-auth-application-controller/src/main/java/com/schisandra/auth/application/controller/SmsController.java index 9171d09..9bea211 100644 --- a/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-application/schisandra-cloud-storage-auth-application-controller/src/main/java/com/schisandra/auth/application/controller/SmsController.java +++ b/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-application/schisandra-cloud-storage-auth-application-controller/src/main/java/com/schisandra/auth/application/controller/SmsController.java @@ -1,46 +1,51 @@ package com.schisandra.auth.application.controller; -import com.schisandra.auth.common.utils.RedisUtils; +import com.schisandra.auth.common.entity.Result; +import com.schisandra.auth.common.redis.RedisUtil; import com.schisandra.auth.common.utils.SmsCodeUtils; import lombok.extern.slf4j.Slf4j; -import org.dromara.sms4j.api.SmsBlend; import org.dromara.sms4j.api.entity.SmsResponse; import org.dromara.sms4j.core.factory.SmsFactory; -import org.dromara.sms4j.provider.enumerate.SupplierType; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import java.util.LinkedHashMap; +import javax.annotation.Resource; + +import static java.util.concurrent.TimeUnit.SECONDS; @RestController @RequestMapping("/sms/") @Slf4j public class SmsController { - @Autowired - private RedisUtils redisUtils; - private final SmsBlend aliSms = SmsFactory.createSmsBlend(SupplierType.ALIBABA); - - @GetMapping("/send") - public SmsResponse send(String phone, String templateId) { - return aliSms.sendMessage(phone, templateId, new LinkedHashMap<>()); - } + @Resource + private RedisUtil redisUtil; + private final String authPhonePrefix="auth.phone"; +/** + * @description: 发送短信验证码 + * @param: [phone] + * @return: com.schisandra.auth.common.entity.Result + * @author zlg + * @date: 2024/5/8 22:53 + */ @GetMapping("/sendByTemplate") - public SmsResponse sendByTemplate(String phone) { -// SmsBlend smsBlend = SmsFactory.getSmsBlend("alibaba"); + public Result sendByTemplate(String phone) { + String prefix = redisUtil.buildKey(authPhonePrefix, phone); String code = SmsCodeUtils.generateValidateCode(4).toString(); -// redisUtils.cacheValue( phone, code, 60); - - SmsResponse smsResponse=aliSms.sendMessage(phone, code); - if (smsResponse.isSuccess()){ - redisUtils.cacheValue( phone, code, 60); - return smsResponse; + if (!redisUtil.exist(prefix)){ + SmsResponse smsResponse=SmsFactory.getBySupplier("alibaba").sendMessage(phone,code); + if (smsResponse.isSuccess()){ + redisUtil.setNx(prefix, code, 60L,SECONDS); + return Result.ok(); + }else { + return Result.fail(); + } }else { - return smsResponse; + return Result.fail("发送频繁,请稍后重试"); } + } } diff --git a/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-application/schisandra-cloud-storage-auth-application-controller/src/main/java/com/schisandra/auth/application/convert/SchisandraSmsConfigDTOConvert.java b/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-application/schisandra-cloud-storage-auth-application-controller/src/main/java/com/schisandra/auth/application/convert/SchisandraSmsConfigDTOConvert.java new file mode 100644 index 0000000..3484116 --- /dev/null +++ b/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-application/schisandra-cloud-storage-auth-application-controller/src/main/java/com/schisandra/auth/application/convert/SchisandraSmsConfigDTOConvert.java @@ -0,0 +1,43 @@ +package com.schisandra.auth.application.convert; + +import com.schisandra.auth.application.dto.SchisandraSmsConfigDTO; +import com.schisandra.auth.domain.bo.SchisandraSmsConfigBO; +import com.schisandra.auth.infra.basic.entity.SchisandraSmsConfig; +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; + +import java.util.List; + +/** + * (SchisandraSmsConfig)实体类 + * + * @author makejava + * @since 2024-05-08 20:09:54 + */ +@Mapper(componentModel = "spring") +public interface SchisandraSmsConfigDTOConvert { + + SchisandraSmsConfigDTOConvert INSTANCE = Mappers.getMapper(SchisandraSmsConfigDTOConvert.class); + + /** + * @description 将bo转换为实体 + * @param schisandraSmsConfigDTO + * @return com.schisandra.auth.infra.basic.entity.SchisandraAuthUser + * @author landaiqing + * @date 2024/3/21 23:13 + */ + SchisandraSmsConfigBO convertDTOToBO(SchisandraSmsConfigDTO schisandraSmsConfigDTO); + + /** + * @description 将实体转换为bo + * @param schisandraSmsConfigBO + * @return com.schisandra.auth.domain.bo.SchisandraAuthUserBO + * @author landaiqing + * @date 2024/3/21 23:13 + */ + SchisandraSmsConfigDTO convertBOToDTO(SchisandraSmsConfigBO schisandraSmsConfigBO); + + List convertBOToDTOList(List schisandraSmsConfigBO); + +} + diff --git a/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-application/schisandra-cloud-storage-auth-application-controller/src/main/java/com/schisandra/auth/application/dto/SchisandraSmsConfigDTO.java b/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-application/schisandra-cloud-storage-auth-application-controller/src/main/java/com/schisandra/auth/application/dto/SchisandraSmsConfigDTO.java new file mode 100644 index 0000000..33127cc --- /dev/null +++ b/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-application/schisandra-cloud-storage-auth-application-controller/src/main/java/com/schisandra/auth/application/dto/SchisandraSmsConfigDTO.java @@ -0,0 +1,155 @@ +package com.schisandra.auth.application.dto; + +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + * (SchisandraSmsConfig)实体类 + * + * @author makejava + * @since 2024-05-08 20:09:54 + */ +@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; + + + +} + diff --git a/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-common/src/main/java/com/schisandra/auth/common/config/SmsConfig.java b/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-common/src/main/java/com/schisandra/auth/common/config/SmsConfig.java deleted file mode 100644 index fb8d835..0000000 --- a/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-common/src/main/java/com/schisandra/auth/common/config/SmsConfig.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.schisandra.auth.common.config; - -import org.dromara.sms4j.aliyun.config.AlibabaConfig; -import org.dromara.sms4j.core.datainterface.SmsReadConfig; -import org.dromara.sms4j.provider.config.BaseConfig; -import org.dromara.sms4j.unisms.config.UniConfig; -import org.springframework.stereotype.Component; - -import java.util.List; - -/** - * @Classname SmsConfig - * @BelongsProject: schisandra-cloud-storage - * @BelongsPackage: com.schisandra.auth.common.config - * @Author: landaiqing - * @CreateTime: 2024-05-08 18:46 - * @Description: TODO - * @Version: 1.0 - */ -@Component -public class SmsConfig implements SmsReadConfig { - - //这里的configId指的是框架在调用该接口方法时候会传递进来的参数,用户可以根据此参数作为标准来动态的进行查询 - @Override - public BaseConfig getSupplierConfig(String configId) { - - AlibabaConfig alibabaConfig=new AlibabaConfig(); - alibabaConfig.setConfigId("alibaba"); - alibabaConfig.setRequestUrl("dysmsapi.aliyuncs.com"); - alibabaConfig.setAccessKeyId("LTAI5tDy2edL9LhW43rnus69"); - alibabaConfig.setAccessKeySecret("YWp44dcFrBICrjZgqvJBE7ZHArZfIP"); - alibabaConfig.setSignature("阿里云短信测试"); - alibabaConfig.setTemplateId("SMS_154950909"); - alibabaConfig.setTemplateName("code"); - alibabaConfig.setSdkAppId("sms"); - return alibabaConfig; - } - - @Override - public List getSupplierConfigList() { - //此处仅为示例,实际环境中,数据可以来自任意位置, - return null; - } -} diff --git a/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-common/src/main/java/com/schisandra/auth/common/utils/RedisUtils.java b/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-common/src/main/java/com/schisandra/auth/common/utils/RedisUtils.java deleted file mode 100644 index f83dd2b..0000000 --- a/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-common/src/main/java/com/schisandra/auth/common/utils/RedisUtils.java +++ /dev/null @@ -1,86 +0,0 @@ -package com.schisandra.auth.common.utils; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.data.redis.core.RedisTemplate; -import org.springframework.data.redis.core.ValueOperations; -import org.springframework.stereotype.Component; - -import javax.annotation.Resource; -import java.util.Set; -import java.util.concurrent.TimeUnit; - -/** - * @author luft-mensch - */ -@Component -public class RedisUtils { - - @Resource - private RedisTemplate redisTemplate; - - private Logger logger = LoggerFactory.getLogger(this.getClass()); - - - public boolean cacheValue(String key, Object value, long time) { - try { - ValueOperations valueOperations = redisTemplate.opsForValue(); - valueOperations.set(key, value); - if (time > 0) { - // 如果有设置超时时间的话 - redisTemplate.expire(key, time, TimeUnit.SECONDS); - } - return true; - } catch (Throwable e) { - logger.error("缓存[" + key + "]失败, value[" + value + "] " + e.getMessage()); - } - return false; - } - - public boolean cacheValue(String key, Object value) { - return cacheValue(key, value, -1); - } - - - public boolean containsKey(String key) { - try { - return redisTemplate.hasKey(key); - } catch (Throwable e) { - logger.error("判断缓存是否存在时失败key[" + key + "]", "err[" + e.getMessage() + "]"); - } - return false; - } - - public Object getValue(String key) { - try { - ValueOperations valueOperations = redisTemplate.opsForValue(); - return valueOperations.get(key); - } catch (Throwable e) { - logger.error("获取缓存时失败key[" + key + "]", "err[" + e.getMessage() + "]"); - } - return null; - } - - - public boolean removeValue(String key) { - try { - redisTemplate.delete(key); - return true; - } catch (Throwable e) { - logger.error("移除缓存时失败key[" + key + "]", "err[" + e.getMessage() + "]"); - } - return false; - } - - public boolean removeKeys(String pattern) { - try { - Set keySet = redisTemplate.keys(pattern + "*"); - redisTemplate.delete(keySet); - return true; - } catch (Throwable e) { - logger.error("移除key[" + pattern + "]前缀的缓存时失败", "err[" + e.getMessage() + "]"); - } - return false; - } - -} \ No newline at end of file diff --git a/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-domain/src/main/java/com/schisandra/auth/domain/bo/SchisandraAuthPermissionBO.java b/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-domain/src/main/java/com/schisandra/auth/domain/bo/SchisandraAuthPermissionBO.java index 866b651..e9b5ba8 100644 --- a/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-domain/src/main/java/com/schisandra/auth/domain/bo/SchisandraAuthPermissionBO.java +++ b/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-domain/src/main/java/com/schisandra/auth/domain/bo/SchisandraAuthPermissionBO.java @@ -13,7 +13,8 @@ import java.util.Date; * @since 2024-04-15 19:04:11 */ @Data -public class SchisandraAuthPermissionBO implements Serializable { +public class +SchisandraAuthPermissionBO implements Serializable { private Long id; diff --git a/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-domain/src/main/java/com/schisandra/auth/domain/bo/SchisandraSmsConfigBO.java b/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-domain/src/main/java/com/schisandra/auth/domain/bo/SchisandraSmsConfigBO.java new file mode 100644 index 0000000..7d574e5 --- /dev/null +++ b/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-domain/src/main/java/com/schisandra/auth/domain/bo/SchisandraSmsConfigBO.java @@ -0,0 +1,155 @@ +package com.schisandra.auth.domain.bo; + +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + * (SchisandraSmsConfig)实体类 + * + * @author makejava + * @since 2024-05-08 20:09:54 + */ +@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; + + + +} + diff --git a/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-domain/src/main/java/com/schisandra/auth/domain/convert/SchisandraSmsConfigBOConvert.java b/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-domain/src/main/java/com/schisandra/auth/domain/convert/SchisandraSmsConfigBOConvert.java new file mode 100644 index 0000000..2a5a579 --- /dev/null +++ b/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-domain/src/main/java/com/schisandra/auth/domain/convert/SchisandraSmsConfigBOConvert.java @@ -0,0 +1,48 @@ +package com.schisandra.auth.domain.convert; + +import com.schisandra.auth.domain.bo.SchisandraAuthUserBO; +import com.schisandra.auth.domain.bo.SchisandraSmsConfigBO; +import com.schisandra.auth.infra.basic.entity.SchisandraAuthUser; +import com.schisandra.auth.infra.basic.entity.SchisandraSmsConfig; +import lombok.Data; +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +/** + * (SchisandraSmsConfig)实体类 + * + * @author makejava + * @since 2024-05-08 20:09:54 + */ +@Mapper(componentModel = "spring") +public interface SchisandraSmsConfigBOConvert { + + SchisandraSmsConfigBOConvert INSTANCE = Mappers.getMapper(SchisandraSmsConfigBOConvert.class); + + /** + * @description 将bo转换为实体 + * @param schisandraSmsConfigBO + * @return com.schisandra.auth.infra.basic.entity.SchisandraAuthUser + * @author landaiqing + * @date 2024/3/21 23:13 + */ + SchisandraSmsConfig convertBOToEntity(SchisandraSmsConfigBO schisandraSmsConfigBO); + + /** + * @description 将实体转换为bo + * @param schisandraSmsConfig + * @return com.schisandra.auth.domain.bo.SchisandraAuthUserBO + * @author landaiqing + * @date 2024/3/21 23:13 + */ + SchisandraSmsConfigBO convertEntityToBO(SchisandraSmsConfig schisandraSmsConfig); + + List convertEntityToBOList(List schisandraSmsConfigs); + + +} + diff --git a/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-domain/src/main/java/com/schisandra/auth/domain/service/SchisandraSmsConfigDomainService.java b/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-domain/src/main/java/com/schisandra/auth/domain/service/SchisandraSmsConfigDomainService.java new file mode 100644 index 0000000..68b55bf --- /dev/null +++ b/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-domain/src/main/java/com/schisandra/auth/domain/service/SchisandraSmsConfigDomainService.java @@ -0,0 +1,22 @@ +package com.schisandra.auth.domain.service; + + +import com.schisandra.auth.domain.bo.SchisandraSmsConfigBO; +import com.schisandra.auth.infra.basic.entity.SchisandraSmsConfig; + +import java.util.List; + +/** + * 用户领域service + * + * @author landaiqing + * @date 2024/3/21 + */ +public interface SchisandraSmsConfigDomainService { + + + + List queryAll(); + +} + diff --git a/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-domain/src/main/java/com/schisandra/auth/domain/service/impl/SchisandraSmsConfigDomainServiceImpl.java b/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-domain/src/main/java/com/schisandra/auth/domain/service/impl/SchisandraSmsConfigDomainServiceImpl.java new file mode 100644 index 0000000..1a5056d --- /dev/null +++ b/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-domain/src/main/java/com/schisandra/auth/domain/service/impl/SchisandraSmsConfigDomainServiceImpl.java @@ -0,0 +1,26 @@ +package com.schisandra.auth.domain.service.impl; + +import com.schisandra.auth.domain.bo.SchisandraSmsConfigBO; +import com.schisandra.auth.domain.convert.SchisandraSmsConfigBOConvert; +import com.schisandra.auth.domain.service.SchisandraSmsConfigDomainService; +import com.schisandra.auth.infra.basic.entity.SchisandraSmsConfig; +import com.schisandra.auth.infra.basic.service.SchisandraSmsConfigService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; +@Service +@Slf4j +public class SchisandraSmsConfigDomainServiceImpl implements SchisandraSmsConfigDomainService { + @Resource + private SchisandraSmsConfigService schisandraSmsConfigService; + @Override + public List queryAll() { + + List schisandraSmsConfigs = schisandraSmsConfigService.queryAll(); + return SchisandraSmsConfigBOConvert.INSTANCE.convertEntityToBOList(schisandraSmsConfigs); + + } + +} diff --git a/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-infra/src/main/java/com/schisandra/auth/infra/basic/dao/SchisandraSmsConfigDao.java b/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-infra/src/main/java/com/schisandra/auth/infra/basic/dao/SchisandraSmsConfigDao.java new file mode 100644 index 0000000..fdd11b0 --- /dev/null +++ b/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-infra/src/main/java/com/schisandra/auth/infra/basic/dao/SchisandraSmsConfigDao.java @@ -0,0 +1,86 @@ +package com.schisandra.auth.infra.basic.dao; + +import com.schisandra.auth.infra.basic.entity.SchisandraSmsConfig; +import org.apache.ibatis.annotations.Param; +import org.springframework.data.domain.Pageable; + +import java.util.List; + +/** + * (SchisandraSmsConfig)表数据库访问层 + * + * @author makejava + * @since 2024-05-08 20:09:54 + */ +public interface SchisandraSmsConfigDao { + + /** + * 通过ID查询单条数据 + * + * @param id 主键 + * @return 实例对象 + */ + SchisandraSmsConfig queryById(Integer id); + + /** + * 查询指定行数据 + * + * @param schisandraSmsConfig 查询条件 + * @param pageable 分页对象 + * @return 对象列表 + */ + List queryAllByLimit(SchisandraSmsConfig schisandraSmsConfig, @Param("pageable") Pageable pageable); + + List queryAll(); + + /** + * 统计总行数 + * + * @param schisandraSmsConfig 查询条件 + * @return 总行数 + */ + long count(SchisandraSmsConfig schisandraSmsConfig); + + /** + * 新增数据 + * + * @param schisandraSmsConfig 实例对象 + * @return 影响行数 + */ + int insert(SchisandraSmsConfig schisandraSmsConfig); + + /** + * 批量新增数据(MyBatis原生foreach方法) + * + * @param entities List 实例对象列表 + * @return 影响行数 + */ + int insertBatch(@Param("entities") List entities); + + /** + * 批量新增或按主键更新数据(MyBatis原生foreach方法) + * + * @param entities List 实例对象列表 + * @return 影响行数 + * @throws org.springframework.jdbc.BadSqlGrammarException 入参是空List的时候会抛SQL语句错误的异常,请自行校验入参 + */ + int insertOrUpdateBatch(@Param("entities") List entities); + + /** + * 修改数据 + * + * @param schisandraSmsConfig 实例对象 + * @return 影响行数 + */ + int update(SchisandraSmsConfig schisandraSmsConfig); + + /** + * 通过主键删除数据 + * + * @param id 主键 + * @return 影响行数 + */ + int deleteById(Integer id); + +} + diff --git a/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-infra/src/main/java/com/schisandra/auth/infra/basic/entity/SchisandraSmsConfig.java b/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-infra/src/main/java/com/schisandra/auth/infra/basic/entity/SchisandraSmsConfig.java new file mode 100644 index 0000000..4a264cc --- /dev/null +++ b/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-infra/src/main/java/com/schisandra/auth/infra/basic/entity/SchisandraSmsConfig.java @@ -0,0 +1,174 @@ +package com.schisandra.auth.infra.basic.entity; + +import lombok.Data; + +import java.util.Date; +import java.io.Serializable; + +/** + * (SchisandraSmsConfig)实体类 + * + * @author makejava + * @since 2024-05-08 20:09:54 + */ +@Data +public class SchisandraSmsConfig 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; + + +} + diff --git a/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-infra/src/main/java/com/schisandra/auth/infra/basic/service/SchisandraSmsConfigService.java b/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-infra/src/main/java/com/schisandra/auth/infra/basic/service/SchisandraSmsConfigService.java new file mode 100644 index 0000000..1ab2f35 --- /dev/null +++ b/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-infra/src/main/java/com/schisandra/auth/infra/basic/service/SchisandraSmsConfigService.java @@ -0,0 +1,60 @@ +package com.schisandra.auth.infra.basic.service; + +import com.schisandra.auth.infra.basic.entity.SchisandraSmsConfig; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.PageRequest; + +import java.util.List; + +/** + * (SchisandraSmsConfig)表服务接口 + * + * @author makejava + * @since 2024-05-08 20:09:55 + */ +public interface SchisandraSmsConfigService { + + /** + * 通过ID查询单条数据 + * + * @param id 主键 + * @return 实例对象 + */ + SchisandraSmsConfig queryById(Integer id); + + List queryAll(); + + /** + * 分页查询 + * + * @param schisandraSmsConfig 筛选条件 + * @param pageRequest 分页对象 + * @return 查询结果 + */ + Page queryByPage(SchisandraSmsConfig schisandraSmsConfig, PageRequest pageRequest); + + /** + * 新增数据 + * + * @param schisandraSmsConfig 实例对象 + * @return 实例对象 + */ + SchisandraSmsConfig insert(SchisandraSmsConfig schisandraSmsConfig); + + /** + * 修改数据 + * + * @param schisandraSmsConfig 实例对象 + * @return 实例对象 + */ + SchisandraSmsConfig update(SchisandraSmsConfig schisandraSmsConfig); + + /** + * 通过主键删除数据 + * + * @param id 主键 + * @return 是否成功 + */ + boolean deleteById(Integer id); + +} diff --git a/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-infra/src/main/java/com/schisandra/auth/infra/basic/service/impl/SchisandraSmsConfigServiceImpl.java b/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-infra/src/main/java/com/schisandra/auth/infra/basic/service/impl/SchisandraSmsConfigServiceImpl.java new file mode 100644 index 0000000..66f2ba7 --- /dev/null +++ b/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-infra/src/main/java/com/schisandra/auth/infra/basic/service/impl/SchisandraSmsConfigServiceImpl.java @@ -0,0 +1,88 @@ +package com.schisandra.auth.infra.basic.service.impl; + +import com.schisandra.auth.infra.basic.entity.SchisandraSmsConfig; +import com.schisandra.auth.infra.basic.dao.SchisandraSmsConfigDao; +import com.schisandra.auth.infra.basic.service.SchisandraSmsConfigService; +import org.springframework.stereotype.Service; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.PageImpl; +import org.springframework.data.domain.PageRequest; + +import javax.annotation.Resource; +import java.util.List; + +/** + * (SchisandraSmsConfig)表服务实现类 + * + * @author makejava + * @since 2024-05-08 20:09:55 + */ +@Service("schisandraSmsConfigService") +public class SchisandraSmsConfigServiceImpl implements SchisandraSmsConfigService { + @Resource + private SchisandraSmsConfigDao schisandraSmsConfigDao; + + /** + * 通过ID查询单条数据 + * + * @param id 主键 + * @return 实例对象 + */ + @Override + public SchisandraSmsConfig queryById(Integer id) { + return this.schisandraSmsConfigDao.queryById(id); + } + + /** + * 分页查询 + * + * @param schisandraSmsConfig 筛选条件 + * @param pageRequest 分页对象 + * @return 查询结果 + */ + @Override + public Page queryByPage(SchisandraSmsConfig schisandraSmsConfig, PageRequest pageRequest) { + long total = this.schisandraSmsConfigDao.count(schisandraSmsConfig); + return new PageImpl<>(this.schisandraSmsConfigDao.queryAllByLimit(schisandraSmsConfig, pageRequest), pageRequest, total); + } + + @Override + public List queryAll() { + return this.schisandraSmsConfigDao.queryAll(); + } + + /** + * 新增数据 + * + * @param schisandraSmsConfig 实例对象 + * @return 实例对象 + */ + @Override + public SchisandraSmsConfig insert(SchisandraSmsConfig schisandraSmsConfig) { + this.schisandraSmsConfigDao.insert(schisandraSmsConfig); + return schisandraSmsConfig; + } + + /** + * 修改数据 + * + * @param schisandraSmsConfig 实例对象 + * @return 实例对象 + */ + @Override + public SchisandraSmsConfig update(SchisandraSmsConfig schisandraSmsConfig) { + this.schisandraSmsConfigDao.update(schisandraSmsConfig); + return this.queryById(schisandraSmsConfig.getId()); + } + + /** + * 通过主键删除数据 + * + * @param id 主键 + * @return 是否成功 + */ + @Override + public boolean deleteById(Integer id) { + return this.schisandraSmsConfigDao.deleteById(id) > 0; + } +} diff --git a/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-infra/src/main/resources/mapper/SchisandraSmsConfigDao.xml b/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-infra/src/main/resources/mapper/SchisandraSmsConfigDao.xml new file mode 100644 index 0000000..22e9dd8 --- /dev/null +++ b/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-infra/src/main/resources/mapper/SchisandraSmsConfigDao.xml @@ -0,0 +1,499 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + insert into schisandra_sms_config(config_id,request_url,template_name,'action',region,access_key_id,access_key_secret,supplier,signature,sdk_app_id,template_id,weight,retry_interval,max_retries,maximum,base_url,server_ip,server_port,sender,status_call_back,url,template_url,code_url,verify_url,need_up,conn_timeout,is_simple,callback_url,mch_id,app_key,app_id,version,single_msg_url,mass_msg_url,signature_Id,created_by,created_time,update_time,update_by,is_deleted) + values (#{configId},#{requestUrl},#{templateName},#{action},#{region},#{accessKeyId},#{accessKeySecret},#{supplier},#{signature},#{sdkAppId},#{templateId},#{weight},#{retryInterval},#{maxRetries},#{maximum},#{baseUrl},#{serverIp},#{serverPort},#{sender},#{statusCallBack},#{url},#{templateUrl},#{codeUrl},#{verifyUrl},#{needUp},#{connTimeout},#{isSimple},#{callbackUrl},#{mchId},#{appKey},#{appId},#{version},#{singleMsgUrl},#{massMsgUrl},#{signatureId},#{createdBy},#{createdTime},#{updateTime},#{updateBy},#{isDeleted}) + + + + insert into + schisandra_sms_config(config_id,request_url,template_name,'action',region,access_key_id,access_key_secret,supplier,signature,sdk_app_id,template_id,weight,retry_interval,max_retries,maximum,base_url,server_ip,server_port,sender,status_call_back,url,template_url,code_url,verify_url,need_up,conn_timeout,is_simple,callback_url,mch_id,app_key,app_id,version,single_msg_url,mass_msg_url,signature_Id,created_by,created_time,update_time,update_by,is_deleted) + values + + (#{entity.configId},#{entity.requestUrl},#{entity.templateName},#{entity.action},#{entity.region},#{entity.accessKeyId},#{entity.accessKeySecret},#{entity.supplier},#{entity.signature},#{entity.sdkAppId},#{entity.templateId},#{entity.weight},#{entity.retryInterval},#{entity.maxRetries},#{entity.maximum},#{entity.baseUrl},#{entity.serverIp},#{entity.serverPort},#{entity.sender},#{entity.statusCallBack},#{entity.url},#{entity.templateUrl},#{entity.codeUrl},#{entity.verifyUrl},#{entity.needUp},#{entity.connTimeout},#{entity.isSimple},#{entity.callbackUrl},#{entity.mchId},#{entity.appKey},#{entity.appId},#{entity.version},#{entity.singleMsgUrl},#{entity.massMsgUrl},#{entity.signatureId},#{entity.createdBy},#{entity.createdTime},#{entity.updateTime},#{entity.updateBy},#{entity.isDeleted}) + + + + + insert into + schisandra_sms_config(config_id,request_url,template_name,'action',region,access_key_id,access_key_secret,supplier,signature,sdk_app_id,template_id,weight,retry_interval,max_retries,maximum,base_url,server_ip,server_port,sender,status_call_back,url,template_url,code_url,verify_url,need_up,conn_timeout,is_simple,callback_url,mch_id,app_key,app_id,version,single_msg_url,mass_msg_url,signature_Id,created_by,created_time,update_time,update_by,is_deleted) + values + + (#{entity.configId},#{entity.requestUrl},#{entity.templateName},#{entity.action},#{entity.region},#{entity.accessKeyId},#{entity.accessKeySecret},#{entity.supplier},#{entity.signature},#{entity.sdkAppId},#{entity.templateId},#{entity.weight},#{entity.retryInterval},#{entity.maxRetries},#{entity.maximum},#{entity.baseUrl},#{entity.serverIp},#{entity.serverPort},#{entity.sender},#{entity.statusCallBack},#{entity.url},#{entity.templateUrl},#{entity.codeUrl},#{entity.verifyUrl},#{entity.needUp},#{entity.connTimeout},#{entity.isSimple},#{entity.callbackUrl},#{entity.mchId},#{entity.appKey},#{entity.appId},#{entity.version},#{entity.singleMsgUrl},#{entity.massMsgUrl},#{entity.signatureId},#{entity.createdBy},#{entity.createdTime},#{entity.updateTime},#{entity.updateBy},#{entity.isDeleted}) + + on duplicate key update + config_id = values(config_id)request_url = values(request_url)template_name = values(template_name)action = + values(action)region = values(region)access_key_id = values(access_key_id)access_key_secret = + values(access_key_secret)supplier = values(supplier)signature = values(signature)sdk_app_id = + values(sdk_app_id)template_id = values(template_id)weight = values(weight)retry_interval = + values(retry_interval)max_retries = values(max_retries)maximum = values(maximum)base_url = + values(base_url)server_ip = values(server_ip)server_port = values(server_port)sender = + values(sender)status_call_back = values(status_call_back)url = values(url)template_url = + values(template_url)code_url = values(code_url)verify_url = values(verify_url)need_up = + values(need_up)conn_timeout = values(conn_timeout)is_simple = values(is_simple)callback_url = + values(callback_url)mch_id = values(mch_id)app_key = values(app_key)app_id = values(app_id)version = + values(version)single_msg_url = values(single_msg_url)mass_msg_url = values(mass_msg_url)signature_Id = + values(signature_Id)created_by = values(created_by)created_time = values(created_time)update_time = + values(update_time)update_by = values(update_by)is_deleted = values(is_deleted) + + + + + update schisandra_sms_config + + + config_id = #{configId}, + + + request_url = #{requestUrl}, + + + template_name = #{templateName}, + + + `action` = #{action}, + + + region = #{region}, + + + access_key_id = #{accessKeyId}, + + + access_key_secret = #{accessKeySecret}, + + + supplier = #{supplier}, + + + signature = #{signature}, + + + sdk_app_id = #{sdkAppId}, + + + template_id = #{templateId}, + + + weight = #{weight}, + + + retry_interval = #{retryInterval}, + + + max_retries = #{maxRetries}, + + + maximum = #{maximum}, + + + base_url = #{baseUrl}, + + + server_ip = #{serverIp}, + + + server_port = #{serverPort}, + + + sender = #{sender}, + + + status_call_back = #{statusCallBack}, + + + url = #{url}, + + + template_url = #{templateUrl}, + + + code_url = #{codeUrl}, + + + verify_url = #{verifyUrl}, + + + need_up = #{needUp}, + + + conn_timeout = #{connTimeout}, + + + is_simple = #{isSimple}, + + + callback_url = #{callbackUrl}, + + + mch_id = #{mchId}, + + + app_key = #{appKey}, + + + app_id = #{appId}, + + + version = #{version}, + + + single_msg_url = #{singleMsgUrl}, + + + mass_msg_url = #{massMsgUrl}, + + + signature_Id = #{signatureId}, + + + created_by = #{createdBy}, + + + created_time = #{createdTime}, + + + update_time = #{updateTime}, + + + update_by = #{updateBy}, + + + is_deleted = #{isDeleted}, + + + where id = #{id} + + + + + delete + from schisandra_sms_config + where id = #{id} + + + + diff --git a/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-starter/src/main/resources/application.yml b/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-starter/src/main/resources/application.yml index 4cdce4b..fe8dc08 100644 --- a/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-starter/src/main/resources/application.yml +++ b/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-starter/src/main/resources/application.yml @@ -72,7 +72,7 @@ sa-token: sms: # 标注从yml读取配置 - config-type: interface + config-type: yaml restricted: true accountMax: 10 minuteMax: 1