fixbug 批处理未执行 & fix 误提交微信发送预定消息

This commit is contained in:
2023-12-15 11:26:15 +08:00
parent 1a66c5df1b
commit 80bc31a5a5
9 changed files with 81 additions and 28 deletions

View File

@@ -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));
}
}

View File

@@ -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);
}
}
}
}

View 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);
}
}
}
}

View File

@@ -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());

View File

@@ -1,4 +1,4 @@
package com.sv.api.task;
package com.ydd.oms.task;
import com.sv.entity.MemberCard;
@@ -20,6 +20,7 @@ import java.util.List;
*/
@Component
public class MemberCardUpdate {
private final Logger logger = LoggerFactory.getLogger(MemberCardUpdate.class);
@Resource
private MemberCardService memberCardService;
@@ -27,8 +28,8 @@ public class MemberCardUpdate {
// 每天执行一次
@Scheduled(cron = "0 0 0 * * ?")
@Transactional
public void execute(){
logger.error("MemberCardUpdate.execute");
// 查询用户已过期的会员卡
List<MemberCard> cards = memberCardService.findAllCard();
if (cards != null && cards.size() > 0){

View File

@@ -1,4 +1,4 @@
package com.sv.api.task;
package com.ydd.oms.task;
import com.sv.dto.api.MemberLessonTicketDTO;
@@ -39,9 +39,9 @@ public class MemberLessonTickerOrderTask {
/**
* 每30秒执行一次订单查看
*/
// @Scheduled(fixedDelay = 30000)
// @Transactional(rollbackFor = Exception.class)
@Scheduled(fixedDelay = 30000)
public void execute(){
logger.error("MemberLessonTickerOrderTask.execute");
// 查询所有未支付订单
List<MemberLessonTicket> memberLessonTickets = memberLessonTicketService.findOrders();
if (memberLessonTickets.size() > 0){

View File

@@ -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();
}
}

View File

@@ -665,6 +665,7 @@ public class MemberLessonTicketService extends BaseServiceImpl {
/**
* 修改状态
*/
@Transactional
public void updateMemberLessonTicketStatus(List<MemberLessonTicket> memberLessonTickets) {
memberLessonTicketMapper.updateMemberLessonTicketStatus(memberLessonTickets, 2);
}
@@ -679,6 +680,7 @@ public class MemberLessonTicketService extends BaseServiceImpl {
/**
* 修改用于已过期但未签到的课程状态为3
*/
@Transactional
public void updateMemberStatus(MemberLessonTicketDTO ticket) {
//已经过期未签到 判断该课程 是否是公益课
VenueLesson lesson = venueLessonService.findById(ticket.getLessonId());

View File

@@ -43,9 +43,8 @@ public class WeiXinSendUtils implements InitializingBean {
}
private void getToken() {
//TODO 放开
// AccessTokenResponse accessToken = WeChatHelper.getAccessToken("wx51d82eba3f5f4858", "d28320bcb885cc208b6fde2253d8663e");
// token = accessToken.getAccessToken();
AccessTokenResponse accessToken = WeChatHelper.getAccessToken("wx51d82eba3f5f4858", "d28320bcb885cc208b6fde2253d8663e");
token = accessToken.getAccessToken();
}
@Scheduled(fixedDelay=60*60*1000)