This commit is contained in:
张良(004796)
2024-01-30 12:45:40 +08:00
parent 135f45d2c3
commit 3908ce5698
3 changed files with 15 additions and 11 deletions

View File

@@ -1,6 +1,9 @@
package com.ruoyi.cai.dto.admin.query.syspush; package com.ruoyi.cai.dto.admin.query.syspush;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.constant.DateConstant;
import lombok.Data; import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime; import java.time.LocalDateTime;
@@ -24,6 +27,8 @@ public class SysPushMasterDTO {
private String onlyImage; private String onlyImage;
private Integer sendTimeType; private Integer sendTimeType;
@DateTimeFormat(pattern = DateConstant.PATTERN_DATETIME)
@JsonFormat(pattern = DateConstant.PATTERN_DATETIME)
private LocalDateTime sendTime; private LocalDateTime sendTime;
private String title; private String title;
private Integer type; private Integer type;

View File

@@ -31,6 +31,7 @@ import com.ruoyi.cai.notice.data.child.MultipleImageTextData;
import com.ruoyi.cai.notice.data.child.MultipleImageTextNode; import com.ruoyi.cai.notice.data.child.MultipleImageTextNode;
import com.ruoyi.cai.notice.data.child.SimpleImageTextData; import com.ruoyi.cai.notice.data.child.SimpleImageTextData;
import com.ruoyi.cai.notice.enums.MessageBaseTypeEnum; import com.ruoyi.cai.notice.enums.MessageBaseTypeEnum;
import com.ruoyi.cai.service.SysPushLogService;
import com.ruoyi.cai.service.SysPushService; import com.ruoyi.cai.service.SysPushService;
import com.ruoyi.cai.service.UserService; import com.ruoyi.cai.service.UserService;
import com.ruoyi.cai.util.CaiDateUtil; import com.ruoyi.cai.util.CaiDateUtil;
@@ -69,6 +70,8 @@ public class SysPushServiceImpl extends ServiceImpl<SysPushMapper, SysPush> impl
private SystemConfigManager systemConfigManager; private SystemConfigManager systemConfigManager;
@Autowired @Autowired
private AmqpProducer amqpProducer; private AmqpProducer amqpProducer;
@Autowired
private SysPushLogService sysPushLogService;
@Override @Override
public void saveSysPush(SysPushParams params) { public void saveSysPush(SysPushParams params) {
@@ -97,12 +100,12 @@ public class SysPushServiceImpl extends ServiceImpl<SysPushMapper, SysPush> impl
} }
sysPush.setSendTimeType(systemPushSendTime.getCode()); sysPush.setSendTimeType(systemPushSendTime.getCode());
if(systemPushSendTime == SystemPushSendTimeTypeEnum.SCHEDULED_SEND){ if(systemPushSendTime == SystemPushSendTimeTypeEnum.SCHEDULED_SEND){
long between = CaiDateUtil.diff(sysPush.getEndTime(), LocalDateTime.now()); long between = CaiDateUtil.diff(master.getSendTime(), LocalDateTime.now());
if(between < 0){ if(between < 0){
throw new ServiceException("定时发送时间不能少于当前时间"); throw new ServiceException("定时发送时间不能少于当前时间");
} }
if(between < 60*3){ if(between < 60){
throw new ServiceException("定时发送最低限制为3分钟以后"); throw new ServiceException("定时发送最低限制为1分钟以后");
} }
sysPush.setSendTime(master.getSendTime()); sysPush.setSendTime(master.getSendTime());
} }
@@ -174,13 +177,13 @@ public class SysPushServiceImpl extends ServiceImpl<SysPushMapper, SysPush> impl
this.save(sysPush); this.save(sysPush);
try { try {
// 小于 < 12小时 // 小于 < 12小时
long between = CaiDateUtil.diff(sysPush.getEndTime(), LocalDateTime.now()); long between = CaiDateUtil.diff(sysPush.getSendTime(), LocalDateTime.now());
CommonDelayDto dto = new CommonDelayDto(); CommonDelayDto dto = new CommonDelayDto();
dto.setSysPushId(sysPush.getId()); dto.setSysPushId(sysPush.getId());
dto.setType(CommonDelayTypeEnum.SYS_PUSH.getCode()); dto.setType(CommonDelayTypeEnum.SYS_PUSH.getCode());
amqpProducer.sendCommonDelayMq(dto,(int)between+2); amqpProducer.sendCommonDelayMq(dto,(int)between+2);
}catch (Exception e){ }catch (Exception e){
log.error("延时任务发送失败!"); log.error("系统推送任务发送失败!",e);
} }
} }
@@ -218,10 +221,6 @@ public class SysPushServiceImpl extends ServiceImpl<SysPushMapper, SysPush> impl
if(SystemPushStatusEnum.COMPLETE.getCode().equals(status)){ if(SystemPushStatusEnum.COMPLETE.getCode().equals(status)){
throw new ServiceException("不允许重复执行"); throw new ServiceException("不允许重复执行");
} }
if(SystemPushStatusEnum.RUNNING.getCode().equals(status)
|| SystemPushStatusEnum.QUEUE_RUNNING.getCode().equals(status)){
throw new ServiceException("任务正在执行中,不允许重复执行");
}
boolean update = this.update(Wrappers.lambdaUpdate(SysPush.class) boolean update = this.update(Wrappers.lambdaUpdate(SysPush.class)
.eq(SysPush::getId, sysPush.getId()) .eq(SysPush::getId, sysPush.getId())
.eq(SysPush::getStatus, SystemPushStatusEnum.RUNNING.getCode()) .eq(SysPush::getStatus, SystemPushStatusEnum.RUNNING.getCode())
@@ -303,7 +302,7 @@ public class SysPushServiceImpl extends ServiceImpl<SysPushMapper, SysPush> impl
sysPushLog.setStatus(SystemPushLogStatusEnum.SEND_FAIL.getCode()); sysPushLog.setStatus(SystemPushLogStatusEnum.SEND_FAIL.getCode());
sysPushLog.setResult(e.getMessage()); sysPushLog.setResult(e.getMessage());
} }
this.save(sysPush); sysPushLogService.save(sysPushLog);
} }
this.update(Wrappers.lambdaUpdate(SysPush.class) this.update(Wrappers.lambdaUpdate(SysPush.class)
.eq(SysPush::getId, sysPush.getId()) .eq(SysPush::getId, sysPush.getId())

View File

@@ -92,7 +92,7 @@ public class UserForbidServiceImpl extends ServiceImpl<UserForbidMapper, UserFor
dto.setType(CommonDelayTypeEnum.USER_FORBID.getCode()); dto.setType(CommonDelayTypeEnum.USER_FORBID.getCode());
amqpProducer.sendCommonDelayMq(dto,(int)between+2); amqpProducer.sendCommonDelayMq(dto,(int)between+2);
}catch (Exception e){ }catch (Exception e){
log.error("延时任务发送失败!"); log.error("用户封禁延时任务发送失败!",e);
} }
} }