From 80bc31a5a521f7d19b5b7cec1f4190ec74b81dc5 Mon Sep 17 00:00:00 2001 From: limqhz <540344226@qq.com> Date: Fri, 15 Dec 2023 11:26:15 +0800 Subject: [PATCH] =?UTF-8?q?fixbug=20=E6=89=B9=E5=A4=84=E7=90=86=E6=9C=AA?= =?UTF-8?q?=E6=89=A7=E8=A1=8C=20&=20fix=20=E8=AF=AF=E6=8F=90=E4=BA=A4?= =?UTF-8?q?=E5=BE=AE=E4=BF=A1=E5=8F=91=E9=80=81=E9=A2=84=E5=AE=9A=E6=B6=88?= =?UTF-8?q?=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ydd/oms/config/spring/ScheduleConfig.java | 16 +++++++ .../ydd/oms/task/BarcodeTimeOrderTask.java | 21 ++------- .../com/ydd/oms/task/ClearPersonTask.java | 45 +++++++++++++++++++ .../java/com/ydd/oms/task/CopyLessonTask.java | 4 +- .../com/ydd/oms}/task/MemberCardUpdate.java | 5 ++- .../task/MemberLessonTickerOrderTask.java | 6 +-- .../com/ydd/oms/task/BarcodeTimeTaskTest.java | 5 ++- .../api/MemberLessonTicketService.java | 2 + .../sv/service/message/WeiXinSendUtils.java | 5 +-- 9 files changed, 81 insertions(+), 28 deletions(-) create mode 100644 oms/src/main/java/com/ydd/oms/config/spring/ScheduleConfig.java create mode 100644 oms/src/main/java/com/ydd/oms/task/ClearPersonTask.java rename {api/src/main/java/com/sv/api => oms/src/main/java/com/ydd/oms}/task/MemberCardUpdate.java (90%) rename {api/src/main/java/com/sv/api => oms/src/main/java/com/ydd/oms}/task/MemberLessonTickerOrderTask.java (96%) diff --git a/oms/src/main/java/com/ydd/oms/config/spring/ScheduleConfig.java b/oms/src/main/java/com/ydd/oms/config/spring/ScheduleConfig.java new file mode 100644 index 0000000..8746995 --- /dev/null +++ b/oms/src/main/java/com/ydd/oms/config/spring/ScheduleConfig.java @@ -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)); + } +} diff --git a/oms/src/main/java/com/ydd/oms/task/BarcodeTimeOrderTask.java b/oms/src/main/java/com/ydd/oms/task/BarcodeTimeOrderTask.java index 03d36ef..e99862b 100644 --- a/oms/src/main/java/com/ydd/oms/task/BarcodeTimeOrderTask.java +++ b/oms/src/main/java/com/ydd/oms/task/BarcodeTimeOrderTask.java @@ -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 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 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); - } - } - } - } diff --git a/oms/src/main/java/com/ydd/oms/task/ClearPersonTask.java b/oms/src/main/java/com/ydd/oms/task/ClearPersonTask.java new file mode 100644 index 0000000..8c65b43 --- /dev/null +++ b/oms/src/main/java/com/ydd/oms/task/ClearPersonTask.java @@ -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 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); + } + } + } + +} diff --git a/oms/src/main/java/com/ydd/oms/task/CopyLessonTask.java b/oms/src/main/java/com/ydd/oms/task/CopyLessonTask.java index ce26b03..b86f535 100644 --- a/oms/src/main/java/com/ydd/oms/task/CopyLessonTask.java +++ b/oms/src/main/java/com/ydd/oms/task/CopyLessonTask.java @@ -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()); diff --git a/api/src/main/java/com/sv/api/task/MemberCardUpdate.java b/oms/src/main/java/com/ydd/oms/task/MemberCardUpdate.java similarity index 90% rename from api/src/main/java/com/sv/api/task/MemberCardUpdate.java rename to oms/src/main/java/com/ydd/oms/task/MemberCardUpdate.java index 5ceb858..cf7e1c0 100644 --- a/api/src/main/java/com/sv/api/task/MemberCardUpdate.java +++ b/oms/src/main/java/com/ydd/oms/task/MemberCardUpdate.java @@ -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 cards = memberCardService.findAllCard(); if (cards != null && cards.size() > 0){ diff --git a/api/src/main/java/com/sv/api/task/MemberLessonTickerOrderTask.java b/oms/src/main/java/com/ydd/oms/task/MemberLessonTickerOrderTask.java similarity index 96% rename from api/src/main/java/com/sv/api/task/MemberLessonTickerOrderTask.java rename to oms/src/main/java/com/ydd/oms/task/MemberLessonTickerOrderTask.java index 0acdb3b..04e9d7e 100644 --- a/api/src/main/java/com/sv/api/task/MemberLessonTickerOrderTask.java +++ b/oms/src/main/java/com/ydd/oms/task/MemberLessonTickerOrderTask.java @@ -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 memberLessonTickets = memberLessonTicketService.findOrders(); if (memberLessonTickets.size() > 0){ diff --git a/oms/src/test/java/com/ydd/oms/task/BarcodeTimeTaskTest.java b/oms/src/test/java/com/ydd/oms/task/BarcodeTimeTaskTest.java index 97687c6..e19518e 100644 --- a/oms/src/test/java/com/ydd/oms/task/BarcodeTimeTaskTest.java +++ b/oms/src/test/java/com/ydd/oms/task/BarcodeTimeTaskTest.java @@ -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(); } } diff --git a/service/src/main/java/com/sv/service/api/MemberLessonTicketService.java b/service/src/main/java/com/sv/service/api/MemberLessonTicketService.java index 20aec13..3e7ff69 100644 --- a/service/src/main/java/com/sv/service/api/MemberLessonTicketService.java +++ b/service/src/main/java/com/sv/service/api/MemberLessonTicketService.java @@ -665,6 +665,7 @@ public class MemberLessonTicketService extends BaseServiceImpl { /** * 修改状态 */ + @Transactional public void updateMemberLessonTicketStatus(List 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()); diff --git a/service/src/main/java/com/sv/service/message/WeiXinSendUtils.java b/service/src/main/java/com/sv/service/message/WeiXinSendUtils.java index 2c4ac68..363958e 100644 --- a/service/src/main/java/com/sv/service/message/WeiXinSendUtils.java +++ b/service/src/main/java/com/sv/service/message/WeiXinSendUtils.java @@ -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)