Commit 9b90cc41 authored by ZhengJie's avatar ZhengJie
Browse files

[代码完善](v2.5): v2.5 beta 修复邮件问题,修复RedisUtils.delByKeys删除失败的问题

修复第一次保存失败的问题,修复某些场景下发送失败的问题

close #363
parent 59bf09eb
...@@ -646,13 +646,13 @@ public class RedisUtils { ...@@ -646,13 +646,13 @@ public class RedisUtils {
/** /**
* *
* @param dict * @param prefix 前缀
* @param ids * @param ids id
*/ */
public void delByKeys(String prefix, Set<Long> ids) { public void delByKeys(String prefix, Set<Long> ids) {
List<String> keys = new ArrayList<>(); Set<Object> keys = new HashSet<>();
for (Long id : ids) { 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); redisTemplate.delete(keys);
} }
......
...@@ -59,8 +59,7 @@ public class AliPayController { ...@@ -59,8 +59,7 @@ public class AliPayController {
@ApiOperation("配置支付宝") @ApiOperation("配置支付宝")
@PutMapping @PutMapping
public ResponseEntity<Object> updateConfig(@Validated @RequestBody AlipayConfig alipayConfig){ public ResponseEntity<Object> updateConfig(@Validated @RequestBody AlipayConfig alipayConfig){
alipayConfig.setId(1L); alipayService.config(alipayConfig);
alipayService.update(alipayConfig);
return new ResponseEntity<>(HttpStatus.OK); return new ResponseEntity<>(HttpStatus.OK);
} }
......
...@@ -48,15 +48,15 @@ public class EmailController { ...@@ -48,15 +48,15 @@ public class EmailController {
@Log("配置邮件") @Log("配置邮件")
@PutMapping @PutMapping
@ApiOperation("配置邮件") @ApiOperation("配置邮件")
public ResponseEntity<Object> updateConfig(@Validated @RequestBody EmailConfig emailConfig){ public ResponseEntity<Object> updateConfig(@Validated @RequestBody EmailConfig emailConfig) throws Exception {
emailService.update(emailConfig,emailService.find()); emailService.config(emailConfig,emailService.find());
return new ResponseEntity<>(HttpStatus.OK); return new ResponseEntity<>(HttpStatus.OK);
} }
@Log("发送邮件") @Log("发送邮件")
@PostMapping @PostMapping
@ApiOperation("发送邮件") @ApiOperation("发送邮件")
public ResponseEntity<Object> sendEmail(@Validated @RequestBody EmailVo emailVo) throws Exception { public ResponseEntity<Object> sendEmail(@Validated @RequestBody EmailVo emailVo){
emailService.send(emailVo,emailService.find()); emailService.send(emailVo,emailService.find());
return new ResponseEntity<>(HttpStatus.OK); return new ResponseEntity<>(HttpStatus.OK);
} }
......
...@@ -58,7 +58,7 @@ public class QiniuController { ...@@ -58,7 +58,7 @@ public class QiniuController {
@ApiOperation("配置七牛云存储") @ApiOperation("配置七牛云存储")
@PutMapping(value = "/config") @PutMapping(value = "/config")
public ResponseEntity<Object> updateConfig(@Validated @RequestBody QiniuConfig qiniuConfig){ public ResponseEntity<Object> updateConfig(@Validated @RequestBody QiniuConfig qiniuConfig){
qiNiuService.update(qiniuConfig); qiNiuService.config(qiniuConfig);
qiNiuService.update(qiniuConfig.getType()); qiNiuService.update(qiniuConfig.getType());
return new ResponseEntity<>(HttpStatus.OK); return new ResponseEntity<>(HttpStatus.OK);
} }
......
...@@ -24,6 +24,19 @@ import me.zhengjie.domain.AlipayConfig; ...@@ -24,6 +24,19 @@ import me.zhengjie.domain.AlipayConfig;
*/ */
public interface AliPayService { public interface AliPayService {
/**
* 查询配置
* @return AlipayConfig
*/
AlipayConfig find();
/**
* 更新配置
* @param alipayConfig 支付宝配置
* @return AlipayConfig
*/
AlipayConfig config(AlipayConfig alipayConfig);
/** /**
* 处理来自PC的交易请求 * 处理来自PC的交易请求
* @param alipay 支付宝配置 * @param alipay 支付宝配置
...@@ -41,17 +54,4 @@ public interface AliPayService { ...@@ -41,17 +54,4 @@ public interface AliPayService {
* @throws Exception 异常 * @throws Exception 异常
*/ */
String toPayAsWeb(AlipayConfig alipay, TradeVo trade) throws Exception; String toPayAsWeb(AlipayConfig alipay, TradeVo trade) throws Exception;
/**
* 查询配置
* @return AlipayConfig
*/
AlipayConfig find();
/**
* 更新配置
* @param alipayConfig 支付宝配置
* @return AlipayConfig
*/
AlipayConfig update(AlipayConfig alipayConfig);
} }
...@@ -31,7 +31,7 @@ public interface EmailService { ...@@ -31,7 +31,7 @@ public interface EmailService {
* @param old 旧的配置 * @param old 旧的配置
* @return EmailConfig * @return EmailConfig
*/ */
EmailConfig update(EmailConfig emailConfig, EmailConfig old); EmailConfig config(EmailConfig emailConfig, EmailConfig old) throws Exception;
/** /**
* 查询配置 * 查询配置
......
...@@ -31,6 +31,19 @@ import java.util.List; ...@@ -31,6 +31,19 @@ import java.util.List;
*/ */
public interface QiNiuService { public interface QiNiuService {
/**
* 查配置
* @return QiniuConfig
*/
QiniuConfig find();
/**
* 修改配置
* @param qiniuConfig 配置
* @return QiniuConfig
*/
QiniuConfig config(QiniuConfig qiniuConfig);
/** /**
* 分页查询 * 分页查询
* @param criteria 条件 * @param criteria 条件
...@@ -46,19 +59,6 @@ public interface QiNiuService { ...@@ -46,19 +59,6 @@ public interface QiNiuService {
*/ */
List<QiniuContent> queryAll(QiniuQueryCriteria criteria); List<QiniuContent> queryAll(QiniuQueryCriteria criteria);
/**
* 查配置
* @return QiniuConfig
*/
QiniuConfig find();
/**
* 修改配置
* @param qiniuConfig 配置
* @return QiniuConfig
*/
QiniuConfig update(QiniuConfig qiniuConfig);
/** /**
* 上传文件 * 上传文件
* @param file 文件 * @param file 文件
......
...@@ -45,6 +45,21 @@ public class AliPayServiceImpl implements AliPayService { ...@@ -45,6 +45,21 @@ public class AliPayServiceImpl implements AliPayService {
private final AliPayRepository alipayRepository; private final AliPayRepository alipayRepository;
@Override
@Cacheable(key = "'id:1'")
public AlipayConfig find() {
Optional<AlipayConfig> 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 @Override
public String toPayAsPc(AlipayConfig alipay, TradeVo trade) throws Exception { public String toPayAsPc(AlipayConfig alipay, TradeVo trade) throws Exception {
...@@ -103,18 +118,4 @@ public class AliPayServiceImpl implements AliPayService { ...@@ -103,18 +118,4 @@ public class AliPayServiceImpl implements AliPayService {
" }"); " }");
return alipayClient.pageExecute(request, "GET").getBody(); return alipayClient.pageExecute(request, "GET").getBody();
} }
@Override
@Cacheable(key = "'1'")
public AlipayConfig find() {
Optional<AlipayConfig> 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);
}
} }
...@@ -45,22 +45,19 @@ public class EmailServiceImpl implements EmailService { ...@@ -45,22 +45,19 @@ public class EmailServiceImpl implements EmailService {
private final EmailRepository emailRepository; private final EmailRepository emailRepository;
@Override @Override
@CachePut(key = "'1'") @CachePut(key = "'id:1'")
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public EmailConfig update(EmailConfig emailConfig, EmailConfig old) { public EmailConfig config(EmailConfig emailConfig, EmailConfig old) throws Exception {
try { emailConfig.setId(1L);
if(!emailConfig.getPass().equals(old.getPass())){ if(!emailConfig.getPass().equals(old.getPass())){
// 对称加密 // 对称加密
emailConfig.setPass(EncryptUtils.desEncrypt(emailConfig.getPass())); emailConfig.setPass(EncryptUtils.desEncrypt(emailConfig.getPass()));
}
} catch (Exception e) {
e.printStackTrace();
} }
return emailRepository.save(emailConfig); return emailRepository.save(emailConfig);
} }
@Override @Override
@Cacheable(key = "'1'") @Cacheable(key = "'id:1'")
public EmailConfig find() { public EmailConfig find() {
Optional<EmailConfig> emailConfig = emailRepository.findById(1L); Optional<EmailConfig> emailConfig = emailRepository.findById(1L);
return emailConfig.orElseGet(EmailConfig::new); return emailConfig.orElseGet(EmailConfig::new);
...@@ -86,6 +83,8 @@ public class EmailServiceImpl implements EmailService { ...@@ -86,6 +83,8 @@ public class EmailServiceImpl implements EmailService {
account.setFrom(emailConfig.getUser()+"<"+emailConfig.getFromUser()+">"); account.setFrom(emailConfig.getUser()+"<"+emailConfig.getFromUser()+">");
// ssl方式发送 // ssl方式发送
account.setSslEnable(true); account.setSslEnable(true);
// 使用STARTTLS安全连接
account.setStarttlsEnable(true);
String content = emailVo.getContent(); String content = emailVo.getContent();
// 发送 // 发送
try { try {
......
...@@ -67,34 +67,34 @@ public class QiNiuServiceImpl implements QiNiuService { ...@@ -67,34 +67,34 @@ public class QiNiuServiceImpl implements QiNiuService {
private Long maxSize; private Long maxSize;
@Override @Override
public Object queryAll(QiniuQueryCriteria criteria, Pageable pageable){ @Cacheable(key = "'id:1'")
return PageUtil.toPage(qiniuContentRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder),pageable));
}
@Override
public List<QiniuContent> queryAll(QiniuQueryCriteria criteria) {
return qiniuContentRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder));
}
@Override
@Cacheable(key = "'1'")
public QiniuConfig find() { public QiniuConfig find() {
Optional<QiniuConfig> qiniuConfig = qiNiuConfigRepository.findById(1L); Optional<QiniuConfig> qiniuConfig = qiNiuConfigRepository.findById(1L);
return qiniuConfig.orElseGet(QiniuConfig::new); return qiniuConfig.orElseGet(QiniuConfig::new);
} }
@Override @Override
@CachePut(key = "'1'") @CachePut(key = "'id:1'")
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public QiniuConfig update(QiniuConfig qiniuConfig) { public QiniuConfig config(QiniuConfig qiniuConfig) {
qiniuConfig.setId(1L);
String http = "http://", https = "https://"; String http = "http://", https = "https://";
if (!(qiniuConfig.getHost().toLowerCase().startsWith(http)||qiniuConfig.getHost().toLowerCase().startsWith(https))) { if (!(qiniuConfig.getHost().toLowerCase().startsWith(http)||qiniuConfig.getHost().toLowerCase().startsWith(https))) {
throw new BadRequestException("外链域名必须以http://或者https://开头"); throw new BadRequestException("外链域名必须以http://或者https://开头");
} }
qiniuConfig.setId(1L);
return qiNiuConfigRepository.save(qiniuConfig); 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));
}
@Override
public List<QiniuContent> queryAll(QiniuQueryCriteria criteria) {
return qiniuContentRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder));
}
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public QiniuContent upload(MultipartFile file, QiniuConfig qiniuConfig) { public QiniuContent upload(MultipartFile file, QiniuConfig qiniuConfig) {
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment