From fc079a1402bad56cda6a81b91f9def66f0fb98d6 Mon Sep 17 00:00:00 2001 From: yongfeng <2283865573@qq.com> Date: Mon, 9 Dec 2024 17:57:11 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=A8=E6=88=B7=E9=A2=86=E5=8F=96=E6=B4=BB?= =?UTF-8?q?=E5=8A=A8=E6=89=A3=E5=87=8F=E8=B4=A6=E6=88=B7=E9=A2=9D=E5=BA=A6?= =?UTF-8?q?=EF=BC=8C=E5=B9=B6=E5=86=99=E5=85=A5=E4=B8=AD=E5=A5=96=E8=AE=B0?= =?UTF-8?q?=E5=BD=95=E5=92=8CMQ=E6=B6=88=E6=81=AF=E6=B6=88=E8=B4=B9?= =?UTF-8?q?=E9=98=9F=E5=88=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../data/log/log-error-2024-11-26.0.log | 43 - .../data/log/log-error-2024-12-03.0.log | 976 ++++++++++++++ .../data/log/log-info-2024-11-18.0.log | 423 ------ .../data/log/log-info-2024-11-19.0.log | 18 - .../data/log/log-info-2024-11-21.0.log | 585 -------- .../data/log/log-info-2024-11-22.0.log | 343 ----- .../data/log/log-info-2024-12-03.0.log | 1189 +++++++++++++++++ bigmarket-app/data/log/log_error.log | 516 ++----- bigmarket-app/data/log/log_info.log | 737 ++-------- .../src/main/resources/application-dev.yml | 1 + .../mybatis/mapper/IActivityRepository.xml | 20 - .../mybatis/mapper/IAwardRepository.xml | 6 + .../raffle_activity_account_day_mapper.xml | 35 + .../mapper/raffle_activity_account_mapper.xml | 28 + .../raffle_activity_account_month_mapper.xml | 35 + .../mapper/raffle_activity_sku_mapper.xml | 1 + .../resources/mybatis/mapper/task_mapper.xml | 45 + .../mapper/user_award_record_mapper.xml | 27 + .../mapper/user_raffle_order_mapper.xml | 33 + .../bugstack/test/award/AwardServiceTest.java | 52 + ...affleActivityAccountQuotaServiceTest.java} | 17 +- .../RaffleActivityPartakeServiceTest.java | 40 + .../CreatePartakeOrderAggregate.java | 63 + ...te.java => CreateQuotaOrderAggregate.java} | 7 +- .../entity/ActivityAccountDayEntity.java | 30 + .../entity/ActivityAccountMonthEntity.java | 29 + .../entity/PartakeRaffleActivityEntity.java | 22 + .../model/entity/UserRaffleOrderEntity.java | 37 + .../model/valobj/UserRaffleOrderStateVO.java | 23 + .../repository/IActivityRepository.java | 19 +- ...> IRaffleActivityAccountQuotaService.java} | 6 +- .../IRaffleActivityPartakeService.java | 19 + ...va => IRaffleActivitySkuStockService.java} | 4 +- .../AbstractRaffleActivityPartake.java | 77 ++ .../partake/RaffleActivityPartakeService.java | 105 ++ .../AbstractRaffleActivityAccountQuota.java} | 24 +- .../RaffleActivityAccountQuotaService.java} | 19 +- .../RaffleActivityAccountQuotaSupport.java} | 10 +- .../{ => quota}/rule/AbstractActionChain.java | 2 +- .../{ => quota}/rule/IActionChain.java | 2 +- .../{ => quota}/rule/IActionChainArmory.java | 2 +- .../factory/DefaultActivityChainFactory.java | 4 +- .../rule/impl/ActivityBaseActionChain.java | 4 +- .../impl/ActivitySkuStockActionChain.java | 4 +- .../award/event/SendAwardMessageEvent.java | 58 + .../aggregate/UserAwardRecordAggregate.java | 24 + .../domain/award/model/entity/TaskEntity.java | 32 + .../model/entity/UserAwardRecordEntity.java | 38 + .../award/model/valobj/AwardStateVO.java | 22 + .../award/model/valobj/TaskStateVO.java | 23 + .../award/repository/IAwardRepository.java | 7 + .../domain/award/service/AwardService.java | 51 + .../domain/award/service/IAwardService.java | 14 + .../domain/task/model/entity/TaskEntity.java | 22 + .../task/repository/ITaskRepository.java | 20 + .../domain/task/service/ITaskService.java | 25 + .../domain/task/service/TaskService.java | 38 + .../domain/xxx/adapter/port/package-info.java | 4 - .../xxx/adapter/repository/package-info.java | 5 - .../domain/xxx/model/entity/package-info.java | 7 - .../domain/xxx/model/valobj/package-info.java | 6 - .../domain/xxx/service/package-info.java | 1 - .../domain/yyy/model/valobj/package-info.java | 6 - .../infrastructure/event/EventPublisher.java | 10 + .../dao/IRaffleActivityAccountDao.java | 10 + .../dao/IRaffleActivityAccountDayDao.java | 22 + .../dao/IRaffleActivityAccountFlowDao.java | 14 - .../dao/IRaffleActivityAccountMonthDao.java | 22 + .../dao/IRaffleActivityCountDao.java | 1 - .../persistent/dao/IRuleTreeNodeLineDao.java | 1 - .../persistent/dao/IStrategyDao.java | 1 - .../persistent/dao/IStrategyRuleDao.java | 1 - .../persistent/dao/ITaskDao.java | 22 + .../persistent/dao/IUserAwardRecordDao.java | 16 + .../persistent/dao/IUserRaffleOrderDao.java | 22 + .../persistent/po/RaffleActivityAccount.java | 6 + .../po/RaffleActivityAccountDay.java | 38 + .../po/RaffleActivityAccountFlow.java | 70 - .../po/RaffleActivityAccountMonth.java | 38 + .../persistent/po/RaffleActivitySku.java | 1 - .../infrastructure/persistent/po/Task.java | 32 + .../persistent/po/UserAwardRecord.java | 38 + .../persistent/po/UserRaffleOrder.java | 42 + .../repository/ActivityRepository.java | 217 ++- .../repository/AwardRepository.java | 94 ++ .../persistent/repository/TaskRepository.java | 65 + bigmarket-trigger/pom.xml | 5 + .../trigger/job/SendMessageTaskJob.java | 69 + .../job/UpdateActivitySkuStockJob.java | 4 +- .../ActivitySkuStockZeroCustomer.java | 4 +- .../cn/bugstack/types/enums/ResponseCode.java | 6 +- docs/dev-ops/log/log-info-2024-12-03.0.log | 31 + docs/dev-ops/log/log-info-2024-12-04.0.log | 64 + docs/dev-ops/log/log-info-2024-12-08.0.log | 20 + docs/dev-ops/log/log_info.log | 160 ++- docs/dev-ops/mysql/sql/big_market_01.sql | 523 ++++++-- docs/dev-ops/mysql/sql/big_market_02.sql | 437 ++++-- 97 files changed, 5221 insertions(+), 2970 deletions(-) delete mode 100644 bigmarket-app/data/log/log-error-2024-11-26.0.log create mode 100644 bigmarket-app/data/log/log-error-2024-12-03.0.log delete mode 100644 bigmarket-app/data/log/log-info-2024-11-18.0.log delete mode 100644 bigmarket-app/data/log/log-info-2024-11-19.0.log delete mode 100644 bigmarket-app/data/log/log-info-2024-11-21.0.log delete mode 100644 bigmarket-app/data/log/log-info-2024-11-22.0.log create mode 100644 bigmarket-app/data/log/log-info-2024-12-03.0.log delete mode 100644 bigmarket-app/src/main/resources/mybatis/mapper/IActivityRepository.xml create mode 100644 bigmarket-app/src/main/resources/mybatis/mapper/IAwardRepository.xml create mode 100644 bigmarket-app/src/main/resources/mybatis/mapper/raffle_activity_account_day_mapper.xml create mode 100644 bigmarket-app/src/main/resources/mybatis/mapper/raffle_activity_account_month_mapper.xml create mode 100644 bigmarket-app/src/main/resources/mybatis/mapper/task_mapper.xml create mode 100644 bigmarket-app/src/main/resources/mybatis/mapper/user_award_record_mapper.xml create mode 100644 bigmarket-app/src/main/resources/mybatis/mapper/user_raffle_order_mapper.xml create mode 100644 bigmarket-app/src/test/java/cn/bugstack/test/award/AwardServiceTest.java rename bigmarket-app/src/test/java/cn/bugstack/test/domain/activity/{RaffleOrderTest.java => RaffleActivityAccountQuotaServiceTest.java} (81%) create mode 100644 bigmarket-app/src/test/java/cn/bugstack/test/domain/activity/RaffleActivityPartakeServiceTest.java create mode 100644 bigmarket-domain/src/main/java/cn/bugstack/domain/activity/model/aggregate/CreatePartakeOrderAggregate.java rename bigmarket-domain/src/main/java/cn/bugstack/domain/activity/model/aggregate/{CreateOrderAggregate.java => CreateQuotaOrderAggregate.java} (82%) create mode 100644 bigmarket-domain/src/main/java/cn/bugstack/domain/activity/model/entity/ActivityAccountDayEntity.java create mode 100644 bigmarket-domain/src/main/java/cn/bugstack/domain/activity/model/entity/ActivityAccountMonthEntity.java create mode 100644 bigmarket-domain/src/main/java/cn/bugstack/domain/activity/model/entity/PartakeRaffleActivityEntity.java create mode 100644 bigmarket-domain/src/main/java/cn/bugstack/domain/activity/model/entity/UserRaffleOrderEntity.java create mode 100644 bigmarket-domain/src/main/java/cn/bugstack/domain/activity/model/valobj/UserRaffleOrderStateVO.java rename bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/{IRaffleOrder.java => IRaffleActivityAccountQuotaService.java} (86%) create mode 100644 bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/IRaffleActivityPartakeService.java rename bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/{ISkuStock.java => IRaffleActivitySkuStockService.java} (94%) create mode 100644 bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/partake/AbstractRaffleActivityPartake.java create mode 100644 bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/partake/RaffleActivityPartakeService.java rename bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/{AbstractRaffleActivity.java => quota/AbstractRaffleActivityAccountQuota.java} (61%) rename bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/{RaffleActivityService.java => quota/RaffleActivityAccountQuotaService.java} (74%) rename bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/{RaffleActivitySupport.java => quota/RaffleActivityAccountQuotaSupport.java} (76%) rename bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/{ => quota}/rule/AbstractActionChain.java (88%) rename bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/{ => quota}/rule/IActionChain.java (90%) rename bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/{ => quota}/rule/IActionChainArmory.java (79%) rename bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/{ => quota}/rule/factory/DefaultActivityChainFactory.java (90%) rename bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/{ => quota}/rule/impl/ActivityBaseActionChain.java (93%) rename bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/{ => quota}/rule/impl/ActivitySkuStockActionChain.java (94%) create mode 100644 bigmarket-domain/src/main/java/cn/bugstack/domain/award/event/SendAwardMessageEvent.java create mode 100644 bigmarket-domain/src/main/java/cn/bugstack/domain/award/model/aggregate/UserAwardRecordAggregate.java create mode 100644 bigmarket-domain/src/main/java/cn/bugstack/domain/award/model/entity/TaskEntity.java create mode 100644 bigmarket-domain/src/main/java/cn/bugstack/domain/award/model/entity/UserAwardRecordEntity.java create mode 100644 bigmarket-domain/src/main/java/cn/bugstack/domain/award/model/valobj/AwardStateVO.java create mode 100644 bigmarket-domain/src/main/java/cn/bugstack/domain/award/model/valobj/TaskStateVO.java create mode 100644 bigmarket-domain/src/main/java/cn/bugstack/domain/award/repository/IAwardRepository.java create mode 100644 bigmarket-domain/src/main/java/cn/bugstack/domain/award/service/AwardService.java create mode 100644 bigmarket-domain/src/main/java/cn/bugstack/domain/award/service/IAwardService.java create mode 100644 bigmarket-domain/src/main/java/cn/bugstack/domain/task/model/entity/TaskEntity.java create mode 100644 bigmarket-domain/src/main/java/cn/bugstack/domain/task/repository/ITaskRepository.java create mode 100644 bigmarket-domain/src/main/java/cn/bugstack/domain/task/service/ITaskService.java create mode 100644 bigmarket-domain/src/main/java/cn/bugstack/domain/task/service/TaskService.java delete mode 100644 bigmarket-domain/src/main/java/cn/bugstack/domain/xxx/adapter/port/package-info.java delete mode 100644 bigmarket-domain/src/main/java/cn/bugstack/domain/xxx/adapter/repository/package-info.java delete mode 100644 bigmarket-domain/src/main/java/cn/bugstack/domain/xxx/model/entity/package-info.java delete mode 100644 bigmarket-domain/src/main/java/cn/bugstack/domain/xxx/model/valobj/package-info.java delete mode 100644 bigmarket-domain/src/main/java/cn/bugstack/domain/xxx/service/package-info.java delete mode 100644 bigmarket-domain/src/main/java/cn/bugstack/domain/yyy/model/valobj/package-info.java create mode 100644 bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/dao/IRaffleActivityAccountDayDao.java delete mode 100644 bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/dao/IRaffleActivityAccountFlowDao.java create mode 100644 bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/dao/IRaffleActivityAccountMonthDao.java create mode 100644 bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/dao/ITaskDao.java create mode 100644 bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/dao/IUserAwardRecordDao.java create mode 100644 bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/dao/IUserRaffleOrderDao.java create mode 100644 bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/po/RaffleActivityAccountDay.java delete mode 100644 bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/po/RaffleActivityAccountFlow.java create mode 100644 bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/po/RaffleActivityAccountMonth.java create mode 100644 bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/po/Task.java create mode 100644 bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/po/UserAwardRecord.java create mode 100644 bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/po/UserRaffleOrder.java create mode 100644 bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/repository/AwardRepository.java create mode 100644 bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/repository/TaskRepository.java create mode 100644 bigmarket-trigger/src/main/java/cn/bugstack/trigger/job/SendMessageTaskJob.java create mode 100644 docs/dev-ops/log/log-info-2024-12-03.0.log create mode 100644 docs/dev-ops/log/log-info-2024-12-04.0.log create mode 100644 docs/dev-ops/log/log-info-2024-12-08.0.log diff --git a/bigmarket-app/data/log/log-error-2024-11-26.0.log b/bigmarket-app/data/log/log-error-2024-11-26.0.log deleted file mode 100644 index 50e212f..0000000 --- a/bigmarket-app/data/log/log-error-2024-11-26.0.log +++ /dev/null @@ -1,43 +0,0 @@ -24-11-26.14:44:55.728 [main ] ERROR TestContextManager - Caught exception while allowing TestExecutionListener [org.springframework.boot.test.autoconfigure.SpringBootDependencyInjectionTestExecutionListener@75db5df9] to prepare test instance [cn.bugstack.test.infrastructure.RaffleActivityDaoTest@77f03916] -org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'cn.bugstack.test.infrastructure.RaffleActivityDaoTest': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'cn.bugstack.infrastructure.persistent.dao.IRaffleActivityDao' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@javax.annotation.Resource(shareable=true, lookup=, name=, description=, authenticationType=CONTAINER, type=class java.lang.Object, mappedName=)} - at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:332) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1431) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireBeanProperties(AbstractAutowireCapableBeanFactory.java:417) - at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.injectDependencies(DependencyInjectionTestExecutionListener.java:119) - at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.prepareTestInstance(DependencyInjectionTestExecutionListener.java:83) - at org.springframework.boot.test.autoconfigure.SpringBootDependencyInjectionTestExecutionListener.prepareTestInstance(SpringBootDependencyInjectionTestExecutionListener.java:43) - at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:248) - at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:227) - at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:289) - at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) - at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:291) - at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:246) - at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97) - at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) - at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) - at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) - at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) - at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) - at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) - at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70) - at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) - at org.junit.runners.ParentRunner.run(ParentRunner.java:413) - at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190) - at org.junit.runner.JUnitCore.run(JUnitCore.java:137) - at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69) - at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38) - at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11) - at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35) - at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:232) - at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:55) -Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'cn.bugstack.infrastructure.persistent.dao.IRaffleActivityDao' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@javax.annotation.Resource(shareable=true, lookup=, name=, description=, authenticationType=CONTAINER, type=class java.lang.Object, mappedName=)} - at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoMatchingBeanFound(DefaultListableBeanFactory.java:1801) - at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1357) - at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) - at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.autowireResource(CommonAnnotationBeanPostProcessor.java:544) - at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.getResource(CommonAnnotationBeanPostProcessor.java:520) - at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$ResourceElement.getResourceToInject(CommonAnnotationBeanPostProcessor.java:673) - at org.springframework.beans.factory.annotation.InjectionMetadata$InjectedElement.inject(InjectionMetadata.java:228) - at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119) - at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:329) - ... 29 common frames omitted diff --git a/bigmarket-app/data/log/log-error-2024-12-03.0.log b/bigmarket-app/data/log/log-error-2024-12-03.0.log new file mode 100644 index 0000000..c4580b6 --- /dev/null +++ b/bigmarket-app/data/log/log-error-2024-12-03.0.log @@ -0,0 +1,976 @@ +24-12-03.20:28:00.840 [main ] WARN GenericWebApplicationContext - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'raffleController': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'defaultRaffleStrategy' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-domain\target\classes\cn\bugstack\domain\strategy\service\raffle\DefaultRaffleStrategy.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap +24-12-03.20:28:00.884 [main ] ERROR SpringApplication - Application run failed +org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'raffleController': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'defaultRaffleStrategy' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-domain\target\classes\cn\bugstack\domain\strategy\service\raffle\DefaultRaffleStrategy.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap + at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:332) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1431) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:955) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:920) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:731) + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:408) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) + at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:136) + at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:141) + at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:90) + at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:124) + at org.springframework.test.context.web.ServletTestExecutionListener.setUpRequestContextIfNecessary(ServletTestExecutionListener.java:190) + at org.springframework.test.context.web.ServletTestExecutionListener.prepareTestInstance(ServletTestExecutionListener.java:132) + at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:248) + at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:227) + at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:289) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:291) + at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:246) + at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97) + at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) + at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) + at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) + at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70) + at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) + at org.junit.runners.ParentRunner.run(ParentRunner.java:413) + at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190) + at org.junit.runner.JUnitCore.run(JUnitCore.java:137) + at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69) + at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38) + at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11) + at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35) + at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:232) + at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:55) +Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'defaultRaffleStrategy' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-domain\target\classes\cn\bugstack\domain\strategy\service\raffle\DefaultRaffleStrategy.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap + at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:800) + at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:229) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1372) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1222) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) + at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.autowireResource(CommonAnnotationBeanPostProcessor.java:544) + at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.getResource(CommonAnnotationBeanPostProcessor.java:520) + at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$ResourceElement.getResourceToInject(CommonAnnotationBeanPostProcessor.java:673) + at org.springframework.beans.factory.annotation.InjectionMetadata$InjectedElement.inject(InjectionMetadata.java:228) + at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119) + at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:329) + ... 43 common frames omitted +Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap + at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:332) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1431) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) + at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:887) + at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791) + ... 61 common frames omitted +Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireByType(AbstractAutowireCapableBeanFactory.java:1534) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1417) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) + at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.autowireResource(CommonAnnotationBeanPostProcessor.java:544) + at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.getResource(CommonAnnotationBeanPostProcessor.java:520) + at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$ResourceElement.getResourceToInject(CommonAnnotationBeanPostProcessor.java:673) + at org.springframework.beans.factory.annotation.InjectionMetadata$InjectedElement.inject(InjectionMetadata.java:228) + at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119) + at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:329) + ... 73 common frames omitted +Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap + at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:658) + at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:638) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1352) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1195) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireByType(AbstractAutowireCapableBeanFactory.java:1519) + ... 89 common frames omitted +Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap + at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185) + at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) + ... 102 common frames omitted +Caused by: org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap + at org.mybatis.spring.SqlSessionFactoryBean.buildSqlSessionFactory(SqlSessionFactoryBean.java:613) + at org.mybatis.spring.SqlSessionFactoryBean.afterPropertiesSet(SqlSessionFactoryBean.java:491) + at org.mybatis.spring.SqlSessionFactoryBean.getObject(SqlSessionFactoryBean.java:633) + at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration.sqlSessionFactory(MybatisAutoConfiguration.java:179) + at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration$$EnhancerBySpringCGLIB$$8340bd8e.CGLIB$sqlSessionFactory$0() + at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration$$EnhancerBySpringCGLIB$$8340bd8e$$FastClassBySpringCGLIB$$6d994854.invoke() + at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:244) + at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:331) + at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration$$EnhancerBySpringCGLIB$$8340bd8e.sqlSessionFactory() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) + ... 103 common frames omitted +Caused by: org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap + at org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:123) + at org.apache.ibatis.builder.xml.XMLMapperBuilder.parse(XMLMapperBuilder.java:95) + at org.mybatis.spring.SqlSessionFactoryBean.buildSqlSessionFactory(SqlSessionFactoryBean.java:611) + ... 116 common frames omitted +Caused by: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap + at org.apache.ibatis.session.Configuration$StrictMap.put(Configuration.java:1014) + at org.apache.ibatis.session.Configuration$StrictMap.put(Configuration.java:970) + at org.apache.ibatis.session.Configuration.addResultMap(Configuration.java:726) + at org.apache.ibatis.builder.MapperBuilderAssistant.addResultMap(MapperBuilderAssistant.java:209) + at org.apache.ibatis.builder.ResultMapResolver.resolve(ResultMapResolver.java:47) + at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElement(XMLMapperBuilder.java:289) + at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElement(XMLMapperBuilder.java:254) + at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElements(XMLMapperBuilder.java:246) + at org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:119) + ... 118 common frames omitted +24-12-03.20:28:00.887 [main ] ERROR TestContextManager - Caught exception while allowing TestExecutionListener [org.springframework.test.context.web.ServletTestExecutionListener@f79e] to prepare test instance [cn.bugstack.test.domain.activity.RaffleOrderTest@317890ea] +java.lang.IllegalStateException: Failed to load ApplicationContext + at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:98) + at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:124) + at org.springframework.test.context.web.ServletTestExecutionListener.setUpRequestContextIfNecessary(ServletTestExecutionListener.java:190) + at org.springframework.test.context.web.ServletTestExecutionListener.prepareTestInstance(ServletTestExecutionListener.java:132) + at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:248) + at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:227) + at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:289) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:291) + at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:246) + at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97) + at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) + at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) + at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) + at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70) + at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) + at org.junit.runners.ParentRunner.run(ParentRunner.java:413) + at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190) + at org.junit.runner.JUnitCore.run(JUnitCore.java:137) + at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69) + at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38) + at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11) + at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35) + at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:232) + at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:55) +Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'raffleController': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'defaultRaffleStrategy' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-domain\target\classes\cn\bugstack\domain\strategy\service\raffle\DefaultRaffleStrategy.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap + at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:332) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1431) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:955) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:920) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:731) + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:408) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) + at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:136) + at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:141) + at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:90) + ... 27 common frames omitted +Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'defaultRaffleStrategy' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-domain\target\classes\cn\bugstack\domain\strategy\service\raffle\DefaultRaffleStrategy.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap + at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:800) + at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:229) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1372) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1222) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) + at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.autowireResource(CommonAnnotationBeanPostProcessor.java:544) + at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.getResource(CommonAnnotationBeanPostProcessor.java:520) + at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$ResourceElement.getResourceToInject(CommonAnnotationBeanPostProcessor.java:673) + at org.springframework.beans.factory.annotation.InjectionMetadata$InjectedElement.inject(InjectionMetadata.java:228) + at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119) + at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:329) + ... 43 common frames omitted +Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap + at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:332) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1431) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) + at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:887) + at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791) + ... 61 common frames omitted +Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireByType(AbstractAutowireCapableBeanFactory.java:1534) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1417) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) + at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.autowireResource(CommonAnnotationBeanPostProcessor.java:544) + at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.getResource(CommonAnnotationBeanPostProcessor.java:520) + at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$ResourceElement.getResourceToInject(CommonAnnotationBeanPostProcessor.java:673) + at org.springframework.beans.factory.annotation.InjectionMetadata$InjectedElement.inject(InjectionMetadata.java:228) + at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119) + at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:329) + ... 73 common frames omitted +Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap + at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:658) + at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:638) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1352) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1195) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireByType(AbstractAutowireCapableBeanFactory.java:1519) + ... 89 common frames omitted +Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap + at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185) + at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) + ... 102 common frames omitted +Caused by: org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap + at org.mybatis.spring.SqlSessionFactoryBean.buildSqlSessionFactory(SqlSessionFactoryBean.java:613) + at org.mybatis.spring.SqlSessionFactoryBean.afterPropertiesSet(SqlSessionFactoryBean.java:491) + at org.mybatis.spring.SqlSessionFactoryBean.getObject(SqlSessionFactoryBean.java:633) + at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration.sqlSessionFactory(MybatisAutoConfiguration.java:179) + at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration$$EnhancerBySpringCGLIB$$8340bd8e.CGLIB$sqlSessionFactory$0() + at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration$$EnhancerBySpringCGLIB$$8340bd8e$$FastClassBySpringCGLIB$$6d994854.invoke() + at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:244) + at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:331) + at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration$$EnhancerBySpringCGLIB$$8340bd8e.sqlSessionFactory() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) + ... 103 common frames omitted +Caused by: org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap + at org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:123) + at org.apache.ibatis.builder.xml.XMLMapperBuilder.parse(XMLMapperBuilder.java:95) + at org.mybatis.spring.SqlSessionFactoryBean.buildSqlSessionFactory(SqlSessionFactoryBean.java:611) + ... 116 common frames omitted +Caused by: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap + at org.apache.ibatis.session.Configuration$StrictMap.put(Configuration.java:1014) + at org.apache.ibatis.session.Configuration$StrictMap.put(Configuration.java:970) + at org.apache.ibatis.session.Configuration.addResultMap(Configuration.java:726) + at org.apache.ibatis.builder.MapperBuilderAssistant.addResultMap(MapperBuilderAssistant.java:209) + at org.apache.ibatis.builder.ResultMapResolver.resolve(ResultMapResolver.java:47) + at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElement(XMLMapperBuilder.java:289) + at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElement(XMLMapperBuilder.java:254) + at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElements(XMLMapperBuilder.java:246) + at org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:119) + ... 118 common frames omitted +24-12-03.20:31:39.016 [main ] WARN GenericWebApplicationContext - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'raffleController': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'defaultRaffleStrategy' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-domain\target\classes\cn\bugstack\domain\strategy\service\raffle\DefaultRaffleStrategy.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap +24-12-03.20:31:39.055 [main ] ERROR SpringApplication - Application run failed +org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'raffleController': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'defaultRaffleStrategy' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-domain\target\classes\cn\bugstack\domain\strategy\service\raffle\DefaultRaffleStrategy.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap + at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:332) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1431) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:955) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:920) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:731) + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:408) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) + at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:136) + at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:141) + at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:90) + at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:124) + at org.springframework.test.context.web.ServletTestExecutionListener.setUpRequestContextIfNecessary(ServletTestExecutionListener.java:190) + at org.springframework.test.context.web.ServletTestExecutionListener.prepareTestInstance(ServletTestExecutionListener.java:132) + at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:248) + at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:227) + at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:289) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:291) + at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:246) + at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97) + at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) + at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) + at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) + at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70) + at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) + at org.junit.runners.ParentRunner.run(ParentRunner.java:413) + at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190) + at org.junit.runner.JUnitCore.run(JUnitCore.java:137) + at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69) + at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38) + at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11) + at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35) + at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:232) + at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:55) +Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'defaultRaffleStrategy' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-domain\target\classes\cn\bugstack\domain\strategy\service\raffle\DefaultRaffleStrategy.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap + at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:800) + at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:229) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1372) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1222) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) + at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.autowireResource(CommonAnnotationBeanPostProcessor.java:544) + at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.getResource(CommonAnnotationBeanPostProcessor.java:520) + at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$ResourceElement.getResourceToInject(CommonAnnotationBeanPostProcessor.java:673) + at org.springframework.beans.factory.annotation.InjectionMetadata$InjectedElement.inject(InjectionMetadata.java:228) + at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119) + at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:329) + ... 43 common frames omitted +Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap + at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:332) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1431) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) + at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:887) + at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791) + ... 61 common frames omitted +Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireByType(AbstractAutowireCapableBeanFactory.java:1534) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1417) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) + at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.autowireResource(CommonAnnotationBeanPostProcessor.java:544) + at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.getResource(CommonAnnotationBeanPostProcessor.java:520) + at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$ResourceElement.getResourceToInject(CommonAnnotationBeanPostProcessor.java:673) + at org.springframework.beans.factory.annotation.InjectionMetadata$InjectedElement.inject(InjectionMetadata.java:228) + at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119) + at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:329) + ... 73 common frames omitted +Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap + at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:658) + at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:638) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1352) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1195) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireByType(AbstractAutowireCapableBeanFactory.java:1519) + ... 89 common frames omitted +Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap + at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185) + at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) + ... 102 common frames omitted +Caused by: org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap + at org.mybatis.spring.SqlSessionFactoryBean.buildSqlSessionFactory(SqlSessionFactoryBean.java:613) + at org.mybatis.spring.SqlSessionFactoryBean.afterPropertiesSet(SqlSessionFactoryBean.java:491) + at org.mybatis.spring.SqlSessionFactoryBean.getObject(SqlSessionFactoryBean.java:633) + at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration.sqlSessionFactory(MybatisAutoConfiguration.java:179) + at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration$$EnhancerBySpringCGLIB$$8340bd8e.CGLIB$sqlSessionFactory$1() + at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration$$EnhancerBySpringCGLIB$$8340bd8e$$FastClassBySpringCGLIB$$6d994854.invoke() + at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:244) + at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:331) + at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration$$EnhancerBySpringCGLIB$$8340bd8e.sqlSessionFactory() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) + ... 103 common frames omitted +Caused by: org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap + at org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:123) + at org.apache.ibatis.builder.xml.XMLMapperBuilder.parse(XMLMapperBuilder.java:95) + at org.mybatis.spring.SqlSessionFactoryBean.buildSqlSessionFactory(SqlSessionFactoryBean.java:611) + ... 116 common frames omitted +Caused by: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap + at org.apache.ibatis.session.Configuration$StrictMap.put(Configuration.java:1014) + at org.apache.ibatis.session.Configuration$StrictMap.put(Configuration.java:970) + at org.apache.ibatis.session.Configuration.addResultMap(Configuration.java:726) + at org.apache.ibatis.builder.MapperBuilderAssistant.addResultMap(MapperBuilderAssistant.java:209) + at org.apache.ibatis.builder.ResultMapResolver.resolve(ResultMapResolver.java:47) + at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElement(XMLMapperBuilder.java:289) + at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElement(XMLMapperBuilder.java:254) + at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElements(XMLMapperBuilder.java:246) + at org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:119) + ... 118 common frames omitted +24-12-03.20:31:39.059 [main ] ERROR TestContextManager - Caught exception while allowing TestExecutionListener [org.springframework.test.context.web.ServletTestExecutionListener@f79e] to prepare test instance [cn.bugstack.test.domain.activity.RaffleOrderTest@317890ea] +java.lang.IllegalStateException: Failed to load ApplicationContext + at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:98) + at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:124) + at org.springframework.test.context.web.ServletTestExecutionListener.setUpRequestContextIfNecessary(ServletTestExecutionListener.java:190) + at org.springframework.test.context.web.ServletTestExecutionListener.prepareTestInstance(ServletTestExecutionListener.java:132) + at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:248) + at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:227) + at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:289) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:291) + at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:246) + at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97) + at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) + at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) + at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) + at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70) + at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) + at org.junit.runners.ParentRunner.run(ParentRunner.java:413) + at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190) + at org.junit.runner.JUnitCore.run(JUnitCore.java:137) + at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69) + at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38) + at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11) + at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35) + at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:232) + at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:55) +Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'raffleController': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'defaultRaffleStrategy' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-domain\target\classes\cn\bugstack\domain\strategy\service\raffle\DefaultRaffleStrategy.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap + at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:332) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1431) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:955) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:920) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:731) + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:408) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) + at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:136) + at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:141) + at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:90) + ... 27 common frames omitted +Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'defaultRaffleStrategy' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-domain\target\classes\cn\bugstack\domain\strategy\service\raffle\DefaultRaffleStrategy.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap + at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:800) + at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:229) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1372) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1222) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) + at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.autowireResource(CommonAnnotationBeanPostProcessor.java:544) + at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.getResource(CommonAnnotationBeanPostProcessor.java:520) + at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$ResourceElement.getResourceToInject(CommonAnnotationBeanPostProcessor.java:673) + at org.springframework.beans.factory.annotation.InjectionMetadata$InjectedElement.inject(InjectionMetadata.java:228) + at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119) + at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:329) + ... 43 common frames omitted +Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap + at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:332) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1431) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) + at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:887) + at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791) + ... 61 common frames omitted +Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireByType(AbstractAutowireCapableBeanFactory.java:1534) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1417) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) + at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.autowireResource(CommonAnnotationBeanPostProcessor.java:544) + at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.getResource(CommonAnnotationBeanPostProcessor.java:520) + at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$ResourceElement.getResourceToInject(CommonAnnotationBeanPostProcessor.java:673) + at org.springframework.beans.factory.annotation.InjectionMetadata$InjectedElement.inject(InjectionMetadata.java:228) + at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119) + at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:329) + ... 73 common frames omitted +Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap + at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:658) + at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:638) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1352) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1195) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireByType(AbstractAutowireCapableBeanFactory.java:1519) + ... 89 common frames omitted +Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap + at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185) + at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) + ... 102 common frames omitted +Caused by: org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap + at org.mybatis.spring.SqlSessionFactoryBean.buildSqlSessionFactory(SqlSessionFactoryBean.java:613) + at org.mybatis.spring.SqlSessionFactoryBean.afterPropertiesSet(SqlSessionFactoryBean.java:491) + at org.mybatis.spring.SqlSessionFactoryBean.getObject(SqlSessionFactoryBean.java:633) + at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration.sqlSessionFactory(MybatisAutoConfiguration.java:179) + at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration$$EnhancerBySpringCGLIB$$8340bd8e.CGLIB$sqlSessionFactory$1() + at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration$$EnhancerBySpringCGLIB$$8340bd8e$$FastClassBySpringCGLIB$$6d994854.invoke() + at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:244) + at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:331) + at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration$$EnhancerBySpringCGLIB$$8340bd8e.sqlSessionFactory() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) + ... 103 common frames omitted +Caused by: org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap + at org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:123) + at org.apache.ibatis.builder.xml.XMLMapperBuilder.parse(XMLMapperBuilder.java:95) + at org.mybatis.spring.SqlSessionFactoryBean.buildSqlSessionFactory(SqlSessionFactoryBean.java:611) + ... 116 common frames omitted +Caused by: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap + at org.apache.ibatis.session.Configuration$StrictMap.put(Configuration.java:1014) + at org.apache.ibatis.session.Configuration$StrictMap.put(Configuration.java:970) + at org.apache.ibatis.session.Configuration.addResultMap(Configuration.java:726) + at org.apache.ibatis.builder.MapperBuilderAssistant.addResultMap(MapperBuilderAssistant.java:209) + at org.apache.ibatis.builder.ResultMapResolver.resolve(ResultMapResolver.java:47) + at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElement(XMLMapperBuilder.java:289) + at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElement(XMLMapperBuilder.java:254) + at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElements(XMLMapperBuilder.java:246) + at org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:119) + ... 118 common frames omitted +24-12-03.20:34:44.500 [main ] ERROR ActivityRepository - 写入订单记录,唯一索引冲突 userId: xiaofuge activityId: 100301 sku: 9011 +org.springframework.dao.DuplicateKeyException: +### Error updating database. Cause: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '700091009111' for key 'raffle_activity_order_001.uq_out_business_no' +### The error may exist in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_order_mapper.xml] +### The error may involve cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.insert-Inline +### The error occurred while setting parameters +### SQL: insert into raffle_activity_order_001 (user_id, sku, activity_id, activity_name, strategy_id, order_id, order_time, state, out_business_no, total_count, day_count, month_count, create_time, update_time) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, now(), now()) +### Cause: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '700091009111' for key 'raffle_activity_order_001.uq_out_business_no' +; Duplicate entry '700091009111' for key 'raffle_activity_order_001.uq_out_business_no'; nested exception is java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '700091009111' for key 'raffle_activity_order_001.uq_out_business_no' + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:247) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:70) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:91) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:441) + at com.sun.proxy.$Proxy107.insert(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.insert(SqlSessionTemplate.java:272) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:62) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:152) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:85) + at com.sun.proxy.$Proxy120.insert(Unknown Source) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344) + at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89) + at cn.bugstack.middleware.db.router.DBRouterJoinPoint.doRouter(DBRouterJoinPoint.java:65) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:220) + at com.sun.proxy.$Proxy121.insert(Unknown Source) + at cn.bugstack.infrastructure.persistent.repository.ActivityRepository.lambda$doSaveOrder$0(ActivityRepository.java:155) + at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140) + at cn.bugstack.infrastructure.persistent.repository.ActivityRepository.doSaveOrder(ActivityRepository.java:152) + at cn.bugstack.infrastructure.persistent.repository.ActivityRepository$$FastClassBySpringCGLIB$$5fc4459a.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:793) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) + at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:708) + at cn.bugstack.infrastructure.persistent.repository.ActivityRepository$$EnhancerBySpringCGLIB$$1783fa1d.doSaveOrder() + at cn.bugstack.domain.activity.service.quota.RaffleActivityAccountQuotaService.doSaveOrder(RaffleActivityService.java:58) + at cn.bugstack.domain.activity.service.quota.AbstractRaffleActivityAccountQuota.createSkuRechargeOrder(AbstractRaffleActivity.java:51) + at cn.bugstack.test.domain.activity.RaffleOrderTest.test_createSkuRechargeOrder_duplicate(RaffleOrderTest.java:45) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.springframework.test.context.junit4.statements.RunBeforeTestExecutionCallbacks.evaluate(RunBeforeTestExecutionCallbacks.java:74) + at org.springframework.test.context.junit4.statements.RunAfterTestExecutionCallbacks.evaluate(RunAfterTestExecutionCallbacks.java:84) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75) + at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86) + at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) + at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:251) + at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97) + at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) + at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) + at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) + at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70) + at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) + at org.junit.runners.ParentRunner.run(ParentRunner.java:413) + at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190) + at org.junit.runner.JUnitCore.run(JUnitCore.java:137) + at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69) + at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38) + at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11) + at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35) + at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:232) + at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:55) +Caused by: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '700091009111' for key 'raffle_activity_order_001.uq_out_business_no' + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:117) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:953) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:370) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.update(PreparedStatementHandler.java:47) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.update(RoutingStatementHandler.java:74) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:63) + at com.sun.proxy.$Proxy194.update(Unknown Source) + at org.apache.ibatis.executor.SimpleExecutor.doUpdate(SimpleExecutor.java:50) + at org.apache.ibatis.executor.BaseExecutor.update(BaseExecutor.java:117) + at org.apache.ibatis.executor.CachingExecutor.update(CachingExecutor.java:76) + at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:197) + at org.apache.ibatis.session.defaults.DefaultSqlSession.insert(DefaultSqlSession.java:184) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:427) + ... 77 common frames omitted +24-12-03.20:37:34.770 [main ] ERROR ActivityRepository - 写入订单记录,唯一索引冲突 userId: xiaofuge activityId: 100301 sku: 9011 +org.springframework.dao.DuplicateKeyException: +### Error updating database. Cause: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '700091009111' for key 'raffle_activity_order_001.uq_out_business_no' +### The error may exist in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_order_mapper.xml] +### The error may involve cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.insert-Inline +### The error occurred while setting parameters +### SQL: insert into raffle_activity_order_001 (user_id, sku, activity_id, activity_name, strategy_id, order_id, order_time, state, out_business_no, total_count, day_count, month_count, create_time, update_time) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, now(), now()) +### Cause: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '700091009111' for key 'raffle_activity_order_001.uq_out_business_no' +; Duplicate entry '700091009111' for key 'raffle_activity_order_001.uq_out_business_no'; nested exception is java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '700091009111' for key 'raffle_activity_order_001.uq_out_business_no' + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:247) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:70) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:91) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:441) + at com.sun.proxy.$Proxy107.insert(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.insert(SqlSessionTemplate.java:272) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:62) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:152) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:85) + at com.sun.proxy.$Proxy120.insert(Unknown Source) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344) + at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89) + at cn.bugstack.middleware.db.router.DBRouterJoinPoint.doRouter(DBRouterJoinPoint.java:65) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:220) + at com.sun.proxy.$Proxy121.insert(Unknown Source) + at cn.bugstack.infrastructure.persistent.repository.ActivityRepository.lambda$doSaveOrder$0(ActivityRepository.java:155) + at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140) + at cn.bugstack.infrastructure.persistent.repository.ActivityRepository.doSaveOrder(ActivityRepository.java:152) + at cn.bugstack.infrastructure.persistent.repository.ActivityRepository$$FastClassBySpringCGLIB$$5fc4459a.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:793) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) + at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:708) + at cn.bugstack.infrastructure.persistent.repository.ActivityRepository$$EnhancerBySpringCGLIB$$1783fa1d.doSaveOrder() + at cn.bugstack.domain.activity.service.quota.RaffleActivityAccountQuotaService.doSaveOrder(RaffleActivityService.java:58) + at cn.bugstack.domain.activity.service.quota.AbstractRaffleActivityAccountQuota.createSkuRechargeOrder(AbstractRaffleActivity.java:51) + at cn.bugstack.test.domain.activity.RaffleOrderTest.test_createSkuRechargeOrder_duplicate(RaffleOrderTest.java:45) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.springframework.test.context.junit4.statements.RunBeforeTestExecutionCallbacks.evaluate(RunBeforeTestExecutionCallbacks.java:74) + at org.springframework.test.context.junit4.statements.RunAfterTestExecutionCallbacks.evaluate(RunAfterTestExecutionCallbacks.java:84) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75) + at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86) + at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) + at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:251) + at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97) + at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) + at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) + at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) + at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70) + at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) + at org.junit.runners.ParentRunner.run(ParentRunner.java:413) + at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190) + at org.junit.runner.JUnitCore.run(JUnitCore.java:137) + at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69) + at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38) + at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11) + at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35) + at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:232) + at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:55) +Caused by: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '700091009111' for key 'raffle_activity_order_001.uq_out_business_no' + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:117) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:953) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:370) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.update(PreparedStatementHandler.java:47) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.update(RoutingStatementHandler.java:74) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:63) + at com.sun.proxy.$Proxy194.update(Unknown Source) + at org.apache.ibatis.executor.SimpleExecutor.doUpdate(SimpleExecutor.java:50) + at org.apache.ibatis.executor.BaseExecutor.update(BaseExecutor.java:117) + at org.apache.ibatis.executor.CachingExecutor.update(CachingExecutor.java:76) + at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:197) + at org.apache.ibatis.session.defaults.DefaultSqlSession.insert(DefaultSqlSession.java:184) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:427) + ... 77 common frames omitted +24-12-03.20:38:20.668 [main ] ERROR ActivityRepository - 写入订单记录,唯一索引冲突 userId: xiaofuge activityId: 100301 sku: 9011 +org.springframework.dao.DuplicateKeyException: +### Error updating database. Cause: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '700091009111' for key 'raffle_activity_order_001.uq_out_business_no' +### The error may exist in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_order_mapper.xml] +### The error may involve cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.insert-Inline +### The error occurred while setting parameters +### SQL: insert into raffle_activity_order_001 (user_id, sku, activity_id, activity_name, strategy_id, order_id, order_time, state, out_business_no, total_count, day_count, month_count, create_time, update_time) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, now(), now()) +### Cause: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '700091009111' for key 'raffle_activity_order_001.uq_out_business_no' +; Duplicate entry '700091009111' for key 'raffle_activity_order_001.uq_out_business_no'; nested exception is java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '700091009111' for key 'raffle_activity_order_001.uq_out_business_no' + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:247) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:70) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:91) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:441) + at com.sun.proxy.$Proxy107.insert(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.insert(SqlSessionTemplate.java:272) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:62) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:152) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:85) + at com.sun.proxy.$Proxy120.insert(Unknown Source) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344) + at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89) + at cn.bugstack.middleware.db.router.DBRouterJoinPoint.doRouter(DBRouterJoinPoint.java:65) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:220) + at com.sun.proxy.$Proxy121.insert(Unknown Source) + at cn.bugstack.infrastructure.persistent.repository.ActivityRepository.lambda$doSaveOrder$0(ActivityRepository.java:155) + at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140) + at cn.bugstack.infrastructure.persistent.repository.ActivityRepository.doSaveOrder(ActivityRepository.java:152) + at cn.bugstack.infrastructure.persistent.repository.ActivityRepository$$FastClassBySpringCGLIB$$5fc4459a.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:793) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) + at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:708) + at cn.bugstack.infrastructure.persistent.repository.ActivityRepository$$EnhancerBySpringCGLIB$$1783fa1d.doSaveOrder() + at cn.bugstack.domain.activity.service.quota.RaffleActivityAccountQuotaService.doSaveOrder(RaffleActivityService.java:58) + at cn.bugstack.domain.activity.service.quota.AbstractRaffleActivityAccountQuota.createSkuRechargeOrder(AbstractRaffleActivity.java:51) + at cn.bugstack.test.domain.activity.RaffleOrderTest.test_createSkuRechargeOrder_duplicate(RaffleOrderTest.java:45) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.springframework.test.context.junit4.statements.RunBeforeTestExecutionCallbacks.evaluate(RunBeforeTestExecutionCallbacks.java:74) + at org.springframework.test.context.junit4.statements.RunAfterTestExecutionCallbacks.evaluate(RunAfterTestExecutionCallbacks.java:84) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75) + at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86) + at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) + at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:251) + at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97) + at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) + at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) + at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) + at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70) + at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) + at org.junit.runners.ParentRunner.run(ParentRunner.java:413) + at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190) + at org.junit.runner.JUnitCore.run(JUnitCore.java:137) + at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69) + at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38) + at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11) + at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35) + at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:232) + at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:55) +Caused by: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '700091009111' for key 'raffle_activity_order_001.uq_out_business_no' + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:117) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:953) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:370) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.update(PreparedStatementHandler.java:47) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.update(RoutingStatementHandler.java:74) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:63) + at com.sun.proxy.$Proxy180.update(Unknown Source) + at org.apache.ibatis.executor.SimpleExecutor.doUpdate(SimpleExecutor.java:50) + at org.apache.ibatis.executor.BaseExecutor.update(BaseExecutor.java:117) + at org.apache.ibatis.executor.CachingExecutor.update(CachingExecutor.java:76) + at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:197) + at org.apache.ibatis.session.defaults.DefaultSqlSession.insert(DefaultSqlSession.java:184) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:427) + ... 77 common frames omitted +24-12-03.20:40:20.863 [main ] WARN RaffleOrderTest - 活动库存不足 +24-12-03.20:40:20.873 [main ] WARN RaffleOrderTest - 活动库存不足 +24-12-03.20:40:20.884 [main ] WARN RaffleOrderTest - 活动库存不足 +24-12-03.20:40:20.894 [main ] WARN RaffleOrderTest - 活动库存不足 +24-12-03.20:40:20.903 [main ] WARN RaffleOrderTest - 活动库存不足 diff --git a/bigmarket-app/data/log/log-info-2024-11-18.0.log b/bigmarket-app/data/log/log-info-2024-11-18.0.log deleted file mode 100644 index 0a3caca..0000000 --- a/bigmarket-app/data/log/log-info-2024-11-18.0.log +++ /dev/null @@ -1,423 +0,0 @@ -24-11-18.00:13:54.942 [main ] INFO RaffleStrategyTest - Starting RaffleStrategyTest using Java 1.8.0_412 on zhaoyongfeng with PID 13504 (started by zhaoyongfeng in C:\Users\31126\Desktop\study\xfg-frame-archetype-lite\xfg-frame-archetype-lite-app) -24-11-18.00:13:54.943 [main ] INFO RaffleStrategyTest - The following 1 profile is active: "dev" -24-11-18.00:13:56.031 [main ] INFO RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode -24-11-18.00:13:56.035 [main ] INFO RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. -24-11-18.00:13:56.105 [main ] INFO RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 54 ms. Found 0 Redis repository interfaces. -24-11-18.00:13:58.749 [main ] INFO Version - Redisson 3.23.4 -24-11-18.00:14:00.294 [redisson-netty-2-4] INFO MasterPubSubConnectionPool - 1 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-18.00:14:00.308 [redisson-netty-2-13] INFO MasterConnectionPool - 5 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-18.00:14:02.872 [main ] INFO EndpointLinksResolver - Exposing 1 endpoint(s) beneath base path '/actuator' -24-11-18.00:14:02.961 [main ] INFO RaffleStrategyTest - Started RaffleStrategyTest in 8.554 seconds (JVM running for 9.781) -24-11-18.00:14:03.477 [main ] INFO RuleBackListLogicFilter - 规则过滤-黑名单 userId:xiaofuge strategyId:100001 ruleModel:rule_blacklist -24-11-18.00:14:03.523 [main ] INFO HikariDataSource - HikariPool-1 - Starting... -24-11-18.00:14:03.845 [main ] INFO HikariDataSource - HikariPool-1 - Start completed. -24-11-18.00:14:03.895 [main ] INFO RuleWeightLogicFilter - 规则过滤-权重范围 userId:xiaofuge strategyId:100001 ruleModel:rule_weight -24-11-18.00:14:03.900 [main ] INFO DefaultRaffleStrategy - 抽奖前规则过滤 userId: xiaofuge ruleModel: rule_weight code: 0001 info: 接管;后续的流程,受规则引擎执行结果影响 -24-11-18.00:14:03.946 [SpringApplicationShutdownHook] INFO HikariDataSource - HikariPool-1 - Shutdown initiated... -24-11-18.00:14:03.950 [SpringApplicationShutdownHook] INFO HikariDataSource - HikariPool-1 - Shutdown completed. -24-11-18.00:16:02.772 [main ] INFO RaffleStrategyTest - Starting RaffleStrategyTest using Java 1.8.0_412 on zhaoyongfeng with PID 22920 (started by zhaoyongfeng in C:\Users\31126\Desktop\study\xfg-frame-archetype-lite\xfg-frame-archetype-lite-app) -24-11-18.00:16:02.773 [main ] INFO RaffleStrategyTest - The following 1 profile is active: "dev" -24-11-18.00:16:03.904 [main ] INFO RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode -24-11-18.00:16:03.910 [main ] INFO RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. -24-11-18.00:16:03.984 [main ] INFO RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 54 ms. Found 0 Redis repository interfaces. -24-11-18.00:16:06.649 [main ] INFO Version - Redisson 3.23.4 -24-11-18.00:16:08.213 [redisson-netty-2-5] INFO MasterPubSubConnectionPool - 1 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-18.00:16:08.228 [redisson-netty-2-13] INFO MasterConnectionPool - 5 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-18.00:16:10.758 [main ] INFO EndpointLinksResolver - Exposing 1 endpoint(s) beneath base path '/actuator' -24-11-18.00:16:10.868 [main ] INFO RaffleStrategyTest - Started RaffleStrategyTest in 8.633 seconds (JVM running for 9.813) -24-11-18.00:16:11.371 [main ] INFO RuleBackListLogicFilter - 规则过滤-黑名单 userId:xiaofuge strategyId:100001 ruleModel:rule_blacklist -24-11-18.00:16:11.414 [main ] INFO HikariDataSource - HikariPool-1 - Starting... -24-11-18.00:16:11.734 [main ] INFO HikariDataSource - HikariPool-1 - Start completed. -24-11-18.00:16:11.786 [main ] INFO RuleWeightLogicFilter - 规则过滤-权重范围 userId:xiaofuge strategyId:100001 ruleModel:rule_weight -24-11-18.00:16:11.790 [main ] INFO DefaultRaffleStrategy - 抽奖前规则过滤 userId: xiaofuge ruleModel: rule_weight code: 0001 info: 接管;后续的流程,受规则引擎执行结果影响 -24-11-18.00:16:11.832 [SpringApplicationShutdownHook] INFO HikariDataSource - HikariPool-1 - Shutdown initiated... -24-11-18.00:16:11.835 [SpringApplicationShutdownHook] INFO HikariDataSource - HikariPool-1 - Shutdown completed. -24-11-18.00:20:26.037 [main ] INFO RaffleStrategyTest - Starting RaffleStrategyTest using Java 1.8.0_412 on zhaoyongfeng with PID 23704 (started by zhaoyongfeng in C:\Users\31126\Desktop\study\xfg-frame-archetype-lite\xfg-frame-archetype-lite-app) -24-11-18.00:20:26.039 [main ] INFO RaffleStrategyTest - The following 1 profile is active: "dev" -24-11-18.00:20:27.109 [main ] INFO RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode -24-11-18.00:20:27.113 [main ] INFO RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. -24-11-18.00:20:27.183 [main ] INFO RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 46 ms. Found 0 Redis repository interfaces. -24-11-18.00:20:29.839 [main ] INFO Version - Redisson 3.23.4 -24-11-18.00:20:31.438 [redisson-netty-2-4] INFO MasterPubSubConnectionPool - 1 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-18.00:20:31.453 [redisson-netty-2-13] INFO MasterConnectionPool - 5 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-18.00:20:33.934 [main ] INFO EndpointLinksResolver - Exposing 1 endpoint(s) beneath base path '/actuator' -24-11-18.00:20:34.036 [main ] INFO RaffleStrategyTest - Started RaffleStrategyTest in 8.525 seconds (JVM running for 9.703) -24-11-18.00:20:34.513 [main ] INFO RuleBackListLogicFilter - 规则过滤-黑名单 userId:xiaofuge strategyId:100001 ruleModel:rule_blacklist -24-11-18.00:20:34.557 [main ] INFO HikariDataSource - HikariPool-1 - Starting... -24-11-18.00:20:34.859 [main ] INFO HikariDataSource - HikariPool-1 - Start completed. -24-11-18.00:20:34.906 [main ] INFO RuleWeightLogicFilter - 规则过滤-权重范围 userId:xiaofuge strategyId:100001 ruleModel:rule_weight -24-11-18.00:20:34.910 [main ] INFO DefaultRaffleStrategy - 抽奖前规则过滤 userId: xiaofuge ruleModel: rule_weight code: 0001 info: 接管;后续的流程,受规则引擎执行结果影响 -24-11-18.00:20:34.951 [SpringApplicationShutdownHook] INFO HikariDataSource - HikariPool-1 - Shutdown initiated... -24-11-18.00:20:34.954 [SpringApplicationShutdownHook] INFO HikariDataSource - HikariPool-1 - Shutdown completed. -24-11-18.00:29:40.049 [main ] INFO RaffleStrategyTest - Starting RaffleStrategyTest using Java 1.8.0_412 on zhaoyongfeng with PID 23000 (started by zhaoyongfeng in C:\Users\31126\Desktop\study\xfg-frame-archetype-lite\xfg-frame-archetype-lite-app) -24-11-18.00:29:40.050 [main ] INFO RaffleStrategyTest - The following 1 profile is active: "dev" -24-11-18.00:29:41.099 [main ] INFO RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode -24-11-18.00:29:41.104 [main ] INFO RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. -24-11-18.00:29:41.171 [main ] INFO RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 50 ms. Found 0 Redis repository interfaces. -24-11-18.00:29:44.030 [main ] INFO Version - Redisson 3.23.4 -24-11-18.00:29:45.616 [redisson-netty-2-4] INFO MasterPubSubConnectionPool - 1 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-18.00:29:45.631 [redisson-netty-2-13] INFO MasterConnectionPool - 5 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-18.00:29:48.125 [main ] INFO EndpointLinksResolver - Exposing 1 endpoint(s) beneath base path '/actuator' -24-11-18.00:29:48.233 [main ] INFO RaffleStrategyTest - Started RaffleStrategyTest in 8.715 seconds (JVM running for 9.879) -24-11-18.00:34:24.986 [main ] INFO RaffleStrategyTest - Starting RaffleStrategyTest using Java 1.8.0_412 on zhaoyongfeng with PID 17492 (started by zhaoyongfeng in C:\Users\31126\Desktop\study\xfg-frame-archetype-lite\xfg-frame-archetype-lite-app) -24-11-18.00:34:24.988 [main ] INFO RaffleStrategyTest - The following 1 profile is active: "dev" -24-11-18.00:34:26.165 [main ] INFO RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode -24-11-18.00:34:26.169 [main ] INFO RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. -24-11-18.00:34:26.238 [main ] INFO RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 48 ms. Found 0 Redis repository interfaces. -24-11-18.00:34:29.106 [main ] INFO Version - Redisson 3.23.4 -24-11-18.00:34:30.703 [redisson-netty-2-4] INFO MasterPubSubConnectionPool - 1 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-18.00:34:30.723 [redisson-netty-2-13] INFO MasterConnectionPool - 5 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-18.00:34:33.387 [main ] INFO EndpointLinksResolver - Exposing 1 endpoint(s) beneath base path '/actuator' -24-11-18.00:34:33.486 [main ] INFO RaffleStrategyTest - Started RaffleStrategyTest in 9.097 seconds (JVM running for 10.421) -24-11-18.00:34:34.010 [main ] INFO RuleBackListLogicFilter - 规则过滤-黑名单 userId:xiaofuge strategyId:100001 ruleModel:rule_blacklist -24-11-18.00:34:34.055 [main ] INFO HikariDataSource - HikariPool-1 - Starting... -24-11-18.00:34:34.374 [main ] INFO HikariDataSource - HikariPool-1 - Start completed. -24-11-18.00:34:34.432 [main ] INFO RuleWeightLogicFilter - 规则过滤-权重范围 userId:xiaofuge strategyId:100001 ruleModel:rule_weight -24-11-18.00:34:34.437 [main ] INFO DefaultRaffleStrategy - 抽奖前规则过滤 userId: xiaofuge ruleModel: rule_weight code: 0001 info: 接管;后续的流程,受规则引擎执行结果影响 -24-11-18.00:34:34.483 [SpringApplicationShutdownHook] INFO HikariDataSource - HikariPool-1 - Shutdown initiated... -24-11-18.00:34:34.486 [SpringApplicationShutdownHook] INFO HikariDataSource - HikariPool-1 - Shutdown completed. -24-11-18.18:06:47.274 [main ] INFO RaffleStrategyTest - Starting RaffleStrategyTest using Java 1.8.0_412 on zhaoyongfeng with PID 22316 (started by zhaoyongfeng in C:\Users\31126\Desktop\study\xfg-frame-archetype-lite\xfg-frame-archetype-lite-app) -24-11-18.18:06:47.275 [main ] INFO RaffleStrategyTest - The following 1 profile is active: "dev" -24-11-18.18:06:48.340 [main ] INFO RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode -24-11-18.18:06:48.345 [main ] INFO RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. -24-11-18.18:06:48.413 [main ] INFO RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 46 ms. Found 0 Redis repository interfaces. -24-11-18.18:06:51.329 [main ] INFO Version - Redisson 3.23.4 -24-11-18.18:06:52.920 [redisson-netty-2-4] INFO MasterPubSubConnectionPool - 1 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-18.18:06:52.935 [redisson-netty-2-13] INFO MasterConnectionPool - 5 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-18.18:06:55.950 [main ] INFO EndpointLinksResolver - Exposing 1 endpoint(s) beneath base path '/actuator' -24-11-18.18:06:56.063 [main ] INFO RaffleStrategyTest - Started RaffleStrategyTest in 9.448 seconds (JVM running for 10.894) -24-11-18.18:06:56.631 [main ] INFO RuleBackListLogicFilter - 规则过滤-黑名单 userId:xiaofuge strategyId:100001 ruleModel:rule_blacklist -24-11-18.18:06:56.674 [main ] INFO HikariDataSource - HikariPool-1 - Starting... -24-11-18.18:06:57.020 [main ] INFO HikariDataSource - HikariPool-1 - Start completed. -24-11-18.18:06:57.075 [main ] INFO RuleWeightLogicFilter - 规则过滤-权重范围 userId:xiaofuge strategyId:100001 ruleModel:rule_weight -24-11-18.18:06:57.080 [main ] INFO DefaultRaffleStrategy - 抽奖前规则过滤 userId: xiaofuge ruleModel: rule_weight code: 0001 info: 接管;后续的流程,受规则引擎执行结果影响 -24-11-18.18:06:57.131 [SpringApplicationShutdownHook] INFO HikariDataSource - HikariPool-1 - Shutdown initiated... -24-11-18.18:06:57.157 [SpringApplicationShutdownHook] INFO HikariDataSource - HikariPool-1 - Shutdown completed. -24-11-18.18:07:15.624 [main ] INFO RaffleStrategyTest - Starting RaffleStrategyTest using Java 1.8.0_412 on zhaoyongfeng with PID 23244 (started by zhaoyongfeng in C:\Users\31126\Desktop\study\xfg-frame-archetype-lite\xfg-frame-archetype-lite-app) -24-11-18.18:07:15.625 [main ] INFO RaffleStrategyTest - The following 1 profile is active: "dev" -24-11-18.18:07:16.635 [main ] INFO RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode -24-11-18.18:07:16.639 [main ] INFO RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. -24-11-18.18:07:16.698 [main ] INFO RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 43 ms. Found 0 Redis repository interfaces. -24-11-18.18:07:20.096 [main ] INFO Version - Redisson 3.23.4 -24-11-18.18:07:21.975 [redisson-netty-2-4] INFO MasterPubSubConnectionPool - 1 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-18.18:07:21.991 [redisson-netty-2-13] INFO MasterConnectionPool - 5 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-18.18:07:25.863 [main ] INFO EndpointLinksResolver - Exposing 1 endpoint(s) beneath base path '/actuator' -24-11-18.18:07:25.986 [main ] INFO RaffleStrategyTest - Started RaffleStrategyTest in 10.933 seconds (JVM running for 12.605) -24-11-18.18:09:16.867 [main ] INFO RuleBackListLogicFilter - 规则过滤-黑名单 userId:xiaofuge strategyId:100001 ruleModel:rule_blacklist -24-11-18.18:09:17.029 [main ] INFO HikariDataSource - HikariPool-1 - Starting... -24-11-18.18:09:18.530 [main ] INFO HikariDataSource - HikariPool-1 - Start completed. -24-11-18.18:09:18.723 [main ] INFO RuleWeightLogicFilter - 规则过滤-权重范围 userId:xiaofuge strategyId:100001 ruleModel:rule_weight -24-11-18.18:09:18.735 [main ] INFO DefaultRaffleStrategy - 抽奖前规则过滤 userId: xiaofuge ruleModel: rule_weight code: 0001 info: 接管;后续的流程,受规则引擎执行结果影响 -24-11-18.18:09:42.323 [SpringApplicationShutdownHook] INFO HikariDataSource - HikariPool-1 - Shutdown initiated... -24-11-18.18:09:42.340 [SpringApplicationShutdownHook] INFO HikariDataSource - HikariPool-1 - Shutdown completed. -24-11-18.19:48:06.164 [main ] INFO RaffleStrategyTest - Starting RaffleStrategyTest using Java 1.8.0_412 on zhaoyongfeng with PID 13652 (started by zhaoyongfeng in C:\Users\31126\Desktop\study\xfg-frame-archetype-lite\xfg-frame-archetype-lite-app) -24-11-18.19:48:06.166 [main ] INFO RaffleStrategyTest - The following 1 profile is active: "dev" -24-11-18.19:48:07.516 [main ] INFO RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode -24-11-18.19:48:07.520 [main ] INFO RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. -24-11-18.19:48:07.588 [main ] INFO RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 46 ms. Found 0 Redis repository interfaces. -24-11-18.19:48:11.501 [main ] INFO Version - Redisson 3.23.4 -24-11-18.19:48:13.615 [redisson-netty-2-4] INFO MasterPubSubConnectionPool - 1 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-18.19:48:13.633 [redisson-netty-2-13] INFO MasterConnectionPool - 5 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-18.19:48:17.478 [main ] INFO EndpointLinksResolver - Exposing 1 endpoint(s) beneath base path '/actuator' -24-11-18.19:48:17.600 [main ] INFO RaffleStrategyTest - Started RaffleStrategyTest in 12.191 seconds (JVM running for 13.95) -24-11-18.19:48:22.622 [main ] INFO RuleBackListLogicFilter - 规则过滤-黑名单 userId:xiaofuge strategyId:100001 ruleModel:rule_blacklist -24-11-18.19:48:22.704 [main ] INFO HikariDataSource - HikariPool-1 - Starting... -24-11-18.19:48:23.441 [main ] INFO HikariDataSource - HikariPool-1 - Start completed. -24-11-18.19:48:23.533 [main ] INFO RuleWeightLogicFilter - 规则过滤-权重范围 userId:xiaofuge strategyId:100001 ruleModel:rule_weight -24-11-18.19:48:23.539 [main ] INFO DefaultRaffleStrategy - 抽奖前规则过滤 userId: xiaofuge ruleModel: rule_weight code: 0001 info: 接管;后续的流程,受规则引擎执行结果影响 -24-11-18.19:48:48.864 [SpringApplicationShutdownHook] INFO HikariDataSource - HikariPool-1 - Shutdown initiated... -24-11-18.19:48:48.887 [SpringApplicationShutdownHook] INFO HikariDataSource - HikariPool-1 - Shutdown completed. -24-11-18.19:52:03.873 [main ] INFO RaffleStrategyTest - Starting RaffleStrategyTest using Java 1.8.0_412 on zhaoyongfeng with PID 19728 (started by zhaoyongfeng in C:\Users\31126\Desktop\study\xfg-frame-archetype-lite\xfg-frame-archetype-lite-app) -24-11-18.19:52:03.874 [main ] INFO RaffleStrategyTest - The following 1 profile is active: "dev" -24-11-18.19:52:04.947 [main ] INFO RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode -24-11-18.19:52:04.951 [main ] INFO RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. -24-11-18.19:52:05.012 [main ] INFO RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 44 ms. Found 0 Redis repository interfaces. -24-11-18.19:52:07.703 [main ] INFO Version - Redisson 3.23.4 -24-11-18.19:52:09.274 [redisson-netty-2-4] INFO MasterPubSubConnectionPool - 1 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-18.19:52:09.287 [redisson-netty-2-13] INFO MasterConnectionPool - 5 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-18.19:52:11.870 [main ] INFO EndpointLinksResolver - Exposing 1 endpoint(s) beneath base path '/actuator' -24-11-18.19:52:11.968 [main ] INFO RaffleStrategyTest - Started RaffleStrategyTest in 8.741 seconds (JVM running for 10.197) -24-11-18.19:52:12.456 [main ] INFO RuleBackListLogicFilter - 规则过滤-黑名单 userId:xiaofuge strategyId:100001 ruleModel:rule_blacklist -24-11-18.19:52:12.501 [main ] INFO HikariDataSource - HikariPool-1 - Starting... -24-11-18.19:52:12.804 [main ] INFO HikariDataSource - HikariPool-1 - Start completed. -24-11-18.19:52:12.850 [main ] INFO RuleWeightLogicFilter - 规则过滤-权重范围 userId:xiaofuge strategyId:100001 ruleModel:rule_weight -24-11-18.19:52:12.856 [main ] INFO DefaultRaffleStrategy - 抽奖前规则过滤 userId: xiaofuge ruleModel: rule_weight code: 0001 info: 接管;后续的流程,受规则引擎执行结果影响 -24-11-18.19:52:29.536 [HikariPool-1 housekeeper] WARN HikariPool - HikariPool-1 - Thread starvation or clock leap detected (housekeeper delta=46s731ms900µs600ns). -24-11-18.19:52:34.023 [SpringApplicationShutdownHook] INFO HikariDataSource - HikariPool-1 - Shutdown initiated... -24-11-18.19:52:34.030 [SpringApplicationShutdownHook] INFO HikariDataSource - HikariPool-1 - Shutdown completed. -24-11-18.19:55:03.352 [main ] INFO RaffleStrategyTest - Starting RaffleStrategyTest using Java 1.8.0_412 on zhaoyongfeng with PID 9132 (started by zhaoyongfeng in C:\Users\31126\Desktop\study\xfg-frame-archetype-lite\xfg-frame-archetype-lite-app) -24-11-18.19:55:03.355 [main ] INFO RaffleStrategyTest - The following 1 profile is active: "dev" -24-11-18.19:55:04.661 [main ] INFO RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode -24-11-18.19:55:04.667 [main ] INFO RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. -24-11-18.19:55:04.743 [main ] INFO RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 56 ms. Found 0 Redis repository interfaces. -24-11-18.19:55:08.341 [main ] INFO Version - Redisson 3.23.4 -24-11-18.19:55:10.250 [redisson-netty-2-4] INFO MasterPubSubConnectionPool - 1 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-18.19:55:10.267 [redisson-netty-2-13] INFO MasterConnectionPool - 5 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-18.19:55:13.714 [main ] INFO EndpointLinksResolver - Exposing 1 endpoint(s) beneath base path '/actuator' -24-11-18.19:55:13.841 [main ] INFO RaffleStrategyTest - Started RaffleStrategyTest in 11.288 seconds (JVM running for 12.892) -24-11-18.19:55:14.571 [main ] INFO RuleBackListLogicFilter - 规则过滤-黑名单 userId:xiaofuge strategyId:100001 ruleModel:rule_blacklist -24-11-18.19:55:14.644 [main ] INFO HikariDataSource - HikariPool-1 - Starting... -24-11-18.19:55:15.336 [main ] INFO HikariDataSource - HikariPool-1 - Start completed. -24-11-18.19:55:15.416 [main ] INFO RuleWeightLogicFilter - 规则过滤-权重范围 userId:xiaofuge strategyId:100001 ruleModel:rule_weight -24-11-18.19:55:15.423 [main ] INFO DefaultRaffleStrategy - 抽奖前规则过滤 userId: xiaofuge ruleModel: rule_weight code: 0001 info: 接管;后续的流程,受规则引擎执行结果影响 -24-11-18.19:56:11.941 [HikariPool-1 housekeeper] WARN HikariPool - HikariPool-1 - Thread starvation or clock leap detected (housekeeper delta=46s929ms97µs900ns). -24-11-18.19:56:29.138 [SpringApplicationShutdownHook] INFO HikariDataSource - HikariPool-1 - Shutdown initiated... -24-11-18.19:56:29.152 [SpringApplicationShutdownHook] INFO HikariDataSource - HikariPool-1 - Shutdown completed. -24-11-18.20:03:09.520 [main ] INFO RaffleStrategyTest - Starting RaffleStrategyTest using Java 1.8.0_412 on zhaoyongfeng with PID 16004 (started by zhaoyongfeng in C:\Users\31126\Desktop\study\xfg-frame-archetype-lite\xfg-frame-archetype-lite-app) -24-11-18.20:03:09.522 [main ] INFO RaffleStrategyTest - The following 1 profile is active: "dev" -24-11-18.20:03:10.559 [main ] INFO RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode -24-11-18.20:03:10.563 [main ] INFO RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. -24-11-18.20:03:10.625 [main ] INFO RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 44 ms. Found 0 Redis repository interfaces. -24-11-18.20:03:13.224 [main ] INFO Version - Redisson 3.23.4 -24-11-18.20:03:14.740 [redisson-netty-2-4] INFO MasterPubSubConnectionPool - 1 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-18.20:03:14.754 [redisson-netty-2-13] INFO MasterConnectionPool - 5 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-18.20:03:17.489 [main ] INFO EndpointLinksResolver - Exposing 1 endpoint(s) beneath base path '/actuator' -24-11-18.20:03:17.583 [main ] INFO RaffleStrategyTest - Started RaffleStrategyTest in 8.693 seconds (JVM running for 10.086) -24-11-18.20:03:18.048 [main ] INFO RuleBackListLogicFilter - 规则过滤-黑名单 userId:xiaofuge strategyId:100001 ruleModel:rule_blacklist -24-11-18.20:03:18.093 [main ] INFO HikariDataSource - HikariPool-1 - Starting... -24-11-18.20:03:18.464 [main ] INFO HikariDataSource - HikariPool-1 - Start completed. -24-11-18.20:03:18.513 [main ] INFO RuleWeightLogicFilter - 规则过滤-权重范围 userId:xiaofuge strategyId:100001 ruleModel:rule_weight -24-11-18.20:03:18.516 [main ] INFO DefaultRaffleStrategy - 抽奖前规则过滤 userId: xiaofuge ruleModel: rule_weight code: 0001 info: 接管;后续的流程,受规则引擎执行结果影响 -24-11-18.20:03:18.556 [SpringApplicationShutdownHook] INFO HikariDataSource - HikariPool-1 - Shutdown initiated... -24-11-18.20:03:18.560 [SpringApplicationShutdownHook] INFO HikariDataSource - HikariPool-1 - Shutdown completed. -24-11-18.20:03:46.026 [main ] INFO RaffleStrategyTest - Starting RaffleStrategyTest using Java 1.8.0_412 on zhaoyongfeng with PID 22536 (started by zhaoyongfeng in C:\Users\31126\Desktop\study\xfg-frame-archetype-lite\xfg-frame-archetype-lite-app) -24-11-18.20:03:46.027 [main ] INFO RaffleStrategyTest - The following 1 profile is active: "dev" -24-11-18.20:03:47.223 [main ] INFO RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode -24-11-18.20:03:47.228 [main ] INFO RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. -24-11-18.20:03:47.308 [main ] INFO RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 54 ms. Found 0 Redis repository interfaces. -24-11-18.20:03:49.926 [main ] INFO Version - Redisson 3.23.4 -24-11-18.20:03:51.472 [redisson-netty-2-4] INFO MasterPubSubConnectionPool - 1 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-18.20:03:51.486 [redisson-netty-2-13] INFO MasterConnectionPool - 5 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-18.20:03:54.202 [main ] INFO EndpointLinksResolver - Exposing 1 endpoint(s) beneath base path '/actuator' -24-11-18.20:03:54.318 [main ] INFO RaffleStrategyTest - Started RaffleStrategyTest in 8.936 seconds (JVM running for 10.292) -24-11-18.20:03:54.824 [main ] INFO RuleBackListLogicFilter - 规则过滤-黑名单 userId:xiaofuge strategyId:100001 ruleModel:rule_blacklist -24-11-18.20:03:54.871 [main ] INFO HikariDataSource - HikariPool-1 - Starting... -24-11-18.20:03:55.178 [main ] INFO HikariDataSource - HikariPool-1 - Start completed. -24-11-18.20:03:55.225 [main ] INFO RuleWeightLogicFilter - 规则过滤-权重范围 userId:xiaofuge strategyId:100001 ruleModel:rule_weight -24-11-18.20:03:55.230 [main ] INFO DefaultRaffleStrategy - 抽奖前规则过滤 userId: xiaofuge ruleModel: rule_weight code: 0001 info: 接管;后续的流程,受规则引擎执行结果影响 -24-11-18.20:06:26.644 [HikariPool-1 housekeeper] WARN HikariPool - HikariPool-1 - Thread starvation or clock leap detected (housekeeper delta=1m54s620ms108µs700ns). -24-11-18.20:06:26.699 [SpringApplicationShutdownHook] INFO HikariDataSource - HikariPool-1 - Shutdown initiated... -24-11-18.20:06:26.710 [SpringApplicationShutdownHook] INFO HikariDataSource - HikariPool-1 - Shutdown completed. -24-11-18.20:12:34.324 [main ] INFO RaffleStrategyTest - Starting RaffleStrategyTest using Java 1.8.0_412 on zhaoyongfeng with PID 8580 (started by zhaoyongfeng in C:\Users\31126\Desktop\study\xfg-frame-archetype-lite\xfg-frame-archetype-lite-app) -24-11-18.20:12:34.325 [main ] INFO RaffleStrategyTest - The following 1 profile is active: "dev" -24-11-18.20:12:35.545 [main ] INFO RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode -24-11-18.20:12:35.553 [main ] INFO RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. -24-11-18.20:12:35.625 [main ] INFO RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 48 ms. Found 0 Redis repository interfaces. -24-11-18.20:12:38.495 [main ] INFO Version - Redisson 3.23.4 -24-11-18.20:12:40.062 [redisson-netty-2-4] INFO MasterPubSubConnectionPool - 1 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-18.20:12:40.080 [redisson-netty-2-13] INFO MasterConnectionPool - 5 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-18.20:12:42.528 [main ] INFO EndpointLinksResolver - Exposing 1 endpoint(s) beneath base path '/actuator' -24-11-18.20:12:42.617 [main ] INFO RaffleStrategyTest - Started RaffleStrategyTest in 8.867 seconds (JVM running for 10.118) -24-11-18.20:12:43.085 [main ] INFO RuleBackListLogicFilter - 规则过滤-黑名单 userId:xiaofuge strategyId:100001 ruleModel:rule_blacklist -24-11-18.20:12:43.136 [main ] INFO HikariDataSource - HikariPool-1 - Starting... -24-11-18.20:12:43.439 [main ] INFO HikariDataSource - HikariPool-1 - Start completed. -24-11-18.20:12:43.485 [main ] INFO RuleWeightLogicFilter - 规则过滤-权重范围 userId:xiaofuge strategyId:100001 ruleModel:rule_weight -24-11-18.20:12:43.489 [main ] INFO DefaultRaffleStrategy - 抽奖前规则过滤 userId: xiaofuge ruleModel: rule_weight code: 0001 info: 接管;后续的流程,受规则引擎执行结果影响 -24-11-18.20:12:43.527 [SpringApplicationShutdownHook] INFO HikariDataSource - HikariPool-1 - Shutdown initiated... -24-11-18.20:12:43.531 [SpringApplicationShutdownHook] INFO HikariDataSource - HikariPool-1 - Shutdown completed. -24-11-18.20:13:20.238 [main ] INFO RaffleStrategyTest - Starting RaffleStrategyTest using Java 1.8.0_412 on zhaoyongfeng with PID 17044 (started by zhaoyongfeng in C:\Users\31126\Desktop\study\xfg-frame-archetype-lite\xfg-frame-archetype-lite-app) -24-11-18.20:13:20.240 [main ] INFO RaffleStrategyTest - The following 1 profile is active: "dev" -24-11-18.20:13:21.373 [main ] INFO RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode -24-11-18.20:13:21.377 [main ] INFO RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. -24-11-18.20:13:21.438 [main ] INFO RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 44 ms. Found 0 Redis repository interfaces. -24-11-18.20:13:24.256 [main ] INFO Version - Redisson 3.23.4 -24-11-18.20:13:25.886 [redisson-netty-2-4] INFO MasterPubSubConnectionPool - 1 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-18.20:13:25.900 [redisson-netty-2-13] INFO MasterConnectionPool - 5 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-18.20:13:28.871 [main ] INFO EndpointLinksResolver - Exposing 1 endpoint(s) beneath base path '/actuator' -24-11-18.20:13:28.970 [main ] INFO RaffleStrategyTest - Started RaffleStrategyTest in 9.439 seconds (JVM running for 10.995) -24-11-18.20:14:08.311 [main ] INFO HikariDataSource - HikariPool-1 - Starting... -24-11-18.20:14:08.641 [main ] INFO HikariDataSource - HikariPool-1 - Start completed. -24-11-18.20:14:08.759 [main ] INFO RuleBackListLogicFilter - 规则过滤-黑名单 userId:xiaofuge strategyId:100001 ruleModel:rule_blacklist -24-11-18.20:14:08.788 [main ] INFO RuleWeightLogicFilter - 规则过滤-权重范围 userId:xiaofuge strategyId:100001 ruleModel:rule_weight -24-11-18.20:14:08.792 [main ] INFO DefaultRaffleStrategy - 抽奖前规则过滤 userId: xiaofuge ruleModel: rule_weight code: 0001 info: 接管;后续的流程,受规则引擎执行结果影响 -24-11-18.20:14:15.994 [SpringApplicationShutdownHook] INFO HikariDataSource - HikariPool-1 - Shutdown initiated... -24-11-18.20:14:16.008 [SpringApplicationShutdownHook] INFO HikariDataSource - HikariPool-1 - Shutdown completed. -24-11-18.20:14:24.136 [main ] INFO RaffleStrategyTest - Starting RaffleStrategyTest using Java 1.8.0_412 on zhaoyongfeng with PID 7128 (started by zhaoyongfeng in C:\Users\31126\Desktop\study\xfg-frame-archetype-lite\xfg-frame-archetype-lite-app) -24-11-18.20:14:24.138 [main ] INFO RaffleStrategyTest - The following 1 profile is active: "dev" -24-11-18.20:14:25.299 [main ] INFO RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode -24-11-18.20:14:25.308 [main ] INFO RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. -24-11-18.20:14:25.413 [main ] INFO RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 66 ms. Found 0 Redis repository interfaces. -24-11-18.20:14:28.170 [main ] INFO Version - Redisson 3.23.4 -24-11-18.20:14:29.762 [redisson-netty-2-4] INFO MasterPubSubConnectionPool - 1 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-18.20:14:29.781 [redisson-netty-2-13] INFO MasterConnectionPool - 5 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-18.20:14:32.499 [main ] INFO EndpointLinksResolver - Exposing 1 endpoint(s) beneath base path '/actuator' -24-11-18.20:14:32.592 [main ] INFO RaffleStrategyTest - Started RaffleStrategyTest in 9.069 seconds (JVM running for 10.355) -24-11-18.20:14:33.130 [main ] INFO RuleBackListLogicFilter - 规则过滤-黑名单 userId:xiaofuge strategyId:100001 ruleModel:rule_blacklist -24-11-18.20:14:33.179 [main ] INFO HikariDataSource - HikariPool-1 - Starting... -24-11-18.20:14:33.523 [main ] INFO HikariDataSource - HikariPool-1 - Start completed. -24-11-18.20:14:33.575 [main ] INFO RuleWeightLogicFilter - 规则过滤-权重范围 userId:xiaofuge strategyId:100001 ruleModel:rule_weight -24-11-18.20:14:33.580 [main ] INFO DefaultRaffleStrategy - 抽奖前规则过滤 userId: xiaofuge ruleModel: rule_weight code: 0001 info: 接管;后续的流程,受规则引擎执行结果影响 -24-11-18.20:14:33.624 [SpringApplicationShutdownHook] INFO HikariDataSource - HikariPool-1 - Shutdown initiated... -24-11-18.20:14:33.649 [SpringApplicationShutdownHook] INFO HikariDataSource - HikariPool-1 - Shutdown completed. -24-11-18.20:14:55.452 [main ] INFO RaffleStrategyTest - Starting RaffleStrategyTest using Java 1.8.0_412 on zhaoyongfeng with PID 5436 (started by zhaoyongfeng in C:\Users\31126\Desktop\study\xfg-frame-archetype-lite\xfg-frame-archetype-lite-app) -24-11-18.20:14:55.454 [main ] INFO RaffleStrategyTest - The following 1 profile is active: "dev" -24-11-18.20:14:56.624 [main ] INFO RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode -24-11-18.20:14:56.629 [main ] INFO RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. -24-11-18.20:14:56.701 [main ] INFO RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 51 ms. Found 0 Redis repository interfaces. -24-11-18.20:14:59.612 [main ] INFO Version - Redisson 3.23.4 -24-11-18.20:15:01.290 [redisson-netty-2-4] INFO MasterPubSubConnectionPool - 1 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-18.20:15:01.305 [redisson-netty-2-13] INFO MasterConnectionPool - 5 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-18.20:15:14.924 [main ] INFO EndpointLinksResolver - Exposing 1 endpoint(s) beneath base path '/actuator' -24-11-18.20:15:15.022 [main ] INFO RaffleStrategyTest - Started RaffleStrategyTest in 20.27 seconds (JVM running for 21.713) -24-11-18.20:15:53.121 [main ] INFO RuleBackListLogicFilter - 规则过滤-黑名单 userId:xiaofuge strategyId:100001 ruleModel:rule_blacklist -24-11-18.20:15:53.167 [main ] INFO HikariDataSource - HikariPool-1 - Starting... -24-11-18.20:15:53.497 [main ] INFO HikariDataSource - HikariPool-1 - Start completed. -24-11-18.20:15:53.546 [main ] INFO RuleWeightLogicFilter - 规则过滤-权重范围 userId:xiaofuge strategyId:100001 ruleModel:rule_weight -24-11-18.20:15:53.550 [main ] INFO DefaultRaffleStrategy - 抽奖前规则过滤 userId: xiaofuge ruleModel: rule_weight code: 0001 info: 接管;后续的流程,受规则引擎执行结果影响 -24-11-18.20:16:26.324 [SpringApplicationShutdownHook] INFO HikariDataSource - HikariPool-1 - Shutdown initiated... -24-11-18.20:16:26.338 [SpringApplicationShutdownHook] INFO HikariDataSource - HikariPool-1 - Shutdown completed. -24-11-18.20:59:12.273 [main ] INFO RaffleStrategyTest - Starting RaffleStrategyTest using Java 1.8.0_412 on zhaoyongfeng with PID 13652 (started by zhaoyongfeng in C:\Users\31126\Desktop\study\xfg-frame-archetype-lite\xfg-frame-archetype-lite-app) -24-11-18.20:59:12.275 [main ] INFO RaffleStrategyTest - The following 1 profile is active: "dev" -24-11-18.20:59:13.296 [main ] INFO RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode -24-11-18.20:59:13.301 [main ] INFO RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. -24-11-18.20:59:13.365 [main ] INFO RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 46 ms. Found 0 Redis repository interfaces. -24-11-18.20:59:15.911 [main ] INFO Version - Redisson 3.23.4 -24-11-18.20:59:17.405 [redisson-netty-2-4] INFO MasterPubSubConnectionPool - 1 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-18.20:59:17.420 [redisson-netty-2-13] INFO MasterConnectionPool - 5 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-18.20:59:19.716 [main ] INFO EndpointLinksResolver - Exposing 1 endpoint(s) beneath base path '/actuator' -24-11-18.20:59:19.798 [main ] INFO RaffleStrategyTest - Started RaffleStrategyTest in 8.046 seconds (JVM running for 9.203) -24-11-18.20:59:20.192 [main ] INFO HikariDataSource - HikariPool-1 - Starting... -24-11-18.20:59:20.518 [main ] INFO HikariDataSource - HikariPool-1 - Start completed. -24-11-18.20:59:20.838 [main ] INFO RaffleStrategyTest - 测试结果:true -24-11-18.20:59:20.844 [main ] INFO RuleBackListLogicFilter - 规则过滤-黑名单 userId:xiaofuge strategyId:100001 ruleModel:rule_blacklist -24-11-18.20:59:20.871 [main ] INFO RuleWeightLogicFilter - 规则过滤-权重范围 userId:xiaofuge strategyId:100001 ruleModel:rule_weight -24-11-18.20:59:20.875 [main ] INFO DefaultRaffleStrategy - 抽奖前规则过滤 userId: xiaofuge ruleModel: rule_weight code: 0001 info: 接管;后续的流程,受规则引擎执行结果影响 -24-11-18.20:59:20.915 [SpringApplicationShutdownHook] INFO HikariDataSource - HikariPool-1 - Shutdown initiated... -24-11-18.20:59:20.928 [SpringApplicationShutdownHook] INFO HikariDataSource - HikariPool-1 - Shutdown completed. -24-11-18.20:59:49.664 [main ] INFO RaffleStrategyTest - Starting RaffleStrategyTest using Java 1.8.0_412 on zhaoyongfeng with PID 6364 (started by zhaoyongfeng in C:\Users\31126\Desktop\study\xfg-frame-archetype-lite\xfg-frame-archetype-lite-app) -24-11-18.20:59:49.666 [main ] INFO RaffleStrategyTest - The following 1 profile is active: "dev" -24-11-18.20:59:50.818 [main ] INFO RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode -24-11-18.20:59:50.822 [main ] INFO RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. -24-11-18.20:59:50.884 [main ] INFO RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 45 ms. Found 0 Redis repository interfaces. -24-11-18.20:59:53.509 [main ] INFO Version - Redisson 3.23.4 -24-11-18.20:59:55.088 [redisson-netty-2-4] INFO MasterPubSubConnectionPool - 1 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-18.20:59:55.102 [redisson-netty-2-13] INFO MasterConnectionPool - 5 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-18.20:59:57.450 [main ] INFO EndpointLinksResolver - Exposing 1 endpoint(s) beneath base path '/actuator' -24-11-18.20:59:57.530 [main ] INFO RaffleStrategyTest - Started RaffleStrategyTest in 8.466 seconds (JVM running for 9.727) -24-11-18.20:59:58.131 [main ] INFO HikariDataSource - HikariPool-1 - Starting... -24-11-18.20:59:58.449 [main ] INFO HikariDataSource - HikariPool-1 - Start completed. -24-11-18.20:59:58.523 [main ] INFO RaffleStrategyTest - 测试结果:true -24-11-18.20:59:58.529 [main ] INFO RuleBackListLogicFilter - 规则过滤-黑名单 userId:xiaofuge strategyId:100001 ruleModel:rule_blacklist -24-11-18.20:59:58.565 [main ] INFO RuleWeightLogicFilter - 规则过滤-权重范围 userId:xiaofuge strategyId:100001 ruleModel:rule_weight -24-11-18.20:59:58.569 [main ] INFO DefaultRaffleStrategy - 抽奖前规则过滤 userId: xiaofuge ruleModel: rule_weight code: 0001 info: 接管;后续的流程,受规则引擎执行结果影响 -24-11-18.20:59:58.615 [SpringApplicationShutdownHook] INFO HikariDataSource - HikariPool-1 - Shutdown initiated... -24-11-18.20:59:58.632 [SpringApplicationShutdownHook] INFO HikariDataSource - HikariPool-1 - Shutdown completed. -24-11-18.21:01:01.592 [main ] INFO RaffleStrategyTest - Starting RaffleStrategyTest using Java 1.8.0_412 on zhaoyongfeng with PID 10372 (started by zhaoyongfeng in C:\Users\31126\Desktop\study\xfg-frame-archetype-lite\xfg-frame-archetype-lite-app) -24-11-18.21:01:01.593 [main ] INFO RaffleStrategyTest - The following 1 profile is active: "dev" -24-11-18.21:01:02.661 [main ] INFO RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode -24-11-18.21:01:02.665 [main ] INFO RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. -24-11-18.21:01:02.728 [main ] INFO RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 45 ms. Found 0 Redis repository interfaces. -24-11-18.21:01:05.288 [main ] INFO Version - Redisson 3.23.4 -24-11-18.21:01:06.801 [redisson-netty-2-4] INFO MasterPubSubConnectionPool - 1 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-18.21:01:06.815 [redisson-netty-2-13] INFO MasterConnectionPool - 5 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-18.21:01:09.129 [main ] INFO EndpointLinksResolver - Exposing 1 endpoint(s) beneath base path '/actuator' -24-11-18.21:01:09.208 [main ] INFO RaffleStrategyTest - Started RaffleStrategyTest in 8.129 seconds (JVM running for 9.258) -24-11-18.21:01:09.783 [main ] INFO HikariDataSource - HikariPool-1 - Starting... -24-11-18.21:01:10.074 [main ] INFO HikariDataSource - HikariPool-1 - Start completed. -24-11-18.21:01:10.137 [main ] INFO RaffleStrategyTest - 测试结果:true -24-11-18.21:01:10.143 [main ] INFO RuleBackListLogicFilter - 规则过滤-黑名单 userId:xiaofuge strategyId:100001 ruleModel:rule_blacklist -24-11-18.21:01:10.167 [main ] INFO RuleWeightLogicFilter - 规则过滤-权重范围 userId:xiaofuge strategyId:100001 ruleModel:rule_weight -24-11-18.21:01:10.170 [main ] INFO DefaultRaffleStrategy - 抽奖前规则过滤 userId: xiaofuge ruleModel: rule_weight code: 0001 info: 接管;后续的流程,受规则引擎执行结果影响 -24-11-18.21:01:10.374 [main ] INFO RaffleStrategyTest - 请求参数:{"strategyId":100001,"userId":"xiaofuge"} -24-11-18.21:01:10.377 [main ] INFO RaffleStrategyTest - 测试结果:{"awardId":105} -24-11-18.21:01:10.410 [SpringApplicationShutdownHook] INFO HikariDataSource - HikariPool-1 - Shutdown initiated... -24-11-18.21:01:10.423 [SpringApplicationShutdownHook] INFO HikariDataSource - HikariPool-1 - Shutdown completed. -24-11-18.21:01:54.352 [main ] INFO RaffleStrategyTest - Starting RaffleStrategyTest using Java 1.8.0_412 on zhaoyongfeng with PID 15056 (started by zhaoyongfeng in C:\Users\31126\Desktop\study\xfg-frame-archetype-lite\xfg-frame-archetype-lite-app) -24-11-18.21:01:54.354 [main ] INFO RaffleStrategyTest - The following 1 profile is active: "dev" -24-11-18.21:01:55.386 [main ] INFO RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode -24-11-18.21:01:55.391 [main ] INFO RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. -24-11-18.21:01:55.451 [main ] INFO RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 44 ms. Found 0 Redis repository interfaces. -24-11-18.21:01:57.987 [main ] INFO Version - Redisson 3.23.4 -24-11-18.21:01:59.540 [redisson-netty-2-4] INFO MasterPubSubConnectionPool - 1 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-18.21:01:59.561 [redisson-netty-2-13] INFO MasterConnectionPool - 5 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-18.21:02:02.079 [main ] INFO EndpointLinksResolver - Exposing 1 endpoint(s) beneath base path '/actuator' -24-11-18.21:02:02.225 [main ] INFO RaffleStrategyTest - Started RaffleStrategyTest in 8.377 seconds (JVM running for 9.511) -24-11-18.21:05:04.818 [main ] INFO RaffleStrategyTest - Starting RaffleStrategyTest using Java 1.8.0_412 on zhaoyongfeng with PID 6520 (started by zhaoyongfeng in C:\Users\31126\Desktop\study\xfg-frame-archetype-lite\xfg-frame-archetype-lite-app) -24-11-18.21:05:04.819 [main ] INFO RaffleStrategyTest - The following 1 profile is active: "dev" -24-11-18.21:05:05.870 [main ] INFO RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode -24-11-18.21:05:05.874 [main ] INFO RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. -24-11-18.21:05:05.939 [main ] INFO RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 45 ms. Found 0 Redis repository interfaces. -24-11-18.21:05:08.487 [main ] INFO Version - Redisson 3.23.4 -24-11-18.21:05:10.031 [redisson-netty-2-4] INFO MasterPubSubConnectionPool - 1 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-18.21:05:10.046 [redisson-netty-2-13] INFO MasterConnectionPool - 5 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-18.21:05:12.319 [main ] INFO EndpointLinksResolver - Exposing 1 endpoint(s) beneath base path '/actuator' -24-11-18.21:05:12.411 [main ] INFO RaffleStrategyTest - Started RaffleStrategyTest in 8.135 seconds (JVM running for 9.252) -24-11-18.21:05:12.898 [main ] INFO RuleBackListLogicFilter - 规则过滤-黑名单 userId:xiaofuge strategyId:100001 ruleModel:rule_blacklist -24-11-18.21:05:12.941 [main ] INFO HikariDataSource - HikariPool-1 - Starting... -24-11-18.21:05:13.239 [main ] INFO HikariDataSource - HikariPool-1 - Start completed. -24-11-18.21:05:13.287 [main ] INFO RuleWeightLogicFilter - 规则过滤-权重范围 userId:xiaofuge strategyId:100001 ruleModel:rule_weight -24-11-18.21:05:13.291 [main ] INFO DefaultRaffleStrategy - 抽奖前规则过滤 userId: xiaofuge ruleModel: rule_weight code: 0001 info: 接管;后续的流程,受规则引擎执行结果影响 -24-11-18.21:05:13.487 [main ] INFO RaffleStrategyTest - 请求参数:{"strategyId":100001,"userId":"xiaofuge"} -24-11-18.21:05:13.490 [main ] INFO RaffleStrategyTest - 测试结果:{"awardId":102} -24-11-18.21:05:13.524 [SpringApplicationShutdownHook] INFO HikariDataSource - HikariPool-1 - Shutdown initiated... -24-11-18.21:05:13.538 [SpringApplicationShutdownHook] INFO HikariDataSource - HikariPool-1 - Shutdown completed. -24-11-18.21:15:04.176 [main ] INFO RaffleStrategyTest - Starting RaffleStrategyTest using Java 1.8.0_412 on zhaoyongfeng with PID 3924 (started by zhaoyongfeng in C:\Users\31126\Desktop\study\xfg-frame-archetype-lite\xfg-frame-archetype-lite-app) -24-11-18.21:15:04.177 [main ] INFO RaffleStrategyTest - The following 1 profile is active: "dev" -24-11-18.21:15:05.225 [main ] INFO RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode -24-11-18.21:15:05.229 [main ] INFO RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. -24-11-18.21:15:05.291 [main ] INFO RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 45 ms. Found 0 Redis repository interfaces. -24-11-18.21:15:07.912 [main ] INFO Version - Redisson 3.23.4 -24-11-18.21:15:09.489 [redisson-netty-2-4] INFO MasterPubSubConnectionPool - 1 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-18.21:15:09.503 [redisson-netty-2-13] INFO MasterConnectionPool - 5 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-18.21:15:11.856 [main ] INFO EndpointLinksResolver - Exposing 1 endpoint(s) beneath base path '/actuator' -24-11-18.21:15:11.947 [main ] INFO RaffleStrategyTest - Started RaffleStrategyTest in 8.273 seconds (JVM running for 9.407) -24-11-18.21:15:12.360 [main ] INFO HikariDataSource - HikariPool-1 - Starting... -24-11-18.21:15:12.645 [main ] INFO HikariDataSource - HikariPool-1 - Start completed. -24-11-18.21:15:12.750 [main ] INFO RuleBackListLogicFilter - 规则过滤-黑名单 userId:xiaofuge strategyId:100001 ruleModel:rule_blacklist -24-11-18.21:15:12.777 [main ] INFO RuleWeightLogicFilter - 规则过滤-权重范围 userId:xiaofuge strategyId:100001 ruleModel:rule_weight -24-11-18.21:15:12.780 [main ] INFO DefaultRaffleStrategy - 抽奖前规则过滤 userId: xiaofuge ruleModel: rule_weight code: 0001 info: 接管;后续的流程,受规则引擎执行结果影响 -24-11-18.21:15:12.822 [SpringApplicationShutdownHook] INFO HikariDataSource - HikariPool-1 - Shutdown initiated... -24-11-18.21:15:12.840 [SpringApplicationShutdownHook] INFO HikariDataSource - HikariPool-1 - Shutdown completed. -24-11-18.21:16:16.800 [main ] INFO RaffleStrategyTest - Starting RaffleStrategyTest using Java 1.8.0_412 on zhaoyongfeng with PID 23076 (started by zhaoyongfeng in C:\Users\31126\Desktop\study\xfg-frame-archetype-lite\xfg-frame-archetype-lite-app) -24-11-18.21:16:16.801 [main ] INFO RaffleStrategyTest - The following 1 profile is active: "dev" -24-11-18.21:16:17.931 [main ] INFO RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode -24-11-18.21:16:17.936 [main ] INFO RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. -24-11-18.21:16:18.002 [main ] INFO RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 46 ms. Found 0 Redis repository interfaces. -24-11-18.21:16:20.708 [main ] INFO Version - Redisson 3.23.4 -24-11-18.21:16:22.290 [redisson-netty-2-4] INFO MasterPubSubConnectionPool - 1 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-18.21:16:22.304 [redisson-netty-2-13] INFO MasterConnectionPool - 5 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-18.21:16:25.103 [main ] INFO EndpointLinksResolver - Exposing 1 endpoint(s) beneath base path '/actuator' -24-11-18.21:16:25.209 [main ] INFO RaffleStrategyTest - Started RaffleStrategyTest in 8.916 seconds (JVM running for 10.071) -24-11-18.21:16:25.661 [main ] INFO HikariDataSource - HikariPool-1 - Starting... -24-11-18.21:16:25.962 [main ] INFO HikariDataSource - HikariPool-1 - Start completed. -24-11-18.21:16:26.230 [main ] INFO RaffleStrategyTest - 测试结果:true -24-11-18.21:16:26.237 [main ] INFO RuleBackListLogicFilter - 规则过滤-黑名单 userId:xiaofuge strategyId:100001 ruleModel:rule_blacklist -24-11-18.21:16:26.264 [main ] INFO RuleWeightLogicFilter - 规则过滤-权重范围 userId:xiaofuge strategyId:100001 ruleModel:rule_weight -24-11-18.21:16:26.268 [main ] INFO DefaultRaffleStrategy - 抽奖前规则过滤 userId: xiaofuge ruleModel: rule_weight code: 0001 info: 接管;后续的流程,受规则引擎执行结果影响 -24-11-18.21:16:26.449 [main ] INFO RaffleStrategyTest - 请求参数:{"strategyId":100001,"userId":"xiaofuge"} -24-11-18.21:16:26.452 [main ] INFO RaffleStrategyTest - 测试结果:{"awardId":104} -24-11-18.21:16:26.480 [SpringApplicationShutdownHook] INFO HikariDataSource - HikariPool-1 - Shutdown initiated... -24-11-18.21:16:26.493 [SpringApplicationShutdownHook] INFO HikariDataSource - HikariPool-1 - Shutdown completed. -24-11-18.22:51:07.442 [main ] INFO LogicChainTest - Starting LogicChainTest using Java 1.8.0_412 on zhaoyongfeng with PID 14760 (started by zhaoyongfeng in C:\Users\31126\Desktop\study\xfg-frame-archetype-lite\xfg-frame-archetype-lite-app) -24-11-18.22:51:07.443 [main ] INFO LogicChainTest - The following 1 profile is active: "dev" -24-11-18.22:51:08.540 [main ] INFO RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode -24-11-18.22:51:08.544 [main ] INFO RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. -24-11-18.22:51:08.611 [main ] INFO RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 51 ms. Found 0 Redis repository interfaces. -24-11-18.22:51:11.232 [main ] INFO Version - Redisson 3.23.4 -24-11-18.22:51:12.768 [redisson-netty-2-4] INFO MasterPubSubConnectionPool - 1 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-18.22:51:12.783 [redisson-netty-2-13] INFO MasterConnectionPool - 5 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-18.22:51:15.202 [main ] INFO EndpointLinksResolver - Exposing 1 endpoint(s) beneath base path '/actuator' -24-11-18.22:51:15.304 [main ] INFO LogicChainTest - Started LogicChainTest in 8.389 seconds (JVM running for 9.547) -24-11-18.22:51:15.921 [main ] INFO HikariDataSource - HikariPool-1 - Starting... -24-11-18.22:51:16.225 [main ] INFO HikariDataSource - HikariPool-1 - Start completed. -24-11-18.22:51:16.294 [main ] INFO LogicChainTest - 测试结果:true -24-11-18.22:51:16.339 [SpringApplicationShutdownHook] INFO HikariDataSource - HikariPool-1 - Shutdown initiated... -24-11-18.22:51:16.364 [SpringApplicationShutdownHook] INFO HikariDataSource - HikariPool-1 - Shutdown completed. -24-11-18.22:53:43.503 [main ] INFO LogicChainTest - Starting LogicChainTest using Java 1.8.0_412 on zhaoyongfeng with PID 5088 (started by zhaoyongfeng in C:\Users\31126\Desktop\study\xfg-frame-archetype-lite\xfg-frame-archetype-lite-app) -24-11-18.22:53:43.505 [main ] INFO LogicChainTest - The following 1 profile is active: "dev" -24-11-18.22:53:44.635 [main ] INFO RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode -24-11-18.22:53:44.639 [main ] INFO RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. -24-11-18.22:53:44.704 [main ] INFO RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 49 ms. Found 0 Redis repository interfaces. -24-11-18.22:53:47.349 [main ] INFO Version - Redisson 3.23.4 -24-11-18.22:53:48.904 [redisson-netty-2-4] INFO MasterPubSubConnectionPool - 1 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-18.22:53:48.919 [redisson-netty-2-13] INFO MasterConnectionPool - 5 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-18.22:53:51.469 [main ] INFO EndpointLinksResolver - Exposing 1 endpoint(s) beneath base path '/actuator' -24-11-18.22:53:51.554 [main ] INFO LogicChainTest - Started LogicChainTest in 8.606 seconds (JVM running for 9.799) -24-11-18.22:53:52.177 [main ] INFO HikariDataSource - HikariPool-1 - Starting... -24-11-18.22:53:52.486 [main ] INFO HikariDataSource - HikariPool-1 - Start completed. -24-11-18.22:53:52.551 [main ] INFO LogicChainTest - 测试结果:true -24-11-18.22:53:52.554 [main ] INFO RuleWeightLogicChain - 抽奖责任链-权重开始 userId: user001 strategyId: 100001 ruleModel: rule_weight -24-11-18.22:53:52.582 [main ] INFO RuleWeightLogicChain - 抽奖责任链-权重接管 userId: user001 strategyId: 100001 ruleModel: rule_weight awardId: 104 -24-11-18.22:53:52.582 [main ] INFO LogicChainTest - 测试结果:104 -24-11-18.22:53:52.616 [SpringApplicationShutdownHook] INFO HikariDataSource - HikariPool-1 - Shutdown initiated... -24-11-18.22:53:52.637 [SpringApplicationShutdownHook] INFO HikariDataSource - HikariPool-1 - Shutdown completed. diff --git a/bigmarket-app/data/log/log-info-2024-11-19.0.log b/bigmarket-app/data/log/log-info-2024-11-19.0.log deleted file mode 100644 index ffc8e5b..0000000 --- a/bigmarket-app/data/log/log-info-2024-11-19.0.log +++ /dev/null @@ -1,18 +0,0 @@ -24-11-19.13:13:59.192 [main ] INFO LogicChainTest - Starting LogicChainTest using Java 1.8.0_412 on zhaoyongfeng with PID 19480 (started by zhaoyongfeng in C:\Users\31126\Desktop\study\xfg-frame-archetype-lite\xfg-frame-archetype-lite-app) -24-11-19.13:13:59.193 [main ] INFO LogicChainTest - The following 1 profile is active: "dev" -24-11-19.13:14:00.369 [main ] INFO RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode -24-11-19.13:14:00.374 [main ] INFO RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. -24-11-19.13:14:00.444 [main ] INFO RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 51 ms. Found 0 Redis repository interfaces. -24-11-19.13:14:03.216 [main ] INFO Version - Redisson 3.23.4 -24-11-19.13:14:04.813 [redisson-netty-2-4] INFO MasterPubSubConnectionPool - 1 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-19.13:14:04.827 [redisson-netty-2-13] INFO MasterConnectionPool - 5 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-19.13:14:07.367 [main ] INFO EndpointLinksResolver - Exposing 1 endpoint(s) beneath base path '/actuator' -24-11-19.13:14:07.463 [main ] INFO LogicChainTest - Started LogicChainTest in 8.931 seconds (JVM running for 10.393) -24-11-19.13:14:08.109 [main ] INFO HikariDataSource - HikariPool-1 - Starting... -24-11-19.13:14:08.484 [main ] INFO HikariDataSource - HikariPool-1 - Start completed. -24-11-19.13:14:08.562 [main ] INFO LogicChainTest - 测试结果:true -24-11-19.13:14:08.566 [main ] INFO RuleWeightLogicChain - 抽奖责任链-权重开始 userId: xiaofuge strategyId: 100001 ruleModel: rule_weight -24-11-19.13:14:08.596 [main ] INFO RuleWeightLogicChain - 抽奖责任链-权重接管 userId: xiaofuge strategyId: 100001 ruleModel: rule_weight awardId: 102 -24-11-19.13:14:08.596 [main ] INFO LogicChainTest - 测试结果:102 -24-11-19.13:14:08.639 [SpringApplicationShutdownHook] INFO HikariDataSource - HikariPool-1 - Shutdown initiated... -24-11-19.13:14:08.648 [SpringApplicationShutdownHook] INFO HikariDataSource - HikariPool-1 - Shutdown completed. diff --git a/bigmarket-app/data/log/log-info-2024-11-21.0.log b/bigmarket-app/data/log/log-info-2024-11-21.0.log deleted file mode 100644 index 8ec4976..0000000 --- a/bigmarket-app/data/log/log-info-2024-11-21.0.log +++ /dev/null @@ -1,585 +0,0 @@ -24-11-21.00:18:10.323 [main ] INFO LogicTreeTest - Starting LogicTreeTest using Java 1.8.0_412 on zhaoyongfeng with PID 14764 (started by zhaoyongfeng in C:\Users\31126\Desktop\study\xfg-frame-archetype-lite\xfg-frame-archetype-lite-app) -24-11-21.00:18:10.325 [main ] INFO LogicTreeTest - The following 1 profile is active: "dev" -24-11-21.00:18:11.606 [main ] INFO RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode -24-11-21.00:18:11.613 [main ] INFO RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. -24-11-21.00:18:11.702 [main ] INFO RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 58 ms. Found 0 Redis repository interfaces. -24-11-21.00:18:14.424 [main ] INFO Version - Redisson 3.23.4 -24-11-21.00:18:15.978 [redisson-netty-2-4] INFO MasterPubSubConnectionPool - 1 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-21.00:18:15.993 [redisson-netty-2-13] INFO MasterConnectionPool - 5 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-21.00:18:18.535 [main ] INFO EndpointLinksResolver - Exposing 1 endpoint(s) beneath base path '/actuator' -24-11-21.00:18:18.624 [main ] INFO LogicTreeTest - Started LogicTreeTest in 8.941 seconds (JVM running for 10.3) -24-11-21.00:18:19.032 [main ] INFO DecisionTreeEngine - 决策树引擎【决策树规则;增加dall-e-3画图模型】treeId:100000001 node:rule_lock code:0000 -24-11-21.00:18:48.457 [main ] INFO LogicTreeTest - Starting LogicTreeTest using Java 1.8.0_412 on zhaoyongfeng with PID 26972 (started by zhaoyongfeng in C:\Users\31126\Desktop\study\xfg-frame-archetype-lite\xfg-frame-archetype-lite-app) -24-11-21.00:18:48.458 [main ] INFO LogicTreeTest - The following 1 profile is active: "dev" -24-11-21.00:18:49.573 [main ] INFO RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode -24-11-21.00:18:49.577 [main ] INFO RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. -24-11-21.00:18:49.653 [main ] INFO RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 59 ms. Found 0 Redis repository interfaces. -24-11-21.00:18:52.313 [main ] INFO Version - Redisson 3.23.4 -24-11-21.00:18:53.827 [redisson-netty-2-4] INFO MasterPubSubConnectionPool - 1 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-21.00:18:53.846 [redisson-netty-2-13] INFO MasterConnectionPool - 5 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-21.00:18:56.644 [main ] INFO EndpointLinksResolver - Exposing 1 endpoint(s) beneath base path '/actuator' -24-11-21.00:18:56.749 [main ] INFO LogicTreeTest - Started LogicTreeTest in 8.929 seconds (JVM running for 10.662) -24-11-21.00:19:11.859 [main ] INFO DecisionTreeEngine - 决策树引擎【决策树规则;增加dall-e-3画图模型】treeId:100000001 node:rule_lock code:0000 -24-11-21.09:41:04.472 [main ] INFO LogicTreeTest - Starting LogicTreeTest using Java 1.8.0_412 on zhaoyongfeng with PID 10876 (started by zhaoyongfeng in C:\Users\31126\Desktop\study\xfg-frame-archetype-lite\xfg-frame-archetype-lite-app) -24-11-21.09:41:04.474 [main ] INFO LogicTreeTest - The following 1 profile is active: "dev" -24-11-21.09:41:05.643 [main ] INFO RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode -24-11-21.09:41:05.647 [main ] INFO RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. -24-11-21.09:41:05.727 [main ] INFO RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 61 ms. Found 0 Redis repository interfaces. -24-11-21.09:41:09.395 [main ] INFO Version - Redisson 3.23.4 -24-11-21.09:41:10.935 [redisson-netty-2-4] INFO MasterPubSubConnectionPool - 1 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-21.09:41:10.949 [redisson-netty-2-13] INFO MasterConnectionPool - 5 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-21.09:41:13.487 [main ] INFO EndpointLinksResolver - Exposing 1 endpoint(s) beneath base path '/actuator' -24-11-21.09:41:13.582 [main ] INFO LogicTreeTest - Started LogicTreeTest in 9.788 seconds (JVM running for 11.282) -24-11-21.09:41:14.015 [main ] INFO DecisionTreeEngine - 决策树引擎【决策树规则;增加dall-e-3画图模型】treeId:100000001 node:rule_lock code:0000 -24-11-21.09:52:15.429 [main ] INFO LogicTreeTest - Starting LogicTreeTest using Java 1.8.0_412 on zhaoyongfeng with PID 14180 (started by zhaoyongfeng in C:\Users\31126\Desktop\study\xfg-frame-archetype-lite\xfg-frame-archetype-lite-app) -24-11-21.09:52:15.430 [main ] INFO LogicTreeTest - The following 1 profile is active: "dev" -24-11-21.09:52:16.505 [main ] INFO RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode -24-11-21.09:52:16.509 [main ] INFO RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. -24-11-21.09:52:16.583 [main ] INFO RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 57 ms. Found 0 Redis repository interfaces. -24-11-21.09:52:19.227 [main ] INFO Version - Redisson 3.23.4 -24-11-21.09:52:20.760 [redisson-netty-2-4] INFO MasterPubSubConnectionPool - 1 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-21.09:52:20.776 [redisson-netty-2-13] INFO MasterConnectionPool - 5 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-21.09:52:23.366 [main ] INFO EndpointLinksResolver - Exposing 1 endpoint(s) beneath base path '/actuator' -24-11-21.09:52:23.460 [main ] INFO LogicTreeTest - Started LogicTreeTest in 8.558 seconds (JVM running for 10.027) -24-11-21.09:55:22.238 [main ] INFO DecisionTreeEngine - 决策树引擎【决策树规则;增加dall-e-3画图模型】treeId:100000001 node:rule_lock code:0000 -24-11-21.15:10:57.359 [main ] INFO RaffleStrategyTest - Starting RaffleStrategyTest using Java 1.8.0_412 on zhaoyongfeng with PID 3676 (started by zhaoyongfeng in C:\Users\31126\Desktop\study\xfg-frame-archetype-lite\xfg-frame-archetype-lite-app) -24-11-21.15:10:57.360 [main ] INFO RaffleStrategyTest - The following 1 profile is active: "dev" -24-11-21.15:10:58.501 [main ] INFO RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode -24-11-21.15:10:58.506 [main ] INFO RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. -24-11-21.15:10:58.587 [main ] INFO RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 58 ms. Found 0 Redis repository interfaces. -24-11-21.15:10:59.570 [main ] WARN GenericWebApplicationContext - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'updateAwardStockJob': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'cn.bugstack.domain.strategy.IRaffleStock' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@javax.annotation.Resource(shareable=true, lookup=, name=, description=, authenticationType=CONTAINER, type=class java.lang.Object, mappedName=)} -24-11-21.15:10:59.581 [main ] INFO ConditionEvaluationReportLoggingListener - - -Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled. -24-11-21.15:10:59.615 [main ] ERROR LoggingFailureAnalysisReporter - - -*************************** -APPLICATION FAILED TO START -*************************** - -Description: - -A component required a bean of type 'cn.bugstack.domain.strategy.IRaffleStock' that could not be found. - - -Action: - -Consider defining a bean of type 'cn.bugstack.domain.strategy.IRaffleStock' in your configuration. - -24-11-21.15:10:59.618 [main ] ERROR TestContextManager - Caught exception while allowing TestExecutionListener [org.springframework.test.context.web.ServletTestExecutionListener@63475ace] to prepare test instance [cn.bugstack.test.domain.strategy.RaffleStrategyTest@46383a78] -java.lang.IllegalStateException: Failed to load ApplicationContext - at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:98) - at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:124) - at org.springframework.test.context.web.ServletTestExecutionListener.setUpRequestContextIfNecessary(ServletTestExecutionListener.java:190) - at org.springframework.test.context.web.ServletTestExecutionListener.prepareTestInstance(ServletTestExecutionListener.java:132) - at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:248) - at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:227) - at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:289) - at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) - at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:291) - at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:246) - at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97) - at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) - at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) - at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) - at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) - at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) - at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) - at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70) - at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) - at org.junit.runners.ParentRunner.run(ParentRunner.java:413) - at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190) - at org.junit.runner.JUnitCore.run(JUnitCore.java:137) - at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69) - at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38) - at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11) - at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35) - at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:232) - at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:55) -Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'updateAwardStockJob': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'cn.bugstack.domain.strategy.IRaffleStock' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@javax.annotation.Resource(shareable=true, lookup=, name=, description=, authenticationType=CONTAINER, type=class java.lang.Object, mappedName=)} - at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:332) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1431) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) - at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) - at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) - at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) - at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) - at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:955) - at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:920) - at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) - at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:731) - at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:408) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) - at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:136) - at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:141) - at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:90) - ... 27 common frames omitted -Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'cn.bugstack.domain.strategy.IRaffleStock' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@javax.annotation.Resource(shareable=true, lookup=, name=, description=, authenticationType=CONTAINER, type=class java.lang.Object, mappedName=)} - at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoMatchingBeanFound(DefaultListableBeanFactory.java:1801) - at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1357) - at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) - at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.autowireResource(CommonAnnotationBeanPostProcessor.java:544) - at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.getResource(CommonAnnotationBeanPostProcessor.java:520) - at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$ResourceElement.getResourceToInject(CommonAnnotationBeanPostProcessor.java:673) - at org.springframework.beans.factory.annotation.InjectionMetadata$InjectedElement.inject(InjectionMetadata.java:228) - at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119) - at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:329) - ... 43 common frames omitted -24-11-21.15:11:59.314 [main ] INFO RaffleStrategyTest - Starting RaffleStrategyTest using Java 1.8.0_412 on zhaoyongfeng with PID 20840 (started by zhaoyongfeng in C:\Users\31126\Desktop\study\xfg-frame-archetype-lite\xfg-frame-archetype-lite-app) -24-11-21.15:11:59.316 [main ] INFO RaffleStrategyTest - The following 1 profile is active: "dev" -24-11-21.15:12:00.478 [main ] INFO RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode -24-11-21.15:12:00.483 [main ] INFO RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. -24-11-21.15:12:00.566 [main ] INFO RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 57 ms. Found 0 Redis repository interfaces. -24-11-21.15:12:01.523 [main ] WARN GenericWebApplicationContext - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'updateAwardStockJob': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'cn.bugstack.domain.strategy.IRaffleStock' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@javax.annotation.Resource(shareable=true, lookup=, name=, description=, authenticationType=CONTAINER, type=class java.lang.Object, mappedName=)} -24-11-21.15:12:01.533 [main ] INFO ConditionEvaluationReportLoggingListener - - -Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled. -24-11-21.15:12:01.565 [main ] ERROR LoggingFailureAnalysisReporter - - -*************************** -APPLICATION FAILED TO START -*************************** - -Description: - -A component required a bean of type 'cn.bugstack.domain.strategy.IRaffleStock' that could not be found. - - -Action: - -Consider defining a bean of type 'cn.bugstack.domain.strategy.IRaffleStock' in your configuration. - -24-11-21.15:12:01.568 [main ] ERROR TestContextManager - Caught exception while allowing TestExecutionListener [org.springframework.test.context.web.ServletTestExecutionListener@bccb269] to prepare test instance [cn.bugstack.test.domain.strategy.RaffleStrategyTest@6af91cc8] -java.lang.IllegalStateException: Failed to load ApplicationContext - at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:98) - at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:124) - at org.springframework.test.context.web.ServletTestExecutionListener.setUpRequestContextIfNecessary(ServletTestExecutionListener.java:190) - at org.springframework.test.context.web.ServletTestExecutionListener.prepareTestInstance(ServletTestExecutionListener.java:132) - at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:248) - at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:227) - at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:289) - at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) - at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:291) - at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:246) - at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97) - at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) - at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) - at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) - at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) - at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) - at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) - at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70) - at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) - at org.junit.runners.ParentRunner.run(ParentRunner.java:413) - at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190) - at org.junit.runner.JUnitCore.run(JUnitCore.java:137) - at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69) - at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38) - at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11) - at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35) - at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:232) - at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:55) -Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'updateAwardStockJob': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'cn.bugstack.domain.strategy.IRaffleStock' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@javax.annotation.Resource(shareable=true, lookup=, name=, description=, authenticationType=CONTAINER, type=class java.lang.Object, mappedName=)} - at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:332) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1431) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) - at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) - at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) - at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) - at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) - at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:955) - at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:920) - at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) - at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:731) - at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:408) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) - at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:136) - at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:141) - at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:90) - ... 27 common frames omitted -Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'cn.bugstack.domain.strategy.IRaffleStock' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@javax.annotation.Resource(shareable=true, lookup=, name=, description=, authenticationType=CONTAINER, type=class java.lang.Object, mappedName=)} - at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoMatchingBeanFound(DefaultListableBeanFactory.java:1801) - at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1357) - at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) - at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.autowireResource(CommonAnnotationBeanPostProcessor.java:544) - at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.getResource(CommonAnnotationBeanPostProcessor.java:520) - at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$ResourceElement.getResourceToInject(CommonAnnotationBeanPostProcessor.java:673) - at org.springframework.beans.factory.annotation.InjectionMetadata$InjectedElement.inject(InjectionMetadata.java:228) - at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119) - at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:329) - ... 43 common frames omitted -24-11-21.15:51:28.375 [main ] INFO RaffleStrategyTest - Starting RaffleStrategyTest using Java 1.8.0_412 on zhaoyongfeng with PID 19740 (started by zhaoyongfeng in C:\Users\31126\Desktop\study\xfg-frame-archetype-lite\xfg-frame-archetype-lite-app) -24-11-21.15:51:28.376 [main ] INFO RaffleStrategyTest - The following 1 profile is active: "dev" -24-11-21.15:51:29.451 [main ] INFO RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode -24-11-21.15:51:29.455 [main ] INFO RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. -24-11-21.15:51:29.533 [main ] INFO RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 56 ms. Found 0 Redis repository interfaces. -24-11-21.15:51:32.317 [main ] INFO Version - Redisson 3.23.4 -24-11-21.15:51:33.893 [redisson-netty-2-4] INFO MasterPubSubConnectionPool - 1 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-21.15:51:33.917 [redisson-netty-2-13] INFO MasterConnectionPool - 5 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-21.15:51:36.350 [main ] INFO EndpointLinksResolver - Exposing 1 endpoint(s) beneath base path '/actuator' -24-11-21.15:51:36.443 [main ] INFO RaffleStrategyTest - Started RaffleStrategyTest in 8.57 seconds (JVM running for 9.746) -24-11-21.15:51:36.940 [main ] INFO HikariDataSource - HikariPool-1 - Starting... -24-11-21.15:51:37.299 [main ] INFO HikariDataSource - HikariPool-1 - Start completed. -24-11-21.15:51:37.496 [SpringApplicationShutdownHook] INFO HikariDataSource - HikariPool-1 - Shutdown initiated... -24-11-21.15:51:37.509 [SpringApplicationShutdownHook] INFO HikariDataSource - HikariPool-1 - Shutdown completed. -24-11-21.16:01:12.923 [main ] INFO RaffleStrategyTest - Starting RaffleStrategyTest using Java 1.8.0_412 on zhaoyongfeng with PID 21148 (started by zhaoyongfeng in C:\Users\31126\Desktop\study\xfg-frame-archetype-lite\xfg-frame-archetype-lite-app) -24-11-21.16:01:12.924 [main ] INFO RaffleStrategyTest - The following 1 profile is active: "dev" -24-11-21.16:01:14.041 [main ] INFO RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode -24-11-21.16:01:14.046 [main ] INFO RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. -24-11-21.16:01:14.137 [main ] INFO RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 68 ms. Found 0 Redis repository interfaces. -24-11-21.16:01:17.000 [main ] INFO Version - Redisson 3.23.4 -24-11-21.16:01:18.601 [redisson-netty-2-4] INFO MasterPubSubConnectionPool - 1 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-21.16:01:18.616 [redisson-netty-2-13] INFO MasterConnectionPool - 5 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-21.16:01:21.293 [main ] INFO EndpointLinksResolver - Exposing 1 endpoint(s) beneath base path '/actuator' -24-11-21.16:01:21.394 [main ] INFO RaffleStrategyTest - Started RaffleStrategyTest in 9.084 seconds (JVM running for 10.621) -24-11-21.16:01:36.889 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 -24-11-21.16:01:45.227 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 -24-11-21.16:01:52.241 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 -24-11-21.16:05:51.238 [main ] INFO RaffleStrategyTest - Starting RaffleStrategyTest using Java 1.8.0_412 on zhaoyongfeng with PID 24376 (started by zhaoyongfeng in C:\Users\31126\Desktop\study\xfg-frame-archetype-lite\xfg-frame-archetype-lite-app) -24-11-21.16:05:51.239 [main ] INFO RaffleStrategyTest - The following 1 profile is active: "dev" -24-11-21.16:05:52.311 [main ] INFO RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode -24-11-21.16:05:52.315 [main ] INFO RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. -24-11-21.16:05:52.400 [main ] INFO RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 67 ms. Found 0 Redis repository interfaces. -24-11-21.16:05:55.357 [main ] INFO Version - Redisson 3.23.4 -24-11-21.16:05:56.976 [redisson-netty-2-4] INFO MasterPubSubConnectionPool - 1 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-21.16:05:56.993 [redisson-netty-2-13] INFO MasterConnectionPool - 5 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-21.16:05:59.728 [main ] INFO EndpointLinksResolver - Exposing 1 endpoint(s) beneath base path '/actuator' -24-11-21.16:05:59.837 [main ] INFO RaffleStrategyTest - Started RaffleStrategyTest in 9.125 seconds (JVM running for 10.313) -24-11-21.16:06:00.035 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 -24-11-21.16:07:07.304 [main ] INFO RaffleStrategyTest - Starting RaffleStrategyTest using Java 1.8.0_412 on zhaoyongfeng with PID 23096 (started by zhaoyongfeng in C:\Users\31126\Desktop\study\xfg-frame-archetype-lite\xfg-frame-archetype-lite-app) -24-11-21.16:07:07.306 [main ] INFO RaffleStrategyTest - The following 1 profile is active: "dev" -24-11-21.16:07:08.427 [main ] INFO RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode -24-11-21.16:07:08.431 [main ] INFO RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. -24-11-21.16:07:08.511 [main ] INFO RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 58 ms. Found 0 Redis repository interfaces. -24-11-21.16:07:11.194 [main ] INFO Version - Redisson 3.23.4 -24-11-21.16:07:12.720 [redisson-netty-2-4] INFO MasterPubSubConnectionPool - 1 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-21.16:07:12.734 [redisson-netty-2-13] INFO MasterConnectionPool - 5 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-21.16:07:15.319 [main ] INFO EndpointLinksResolver - Exposing 1 endpoint(s) beneath base path '/actuator' -24-11-21.16:07:15.425 [main ] INFO RaffleStrategyTest - Started RaffleStrategyTest in 8.654 seconds (JVM running for 9.779) -24-11-21.16:09:48.148 [main ] INFO RaffleStrategyTest - Starting RaffleStrategyTest using Java 1.8.0_412 on zhaoyongfeng with PID 20476 (started by zhaoyongfeng in C:\Users\31126\Desktop\study\xfg-frame-archetype-lite\xfg-frame-archetype-lite-app) -24-11-21.16:09:48.150 [main ] INFO RaffleStrategyTest - The following 1 profile is active: "dev" -24-11-21.16:09:49.329 [main ] INFO RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode -24-11-21.16:09:49.334 [main ] INFO RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. -24-11-21.16:09:49.417 [main ] INFO RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 64 ms. Found 0 Redis repository interfaces. -24-11-21.16:09:52.226 [main ] INFO Version - Redisson 3.23.4 -24-11-21.16:09:53.840 [redisson-netty-2-5] INFO MasterPubSubConnectionPool - 1 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-21.16:09:53.855 [redisson-netty-2-13] INFO MasterConnectionPool - 5 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-21.16:09:56.386 [main ] INFO EndpointLinksResolver - Exposing 1 endpoint(s) beneath base path '/actuator' -24-11-21.16:09:56.479 [main ] INFO RaffleStrategyTest - Started RaffleStrategyTest in 9.017 seconds (JVM running for 10.299) -24-11-21.16:12:28.292 [main ] INFO RaffleStrategyTest - Starting RaffleStrategyTest using Java 1.8.0_412 on zhaoyongfeng with PID 20704 (started by zhaoyongfeng in C:\Users\31126\Desktop\study\xfg-frame-archetype-lite\xfg-frame-archetype-lite-app) -24-11-21.16:12:28.293 [main ] INFO RaffleStrategyTest - The following 1 profile is active: "dev" -24-11-21.16:12:29.463 [main ] INFO RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode -24-11-21.16:12:29.468 [main ] INFO RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. -24-11-21.16:12:29.556 [main ] INFO RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 71 ms. Found 0 Redis repository interfaces. -24-11-21.16:12:32.367 [main ] INFO Version - Redisson 3.23.4 -24-11-21.16:12:33.993 [redisson-netty-2-4] INFO MasterPubSubConnectionPool - 1 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-21.16:12:34.007 [redisson-netty-2-13] INFO MasterConnectionPool - 5 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-21.16:12:36.548 [main ] INFO EndpointLinksResolver - Exposing 1 endpoint(s) beneath base path '/actuator' -24-11-21.16:12:36.641 [main ] INFO RaffleStrategyTest - Started RaffleStrategyTest in 8.944 seconds (JVM running for 10.307) -24-11-21.16:12:37.068 [main ] INFO HikariDataSource - HikariPool-1 - Starting... -24-11-21.16:12:37.374 [main ] INFO HikariDataSource - HikariPool-1 - Start completed. -24-11-21.16:12:37.566 [SpringApplicationShutdownHook] INFO HikariDataSource - HikariPool-1 - Shutdown initiated... -24-11-21.16:12:37.574 [SpringApplicationShutdownHook] INFO HikariDataSource - HikariPool-1 - Shutdown completed. -24-11-21.16:14:06.813 [main ] INFO RaffleStrategyTest - Starting RaffleStrategyTest using Java 1.8.0_412 on zhaoyongfeng with PID 14460 (started by zhaoyongfeng in C:\Users\31126\Desktop\study\xfg-frame-archetype-lite\xfg-frame-archetype-lite-app) -24-11-21.16:14:06.814 [main ] INFO RaffleStrategyTest - The following 1 profile is active: "dev" -24-11-21.16:14:07.910 [main ] INFO RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode -24-11-21.16:14:07.915 [main ] INFO RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. -24-11-21.16:14:07.999 [main ] INFO RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 63 ms. Found 0 Redis repository interfaces. -24-11-21.16:14:10.744 [main ] INFO Version - Redisson 3.23.4 -24-11-21.16:14:12.399 [redisson-netty-2-4] INFO MasterPubSubConnectionPool - 1 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-21.16:14:12.420 [redisson-netty-2-13] INFO MasterConnectionPool - 5 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-21.16:14:15.145 [main ] INFO EndpointLinksResolver - Exposing 1 endpoint(s) beneath base path '/actuator' -24-11-21.16:14:15.234 [main ] INFO RaffleStrategyTest - Started RaffleStrategyTest in 8.936 seconds (JVM running for 10.126) -24-11-21.16:14:15.712 [main ] INFO RaffleStrategyTest - 测试结果:true -24-11-21.16:14:15.881 [main ] INFO RaffleStrategyTest - 测试结果:null -24-11-21.16:15:52.287 [main ] INFO RaffleStrategyTest - Starting RaffleStrategyTest using Java 1.8.0_412 on zhaoyongfeng with PID 21100 (started by zhaoyongfeng in C:\Users\31126\Desktop\study\xfg-frame-archetype-lite\xfg-frame-archetype-lite-app) -24-11-21.16:15:52.288 [main ] INFO RaffleStrategyTest - The following 1 profile is active: "dev" -24-11-21.16:15:53.427 [main ] INFO RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode -24-11-21.16:15:53.433 [main ] INFO RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. -24-11-21.16:15:53.519 [main ] INFO RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 66 ms. Found 0 Redis repository interfaces. -24-11-21.16:15:56.306 [main ] INFO Version - Redisson 3.23.4 -24-11-21.16:15:57.876 [redisson-netty-2-4] INFO MasterPubSubConnectionPool - 1 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-21.16:15:57.894 [redisson-netty-2-13] INFO MasterConnectionPool - 5 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-21.16:16:00.706 [main ] INFO EndpointLinksResolver - Exposing 1 endpoint(s) beneath base path '/actuator' -24-11-21.16:16:00.812 [main ] INFO RaffleStrategyTest - Started RaffleStrategyTest in 9.085 seconds (JVM running for 10.295) -24-11-21.16:16:01.353 [main ] INFO RaffleStrategyTest - 测试结果:true -24-11-21.16:16:01.517 [main ] INFO RaffleStrategyTest - 测试结果:null -24-11-21.16:16:56.248 [main ] INFO RaffleStrategyTest - Starting RaffleStrategyTest using Java 1.8.0_412 on zhaoyongfeng with PID 23912 (started by zhaoyongfeng in C:\Users\31126\Desktop\study\xfg-frame-archetype-lite\xfg-frame-archetype-lite-app) -24-11-21.16:16:56.249 [main ] INFO RaffleStrategyTest - The following 1 profile is active: "dev" -24-11-21.16:16:57.442 [main ] INFO RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode -24-11-21.16:16:57.446 [main ] INFO RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. -24-11-21.16:16:57.529 [main ] INFO RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 65 ms. Found 0 Redis repository interfaces. -24-11-21.16:17:00.244 [main ] INFO Version - Redisson 3.23.4 -24-11-21.16:17:01.808 [redisson-netty-2-4] INFO MasterPubSubConnectionPool - 1 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-21.16:17:01.822 [redisson-netty-2-13] INFO MasterConnectionPool - 5 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-21.16:17:04.146 [main ] INFO EndpointLinksResolver - Exposing 1 endpoint(s) beneath base path '/actuator' -24-11-21.16:17:04.230 [main ] INFO RaffleStrategyTest - Started RaffleStrategyTest in 8.596 seconds (JVM running for 9.928) -24-11-21.16:17:04.713 [main ] INFO RaffleStrategyTest - 测试结果:true -24-11-21.16:17:04.721 [main ] INFO DefaultLogicChain - 抽奖责任链-默认处理 userId: xiaofuge strategyId: 100006 ruleModel: rule_default awardId: 102 -24-11-21.16:17:04.722 [main ] INFO AbstractRaffleStrategy - 抽奖策略计算-责任链 xiaofuge 100006 102 rule_default -24-11-21.16:17:04.743 [main ] INFO HikariDataSource - HikariPool-1 - Starting... -24-11-21.16:17:05.005 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 -24-11-21.16:17:05.041 [main ] INFO HikariDataSource - HikariPool-1 - Start completed. -24-11-21.16:17:05.109 [SpringApplicationShutdownHook] INFO HikariDataSource - HikariPool-1 - Shutdown initiated... -24-11-21.16:17:05.113 [SpringApplicationShutdownHook] INFO HikariDataSource - HikariPool-1 - Shutdown completed. -24-11-21.16:22:01.755 [main ] INFO RaffleStrategyTest - Starting RaffleStrategyTest using Java 1.8.0_412 on zhaoyongfeng with PID 9992 (started by zhaoyongfeng in C:\Users\31126\Desktop\study\xfg-frame-archetype-lite\xfg-frame-archetype-lite-app) -24-11-21.16:22:01.757 [main ] INFO RaffleStrategyTest - The following 1 profile is active: "dev" -24-11-21.16:22:02.949 [main ] INFO RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode -24-11-21.16:22:02.954 [main ] INFO RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. -24-11-21.16:22:03.037 [main ] INFO RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 60 ms. Found 0 Redis repository interfaces. -24-11-21.16:22:05.934 [main ] INFO Version - Redisson 3.23.4 -24-11-21.16:22:07.495 [redisson-netty-2-4] INFO MasterPubSubConnectionPool - 1 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-21.16:22:07.509 [redisson-netty-2-13] INFO MasterConnectionPool - 5 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-21.16:22:10.242 [main ] INFO EndpointLinksResolver - Exposing 1 endpoint(s) beneath base path '/actuator' -24-11-21.16:22:10.337 [main ] INFO RaffleStrategyTest - Started RaffleStrategyTest in 9.166 seconds (JVM running for 11.038) -24-11-21.16:22:15.931 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 -24-11-21.16:22:24.312 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 -24-11-21.16:22:24.312 [main ] INFO RaffleStrategyTest - 测试结果:true -24-11-21.16:22:25.272 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 -24-11-21.16:22:25.798 [main ] INFO DefaultLogicChain - 抽奖责任链-默认处理 userId: xiaofuge strategyId: 100006 ruleModel: rule_default awardId: 102 -24-11-21.16:22:25.801 [main ] INFO AbstractRaffleStrategy - 抽奖策略计算-责任链 xiaofuge 100006 102 rule_default -24-11-21.16:22:25.869 [main ] INFO HikariDataSource - HikariPool-1 - Starting... -24-11-21.16:22:26.921 [main ] INFO HikariDataSource - HikariPool-1 - Start completed. -24-11-21.16:22:30.054 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 -24-11-21.16:22:31.027 [SpringApplicationShutdownHook] INFO HikariDataSource - HikariPool-1 - Shutdown initiated... -24-11-21.16:22:31.037 [SpringApplicationShutdownHook] INFO HikariDataSource - HikariPool-1 - Shutdown completed. -24-11-21.16:24:27.106 [main ] INFO RaffleStrategyTest - Starting RaffleStrategyTest using Java 1.8.0_412 on zhaoyongfeng with PID 17456 (started by zhaoyongfeng in C:\Users\31126\Desktop\study\xfg-frame-archetype-lite\xfg-frame-archetype-lite-app) -24-11-21.16:24:27.107 [main ] INFO RaffleStrategyTest - The following 1 profile is active: "dev" -24-11-21.16:24:28.196 [main ] INFO RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode -24-11-21.16:24:28.202 [main ] INFO RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. -24-11-21.16:24:28.308 [main ] INFO RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 76 ms. Found 0 Redis repository interfaces. -24-11-21.16:24:31.041 [main ] INFO Version - Redisson 3.23.4 -24-11-21.16:24:32.581 [redisson-netty-2-4] INFO MasterPubSubConnectionPool - 1 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-21.16:24:32.594 [redisson-netty-2-13] INFO MasterConnectionPool - 5 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-21.16:24:35.050 [main ] INFO EndpointLinksResolver - Exposing 1 endpoint(s) beneath base path '/actuator' -24-11-21.16:24:35.165 [main ] INFO RaffleStrategyTest - Started RaffleStrategyTest in 8.59 seconds (JVM running for 9.79) -24-11-21.16:24:35.657 [main ] INFO RaffleStrategyTest - 测试结果:true -24-11-21.16:24:35.665 [main ] INFO DefaultLogicChain - 抽奖责任链-默认处理 userId: xiaofuge strategyId: 100006 ruleModel: rule_default awardId: 102 -24-11-21.16:24:35.667 [main ] INFO AbstractRaffleStrategy - 抽奖策略计算-责任链 xiaofuge 100006 102 rule_default -24-11-21.16:24:35.690 [main ] INFO HikariDataSource - HikariPool-1 - Starting... -24-11-21.16:24:36.006 [main ] INFO HikariDataSource - HikariPool-1 - Start completed. -24-11-21.16:24:36.068 [SpringApplicationShutdownHook] INFO HikariDataSource - HikariPool-1 - Shutdown initiated... -24-11-21.16:24:36.071 [SpringApplicationShutdownHook] INFO HikariDataSource - HikariPool-1 - Shutdown completed. -24-11-21.16:27:11.550 [main ] INFO RaffleStrategyTest - Starting RaffleStrategyTest using Java 1.8.0_412 on zhaoyongfeng with PID 17076 (started by zhaoyongfeng in C:\Users\31126\Desktop\study\xfg-frame-archetype-lite\xfg-frame-archetype-lite-app) -24-11-21.16:27:11.552 [main ] INFO RaffleStrategyTest - The following 1 profile is active: "dev" -24-11-21.16:27:12.626 [main ] INFO RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode -24-11-21.16:27:12.630 [main ] INFO RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. -24-11-21.16:27:12.706 [main ] INFO RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 55 ms. Found 0 Redis repository interfaces. -24-11-21.16:27:15.368 [main ] INFO Version - Redisson 3.23.4 -24-11-21.16:27:16.931 [redisson-netty-2-5] INFO MasterPubSubConnectionPool - 1 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-21.16:27:16.947 [redisson-netty-2-13] INFO MasterConnectionPool - 5 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-21.16:27:19.331 [main ] INFO EndpointLinksResolver - Exposing 1 endpoint(s) beneath base path '/actuator' -24-11-21.16:27:19.425 [main ] INFO RaffleStrategyTest - Started RaffleStrategyTest in 8.379 seconds (JVM running for 9.509) -24-11-21.16:27:19.907 [main ] INFO RaffleStrategyTest - 测试结果:true -24-11-21.16:27:19.919 [main ] INFO DefaultLogicChain - 抽奖责任链-默认处理 userId: xiaofuge strategyId: 100006 ruleModel: rule_default awardId: 102 -24-11-21.16:27:19.920 [main ] INFO AbstractRaffleStrategy - 抽奖策略计算-责任链 xiaofuge 100006 102 rule_default -24-11-21.16:27:19.948 [main ] INFO HikariDataSource - HikariPool-1 - Starting... -24-11-21.16:27:20.014 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 -24-11-21.16:27:20.246 [main ] INFO HikariDataSource - HikariPool-1 - Start completed. -24-11-21.16:27:20.308 [SpringApplicationShutdownHook] INFO HikariDataSource - HikariPool-1 - Shutdown initiated... -24-11-21.16:27:20.311 [SpringApplicationShutdownHook] INFO HikariDataSource - HikariPool-1 - Shutdown completed. -24-11-21.16:36:17.800 [main ] INFO RaffleStrategyTest - Starting RaffleStrategyTest using Java 1.8.0_412 on zhaoyongfeng with PID 20948 (started by zhaoyongfeng in C:\Users\31126\Desktop\study\xfg-frame-archetype-lite\xfg-frame-archetype-lite-app) -24-11-21.16:36:17.801 [main ] INFO RaffleStrategyTest - The following 1 profile is active: "dev" -24-11-21.16:36:18.901 [main ] INFO RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode -24-11-21.16:36:18.905 [main ] INFO RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. -24-11-21.16:36:18.991 [main ] INFO RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 65 ms. Found 0 Redis repository interfaces. -24-11-21.16:36:21.684 [main ] INFO Version - Redisson 3.23.4 -24-11-21.16:36:23.377 [redisson-netty-2-4] INFO MasterPubSubConnectionPool - 1 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-21.16:36:23.392 [redisson-netty-2-13] INFO MasterConnectionPool - 5 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-21.16:36:25.820 [main ] INFO EndpointLinksResolver - Exposing 1 endpoint(s) beneath base path '/actuator' -24-11-21.16:36:25.908 [main ] INFO RaffleStrategyTest - Started RaffleStrategyTest in 8.623 seconds (JVM running for 9.763) -24-11-21.16:36:26.373 [main ] INFO RaffleStrategyTest - 测试结果:true -24-11-21.16:36:26.380 [main ] INFO DefaultLogicChain - 抽奖责任链-默认处理 userId: xiaofuge strategyId: 100006 ruleModel: rule_default awardId: 102 -24-11-21.16:36:26.382 [main ] INFO AbstractRaffleStrategy - 抽奖策略计算-责任链 xiaofuge 100006 102 rule_default -24-11-21.16:36:26.406 [main ] INFO HikariDataSource - HikariPool-1 - Starting... -24-11-21.16:36:26.695 [main ] INFO HikariDataSource - HikariPool-1 - Start completed. -24-11-21.16:36:26.775 [SpringApplicationShutdownHook] INFO HikariDataSource - HikariPool-1 - Shutdown initiated... -24-11-21.16:36:26.778 [SpringApplicationShutdownHook] INFO HikariDataSource - HikariPool-1 - Shutdown completed. -24-11-21.16:37:01.019 [main ] INFO RaffleStrategyTest - Starting RaffleStrategyTest using Java 1.8.0_412 on zhaoyongfeng with PID 20712 (started by zhaoyongfeng in C:\Users\31126\Desktop\study\xfg-frame-archetype-lite\xfg-frame-archetype-lite-app) -24-11-21.16:37:01.020 [main ] INFO RaffleStrategyTest - The following 1 profile is active: "dev" -24-11-21.16:37:02.185 [main ] INFO RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode -24-11-21.16:37:02.189 [main ] INFO RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. -24-11-21.16:37:02.273 [main ] INFO RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 65 ms. Found 0 Redis repository interfaces. -24-11-21.16:37:04.955 [main ] INFO Version - Redisson 3.23.4 -24-11-21.16:37:06.502 [redisson-netty-2-4] INFO MasterPubSubConnectionPool - 1 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-21.16:37:06.516 [redisson-netty-2-13] INFO MasterConnectionPool - 5 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-21.16:37:09.015 [main ] INFO EndpointLinksResolver - Exposing 1 endpoint(s) beneath base path '/actuator' -24-11-21.16:37:09.106 [main ] INFO RaffleStrategyTest - Started RaffleStrategyTest in 8.602 seconds (JVM running for 9.82) -24-11-21.16:37:09.584 [main ] INFO RaffleStrategyTest - 测试结果:true -24-11-21.16:37:09.595 [main ] INFO DefaultLogicChain - 抽奖责任链-默认处理 userId: xiaofuge strategyId: 100006 ruleModel: rule_default awardId: 102 -24-11-21.16:37:09.596 [main ] INFO AbstractRaffleStrategy - 抽奖策略计算-责任链 xiaofuge 100006 102 rule_default -24-11-21.16:37:09.618 [main ] INFO HikariDataSource - HikariPool-1 - Starting... -24-11-21.16:37:09.907 [main ] INFO HikariDataSource - HikariPool-1 - Start completed. -24-11-21.16:37:09.987 [SpringApplicationShutdownHook] INFO HikariDataSource - HikariPool-1 - Shutdown initiated... -24-11-21.16:37:09.991 [SpringApplicationShutdownHook] INFO HikariDataSource - HikariPool-1 - Shutdown completed. -24-11-21.16:38:17.390 [main ] INFO RaffleStrategyTest - Starting RaffleStrategyTest using Java 1.8.0_412 on zhaoyongfeng with PID 22668 (started by zhaoyongfeng in C:\Users\31126\Desktop\study\xfg-frame-archetype-lite\xfg-frame-archetype-lite-app) -24-11-21.16:38:17.391 [main ] INFO RaffleStrategyTest - The following 1 profile is active: "dev" -24-11-21.16:38:18.607 [main ] INFO RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode -24-11-21.16:38:18.617 [main ] INFO RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. -24-11-21.16:38:18.690 [main ] INFO RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 56 ms. Found 0 Redis repository interfaces. -24-11-21.16:38:21.418 [main ] INFO Version - Redisson 3.23.4 -24-11-21.16:38:23.001 [redisson-netty-2-4] INFO MasterPubSubConnectionPool - 1 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-21.16:38:23.025 [redisson-netty-2-13] INFO MasterConnectionPool - 5 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-21.16:38:25.562 [main ] INFO EndpointLinksResolver - Exposing 1 endpoint(s) beneath base path '/actuator' -24-11-21.16:38:25.698 [main ] INFO RaffleStrategyTest - Started RaffleStrategyTest in 8.856 seconds (JVM running for 10.024) -24-11-21.16:38:26.202 [main ] INFO RaffleStrategyTest - 测试结果:true -24-11-21.16:38:26.210 [main ] INFO DefaultLogicChain - 抽奖责任链-默认处理 userId: xiaofuge strategyId: 100006 ruleModel: rule_default awardId: 102 -24-11-21.16:38:26.211 [main ] INFO AbstractRaffleStrategy - 抽奖策略计算-责任链 xiaofuge 100006 102 rule_default -24-11-21.16:38:26.234 [main ] INFO HikariDataSource - HikariPool-1 - Starting... -24-11-21.16:38:26.527 [main ] INFO HikariDataSource - HikariPool-1 - Start completed. -24-11-21.16:38:26.626 [SpringApplicationShutdownHook] INFO HikariDataSource - HikariPool-1 - Shutdown initiated... -24-11-21.16:38:26.631 [SpringApplicationShutdownHook] INFO HikariDataSource - HikariPool-1 - Shutdown completed. -24-11-21.16:38:47.023 [main ] INFO RaffleStrategyTest - Starting RaffleStrategyTest using Java 1.8.0_412 on zhaoyongfeng with PID 11392 (started by zhaoyongfeng in C:\Users\31126\Desktop\study\xfg-frame-archetype-lite\xfg-frame-archetype-lite-app) -24-11-21.16:38:47.024 [main ] INFO RaffleStrategyTest - The following 1 profile is active: "dev" -24-11-21.16:38:48.200 [main ] INFO RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode -24-11-21.16:38:48.208 [main ] INFO RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. -24-11-21.16:38:48.308 [main ] INFO RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 69 ms. Found 0 Redis repository interfaces. -24-11-21.16:38:51.086 [main ] INFO Version - Redisson 3.23.4 -24-11-21.16:38:52.638 [redisson-netty-2-4] INFO MasterPubSubConnectionPool - 1 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-21.16:38:52.653 [redisson-netty-2-13] INFO MasterConnectionPool - 5 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-21.16:38:55.192 [main ] INFO EndpointLinksResolver - Exposing 1 endpoint(s) beneath base path '/actuator' -24-11-21.16:38:55.300 [main ] INFO RaffleStrategyTest - Started RaffleStrategyTest in 8.863 seconds (JVM running for 10.055) -24-11-21.16:38:55.826 [main ] INFO RaffleStrategyTest - 测试结果:true -24-11-21.16:38:55.838 [main ] INFO DefaultLogicChain - 抽奖责任链-默认处理 userId: xiaofuge strategyId: 100006 ruleModel: rule_default awardId: 102 -24-11-21.16:38:55.839 [main ] INFO AbstractRaffleStrategy - 抽奖策略计算-责任链 xiaofuge 100006 102 rule_default -24-11-21.16:38:55.863 [main ] INFO HikariDataSource - HikariPool-1 - Starting... -24-11-21.16:38:56.173 [main ] INFO HikariDataSource - HikariPool-1 - Start completed. -24-11-21.16:38:56.255 [SpringApplicationShutdownHook] INFO HikariDataSource - HikariPool-1 - Shutdown initiated... -24-11-21.16:38:56.258 [SpringApplicationShutdownHook] INFO HikariDataSource - HikariPool-1 - Shutdown completed. -24-11-21.16:42:23.144 [main ] INFO RaffleStrategyTest - Starting RaffleStrategyTest using Java 1.8.0_412 on zhaoyongfeng with PID 23392 (started by zhaoyongfeng in C:\Users\31126\Desktop\study\xfg-frame-archetype-lite\xfg-frame-archetype-lite-app) -24-11-21.16:42:23.146 [main ] INFO RaffleStrategyTest - The following 1 profile is active: "dev" -24-11-21.16:42:24.489 [main ] INFO RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode -24-11-21.16:42:24.502 [main ] INFO RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. -24-11-21.16:42:24.673 [main ] INFO RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 128 ms. Found 0 Redis repository interfaces. -24-11-21.16:42:28.163 [main ] INFO Version - Redisson 3.23.4 -24-11-21.16:42:29.763 [redisson-netty-2-4] INFO MasterPubSubConnectionPool - 1 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-21.16:42:29.778 [redisson-netty-2-13] INFO MasterConnectionPool - 5 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-21.16:42:32.490 [main ] INFO EndpointLinksResolver - Exposing 1 endpoint(s) beneath base path '/actuator' -24-11-21.16:42:32.588 [main ] INFO RaffleStrategyTest - Started RaffleStrategyTest in 10.068 seconds (JVM running for 11.342) -24-11-21.16:42:33.113 [main ] INFO RaffleStrategyTest - 测试结果:true -24-11-21.16:42:33.121 [main ] INFO DefaultLogicChain - 抽奖责任链-默认处理 userId: xiaofuge strategyId: 100006 ruleModel: rule_default awardId: 102 -24-11-21.16:42:33.123 [main ] INFO AbstractRaffleStrategy - 抽奖策略计算-责任链 xiaofuge 100006 102 rule_default -24-11-21.16:42:33.146 [main ] INFO HikariDataSource - HikariPool-1 - Starting... -24-11-21.16:42:33.440 [main ] INFO HikariDataSource - HikariPool-1 - Start completed. -24-11-21.16:42:33.531 [SpringApplicationShutdownHook] INFO HikariDataSource - HikariPool-1 - Shutdown initiated... -24-11-21.16:42:33.535 [SpringApplicationShutdownHook] INFO HikariDataSource - HikariPool-1 - Shutdown completed. -24-11-21.17:10:23.732 [main ] INFO RaffleStrategyTest - Starting RaffleStrategyTest using Java 1.8.0_412 on zhaoyongfeng with PID 17616 (started by zhaoyongfeng in C:\Users\31126\Desktop\study\xfg-frame-archetype-lite\xfg-frame-archetype-lite-app) -24-11-21.17:10:23.733 [main ] INFO RaffleStrategyTest - The following 1 profile is active: "dev" -24-11-21.17:10:24.893 [main ] INFO RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode -24-11-21.17:10:24.897 [main ] INFO RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. -24-11-21.17:10:24.987 [main ] INFO RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 73 ms. Found 0 Redis repository interfaces. -24-11-21.17:10:27.640 [main ] INFO Version - Redisson 3.23.4 -24-11-21.17:10:29.184 [redisson-netty-2-4] INFO MasterPubSubConnectionPool - 1 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-21.17:10:29.198 [redisson-netty-2-13] INFO MasterConnectionPool - 5 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-21.17:10:31.675 [main ] INFO EndpointLinksResolver - Exposing 1 endpoint(s) beneath base path '/actuator' -24-11-21.17:10:31.771 [main ] INFO RaffleStrategyTest - Started RaffleStrategyTest in 8.602 seconds (JVM running for 9.839) -24-11-21.17:10:32.261 [main ] INFO RaffleStrategyTest - 测试结果:true -24-11-21.17:10:32.268 [main ] INFO DefaultLogicChain - 抽奖责任链-默认处理 userId: xiaofuge strategyId: 100006 ruleModel: rule_default awardId: 102 -24-11-21.17:10:32.269 [main ] INFO AbstractRaffleStrategy - 抽奖策略计算-责任链 xiaofuge 100006 102 rule_default -24-11-21.17:10:32.290 [main ] INFO HikariDataSource - HikariPool-1 - Starting... -24-11-21.17:10:32.582 [main ] INFO HikariDataSource - HikariPool-1 - Start completed. -24-11-21.17:10:32.645 [main ] INFO RuleLockLogicTreeNode - 规则过滤-次数锁 userId:xiaofuge strategyId:100006 awardId:102 -24-11-21.17:10:32.647 [main ] INFO DecisionTreeEngine - 决策树引擎【规则树】treeId:tree_lock node:rule_lock code:0000 -24-11-21.17:10:32.648 [main ] INFO RuleStockLogicTreeNode - 规则过滤-库存扣减 userId:xiaofuge strategyId:100006 awardId:102 -24-11-21.17:10:32.651 [main ] INFO RuleStockLogicTreeNode - 规则过滤-库存扣减-成功 userId:xiaofuge strategyId:100006 awardId:102 -24-11-21.17:10:32.674 [main ] INFO DecisionTreeEngine - 决策树引擎【规则树】treeId:tree_lock node:rule_stock code:0001 -24-11-21.17:10:32.674 [main ] INFO RuleLuckAwardLogicTreeNode - 规则过滤-兜底奖品 userId:xiaofuge strategyId:100006 awardId:102 ruleValue:101:1,100 -24-11-21.17:10:32.676 [main ] INFO RuleLuckAwardLogicTreeNode - 规则过滤-兜底奖品 userId:xiaofuge strategyId:100006 awardId:101 awardRuleValue:1,100 -24-11-21.17:10:32.676 [main ] INFO DecisionTreeEngine - 决策树引擎【规则树】treeId:tree_lock node:rule_luck_award code:0001 -24-11-21.17:10:32.676 [main ] INFO AbstractRaffleStrategy - 抽奖策略计算-规则树 xiaofuge 100006 101 1,100 -24-11-21.17:10:32.869 [main ] INFO RaffleStrategyTest - 请求参数:{"strategyId":100006,"userId":"xiaofuge"} -24-11-21.17:10:32.872 [main ] INFO RaffleStrategyTest - 测试结果:{"awardConfig":"1,100","awardId":101} -24-11-21.17:10:32.878 [main ] INFO DefaultLogicChain - 抽奖责任链-默认处理 userId: xiaofuge strategyId: 100006 ruleModel: rule_default awardId: 102 -24-11-21.17:10:32.878 [main ] INFO AbstractRaffleStrategy - 抽奖策略计算-责任链 xiaofuge 100006 102 rule_default -24-11-21.17:10:32.882 [main ] INFO RuleLockLogicTreeNode - 规则过滤-次数锁 userId:xiaofuge strategyId:100006 awardId:102 -24-11-21.17:10:32.882 [main ] INFO DecisionTreeEngine - 决策树引擎【规则树】treeId:tree_lock node:rule_lock code:0000 -24-11-21.17:10:32.882 [main ] INFO RuleStockLogicTreeNode - 规则过滤-库存扣减 userId:xiaofuge strategyId:100006 awardId:102 -24-11-21.17:10:32.884 [main ] INFO RuleStockLogicTreeNode - 规则过滤-库存扣减-成功 userId:xiaofuge strategyId:100006 awardId:102 -24-11-21.17:10:32.886 [main ] INFO DecisionTreeEngine - 决策树引擎【规则树】treeId:tree_lock node:rule_stock code:0001 -24-11-21.17:10:32.886 [main ] INFO RuleLuckAwardLogicTreeNode - 规则过滤-兜底奖品 userId:xiaofuge strategyId:100006 awardId:102 ruleValue:101:1,100 -24-11-21.17:10:32.886 [main ] INFO RuleLuckAwardLogicTreeNode - 规则过滤-兜底奖品 userId:xiaofuge strategyId:100006 awardId:101 awardRuleValue:1,100 -24-11-21.17:10:32.886 [main ] INFO DecisionTreeEngine - 决策树引擎【规则树】treeId:tree_lock node:rule_luck_award code:0001 -24-11-21.17:10:32.886 [main ] INFO AbstractRaffleStrategy - 抽奖策略计算-规则树 xiaofuge 100006 101 1,100 -24-11-21.17:10:32.886 [main ] INFO RaffleStrategyTest - 请求参数:{"strategyId":100006,"userId":"xiaofuge"} -24-11-21.17:10:32.886 [main ] INFO RaffleStrategyTest - 测试结果:{"awardConfig":"1,100","awardId":101} -24-11-21.17:10:32.889 [main ] INFO DefaultLogicChain - 抽奖责任链-默认处理 userId: xiaofuge strategyId: 100006 ruleModel: rule_default awardId: 102 -24-11-21.17:10:32.890 [main ] INFO AbstractRaffleStrategy - 抽奖策略计算-责任链 xiaofuge 100006 102 rule_default -24-11-21.17:10:32.892 [main ] INFO RuleLockLogicTreeNode - 规则过滤-次数锁 userId:xiaofuge strategyId:100006 awardId:102 -24-11-21.17:10:32.892 [main ] INFO DecisionTreeEngine - 决策树引擎【规则树】treeId:tree_lock node:rule_lock code:0000 -24-11-21.17:10:32.892 [main ] INFO RuleStockLogicTreeNode - 规则过滤-库存扣减 userId:xiaofuge strategyId:100006 awardId:102 -24-11-21.17:10:32.894 [main ] INFO RuleStockLogicTreeNode - 规则过滤-库存扣减-成功 userId:xiaofuge strategyId:100006 awardId:102 -24-11-21.17:10:32.895 [main ] INFO DecisionTreeEngine - 决策树引擎【规则树】treeId:tree_lock node:rule_stock code:0001 -24-11-21.17:10:32.895 [main ] INFO RuleLuckAwardLogicTreeNode - 规则过滤-兜底奖品 userId:xiaofuge strategyId:100006 awardId:102 ruleValue:101:1,100 -24-11-21.17:10:32.896 [main ] INFO RuleLuckAwardLogicTreeNode - 规则过滤-兜底奖品 userId:xiaofuge strategyId:100006 awardId:101 awardRuleValue:1,100 -24-11-21.17:10:32.896 [main ] INFO DecisionTreeEngine - 决策树引擎【规则树】treeId:tree_lock node:rule_luck_award code:0001 -24-11-21.17:10:32.896 [main ] INFO AbstractRaffleStrategy - 抽奖策略计算-规则树 xiaofuge 100006 101 1,100 -24-11-21.17:10:32.896 [main ] INFO RaffleStrategyTest - 请求参数:{"strategyId":100006,"userId":"xiaofuge"} -24-11-21.17:10:32.896 [main ] INFO RaffleStrategyTest - 测试结果:{"awardConfig":"1,100","awardId":101} -24-11-21.17:10:35.003 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 -24-11-21.17:10:40.002 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 -24-11-21.17:10:40.004 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存 strategyId:100006 awardId:102 -24-11-21.17:10:45.007 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 -24-11-21.17:10:45.008 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存 strategyId:100006 awardId:102 -24-11-21.17:10:50.004 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 -24-11-21.17:10:50.006 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存 strategyId:100006 awardId:102 -24-11-21.17:10:53.627 [SpringApplicationShutdownHook] INFO HikariDataSource - HikariPool-1 - Shutdown initiated... -24-11-21.17:10:53.641 [SpringApplicationShutdownHook] INFO HikariDataSource - HikariPool-1 - Shutdown completed. -24-11-21.17:12:39.816 [main ] INFO RaffleStrategyTest - Starting RaffleStrategyTest using Java 1.8.0_412 on zhaoyongfeng with PID 10100 (started by zhaoyongfeng in C:\Users\31126\Desktop\study\xfg-frame-archetype-lite\xfg-frame-archetype-lite-app) -24-11-21.17:12:39.817 [main ] INFO RaffleStrategyTest - The following 1 profile is active: "dev" -24-11-21.17:12:40.921 [main ] INFO RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode -24-11-21.17:12:40.925 [main ] INFO RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. -24-11-21.17:12:41.012 [main ] INFO RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 71 ms. Found 0 Redis repository interfaces. -24-11-21.17:12:43.680 [main ] INFO Version - Redisson 3.23.4 -24-11-21.17:12:45.228 [redisson-netty-2-4] INFO MasterPubSubConnectionPool - 1 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-21.17:12:45.243 [redisson-netty-2-13] INFO MasterConnectionPool - 5 connections initialized for 127.0.0.1/127.0.0.1:6379 -24-11-21.17:12:47.687 [main ] INFO EndpointLinksResolver - Exposing 1 endpoint(s) beneath base path '/actuator' -24-11-21.17:12:47.782 [main ] INFO RaffleStrategyTest - Started RaffleStrategyTest in 8.484 seconds (JVM running for 9.661) -24-11-21.17:12:48.241 [main ] INFO RaffleStrategyTest - 测试结果:true -24-11-21.17:12:48.248 [main ] INFO DefaultLogicChain - 抽奖责任链-默认处理 userId: xiaofuge strategyId: 100006 ruleModel: rule_default awardId: 102 -24-11-21.17:12:48.250 [main ] INFO AbstractRaffleStrategy - 抽奖策略计算-责任链 xiaofuge 100006 102 rule_default -24-11-21.17:12:48.270 [main ] INFO HikariDataSource - HikariPool-1 - Starting... -24-11-21.17:12:48.558 [main ] INFO HikariDataSource - HikariPool-1 - Start completed. -24-11-21.17:12:48.613 [main ] INFO RuleLockLogicTreeNode - 规则过滤-次数锁 userId:xiaofuge strategyId:100006 awardId:102 -24-11-21.17:12:48.614 [main ] INFO DecisionTreeEngine - 决策树引擎【规则树】treeId:tree_lock node:rule_lock code:0000 -24-11-21.17:12:48.615 [main ] INFO RuleStockLogicTreeNode - 规则过滤-库存扣减 userId:xiaofuge strategyId:100006 awardId:102 -24-11-21.17:12:48.619 [main ] INFO RuleStockLogicTreeNode - 规则过滤-库存扣减-成功 userId:xiaofuge strategyId:100006 awardId:102 -24-11-21.17:12:48.643 [main ] INFO DecisionTreeEngine - 决策树引擎【规则树】treeId:tree_lock node:rule_stock code:0001 -24-11-21.17:12:48.643 [main ] INFO RuleLuckAwardLogicTreeNode - 规则过滤-兜底奖品 userId:xiaofuge strategyId:100006 awardId:102 ruleValue:101:1,100 -24-11-21.17:12:48.645 [main ] INFO RuleLuckAwardLogicTreeNode - 规则过滤-兜底奖品 userId:xiaofuge strategyId:100006 awardId:101 awardRuleValue:1,100 -24-11-21.17:12:48.645 [main ] INFO DecisionTreeEngine - 决策树引擎【规则树】treeId:tree_lock node:rule_luck_award code:0001 -24-11-21.17:12:48.645 [main ] INFO AbstractRaffleStrategy - 抽奖策略计算-规则树 xiaofuge 100006 101 1,100 -24-11-21.17:12:48.830 [main ] INFO RaffleStrategyTest - 请求参数:{"strategyId":100006,"userId":"xiaofuge"} -24-11-21.17:12:48.833 [main ] INFO RaffleStrategyTest - 测试结果:{"awardConfig":"1,100","awardId":101} -24-11-21.17:12:48.837 [main ] INFO DefaultLogicChain - 抽奖责任链-默认处理 userId: xiaofuge strategyId: 100006 ruleModel: rule_default awardId: 102 -24-11-21.17:12:48.837 [main ] INFO AbstractRaffleStrategy - 抽奖策略计算-责任链 xiaofuge 100006 102 rule_default -24-11-21.17:12:48.841 [main ] INFO RuleLockLogicTreeNode - 规则过滤-次数锁 userId:xiaofuge strategyId:100006 awardId:102 -24-11-21.17:12:48.841 [main ] INFO DecisionTreeEngine - 决策树引擎【规则树】treeId:tree_lock node:rule_lock code:0000 -24-11-21.17:12:48.841 [main ] INFO RuleStockLogicTreeNode - 规则过滤-库存扣减 userId:xiaofuge strategyId:100006 awardId:102 -24-11-21.17:12:48.843 [main ] INFO RuleStockLogicTreeNode - 规则过滤-库存扣减-成功 userId:xiaofuge strategyId:100006 awardId:102 -24-11-21.17:12:48.845 [main ] INFO DecisionTreeEngine - 决策树引擎【规则树】treeId:tree_lock node:rule_stock code:0001 -24-11-21.17:12:48.845 [main ] INFO RuleLuckAwardLogicTreeNode - 规则过滤-兜底奖品 userId:xiaofuge strategyId:100006 awardId:102 ruleValue:101:1,100 -24-11-21.17:12:48.845 [main ] INFO RuleLuckAwardLogicTreeNode - 规则过滤-兜底奖品 userId:xiaofuge strategyId:100006 awardId:101 awardRuleValue:1,100 -24-11-21.17:12:48.845 [main ] INFO DecisionTreeEngine - 决策树引擎【规则树】treeId:tree_lock node:rule_luck_award code:0001 -24-11-21.17:12:48.845 [main ] INFO AbstractRaffleStrategy - 抽奖策略计算-规则树 xiaofuge 100006 101 1,100 -24-11-21.17:12:48.845 [main ] INFO RaffleStrategyTest - 请求参数:{"strategyId":100006,"userId":"xiaofuge"} -24-11-21.17:12:48.845 [main ] INFO RaffleStrategyTest - 测试结果:{"awardConfig":"1,100","awardId":101} -24-11-21.17:12:48.848 [main ] INFO DefaultLogicChain - 抽奖责任链-默认处理 userId: xiaofuge strategyId: 100006 ruleModel: rule_default awardId: 102 -24-11-21.17:12:48.848 [main ] INFO AbstractRaffleStrategy - 抽奖策略计算-责任链 xiaofuge 100006 102 rule_default -24-11-21.17:12:48.851 [main ] INFO RuleLockLogicTreeNode - 规则过滤-次数锁 userId:xiaofuge strategyId:100006 awardId:102 -24-11-21.17:12:48.851 [main ] INFO DecisionTreeEngine - 决策树引擎【规则树】treeId:tree_lock node:rule_lock code:0000 -24-11-21.17:12:48.851 [main ] INFO RuleStockLogicTreeNode - 规则过滤-库存扣减 userId:xiaofuge strategyId:100006 awardId:102 -24-11-21.17:12:48.854 [main ] INFO RuleStockLogicTreeNode - 规则过滤-库存扣减-成功 userId:xiaofuge strategyId:100006 awardId:102 -24-11-21.17:12:48.855 [main ] INFO DecisionTreeEngine - 决策树引擎【规则树】treeId:tree_lock node:rule_stock code:0001 -24-11-21.17:12:48.855 [main ] INFO RuleLuckAwardLogicTreeNode - 规则过滤-兜底奖品 userId:xiaofuge strategyId:100006 awardId:102 ruleValue:101:1,100 -24-11-21.17:12:48.855 [main ] INFO RuleLuckAwardLogicTreeNode - 规则过滤-兜底奖品 userId:xiaofuge strategyId:100006 awardId:101 awardRuleValue:1,100 -24-11-21.17:12:48.855 [main ] INFO DecisionTreeEngine - 决策树引擎【规则树】treeId:tree_lock node:rule_luck_award code:0001 -24-11-21.17:12:48.856 [main ] INFO AbstractRaffleStrategy - 抽奖策略计算-规则树 xiaofuge 100006 101 1,100 -24-11-21.17:12:48.856 [main ] INFO RaffleStrategyTest - 请求参数:{"strategyId":100006,"userId":"xiaofuge"} -24-11-21.17:12:48.856 [main ] INFO RaffleStrategyTest - 测试结果:{"awardConfig":"1,100","awardId":101} -24-11-21.17:12:50.009 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 -24-11-21.17:12:55.006 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 -24-11-21.17:12:55.008 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存 strategyId:100006 awardId:102 -24-11-21.17:12:56.427 [SpringApplicationShutdownHook] INFO HikariDataSource - HikariPool-1 - Shutdown initiated... -24-11-21.17:12:56.439 [SpringApplicationShutdownHook] INFO HikariDataSource - HikariPool-1 - Shutdown completed. diff --git a/bigmarket-app/data/log/log-info-2024-11-22.0.log b/bigmarket-app/data/log/log-info-2024-11-22.0.log deleted file mode 100644 index cd666e7..0000000 --- a/bigmarket-app/data/log/log-info-2024-11-22.0.log +++ /dev/null @@ -1,343 +0,0 @@ -24-11-22.17:43:40.514 [main ] INFO RaffleStrategyTest - Starting RaffleStrategyTest using Java 1.8.0_412 on zhaoyongfeng with PID 18552 (started by zhaoyongfeng in C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app) -24-11-22.17:43:40.515 [main ] INFO RaffleStrategyTest - The following 1 profile is active: "dev" -24-11-22.17:43:41.714 [main ] INFO RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode -24-11-22.17:43:41.720 [main ] INFO RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. -24-11-22.17:43:41.825 [main ] INFO RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 83 ms. Found 0 Redis repository interfaces. -24-11-22.17:43:44.588 [main ] INFO Version - Redisson 3.23.4 -24-11-22.17:43:57.319 [main ] WARN GenericWebApplicationContext - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'raffleController': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'defaultRaffleStrategy' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-domain\target\classes\cn\bugstack\domain\strategy\service\raffle\DefaultRaffleStrategy.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'redissonService': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'redissonClient' defined in class path resource [cn/bugstack/config/RedisClientConfig.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.redisson.api.RedissonClient]: Factory method 'redissonClient' threw exception; nested exception is org.redisson.client.RedisConnectionException: Unable to connect to Redis server: 127.0.0.1/127.0.0.1:6379 -24-11-22.17:43:57.343 [main ] INFO ConditionEvaluationReportLoggingListener - - -Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled. -24-11-22.17:43:57.371 [main ] ERROR SpringApplication - Application run failed -org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'raffleController': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'defaultRaffleStrategy' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-domain\target\classes\cn\bugstack\domain\strategy\service\raffle\DefaultRaffleStrategy.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'redissonService': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'redissonClient' defined in class path resource [cn/bugstack/config/RedisClientConfig.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.redisson.api.RedissonClient]: Factory method 'redissonClient' threw exception; nested exception is org.redisson.client.RedisConnectionException: Unable to connect to Redis server: 127.0.0.1/127.0.0.1:6379 - at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:332) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1431) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) - at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) - at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) - at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) - at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) - at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:955) - at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:920) - at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) - at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:731) - at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:408) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) - at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:136) - at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:141) - at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:90) - at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:124) - at org.springframework.test.context.web.ServletTestExecutionListener.setUpRequestContextIfNecessary(ServletTestExecutionListener.java:190) - at org.springframework.test.context.web.ServletTestExecutionListener.prepareTestInstance(ServletTestExecutionListener.java:132) - at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:248) - at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:227) - at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:289) - at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) - at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:291) - at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:246) - at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97) - at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) - at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) - at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) - at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) - at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) - at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) - at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70) - at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) - at org.junit.runners.ParentRunner.run(ParentRunner.java:413) - at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190) - at org.junit.runner.JUnitCore.run(JUnitCore.java:137) - at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69) - at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38) - at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11) - at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35) - at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:232) - at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:55) -Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'defaultRaffleStrategy' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-domain\target\classes\cn\bugstack\domain\strategy\service\raffle\DefaultRaffleStrategy.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'redissonService': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'redissonClient' defined in class path resource [cn/bugstack/config/RedisClientConfig.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.redisson.api.RedissonClient]: Factory method 'redissonClient' threw exception; nested exception is org.redisson.client.RedisConnectionException: Unable to connect to Redis server: 127.0.0.1/127.0.0.1:6379 - at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:800) - at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:229) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1372) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1222) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) - at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) - at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) - at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) - at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) - at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) - at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391) - at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) - at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.autowireResource(CommonAnnotationBeanPostProcessor.java:544) - at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.getResource(CommonAnnotationBeanPostProcessor.java:520) - at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$ResourceElement.getResourceToInject(CommonAnnotationBeanPostProcessor.java:673) - at org.springframework.beans.factory.annotation.InjectionMetadata$InjectedElement.inject(InjectionMetadata.java:228) - at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119) - at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:329) - ... 43 common frames omitted -Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'redissonService': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'redissonClient' defined in class path resource [cn/bugstack/config/RedisClientConfig.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.redisson.api.RedissonClient]: Factory method 'redissonClient' threw exception; nested exception is org.redisson.client.RedisConnectionException: Unable to connect to Redis server: 127.0.0.1/127.0.0.1:6379 - at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:332) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1431) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) - at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) - at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) - at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) - at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) - at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) - at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391) - at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) - at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:887) - at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791) - ... 61 common frames omitted -Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'redissonService': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'redissonClient' defined in class path resource [cn/bugstack/config/RedisClientConfig.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.redisson.api.RedissonClient]: Factory method 'redissonClient' threw exception; nested exception is org.redisson.client.RedisConnectionException: Unable to connect to Redis server: 127.0.0.1/127.0.0.1:6379 - at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:332) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1431) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) - at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) - at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) - at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) - at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) - at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) - at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391) - at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) - at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.autowireResource(CommonAnnotationBeanPostProcessor.java:544) - at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.getResource(CommonAnnotationBeanPostProcessor.java:520) - at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$ResourceElement.getResourceToInject(CommonAnnotationBeanPostProcessor.java:673) - at org.springframework.beans.factory.annotation.InjectionMetadata$InjectedElement.inject(InjectionMetadata.java:228) - at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119) - at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:329) - ... 73 common frames omitted -Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'redissonClient' defined in class path resource [cn/bugstack/config/RedisClientConfig.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.redisson.api.RedissonClient]: Factory method 'redissonClient' threw exception; nested exception is org.redisson.client.RedisConnectionException: Unable to connect to Redis server: 127.0.0.1/127.0.0.1:6379 - at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:658) - at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:638) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1352) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1195) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) - at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) - at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) - at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) - at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:213) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.resolveBeanByName(AbstractAutowireCapableBeanFactory.java:479) - at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.autowireResource(CommonAnnotationBeanPostProcessor.java:550) - at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.getResource(CommonAnnotationBeanPostProcessor.java:520) - at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$ResourceElement.getResourceToInject(CommonAnnotationBeanPostProcessor.java:673) - at org.springframework.beans.factory.annotation.InjectionMetadata$InjectedElement.inject(InjectionMetadata.java:228) - at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119) - at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:329) - ... 89 common frames omitted -Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.redisson.api.RedissonClient]: Factory method 'redissonClient' threw exception; nested exception is org.redisson.client.RedisConnectionException: Unable to connect to Redis server: 127.0.0.1/127.0.0.1:6379 - at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185) - at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) - ... 105 common frames omitted -Caused by: org.redisson.client.RedisConnectionException: Unable to connect to Redis server: 127.0.0.1/127.0.0.1:6379 - at org.redisson.connection.pool.ConnectionPool.lambda$createConnection$0(ConnectionPool.java:132) - at java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:774) - at java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:750) - at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:488) - at java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:1990) - at org.redisson.connection.pool.ConnectionPool.promiseFailure(ConnectionPool.java:294) - at org.redisson.connection.pool.ConnectionPool.lambda$createConnection$6(ConnectionPool.java:253) - at java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:774) - at java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:750) - at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:488) - at java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:1990) - at org.redisson.client.RedisClient$1$2.run(RedisClient.java:257) - at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:174) - at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:167) - at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470) - at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:569) - at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) - at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) - at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) - at java.lang.Thread.run(Thread.java:750) -Caused by: java.util.concurrent.CompletionException: io.netty.channel.AbstractChannel$AnnotatedConnectException: Connection refused: no further information: 127.0.0.1/127.0.0.1:6379 - at java.util.concurrent.CompletableFuture.encodeRelay(CompletableFuture.java:326) - at java.util.concurrent.CompletableFuture.completeRelay(CompletableFuture.java:338) - at java.util.concurrent.CompletableFuture.uniRelay(CompletableFuture.java:925) - at java.util.concurrent.CompletableFuture$UniRelay.tryFire(CompletableFuture.java:913) - ... 11 common frames omitted -Caused by: io.netty.channel.AbstractChannel$AnnotatedConnectException: Connection refused: no further information: 127.0.0.1/127.0.0.1:6379 -Caused by: java.net.ConnectException: Connection refused: no further information - at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) - at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:716) - at io.netty.channel.socket.nio.NioSocketChannel.doFinishConnect(NioSocketChannel.java:337) - at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:334) - at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:776) - at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724) - at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650) - at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562) - at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) - at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) - at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) - at java.lang.Thread.run(Thread.java:750) -24-11-22.17:43:57.375 [main ] ERROR TestContextManager - Caught exception while allowing TestExecutionListener [org.springframework.test.context.web.ServletTestExecutionListener@17f7cd29] to prepare test instance [cn.bugstack.test.domain.strategy.RaffleStrategyTest@6cbb175] -java.lang.IllegalStateException: Failed to load ApplicationContext - at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:98) - at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:124) - at org.springframework.test.context.web.ServletTestExecutionListener.setUpRequestContextIfNecessary(ServletTestExecutionListener.java:190) - at org.springframework.test.context.web.ServletTestExecutionListener.prepareTestInstance(ServletTestExecutionListener.java:132) - at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:248) - at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:227) - at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:289) - at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) - at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:291) - at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:246) - at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97) - at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) - at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) - at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) - at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) - at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) - at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) - at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70) - at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) - at org.junit.runners.ParentRunner.run(ParentRunner.java:413) - at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190) - at org.junit.runner.JUnitCore.run(JUnitCore.java:137) - at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69) - at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38) - at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11) - at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35) - at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:232) - at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:55) -Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'raffleController': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'defaultRaffleStrategy' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-domain\target\classes\cn\bugstack\domain\strategy\service\raffle\DefaultRaffleStrategy.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'redissonService': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'redissonClient' defined in class path resource [cn/bugstack/config/RedisClientConfig.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.redisson.api.RedissonClient]: Factory method 'redissonClient' threw exception; nested exception is org.redisson.client.RedisConnectionException: Unable to connect to Redis server: 127.0.0.1/127.0.0.1:6379 - at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:332) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1431) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) - at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) - at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) - at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) - at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) - at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:955) - at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:920) - at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) - at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:731) - at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:408) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) - at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:136) - at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:141) - at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:90) - ... 27 common frames omitted -Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'defaultRaffleStrategy' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-domain\target\classes\cn\bugstack\domain\strategy\service\raffle\DefaultRaffleStrategy.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'redissonService': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'redissonClient' defined in class path resource [cn/bugstack/config/RedisClientConfig.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.redisson.api.RedissonClient]: Factory method 'redissonClient' threw exception; nested exception is org.redisson.client.RedisConnectionException: Unable to connect to Redis server: 127.0.0.1/127.0.0.1:6379 - at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:800) - at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:229) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1372) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1222) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) - at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) - at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) - at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) - at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) - at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) - at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391) - at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) - at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.autowireResource(CommonAnnotationBeanPostProcessor.java:544) - at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.getResource(CommonAnnotationBeanPostProcessor.java:520) - at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$ResourceElement.getResourceToInject(CommonAnnotationBeanPostProcessor.java:673) - at org.springframework.beans.factory.annotation.InjectionMetadata$InjectedElement.inject(InjectionMetadata.java:228) - at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119) - at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:329) - ... 43 common frames omitted -Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'redissonService': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'redissonClient' defined in class path resource [cn/bugstack/config/RedisClientConfig.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.redisson.api.RedissonClient]: Factory method 'redissonClient' threw exception; nested exception is org.redisson.client.RedisConnectionException: Unable to connect to Redis server: 127.0.0.1/127.0.0.1:6379 - at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:332) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1431) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) - at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) - at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) - at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) - at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) - at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) - at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391) - at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) - at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:887) - at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791) - ... 61 common frames omitted -Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'redissonService': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'redissonClient' defined in class path resource [cn/bugstack/config/RedisClientConfig.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.redisson.api.RedissonClient]: Factory method 'redissonClient' threw exception; nested exception is org.redisson.client.RedisConnectionException: Unable to connect to Redis server: 127.0.0.1/127.0.0.1:6379 - at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:332) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1431) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) - at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) - at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) - at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) - at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) - at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) - at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391) - at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) - at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.autowireResource(CommonAnnotationBeanPostProcessor.java:544) - at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.getResource(CommonAnnotationBeanPostProcessor.java:520) - at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$ResourceElement.getResourceToInject(CommonAnnotationBeanPostProcessor.java:673) - at org.springframework.beans.factory.annotation.InjectionMetadata$InjectedElement.inject(InjectionMetadata.java:228) - at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119) - at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:329) - ... 73 common frames omitted -Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'redissonClient' defined in class path resource [cn/bugstack/config/RedisClientConfig.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.redisson.api.RedissonClient]: Factory method 'redissonClient' threw exception; nested exception is org.redisson.client.RedisConnectionException: Unable to connect to Redis server: 127.0.0.1/127.0.0.1:6379 - at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:658) - at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:638) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1352) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1195) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) - at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) - at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) - at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) - at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:213) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.resolveBeanByName(AbstractAutowireCapableBeanFactory.java:479) - at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.autowireResource(CommonAnnotationBeanPostProcessor.java:550) - at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.getResource(CommonAnnotationBeanPostProcessor.java:520) - at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$ResourceElement.getResourceToInject(CommonAnnotationBeanPostProcessor.java:673) - at org.springframework.beans.factory.annotation.InjectionMetadata$InjectedElement.inject(InjectionMetadata.java:228) - at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119) - at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:329) - ... 89 common frames omitted -Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.redisson.api.RedissonClient]: Factory method 'redissonClient' threw exception; nested exception is org.redisson.client.RedisConnectionException: Unable to connect to Redis server: 127.0.0.1/127.0.0.1:6379 - at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185) - at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) - ... 105 common frames omitted -Caused by: org.redisson.client.RedisConnectionException: Unable to connect to Redis server: 127.0.0.1/127.0.0.1:6379 - at org.redisson.connection.pool.ConnectionPool.lambda$createConnection$0(ConnectionPool.java:132) - at java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:774) - at java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:750) - at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:488) - at java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:1990) - at org.redisson.connection.pool.ConnectionPool.promiseFailure(ConnectionPool.java:294) - at org.redisson.connection.pool.ConnectionPool.lambda$createConnection$6(ConnectionPool.java:253) - at java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:774) - at java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:750) - at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:488) - at java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:1990) - at org.redisson.client.RedisClient$1$2.run(RedisClient.java:257) - at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:174) - at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:167) - at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470) - at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:569) - at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) - at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) - at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) - at java.lang.Thread.run(Thread.java:750) -Caused by: java.util.concurrent.CompletionException: io.netty.channel.AbstractChannel$AnnotatedConnectException: Connection refused: no further information: 127.0.0.1/127.0.0.1:6379 - at java.util.concurrent.CompletableFuture.encodeRelay(CompletableFuture.java:326) - at java.util.concurrent.CompletableFuture.completeRelay(CompletableFuture.java:338) - at java.util.concurrent.CompletableFuture.uniRelay(CompletableFuture.java:925) - at java.util.concurrent.CompletableFuture$UniRelay.tryFire(CompletableFuture.java:913) - ... 11 common frames omitted -Caused by: io.netty.channel.AbstractChannel$AnnotatedConnectException: Connection refused: no further information: 127.0.0.1/127.0.0.1:6379 -Caused by: java.net.ConnectException: Connection refused: no further information - at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) - at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:716) - at io.netty.channel.socket.nio.NioSocketChannel.doFinishConnect(NioSocketChannel.java:337) - at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:334) - at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:776) - at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724) - at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650) - at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562) - at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) - at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) - at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) - at java.lang.Thread.run(Thread.java:750) diff --git a/bigmarket-app/data/log/log-info-2024-12-03.0.log b/bigmarket-app/data/log/log-info-2024-12-03.0.log new file mode 100644 index 0000000..63410b5 --- /dev/null +++ b/bigmarket-app/data/log/log-info-2024-12-03.0.log @@ -0,0 +1,1189 @@ +24-12-03.20:27:57.461 [main ] INFO RaffleOrderTest - Starting RaffleOrderTest using Java 1.8.0_412 on zhaoyongfeng with PID 7076 (started by zhaoyongfeng in C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app) +24-12-03.20:27:57.463 [main ] INFO RaffleOrderTest - The following 1 profile is active: "dev" +24-12-03.20:27:58.985 [main ] INFO RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode +24-12-03.20:27:58.992 [main ] INFO RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. +24-12-03.20:27:59.126 [main ] INFO RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 108 ms. Found 0 Redis repository interfaces. +24-12-03.20:28:00.840 [main ] WARN GenericWebApplicationContext - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'raffleController': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'defaultRaffleStrategy' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-domain\target\classes\cn\bugstack\domain\strategy\service\raffle\DefaultRaffleStrategy.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap +24-12-03.20:28:00.852 [main ] INFO ConditionEvaluationReportLoggingListener - + +Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled. +24-12-03.20:28:00.884 [main ] ERROR SpringApplication - Application run failed +org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'raffleController': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'defaultRaffleStrategy' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-domain\target\classes\cn\bugstack\domain\strategy\service\raffle\DefaultRaffleStrategy.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap + at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:332) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1431) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:955) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:920) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:731) + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:408) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) + at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:136) + at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:141) + at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:90) + at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:124) + at org.springframework.test.context.web.ServletTestExecutionListener.setUpRequestContextIfNecessary(ServletTestExecutionListener.java:190) + at org.springframework.test.context.web.ServletTestExecutionListener.prepareTestInstance(ServletTestExecutionListener.java:132) + at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:248) + at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:227) + at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:289) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:291) + at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:246) + at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97) + at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) + at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) + at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) + at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70) + at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) + at org.junit.runners.ParentRunner.run(ParentRunner.java:413) + at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190) + at org.junit.runner.JUnitCore.run(JUnitCore.java:137) + at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69) + at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38) + at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11) + at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35) + at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:232) + at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:55) +Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'defaultRaffleStrategy' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-domain\target\classes\cn\bugstack\domain\strategy\service\raffle\DefaultRaffleStrategy.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap + at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:800) + at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:229) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1372) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1222) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) + at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.autowireResource(CommonAnnotationBeanPostProcessor.java:544) + at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.getResource(CommonAnnotationBeanPostProcessor.java:520) + at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$ResourceElement.getResourceToInject(CommonAnnotationBeanPostProcessor.java:673) + at org.springframework.beans.factory.annotation.InjectionMetadata$InjectedElement.inject(InjectionMetadata.java:228) + at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119) + at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:329) + ... 43 common frames omitted +Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap + at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:332) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1431) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) + at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:887) + at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791) + ... 61 common frames omitted +Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireByType(AbstractAutowireCapableBeanFactory.java:1534) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1417) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) + at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.autowireResource(CommonAnnotationBeanPostProcessor.java:544) + at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.getResource(CommonAnnotationBeanPostProcessor.java:520) + at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$ResourceElement.getResourceToInject(CommonAnnotationBeanPostProcessor.java:673) + at org.springframework.beans.factory.annotation.InjectionMetadata$InjectedElement.inject(InjectionMetadata.java:228) + at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119) + at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:329) + ... 73 common frames omitted +Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap + at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:658) + at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:638) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1352) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1195) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireByType(AbstractAutowireCapableBeanFactory.java:1519) + ... 89 common frames omitted +Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap + at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185) + at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) + ... 102 common frames omitted +Caused by: org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap + at org.mybatis.spring.SqlSessionFactoryBean.buildSqlSessionFactory(SqlSessionFactoryBean.java:613) + at org.mybatis.spring.SqlSessionFactoryBean.afterPropertiesSet(SqlSessionFactoryBean.java:491) + at org.mybatis.spring.SqlSessionFactoryBean.getObject(SqlSessionFactoryBean.java:633) + at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration.sqlSessionFactory(MybatisAutoConfiguration.java:179) + at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration$$EnhancerBySpringCGLIB$$8340bd8e.CGLIB$sqlSessionFactory$0() + at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration$$EnhancerBySpringCGLIB$$8340bd8e$$FastClassBySpringCGLIB$$6d994854.invoke() + at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:244) + at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:331) + at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration$$EnhancerBySpringCGLIB$$8340bd8e.sqlSessionFactory() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) + ... 103 common frames omitted +Caused by: org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap + at org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:123) + at org.apache.ibatis.builder.xml.XMLMapperBuilder.parse(XMLMapperBuilder.java:95) + at org.mybatis.spring.SqlSessionFactoryBean.buildSqlSessionFactory(SqlSessionFactoryBean.java:611) + ... 116 common frames omitted +Caused by: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap + at org.apache.ibatis.session.Configuration$StrictMap.put(Configuration.java:1014) + at org.apache.ibatis.session.Configuration$StrictMap.put(Configuration.java:970) + at org.apache.ibatis.session.Configuration.addResultMap(Configuration.java:726) + at org.apache.ibatis.builder.MapperBuilderAssistant.addResultMap(MapperBuilderAssistant.java:209) + at org.apache.ibatis.builder.ResultMapResolver.resolve(ResultMapResolver.java:47) + at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElement(XMLMapperBuilder.java:289) + at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElement(XMLMapperBuilder.java:254) + at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElements(XMLMapperBuilder.java:246) + at org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:119) + ... 118 common frames omitted +24-12-03.20:28:00.887 [main ] ERROR TestContextManager - Caught exception while allowing TestExecutionListener [org.springframework.test.context.web.ServletTestExecutionListener@f79e] to prepare test instance [cn.bugstack.test.domain.activity.RaffleOrderTest@317890ea] +java.lang.IllegalStateException: Failed to load ApplicationContext + at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:98) + at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:124) + at org.springframework.test.context.web.ServletTestExecutionListener.setUpRequestContextIfNecessary(ServletTestExecutionListener.java:190) + at org.springframework.test.context.web.ServletTestExecutionListener.prepareTestInstance(ServletTestExecutionListener.java:132) + at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:248) + at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:227) + at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:289) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:291) + at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:246) + at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97) + at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) + at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) + at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) + at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70) + at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) + at org.junit.runners.ParentRunner.run(ParentRunner.java:413) + at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190) + at org.junit.runner.JUnitCore.run(JUnitCore.java:137) + at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69) + at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38) + at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11) + at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35) + at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:232) + at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:55) +Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'raffleController': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'defaultRaffleStrategy' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-domain\target\classes\cn\bugstack\domain\strategy\service\raffle\DefaultRaffleStrategy.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap + at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:332) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1431) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:955) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:920) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:731) + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:408) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) + at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:136) + at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:141) + at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:90) + ... 27 common frames omitted +Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'defaultRaffleStrategy' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-domain\target\classes\cn\bugstack\domain\strategy\service\raffle\DefaultRaffleStrategy.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap + at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:800) + at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:229) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1372) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1222) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) + at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.autowireResource(CommonAnnotationBeanPostProcessor.java:544) + at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.getResource(CommonAnnotationBeanPostProcessor.java:520) + at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$ResourceElement.getResourceToInject(CommonAnnotationBeanPostProcessor.java:673) + at org.springframework.beans.factory.annotation.InjectionMetadata$InjectedElement.inject(InjectionMetadata.java:228) + at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119) + at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:329) + ... 43 common frames omitted +Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap + at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:332) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1431) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) + at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:887) + at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791) + ... 61 common frames omitted +Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireByType(AbstractAutowireCapableBeanFactory.java:1534) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1417) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) + at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.autowireResource(CommonAnnotationBeanPostProcessor.java:544) + at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.getResource(CommonAnnotationBeanPostProcessor.java:520) + at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$ResourceElement.getResourceToInject(CommonAnnotationBeanPostProcessor.java:673) + at org.springframework.beans.factory.annotation.InjectionMetadata$InjectedElement.inject(InjectionMetadata.java:228) + at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119) + at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:329) + ... 73 common frames omitted +Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap + at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:658) + at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:638) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1352) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1195) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireByType(AbstractAutowireCapableBeanFactory.java:1519) + ... 89 common frames omitted +Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap + at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185) + at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) + ... 102 common frames omitted +Caused by: org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap + at org.mybatis.spring.SqlSessionFactoryBean.buildSqlSessionFactory(SqlSessionFactoryBean.java:613) + at org.mybatis.spring.SqlSessionFactoryBean.afterPropertiesSet(SqlSessionFactoryBean.java:491) + at org.mybatis.spring.SqlSessionFactoryBean.getObject(SqlSessionFactoryBean.java:633) + at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration.sqlSessionFactory(MybatisAutoConfiguration.java:179) + at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration$$EnhancerBySpringCGLIB$$8340bd8e.CGLIB$sqlSessionFactory$0() + at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration$$EnhancerBySpringCGLIB$$8340bd8e$$FastClassBySpringCGLIB$$6d994854.invoke() + at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:244) + at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:331) + at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration$$EnhancerBySpringCGLIB$$8340bd8e.sqlSessionFactory() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) + ... 103 common frames omitted +Caused by: org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap + at org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:123) + at org.apache.ibatis.builder.xml.XMLMapperBuilder.parse(XMLMapperBuilder.java:95) + at org.mybatis.spring.SqlSessionFactoryBean.buildSqlSessionFactory(SqlSessionFactoryBean.java:611) + ... 116 common frames omitted +Caused by: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap + at org.apache.ibatis.session.Configuration$StrictMap.put(Configuration.java:1014) + at org.apache.ibatis.session.Configuration$StrictMap.put(Configuration.java:970) + at org.apache.ibatis.session.Configuration.addResultMap(Configuration.java:726) + at org.apache.ibatis.builder.MapperBuilderAssistant.addResultMap(MapperBuilderAssistant.java:209) + at org.apache.ibatis.builder.ResultMapResolver.resolve(ResultMapResolver.java:47) + at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElement(XMLMapperBuilder.java:289) + at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElement(XMLMapperBuilder.java:254) + at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElements(XMLMapperBuilder.java:246) + at org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:119) + ... 118 common frames omitted +24-12-03.20:31:36.064 [main ] INFO RaffleOrderTest - Starting RaffleOrderTest using Java 1.8.0_412 on zhaoyongfeng with PID 20188 (started by zhaoyongfeng in C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app) +24-12-03.20:31:36.066 [main ] INFO RaffleOrderTest - The following 1 profile is active: "dev" +24-12-03.20:31:37.336 [main ] INFO RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode +24-12-03.20:31:37.340 [main ] INFO RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. +24-12-03.20:31:37.444 [main ] INFO RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 90 ms. Found 0 Redis repository interfaces. +24-12-03.20:31:39.016 [main ] WARN GenericWebApplicationContext - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'raffleController': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'defaultRaffleStrategy' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-domain\target\classes\cn\bugstack\domain\strategy\service\raffle\DefaultRaffleStrategy.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap +24-12-03.20:31:39.028 [main ] INFO ConditionEvaluationReportLoggingListener - + +Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled. +24-12-03.20:31:39.055 [main ] ERROR SpringApplication - Application run failed +org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'raffleController': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'defaultRaffleStrategy' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-domain\target\classes\cn\bugstack\domain\strategy\service\raffle\DefaultRaffleStrategy.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap + at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:332) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1431) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:955) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:920) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:731) + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:408) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) + at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:136) + at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:141) + at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:90) + at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:124) + at org.springframework.test.context.web.ServletTestExecutionListener.setUpRequestContextIfNecessary(ServletTestExecutionListener.java:190) + at org.springframework.test.context.web.ServletTestExecutionListener.prepareTestInstance(ServletTestExecutionListener.java:132) + at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:248) + at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:227) + at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:289) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:291) + at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:246) + at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97) + at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) + at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) + at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) + at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70) + at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) + at org.junit.runners.ParentRunner.run(ParentRunner.java:413) + at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190) + at org.junit.runner.JUnitCore.run(JUnitCore.java:137) + at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69) + at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38) + at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11) + at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35) + at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:232) + at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:55) +Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'defaultRaffleStrategy' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-domain\target\classes\cn\bugstack\domain\strategy\service\raffle\DefaultRaffleStrategy.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap + at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:800) + at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:229) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1372) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1222) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) + at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.autowireResource(CommonAnnotationBeanPostProcessor.java:544) + at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.getResource(CommonAnnotationBeanPostProcessor.java:520) + at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$ResourceElement.getResourceToInject(CommonAnnotationBeanPostProcessor.java:673) + at org.springframework.beans.factory.annotation.InjectionMetadata$InjectedElement.inject(InjectionMetadata.java:228) + at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119) + at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:329) + ... 43 common frames omitted +Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap + at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:332) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1431) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) + at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:887) + at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791) + ... 61 common frames omitted +Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireByType(AbstractAutowireCapableBeanFactory.java:1534) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1417) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) + at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.autowireResource(CommonAnnotationBeanPostProcessor.java:544) + at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.getResource(CommonAnnotationBeanPostProcessor.java:520) + at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$ResourceElement.getResourceToInject(CommonAnnotationBeanPostProcessor.java:673) + at org.springframework.beans.factory.annotation.InjectionMetadata$InjectedElement.inject(InjectionMetadata.java:228) + at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119) + at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:329) + ... 73 common frames omitted +Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap + at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:658) + at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:638) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1352) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1195) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireByType(AbstractAutowireCapableBeanFactory.java:1519) + ... 89 common frames omitted +Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap + at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185) + at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) + ... 102 common frames omitted +Caused by: org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap + at org.mybatis.spring.SqlSessionFactoryBean.buildSqlSessionFactory(SqlSessionFactoryBean.java:613) + at org.mybatis.spring.SqlSessionFactoryBean.afterPropertiesSet(SqlSessionFactoryBean.java:491) + at org.mybatis.spring.SqlSessionFactoryBean.getObject(SqlSessionFactoryBean.java:633) + at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration.sqlSessionFactory(MybatisAutoConfiguration.java:179) + at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration$$EnhancerBySpringCGLIB$$8340bd8e.CGLIB$sqlSessionFactory$1() + at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration$$EnhancerBySpringCGLIB$$8340bd8e$$FastClassBySpringCGLIB$$6d994854.invoke() + at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:244) + at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:331) + at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration$$EnhancerBySpringCGLIB$$8340bd8e.sqlSessionFactory() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) + ... 103 common frames omitted +Caused by: org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap + at org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:123) + at org.apache.ibatis.builder.xml.XMLMapperBuilder.parse(XMLMapperBuilder.java:95) + at org.mybatis.spring.SqlSessionFactoryBean.buildSqlSessionFactory(SqlSessionFactoryBean.java:611) + ... 116 common frames omitted +Caused by: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap + at org.apache.ibatis.session.Configuration$StrictMap.put(Configuration.java:1014) + at org.apache.ibatis.session.Configuration$StrictMap.put(Configuration.java:970) + at org.apache.ibatis.session.Configuration.addResultMap(Configuration.java:726) + at org.apache.ibatis.builder.MapperBuilderAssistant.addResultMap(MapperBuilderAssistant.java:209) + at org.apache.ibatis.builder.ResultMapResolver.resolve(ResultMapResolver.java:47) + at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElement(XMLMapperBuilder.java:289) + at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElement(XMLMapperBuilder.java:254) + at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElements(XMLMapperBuilder.java:246) + at org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:119) + ... 118 common frames omitted +24-12-03.20:31:39.059 [main ] ERROR TestContextManager - Caught exception while allowing TestExecutionListener [org.springframework.test.context.web.ServletTestExecutionListener@f79e] to prepare test instance [cn.bugstack.test.domain.activity.RaffleOrderTest@317890ea] +java.lang.IllegalStateException: Failed to load ApplicationContext + at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:98) + at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:124) + at org.springframework.test.context.web.ServletTestExecutionListener.setUpRequestContextIfNecessary(ServletTestExecutionListener.java:190) + at org.springframework.test.context.web.ServletTestExecutionListener.prepareTestInstance(ServletTestExecutionListener.java:132) + at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:248) + at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:227) + at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:289) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:291) + at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:246) + at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97) + at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) + at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) + at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) + at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70) + at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) + at org.junit.runners.ParentRunner.run(ParentRunner.java:413) + at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190) + at org.junit.runner.JUnitCore.run(JUnitCore.java:137) + at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69) + at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38) + at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11) + at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35) + at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:232) + at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:55) +Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'raffleController': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'defaultRaffleStrategy' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-domain\target\classes\cn\bugstack\domain\strategy\service\raffle\DefaultRaffleStrategy.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap + at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:332) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1431) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:955) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:920) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:731) + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:408) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) + at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:136) + at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:141) + at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:90) + ... 27 common frames omitted +Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'defaultRaffleStrategy' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-domain\target\classes\cn\bugstack\domain\strategy\service\raffle\DefaultRaffleStrategy.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap + at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:800) + at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:229) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1372) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1222) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) + at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.autowireResource(CommonAnnotationBeanPostProcessor.java:544) + at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.getResource(CommonAnnotationBeanPostProcessor.java:520) + at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$ResourceElement.getResourceToInject(CommonAnnotationBeanPostProcessor.java:673) + at org.springframework.beans.factory.annotation.InjectionMetadata$InjectedElement.inject(InjectionMetadata.java:228) + at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119) + at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:329) + ... 43 common frames omitted +Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap + at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:332) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1431) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) + at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:887) + at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791) + ... 61 common frames omitted +Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireByType(AbstractAutowireCapableBeanFactory.java:1534) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1417) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) + at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.autowireResource(CommonAnnotationBeanPostProcessor.java:544) + at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.getResource(CommonAnnotationBeanPostProcessor.java:520) + at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$ResourceElement.getResourceToInject(CommonAnnotationBeanPostProcessor.java:673) + at org.springframework.beans.factory.annotation.InjectionMetadata$InjectedElement.inject(InjectionMetadata.java:228) + at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119) + at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:329) + ... 73 common frames omitted +Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap + at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:658) + at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:638) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1352) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1195) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireByType(AbstractAutowireCapableBeanFactory.java:1519) + ... 89 common frames omitted +Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap + at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185) + at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) + ... 102 common frames omitted +Caused by: org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap + at org.mybatis.spring.SqlSessionFactoryBean.buildSqlSessionFactory(SqlSessionFactoryBean.java:613) + at org.mybatis.spring.SqlSessionFactoryBean.afterPropertiesSet(SqlSessionFactoryBean.java:491) + at org.mybatis.spring.SqlSessionFactoryBean.getObject(SqlSessionFactoryBean.java:633) + at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration.sqlSessionFactory(MybatisAutoConfiguration.java:179) + at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration$$EnhancerBySpringCGLIB$$8340bd8e.CGLIB$sqlSessionFactory$1() + at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration$$EnhancerBySpringCGLIB$$8340bd8e$$FastClassBySpringCGLIB$$6d994854.invoke() + at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:244) + at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:331) + at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration$$EnhancerBySpringCGLIB$$8340bd8e.sqlSessionFactory() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) + ... 103 common frames omitted +Caused by: org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap + at org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:123) + at org.apache.ibatis.builder.xml.XMLMapperBuilder.parse(XMLMapperBuilder.java:95) + at org.mybatis.spring.SqlSessionFactoryBean.buildSqlSessionFactory(SqlSessionFactoryBean.java:611) + ... 116 common frames omitted +Caused by: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap + at org.apache.ibatis.session.Configuration$StrictMap.put(Configuration.java:1014) + at org.apache.ibatis.session.Configuration$StrictMap.put(Configuration.java:970) + at org.apache.ibatis.session.Configuration.addResultMap(Configuration.java:726) + at org.apache.ibatis.builder.MapperBuilderAssistant.addResultMap(MapperBuilderAssistant.java:209) + at org.apache.ibatis.builder.ResultMapResolver.resolve(ResultMapResolver.java:47) + at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElement(XMLMapperBuilder.java:289) + at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElement(XMLMapperBuilder.java:254) + at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElements(XMLMapperBuilder.java:246) + at org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:119) + ... 118 common frames omitted +24-12-03.20:34:33.796 [main ] INFO RaffleOrderTest - Starting RaffleOrderTest using Java 1.8.0_412 on zhaoyongfeng with PID 7076 (started by zhaoyongfeng in C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app) +24-12-03.20:34:33.797 [main ] INFO RaffleOrderTest - The following 1 profile is active: "dev" +24-12-03.20:34:35.107 [main ] INFO RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode +24-12-03.20:34:35.111 [main ] INFO RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. +24-12-03.20:34:35.218 [main ] INFO RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 88 ms. Found 0 Redis repository interfaces. +24-12-03.20:34:38.322 [main ] INFO Version - Redisson 3.23.4 +24-12-03.20:34:39.858 [redisson-netty-2-4] INFO MasterPubSubConnectionPool - 1 connections initialized for 127.0.0.1/127.0.0.1:16379 +24-12-03.20:34:39.870 [redisson-netty-2-13] INFO MasterConnectionPool - 5 connections initialized for 127.0.0.1/127.0.0.1:16379 +24-12-03.20:34:43.233 [main ] INFO EndpointLinksResolver - Exposing 1 endpoint(s) beneath base path '/actuator' +24-12-03.20:34:43.372 [main ] INFO CachingConnectionFactory - Attempting to connect to: [127.0.0.1:5672] +24-12-03.20:34:43.478 [main ] INFO CachingConnectionFactory - Created new connection: rabbitConnectionFactory#b75b890:0/SimpleConnection@7612116b [delegate=amqp://admin@127.0.0.1:5672/, localPort= 49638] +24-12-03.20:34:43.575 [main ] INFO RaffleOrderTest - Started RaffleOrderTest in 10.372 seconds (JVM running for 11.619) +24-12-03.20:34:43.929 [main ] INFO HikariDataSource - Retail_HikariCP - Starting... +24-12-03.20:34:44.185 [main ] INFO HikariDataSource - Retail_HikariCP - Start completed. +24-12-03.20:34:44.332 [main ] INFO RaffleOrderTest - 装配活动:true +24-12-03.20:34:44.353 [main ] INFO ActivityBaseActionChain - 活动责任链-基础信息【有效期、状态、库存(sku)】校验开始。sku:9011 activityId:100301 +24-12-03.20:34:44.354 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】开始。sku:9011 activityId:100301 +24-12-03.20:34:44.358 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】成功。sku:9011 activityId:100301 +24-12-03.20:34:44.392 [main ] INFO HikariDataSource - Retail_HikariCP - Starting... +24-12-03.20:34:44.410 [main ] INFO HikariDataSource - Retail_HikariCP - Start completed. +24-12-03.20:34:44.500 [main ] ERROR ActivityRepository - 写入订单记录,唯一索引冲突 userId: xiaofuge activityId: 100301 sku: 9011 +org.springframework.dao.DuplicateKeyException: +### Error updating database. Cause: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '700091009111' for key 'raffle_activity_order_001.uq_out_business_no' +### The error may exist in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_order_mapper.xml] +### The error may involve cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.insert-Inline +### The error occurred while setting parameters +### SQL: insert into raffle_activity_order_001 (user_id, sku, activity_id, activity_name, strategy_id, order_id, order_time, state, out_business_no, total_count, day_count, month_count, create_time, update_time) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, now(), now()) +### Cause: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '700091009111' for key 'raffle_activity_order_001.uq_out_business_no' +; Duplicate entry '700091009111' for key 'raffle_activity_order_001.uq_out_business_no'; nested exception is java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '700091009111' for key 'raffle_activity_order_001.uq_out_business_no' + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:247) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:70) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:91) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:441) + at com.sun.proxy.$Proxy107.insert(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.insert(SqlSessionTemplate.java:272) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:62) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:152) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:85) + at com.sun.proxy.$Proxy120.insert(Unknown Source) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344) + at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89) + at cn.bugstack.middleware.db.router.DBRouterJoinPoint.doRouter(DBRouterJoinPoint.java:65) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:220) + at com.sun.proxy.$Proxy121.insert(Unknown Source) + at cn.bugstack.infrastructure.persistent.repository.ActivityRepository.lambda$doSaveOrder$0(ActivityRepository.java:155) + at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140) + at cn.bugstack.infrastructure.persistent.repository.ActivityRepository.doSaveOrder(ActivityRepository.java:152) + at cn.bugstack.infrastructure.persistent.repository.ActivityRepository$$FastClassBySpringCGLIB$$5fc4459a.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:793) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) + at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:708) + at cn.bugstack.infrastructure.persistent.repository.ActivityRepository$$EnhancerBySpringCGLIB$$1783fa1d.doSaveOrder() + at cn.bugstack.domain.activity.service.quota.RaffleActivityAccountQuotaService.doSaveOrder(RaffleActivityService.java:58) + at cn.bugstack.domain.activity.service.quota.AbstractRaffleActivityAccountQuota.createSkuRechargeOrder(AbstractRaffleActivity.java:51) + at cn.bugstack.test.domain.activity.RaffleOrderTest.test_createSkuRechargeOrder_duplicate(RaffleOrderTest.java:45) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.springframework.test.context.junit4.statements.RunBeforeTestExecutionCallbacks.evaluate(RunBeforeTestExecutionCallbacks.java:74) + at org.springframework.test.context.junit4.statements.RunAfterTestExecutionCallbacks.evaluate(RunAfterTestExecutionCallbacks.java:84) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75) + at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86) + at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) + at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:251) + at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97) + at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) + at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) + at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) + at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70) + at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) + at org.junit.runners.ParentRunner.run(ParentRunner.java:413) + at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190) + at org.junit.runner.JUnitCore.run(JUnitCore.java:137) + at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69) + at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38) + at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11) + at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35) + at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:232) + at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:55) +Caused by: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '700091009111' for key 'raffle_activity_order_001.uq_out_business_no' + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:117) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:953) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:370) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.update(PreparedStatementHandler.java:47) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.update(RoutingStatementHandler.java:74) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:63) + at com.sun.proxy.$Proxy194.update(Unknown Source) + at org.apache.ibatis.executor.SimpleExecutor.doUpdate(SimpleExecutor.java:50) + at org.apache.ibatis.executor.BaseExecutor.update(BaseExecutor.java:117) + at org.apache.ibatis.executor.CachingExecutor.update(CachingExecutor.java:76) + at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:197) + at org.apache.ibatis.session.defaults.DefaultSqlSession.insert(DefaultSqlSession.java:184) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:427) + ... 77 common frames omitted +24-12-03.20:34:44.529 [org.springframework.amqp.rabbit.RabbitListenerEndpointContainer#0-2] INFO SimpleMessageListenerContainer - Waiting for workers to finish. +24-12-03.20:34:44.560 [org.springframework.amqp.rabbit.RabbitListenerEndpointContainer#0-2] INFO SimpleMessageListenerContainer - Successfully waited for workers to finish. +24-12-03.20:34:44.562 [SpringApplicationShutdownHook] INFO SimpleMessageListenerContainer - Shutdown ignored - container is already stopped +24-12-03.20:37:24.223 [main ] INFO RaffleOrderTest - Starting RaffleOrderTest using Java 1.8.0_412 on zhaoyongfeng with PID 22752 (started by zhaoyongfeng in C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app) +24-12-03.20:37:24.225 [main ] INFO RaffleOrderTest - The following 1 profile is active: "dev" +24-12-03.20:37:25.694 [main ] INFO RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode +24-12-03.20:37:25.698 [main ] INFO RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. +24-12-03.20:37:25.816 [main ] INFO RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 102 ms. Found 0 Redis repository interfaces. +24-12-03.20:37:28.834 [main ] INFO Version - Redisson 3.23.4 +24-12-03.20:37:30.378 [redisson-netty-2-5] INFO MasterPubSubConnectionPool - 1 connections initialized for 127.0.0.1/127.0.0.1:16379 +24-12-03.20:37:30.392 [redisson-netty-2-13] INFO MasterConnectionPool - 5 connections initialized for 127.0.0.1/127.0.0.1:16379 +24-12-03.20:37:33.635 [main ] INFO EndpointLinksResolver - Exposing 1 endpoint(s) beneath base path '/actuator' +24-12-03.20:37:33.794 [main ] INFO CachingConnectionFactory - Attempting to connect to: [127.0.0.1:5672] +24-12-03.20:37:33.881 [main ] INFO CachingConnectionFactory - Created new connection: rabbitConnectionFactory#b75b890:0/SimpleConnection@562f6681 [delegate=amqp://admin@127.0.0.1:5672/, localPort= 50127] +24-12-03.20:37:33.949 [main ] INFO RaffleOrderTest - Started RaffleOrderTest in 10.285 seconds (JVM running for 11.52) +24-12-03.20:37:34.251 [main ] INFO HikariDataSource - Retail_HikariCP - Starting... +24-12-03.20:37:34.502 [main ] INFO HikariDataSource - Retail_HikariCP - Start completed. +24-12-03.20:37:34.609 [main ] INFO RaffleOrderTest - 装配活动:true +24-12-03.20:37:34.620 [main ] INFO ActivityBaseActionChain - 活动责任链-基础信息【有效期、状态、库存(sku)】校验开始。sku:9011 activityId:100301 +24-12-03.20:37:34.620 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】开始。sku:9011 activityId:100301 +24-12-03.20:37:34.628 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】成功。sku:9011 activityId:100301 +24-12-03.20:37:34.658 [main ] INFO HikariDataSource - Retail_HikariCP - Starting... +24-12-03.20:37:34.675 [main ] INFO HikariDataSource - Retail_HikariCP - Start completed. +24-12-03.20:37:34.770 [main ] ERROR ActivityRepository - 写入订单记录,唯一索引冲突 userId: xiaofuge activityId: 100301 sku: 9011 +org.springframework.dao.DuplicateKeyException: +### Error updating database. Cause: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '700091009111' for key 'raffle_activity_order_001.uq_out_business_no' +### The error may exist in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_order_mapper.xml] +### The error may involve cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.insert-Inline +### The error occurred while setting parameters +### SQL: insert into raffle_activity_order_001 (user_id, sku, activity_id, activity_name, strategy_id, order_id, order_time, state, out_business_no, total_count, day_count, month_count, create_time, update_time) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, now(), now()) +### Cause: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '700091009111' for key 'raffle_activity_order_001.uq_out_business_no' +; Duplicate entry '700091009111' for key 'raffle_activity_order_001.uq_out_business_no'; nested exception is java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '700091009111' for key 'raffle_activity_order_001.uq_out_business_no' + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:247) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:70) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:91) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:441) + at com.sun.proxy.$Proxy107.insert(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.insert(SqlSessionTemplate.java:272) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:62) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:152) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:85) + at com.sun.proxy.$Proxy120.insert(Unknown Source) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344) + at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89) + at cn.bugstack.middleware.db.router.DBRouterJoinPoint.doRouter(DBRouterJoinPoint.java:65) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:220) + at com.sun.proxy.$Proxy121.insert(Unknown Source) + at cn.bugstack.infrastructure.persistent.repository.ActivityRepository.lambda$doSaveOrder$0(ActivityRepository.java:155) + at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140) + at cn.bugstack.infrastructure.persistent.repository.ActivityRepository.doSaveOrder(ActivityRepository.java:152) + at cn.bugstack.infrastructure.persistent.repository.ActivityRepository$$FastClassBySpringCGLIB$$5fc4459a.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:793) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) + at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:708) + at cn.bugstack.infrastructure.persistent.repository.ActivityRepository$$EnhancerBySpringCGLIB$$1783fa1d.doSaveOrder() + at cn.bugstack.domain.activity.service.quota.RaffleActivityAccountQuotaService.doSaveOrder(RaffleActivityService.java:58) + at cn.bugstack.domain.activity.service.quota.AbstractRaffleActivityAccountQuota.createSkuRechargeOrder(AbstractRaffleActivity.java:51) + at cn.bugstack.test.domain.activity.RaffleOrderTest.test_createSkuRechargeOrder_duplicate(RaffleOrderTest.java:45) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.springframework.test.context.junit4.statements.RunBeforeTestExecutionCallbacks.evaluate(RunBeforeTestExecutionCallbacks.java:74) + at org.springframework.test.context.junit4.statements.RunAfterTestExecutionCallbacks.evaluate(RunAfterTestExecutionCallbacks.java:84) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75) + at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86) + at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) + at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:251) + at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97) + at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) + at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) + at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) + at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70) + at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) + at org.junit.runners.ParentRunner.run(ParentRunner.java:413) + at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190) + at org.junit.runner.JUnitCore.run(JUnitCore.java:137) + at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69) + at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38) + at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11) + at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35) + at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:232) + at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:55) +Caused by: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '700091009111' for key 'raffle_activity_order_001.uq_out_business_no' + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:117) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:953) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:370) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.update(PreparedStatementHandler.java:47) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.update(RoutingStatementHandler.java:74) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:63) + at com.sun.proxy.$Proxy194.update(Unknown Source) + at org.apache.ibatis.executor.SimpleExecutor.doUpdate(SimpleExecutor.java:50) + at org.apache.ibatis.executor.BaseExecutor.update(BaseExecutor.java:117) + at org.apache.ibatis.executor.CachingExecutor.update(CachingExecutor.java:76) + at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:197) + at org.apache.ibatis.session.defaults.DefaultSqlSession.insert(DefaultSqlSession.java:184) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:427) + ... 77 common frames omitted +24-12-03.20:37:34.804 [org.springframework.amqp.rabbit.RabbitListenerEndpointContainer#0-2] INFO SimpleMessageListenerContainer - Waiting for workers to finish. +24-12-03.20:37:34.944 [org.springframework.amqp.rabbit.RabbitListenerEndpointContainer#0-2] INFO SimpleMessageListenerContainer - Successfully waited for workers to finish. +24-12-03.20:37:34.946 [SpringApplicationShutdownHook] INFO SimpleMessageListenerContainer - Shutdown ignored - container is already stopped +24-12-03.20:38:09.189 [main ] INFO RaffleOrderTest - Starting RaffleOrderTest using Java 1.8.0_412 on zhaoyongfeng with PID 10316 (started by zhaoyongfeng in C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app) +24-12-03.20:38:09.191 [main ] INFO RaffleOrderTest - The following 1 profile is active: "dev" +24-12-03.20:38:10.519 [main ] INFO RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode +24-12-03.20:38:10.523 [main ] INFO RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. +24-12-03.20:38:10.630 [main ] INFO RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 89 ms. Found 0 Redis repository interfaces. +24-12-03.20:38:14.112 [main ] INFO Version - Redisson 3.23.4 +24-12-03.20:38:15.737 [redisson-netty-2-5] INFO MasterPubSubConnectionPool - 1 connections initialized for 127.0.0.1/127.0.0.1:16379 +24-12-03.20:38:15.750 [redisson-netty-2-13] INFO MasterConnectionPool - 5 connections initialized for 127.0.0.1/127.0.0.1:16379 +24-12-03.20:38:19.600 [main ] INFO EndpointLinksResolver - Exposing 1 endpoint(s) beneath base path '/actuator' +24-12-03.20:38:19.741 [main ] INFO CachingConnectionFactory - Attempting to connect to: [127.0.0.1:5672] +24-12-03.20:38:19.838 [main ] INFO CachingConnectionFactory - Created new connection: rabbitConnectionFactory#b75b890:0/SimpleConnection@7612116b [delegate=amqp://admin@127.0.0.1:5672/, localPort= 50312] +24-12-03.20:38:19.912 [main ] INFO RaffleOrderTest - Started RaffleOrderTest in 11.332 seconds (JVM running for 12.625) +24-12-03.20:38:20.001 [scheduling-1 ] INFO UpdateActivitySkuStockJob - 定时任务,更新活动sku库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-03.20:38:20.110 [scheduling-1 ] INFO UpdateActivitySkuStockJob - 定时任务,更新活动sku库存 sku:9011 activityId:100301 +24-12-03.20:38:20.139 [scheduling-1 ] INFO HikariDataSource - Retail_HikariCP - Starting... +24-12-03.20:38:20.435 [scheduling-1 ] INFO HikariDataSource - Retail_HikariCP - Start completed. +24-12-03.20:38:20.472 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-03.20:38:20.506 [main ] INFO RaffleOrderTest - 装配活动:true +24-12-03.20:38:20.517 [main ] INFO ActivityBaseActionChain - 活动责任链-基础信息【有效期、状态、库存(sku)】校验开始。sku:9011 activityId:100301 +24-12-03.20:38:20.517 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】开始。sku:9011 activityId:100301 +24-12-03.20:38:20.526 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】成功。sku:9011 activityId:100301 +24-12-03.20:38:20.558 [main ] INFO HikariDataSource - Retail_HikariCP - Starting... +24-12-03.20:38:20.579 [main ] INFO HikariDataSource - Retail_HikariCP - Start completed. +24-12-03.20:38:20.668 [main ] ERROR ActivityRepository - 写入订单记录,唯一索引冲突 userId: xiaofuge activityId: 100301 sku: 9011 +org.springframework.dao.DuplicateKeyException: +### Error updating database. Cause: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '700091009111' for key 'raffle_activity_order_001.uq_out_business_no' +### The error may exist in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_order_mapper.xml] +### The error may involve cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.insert-Inline +### The error occurred while setting parameters +### SQL: insert into raffle_activity_order_001 (user_id, sku, activity_id, activity_name, strategy_id, order_id, order_time, state, out_business_no, total_count, day_count, month_count, create_time, update_time) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, now(), now()) +### Cause: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '700091009111' for key 'raffle_activity_order_001.uq_out_business_no' +; Duplicate entry '700091009111' for key 'raffle_activity_order_001.uq_out_business_no'; nested exception is java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '700091009111' for key 'raffle_activity_order_001.uq_out_business_no' + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:247) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:70) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:91) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:441) + at com.sun.proxy.$Proxy107.insert(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.insert(SqlSessionTemplate.java:272) + at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:62) + at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:152) + at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:85) + at com.sun.proxy.$Proxy120.insert(Unknown Source) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344) + at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89) + at cn.bugstack.middleware.db.router.DBRouterJoinPoint.doRouter(DBRouterJoinPoint.java:65) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:220) + at com.sun.proxy.$Proxy121.insert(Unknown Source) + at cn.bugstack.infrastructure.persistent.repository.ActivityRepository.lambda$doSaveOrder$0(ActivityRepository.java:155) + at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140) + at cn.bugstack.infrastructure.persistent.repository.ActivityRepository.doSaveOrder(ActivityRepository.java:152) + at cn.bugstack.infrastructure.persistent.repository.ActivityRepository$$FastClassBySpringCGLIB$$5fc4459a.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:793) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) + at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:708) + at cn.bugstack.infrastructure.persistent.repository.ActivityRepository$$EnhancerBySpringCGLIB$$1783fa1d.doSaveOrder() + at cn.bugstack.domain.activity.service.quota.RaffleActivityAccountQuotaService.doSaveOrder(RaffleActivityService.java:58) + at cn.bugstack.domain.activity.service.quota.AbstractRaffleActivityAccountQuota.createSkuRechargeOrder(AbstractRaffleActivity.java:51) + at cn.bugstack.test.domain.activity.RaffleOrderTest.test_createSkuRechargeOrder_duplicate(RaffleOrderTest.java:45) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.springframework.test.context.junit4.statements.RunBeforeTestExecutionCallbacks.evaluate(RunBeforeTestExecutionCallbacks.java:74) + at org.springframework.test.context.junit4.statements.RunAfterTestExecutionCallbacks.evaluate(RunAfterTestExecutionCallbacks.java:84) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75) + at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86) + at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) + at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:251) + at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97) + at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) + at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) + at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) + at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70) + at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) + at org.junit.runners.ParentRunner.run(ParentRunner.java:413) + at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190) + at org.junit.runner.JUnitCore.run(JUnitCore.java:137) + at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69) + at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38) + at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11) + at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35) + at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:232) + at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:55) +Caused by: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '700091009111' for key 'raffle_activity_order_001.uq_out_business_no' + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:117) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:953) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:370) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.update(PreparedStatementHandler.java:47) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.update(RoutingStatementHandler.java:74) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:63) + at com.sun.proxy.$Proxy180.update(Unknown Source) + at org.apache.ibatis.executor.SimpleExecutor.doUpdate(SimpleExecutor.java:50) + at org.apache.ibatis.executor.BaseExecutor.update(BaseExecutor.java:117) + at org.apache.ibatis.executor.CachingExecutor.update(CachingExecutor.java:76) + at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:197) + at org.apache.ibatis.session.defaults.DefaultSqlSession.insert(DefaultSqlSession.java:184) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:427) + ... 77 common frames omitted +24-12-03.20:38:20.709 [org.springframework.amqp.rabbit.RabbitListenerEndpointContainer#0-2] INFO SimpleMessageListenerContainer - Waiting for workers to finish. +24-12-03.20:38:20.906 [org.springframework.amqp.rabbit.RabbitListenerEndpointContainer#0-2] INFO SimpleMessageListenerContainer - Successfully waited for workers to finish. +24-12-03.20:38:20.910 [SpringApplicationShutdownHook] INFO SimpleMessageListenerContainer - Shutdown ignored - container is already stopped +24-12-03.20:39:08.674 [main ] INFO RaffleOrderTest - Starting RaffleOrderTest using Java 1.8.0_412 on zhaoyongfeng with PID 20104 (started by zhaoyongfeng in C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app) +24-12-03.20:39:08.675 [main ] INFO RaffleOrderTest - The following 1 profile is active: "dev" +24-12-03.20:39:10.004 [main ] INFO RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode +24-12-03.20:39:10.008 [main ] INFO RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. +24-12-03.20:39:10.136 [main ] INFO RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 106 ms. Found 0 Redis repository interfaces. +24-12-03.20:39:13.443 [main ] INFO Version - Redisson 3.23.4 +24-12-03.20:39:15.079 [redisson-netty-2-4] INFO MasterPubSubConnectionPool - 1 connections initialized for 127.0.0.1/127.0.0.1:16379 +24-12-03.20:39:15.092 [redisson-netty-2-13] INFO MasterConnectionPool - 5 connections initialized for 127.0.0.1/127.0.0.1:16379 +24-12-03.20:39:18.761 [main ] INFO EndpointLinksResolver - Exposing 1 endpoint(s) beneath base path '/actuator' +24-12-03.20:39:18.885 [main ] INFO CachingConnectionFactory - Attempting to connect to: [127.0.0.1:5672] +24-12-03.20:39:18.985 [main ] INFO CachingConnectionFactory - Created new connection: rabbitConnectionFactory#b75b890:0/SimpleConnection@7612116b [delegate=amqp://admin@127.0.0.1:5672/, localPort= 50539] +24-12-03.20:39:19.062 [main ] INFO RaffleOrderTest - Started RaffleOrderTest in 10.905 seconds (JVM running for 12.091) +24-12-03.20:39:19.379 [main ] INFO HikariDataSource - Retail_HikariCP - Starting... +24-12-03.20:39:19.625 [main ] INFO HikariDataSource - Retail_HikariCP - Start completed. +24-12-03.20:39:19.736 [main ] INFO RaffleOrderTest - 装配活动:true +24-12-03.20:39:19.747 [main ] INFO ActivityBaseActionChain - 活动责任链-基础信息【有效期、状态、库存(sku)】校验开始。sku:9011 activityId:100301 +24-12-03.20:39:19.748 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】开始。sku:9011 activityId:100301 +24-12-03.20:39:19.756 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】成功。sku:9011 activityId:100301 +24-12-03.20:39:19.792 [main ] INFO HikariDataSource - Retail_HikariCP - Starting... +24-12-03.20:39:19.810 [main ] INFO HikariDataSource - Retail_HikariCP - Start completed. +24-12-03.20:39:19.841 [main ] INFO RaffleOrderTest - 测试结果:491017729785 +24-12-03.20:39:19.860 [org.springframework.amqp.rabbit.RabbitListenerEndpointContainer#0-2] INFO SimpleMessageListenerContainer - Waiting for workers to finish. +24-12-03.20:39:20.003 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-03.20:39:20.010 [scheduling-1 ] INFO UpdateActivitySkuStockJob - 定时任务,更新活动sku库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-03.20:39:20.012 [scheduling-1 ] INFO UpdateActivitySkuStockJob - 定时任务,更新活动sku库存 sku:9011 activityId:100301 +24-12-03.20:39:20.047 [org.springframework.amqp.rabbit.RabbitListenerEndpointContainer#0-2] INFO SimpleMessageListenerContainer - Successfully waited for workers to finish. +24-12-03.20:39:20.050 [SpringApplicationShutdownHook] INFO SimpleMessageListenerContainer - Shutdown ignored - container is already stopped +24-12-03.20:40:09.760 [main ] INFO RaffleOrderTest - Starting RaffleOrderTest using Java 1.8.0_412 on zhaoyongfeng with PID 9316 (started by zhaoyongfeng in C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app) +24-12-03.20:40:09.761 [main ] INFO RaffleOrderTest - The following 1 profile is active: "dev" +24-12-03.20:40:11.100 [main ] INFO RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode +24-12-03.20:40:11.105 [main ] INFO RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. +24-12-03.20:40:11.211 [main ] INFO RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 87 ms. Found 0 Redis repository interfaces. +24-12-03.20:40:14.293 [main ] INFO Version - Redisson 3.23.4 +24-12-03.20:40:15.815 [redisson-netty-2-4] INFO MasterPubSubConnectionPool - 1 connections initialized for 127.0.0.1/127.0.0.1:16379 +24-12-03.20:40:15.835 [redisson-netty-2-13] INFO MasterConnectionPool - 5 connections initialized for 127.0.0.1/127.0.0.1:16379 +24-12-03.20:40:19.284 [main ] INFO EndpointLinksResolver - Exposing 1 endpoint(s) beneath base path '/actuator' +24-12-03.20:40:19.409 [main ] INFO CachingConnectionFactory - Attempting to connect to: [127.0.0.1:5672] +24-12-03.20:40:19.498 [main ] INFO CachingConnectionFactory - Created new connection: rabbitConnectionFactory#b75b890:0/SimpleConnection@7612116b [delegate=amqp://admin@127.0.0.1:5672/, localPort= 50748] +24-12-03.20:40:19.570 [main ] INFO RaffleOrderTest - Started RaffleOrderTest in 10.421 seconds (JVM running for 11.621) +24-12-03.20:40:19.900 [main ] INFO HikariDataSource - Retail_HikariCP - Starting... +24-12-03.20:40:20.013 [scheduling-1 ] INFO UpdateActivitySkuStockJob - 定时任务,更新活动sku库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-03.20:40:20.096 [scheduling-1 ] INFO UpdateActivitySkuStockJob - 定时任务,更新活动sku库存 sku:9011 activityId:100301 +24-12-03.20:40:20.178 [main ] INFO HikariDataSource - Retail_HikariCP - Start completed. +24-12-03.20:40:20.214 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-03.20:40:20.226 [main ] INFO RaffleOrderTest - 装配活动:true +24-12-03.20:40:20.237 [main ] INFO ActivityBaseActionChain - 活动责任链-基础信息【有效期、状态、库存(sku)】校验开始。sku:9011 activityId:100301 +24-12-03.20:40:20.237 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】开始。sku:9011 activityId:100301 +24-12-03.20:40:20.245 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】成功。sku:9011 activityId:100301 +24-12-03.20:40:20.273 [main ] INFO HikariDataSource - Retail_HikariCP - Starting... +24-12-03.20:40:20.294 [main ] INFO HikariDataSource - Retail_HikariCP - Start completed. +24-12-03.20:40:20.324 [main ] INFO RaffleOrderTest - 测试结果:553918098949 +24-12-03.20:40:20.329 [main ] INFO ActivityBaseActionChain - 活动责任链-基础信息【有效期、状态、库存(sku)】校验开始。sku:9011 activityId:100301 +24-12-03.20:40:20.329 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】开始。sku:9011 activityId:100301 +24-12-03.20:40:20.332 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】成功。sku:9011 activityId:100301 +24-12-03.20:40:20.344 [main ] INFO RaffleOrderTest - 测试结果:729261037363 +24-12-03.20:40:20.349 [main ] INFO ActivityBaseActionChain - 活动责任链-基础信息【有效期、状态、库存(sku)】校验开始。sku:9011 activityId:100301 +24-12-03.20:40:20.350 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】开始。sku:9011 activityId:100301 +24-12-03.20:40:20.353 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】成功。sku:9011 activityId:100301 +24-12-03.20:40:20.366 [main ] INFO RaffleOrderTest - 测试结果:710551265329 +24-12-03.20:40:20.372 [main ] INFO ActivityBaseActionChain - 活动责任链-基础信息【有效期、状态、库存(sku)】校验开始。sku:9011 activityId:100301 +24-12-03.20:40:20.372 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】开始。sku:9011 activityId:100301 +24-12-03.20:40:20.375 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】成功。sku:9011 activityId:100301 +24-12-03.20:40:20.388 [main ] INFO RaffleOrderTest - 测试结果:828099617780 +24-12-03.20:40:20.396 [main ] INFO ActivityBaseActionChain - 活动责任链-基础信息【有效期、状态、库存(sku)】校验开始。sku:9011 activityId:100301 +24-12-03.20:40:20.396 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】开始。sku:9011 activityId:100301 +24-12-03.20:40:20.399 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】成功。sku:9011 activityId:100301 +24-12-03.20:40:20.417 [main ] INFO RaffleOrderTest - 测试结果:705851076122 +24-12-03.20:40:20.425 [main ] INFO ActivityBaseActionChain - 活动责任链-基础信息【有效期、状态、库存(sku)】校验开始。sku:9011 activityId:100301 +24-12-03.20:40:20.425 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】开始。sku:9011 activityId:100301 +24-12-03.20:40:20.427 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】成功。sku:9011 activityId:100301 +24-12-03.20:40:20.445 [main ] INFO RaffleOrderTest - 测试结果:367811407090 +24-12-03.20:40:20.452 [main ] INFO ActivityBaseActionChain - 活动责任链-基础信息【有效期、状态、库存(sku)】校验开始。sku:9011 activityId:100301 +24-12-03.20:40:20.452 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】开始。sku:9011 activityId:100301 +24-12-03.20:40:20.456 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】成功。sku:9011 activityId:100301 +24-12-03.20:40:20.471 [main ] INFO RaffleOrderTest - 测试结果:638245356457 +24-12-03.20:40:20.478 [main ] INFO ActivityBaseActionChain - 活动责任链-基础信息【有效期、状态、库存(sku)】校验开始。sku:9011 activityId:100301 +24-12-03.20:40:20.478 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】开始。sku:9011 activityId:100301 +24-12-03.20:40:20.481 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】成功。sku:9011 activityId:100301 +24-12-03.20:40:20.496 [main ] INFO RaffleOrderTest - 测试结果:571880237703 +24-12-03.20:40:20.501 [main ] INFO ActivityBaseActionChain - 活动责任链-基础信息【有效期、状态、库存(sku)】校验开始。sku:9011 activityId:100301 +24-12-03.20:40:20.501 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】开始。sku:9011 activityId:100301 +24-12-03.20:40:20.503 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】成功。sku:9011 activityId:100301 +24-12-03.20:40:20.515 [main ] INFO RaffleOrderTest - 测试结果:506659733371 +24-12-03.20:40:20.521 [main ] INFO ActivityBaseActionChain - 活动责任链-基础信息【有效期、状态、库存(sku)】校验开始。sku:9011 activityId:100301 +24-12-03.20:40:20.521 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】开始。sku:9011 activityId:100301 +24-12-03.20:40:20.523 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】成功。sku:9011 activityId:100301 +24-12-03.20:40:20.535 [main ] INFO RaffleOrderTest - 测试结果:538794326671 +24-12-03.20:40:20.540 [main ] INFO ActivityBaseActionChain - 活动责任链-基础信息【有效期、状态、库存(sku)】校验开始。sku:9011 activityId:100301 +24-12-03.20:40:20.540 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】开始。sku:9011 activityId:100301 +24-12-03.20:40:20.542 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】成功。sku:9011 activityId:100301 +24-12-03.20:40:20.554 [main ] INFO RaffleOrderTest - 测试结果:552172812645 +24-12-03.20:40:20.558 [main ] INFO ActivityBaseActionChain - 活动责任链-基础信息【有效期、状态、库存(sku)】校验开始。sku:9011 activityId:100301 +24-12-03.20:40:20.558 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】开始。sku:9011 activityId:100301 +24-12-03.20:40:20.561 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】成功。sku:9011 activityId:100301 +24-12-03.20:40:20.574 [main ] INFO RaffleOrderTest - 测试结果:879986422151 +24-12-03.20:40:20.580 [main ] INFO ActivityBaseActionChain - 活动责任链-基础信息【有效期、状态、库存(sku)】校验开始。sku:9011 activityId:100301 +24-12-03.20:40:20.580 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】开始。sku:9011 activityId:100301 +24-12-03.20:40:20.583 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】成功。sku:9011 activityId:100301 +24-12-03.20:40:20.596 [main ] INFO RaffleOrderTest - 测试结果:969856286711 +24-12-03.20:40:20.603 [main ] INFO ActivityBaseActionChain - 活动责任链-基础信息【有效期、状态、库存(sku)】校验开始。sku:9011 activityId:100301 +24-12-03.20:40:20.603 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】开始。sku:9011 activityId:100301 +24-12-03.20:40:20.606 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】成功。sku:9011 activityId:100301 +24-12-03.20:40:20.619 [main ] INFO RaffleOrderTest - 测试结果:756489187748 +24-12-03.20:40:20.627 [main ] INFO ActivityBaseActionChain - 活动责任链-基础信息【有效期、状态、库存(sku)】校验开始。sku:9011 activityId:100301 +24-12-03.20:40:20.627 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】开始。sku:9011 activityId:100301 +24-12-03.20:40:20.630 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】成功。sku:9011 activityId:100301 +24-12-03.20:40:20.644 [main ] INFO RaffleOrderTest - 测试结果:148326558620 +24-12-03.20:40:20.650 [main ] INFO ActivityBaseActionChain - 活动责任链-基础信息【有效期、状态、库存(sku)】校验开始。sku:9011 activityId:100301 +24-12-03.20:40:20.650 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】开始。sku:9011 activityId:100301 +24-12-03.20:40:20.861 [main ] INFO EventPublisher - 发送MQ消息 topic:activity_sku_stock_zero message:{"data":9011,"id":"23194561630","timestamp":1733229620653} +24-12-03.20:40:20.863 [main ] WARN RaffleOrderTest - 活动库存不足 +24-12-03.20:40:20.870 [main ] INFO ActivityBaseActionChain - 活动责任链-基础信息【有效期、状态、库存(sku)】校验开始。sku:9011 activityId:100301 +24-12-03.20:40:20.871 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】开始。sku:9011 activityId:100301 +24-12-03.20:40:20.873 [main ] WARN RaffleOrderTest - 活动库存不足 +24-12-03.20:40:20.877 [org.springframework.amqp.rabbit.RabbitListenerEndpointContainer#0-1] INFO ActivitySkuStockZeroCustomer - 监听活动sku库存消耗为0消息 topic: activity_sku_stock_zero message: {"data":9011,"id":"23194561630","timestamp":1733229620653} +24-12-03.20:40:20.881 [main ] INFO ActivityBaseActionChain - 活动责任链-基础信息【有效期、状态、库存(sku)】校验开始。sku:9011 activityId:100301 +24-12-03.20:40:20.881 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】开始。sku:9011 activityId:100301 +24-12-03.20:40:20.884 [main ] WARN RaffleOrderTest - 活动库存不足 +24-12-03.20:40:20.891 [main ] INFO ActivityBaseActionChain - 活动责任链-基础信息【有效期、状态、库存(sku)】校验开始。sku:9011 activityId:100301 +24-12-03.20:40:20.892 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】开始。sku:9011 activityId:100301 +24-12-03.20:40:20.894 [main ] WARN RaffleOrderTest - 活动库存不足 +24-12-03.20:40:20.901 [main ] INFO ActivityBaseActionChain - 活动责任链-基础信息【有效期、状态、库存(sku)】校验开始。sku:9011 activityId:100301 +24-12-03.20:40:20.901 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】开始。sku:9011 activityId:100301 +24-12-03.20:40:20.903 [main ] WARN RaffleOrderTest - 活动库存不足 +24-12-03.20:40:25.001 [scheduling-1 ] INFO UpdateActivitySkuStockJob - 定时任务,更新活动sku库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-03.20:40:25.002 [scheduling-1 ] INFO UpdateActivitySkuStockJob - 定时任务,更新活动sku库存 sku:9011 activityId:100301 +24-12-03.20:40:25.006 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-03.20:40:27.502 [org.springframework.amqp.rabbit.RabbitListenerEndpointContainer#0-2] INFO SimpleMessageListenerContainer - Waiting for workers to finish. +24-12-03.20:40:27.958 [org.springframework.amqp.rabbit.RabbitListenerEndpointContainer#0-2] INFO SimpleMessageListenerContainer - Successfully waited for workers to finish. +24-12-03.20:40:27.960 [SpringApplicationShutdownHook] INFO SimpleMessageListenerContainer - Shutdown ignored - container is already stopped diff --git a/bigmarket-app/data/log/log_error.log b/bigmarket-app/data/log/log_error.log index 494cc49..dddd5c2 100644 --- a/bigmarket-app/data/log/log_error.log +++ b/bigmarket-app/data/log/log_error.log @@ -1,6 +1,6 @@ -24-12-03.20:28:00.840 [main ] WARN GenericWebApplicationContext - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'raffleController': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'defaultRaffleStrategy' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-domain\target\classes\cn\bugstack\domain\strategy\service\raffle\DefaultRaffleStrategy.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap -24-12-03.20:28:00.884 [main ] ERROR SpringApplication - Application run failed -org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'raffleController': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'defaultRaffleStrategy' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-domain\target\classes\cn\bugstack\domain\strategy\service\raffle\DefaultRaffleStrategy.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap +24-12-09.17:53:31.938 [main ] WARN GenericWebApplicationContext - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'raffleController': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'defaultRaffleStrategy' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-domain\target\classes\cn\bugstack\domain\strategy\service\raffle\DefaultRaffleStrategy.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for cn.bugstack.infrastructure.persistent.dao.IUserAwardRecordDao.insert. please check file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\IAwardRepository.xml] and file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml] +24-12-09.17:53:31.993 [main ] ERROR SpringApplication - Application run failed +org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'raffleController': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'defaultRaffleStrategy' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-domain\target\classes\cn\bugstack\domain\strategy\service\raffle\DefaultRaffleStrategy.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for cn.bugstack.infrastructure.persistent.dao.IUserAwardRecordDao.insert. please check file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\IAwardRepository.xml] and file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml] at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:332) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1431) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619) @@ -45,7 +45,7 @@ org.springframework.beans.factory.BeanCreationException: Error creating bean wit at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35) at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:232) at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:55) -Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'defaultRaffleStrategy' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-domain\target\classes\cn\bugstack\domain\strategy\service\raffle\DefaultRaffleStrategy.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap +Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'defaultRaffleStrategy' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-domain\target\classes\cn\bugstack\domain\strategy\service\raffle\DefaultRaffleStrategy.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for cn.bugstack.infrastructure.persistent.dao.IUserAwardRecordDao.insert. please check file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\IAwardRepository.xml] and file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml] at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:800) at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:229) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1372) @@ -66,7 +66,7 @@ Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Err at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119) at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:329) ... 43 common frames omitted -Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap +Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for cn.bugstack.infrastructure.persistent.dao.IUserAwardRecordDao.insert. please check file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\IAwardRepository.xml] and file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml] at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:332) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1431) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619) @@ -81,7 +81,7 @@ Caused by: org.springframework.beans.factory.BeanCreationException: Error creati at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:887) at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791) ... 61 common frames omitted -Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap +Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for cn.bugstack.infrastructure.persistent.dao.IUserAwardRecordDao.insert. please check file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\IAwardRepository.xml] and file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireByType(AbstractAutowireCapableBeanFactory.java:1534) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1417) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619) @@ -100,7 +100,7 @@ Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Err at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119) at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:329) ... 73 common frames omitted -Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap +Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for cn.bugstack.infrastructure.persistent.dao.IUserAwardRecordDao.insert. please check file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\IAwardRepository.xml] and file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml] at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:658) at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:638) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1352) @@ -116,43 +116,42 @@ Caused by: org.springframework.beans.factory.BeanCreationException: Error creati at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireByType(AbstractAutowireCapableBeanFactory.java:1519) ... 89 common frames omitted -Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap +Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for cn.bugstack.infrastructure.persistent.dao.IUserAwardRecordDao.insert. please check file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\IAwardRepository.xml] and file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml] at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185) at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) ... 102 common frames omitted -Caused by: org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap +Caused by: org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for cn.bugstack.infrastructure.persistent.dao.IUserAwardRecordDao.insert. please check file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\IAwardRepository.xml] and file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml] at org.mybatis.spring.SqlSessionFactoryBean.buildSqlSessionFactory(SqlSessionFactoryBean.java:613) at org.mybatis.spring.SqlSessionFactoryBean.afterPropertiesSet(SqlSessionFactoryBean.java:491) at org.mybatis.spring.SqlSessionFactoryBean.getObject(SqlSessionFactoryBean.java:633) at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration.sqlSessionFactory(MybatisAutoConfiguration.java:179) - at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration$$EnhancerBySpringCGLIB$$8340bd8e.CGLIB$sqlSessionFactory$0() - at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration$$EnhancerBySpringCGLIB$$8340bd8e$$FastClassBySpringCGLIB$$6d994854.invoke() + at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration$$EnhancerBySpringCGLIB$$22134bf4.CGLIB$sqlSessionFactory$0() + at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration$$EnhancerBySpringCGLIB$$22134bf4$$FastClassBySpringCGLIB$$c462d14c.invoke() at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:244) at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:331) - at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration$$EnhancerBySpringCGLIB$$8340bd8e.sqlSessionFactory() + at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration$$EnhancerBySpringCGLIB$$22134bf4.sqlSessionFactory() at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) ... 103 common frames omitted -Caused by: org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap +Caused by: org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for cn.bugstack.infrastructure.persistent.dao.IUserAwardRecordDao.insert. please check file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\IAwardRepository.xml] and file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml] at org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:123) at org.apache.ibatis.builder.xml.XMLMapperBuilder.parse(XMLMapperBuilder.java:95) at org.mybatis.spring.SqlSessionFactoryBean.buildSqlSessionFactory(SqlSessionFactoryBean.java:611) ... 116 common frames omitted -Caused by: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap +Caused by: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for cn.bugstack.infrastructure.persistent.dao.IUserAwardRecordDao.insert. please check file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\IAwardRepository.xml] and file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml] at org.apache.ibatis.session.Configuration$StrictMap.put(Configuration.java:1014) at org.apache.ibatis.session.Configuration$StrictMap.put(Configuration.java:970) - at org.apache.ibatis.session.Configuration.addResultMap(Configuration.java:726) - at org.apache.ibatis.builder.MapperBuilderAssistant.addResultMap(MapperBuilderAssistant.java:209) - at org.apache.ibatis.builder.ResultMapResolver.resolve(ResultMapResolver.java:47) - at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElement(XMLMapperBuilder.java:289) - at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElement(XMLMapperBuilder.java:254) - at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElements(XMLMapperBuilder.java:246) - at org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:119) + at org.apache.ibatis.session.Configuration.addMappedStatement(Configuration.java:768) + at org.apache.ibatis.builder.MapperBuilderAssistant.addMappedStatement(MapperBuilderAssistant.java:297) + at org.apache.ibatis.builder.xml.XMLStatementBuilder.parseStatementNode(XMLStatementBuilder.java:113) + at org.apache.ibatis.builder.xml.XMLMapperBuilder.buildStatementFromContext(XMLMapperBuilder.java:138) + at org.apache.ibatis.builder.xml.XMLMapperBuilder.buildStatementFromContext(XMLMapperBuilder.java:131) + at org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:121) ... 118 common frames omitted -24-12-03.20:28:00.887 [main ] ERROR TestContextManager - Caught exception while allowing TestExecutionListener [org.springframework.test.context.web.ServletTestExecutionListener@f79e] to prepare test instance [cn.bugstack.test.domain.activity.RaffleOrderTest@317890ea] +24-12-09.17:53:32.021 [main ] ERROR TestContextManager - Caught exception while allowing TestExecutionListener [org.springframework.test.context.web.ServletTestExecutionListener@5b94b04d] to prepare test instance [cn.bugstack.test.award.AwardServiceTest@59498d94] java.lang.IllegalStateException: Failed to load ApplicationContext at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:98) at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:124) @@ -182,7 +181,7 @@ java.lang.IllegalStateException: Failed to load ApplicationContext at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35) at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:232) at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:55) -Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'raffleController': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'defaultRaffleStrategy' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-domain\target\classes\cn\bugstack\domain\strategy\service\raffle\DefaultRaffleStrategy.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap +Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'raffleController': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'defaultRaffleStrategy' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-domain\target\classes\cn\bugstack\domain\strategy\service\raffle\DefaultRaffleStrategy.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for cn.bugstack.infrastructure.persistent.dao.IUserAwardRecordDao.insert. please check file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\IAwardRepository.xml] and file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml] at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:332) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1431) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619) @@ -201,7 +200,7 @@ Caused by: org.springframework.beans.factory.BeanCreationException: Error creati at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:141) at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:90) ... 27 common frames omitted -Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'defaultRaffleStrategy' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-domain\target\classes\cn\bugstack\domain\strategy\service\raffle\DefaultRaffleStrategy.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap +Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'defaultRaffleStrategy' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-domain\target\classes\cn\bugstack\domain\strategy\service\raffle\DefaultRaffleStrategy.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for cn.bugstack.infrastructure.persistent.dao.IUserAwardRecordDao.insert. please check file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\IAwardRepository.xml] and file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml] at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:800) at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:229) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1372) @@ -222,7 +221,7 @@ Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Err at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119) at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:329) ... 43 common frames omitted -Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap +Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for cn.bugstack.infrastructure.persistent.dao.IUserAwardRecordDao.insert. please check file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\IAwardRepository.xml] and file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml] at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:332) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1431) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619) @@ -237,7 +236,7 @@ Caused by: org.springframework.beans.factory.BeanCreationException: Error creati at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:887) at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791) ... 61 common frames omitted -Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap +Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for cn.bugstack.infrastructure.persistent.dao.IUserAwardRecordDao.insert. please check file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\IAwardRepository.xml] and file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireByType(AbstractAutowireCapableBeanFactory.java:1534) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1417) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619) @@ -256,7 +255,7 @@ Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Err at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119) at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:329) ... 73 common frames omitted -Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap +Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for cn.bugstack.infrastructure.persistent.dao.IUserAwardRecordDao.insert. please check file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\IAwardRepository.xml] and file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml] at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:658) at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:638) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1352) @@ -272,45 +271,44 @@ Caused by: org.springframework.beans.factory.BeanCreationException: Error creati at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireByType(AbstractAutowireCapableBeanFactory.java:1519) ... 89 common frames omitted -Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap +Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for cn.bugstack.infrastructure.persistent.dao.IUserAwardRecordDao.insert. please check file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\IAwardRepository.xml] and file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml] at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185) at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) ... 102 common frames omitted -Caused by: org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap +Caused by: org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for cn.bugstack.infrastructure.persistent.dao.IUserAwardRecordDao.insert. please check file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\IAwardRepository.xml] and file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml] at org.mybatis.spring.SqlSessionFactoryBean.buildSqlSessionFactory(SqlSessionFactoryBean.java:613) at org.mybatis.spring.SqlSessionFactoryBean.afterPropertiesSet(SqlSessionFactoryBean.java:491) at org.mybatis.spring.SqlSessionFactoryBean.getObject(SqlSessionFactoryBean.java:633) at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration.sqlSessionFactory(MybatisAutoConfiguration.java:179) - at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration$$EnhancerBySpringCGLIB$$8340bd8e.CGLIB$sqlSessionFactory$0() - at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration$$EnhancerBySpringCGLIB$$8340bd8e$$FastClassBySpringCGLIB$$6d994854.invoke() + at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration$$EnhancerBySpringCGLIB$$22134bf4.CGLIB$sqlSessionFactory$0() + at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration$$EnhancerBySpringCGLIB$$22134bf4$$FastClassBySpringCGLIB$$c462d14c.invoke() at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:244) at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:331) - at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration$$EnhancerBySpringCGLIB$$8340bd8e.sqlSessionFactory() + at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration$$EnhancerBySpringCGLIB$$22134bf4.sqlSessionFactory() at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) ... 103 common frames omitted -Caused by: org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap +Caused by: org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for cn.bugstack.infrastructure.persistent.dao.IUserAwardRecordDao.insert. please check file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\IAwardRepository.xml] and file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml] at org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:123) at org.apache.ibatis.builder.xml.XMLMapperBuilder.parse(XMLMapperBuilder.java:95) at org.mybatis.spring.SqlSessionFactoryBean.buildSqlSessionFactory(SqlSessionFactoryBean.java:611) ... 116 common frames omitted -Caused by: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap +Caused by: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for cn.bugstack.infrastructure.persistent.dao.IUserAwardRecordDao.insert. please check file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\IAwardRepository.xml] and file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml] at org.apache.ibatis.session.Configuration$StrictMap.put(Configuration.java:1014) at org.apache.ibatis.session.Configuration$StrictMap.put(Configuration.java:970) - at org.apache.ibatis.session.Configuration.addResultMap(Configuration.java:726) - at org.apache.ibatis.builder.MapperBuilderAssistant.addResultMap(MapperBuilderAssistant.java:209) - at org.apache.ibatis.builder.ResultMapResolver.resolve(ResultMapResolver.java:47) - at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElement(XMLMapperBuilder.java:289) - at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElement(XMLMapperBuilder.java:254) - at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElements(XMLMapperBuilder.java:246) - at org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:119) + at org.apache.ibatis.session.Configuration.addMappedStatement(Configuration.java:768) + at org.apache.ibatis.builder.MapperBuilderAssistant.addMappedStatement(MapperBuilderAssistant.java:297) + at org.apache.ibatis.builder.xml.XMLStatementBuilder.parseStatementNode(XMLStatementBuilder.java:113) + at org.apache.ibatis.builder.xml.XMLMapperBuilder.buildStatementFromContext(XMLMapperBuilder.java:138) + at org.apache.ibatis.builder.xml.XMLMapperBuilder.buildStatementFromContext(XMLMapperBuilder.java:131) + at org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:121) ... 118 common frames omitted -24-12-03.20:31:39.016 [main ] WARN GenericWebApplicationContext - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'raffleController': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'defaultRaffleStrategy' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-domain\target\classes\cn\bugstack\domain\strategy\service\raffle\DefaultRaffleStrategy.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap -24-12-03.20:31:39.055 [main ] ERROR SpringApplication - Application run failed -org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'raffleController': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'defaultRaffleStrategy' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-domain\target\classes\cn\bugstack\domain\strategy\service\raffle\DefaultRaffleStrategy.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap +24-12-09.17:54:18.117 [main ] WARN GenericWebApplicationContext - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'raffleController': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'defaultRaffleStrategy' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-domain\target\classes\cn\bugstack\domain\strategy\service\raffle\DefaultRaffleStrategy.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for cn.bugstack.infrastructure.persistent.dao.IUserAwardRecordDao.insert. please check file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\IAwardRepository.xml] and file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml] +24-12-09.17:54:18.166 [main ] ERROR SpringApplication - Application run failed +org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'raffleController': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'defaultRaffleStrategy' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-domain\target\classes\cn\bugstack\domain\strategy\service\raffle\DefaultRaffleStrategy.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for cn.bugstack.infrastructure.persistent.dao.IUserAwardRecordDao.insert. please check file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\IAwardRepository.xml] and file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml] at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:332) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1431) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619) @@ -355,7 +353,7 @@ org.springframework.beans.factory.BeanCreationException: Error creating bean wit at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35) at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:232) at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:55) -Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'defaultRaffleStrategy' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-domain\target\classes\cn\bugstack\domain\strategy\service\raffle\DefaultRaffleStrategy.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap +Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'defaultRaffleStrategy' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-domain\target\classes\cn\bugstack\domain\strategy\service\raffle\DefaultRaffleStrategy.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for cn.bugstack.infrastructure.persistent.dao.IUserAwardRecordDao.insert. please check file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\IAwardRepository.xml] and file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml] at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:800) at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:229) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1372) @@ -376,7 +374,7 @@ Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Err at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119) at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:329) ... 43 common frames omitted -Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap +Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for cn.bugstack.infrastructure.persistent.dao.IUserAwardRecordDao.insert. please check file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\IAwardRepository.xml] and file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml] at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:332) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1431) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619) @@ -391,7 +389,7 @@ Caused by: org.springframework.beans.factory.BeanCreationException: Error creati at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:887) at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791) ... 61 common frames omitted -Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap +Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for cn.bugstack.infrastructure.persistent.dao.IUserAwardRecordDao.insert. please check file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\IAwardRepository.xml] and file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireByType(AbstractAutowireCapableBeanFactory.java:1534) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1417) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619) @@ -410,7 +408,7 @@ Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Err at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119) at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:329) ... 73 common frames omitted -Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap +Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for cn.bugstack.infrastructure.persistent.dao.IUserAwardRecordDao.insert. please check file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\IAwardRepository.xml] and file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml] at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:658) at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:638) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1352) @@ -426,43 +424,42 @@ Caused by: org.springframework.beans.factory.BeanCreationException: Error creati at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireByType(AbstractAutowireCapableBeanFactory.java:1519) ... 89 common frames omitted -Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap +Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for cn.bugstack.infrastructure.persistent.dao.IUserAwardRecordDao.insert. please check file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\IAwardRepository.xml] and file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml] at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185) at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) ... 102 common frames omitted -Caused by: org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap +Caused by: org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for cn.bugstack.infrastructure.persistent.dao.IUserAwardRecordDao.insert. please check file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\IAwardRepository.xml] and file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml] at org.mybatis.spring.SqlSessionFactoryBean.buildSqlSessionFactory(SqlSessionFactoryBean.java:613) at org.mybatis.spring.SqlSessionFactoryBean.afterPropertiesSet(SqlSessionFactoryBean.java:491) at org.mybatis.spring.SqlSessionFactoryBean.getObject(SqlSessionFactoryBean.java:633) at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration.sqlSessionFactory(MybatisAutoConfiguration.java:179) - at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration$$EnhancerBySpringCGLIB$$8340bd8e.CGLIB$sqlSessionFactory$1() - at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration$$EnhancerBySpringCGLIB$$8340bd8e$$FastClassBySpringCGLIB$$6d994854.invoke() + at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration$$EnhancerBySpringCGLIB$$22134bf4.CGLIB$sqlSessionFactory$0() + at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration$$EnhancerBySpringCGLIB$$22134bf4$$FastClassBySpringCGLIB$$c462d14c.invoke() at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:244) at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:331) - at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration$$EnhancerBySpringCGLIB$$8340bd8e.sqlSessionFactory() + at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration$$EnhancerBySpringCGLIB$$22134bf4.sqlSessionFactory() at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) ... 103 common frames omitted -Caused by: org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap +Caused by: org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for cn.bugstack.infrastructure.persistent.dao.IUserAwardRecordDao.insert. please check file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\IAwardRepository.xml] and file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml] at org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:123) at org.apache.ibatis.builder.xml.XMLMapperBuilder.parse(XMLMapperBuilder.java:95) at org.mybatis.spring.SqlSessionFactoryBean.buildSqlSessionFactory(SqlSessionFactoryBean.java:611) ... 116 common frames omitted -Caused by: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap +Caused by: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for cn.bugstack.infrastructure.persistent.dao.IUserAwardRecordDao.insert. please check file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\IAwardRepository.xml] and file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml] at org.apache.ibatis.session.Configuration$StrictMap.put(Configuration.java:1014) at org.apache.ibatis.session.Configuration$StrictMap.put(Configuration.java:970) - at org.apache.ibatis.session.Configuration.addResultMap(Configuration.java:726) - at org.apache.ibatis.builder.MapperBuilderAssistant.addResultMap(MapperBuilderAssistant.java:209) - at org.apache.ibatis.builder.ResultMapResolver.resolve(ResultMapResolver.java:47) - at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElement(XMLMapperBuilder.java:289) - at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElement(XMLMapperBuilder.java:254) - at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElements(XMLMapperBuilder.java:246) - at org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:119) + at org.apache.ibatis.session.Configuration.addMappedStatement(Configuration.java:768) + at org.apache.ibatis.builder.MapperBuilderAssistant.addMappedStatement(MapperBuilderAssistant.java:297) + at org.apache.ibatis.builder.xml.XMLStatementBuilder.parseStatementNode(XMLStatementBuilder.java:113) + at org.apache.ibatis.builder.xml.XMLMapperBuilder.buildStatementFromContext(XMLMapperBuilder.java:138) + at org.apache.ibatis.builder.xml.XMLMapperBuilder.buildStatementFromContext(XMLMapperBuilder.java:131) + at org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:121) ... 118 common frames omitted -24-12-03.20:31:39.059 [main ] ERROR TestContextManager - Caught exception while allowing TestExecutionListener [org.springframework.test.context.web.ServletTestExecutionListener@f79e] to prepare test instance [cn.bugstack.test.domain.activity.RaffleOrderTest@317890ea] +24-12-09.17:54:18.170 [main ] ERROR TestContextManager - Caught exception while allowing TestExecutionListener [org.springframework.test.context.web.ServletTestExecutionListener@5b94b04d] to prepare test instance [cn.bugstack.test.award.AwardServiceTest@59498d94] java.lang.IllegalStateException: Failed to load ApplicationContext at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:98) at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:124) @@ -492,7 +489,7 @@ java.lang.IllegalStateException: Failed to load ApplicationContext at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35) at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:232) at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:55) -Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'raffleController': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'defaultRaffleStrategy' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-domain\target\classes\cn\bugstack\domain\strategy\service\raffle\DefaultRaffleStrategy.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap +Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'raffleController': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'defaultRaffleStrategy' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-domain\target\classes\cn\bugstack\domain\strategy\service\raffle\DefaultRaffleStrategy.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for cn.bugstack.infrastructure.persistent.dao.IUserAwardRecordDao.insert. please check file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\IAwardRepository.xml] and file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml] at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:332) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1431) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619) @@ -511,7 +508,7 @@ Caused by: org.springframework.beans.factory.BeanCreationException: Error creati at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:141) at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:90) ... 27 common frames omitted -Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'defaultRaffleStrategy' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-domain\target\classes\cn\bugstack\domain\strategy\service\raffle\DefaultRaffleStrategy.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap +Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'defaultRaffleStrategy' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-domain\target\classes\cn\bugstack\domain\strategy\service\raffle\DefaultRaffleStrategy.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for cn.bugstack.infrastructure.persistent.dao.IUserAwardRecordDao.insert. please check file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\IAwardRepository.xml] and file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml] at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:800) at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:229) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1372) @@ -532,7 +529,7 @@ Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Err at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119) at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:329) ... 43 common frames omitted -Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap +Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for cn.bugstack.infrastructure.persistent.dao.IUserAwardRecordDao.insert. please check file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\IAwardRepository.xml] and file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml] at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:332) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1431) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619) @@ -547,7 +544,7 @@ Caused by: org.springframework.beans.factory.BeanCreationException: Error creati at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:887) at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791) ... 61 common frames omitted -Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap +Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for cn.bugstack.infrastructure.persistent.dao.IUserAwardRecordDao.insert. please check file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\IAwardRepository.xml] and file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireByType(AbstractAutowireCapableBeanFactory.java:1534) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1417) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619) @@ -566,7 +563,7 @@ Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Err at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119) at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:329) ... 73 common frames omitted -Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap +Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for cn.bugstack.infrastructure.persistent.dao.IUserAwardRecordDao.insert. please check file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\IAwardRepository.xml] and file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml] at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:658) at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:638) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1352) @@ -582,395 +579,38 @@ Caused by: org.springframework.beans.factory.BeanCreationException: Error creati at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireByType(AbstractAutowireCapableBeanFactory.java:1519) ... 89 common frames omitted -Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap +Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for cn.bugstack.infrastructure.persistent.dao.IUserAwardRecordDao.insert. please check file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\IAwardRepository.xml] and file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml] at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185) at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) ... 102 common frames omitted -Caused by: org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap +Caused by: org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for cn.bugstack.infrastructure.persistent.dao.IUserAwardRecordDao.insert. please check file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\IAwardRepository.xml] and file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml] at org.mybatis.spring.SqlSessionFactoryBean.buildSqlSessionFactory(SqlSessionFactoryBean.java:613) at org.mybatis.spring.SqlSessionFactoryBean.afterPropertiesSet(SqlSessionFactoryBean.java:491) at org.mybatis.spring.SqlSessionFactoryBean.getObject(SqlSessionFactoryBean.java:633) at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration.sqlSessionFactory(MybatisAutoConfiguration.java:179) - at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration$$EnhancerBySpringCGLIB$$8340bd8e.CGLIB$sqlSessionFactory$1() - at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration$$EnhancerBySpringCGLIB$$8340bd8e$$FastClassBySpringCGLIB$$6d994854.invoke() + at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration$$EnhancerBySpringCGLIB$$22134bf4.CGLIB$sqlSessionFactory$0() + at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration$$EnhancerBySpringCGLIB$$22134bf4$$FastClassBySpringCGLIB$$c462d14c.invoke() at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:244) at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:331) - at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration$$EnhancerBySpringCGLIB$$8340bd8e.sqlSessionFactory() + at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration$$EnhancerBySpringCGLIB$$22134bf4.sqlSessionFactory() at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) ... 103 common frames omitted -Caused by: org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap +Caused by: org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for cn.bugstack.infrastructure.persistent.dao.IUserAwardRecordDao.insert. please check file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\IAwardRepository.xml] and file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml] at org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:123) at org.apache.ibatis.builder.xml.XMLMapperBuilder.parse(XMLMapperBuilder.java:95) at org.mybatis.spring.SqlSessionFactoryBean.buildSqlSessionFactory(SqlSessionFactoryBean.java:611) ... 116 common frames omitted -Caused by: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap +Caused by: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for cn.bugstack.infrastructure.persistent.dao.IUserAwardRecordDao.insert. please check file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\IAwardRepository.xml] and file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml] at org.apache.ibatis.session.Configuration$StrictMap.put(Configuration.java:1014) at org.apache.ibatis.session.Configuration$StrictMap.put(Configuration.java:970) - at org.apache.ibatis.session.Configuration.addResultMap(Configuration.java:726) - at org.apache.ibatis.builder.MapperBuilderAssistant.addResultMap(MapperBuilderAssistant.java:209) - at org.apache.ibatis.builder.ResultMapResolver.resolve(ResultMapResolver.java:47) - at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElement(XMLMapperBuilder.java:289) - at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElement(XMLMapperBuilder.java:254) - at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElements(XMLMapperBuilder.java:246) - at org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:119) + at org.apache.ibatis.session.Configuration.addMappedStatement(Configuration.java:768) + at org.apache.ibatis.builder.MapperBuilderAssistant.addMappedStatement(MapperBuilderAssistant.java:297) + at org.apache.ibatis.builder.xml.XMLStatementBuilder.parseStatementNode(XMLStatementBuilder.java:113) + at org.apache.ibatis.builder.xml.XMLMapperBuilder.buildStatementFromContext(XMLMapperBuilder.java:138) + at org.apache.ibatis.builder.xml.XMLMapperBuilder.buildStatementFromContext(XMLMapperBuilder.java:131) + at org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:121) ... 118 common frames omitted -24-12-03.20:34:44.500 [main ] ERROR ActivityRepository - 写入订单记录,唯一索引冲突 userId: xiaofuge activityId: 100301 sku: 9011 -org.springframework.dao.DuplicateKeyException: -### Error updating database. Cause: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '700091009111' for key 'raffle_activity_order_001.uq_out_business_no' -### The error may exist in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_order_mapper.xml] -### The error may involve cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.insert-Inline -### The error occurred while setting parameters -### SQL: insert into raffle_activity_order_001 (user_id, sku, activity_id, activity_name, strategy_id, order_id, order_time, state, out_business_no, total_count, day_count, month_count, create_time, update_time) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, now(), now()) -### Cause: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '700091009111' for key 'raffle_activity_order_001.uq_out_business_no' -; Duplicate entry '700091009111' for key 'raffle_activity_order_001.uq_out_business_no'; nested exception is java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '700091009111' for key 'raffle_activity_order_001.uq_out_business_no' - at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:247) - at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:70) - at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:91) - at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:441) - at com.sun.proxy.$Proxy107.insert(Unknown Source) - at org.mybatis.spring.SqlSessionTemplate.insert(SqlSessionTemplate.java:272) - at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:62) - at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:152) - at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:85) - at com.sun.proxy.$Proxy120.insert(Unknown Source) - at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) - at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) - at java.lang.reflect.Method.invoke(Method.java:498) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344) - at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198) - at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) - at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89) - at cn.bugstack.middleware.db.router.DBRouterJoinPoint.doRouter(DBRouterJoinPoint.java:65) - at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) - at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) - at java.lang.reflect.Method.invoke(Method.java:498) - at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634) - at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624) - at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72) - at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175) - at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) - at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) - at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:220) - at com.sun.proxy.$Proxy121.insert(Unknown Source) - at cn.bugstack.infrastructure.persistent.repository.ActivityRepository.lambda$doSaveOrder$0(ActivityRepository.java:155) - at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140) - at cn.bugstack.infrastructure.persistent.repository.ActivityRepository.doSaveOrder(ActivityRepository.java:152) - at cn.bugstack.infrastructure.persistent.repository.ActivityRepository$$FastClassBySpringCGLIB$$5fc4459a.invoke() - at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) - at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:793) - at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) - at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) - at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137) - at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) - at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:708) - at cn.bugstack.infrastructure.persistent.repository.ActivityRepository$$EnhancerBySpringCGLIB$$1783fa1d.doSaveOrder() - at cn.bugstack.domain.activity.service.RaffleActivityService.doSaveOrder(RaffleActivityService.java:58) - at cn.bugstack.domain.activity.service.AbstractRaffleActivity.createSkuRechargeOrder(AbstractRaffleActivity.java:51) - at cn.bugstack.test.domain.activity.RaffleOrderTest.test_createSkuRechargeOrder_duplicate(RaffleOrderTest.java:45) - at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) - at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) - at java.lang.reflect.Method.invoke(Method.java:498) - at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) - at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) - at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) - at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) - at org.springframework.test.context.junit4.statements.RunBeforeTestExecutionCallbacks.evaluate(RunBeforeTestExecutionCallbacks.java:74) - at org.springframework.test.context.junit4.statements.RunAfterTestExecutionCallbacks.evaluate(RunAfterTestExecutionCallbacks.java:84) - at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) - at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75) - at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86) - at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84) - at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) - at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:251) - at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97) - at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) - at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) - at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) - at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) - at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) - at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) - at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70) - at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) - at org.junit.runners.ParentRunner.run(ParentRunner.java:413) - at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190) - at org.junit.runner.JUnitCore.run(JUnitCore.java:137) - at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69) - at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38) - at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11) - at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35) - at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:232) - at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:55) -Caused by: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '700091009111' for key 'raffle_activity_order_001.uq_out_business_no' - at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:117) - at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97) - at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) - at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:953) - at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:370) - at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) - at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) - at org.apache.ibatis.executor.statement.PreparedStatementHandler.update(PreparedStatementHandler.java:47) - at org.apache.ibatis.executor.statement.RoutingStatementHandler.update(RoutingStatementHandler.java:74) - at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) - at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) - at java.lang.reflect.Method.invoke(Method.java:498) - at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:63) - at com.sun.proxy.$Proxy194.update(Unknown Source) - at org.apache.ibatis.executor.SimpleExecutor.doUpdate(SimpleExecutor.java:50) - at org.apache.ibatis.executor.BaseExecutor.update(BaseExecutor.java:117) - at org.apache.ibatis.executor.CachingExecutor.update(CachingExecutor.java:76) - at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:197) - at org.apache.ibatis.session.defaults.DefaultSqlSession.insert(DefaultSqlSession.java:184) - at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) - at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) - at java.lang.reflect.Method.invoke(Method.java:498) - at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:427) - ... 77 common frames omitted -24-12-03.20:37:34.770 [main ] ERROR ActivityRepository - 写入订单记录,唯一索引冲突 userId: xiaofuge activityId: 100301 sku: 9011 -org.springframework.dao.DuplicateKeyException: -### Error updating database. Cause: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '700091009111' for key 'raffle_activity_order_001.uq_out_business_no' -### The error may exist in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_order_mapper.xml] -### The error may involve cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.insert-Inline -### The error occurred while setting parameters -### SQL: insert into raffle_activity_order_001 (user_id, sku, activity_id, activity_name, strategy_id, order_id, order_time, state, out_business_no, total_count, day_count, month_count, create_time, update_time) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, now(), now()) -### Cause: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '700091009111' for key 'raffle_activity_order_001.uq_out_business_no' -; Duplicate entry '700091009111' for key 'raffle_activity_order_001.uq_out_business_no'; nested exception is java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '700091009111' for key 'raffle_activity_order_001.uq_out_business_no' - at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:247) - at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:70) - at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:91) - at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:441) - at com.sun.proxy.$Proxy107.insert(Unknown Source) - at org.mybatis.spring.SqlSessionTemplate.insert(SqlSessionTemplate.java:272) - at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:62) - at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:152) - at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:85) - at com.sun.proxy.$Proxy120.insert(Unknown Source) - at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) - at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) - at java.lang.reflect.Method.invoke(Method.java:498) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344) - at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198) - at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) - at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89) - at cn.bugstack.middleware.db.router.DBRouterJoinPoint.doRouter(DBRouterJoinPoint.java:65) - at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) - at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) - at java.lang.reflect.Method.invoke(Method.java:498) - at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634) - at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624) - at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72) - at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175) - at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) - at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) - at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:220) - at com.sun.proxy.$Proxy121.insert(Unknown Source) - at cn.bugstack.infrastructure.persistent.repository.ActivityRepository.lambda$doSaveOrder$0(ActivityRepository.java:155) - at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140) - at cn.bugstack.infrastructure.persistent.repository.ActivityRepository.doSaveOrder(ActivityRepository.java:152) - at cn.bugstack.infrastructure.persistent.repository.ActivityRepository$$FastClassBySpringCGLIB$$5fc4459a.invoke() - at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) - at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:793) - at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) - at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) - at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137) - at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) - at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:708) - at cn.bugstack.infrastructure.persistent.repository.ActivityRepository$$EnhancerBySpringCGLIB$$1783fa1d.doSaveOrder() - at cn.bugstack.domain.activity.service.RaffleActivityService.doSaveOrder(RaffleActivityService.java:58) - at cn.bugstack.domain.activity.service.AbstractRaffleActivity.createSkuRechargeOrder(AbstractRaffleActivity.java:51) - at cn.bugstack.test.domain.activity.RaffleOrderTest.test_createSkuRechargeOrder_duplicate(RaffleOrderTest.java:45) - at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) - at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) - at java.lang.reflect.Method.invoke(Method.java:498) - at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) - at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) - at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) - at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) - at org.springframework.test.context.junit4.statements.RunBeforeTestExecutionCallbacks.evaluate(RunBeforeTestExecutionCallbacks.java:74) - at org.springframework.test.context.junit4.statements.RunAfterTestExecutionCallbacks.evaluate(RunAfterTestExecutionCallbacks.java:84) - at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) - at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75) - at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86) - at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84) - at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) - at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:251) - at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97) - at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) - at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) - at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) - at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) - at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) - at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) - at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70) - at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) - at org.junit.runners.ParentRunner.run(ParentRunner.java:413) - at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190) - at org.junit.runner.JUnitCore.run(JUnitCore.java:137) - at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69) - at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38) - at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11) - at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35) - at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:232) - at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:55) -Caused by: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '700091009111' for key 'raffle_activity_order_001.uq_out_business_no' - at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:117) - at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97) - at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) - at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:953) - at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:370) - at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) - at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) - at org.apache.ibatis.executor.statement.PreparedStatementHandler.update(PreparedStatementHandler.java:47) - at org.apache.ibatis.executor.statement.RoutingStatementHandler.update(RoutingStatementHandler.java:74) - at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) - at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) - at java.lang.reflect.Method.invoke(Method.java:498) - at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:63) - at com.sun.proxy.$Proxy194.update(Unknown Source) - at org.apache.ibatis.executor.SimpleExecutor.doUpdate(SimpleExecutor.java:50) - at org.apache.ibatis.executor.BaseExecutor.update(BaseExecutor.java:117) - at org.apache.ibatis.executor.CachingExecutor.update(CachingExecutor.java:76) - at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:197) - at org.apache.ibatis.session.defaults.DefaultSqlSession.insert(DefaultSqlSession.java:184) - at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) - at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) - at java.lang.reflect.Method.invoke(Method.java:498) - at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:427) - ... 77 common frames omitted -24-12-03.20:38:20.668 [main ] ERROR ActivityRepository - 写入订单记录,唯一索引冲突 userId: xiaofuge activityId: 100301 sku: 9011 -org.springframework.dao.DuplicateKeyException: -### Error updating database. Cause: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '700091009111' for key 'raffle_activity_order_001.uq_out_business_no' -### The error may exist in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_order_mapper.xml] -### The error may involve cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.insert-Inline -### The error occurred while setting parameters -### SQL: insert into raffle_activity_order_001 (user_id, sku, activity_id, activity_name, strategy_id, order_id, order_time, state, out_business_no, total_count, day_count, month_count, create_time, update_time) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, now(), now()) -### Cause: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '700091009111' for key 'raffle_activity_order_001.uq_out_business_no' -; Duplicate entry '700091009111' for key 'raffle_activity_order_001.uq_out_business_no'; nested exception is java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '700091009111' for key 'raffle_activity_order_001.uq_out_business_no' - at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:247) - at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:70) - at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:91) - at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:441) - at com.sun.proxy.$Proxy107.insert(Unknown Source) - at org.mybatis.spring.SqlSessionTemplate.insert(SqlSessionTemplate.java:272) - at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:62) - at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:152) - at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:85) - at com.sun.proxy.$Proxy120.insert(Unknown Source) - at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) - at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) - at java.lang.reflect.Method.invoke(Method.java:498) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344) - at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198) - at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) - at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89) - at cn.bugstack.middleware.db.router.DBRouterJoinPoint.doRouter(DBRouterJoinPoint.java:65) - at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) - at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) - at java.lang.reflect.Method.invoke(Method.java:498) - at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634) - at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624) - at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72) - at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175) - at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) - at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) - at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:220) - at com.sun.proxy.$Proxy121.insert(Unknown Source) - at cn.bugstack.infrastructure.persistent.repository.ActivityRepository.lambda$doSaveOrder$0(ActivityRepository.java:155) - at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140) - at cn.bugstack.infrastructure.persistent.repository.ActivityRepository.doSaveOrder(ActivityRepository.java:152) - at cn.bugstack.infrastructure.persistent.repository.ActivityRepository$$FastClassBySpringCGLIB$$5fc4459a.invoke() - at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) - at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:793) - at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) - at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) - at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137) - at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) - at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:708) - at cn.bugstack.infrastructure.persistent.repository.ActivityRepository$$EnhancerBySpringCGLIB$$1783fa1d.doSaveOrder() - at cn.bugstack.domain.activity.service.RaffleActivityService.doSaveOrder(RaffleActivityService.java:58) - at cn.bugstack.domain.activity.service.AbstractRaffleActivity.createSkuRechargeOrder(AbstractRaffleActivity.java:51) - at cn.bugstack.test.domain.activity.RaffleOrderTest.test_createSkuRechargeOrder_duplicate(RaffleOrderTest.java:45) - at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) - at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) - at java.lang.reflect.Method.invoke(Method.java:498) - at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) - at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) - at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) - at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) - at org.springframework.test.context.junit4.statements.RunBeforeTestExecutionCallbacks.evaluate(RunBeforeTestExecutionCallbacks.java:74) - at org.springframework.test.context.junit4.statements.RunAfterTestExecutionCallbacks.evaluate(RunAfterTestExecutionCallbacks.java:84) - at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) - at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75) - at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86) - at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84) - at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) - at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:251) - at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97) - at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) - at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) - at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) - at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) - at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) - at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) - at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70) - at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) - at org.junit.runners.ParentRunner.run(ParentRunner.java:413) - at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190) - at org.junit.runner.JUnitCore.run(JUnitCore.java:137) - at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69) - at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38) - at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11) - at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35) - at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:232) - at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:55) -Caused by: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '700091009111' for key 'raffle_activity_order_001.uq_out_business_no' - at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:117) - at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97) - at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) - at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:953) - at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:370) - at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) - at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) - at org.apache.ibatis.executor.statement.PreparedStatementHandler.update(PreparedStatementHandler.java:47) - at org.apache.ibatis.executor.statement.RoutingStatementHandler.update(RoutingStatementHandler.java:74) - at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) - at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) - at java.lang.reflect.Method.invoke(Method.java:498) - at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:63) - at com.sun.proxy.$Proxy180.update(Unknown Source) - at org.apache.ibatis.executor.SimpleExecutor.doUpdate(SimpleExecutor.java:50) - at org.apache.ibatis.executor.BaseExecutor.update(BaseExecutor.java:117) - at org.apache.ibatis.executor.CachingExecutor.update(CachingExecutor.java:76) - at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:197) - at org.apache.ibatis.session.defaults.DefaultSqlSession.insert(DefaultSqlSession.java:184) - at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) - at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) - at java.lang.reflect.Method.invoke(Method.java:498) - at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:427) - ... 77 common frames omitted -24-12-03.20:40:20.863 [main ] WARN RaffleOrderTest - 活动库存不足 -24-12-03.20:40:20.873 [main ] WARN RaffleOrderTest - 活动库存不足 -24-12-03.20:40:20.884 [main ] WARN RaffleOrderTest - 活动库存不足 -24-12-03.20:40:20.894 [main ] WARN RaffleOrderTest - 活动库存不足 -24-12-03.20:40:20.903 [main ] WARN RaffleOrderTest - 活动库存不足 diff --git a/bigmarket-app/data/log/log_info.log b/bigmarket-app/data/log/log_info.log index f092026..33b98da 100644 --- a/bigmarket-app/data/log/log_info.log +++ b/bigmarket-app/data/log/log_info.log @@ -1,14 +1,14 @@ -24-12-03.20:27:57.461 [main ] INFO RaffleOrderTest - Starting RaffleOrderTest using Java 1.8.0_412 on zhaoyongfeng with PID 7076 (started by zhaoyongfeng in C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app) -24-12-03.20:27:57.463 [main ] INFO RaffleOrderTest - The following 1 profile is active: "dev" -24-12-03.20:27:58.985 [main ] INFO RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode -24-12-03.20:27:58.992 [main ] INFO RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. -24-12-03.20:27:59.126 [main ] INFO RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 108 ms. Found 0 Redis repository interfaces. -24-12-03.20:28:00.840 [main ] WARN GenericWebApplicationContext - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'raffleController': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'defaultRaffleStrategy' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-domain\target\classes\cn\bugstack\domain\strategy\service\raffle\DefaultRaffleStrategy.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap -24-12-03.20:28:00.852 [main ] INFO ConditionEvaluationReportLoggingListener - +24-12-09.17:53:27.008 [main ] INFO AwardServiceTest - Starting AwardServiceTest using Java 1.8.0_412 on zhaoyongfeng with PID 24824 (started by zhaoyongfeng in C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app) +24-12-09.17:53:27.010 [main ] INFO AwardServiceTest - The following 1 profile is active: "dev" +24-12-09.17:53:29.249 [main ] INFO RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode +24-12-09.17:53:29.256 [main ] INFO RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. +24-12-09.17:53:29.454 [main ] INFO RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 173 ms. Found 0 Redis repository interfaces. +24-12-09.17:53:31.938 [main ] WARN GenericWebApplicationContext - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'raffleController': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'defaultRaffleStrategy' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-domain\target\classes\cn\bugstack\domain\strategy\service\raffle\DefaultRaffleStrategy.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for cn.bugstack.infrastructure.persistent.dao.IUserAwardRecordDao.insert. please check file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\IAwardRepository.xml] and file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml] +24-12-09.17:53:31.954 [main ] INFO ConditionEvaluationReportLoggingListener - Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled. -24-12-03.20:28:00.884 [main ] ERROR SpringApplication - Application run failed -org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'raffleController': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'defaultRaffleStrategy' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-domain\target\classes\cn\bugstack\domain\strategy\service\raffle\DefaultRaffleStrategy.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap +24-12-09.17:53:31.993 [main ] ERROR SpringApplication - Application run failed +org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'raffleController': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'defaultRaffleStrategy' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-domain\target\classes\cn\bugstack\domain\strategy\service\raffle\DefaultRaffleStrategy.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for cn.bugstack.infrastructure.persistent.dao.IUserAwardRecordDao.insert. please check file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\IAwardRepository.xml] and file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml] at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:332) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1431) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619) @@ -53,7 +53,7 @@ org.springframework.beans.factory.BeanCreationException: Error creating bean wit at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35) at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:232) at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:55) -Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'defaultRaffleStrategy' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-domain\target\classes\cn\bugstack\domain\strategy\service\raffle\DefaultRaffleStrategy.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap +Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'defaultRaffleStrategy' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-domain\target\classes\cn\bugstack\domain\strategy\service\raffle\DefaultRaffleStrategy.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for cn.bugstack.infrastructure.persistent.dao.IUserAwardRecordDao.insert. please check file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\IAwardRepository.xml] and file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml] at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:800) at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:229) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1372) @@ -74,7 +74,7 @@ Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Err at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119) at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:329) ... 43 common frames omitted -Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap +Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for cn.bugstack.infrastructure.persistent.dao.IUserAwardRecordDao.insert. please check file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\IAwardRepository.xml] and file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml] at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:332) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1431) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619) @@ -89,7 +89,7 @@ Caused by: org.springframework.beans.factory.BeanCreationException: Error creati at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:887) at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791) ... 61 common frames omitted -Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap +Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for cn.bugstack.infrastructure.persistent.dao.IUserAwardRecordDao.insert. please check file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\IAwardRepository.xml] and file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireByType(AbstractAutowireCapableBeanFactory.java:1534) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1417) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619) @@ -108,7 +108,7 @@ Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Err at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119) at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:329) ... 73 common frames omitted -Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap +Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for cn.bugstack.infrastructure.persistent.dao.IUserAwardRecordDao.insert. please check file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\IAwardRepository.xml] and file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml] at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:658) at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:638) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1352) @@ -124,43 +124,42 @@ Caused by: org.springframework.beans.factory.BeanCreationException: Error creati at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireByType(AbstractAutowireCapableBeanFactory.java:1519) ... 89 common frames omitted -Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap +Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for cn.bugstack.infrastructure.persistent.dao.IUserAwardRecordDao.insert. please check file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\IAwardRepository.xml] and file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml] at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185) at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) ... 102 common frames omitted -Caused by: org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap +Caused by: org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for cn.bugstack.infrastructure.persistent.dao.IUserAwardRecordDao.insert. please check file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\IAwardRepository.xml] and file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml] at org.mybatis.spring.SqlSessionFactoryBean.buildSqlSessionFactory(SqlSessionFactoryBean.java:613) at org.mybatis.spring.SqlSessionFactoryBean.afterPropertiesSet(SqlSessionFactoryBean.java:491) at org.mybatis.spring.SqlSessionFactoryBean.getObject(SqlSessionFactoryBean.java:633) at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration.sqlSessionFactory(MybatisAutoConfiguration.java:179) - at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration$$EnhancerBySpringCGLIB$$8340bd8e.CGLIB$sqlSessionFactory$0() - at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration$$EnhancerBySpringCGLIB$$8340bd8e$$FastClassBySpringCGLIB$$6d994854.invoke() + at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration$$EnhancerBySpringCGLIB$$22134bf4.CGLIB$sqlSessionFactory$0() + at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration$$EnhancerBySpringCGLIB$$22134bf4$$FastClassBySpringCGLIB$$c462d14c.invoke() at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:244) at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:331) - at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration$$EnhancerBySpringCGLIB$$8340bd8e.sqlSessionFactory() + at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration$$EnhancerBySpringCGLIB$$22134bf4.sqlSessionFactory() at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) ... 103 common frames omitted -Caused by: org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap +Caused by: org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for cn.bugstack.infrastructure.persistent.dao.IUserAwardRecordDao.insert. please check file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\IAwardRepository.xml] and file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml] at org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:123) at org.apache.ibatis.builder.xml.XMLMapperBuilder.parse(XMLMapperBuilder.java:95) at org.mybatis.spring.SqlSessionFactoryBean.buildSqlSessionFactory(SqlSessionFactoryBean.java:611) ... 116 common frames omitted -Caused by: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap +Caused by: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for cn.bugstack.infrastructure.persistent.dao.IUserAwardRecordDao.insert. please check file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\IAwardRepository.xml] and file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml] at org.apache.ibatis.session.Configuration$StrictMap.put(Configuration.java:1014) at org.apache.ibatis.session.Configuration$StrictMap.put(Configuration.java:970) - at org.apache.ibatis.session.Configuration.addResultMap(Configuration.java:726) - at org.apache.ibatis.builder.MapperBuilderAssistant.addResultMap(MapperBuilderAssistant.java:209) - at org.apache.ibatis.builder.ResultMapResolver.resolve(ResultMapResolver.java:47) - at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElement(XMLMapperBuilder.java:289) - at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElement(XMLMapperBuilder.java:254) - at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElements(XMLMapperBuilder.java:246) - at org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:119) + at org.apache.ibatis.session.Configuration.addMappedStatement(Configuration.java:768) + at org.apache.ibatis.builder.MapperBuilderAssistant.addMappedStatement(MapperBuilderAssistant.java:297) + at org.apache.ibatis.builder.xml.XMLStatementBuilder.parseStatementNode(XMLStatementBuilder.java:113) + at org.apache.ibatis.builder.xml.XMLMapperBuilder.buildStatementFromContext(XMLMapperBuilder.java:138) + at org.apache.ibatis.builder.xml.XMLMapperBuilder.buildStatementFromContext(XMLMapperBuilder.java:131) + at org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:121) ... 118 common frames omitted -24-12-03.20:28:00.887 [main ] ERROR TestContextManager - Caught exception while allowing TestExecutionListener [org.springframework.test.context.web.ServletTestExecutionListener@f79e] to prepare test instance [cn.bugstack.test.domain.activity.RaffleOrderTest@317890ea] +24-12-09.17:53:32.021 [main ] ERROR TestContextManager - Caught exception while allowing TestExecutionListener [org.springframework.test.context.web.ServletTestExecutionListener@5b94b04d] to prepare test instance [cn.bugstack.test.award.AwardServiceTest@59498d94] java.lang.IllegalStateException: Failed to load ApplicationContext at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:98) at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:124) @@ -190,7 +189,7 @@ java.lang.IllegalStateException: Failed to load ApplicationContext at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35) at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:232) at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:55) -Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'raffleController': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'defaultRaffleStrategy' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-domain\target\classes\cn\bugstack\domain\strategy\service\raffle\DefaultRaffleStrategy.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap +Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'raffleController': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'defaultRaffleStrategy' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-domain\target\classes\cn\bugstack\domain\strategy\service\raffle\DefaultRaffleStrategy.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for cn.bugstack.infrastructure.persistent.dao.IUserAwardRecordDao.insert. please check file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\IAwardRepository.xml] and file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml] at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:332) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1431) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619) @@ -209,7 +208,7 @@ Caused by: org.springframework.beans.factory.BeanCreationException: Error creati at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:141) at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:90) ... 27 common frames omitted -Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'defaultRaffleStrategy' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-domain\target\classes\cn\bugstack\domain\strategy\service\raffle\DefaultRaffleStrategy.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap +Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'defaultRaffleStrategy' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-domain\target\classes\cn\bugstack\domain\strategy\service\raffle\DefaultRaffleStrategy.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for cn.bugstack.infrastructure.persistent.dao.IUserAwardRecordDao.insert. please check file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\IAwardRepository.xml] and file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml] at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:800) at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:229) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1372) @@ -230,7 +229,7 @@ Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Err at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119) at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:329) ... 43 common frames omitted -Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap +Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for cn.bugstack.infrastructure.persistent.dao.IUserAwardRecordDao.insert. please check file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\IAwardRepository.xml] and file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml] at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:332) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1431) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619) @@ -245,7 +244,7 @@ Caused by: org.springframework.beans.factory.BeanCreationException: Error creati at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:887) at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791) ... 61 common frames omitted -Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap +Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for cn.bugstack.infrastructure.persistent.dao.IUserAwardRecordDao.insert. please check file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\IAwardRepository.xml] and file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireByType(AbstractAutowireCapableBeanFactory.java:1534) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1417) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619) @@ -264,7 +263,7 @@ Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Err at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119) at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:329) ... 73 common frames omitted -Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap +Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for cn.bugstack.infrastructure.persistent.dao.IUserAwardRecordDao.insert. please check file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\IAwardRepository.xml] and file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml] at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:658) at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:638) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1352) @@ -280,53 +279,52 @@ Caused by: org.springframework.beans.factory.BeanCreationException: Error creati at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireByType(AbstractAutowireCapableBeanFactory.java:1519) ... 89 common frames omitted -Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap +Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for cn.bugstack.infrastructure.persistent.dao.IUserAwardRecordDao.insert. please check file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\IAwardRepository.xml] and file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml] at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185) at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) ... 102 common frames omitted -Caused by: org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap +Caused by: org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for cn.bugstack.infrastructure.persistent.dao.IUserAwardRecordDao.insert. please check file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\IAwardRepository.xml] and file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml] at org.mybatis.spring.SqlSessionFactoryBean.buildSqlSessionFactory(SqlSessionFactoryBean.java:613) at org.mybatis.spring.SqlSessionFactoryBean.afterPropertiesSet(SqlSessionFactoryBean.java:491) at org.mybatis.spring.SqlSessionFactoryBean.getObject(SqlSessionFactoryBean.java:633) at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration.sqlSessionFactory(MybatisAutoConfiguration.java:179) - at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration$$EnhancerBySpringCGLIB$$8340bd8e.CGLIB$sqlSessionFactory$0() - at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration$$EnhancerBySpringCGLIB$$8340bd8e$$FastClassBySpringCGLIB$$6d994854.invoke() + at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration$$EnhancerBySpringCGLIB$$22134bf4.CGLIB$sqlSessionFactory$0() + at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration$$EnhancerBySpringCGLIB$$22134bf4$$FastClassBySpringCGLIB$$c462d14c.invoke() at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:244) at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:331) - at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration$$EnhancerBySpringCGLIB$$8340bd8e.sqlSessionFactory() + at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration$$EnhancerBySpringCGLIB$$22134bf4.sqlSessionFactory() at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) ... 103 common frames omitted -Caused by: org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap +Caused by: org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for cn.bugstack.infrastructure.persistent.dao.IUserAwardRecordDao.insert. please check file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\IAwardRepository.xml] and file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml] at org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:123) at org.apache.ibatis.builder.xml.XMLMapperBuilder.parse(XMLMapperBuilder.java:95) at org.mybatis.spring.SqlSessionFactoryBean.buildSqlSessionFactory(SqlSessionFactoryBean.java:611) ... 116 common frames omitted -Caused by: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap +Caused by: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for cn.bugstack.infrastructure.persistent.dao.IUserAwardRecordDao.insert. please check file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\IAwardRepository.xml] and file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml] at org.apache.ibatis.session.Configuration$StrictMap.put(Configuration.java:1014) at org.apache.ibatis.session.Configuration$StrictMap.put(Configuration.java:970) - at org.apache.ibatis.session.Configuration.addResultMap(Configuration.java:726) - at org.apache.ibatis.builder.MapperBuilderAssistant.addResultMap(MapperBuilderAssistant.java:209) - at org.apache.ibatis.builder.ResultMapResolver.resolve(ResultMapResolver.java:47) - at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElement(XMLMapperBuilder.java:289) - at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElement(XMLMapperBuilder.java:254) - at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElements(XMLMapperBuilder.java:246) - at org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:119) + at org.apache.ibatis.session.Configuration.addMappedStatement(Configuration.java:768) + at org.apache.ibatis.builder.MapperBuilderAssistant.addMappedStatement(MapperBuilderAssistant.java:297) + at org.apache.ibatis.builder.xml.XMLStatementBuilder.parseStatementNode(XMLStatementBuilder.java:113) + at org.apache.ibatis.builder.xml.XMLMapperBuilder.buildStatementFromContext(XMLMapperBuilder.java:138) + at org.apache.ibatis.builder.xml.XMLMapperBuilder.buildStatementFromContext(XMLMapperBuilder.java:131) + at org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:121) ... 118 common frames omitted -24-12-03.20:31:36.064 [main ] INFO RaffleOrderTest - Starting RaffleOrderTest using Java 1.8.0_412 on zhaoyongfeng with PID 20188 (started by zhaoyongfeng in C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app) -24-12-03.20:31:36.066 [main ] INFO RaffleOrderTest - The following 1 profile is active: "dev" -24-12-03.20:31:37.336 [main ] INFO RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode -24-12-03.20:31:37.340 [main ] INFO RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. -24-12-03.20:31:37.444 [main ] INFO RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 90 ms. Found 0 Redis repository interfaces. -24-12-03.20:31:39.016 [main ] WARN GenericWebApplicationContext - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'raffleController': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'defaultRaffleStrategy' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-domain\target\classes\cn\bugstack\domain\strategy\service\raffle\DefaultRaffleStrategy.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap -24-12-03.20:31:39.028 [main ] INFO ConditionEvaluationReportLoggingListener - +24-12-09.17:54:14.512 [main ] INFO AwardServiceTest - Starting AwardServiceTest using Java 1.8.0_412 on zhaoyongfeng with PID 24620 (started by zhaoyongfeng in C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app) +24-12-09.17:54:14.513 [main ] INFO AwardServiceTest - The following 1 profile is active: "dev" +24-12-09.17:54:16.013 [main ] INFO RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode +24-12-09.17:54:16.018 [main ] INFO RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. +24-12-09.17:54:16.213 [main ] INFO RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 165 ms. Found 0 Redis repository interfaces. +24-12-09.17:54:18.117 [main ] WARN GenericWebApplicationContext - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'raffleController': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'defaultRaffleStrategy' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-domain\target\classes\cn\bugstack\domain\strategy\service\raffle\DefaultRaffleStrategy.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for cn.bugstack.infrastructure.persistent.dao.IUserAwardRecordDao.insert. please check file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\IAwardRepository.xml] and file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml] +24-12-09.17:54:18.130 [main ] INFO ConditionEvaluationReportLoggingListener - Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled. -24-12-03.20:31:39.055 [main ] ERROR SpringApplication - Application run failed -org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'raffleController': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'defaultRaffleStrategy' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-domain\target\classes\cn\bugstack\domain\strategy\service\raffle\DefaultRaffleStrategy.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap +24-12-09.17:54:18.166 [main ] ERROR SpringApplication - Application run failed +org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'raffleController': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'defaultRaffleStrategy' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-domain\target\classes\cn\bugstack\domain\strategy\service\raffle\DefaultRaffleStrategy.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for cn.bugstack.infrastructure.persistent.dao.IUserAwardRecordDao.insert. please check file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\IAwardRepository.xml] and file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml] at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:332) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1431) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619) @@ -371,7 +369,7 @@ org.springframework.beans.factory.BeanCreationException: Error creating bean wit at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35) at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:232) at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:55) -Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'defaultRaffleStrategy' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-domain\target\classes\cn\bugstack\domain\strategy\service\raffle\DefaultRaffleStrategy.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap +Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'defaultRaffleStrategy' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-domain\target\classes\cn\bugstack\domain\strategy\service\raffle\DefaultRaffleStrategy.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for cn.bugstack.infrastructure.persistent.dao.IUserAwardRecordDao.insert. please check file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\IAwardRepository.xml] and file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml] at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:800) at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:229) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1372) @@ -392,7 +390,7 @@ Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Err at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119) at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:329) ... 43 common frames omitted -Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap +Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for cn.bugstack.infrastructure.persistent.dao.IUserAwardRecordDao.insert. please check file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\IAwardRepository.xml] and file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml] at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:332) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1431) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619) @@ -407,7 +405,7 @@ Caused by: org.springframework.beans.factory.BeanCreationException: Error creati at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:887) at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791) ... 61 common frames omitted -Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap +Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for cn.bugstack.infrastructure.persistent.dao.IUserAwardRecordDao.insert. please check file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\IAwardRepository.xml] and file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireByType(AbstractAutowireCapableBeanFactory.java:1534) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1417) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619) @@ -426,7 +424,7 @@ Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Err at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119) at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:329) ... 73 common frames omitted -Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap +Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for cn.bugstack.infrastructure.persistent.dao.IUserAwardRecordDao.insert. please check file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\IAwardRepository.xml] and file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml] at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:658) at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:638) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1352) @@ -442,43 +440,42 @@ Caused by: org.springframework.beans.factory.BeanCreationException: Error creati at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireByType(AbstractAutowireCapableBeanFactory.java:1519) ... 89 common frames omitted -Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap +Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for cn.bugstack.infrastructure.persistent.dao.IUserAwardRecordDao.insert. please check file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\IAwardRepository.xml] and file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml] at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185) at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) ... 102 common frames omitted -Caused by: org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap +Caused by: org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for cn.bugstack.infrastructure.persistent.dao.IUserAwardRecordDao.insert. please check file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\IAwardRepository.xml] and file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml] at org.mybatis.spring.SqlSessionFactoryBean.buildSqlSessionFactory(SqlSessionFactoryBean.java:613) at org.mybatis.spring.SqlSessionFactoryBean.afterPropertiesSet(SqlSessionFactoryBean.java:491) at org.mybatis.spring.SqlSessionFactoryBean.getObject(SqlSessionFactoryBean.java:633) at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration.sqlSessionFactory(MybatisAutoConfiguration.java:179) - at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration$$EnhancerBySpringCGLIB$$8340bd8e.CGLIB$sqlSessionFactory$1() - at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration$$EnhancerBySpringCGLIB$$8340bd8e$$FastClassBySpringCGLIB$$6d994854.invoke() + at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration$$EnhancerBySpringCGLIB$$22134bf4.CGLIB$sqlSessionFactory$0() + at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration$$EnhancerBySpringCGLIB$$22134bf4$$FastClassBySpringCGLIB$$c462d14c.invoke() at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:244) at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:331) - at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration$$EnhancerBySpringCGLIB$$8340bd8e.sqlSessionFactory() + at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration$$EnhancerBySpringCGLIB$$22134bf4.sqlSessionFactory() at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) ... 103 common frames omitted -Caused by: org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap +Caused by: org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for cn.bugstack.infrastructure.persistent.dao.IUserAwardRecordDao.insert. please check file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\IAwardRepository.xml] and file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml] at org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:123) at org.apache.ibatis.builder.xml.XMLMapperBuilder.parse(XMLMapperBuilder.java:95) at org.mybatis.spring.SqlSessionFactoryBean.buildSqlSessionFactory(SqlSessionFactoryBean.java:611) ... 116 common frames omitted -Caused by: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap +Caused by: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for cn.bugstack.infrastructure.persistent.dao.IUserAwardRecordDao.insert. please check file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\IAwardRepository.xml] and file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml] at org.apache.ibatis.session.Configuration$StrictMap.put(Configuration.java:1014) at org.apache.ibatis.session.Configuration$StrictMap.put(Configuration.java:970) - at org.apache.ibatis.session.Configuration.addResultMap(Configuration.java:726) - at org.apache.ibatis.builder.MapperBuilderAssistant.addResultMap(MapperBuilderAssistant.java:209) - at org.apache.ibatis.builder.ResultMapResolver.resolve(ResultMapResolver.java:47) - at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElement(XMLMapperBuilder.java:289) - at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElement(XMLMapperBuilder.java:254) - at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElements(XMLMapperBuilder.java:246) - at org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:119) + at org.apache.ibatis.session.Configuration.addMappedStatement(Configuration.java:768) + at org.apache.ibatis.builder.MapperBuilderAssistant.addMappedStatement(MapperBuilderAssistant.java:297) + at org.apache.ibatis.builder.xml.XMLStatementBuilder.parseStatementNode(XMLStatementBuilder.java:113) + at org.apache.ibatis.builder.xml.XMLMapperBuilder.buildStatementFromContext(XMLMapperBuilder.java:138) + at org.apache.ibatis.builder.xml.XMLMapperBuilder.buildStatementFromContext(XMLMapperBuilder.java:131) + at org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:121) ... 118 common frames omitted -24-12-03.20:31:39.059 [main ] ERROR TestContextManager - Caught exception while allowing TestExecutionListener [org.springframework.test.context.web.ServletTestExecutionListener@f79e] to prepare test instance [cn.bugstack.test.domain.activity.RaffleOrderTest@317890ea] +24-12-09.17:54:18.170 [main ] ERROR TestContextManager - Caught exception while allowing TestExecutionListener [org.springframework.test.context.web.ServletTestExecutionListener@5b94b04d] to prepare test instance [cn.bugstack.test.award.AwardServiceTest@59498d94] java.lang.IllegalStateException: Failed to load ApplicationContext at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:98) at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:124) @@ -508,7 +505,7 @@ java.lang.IllegalStateException: Failed to load ApplicationContext at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35) at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:232) at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:55) -Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'raffleController': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'defaultRaffleStrategy' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-domain\target\classes\cn\bugstack\domain\strategy\service\raffle\DefaultRaffleStrategy.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap +Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'raffleController': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'defaultRaffleStrategy' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-domain\target\classes\cn\bugstack\domain\strategy\service\raffle\DefaultRaffleStrategy.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for cn.bugstack.infrastructure.persistent.dao.IUserAwardRecordDao.insert. please check file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\IAwardRepository.xml] and file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml] at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:332) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1431) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619) @@ -527,7 +524,7 @@ Caused by: org.springframework.beans.factory.BeanCreationException: Error creati at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:141) at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:90) ... 27 common frames omitted -Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'defaultRaffleStrategy' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-domain\target\classes\cn\bugstack\domain\strategy\service\raffle\DefaultRaffleStrategy.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap +Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'defaultRaffleStrategy' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-domain\target\classes\cn\bugstack\domain\strategy\service\raffle\DefaultRaffleStrategy.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for cn.bugstack.infrastructure.persistent.dao.IUserAwardRecordDao.insert. please check file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\IAwardRepository.xml] and file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml] at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:800) at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:229) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1372) @@ -548,7 +545,7 @@ Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Err at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119) at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:329) ... 43 common frames omitted -Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap +Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'strategyRepository': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for cn.bugstack.infrastructure.persistent.dao.IUserAwardRecordDao.insert. please check file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\IAwardRepository.xml] and file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml] at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:332) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1431) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619) @@ -563,7 +560,7 @@ Caused by: org.springframework.beans.factory.BeanCreationException: Error creati at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:887) at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791) ... 61 common frames omitted -Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap +Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'IStrategyDao' defined in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-infrastructure\target\classes\cn\bugstack\infrastructure\persistent\dao\IStrategyDao.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for cn.bugstack.infrastructure.persistent.dao.IUserAwardRecordDao.insert. please check file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\IAwardRepository.xml] and file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireByType(AbstractAutowireCapableBeanFactory.java:1534) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1417) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619) @@ -582,7 +579,7 @@ Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Err at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119) at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:329) ... 73 common frames omitted -Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap +Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for cn.bugstack.infrastructure.persistent.dao.IUserAwardRecordDao.insert. please check file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\IAwardRepository.xml] and file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml] at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:658) at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:638) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1352) @@ -598,592 +595,38 @@ Caused by: org.springframework.beans.factory.BeanCreationException: Error creati at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireByType(AbstractAutowireCapableBeanFactory.java:1519) ... 89 common frames omitted -Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap +Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for cn.bugstack.infrastructure.persistent.dao.IUserAwardRecordDao.insert. please check file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\IAwardRepository.xml] and file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml] at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185) at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) ... 102 common frames omitted -Caused by: org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap +Caused by: org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for cn.bugstack.infrastructure.persistent.dao.IUserAwardRecordDao.insert. please check file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\IAwardRepository.xml] and file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml] at org.mybatis.spring.SqlSessionFactoryBean.buildSqlSessionFactory(SqlSessionFactoryBean.java:613) at org.mybatis.spring.SqlSessionFactoryBean.afterPropertiesSet(SqlSessionFactoryBean.java:491) at org.mybatis.spring.SqlSessionFactoryBean.getObject(SqlSessionFactoryBean.java:633) at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration.sqlSessionFactory(MybatisAutoConfiguration.java:179) - at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration$$EnhancerBySpringCGLIB$$8340bd8e.CGLIB$sqlSessionFactory$1() - at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration$$EnhancerBySpringCGLIB$$8340bd8e$$FastClassBySpringCGLIB$$6d994854.invoke() + at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration$$EnhancerBySpringCGLIB$$22134bf4.CGLIB$sqlSessionFactory$0() + at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration$$EnhancerBySpringCGLIB$$22134bf4$$FastClassBySpringCGLIB$$c462d14c.invoke() at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:244) at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:331) - at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration$$EnhancerBySpringCGLIB$$8340bd8e.sqlSessionFactory() + at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration$$EnhancerBySpringCGLIB$$22134bf4.sqlSessionFactory() at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) ... 103 common frames omitted -Caused by: org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_oreder_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap +Caused by: org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml]'. Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for cn.bugstack.infrastructure.persistent.dao.IUserAwardRecordDao.insert. please check file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\IAwardRepository.xml] and file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml] at org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:123) at org.apache.ibatis.builder.xml.XMLMapperBuilder.parse(XMLMapperBuilder.java:95) at org.mybatis.spring.SqlSessionFactoryBean.buildSqlSessionFactory(SqlSessionFactoryBean.java:611) ... 116 common frames omitted -Caused by: java.lang.IllegalArgumentException: Result Maps collection already contains value for cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.dataMap +Caused by: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for cn.bugstack.infrastructure.persistent.dao.IUserAwardRecordDao.insert. please check file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\IAwardRepository.xml] and file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\user_award_record_mapper.xml] at org.apache.ibatis.session.Configuration$StrictMap.put(Configuration.java:1014) at org.apache.ibatis.session.Configuration$StrictMap.put(Configuration.java:970) - at org.apache.ibatis.session.Configuration.addResultMap(Configuration.java:726) - at org.apache.ibatis.builder.MapperBuilderAssistant.addResultMap(MapperBuilderAssistant.java:209) - at org.apache.ibatis.builder.ResultMapResolver.resolve(ResultMapResolver.java:47) - at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElement(XMLMapperBuilder.java:289) - at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElement(XMLMapperBuilder.java:254) - at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElements(XMLMapperBuilder.java:246) - at org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:119) + at org.apache.ibatis.session.Configuration.addMappedStatement(Configuration.java:768) + at org.apache.ibatis.builder.MapperBuilderAssistant.addMappedStatement(MapperBuilderAssistant.java:297) + at org.apache.ibatis.builder.xml.XMLStatementBuilder.parseStatementNode(XMLStatementBuilder.java:113) + at org.apache.ibatis.builder.xml.XMLMapperBuilder.buildStatementFromContext(XMLMapperBuilder.java:138) + at org.apache.ibatis.builder.xml.XMLMapperBuilder.buildStatementFromContext(XMLMapperBuilder.java:131) + at org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:121) ... 118 common frames omitted -24-12-03.20:34:33.796 [main ] INFO RaffleOrderTest - Starting RaffleOrderTest using Java 1.8.0_412 on zhaoyongfeng with PID 7076 (started by zhaoyongfeng in C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app) -24-12-03.20:34:33.797 [main ] INFO RaffleOrderTest - The following 1 profile is active: "dev" -24-12-03.20:34:35.107 [main ] INFO RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode -24-12-03.20:34:35.111 [main ] INFO RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. -24-12-03.20:34:35.218 [main ] INFO RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 88 ms. Found 0 Redis repository interfaces. -24-12-03.20:34:38.322 [main ] INFO Version - Redisson 3.23.4 -24-12-03.20:34:39.858 [redisson-netty-2-4] INFO MasterPubSubConnectionPool - 1 connections initialized for 127.0.0.1/127.0.0.1:16379 -24-12-03.20:34:39.870 [redisson-netty-2-13] INFO MasterConnectionPool - 5 connections initialized for 127.0.0.1/127.0.0.1:16379 -24-12-03.20:34:43.233 [main ] INFO EndpointLinksResolver - Exposing 1 endpoint(s) beneath base path '/actuator' -24-12-03.20:34:43.372 [main ] INFO CachingConnectionFactory - Attempting to connect to: [127.0.0.1:5672] -24-12-03.20:34:43.478 [main ] INFO CachingConnectionFactory - Created new connection: rabbitConnectionFactory#b75b890:0/SimpleConnection@7612116b [delegate=amqp://admin@127.0.0.1:5672/, localPort= 49638] -24-12-03.20:34:43.575 [main ] INFO RaffleOrderTest - Started RaffleOrderTest in 10.372 seconds (JVM running for 11.619) -24-12-03.20:34:43.929 [main ] INFO HikariDataSource - Retail_HikariCP - Starting... -24-12-03.20:34:44.185 [main ] INFO HikariDataSource - Retail_HikariCP - Start completed. -24-12-03.20:34:44.332 [main ] INFO RaffleOrderTest - 装配活动:true -24-12-03.20:34:44.353 [main ] INFO ActivityBaseActionChain - 活动责任链-基础信息【有效期、状态、库存(sku)】校验开始。sku:9011 activityId:100301 -24-12-03.20:34:44.354 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】开始。sku:9011 activityId:100301 -24-12-03.20:34:44.358 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】成功。sku:9011 activityId:100301 -24-12-03.20:34:44.392 [main ] INFO HikariDataSource - Retail_HikariCP - Starting... -24-12-03.20:34:44.410 [main ] INFO HikariDataSource - Retail_HikariCP - Start completed. -24-12-03.20:34:44.500 [main ] ERROR ActivityRepository - 写入订单记录,唯一索引冲突 userId: xiaofuge activityId: 100301 sku: 9011 -org.springframework.dao.DuplicateKeyException: -### Error updating database. Cause: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '700091009111' for key 'raffle_activity_order_001.uq_out_business_no' -### The error may exist in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_order_mapper.xml] -### The error may involve cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.insert-Inline -### The error occurred while setting parameters -### SQL: insert into raffle_activity_order_001 (user_id, sku, activity_id, activity_name, strategy_id, order_id, order_time, state, out_business_no, total_count, day_count, month_count, create_time, update_time) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, now(), now()) -### Cause: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '700091009111' for key 'raffle_activity_order_001.uq_out_business_no' -; Duplicate entry '700091009111' for key 'raffle_activity_order_001.uq_out_business_no'; nested exception is java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '700091009111' for key 'raffle_activity_order_001.uq_out_business_no' - at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:247) - at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:70) - at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:91) - at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:441) - at com.sun.proxy.$Proxy107.insert(Unknown Source) - at org.mybatis.spring.SqlSessionTemplate.insert(SqlSessionTemplate.java:272) - at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:62) - at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:152) - at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:85) - at com.sun.proxy.$Proxy120.insert(Unknown Source) - at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) - at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) - at java.lang.reflect.Method.invoke(Method.java:498) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344) - at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198) - at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) - at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89) - at cn.bugstack.middleware.db.router.DBRouterJoinPoint.doRouter(DBRouterJoinPoint.java:65) - at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) - at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) - at java.lang.reflect.Method.invoke(Method.java:498) - at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634) - at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624) - at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72) - at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175) - at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) - at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) - at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:220) - at com.sun.proxy.$Proxy121.insert(Unknown Source) - at cn.bugstack.infrastructure.persistent.repository.ActivityRepository.lambda$doSaveOrder$0(ActivityRepository.java:155) - at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140) - at cn.bugstack.infrastructure.persistent.repository.ActivityRepository.doSaveOrder(ActivityRepository.java:152) - at cn.bugstack.infrastructure.persistent.repository.ActivityRepository$$FastClassBySpringCGLIB$$5fc4459a.invoke() - at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) - at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:793) - at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) - at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) - at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137) - at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) - at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:708) - at cn.bugstack.infrastructure.persistent.repository.ActivityRepository$$EnhancerBySpringCGLIB$$1783fa1d.doSaveOrder() - at cn.bugstack.domain.activity.service.RaffleActivityService.doSaveOrder(RaffleActivityService.java:58) - at cn.bugstack.domain.activity.service.AbstractRaffleActivity.createSkuRechargeOrder(AbstractRaffleActivity.java:51) - at cn.bugstack.test.domain.activity.RaffleOrderTest.test_createSkuRechargeOrder_duplicate(RaffleOrderTest.java:45) - at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) - at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) - at java.lang.reflect.Method.invoke(Method.java:498) - at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) - at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) - at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) - at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) - at org.springframework.test.context.junit4.statements.RunBeforeTestExecutionCallbacks.evaluate(RunBeforeTestExecutionCallbacks.java:74) - at org.springframework.test.context.junit4.statements.RunAfterTestExecutionCallbacks.evaluate(RunAfterTestExecutionCallbacks.java:84) - at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) - at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75) - at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86) - at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84) - at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) - at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:251) - at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97) - at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) - at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) - at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) - at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) - at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) - at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) - at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70) - at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) - at org.junit.runners.ParentRunner.run(ParentRunner.java:413) - at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190) - at org.junit.runner.JUnitCore.run(JUnitCore.java:137) - at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69) - at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38) - at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11) - at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35) - at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:232) - at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:55) -Caused by: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '700091009111' for key 'raffle_activity_order_001.uq_out_business_no' - at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:117) - at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97) - at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) - at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:953) - at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:370) - at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) - at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) - at org.apache.ibatis.executor.statement.PreparedStatementHandler.update(PreparedStatementHandler.java:47) - at org.apache.ibatis.executor.statement.RoutingStatementHandler.update(RoutingStatementHandler.java:74) - at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) - at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) - at java.lang.reflect.Method.invoke(Method.java:498) - at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:63) - at com.sun.proxy.$Proxy194.update(Unknown Source) - at org.apache.ibatis.executor.SimpleExecutor.doUpdate(SimpleExecutor.java:50) - at org.apache.ibatis.executor.BaseExecutor.update(BaseExecutor.java:117) - at org.apache.ibatis.executor.CachingExecutor.update(CachingExecutor.java:76) - at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:197) - at org.apache.ibatis.session.defaults.DefaultSqlSession.insert(DefaultSqlSession.java:184) - at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) - at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) - at java.lang.reflect.Method.invoke(Method.java:498) - at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:427) - ... 77 common frames omitted -24-12-03.20:34:44.529 [org.springframework.amqp.rabbit.RabbitListenerEndpointContainer#0-2] INFO SimpleMessageListenerContainer - Waiting for workers to finish. -24-12-03.20:34:44.560 [org.springframework.amqp.rabbit.RabbitListenerEndpointContainer#0-2] INFO SimpleMessageListenerContainer - Successfully waited for workers to finish. -24-12-03.20:34:44.562 [SpringApplicationShutdownHook] INFO SimpleMessageListenerContainer - Shutdown ignored - container is already stopped -24-12-03.20:37:24.223 [main ] INFO RaffleOrderTest - Starting RaffleOrderTest using Java 1.8.0_412 on zhaoyongfeng with PID 22752 (started by zhaoyongfeng in C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app) -24-12-03.20:37:24.225 [main ] INFO RaffleOrderTest - The following 1 profile is active: "dev" -24-12-03.20:37:25.694 [main ] INFO RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode -24-12-03.20:37:25.698 [main ] INFO RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. -24-12-03.20:37:25.816 [main ] INFO RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 102 ms. Found 0 Redis repository interfaces. -24-12-03.20:37:28.834 [main ] INFO Version - Redisson 3.23.4 -24-12-03.20:37:30.378 [redisson-netty-2-5] INFO MasterPubSubConnectionPool - 1 connections initialized for 127.0.0.1/127.0.0.1:16379 -24-12-03.20:37:30.392 [redisson-netty-2-13] INFO MasterConnectionPool - 5 connections initialized for 127.0.0.1/127.0.0.1:16379 -24-12-03.20:37:33.635 [main ] INFO EndpointLinksResolver - Exposing 1 endpoint(s) beneath base path '/actuator' -24-12-03.20:37:33.794 [main ] INFO CachingConnectionFactory - Attempting to connect to: [127.0.0.1:5672] -24-12-03.20:37:33.881 [main ] INFO CachingConnectionFactory - Created new connection: rabbitConnectionFactory#b75b890:0/SimpleConnection@562f6681 [delegate=amqp://admin@127.0.0.1:5672/, localPort= 50127] -24-12-03.20:37:33.949 [main ] INFO RaffleOrderTest - Started RaffleOrderTest in 10.285 seconds (JVM running for 11.52) -24-12-03.20:37:34.251 [main ] INFO HikariDataSource - Retail_HikariCP - Starting... -24-12-03.20:37:34.502 [main ] INFO HikariDataSource - Retail_HikariCP - Start completed. -24-12-03.20:37:34.609 [main ] INFO RaffleOrderTest - 装配活动:true -24-12-03.20:37:34.620 [main ] INFO ActivityBaseActionChain - 活动责任链-基础信息【有效期、状态、库存(sku)】校验开始。sku:9011 activityId:100301 -24-12-03.20:37:34.620 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】开始。sku:9011 activityId:100301 -24-12-03.20:37:34.628 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】成功。sku:9011 activityId:100301 -24-12-03.20:37:34.658 [main ] INFO HikariDataSource - Retail_HikariCP - Starting... -24-12-03.20:37:34.675 [main ] INFO HikariDataSource - Retail_HikariCP - Start completed. -24-12-03.20:37:34.770 [main ] ERROR ActivityRepository - 写入订单记录,唯一索引冲突 userId: xiaofuge activityId: 100301 sku: 9011 -org.springframework.dao.DuplicateKeyException: -### Error updating database. Cause: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '700091009111' for key 'raffle_activity_order_001.uq_out_business_no' -### The error may exist in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_order_mapper.xml] -### The error may involve cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.insert-Inline -### The error occurred while setting parameters -### SQL: insert into raffle_activity_order_001 (user_id, sku, activity_id, activity_name, strategy_id, order_id, order_time, state, out_business_no, total_count, day_count, month_count, create_time, update_time) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, now(), now()) -### Cause: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '700091009111' for key 'raffle_activity_order_001.uq_out_business_no' -; Duplicate entry '700091009111' for key 'raffle_activity_order_001.uq_out_business_no'; nested exception is java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '700091009111' for key 'raffle_activity_order_001.uq_out_business_no' - at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:247) - at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:70) - at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:91) - at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:441) - at com.sun.proxy.$Proxy107.insert(Unknown Source) - at org.mybatis.spring.SqlSessionTemplate.insert(SqlSessionTemplate.java:272) - at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:62) - at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:152) - at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:85) - at com.sun.proxy.$Proxy120.insert(Unknown Source) - at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) - at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) - at java.lang.reflect.Method.invoke(Method.java:498) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344) - at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198) - at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) - at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89) - at cn.bugstack.middleware.db.router.DBRouterJoinPoint.doRouter(DBRouterJoinPoint.java:65) - at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) - at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) - at java.lang.reflect.Method.invoke(Method.java:498) - at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634) - at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624) - at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72) - at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175) - at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) - at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) - at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:220) - at com.sun.proxy.$Proxy121.insert(Unknown Source) - at cn.bugstack.infrastructure.persistent.repository.ActivityRepository.lambda$doSaveOrder$0(ActivityRepository.java:155) - at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140) - at cn.bugstack.infrastructure.persistent.repository.ActivityRepository.doSaveOrder(ActivityRepository.java:152) - at cn.bugstack.infrastructure.persistent.repository.ActivityRepository$$FastClassBySpringCGLIB$$5fc4459a.invoke() - at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) - at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:793) - at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) - at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) - at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137) - at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) - at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:708) - at cn.bugstack.infrastructure.persistent.repository.ActivityRepository$$EnhancerBySpringCGLIB$$1783fa1d.doSaveOrder() - at cn.bugstack.domain.activity.service.RaffleActivityService.doSaveOrder(RaffleActivityService.java:58) - at cn.bugstack.domain.activity.service.AbstractRaffleActivity.createSkuRechargeOrder(AbstractRaffleActivity.java:51) - at cn.bugstack.test.domain.activity.RaffleOrderTest.test_createSkuRechargeOrder_duplicate(RaffleOrderTest.java:45) - at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) - at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) - at java.lang.reflect.Method.invoke(Method.java:498) - at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) - at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) - at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) - at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) - at org.springframework.test.context.junit4.statements.RunBeforeTestExecutionCallbacks.evaluate(RunBeforeTestExecutionCallbacks.java:74) - at org.springframework.test.context.junit4.statements.RunAfterTestExecutionCallbacks.evaluate(RunAfterTestExecutionCallbacks.java:84) - at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) - at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75) - at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86) - at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84) - at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) - at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:251) - at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97) - at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) - at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) - at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) - at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) - at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) - at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) - at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70) - at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) - at org.junit.runners.ParentRunner.run(ParentRunner.java:413) - at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190) - at org.junit.runner.JUnitCore.run(JUnitCore.java:137) - at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69) - at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38) - at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11) - at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35) - at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:232) - at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:55) -Caused by: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '700091009111' for key 'raffle_activity_order_001.uq_out_business_no' - at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:117) - at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97) - at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) - at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:953) - at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:370) - at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) - at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) - at org.apache.ibatis.executor.statement.PreparedStatementHandler.update(PreparedStatementHandler.java:47) - at org.apache.ibatis.executor.statement.RoutingStatementHandler.update(RoutingStatementHandler.java:74) - at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) - at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) - at java.lang.reflect.Method.invoke(Method.java:498) - at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:63) - at com.sun.proxy.$Proxy194.update(Unknown Source) - at org.apache.ibatis.executor.SimpleExecutor.doUpdate(SimpleExecutor.java:50) - at org.apache.ibatis.executor.BaseExecutor.update(BaseExecutor.java:117) - at org.apache.ibatis.executor.CachingExecutor.update(CachingExecutor.java:76) - at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:197) - at org.apache.ibatis.session.defaults.DefaultSqlSession.insert(DefaultSqlSession.java:184) - at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) - at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) - at java.lang.reflect.Method.invoke(Method.java:498) - at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:427) - ... 77 common frames omitted -24-12-03.20:37:34.804 [org.springframework.amqp.rabbit.RabbitListenerEndpointContainer#0-2] INFO SimpleMessageListenerContainer - Waiting for workers to finish. -24-12-03.20:37:34.944 [org.springframework.amqp.rabbit.RabbitListenerEndpointContainer#0-2] INFO SimpleMessageListenerContainer - Successfully waited for workers to finish. -24-12-03.20:37:34.946 [SpringApplicationShutdownHook] INFO SimpleMessageListenerContainer - Shutdown ignored - container is already stopped -24-12-03.20:38:09.189 [main ] INFO RaffleOrderTest - Starting RaffleOrderTest using Java 1.8.0_412 on zhaoyongfeng with PID 10316 (started by zhaoyongfeng in C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app) -24-12-03.20:38:09.191 [main ] INFO RaffleOrderTest - The following 1 profile is active: "dev" -24-12-03.20:38:10.519 [main ] INFO RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode -24-12-03.20:38:10.523 [main ] INFO RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. -24-12-03.20:38:10.630 [main ] INFO RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 89 ms. Found 0 Redis repository interfaces. -24-12-03.20:38:14.112 [main ] INFO Version - Redisson 3.23.4 -24-12-03.20:38:15.737 [redisson-netty-2-5] INFO MasterPubSubConnectionPool - 1 connections initialized for 127.0.0.1/127.0.0.1:16379 -24-12-03.20:38:15.750 [redisson-netty-2-13] INFO MasterConnectionPool - 5 connections initialized for 127.0.0.1/127.0.0.1:16379 -24-12-03.20:38:19.600 [main ] INFO EndpointLinksResolver - Exposing 1 endpoint(s) beneath base path '/actuator' -24-12-03.20:38:19.741 [main ] INFO CachingConnectionFactory - Attempting to connect to: [127.0.0.1:5672] -24-12-03.20:38:19.838 [main ] INFO CachingConnectionFactory - Created new connection: rabbitConnectionFactory#b75b890:0/SimpleConnection@7612116b [delegate=amqp://admin@127.0.0.1:5672/, localPort= 50312] -24-12-03.20:38:19.912 [main ] INFO RaffleOrderTest - Started RaffleOrderTest in 11.332 seconds (JVM running for 12.625) -24-12-03.20:38:20.001 [scheduling-1 ] INFO UpdateActivitySkuStockJob - 定时任务,更新活动sku库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 -24-12-03.20:38:20.110 [scheduling-1 ] INFO UpdateActivitySkuStockJob - 定时任务,更新活动sku库存 sku:9011 activityId:100301 -24-12-03.20:38:20.139 [scheduling-1 ] INFO HikariDataSource - Retail_HikariCP - Starting... -24-12-03.20:38:20.435 [scheduling-1 ] INFO HikariDataSource - Retail_HikariCP - Start completed. -24-12-03.20:38:20.472 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 -24-12-03.20:38:20.506 [main ] INFO RaffleOrderTest - 装配活动:true -24-12-03.20:38:20.517 [main ] INFO ActivityBaseActionChain - 活动责任链-基础信息【有效期、状态、库存(sku)】校验开始。sku:9011 activityId:100301 -24-12-03.20:38:20.517 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】开始。sku:9011 activityId:100301 -24-12-03.20:38:20.526 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】成功。sku:9011 activityId:100301 -24-12-03.20:38:20.558 [main ] INFO HikariDataSource - Retail_HikariCP - Starting... -24-12-03.20:38:20.579 [main ] INFO HikariDataSource - Retail_HikariCP - Start completed. -24-12-03.20:38:20.668 [main ] ERROR ActivityRepository - 写入订单记录,唯一索引冲突 userId: xiaofuge activityId: 100301 sku: 9011 -org.springframework.dao.DuplicateKeyException: -### Error updating database. Cause: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '700091009111' for key 'raffle_activity_order_001.uq_out_business_no' -### The error may exist in file [C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app\target\classes\mybatis\mapper\raffle_activity_order_mapper.xml] -### The error may involve cn.bugstack.infrastructure.persistent.dao.IRaffleActivityOrderDao.insert-Inline -### The error occurred while setting parameters -### SQL: insert into raffle_activity_order_001 (user_id, sku, activity_id, activity_name, strategy_id, order_id, order_time, state, out_business_no, total_count, day_count, month_count, create_time, update_time) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, now(), now()) -### Cause: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '700091009111' for key 'raffle_activity_order_001.uq_out_business_no' -; Duplicate entry '700091009111' for key 'raffle_activity_order_001.uq_out_business_no'; nested exception is java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '700091009111' for key 'raffle_activity_order_001.uq_out_business_no' - at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:247) - at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:70) - at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:91) - at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:441) - at com.sun.proxy.$Proxy107.insert(Unknown Source) - at org.mybatis.spring.SqlSessionTemplate.insert(SqlSessionTemplate.java:272) - at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:62) - at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:152) - at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:85) - at com.sun.proxy.$Proxy120.insert(Unknown Source) - at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) - at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) - at java.lang.reflect.Method.invoke(Method.java:498) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344) - at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198) - at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) - at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89) - at cn.bugstack.middleware.db.router.DBRouterJoinPoint.doRouter(DBRouterJoinPoint.java:65) - at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) - at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) - at java.lang.reflect.Method.invoke(Method.java:498) - at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634) - at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624) - at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72) - at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175) - at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) - at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) - at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:220) - at com.sun.proxy.$Proxy121.insert(Unknown Source) - at cn.bugstack.infrastructure.persistent.repository.ActivityRepository.lambda$doSaveOrder$0(ActivityRepository.java:155) - at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140) - at cn.bugstack.infrastructure.persistent.repository.ActivityRepository.doSaveOrder(ActivityRepository.java:152) - at cn.bugstack.infrastructure.persistent.repository.ActivityRepository$$FastClassBySpringCGLIB$$5fc4459a.invoke() - at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) - at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:793) - at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) - at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) - at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137) - at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) - at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:708) - at cn.bugstack.infrastructure.persistent.repository.ActivityRepository$$EnhancerBySpringCGLIB$$1783fa1d.doSaveOrder() - at cn.bugstack.domain.activity.service.RaffleActivityService.doSaveOrder(RaffleActivityService.java:58) - at cn.bugstack.domain.activity.service.AbstractRaffleActivity.createSkuRechargeOrder(AbstractRaffleActivity.java:51) - at cn.bugstack.test.domain.activity.RaffleOrderTest.test_createSkuRechargeOrder_duplicate(RaffleOrderTest.java:45) - at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) - at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) - at java.lang.reflect.Method.invoke(Method.java:498) - at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) - at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) - at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) - at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) - at org.springframework.test.context.junit4.statements.RunBeforeTestExecutionCallbacks.evaluate(RunBeforeTestExecutionCallbacks.java:74) - at org.springframework.test.context.junit4.statements.RunAfterTestExecutionCallbacks.evaluate(RunAfterTestExecutionCallbacks.java:84) - at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) - at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75) - at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86) - at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84) - at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) - at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:251) - at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97) - at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) - at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) - at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) - at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) - at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) - at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) - at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70) - at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) - at org.junit.runners.ParentRunner.run(ParentRunner.java:413) - at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190) - at org.junit.runner.JUnitCore.run(JUnitCore.java:137) - at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69) - at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38) - at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11) - at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35) - at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:232) - at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:55) -Caused by: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '700091009111' for key 'raffle_activity_order_001.uq_out_business_no' - at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:117) - at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97) - at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) - at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:953) - at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:370) - at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) - at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) - at org.apache.ibatis.executor.statement.PreparedStatementHandler.update(PreparedStatementHandler.java:47) - at org.apache.ibatis.executor.statement.RoutingStatementHandler.update(RoutingStatementHandler.java:74) - at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) - at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) - at java.lang.reflect.Method.invoke(Method.java:498) - at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:63) - at com.sun.proxy.$Proxy180.update(Unknown Source) - at org.apache.ibatis.executor.SimpleExecutor.doUpdate(SimpleExecutor.java:50) - at org.apache.ibatis.executor.BaseExecutor.update(BaseExecutor.java:117) - at org.apache.ibatis.executor.CachingExecutor.update(CachingExecutor.java:76) - at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:197) - at org.apache.ibatis.session.defaults.DefaultSqlSession.insert(DefaultSqlSession.java:184) - at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) - at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) - at java.lang.reflect.Method.invoke(Method.java:498) - at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:427) - ... 77 common frames omitted -24-12-03.20:38:20.709 [org.springframework.amqp.rabbit.RabbitListenerEndpointContainer#0-2] INFO SimpleMessageListenerContainer - Waiting for workers to finish. -24-12-03.20:38:20.906 [org.springframework.amqp.rabbit.RabbitListenerEndpointContainer#0-2] INFO SimpleMessageListenerContainer - Successfully waited for workers to finish. -24-12-03.20:38:20.910 [SpringApplicationShutdownHook] INFO SimpleMessageListenerContainer - Shutdown ignored - container is already stopped -24-12-03.20:39:08.674 [main ] INFO RaffleOrderTest - Starting RaffleOrderTest using Java 1.8.0_412 on zhaoyongfeng with PID 20104 (started by zhaoyongfeng in C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app) -24-12-03.20:39:08.675 [main ] INFO RaffleOrderTest - The following 1 profile is active: "dev" -24-12-03.20:39:10.004 [main ] INFO RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode -24-12-03.20:39:10.008 [main ] INFO RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. -24-12-03.20:39:10.136 [main ] INFO RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 106 ms. Found 0 Redis repository interfaces. -24-12-03.20:39:13.443 [main ] INFO Version - Redisson 3.23.4 -24-12-03.20:39:15.079 [redisson-netty-2-4] INFO MasterPubSubConnectionPool - 1 connections initialized for 127.0.0.1/127.0.0.1:16379 -24-12-03.20:39:15.092 [redisson-netty-2-13] INFO MasterConnectionPool - 5 connections initialized for 127.0.0.1/127.0.0.1:16379 -24-12-03.20:39:18.761 [main ] INFO EndpointLinksResolver - Exposing 1 endpoint(s) beneath base path '/actuator' -24-12-03.20:39:18.885 [main ] INFO CachingConnectionFactory - Attempting to connect to: [127.0.0.1:5672] -24-12-03.20:39:18.985 [main ] INFO CachingConnectionFactory - Created new connection: rabbitConnectionFactory#b75b890:0/SimpleConnection@7612116b [delegate=amqp://admin@127.0.0.1:5672/, localPort= 50539] -24-12-03.20:39:19.062 [main ] INFO RaffleOrderTest - Started RaffleOrderTest in 10.905 seconds (JVM running for 12.091) -24-12-03.20:39:19.379 [main ] INFO HikariDataSource - Retail_HikariCP - Starting... -24-12-03.20:39:19.625 [main ] INFO HikariDataSource - Retail_HikariCP - Start completed. -24-12-03.20:39:19.736 [main ] INFO RaffleOrderTest - 装配活动:true -24-12-03.20:39:19.747 [main ] INFO ActivityBaseActionChain - 活动责任链-基础信息【有效期、状态、库存(sku)】校验开始。sku:9011 activityId:100301 -24-12-03.20:39:19.748 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】开始。sku:9011 activityId:100301 -24-12-03.20:39:19.756 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】成功。sku:9011 activityId:100301 -24-12-03.20:39:19.792 [main ] INFO HikariDataSource - Retail_HikariCP - Starting... -24-12-03.20:39:19.810 [main ] INFO HikariDataSource - Retail_HikariCP - Start completed. -24-12-03.20:39:19.841 [main ] INFO RaffleOrderTest - 测试结果:491017729785 -24-12-03.20:39:19.860 [org.springframework.amqp.rabbit.RabbitListenerEndpointContainer#0-2] INFO SimpleMessageListenerContainer - Waiting for workers to finish. -24-12-03.20:39:20.003 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 -24-12-03.20:39:20.010 [scheduling-1 ] INFO UpdateActivitySkuStockJob - 定时任务,更新活动sku库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 -24-12-03.20:39:20.012 [scheduling-1 ] INFO UpdateActivitySkuStockJob - 定时任务,更新活动sku库存 sku:9011 activityId:100301 -24-12-03.20:39:20.047 [org.springframework.amqp.rabbit.RabbitListenerEndpointContainer#0-2] INFO SimpleMessageListenerContainer - Successfully waited for workers to finish. -24-12-03.20:39:20.050 [SpringApplicationShutdownHook] INFO SimpleMessageListenerContainer - Shutdown ignored - container is already stopped -24-12-03.20:40:09.760 [main ] INFO RaffleOrderTest - Starting RaffleOrderTest using Java 1.8.0_412 on zhaoyongfeng with PID 9316 (started by zhaoyongfeng in C:\Users\31126\Desktop\bigmarket-lite\bigmarket-app) -24-12-03.20:40:09.761 [main ] INFO RaffleOrderTest - The following 1 profile is active: "dev" -24-12-03.20:40:11.100 [main ] INFO RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode -24-12-03.20:40:11.105 [main ] INFO RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. -24-12-03.20:40:11.211 [main ] INFO RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 87 ms. Found 0 Redis repository interfaces. -24-12-03.20:40:14.293 [main ] INFO Version - Redisson 3.23.4 -24-12-03.20:40:15.815 [redisson-netty-2-4] INFO MasterPubSubConnectionPool - 1 connections initialized for 127.0.0.1/127.0.0.1:16379 -24-12-03.20:40:15.835 [redisson-netty-2-13] INFO MasterConnectionPool - 5 connections initialized for 127.0.0.1/127.0.0.1:16379 -24-12-03.20:40:19.284 [main ] INFO EndpointLinksResolver - Exposing 1 endpoint(s) beneath base path '/actuator' -24-12-03.20:40:19.409 [main ] INFO CachingConnectionFactory - Attempting to connect to: [127.0.0.1:5672] -24-12-03.20:40:19.498 [main ] INFO CachingConnectionFactory - Created new connection: rabbitConnectionFactory#b75b890:0/SimpleConnection@7612116b [delegate=amqp://admin@127.0.0.1:5672/, localPort= 50748] -24-12-03.20:40:19.570 [main ] INFO RaffleOrderTest - Started RaffleOrderTest in 10.421 seconds (JVM running for 11.621) -24-12-03.20:40:19.900 [main ] INFO HikariDataSource - Retail_HikariCP - Starting... -24-12-03.20:40:20.013 [scheduling-1 ] INFO UpdateActivitySkuStockJob - 定时任务,更新活动sku库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 -24-12-03.20:40:20.096 [scheduling-1 ] INFO UpdateActivitySkuStockJob - 定时任务,更新活动sku库存 sku:9011 activityId:100301 -24-12-03.20:40:20.178 [main ] INFO HikariDataSource - Retail_HikariCP - Start completed. -24-12-03.20:40:20.214 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 -24-12-03.20:40:20.226 [main ] INFO RaffleOrderTest - 装配活动:true -24-12-03.20:40:20.237 [main ] INFO ActivityBaseActionChain - 活动责任链-基础信息【有效期、状态、库存(sku)】校验开始。sku:9011 activityId:100301 -24-12-03.20:40:20.237 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】开始。sku:9011 activityId:100301 -24-12-03.20:40:20.245 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】成功。sku:9011 activityId:100301 -24-12-03.20:40:20.273 [main ] INFO HikariDataSource - Retail_HikariCP - Starting... -24-12-03.20:40:20.294 [main ] INFO HikariDataSource - Retail_HikariCP - Start completed. -24-12-03.20:40:20.324 [main ] INFO RaffleOrderTest - 测试结果:553918098949 -24-12-03.20:40:20.329 [main ] INFO ActivityBaseActionChain - 活动责任链-基础信息【有效期、状态、库存(sku)】校验开始。sku:9011 activityId:100301 -24-12-03.20:40:20.329 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】开始。sku:9011 activityId:100301 -24-12-03.20:40:20.332 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】成功。sku:9011 activityId:100301 -24-12-03.20:40:20.344 [main ] INFO RaffleOrderTest - 测试结果:729261037363 -24-12-03.20:40:20.349 [main ] INFO ActivityBaseActionChain - 活动责任链-基础信息【有效期、状态、库存(sku)】校验开始。sku:9011 activityId:100301 -24-12-03.20:40:20.350 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】开始。sku:9011 activityId:100301 -24-12-03.20:40:20.353 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】成功。sku:9011 activityId:100301 -24-12-03.20:40:20.366 [main ] INFO RaffleOrderTest - 测试结果:710551265329 -24-12-03.20:40:20.372 [main ] INFO ActivityBaseActionChain - 活动责任链-基础信息【有效期、状态、库存(sku)】校验开始。sku:9011 activityId:100301 -24-12-03.20:40:20.372 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】开始。sku:9011 activityId:100301 -24-12-03.20:40:20.375 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】成功。sku:9011 activityId:100301 -24-12-03.20:40:20.388 [main ] INFO RaffleOrderTest - 测试结果:828099617780 -24-12-03.20:40:20.396 [main ] INFO ActivityBaseActionChain - 活动责任链-基础信息【有效期、状态、库存(sku)】校验开始。sku:9011 activityId:100301 -24-12-03.20:40:20.396 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】开始。sku:9011 activityId:100301 -24-12-03.20:40:20.399 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】成功。sku:9011 activityId:100301 -24-12-03.20:40:20.417 [main ] INFO RaffleOrderTest - 测试结果:705851076122 -24-12-03.20:40:20.425 [main ] INFO ActivityBaseActionChain - 活动责任链-基础信息【有效期、状态、库存(sku)】校验开始。sku:9011 activityId:100301 -24-12-03.20:40:20.425 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】开始。sku:9011 activityId:100301 -24-12-03.20:40:20.427 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】成功。sku:9011 activityId:100301 -24-12-03.20:40:20.445 [main ] INFO RaffleOrderTest - 测试结果:367811407090 -24-12-03.20:40:20.452 [main ] INFO ActivityBaseActionChain - 活动责任链-基础信息【有效期、状态、库存(sku)】校验开始。sku:9011 activityId:100301 -24-12-03.20:40:20.452 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】开始。sku:9011 activityId:100301 -24-12-03.20:40:20.456 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】成功。sku:9011 activityId:100301 -24-12-03.20:40:20.471 [main ] INFO RaffleOrderTest - 测试结果:638245356457 -24-12-03.20:40:20.478 [main ] INFO ActivityBaseActionChain - 活动责任链-基础信息【有效期、状态、库存(sku)】校验开始。sku:9011 activityId:100301 -24-12-03.20:40:20.478 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】开始。sku:9011 activityId:100301 -24-12-03.20:40:20.481 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】成功。sku:9011 activityId:100301 -24-12-03.20:40:20.496 [main ] INFO RaffleOrderTest - 测试结果:571880237703 -24-12-03.20:40:20.501 [main ] INFO ActivityBaseActionChain - 活动责任链-基础信息【有效期、状态、库存(sku)】校验开始。sku:9011 activityId:100301 -24-12-03.20:40:20.501 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】开始。sku:9011 activityId:100301 -24-12-03.20:40:20.503 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】成功。sku:9011 activityId:100301 -24-12-03.20:40:20.515 [main ] INFO RaffleOrderTest - 测试结果:506659733371 -24-12-03.20:40:20.521 [main ] INFO ActivityBaseActionChain - 活动责任链-基础信息【有效期、状态、库存(sku)】校验开始。sku:9011 activityId:100301 -24-12-03.20:40:20.521 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】开始。sku:9011 activityId:100301 -24-12-03.20:40:20.523 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】成功。sku:9011 activityId:100301 -24-12-03.20:40:20.535 [main ] INFO RaffleOrderTest - 测试结果:538794326671 -24-12-03.20:40:20.540 [main ] INFO ActivityBaseActionChain - 活动责任链-基础信息【有效期、状态、库存(sku)】校验开始。sku:9011 activityId:100301 -24-12-03.20:40:20.540 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】开始。sku:9011 activityId:100301 -24-12-03.20:40:20.542 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】成功。sku:9011 activityId:100301 -24-12-03.20:40:20.554 [main ] INFO RaffleOrderTest - 测试结果:552172812645 -24-12-03.20:40:20.558 [main ] INFO ActivityBaseActionChain - 活动责任链-基础信息【有效期、状态、库存(sku)】校验开始。sku:9011 activityId:100301 -24-12-03.20:40:20.558 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】开始。sku:9011 activityId:100301 -24-12-03.20:40:20.561 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】成功。sku:9011 activityId:100301 -24-12-03.20:40:20.574 [main ] INFO RaffleOrderTest - 测试结果:879986422151 -24-12-03.20:40:20.580 [main ] INFO ActivityBaseActionChain - 活动责任链-基础信息【有效期、状态、库存(sku)】校验开始。sku:9011 activityId:100301 -24-12-03.20:40:20.580 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】开始。sku:9011 activityId:100301 -24-12-03.20:40:20.583 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】成功。sku:9011 activityId:100301 -24-12-03.20:40:20.596 [main ] INFO RaffleOrderTest - 测试结果:969856286711 -24-12-03.20:40:20.603 [main ] INFO ActivityBaseActionChain - 活动责任链-基础信息【有效期、状态、库存(sku)】校验开始。sku:9011 activityId:100301 -24-12-03.20:40:20.603 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】开始。sku:9011 activityId:100301 -24-12-03.20:40:20.606 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】成功。sku:9011 activityId:100301 -24-12-03.20:40:20.619 [main ] INFO RaffleOrderTest - 测试结果:756489187748 -24-12-03.20:40:20.627 [main ] INFO ActivityBaseActionChain - 活动责任链-基础信息【有效期、状态、库存(sku)】校验开始。sku:9011 activityId:100301 -24-12-03.20:40:20.627 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】开始。sku:9011 activityId:100301 -24-12-03.20:40:20.630 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】成功。sku:9011 activityId:100301 -24-12-03.20:40:20.644 [main ] INFO RaffleOrderTest - 测试结果:148326558620 -24-12-03.20:40:20.650 [main ] INFO ActivityBaseActionChain - 活动责任链-基础信息【有效期、状态、库存(sku)】校验开始。sku:9011 activityId:100301 -24-12-03.20:40:20.650 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】开始。sku:9011 activityId:100301 -24-12-03.20:40:20.861 [main ] INFO EventPublisher - 发送MQ消息 topic:activity_sku_stock_zero message:{"data":9011,"id":"23194561630","timestamp":1733229620653} -24-12-03.20:40:20.863 [main ] WARN RaffleOrderTest - 活动库存不足 -24-12-03.20:40:20.870 [main ] INFO ActivityBaseActionChain - 活动责任链-基础信息【有效期、状态、库存(sku)】校验开始。sku:9011 activityId:100301 -24-12-03.20:40:20.871 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】开始。sku:9011 activityId:100301 -24-12-03.20:40:20.873 [main ] WARN RaffleOrderTest - 活动库存不足 -24-12-03.20:40:20.877 [org.springframework.amqp.rabbit.RabbitListenerEndpointContainer#0-1] INFO ActivitySkuStockZeroCustomer - 监听活动sku库存消耗为0消息 topic: activity_sku_stock_zero message: {"data":9011,"id":"23194561630","timestamp":1733229620653} -24-12-03.20:40:20.881 [main ] INFO ActivityBaseActionChain - 活动责任链-基础信息【有效期、状态、库存(sku)】校验开始。sku:9011 activityId:100301 -24-12-03.20:40:20.881 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】开始。sku:9011 activityId:100301 -24-12-03.20:40:20.884 [main ] WARN RaffleOrderTest - 活动库存不足 -24-12-03.20:40:20.891 [main ] INFO ActivityBaseActionChain - 活动责任链-基础信息【有效期、状态、库存(sku)】校验开始。sku:9011 activityId:100301 -24-12-03.20:40:20.892 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】开始。sku:9011 activityId:100301 -24-12-03.20:40:20.894 [main ] WARN RaffleOrderTest - 活动库存不足 -24-12-03.20:40:20.901 [main ] INFO ActivityBaseActionChain - 活动责任链-基础信息【有效期、状态、库存(sku)】校验开始。sku:9011 activityId:100301 -24-12-03.20:40:20.901 [main ] INFO ActivitySkuStockActionChain - 活动责任链-商品库存处理【有效期、状态、库存(sku)】开始。sku:9011 activityId:100301 -24-12-03.20:40:20.903 [main ] WARN RaffleOrderTest - 活动库存不足 -24-12-03.20:40:25.001 [scheduling-1 ] INFO UpdateActivitySkuStockJob - 定时任务,更新活动sku库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 -24-12-03.20:40:25.002 [scheduling-1 ] INFO UpdateActivitySkuStockJob - 定时任务,更新活动sku库存 sku:9011 activityId:100301 -24-12-03.20:40:25.006 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 -24-12-03.20:40:27.502 [org.springframework.amqp.rabbit.RabbitListenerEndpointContainer#0-2] INFO SimpleMessageListenerContainer - Waiting for workers to finish. -24-12-03.20:40:27.958 [org.springframework.amqp.rabbit.RabbitListenerEndpointContainer#0-2] INFO SimpleMessageListenerContainer - Successfully waited for workers to finish. -24-12-03.20:40:27.960 [SpringApplicationShutdownHook] INFO SimpleMessageListenerContainer - Shutdown ignored - container is already stopped diff --git a/bigmarket-app/src/main/resources/application-dev.yml b/bigmarket-app/src/main/resources/application-dev.yml index 3230abc..ef23bf3 100644 --- a/bigmarket-app/src/main/resources/application-dev.yml +++ b/bigmarket-app/src/main/resources/application-dev.yml @@ -25,6 +25,7 @@ spring: prefetch: 1 # 每次投递n个消息,消费完在投递n个 topic: activity_sku_stock_zero: activity_sku_stock_zero + send_award: send_award # 线程池配置 thread: pool: diff --git a/bigmarket-app/src/main/resources/mybatis/mapper/IActivityRepository.xml b/bigmarket-app/src/main/resources/mybatis/mapper/IActivityRepository.xml deleted file mode 100644 index 9e8dbcb..0000000 --- a/bigmarket-app/src/main/resources/mybatis/mapper/IActivityRepository.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/bigmarket-app/src/main/resources/mybatis/mapper/IAwardRepository.xml b/bigmarket-app/src/main/resources/mybatis/mapper/IAwardRepository.xml new file mode 100644 index 0000000..cb66314 --- /dev/null +++ b/bigmarket-app/src/main/resources/mybatis/mapper/IAwardRepository.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/bigmarket-app/src/main/resources/mybatis/mapper/raffle_activity_account_day_mapper.xml b/bigmarket-app/src/main/resources/mybatis/mapper/raffle_activity_account_day_mapper.xml new file mode 100644 index 0000000..adcd7bf --- /dev/null +++ b/bigmarket-app/src/main/resources/mybatis/mapper/raffle_activity_account_day_mapper.xml @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + insert into raffle_activity_account_day( + user_id, activity_id, day, day_count, day_count_surplus, create_time, update_time) + values + (#{userId}, #{activityId}, #{day}, #{dayCount}, #{dayCountSurplus}, now(), now()) + + + + update raffle_activity_account_day + set day_count_surplus = day_count_surplus - 1, update_time = now() + where user_id = #{userId} and activity_id = #{activityId} and day = #{day} and day_count_surplus > 0 + + + + + diff --git a/bigmarket-app/src/main/resources/mybatis/mapper/raffle_activity_account_mapper.xml b/bigmarket-app/src/main/resources/mybatis/mapper/raffle_activity_account_mapper.xml index d5b0d16..3433e32 100644 --- a/bigmarket-app/src/main/resources/mybatis/mapper/raffle_activity_account_mapper.xml +++ b/bigmarket-app/src/main/resources/mybatis/mapper/raffle_activity_account_mapper.xml @@ -38,4 +38,32 @@ where user_id = #{userId} and activity_id = #{activityId} + + + + update raffle_activity_account + set total_count_surplus = total_count_surplus - 1, + day_count_surplus = day_count_surplus - 1, + month_count_surplus = month_count_surplus - 1, + update_time = now() + where user_id = #{userId} and activity_id = #{activityId} and total_count_surplus > 0 and day_count_surplus > 0 and month_count_surplus > 0 + + + + update raffle_activity_account + set month_count_surplus = #{monthCountSurplus} - 1, update_time = now() + where user_id = #{userId} and activity_id = #{activityId} + + + + update raffle_activity_account + set day_count_surplus = #{dayCountSurplus} - 1, update_time = now() + where user_id = #{userId} and activity_id = #{activityId} + + diff --git a/bigmarket-app/src/main/resources/mybatis/mapper/raffle_activity_account_month_mapper.xml b/bigmarket-app/src/main/resources/mybatis/mapper/raffle_activity_account_month_mapper.xml new file mode 100644 index 0000000..aa0cb2f --- /dev/null +++ b/bigmarket-app/src/main/resources/mybatis/mapper/raffle_activity_account_month_mapper.xml @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + insert into raffle_activity_account_month( + user_id, activity_id, month, month_count, month_count_surplus, create_time, update_time) + values ( + #{userId}, #{activityId}, #{month}, #{monthCount}, #{monthCountSurplus}, now(), now()) + + + + + + update raffle_activity_account_month + set month_count_surplus = month_count_surplus - 1, update_time = now() + where user_id = #{userId} and activity_id = #{activityId} and month = #{month} and month_count_surplus > 0 + + + diff --git a/bigmarket-app/src/main/resources/mybatis/mapper/raffle_activity_sku_mapper.xml b/bigmarket-app/src/main/resources/mybatis/mapper/raffle_activity_sku_mapper.xml index 95f4683..1acd9fc 100644 --- a/bigmarket-app/src/main/resources/mybatis/mapper/raffle_activity_sku_mapper.xml +++ b/bigmarket-app/src/main/resources/mybatis/mapper/raffle_activity_sku_mapper.xml @@ -3,6 +3,7 @@ + diff --git a/bigmarket-app/src/main/resources/mybatis/mapper/task_mapper.xml b/bigmarket-app/src/main/resources/mybatis/mapper/task_mapper.xml new file mode 100644 index 0000000..2002613 --- /dev/null +++ b/bigmarket-app/src/main/resources/mybatis/mapper/task_mapper.xml @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + insert into task(user_id, topic, message_id, message, state, create_time, update_time) + values (#{userId}, #{topic}, #{messageId}, #{message}, #{state}, now(), now()) + + + + update task + set state = 'completed', + update_time = now() + where user_id = #{userId} + and message_id = #{messageId} + + + + update task + set state = 'fail', + update_time = now() + where user_id = #{userId} + and message_id = #{messageId} + + + + + diff --git a/bigmarket-app/src/main/resources/mybatis/mapper/user_award_record_mapper.xml b/bigmarket-app/src/main/resources/mybatis/mapper/user_award_record_mapper.xml new file mode 100644 index 0000000..d87989e --- /dev/null +++ b/bigmarket-app/src/main/resources/mybatis/mapper/user_award_record_mapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + insert into user_award_record( + user_id, activity_id, strategy_id, order_id, award_id, award_title, award_time, award_state, create_time, update_time + ) values ( + #{userId},#{activityId},#{strategyId},#{orderId},#{awardId},#{awardTitle},#{awardTime},#{awardState},now(),now() + ) + + + diff --git a/bigmarket-app/src/main/resources/mybatis/mapper/user_raffle_order_mapper.xml b/bigmarket-app/src/main/resources/mybatis/mapper/user_raffle_order_mapper.xml new file mode 100644 index 0000000..5642501 --- /dev/null +++ b/bigmarket-app/src/main/resources/mybatis/mapper/user_raffle_order_mapper.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + insert into user_raffle_order( + user_id, activity_id, activity_name, strategy_id, order_id, order_time, order_state, create_time, update_time + ) + values( + #{userId}, #{activityId}, #{activityName}, #{strategyId}, #{orderId}, #{orderTime}, #{orderState}, now(), now() + ) + + + + + diff --git a/bigmarket-app/src/test/java/cn/bugstack/test/award/AwardServiceTest.java b/bigmarket-app/src/test/java/cn/bugstack/test/award/AwardServiceTest.java new file mode 100644 index 0000000..a8b5bac --- /dev/null +++ b/bigmarket-app/src/test/java/cn/bugstack/test/award/AwardServiceTest.java @@ -0,0 +1,52 @@ +package cn.bugstack.test.award; + +import cn.bugstack.domain.award.model.entity.UserAwardRecordEntity; +import cn.bugstack.domain.award.model.valobj.AwardStateVO; +import cn.bugstack.domain.award.service.IAwardService; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.RandomStringUtils; +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; +import java.util.Date; +import java.util.concurrent.CountDownLatch; + +/** + * @author zyf + * @description 奖品服务测试 + * @create 2024-04-06 11:27 + */ +@Slf4j +@RunWith(SpringRunner.class) +@SpringBootTest +public class AwardServiceTest { + + @Resource + private IAwardService awardService; + + /** + * 模拟发放抽奖记录,流程中会发送MQ,以及接收MQ消息,还有 task 表,补偿发送MQ + */ + @Test + public void test_saveUserAwardRecord() throws InterruptedException { + for (int i = 0; i < 100; i++) { + UserAwardRecordEntity userAwardRecordEntity = new UserAwardRecordEntity(); + userAwardRecordEntity.setUserId("zyf"); + userAwardRecordEntity.setActivityId(100301L); + userAwardRecordEntity.setStrategyId(100006L); + userAwardRecordEntity.setOrderId(RandomStringUtils.randomNumeric(12)); + userAwardRecordEntity.setAwardId(101); + userAwardRecordEntity.setAwardTitle("OpenAI 增加使用次数"); + userAwardRecordEntity.setAwardTime(new Date()); + userAwardRecordEntity.setAwardState(AwardStateVO.create); + awardService.saveUserAwardRecord(userAwardRecordEntity); + Thread.sleep(500); + } + + new CountDownLatch(1).await(); + } + +} diff --git a/bigmarket-app/src/test/java/cn/bugstack/test/domain/activity/RaffleOrderTest.java b/bigmarket-app/src/test/java/cn/bugstack/test/domain/activity/RaffleActivityAccountQuotaServiceTest.java similarity index 81% rename from bigmarket-app/src/test/java/cn/bugstack/test/domain/activity/RaffleOrderTest.java rename to bigmarket-app/src/test/java/cn/bugstack/test/domain/activity/RaffleActivityAccountQuotaServiceTest.java index 3db19e0..336876d 100644 --- a/bigmarket-app/src/test/java/cn/bugstack/test/domain/activity/RaffleOrderTest.java +++ b/bigmarket-app/src/test/java/cn/bugstack/test/domain/activity/RaffleActivityAccountQuotaServiceTest.java @@ -1,7 +1,7 @@ package cn.bugstack.test.domain.activity; import cn.bugstack.domain.activity.model.entity.SkuRechargeEntity; -import cn.bugstack.domain.activity.service.IRaffleOrder; +import cn.bugstack.domain.activity.service.IRaffleActivityAccountQuotaService; import cn.bugstack.domain.activity.service.armory.IActivityArmory; import cn.bugstack.types.exception.AppException; import lombok.extern.slf4j.Slf4j; @@ -17,16 +17,17 @@ import java.util.concurrent.CountDownLatch; /** * @author Fuzhengwei bugstack.cn @小傅哥 - * @description 抽奖活动订单单测 - * @create 2024-03-16 11:51 + * @description 抽奖活动参与服务测试 + * @create 2024-04-05 12:28 */ @Slf4j @RunWith(SpringRunner.class) @SpringBootTest -public class RaffleOrderTest { +public class RaffleActivityAccountQuotaServiceTest { + @Resource - private IRaffleOrder raffleOrder; + private IRaffleActivityAccountQuotaService raffleActivityAccountQuotaService; @Resource private IActivityArmory activityArmory; @@ -41,8 +42,8 @@ public class RaffleOrderTest { skuRechargeEntity.setUserId("xiaofuge"); skuRechargeEntity.setSku(9011L); // outBusinessNo 作为幂等仿重使用,同一个业务单号2次使用会抛出索引冲突 Duplicate entry '700091009111' for key 'uq_out_business_no' 确保唯一性。 - skuRechargeEntity.setOutBusinessNo("700091009121"); - String orderId = raffleOrder.createSkuRechargeOrder(skuRechargeEntity); + skuRechargeEntity.setOutBusinessNo("700091009119"); + String orderId = raffleActivityAccountQuotaService.createOrder(skuRechargeEntity); log.info("测试结果:{}", orderId); } @@ -61,7 +62,7 @@ public class RaffleOrderTest { skuRechargeEntity.setSku(9011L); // outBusinessNo 作为幂等仿重使用,同一个业务单号2次使用会抛出索引冲突 Duplicate entry '700091009111' for key 'uq_out_business_no' 确保唯一性。 skuRechargeEntity.setOutBusinessNo(RandomStringUtils.randomNumeric(12)); - String orderId = raffleOrder.createSkuRechargeOrder(skuRechargeEntity); + String orderId = raffleActivityAccountQuotaService.createOrder(skuRechargeEntity); log.info("测试结果:{}", orderId); } catch (AppException e) { log.warn(e.getInfo()); diff --git a/bigmarket-app/src/test/java/cn/bugstack/test/domain/activity/RaffleActivityPartakeServiceTest.java b/bigmarket-app/src/test/java/cn/bugstack/test/domain/activity/RaffleActivityPartakeServiceTest.java new file mode 100644 index 0000000..9261962 --- /dev/null +++ b/bigmarket-app/src/test/java/cn/bugstack/test/domain/activity/RaffleActivityPartakeServiceTest.java @@ -0,0 +1,40 @@ +package cn.bugstack.test.domain.activity; + +import cn.bugstack.domain.activity.model.entity.PartakeRaffleActivityEntity; +import cn.bugstack.domain.activity.model.entity.UserRaffleOrderEntity; +import cn.bugstack.domain.activity.service.IRaffleActivityPartakeService; +import com.alibaba.fastjson.JSON; +import lombok.extern.slf4j.Slf4j; +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; + +/** + * @author zyf + * @description 抽奖活动订单单测 + * @create 2024-03-16 11:51 + */ +@Slf4j +@RunWith(SpringRunner.class) +@SpringBootTest +public class RaffleActivityPartakeServiceTest { + + @Resource + private IRaffleActivityPartakeService raffleActivityPartakeService; + + @Test + public void test_createOrder() { + // 请求参数 + PartakeRaffleActivityEntity partakeRaffleActivityEntity = new PartakeRaffleActivityEntity(); + partakeRaffleActivityEntity.setUserId("xiaofuge"); + partakeRaffleActivityEntity.setActivityId(100301L); + // 调用接口 + UserRaffleOrderEntity userRaffleOrder = raffleActivityPartakeService.createOrder(partakeRaffleActivityEntity); + log.info("请求参数:{}", JSON.toJSONString(partakeRaffleActivityEntity)); + log.info("测试结果:{}", JSON.toJSONString(userRaffleOrder)); + } + +} diff --git a/bigmarket-domain/src/main/java/cn/bugstack/domain/activity/model/aggregate/CreatePartakeOrderAggregate.java b/bigmarket-domain/src/main/java/cn/bugstack/domain/activity/model/aggregate/CreatePartakeOrderAggregate.java new file mode 100644 index 0000000..7670cd4 --- /dev/null +++ b/bigmarket-domain/src/main/java/cn/bugstack/domain/activity/model/aggregate/CreatePartakeOrderAggregate.java @@ -0,0 +1,63 @@ +package cn.bugstack.domain.activity.model.aggregate; + +import cn.bugstack.domain.activity.model.entity.ActivityAccountDayEntity; +import cn.bugstack.domain.activity.model.entity.ActivityAccountEntity; +import cn.bugstack.domain.activity.model.entity.ActivityAccountMonthEntity; +import cn.bugstack.domain.activity.model.entity.UserRaffleOrderEntity; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @ClassName: CreatePartakeOrderAggregate + * @Description: + * @Author: zhaoyongfeng + * @Date: 2024/12/6 23:59 + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class CreatePartakeOrderAggregate { + /** + * 用户ID + */ + private String userId; + + /** + * 活动ID + */ + private Long activityId; + + /** + * 账户总额度 + */ + private ActivityAccountEntity activityAccountEntity; + + /** + * 是否存在月账户 + */ + private boolean isExistAccountMonth = true; + + /** + * 账户月额度 + */ + private ActivityAccountMonthEntity activityAccountMonthEntity; + + /** + * 是否存在日账户 + */ + private boolean isExistAccountDay = true; + + /** + * 账户日额度 + */ + private ActivityAccountDayEntity activityAccountDayEntity; + + /** + * 抽奖单实体 + */ + private UserRaffleOrderEntity userRaffleOrderEntity; + +} diff --git a/bigmarket-domain/src/main/java/cn/bugstack/domain/activity/model/aggregate/CreateOrderAggregate.java b/bigmarket-domain/src/main/java/cn/bugstack/domain/activity/model/aggregate/CreateQuotaOrderAggregate.java similarity index 82% rename from bigmarket-domain/src/main/java/cn/bugstack/domain/activity/model/aggregate/CreateOrderAggregate.java rename to bigmarket-domain/src/main/java/cn/bugstack/domain/activity/model/aggregate/CreateQuotaOrderAggregate.java index 4966dfa..bc493f8 100644 --- a/bigmarket-domain/src/main/java/cn/bugstack/domain/activity/model/aggregate/CreateOrderAggregate.java +++ b/bigmarket-domain/src/main/java/cn/bugstack/domain/activity/model/aggregate/CreateQuotaOrderAggregate.java @@ -1,6 +1,5 @@ package cn.bugstack.domain.activity.model.aggregate; -import cn.bugstack.domain.activity.model.entity.ActivityAccountEntity; import cn.bugstack.domain.activity.model.entity.ActivityOrderEntity; import lombok.AllArgsConstructor; import lombok.Builder; @@ -8,15 +7,15 @@ import lombok.Data; import lombok.NoArgsConstructor; /** - * @author zhaoyongfeng - * @description 下单聚合对象 + * @author Fuzhengwei bugstack.cn @小傅哥 + * @description 账户额度下单聚合对象 * @create 2024-03-16 10:32 */ @Data @Builder @AllArgsConstructor @NoArgsConstructor -public class CreateOrderAggregate { +public class CreateQuotaOrderAggregate { /** * 用户ID diff --git a/bigmarket-domain/src/main/java/cn/bugstack/domain/activity/model/entity/ActivityAccountDayEntity.java b/bigmarket-domain/src/main/java/cn/bugstack/domain/activity/model/entity/ActivityAccountDayEntity.java new file mode 100644 index 0000000..71cb060 --- /dev/null +++ b/bigmarket-domain/src/main/java/cn/bugstack/domain/activity/model/entity/ActivityAccountDayEntity.java @@ -0,0 +1,30 @@ +package cn.bugstack.domain.activity.model.entity; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @ClassName: ActivityAccountDayEntity + * @Description: 活动账户(日)实体对象 + * @Author: zhaoyongfeng + * @Date: 2024/12/6 23:40 + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class ActivityAccountDayEntity { + /** 用户ID */ + private String userId; + /** 活动ID */ + private Long activityId; + /** 日期(yyyy-mm-dd) */ + private String day; + /** 日次数 */ + private Integer dayCount; + /** 日次数-剩余 */ + private Integer dayCountSurplus; + +} diff --git a/bigmarket-domain/src/main/java/cn/bugstack/domain/activity/model/entity/ActivityAccountMonthEntity.java b/bigmarket-domain/src/main/java/cn/bugstack/domain/activity/model/entity/ActivityAccountMonthEntity.java new file mode 100644 index 0000000..d2efe25 --- /dev/null +++ b/bigmarket-domain/src/main/java/cn/bugstack/domain/activity/model/entity/ActivityAccountMonthEntity.java @@ -0,0 +1,29 @@ +package cn.bugstack.domain.activity.model.entity; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @ClassName: ActivityAccountMonthEntity + * @Description: 活动账户(月)实体对象 + * @Author: zhaoyongfeng + * @Date: 2024/12/6 23:40 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ActivityAccountMonthEntity { + /** 用户ID */ + private String userId; + /** 活动ID */ + private Long activityId; + /** 月(yyyy-mm) */ + private String month; + /** 月次数 */ + private Integer monthCount; + /** 月次数-剩余 */ + private Integer monthCountSurplus; +} diff --git a/bigmarket-domain/src/main/java/cn/bugstack/domain/activity/model/entity/PartakeRaffleActivityEntity.java b/bigmarket-domain/src/main/java/cn/bugstack/domain/activity/model/entity/PartakeRaffleActivityEntity.java new file mode 100644 index 0000000..be654d6 --- /dev/null +++ b/bigmarket-domain/src/main/java/cn/bugstack/domain/activity/model/entity/PartakeRaffleActivityEntity.java @@ -0,0 +1,22 @@ +package cn.bugstack.domain.activity.model.entity; + +import lombok.Data; + +/** + * @ClassName: PartakeRaffleActivityEntity + * @Description: 参与抽奖活动实体对象 + * @Author: zhaoyongfeng + * @Date: 2024/12/6 21:21 + */ +@Data +public class PartakeRaffleActivityEntity { + /** + * 用户ID + */ + private String userId; + + /** + * 活动ID + */ + private Long activityId; +} diff --git a/bigmarket-domain/src/main/java/cn/bugstack/domain/activity/model/entity/UserRaffleOrderEntity.java b/bigmarket-domain/src/main/java/cn/bugstack/domain/activity/model/entity/UserRaffleOrderEntity.java new file mode 100644 index 0000000..f4d2c34 --- /dev/null +++ b/bigmarket-domain/src/main/java/cn/bugstack/domain/activity/model/entity/UserRaffleOrderEntity.java @@ -0,0 +1,37 @@ +package cn.bugstack.domain.activity.model.entity; + +import cn.bugstack.domain.activity.model.valobj.UserRaffleOrderStateVO; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; + +/** + * @ClassName: UserRaffleOrderEntity + * @Description: 用户抽奖订单实体对象 + * @Author: zhaoyongfeng + * @Date: 2024/12/6 21:21 + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class UserRaffleOrderEntity { + + /** 活动ID */ + private String userId; + /** 活动名称 */ + private Long activityId; + /** 抽奖策略ID */ + private String activityName; + /** 订单ID */ + private Long strategyId; + /** 下单时间 */ + private String orderId; + /** 订单状态;create-创建、used-已使用、cancel-已作废 */ + private Date orderTime; + /** 创建时间 */ + private UserRaffleOrderStateVO orderState; +} diff --git a/bigmarket-domain/src/main/java/cn/bugstack/domain/activity/model/valobj/UserRaffleOrderStateVO.java b/bigmarket-domain/src/main/java/cn/bugstack/domain/activity/model/valobj/UserRaffleOrderStateVO.java new file mode 100644 index 0000000..53da3f1 --- /dev/null +++ b/bigmarket-domain/src/main/java/cn/bugstack/domain/activity/model/valobj/UserRaffleOrderStateVO.java @@ -0,0 +1,23 @@ +package cn.bugstack.domain.activity.model.valobj; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * @ClassName: UserRaffleOrderStateVO + * @Description: 用户抽奖订单状态枚举 + * @Author: zhaoyongfeng + * @Date: 2024/12/6 21:22 + */ +@Getter +@AllArgsConstructor +public enum UserRaffleOrderStateVO { + create("create", "创建"), + used("used", "已使用"), + cancel("cancel", "已作废"), + ; + + private final String code; + private final String desc; + +} diff --git a/bigmarket-domain/src/main/java/cn/bugstack/domain/activity/repository/IActivityRepository.java b/bigmarket-domain/src/main/java/cn/bugstack/domain/activity/repository/IActivityRepository.java index ca4e5f5..cc802f4 100644 --- a/bigmarket-domain/src/main/java/cn/bugstack/domain/activity/repository/IActivityRepository.java +++ b/bigmarket-domain/src/main/java/cn/bugstack/domain/activity/repository/IActivityRepository.java @@ -1,9 +1,8 @@ package cn.bugstack.domain.activity.repository; -import cn.bugstack.domain.activity.model.aggregate.CreateOrderAggregate; -import cn.bugstack.domain.activity.model.entity.ActivityCountEntity; -import cn.bugstack.domain.activity.model.entity.ActivityEntity; -import cn.bugstack.domain.activity.model.entity.ActivitySkuEntity; +import cn.bugstack.domain.activity.model.aggregate.CreatePartakeOrderAggregate; +import cn.bugstack.domain.activity.model.aggregate.CreateQuotaOrderAggregate; +import cn.bugstack.domain.activity.model.entity.*; import cn.bugstack.domain.activity.model.valobj.ActivitySkuStockKeyVO; import java.util.Date; @@ -22,7 +21,7 @@ public interface IActivityRepository { ActivityCountEntity queryRaffleActivityCountByActivityCountId(Long activityCountId); - void doSaveOrder(CreateOrderAggregate createOrderAggregate); + void doSaveOrder(CreateQuotaOrderAggregate createOrderAggregate); void cacheActivitySkuStockCount(String cacheKey, Integer stockCount); @@ -37,4 +36,14 @@ public interface IActivityRepository { void updateActivitySkuStock(Long sku); void clearActivitySkuStock(Long sku); + + UserRaffleOrderEntity queryNoUsedRaffleOrder(PartakeRaffleActivityEntity partakeRaffleActivityEntity); + + ActivityAccountEntity queryActivityAccountByUserId(String userId, Long activityId); + + ActivityAccountMonthEntity queryActivityAccountMonthByUserId(String userId, Long activityId, String month); + + ActivityAccountDayEntity queryActivityAccountDayByUserId(String userId, Long activityId, String day); + + void saveCreatePartakeOrderAggregate(CreatePartakeOrderAggregate createPartakeOrderAggregate); } diff --git a/bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/IRaffleOrder.java b/bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/IRaffleActivityAccountQuotaService.java similarity index 86% rename from bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/IRaffleOrder.java rename to bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/IRaffleActivityAccountQuotaService.java index 4eb18a9..476e8bd 100644 --- a/bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/IRaffleOrder.java +++ b/bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/IRaffleActivityAccountQuotaService.java @@ -6,10 +6,8 @@ import cn.bugstack.domain.activity.model.entity.SkuRechargeEntity; * @return * @author zhaoyongfeng * @description 抽奖活动订单接口 - * - * @param null */ -public interface IRaffleOrder { +public interface IRaffleActivityAccountQuotaService { /** * 创建 sku 账户充值订单,给用户增加抽奖次数 *

@@ -19,5 +17,5 @@ public interface IRaffleOrder { * @param skuRechargeEntity 活动商品充值实体对象 * @return 活动ID */ - String createSkuRechargeOrder(SkuRechargeEntity skuRechargeEntity); + String createOrder(SkuRechargeEntity skuRechargeEntity); } diff --git a/bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/IRaffleActivityPartakeService.java b/bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/IRaffleActivityPartakeService.java new file mode 100644 index 0000000..544eb9f --- /dev/null +++ b/bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/IRaffleActivityPartakeService.java @@ -0,0 +1,19 @@ +package cn.bugstack.domain.activity.service; + +import cn.bugstack.domain.activity.model.entity.PartakeRaffleActivityEntity; +import cn.bugstack.domain.activity.model.entity.UserRaffleOrderEntity; +/* + * @return + * @author zhaoyongfeng + * @description 抽奖活动参与服务 + */ +public interface IRaffleActivityPartakeService { + /** + * 创建抽奖单;用户参与抽奖活动,扣减活动账户库存,产生抽奖单。如存在未被使用的抽奖单则直接返回已存在的抽奖单。 + * + * @param partakeRaffleActivityEntity 参与抽奖活动实体对象 + * @return 用户抽奖订单实体对象 + */ + UserRaffleOrderEntity createOrder(PartakeRaffleActivityEntity partakeRaffleActivityEntity); + +} diff --git a/bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/ISkuStock.java b/bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/IRaffleActivitySkuStockService.java similarity index 94% rename from bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/ISkuStock.java rename to bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/IRaffleActivitySkuStockService.java index ba926c6..e475e6e 100644 --- a/bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/ISkuStock.java +++ b/bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/IRaffleActivitySkuStockService.java @@ -6,10 +6,8 @@ import cn.bugstack.domain.activity.model.valobj.ActivitySkuStockKeyVO; * @return * @author zhaoyongfeng * @description 活动sku库存处理接口 - * - * @param null */ -public interface ISkuStock { +public interface IRaffleActivitySkuStockService { /** * 获取活动sku库存消耗队列 * diff --git a/bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/partake/AbstractRaffleActivityPartake.java b/bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/partake/AbstractRaffleActivityPartake.java new file mode 100644 index 0000000..9b44465 --- /dev/null +++ b/bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/partake/AbstractRaffleActivityPartake.java @@ -0,0 +1,77 @@ +package cn.bugstack.domain.activity.service.partake; + +import cn.bugstack.domain.activity.model.aggregate.CreatePartakeOrderAggregate; +import cn.bugstack.domain.activity.model.entity.ActivityEntity; +import cn.bugstack.domain.activity.model.entity.PartakeRaffleActivityEntity; +import cn.bugstack.domain.activity.model.entity.UserRaffleOrderEntity; +import cn.bugstack.domain.activity.model.valobj.ActivityStateVO; +import cn.bugstack.domain.activity.repository.IActivityRepository; +import cn.bugstack.domain.activity.service.IRaffleActivityPartakeService; +import cn.bugstack.types.enums.ResponseCode; +import cn.bugstack.types.exception.AppException; +import com.alibaba.fastjson.JSON; +import lombok.extern.slf4j.Slf4j; + +import javax.annotation.Resource; +import java.util.Date; + +/** + * @ClassName: AbstractRaffleActivityPartake + * @Description: + * @Author: zhaoyongfeng + * @Date: 2024/12/6 23:34 + */ +@Slf4j +public abstract class AbstractRaffleActivityPartake implements IRaffleActivityPartakeService { + @Resource + protected final IActivityRepository activityRepository; + + public AbstractRaffleActivityPartake(IActivityRepository activityRepository) { + this.activityRepository = activityRepository; + } + @Override + public UserRaffleOrderEntity createOrder(PartakeRaffleActivityEntity partakeRaffleActivityEntity) { + // 0. 基础信息 + String userId = partakeRaffleActivityEntity.getUserId(); + Long activityId = partakeRaffleActivityEntity.getActivityId(); + Date currentDate = new Date(); + + // 1. 活动查询 + ActivityEntity activityEntity = activityRepository.queryRaffleActivityByActivityId(activityId); + + // 校验;活动状态 + if (!ActivityStateVO.open.equals(activityEntity.getState())) { + throw new AppException(ResponseCode.ACTIVITY_STATE_ERROR.getCode(), ResponseCode.ACTIVITY_STATE_ERROR.getInfo()); + } + // 校验;活动日期「开始时间 <- 当前时间 -> 结束时间」 + if (activityEntity.getBeginDateTime().after(currentDate) || activityEntity.getEndDateTime().before(currentDate)) { + throw new AppException(ResponseCode.ACTIVITY_DATE_ERROR.getCode(), ResponseCode.ACTIVITY_DATE_ERROR.getInfo()); + } + + // 2. 查询未被使用的活动参与订单记录 + UserRaffleOrderEntity userRaffleOrderEntity = activityRepository.queryNoUsedRaffleOrder(partakeRaffleActivityEntity); + if (null != userRaffleOrderEntity) { + log.info("创建参与活动订单 userId:{} activityId:{} userRaffleOrderEntity:{}", userId, activityId, JSON.toJSONString(userRaffleOrderEntity)); + return userRaffleOrderEntity; + } + + // 3. 额度账户过滤&返回账户构建对象 + CreatePartakeOrderAggregate createPartakeOrderAggregate = this.doFilterAccount(userId, activityId, currentDate); + + // 4. 构建订单 + UserRaffleOrderEntity userRaffleOrder = this.buildUserRaffleOrder(userId, activityId, currentDate); + + // 5. 填充抽奖单实体对象 + createPartakeOrderAggregate.setUserRaffleOrderEntity(userRaffleOrder); + + // 6. 保存聚合对象 - 一个领域内的一个聚合是一个事务操作 + activityRepository.saveCreatePartakeOrderAggregate(createPartakeOrderAggregate); + + // 7. 返回订单信息 + return userRaffleOrder; + } + + protected abstract CreatePartakeOrderAggregate doFilterAccount(String userId, Long activityId, Date currentDate); + + protected abstract UserRaffleOrderEntity buildUserRaffleOrder(String userId, Long activityId, Date currentDate); +} diff --git a/bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/partake/RaffleActivityPartakeService.java b/bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/partake/RaffleActivityPartakeService.java new file mode 100644 index 0000000..6cae670 --- /dev/null +++ b/bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/partake/RaffleActivityPartakeService.java @@ -0,0 +1,105 @@ +package cn.bugstack.domain.activity.service.partake; + +import cn.bugstack.domain.activity.model.aggregate.CreatePartakeOrderAggregate; +import cn.bugstack.domain.activity.model.entity.*; +import cn.bugstack.domain.activity.model.valobj.UserRaffleOrderStateVO; +import cn.bugstack.domain.activity.repository.IActivityRepository; +import cn.bugstack.types.enums.ResponseCode; +import cn.bugstack.types.exception.AppException; +import org.apache.commons.lang3.RandomStringUtils; +import org.springframework.stereotype.Service; + +import java.text.SimpleDateFormat; +import java.util.Date; + +/** + * @ClassName: RaffleActivityPartakeService + * @Description: + * @Author: zhaoyongfeng + * @Date: 2024/12/7 0:00 + */ +@Service +public class RaffleActivityPartakeService extends AbstractRaffleActivityPartake{ + private final SimpleDateFormat dateFormatMonth = new SimpleDateFormat("yyyy-MM"); + private final SimpleDateFormat dateFormatDay = new SimpleDateFormat("yyyy-MM-dd"); + + public RaffleActivityPartakeService(IActivityRepository activityRepository) { + super(activityRepository); + } + + @Override + protected CreatePartakeOrderAggregate doFilterAccount(String userId, Long activityId, Date currentDate) { + // 查询总账户额度 + ActivityAccountEntity activityAccountEntity = activityRepository.queryActivityAccountByUserId(userId, activityId); + + // 额度判断(只判断总剩余额度) + if (null == activityAccountEntity || activityAccountEntity.getTotalCountSurplus() <= 0) { + throw new AppException(ResponseCode.ACCOUNT_QUOTA_ERROR.getCode(), ResponseCode.ACCOUNT_QUOTA_ERROR.getInfo()); + } + + String month = dateFormatMonth.format(currentDate); + String day = dateFormatDay.format(currentDate); + + // 查询月账户额度 + ActivityAccountMonthEntity activityAccountMonthEntity = activityRepository.queryActivityAccountMonthByUserId(userId, activityId, month); + if (null != activityAccountMonthEntity && activityAccountMonthEntity.getMonthCountSurplus() <= 0) { + throw new AppException(ResponseCode.ACCOUNT_MONTH_QUOTA_ERROR.getCode(), ResponseCode.ACCOUNT_MONTH_QUOTA_ERROR.getInfo()); + } + + // 创建月账户额度;true = 存在月账户、false = 不存在月账户 + boolean isExistAccountMonth = null != activityAccountMonthEntity; + if (null == activityAccountMonthEntity) { + activityAccountMonthEntity = new ActivityAccountMonthEntity(); + activityAccountMonthEntity.setUserId(userId); + activityAccountMonthEntity.setActivityId(activityId); + activityAccountMonthEntity.setMonth(month); + activityAccountMonthEntity.setMonthCount(activityAccountEntity.getMonthCount()); + activityAccountMonthEntity.setMonthCountSurplus(activityAccountEntity.getMonthCountSurplus()); + } + + // 查询日账户额度 + ActivityAccountDayEntity activityAccountDayEntity = activityRepository.queryActivityAccountDayByUserId(userId, activityId, day); + if (null != activityAccountDayEntity && activityAccountDayEntity.getDayCountSurplus() <= 0) { + throw new AppException(ResponseCode.ACCOUNT_DAY_QUOTA_ERROR.getCode(), ResponseCode.ACCOUNT_DAY_QUOTA_ERROR.getInfo()); + } + + // 创建月账户额度;true = 存在月账户、false = 不存在月账户 + boolean isExistAccountDay = null != activityAccountDayEntity; + if (null == activityAccountDayEntity) { + activityAccountDayEntity = new ActivityAccountDayEntity(); + activityAccountDayEntity.setUserId(userId); + activityAccountDayEntity.setActivityId(activityId); + activityAccountDayEntity.setDay(day); + activityAccountDayEntity.setDayCount(activityAccountEntity.getDayCount()); + activityAccountDayEntity.setDayCountSurplus(activityAccountEntity.getDayCountSurplus()); + } + + // 构建对象 + CreatePartakeOrderAggregate createPartakeOrderAggregate = new CreatePartakeOrderAggregate(); + createPartakeOrderAggregate.setUserId(userId); + createPartakeOrderAggregate.setActivityId(activityId); + createPartakeOrderAggregate.setActivityAccountEntity(activityAccountEntity); + createPartakeOrderAggregate.setExistAccountMonth(isExistAccountMonth); + createPartakeOrderAggregate.setActivityAccountMonthEntity(activityAccountMonthEntity); + createPartakeOrderAggregate.setExistAccountDay(isExistAccountDay); + createPartakeOrderAggregate.setActivityAccountDayEntity(activityAccountDayEntity); + + return createPartakeOrderAggregate; + } + + @Override + protected UserRaffleOrderEntity buildUserRaffleOrder(String userId, Long activityId, Date currentDate) { + ActivityEntity activityEntity = activityRepository.queryRaffleActivityByActivityId(activityId); + // 构建订单 + UserRaffleOrderEntity userRaffleOrder = new UserRaffleOrderEntity(); + userRaffleOrder.setUserId(userId); + userRaffleOrder.setActivityId(activityId); + userRaffleOrder.setActivityName(activityEntity.getActivityName()); + userRaffleOrder.setStrategyId(activityEntity.getStrategyId()); + userRaffleOrder.setOrderId(RandomStringUtils.randomNumeric(12)); + userRaffleOrder.setOrderTime(currentDate); + userRaffleOrder.setOrderState(UserRaffleOrderStateVO.create); + return userRaffleOrder; + } + +} diff --git a/bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/AbstractRaffleActivity.java b/bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/quota/AbstractRaffleActivityAccountQuota.java similarity index 61% rename from bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/AbstractRaffleActivity.java rename to bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/quota/AbstractRaffleActivityAccountQuota.java index 1115cec..d8a4026 100644 --- a/bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/AbstractRaffleActivity.java +++ b/bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/quota/AbstractRaffleActivityAccountQuota.java @@ -1,10 +1,11 @@ -package cn.bugstack.domain.activity.service; +package cn.bugstack.domain.activity.service.quota; -import cn.bugstack.domain.activity.model.aggregate.CreateOrderAggregate; +import cn.bugstack.domain.activity.model.aggregate.CreateQuotaOrderAggregate; import cn.bugstack.domain.activity.model.entity.*; import cn.bugstack.domain.activity.repository.IActivityRepository; -import cn.bugstack.domain.activity.service.rule.IActionChain; -import cn.bugstack.domain.activity.service.rule.factory.DefaultActivityChainFactory; +import cn.bugstack.domain.activity.service.IRaffleActivityAccountQuotaService; +import cn.bugstack.domain.activity.service.quota.rule.IActionChain; +import cn.bugstack.domain.activity.service.quota.rule.factory.DefaultActivityChainFactory; import cn.bugstack.types.enums.ResponseCode; import cn.bugstack.types.exception.AppException; import lombok.extern.slf4j.Slf4j; @@ -14,16 +15,14 @@ import org.apache.commons.lang3.StringUtils; * @return * @author zhaoyongfeng * @description 抽奖活动抽象类,定义标准的流程 - * - * @param null */ @Slf4j -public abstract class AbstractRaffleActivity extends RaffleActivitySupport implements IRaffleOrder{ - public AbstractRaffleActivity(IActivityRepository activityRepository, DefaultActivityChainFactory defaultActivityChainFactory) { +public abstract class AbstractRaffleActivityAccountQuota extends RaffleActivityAccountQuotaSupport implements IRaffleActivityAccountQuotaService { + public AbstractRaffleActivityAccountQuota(IActivityRepository activityRepository, DefaultActivityChainFactory defaultActivityChainFactory) { super(activityRepository, defaultActivityChainFactory); } @Override - public String createSkuRechargeOrder(SkuRechargeEntity skuRechargeEntity) { + public String createOrder(SkuRechargeEntity skuRechargeEntity) { // 1. 参数校验 String userId = skuRechargeEntity.getUserId(); Long sku = skuRechargeEntity.getSku(); @@ -45,7 +44,7 @@ public abstract class AbstractRaffleActivity extends RaffleActivitySupport imple actionChain.action(activitySkuEntity, activityEntity, activityCountEntity); // 4. 构建订单聚合对象 - CreateOrderAggregate createOrderAggregate = buildOrderAggregate(skuRechargeEntity, activitySkuEntity, activityEntity, activityCountEntity); + CreateQuotaOrderAggregate createOrderAggregate = buildOrderAggregate(skuRechargeEntity, activitySkuEntity, activityEntity, activityCountEntity); // 5. 保存订单 doSaveOrder(createOrderAggregate); @@ -54,7 +53,8 @@ public abstract class AbstractRaffleActivity extends RaffleActivitySupport imple return createOrderAggregate.getActivityOrderEntity().getOrderId(); } - protected abstract CreateOrderAggregate buildOrderAggregate(SkuRechargeEntity skuRechargeEntity, ActivitySkuEntity activitySkuEntity, ActivityEntity activityEntity, ActivityCountEntity activityCountEntity); + protected abstract CreateQuotaOrderAggregate buildOrderAggregate(SkuRechargeEntity skuRechargeEntity, ActivitySkuEntity activitySkuEntity, ActivityEntity activityEntity, ActivityCountEntity activityCountEntity); + + protected abstract void doSaveOrder(CreateQuotaOrderAggregate createOrderAggregate); - protected abstract void doSaveOrder(CreateOrderAggregate createOrderAggregate); } diff --git a/bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/RaffleActivityService.java b/bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/quota/RaffleActivityAccountQuotaService.java similarity index 74% rename from bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/RaffleActivityService.java rename to bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/quota/RaffleActivityAccountQuotaService.java index 65d6b0c..530448a 100644 --- a/bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/RaffleActivityService.java +++ b/bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/quota/RaffleActivityAccountQuotaService.java @@ -1,11 +1,12 @@ -package cn.bugstack.domain.activity.service; +package cn.bugstack.domain.activity.service.quota; -import cn.bugstack.domain.activity.model.aggregate.CreateOrderAggregate; +import cn.bugstack.domain.activity.model.aggregate.CreateQuotaOrderAggregate; import cn.bugstack.domain.activity.model.entity.*; import cn.bugstack.domain.activity.model.valobj.ActivitySkuStockKeyVO; import cn.bugstack.domain.activity.model.valobj.OrderStateVO; import cn.bugstack.domain.activity.repository.IActivityRepository; -import cn.bugstack.domain.activity.service.rule.factory.DefaultActivityChainFactory; +import cn.bugstack.domain.activity.service.IRaffleActivitySkuStockService; +import cn.bugstack.domain.activity.service.quota.rule.factory.DefaultActivityChainFactory; import org.apache.commons.lang3.RandomStringUtils; import org.springframework.stereotype.Service; @@ -15,17 +16,15 @@ import java.util.Date; * @return * @author zhaoyongfeng * @description 抽奖活动服务 - * - * @param null */ @Service -public class RaffleActivityService extends AbstractRaffleActivity implements ISkuStock{ - public RaffleActivityService(IActivityRepository activityRepository, DefaultActivityChainFactory defaultActivityChainFactory) { +public class RaffleActivityAccountQuotaService extends AbstractRaffleActivityAccountQuota implements IRaffleActivitySkuStockService { + public RaffleActivityAccountQuotaService(IActivityRepository activityRepository, DefaultActivityChainFactory defaultActivityChainFactory) { super(activityRepository, defaultActivityChainFactory); } @Override - protected CreateOrderAggregate buildOrderAggregate(SkuRechargeEntity skuRechargeEntity, ActivitySkuEntity activitySkuEntity, ActivityEntity activityEntity, ActivityCountEntity activityCountEntity) { + protected CreateQuotaOrderAggregate buildOrderAggregate(SkuRechargeEntity skuRechargeEntity, ActivitySkuEntity activitySkuEntity, ActivityEntity activityEntity, ActivityCountEntity activityCountEntity) { // 订单实体对象 ActivityOrderEntity activityOrderEntity = new ActivityOrderEntity(); activityOrderEntity.setUserId(skuRechargeEntity.getUserId()); @@ -43,7 +42,7 @@ public class RaffleActivityService extends AbstractRaffleActivity implements ISk activityOrderEntity.setOutBusinessNo(skuRechargeEntity.getOutBusinessNo()); // 构建聚合对象 - return CreateOrderAggregate.builder() + return CreateQuotaOrderAggregate.builder() .userId(skuRechargeEntity.getUserId()) .activityId(activitySkuEntity.getActivityId()) .totalCount(activityCountEntity.getTotalCount()) @@ -54,7 +53,7 @@ public class RaffleActivityService extends AbstractRaffleActivity implements ISk } @Override - protected void doSaveOrder(CreateOrderAggregate createOrderAggregate) { + protected void doSaveOrder(CreateQuotaOrderAggregate createOrderAggregate) { activityRepository.doSaveOrder(createOrderAggregate); } diff --git a/bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/RaffleActivitySupport.java b/bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/quota/RaffleActivityAccountQuotaSupport.java similarity index 76% rename from bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/RaffleActivitySupport.java rename to bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/quota/RaffleActivityAccountQuotaSupport.java index e08f154..d853c6f 100644 --- a/bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/RaffleActivitySupport.java +++ b/bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/quota/RaffleActivityAccountQuotaSupport.java @@ -1,24 +1,22 @@ -package cn.bugstack.domain.activity.service; +package cn.bugstack.domain.activity.service.quota; import cn.bugstack.domain.activity.model.entity.ActivityCountEntity; import cn.bugstack.domain.activity.model.entity.ActivityEntity; import cn.bugstack.domain.activity.model.entity.ActivitySkuEntity; import cn.bugstack.domain.activity.repository.IActivityRepository; -import cn.bugstack.domain.activity.service.rule.factory.DefaultActivityChainFactory; +import cn.bugstack.domain.activity.service.quota.rule.factory.DefaultActivityChainFactory; /* * @return * @author zhaoyongfeng * @description 抽奖活动的支撑类 - * - * @param null */ -public class RaffleActivitySupport { +public class RaffleActivityAccountQuotaSupport { protected DefaultActivityChainFactory defaultActivityChainFactory; protected IActivityRepository activityRepository; - public RaffleActivitySupport(IActivityRepository activityRepository, DefaultActivityChainFactory defaultActivityChainFactory) { + public RaffleActivityAccountQuotaSupport(IActivityRepository activityRepository, DefaultActivityChainFactory defaultActivityChainFactory) { this.activityRepository = activityRepository; this.defaultActivityChainFactory = defaultActivityChainFactory; } diff --git a/bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/rule/AbstractActionChain.java b/bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/quota/rule/AbstractActionChain.java similarity index 88% rename from bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/rule/AbstractActionChain.java rename to bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/quota/rule/AbstractActionChain.java index e42ba0f..daffd94 100644 --- a/bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/rule/AbstractActionChain.java +++ b/bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/quota/rule/AbstractActionChain.java @@ -1,4 +1,4 @@ -package cn.bugstack.domain.activity.service.rule; +package cn.bugstack.domain.activity.service.quota.rule; /** * @author Fuzhengwei bugstack.cn @小傅哥 diff --git a/bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/rule/IActionChain.java b/bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/quota/rule/IActionChain.java similarity index 90% rename from bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/rule/IActionChain.java rename to bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/quota/rule/IActionChain.java index e5c8878..defc1a7 100644 --- a/bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/rule/IActionChain.java +++ b/bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/quota/rule/IActionChain.java @@ -1,4 +1,4 @@ -package cn.bugstack.domain.activity.service.rule; +package cn.bugstack.domain.activity.service.quota.rule; import cn.bugstack.domain.activity.model.entity.ActivityCountEntity; import cn.bugstack.domain.activity.model.entity.ActivityEntity; diff --git a/bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/rule/IActionChainArmory.java b/bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/quota/rule/IActionChainArmory.java similarity index 79% rename from bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/rule/IActionChainArmory.java rename to bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/quota/rule/IActionChainArmory.java index 59b964f..3f7721e 100644 --- a/bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/rule/IActionChainArmory.java +++ b/bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/quota/rule/IActionChainArmory.java @@ -1,4 +1,4 @@ -package cn.bugstack.domain.activity.service.rule; +package cn.bugstack.domain.activity.service.quota.rule; /** * @author Fuzhengwei bugstack.cn @小傅哥 diff --git a/bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/rule/factory/DefaultActivityChainFactory.java b/bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/quota/rule/factory/DefaultActivityChainFactory.java similarity index 90% rename from bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/rule/factory/DefaultActivityChainFactory.java rename to bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/quota/rule/factory/DefaultActivityChainFactory.java index 32bee0a..50caa28 100644 --- a/bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/rule/factory/DefaultActivityChainFactory.java +++ b/bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/quota/rule/factory/DefaultActivityChainFactory.java @@ -1,6 +1,6 @@ -package cn.bugstack.domain.activity.service.rule.factory; +package cn.bugstack.domain.activity.service.quota.rule.factory; -import cn.bugstack.domain.activity.service.rule.IActionChain; +import cn.bugstack.domain.activity.service.quota.rule.IActionChain; import lombok.AllArgsConstructor; import lombok.Getter; import org.springframework.stereotype.Service; diff --git a/bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/rule/impl/ActivityBaseActionChain.java b/bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/quota/rule/impl/ActivityBaseActionChain.java similarity index 93% rename from bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/rule/impl/ActivityBaseActionChain.java rename to bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/quota/rule/impl/ActivityBaseActionChain.java index a6a99ef..3a1ab51 100644 --- a/bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/rule/impl/ActivityBaseActionChain.java +++ b/bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/quota/rule/impl/ActivityBaseActionChain.java @@ -1,10 +1,10 @@ -package cn.bugstack.domain.activity.service.rule.impl; +package cn.bugstack.domain.activity.service.quota.rule.impl; import cn.bugstack.domain.activity.model.entity.ActivityCountEntity; import cn.bugstack.domain.activity.model.entity.ActivityEntity; import cn.bugstack.domain.activity.model.entity.ActivitySkuEntity; import cn.bugstack.domain.activity.model.valobj.ActivityStateVO; -import cn.bugstack.domain.activity.service.rule.AbstractActionChain; +import cn.bugstack.domain.activity.service.quota.rule.AbstractActionChain; import cn.bugstack.types.enums.ResponseCode; import cn.bugstack.types.exception.AppException; import lombok.extern.slf4j.Slf4j; diff --git a/bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/rule/impl/ActivitySkuStockActionChain.java b/bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/quota/rule/impl/ActivitySkuStockActionChain.java similarity index 94% rename from bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/rule/impl/ActivitySkuStockActionChain.java rename to bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/quota/rule/impl/ActivitySkuStockActionChain.java index dccc221..89e7575 100644 --- a/bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/rule/impl/ActivitySkuStockActionChain.java +++ b/bigmarket-domain/src/main/java/cn/bugstack/domain/activity/service/quota/rule/impl/ActivitySkuStockActionChain.java @@ -1,4 +1,4 @@ -package cn.bugstack.domain.activity.service.rule.impl; +package cn.bugstack.domain.activity.service.quota.rule.impl; import cn.bugstack.domain.activity.model.entity.ActivityCountEntity; import cn.bugstack.domain.activity.model.entity.ActivityEntity; @@ -6,7 +6,7 @@ import cn.bugstack.domain.activity.model.entity.ActivitySkuEntity; import cn.bugstack.domain.activity.model.valobj.ActivitySkuStockKeyVO; import cn.bugstack.domain.activity.repository.IActivityRepository; import cn.bugstack.domain.activity.service.armory.IActivityDispatch; -import cn.bugstack.domain.activity.service.rule.AbstractActionChain; +import cn.bugstack.domain.activity.service.quota.rule.AbstractActionChain; import cn.bugstack.types.enums.ResponseCode; import cn.bugstack.types.exception.AppException; import lombok.extern.slf4j.Slf4j; diff --git a/bigmarket-domain/src/main/java/cn/bugstack/domain/award/event/SendAwardMessageEvent.java b/bigmarket-domain/src/main/java/cn/bugstack/domain/award/event/SendAwardMessageEvent.java new file mode 100644 index 0000000..78cabed --- /dev/null +++ b/bigmarket-domain/src/main/java/cn/bugstack/domain/award/event/SendAwardMessageEvent.java @@ -0,0 +1,58 @@ +package cn.bugstack.domain.award.event; + +import cn.bugstack.types.event.BaseEvent; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.apache.commons.lang3.RandomStringUtils; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Component; + +import java.util.Date; + +/** + * @author zyf + * @description 用户奖品记录事件消息 + * @create 2024-04-06 09:43 + */ +@Component +public class SendAwardMessageEvent extends BaseEvent { + + @Value("${spring.rabbitmq.topic.send_award}") + private String topic; + + @Override + public EventMessage buildEventMessage(SendAwardMessage data) { + return EventMessage.builder() + .id(RandomStringUtils.randomNumeric(11)) + .timestamp(new Date()) + .data(data) + .build(); + } + + @Override + public String topic() { + return topic; + } + + @Data + @Builder + @AllArgsConstructor + @NoArgsConstructor + public static class SendAwardMessage { + /** + * 用户ID + */ + private String userId; + /** + * 奖品ID + */ + private Integer awardId; + /** + * 奖品标题(名称) + */ + private String awardTitle; + } + +} diff --git a/bigmarket-domain/src/main/java/cn/bugstack/domain/award/model/aggregate/UserAwardRecordAggregate.java b/bigmarket-domain/src/main/java/cn/bugstack/domain/award/model/aggregate/UserAwardRecordAggregate.java new file mode 100644 index 0000000..629a331 --- /dev/null +++ b/bigmarket-domain/src/main/java/cn/bugstack/domain/award/model/aggregate/UserAwardRecordAggregate.java @@ -0,0 +1,24 @@ +package cn.bugstack.domain.award.model.aggregate; + +import cn.bugstack.domain.award.model.entity.TaskEntity; +import cn.bugstack.domain.award.model.entity.UserAwardRecordEntity; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @ClassName: UserAwardRecordAggregate + * @Description: 用户中奖记录聚合对象 【聚合代表一个事务操作】 + * @Author: zhaoyongfeng + * @Date: 2024/12/9 16:24 + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class UserAwardRecordAggregate { + private UserAwardRecordEntity userAwardRecordEntity; + + private TaskEntity taskEntity; +} diff --git a/bigmarket-domain/src/main/java/cn/bugstack/domain/award/model/entity/TaskEntity.java b/bigmarket-domain/src/main/java/cn/bugstack/domain/award/model/entity/TaskEntity.java new file mode 100644 index 0000000..20b21e5 --- /dev/null +++ b/bigmarket-domain/src/main/java/cn/bugstack/domain/award/model/entity/TaskEntity.java @@ -0,0 +1,32 @@ +package cn.bugstack.domain.award.model.entity; + +import cn.bugstack.domain.award.event.SendAwardMessageEvent; +import cn.bugstack.domain.award.model.valobj.TaskStateVO; +import cn.bugstack.types.event.BaseEvent; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @ClassName: TaskEntity + * @Description: 任务实体对象 + * @Author: zhaoyongfeng + * @Date: 2024/12/9 16:22 + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class TaskEntity { + /** 活动ID */ + private String userId; + /** 消息主题 */ + private String topic; + /** 消息编号 */ + private String messageId; + /** 消息主体 */ + private BaseEvent.EventMessage message; + /** 任务状态;create-创建、completed-完成、fail-失败 */ + private TaskStateVO state; +} diff --git a/bigmarket-domain/src/main/java/cn/bugstack/domain/award/model/entity/UserAwardRecordEntity.java b/bigmarket-domain/src/main/java/cn/bugstack/domain/award/model/entity/UserAwardRecordEntity.java new file mode 100644 index 0000000..7c97c05 --- /dev/null +++ b/bigmarket-domain/src/main/java/cn/bugstack/domain/award/model/entity/UserAwardRecordEntity.java @@ -0,0 +1,38 @@ +package cn.bugstack.domain.award.model.entity; + +import cn.bugstack.domain.award.model.valobj.AwardStateVO; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; + +/** + * @ClassName: UserAwardEntity + * @Description: 用户中奖记录实体对象 + * @Author: zhaoyongfeng + * @Date: 2024/12/9 15:44 + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class UserAwardRecordEntity { + /** 用户ID */ + private String userId; + /** 活动ID */ + private Long activityId; + /** 抽奖策略ID */ + private Long strategyId; + /** 抽奖订单ID【作为幂等使用】 */ + private String orderId; + /** 奖品ID */ + private Integer awardId; + /** 奖品标题(名称) */ + private String awardTitle; + /** 中奖时间 */ + private Date awardTime; + /** 奖品状态;create-创建、completed-发奖完成 */ + private AwardStateVO awardState; +} diff --git a/bigmarket-domain/src/main/java/cn/bugstack/domain/award/model/valobj/AwardStateVO.java b/bigmarket-domain/src/main/java/cn/bugstack/domain/award/model/valobj/AwardStateVO.java new file mode 100644 index 0000000..90b5448 --- /dev/null +++ b/bigmarket-domain/src/main/java/cn/bugstack/domain/award/model/valobj/AwardStateVO.java @@ -0,0 +1,22 @@ +package cn.bugstack.domain.award.model.valobj; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +/* + * @author zhaoyongfeng + * @description 奖品状态枚举值对象 + */ +@Getter +@AllArgsConstructor +public enum AwardStateVO { + + create("create", "创建"), + complete("complete", "发奖完成"), + fail("fail", "发奖失败"), + ; + + private final String code; + private final String desc; + +} diff --git a/bigmarket-domain/src/main/java/cn/bugstack/domain/award/model/valobj/TaskStateVO.java b/bigmarket-domain/src/main/java/cn/bugstack/domain/award/model/valobj/TaskStateVO.java new file mode 100644 index 0000000..29cb958 --- /dev/null +++ b/bigmarket-domain/src/main/java/cn/bugstack/domain/award/model/valobj/TaskStateVO.java @@ -0,0 +1,23 @@ +package cn.bugstack.domain.award.model.valobj; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * @author zhaoyongfeng + * @description 任务状态值对象 + * @create 2024-04-06 10:00 + */ +@Getter +@AllArgsConstructor +public enum TaskStateVO { + + create("create", "创建"), + complete("complete", "发送完成"), + fail("fail", "发送失败"), + ; + + private final String code; + private final String desc; + +} diff --git a/bigmarket-domain/src/main/java/cn/bugstack/domain/award/repository/IAwardRepository.java b/bigmarket-domain/src/main/java/cn/bugstack/domain/award/repository/IAwardRepository.java new file mode 100644 index 0000000..8a5e944 --- /dev/null +++ b/bigmarket-domain/src/main/java/cn/bugstack/domain/award/repository/IAwardRepository.java @@ -0,0 +1,7 @@ +package cn.bugstack.domain.award.repository; + +import cn.bugstack.domain.award.model.aggregate.UserAwardRecordAggregate; + +public interface IAwardRepository { + void saveUserAwardRecord(UserAwardRecordAggregate userAwardRecordAggregate); +} diff --git a/bigmarket-domain/src/main/java/cn/bugstack/domain/award/service/AwardService.java b/bigmarket-domain/src/main/java/cn/bugstack/domain/award/service/AwardService.java new file mode 100644 index 0000000..7f8bc21 --- /dev/null +++ b/bigmarket-domain/src/main/java/cn/bugstack/domain/award/service/AwardService.java @@ -0,0 +1,51 @@ +package cn.bugstack.domain.award.service; + +import cn.bugstack.domain.award.model.aggregate.UserAwardRecordAggregate; +import cn.bugstack.domain.award.event.SendAwardMessageEvent; +import cn.bugstack.domain.award.model.entity.TaskEntity; +import cn.bugstack.domain.award.model.entity.UserAwardRecordEntity; +import cn.bugstack.domain.award.model.valobj.TaskStateVO; +import cn.bugstack.domain.award.repository.IAwardRepository; +import cn.bugstack.types.event.BaseEvent; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; + +/** + * @ClassName: AwardService + * @Description: + * @Author: zhaoyongfeng + * @Date: 2024/12/9 15:41 + */ +@Service +public class AwardService implements IAwardService{ + + private IAwardRepository awardRepository; + @Resource + private SendAwardMessageEvent sendAwardMessageEvent; + @Override + public void saveUserAwardRecord(UserAwardRecordEntity userAwardRecordEntity) { + // 构建消息对象 + SendAwardMessageEvent.SendAwardMessage sendAwardMessage = new SendAwardMessageEvent.SendAwardMessage(); + sendAwardMessage.setUserId(userAwardRecordEntity.getUserId()); + sendAwardMessage.setAwardId(userAwardRecordEntity.getAwardId()); + sendAwardMessage.setAwardTitle(userAwardRecordEntity.getAwardTitle()); + + BaseEvent.EventMessage sendAwardMessageEventMessage = sendAwardMessageEvent.buildEventMessage(sendAwardMessage); + + // 构建任务对象 + TaskEntity taskEntity = new TaskEntity(); + taskEntity.setUserId(userAwardRecordEntity.getUserId()); + taskEntity.setTopic(sendAwardMessageEvent.topic()); + taskEntity.setMessageId(sendAwardMessageEventMessage.getId()); + taskEntity.setMessage(sendAwardMessageEventMessage); + taskEntity.setState(TaskStateVO.create); + // 构建聚合对象 + UserAwardRecordAggregate userAwardRecordAggregate = UserAwardRecordAggregate.builder() + .taskEntity(taskEntity) + .userAwardRecordEntity(userAwardRecordEntity) + .build(); + // 存储聚合对象 - 一个事务下,用户的中奖记录 + awardRepository.saveUserAwardRecord(userAwardRecordAggregate); + } +} diff --git a/bigmarket-domain/src/main/java/cn/bugstack/domain/award/service/IAwardService.java b/bigmarket-domain/src/main/java/cn/bugstack/domain/award/service/IAwardService.java new file mode 100644 index 0000000..d8d111e --- /dev/null +++ b/bigmarket-domain/src/main/java/cn/bugstack/domain/award/service/IAwardService.java @@ -0,0 +1,14 @@ +package cn.bugstack.domain.award.service; + +import cn.bugstack.domain.award.model.entity.UserAwardRecordEntity; + +/* + * @return + * @author zhaoyongfeng + * @description + * + * @param null + */ +public interface IAwardService { + void saveUserAwardRecord(UserAwardRecordEntity userAwardRecordEntity); +} diff --git a/bigmarket-domain/src/main/java/cn/bugstack/domain/task/model/entity/TaskEntity.java b/bigmarket-domain/src/main/java/cn/bugstack/domain/task/model/entity/TaskEntity.java new file mode 100644 index 0000000..d2acb33 --- /dev/null +++ b/bigmarket-domain/src/main/java/cn/bugstack/domain/task/model/entity/TaskEntity.java @@ -0,0 +1,22 @@ +package cn.bugstack.domain.task.model.entity; + +import lombok.Data; + +/** + * @ClassName: TaskEntity + * @Description: 任务实体对象 + * @Author: zhaoyongfeng + * @Date: 2024/12/9 17:08 + */ +@Data +public class TaskEntity { + + /** 活动ID */ + private String userId; + /** 消息主题 */ + private String topic; + /** 消息编号 */ + private String messageId; + /** 消息主体 */ + private String message; +} diff --git a/bigmarket-domain/src/main/java/cn/bugstack/domain/task/repository/ITaskRepository.java b/bigmarket-domain/src/main/java/cn/bugstack/domain/task/repository/ITaskRepository.java new file mode 100644 index 0000000..8a818dc --- /dev/null +++ b/bigmarket-domain/src/main/java/cn/bugstack/domain/task/repository/ITaskRepository.java @@ -0,0 +1,20 @@ +package cn.bugstack.domain.task.repository; + +import cn.bugstack.domain.task.model.entity.TaskEntity; + +import java.util.List; + +/* + * @return + * @author zhaoyongfeng + * @description + */ +public interface ITaskRepository { + void updateTaskSendMessageCompleted(String userId, String messageId); + + void sendMessage(TaskEntity taskEntity); + + List queryNoSendMessageTaskList(); + + void updateTaskSendMessageFail(String userId, String messageId); +} diff --git a/bigmarket-domain/src/main/java/cn/bugstack/domain/task/service/ITaskService.java b/bigmarket-domain/src/main/java/cn/bugstack/domain/task/service/ITaskService.java new file mode 100644 index 0000000..93c295c --- /dev/null +++ b/bigmarket-domain/src/main/java/cn/bugstack/domain/task/service/ITaskService.java @@ -0,0 +1,25 @@ +package cn.bugstack.domain.task.service; + +import cn.bugstack.domain.task.model.entity.TaskEntity; + +import java.util.List; + +/* + * @return 消息任务服务接口 + * @author zhaoyongfeng + * @description + */ +public interface ITaskService { + /** + * 查询发送MQ失败和超时1分钟未发送的MQ + * + * @return 未发送的任务消息列表10条 + */ + List queryNoSendMessageTaskList(); + + void sendMessage(TaskEntity taskEntity); + + void updateTaskSendMessageCompleted(String userId, String messageId); + + void updateTaskSendMessageFail(String userId, String messageId); +} diff --git a/bigmarket-domain/src/main/java/cn/bugstack/domain/task/service/TaskService.java b/bigmarket-domain/src/main/java/cn/bugstack/domain/task/service/TaskService.java new file mode 100644 index 0000000..604b2a2 --- /dev/null +++ b/bigmarket-domain/src/main/java/cn/bugstack/domain/task/service/TaskService.java @@ -0,0 +1,38 @@ +package cn.bugstack.domain.task.service; + +import cn.bugstack.domain.task.model.entity.TaskEntity; +import cn.bugstack.domain.task.repository.ITaskRepository; +import org.springframework.stereotype.Repository; + +import javax.annotation.Resource; +import java.util.List; + +/** + * @ClassName: TaskService + * @Description: + * @Author: zhaoyongfeng + * @Date: 2024/12/9 17:07 + */ +public class TaskService implements ITaskService{ + @Resource + private ITaskRepository taskRepository; + @Override + public List queryNoSendMessageTaskList() { + return taskRepository.queryNoSendMessageTaskList(); + } + + @Override + public void sendMessage(TaskEntity taskEntity) { + taskRepository.sendMessage(taskEntity); + } + + @Override + public void updateTaskSendMessageCompleted(String userId, String messageId) { + taskRepository.updateTaskSendMessageCompleted(userId,messageId); + } + + @Override + public void updateTaskSendMessageFail(String userId, String messageId) { + taskRepository.updateTaskSendMessageFail(userId,messageId); + } +} diff --git a/bigmarket-domain/src/main/java/cn/bugstack/domain/xxx/adapter/port/package-info.java b/bigmarket-domain/src/main/java/cn/bugstack/domain/xxx/adapter/port/package-info.java deleted file mode 100644 index 60230c3..0000000 --- a/bigmarket-domain/src/main/java/cn/bugstack/domain/xxx/adapter/port/package-info.java +++ /dev/null @@ -1,4 +0,0 @@ -/** - * 外部接口适配器层;当需要调用外部接口时,则创建出这一层,并定义接口,之后由基础设施层的 adapter 层具体实现 - */ -package cn.bugstack.domain.xxx.adapter.port; \ No newline at end of file diff --git a/bigmarket-domain/src/main/java/cn/bugstack/domain/xxx/adapter/repository/package-info.java b/bigmarket-domain/src/main/java/cn/bugstack/domain/xxx/adapter/repository/package-info.java deleted file mode 100644 index e70a903..0000000 --- a/bigmarket-domain/src/main/java/cn/bugstack/domain/xxx/adapter/repository/package-info.java +++ /dev/null @@ -1,5 +0,0 @@ -/** - * 仓储服务 - * 1. 定义仓储接口,之后由基础设施层做具体实现 - */ -package cn.bugstack.domain.xxx.adapter.repository; \ No newline at end of file diff --git a/bigmarket-domain/src/main/java/cn/bugstack/domain/xxx/model/entity/package-info.java b/bigmarket-domain/src/main/java/cn/bugstack/domain/xxx/model/entity/package-info.java deleted file mode 100644 index 56076f0..0000000 --- a/bigmarket-domain/src/main/java/cn/bugstack/domain/xxx/model/entity/package-info.java +++ /dev/null @@ -1,7 +0,0 @@ -/** - * 实体对象; - * 1. 一般和数据库持久化对象1v1的关系,但因各自开发系统的不同,也有1vn的可能。 - * 2. 如果是老系统改造,那么旧的库表冗余了太多的字段,可能会有nv1的情况 - * 3. 对象名称 XxxEntity - */ -package cn.bugstack.domain.xxx.model.entity; \ No newline at end of file diff --git a/bigmarket-domain/src/main/java/cn/bugstack/domain/xxx/model/valobj/package-info.java b/bigmarket-domain/src/main/java/cn/bugstack/domain/xxx/model/valobj/package-info.java deleted file mode 100644 index 49626ae..0000000 --- a/bigmarket-domain/src/main/java/cn/bugstack/domain/xxx/model/valobj/package-info.java +++ /dev/null @@ -1,6 +0,0 @@ -/** - * 值对象; - * 1. 用于描述对象属性的值,如一个库表中有json后者一个字段多个属性信息的枚举对象 - * 2. 对象名称如;XxxVO - */ -package cn.bugstack.domain.xxx.model.valobj; \ No newline at end of file diff --git a/bigmarket-domain/src/main/java/cn/bugstack/domain/xxx/service/package-info.java b/bigmarket-domain/src/main/java/cn/bugstack/domain/xxx/service/package-info.java deleted file mode 100644 index 7941ad4..0000000 --- a/bigmarket-domain/src/main/java/cn/bugstack/domain/xxx/service/package-info.java +++ /dev/null @@ -1 +0,0 @@ -package cn.bugstack.domain.xxx.service; \ No newline at end of file diff --git a/bigmarket-domain/src/main/java/cn/bugstack/domain/yyy/model/valobj/package-info.java b/bigmarket-domain/src/main/java/cn/bugstack/domain/yyy/model/valobj/package-info.java deleted file mode 100644 index 1cf2458..0000000 --- a/bigmarket-domain/src/main/java/cn/bugstack/domain/yyy/model/valobj/package-info.java +++ /dev/null @@ -1,6 +0,0 @@ -/** - * 值对象; - * 1. 用于描述对象属性的值,如一个库表中有json后者一个字段多个属性信息的枚举对象 - * 2. 对象名称如;XxxVO - */ -package cn.bugstack.domain.yyy.model.valobj; \ No newline at end of file diff --git a/bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/event/EventPublisher.java b/bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/event/EventPublisher.java index a15b13c..699860e 100644 --- a/bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/event/EventPublisher.java +++ b/bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/event/EventPublisher.java @@ -29,5 +29,15 @@ public class EventPublisher { throw e; } } + public void publish(String topic, String eventMessage) { + try { + String messageJson = JSON.toJSONString(eventMessage); + rabbitTemplate.convertAndSend(topic, messageJson); + log.info("发送MQ消息 topic:{} message:{}", topic, messageJson); + } catch (Exception e) { + log.error("发送MQ消息失败 topic:{} message:{}", topic, JSON.toJSONString(eventMessage), e); + throw e; + } + } } diff --git a/bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/dao/IRaffleActivityAccountDao.java b/bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/dao/IRaffleActivityAccountDao.java index 61c8f17..b425c24 100644 --- a/bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/dao/IRaffleActivityAccountDao.java +++ b/bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/dao/IRaffleActivityAccountDao.java @@ -1,6 +1,7 @@ package cn.bugstack.infrastructure.persistent.dao; import cn.bugstack.infrastructure.persistent.po.RaffleActivityAccount; +import cn.bugstack.middleware.db.router.annotation.DBRouter; import org.apache.ibatis.annotations.Mapper; /** @@ -15,4 +16,13 @@ public interface IRaffleActivityAccountDao { int updateAccountQuota(RaffleActivityAccount raffleActivityAccount); + @DBRouter + RaffleActivityAccount queryActivityAccountByUserId(RaffleActivityAccount raffleActivityAccountReq); + + int updateActivityAccountSubtractionQuota(RaffleActivityAccount raffleActivityAccount); + + void updateActivityAccountMonthSurplusImageQuota(RaffleActivityAccount raffleActivityAccount); + + void updateActivityAccountDaySurplusImageQuota(RaffleActivityAccount raffleActivityAccount); + } diff --git a/bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/dao/IRaffleActivityAccountDayDao.java b/bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/dao/IRaffleActivityAccountDayDao.java new file mode 100644 index 0000000..be4ef56 --- /dev/null +++ b/bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/dao/IRaffleActivityAccountDayDao.java @@ -0,0 +1,22 @@ +package cn.bugstack.infrastructure.persistent.dao; + +import cn.bugstack.infrastructure.persistent.po.RaffleActivityAccountDay; +import cn.bugstack.middleware.db.router.annotation.DBRouter; +import org.apache.ibatis.annotations.Mapper; + +/** + * @author Fuzhengwei bugstack.cn @小傅哥 + * @description 抽奖活动账户表-日次数 + * @create 2024-04-03 15:56 + */ +@Mapper +public interface IRaffleActivityAccountDayDao { + + @DBRouter + RaffleActivityAccountDay queryActivityAccountDayByUserId(RaffleActivityAccountDay raffleActivityAccountDayReq); + + int updateActivityAccountDaySubtractionQuota(RaffleActivityAccountDay raffleActivityAccountDay); + + void insertActivityAccountDay(RaffleActivityAccountDay raffleActivityAccountDay); + +} diff --git a/bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/dao/IRaffleActivityAccountFlowDao.java b/bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/dao/IRaffleActivityAccountFlowDao.java deleted file mode 100644 index 8406965..0000000 --- a/bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/dao/IRaffleActivityAccountFlowDao.java +++ /dev/null @@ -1,14 +0,0 @@ -package cn.bugstack.infrastructure.persistent.dao; - -import org.apache.ibatis.annotations.Mapper; - -/* - * @return - * @author zhaoyongfeng - * @description 抽奖活动流水表 - * - * @param null - */ -@Mapper -public interface IRaffleActivityAccountFlowDao { -} diff --git a/bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/dao/IRaffleActivityAccountMonthDao.java b/bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/dao/IRaffleActivityAccountMonthDao.java new file mode 100644 index 0000000..8223671 --- /dev/null +++ b/bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/dao/IRaffleActivityAccountMonthDao.java @@ -0,0 +1,22 @@ +package cn.bugstack.infrastructure.persistent.dao; + +import cn.bugstack.infrastructure.persistent.po.RaffleActivityAccountMonth; +import cn.bugstack.middleware.db.router.annotation.DBRouter; +import org.apache.ibatis.annotations.Mapper; + +/** + * @author Fuzhengwei bugstack.cn @小傅哥 + * @description 抽奖活动账户表-月次数 + * @create 2024-04-03 15:57 + */ +@Mapper +public interface IRaffleActivityAccountMonthDao { + + @DBRouter + RaffleActivityAccountMonth queryActivityAccountMonthByUserId(RaffleActivityAccountMonth raffleActivityAccountMonthReq); + + int updateActivityAccountMonthSubtractionQuota(RaffleActivityAccountMonth raffleActivityAccountMonth); + + void insertActivityAccountMonth(RaffleActivityAccountMonth raffleActivityAccountMonth); + +} diff --git a/bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/dao/IRaffleActivityCountDao.java b/bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/dao/IRaffleActivityCountDao.java index 58e3be3..6761072 100644 --- a/bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/dao/IRaffleActivityCountDao.java +++ b/bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/dao/IRaffleActivityCountDao.java @@ -1,6 +1,5 @@ package cn.bugstack.infrastructure.persistent.dao; -import cn.bugstack.domain.activity.model.entity.ActivityCountEntity; import cn.bugstack.infrastructure.persistent.po.RaffleActivityCount; import org.apache.ibatis.annotations.Mapper; diff --git a/bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/dao/IRuleTreeNodeLineDao.java b/bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/dao/IRuleTreeNodeLineDao.java index ec6a64c..2143ac9 100644 --- a/bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/dao/IRuleTreeNodeLineDao.java +++ b/bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/dao/IRuleTreeNodeLineDao.java @@ -1,6 +1,5 @@ package cn.bugstack.infrastructure.persistent.dao; -import cn.bugstack.infrastructure.persistent.po.RuleTreeNode; import cn.bugstack.infrastructure.persistent.po.RuleTreeNodeLine; import org.apache.ibatis.annotations.Mapper; diff --git a/bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/dao/IStrategyDao.java b/bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/dao/IStrategyDao.java index c04d8cd..7311f73 100644 --- a/bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/dao/IStrategyDao.java +++ b/bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/dao/IStrategyDao.java @@ -1,7 +1,6 @@ package cn.bugstack.infrastructure.persistent.dao; import cn.bugstack.infrastructure.persistent.po.Strategy; -import cn.bugstack.infrastructure.persistent.po.StrategyAward; import org.apache.ibatis.annotations.Mapper; import java.util.List; diff --git a/bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/dao/IStrategyRuleDao.java b/bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/dao/IStrategyRuleDao.java index fce8d39..84c0c5c 100644 --- a/bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/dao/IStrategyRuleDao.java +++ b/bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/dao/IStrategyRuleDao.java @@ -4,7 +4,6 @@ import cn.bugstack.infrastructure.persistent.po.StrategyRule; import org.apache.ibatis.annotations.Mapper; import java.util.List; -import java.util.Map; /** * @author Fuzhengwei bugstack.cn @小傅哥 diff --git a/bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/dao/ITaskDao.java b/bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/dao/ITaskDao.java new file mode 100644 index 0000000..054a6ef --- /dev/null +++ b/bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/dao/ITaskDao.java @@ -0,0 +1,22 @@ +package cn.bugstack.infrastructure.persistent.dao; + +import cn.bugstack.infrastructure.persistent.po.Task; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * @author Fuzhengwei bugstack.cn @小傅哥 + * @description 任务表,发送MQ + * @create 2024-04-03 15:57 + */ +@Mapper +public interface ITaskDao { + void insert(Task task); + + void updateTaskSendMessageCompleted(Task task); + + void updateTaskSendMessageFail(Task task); + + List queryNoSendMessageTaskList(); +} diff --git a/bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/dao/IUserAwardRecordDao.java b/bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/dao/IUserAwardRecordDao.java new file mode 100644 index 0000000..1a6b393 --- /dev/null +++ b/bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/dao/IUserAwardRecordDao.java @@ -0,0 +1,16 @@ +package cn.bugstack.infrastructure.persistent.dao; + +import cn.bugstack.infrastructure.persistent.po.UserAwardRecord; +import cn.bugstack.middleware.db.router.annotation.DBRouterStrategy; +import org.apache.ibatis.annotations.Mapper; + +/** + * @author Fuzhengwei bugstack.cn @小傅哥 + * @description 用户中奖记录表 + * @create 2024-04-03 15:57 + */ +@Mapper +@DBRouterStrategy(splitTable = true) +public interface IUserAwardRecordDao { + void insert(UserAwardRecord userAwardRecord); +} diff --git a/bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/dao/IUserRaffleOrderDao.java b/bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/dao/IUserRaffleOrderDao.java new file mode 100644 index 0000000..aed143f --- /dev/null +++ b/bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/dao/IUserRaffleOrderDao.java @@ -0,0 +1,22 @@ +package cn.bugstack.infrastructure.persistent.dao; + +import cn.bugstack.infrastructure.persistent.po.UserRaffleOrder; +import cn.bugstack.middleware.db.router.annotation.DBRouter; +import cn.bugstack.middleware.db.router.annotation.DBRouterStrategy; +import org.apache.ibatis.annotations.Mapper; + +/** + * @author Fuzhengwei bugstack.cn @小傅哥 + * @description 用户抽奖订单表 + * @create 2024-04-03 15:57 + */ +@Mapper +@DBRouterStrategy(splitTable = true) +public interface IUserRaffleOrderDao { + + void insert(UserRaffleOrder userRaffleOrder); + + @DBRouter + UserRaffleOrder queryNoUsedRaffleOrder(UserRaffleOrder userRaffleOrderReq); + +} diff --git a/bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/po/RaffleActivityAccount.java b/bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/po/RaffleActivityAccount.java index be263b7..217e5cc 100644 --- a/bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/po/RaffleActivityAccount.java +++ b/bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/po/RaffleActivityAccount.java @@ -1,6 +1,9 @@ package cn.bugstack.infrastructure.persistent.po; +import lombok.AllArgsConstructor; +import lombok.Builder; import lombok.Data; +import lombok.NoArgsConstructor; import java.util.Date; @@ -10,6 +13,9 @@ import java.util.Date; * @create 2024-03-02 13:15 */ @Data +@Builder +@AllArgsConstructor +@NoArgsConstructor public class RaffleActivityAccount { /** diff --git a/bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/po/RaffleActivityAccountDay.java b/bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/po/RaffleActivityAccountDay.java new file mode 100644 index 0000000..42f59b8 --- /dev/null +++ b/bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/po/RaffleActivityAccountDay.java @@ -0,0 +1,38 @@ +package cn.bugstack.infrastructure.persistent.po; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; + +/** + * @author Fuzhengwei bugstack.cn @小傅哥 + * @description 抽奖活动账户表-日次数 + * @create 2024-04-03 15:28 + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class RaffleActivityAccountDay { + + /** 自增ID */ + private String id; + /** 用户ID */ + private String userId; + /** 活动ID */ + private Long activityId; + /** 日期(yyyy-mm-dd) */ + private String day; + /** 日次数 */ + private Integer dayCount; + /** 日次数-剩余 */ + private Integer dayCountSurplus; + /** 创建时间 */ + private Date createTime; + /** 更新时间 */ + private Date updateTime; + +} diff --git a/bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/po/RaffleActivityAccountFlow.java b/bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/po/RaffleActivityAccountFlow.java deleted file mode 100644 index 135d662..0000000 --- a/bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/po/RaffleActivityAccountFlow.java +++ /dev/null @@ -1,70 +0,0 @@ -package cn.bugstack.infrastructure.persistent.po; - -import lombok.Data; - -import java.util.Date; - -/** - * @ClassName: RaffleActivityAccountFlow - * @Description: 抽奖活动账户流水表 - * @Author: zhaoyongfeng - * @Date: 2024/11/26 11:16 - */ -@Data -public class RaffleActivityAccountFlow { - /** - * 自增ID - */ - private Integer id; - - /** - * 用户ID - */ - private String userId; - - /** - * 活动ID - */ - private Long activityId; - - /** - * 总次数 - */ - private Integer totalCount; - - /** - * 日次数 - */ - private Integer dayCount; - - /** - * 月次数 - */ - private Integer monthCount; - - /** - * 流水ID - 生成的唯一ID - */ - private String flowId; - - /** - * 流水渠道(activity-活动领取、sale-购买、redeem-兑换、free-免费赠送) - */ - private String flowChannel; - - /** - * 业务ID(外部透传,活动ID、订单ID) - */ - private String bizId; - - /** - * 创建时间 - */ - private Date createTime; - - /** - * 更新时间 - */ - private Date updateTime; - -} diff --git a/bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/po/RaffleActivityAccountMonth.java b/bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/po/RaffleActivityAccountMonth.java new file mode 100644 index 0000000..0c75de8 --- /dev/null +++ b/bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/po/RaffleActivityAccountMonth.java @@ -0,0 +1,38 @@ +package cn.bugstack.infrastructure.persistent.po; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; + +/** + * @author Fuzhengwei bugstack.cn @小傅哥 + * @description 抽奖活动账户表-月次数 + * @create 2024-04-03 15:28 + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class RaffleActivityAccountMonth { + + /** 自增ID */ + private String id; + /** 用户ID */ + private String userId; + /** 活动ID */ + private Long activityId; + /** 月(yyyy-mm) */ + private String month; + /** 月次数 */ + private Integer monthCount; + /** 月次数-剩余 */ + private Integer monthCountSurplus; + /** 创建时间 */ + private Date createTime; + /** 更新时间 */ + private Date updateTime; + +} diff --git a/bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/po/RaffleActivitySku.java b/bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/po/RaffleActivitySku.java index 65ed3ee..52772bc 100644 --- a/bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/po/RaffleActivitySku.java +++ b/bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/po/RaffleActivitySku.java @@ -11,7 +11,6 @@ import java.util.Date; */ @Data public class RaffleActivitySku { - /** * 商品sku */ diff --git a/bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/po/Task.java b/bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/po/Task.java new file mode 100644 index 0000000..20f1af6 --- /dev/null +++ b/bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/po/Task.java @@ -0,0 +1,32 @@ +package cn.bugstack.infrastructure.persistent.po; + +import lombok.Data; + +import java.util.Date; + +/** + * @author zhaoyongfeng + * @description 任务表,发送MQ + * @create 2024-04-03 15:30 + */ +@Data +public class Task { + + /** 自增ID */ + private String id; + /** 用户ID */ + private String userId; + /** 消息主题 */ + private String topic; + /** 消息编号 */ + private String messageId; + /** 消息主体 */ + private String message; + /** 任务状态;create-创建、completed-完成、fail-失败 */ + private String state; + /** 创建时间 */ + private Date createTime; + /** 更新时间 */ + private Date updateTime; + +} diff --git a/bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/po/UserAwardRecord.java b/bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/po/UserAwardRecord.java new file mode 100644 index 0000000..6b83b96 --- /dev/null +++ b/bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/po/UserAwardRecord.java @@ -0,0 +1,38 @@ +package cn.bugstack.infrastructure.persistent.po; + +import lombok.Data; + +import java.util.Date; + +/** + * @author Fuzhengwei bugstack.cn @小傅哥 + * @description 用户中奖记录表 + * @create 2024-04-03 15:30 + */ +@Data +public class UserAwardRecord { + + /** 自增ID */ + private String id; + /** 用户ID */ + private String userId; + /** 活动ID */ + private Long activityId; + /** 抽奖策略ID */ + private Long strategyId; + /** 抽奖订单ID【作为幂等使用】 */ + private String orderId; + /** 奖品ID */ + private Integer awardId; + /** 奖品标题(名称) */ + private String awardTitle; + /** 中奖时间 */ + private Date awardTime; + /** 奖品状态;create-创建、completed-发奖完成 */ + private String awardState; + /** 创建时间 */ + private Date createTime; + /** 更新时间 */ + private Date updateTime; + +} diff --git a/bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/po/UserRaffleOrder.java b/bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/po/UserRaffleOrder.java new file mode 100644 index 0000000..f89798c --- /dev/null +++ b/bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/po/UserRaffleOrder.java @@ -0,0 +1,42 @@ +package cn.bugstack.infrastructure.persistent.po; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; + +/** + * @author Fuzhengwei bugstack.cn @小傅哥 + * @description 用户抽奖订单表 + * @create 2024-04-03 15:30 + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class UserRaffleOrder { + + /** 用户ID */ + private String id; + /** 活动ID */ + private String userId; + /** 活动名称 */ + private Long activityId; + /** 抽奖策略ID */ + private String activityName; + /** 订单ID */ + private Long strategyId; + /** 下单时间 */ + private String orderId; + /** 订单状态;create-创建、used-已使用、cancel-已作废 */ + private Date orderTime; + /** 创建时间 */ + private String orderState; + /** 更新时间 */ + private Date createTime; + /** */ + private Date updateTime; + +} diff --git a/bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/repository/ActivityRepository.java b/bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/repository/ActivityRepository.java index 852011d..54b3ef1 100644 --- a/bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/repository/ActivityRepository.java +++ b/bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/repository/ActivityRepository.java @@ -1,13 +1,12 @@ package cn.bugstack.infrastructure.persistent.repository; import cn.bugstack.domain.activity.event.ActivitySkuStockZeroMessageEvent; -import cn.bugstack.domain.activity.model.aggregate.CreateOrderAggregate; -import cn.bugstack.domain.activity.model.entity.ActivityCountEntity; -import cn.bugstack.domain.activity.model.entity.ActivityEntity; -import cn.bugstack.domain.activity.model.entity.ActivityOrderEntity; -import cn.bugstack.domain.activity.model.entity.ActivitySkuEntity; +import cn.bugstack.domain.activity.model.aggregate.CreatePartakeOrderAggregate; +import cn.bugstack.domain.activity.model.aggregate.CreateQuotaOrderAggregate; +import cn.bugstack.domain.activity.model.entity.*; import cn.bugstack.domain.activity.model.valobj.ActivitySkuStockKeyVO; import cn.bugstack.domain.activity.model.valobj.ActivityStateVO; +import cn.bugstack.domain.activity.model.valobj.UserRaffleOrderStateVO; import cn.bugstack.domain.activity.repository.IActivityRepository; import cn.bugstack.infrastructure.event.EventPublisher; import cn.bugstack.infrastructure.persistent.dao.*; @@ -29,14 +28,14 @@ import java.util.Date; import java.util.concurrent.TimeUnit; /** - * @ClassName: ActivityRepository - * @Description: 活动仓储服务 - * @Author: zhaoyongfeng - * @Date: 2024/12/3 19:26 + * @author zyf + * @description 活动仓储服务 + * @create 2024-03-16 11:03 */ @Slf4j @Repository public class ActivityRepository implements IActivityRepository { + @Resource private IRedisService redisService; @Resource @@ -50,13 +49,20 @@ public class ActivityRepository implements IActivityRepository { @Resource private IRaffleActivityAccountDao raffleActivityAccountDao; @Resource + private IRaffleActivityAccountMonthDao raffleActivityAccountMonthDao; + @Resource + private IRaffleActivityAccountDayDao raffleActivityAccountDayDao; + @Resource private TransactionTemplate transactionTemplate; @Resource + private IUserRaffleOrderDao userRaffleOrderDao; + @Resource private IDBRouterStrategy dbRouter; @Resource private ActivitySkuStockZeroMessageEvent activitySkuStockZeroMessageEvent; @Resource private EventPublisher eventPublisher; + @Override public ActivitySkuEntity queryActivitySku(Long sku) { RaffleActivitySku raffleActivitySku = raffleActivitySkuDao.queryActivitySku(sku); @@ -70,7 +76,7 @@ public class ActivityRepository implements IActivityRepository { .activityId(raffleActivitySku.getActivityId()) .activityCountId(raffleActivitySku.getActivityCountId()) .stockCount(raffleActivitySku.getStockCount()) - .stockCountSurplus(raffleActivitySku.getStockCountSurplus()) + .stockCountSurplus(cacheSkuStock.intValue()) .build(); } @@ -114,7 +120,7 @@ public class ActivityRepository implements IActivityRepository { } @Override - public void doSaveOrder(CreateOrderAggregate createOrderAggregate) { + public void doSaveOrder(CreateQuotaOrderAggregate createOrderAggregate) { try { // 订单对象 ActivityOrderEntity activityOrderEntity = createOrderAggregate.getActivityOrderEntity(); @@ -201,6 +207,7 @@ public class ActivityRepository implements IActivityRepository { } return lock; } + @Override public void activitySkuStockConsumeSendQueue(ActivitySkuStockKeyVO activitySkuStockKeyVO) { String cacheKey = Constants.RedisKey.ACTIVITY_SKU_COUNT_QUERY_KEY; @@ -232,4 +239,192 @@ public class ActivityRepository implements IActivityRepository { public void clearActivitySkuStock(Long sku) { raffleActivitySkuDao.clearActivitySkuStock(sku); } + + @Override + public UserRaffleOrderEntity queryNoUsedRaffleOrder(PartakeRaffleActivityEntity partakeRaffleActivityEntity) { + // 查询数据 + UserRaffleOrder userRaffleOrderReq = new UserRaffleOrder(); + userRaffleOrderReq.setUserId(partakeRaffleActivityEntity.getUserId()); + userRaffleOrderReq.setActivityId(partakeRaffleActivityEntity.getActivityId()); + UserRaffleOrder userRaffleOrderRes = userRaffleOrderDao.queryNoUsedRaffleOrder(userRaffleOrderReq); + if (null == userRaffleOrderRes) return null; + // 封装结果 + UserRaffleOrderEntity userRaffleOrderEntity = new UserRaffleOrderEntity(); + userRaffleOrderEntity.setUserId(userRaffleOrderRes.getUserId()); + userRaffleOrderEntity.setActivityId(userRaffleOrderRes.getActivityId()); + userRaffleOrderEntity.setActivityName(userRaffleOrderRes.getActivityName()); + userRaffleOrderEntity.setStrategyId(userRaffleOrderRes.getStrategyId()); + userRaffleOrderEntity.setOrderId(userRaffleOrderRes.getOrderId()); + userRaffleOrderEntity.setOrderTime(userRaffleOrderRes.getOrderTime()); + userRaffleOrderEntity.setOrderState(UserRaffleOrderStateVO.valueOf(userRaffleOrderRes.getOrderState())); + return userRaffleOrderEntity; + } + + @Override + public ActivityAccountEntity queryActivityAccountByUserId(String userId, Long activityId) { + // 1. 查询账户 + RaffleActivityAccount raffleActivityAccountReq = new RaffleActivityAccount(); + raffleActivityAccountReq.setUserId(userId); + raffleActivityAccountReq.setActivityId(activityId); + RaffleActivityAccount raffleActivityAccountRes = raffleActivityAccountDao.queryActivityAccountByUserId(raffleActivityAccountReq); + if (null == raffleActivityAccountRes) return null; + // 2. 转换对象 + return ActivityAccountEntity.builder() + .userId(raffleActivityAccountRes.getUserId()) + .activityId(raffleActivityAccountRes.getActivityId()) + .totalCount(raffleActivityAccountRes.getTotalCount()) + .totalCountSurplus(raffleActivityAccountRes.getTotalCountSurplus()) + .dayCount(raffleActivityAccountRes.getDayCount()) + .dayCountSurplus(raffleActivityAccountRes.getDayCountSurplus()) + .monthCount(raffleActivityAccountRes.getMonthCount()) + .monthCountSurplus(raffleActivityAccountRes.getMonthCountSurplus()) + .build(); + } + + @Override + public ActivityAccountMonthEntity queryActivityAccountMonthByUserId(String userId, Long activityId, String month) { + // 1. 查询账户 + RaffleActivityAccountMonth raffleActivityAccountMonthReq = new RaffleActivityAccountMonth(); + raffleActivityAccountMonthReq.setUserId(userId); + raffleActivityAccountMonthReq.setActivityId(activityId); + raffleActivityAccountMonthReq.setMonth(month); + RaffleActivityAccountMonth raffleActivityAccountMonthRes = raffleActivityAccountMonthDao.queryActivityAccountMonthByUserId(raffleActivityAccountMonthReq); + if (null == raffleActivityAccountMonthRes) return null; + // 2. 转换对象 + return ActivityAccountMonthEntity.builder() + .userId(raffleActivityAccountMonthRes.getUserId()) + .activityId(raffleActivityAccountMonthRes.getActivityId()) + .month(raffleActivityAccountMonthRes.getMonth()) + .monthCount(raffleActivityAccountMonthRes.getMonthCount()) + .monthCountSurplus(raffleActivityAccountMonthRes.getMonthCountSurplus()) + .build(); + } + + @Override + public ActivityAccountDayEntity queryActivityAccountDayByUserId(String userId, Long activityId, String day) { + // 1. 查询账户 + RaffleActivityAccountDay raffleActivityAccountDayReq = new RaffleActivityAccountDay(); + raffleActivityAccountDayReq.setUserId(userId); + raffleActivityAccountDayReq.setActivityId(activityId); + raffleActivityAccountDayReq.setDay(day); + RaffleActivityAccountDay raffleActivityAccountDayRes = raffleActivityAccountDayDao.queryActivityAccountDayByUserId(raffleActivityAccountDayReq); + if (null == raffleActivityAccountDayRes) return null; + // 2. 转换对象 + return ActivityAccountDayEntity.builder() + .userId(raffleActivityAccountDayRes.getUserId()) + .activityId(raffleActivityAccountDayRes.getActivityId()) + .day(raffleActivityAccountDayRes.getDay()) + .dayCount(raffleActivityAccountDayRes.getDayCount()) + .dayCountSurplus(raffleActivityAccountDayRes.getDayCountSurplus()) + .build(); + } + + @Override + public void saveCreatePartakeOrderAggregate(CreatePartakeOrderAggregate createPartakeOrderAggregate) { + try { + String userId = createPartakeOrderAggregate.getUserId(); + Long activityId = createPartakeOrderAggregate.getActivityId(); + ActivityAccountEntity activityAccountEntity = createPartakeOrderAggregate.getActivityAccountEntity(); + ActivityAccountMonthEntity activityAccountMonthEntity = createPartakeOrderAggregate.getActivityAccountMonthEntity(); + ActivityAccountDayEntity activityAccountDayEntity = createPartakeOrderAggregate.getActivityAccountDayEntity(); + UserRaffleOrderEntity userRaffleOrderEntity = createPartakeOrderAggregate.getUserRaffleOrderEntity(); + + // 统一切换路由,以下事务内的所有操作,都走一个路由 + dbRouter.doRouter(userId); + transactionTemplate.execute(status -> { + try { + // 1. 更新总账户 + int totalCount = raffleActivityAccountDao.updateActivityAccountSubtractionQuota( + RaffleActivityAccount.builder() + .userId(userId) + .activityId(activityId) + .build()); + if (1 != totalCount) { + status.setRollbackOnly(); + log.warn("写入创建参与活动记录,更新总账户额度不足,异常 userId: {} activityId: {}", userId, activityId); + throw new AppException(ResponseCode.ACCOUNT_QUOTA_ERROR.getCode(), ResponseCode.ACCOUNT_QUOTA_ERROR.getInfo()); + } + + // 2. 创建或更新月账户,true - 存在则更新,false - 不存在则插入 + if (createPartakeOrderAggregate.isExistAccountMonth()) { + int updateMonthCount = raffleActivityAccountMonthDao.updateActivityAccountMonthSubtractionQuota( + RaffleActivityAccountMonth.builder() + .userId(userId) + .activityId(activityId) + .month(activityAccountMonthEntity.getMonth()) + .build()); + if (1 != updateMonthCount) { + // 未更新成功则回滚 + status.setRollbackOnly(); + log.warn("写入创建参与活动记录,更新月账户额度不足,异常 userId: {} activityId: {} month: {}", userId, activityId, activityAccountMonthEntity.getMonth()); + throw new AppException(ResponseCode.ACCOUNT_MONTH_QUOTA_ERROR.getCode(), ResponseCode.ACCOUNT_MONTH_QUOTA_ERROR.getInfo()); + } + } else { + raffleActivityAccountMonthDao.insertActivityAccountMonth(RaffleActivityAccountMonth.builder() + .userId(activityAccountMonthEntity.getUserId()) + .activityId(activityAccountMonthEntity.getActivityId()) + .month(activityAccountMonthEntity.getMonth()) + .monthCount(activityAccountMonthEntity.getMonthCount()) + .monthCountSurplus(activityAccountMonthEntity.getMonthCountSurplus() - 1) + .build()); + // 新创建月账户,则更新总账表中月镜像额度 + raffleActivityAccountDao.updateActivityAccountMonthSurplusImageQuota(RaffleActivityAccount.builder() + .userId(userId) + .activityId(activityId) + .monthCountSurplus(activityAccountEntity.getMonthCountSurplus()) + .build()); + } + + // 3. 创建或更新日账户,true - 存在则更新,false - 不存在则插入 + if (createPartakeOrderAggregate.isExistAccountDay()) { + int updateDayCount = raffleActivityAccountDayDao.updateActivityAccountDaySubtractionQuota(RaffleActivityAccountDay.builder() + .userId(userId) + .activityId(activityId) + .day(activityAccountDayEntity.getDay()) + .build()); + if (1 != updateDayCount) { + // 未更新成功则回滚 + status.setRollbackOnly(); + log.warn("写入创建参与活动记录,更新日账户额度不足,异常 userId: {} activityId: {} day: {}", userId, activityId, activityAccountDayEntity.getDay()); + throw new AppException(ResponseCode.ACCOUNT_DAY_QUOTA_ERROR.getCode(), ResponseCode.ACCOUNT_DAY_QUOTA_ERROR.getInfo()); + } + } else { + raffleActivityAccountDayDao.insertActivityAccountDay(RaffleActivityAccountDay.builder() + .userId(activityAccountDayEntity.getUserId()) + .activityId(activityAccountDayEntity.getActivityId()) + .day(activityAccountDayEntity.getDay()) + .dayCount(activityAccountDayEntity.getDayCount()) + .dayCountSurplus(activityAccountDayEntity.getDayCountSurplus() - 1) + .build()); + // 新创建日账户,则更新总账表中日镜像额度 + raffleActivityAccountDao.updateActivityAccountDaySurplusImageQuota(RaffleActivityAccount.builder() + .userId(userId) + .activityId(activityId) + .dayCountSurplus(activityAccountEntity.getDayCountSurplus()) + .build()); + } + + // 4. 写入参与活动订单 + userRaffleOrderDao.insert(UserRaffleOrder.builder() + .userId(userRaffleOrderEntity.getUserId()) + .activityId(userRaffleOrderEntity.getActivityId()) + .activityName(userRaffleOrderEntity.getActivityName()) + .strategyId(userRaffleOrderEntity.getStrategyId()) + .orderId(userRaffleOrderEntity.getOrderId()) + .orderTime(userRaffleOrderEntity.getOrderTime()) + .orderState(userRaffleOrderEntity.getOrderState().getCode()) + .build()); + + return 1; + } catch (DuplicateKeyException e) { + status.setRollbackOnly(); + log.error("写入创建参与活动记录,唯一索引冲突 userId: {} activityId: {}", userId, activityId, e); + throw new AppException(ResponseCode.INDEX_DUP.getCode(), e); + } + }); + } finally { + dbRouter.clear(); + } + } + } diff --git a/bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/repository/AwardRepository.java b/bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/repository/AwardRepository.java new file mode 100644 index 0000000..c925196 --- /dev/null +++ b/bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/repository/AwardRepository.java @@ -0,0 +1,94 @@ +package cn.bugstack.infrastructure.persistent.repository; + +import cn.bugstack.domain.award.model.aggregate.UserAwardRecordAggregate; +import cn.bugstack.domain.award.model.entity.TaskEntity; +import cn.bugstack.domain.award.model.entity.UserAwardRecordEntity; +import cn.bugstack.domain.award.repository.IAwardRepository; +import cn.bugstack.infrastructure.event.EventPublisher; +import cn.bugstack.infrastructure.persistent.dao.ITaskDao; +import cn.bugstack.infrastructure.persistent.dao.IUserAwardRecordDao; +import cn.bugstack.infrastructure.persistent.po.Task; +import cn.bugstack.infrastructure.persistent.po.UserAwardRecord; +import cn.bugstack.middleware.db.router.strategy.IDBRouterStrategy; +import cn.bugstack.types.enums.ResponseCode; +import cn.bugstack.types.exception.AppException; +import com.alibaba.fastjson.JSON; +import lombok.extern.slf4j.Slf4j; +import org.springframework.dao.DuplicateKeyException; +import org.springframework.stereotype.Component; +import org.springframework.transaction.support.TransactionTemplate; + +import javax.annotation.Resource; + +/** + * @ClassName: AwardRepository + * @Description: + * @Author: zhaoyongfeng + * @Date: 2024/12/9 16:25 + */ +@Slf4j +@Component +public class AwardRepository implements IAwardRepository { + @Resource + private ITaskDao taskDao; + @Resource + private IUserAwardRecordDao userAwardRecordDao; + @Resource + private IDBRouterStrategy dbRouter; + @Resource + private TransactionTemplate transactionTemplate; + @Resource + private EventPublisher eventPublisher; + + @Override + public void saveUserAwardRecord(UserAwardRecordAggregate userAwardRecordAggregate) { + UserAwardRecordEntity userAwardRecordEntity = userAwardRecordAggregate.getUserAwardRecordEntity(); + TaskEntity taskEntity = userAwardRecordAggregate.getTaskEntity(); + String userId = userAwardRecordEntity.getUserId(); + Long activityId = userAwardRecordEntity.getActivityId(); + Integer awardId = userAwardRecordEntity.getAwardId(); + + UserAwardRecord userAwardRecord = new UserAwardRecord(); + userAwardRecord.setUserId(userAwardRecordEntity.getUserId()); + userAwardRecord.setActivityId(userAwardRecordEntity.getActivityId()); + userAwardRecord.setStrategyId(userAwardRecordEntity.getStrategyId()); + userAwardRecord.setOrderId(userAwardRecordEntity.getOrderId()); + userAwardRecord.setAwardId(userAwardRecordEntity.getAwardId()); + userAwardRecord.setAwardTitle(userAwardRecordEntity.getAwardTitle()); + userAwardRecord.setAwardTime(userAwardRecordEntity.getAwardTime()); + userAwardRecord.setAwardState(userAwardRecordEntity.getAwardState().getCode()); + + Task task = new Task(); + task.setUserId(taskEntity.getUserId()); + task.setTopic(taskEntity.getTopic()); + task.setMessageId(taskEntity.getMessageId()); + task.setMessage(JSON.toJSONString(taskEntity.getMessage())); + task.setState(taskEntity.getState().getCode()); + try { + dbRouter.doRouter(userId); + transactionTemplate.execute(status -> { + try { + userAwardRecordDao.insert(userAwardRecord); + taskDao.insert(task); + return 1; + } catch (DuplicateKeyException e) { + status.setRollbackOnly(); + log.error("写入中奖记录,唯一索引冲突 userId: {} activityId: {} awardId: {}", userId, activityId, awardId, e); + throw new AppException(ResponseCode.INDEX_DUP.getCode(), e); + } + }); + } finally { + dbRouter.clear(); + } + try { + // 发送消息【在事务外执行,如果失败还有任务补偿】 + eventPublisher.publish(task.getTopic(), task.getMessage()); + // 更新数据库记录,task 任务表 + taskDao.updateTaskSendMessageCompleted(task); + } catch (Exception e) { + log.error("写入中奖记录,发送MQ消息失败 userId: {} topic: {}", userId, task.getTopic()); + taskDao.updateTaskSendMessageFail(task); + } + + } +} diff --git a/bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/repository/TaskRepository.java b/bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/repository/TaskRepository.java new file mode 100644 index 0000000..23ca2f1 --- /dev/null +++ b/bigmarket-infrastructure/src/main/java/cn/bugstack/infrastructure/persistent/repository/TaskRepository.java @@ -0,0 +1,65 @@ +package cn.bugstack.infrastructure.persistent.repository; + +import cn.bugstack.domain.task.model.entity.TaskEntity; +import cn.bugstack.domain.task.repository.ITaskRepository; +import cn.bugstack.infrastructure.event.EventPublisher; +import cn.bugstack.infrastructure.persistent.dao.ITaskDao; +import cn.bugstack.infrastructure.persistent.po.Task; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Repository; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; + +/** + * @ClassName: TaskRepository + * @Description: 任务服务仓储实现 + * @Author: zhaoyongfeng + * @Date: 2024/12/9 17:12 + */ +@Slf4j +@Repository +public class TaskRepository implements ITaskRepository { + @Resource + private ITaskDao taskDao; + @Resource + private EventPublisher eventPublisher; + + + @Override + public void sendMessage(TaskEntity taskEntity) { + eventPublisher.publish(taskEntity.getTopic(), taskEntity.getMessage()); + } + + @Override + public List queryNoSendMessageTaskList() { + List tasks = taskDao.queryNoSendMessageTaskList(); + List taskEntities = new ArrayList<>(tasks.size()); + for (Task task : tasks) { + TaskEntity taskEntity = new TaskEntity(); + taskEntity.setUserId(task.getUserId()); + taskEntity.setTopic(task.getTopic()); + taskEntity.setMessageId(task.getMessageId()); + taskEntity.setMessage(task.getMessage()); + taskEntities.add(taskEntity); + } + return taskEntities; + } + + @Override + public void updateTaskSendMessageFail(String userId, String messageId) { + Task task = new Task(); + task.setUserId(userId); + task.setMessageId(messageId); + taskDao.updateTaskSendMessageFail(task); + } + + @Override + public void updateTaskSendMessageCompleted(String userId, String messageId) { + Task task = new Task(); + task.setUserId(userId); + task.setMessageId(messageId); + taskDao.updateTaskSendMessageCompleted(task); + } +} diff --git a/bigmarket-trigger/pom.xml b/bigmarket-trigger/pom.xml index c2e6b93..ab6a4d1 100644 --- a/bigmarket-trigger/pom.xml +++ b/bigmarket-trigger/pom.xml @@ -30,6 +30,10 @@ org.springframework.boot spring-boot-starter-amqp + + cn.bugstack.middleware + db-router-spring-boot-starter + cn.bugstack @@ -45,6 +49,7 @@ 1.0-SNAPSHOT compile + diff --git a/bigmarket-trigger/src/main/java/cn/bugstack/trigger/job/SendMessageTaskJob.java b/bigmarket-trigger/src/main/java/cn/bugstack/trigger/job/SendMessageTaskJob.java new file mode 100644 index 0000000..a9bd944 --- /dev/null +++ b/bigmarket-trigger/src/main/java/cn/bugstack/trigger/job/SendMessageTaskJob.java @@ -0,0 +1,69 @@ +package cn.bugstack.trigger.job; + +import cn.bugstack.domain.task.model.entity.TaskEntity; +import cn.bugstack.domain.task.service.ITaskService; +import cn.bugstack.middleware.db.router.strategy.IDBRouterStrategy; +import lombok.extern.slf4j.Slf4j; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; +import java.util.List; +import java.util.concurrent.ThreadPoolExecutor; + +/** + * @ClassName: SendMessageTask + * @Description: 发送MQ消息任务队列 + * @Author: zhaoyongfeng + * @Date: 2024/12/9 17:28 + */ +@Slf4j +@Component() +public class SendMessageTaskJob { + @Resource + private ITaskService taskService; + @Resource + private ThreadPoolExecutor executor; + @Resource + private IDBRouterStrategy dbRouter; + + @Scheduled(cron = "0 * * * * ?") + public void exec() { + try { + // 获取分库数量 + int dbCount = dbRouter.dbCount(); + // 逐个库扫描表【每个库一个任务表】 + for (int dbIdx = 1; dbIdx <= dbCount; dbIdx++) { + int finalDbIdx = dbIdx; + executor.execute(() -> { + try { + dbRouter.setDBKey(finalDbIdx); + dbRouter.setTBKey(0); // 默认值为0,表示不分表 + List taskEntities = taskService.queryNoSendMessageTaskList(); + if (taskEntities.isEmpty()) return; + // 发送MQ消息 + for (TaskEntity taskEntity : taskEntities) { + // 开启线程发送,提高发送效率。配置的线程池策略为 CallerRunsPolicy,在 ThreadPoolConfig 配置中有4个策略,面试中容易对比提问。可以检索下相关资料。 + executor.execute(() -> { + try { + taskService.sendMessage(taskEntity); + taskService.updateTaskSendMessageCompleted(taskEntity.getUserId(), taskEntity.getMessageId()); + } catch (Exception e) { + log.error("定时任务,发送MQ消息失败 userId: {} topic: {}", taskEntity.getUserId(), taskEntity.getTopic()); + taskService.updateTaskSendMessageFail(taskEntity.getUserId(), taskEntity.getMessageId()); + } + }); + } + } finally { + dbRouter.clear(); + } + + }); + } + } catch (Exception e) { + log.error("定时任务,扫描MQ任务表发送消息失败。", e); + } finally { + dbRouter.clear(); + } + } +} diff --git a/bigmarket-trigger/src/main/java/cn/bugstack/trigger/job/UpdateActivitySkuStockJob.java b/bigmarket-trigger/src/main/java/cn/bugstack/trigger/job/UpdateActivitySkuStockJob.java index 77c22d1..7827b7b 100644 --- a/bigmarket-trigger/src/main/java/cn/bugstack/trigger/job/UpdateActivitySkuStockJob.java +++ b/bigmarket-trigger/src/main/java/cn/bugstack/trigger/job/UpdateActivitySkuStockJob.java @@ -1,7 +1,7 @@ package cn.bugstack.trigger.job; import cn.bugstack.domain.activity.model.valobj.ActivitySkuStockKeyVO; -import cn.bugstack.domain.activity.service.ISkuStock; +import cn.bugstack.domain.activity.service.IRaffleActivitySkuStockService; import lombok.extern.slf4j.Slf4j; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; @@ -18,7 +18,7 @@ import javax.annotation.Resource; public class UpdateActivitySkuStockJob { @Resource - private ISkuStock skuStock; + private IRaffleActivitySkuStockService skuStock; @Scheduled(cron = "0/5 * * * * ?") public void exec() { diff --git a/bigmarket-trigger/src/main/java/cn/bugstack/trigger/listener/ActivitySkuStockZeroCustomer.java b/bigmarket-trigger/src/main/java/cn/bugstack/trigger/listener/ActivitySkuStockZeroCustomer.java index 264bfa0..32e913c 100644 --- a/bigmarket-trigger/src/main/java/cn/bugstack/trigger/listener/ActivitySkuStockZeroCustomer.java +++ b/bigmarket-trigger/src/main/java/cn/bugstack/trigger/listener/ActivitySkuStockZeroCustomer.java @@ -1,6 +1,6 @@ package cn.bugstack.trigger.listener; -import cn.bugstack.domain.activity.service.ISkuStock; +import cn.bugstack.domain.activity.service.IRaffleActivitySkuStockService; import cn.bugstack.types.event.BaseEvent; import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.TypeReference; @@ -25,7 +25,7 @@ public class ActivitySkuStockZeroCustomer { private String topic; @Resource - private ISkuStock skuStock; + private IRaffleActivitySkuStockService skuStock; @RabbitListener(queuesToDeclare = @Queue(value = "activity_sku_stock_zero")) public void listener(String message) { diff --git a/bigmarket-types/src/main/java/cn/bugstack/types/enums/ResponseCode.java b/bigmarket-types/src/main/java/cn/bugstack/types/enums/ResponseCode.java index be4bcb9..4fcb229 100644 --- a/bigmarket-types/src/main/java/cn/bugstack/types/enums/ResponseCode.java +++ b/bigmarket-types/src/main/java/cn/bugstack/types/enums/ResponseCode.java @@ -19,7 +19,11 @@ public enum ResponseCode { ACTIVITY_STATE_ERROR("ERR_BIZ_003", "活动未开启(非open状态)"), ACTIVITY_DATE_ERROR("ERR_BIZ_004", "非活动日期范围"), ACTIVITY_SKU_STOCK_ERROR("ERR_BIZ_005", "活动库存不足"), - ;; + ACCOUNT_QUOTA_ERROR("ERR_BIZ_006","账户总额度不足"), + ACCOUNT_MONTH_QUOTA_ERROR("ERR_BIZ_007","账户月额度不足"), + ACCOUNT_DAY_QUOTA_ERROR("ERR_BIZ_008","账户日额度不足"), + ; + private String code; private String info; diff --git a/docs/dev-ops/log/log-info-2024-12-03.0.log b/docs/dev-ops/log/log-info-2024-12-03.0.log new file mode 100644 index 0000000..04de193 --- /dev/null +++ b/docs/dev-ops/log/log-info-2024-12-03.0.log @@ -0,0 +1,31 @@ +24-12-03.20:13:23.626 [main ] INFO Application - Starting Application v1.0-SNAPSHOT using Java 1.8.0_342 on 9b0494bbcd7f with PID 7 (/big-market-app.jar started by root in /) +24-12-03.20:13:23.629 [main ] INFO Application - The following 1 profile is active: "dev" +24-12-03.20:13:24.805 [main ] INFO RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode +24-12-03.20:13:24.808 [main ] INFO RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. +24-12-03.20:13:24.837 [main ] INFO RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 11 ms. Found 0 Redis repository interfaces. +24-12-03.20:13:25.807 [main ] INFO TomcatWebServer - Tomcat initialized with port(s): 8091 (http) +24-12-03.20:13:25.817 [main ] INFO Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8091"] +24-12-03.20:13:25.819 [main ] INFO StandardService - Starting service [Tomcat] +24-12-03.20:13:25.819 [main ] INFO StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.75] +24-12-03.20:13:25.895 [main ] INFO [/] - Initializing Spring embedded WebApplicationContext +24-12-03.20:13:25.895 [main ] INFO ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 2185 ms +24-12-03.20:13:26.746 [main ] INFO Version - Redisson 3.23.4 +24-12-03.20:13:27.338 [redisson-netty-2-6] INFO MasterPubSubConnectionPool - 1 connections initialized for redis/172.19.0.6:6379 +24-12-03.20:13:27.415 [redisson-netty-2-14] INFO MasterConnectionPool - 5 connections initialized for redis/172.19.0.6:6379 +24-12-03.20:13:28.398 [main ] INFO EndpointLinksResolver - Exposing 1 endpoint(s) beneath base path '/actuator' +24-12-03.20:13:28.422 [main ] INFO Http11NioProtocol - Starting ProtocolHandler ["http-nio-8091"] +24-12-03.20:13:28.441 [main ] INFO TomcatWebServer - Tomcat started on port(s): 8091 (http) with context path '' +24-12-03.20:13:28.459 [main ] INFO Application - Started Application in 5.548 seconds (JVM running for 6.7) +24-12-03.20:13:30.001 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-03.20:13:35.001 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-03.20:13:40.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-03.20:13:45.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-03.20:13:49.999 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-03.20:13:55.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-03.20:14:00.001 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-03.20:14:05.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-03.20:14:10.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-03.20:14:15.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-03.20:14:19.998 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-03.20:14:25.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-03.20:14:30.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 diff --git a/docs/dev-ops/log/log-info-2024-12-04.0.log b/docs/dev-ops/log/log-info-2024-12-04.0.log new file mode 100644 index 0000000..5c61246 --- /dev/null +++ b/docs/dev-ops/log/log-info-2024-12-04.0.log @@ -0,0 +1,64 @@ +24-12-04.13:33:40.810 [main ] INFO Application - Starting Application v1.0-SNAPSHOT using Java 1.8.0_342 on 9b0494bbcd7f with PID 6 (/big-market-app.jar started by root in /) +24-12-04.13:33:40.813 [main ] INFO Application - The following 1 profile is active: "dev" +24-12-04.13:33:42.140 [main ] INFO RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode +24-12-04.13:33:42.143 [main ] INFO RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. +24-12-04.13:33:42.185 [main ] INFO RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 17 ms. Found 0 Redis repository interfaces. +24-12-04.13:33:43.433 [main ] INFO TomcatWebServer - Tomcat initialized with port(s): 8091 (http) +24-12-04.13:33:43.447 [main ] INFO Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8091"] +24-12-04.13:33:43.449 [main ] INFO StandardService - Starting service [Tomcat] +24-12-04.13:33:43.449 [main ] INFO StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.75] +24-12-04.13:33:43.536 [main ] INFO [/] - Initializing Spring embedded WebApplicationContext +24-12-04.13:33:43.536 [main ] INFO ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 2634 ms +24-12-04.13:33:44.435 [main ] INFO Version - Redisson 3.23.4 +24-12-04.13:33:44.977 [redisson-netty-2-6] INFO MasterPubSubConnectionPool - 1 connections initialized for redis/172.19.0.4:6379 +24-12-04.13:33:45.051 [redisson-netty-2-14] INFO MasterConnectionPool - 5 connections initialized for redis/172.19.0.4:6379 +24-12-04.13:33:46.181 [main ] INFO EndpointLinksResolver - Exposing 1 endpoint(s) beneath base path '/actuator' +24-12-04.13:33:46.211 [main ] INFO Http11NioProtocol - Starting ProtocolHandler ["http-nio-8091"] +24-12-04.13:33:46.233 [main ] INFO TomcatWebServer - Tomcat started on port(s): 8091 (http) with context path '' +24-12-04.13:33:46.250 [main ] INFO Application - Started Application in 6.235 seconds (JVM running for 7.531) +24-12-04.13:33:50.001 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-04.14:57:34.434 [main ] INFO Application - Starting Application v1.0-SNAPSHOT using Java 1.8.0_342 on 9b0494bbcd7f with PID 7 (/big-market-app.jar started by root in /) +24-12-04.14:57:34.438 [main ] INFO Application - The following 1 profile is active: "dev" +24-12-04.14:57:35.390 [main ] INFO RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode +24-12-04.14:57:35.393 [main ] INFO RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. +24-12-04.14:57:35.421 [main ] INFO RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 11 ms. Found 0 Redis repository interfaces. +24-12-04.14:57:36.352 [main ] INFO TomcatWebServer - Tomcat initialized with port(s): 8091 (http) +24-12-04.14:57:36.365 [main ] INFO Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8091"] +24-12-04.14:57:36.366 [main ] INFO StandardService - Starting service [Tomcat] +24-12-04.14:57:36.367 [main ] INFO StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.75] +24-12-04.14:57:36.449 [main ] INFO [/] - Initializing Spring embedded WebApplicationContext +24-12-04.14:57:36.449 [main ] INFO ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1949 ms +24-12-04.14:57:37.210 [main ] INFO Version - Redisson 3.23.4 +24-12-04.14:57:37.731 [redisson-netty-2-5] INFO MasterPubSubConnectionPool - 1 connections initialized for redis/172.19.0.2:6379 +24-12-04.14:57:37.811 [redisson-netty-2-14] INFO MasterConnectionPool - 5 connections initialized for redis/172.19.0.2:6379 +24-12-04.14:57:38.759 [main ] INFO EndpointLinksResolver - Exposing 1 endpoint(s) beneath base path '/actuator' +24-12-04.14:57:38.959 [main ] INFO Http11NioProtocol - Starting ProtocolHandler ["http-nio-8091"] +24-12-04.14:57:38.985 [main ] INFO TomcatWebServer - Tomcat started on port(s): 8091 (http) with context path '' +24-12-04.14:57:39.007 [main ] INFO Application - Started Application in 5.305 seconds (JVM running for 6.065) +24-12-04.14:57:40.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-04.14:57:45.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-04.14:57:50.001 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-04.14:57:55.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-04.14:57:59.999 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-04.14:58:05.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-04.14:58:10.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-04.16:41:37.682 [main ] INFO Application - Starting Application v1.0-SNAPSHOT using Java 1.8.0_342 on 9b0494bbcd7f with PID 7 (/big-market-app.jar started by root in /) +24-12-04.16:41:37.686 [main ] INFO Application - The following 1 profile is active: "dev" +24-12-04.16:41:39.079 [main ] INFO RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode +24-12-04.16:41:39.085 [main ] INFO RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. +24-12-04.16:41:39.142 [main ] INFO RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 28 ms. Found 0 Redis repository interfaces. +24-12-04.16:41:41.132 [main ] INFO TomcatWebServer - Tomcat initialized with port(s): 8091 (http) +24-12-04.16:41:41.149 [main ] INFO Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8091"] +24-12-04.16:41:41.150 [main ] INFO StandardService - Starting service [Tomcat] +24-12-04.16:41:41.151 [main ] INFO StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.75] +24-12-04.16:41:41.266 [main ] INFO [/] - Initializing Spring embedded WebApplicationContext +24-12-04.16:41:41.266 [main ] INFO ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 3489 ms +24-12-04.16:41:42.039 [main ] INFO Version - Redisson 3.23.4 +24-12-04.16:41:42.571 [redisson-netty-2-5] INFO MasterPubSubConnectionPool - 1 connections initialized for redis/172.19.0.5:6379 +24-12-04.16:41:42.696 [redisson-netty-2-14] INFO MasterConnectionPool - 5 connections initialized for redis/172.19.0.5:6379 +24-12-04.16:41:43.756 [main ] INFO EndpointLinksResolver - Exposing 1 endpoint(s) beneath base path '/actuator' +24-12-04.16:41:43.922 [main ] INFO Http11NioProtocol - Starting ProtocolHandler ["http-nio-8091"] +24-12-04.16:41:43.942 [main ] INFO TomcatWebServer - Tomcat started on port(s): 8091 (http) with context path '' +24-12-04.16:41:43.963 [main ] INFO Application - Started Application in 7.283 seconds (JVM running for 8.032) +24-12-04.16:41:45.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-04.16:41:50.001 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 diff --git a/docs/dev-ops/log/log-info-2024-12-08.0.log b/docs/dev-ops/log/log-info-2024-12-08.0.log new file mode 100644 index 0000000..0c402ee --- /dev/null +++ b/docs/dev-ops/log/log-info-2024-12-08.0.log @@ -0,0 +1,20 @@ +24-12-08.19:29:51.367 [main ] INFO Application - Starting Application v1.0-SNAPSHOT using Java 1.8.0_342 on 9b0494bbcd7f with PID 7 (/big-market-app.jar started by root in /) +24-12-08.19:29:51.373 [main ] INFO Application - The following 1 profile is active: "dev" +24-12-08.19:29:52.585 [main ] INFO RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode +24-12-08.19:29:52.598 [main ] INFO RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. +24-12-08.19:29:52.643 [main ] INFO RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 17 ms. Found 0 Redis repository interfaces. +24-12-08.19:29:53.929 [main ] INFO TomcatWebServer - Tomcat initialized with port(s): 8091 (http) +24-12-08.19:29:53.944 [main ] INFO Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8091"] +24-12-08.19:29:53.946 [main ] INFO StandardService - Starting service [Tomcat] +24-12-08.19:29:53.946 [main ] INFO StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.75] +24-12-08.19:29:54.053 [main ] INFO [/] - Initializing Spring embedded WebApplicationContext +24-12-08.19:29:54.054 [main ] INFO ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 2574 ms +24-12-08.19:29:54.954 [main ] INFO Version - Redisson 3.23.4 +24-12-08.19:29:55.438 [redisson-netty-2-5] INFO MasterPubSubConnectionPool - 1 connections initialized for redis/172.19.0.4:6379 +24-12-08.19:29:55.555 [redisson-netty-2-14] INFO MasterConnectionPool - 5 connections initialized for redis/172.19.0.4:6379 +24-12-08.19:29:56.516 [main ] INFO EndpointLinksResolver - Exposing 1 endpoint(s) beneath base path '/actuator' +24-12-08.19:29:56.682 [main ] INFO Http11NioProtocol - Starting ProtocolHandler ["http-nio-8091"] +24-12-08.19:29:56.706 [main ] INFO TomcatWebServer - Tomcat started on port(s): 8091 (http) with context path '' +24-12-08.19:29:56.729 [main ] INFO Application - Started Application in 6.499 seconds (JVM running for 7.814) +24-12-08.19:30:00.001 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-08.19:30:05.001 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 diff --git a/docs/dev-ops/log/log_info.log b/docs/dev-ops/log/log_info.log index 04de193..deaaa79 100644 --- a/docs/dev-ops/log/log_info.log +++ b/docs/dev-ops/log/log_info.log @@ -1,31 +1,129 @@ -24-12-03.20:13:23.626 [main ] INFO Application - Starting Application v1.0-SNAPSHOT using Java 1.8.0_342 on 9b0494bbcd7f with PID 7 (/big-market-app.jar started by root in /) -24-12-03.20:13:23.629 [main ] INFO Application - The following 1 profile is active: "dev" -24-12-03.20:13:24.805 [main ] INFO RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode -24-12-03.20:13:24.808 [main ] INFO RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. -24-12-03.20:13:24.837 [main ] INFO RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 11 ms. Found 0 Redis repository interfaces. -24-12-03.20:13:25.807 [main ] INFO TomcatWebServer - Tomcat initialized with port(s): 8091 (http) -24-12-03.20:13:25.817 [main ] INFO Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8091"] -24-12-03.20:13:25.819 [main ] INFO StandardService - Starting service [Tomcat] -24-12-03.20:13:25.819 [main ] INFO StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.75] -24-12-03.20:13:25.895 [main ] INFO [/] - Initializing Spring embedded WebApplicationContext -24-12-03.20:13:25.895 [main ] INFO ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 2185 ms -24-12-03.20:13:26.746 [main ] INFO Version - Redisson 3.23.4 -24-12-03.20:13:27.338 [redisson-netty-2-6] INFO MasterPubSubConnectionPool - 1 connections initialized for redis/172.19.0.6:6379 -24-12-03.20:13:27.415 [redisson-netty-2-14] INFO MasterConnectionPool - 5 connections initialized for redis/172.19.0.6:6379 -24-12-03.20:13:28.398 [main ] INFO EndpointLinksResolver - Exposing 1 endpoint(s) beneath base path '/actuator' -24-12-03.20:13:28.422 [main ] INFO Http11NioProtocol - Starting ProtocolHandler ["http-nio-8091"] -24-12-03.20:13:28.441 [main ] INFO TomcatWebServer - Tomcat started on port(s): 8091 (http) with context path '' -24-12-03.20:13:28.459 [main ] INFO Application - Started Application in 5.548 seconds (JVM running for 6.7) -24-12-03.20:13:30.001 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 -24-12-03.20:13:35.001 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 -24-12-03.20:13:40.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 -24-12-03.20:13:45.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 -24-12-03.20:13:49.999 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 -24-12-03.20:13:55.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 -24-12-03.20:14:00.001 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 -24-12-03.20:14:05.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 -24-12-03.20:14:10.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 -24-12-03.20:14:15.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 -24-12-03.20:14:19.998 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 -24-12-03.20:14:25.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 -24-12-03.20:14:30.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:14:04.611 [main ] INFO Application - Starting Application v1.0-SNAPSHOT using Java 1.8.0_342 on 9b0494bbcd7f with PID 7 (/big-market-app.jar started by root in /) +24-12-09.15:14:04.614 [main ] INFO Application - The following 1 profile is active: "dev" +24-12-09.15:14:06.883 [main ] INFO RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode +24-12-09.15:14:06.890 [main ] INFO RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. +24-12-09.15:14:07.007 [main ] INFO RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 55 ms. Found 0 Redis repository interfaces. +24-12-09.15:14:09.163 [main ] INFO TomcatWebServer - Tomcat initialized with port(s): 8091 (http) +24-12-09.15:14:09.194 [main ] INFO Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8091"] +24-12-09.15:14:09.196 [main ] INFO StandardService - Starting service [Tomcat] +24-12-09.15:14:09.197 [main ] INFO StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.75] +24-12-09.15:14:09.357 [main ] INFO [/] - Initializing Spring embedded WebApplicationContext +24-12-09.15:14:09.358 [main ] INFO ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 4605 ms +24-12-09.15:14:11.211 [main ] INFO Version - Redisson 3.23.4 +24-12-09.15:14:12.027 [redisson-netty-2-6] INFO MasterPubSubConnectionPool - 1 connections initialized for redis/172.19.0.4:6379 +24-12-09.15:14:12.124 [redisson-netty-2-14] INFO MasterConnectionPool - 5 connections initialized for redis/172.19.0.4:6379 +24-12-09.15:14:14.186 [main ] INFO EndpointLinksResolver - Exposing 1 endpoint(s) beneath base path '/actuator' +24-12-09.15:14:14.226 [main ] INFO Http11NioProtocol - Starting ProtocolHandler ["http-nio-8091"] +24-12-09.15:14:14.255 [main ] INFO TomcatWebServer - Tomcat started on port(s): 8091 (http) with context path '' +24-12-09.15:14:14.282 [main ] INFO Application - Started Application in 11.292 seconds (JVM running for 13.573) +24-12-09.15:14:15.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:14:20.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:14:25.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:14:30.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:14:35.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:14:40.001 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:14:45.001 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:14:50.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:14:55.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:15:00.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:15:05.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:15:10.001 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:15:15.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:15:20.001 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:15:25.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:15:30.001 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:15:35.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:15:40.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:15:45.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:15:50.001 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:15:54.999 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:16:00.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:16:05.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:16:10.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:16:15.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:16:20.001 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:16:24.999 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:16:30.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:16:35.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:16:40.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:16:45.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:16:50.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:16:55.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:17:00.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:17:05.001 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:17:10.001 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:17:15.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:17:20.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:17:25.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:17:30.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:17:35.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:17:40.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:17:45.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:17:50.001 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:17:55.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:18:00.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:18:05.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:18:10.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:18:15.001 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:18:20.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:18:24.999 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:18:30.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:18:35.001 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:18:40.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:18:45.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:18:50.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:18:54.999 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:19:00.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:19:05.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:19:10.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:19:15.001 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:19:20.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:19:25.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:19:30.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:19:35.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:19:40.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:19:45.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:19:50.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:19:55.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:20:00.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:20:05.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:20:10.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:20:15.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:20:20.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:20:25.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:20:30.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:20:35.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:20:40.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:20:45.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:20:50.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:20:55.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:21:00.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:21:05.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:21:10.001 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:21:15.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:21:20.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:21:25.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:21:30.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:21:35.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:21:40.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:21:45.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:21:50.001 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:21:54.999 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:22:00.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:22:05.001 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:22:10.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:22:15.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:22:20.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:22:25.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:22:30.001 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:22:35.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:22:40.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:22:45.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:22:50.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:22:54.999 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:23:00.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:23:05.001 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:23:10.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:23:15.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:23:20.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 +24-12-09.15:23:25.000 [scheduling-1 ] INFO UpdateAwardStockJob - 定时任务,更新奖品消耗库存【延迟队列获取,降低对数据库的更新频次,不要产生竞争】 diff --git a/docs/dev-ops/mysql/sql/big_market_01.sql b/docs/dev-ops/mysql/sql/big_market_01.sql index c87d1e0..1e01867 100644 --- a/docs/dev-ops/mysql/sql/big_market_01.sql +++ b/docs/dev-ops/mysql/sql/big_market_01.sql @@ -7,7 +7,7 @@ # # 主机: 127.0.0.1 (MySQL 5.6.39) # 数据库: big_market_01 -# 生成时间: 2024-04-02 13:47:02 +0000 +# 生成时间: 2024-04-03 07:23:12 +0000 # ************************************************************ @@ -28,19 +28,19 @@ use `big_market_01`; DROP TABLE IF EXISTS `raffle_activity_account`; CREATE TABLE `raffle_activity_account` ( - `id` bigint(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID', - `user_id` varchar(32) NOT NULL COMMENT '用户ID', - `activity_id` bigint(12) NOT NULL COMMENT '活动ID', - `total_count` int(8) NOT NULL COMMENT '总次数', - `total_count_surplus` int(8) NOT NULL COMMENT '总次数-剩余', - `day_count` int(8) NOT NULL COMMENT '日次数', - `day_count_surplus` int(8) NOT NULL COMMENT '日次数-剩余', - `month_count` int(8) NOT NULL COMMENT '月次数', - `month_count_surplus` int(8) NOT NULL COMMENT '月次数-剩余', - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间', - PRIMARY KEY (`id`), - UNIQUE KEY `uq_user_id_activity_id` (`user_id`,`activity_id`) + `id` bigint(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID', + `user_id` varchar(32) NOT NULL COMMENT '用户ID', + `activity_id` bigint(12) NOT NULL COMMENT '活动ID', + `total_count` int(8) NOT NULL COMMENT '总次数', + `total_count_surplus` int(8) NOT NULL COMMENT '总次数-剩余', + `day_count` int(8) NOT NULL COMMENT '日次数', + `day_count_surplus` int(8) NOT NULL COMMENT '日次数-剩余', + `month_count` int(8) NOT NULL COMMENT '月次数', + `month_count_surplus` int(8) NOT NULL COMMENT '月次数-剩余', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + PRIMARY KEY (`id`), + UNIQUE KEY `uq_user_id_activity_id` (`user_id`,`activity_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='抽奖活动账户表'; LOCK TABLES `raffle_activity_account` WRITE; @@ -48,37 +48,77 @@ LOCK TABLES `raffle_activity_account` WRITE; INSERT INTO `raffle_activity_account` (`id`, `user_id`, `activity_id`, `total_count`, `total_count_surplus`, `day_count`, `day_count_surplus`, `month_count`, `month_count_surplus`, `create_time`, `update_time`) VALUES - (3,'xiaofuge',100301,44,43,44,43,44,43,'2024-03-23 16:38:57','2024-03-30 17:10:06'); + (3,'xiaofuge',100301,44,43,44,43,44,43,'2024-03-23 16:38:57','2024-03-30 17:10:06'); /*!40000 ALTER TABLE `raffle_activity_account` ENABLE KEYS */; UNLOCK TABLES; +# 转储表 raffle_activity_account_day +# ------------------------------------------------------------ + +DROP TABLE IF EXISTS `raffle_activity_account_day`; + +CREATE TABLE `raffle_activity_account_day` ( + `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID', + `user_id` varchar(32) NOT NULL COMMENT '用户ID', + `activity_id` bigint(12) NOT NULL COMMENT '活动ID', + `day` varchar(10) NOT NULL COMMENT '日期(yyyy-mm-dd)', + `day_count` int(8) NOT NULL COMMENT '日次数', + `day_count_surplus` int(8) NOT NULL COMMENT '日次数-剩余', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + PRIMARY KEY (`id`), + UNIQUE KEY `uq_user_id_activity_id_day` (`user_id`,`activity_id`,`day`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='抽奖活动账户表-日次数'; + + + +# 转储表 raffle_activity_account_month +# ------------------------------------------------------------ + +DROP TABLE IF EXISTS `raffle_activity_account_month`; + +CREATE TABLE `raffle_activity_account_month` ( + `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID', + `user_id` varchar(32) NOT NULL COMMENT '用户ID', + `activity_id` bigint(12) NOT NULL COMMENT '活动ID', + `month` varchar(7) NOT NULL COMMENT '月(yyyy-mm)', + `month_count` int(8) NOT NULL COMMENT '月次数', + `month_count_surplus` int(8) NOT NULL COMMENT '月次数-剩余', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + PRIMARY KEY (`id`), + UNIQUE KEY `uq_user_id_activity_id_month` (`user_id`,`activity_id`,`month`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='抽奖活动账户表-月次数'; + + + # 转储表 raffle_activity_order_000 # ------------------------------------------------------------ DROP TABLE IF EXISTS `raffle_activity_order_000`; CREATE TABLE `raffle_activity_order_000` ( - `id` bigint(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID', - `user_id` varchar(32) NOT NULL COMMENT '用户ID', - `sku` bigint(12) NOT NULL COMMENT '商品sku', - `activity_id` bigint(12) NOT NULL COMMENT '活动ID', - `activity_name` varchar(64) NOT NULL COMMENT '活动名称', - `strategy_id` bigint(8) NOT NULL COMMENT '抽奖策略ID', - `order_id` varchar(12) NOT NULL COMMENT '订单ID', - `order_time` datetime NOT NULL COMMENT '下单时间', - `total_count` int(8) NOT NULL COMMENT '总次数', - `day_count` int(8) NOT NULL COMMENT '日次数', - `month_count` int(8) NOT NULL COMMENT '月次数', - `state` varchar(16) NOT NULL DEFAULT 'complete' COMMENT '订单状态(complete)', - `out_business_no` varchar(64) NOT NULL COMMENT '业务仿重ID - 外部透传的,确保幂等', - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间', - PRIMARY KEY (`id`), - UNIQUE KEY `uq_order_id` (`order_id`), - UNIQUE KEY `uq_out_business_no` (`out_business_no`), - KEY `idx_user_id_activity_id` (`user_id`,`activity_id`,`state`) + `id` bigint(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID', + `user_id` varchar(32) NOT NULL COMMENT '用户ID', + `sku` bigint(12) NOT NULL COMMENT '商品sku', + `activity_id` bigint(12) NOT NULL COMMENT '活动ID', + `activity_name` varchar(64) NOT NULL COMMENT '活动名称', + `strategy_id` bigint(8) NOT NULL COMMENT '抽奖策略ID', + `order_id` varchar(12) NOT NULL COMMENT '订单ID', + `order_time` datetime NOT NULL COMMENT '下单时间', + `total_count` int(8) NOT NULL COMMENT '总次数', + `day_count` int(8) NOT NULL COMMENT '日次数', + `month_count` int(8) NOT NULL COMMENT '月次数', + `state` varchar(16) NOT NULL DEFAULT 'complete' COMMENT '订单状态(complete)', + `out_business_no` varchar(64) NOT NULL COMMENT '业务仿重ID - 外部透传的,确保幂等', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间', + PRIMARY KEY (`id`), + UNIQUE KEY `uq_order_id` (`order_id`), + UNIQUE KEY `uq_out_business_no` (`out_business_no`), + KEY `idx_user_id_activity_id` (`user_id`,`activity_id`,`state`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='抽奖活动单'; @@ -89,25 +129,25 @@ CREATE TABLE `raffle_activity_order_000` ( DROP TABLE IF EXISTS `raffle_activity_order_001`; CREATE TABLE `raffle_activity_order_001` ( - `id` bigint(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID', - `user_id` varchar(32) NOT NULL COMMENT '用户ID', - `sku` bigint(12) NOT NULL COMMENT '商品sku', - `activity_id` bigint(12) NOT NULL COMMENT '活动ID', - `activity_name` varchar(64) NOT NULL COMMENT '活动名称', - `strategy_id` bigint(8) NOT NULL COMMENT '抽奖策略ID', - `order_id` varchar(12) NOT NULL COMMENT '订单ID', - `order_time` datetime NOT NULL COMMENT '下单时间', - `total_count` int(8) NOT NULL COMMENT '总次数', - `day_count` int(8) NOT NULL COMMENT '日次数', - `month_count` int(8) NOT NULL COMMENT '月次数', - `state` varchar(16) NOT NULL DEFAULT 'complete' COMMENT '订单状态(complete)', - `out_business_no` varchar(64) NOT NULL COMMENT '业务仿重ID - 外部透传的,确保幂等', - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间', - PRIMARY KEY (`id`), - UNIQUE KEY `uq_order_id` (`order_id`), - UNIQUE KEY `uq_out_business_no` (`out_business_no`), - KEY `idx_user_id_activity_id` (`user_id`,`activity_id`,`state`) + `id` bigint(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID', + `user_id` varchar(32) NOT NULL COMMENT '用户ID', + `sku` bigint(12) NOT NULL COMMENT '商品sku', + `activity_id` bigint(12) NOT NULL COMMENT '活动ID', + `activity_name` varchar(64) NOT NULL COMMENT '活动名称', + `strategy_id` bigint(8) NOT NULL COMMENT '抽奖策略ID', + `order_id` varchar(12) NOT NULL COMMENT '订单ID', + `order_time` datetime NOT NULL COMMENT '下单时间', + `total_count` int(8) NOT NULL COMMENT '总次数', + `day_count` int(8) NOT NULL COMMENT '日次数', + `month_count` int(8) NOT NULL COMMENT '月次数', + `state` varchar(16) NOT NULL DEFAULT 'complete' COMMENT '订单状态(complete)', + `out_business_no` varchar(64) NOT NULL COMMENT '业务仿重ID - 外部透传的,确保幂等', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间', + PRIMARY KEY (`id`), + UNIQUE KEY `uq_order_id` (`order_id`), + UNIQUE KEY `uq_out_business_no` (`out_business_no`), + KEY `idx_user_id_activity_id` (`user_id`,`activity_id`,`state`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='抽奖活动单'; LOCK TABLES `raffle_activity_order_001` WRITE; @@ -115,50 +155,50 @@ LOCK TABLES `raffle_activity_order_001` WRITE; INSERT INTO `raffle_activity_order_001` (`id`, `user_id`, `sku`, `activity_id`, `activity_name`, `strategy_id`, `order_id`, `order_time`, `total_count`, `day_count`, `month_count`, `state`, `out_business_no`, `create_time`, `update_time`) VALUES - (10,'xiaofuge',9011,100301,'测试活动',100006,'973296627434','2024-03-23 08:38:58',1,1,1,'completed','700091009111','2024-03-23 16:38:57','2024-03-23 16:38:57'), - (11,'xiaofuge',9011,100301,'测试活动',100006,'659722993182','2024-03-23 09:38:54',1,1,1,'completed','700091009112','2024-03-23 17:38:54','2024-03-23 17:38:54'), - (13,'xiaofuge',9011,100301,'测试活动',100006,'773767968094','2024-03-23 09:40:11',1,1,1,'completed','700091009113','2024-03-23 17:40:10','2024-03-23 17:40:10'), - (14,'xiaofuge',9011,100301,'测试活动',100006,'977898032977','2024-03-30 04:13:20',1,1,1,'completed','562827683573','2024-03-30 12:13:20','2024-03-30 12:13:20'), - (15,'xiaofuge',9011,100301,'测试活动',100006,'981492025457','2024-03-30 05:17:51',1,1,1,'completed','827130794336','2024-03-30 13:17:51','2024-03-30 13:17:51'), - (16,'xiaofuge',9011,100301,'测试活动',100006,'119662227336','2024-03-30 05:17:51',1,1,1,'completed','150844059982','2024-03-30 13:17:51','2024-03-30 13:17:51'), - (17,'xiaofuge',9011,100301,'测试活动',100006,'690133201288','2024-03-30 05:33:39',1,1,1,'completed','953370122326','2024-03-30 13:33:39','2024-03-30 13:33:39'), - (18,'xiaofuge',9011,100301,'测试活动',100006,'593200667289','2024-03-30 05:33:39',1,1,1,'completed','111390727659','2024-03-30 13:33:39','2024-03-30 13:33:39'), - (19,'xiaofuge',9011,100301,'测试活动',100006,'980711076393','2024-03-30 05:33:39',1,1,1,'completed','039423474452','2024-03-30 13:33:39','2024-03-30 13:33:39'), - (20,'xiaofuge',9011,100301,'测试活动',100006,'551375935033','2024-03-30 05:33:39',1,1,1,'completed','280668320055','2024-03-30 13:33:39','2024-03-30 13:33:39'), - (21,'xiaofuge',9011,100301,'测试活动',100006,'716528762190','2024-03-30 05:33:39',1,1,1,'completed','330472003431','2024-03-30 13:33:39','2024-03-30 13:33:39'), - (22,'xiaofuge',9011,100301,'测试活动',100006,'644880195681','2024-03-30 05:33:39',1,1,1,'completed','896655771302','2024-03-30 13:33:39','2024-03-30 13:33:39'), - (23,'xiaofuge',9011,100301,'测试活动',100006,'918009421723','2024-03-30 05:33:39',1,1,1,'completed','223114193931','2024-03-30 13:33:39','2024-03-30 13:33:39'), - (24,'xiaofuge',9011,100301,'测试活动',100006,'414038400484','2024-03-30 05:33:39',1,1,1,'completed','669801912616','2024-03-30 13:33:39','2024-03-30 13:33:39'), - (25,'xiaofuge',9011,100301,'测试活动',100006,'819052152409','2024-03-30 05:33:40',1,1,1,'completed','968823148813','2024-03-30 13:33:39','2024-03-30 13:33:39'), - (26,'xiaofuge',9011,100301,'测试活动',100006,'013685589273','2024-03-30 05:33:40',1,1,1,'completed','281985691959','2024-03-30 13:33:39','2024-03-30 13:33:39'), - (27,'xiaofuge',9011,100301,'测试活动',100006,'694790983278','2024-03-30 05:33:40',1,1,1,'completed','812013952722','2024-03-30 13:33:39','2024-03-30 13:33:39'), - (28,'xiaofuge',9011,100301,'测试活动',100006,'601285862715','2024-03-30 05:33:40',1,1,1,'completed','102122841078','2024-03-30 13:33:39','2024-03-30 13:33:39'), - (29,'xiaofuge',9011,100301,'测试活动',100006,'278549779124','2024-03-30 05:33:40',1,1,1,'completed','795697718772','2024-03-30 13:33:39','2024-03-30 13:33:39'), - (30,'xiaofuge',9011,100301,'测试活动',100006,'867889977246','2024-03-30 05:33:40',1,1,1,'completed','419196278242','2024-03-30 13:33:39','2024-03-30 13:33:39'), - (31,'xiaofuge',9011,100301,'测试活动',100006,'270946272407','2024-03-30 05:33:40',1,1,1,'completed','297043861965','2024-03-30 13:33:39','2024-03-30 13:33:39'), - (32,'xiaofuge',9011,100301,'测试活动',100006,'798392711746','2024-03-30 05:33:40',1,1,1,'completed','721157339512','2024-03-30 13:33:39','2024-03-30 13:33:39'), - (33,'xiaofuge',9011,100301,'测试活动',100006,'037305996439','2024-03-30 05:33:40',1,1,1,'completed','088008719855','2024-03-30 13:33:39','2024-03-30 13:33:39'), - (34,'xiaofuge',9011,100301,'测试活动',100006,'015056893123','2024-03-30 05:33:40',1,1,1,'completed','885793880817','2024-03-30 13:33:39','2024-03-30 13:33:39'), - (35,'xiaofuge',9011,100301,'测试活动',100006,'422734098553','2024-03-30 05:33:40',1,1,1,'completed','048066377262','2024-03-30 13:33:39','2024-03-30 13:33:39'), - (36,'xiaofuge',9011,100301,'测试活动',100006,'125534021547','2024-03-30 09:10:06',1,1,1,'completed','237913144976','2024-03-30 17:10:05','2024-03-30 17:10:05'), - (37,'xiaofuge',9011,100301,'测试活动',100006,'906577205018','2024-03-30 09:10:06',1,1,1,'completed','257763123780','2024-03-30 17:10:05','2024-03-30 17:10:05'), - (38,'xiaofuge',9011,100301,'测试活动',100006,'577878467308','2024-03-30 09:10:06',1,1,1,'completed','690370155629','2024-03-30 17:10:06','2024-03-30 17:10:06'), - (39,'xiaofuge',9011,100301,'测试活动',100006,'130934158588','2024-03-30 09:10:06',1,1,1,'completed','864303749107','2024-03-30 17:10:06','2024-03-30 17:10:06'), - (40,'xiaofuge',9011,100301,'测试活动',100006,'484575318240','2024-03-30 09:10:06',1,1,1,'completed','355946107906','2024-03-30 17:10:06','2024-03-30 17:10:06'), - (41,'xiaofuge',9011,100301,'测试活动',100006,'334219563572','2024-03-30 09:10:06',1,1,1,'completed','629679608889','2024-03-30 17:10:06','2024-03-30 17:10:06'), - (42,'xiaofuge',9011,100301,'测试活动',100006,'905424061364','2024-03-30 09:10:06',1,1,1,'completed','766840362369','2024-03-30 17:10:06','2024-03-30 17:10:06'), - (43,'xiaofuge',9011,100301,'测试活动',100006,'081184848765','2024-03-30 09:10:06',1,1,1,'completed','805402859227','2024-03-30 17:10:06','2024-03-30 17:10:06'), - (44,'xiaofuge',9011,100301,'测试活动',100006,'245273095853','2024-03-30 09:10:06',1,1,1,'completed','333924242550','2024-03-30 17:10:06','2024-03-30 17:10:06'), - (45,'xiaofuge',9011,100301,'测试活动',100006,'645786614176','2024-03-30 09:10:06',1,1,1,'completed','709012965465','2024-03-30 17:10:06','2024-03-30 17:10:06'), - (46,'xiaofuge',9011,100301,'测试活动',100006,'976098448519','2024-03-30 09:10:06',1,1,1,'completed','076464685314','2024-03-30 17:10:06','2024-03-30 17:10:06'), - (47,'xiaofuge',9011,100301,'测试活动',100006,'359533807959','2024-03-30 09:10:06',1,1,1,'completed','501769140520','2024-03-30 17:10:06','2024-03-30 17:10:06'), - (48,'xiaofuge',9011,100301,'测试活动',100006,'069825222776','2024-03-30 09:10:06',1,1,1,'completed','362857642896','2024-03-30 17:10:06','2024-03-30 17:10:06'), - (49,'xiaofuge',9011,100301,'测试活动',100006,'793595913277','2024-03-30 09:10:06',1,1,1,'completed','886499146967','2024-03-30 17:10:06','2024-03-30 17:10:06'), - (50,'xiaofuge',9011,100301,'测试活动',100006,'591290337369','2024-03-30 09:10:06',1,1,1,'completed','756466322485','2024-03-30 17:10:06','2024-03-30 17:10:06'), - (51,'xiaofuge',9011,100301,'测试活动',100006,'216203170946','2024-03-30 09:10:06',1,1,1,'completed','616831586240','2024-03-30 17:10:06','2024-03-30 17:10:06'), - (52,'xiaofuge',9011,100301,'测试活动',100006,'331973376483','2024-03-30 09:10:06',1,1,1,'completed','809200206672','2024-03-30 17:10:06','2024-03-30 17:10:06'), - (53,'xiaofuge',9011,100301,'测试活动',100006,'358968919391','2024-03-30 09:10:06',1,1,1,'completed','619112026689','2024-03-30 17:10:06','2024-03-30 17:10:06'), - (54,'xiaofuge',9011,100301,'测试活动',100006,'094263379883','2024-03-30 09:10:06',1,1,1,'completed','746237303851','2024-03-30 17:10:06','2024-03-30 17:10:06'); + (10,'xiaofuge',9011,100301,'测试活动',100006,'973296627434','2024-03-23 08:38:58',1,1,1,'completed','700091009111','2024-03-23 16:38:57','2024-03-23 16:38:57'), + (11,'xiaofuge',9011,100301,'测试活动',100006,'659722993182','2024-03-23 09:38:54',1,1,1,'completed','700091009112','2024-03-23 17:38:54','2024-03-23 17:38:54'), + (13,'xiaofuge',9011,100301,'测试活动',100006,'773767968094','2024-03-23 09:40:11',1,1,1,'completed','700091009113','2024-03-23 17:40:10','2024-03-23 17:40:10'), + (14,'xiaofuge',9011,100301,'测试活动',100006,'977898032977','2024-03-30 04:13:20',1,1,1,'completed','562827683573','2024-03-30 12:13:20','2024-03-30 12:13:20'), + (15,'xiaofuge',9011,100301,'测试活动',100006,'981492025457','2024-03-30 05:17:51',1,1,1,'completed','827130794336','2024-03-30 13:17:51','2024-03-30 13:17:51'), + (16,'xiaofuge',9011,100301,'测试活动',100006,'119662227336','2024-03-30 05:17:51',1,1,1,'completed','150844059982','2024-03-30 13:17:51','2024-03-30 13:17:51'), + (17,'xiaofuge',9011,100301,'测试活动',100006,'690133201288','2024-03-30 05:33:39',1,1,1,'completed','953370122326','2024-03-30 13:33:39','2024-03-30 13:33:39'), + (18,'xiaofuge',9011,100301,'测试活动',100006,'593200667289','2024-03-30 05:33:39',1,1,1,'completed','111390727659','2024-03-30 13:33:39','2024-03-30 13:33:39'), + (19,'xiaofuge',9011,100301,'测试活动',100006,'980711076393','2024-03-30 05:33:39',1,1,1,'completed','039423474452','2024-03-30 13:33:39','2024-03-30 13:33:39'), + (20,'xiaofuge',9011,100301,'测试活动',100006,'551375935033','2024-03-30 05:33:39',1,1,1,'completed','280668320055','2024-03-30 13:33:39','2024-03-30 13:33:39'), + (21,'xiaofuge',9011,100301,'测试活动',100006,'716528762190','2024-03-30 05:33:39',1,1,1,'completed','330472003431','2024-03-30 13:33:39','2024-03-30 13:33:39'), + (22,'xiaofuge',9011,100301,'测试活动',100006,'644880195681','2024-03-30 05:33:39',1,1,1,'completed','896655771302','2024-03-30 13:33:39','2024-03-30 13:33:39'), + (23,'xiaofuge',9011,100301,'测试活动',100006,'918009421723','2024-03-30 05:33:39',1,1,1,'completed','223114193931','2024-03-30 13:33:39','2024-03-30 13:33:39'), + (24,'xiaofuge',9011,100301,'测试活动',100006,'414038400484','2024-03-30 05:33:39',1,1,1,'completed','669801912616','2024-03-30 13:33:39','2024-03-30 13:33:39'), + (25,'xiaofuge',9011,100301,'测试活动',100006,'819052152409','2024-03-30 05:33:40',1,1,1,'completed','968823148813','2024-03-30 13:33:39','2024-03-30 13:33:39'), + (26,'xiaofuge',9011,100301,'测试活动',100006,'013685589273','2024-03-30 05:33:40',1,1,1,'completed','281985691959','2024-03-30 13:33:39','2024-03-30 13:33:39'), + (27,'xiaofuge',9011,100301,'测试活动',100006,'694790983278','2024-03-30 05:33:40',1,1,1,'completed','812013952722','2024-03-30 13:33:39','2024-03-30 13:33:39'), + (28,'xiaofuge',9011,100301,'测试活动',100006,'601285862715','2024-03-30 05:33:40',1,1,1,'completed','102122841078','2024-03-30 13:33:39','2024-03-30 13:33:39'), + (29,'xiaofuge',9011,100301,'测试活动',100006,'278549779124','2024-03-30 05:33:40',1,1,1,'completed','795697718772','2024-03-30 13:33:39','2024-03-30 13:33:39'), + (30,'xiaofuge',9011,100301,'测试活动',100006,'867889977246','2024-03-30 05:33:40',1,1,1,'completed','419196278242','2024-03-30 13:33:39','2024-03-30 13:33:39'), + (31,'xiaofuge',9011,100301,'测试活动',100006,'270946272407','2024-03-30 05:33:40',1,1,1,'completed','297043861965','2024-03-30 13:33:39','2024-03-30 13:33:39'), + (32,'xiaofuge',9011,100301,'测试活动',100006,'798392711746','2024-03-30 05:33:40',1,1,1,'completed','721157339512','2024-03-30 13:33:39','2024-03-30 13:33:39'), + (33,'xiaofuge',9011,100301,'测试活动',100006,'037305996439','2024-03-30 05:33:40',1,1,1,'completed','088008719855','2024-03-30 13:33:39','2024-03-30 13:33:39'), + (34,'xiaofuge',9011,100301,'测试活动',100006,'015056893123','2024-03-30 05:33:40',1,1,1,'completed','885793880817','2024-03-30 13:33:39','2024-03-30 13:33:39'), + (35,'xiaofuge',9011,100301,'测试活动',100006,'422734098553','2024-03-30 05:33:40',1,1,1,'completed','048066377262','2024-03-30 13:33:39','2024-03-30 13:33:39'), + (36,'xiaofuge',9011,100301,'测试活动',100006,'125534021547','2024-03-30 09:10:06',1,1,1,'completed','237913144976','2024-03-30 17:10:05','2024-03-30 17:10:05'), + (37,'xiaofuge',9011,100301,'测试活动',100006,'906577205018','2024-03-30 09:10:06',1,1,1,'completed','257763123780','2024-03-30 17:10:05','2024-03-30 17:10:05'), + (38,'xiaofuge',9011,100301,'测试活动',100006,'577878467308','2024-03-30 09:10:06',1,1,1,'completed','690370155629','2024-03-30 17:10:06','2024-03-30 17:10:06'), + (39,'xiaofuge',9011,100301,'测试活动',100006,'130934158588','2024-03-30 09:10:06',1,1,1,'completed','864303749107','2024-03-30 17:10:06','2024-03-30 17:10:06'), + (40,'xiaofuge',9011,100301,'测试活动',100006,'484575318240','2024-03-30 09:10:06',1,1,1,'completed','355946107906','2024-03-30 17:10:06','2024-03-30 17:10:06'), + (41,'xiaofuge',9011,100301,'测试活动',100006,'334219563572','2024-03-30 09:10:06',1,1,1,'completed','629679608889','2024-03-30 17:10:06','2024-03-30 17:10:06'), + (42,'xiaofuge',9011,100301,'测试活动',100006,'905424061364','2024-03-30 09:10:06',1,1,1,'completed','766840362369','2024-03-30 17:10:06','2024-03-30 17:10:06'), + (43,'xiaofuge',9011,100301,'测试活动',100006,'081184848765','2024-03-30 09:10:06',1,1,1,'completed','805402859227','2024-03-30 17:10:06','2024-03-30 17:10:06'), + (44,'xiaofuge',9011,100301,'测试活动',100006,'245273095853','2024-03-30 09:10:06',1,1,1,'completed','333924242550','2024-03-30 17:10:06','2024-03-30 17:10:06'), + (45,'xiaofuge',9011,100301,'测试活动',100006,'645786614176','2024-03-30 09:10:06',1,1,1,'completed','709012965465','2024-03-30 17:10:06','2024-03-30 17:10:06'), + (46,'xiaofuge',9011,100301,'测试活动',100006,'976098448519','2024-03-30 09:10:06',1,1,1,'completed','076464685314','2024-03-30 17:10:06','2024-03-30 17:10:06'), + (47,'xiaofuge',9011,100301,'测试活动',100006,'359533807959','2024-03-30 09:10:06',1,1,1,'completed','501769140520','2024-03-30 17:10:06','2024-03-30 17:10:06'), + (48,'xiaofuge',9011,100301,'测试活动',100006,'069825222776','2024-03-30 09:10:06',1,1,1,'completed','362857642896','2024-03-30 17:10:06','2024-03-30 17:10:06'), + (49,'xiaofuge',9011,100301,'测试活动',100006,'793595913277','2024-03-30 09:10:06',1,1,1,'completed','886499146967','2024-03-30 17:10:06','2024-03-30 17:10:06'), + (50,'xiaofuge',9011,100301,'测试活动',100006,'591290337369','2024-03-30 09:10:06',1,1,1,'completed','756466322485','2024-03-30 17:10:06','2024-03-30 17:10:06'), + (51,'xiaofuge',9011,100301,'测试活动',100006,'216203170946','2024-03-30 09:10:06',1,1,1,'completed','616831586240','2024-03-30 17:10:06','2024-03-30 17:10:06'), + (52,'xiaofuge',9011,100301,'测试活动',100006,'331973376483','2024-03-30 09:10:06',1,1,1,'completed','809200206672','2024-03-30 17:10:06','2024-03-30 17:10:06'), + (53,'xiaofuge',9011,100301,'测试活动',100006,'358968919391','2024-03-30 09:10:06',1,1,1,'completed','619112026689','2024-03-30 17:10:06','2024-03-30 17:10:06'), + (54,'xiaofuge',9011,100301,'测试活动',100006,'094263379883','2024-03-30 09:10:06',1,1,1,'completed','746237303851','2024-03-30 17:10:06','2024-03-30 17:10:06'); /*!40000 ALTER TABLE `raffle_activity_order_001` ENABLE KEYS */; UNLOCK TABLES; @@ -170,25 +210,25 @@ UNLOCK TABLES; DROP TABLE IF EXISTS `raffle_activity_order_002`; CREATE TABLE `raffle_activity_order_002` ( - `id` bigint(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID', - `user_id` varchar(32) NOT NULL COMMENT '用户ID', - `sku` bigint(12) NOT NULL COMMENT '商品sku', - `activity_id` bigint(12) NOT NULL COMMENT '活动ID', - `activity_name` varchar(64) NOT NULL COMMENT '活动名称', - `strategy_id` bigint(8) NOT NULL COMMENT '抽奖策略ID', - `order_id` varchar(12) NOT NULL COMMENT '订单ID', - `order_time` datetime NOT NULL COMMENT '下单时间', - `total_count` int(8) NOT NULL COMMENT '总次数', - `day_count` int(8) NOT NULL COMMENT '日次数', - `month_count` int(8) NOT NULL COMMENT '月次数', - `state` varchar(16) NOT NULL DEFAULT 'complete' COMMENT '订单状态(complete)', - `out_business_no` varchar(64) NOT NULL COMMENT '业务仿重ID - 外部透传的,确保幂等', - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间', - PRIMARY KEY (`id`), - UNIQUE KEY `uq_order_id` (`order_id`), - UNIQUE KEY `uq_out_business_no` (`out_business_no`), - KEY `idx_user_id_activity_id` (`user_id`,`activity_id`,`state`) + `id` bigint(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID', + `user_id` varchar(32) NOT NULL COMMENT '用户ID', + `sku` bigint(12) NOT NULL COMMENT '商品sku', + `activity_id` bigint(12) NOT NULL COMMENT '活动ID', + `activity_name` varchar(64) NOT NULL COMMENT '活动名称', + `strategy_id` bigint(8) NOT NULL COMMENT '抽奖策略ID', + `order_id` varchar(12) NOT NULL COMMENT '订单ID', + `order_time` datetime NOT NULL COMMENT '下单时间', + `total_count` int(8) NOT NULL COMMENT '总次数', + `day_count` int(8) NOT NULL COMMENT '日次数', + `month_count` int(8) NOT NULL COMMENT '月次数', + `state` varchar(16) NOT NULL DEFAULT 'complete' COMMENT '订单状态(complete)', + `out_business_no` varchar(64) NOT NULL COMMENT '业务仿重ID - 外部透传的,确保幂等', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间', + PRIMARY KEY (`id`), + UNIQUE KEY `uq_order_id` (`order_id`), + UNIQUE KEY `uq_out_business_no` (`out_business_no`), + KEY `idx_user_id_activity_id` (`user_id`,`activity_id`,`state`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='抽奖活动单'; @@ -199,29 +239,242 @@ CREATE TABLE `raffle_activity_order_002` ( DROP TABLE IF EXISTS `raffle_activity_order_003`; CREATE TABLE `raffle_activity_order_003` ( - `id` bigint(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID', - `user_id` varchar(32) NOT NULL COMMENT '用户ID', - `sku` bigint(12) NOT NULL COMMENT '商品sku', - `activity_id` bigint(12) NOT NULL COMMENT '活动ID', - `activity_name` varchar(64) NOT NULL COMMENT '活动名称', - `strategy_id` bigint(8) NOT NULL COMMENT '抽奖策略ID', - `order_id` varchar(12) NOT NULL COMMENT '订单ID', - `order_time` datetime NOT NULL COMMENT '下单时间', - `total_count` int(8) NOT NULL COMMENT '总次数', - `day_count` int(8) NOT NULL COMMENT '日次数', - `month_count` int(8) NOT NULL COMMENT '月次数', - `state` varchar(16) NOT NULL DEFAULT 'complete' COMMENT '订单状态(complete)', - `out_business_no` varchar(64) NOT NULL COMMENT '业务仿重ID - 外部透传的,确保幂等', - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间', - PRIMARY KEY (`id`), - UNIQUE KEY `uq_order_id` (`order_id`), - UNIQUE KEY `uq_out_business_no` (`out_business_no`), - KEY `idx_user_id_activity_id` (`user_id`,`activity_id`,`state`) + `id` bigint(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID', + `user_id` varchar(32) NOT NULL COMMENT '用户ID', + `sku` bigint(12) NOT NULL COMMENT '商品sku', + `activity_id` bigint(12) NOT NULL COMMENT '活动ID', + `activity_name` varchar(64) NOT NULL COMMENT '活动名称', + `strategy_id` bigint(8) NOT NULL COMMENT '抽奖策略ID', + `order_id` varchar(12) NOT NULL COMMENT '订单ID', + `order_time` datetime NOT NULL COMMENT '下单时间', + `total_count` int(8) NOT NULL COMMENT '总次数', + `day_count` int(8) NOT NULL COMMENT '日次数', + `month_count` int(8) NOT NULL COMMENT '月次数', + `state` varchar(16) NOT NULL DEFAULT 'complete' COMMENT '订单状态(complete)', + `out_business_no` varchar(64) NOT NULL COMMENT '业务仿重ID - 外部透传的,确保幂等', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间', + PRIMARY KEY (`id`), + UNIQUE KEY `uq_order_id` (`order_id`), + UNIQUE KEY `uq_out_business_no` (`out_business_no`), + KEY `idx_user_id_activity_id` (`user_id`,`activity_id`,`state`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='抽奖活动单'; +# 转储表 task +# ------------------------------------------------------------ + +DROP TABLE IF EXISTS `task`; + +CREATE TABLE `task` ( + `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID', + `topic` varchar(32) NOT NULL COMMENT '消息主题', + `message` varchar(512) NOT NULL COMMENT '消息主体', + `state` varchar(16) NOT NULL DEFAULT 'create' COMMENT '任务状态;create-创建、completed-完成、fail-失败', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='任务表,发送MQ'; + + + +# 转储表 user_award_record_000 +# ------------------------------------------------------------ + +DROP TABLE IF EXISTS `user_award_record_000`; + +CREATE TABLE `user_award_record_000` ( + `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID', + `user_id` varchar(32) NOT NULL COMMENT '用户ID', + `activity_id` bigint(12) NOT NULL COMMENT '活动ID', + `strategy_id` bigint(8) NOT NULL COMMENT '抽奖策略ID', + `order_id` varchar(12) NOT NULL COMMENT '抽奖订单ID【作为幂等使用】', + `award_id` int(11) NOT NULL COMMENT '奖品ID', + `award_title` varchar(128) NOT NULL COMMENT '奖品标题(名称)', + `award_time` datetime NOT NULL COMMENT '中奖时间', + `award_state` varchar(16) NOT NULL DEFAULT 'create' COMMENT '奖品状态;create-创建、completed-发奖完成', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + PRIMARY KEY (`id`), + UNIQUE KEY `uq_order_id` (`order_id`), + KEY `idx_user_id` (`user_id`), + KEY `idx_activity_id` (`activity_id`), + KEY `idx_award_id` (`strategy_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户中奖记录表'; + + + +# 转储表 user_award_record_001 +# ------------------------------------------------------------ + +DROP TABLE IF EXISTS `user_award_record_001`; + +CREATE TABLE `user_award_record_001` ( + `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID', + `user_id` varchar(32) NOT NULL COMMENT '用户ID', + `activity_id` bigint(12) NOT NULL COMMENT '活动ID', + `strategy_id` bigint(8) NOT NULL COMMENT '抽奖策略ID', + `order_id` varchar(12) NOT NULL COMMENT '抽奖订单ID【作为幂等使用】', + `award_id` int(11) NOT NULL COMMENT '奖品ID', + `award_title` varchar(128) NOT NULL COMMENT '奖品标题(名称)', + `award_time` datetime NOT NULL COMMENT '中奖时间', + `award_state` varchar(16) NOT NULL DEFAULT 'create' COMMENT '奖品状态;create-创建、completed-发奖完成', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + PRIMARY KEY (`id`), + UNIQUE KEY `uq_order_id` (`order_id`), + KEY `idx_user_id` (`user_id`), + KEY `idx_activity_id` (`activity_id`), + KEY `idx_award_id` (`strategy_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户中奖记录表'; + + + +# 转储表 user_award_record_002 +# ------------------------------------------------------------ + +DROP TABLE IF EXISTS `user_award_record_002`; + +CREATE TABLE `user_award_record_002` ( + `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID', + `user_id` varchar(32) NOT NULL COMMENT '用户ID', + `activity_id` bigint(12) NOT NULL COMMENT '活动ID', + `strategy_id` bigint(8) NOT NULL COMMENT '抽奖策略ID', + `order_id` varchar(12) NOT NULL COMMENT '抽奖订单ID【作为幂等使用】', + `award_id` int(11) NOT NULL COMMENT '奖品ID', + `award_title` varchar(128) NOT NULL COMMENT '奖品标题(名称)', + `award_time` datetime NOT NULL COMMENT '中奖时间', + `award_state` varchar(16) NOT NULL DEFAULT 'create' COMMENT '奖品状态;create-创建、completed-发奖完成', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + PRIMARY KEY (`id`), + UNIQUE KEY `uq_order_id` (`order_id`), + KEY `idx_user_id` (`user_id`), + KEY `idx_activity_id` (`activity_id`), + KEY `idx_award_id` (`strategy_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户中奖记录表'; + + + +# 转储表 user_award_record_003 +# ------------------------------------------------------------ + +DROP TABLE IF EXISTS `user_award_record_003`; + +CREATE TABLE `user_award_record_003` ( + `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID', + `user_id` varchar(32) NOT NULL COMMENT '用户ID', + `activity_id` bigint(12) NOT NULL COMMENT '活动ID', + `strategy_id` bigint(8) NOT NULL COMMENT '抽奖策略ID', + `order_id` varchar(12) NOT NULL COMMENT '抽奖订单ID【作为幂等使用】', + `award_id` int(11) NOT NULL COMMENT '奖品ID', + `award_title` varchar(128) NOT NULL COMMENT '奖品标题(名称)', + `award_time` datetime NOT NULL COMMENT '中奖时间', + `award_state` varchar(16) NOT NULL DEFAULT 'create' COMMENT '奖品状态;create-创建、completed-发奖完成', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + PRIMARY KEY (`id`), + UNIQUE KEY `uq_order_id` (`order_id`), + KEY `idx_user_id` (`user_id`), + KEY `idx_activity_id` (`activity_id`), + KEY `idx_award_id` (`strategy_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户中奖记录表'; + + + +# 转储表 user_raffle_order_000 +# ------------------------------------------------------------ + +DROP TABLE IF EXISTS `user_raffle_order_000`; + +CREATE TABLE `user_raffle_order_000` ( + `id` int(11) unsigned NOT NULL AUTO_INCREMENT, + `user_id` varchar(32) NOT NULL COMMENT '用户ID', + `activity_id` bigint(12) NOT NULL COMMENT '活动ID', + `activity_name` varchar(64) NOT NULL COMMENT '活动名称', + `strategy_id` bigint(8) NOT NULL COMMENT '抽奖策略ID', + `order_id` varchar(12) NOT NULL COMMENT '订单ID', + `order_time` datetime NOT NULL COMMENT '下单时间', + `order_state` varchar(16) NOT NULL DEFAULT 'create' COMMENT '订单状态;create-创建、used-已使用、cancel-已作废', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + PRIMARY KEY (`id`), + UNIQUE KEY `uq_order_id` (`order_id`), + KEY `idx_user_id_activity_id` (`user_id`,`activity_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户抽奖订单表'; + + + +# 转储表 user_raffle_order_001 +# ------------------------------------------------------------ + +DROP TABLE IF EXISTS `user_raffle_order_001`; + +CREATE TABLE `user_raffle_order_001` ( + `id` int(11) unsigned NOT NULL AUTO_INCREMENT, + `user_id` varchar(32) NOT NULL COMMENT '用户ID', + `activity_id` bigint(12) NOT NULL COMMENT '活动ID', + `activity_name` varchar(64) NOT NULL COMMENT '活动名称', + `strategy_id` bigint(8) NOT NULL COMMENT '抽奖策略ID', + `order_id` varchar(12) NOT NULL COMMENT '订单ID', + `order_time` datetime NOT NULL COMMENT '下单时间', + `order_state` varchar(16) NOT NULL DEFAULT 'create' COMMENT '订单状态;create-创建、used-已使用、cancel-已作废', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + PRIMARY KEY (`id`), + UNIQUE KEY `uq_order_id` (`order_id`), + KEY `idx_user_id_activity_id` (`user_id`,`activity_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户抽奖订单表'; + + + +# 转储表 user_raffle_order_002 +# ------------------------------------------------------------ + +DROP TABLE IF EXISTS `user_raffle_order_002`; + +CREATE TABLE `user_raffle_order_002` ( + `id` int(11) unsigned NOT NULL AUTO_INCREMENT, + `user_id` varchar(32) NOT NULL COMMENT '用户ID', + `activity_id` bigint(12) NOT NULL COMMENT '活动ID', + `activity_name` varchar(64) NOT NULL COMMENT '活动名称', + `strategy_id` bigint(8) NOT NULL COMMENT '抽奖策略ID', + `order_id` varchar(12) NOT NULL COMMENT '订单ID', + `order_time` datetime NOT NULL COMMENT '下单时间', + `order_state` varchar(16) NOT NULL DEFAULT 'create' COMMENT '订单状态;create-创建、used-已使用、cancel-已作废', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + PRIMARY KEY (`id`), + UNIQUE KEY `uq_order_id` (`order_id`), + KEY `idx_user_id_activity_id` (`user_id`,`activity_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户抽奖订单表'; + + + +# 转储表 user_raffle_order_003 +# ------------------------------------------------------------ + +DROP TABLE IF EXISTS `user_raffle_order_003`; + +CREATE TABLE `user_raffle_order_003` ( + `id` int(11) unsigned NOT NULL AUTO_INCREMENT, + `user_id` varchar(32) NOT NULL COMMENT '用户ID', + `activity_id` bigint(12) NOT NULL COMMENT '活动ID', + `activity_name` varchar(64) NOT NULL COMMENT '活动名称', + `strategy_id` bigint(8) NOT NULL COMMENT '抽奖策略ID', + `order_id` varchar(12) NOT NULL COMMENT '订单ID', + `order_time` datetime NOT NULL COMMENT '下单时间', + `order_state` varchar(16) NOT NULL DEFAULT 'create' COMMENT '订单状态;create-创建、used-已使用、cancel-已作废', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + PRIMARY KEY (`id`), + UNIQUE KEY `uq_order_id` (`order_id`), + KEY `idx_user_id_activity_id` (`user_id`,`activity_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户抽奖订单表'; + + + /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; /*!40101 SET SQL_MODE=@OLD_SQL_MODE */; diff --git a/docs/dev-ops/mysql/sql/big_market_02.sql b/docs/dev-ops/mysql/sql/big_market_02.sql index e1c130d..c964005 100644 --- a/docs/dev-ops/mysql/sql/big_market_02.sql +++ b/docs/dev-ops/mysql/sql/big_market_02.sql @@ -7,7 +7,7 @@ # # 主机: 127.0.0.1 (MySQL 5.6.39) # 数据库: big_market_02 -# 生成时间: 2024-04-02 13:47:09 +0000 +# 生成时间: 2024-04-03 07:23:24 +0000 # ************************************************************ @@ -28,19 +28,19 @@ use `big_market_02`; DROP TABLE IF EXISTS `raffle_activity_account`; CREATE TABLE `raffle_activity_account` ( - `id` bigint(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID', - `user_id` varchar(32) NOT NULL COMMENT '用户ID', - `activity_id` bigint(12) NOT NULL COMMENT '活动ID', - `total_count` int(8) NOT NULL COMMENT '总次数', - `total_count_surplus` int(8) NOT NULL COMMENT '总次数-剩余', - `day_count` int(8) NOT NULL COMMENT '日次数', - `day_count_surplus` int(8) NOT NULL COMMENT '日次数-剩余', - `month_count` int(8) NOT NULL COMMENT '月次数', - `month_count_surplus` int(8) NOT NULL COMMENT '月次数-剩余', - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间', - PRIMARY KEY (`id`), - UNIQUE KEY `uq_user_id_activity_id` (`user_id`,`activity_id`) + `id` bigint(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID', + `user_id` varchar(32) NOT NULL COMMENT '用户ID', + `activity_id` bigint(12) NOT NULL COMMENT '活动ID', + `total_count` int(8) NOT NULL COMMENT '总次数', + `total_count_surplus` int(8) NOT NULL COMMENT '总次数-剩余', + `day_count` int(8) NOT NULL COMMENT '日次数', + `day_count_surplus` int(8) NOT NULL COMMENT '日次数-剩余', + `month_count` int(8) NOT NULL COMMENT '月次数', + `month_count_surplus` int(8) NOT NULL COMMENT '月次数-剩余', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间', + PRIMARY KEY (`id`), + UNIQUE KEY `uq_user_id_activity_id` (`user_id`,`activity_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='抽奖活动账户表'; LOCK TABLES `raffle_activity_account` WRITE; @@ -48,37 +48,77 @@ LOCK TABLES `raffle_activity_account` WRITE; INSERT INTO `raffle_activity_account` (`id`, `user_id`, `activity_id`, `total_count`, `total_count_surplus`, `day_count`, `day_count_surplus`, `month_count`, `month_count_surplus`, `create_time`, `update_time`) VALUES - (2,'xiaofuge',100301,4,3,4,3,4,3,'2024-03-23 12:40:56','2024-03-23 13:16:40'); + (2,'xiaofuge',100301,4,3,4,3,4,3,'2024-03-23 12:40:56','2024-03-23 13:16:40'); /*!40000 ALTER TABLE `raffle_activity_account` ENABLE KEYS */; UNLOCK TABLES; +# 转储表 raffle_activity_account_day +# ------------------------------------------------------------ + +DROP TABLE IF EXISTS `raffle_activity_account_day`; + +CREATE TABLE `raffle_activity_account_day` ( + `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID', + `user_id` varchar(32) NOT NULL COMMENT '用户ID', + `activity_id` bigint(12) NOT NULL COMMENT '活动ID', + `day` varchar(10) NOT NULL COMMENT '日期(yyyy-mm-dd)', + `day_count` int(8) NOT NULL COMMENT '日次数', + `day_count_surplus` int(8) NOT NULL COMMENT '日次数-剩余', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + PRIMARY KEY (`id`), + UNIQUE KEY `uq_user_id_activity_id_day` (`user_id`,`activity_id`,`day`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='抽奖活动账户表-日次数'; + + + +# 转储表 raffle_activity_account_month +# ------------------------------------------------------------ + +DROP TABLE IF EXISTS `raffle_activity_account_month`; + +CREATE TABLE `raffle_activity_account_month` ( + `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID', + `user_id` varchar(32) NOT NULL COMMENT '用户ID', + `activity_id` bigint(12) NOT NULL COMMENT '活动ID', + `month` varchar(7) NOT NULL COMMENT '月(yyyy-mm)', + `month_count` int(8) NOT NULL COMMENT '月次数', + `month_count_surplus` int(8) NOT NULL COMMENT '月次数-剩余', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + PRIMARY KEY (`id`), + UNIQUE KEY `uq_user_id_activity_id_month` (`user_id`,`activity_id`,`month`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='抽奖活动账户表-月次数'; + + + # 转储表 raffle_activity_order_000 # ------------------------------------------------------------ DROP TABLE IF EXISTS `raffle_activity_order_000`; CREATE TABLE `raffle_activity_order_000` ( - `id` bigint(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID', - `user_id` varchar(32) NOT NULL COMMENT '用户ID', - `sku` bigint(12) NOT NULL COMMENT '商品sku', - `activity_id` bigint(12) NOT NULL COMMENT '活动ID', - `activity_name` varchar(64) NOT NULL COMMENT '活动名称', - `strategy_id` bigint(8) NOT NULL COMMENT '抽奖策略ID', - `order_id` varchar(12) NOT NULL COMMENT '订单ID', - `order_time` datetime NOT NULL COMMENT '下单时间', - `total_count` int(8) NOT NULL COMMENT '总次数', - `day_count` int(8) NOT NULL COMMENT '日次数', - `month_count` int(8) NOT NULL COMMENT '月次数', - `state` varchar(16) NOT NULL DEFAULT 'complete' COMMENT '订单状态(complete)', - `out_business_no` varchar(64) NOT NULL COMMENT '业务仿重ID - 外部透传的,确保幂等', - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间', - PRIMARY KEY (`id`), - UNIQUE KEY `uq_order_id` (`order_id`), - UNIQUE KEY `uq_out_business_no` (`out_business_no`), - KEY `idx_user_id_activity_id` (`user_id`,`activity_id`,`state`) + `id` bigint(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID', + `user_id` varchar(32) NOT NULL COMMENT '用户ID', + `sku` bigint(12) NOT NULL COMMENT '商品sku', + `activity_id` bigint(12) NOT NULL COMMENT '活动ID', + `activity_name` varchar(64) NOT NULL COMMENT '活动名称', + `strategy_id` bigint(8) NOT NULL COMMENT '抽奖策略ID', + `order_id` varchar(12) NOT NULL COMMENT '订单ID', + `order_time` datetime NOT NULL COMMENT '下单时间', + `total_count` int(8) NOT NULL COMMENT '总次数', + `day_count` int(8) NOT NULL COMMENT '日次数', + `month_count` int(8) NOT NULL COMMENT '月次数', + `state` varchar(16) NOT NULL DEFAULT 'complete' COMMENT '订单状态(complete)', + `out_business_no` varchar(64) NOT NULL COMMENT '业务仿重ID - 外部透传的,确保幂等', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间', + PRIMARY KEY (`id`), + UNIQUE KEY `uq_order_id` (`order_id`), + UNIQUE KEY `uq_out_business_no` (`out_business_no`), + KEY `idx_user_id_activity_id` (`user_id`,`activity_id`,`state`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='抽奖活动单'; @@ -89,25 +129,25 @@ CREATE TABLE `raffle_activity_order_000` ( DROP TABLE IF EXISTS `raffle_activity_order_001`; CREATE TABLE `raffle_activity_order_001` ( - `id` bigint(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID', - `user_id` varchar(32) NOT NULL COMMENT '用户ID', - `sku` bigint(12) NOT NULL COMMENT '商品sku', - `activity_id` bigint(12) NOT NULL COMMENT '活动ID', - `activity_name` varchar(64) NOT NULL COMMENT '活动名称', - `strategy_id` bigint(8) NOT NULL COMMENT '抽奖策略ID', - `order_id` varchar(12) NOT NULL COMMENT '订单ID', - `order_time` datetime NOT NULL COMMENT '下单时间', - `total_count` int(8) NOT NULL COMMENT '总次数', - `day_count` int(8) NOT NULL COMMENT '日次数', - `month_count` int(8) NOT NULL COMMENT '月次数', - `state` varchar(16) NOT NULL DEFAULT 'complete' COMMENT '订单状态(complete)', - `out_business_no` varchar(64) NOT NULL COMMENT '业务仿重ID - 外部透传的,确保幂等', - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间', - PRIMARY KEY (`id`), - UNIQUE KEY `uq_order_id` (`order_id`), - UNIQUE KEY `uq_out_business_no` (`out_business_no`), - KEY `idx_user_id_activity_id` (`user_id`,`activity_id`,`state`) + `id` bigint(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID', + `user_id` varchar(32) NOT NULL COMMENT '用户ID', + `sku` bigint(12) NOT NULL COMMENT '商品sku', + `activity_id` bigint(12) NOT NULL COMMENT '活动ID', + `activity_name` varchar(64) NOT NULL COMMENT '活动名称', + `strategy_id` bigint(8) NOT NULL COMMENT '抽奖策略ID', + `order_id` varchar(12) NOT NULL COMMENT '订单ID', + `order_time` datetime NOT NULL COMMENT '下单时间', + `total_count` int(8) NOT NULL COMMENT '总次数', + `day_count` int(8) NOT NULL COMMENT '日次数', + `month_count` int(8) NOT NULL COMMENT '月次数', + `state` varchar(16) NOT NULL DEFAULT 'complete' COMMENT '订单状态(complete)', + `out_business_no` varchar(64) NOT NULL COMMENT '业务仿重ID - 外部透传的,确保幂等', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间', + PRIMARY KEY (`id`), + UNIQUE KEY `uq_order_id` (`order_id`), + UNIQUE KEY `uq_out_business_no` (`out_business_no`), + KEY `idx_user_id_activity_id` (`user_id`,`activity_id`,`state`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='抽奖活动单'; LOCK TABLES `raffle_activity_order_001` WRITE; @@ -115,7 +155,7 @@ LOCK TABLES `raffle_activity_order_001` WRITE; INSERT INTO `raffle_activity_order_001` (`id`, `user_id`, `sku`, `activity_id`, `activity_name`, `strategy_id`, `order_id`, `order_time`, `total_count`, `day_count`, `month_count`, `state`, `out_business_no`, `create_time`, `update_time`) VALUES - (3,'xiaofuge',9011,100301,'测试活动',100006,'383240888158','2024-03-23 04:38:23',1,1,1,'completed','700091009111','2024-03-23 12:38:23','2024-03-23 12:38:23'); + (3,'xiaofuge',9011,100301,'测试活动',100006,'383240888158','2024-03-23 04:38:23',1,1,1,'completed','700091009111','2024-03-23 12:38:23','2024-03-23 12:38:23'); /*!40000 ALTER TABLE `raffle_activity_order_001` ENABLE KEYS */; UNLOCK TABLES; @@ -127,25 +167,25 @@ UNLOCK TABLES; DROP TABLE IF EXISTS `raffle_activity_order_002`; CREATE TABLE `raffle_activity_order_002` ( - `id` bigint(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID', - `user_id` varchar(32) NOT NULL COMMENT '用户ID', - `sku` bigint(12) NOT NULL COMMENT '商品sku', - `activity_id` bigint(12) NOT NULL COMMENT '活动ID', - `activity_name` varchar(64) NOT NULL COMMENT '活动名称', - `strategy_id` bigint(8) NOT NULL COMMENT '抽奖策略ID', - `order_id` varchar(12) NOT NULL COMMENT '订单ID', - `order_time` datetime NOT NULL COMMENT '下单时间', - `total_count` int(8) NOT NULL COMMENT '总次数', - `day_count` int(8) NOT NULL COMMENT '日次数', - `month_count` int(8) NOT NULL COMMENT '月次数', - `state` varchar(16) NOT NULL DEFAULT 'complete' COMMENT '订单状态(complete)', - `out_business_no` varchar(64) NOT NULL COMMENT '业务仿重ID - 外部透传的,确保幂等', - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间', - PRIMARY KEY (`id`), - UNIQUE KEY `uq_order_id` (`order_id`), - UNIQUE KEY `uq_out_business_no` (`out_business_no`), - KEY `idx_user_id_activity_id` (`user_id`,`activity_id`,`state`) + `id` bigint(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID', + `user_id` varchar(32) NOT NULL COMMENT '用户ID', + `sku` bigint(12) NOT NULL COMMENT '商品sku', + `activity_id` bigint(12) NOT NULL COMMENT '活动ID', + `activity_name` varchar(64) NOT NULL COMMENT '活动名称', + `strategy_id` bigint(8) NOT NULL COMMENT '抽奖策略ID', + `order_id` varchar(12) NOT NULL COMMENT '订单ID', + `order_time` datetime NOT NULL COMMENT '下单时间', + `total_count` int(8) NOT NULL COMMENT '总次数', + `day_count` int(8) NOT NULL COMMENT '日次数', + `month_count` int(8) NOT NULL COMMENT '月次数', + `state` varchar(16) NOT NULL DEFAULT 'complete' COMMENT '订单状态(complete)', + `out_business_no` varchar(64) NOT NULL COMMENT '业务仿重ID - 外部透传的,确保幂等', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间', + PRIMARY KEY (`id`), + UNIQUE KEY `uq_order_id` (`order_id`), + UNIQUE KEY `uq_out_business_no` (`out_business_no`), + KEY `idx_user_id_activity_id` (`user_id`,`activity_id`,`state`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='抽奖活动单'; @@ -156,29 +196,242 @@ CREATE TABLE `raffle_activity_order_002` ( DROP TABLE IF EXISTS `raffle_activity_order_003`; CREATE TABLE `raffle_activity_order_003` ( - `id` bigint(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID', - `user_id` varchar(32) NOT NULL COMMENT '用户ID', - `sku` bigint(12) NOT NULL COMMENT '商品sku', - `activity_id` bigint(12) NOT NULL COMMENT '活动ID', - `activity_name` varchar(64) NOT NULL COMMENT '活动名称', - `strategy_id` bigint(8) NOT NULL COMMENT '抽奖策略ID', - `order_id` varchar(12) NOT NULL COMMENT '订单ID', - `order_time` datetime NOT NULL COMMENT '下单时间', - `total_count` int(8) NOT NULL COMMENT '总次数', - `day_count` int(8) NOT NULL COMMENT '日次数', - `month_count` int(8) NOT NULL COMMENT '月次数', - `state` varchar(16) NOT NULL DEFAULT 'complete' COMMENT '订单状态(complete)', - `out_business_no` varchar(64) NOT NULL COMMENT '业务仿重ID - 外部透传的,确保幂等', - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间', - PRIMARY KEY (`id`), - UNIQUE KEY `uq_order_id` (`order_id`), - UNIQUE KEY `uq_out_business_no` (`out_business_no`), - KEY `idx_user_id_activity_id` (`user_id`,`activity_id`,`state`) + `id` bigint(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID', + `user_id` varchar(32) NOT NULL COMMENT '用户ID', + `sku` bigint(12) NOT NULL COMMENT '商品sku', + `activity_id` bigint(12) NOT NULL COMMENT '活动ID', + `activity_name` varchar(64) NOT NULL COMMENT '活动名称', + `strategy_id` bigint(8) NOT NULL COMMENT '抽奖策略ID', + `order_id` varchar(12) NOT NULL COMMENT '订单ID', + `order_time` datetime NOT NULL COMMENT '下单时间', + `total_count` int(8) NOT NULL COMMENT '总次数', + `day_count` int(8) NOT NULL COMMENT '日次数', + `month_count` int(8) NOT NULL COMMENT '月次数', + `state` varchar(16) NOT NULL DEFAULT 'complete' COMMENT '订单状态(complete)', + `out_business_no` varchar(64) NOT NULL COMMENT '业务仿重ID - 外部透传的,确保幂等', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间', + PRIMARY KEY (`id`), + UNIQUE KEY `uq_order_id` (`order_id`), + UNIQUE KEY `uq_out_business_no` (`out_business_no`), + KEY `idx_user_id_activity_id` (`user_id`,`activity_id`,`state`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='抽奖活动单'; +# 转储表 task +# ------------------------------------------------------------ + +DROP TABLE IF EXISTS `task`; + +CREATE TABLE `task` ( + `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID', + `topic` varchar(32) NOT NULL COMMENT '消息主题', + `message` varchar(512) NOT NULL COMMENT '消息主体', + `state` varchar(16) NOT NULL DEFAULT 'create' COMMENT '任务状态;create-创建、completed-完成、fail-失败', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='任务表,发送MQ'; + + + +# 转储表 user_award_record_000 +# ------------------------------------------------------------ + +DROP TABLE IF EXISTS `user_award_record_000`; + +CREATE TABLE `user_award_record_000` ( + `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID', + `user_id` varchar(32) NOT NULL COMMENT '用户ID', + `activity_id` bigint(12) NOT NULL COMMENT '活动ID', + `strategy_id` bigint(8) NOT NULL COMMENT '抽奖策略ID', + `order_id` varchar(12) NOT NULL COMMENT '抽奖订单ID【作为幂等使用】', + `award_id` int(11) NOT NULL COMMENT '奖品ID', + `award_title` varchar(128) NOT NULL COMMENT '奖品标题(名称)', + `award_time` datetime NOT NULL COMMENT '中奖时间', + `award_state` varchar(16) NOT NULL DEFAULT 'create' COMMENT '奖品状态;create-创建、completed-发奖完成', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + PRIMARY KEY (`id`), + UNIQUE KEY `uq_order_id` (`order_id`), + KEY `idx_user_id` (`user_id`), + KEY `idx_activity_id` (`activity_id`), + KEY `idx_award_id` (`strategy_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户中奖记录表'; + + + +# 转储表 user_award_record_001 +# ------------------------------------------------------------ + +DROP TABLE IF EXISTS `user_award_record_001`; + +CREATE TABLE `user_award_record_001` ( + `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID', + `user_id` varchar(32) NOT NULL COMMENT '用户ID', + `activity_id` bigint(12) NOT NULL COMMENT '活动ID', + `strategy_id` bigint(8) NOT NULL COMMENT '抽奖策略ID', + `order_id` varchar(12) NOT NULL COMMENT '抽奖订单ID【作为幂等使用】', + `award_id` int(11) NOT NULL COMMENT '奖品ID', + `award_title` varchar(128) NOT NULL COMMENT '奖品标题(名称)', + `award_time` datetime NOT NULL COMMENT '中奖时间', + `award_state` varchar(16) NOT NULL DEFAULT 'create' COMMENT '奖品状态;create-创建、completed-发奖完成', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + PRIMARY KEY (`id`), + UNIQUE KEY `uq_order_id` (`order_id`), + KEY `idx_user_id` (`user_id`), + KEY `idx_activity_id` (`activity_id`), + KEY `idx_award_id` (`strategy_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户中奖记录表'; + + + +# 转储表 user_award_record_002 +# ------------------------------------------------------------ + +DROP TABLE IF EXISTS `user_award_record_002`; + +CREATE TABLE `user_award_record_002` ( + `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID', + `user_id` varchar(32) NOT NULL COMMENT '用户ID', + `activity_id` bigint(12) NOT NULL COMMENT '活动ID', + `strategy_id` bigint(8) NOT NULL COMMENT '抽奖策略ID', + `order_id` varchar(12) NOT NULL COMMENT '抽奖订单ID【作为幂等使用】', + `award_id` int(11) NOT NULL COMMENT '奖品ID', + `award_title` varchar(128) NOT NULL COMMENT '奖品标题(名称)', + `award_time` datetime NOT NULL COMMENT '中奖时间', + `award_state` varchar(16) NOT NULL DEFAULT 'create' COMMENT '奖品状态;create-创建、completed-发奖完成', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + PRIMARY KEY (`id`), + UNIQUE KEY `uq_order_id` (`order_id`), + KEY `idx_user_id` (`user_id`), + KEY `idx_activity_id` (`activity_id`), + KEY `idx_award_id` (`strategy_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户中奖记录表'; + + + +# 转储表 user_award_record_003 +# ------------------------------------------------------------ + +DROP TABLE IF EXISTS `user_award_record_003`; + +CREATE TABLE `user_award_record_003` ( + `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID', + `user_id` varchar(32) NOT NULL COMMENT '用户ID', + `activity_id` bigint(12) NOT NULL COMMENT '活动ID', + `strategy_id` bigint(8) NOT NULL COMMENT '抽奖策略ID', + `order_id` varchar(12) NOT NULL COMMENT '抽奖订单ID【作为幂等使用】', + `award_id` int(11) NOT NULL COMMENT '奖品ID', + `award_title` varchar(128) NOT NULL COMMENT '奖品标题(名称)', + `award_time` datetime NOT NULL COMMENT '中奖时间', + `award_state` varchar(16) NOT NULL DEFAULT 'create' COMMENT '奖品状态;create-创建、completed-发奖完成', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + PRIMARY KEY (`id`), + UNIQUE KEY `uq_order_id` (`order_id`), + KEY `idx_user_id` (`user_id`), + KEY `idx_activity_id` (`activity_id`), + KEY `idx_award_id` (`strategy_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户中奖记录表'; + + + +# 转储表 user_raffle_order_000 +# ------------------------------------------------------------ + +DROP TABLE IF EXISTS `user_raffle_order_000`; + +CREATE TABLE `user_raffle_order_000` ( + `id` int(11) unsigned NOT NULL AUTO_INCREMENT, + `user_id` varchar(32) NOT NULL COMMENT '用户ID', + `activity_id` bigint(12) NOT NULL COMMENT '活动ID', + `activity_name` varchar(64) NOT NULL COMMENT '活动名称', + `strategy_id` bigint(8) NOT NULL COMMENT '抽奖策略ID', + `order_id` varchar(12) NOT NULL COMMENT '订单ID', + `order_time` datetime NOT NULL COMMENT '下单时间', + `order_state` varchar(16) NOT NULL DEFAULT 'create' COMMENT '订单状态;create-创建、used-已使用、cancle-已作废', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + PRIMARY KEY (`id`), + UNIQUE KEY `uq_order_id` (`order_id`), + KEY `idx_user_id_activity_id` (`user_id`,`activity_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户抽奖订单表'; + + + +# 转储表 user_raffle_order_001 +# ------------------------------------------------------------ + +DROP TABLE IF EXISTS `user_raffle_order_001`; + +CREATE TABLE `user_raffle_order_001` ( + `id` int(11) unsigned NOT NULL AUTO_INCREMENT, + `user_id` varchar(32) NOT NULL COMMENT '用户ID', + `activity_id` bigint(12) NOT NULL COMMENT '活动ID', + `activity_name` varchar(64) NOT NULL COMMENT '活动名称', + `strategy_id` bigint(8) NOT NULL COMMENT '抽奖策略ID', + `order_id` varchar(12) NOT NULL COMMENT '订单ID', + `order_time` datetime NOT NULL COMMENT '下单时间', + `order_state` varchar(16) NOT NULL DEFAULT 'create' COMMENT '订单状态;create-创建、used-已使用、cancle-已作废', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + PRIMARY KEY (`id`), + UNIQUE KEY `uq_order_id` (`order_id`), + KEY `idx_user_id_activity_id` (`user_id`,`activity_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户抽奖订单表'; + + + +# 转储表 user_raffle_order_002 +# ------------------------------------------------------------ + +DROP TABLE IF EXISTS `user_raffle_order_002`; + +CREATE TABLE `user_raffle_order_002` ( + `id` int(11) unsigned NOT NULL AUTO_INCREMENT, + `user_id` varchar(32) NOT NULL COMMENT '用户ID', + `activity_id` bigint(12) NOT NULL COMMENT '活动ID', + `activity_name` varchar(64) NOT NULL COMMENT '活动名称', + `strategy_id` bigint(8) NOT NULL COMMENT '抽奖策略ID', + `order_id` varchar(12) NOT NULL COMMENT '订单ID', + `order_time` datetime NOT NULL COMMENT '下单时间', + `order_state` varchar(16) NOT NULL DEFAULT 'create' COMMENT '订单状态;create-创建、used-已使用、cancle-已作废', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + PRIMARY KEY (`id`), + UNIQUE KEY `uq_order_id` (`order_id`), + KEY `idx_user_id_activity_id` (`user_id`,`activity_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户抽奖订单表'; + + + +# 转储表 user_raffle_order_003 +# ------------------------------------------------------------ + +DROP TABLE IF EXISTS `user_raffle_order_003`; + +CREATE TABLE `user_raffle_order_003` ( + `id` int(11) unsigned NOT NULL AUTO_INCREMENT, + `user_id` varchar(32) NOT NULL COMMENT '用户ID', + `activity_id` bigint(12) NOT NULL COMMENT '活动ID', + `activity_name` varchar(64) NOT NULL COMMENT '活动名称', + `strategy_id` bigint(8) NOT NULL COMMENT '抽奖策略ID', + `order_id` varchar(12) NOT NULL COMMENT '订单ID', + `order_time` datetime NOT NULL COMMENT '下单时间', + `order_state` varchar(16) NOT NULL DEFAULT 'create' COMMENT '订单状态;create-创建、used-已使用、cancle-已作废', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + PRIMARY KEY (`id`), + UNIQUE KEY `uq_order_id` (`order_id`), + KEY `idx_user_id_activity_id` (`user_id`,`activity_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户抽奖订单表'; + + + /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; /*!40101 SET SQL_MODE=@OLD_SQL_MODE */; -- GitLab