课程按次按时逻辑调整

This commit is contained in:
limqhz
2023-12-06 19:44:08 +08:00
parent 137a5f87ce
commit b4f9663bb2
11 changed files with 294 additions and 70 deletions

View File

@@ -0,0 +1,49 @@
package com.ydd.oms.task;
import com.enums.BarCodeStatusEnum;
import com.sv.entity.BarcodeOrderTime;
import com.sv.mapper.BarcodeOrderTimeMapper;
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.Date;
import java.util.List;
/**
* Controller - 修改用户会员卡
*
* @author limqsh
* @since 2023-12-06
*/
@Component
public class BarcodeTimeOrderTask {
private final Logger logger = LoggerFactory.getLogger(BarcodeTimeOrderTask.class);
@Resource
BarcodeOrderTimeMapper barcodeOrderTimeMapper;
@Scheduled(cron = "0 0/5 * * * ?")
@Transactional
public void execute(){
// 查询用户已经过期的按次入场订单
List<BarcodeOrderTime> barcodeOrderTimes = barcodeOrderTimeMapper.endOrderList(new Date());
if (barcodeOrderTimes != null && barcodeOrderTimes.size() > 0){
for (BarcodeOrderTime barcodeOrderTime : barcodeOrderTimes) {
logger.info("用户:" + barcodeOrderTime.getMemberId() + ",在场馆" + barcodeOrderTime.getVenueId() + "已到期");
barcodeOrderTime.setStatus(BarCodeStatusEnum.USED.getValue());
barcodeOrderTimeMapper.updateByPrimaryKey(barcodeOrderTime);
}
}
}
@Transactional
public void clearMember(){
// TODO 清场,将所有没有出场记录的用户、都删除最近一次入场记录、希望这个内容能够做成一个新表,记录场馆以及用户的出入场状态
}
}

View File

@@ -0,0 +1,23 @@
package com.ydd.oms.task;
import com.OmsApplication;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import javax.annotation.Resource;
@RunWith(SpringRunner.class)
@SpringBootTest(classes={OmsApplication.class})
public class BarcodeTimeTaskTest {
@Resource
BarcodeTimeOrderTask barcodeTimeOrderTask;
@Test
public void testTask(){
barcodeTimeOrderTask.execute();
}
}