发布优化预约功能;干预列表优化

This commit is contained in:
cjw 2024-06-07 15:31:14 +08:00
parent 910b5b4d7a
commit 5c556dd740
4 changed files with 23 additions and 12 deletions

View File

@ -61,9 +61,6 @@ public class SysInterveneRecordVo implements Serializable {
* 诊断附件
*/
private Long diagnoseAnnex;
@Translation(type = TransConstant.OSS_ID_TO_URL)
@AutoMapping(target = "diagnoseAnnex")
private Long diagnoseAnnexUrl;
/**
* 通知状态
@ -74,9 +71,7 @@ public class SysInterveneRecordVo implements Serializable {
* 通知附件
*/
private Long noticeAnnex;
@Translation(type = TransConstant.OSS_ID_TO_URL)
@AutoMapping(target = "noticeAnnex")
private Long noticeAnnexUrl;
/**
* 咨询师id
*/
@ -89,5 +84,7 @@ public class SysInterveneRecordVo implements Serializable {
private Date createTime;
private Date warnTime;
private String note;
}

View File

@ -13,6 +13,7 @@ import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.scale.constant.StatusEnum;
import org.dromara.scale.domain.SysInterveneRecord;
import org.dromara.scale.domain.SysScalePublish;
import org.dromara.scale.domain.SysWarnRecord;
import org.dromara.scale.domain.bo.SysInterveneRecordBo;
import org.dromara.scale.domain.vo.SysInterveneRecordVo;
import org.dromara.scale.domain.vo.TimeAxisVo;
@ -62,6 +63,11 @@ public class SysInterveneRecordServiceImpl implements ISysInterveneRecordService
for (SysInterveneRecordVo record : result.getRecords()) {
SysScalePublish sysScalePublish = publishMapper.selectById(record.getBatchNo());
record.setSessionName(sysScalePublish.getSessionName());
SysWarnRecord warn = warnMapper.selectOne(new LambdaQueryWrapper<SysWarnRecord>()
.select(SysWarnRecord::getNote)
.eq(SysWarnRecord::getBatchNo, record.getBatchNo())
.eq(SysWarnRecord::getUserId, record.getUserId()));
record.setNote(warn.getNote());
}
return TableDataInfo.build(result);
}

View File

@ -135,6 +135,10 @@ public class SysScalePublishServiceImpl implements ISysScalePublishService {
LoginUser loginUser = getLoginUser();
SysScalePublish add = MapstructUtils.convert(bo, SysScalePublish.class);
//add.setStatus(StatusEnum.IN_USE.getValue());
//预约开关
Integer status = add.getStatus();
//如果预约了则默认中止
add.setStatus(status == 1 ? 0 : 1);
add.setCreateBy(loginUser.getUserId());
add.setCreateTime(date);
validEntityBeforeSave(add);
@ -148,12 +152,15 @@ public class SysScalePublishServiceImpl implements ISysScalePublishService {
if (end <= 1000 * 3600 * 12) {
throw new ServiceException("截止日期必须在六小时后");
}
Date startTime = add.getStartTime();
long start = DateUtils.differentMillisecond(startTime, date);
boolean startFlag = false;
if (start > 0) {
startFlag = true;
long start = 0L;
if (status == 1) {
Date startTime = add.getStartTime();
start = DateUtils.differentMillisecond(date, startTime);
if (start <= 20 * 60 * 1000) {
throw new ServiceException("预约的时间必须在二十分钟以后");
}
}
//发布次数
List<SysScaleVo> list = scaleMapper.findSysScaleByIds(scaleIds);
add.setScaleNames(list.stream().map(SysScaleVo::getScaleName).collect(Collectors.joining(StrUtil.COMMA)));
@ -190,7 +197,8 @@ public class SysScalePublishServiceImpl implements ISysScalePublishService {
insertRecordBatch(add.getBatchNo(), scaleList, userList);
//加入延迟队列
QueueUtils.addDelayedQueueObject("endPublish-delay-queue", add.getBatchNo(), end, TimeUnit.MILLISECONDS);
if (startFlag) {
if (status == 1) {
QueueUtils.addDelayedQueueObject("startPublish-delay-queue", add.getBatchNo(), start, TimeUnit.MILLISECONDS);
}
return flag;