Skip to content

Commit

Permalink
[代码完善](v2.5): v2.5 beta 修复邮件问题,修复RedisUtils.delByKeys删除失败的问题
Browse files Browse the repository at this point in the history
修复第一次保存失败的问题,修复某些场景下发送失败的问题

close elunez#363
  • Loading branch information
elunez committed May 20, 2020
1 parent 59bf09e commit 9b90cc4
Show file tree
Hide file tree
Showing 10 changed files with 74 additions and 75 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -646,13 +646,13 @@ public long lRemove(String key, long count, Object value) {

/**
*
* @param dict
* @param ids
* @param prefix 前缀
* @param ids id
*/
public void delByKeys(String prefix, Set<Long> ids) {
List<String> keys = new ArrayList<>();
Set<Object> 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);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,8 +59,7 @@ public ResponseEntity<AlipayConfig> queryConfig(){
@ApiOperation("配置支付宝")
@PutMapping
public ResponseEntity<Object> updateConfig(@Validated @RequestBody AlipayConfig alipayConfig){
alipayConfig.setId(1L);
alipayService.update(alipayConfig);
alipayService.config(alipayConfig);
return new ResponseEntity<>(HttpStatus.OK);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,15 +48,15 @@ public ResponseEntity<Object> queryConfig(){
@Log("配置邮件")
@PutMapping
@ApiOperation("配置邮件")
public ResponseEntity<Object> updateConfig(@Validated @RequestBody EmailConfig emailConfig){
emailService.update(emailConfig,emailService.find());
public ResponseEntity<Object> updateConfig(@Validated @RequestBody EmailConfig emailConfig) throws Exception {
emailService.config(emailConfig,emailService.find());
return new ResponseEntity<>(HttpStatus.OK);
}

@Log("发送邮件")
@PostMapping
@ApiOperation("发送邮件")
public ResponseEntity<Object> sendEmail(@Validated @RequestBody EmailVo emailVo) throws Exception {
public ResponseEntity<Object> sendEmail(@Validated @RequestBody EmailVo emailVo){
emailService.send(emailVo,emailService.find());
return new ResponseEntity<>(HttpStatus.OK);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ public ResponseEntity<Object> queryConfig(){
@ApiOperation("配置七牛云存储")
@PutMapping(value = "/config")
public ResponseEntity<Object> updateConfig(@Validated @RequestBody QiniuConfig qiniuConfig){
qiNiuService.update(qiniuConfig);
qiNiuService.config(qiniuConfig);
qiNiuService.update(qiniuConfig.getType());
return new ResponseEntity<>(HttpStatus.OK);
}
Expand Down
26 changes: 13 additions & 13 deletions eladmin-tools/src/main/java/me/zhengjie/service/AliPayService.java
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,19 @@
*/
public interface AliPayService {

/**
* 查询配置
* @return AlipayConfig
*/
AlipayConfig find();

/**
* 更新配置
* @param alipayConfig 支付宝配置
* @return AlipayConfig
*/
AlipayConfig config(AlipayConfig alipayConfig);

/**
* 处理来自PC的交易请求
* @param alipay 支付宝配置
Expand All @@ -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);
}
Original file line number Diff line number Diff line change
Expand Up @@ -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;

/**
* 查询配置
Expand Down
26 changes: 13 additions & 13 deletions eladmin-tools/src/main/java/me/zhengjie/service/QiNiuService.java
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,19 @@
*/
public interface QiNiuService {

/**
* 查配置
* @return QiniuConfig
*/
QiniuConfig find();

/**
* 修改配置
* @param qiniuConfig 配置
* @return QiniuConfig
*/
QiniuConfig config(QiniuConfig qiniuConfig);

/**
* 分页查询
* @param criteria 条件
Expand All @@ -46,19 +59,6 @@ public interface QiNiuService {
*/
List<QiniuContent> queryAll(QiniuQueryCriteria criteria);

/**
* 查配置
* @return QiniuConfig
*/
QiniuConfig find();

/**
* 修改配置
* @param qiniuConfig 配置
* @return QiniuConfig
*/
QiniuConfig update(QiniuConfig qiniuConfig);

/**
* 上传文件
* @param file 文件
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,21 @@ public class AliPayServiceImpl implements AliPayService {

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
public String toPayAsPc(AlipayConfig alipay, TradeVo trade) throws Exception {

Expand Down Expand Up @@ -103,18 +118,4 @@ public String toPayAsWeb(AlipayConfig alipay, TradeVo trade) throws Exception {
" }");
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);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -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> emailConfig = emailRepository.findById(1L);
return emailConfig.orElseGet(EmailConfig::new);
Expand All @@ -86,6 +83,8 @@ public void send(EmailVo emailVo, EmailConfig emailConfig){
account.setFrom(emailConfig.getUser()+"<"+emailConfig.getFromUser()+">");
// ssl方式发送
account.setSslEnable(true);
// 使用STARTTLS安全连接
account.setStarttlsEnable(true);
String content = emailVo.getContent();
// 发送
try {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,34 +67,34 @@ public class QiNiuServiceImpl implements QiNiuService {
private Long maxSize;

@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
@Cacheable(key = "'1'")
@Cacheable(key = "'id:1'")
public QiniuConfig find() {
Optional<QiniuConfig> qiniuConfig = qiNiuConfigRepository.findById(1L);
return qiniuConfig.orElseGet(QiniuConfig::new);
}

@Override
@CachePut(key = "'1'")
@CachePut(key = "'id:1'")
@Transactional(rollbackFor = Exception.class)
public QiniuConfig update(QiniuConfig qiniuConfig) {
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://开头");
}
qiniuConfig.setId(1L);
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
@Transactional(rollbackFor = Exception.class)
public QiniuContent upload(MultipartFile file, QiniuConfig qiniuConfig) {
Expand Down

0 comments on commit 9b90cc4

Please sign in to comment.