diff --git a/eladmin-common/src/main/java/me/zhengjie/utils/RedisUtils.java b/eladmin-common/src/main/java/me/zhengjie/utils/RedisUtils.java index 2c2c6161..74921bff 100644 --- a/eladmin-common/src/main/java/me/zhengjie/utils/RedisUtils.java +++ b/eladmin-common/src/main/java/me/zhengjie/utils/RedisUtils.java @@ -646,13 +646,13 @@ public class RedisUtils { /** * - * @param dict - * @param ids + * @param prefix 前缀 + * @param ids id */ public void delByKeys(String prefix, Set ids) { - List keys = new ArrayList<>(); + Set keys = new HashSet<>(); for (Long id : ids) { - keys.add(new StringBuffer(prefix).append(id).toString()); + keys.addAll(redisTemplate.keys(new StringBuffer(prefix).append(id).toString())); } redisTemplate.delete(keys); } diff --git a/eladmin-tools/src/main/java/me/zhengjie/rest/AliPayController.java b/eladmin-tools/src/main/java/me/zhengjie/rest/AliPayController.java index 1dd79cdc..a1bad94e 100644 --- a/eladmin-tools/src/main/java/me/zhengjie/rest/AliPayController.java +++ b/eladmin-tools/src/main/java/me/zhengjie/rest/AliPayController.java @@ -59,8 +59,7 @@ public class AliPayController { @ApiOperation("配置支付宝") @PutMapping public ResponseEntity updateConfig(@Validated @RequestBody AlipayConfig alipayConfig){ - alipayConfig.setId(1L); - alipayService.update(alipayConfig); + alipayService.config(alipayConfig); return new ResponseEntity<>(HttpStatus.OK); } diff --git a/eladmin-tools/src/main/java/me/zhengjie/rest/EmailController.java b/eladmin-tools/src/main/java/me/zhengjie/rest/EmailController.java index 1fd71642..974de998 100644 --- a/eladmin-tools/src/main/java/me/zhengjie/rest/EmailController.java +++ b/eladmin-tools/src/main/java/me/zhengjie/rest/EmailController.java @@ -48,15 +48,15 @@ public class EmailController { @Log("配置邮件") @PutMapping @ApiOperation("配置邮件") - public ResponseEntity updateConfig(@Validated @RequestBody EmailConfig emailConfig){ - emailService.update(emailConfig,emailService.find()); + public ResponseEntity updateConfig(@Validated @RequestBody EmailConfig emailConfig) throws Exception { + emailService.config(emailConfig,emailService.find()); return new ResponseEntity<>(HttpStatus.OK); } @Log("发送邮件") @PostMapping @ApiOperation("发送邮件") - public ResponseEntity sendEmail(@Validated @RequestBody EmailVo emailVo) throws Exception { + public ResponseEntity sendEmail(@Validated @RequestBody EmailVo emailVo){ emailService.send(emailVo,emailService.find()); return new ResponseEntity<>(HttpStatus.OK); } diff --git a/eladmin-tools/src/main/java/me/zhengjie/rest/QiniuController.java b/eladmin-tools/src/main/java/me/zhengjie/rest/QiniuController.java index 6787e070..593c6d1f 100644 --- a/eladmin-tools/src/main/java/me/zhengjie/rest/QiniuController.java +++ b/eladmin-tools/src/main/java/me/zhengjie/rest/QiniuController.java @@ -58,7 +58,7 @@ public class QiniuController { @ApiOperation("配置七牛云存储") @PutMapping(value = "/config") public ResponseEntity updateConfig(@Validated @RequestBody QiniuConfig qiniuConfig){ - qiNiuService.update(qiniuConfig); + qiNiuService.config(qiniuConfig); qiNiuService.update(qiniuConfig.getType()); return new ResponseEntity<>(HttpStatus.OK); } diff --git a/eladmin-tools/src/main/java/me/zhengjie/service/AliPayService.java b/eladmin-tools/src/main/java/me/zhengjie/service/AliPayService.java index 79351634..be19c905 100644 --- a/eladmin-tools/src/main/java/me/zhengjie/service/AliPayService.java +++ b/eladmin-tools/src/main/java/me/zhengjie/service/AliPayService.java @@ -24,6 +24,19 @@ import me.zhengjie.domain.AlipayConfig; */ public interface AliPayService { + /** + * 查询配置 + * @return AlipayConfig + */ + AlipayConfig find(); + + /** + * 更新配置 + * @param alipayConfig 支付宝配置 + * @return AlipayConfig + */ + AlipayConfig config(AlipayConfig alipayConfig); + /** * 处理来自PC的交易请求 * @param alipay 支付宝配置 @@ -41,17 +54,4 @@ public interface AliPayService { * @throws Exception 异常 */ String toPayAsWeb(AlipayConfig alipay, TradeVo trade) throws Exception; - - /** - * 查询配置 - * @return AlipayConfig - */ - AlipayConfig find(); - - /** - * 更新配置 - * @param alipayConfig 支付宝配置 - * @return AlipayConfig - */ - AlipayConfig update(AlipayConfig alipayConfig); } diff --git a/eladmin-tools/src/main/java/me/zhengjie/service/EmailService.java b/eladmin-tools/src/main/java/me/zhengjie/service/EmailService.java index 3932dd78..bb9208e3 100644 --- a/eladmin-tools/src/main/java/me/zhengjie/service/EmailService.java +++ b/eladmin-tools/src/main/java/me/zhengjie/service/EmailService.java @@ -31,7 +31,7 @@ public interface EmailService { * @param old 旧的配置 * @return EmailConfig */ - EmailConfig update(EmailConfig emailConfig, EmailConfig old); + EmailConfig config(EmailConfig emailConfig, EmailConfig old) throws Exception; /** * 查询配置 diff --git a/eladmin-tools/src/main/java/me/zhengjie/service/QiNiuService.java b/eladmin-tools/src/main/java/me/zhengjie/service/QiNiuService.java index ac612198..09dca6a8 100644 --- a/eladmin-tools/src/main/java/me/zhengjie/service/QiNiuService.java +++ b/eladmin-tools/src/main/java/me/zhengjie/service/QiNiuService.java @@ -31,6 +31,19 @@ import java.util.List; */ public interface QiNiuService { + /** + * 查配置 + * @return QiniuConfig + */ + QiniuConfig find(); + + /** + * 修改配置 + * @param qiniuConfig 配置 + * @return QiniuConfig + */ + QiniuConfig config(QiniuConfig qiniuConfig); + /** * 分页查询 * @param criteria 条件 @@ -46,19 +59,6 @@ public interface QiNiuService { */ List queryAll(QiniuQueryCriteria criteria); - /** - * 查配置 - * @return QiniuConfig - */ - QiniuConfig find(); - - /** - * 修改配置 - * @param qiniuConfig 配置 - * @return QiniuConfig - */ - QiniuConfig update(QiniuConfig qiniuConfig); - /** * 上传文件 * @param file 文件 diff --git a/eladmin-tools/src/main/java/me/zhengjie/service/impl/AliPayServiceImpl.java b/eladmin-tools/src/main/java/me/zhengjie/service/impl/AliPayServiceImpl.java index 00e31c8b..5cbe3873 100644 --- a/eladmin-tools/src/main/java/me/zhengjie/service/impl/AliPayServiceImpl.java +++ b/eladmin-tools/src/main/java/me/zhengjie/service/impl/AliPayServiceImpl.java @@ -45,6 +45,21 @@ public class AliPayServiceImpl implements AliPayService { private final AliPayRepository alipayRepository; + @Override + @Cacheable(key = "'id:1'") + public AlipayConfig find() { + Optional alipayConfig = alipayRepository.findById(1L); + return alipayConfig.orElseGet(AlipayConfig::new); + } + + @Override + @CachePut(key = "'id:1'") + @Transactional(rollbackFor = Exception.class) + public AlipayConfig config(AlipayConfig alipayConfig) { + alipayConfig.setId(1L); + return alipayRepository.save(alipayConfig); + } + @Override public String toPayAsPc(AlipayConfig alipay, TradeVo trade) throws Exception { @@ -103,18 +118,4 @@ public class AliPayServiceImpl implements AliPayService { " }"); return alipayClient.pageExecute(request, "GET").getBody(); } - - @Override - @Cacheable(key = "'1'") - public AlipayConfig find() { - Optional alipayConfig = alipayRepository.findById(1L); - return alipayConfig.orElseGet(AlipayConfig::new); - } - - @Override - @CachePut(key = "'1'") - @Transactional(rollbackFor = Exception.class) - public AlipayConfig update(AlipayConfig alipayConfig) { - return alipayRepository.save(alipayConfig); - } } diff --git a/eladmin-tools/src/main/java/me/zhengjie/service/impl/EmailServiceImpl.java b/eladmin-tools/src/main/java/me/zhengjie/service/impl/EmailServiceImpl.java index 73043e9e..f9ea59cb 100644 --- a/eladmin-tools/src/main/java/me/zhengjie/service/impl/EmailServiceImpl.java +++ b/eladmin-tools/src/main/java/me/zhengjie/service/impl/EmailServiceImpl.java @@ -45,22 +45,19 @@ public class EmailServiceImpl implements EmailService { private final EmailRepository emailRepository; @Override - @CachePut(key = "'1'") + @CachePut(key = "'id:1'") @Transactional(rollbackFor = Exception.class) - public EmailConfig update(EmailConfig emailConfig, EmailConfig old) { - try { - if(!emailConfig.getPass().equals(old.getPass())){ - // 对称加密 - emailConfig.setPass(EncryptUtils.desEncrypt(emailConfig.getPass())); - } - } catch (Exception e) { - e.printStackTrace(); + public EmailConfig config(EmailConfig emailConfig, EmailConfig old) throws Exception { + emailConfig.setId(1L); + if(!emailConfig.getPass().equals(old.getPass())){ + // 对称加密 + emailConfig.setPass(EncryptUtils.desEncrypt(emailConfig.getPass())); } return emailRepository.save(emailConfig); } @Override - @Cacheable(key = "'1'") + @Cacheable(key = "'id:1'") public EmailConfig find() { Optional emailConfig = emailRepository.findById(1L); return emailConfig.orElseGet(EmailConfig::new); @@ -86,6 +83,8 @@ public class EmailServiceImpl implements EmailService { account.setFrom(emailConfig.getUser()+"<"+emailConfig.getFromUser()+">"); // ssl方式发送 account.setSslEnable(true); + // 使用STARTTLS安全连接 + account.setStarttlsEnable(true); String content = emailVo.getContent(); // 发送 try { diff --git a/eladmin-tools/src/main/java/me/zhengjie/service/impl/QiNiuServiceImpl.java b/eladmin-tools/src/main/java/me/zhengjie/service/impl/QiNiuServiceImpl.java index ba7661b7..6beb8ad6 100644 --- a/eladmin-tools/src/main/java/me/zhengjie/service/impl/QiNiuServiceImpl.java +++ b/eladmin-tools/src/main/java/me/zhengjie/service/impl/QiNiuServiceImpl.java @@ -66,6 +66,25 @@ public class QiNiuServiceImpl implements QiNiuService { @Value("${qiniu.max-size}") private Long maxSize; + @Override + @Cacheable(key = "'id:1'") + public QiniuConfig find() { + Optional qiniuConfig = qiNiuConfigRepository.findById(1L); + return qiniuConfig.orElseGet(QiniuConfig::new); + } + + @Override + @CachePut(key = "'id:1'") + @Transactional(rollbackFor = Exception.class) + public QiniuConfig config(QiniuConfig qiniuConfig) { + qiniuConfig.setId(1L); + String http = "http://", https = "https://"; + if (!(qiniuConfig.getHost().toLowerCase().startsWith(http)||qiniuConfig.getHost().toLowerCase().startsWith(https))) { + throw new BadRequestException("外链域名必须以http://或者https://开头"); + } + return qiNiuConfigRepository.save(qiniuConfig); + } + @Override public Object queryAll(QiniuQueryCriteria criteria, Pageable pageable){ return PageUtil.toPage(qiniuContentRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder),pageable)); @@ -76,25 +95,6 @@ public class QiNiuServiceImpl implements QiNiuService { return qiniuContentRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder)); } - @Override - @Cacheable(key = "'1'") - public QiniuConfig find() { - Optional qiniuConfig = qiNiuConfigRepository.findById(1L); - return qiniuConfig.orElseGet(QiniuConfig::new); - } - - @Override - @CachePut(key = "'1'") - @Transactional(rollbackFor = Exception.class) - public QiniuConfig update(QiniuConfig qiniuConfig) { - String http = "http://", https = "https://"; - if (!(qiniuConfig.getHost().toLowerCase().startsWith(http)||qiniuConfig.getHost().toLowerCase().startsWith(https))) { - throw new BadRequestException("外链域名必须以http://或者https://开头"); - } - qiniuConfig.setId(1L); - return qiNiuConfigRepository.save(qiniuConfig); - } - @Override @Transactional(rollbackFor = Exception.class) public QiniuContent upload(MultipartFile file, QiniuConfig qiniuConfig) {