fixbug 批处理未执行 & fix 误提交微信发送预定消息
This commit is contained in:
@@ -0,0 +1,16 @@
|
||||
package com.ydd.oms.config.spring;
|
||||
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.scheduling.annotation.SchedulingConfigurer;
|
||||
import org.springframework.scheduling.config.ScheduledTaskRegistrar;
|
||||
|
||||
import java.util.concurrent.Executors;
|
||||
|
||||
@Configuration
|
||||
public class ScheduleConfig implements SchedulingConfigurer {
|
||||
@Override
|
||||
public void configureTasks(ScheduledTaskRegistrar taskRegistrar) {
|
||||
//当然了,这里设置的线程池是corePoolSize也是很关键了,自己根据业务需求设定
|
||||
taskRegistrar.setScheduler(Executors.newScheduledThreadPool(6));
|
||||
}
|
||||
}
|
||||
@@ -29,36 +29,21 @@ public class BarcodeTimeOrderTask {
|
||||
|
||||
@Resource
|
||||
BarcodeOrderTimeMapper barcodeOrderTimeMapper;
|
||||
@Resource
|
||||
MemberEnterStatusMapper memberEnterStatusMapper;
|
||||
|
||||
@Scheduled(cron = "0 0/5 * * * ?")
|
||||
@Transactional
|
||||
public void execute(){
|
||||
logger.error("执行BarcodeTimeOrderTask.execute");
|
||||
// 查询用户已经过期的按次入场订单
|
||||
List<BarcodeOrderTime> barcodeOrderTimes = barcodeOrderTimeMapper.endOrderList(new Date());
|
||||
if (barcodeOrderTimes != null && barcodeOrderTimes.size() > 0){
|
||||
Date date = new Date();
|
||||
for (BarcodeOrderTime barcodeOrderTime : barcodeOrderTimes) {
|
||||
logger.info("用户:" + barcodeOrderTime.getMemberId() + ",在场馆" + barcodeOrderTime.getVenueId() + "已到期");
|
||||
barcodeOrderTime.setStatus(BarCodeStatusEnum.USED.getValue());
|
||||
barcodeOrderTime.setModifiedTime(date);
|
||||
barcodeOrderTimeMapper.updateByPrimaryKey(barcodeOrderTime);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Scheduled(cron = "0 0 0 * * ?")
|
||||
@Transactional
|
||||
public void clearMember(){
|
||||
// 清场,将所有没有出场记录的用户、都设置为场外
|
||||
List<MemberEnterStatus> allNeedClear = memberEnterStatusMapper.findAllNeedClear();
|
||||
if (allNeedClear != null && allNeedClear.size() > 0) {
|
||||
logger.info("有" + allNeedClear.size() + "的人还在场内!!!");
|
||||
for (MemberEnterStatus memberEnterStatus : allNeedClear) {
|
||||
memberEnterStatus.setStatus(StayEnum.OUT.getValue());
|
||||
logger.info("用户:" + memberEnterStatus.getMemberId() + ",在场馆" + memberEnterStatus.getVenueId() + "还没出来");
|
||||
memberEnterStatusMapper.updateByPrimaryKey(memberEnterStatus);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
45
oms/src/main/java/com/ydd/oms/task/ClearPersonTask.java
Normal file
45
oms/src/main/java/com/ydd/oms/task/ClearPersonTask.java
Normal file
@@ -0,0 +1,45 @@
|
||||
package com.ydd.oms.task;
|
||||
|
||||
import com.enums.StayEnum;
|
||||
import com.sv.entity.MemberEnterStatus;
|
||||
import com.sv.mapper.MemberEnterStatusMapper;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.scheduling.annotation.Scheduled;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Controller - 修改用户会员卡
|
||||
*
|
||||
* @author limqsh
|
||||
* @since 2023-12-06
|
||||
*/
|
||||
@Component
|
||||
public class ClearPersonTask {
|
||||
|
||||
private final Logger logger = LoggerFactory.getLogger(ClearPersonTask.class);
|
||||
|
||||
@Resource
|
||||
MemberEnterStatusMapper memberEnterStatusMapper;
|
||||
|
||||
@Scheduled(cron = "0 0 1 * * ?")
|
||||
public void clearMember(){
|
||||
// 清场,将所有没有出场记录的用户、都设置为场外
|
||||
List<MemberEnterStatus> allNeedClear = memberEnterStatusMapper.findAllNeedClear();
|
||||
if (allNeedClear != null && allNeedClear.size() > 0) {
|
||||
logger.info("有" + allNeedClear.size() + "的人还在场内!!!");
|
||||
Date date = new Date();
|
||||
for (MemberEnterStatus memberEnterStatus : allNeedClear) {
|
||||
memberEnterStatus.setStatus(StayEnum.OUT.getValue());
|
||||
memberEnterStatus.setModifiedTime(date);
|
||||
logger.info("用户:" + memberEnterStatus.getMemberId() + ",在场馆" + memberEnterStatus.getVenueId() + "还没出来");
|
||||
memberEnterStatusMapper.updateByPrimaryKey(memberEnterStatus);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -10,6 +10,7 @@ import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.scheduling.annotation.Scheduled;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.time.LocalDate;
|
||||
@@ -40,8 +41,9 @@ public class CopyLessonTask {
|
||||
/**
|
||||
* 每周一九点
|
||||
*/
|
||||
@Scheduled(cron = "0 */1 * * * ?")
|
||||
@Scheduled(cron = "0 0/1 * * * ?")
|
||||
public void execute(){
|
||||
logger.error("执行CopyLessonTask.execute");
|
||||
LocalTime time = LocalTime.now();
|
||||
LocalDate date = LocalDate.now();
|
||||
logger.info(time.toString());
|
||||
|
||||
52
oms/src/main/java/com/ydd/oms/task/MemberCardUpdate.java
Normal file
52
oms/src/main/java/com/ydd/oms/task/MemberCardUpdate.java
Normal file
@@ -0,0 +1,52 @@
|
||||
package com.ydd.oms.task;
|
||||
|
||||
|
||||
import com.sv.entity.MemberCard;
|
||||
import com.sv.service.api.MemberCardService;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.scheduling.annotation.Scheduled;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Controller - 修改用户会员卡
|
||||
*
|
||||
* @author lihong
|
||||
* @since 2018-08-25
|
||||
*/
|
||||
@Component
|
||||
public class MemberCardUpdate {
|
||||
private final Logger logger = LoggerFactory.getLogger(MemberCardUpdate.class);
|
||||
|
||||
@Resource
|
||||
private MemberCardService memberCardService;
|
||||
|
||||
|
||||
// 每天执行一次
|
||||
@Scheduled(cron = "0 0 0 * * ?")
|
||||
public void execute(){
|
||||
logger.error("MemberCardUpdate.execute");
|
||||
// 查询用户已过期的会员卡
|
||||
List<MemberCard> cards = memberCardService.findAllCard();
|
||||
if (cards != null && cards.size() > 0){
|
||||
//修改过期的会员卡为未激活
|
||||
memberCardService.updateStatus(cards,0);
|
||||
// 查询出用户顺延的会员卡,正好是今日
|
||||
List<MemberCard> memberCards = memberCardService.findAllMemberCard(cards);
|
||||
//修改用户默认会员卡
|
||||
if (memberCards!= null && memberCards.size() > 0){
|
||||
for (MemberCard memberCard : memberCards){
|
||||
MemberCard mem = memberCardService.findMemberCardByVenue(memberCard.getMemberId(),memberCard.getVenueId(),memberCard.getVeneuType());
|
||||
if (mem != null){
|
||||
mem.setStatus(1);
|
||||
memberCardService.update(mem);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,83 @@
|
||||
package com.ydd.oms.task;
|
||||
|
||||
|
||||
import com.sv.dto.api.MemberLessonTicketDTO;
|
||||
import com.sv.entity.MemberLessonTicket;
|
||||
import com.sv.service.api.MemberLessonTicketService;
|
||||
import com.sv.service.api.VenueLessonService;
|
||||
import com.sv.service.api.VenueLessonTicketService;
|
||||
import com.sv.service.api.util.DateUtilCard;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.scheduling.annotation.Scheduled;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.time.LocalTime;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Controller - 检查预约课程,是否超时
|
||||
*
|
||||
* @author lihong
|
||||
* @since 2018-08-11
|
||||
*/
|
||||
@Component
|
||||
public class MemberLessonTickerOrderTask {
|
||||
|
||||
private final Logger logger = LoggerFactory.getLogger(MemberLessonTickerOrderTask.class);
|
||||
|
||||
@Resource
|
||||
private MemberLessonTicketService memberLessonTicketService;
|
||||
@Resource
|
||||
private VenueLessonTicketService venueLessonTicketService;
|
||||
@Resource
|
||||
private VenueLessonService venueLessonService;
|
||||
|
||||
/**
|
||||
* 每30秒执行一次订单查看
|
||||
*/
|
||||
@Scheduled(fixedDelay = 30000)
|
||||
public void execute(){
|
||||
logger.error("MemberLessonTickerOrderTask.execute");
|
||||
// 查询所有未支付订单
|
||||
List<MemberLessonTicket> memberLessonTickets = memberLessonTicketService.findOrders();
|
||||
if (memberLessonTickets.size() > 0){
|
||||
logger.info("开始取消课程");
|
||||
List<MemberLessonTicket> lessonIds = memberLessonTicketService.findOrdersLessonId();
|
||||
if (lessonIds.size() > 0 ){
|
||||
for (MemberLessonTicket lessonId : lessonIds){
|
||||
Integer num = memberLessonTicketService.lessonNum(lessonId.getLessonId());
|
||||
venueLessonService.updateSaleNum(num,lessonId.getLessonId());
|
||||
}
|
||||
}
|
||||
memberLessonTicketService.updateMemberLessonTicketStatus(memberLessonTickets);
|
||||
venueLessonTicketService.updateTicketStatus(memberLessonTickets);
|
||||
}
|
||||
updateExpired();
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改课程结束,还未签到的状态
|
||||
*/
|
||||
public void updateExpired(){
|
||||
// 判断签到是否过期
|
||||
List<MemberLessonTicketDTO> ticketDTOS = memberLessonTicketService.findAllExpired();
|
||||
for (MemberLessonTicketDTO ticketDTO : ticketDTOS) {
|
||||
//判断日期是否在今天之前,过期,直接改状态
|
||||
long nowDate = DateUtilCard.getTime(new Date()).getTime();
|
||||
long lessonDate = ticketDTO.getDate().getTime();
|
||||
LocalTime now = DateUtilCard.nowTime();
|
||||
LocalTime lessTIme = ticketDTO.getEndTime();
|
||||
boolean compare = now.isAfter(lessTIme);
|
||||
if (nowDate > lessonDate) {
|
||||
memberLessonTicketService.updateMemberStatus(ticketDTO);
|
||||
} else if (compare && nowDate == lessonDate) {
|
||||
//日期等于今天,判断上课时间是否结束,是,改状态
|
||||
memberLessonTicketService.updateMemberStatus(ticketDTO);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -15,6 +15,9 @@ public class BarcodeTimeTaskTest {
|
||||
@Resource
|
||||
BarcodeTimeOrderTask barcodeTimeOrderTask;
|
||||
|
||||
@Resource
|
||||
ClearPersonTask clearPersonTask;
|
||||
|
||||
@Test
|
||||
public void testTask(){
|
||||
barcodeTimeOrderTask.execute();
|
||||
@@ -22,7 +25,7 @@ public class BarcodeTimeTaskTest {
|
||||
|
||||
@Test
|
||||
public void testClearTask(){
|
||||
barcodeTimeOrderTask.clearMember();
|
||||
clearPersonTask.clearMember();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user