From 276d80d1d5e3c065e83c78c3ecd6f9bfa52af6b7 Mon Sep 17 00:00:00 2001 From: GYJ <1157756119@qq.com> Date: Sat, 15 Feb 2025 09:35:13 +0800 Subject: [PATCH] first commit --- .gitattributes | 2 + .gitignore | 33 ++ .mvn/wrapper/maven-wrapper.properties | 19 + .old/TbPlussShopStaffMapper.xml | 7 + logs/history/2025-02-14/logback.0.log.gz | Bin 0 -> 2460 bytes logs/logback.log | 199 ++++++++++ mvnw | 259 +++++++++++++ mvnw.cmd | 149 ++++++++ pom.xml | 112 ++++++ src/main/.DS_Store | Bin 0 -> 6148 bytes .../czg/mergedata/MergeDataApplication.java | 16 + .../common/config/CurDataSourceConfig.java | 38 ++ .../common/config/OldDataSourceConfig.java | 38 ++ .../czg/mergedata/common/utils/CodeGen.java | 126 +++++++ .../mergedata/controller/UserController.java | 12 + .../czg/mergedata/cur/entity/CurShopInfo.java | 281 ++++++++++++++ .../mergedata/cur/entity/CurShopStaff.java | 91 +++++ .../czg/mergedata/cur/entity/CurSysUser.java | 111 ++++++ .../cur/mapper/CurShopInfoMapper.java | 14 + .../cur/mapper/CurShopStaffMapper.java | 14 + .../cur/mapper/CurSysUserMapper.java | 14 + .../cur/service/CurShopInfoService.java | 14 + .../cur/service/CurShopStaffService.java | 14 + .../cur/service/CurSysUserService.java | 14 + .../cur/service/impl/CurShopInfoImpl.java | 18 + .../cur/service/impl/CurShopStaffImpl.java | 18 + .../cur/service/impl/CurSysUserImpl.java | 18 + .../old/entity/OldPlussShopStaff.java | 102 +++++ .../czg/mergedata/old/entity/OldShopInfo.java | 355 ++++++++++++++++++ .../czg/mergedata/old/entity/OldSysUser.java | 121 ++++++ .../old/mapper/OldPlussShopStaffMapper.java | 14 + .../old/mapper/OldShopInfoMapper.java | 14 + .../old/mapper/OldSysUserMapper.java | 14 + .../old/service/OldPlussShopStaffService.java | 14 + .../old/service/OldShopInfoService.java | 14 + .../old/service/OldSysUserService.java | 14 + .../service/impl/OldPlussShopStaffImpl.java | 18 + .../old/service/impl/OldShopInfoImpl.java | 18 + .../old/service/impl/OldSysUserImpl.java | 18 + src/main/resources/application-dev.yml | 14 + src/main/resources/application-prod.yml | 36 ++ src/main/resources/application.yml | 15 + src/main/resources/logback.xml | 37 ++ .../resources/mapper/cur/ShopInfoMapper.xml | 7 + .../resources/mapper/cur/ShopStaffMapper.xml | 7 + .../resources/mapper/cur/SysUserMapper.xml | 7 + .../mapper/old/PlussShopStaffMapper.xml | 7 + .../resources/mapper/old/ShopInfoMapper.xml | 7 + .../resources/mapper/old/SysUserMapper.xml | 7 + .../mergedata/MergeDataApplicationTests.java | 13 + 50 files changed, 2504 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 .mvn/wrapper/maven-wrapper.properties create mode 100644 .old/TbPlussShopStaffMapper.xml create mode 100644 logs/history/2025-02-14/logback.0.log.gz create mode 100644 logs/logback.log create mode 100755 mvnw create mode 100644 mvnw.cmd create mode 100644 pom.xml create mode 100644 src/main/.DS_Store create mode 100644 src/main/java/com/czg/mergedata/MergeDataApplication.java create mode 100644 src/main/java/com/czg/mergedata/common/config/CurDataSourceConfig.java create mode 100644 src/main/java/com/czg/mergedata/common/config/OldDataSourceConfig.java create mode 100644 src/main/java/com/czg/mergedata/common/utils/CodeGen.java create mode 100644 src/main/java/com/czg/mergedata/controller/UserController.java create mode 100644 src/main/java/com/czg/mergedata/cur/entity/CurShopInfo.java create mode 100644 src/main/java/com/czg/mergedata/cur/entity/CurShopStaff.java create mode 100644 src/main/java/com/czg/mergedata/cur/entity/CurSysUser.java create mode 100644 src/main/java/com/czg/mergedata/cur/mapper/CurShopInfoMapper.java create mode 100644 src/main/java/com/czg/mergedata/cur/mapper/CurShopStaffMapper.java create mode 100644 src/main/java/com/czg/mergedata/cur/mapper/CurSysUserMapper.java create mode 100644 src/main/java/com/czg/mergedata/cur/service/CurShopInfoService.java create mode 100644 src/main/java/com/czg/mergedata/cur/service/CurShopStaffService.java create mode 100644 src/main/java/com/czg/mergedata/cur/service/CurSysUserService.java create mode 100644 src/main/java/com/czg/mergedata/cur/service/impl/CurShopInfoImpl.java create mode 100644 src/main/java/com/czg/mergedata/cur/service/impl/CurShopStaffImpl.java create mode 100644 src/main/java/com/czg/mergedata/cur/service/impl/CurSysUserImpl.java create mode 100644 src/main/java/com/czg/mergedata/old/entity/OldPlussShopStaff.java create mode 100644 src/main/java/com/czg/mergedata/old/entity/OldShopInfo.java create mode 100644 src/main/java/com/czg/mergedata/old/entity/OldSysUser.java create mode 100644 src/main/java/com/czg/mergedata/old/mapper/OldPlussShopStaffMapper.java create mode 100644 src/main/java/com/czg/mergedata/old/mapper/OldShopInfoMapper.java create mode 100644 src/main/java/com/czg/mergedata/old/mapper/OldSysUserMapper.java create mode 100644 src/main/java/com/czg/mergedata/old/service/OldPlussShopStaffService.java create mode 100644 src/main/java/com/czg/mergedata/old/service/OldShopInfoService.java create mode 100644 src/main/java/com/czg/mergedata/old/service/OldSysUserService.java create mode 100644 src/main/java/com/czg/mergedata/old/service/impl/OldPlussShopStaffImpl.java create mode 100644 src/main/java/com/czg/mergedata/old/service/impl/OldShopInfoImpl.java create mode 100644 src/main/java/com/czg/mergedata/old/service/impl/OldSysUserImpl.java create mode 100644 src/main/resources/application-dev.yml create mode 100644 src/main/resources/application-prod.yml create mode 100644 src/main/resources/application.yml create mode 100644 src/main/resources/logback.xml create mode 100644 src/main/resources/mapper/cur/ShopInfoMapper.xml create mode 100644 src/main/resources/mapper/cur/ShopStaffMapper.xml create mode 100644 src/main/resources/mapper/cur/SysUserMapper.xml create mode 100644 src/main/resources/mapper/old/PlussShopStaffMapper.xml create mode 100644 src/main/resources/mapper/old/ShopInfoMapper.xml create mode 100644 src/main/resources/mapper/old/SysUserMapper.xml create mode 100644 src/test/java/com/czg/mergedata/MergeDataApplicationTests.java diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..3b41682 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +/mvnw text eol=lf +*.cmd text eol=crlf diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..549e00a --- /dev/null +++ b/.gitignore @@ -0,0 +1,33 @@ +HELP.md +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### STS ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### IntelliJ IDEA ### +.idea +*.iws +*.iml +*.ipr + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ diff --git a/.mvn/wrapper/maven-wrapper.properties b/.mvn/wrapper/maven-wrapper.properties new file mode 100644 index 0000000..d58dfb7 --- /dev/null +++ b/.mvn/wrapper/maven-wrapper.properties @@ -0,0 +1,19 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +wrapperVersion=3.3.2 +distributionType=only-script +distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.9/apache-maven-3.9.9-bin.zip diff --git a/.old/TbPlussShopStaffMapper.xml b/.old/TbPlussShopStaffMapper.xml new file mode 100644 index 0000000..01e50d9 --- /dev/null +++ b/.old/TbPlussShopStaffMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/logs/history/2025-02-14/logback.0.log.gz b/logs/history/2025-02-14/logback.0.log.gz new file mode 100644 index 0000000000000000000000000000000000000000..5e7969a006e7328269e72719bfa365f496246bbc GIT binary patch literal 2460 zcmV;N31jvjiwFP!00000|J7StZ`-&Mem?ybL|^I!6h_ot#^PYxG-lGCbU6{@5_mZHH7!AmGB(4!E)p%;$PcBiZDfgefZKix7kS`h=GPMZ~sI?^cLO+bc>d-)=>O z)QV1Ma?5bSXIwBW-zNmWS085?zbLuj3C}@?P=&?mT)1@1eDpmn(p)O~QoessWc)y? z^YUh$Cav{pY65GLX9We7N`@f}it z3qeRVqFutXZ(^OE(UW4h(oO-z6)3Kqv><%Np9bVN6x zuWqLz<@d#V&hI+;_+3d8Hk{^jAh5@i_8jr?m=%fCZB$P|RXqoz&omQrwe^mGO7_o` zRiZ+IFXD8KEs-s4(Fz>QLARuRsB-Gvs>H zc9@OoD%F4e*mRIOHapUAhVc}^oN@GV_C~&j^n7$rB~we<0S~=ull09is6UcB zI${`IDB}oA3QUsh{%f*w9Z&^&{A4er`WiYw;`eQ(9H0ecH0!e#*v?^Z0h`g(miL zJS*0&{KfkzX^U^!x_A9I^iyHqCVeNc;s<^N8!dB2p)Jzyd!7}##`A*h8wk>T%O%~Ubu%#P zyMbjBV*+pAKqW0SAJ^~3Kw`@siNwaHZ0iPUX;DXab~Vs**EMLnFir zqPFUEs%l30-b(caYDoO?tokR%$rt=39VD2|U#zg)F{eenFINl1K6*HSpuoLDLz?B& zlD&8#J4NW=glf8=s;*c8f2N774qyYzXL3IkFsaftkZj*#w#Ifo)(=wA& zZmB*lD_O$eL8{KnG(5C^B_B8N@QeRYwXo~$y87$Gaar;bCnckTtueE=nDzyl`aTK0 z-!_9@+{yk`uD2*@QRN`%A$Dt?k`t^I12uHP68Xj{L~X778M{9{@2w0eposVzBK^mez&p4=8B#M`a50hjn zvK;HV%e<5-E;Z}5hBau@U_<7~1XJBx!R{Mii^mGYZ7$*?AoBXS5anzI!?A-OVl4B$ zj)WypV@NMzxH*(O7&(DdK7kBw0r>&h6sV4=RRq!u${*9{%5t@aYdohJRq8ltn6qyX zJ}Dcq0>5L>Zc_nS3~-<5AZJx?`AjE@y*Y%sVyg&#BW4~pSny;FL@VP_@@dN8O)Lq% zH^0#V0{};KTB*an{=*b$67rwFFeOVv@c`oc@Jo7!GiYSXg66nn;Os=;w;4dm1+PRo zO~AFfHGi#?1V=-vEcoTIxtd7p$Y{uwS2+cyoeOP1GzENyUi*mVIV*e38G5bl?zn9< zFA5B-*jVz#5}#1{)~rtUH2nw>MMtc+GE}F%^JF}I@N+~bbdcpxi~$`Pq22IF&;vH)C6j4T-O@X= zx}Nhi^A|g?0gHH!DRA}FEAW{tFCPNTpVr%~yJ?xDZ_f+%shph``OH{d#O|iW&ZA|M zEsw@f3h{9!pjT)zwMzYr)&DQQxb}5Ar~}XP8n~rq6(0iyD|B>e;B?mMKG(Vk)}g zHPN-w84~qlsP+%~cGHJ~H0VQvZf$+HMwASu~%-^AJ-9RmEuOUiYdA=6=-45}e zY#>PUEH7~PXrQlnE!@X}^ITd;_8Fo+^pKX@{w{h~27k`{-1 z+y_YjnQ!@ax2$-wfgsJbNJnX14Rpx5e+$`#feyIS+1qy_N~B9HC)yLqC~2Yj=XX0Z a(DN)i-rEX-w7}nKi2ff55t+5RGynhxIn8na literal 0 HcmV?d00001 diff --git a/logs/logback.log b/logs/logback.log new file mode 100644 index 0000000..33ef6af --- /dev/null +++ b/logs/logback.log @@ -0,0 +1,199 @@ +2025-02-15 09:04:36,588 | [main] INFO com.czg.mergedata.MergeDataApplication [53] - Starting MergeDataApplication using Java 21.0.6 with PID 82279 (/Users/mac/company/czg/merge-data/target/classes started by mac in /Users/mac/company/czg/merge-data) +2025-02-15 09:04:36,591 | [main] INFO com.czg.mergedata.MergeDataApplication [658] - The following 1 profile is active: "dev" +2025-02-15 09:04:36,662 | [main] WARN org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext [635] - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanDefinitionStoreException: Failed to parse configuration class [com.czg.mergedata.MergeDataApplication] +2025-02-15 09:04:36,690 | [main] ERROR org.springframework.boot.SpringApplication [857] - Application run failed +org.springframework.beans.factory.BeanDefinitionStoreException: Failed to parse configuration class [com.czg.mergedata.MergeDataApplication] + at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:185) + at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:418) + at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:290) + at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:349) + at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:118) + at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:791) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:609) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:752) + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:439) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:318) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1361) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1350) + at com.czg.mergedata.MergeDataApplication.main(MergeDataApplication.java:13) +Caused by: org.springframework.context.annotation.ConflictingBeanDefinitionException: Annotation-specified bean name 'sysUserServiceImpl' for bean class [com.czg.mergedata.old.service.impl.SysUserServiceImpl] conflicts with existing, non-compatible bean definition of same name and class [com.czg.mergedata.cur.service.impl.SysUserServiceImpl] + at org.springframework.context.annotation.ClassPathBeanDefinitionScanner.checkCandidate(ClassPathBeanDefinitionScanner.java:361) + at org.springframework.context.annotation.ClassPathBeanDefinitionScanner.doScan(ClassPathBeanDefinitionScanner.java:288) + at org.springframework.context.annotation.ComponentScanAnnotationParser.parse(ComponentScanAnnotationParser.java:128) + at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:332) + at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:267) + at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:193) + at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:171) + ... 13 common frames omitted +2025-02-15 09:26:24,231 | [main] INFO com.czg.mergedata.MergeDataApplication [53] - Starting MergeDataApplication using Java 21.0.6 with PID 82723 (/Users/mac/company/czg/merge-data/target/classes started by mac in /Users/mac/company/czg/merge-data) +2025-02-15 09:26:24,232 | [main] INFO com.czg.mergedata.MergeDataApplication [658] - The following 1 profile is active: "dev" +2025-02-15 09:26:24,518 | [main] WARN org.mybatis.spring.mapper.ClassPathMapperScanner [44] - No MyBatis mapper was found in '[com.czg.mergedata.cur.mapper]' package. Please check your configuration. +2025-02-15 09:26:24,519 | [main] WARN org.mybatis.spring.mapper.ClassPathMapperScanner [44] - No MyBatis mapper was found in '[com.czg.mergedata.old.mapper]' package. Please check your configuration. +2025-02-15 09:26:24,695 | [main] INFO org.springframework.boot.web.embedded.tomcat.TomcatWebServer [111] - Tomcat initialized with port 8100 (http) +2025-02-15 09:26:24,703 | [main] INFO org.apache.coyote.http11.Http11NioProtocol [173] - Initializing ProtocolHandler ["http-nio-8100"] +2025-02-15 09:26:24,704 | [main] INFO org.apache.catalina.core.StandardService [173] - Starting service [Tomcat] +2025-02-15 09:26:24,704 | [main] INFO org.apache.catalina.core.StandardEngine [173] - Starting Servlet engine: [Apache Tomcat/10.1.34] +2025-02-15 09:26:24,727 | [main] INFO org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/merge] [173] - Initializing Spring embedded WebApplicationContext +2025-02-15 09:26:24,727 | [main] INFO org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext [296] - Root WebApplicationContext: initialization completed in 475 ms +2025-02-15 09:26:24,786 | [main] WARN org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext [635] - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'curEntityManagerFactory' defined in class path resource [com/czg/mergedata/common/config/CurDataSourceConfig.class]: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'curSqlSessionFactory' threw exception with message: class path resource [mapper/primary/] cannot be resolved to URL because it does not exist +2025-02-15 09:26:24,787 | [main] INFO org.apache.catalina.core.StandardService [173] - Stopping service [Tomcat] +2025-02-15 09:26:24,795 | [main] INFO org.springframework.boot.autoconfigure.logging.ConditionEvaluationReportLogger [82] - + +Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled. +2025-02-15 09:26:24,804 | [main] ERROR org.springframework.boot.SpringApplication [857] - Application run failed +org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'curEntityManagerFactory' defined in class path resource [com/czg/mergedata/common/config/CurDataSourceConfig.class]: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'curSqlSessionFactory' threw exception with message: class path resource [mapper/primary/] cannot be resolved to URL because it does not exist + at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:657) + at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:645) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1361) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1191) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:563) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:523) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:336) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:307) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:334) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.instantiateSingleton(DefaultListableBeanFactory.java:1122) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingleton(DefaultListableBeanFactory.java:1093) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:1030) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:987) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:627) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:752) + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:439) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:318) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1361) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1350) + at com.czg.mergedata.MergeDataApplication.main(MergeDataApplication.java:13) +Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'curSqlSessionFactory' threw exception with message: class path resource [mapper/primary/] cannot be resolved to URL because it does not exist + at org.springframework.beans.factory.support.SimpleInstantiationStrategy.lambda$instantiate$0(SimpleInstantiationStrategy.java:199) + at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiateWithFactoryMethod(SimpleInstantiationStrategy.java:88) + at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:168) + at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) + ... 21 common frames omitted +Caused by: java.io.FileNotFoundException: class path resource [mapper/primary/] cannot be resolved to URL because it does not exist + at org.springframework.core.io.ClassPathResource.getURL(ClassPathResource.java:230) + at org.springframework.core.io.support.PathMatchingResourcePatternResolver.findPathMatchingResources(PathMatchingResourcePatternResolver.java:701) + at org.springframework.core.io.support.PathMatchingResourcePatternResolver.getResources(PathMatchingResourcePatternResolver.java:366) + at com.czg.mergedata.common.config.CurDataSourceConfig.curSqlSessionFactory(CurDataSourceConfig.java:35) + at com.czg.mergedata.common.config.CurDataSourceConfig$$SpringCGLIB$$0.CGLIB$curSqlSessionFactory$1() + at com.czg.mergedata.common.config.CurDataSourceConfig$$SpringCGLIB$$FastClass$$1.invoke() + at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:258) + at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:348) + at com.czg.mergedata.common.config.CurDataSourceConfig$$SpringCGLIB$$0.curSqlSessionFactory() + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.springframework.beans.factory.support.SimpleInstantiationStrategy.lambda$instantiate$0(SimpleInstantiationStrategy.java:171) + ... 24 common frames omitted +2025-02-15 09:26:33,033 | [main] INFO com.zaxxer.hikari.HikariDataSource [110] - HikariPool-1 - Starting... +2025-02-15 09:26:33,683 | [main] INFO com.zaxxer.hikari.HikariDataSource [123] - HikariPool-1 - Start completed. +2025-02-15 09:26:57,571 | [main] INFO com.zaxxer.hikari.HikariDataSource [110] - HikariPool-1 - Starting... +2025-02-15 09:26:58,152 | [main] INFO com.zaxxer.hikari.HikariDataSource [123] - HikariPool-1 - Start completed. +2025-02-15 09:27:14,741 | [main] INFO com.czg.mergedata.MergeDataApplication [53] - Starting MergeDataApplication using Java 21.0.6 with PID 82753 (/Users/mac/company/czg/merge-data/target/classes started by mac in /Users/mac/company/czg/merge-data) +2025-02-15 09:27:14,742 | [main] INFO com.czg.mergedata.MergeDataApplication [658] - The following 1 profile is active: "dev" +2025-02-15 09:27:15,190 | [main] INFO org.springframework.boot.web.embedded.tomcat.TomcatWebServer [111] - Tomcat initialized with port 8100 (http) +2025-02-15 09:27:15,197 | [main] INFO org.apache.coyote.http11.Http11NioProtocol [173] - Initializing ProtocolHandler ["http-nio-8100"] +2025-02-15 09:27:15,198 | [main] INFO org.apache.catalina.core.StandardService [173] - Starting service [Tomcat] +2025-02-15 09:27:15,198 | [main] INFO org.apache.catalina.core.StandardEngine [173] - Starting Servlet engine: [Apache Tomcat/10.1.34] +2025-02-15 09:27:15,219 | [main] INFO org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/merge] [173] - Initializing Spring embedded WebApplicationContext +2025-02-15 09:27:15,219 | [main] INFO org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext [296] - Root WebApplicationContext: initialization completed in 460 ms +2025-02-15 09:27:15,257 | [main] WARN org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext [635] - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'curSysUserImpl': Unsatisfied dependency expressed through field 'mapper': Error creating bean with name 'curSysUserMapper' defined in file [/Users/mac/company/czg/merge-data/target/classes/com/czg/mergedata/cur/mapper/CurSysUserMapper.class]: Cannot resolve reference to bean 'curEntityManagerFactory' while setting bean property 'sqlSessionFactory' +2025-02-15 09:27:15,258 | [main] INFO org.apache.catalina.core.StandardService [173] - Stopping service [Tomcat] +2025-02-15 09:27:15,264 | [main] INFO org.springframework.boot.autoconfigure.logging.ConditionEvaluationReportLogger [82] - + +Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled. +2025-02-15 09:27:15,271 | [main] ERROR org.springframework.boot.SpringApplication [857] - Application run failed +org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'curSysUserImpl': Unsatisfied dependency expressed through field 'mapper': Error creating bean with name 'curSysUserMapper' defined in file [/Users/mac/company/czg/merge-data/target/classes/com/czg/mergedata/cur/mapper/CurSysUserMapper.class]: Cannot resolve reference to bean 'curEntityManagerFactory' while setting bean property 'sqlSessionFactory' + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:788) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:768) + at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:146) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:509) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1445) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:600) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:523) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:336) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:307) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:334) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.instantiateSingleton(DefaultListableBeanFactory.java:1122) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingleton(DefaultListableBeanFactory.java:1093) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:1030) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:987) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:627) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:752) + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:439) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:318) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1361) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1350) + at com.czg.mergedata.MergeDataApplication.main(MergeDataApplication.java:13) +Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'curSysUserMapper' defined in file [/Users/mac/company/czg/merge-data/target/classes/com/czg/mergedata/cur/mapper/CurSysUserMapper.class]: Cannot resolve reference to bean 'curEntityManagerFactory' while setting bean property 'sqlSessionFactory' + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:377) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:135) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1711) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1460) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:600) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:523) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:336) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:307) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:334) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) + at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:254) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1631) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1519) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:785) + ... 22 common frames omitted +Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'curEntityManagerFactory' defined in class path resource [com/czg/mergedata/common/config/CurDataSourceConfig.class]: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'curSqlSessionFactory' threw exception with message: class path resource [mapper/primary/] cannot be resolved to URL because it does not exist + at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:657) + at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:645) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1361) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1191) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:563) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:523) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:336) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:307) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:334) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:365) + ... 35 common frames omitted +Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'curSqlSessionFactory' threw exception with message: class path resource [mapper/primary/] cannot be resolved to URL because it does not exist + at org.springframework.beans.factory.support.SimpleInstantiationStrategy.lambda$instantiate$0(SimpleInstantiationStrategy.java:199) + at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiateWithFactoryMethod(SimpleInstantiationStrategy.java:88) + at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:168) + at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) + ... 45 common frames omitted +Caused by: java.io.FileNotFoundException: class path resource [mapper/primary/] cannot be resolved to URL because it does not exist + at org.springframework.core.io.ClassPathResource.getURL(ClassPathResource.java:230) + at org.springframework.core.io.support.PathMatchingResourcePatternResolver.findPathMatchingResources(PathMatchingResourcePatternResolver.java:701) + at org.springframework.core.io.support.PathMatchingResourcePatternResolver.getResources(PathMatchingResourcePatternResolver.java:366) + at com.czg.mergedata.common.config.CurDataSourceConfig.curSqlSessionFactory(CurDataSourceConfig.java:35) + at com.czg.mergedata.common.config.CurDataSourceConfig$$SpringCGLIB$$0.CGLIB$curSqlSessionFactory$1() + at com.czg.mergedata.common.config.CurDataSourceConfig$$SpringCGLIB$$FastClass$$1.invoke() + at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:258) + at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:348) + at com.czg.mergedata.common.config.CurDataSourceConfig$$SpringCGLIB$$0.curSqlSessionFactory() + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.springframework.beans.factory.support.SimpleInstantiationStrategy.lambda$instantiate$0(SimpleInstantiationStrategy.java:171) + ... 48 common frames omitted +2025-02-15 09:28:23,012 | [main] INFO com.czg.mergedata.MergeDataApplication [53] - Starting MergeDataApplication using Java 21.0.6 with PID 82765 (/Users/mac/company/czg/merge-data/target/classes started by mac in /Users/mac/company/czg/merge-data) +2025-02-15 09:28:23,014 | [main] INFO com.czg.mergedata.MergeDataApplication [658] - The following 1 profile is active: "dev" +2025-02-15 09:28:23,469 | [main] INFO org.springframework.boot.web.embedded.tomcat.TomcatWebServer [111] - Tomcat initialized with port 8100 (http) +2025-02-15 09:28:23,477 | [main] INFO org.apache.coyote.http11.Http11NioProtocol [173] - Initializing ProtocolHandler ["http-nio-8100"] +2025-02-15 09:28:23,478 | [main] INFO org.apache.catalina.core.StandardService [173] - Starting service [Tomcat] +2025-02-15 09:28:23,478 | [main] INFO org.apache.catalina.core.StandardEngine [173] - Starting Servlet engine: [Apache Tomcat/10.1.34] +2025-02-15 09:28:23,500 | [main] INFO org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/merge] [173] - Initializing Spring embedded WebApplicationContext +2025-02-15 09:28:23,500 | [main] INFO org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext [296] - Root WebApplicationContext: initialization completed in 469 ms +2025-02-15 09:28:23,803 | [main] INFO org.apache.coyote.http11.Http11NioProtocol [173] - Starting ProtocolHandler ["http-nio-8100"] +2025-02-15 09:28:23,813 | [main] INFO org.springframework.boot.web.embedded.tomcat.TomcatWebServer [243] - Tomcat started on port 8100 (http) with context path '/merge' +2025-02-15 09:28:23,818 | [main] INFO com.czg.mergedata.MergeDataApplication [59] - Started MergeDataApplication in 0.982 seconds (process running for 1.374) +2025-02-15 09:28:32,587 | [SpringApplicationShutdownHook] INFO org.springframework.boot.web.embedded.tomcat.GracefulShutdown [54] - Commencing graceful shutdown. Waiting for active requests to complete +2025-02-15 09:28:32,594 | [tomcat-shutdown] INFO org.springframework.boot.web.embedded.tomcat.GracefulShutdown [76] - Graceful shutdown complete +2025-02-15 09:29:02,514 | [main] INFO com.zaxxer.hikari.HikariDataSource [110] - HikariPool-1 - Starting... +2025-02-15 09:29:03,080 | [main] INFO com.zaxxer.hikari.HikariDataSource [123] - HikariPool-1 - Start completed. +2025-02-15 09:29:11,964 | [main] INFO com.zaxxer.hikari.HikariDataSource [110] - HikariPool-1 - Starting... +2025-02-15 09:29:12,477 | [main] INFO com.zaxxer.hikari.HikariDataSource [123] - HikariPool-1 - Start completed. +2025-02-15 09:30:05,595 | [main] INFO com.zaxxer.hikari.HikariDataSource [110] - HikariPool-1 - Starting... +2025-02-15 09:30:06,160 | [main] INFO com.zaxxer.hikari.HikariDataSource [123] - HikariPool-1 - Start completed. +2025-02-15 09:30:31,952 | [main] INFO com.zaxxer.hikari.HikariDataSource [110] - HikariPool-1 - Starting... +2025-02-15 09:30:32,520 | [main] INFO com.zaxxer.hikari.HikariDataSource [123] - HikariPool-1 - Start completed. diff --git a/mvnw b/mvnw new file mode 100755 index 0000000..19529dd --- /dev/null +++ b/mvnw @@ -0,0 +1,259 @@ +#!/bin/sh +# ---------------------------------------------------------------------------- +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# ---------------------------------------------------------------------------- + +# ---------------------------------------------------------------------------- +# Apache Maven Wrapper startup batch script, version 3.3.2 +# +# Optional ENV vars +# ----------------- +# JAVA_HOME - location of a JDK home dir, required when download maven via java source +# MVNW_REPOURL - repo url base for downloading maven distribution +# MVNW_USERNAME/MVNW_PASSWORD - user and password for downloading maven +# MVNW_VERBOSE - true: enable verbose log; debug: trace the mvnw script; others: silence the output +# ---------------------------------------------------------------------------- + +set -euf +[ "${MVNW_VERBOSE-}" != debug ] || set -x + +# OS specific support. +native_path() { printf %s\\n "$1"; } +case "$(uname)" in +CYGWIN* | MINGW*) + [ -z "${JAVA_HOME-}" ] || JAVA_HOME="$(cygpath --unix "$JAVA_HOME")" + native_path() { cygpath --path --windows "$1"; } + ;; +esac + +# set JAVACMD and JAVACCMD +set_java_home() { + # For Cygwin and MinGW, ensure paths are in Unix format before anything is touched + if [ -n "${JAVA_HOME-}" ]; then + if [ -x "$JAVA_HOME/jre/sh/java" ]; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + JAVACCMD="$JAVA_HOME/jre/sh/javac" + else + JAVACMD="$JAVA_HOME/bin/java" + JAVACCMD="$JAVA_HOME/bin/javac" + + if [ ! -x "$JAVACMD" ] || [ ! -x "$JAVACCMD" ]; then + echo "The JAVA_HOME environment variable is not defined correctly, so mvnw cannot run." >&2 + echo "JAVA_HOME is set to \"$JAVA_HOME\", but \"\$JAVA_HOME/bin/java\" or \"\$JAVA_HOME/bin/javac\" does not exist." >&2 + return 1 + fi + fi + else + JAVACMD="$( + 'set' +e + 'unset' -f command 2>/dev/null + 'command' -v java + )" || : + JAVACCMD="$( + 'set' +e + 'unset' -f command 2>/dev/null + 'command' -v javac + )" || : + + if [ ! -x "${JAVACMD-}" ] || [ ! -x "${JAVACCMD-}" ]; then + echo "The java/javac command does not exist in PATH nor is JAVA_HOME set, so mvnw cannot run." >&2 + return 1 + fi + fi +} + +# hash string like Java String::hashCode +hash_string() { + str="${1:-}" h=0 + while [ -n "$str" ]; do + char="${str%"${str#?}"}" + h=$(((h * 31 + $(LC_CTYPE=C printf %d "'$char")) % 4294967296)) + str="${str#?}" + done + printf %x\\n $h +} + +verbose() { :; } +[ "${MVNW_VERBOSE-}" != true ] || verbose() { printf %s\\n "${1-}"; } + +die() { + printf %s\\n "$1" >&2 + exit 1 +} + +trim() { + # MWRAPPER-139: + # Trims trailing and leading whitespace, carriage returns, tabs, and linefeeds. + # Needed for removing poorly interpreted newline sequences when running in more + # exotic environments such as mingw bash on Windows. + printf "%s" "${1}" | tr -d '[:space:]' +} + +# parse distributionUrl and optional distributionSha256Sum, requires .mvn/wrapper/maven-wrapper.properties +while IFS="=" read -r key value; do + case "${key-}" in + distributionUrl) distributionUrl=$(trim "${value-}") ;; + distributionSha256Sum) distributionSha256Sum=$(trim "${value-}") ;; + esac +done <"${0%/*}/.mvn/wrapper/maven-wrapper.properties" +[ -n "${distributionUrl-}" ] || die "cannot read distributionUrl property in ${0%/*}/.mvn/wrapper/maven-wrapper.properties" + +case "${distributionUrl##*/}" in +maven-mvnd-*bin.*) + MVN_CMD=mvnd.sh _MVNW_REPO_PATTERN=/maven/mvnd/ + case "${PROCESSOR_ARCHITECTURE-}${PROCESSOR_ARCHITEW6432-}:$(uname -a)" in + *AMD64:CYGWIN* | *AMD64:MINGW*) distributionPlatform=windows-amd64 ;; + :Darwin*x86_64) distributionPlatform=darwin-amd64 ;; + :Darwin*arm64) distributionPlatform=darwin-aarch64 ;; + :Linux*x86_64*) distributionPlatform=linux-amd64 ;; + *) + echo "Cannot detect native platform for mvnd on $(uname)-$(uname -m), use pure java version" >&2 + distributionPlatform=linux-amd64 + ;; + esac + distributionUrl="${distributionUrl%-bin.*}-$distributionPlatform.zip" + ;; +maven-mvnd-*) MVN_CMD=mvnd.sh _MVNW_REPO_PATTERN=/maven/mvnd/ ;; +*) MVN_CMD="mvn${0##*/mvnw}" _MVNW_REPO_PATTERN=/org/apache/maven/ ;; +esac + +# apply MVNW_REPOURL and calculate MAVEN_HOME +# maven home pattern: ~/.m2/wrapper/dists/{apache-maven-,maven-mvnd--}/ +[ -z "${MVNW_REPOURL-}" ] || distributionUrl="$MVNW_REPOURL$_MVNW_REPO_PATTERN${distributionUrl#*"$_MVNW_REPO_PATTERN"}" +distributionUrlName="${distributionUrl##*/}" +distributionUrlNameMain="${distributionUrlName%.*}" +distributionUrlNameMain="${distributionUrlNameMain%-bin}" +MAVEN_USER_HOME="${MAVEN_USER_HOME:-${HOME}/.m2}" +MAVEN_HOME="${MAVEN_USER_HOME}/wrapper/dists/${distributionUrlNameMain-}/$(hash_string "$distributionUrl")" + +exec_maven() { + unset MVNW_VERBOSE MVNW_USERNAME MVNW_PASSWORD MVNW_REPOURL || : + exec "$MAVEN_HOME/bin/$MVN_CMD" "$@" || die "cannot exec $MAVEN_HOME/bin/$MVN_CMD" +} + +if [ -d "$MAVEN_HOME" ]; then + verbose "found existing MAVEN_HOME at $MAVEN_HOME" + exec_maven "$@" +fi + +case "${distributionUrl-}" in +*?-bin.zip | *?maven-mvnd-?*-?*.zip) ;; +*) die "distributionUrl is not valid, must match *-bin.zip or maven-mvnd-*.zip, but found '${distributionUrl-}'" ;; +esac + +# prepare tmp dir +if TMP_DOWNLOAD_DIR="$(mktemp -d)" && [ -d "$TMP_DOWNLOAD_DIR" ]; then + clean() { rm -rf -- "$TMP_DOWNLOAD_DIR"; } + trap clean HUP INT TERM EXIT +else + die "cannot create temp dir" +fi + +mkdir -p -- "${MAVEN_HOME%/*}" + +# Download and Install Apache Maven +verbose "Couldn't find MAVEN_HOME, downloading and installing it ..." +verbose "Downloading from: $distributionUrl" +verbose "Downloading to: $TMP_DOWNLOAD_DIR/$distributionUrlName" + +# select .zip or .tar.gz +if ! command -v unzip >/dev/null; then + distributionUrl="${distributionUrl%.zip}.tar.gz" + distributionUrlName="${distributionUrl##*/}" +fi + +# verbose opt +__MVNW_QUIET_WGET=--quiet __MVNW_QUIET_CURL=--silent __MVNW_QUIET_UNZIP=-q __MVNW_QUIET_TAR='' +[ "${MVNW_VERBOSE-}" != true ] || __MVNW_QUIET_WGET='' __MVNW_QUIET_CURL='' __MVNW_QUIET_UNZIP='' __MVNW_QUIET_TAR=v + +# normalize http auth +case "${MVNW_PASSWORD:+has-password}" in +'') MVNW_USERNAME='' MVNW_PASSWORD='' ;; +has-password) [ -n "${MVNW_USERNAME-}" ] || MVNW_USERNAME='' MVNW_PASSWORD='' ;; +esac + +if [ -z "${MVNW_USERNAME-}" ] && command -v wget >/dev/null; then + verbose "Found wget ... using wget" + wget ${__MVNW_QUIET_WGET:+"$__MVNW_QUIET_WGET"} "$distributionUrl" -O "$TMP_DOWNLOAD_DIR/$distributionUrlName" || die "wget: Failed to fetch $distributionUrl" +elif [ -z "${MVNW_USERNAME-}" ] && command -v curl >/dev/null; then + verbose "Found curl ... using curl" + curl ${__MVNW_QUIET_CURL:+"$__MVNW_QUIET_CURL"} -f -L -o "$TMP_DOWNLOAD_DIR/$distributionUrlName" "$distributionUrl" || die "curl: Failed to fetch $distributionUrl" +elif set_java_home; then + verbose "Falling back to use Java to download" + javaSource="$TMP_DOWNLOAD_DIR/Downloader.java" + targetZip="$TMP_DOWNLOAD_DIR/$distributionUrlName" + cat >"$javaSource" <<-END + public class Downloader extends java.net.Authenticator + { + protected java.net.PasswordAuthentication getPasswordAuthentication() + { + return new java.net.PasswordAuthentication( System.getenv( "MVNW_USERNAME" ), System.getenv( "MVNW_PASSWORD" ).toCharArray() ); + } + public static void main( String[] args ) throws Exception + { + setDefault( new Downloader() ); + java.nio.file.Files.copy( java.net.URI.create( args[0] ).toURL().openStream(), java.nio.file.Paths.get( args[1] ).toAbsolutePath().normalize() ); + } + } + END + # For Cygwin/MinGW, switch paths to Windows format before running javac and java + verbose " - Compiling Downloader.java ..." + "$(native_path "$JAVACCMD")" "$(native_path "$javaSource")" || die "Failed to compile Downloader.java" + verbose " - Running Downloader.java ..." + "$(native_path "$JAVACMD")" -cp "$(native_path "$TMP_DOWNLOAD_DIR")" Downloader "$distributionUrl" "$(native_path "$targetZip")" +fi + +# If specified, validate the SHA-256 sum of the Maven distribution zip file +if [ -n "${distributionSha256Sum-}" ]; then + distributionSha256Result=false + if [ "$MVN_CMD" = mvnd.sh ]; then + echo "Checksum validation is not supported for maven-mvnd." >&2 + echo "Please disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties." >&2 + exit 1 + elif command -v sha256sum >/dev/null; then + if echo "$distributionSha256Sum $TMP_DOWNLOAD_DIR/$distributionUrlName" | sha256sum -c >/dev/null 2>&1; then + distributionSha256Result=true + fi + elif command -v shasum >/dev/null; then + if echo "$distributionSha256Sum $TMP_DOWNLOAD_DIR/$distributionUrlName" | shasum -a 256 -c >/dev/null 2>&1; then + distributionSha256Result=true + fi + else + echo "Checksum validation was requested but neither 'sha256sum' or 'shasum' are available." >&2 + echo "Please install either command, or disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties." >&2 + exit 1 + fi + if [ $distributionSha256Result = false ]; then + echo "Error: Failed to validate Maven distribution SHA-256, your Maven distribution might be compromised." >&2 + echo "If you updated your Maven version, you need to update the specified distributionSha256Sum property." >&2 + exit 1 + fi +fi + +# unzip and move +if command -v unzip >/dev/null; then + unzip ${__MVNW_QUIET_UNZIP:+"$__MVNW_QUIET_UNZIP"} "$TMP_DOWNLOAD_DIR/$distributionUrlName" -d "$TMP_DOWNLOAD_DIR" || die "failed to unzip" +else + tar xzf${__MVNW_QUIET_TAR:+"$__MVNW_QUIET_TAR"} "$TMP_DOWNLOAD_DIR/$distributionUrlName" -C "$TMP_DOWNLOAD_DIR" || die "failed to untar" +fi +printf %s\\n "$distributionUrl" >"$TMP_DOWNLOAD_DIR/$distributionUrlNameMain/mvnw.url" +mv -- "$TMP_DOWNLOAD_DIR/$distributionUrlNameMain" "$MAVEN_HOME" || [ -d "$MAVEN_HOME" ] || die "fail to move MAVEN_HOME" + +clean || : +exec_maven "$@" diff --git a/mvnw.cmd b/mvnw.cmd new file mode 100644 index 0000000..249bdf3 --- /dev/null +++ b/mvnw.cmd @@ -0,0 +1,149 @@ +<# : batch portion +@REM ---------------------------------------------------------------------------- +@REM Licensed to the Apache Software Foundation (ASF) under one +@REM or more contributor license agreements. See the NOTICE file +@REM distributed with this work for additional information +@REM regarding copyright ownership. The ASF licenses this file +@REM to you under the Apache License, Version 2.0 (the +@REM "License"); you may not use this file except in compliance +@REM with the License. You may obtain a copy of the License at +@REM +@REM http://www.apache.org/licenses/LICENSE-2.0 +@REM +@REM Unless required by applicable law or agreed to in writing, +@REM software distributed under the License is distributed on an +@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +@REM KIND, either express or implied. See the License for the +@REM specific language governing permissions and limitations +@REM under the License. +@REM ---------------------------------------------------------------------------- + +@REM ---------------------------------------------------------------------------- +@REM Apache Maven Wrapper startup batch script, version 3.3.2 +@REM +@REM Optional ENV vars +@REM MVNW_REPOURL - repo url base for downloading maven distribution +@REM MVNW_USERNAME/MVNW_PASSWORD - user and password for downloading maven +@REM MVNW_VERBOSE - true: enable verbose log; others: silence the output +@REM ---------------------------------------------------------------------------- + +@IF "%__MVNW_ARG0_NAME__%"=="" (SET __MVNW_ARG0_NAME__=%~nx0) +@SET __MVNW_CMD__= +@SET __MVNW_ERROR__= +@SET __MVNW_PSMODULEP_SAVE=%PSModulePath% +@SET PSModulePath= +@FOR /F "usebackq tokens=1* delims==" %%A IN (`powershell -noprofile "& {$scriptDir='%~dp0'; $script='%__MVNW_ARG0_NAME__%'; icm -ScriptBlock ([Scriptblock]::Create((Get-Content -Raw '%~f0'))) -NoNewScope}"`) DO @( + IF "%%A"=="MVN_CMD" (set __MVNW_CMD__=%%B) ELSE IF "%%B"=="" (echo %%A) ELSE (echo %%A=%%B) +) +@SET PSModulePath=%__MVNW_PSMODULEP_SAVE% +@SET __MVNW_PSMODULEP_SAVE= +@SET __MVNW_ARG0_NAME__= +@SET MVNW_USERNAME= +@SET MVNW_PASSWORD= +@IF NOT "%__MVNW_CMD__%"=="" (%__MVNW_CMD__% %*) +@echo Cannot start maven from wrapper >&2 && exit /b 1 +@GOTO :EOF +: end batch / begin powershell #> + +$ErrorActionPreference = "Stop" +if ($env:MVNW_VERBOSE -eq "true") { + $VerbosePreference = "Continue" +} + +# calculate distributionUrl, requires .mvn/wrapper/maven-wrapper.properties +$distributionUrl = (Get-Content -Raw "$scriptDir/.mvn/wrapper/maven-wrapper.properties" | ConvertFrom-StringData).distributionUrl +if (!$distributionUrl) { + Write-Error "cannot read distributionUrl property in $scriptDir/.mvn/wrapper/maven-wrapper.properties" +} + +switch -wildcard -casesensitive ( $($distributionUrl -replace '^.*/','') ) { + "maven-mvnd-*" { + $USE_MVND = $true + $distributionUrl = $distributionUrl -replace '-bin\.[^.]*$',"-windows-amd64.zip" + $MVN_CMD = "mvnd.cmd" + break + } + default { + $USE_MVND = $false + $MVN_CMD = $script -replace '^mvnw','mvn' + break + } +} + +# apply MVNW_REPOURL and calculate MAVEN_HOME +# maven home pattern: ~/.m2/wrapper/dists/{apache-maven-,maven-mvnd--}/ +if ($env:MVNW_REPOURL) { + $MVNW_REPO_PATTERN = if ($USE_MVND) { "/org/apache/maven/" } else { "/maven/mvnd/" } + $distributionUrl = "$env:MVNW_REPOURL$MVNW_REPO_PATTERN$($distributionUrl -replace '^.*'+$MVNW_REPO_PATTERN,'')" +} +$distributionUrlName = $distributionUrl -replace '^.*/','' +$distributionUrlNameMain = $distributionUrlName -replace '\.[^.]*$','' -replace '-bin$','' +$MAVEN_HOME_PARENT = "$HOME/.m2/wrapper/dists/$distributionUrlNameMain" +if ($env:MAVEN_USER_HOME) { + $MAVEN_HOME_PARENT = "$env:MAVEN_USER_HOME/wrapper/dists/$distributionUrlNameMain" +} +$MAVEN_HOME_NAME = ([System.Security.Cryptography.MD5]::Create().ComputeHash([byte[]][char[]]$distributionUrl) | ForEach-Object {$_.ToString("x2")}) -join '' +$MAVEN_HOME = "$MAVEN_HOME_PARENT/$MAVEN_HOME_NAME" + +if (Test-Path -Path "$MAVEN_HOME" -PathType Container) { + Write-Verbose "found existing MAVEN_HOME at $MAVEN_HOME" + Write-Output "MVN_CMD=$MAVEN_HOME/bin/$MVN_CMD" + exit $? +} + +if (! $distributionUrlNameMain -or ($distributionUrlName -eq $distributionUrlNameMain)) { + Write-Error "distributionUrl is not valid, must end with *-bin.zip, but found $distributionUrl" +} + +# prepare tmp dir +$TMP_DOWNLOAD_DIR_HOLDER = New-TemporaryFile +$TMP_DOWNLOAD_DIR = New-Item -Itemtype Directory -Path "$TMP_DOWNLOAD_DIR_HOLDER.dir" +$TMP_DOWNLOAD_DIR_HOLDER.Delete() | Out-Null +trap { + if ($TMP_DOWNLOAD_DIR.Exists) { + try { Remove-Item $TMP_DOWNLOAD_DIR -Recurse -Force | Out-Null } + catch { Write-Warning "Cannot remove $TMP_DOWNLOAD_DIR" } + } +} + +New-Item -Itemtype Directory -Path "$MAVEN_HOME_PARENT" -Force | Out-Null + +# Download and Install Apache Maven +Write-Verbose "Couldn't find MAVEN_HOME, downloading and installing it ..." +Write-Verbose "Downloading from: $distributionUrl" +Write-Verbose "Downloading to: $TMP_DOWNLOAD_DIR/$distributionUrlName" + +$webclient = New-Object System.Net.WebClient +if ($env:MVNW_USERNAME -and $env:MVNW_PASSWORD) { + $webclient.Credentials = New-Object System.Net.NetworkCredential($env:MVNW_USERNAME, $env:MVNW_PASSWORD) +} +[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 +$webclient.DownloadFile($distributionUrl, "$TMP_DOWNLOAD_DIR/$distributionUrlName") | Out-Null + +# If specified, validate the SHA-256 sum of the Maven distribution zip file +$distributionSha256Sum = (Get-Content -Raw "$scriptDir/.mvn/wrapper/maven-wrapper.properties" | ConvertFrom-StringData).distributionSha256Sum +if ($distributionSha256Sum) { + if ($USE_MVND) { + Write-Error "Checksum validation is not supported for maven-mvnd. `nPlease disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties." + } + Import-Module $PSHOME\Modules\Microsoft.PowerShell.Utility -Function Get-FileHash + if ((Get-FileHash "$TMP_DOWNLOAD_DIR/$distributionUrlName" -Algorithm SHA256).Hash.ToLower() -ne $distributionSha256Sum) { + Write-Error "Error: Failed to validate Maven distribution SHA-256, your Maven distribution might be compromised. If you updated your Maven version, you need to update the specified distributionSha256Sum property." + } +} + +# unzip and move +Expand-Archive "$TMP_DOWNLOAD_DIR/$distributionUrlName" -DestinationPath "$TMP_DOWNLOAD_DIR" | Out-Null +Rename-Item -Path "$TMP_DOWNLOAD_DIR/$distributionUrlNameMain" -NewName $MAVEN_HOME_NAME | Out-Null +try { + Move-Item -Path "$TMP_DOWNLOAD_DIR/$MAVEN_HOME_NAME" -Destination $MAVEN_HOME_PARENT | Out-Null +} catch { + if (! (Test-Path -Path "$MAVEN_HOME" -PathType Container)) { + Write-Error "fail to move MAVEN_HOME" + } +} finally { + try { Remove-Item $TMP_DOWNLOAD_DIR -Recurse -Force | Out-Null } + catch { Write-Warning "Cannot remove $TMP_DOWNLOAD_DIR" } +} + +Write-Output "MVN_CMD=$MAVEN_HOME/bin/$MVN_CMD" diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..d219267 --- /dev/null +++ b/pom.xml @@ -0,0 +1,112 @@ + + + 4.0.0 + + org.springframework.boot + spring-boot-starter-parent + 3.4.2 + + + com.czg + merge-data + 0.0.1-SNAPSHOT + merge-data + merge-data + + + + + + + + + + + + + + + 21 + + + + org.springframework.boot + spring-boot-starter-jdbc + + + org.springframework.boot + spring-boot-starter-web + + + + org.projectlombok + lombok + true + + + org.springframework.boot + spring-boot-starter-test + test + + + + com.mysql + mysql-connector-j + 8.2.0 + + + + com.mybatis-flex + mybatis-flex-spring-boot3-starter + 1.10.7 + + + com.mybatis-flex + mybatis-flex-processor + 1.10.7 + provided + + + + com.mybatis-flex + mybatis-flex-codegen + 1.10.7 + + + com.zaxxer + HikariCP + 4.0.3 + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + + + + org.projectlombok + lombok + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + org.projectlombok + lombok + + + + + + + + diff --git a/src/main/.DS_Store b/src/main/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..0e98056ead8b2b4ddd22a5b0719be234dbd12c0a GIT binary patch literal 6148 zcmeHKI|>3p3{BKRv9YwAD|mxJ^aNf&P_YpOMeD6Rmq+vEgD9(wU?VS(yqQeiEc=Sh zMnrUaUQa|uBGQK&%GE;K?A*L%oy;f@jyukBl$C7cbXl~j-zSVa01F&BJoAtH-C@6t zo8MEJr2a0lP&G#k4Lb5A>uO>X7ausK8$-puO2*HpMGtZ*9Gt_1Xeo!mZ{8H^bT~2;Po?-j1=cc0Bf? bs4KR{c};8rosPWIf&3XTU1(I`*9zPLYRVP2 literal 0 HcmV?d00001 diff --git a/src/main/java/com/czg/mergedata/MergeDataApplication.java b/src/main/java/com/czg/mergedata/MergeDataApplication.java new file mode 100644 index 0000000..5a5467b --- /dev/null +++ b/src/main/java/com/czg/mergedata/MergeDataApplication.java @@ -0,0 +1,16 @@ +package com.czg.mergedata; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +/** + * @author GY_Joker + */ +@SpringBootApplication +public class MergeDataApplication { + + public static void main(String[] args) { + SpringApplication.run(MergeDataApplication.class, args); + } + +} diff --git a/src/main/java/com/czg/mergedata/common/config/CurDataSourceConfig.java b/src/main/java/com/czg/mergedata/common/config/CurDataSourceConfig.java new file mode 100644 index 0000000..e26559f --- /dev/null +++ b/src/main/java/com/czg/mergedata/common/config/CurDataSourceConfig.java @@ -0,0 +1,38 @@ +package com.czg.mergedata.common.config; + +import com.zaxxer.hikari.HikariDataSource; +import org.apache.ibatis.session.SqlSessionFactory; +import org.mybatis.spring.SqlSessionFactoryBean; +import org.mybatis.spring.annotation.MapperScan; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.boot.jdbc.DataSourceBuilder; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Primary; +import org.springframework.core.io.support.PathMatchingResourcePatternResolver; + +import javax.sql.DataSource; + +/** + * @author GYJoker + */ +@Configuration +@MapperScan(basePackages = "com.czg.mergedata.cur.mapper", sqlSessionFactoryRef = "curEntityManagerFactory") +public class CurDataSourceConfig { + @Primary + @Bean(name = "curDataSource") + @ConfigurationProperties(prefix = "spring.datasource.cur") + public DataSource primaryDataSource() { + return DataSourceBuilder.create().type(HikariDataSource.class).build(); + } + + @Primary + @Bean(name = "curEntityManagerFactory") + public SqlSessionFactory curSqlSessionFactory(@Qualifier("curDataSource") DataSource dataSource) throws Exception { + SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean(); + sessionFactory.setDataSource(dataSource); + sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:mapper/cur/*.xml")); + return sessionFactory.getObject(); + } +} diff --git a/src/main/java/com/czg/mergedata/common/config/OldDataSourceConfig.java b/src/main/java/com/czg/mergedata/common/config/OldDataSourceConfig.java new file mode 100644 index 0000000..0504a47 --- /dev/null +++ b/src/main/java/com/czg/mergedata/common/config/OldDataSourceConfig.java @@ -0,0 +1,38 @@ +package com.czg.mergedata.common.config; + +import com.zaxxer.hikari.HikariDataSource; +import org.apache.ibatis.session.SqlSessionFactory; +import org.mybatis.spring.SqlSessionFactoryBean; +import org.mybatis.spring.annotation.MapperScan; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.boot.jdbc.DataSourceBuilder; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Primary; +import org.springframework.core.io.support.PathMatchingResourcePatternResolver; + +import javax.sql.DataSource; + +/** + * @author GYJoker + */ +@Configuration +@MapperScan(basePackages = "com.czg.mergedata.old.mapper", sqlSessionFactoryRef = "oldEntityManagerFactory") +public class OldDataSourceConfig { + @Primary + @Bean(name = "oldDataSource") + @ConfigurationProperties(prefix = "spring.datasource.old") + public DataSource oldDataSource() { + return DataSourceBuilder.create().type(HikariDataSource.class).build(); + } + + @Primary + @Bean(name = "oldEntityManagerFactory") + public SqlSessionFactory oldSqlSessionFactory(@Qualifier("oldDataSource") DataSource dataSource) throws Exception { + SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean(); + sessionFactory.setDataSource(dataSource); + sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:mapper/old/*.xml")); + return sessionFactory.getObject(); + } +} diff --git a/src/main/java/com/czg/mergedata/common/utils/CodeGen.java b/src/main/java/com/czg/mergedata/common/utils/CodeGen.java new file mode 100644 index 0000000..1d59413 --- /dev/null +++ b/src/main/java/com/czg/mergedata/common/utils/CodeGen.java @@ -0,0 +1,126 @@ +package com.czg.mergedata.common.utils; + +import com.mybatisflex.codegen.Generator; +import com.mybatisflex.codegen.config.*; +import com.mybatisflex.core.service.IService; +import com.mybatisflex.spring.service.impl.ServiceImpl; +import com.zaxxer.hikari.HikariDataSource; + +/** + * 代码生成器 + * @author GYJoker + */ +public class CodeGen { + private final static String BASE_URL = "rm-bp1kn7h89nz62cno1ro.mysql.rds.aliyuncs.com"; + private final static String PORT = "3306"; + private final static String USERNAME = "cashier"; + private final static String PASSWORD = "Cashier@1@"; + private final static String DATABASE = "czg_cashier"; + private final static String OLD_DATABASE = "fycashier_test"; + + private final static boolean isOldVersion = false; +// private final static boolean isOldVersion = true; + + public static void main(String[] args) { + //配置数据源 + HikariDataSource dataSource = new HikariDataSource(); + dataSource.setJdbcUrl("jdbc:mysql://" + BASE_URL + ":" + PORT + "/" + (isOldVersion ? OLD_DATABASE : DATABASE)); + dataSource.setUsername(USERNAME); + dataSource.setPassword(PASSWORD); + + GlobalConfig globalConfig = createGlobalConfigUseStyle(); + + //通过 datasource 和 globalConfig 创建代码生成器 + Generator generator = new Generator(dataSource, globalConfig); + + //生成代码 + generator.generate(); + } + + public static GlobalConfig createGlobalConfigUseStyle() { + //创建配置内容 + GlobalConfig globalConfig = new GlobalConfig(); + + //设置根包 + globalConfig.getPackageConfig() + .setBasePackage("com.czg.mergedata" + (isOldVersion ? ".old" : ".cur")); + + ServiceConfig serviceConfig = globalConfig.getServiceConfig(); + serviceConfig.setSuperClass(IService.class); + serviceConfig.setClassSuffix("Service"); + if (isOldVersion) { + serviceConfig.setClassPrefix("Old"); + } else { + serviceConfig.setClassPrefix("Cur"); + } + globalConfig.enableService(); + + ServiceImplConfig implConfig = globalConfig.getServiceImplConfig(); + implConfig.setSuperClass(ServiceImpl.class); + implConfig.setClassSuffix("Impl"); + if (isOldVersion) { + implConfig.setClassPrefix("Old"); + } else { + implConfig.setClassPrefix("Cur"); + } + globalConfig.enableServiceImpl(); + + MapperConfig mapperConfig = globalConfig.getMapperConfig(); + mapperConfig.setClassSuffix("Mapper"); + if (isOldVersion) { + mapperConfig.setClassPrefix("Old"); + } else { + mapperConfig.setClassPrefix("Cur"); + } + //设置生成 mapper + globalConfig.enableMapper(); + + globalConfig.setMapperXmlPath((isOldVersion ? "src/main/resources/mapper/old" : "src/main/resources/mapper/cur")); + globalConfig.enableMapperXml(); + + //设置表前缀和只生成哪些表,setGenerateTable 未配置时,生成所有表 + globalConfig.getStrategyConfig() + .setTablePrefix("tb_") + .setGenerateTable("tb_shop_staff"); + + EntityConfig entityConfig = globalConfig.getEntityConfig(); + if (isOldVersion) { + entityConfig.setClassPrefix("Old"); + } else { + entityConfig.setClassPrefix("Cur"); + } + + //设置生成 entity 并启用 Lombok + globalConfig.enableEntity() + .setWithLombok(true) + .setJdkVersion(23); + + //可以单独配置某个列 + ColumnConfig createTime = new ColumnConfig(); + createTime.setColumnName("create_time"); + createTime.setOnInsertValue("now()"); + globalConfig.getStrategyConfig() + .setColumnConfig(createTime); + + ColumnConfig updateTime = new ColumnConfig(); + updateTime.setColumnName("update_time"); + updateTime.setOnUpdateValue("now()"); + updateTime.setOnInsertValue("now()"); + globalConfig.getStrategyConfig() + .setColumnConfig(updateTime); + +// ColumnConfig deleted = new ColumnConfig(); +// deleted.setColumnName("deleted"); +// deleted.setLogicDelete(true); +// globalConfig.getStrategyConfig() +// .setColumnConfig(deleted); +// +// ColumnConfig version = new ColumnConfig(); +// version.setColumnName("version"); +// version.setVersion(true); +// globalConfig.getStrategyConfig() +// .setColumnConfig(version); + + return globalConfig; + } +} diff --git a/src/main/java/com/czg/mergedata/controller/UserController.java b/src/main/java/com/czg/mergedata/controller/UserController.java new file mode 100644 index 0000000..a6ce82e --- /dev/null +++ b/src/main/java/com/czg/mergedata/controller/UserController.java @@ -0,0 +1,12 @@ +package com.czg.mergedata.controller; + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @author GYJoker + */ +@RestController +@RequestMapping("/user") +public class UserController { +} diff --git a/src/main/java/com/czg/mergedata/cur/entity/CurShopInfo.java b/src/main/java/com/czg/mergedata/cur/entity/CurShopInfo.java new file mode 100644 index 0000000..42dba7b --- /dev/null +++ b/src/main/java/com/czg/mergedata/cur/entity/CurShopInfo.java @@ -0,0 +1,281 @@ +package com.czg.mergedata.cur.entity; + +import com.mybatisflex.annotation.Column; +import com.mybatisflex.annotation.Id; +import com.mybatisflex.annotation.KeyType; +import com.mybatisflex.annotation.Table; +import java.io.Serializable; +import java.math.BigDecimal; +import java.time.LocalDateTime; + +import java.io.Serial; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * 店铺信息 实体类。 + * + * @author mac + * @since 2025-02-15 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@Table("tb_shop_info") +public class CurShopInfo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 使用系统用户 sys_user id + */ + @Id(keyType = KeyType.Auto) + private Long id; + + /** + * 主店id + */ + private Integer mainId; + + /** + * 店铺口号 + */ + private String subTitle; + + /** + * 店铺名称 + */ + private String shopName; + + /** + * 连锁店扩展店名 + */ + private String chainName; + + /** + * 背景图 + */ + private String backImg; + + /** + * 门头照 + */ + private String frontImg; + + /** + * 联系人姓名 + */ + private String contactName; + + /** + * 联系电话 + */ + private String phone; + + /** + * 店铺logo + */ + private String logo; + + /** + * 封面图 + */ + private String coverImg; + + /** + * 店铺简介 + */ + private String detail; + + /** + * 注册类型 + */ + private String registerType; + + /** + * 店铺类型 单店--only 连锁店--chain--加盟店join (对应原来 type) + */ + private String shopType; + + /** + * 管理 0否 1是, 1 为直接管理 可切换店铺 0 不可以切换 + */ + private Integer tubeType; + + /** + * 营业时间(周开始) + */ + private String businessStartDay; + + /** + * 营业时间(周结束) + */ + private String businessEndDay; + + /** + * 营业时间 + */ + private String businessTime; + + /** + * trial试用版,release正式 + */ + private String profiles; + + /** + * 0停业 1,正常营业 2,网上售卖 + */ + private Integer onSale; + + /** + * -1 平台禁用 0-过期,1正式营业, + */ + private Integer status; + + /** + * 到期时间 + */ + private LocalDateTime expireTime; + + @Column(onInsertValue = "now()") + private LocalDateTime createTime; + + @Column(onInsertValue = "now()", onUpdateValue = "now()") + private LocalDateTime updateTime; + + /** + * 商家二维码 + */ + private String shopQrcode; + + /** + * 商家标签 + */ + private String tag; + + /** + * 经纬度 + */ + private String lat; + + /** + * 经纬度 + */ + private String lng; + + /** + * 省 + */ + private String provinces; + + /** + * 市 + */ + private String cities; + + /** + * 区/县 + */ + private String districts; + + /** + * 详细地址 + */ + private String address; + + /** + * 是否允许会员自定义金额 1 允许 0 不允许 + */ + private Integer isCustomAmount; + + /** + * 是否开启退款密码 1 启用 0 禁用 + */ + private Integer isReturnPwd; + + /** + * 是否开启会员充值密码 1 启用 0 禁用 + */ + private Integer isMemberInPwd; + + /** + * 是否开启会员退款密码 1 启用 0 禁用 + */ + private Integer isMemberReturnPwd; + + /** + * 是否免除桌位费 0否1是 + */ + private Integer isTableFee; + + /** + * 桌位费 + */ + private BigDecimal tableFee; + + /** + * 是否启用会员价 0否1是 + */ + private Integer isMemberPrice; + + /** + * 是否允许会员余额支付 + */ + private Integer isAccountPay; + + /** + * 积分群体 all-所有 vip-仅针对会员 + */ + private String consumeColony; + + /** + * 就餐模式 堂食 dine-in 外带 take-out + */ + private String eatModel; + + /** + * 小程序码(零点八零首页) + */ + private String smallQrcode; + + /** + * 店铺收款码 + */ + private String paymentQrcode; + + /** + * 台桌预订短信 + */ + private String bookingSms; + + /** + * 操作密码 + */ + private String operationPwd; + + /** + * 开票系统账号 + */ + private String bindAccount; + + /** + * 项目分类 + */ + private String article; + + /** + * 数电发票类型 + */ + private String sdType; + + /** + * 税率 + */ + private String taxAmount; + +} diff --git a/src/main/java/com/czg/mergedata/cur/entity/CurShopStaff.java b/src/main/java/com/czg/mergedata/cur/entity/CurShopStaff.java new file mode 100644 index 0000000..bfe0ce6 --- /dev/null +++ b/src/main/java/com/czg/mergedata/cur/entity/CurShopStaff.java @@ -0,0 +1,91 @@ +package com.czg.mergedata.cur.entity; + +import com.mybatisflex.annotation.Column; +import com.mybatisflex.annotation.Id; +import com.mybatisflex.annotation.KeyType; +import com.mybatisflex.annotation.Table; +import java.io.Serializable; +import java.math.BigDecimal; +import java.time.LocalDateTime; + +import java.io.Serial; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * 店铺员工 实体类。 + * + * @author mac + * @since 2025-02-15 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@Table("tb_shop_staff") +public class CurShopStaff implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 使用系统用户 sys_user id + */ + @Id(keyType = KeyType.Auto) + private Long id; + + /** + * 员工编号 + */ + private String code; + + /** + * 员工名称 + */ + private String name; + + /** + * 最大优惠金额 + */ + private BigDecimal maxDiscountAmount; + + /** + * 优惠类型 1 折扣 0 金额 + */ + private String discountType; + + /** + * 1启用0不启用 + */ + private Boolean status; + + /** + * shopId + */ + private Long shopId; + + @Column(onInsertValue = "now()") + private LocalDateTime createTime; + + @Column(onInsertValue = "now()", onUpdateValue = "now()") + private LocalDateTime updateTime; + + /** + * master商户账号staff员工 + */ + private String type; + + /** + * 是否允许管理端登录 0:不允许;1:允许 + */ + private Integer isManage; + + /** + * 是否允许pc端登录 0:不允许;1:允许 + */ + private Integer isPc; + +} diff --git a/src/main/java/com/czg/mergedata/cur/entity/CurSysUser.java b/src/main/java/com/czg/mergedata/cur/entity/CurSysUser.java new file mode 100644 index 0000000..405dc45 --- /dev/null +++ b/src/main/java/com/czg/mergedata/cur/entity/CurSysUser.java @@ -0,0 +1,111 @@ +package com.czg.mergedata.cur.entity; + +import com.mybatisflex.annotation.Column; +import com.mybatisflex.annotation.Id; +import com.mybatisflex.annotation.KeyType; +import com.mybatisflex.annotation.Table; +import java.io.Serializable; +import java.time.LocalDateTime; + +import java.io.Serial; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * 系统用户 实体类。 + * + * @author mac + * @since 2025-02-15 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@Table("sys_user") +public class CurSysUser implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * ID + */ + @Id(keyType = KeyType.Auto) + private Long id; + + /** + * 账号 + */ + private String account; + + /** + * 昵称 + */ + private String nickName; + + /** + * 性别 + */ + private String gender; + + /** + * 手机号码 + */ + private String phone; + + /** + * 邮箱 + */ + private String email; + + /** + * 头像 + */ + private String avatar; + + /** + * 密码 + */ + private String password; + + /** + * 是否为admin账号 + */ + private Boolean isAdmin; + + /** + * 状态:1启用、0禁用 + */ + private Integer stauts; + + /** + * 创建者 + */ + private Long createUserId; + + /** + * 更新者 + */ + private Long updateUserId; + + /** + * 修改密码的时间 + */ + private LocalDateTime pwdResetTime; + + /** + * 创建日期 + */ + @Column(onInsertValue = "now()") + private LocalDateTime createTime; + + /** + * 更新时间 + */ + @Column(onInsertValue = "now()", onUpdateValue = "now()") + private LocalDateTime updateTime; + +} diff --git a/src/main/java/com/czg/mergedata/cur/mapper/CurShopInfoMapper.java b/src/main/java/com/czg/mergedata/cur/mapper/CurShopInfoMapper.java new file mode 100644 index 0000000..aac3ddb --- /dev/null +++ b/src/main/java/com/czg/mergedata/cur/mapper/CurShopInfoMapper.java @@ -0,0 +1,14 @@ +package com.czg.mergedata.cur.mapper; + +import com.mybatisflex.core.BaseMapper; +import com.czg.mergedata.cur.entity.CurShopInfo; + +/** + * 店铺信息 映射层。 + * + * @author mac + * @since 2025-02-15 + */ +public interface CurShopInfoMapper extends BaseMapper { + +} diff --git a/src/main/java/com/czg/mergedata/cur/mapper/CurShopStaffMapper.java b/src/main/java/com/czg/mergedata/cur/mapper/CurShopStaffMapper.java new file mode 100644 index 0000000..e8ee5f8 --- /dev/null +++ b/src/main/java/com/czg/mergedata/cur/mapper/CurShopStaffMapper.java @@ -0,0 +1,14 @@ +package com.czg.mergedata.cur.mapper; + +import com.mybatisflex.core.BaseMapper; +import com.czg.mergedata.cur.entity.CurShopStaff; + +/** + * 店铺员工 映射层。 + * + * @author mac + * @since 2025-02-15 + */ +public interface CurShopStaffMapper extends BaseMapper { + +} diff --git a/src/main/java/com/czg/mergedata/cur/mapper/CurSysUserMapper.java b/src/main/java/com/czg/mergedata/cur/mapper/CurSysUserMapper.java new file mode 100644 index 0000000..9a66931 --- /dev/null +++ b/src/main/java/com/czg/mergedata/cur/mapper/CurSysUserMapper.java @@ -0,0 +1,14 @@ +package com.czg.mergedata.cur.mapper; + +import com.mybatisflex.core.BaseMapper; +import com.czg.mergedata.cur.entity.CurSysUser; + +/** + * 系统用户 映射层。 + * + * @author mac + * @since 2025-02-15 + */ +public interface CurSysUserMapper extends BaseMapper { + +} diff --git a/src/main/java/com/czg/mergedata/cur/service/CurShopInfoService.java b/src/main/java/com/czg/mergedata/cur/service/CurShopInfoService.java new file mode 100644 index 0000000..65b2d74 --- /dev/null +++ b/src/main/java/com/czg/mergedata/cur/service/CurShopInfoService.java @@ -0,0 +1,14 @@ +package com.czg.mergedata.cur.service; + +import com.mybatisflex.core.service.IService; +import com.czg.mergedata.cur.entity.CurShopInfo; + +/** + * 店铺信息 服务层。 + * + * @author mac + * @since 2025-02-15 + */ +public interface CurShopInfoService extends IService { + +} diff --git a/src/main/java/com/czg/mergedata/cur/service/CurShopStaffService.java b/src/main/java/com/czg/mergedata/cur/service/CurShopStaffService.java new file mode 100644 index 0000000..3c23c96 --- /dev/null +++ b/src/main/java/com/czg/mergedata/cur/service/CurShopStaffService.java @@ -0,0 +1,14 @@ +package com.czg.mergedata.cur.service; + +import com.mybatisflex.core.service.IService; +import com.czg.mergedata.cur.entity.CurShopStaff; + +/** + * 店铺员工 服务层。 + * + * @author mac + * @since 2025-02-15 + */ +public interface CurShopStaffService extends IService { + +} diff --git a/src/main/java/com/czg/mergedata/cur/service/CurSysUserService.java b/src/main/java/com/czg/mergedata/cur/service/CurSysUserService.java new file mode 100644 index 0000000..a08b417 --- /dev/null +++ b/src/main/java/com/czg/mergedata/cur/service/CurSysUserService.java @@ -0,0 +1,14 @@ +package com.czg.mergedata.cur.service; + +import com.mybatisflex.core.service.IService; +import com.czg.mergedata.cur.entity.CurSysUser; + +/** + * 系统用户 服务层。 + * + * @author mac + * @since 2025-02-15 + */ +public interface CurSysUserService extends IService { + +} diff --git a/src/main/java/com/czg/mergedata/cur/service/impl/CurShopInfoImpl.java b/src/main/java/com/czg/mergedata/cur/service/impl/CurShopInfoImpl.java new file mode 100644 index 0000000..e4505c8 --- /dev/null +++ b/src/main/java/com/czg/mergedata/cur/service/impl/CurShopInfoImpl.java @@ -0,0 +1,18 @@ +package com.czg.mergedata.cur.service.impl; + +import com.mybatisflex.spring.service.impl.ServiceImpl; +import com.czg.mergedata.cur.entity.CurShopInfo; +import com.czg.mergedata.cur.mapper.CurShopInfoMapper; +import com.czg.mergedata.cur.service.CurShopInfoService; +import org.springframework.stereotype.Service; + +/** + * 店铺信息 服务层实现。 + * + * @author mac + * @since 2025-02-15 + */ +@Service +public class CurShopInfoImpl extends ServiceImpl implements CurShopInfoService{ + +} diff --git a/src/main/java/com/czg/mergedata/cur/service/impl/CurShopStaffImpl.java b/src/main/java/com/czg/mergedata/cur/service/impl/CurShopStaffImpl.java new file mode 100644 index 0000000..cf36824 --- /dev/null +++ b/src/main/java/com/czg/mergedata/cur/service/impl/CurShopStaffImpl.java @@ -0,0 +1,18 @@ +package com.czg.mergedata.cur.service.impl; + +import com.mybatisflex.spring.service.impl.ServiceImpl; +import com.czg.mergedata.cur.entity.CurShopStaff; +import com.czg.mergedata.cur.mapper.CurShopStaffMapper; +import com.czg.mergedata.cur.service.CurShopStaffService; +import org.springframework.stereotype.Service; + +/** + * 店铺员工 服务层实现。 + * + * @author mac + * @since 2025-02-15 + */ +@Service +public class CurShopStaffImpl extends ServiceImpl implements CurShopStaffService{ + +} diff --git a/src/main/java/com/czg/mergedata/cur/service/impl/CurSysUserImpl.java b/src/main/java/com/czg/mergedata/cur/service/impl/CurSysUserImpl.java new file mode 100644 index 0000000..8a4689e --- /dev/null +++ b/src/main/java/com/czg/mergedata/cur/service/impl/CurSysUserImpl.java @@ -0,0 +1,18 @@ +package com.czg.mergedata.cur.service.impl; + +import com.mybatisflex.spring.service.impl.ServiceImpl; +import com.czg.mergedata.cur.entity.CurSysUser; +import com.czg.mergedata.cur.mapper.CurSysUserMapper; +import com.czg.mergedata.cur.service.CurSysUserService; +import org.springframework.stereotype.Service; + +/** + * 系统用户 服务层实现。 + * + * @author mac + * @since 2025-02-15 + */ +@Service +public class CurSysUserImpl extends ServiceImpl implements CurSysUserService{ + +} diff --git a/src/main/java/com/czg/mergedata/old/entity/OldPlussShopStaff.java b/src/main/java/com/czg/mergedata/old/entity/OldPlussShopStaff.java new file mode 100644 index 0000000..cf959a6 --- /dev/null +++ b/src/main/java/com/czg/mergedata/old/entity/OldPlussShopStaff.java @@ -0,0 +1,102 @@ +package com.czg.mergedata.old.entity; + +import com.mybatisflex.annotation.Id; +import com.mybatisflex.annotation.KeyType; +import com.mybatisflex.annotation.Table; +import java.io.Serializable; +import java.math.BigDecimal; + +import java.io.Serial; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * 实体类。 + * + * @author mac + * @since 2025-02-15 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@Table("tb_pluss_shop_staff") +public class OldPlussShopStaff implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 自增 + */ + @Id(keyType = KeyType.Auto) + private Integer id; + + /** + * 员工编号 + */ + private String code; + + /** + * 员工名称 + */ + private String name; + + /** + * 登录账号 + */ + private String account; + + /** + * 密码 + */ + private String password; + + /** + * 最大优惠金额 + */ + private BigDecimal maxDiscountAmount; + + /** + * 优惠类型 1 折扣 0 金额 + */ + private String discountType; + + /** + * 1启用0不启用 + */ + private Boolean status; + + /** + * 登录端 + */ + private String employee; + + /** + * shopId + */ + private String shopId; + + private Long createdAt; + + private Long updatedAt; + + /** + * master商户账号staff员工 + */ + private String type; + + /** + * 是否允许管理端登录 0:不允许;1:允许 + */ + private Integer isManage; + + /** + * 是否允许pc端登录 0:不允许;1:允许 + */ + private Integer isPc; + +} diff --git a/src/main/java/com/czg/mergedata/old/entity/OldShopInfo.java b/src/main/java/com/czg/mergedata/old/entity/OldShopInfo.java new file mode 100644 index 0000000..b6f0a9f --- /dev/null +++ b/src/main/java/com/czg/mergedata/old/entity/OldShopInfo.java @@ -0,0 +1,355 @@ +package com.czg.mergedata.old.entity; + +import com.mybatisflex.annotation.Id; +import com.mybatisflex.annotation.KeyType; +import com.mybatisflex.annotation.Table; +import java.io.Serializable; +import java.math.BigDecimal; + +import java.io.Serial; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * 实体类。 + * + * @author mac + * @since 2025-02-15 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@Table("tb_shop_info") +public class OldShopInfo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 自增id + */ + @Id(keyType = KeyType.Auto) + private Long id; + + /** + * 主店id + */ + private Integer mainId; + + /** + * 店铺帐号 + */ + private String account; + + /** + * 店铺代号,策略方式为city +店铺号(8位) + */ + private String shopCode; + + /** + * 店铺口号 + */ + private String subTitle; + + /** + * 商户Id + */ + private String merchantId; + + /** + * 店铺名称 + */ + private String shopName; + + /** + * 连锁店扩展店名 + */ + private String chainName; + + /** + * 背景图 + */ + private String backImg; + + /** + * 门头照 + */ + private String frontImg; + + /** + * 联系人姓名 + */ + private String contactName; + + /** + * 联系电话 + */ + private String phone; + + /** + * 店铺log0 + */ + private String logo; + + /** + * 是否参与代收 0--不参与 1参与 + */ + private Integer isDeposit; + + /** + * 是否为供应商 + */ + private Integer isSupply; + + /** + * 封面图 + */ + private String coverImg; + + /** + * 店铺分享图 + */ + private String shareImg; + + /** + * 轮播图 + */ + private String view; + + /** + * 店铺简介 + */ + private String detail; + + /** + * 经纬度 + */ + private String lat; + + /** + * 经纬度 + */ + private String lng; + + /** + * 未用 + */ + private String mchId; + + private String registerType; + + /** + * 是否独立的微信小程序 + */ + private Integer isWxMaIndependent; + + /** + * 详细地址 + */ + private String address; + + /** + * 类似于这种规则51.51.570 + */ + private String city; + + /** + * 店铺类型 单店--only 连锁店--chain--加盟店join + */ + private String type; + + /** + * 管理 0否 1是 + */ + private Integer tubeType; + + /** + * 行业 + */ + private String industry; + + /** + * 行业名称 + */ + private String industryName; + + /** + * 营业时间(周开始) + */ + private String businessStartDay; + + /** + * 营业时间(周结束) + */ + private String businessEndDay; + + /** + * 营业时间 + */ + private String businessTime; + + /** + * 配送时间 + */ + private String postTime; + + private BigDecimal postAmountLine; + + /** + * 0停业1,正常营业,网上售卖 + */ + private Integer onSale; + + /** + * 0今日,1次日 + */ + private Integer settleType; + + /** + * 时间 + */ + private String settleTime; + + /** + * 入驻时间 + */ + private Integer enterAt; + + /** + * 到期时间 + */ + private Long expireAt; + + /** + * -1 平台禁用 0-过期,1正式营业, + */ + private Integer status; + + /** + * 人均消费 + */ + private Float average; + + /** + * 订单等待时间 + */ + private Integer orderWaitPayMinute; + + /** + * 支持登陆设备个数 + */ + private Integer supportDeviceNumber; + + /** + * 分销层级(1-下级分销 2-两下级分销) + */ + private Integer distributeLevel; + + private Long createdAt; + + private Long updatedAt; + + private String proxyId; + + /** + * trial试用版,release正式 + */ + private String profiles; + + /** + * 商家二维码 + */ + private String shopQrcode; + + /** + * 商家标签 + */ + private String tag; + + private String isOpenYhq; + + /** + * 0否1是 + */ + private Integer isUseVip; + + /** + * 省 + */ + private String provinces; + + /** + * 市 + */ + private String cities; + + /** + * 区/县 + */ + private String districts; + + /** + * 是否允许会员自定义金额 1 允许 0 不允许 + */ + private String isCustom; + + /** + * 是否开启退款密码 1 启用 0 禁用 + */ + private String isReturn; + + /** + * 是否开启会员充值密码 1 启用 0 禁用 + */ + private String isMemberIn; + + /** + * 是否开启会员退款密码 1 启用 0 禁用 + */ + private String isMemberReturn; + + /** + * 是否免除桌位费 0否1是 + */ + private Integer isTableFee; + + /** + * 是否启用会员价 0否1是 + */ + private Integer isMemberPrice; + + /** + * 积分群体 all-所有 vip-仅针对会员 + */ + private String consumeColony; + + /** + * 桌位费 + */ + private BigDecimal tableFee; + + /** + * 就餐模式 堂食 dine-in 外带 take-out + */ + private String eatModel; + + /** + * 小程序码(零点八零首页) + */ + private String smallQrcode; + + /** + * 店铺收款码 + */ + private String paymentQrcode; + + /** + * 台桌预订短信 + */ + private String bookingSms; + +} diff --git a/src/main/java/com/czg/mergedata/old/entity/OldSysUser.java b/src/main/java/com/czg/mergedata/old/entity/OldSysUser.java new file mode 100644 index 0000000..5de515d --- /dev/null +++ b/src/main/java/com/czg/mergedata/old/entity/OldSysUser.java @@ -0,0 +1,121 @@ +package com.czg.mergedata.old.entity; + +import com.mybatisflex.annotation.Column; +import com.mybatisflex.annotation.Id; +import com.mybatisflex.annotation.KeyType; +import com.mybatisflex.annotation.Table; +import java.io.Serializable; +import java.time.LocalDateTime; + +import java.io.Serial; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * 系统用户 实体类。 + * + * @author mac + * @since 2025-02-15 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@Table("sys_user") +public class OldSysUser implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * ID + */ + @Id(keyType = KeyType.Auto) + private Long userId; + + /** + * 部门名称 + */ + private Long deptId; + + /** + * 用户名 + */ + private String username; + + /** + * 昵称 + */ + private String nickName; + + /** + * 性别 + */ + private String gender; + + /** + * 手机号码 + */ + private String phone; + + /** + * 邮箱 + */ + private String email; + + /** + * 头像地址 + */ + private String avatarName; + + /** + * 头像真实路径 + */ + private String avatarPath; + + /** + * 密码 + */ + private String password; + + /** + * 是否为admin账号 + */ + private Boolean isAdmin; + + /** + * 状态:1启用、0禁用 + */ + private Long enabled; + + /** + * 创建者 + */ + private String createBy; + + /** + * 更新者 + */ + private String updateBy; + + /** + * 修改密码的时间 + */ + private LocalDateTime pwdResetTime; + + /** + * 创建日期 + */ + @Column(onInsertValue = "now()") + private LocalDateTime createTime; + + /** + * 更新时间 + */ + @Column(onInsertValue = "now()", onUpdateValue = "now()") + private LocalDateTime updateTime; + +} diff --git a/src/main/java/com/czg/mergedata/old/mapper/OldPlussShopStaffMapper.java b/src/main/java/com/czg/mergedata/old/mapper/OldPlussShopStaffMapper.java new file mode 100644 index 0000000..d5680da --- /dev/null +++ b/src/main/java/com/czg/mergedata/old/mapper/OldPlussShopStaffMapper.java @@ -0,0 +1,14 @@ +package com.czg.mergedata.old.mapper; + +import com.mybatisflex.core.BaseMapper; +import com.czg.mergedata.old.entity.OldPlussShopStaff; + +/** + * 映射层。 + * + * @author mac + * @since 2025-02-15 + */ +public interface OldPlussShopStaffMapper extends BaseMapper { + +} diff --git a/src/main/java/com/czg/mergedata/old/mapper/OldShopInfoMapper.java b/src/main/java/com/czg/mergedata/old/mapper/OldShopInfoMapper.java new file mode 100644 index 0000000..df0f42f --- /dev/null +++ b/src/main/java/com/czg/mergedata/old/mapper/OldShopInfoMapper.java @@ -0,0 +1,14 @@ +package com.czg.mergedata.old.mapper; + +import com.mybatisflex.core.BaseMapper; +import com.czg.mergedata.old.entity.OldShopInfo; + +/** + * 映射层。 + * + * @author mac + * @since 2025-02-15 + */ +public interface OldShopInfoMapper extends BaseMapper { + +} diff --git a/src/main/java/com/czg/mergedata/old/mapper/OldSysUserMapper.java b/src/main/java/com/czg/mergedata/old/mapper/OldSysUserMapper.java new file mode 100644 index 0000000..6dce450 --- /dev/null +++ b/src/main/java/com/czg/mergedata/old/mapper/OldSysUserMapper.java @@ -0,0 +1,14 @@ +package com.czg.mergedata.old.mapper; + +import com.mybatisflex.core.BaseMapper; +import com.czg.mergedata.old.entity.OldSysUser; + +/** + * 系统用户 映射层。 + * + * @author mac + * @since 2025-02-15 + */ +public interface OldSysUserMapper extends BaseMapper { + +} diff --git a/src/main/java/com/czg/mergedata/old/service/OldPlussShopStaffService.java b/src/main/java/com/czg/mergedata/old/service/OldPlussShopStaffService.java new file mode 100644 index 0000000..e392356 --- /dev/null +++ b/src/main/java/com/czg/mergedata/old/service/OldPlussShopStaffService.java @@ -0,0 +1,14 @@ +package com.czg.mergedata.old.service; + +import com.mybatisflex.core.service.IService; +import com.czg.mergedata.old.entity.OldPlussShopStaff; + +/** + * 服务层。 + * + * @author mac + * @since 2025-02-15 + */ +public interface OldPlussShopStaffService extends IService { + +} diff --git a/src/main/java/com/czg/mergedata/old/service/OldShopInfoService.java b/src/main/java/com/czg/mergedata/old/service/OldShopInfoService.java new file mode 100644 index 0000000..61587a3 --- /dev/null +++ b/src/main/java/com/czg/mergedata/old/service/OldShopInfoService.java @@ -0,0 +1,14 @@ +package com.czg.mergedata.old.service; + +import com.mybatisflex.core.service.IService; +import com.czg.mergedata.old.entity.OldShopInfo; + +/** + * 服务层。 + * + * @author mac + * @since 2025-02-15 + */ +public interface OldShopInfoService extends IService { + +} diff --git a/src/main/java/com/czg/mergedata/old/service/OldSysUserService.java b/src/main/java/com/czg/mergedata/old/service/OldSysUserService.java new file mode 100644 index 0000000..6623673 --- /dev/null +++ b/src/main/java/com/czg/mergedata/old/service/OldSysUserService.java @@ -0,0 +1,14 @@ +package com.czg.mergedata.old.service; + +import com.mybatisflex.core.service.IService; +import com.czg.mergedata.old.entity.OldSysUser; + +/** + * 系统用户 服务层。 + * + * @author mac + * @since 2025-02-15 + */ +public interface OldSysUserService extends IService { + +} diff --git a/src/main/java/com/czg/mergedata/old/service/impl/OldPlussShopStaffImpl.java b/src/main/java/com/czg/mergedata/old/service/impl/OldPlussShopStaffImpl.java new file mode 100644 index 0000000..09b15b1 --- /dev/null +++ b/src/main/java/com/czg/mergedata/old/service/impl/OldPlussShopStaffImpl.java @@ -0,0 +1,18 @@ +package com.czg.mergedata.old.service.impl; + +import com.mybatisflex.spring.service.impl.ServiceImpl; +import com.czg.mergedata.old.entity.OldPlussShopStaff; +import com.czg.mergedata.old.mapper.OldPlussShopStaffMapper; +import com.czg.mergedata.old.service.OldPlussShopStaffService; +import org.springframework.stereotype.Service; + +/** + * 服务层实现。 + * + * @author mac + * @since 2025-02-15 + */ +@Service +public class OldPlussShopStaffImpl extends ServiceImpl implements OldPlussShopStaffService{ + +} diff --git a/src/main/java/com/czg/mergedata/old/service/impl/OldShopInfoImpl.java b/src/main/java/com/czg/mergedata/old/service/impl/OldShopInfoImpl.java new file mode 100644 index 0000000..11f03d6 --- /dev/null +++ b/src/main/java/com/czg/mergedata/old/service/impl/OldShopInfoImpl.java @@ -0,0 +1,18 @@ +package com.czg.mergedata.old.service.impl; + +import com.mybatisflex.spring.service.impl.ServiceImpl; +import com.czg.mergedata.old.entity.OldShopInfo; +import com.czg.mergedata.old.mapper.OldShopInfoMapper; +import com.czg.mergedata.old.service.OldShopInfoService; +import org.springframework.stereotype.Service; + +/** + * 服务层实现。 + * + * @author mac + * @since 2025-02-15 + */ +@Service +public class OldShopInfoImpl extends ServiceImpl implements OldShopInfoService{ + +} diff --git a/src/main/java/com/czg/mergedata/old/service/impl/OldSysUserImpl.java b/src/main/java/com/czg/mergedata/old/service/impl/OldSysUserImpl.java new file mode 100644 index 0000000..f40d5a6 --- /dev/null +++ b/src/main/java/com/czg/mergedata/old/service/impl/OldSysUserImpl.java @@ -0,0 +1,18 @@ +package com.czg.mergedata.old.service.impl; + +import com.mybatisflex.spring.service.impl.ServiceImpl; +import com.czg.mergedata.old.entity.OldSysUser; +import com.czg.mergedata.old.mapper.OldSysUserMapper; +import com.czg.mergedata.old.service.OldSysUserService; +import org.springframework.stereotype.Service; + +/** + * 系统用户 服务层实现。 + * + * @author mac + * @since 2025-02-15 + */ +@Service +public class OldSysUserImpl extends ServiceImpl implements OldSysUserService{ + +} diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml new file mode 100644 index 0000000..9923ef3 --- /dev/null +++ b/src/main/resources/application-dev.yml @@ -0,0 +1,14 @@ +spring: + datasource: + cur: + driver-class-name: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://rm-bp1kn7h89nz62cno1ro.mysql.rds.aliyuncs.com:3306/czg_cashier?useUnicode=true&characterEncoding=utf-8 + username: cashier + password: Cashier@1@ + old: + driver-class-name: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://rm-bp1kn7h89nz62cno1ro.mysql.rds.aliyuncs.com:3306/fycashier_test?useUnicode=true&characterEncoding=utf-8 + username: cashier + password: Cashier@1@ + + diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml new file mode 100644 index 0000000..dc5703c --- /dev/null +++ b/src/main/resources/application-prod.yml @@ -0,0 +1,36 @@ + +spring: + datasource: + driver-class-name: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://rm-bp1kn7h89nz62cno1ro.mysql.rds.aliyuncs.com:3306/czg_cashier?useUnicode=true&characterEncoding=utf-8 + username: cashier + password: Cashier@1@ + + data: + redis: + host: 121.40.109.122 + port: 6379 + password: chaozg123 + timeout: 1000 + database: 2 + + cloud: + nacos: + discovery: + server-addr: 121.40.109.122:8848 + namespace: 237e1905-0a66-4375-9bb6-a51c3c034aca + +dubbo: + application: + name: account-server + qos-port: 22221 + qos-enable: true + registry: + address: nacos://121.40.109.122:8848 # Nacos 服务地址 + group: server-test + namespace: 237e1905-0a66-4375-9bb6-a51c3c034aca + protocol: + port: 9101 + threads: 20 + threadpool: fixed + diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml new file mode 100644 index 0000000..42a83d9 --- /dev/null +++ b/src/main/resources/application.yml @@ -0,0 +1,15 @@ +server: + port: 8100 + servlet: + context-path: /merge + +spring: + application: + name: merge-data-server + profiles: + active: dev + +logging: + config: classpath:logback.xml + + diff --git a/src/main/resources/logback.xml b/src/main/resources/logback.xml new file mode 100644 index 0000000..5d27f70 --- /dev/null +++ b/src/main/resources/logback.xml @@ -0,0 +1,37 @@ + + + account-server + + + + + + + + ${log.pattern} + ${log.charset} + + + + + logs/logback.log + + + logs/history/%d{yyyy-MM-dd}/logback.%i.log.gz + + 30 + 20MB + + + + ${p_file} + UTF-8 + + + + + + + + + diff --git a/src/main/resources/mapper/cur/ShopInfoMapper.xml b/src/main/resources/mapper/cur/ShopInfoMapper.xml new file mode 100644 index 0000000..61560a6 --- /dev/null +++ b/src/main/resources/mapper/cur/ShopInfoMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/src/main/resources/mapper/cur/ShopStaffMapper.xml b/src/main/resources/mapper/cur/ShopStaffMapper.xml new file mode 100644 index 0000000..1bc1a12 --- /dev/null +++ b/src/main/resources/mapper/cur/ShopStaffMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/src/main/resources/mapper/cur/SysUserMapper.xml b/src/main/resources/mapper/cur/SysUserMapper.xml new file mode 100644 index 0000000..80a3a43 --- /dev/null +++ b/src/main/resources/mapper/cur/SysUserMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/src/main/resources/mapper/old/PlussShopStaffMapper.xml b/src/main/resources/mapper/old/PlussShopStaffMapper.xml new file mode 100644 index 0000000..809e4bd --- /dev/null +++ b/src/main/resources/mapper/old/PlussShopStaffMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/src/main/resources/mapper/old/ShopInfoMapper.xml b/src/main/resources/mapper/old/ShopInfoMapper.xml new file mode 100644 index 0000000..fe927d6 --- /dev/null +++ b/src/main/resources/mapper/old/ShopInfoMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/src/main/resources/mapper/old/SysUserMapper.xml b/src/main/resources/mapper/old/SysUserMapper.xml new file mode 100644 index 0000000..bd6bb66 --- /dev/null +++ b/src/main/resources/mapper/old/SysUserMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/src/test/java/com/czg/mergedata/MergeDataApplicationTests.java b/src/test/java/com/czg/mergedata/MergeDataApplicationTests.java new file mode 100644 index 0000000..9a43b0c --- /dev/null +++ b/src/test/java/com/czg/mergedata/MergeDataApplicationTests.java @@ -0,0 +1,13 @@ +package com.czg.mergedata; + +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.context.SpringBootTest; + +@SpringBootTest +class MergeDataApplicationTests { + + @Test + void contextLoads() { + } + +}