diff --git a/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/api/controller/ConSessionApiController.java b/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/api/controller/ConSessionApiController.java index be1e301..3ae5e2a 100644 --- a/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/api/controller/ConSessionApiController.java +++ b/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/api/controller/ConSessionApiController.java @@ -480,4 +480,10 @@ public class ConSessionApiController { return conSessionApiService.insertUserAndHelperSessionNew(); } + @Operation(summary = "超时关闭视频咨询", description = "超时关闭视频咨询") + @GetMapping("/endVideoSession") + public Result endVideoSession() { + return Result.ok(conSessionApiService.endVideoSession()); + } + } diff --git a/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/api/service/ConSessionApiService.java b/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/api/service/ConSessionApiService.java index 7b7dc21..a2abff5 100644 --- a/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/api/service/ConSessionApiService.java +++ b/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/api/service/ConSessionApiService.java @@ -115,4 +115,6 @@ public interface ConSessionApiService { UserSessionCount countForUser(); + String endVideoSession(); + } diff --git a/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/api/service/impl/ConSessionApiServiceImpl.java b/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/api/service/impl/ConSessionApiServiceImpl.java index 79dddc5..89a8ef9 100644 --- a/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/api/service/impl/ConSessionApiServiceImpl.java +++ b/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/api/service/impl/ConSessionApiServiceImpl.java @@ -2114,4 +2114,8 @@ public class ConSessionApiServiceImpl implements ConSessionApiService { return conSessionMapper.selectCount(wrapper).intValue(); } + public String endVideoSession() { + return conSessionMapper.endVideoSession(); + } + } diff --git a/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/mapper/ConSessionMapper.java b/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/mapper/ConSessionMapper.java index 1b8cad1..e15cc34 100644 --- a/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/mapper/ConSessionMapper.java +++ b/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/mapper/ConSessionMapper.java @@ -294,4 +294,13 @@ public interface ConSessionMapper extends BaseMapper , MPJBaseMapper @Param("doctorjob")String doctorjob, @Param("contentType")String contentType, @Param("toAccount")String toAccount); + + /** + * 音视频咨询过期处理:预约日期已过的视频咨询,有通话记录则改为待评价,无通话记录则改为取消 + * content_status: 4=待评价,6=取消 + */ + @Update("UPDATE con_session SET content_status = CASE WHEN session_time IS NOT NULL THEN 4 ELSE 6 END " + + "WHERE content_type = 2 AND CURDATE() > session_date " + + "AND content_status NOT IN (4, 5, 6, 7, 8) AND del_flag = 0 AND status = 1") + String endVideoSession(); } diff --git a/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/task/SyncScheduleJob.java b/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/task/SyncScheduleJob.java index 7319091..8ee463b 100644 --- a/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/task/SyncScheduleJob.java +++ b/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/task/SyncScheduleJob.java @@ -7,6 +7,7 @@ import com.xxl.job.core.biz.model.ReturnT; import com.xxl.job.core.context.XxlJobHelper; import com.xxl.job.core.handler.annotation.XxlJob; import lombok.extern.slf4j.Slf4j; +import org.jeecg.common.api.vo.Result; import org.jeecg.common.constant.CommonConstant; import org.jeecg.config.shiro.ClientSignThreadLocal; import org.parboiled.common.StringUtils; @@ -36,10 +37,10 @@ public class SyncScheduleJob { String expireHour = "168"; String param = XxlJobHelper.getJobParam(); - if(StringUtils.isNotEmpty(param)){ + if (StringUtils.isNotEmpty(param)) { JSONObject jsonObject = JSONObject.parseObject(param); String expireHourRequest = jsonObject.getString("expireHour"); - if(StringUtils.isNotEmpty(expireHourRequest)){ + if (StringUtils.isNotEmpty(expireHourRequest)) { expireHour = jsonObject.getString("expireHour"); } } @@ -53,4 +54,12 @@ public class SyncScheduleJob { return ReturnT.SUCCESS; } + + @XxlJob(value = "endVideoSession") + public Result endVideoSession() { + // 20260327 新增 音视频咨询过期处理 规则为:超过预约时间,比如预约的是 12月9日和专家视频沟通,但超过时间一天,即为过期,需要关闭咨询 + conSessionApiController.endVideoSession(); + return Result.ok("success"); + } + }