package com.ltkj.web.config.timer; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.ltkj.common.core.domain.entity.SysUser; import com.ltkj.common.core.redis.RedisCache; import com.ltkj.common.utils.SecurityUtils; import com.ltkj.framework.config.UserHoder; import com.ltkj.hosp.domain.*; import com.ltkj.hosp.service.*; import com.ltkj.system.domain.SysPost; import com.ltkj.system.domain.SysUserPost; import com.ltkj.system.service.ISysPostService; import com.ltkj.system.service.ISysUserPostService; import com.ltkj.system.service.ISysUserService; import org.springframework.stereotype.Service; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import java.util.*; import java.util.stream.Collectors; /** * @Company: 西安路泰科技有限公司 * @Author: zjh * @Date: 2023/3/22 11:48 */ @Service public class updateTjFinshTimeService { @Resource private ITjOrderService orderService; @Resource private ITjOrderDetailService tjOrderDetailService; //定时器每分钟查询一次,所有项目完成后修改完成时间 void updateTjFinshTime(){ LambdaQueryWrapper wq0 = new LambdaQueryWrapper<>(); wq0.eq(TjOrder::getCheckStatus,0); wq0.isNull(TjOrder::getFinishTime); List orderList = orderService.list(wq0); if(null !=orderList && orderList.size()>0){ for (TjOrder order : orderList) { LambdaQueryWrapperwq=new LambdaQueryWrapper<>(); wq.eq(TjOrderDetail::getOrderId,order.getOrderId()); List detailList = tjOrderDetailService.list(wq); LambdaQueryWrapperwq1=new LambdaQueryWrapper<>(); wq1.eq(TjOrderDetail::getOrderId,order.getOrderId()); wq1.eq(TjOrderDetail::getTjStatus,1); List detais = tjOrderDetailService.list(wq1); if(null !=detailList && detailList.size()>0 && null !=detais && detais.size()>0 && detais.size()==detailList.size()){ order.setFinishTime(new Date()); orderService.updateById(order); } } } } }