数据同步

master
白美平 3 months ago
parent 1e44f55bc8
commit 60317b725d

@ -3,6 +3,12 @@
<component name="CopilotChatHistory">
<option name="conversations">
<list>
<Conversation>
<option name="createTime" value="1754267486477" />
<option name="id" value="0198727d890d72efbb16f5ace3ae6d42" />
<option name="title" value="新对话 2025年8月04日 08:31:26" />
<option name="updateTime" value="1754267486477" />
</Conversation>
<Conversation>
<option name="createTime" value="1753679015685" />
<option name="id" value="01984f6a2f05720fb027b99d8d40a3e1" />

@ -10,16 +10,30 @@
<option name="autoReloadType" value="SELECTIVE" />
</component>
<component name="ChangeListManager">
<list default="true" id="29bcb86b-1634-41e0-a498-79481163cba8" name="Changes" comment="修改积分核销不显示核销的积分数">
<list default="true" id="29bcb86b-1634-41e0-a498-79481163cba8" name="Changes" comment="修改积分核销失败的问题">
<change afterPath="$PROJECT_DIR$/src/main/java/com/nmgs/controller/SolveIntegralController.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/java/com/nmgs/service/impl/IntegralRebatSolveServiceImpl.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/CopilotChatHistory.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/CopilotChatHistory.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/nmgs/controller/AppointmentInfoController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/nmgs/controller/AppointmentInfoController.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/nmgs/controller/QcodeInfoController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/nmgs/controller/QcodeInfoController.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/nmgs/common/GlobalExceptionHandler.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/nmgs/common/GlobalExceptionHandler.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/nmgs/config/DataSourceConfig.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/nmgs/config/DataSourceConfig.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/nmgs/config/MybatisConfig.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/nmgs/config/MybatisConfig.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/nmgs/controller/UserController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/nmgs/controller/UserController.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/nmgs/controller/UserVehicleController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/nmgs/controller/UserVehicleController.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/nmgs/mapperset/mysqlmapper/IntegrationListMyMapper.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/nmgs/mapperset/mysqlmapper/IntegrationListMyMapper.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/nmgs/mapperset/mysqlmapper/IntegrationListMyMapper.xml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/nmgs/mapperset/mysqlmapper/IntegrationListMyMapper.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/nmgs/mapperset/mysqlmapper/UserTableMysqlMapper.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/nmgs/mapperset/mysqlmapper/UserTableMysqlMapper.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/nmgs/mapperset/mysqlmapper/UserTableMysqlMapper.xml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/nmgs/mapperset/mysqlmapper/UserTableMysqlMapper.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/nmgs/mapperset/oraclemapper/IntegrationListMapper.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/nmgs/mapperset/oraclemapper/IntegrationListMapper.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/nmgs/mapperset/oraclemapper/IntegrationListMapper.xml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/nmgs/mapperset/oraclemapper/IntegrationListMapper.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/nmgs/mapperset/oraclemapper/UserTableMapper.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/nmgs/mapperset/oraclemapper/UserTableMapper.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/nmgs/mapperset/oraclemapper/UserTableMapper.xml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/nmgs/mapperset/oraclemapper/UserTableMapper.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/nmgs/service/impl/ApponintmentInfoServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/nmgs/service/impl/ApponintmentInfoServiceImpl.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/nmgs/service/impl/QCodeInfoServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/nmgs/service/impl/QCodeInfoServiceImpl.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/nmgs/service/UserTableService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/nmgs/service/UserTableService.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/nmgs/service/impl/ServiceAreaServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/nmgs/service/impl/ServiceAreaServiceImpl.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/nmgs/service/impl/UserTableServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/nmgs/service/impl/UserTableServiceImpl.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/nmgs/service/impl/UserVehicleServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/nmgs/service/impl/UserVehicleServiceImpl.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/nmgs/util/PubTools.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/nmgs/util/PubTools.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/resources/static/application.properties" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/static/application.properties" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
@ -82,61 +96,61 @@
<component name="ProjectViewState">
<option name="showLibraryContents" value="true" />
</component>
<component name="PropertiesComponent"><![CDATA[{
"keyToString": {
"ASKED_SHARE_PROJECT_CONFIGURATION_FILES": "true",
"Application.DivPassDataImpl.executor": "Run",
"Application.ImageUtils.executor": "Run",
"Application.OcrUtil.executor": "Debug",
"Application.PubTools.executor": "Run",
"Application.QCodeInfoServiceImpl.executor": "Debug",
"Application.SensitiveFilter.executor": "Run",
"Application.main.executor": "Run",
"Application.redisConfigUtil.executor": "Debug",
"Maven.IntegraManager [clean].executor": "Run",
"Maven.IntegraManager [install].executor": "Run",
"Maven.IntegralManager [clean].executor": "Run",
"Maven.IntegralManager [install].executor": "Run",
"Maven.IntegralManager [site].executor": "Run",
"Maven.IntegralManager [validate].executor": "Run",
"Maven.IntegralManagerSys [clean].executor": "Run",
"Maven.IntegralManagerSys [install].executor": "Run",
"Maven.devProject [clean].executor": "Run",
"Maven.devProject [install].executor": "Run",
"Maven.dev_project [clean].executor": "Run",
"Maven.dev_project [install].executor": "Run",
"Maven.special_event [clean].executor": "Run",
"Maven.special_event [install].executor": "Run",
"Maven.special_event [org.apache.maven.plugins:maven-assembly-plugin:3.3.0:single].executor": "Run",
"Maven.special_event [org.springframework.boot:spring-boot-maven-plugin:2.7.11:repackage].executor": "Run",
"Maven.special_event [package].executor": "Run",
"Maven.special_event [validate].executor": "Run",
"RunOnceActivity.OpenProjectViewOnStart": "true",
"RunOnceActivity.ShowReadmeOnStart": "true",
"SHARE_PROJECT_CONFIGURATION_FILES": "true",
"TomEE Server.special_event.executor": "Debug",
"Tomcat Server.Tomcat 9.0.80.executor": "Debug",
"deletionFromPopupRequiresConfirmation": "false",
"git-widget-placeholder": "master",
"kotlin-language-version-configured": "true",
"last_opened_file_path": "D:/workspace/JTDataDiv",
"node.js.detected.package.eslint": "true",
"node.js.detected.package.tslint": "true",
"node.js.selected.package.eslint": "(autodetect)",
"node.js.selected.package.tslint": "(autodetect)",
"nodejs_package_manager_path": "npm",
"project.structure.last.edited": "Artifacts",
"project.structure.proportion": "0.15",
"project.structure.side.proportion": "0.37169158",
"settings.editor.selected.configurable": "reference.settings.project.maven.importing",
"vue.rearranger.settings.migration": "true"
<component name="PropertiesComponent">{
&quot;keyToString&quot;: {
&quot;ASKED_SHARE_PROJECT_CONFIGURATION_FILES&quot;: &quot;true&quot;,
&quot;Application.DivPassDataImpl.executor&quot;: &quot;Run&quot;,
&quot;Application.ImageUtils.executor&quot;: &quot;Run&quot;,
&quot;Application.OcrUtil.executor&quot;: &quot;Debug&quot;,
&quot;Application.PubTools.executor&quot;: &quot;Run&quot;,
&quot;Application.QCodeInfoServiceImpl.executor&quot;: &quot;Debug&quot;,
&quot;Application.SensitiveFilter.executor&quot;: &quot;Run&quot;,
&quot;Application.main.executor&quot;: &quot;Run&quot;,
&quot;Application.redisConfigUtil.executor&quot;: &quot;Debug&quot;,
&quot;Maven.IntegraManager [clean].executor&quot;: &quot;Run&quot;,
&quot;Maven.IntegraManager [install].executor&quot;: &quot;Run&quot;,
&quot;Maven.IntegralManager [clean].executor&quot;: &quot;Run&quot;,
&quot;Maven.IntegralManager [install].executor&quot;: &quot;Run&quot;,
&quot;Maven.IntegralManager [site].executor&quot;: &quot;Run&quot;,
&quot;Maven.IntegralManager [validate].executor&quot;: &quot;Run&quot;,
&quot;Maven.IntegralManagerSys [clean].executor&quot;: &quot;Run&quot;,
&quot;Maven.IntegralManagerSys [install].executor&quot;: &quot;Run&quot;,
&quot;Maven.devProject [clean].executor&quot;: &quot;Run&quot;,
&quot;Maven.devProject [install].executor&quot;: &quot;Run&quot;,
&quot;Maven.dev_project [clean].executor&quot;: &quot;Run&quot;,
&quot;Maven.dev_project [install].executor&quot;: &quot;Run&quot;,
&quot;Maven.special_event [clean].executor&quot;: &quot;Run&quot;,
&quot;Maven.special_event [install].executor&quot;: &quot;Run&quot;,
&quot;Maven.special_event [org.apache.maven.plugins:maven-assembly-plugin:3.3.0:single].executor&quot;: &quot;Run&quot;,
&quot;Maven.special_event [org.springframework.boot:spring-boot-maven-plugin:2.7.11:repackage].executor&quot;: &quot;Run&quot;,
&quot;Maven.special_event [package].executor&quot;: &quot;Run&quot;,
&quot;Maven.special_event [validate].executor&quot;: &quot;Run&quot;,
&quot;RunOnceActivity.OpenProjectViewOnStart&quot;: &quot;true&quot;,
&quot;RunOnceActivity.ShowReadmeOnStart&quot;: &quot;true&quot;,
&quot;SHARE_PROJECT_CONFIGURATION_FILES&quot;: &quot;true&quot;,
&quot;TomEE Server.special_event.executor&quot;: &quot;Debug&quot;,
&quot;Tomcat Server.Tomcat 9.0.80.executor&quot;: &quot;Debug&quot;,
&quot;deletionFromPopupRequiresConfirmation&quot;: &quot;false&quot;,
&quot;git-widget-placeholder&quot;: &quot;master&quot;,
&quot;kotlin-language-version-configured&quot;: &quot;true&quot;,
&quot;last_opened_file_path&quot;: &quot;D:/workspace/IntegralManager&quot;,
&quot;node.js.detected.package.eslint&quot;: &quot;true&quot;,
&quot;node.js.detected.package.tslint&quot;: &quot;true&quot;,
&quot;node.js.selected.package.eslint&quot;: &quot;(autodetect)&quot;,
&quot;node.js.selected.package.tslint&quot;: &quot;(autodetect)&quot;,
&quot;nodejs_package_manager_path&quot;: &quot;npm&quot;,
&quot;project.structure.last.edited&quot;: &quot;Artifacts&quot;,
&quot;project.structure.proportion&quot;: &quot;0.15&quot;,
&quot;project.structure.side.proportion&quot;: &quot;0.37169158&quot;,
&quot;settings.editor.selected.configurable&quot;: &quot;reference.settings.project.maven.importing&quot;,
&quot;vue.rearranger.settings.migration&quot;: &quot;true&quot;
},
"keyToStringList": {
"DatabaseDriversLRU": [
"oracle"
&quot;keyToStringList&quot;: {
&quot;DatabaseDriversLRU&quot;: [
&quot;oracle&quot;
]
}
}]]></component>
}</component>
<component name="ReactorSettings">
<option name="notificationShown" value="true" />
</component>
@ -152,11 +166,11 @@
<recent name="E:\work\TGGLT-WorkSpace\dev_project\src\main\java\com\nmgs\mapper" />
</key>
<key name="CopyClassDialog.RECENTS_KEY">
<recent name="com.nmgs.controller" />
<recent name="com.nmgs.service.impl" />
<recent name="com.nmgs.mapperset.oraclemapper" />
<recent name="com.nmgs.config" />
<recent name="com.nmgs.common" />
<recent name="com.nmgs.controller" />
<recent name="com.nmgs.service.impl" />
</key>
</component>
<component name="RunManager" selected="Tomcat Server.Tomcat 9.0.80">
@ -188,7 +202,7 @@
</configuration>
<configuration name="Tomcat 9.0.80" type="#com.intellij.j2ee.web.tomcat.TomcatRunConfigurationFactory" factoryName="Local" APPLICATION_SERVER_NAME="Tomcat 9.0.80" ALTERNATIVE_JRE_ENABLED="true" ALTERNATIVE_JRE_PATH="1.8 (2)" nameIsGenerated="true">
<option name="OPEN_IN_BROWSER" value="false" />
<option name="OPEN_IN_BROWSER_URL" value="http://192.168.101.59:9002/IntegralManager/doc.html" />
<option name="OPEN_IN_BROWSER_URL" value="http://192.168.101.39:9002/IntegralManager/doc.html" />
<option name="COMMON_VM_ARGUMENTS" value="-Dfile.encoding=utf-8" />
<option name="UPDATING_POLICY" value="restart-server" />
<deployment>
@ -624,7 +638,18 @@
<workItem from="1753165039568" duration="2823000" />
<workItem from="1753673602009" duration="1321000" />
<workItem from="1753679011086" duration="14733000" />
<workItem from="1753747678539" duration="8436000" />
<workItem from="1753747678539" duration="10940000" />
<workItem from="1753840543911" duration="918000" />
<workItem from="1753841924373" duration="4418000" />
<workItem from="1753931918131" duration="2276000" />
<workItem from="1753942770529" duration="2105000" />
<workItem from="1754018303998" duration="10342000" />
<workItem from="1754267484260" duration="626000" />
<workItem from="1755239084558" duration="3856000" />
<workItem from="1755564954257" duration="16711000" />
<workItem from="1755760863043" duration="5702000" />
<workItem from="1755767987191" duration="488000" />
<workItem from="1756173838376" duration="2903000" />
</task>
<task id="LOCAL-00001" summary="特请处理">
<option name="closed" value="true" />
@ -858,7 +883,15 @@
<option name="project" value="LOCAL" />
<updated>1753167913617</updated>
</task>
<option name="localTasksCounter" value="30" />
<task id="LOCAL-00030" summary="修改积分核销失败的问题">
<option name="closed" value="true" />
<created>1753759290530</created>
<option name="number" value="00030" />
<option name="presentableId" value="LOCAL-00030" />
<option name="project" value="LOCAL" />
<updated>1753759290530</updated>
</task>
<option name="localTasksCounter" value="31" />
<servers />
</component>
<component name="TypeScriptGeneratedFilesManager">
@ -896,7 +929,8 @@
<MESSAGE value="去除一些不必要日志" />
<MESSAGE value="连接两个数据库进行同步数据,并且保持事务一致性" />
<MESSAGE value="修改积分核销不显示核销的积分数" />
<option name="LAST_COMMIT_MESSAGE" value="修改积分核销不显示核销的积分数" />
<MESSAGE value="修改积分核销失败的问题" />
<option name="LAST_COMMIT_MESSAGE" value="修改积分核销失败的问题" />
</component>
<component name="XDebuggerManager">
<breakpoint-manager>
@ -921,11 +955,6 @@
<line>115</line>
<option name="timeStamp" value="43" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/main/java/com/nmgs/service/impl/QCodeInfoServiceImpl.java</url>
<line>666</line>
<option name="timeStamp" value="49" />
</line-breakpoint>
</breakpoints>
</breakpoint-manager>
</component>

@ -33,7 +33,7 @@ public class DataSourceConfig {
@Bean
public UserTransaction localuserTransaction() throws SystemException {
UserTransactionImp userTransactionImp = new UserTransactionImp();
userTransactionImp.setTransactionTimeout(6000);
userTransactionImp.setTransactionTimeout(600);
return userTransactionImp;
}
@ -41,7 +41,7 @@ public class DataSourceConfig {
public TransactionManager localtransactionManager() throws SystemException {
UserTransactionManager userTransactionManager = new UserTransactionManager();
userTransactionManager.setForceShutdown(false);
userTransactionManager.setTransactionTimeout(6000);
userTransactionManager.setTransactionTimeout(600);
return userTransactionManager;
}
@ -50,7 +50,7 @@ public class DataSourceConfig {
UserTransaction localuserTransaction,
TransactionManager localtransactionManager) {
JtaTransactionManager jtaTransactionManager = new JtaTransactionManager(localuserTransaction, localtransactionManager);
jtaTransactionManager.setDefaultTimeout(6000);
jtaTransactionManager.setDefaultTimeout(600);
return jtaTransactionManager;
}
/**
@ -85,9 +85,9 @@ public class DataSourceConfig {
//atomikosDataSourceBean.setXaDataSourceClassName("com.zaxxer.hikari.HikariXADataSource");
// 必须为数据源指定唯一标识
atomikosDataSourceBean.setUniqueResourceName("oracleDataSource");
atomikosDataSourceBean.setMinPoolSize(3);
atomikosDataSourceBean.setMaxPoolSize(25);
atomikosDataSourceBean.setMaxIdleTime(60000);
atomikosDataSourceBean.setMinPoolSize(1);
atomikosDataSourceBean.setMaxPoolSize(10);
atomikosDataSourceBean.setMaxIdleTime(600000);
//获取连接的最大等待时间(单位:秒),超时抛出异常。默认 0无限等待建议设为 30 秒。
atomikosDataSourceBean.setBorrowConnectionTimeout(300);
// 每分钟检查空闲连接(单位:秒)‌
@ -106,7 +106,6 @@ public class DataSourceConfig {
@Bean
@ConfigurationProperties(prefix = "spring.datasource.bak")
public XADataSource getDataSourceBak() throws SQLException {
// 创建XA连接池
// 创建XA连接池
if("2".equals(PropertiesUtil.getValue("BakDBType"))){
OracleXADataSource oracleXADataSource = new OracleXADataSource();
@ -130,10 +129,10 @@ public class DataSourceConfig {
//atomikosDataSourceBean.setXaDataSourceClassName("com.zaxxer.hikari.HikariXADataSource");
// 必须为数据源指定唯一标识
atomikosDataSourceBean.setUniqueResourceName("mysqlDataSource");
atomikosDataSourceBean.setMinPoolSize(2);
atomikosDataSourceBean.setMaxPoolSize(50);
atomikosDataSourceBean.setMinPoolSize(1);
atomikosDataSourceBean.setMaxPoolSize(10);
// 空闲连接保留 300 秒5分钟
atomikosDataSourceBean.setMaxIdleTime(60000);
atomikosDataSourceBean.setMaxIdleTime(600000);
atomikosDataSourceBean.setTestQuery("select 1");
//获取连接的最大等待时间(单位:秒),超时抛出异常。默认 0无限等待建议设为 30 秒。
atomikosDataSourceBean.setBorrowConnectionTimeout(300);
@ -150,7 +149,13 @@ public class DataSourceConfig {
@Bean(name = "commonDataSource")
@ConfigurationProperties(prefix = "spring.datasource.main")
public DataSource commonDataSource() {
return DataSourceBuilder.create().type(HikariDataSource.class).build();
HikariDataSource build = DataSourceBuilder.create().type(HikariDataSource.class).build();
build.setConnectionTimeout(600000);
build.setMinimumIdle(2);
build.setMaximumPoolSize(10);
build.setMaxLifetime(1800000);
build.setIdleTimeout(60000);
return build;
}
public static DataSource initSource(String sourceType){
DataSourceConfig dsc=new DataSourceConfig();
@ -160,7 +165,8 @@ public class DataSourceConfig {
}else if("BAK".equals(sourceType)){
return (DataSource)dsc.getDataSourcePrimary();
}else if("COMMON".equals(sourceType)){
return dsc.commonDataSource();
// return dsc.commonDataSource();
return (DataSource) dsc.getDataSourcePrimary();
}
}catch (Exception e){

@ -57,6 +57,7 @@ public class MybatisConfig {
sessionFactory.setDataSource(bakDataSource);
MybatisConfiguration configuration = new MybatisConfiguration();
configuration.addInterceptor(mybatisPlusInterceptor );
configuration.setCallSettersOnNulls(true);
// 配置打印sql语句
if("Y".equals(PropertiesUtil.getValue("mybatislogImplEnabled"))){
configuration.setLogImpl(StdOutImpl.class);
@ -92,6 +93,7 @@ public class MybatisConfig {
}
MybatisConfiguration configuration = new MybatisConfiguration();
configuration.addInterceptor(mybatisPlusInterceptor );
configuration.setCallSettersOnNulls(true);
// 配置打印sql语句
if("Y".equals(PropertiesUtil.getValue("mybatislogImplEnabled"))){
configuration.setLogImpl(StdOutImpl.class);
@ -112,7 +114,7 @@ public class MybatisConfig {
public static class commonMyBatisConfig {
@Autowired
@Qualifier("commonDataSource")
@Qualifier("primaryDataSource")
private DataSource commonDataSource;
@Autowired
@Qualifier("mybatisPlusInterceptor")
@ -126,6 +128,7 @@ public class MybatisConfig {
sessionFactory.setDataSource(commonDataSource);
MybatisConfiguration configuration = new MybatisConfiguration();
configuration.addInterceptor(mybatisPlusInterceptor );
configuration.setCallSettersOnNulls(true);
// 配置打印sql语句
if("Y".equals(PropertiesUtil.getValue("mybatislogImplEnabled"))){
configuration.setLogImpl(StdOutImpl.class);

@ -0,0 +1,45 @@
package com.nmgs.controller;
import com.nmgs.config.ResultData;
import com.nmgs.service.UserTableService;
import com.nmgs.service.impl.IntegralRebatSolveServiceImpl;
import com.nmgs.util.LogUtil;
import com.nmgs.util.PubTools;
import com.nmgs.util.redisConfigUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController
@RequestMapping("solveIntegral")
@Api(tags = "用户积分异常数据处理")
public class SolveIntegralController {
public IntegralRebatSolveServiceImpl integralRebatSolveServiceImpl;
@Autowired
public void setUserTableService(IntegralRebatSolveServiceImpl userTableServiceT) {
this.integralRebatSolveServiceImpl = userTableServiceT;
}
@RequestMapping(value = "startSolve",
method = {RequestMethod.POST}
)
@ApiOperation(value = "积分处理", httpMethod = "POST")
public ResultData<String> startSolve(@RequestParam("userId") String userId, @RequestParam("startTime") String startTime) {
LogUtil.WriteLog_Info("用户积分处理开始======={userId:" + userId + ",startTime:" + startTime + "}", "SolveIntegralController");
int i1 = integralRebatSolveServiceImpl.solveIntegralRebat(userId, startTime);
if (i1 < 0) {
return ResultData.fail("人员积分处理失败");
}
return ResultData.success(1, "积分处理成功");
}
}

@ -10,7 +10,9 @@ import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@RestController
@ -31,6 +33,7 @@ public class UserController {
public ResultData<String> oathuUser(@RequestParam("openId") String openId, @RequestParam(value = "wxName", required = false) String wxName) throws InterruptedException {
LogUtil.WriteLog_Info("用户注册开始====" + PubTools.getCurrentDate() + "====" + openId, "UserController");
List userByOpenId = userTableService.getUserByOpenId(openId);
LogUtil.WriteLog_Info("用户注册结束====" + PubTools.getCurrentDate() + "====" + openId, "UserController");
if(userByOpenId != null && userByOpenId.size()>0 ){
return ResultData.success(2,"人员已经存在");
}else{
@ -59,7 +62,7 @@ public class UserController {
@RequestParam(value = "NUMBERPIC", required = false) String NUMBERPIC) {
LogUtil.WriteLog_Info("用户实名认证开始====" + PubTools.getCurrentDate() + "====" + USERID, "UserController");
int i = userTableService.updateUser(USERID,IDNUMBER,PHONE,REALNAME,NUMBERPIC);
LogUtil.WriteLog_Info("用户实名认证结束========" + PubTools.getCurrentDate(), "UserController");
LogUtil.WriteLog_Info("用户实名认证结束====" + PubTools.getCurrentDate(), "UserController");
if(i<0){
if (i == -99) {
return ResultData.fail("身份证附件没有上传");
@ -144,4 +147,29 @@ public class UserController {
}
return ResultData.success("查询成功", userByOpenId, userByOpenId.size());
}
//2025-08-19 新加接口
@RequestMapping(value = "saveUserInfo")
@ApiOperation(value = "个人信息保存", httpMethod = "POST")
public ResultData<String> saveUserInfo(@RequestParam("openid") String openId,
@RequestParam(value = "sex", required = false) String sex,
@RequestParam(value = "age", required = false) String age,
@RequestParam(value = "username", required = false) String username,
@RequestParam(value = "email", required = false) String email) {
Map<String, Object> map = new HashMap<>();
map.put("openid", openId);
map.put("sex", sex);
map.put("age", age);
map.put("email", email);
map.put("username", username);
int ret = userTableService.saveUserInfo(map);
if (ret < 0) {
return ResultData.fail("保存失败");
}
return ResultData.success(1, "保存成功");
}
}

@ -91,10 +91,14 @@ public class UserVehicleController {
int ret = this.userVehicleService.cancelUserVehicle(userId,aCarNo);
if(ret >-1){
return ResultData.success("解除成功");
}else{
if (ret == -2) {
return ResultData.fail("用户已被冻结或者积分异常");
} else {
return ResultData.fail("车牌解除出错");
}
}
}
/**
*
* @param userId

@ -8,10 +8,18 @@ import java.util.Map;
public interface IntegrationListMyMapper {
/**
*
*
* @param param
* @return
*/
public int addIntegralList(@Param("params") Map<String,Object> param);
/**
*
*
* @param param
* @return
*/
public int updateIntegralList(@Param("params") Map<String, Object> param);
}

@ -4,9 +4,15 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.nmgs.mapperset.mysqlmapper.IntegrationListMyMapper">
<insert id="addIntegralList" parameterType="java.util.HashMap">
INSERT INTO integration_list_table ( ID, USERID,ACARNO, LASTINTEGRATION, TOTALADDINTEGRATION,PAYINTEGRATION, RESTINTEGRATION,
PAYTIME, PAYTYPE,CPENABLEINTEGRATION,OGENABLEINTEGRATION )
values(#{params.maxid},#{params.userId},#{params.acarNo},#{params.lastintegration},#{params.totalintegration},
INSERT INTO integration_list_table ( ID, USERID,ACARNO, LASTINTEGRATION,
<if test="params.totalintegration != null and params.totalintegration !=''">
TOTALADDINTEGRATION,
</if>
PAYINTEGRATION, RESTINTEGRATION,PAYTIME, PAYTYPE,CPENABLEINTEGRATION,OGENABLEINTEGRATION )
values(#{params.maxid},#{params.userId},#{params.acarNo},#{params.lastintegration},
<if test="params.totalintegration != null and params.totalintegration !=''">
#{params.totalintegration},
</if>
#{params.payintegration},#{params.restintegration},
<if test="params.DBTYPEBAK == 1">
dateadd(day,0,#{params.payTime}),
@ -22,6 +28,13 @@
</if>
#{params.paytype},#{params.cpenableintegration},#{params.ogenableintegration})
</insert>
<update id="updateIntegralList" parameterType="java.util.HashMap">
update integration_list_table
set LASTINTEGRATION=#{params.lastintegration},
RESTINTEGRATION=#{params.restintegration},
OGENABLEINTEGRATION=#{params.ogenableintegration},
CPENABLEINTEGRATION=#{params.cpenableintegration}
where ID = #{params.dataId}
</update>
</mapper>

@ -25,4 +25,18 @@ public interface UserTableMysqlMapper {
* @return
*/
public int updateUserById(@Param("params") Map<String,Object> param);
/**
* ID
*
* @return
*/
public int updateUserByUserId(@Param("params") Map<String, Object> param);
/**
*
*
* @return
*/
public int saveUserInfo(@Param("params") Map<String, Object> param);
}

@ -53,5 +53,31 @@
ENABLEINTEGRATION= #{params.enabledTI}
where OPENID=#{params.userId}
</update>
<update id="updateUserByUserId" parameterType="java.util.HashMap">
update WEIXN_USER_TABLE
SET CPENABLEINTEGRATION=#{params.enabledTICp},
OGENABLEINTEGRATION=#{params.enabledTIOG},
ENABLEINTEGRATION= #{params.enabledTI}
where ID = #{params.userId}
</update>
<update id="saveUserInfo" parameterType="java.util.HashMap">
update WEIXN_USER_TABLE
SET OPENID = #{params.openid}
<if test="params.sex != null and params.sex !=''">
,SEX = #{params.sex}
</if>
<if test="params.age != null and params.age.toString() !=''">
,age = #{params.age}
</if>
<if test="params.email != null and params.email !=''">
,email = #{params.email}
</if>
<if test="params.headphoto != null and params.headphoto !=''">
,headphoto = #{params.headphoto}
</if>
<if test="params.username != null and params.username !=''">
,username = #{params.username}
</if>
where OPENID = #{params.openid}
</update>
</mapper>

@ -8,10 +8,18 @@ import java.util.Map;
public interface IntegrationListMapper {
/**
*
*
* @param param
* @return
*/
public int addIntegralList(@Param("params") Map<String,Object> param);
/**
*
*
* @param param
* @return
*/
public int updateIntegralList(@Param("params") Map<String, Object> param);
}

@ -8,8 +8,7 @@
<if test="params.totalintegration != null and params.totalintegration !=''">
TOTALADDINTEGRATION,
</if>
PAYINTEGRATION, RESTINTEGRATION,
PAYTIME, PAYTYPE,CPENABLEINTEGRATION,OGENABLEINTEGRATION )
PAYINTEGRATION, RESTINTEGRATION, PAYTIME, PAYTYPE,CPENABLEINTEGRATION,OGENABLEINTEGRATION )
values(#{params.maxid},#{params.userId},#{params.acarNo},#{params.lastintegration},
<if test="params.totalintegration != null and params.totalintegration !=''">
#{params.totalintegration},
@ -31,4 +30,14 @@
</insert>
<update id="updateIntegralList" parameterType="java.util.HashMap">
update integration_list_table
set LASTINTEGRATION=#{params.lastintegration},
RESTINTEGRATION=#{params.restintegration},
OGENABLEINTEGRATION=#{params.ogenableintegration},
CPENABLEINTEGRATION=#{params.cpenableintegration}
where ID = #{params.dataId}
</update>
</mapper>

@ -21,9 +21,23 @@ public interface UserTableMapper {
*/
public int updateUser(@Param("params") Map<String,Object> param);
/**
*
* OPENID
* @return
*/
public int updateUserById(@Param("params") Map<String,Object> param);
/**
* ID
*
* @return
*/
public int updateUserByUserId(@Param("params") Map<String, Object> param);
/**
*
*
* @return
*/
public int saveUserInfo(@Param("params") Map<String, Object> param);
}

@ -53,4 +53,35 @@
where OPENID=#{params.userId}
</update>
<update id="updateUserByUserId" parameterType="java.util.HashMap">
update WEIXN_USER_TABLE
SET CPENABLEINTEGRATION=#{params.enabledTICp},
OGENABLEINTEGRATION=#{params.enabledTIOG},
ENABLEINTEGRATION= #{params.enabledTI}
where ID = #{params.userId}
</update>
<update id="saveUserInfo" parameterType="java.util.HashMap">
update WEIXN_USER_TABLE
SET OPENID = #{params.openid}
<if test="params.sex != null and params.sex !=''">
,SEX = #{params.sex}
</if>
<if test="params.age != null and params.age.toString() !=''">
,age = #{params.age}
</if>
<if test="params.email != null and params.email !=''">
,email = #{params.email}
</if>
<if test="params.headphoto != null and params.headphoto !=''">
,headphoto = #{params.headphoto}
</if>
<if test="params.username != null and params.username !=''">
,username = #{params.username}
</if>
where OPENID = #{params.openid}
</update>
</mapper>

@ -3,6 +3,7 @@ package com.nmgs.service;
import com.alibaba.fastjson.JSONObject;
import java.util.List;
import java.util.Map;
public interface UserTableService {
/**
@ -49,4 +50,9 @@ public interface UserTableService {
*/
public List checkUserInfo(String PHONE, String IDNUMBER, String REALNAME);
/**
* @param map
* @return
*/
int saveUserInfo(Map<String, Object> map);
}

@ -0,0 +1,166 @@
package com.nmgs.service.impl;
import com.nmgs.mappercommon.Mapper;
import com.nmgs.mapperset.mysqlmapper.IntegrationListMyMapper;
import com.nmgs.mapperset.mysqlmapper.UserTableMysqlMapper;
import com.nmgs.mapperset.oraclemapper.IntegrationListMapper;
import com.nmgs.mapperset.oraclemapper.UserTableMapper;
import com.nmgs.util.PropertiesUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
*
*/
@Service
public class IntegralRebatSolveServiceImpl {
@Autowired
public Mapper imapper;
public UserTableMapper userTableMapper;
public UserTableMysqlMapper userTableMysqlMapper;
@Autowired
public void setUserTableMapper(UserTableMapper userTableMapper) {
this.userTableMapper = userTableMapper;
}
@Autowired
public void setUserTableMysqlMapper(UserTableMysqlMapper userTableMysqlMapper) {
this.userTableMysqlMapper = userTableMysqlMapper;
}
public IntegrationListMapper integrationListMapper;
@Autowired
public void setIntegrationListMapper(IntegrationListMapper integrationListMapper) {
this.integrationListMapper = integrationListMapper;
}
public IntegrationListMyMapper integrationListMyMapper;
@Autowired
public void setIntegrationListMyMapper(IntegrationListMyMapper integrationListMyMapper) {
this.integrationListMyMapper = integrationListMyMapper;
}
@Transactional(value = "jtatransactionManager", timeout = 100)
public int solveIntegralRebat(String userIdParam, String startTime) {
int ret = -1;
String sqlUserId = "select distinct USERID from integration_list_table " +
"where PAYTIME >=to_date('" + startTime + "','yyyy-mm-dd HH24:mi:ss') AND userID='" + userIdParam + "' " +
"and PAYTYPE in('FP','FG','FC','FS','TK','FCA') ";
List selectforlist = this.imapper.selectforlist(sqlUserId);
System.out.println("总次数===" + selectforlist.size());
for (int i = 0; i < selectforlist.size(); i++) {
Map<String, Object> userIdO = (Map<String, Object>) selectforlist.get(i);
String userId = userIdO.get("USERID").toString();
//人员截止到2025-07-21 17:15:00的积分流水中最新数据情况,查询出来 最新的积分数据当成初始数据
String sql = "select LASTINTEGRATION,PAYINTEGRATION,RESTINTEGRATION,OGENABLEINTEGRATION,CPENABLEINTEGRATION,PAYTYPE from integration_list_table where ID =(select max(ID) from integration_list_table where USERID='" + userId + "' AND PAYTIME < to_date('" + startTime + "','yyyy-mm-dd HH24:mi:ss')) ";
List selectforlist1 = this.imapper.selectforlist(sql);
if (!selectforlist1.isEmpty()) {
Map<String, Object> o = (Map<String, Object>) selectforlist1.get(0);
BigDecimal LASTINTEGRATION = (BigDecimal) o.get("LASTINTEGRATION");//上次总积分
BigDecimal RESTINTEGRATION = (BigDecimal) o.get("RESTINTEGRATION");//剩余积分
BigDecimal OGENABLEINTEGRATION = (BigDecimal) o.get("OGENABLEINTEGRATION");//加油加气可用积分
BigDecimal CPENABLEINTEGRATION = (BigDecimal) o.get("CPENABLEINTEGRATION");//商超可用积分
//用户需要处理的数据
String sql1 = "select ID,LASTINTEGRATION,PAYINTEGRATION,RESTINTEGRATION,OGENABLEINTEGRATION,CPENABLEINTEGRATION,PAYTYPE from integration_list_table where USERID='" + userId + "' AND PAYTIME >=to_date('" + startTime + "','yyyy-mm-dd HH24:mi:ss') order by PAYTIME asc";
List selectforlist2 = this.imapper.selectforlist(sql1);
//处理逻辑
for (int k = 0; k < selectforlist2.size(); k++) {
Map<String, Object> o1 = (Map<String, Object>) selectforlist2.get(k);
String PAYTYPE = (String) o1.get("PAYTYPE");
String dataId = ((BigDecimal) o1.get("ID")).toString();
BigDecimal PAYINTEGRATION2 = (BigDecimal) o1.get("PAYINTEGRATION");
boolean updateCan = false;
if ("FC".equals(PAYTYPE) || "FS".equals(PAYTYPE) || "FCA".equals(PAYTYPE)) {//商超及餐饮预约
updateCan = true;
LASTINTEGRATION = RESTINTEGRATION;
RESTINTEGRATION = RESTINTEGRATION.subtract(PAYINTEGRATION2);
CPENABLEINTEGRATION = CPENABLEINTEGRATION.subtract(PAYINTEGRATION2);
} else if ("FP".equals(PAYTYPE) || "FG".equals(PAYTYPE)) {//加油加气
updateCan = true;
LASTINTEGRATION = RESTINTEGRATION;
RESTINTEGRATION = RESTINTEGRATION.subtract(PAYINTEGRATION2);
OGENABLEINTEGRATION = OGENABLEINTEGRATION.subtract(PAYINTEGRATION2);
} else if ("AM".equals(PAYTYPE)) {//里程积分
updateCan = true;
LASTINTEGRATION = RESTINTEGRATION;
RESTINTEGRATION = RESTINTEGRATION.add(PAYINTEGRATION2);
OGENABLEINTEGRATION = OGENABLEINTEGRATION.add(PAYINTEGRATION2.multiply(new BigDecimal("0.6")));
CPENABLEINTEGRATION = CPENABLEINTEGRATION.add(PAYINTEGRATION2.multiply(new BigDecimal("0.4")));
} else if ("GREENBAK".equals(PAYTYPE)) {//绿通核减
updateCan = true;
LASTINTEGRATION = RESTINTEGRATION;
RESTINTEGRATION = RESTINTEGRATION.add(PAYINTEGRATION2);
OGENABLEINTEGRATION = OGENABLEINTEGRATION.add(PAYINTEGRATION2.multiply(new BigDecimal("0.6")));
CPENABLEINTEGRATION = CPENABLEINTEGRATION.add(PAYINTEGRATION2.multiply(new BigDecimal("0.4")));
} else if ("TK".equals(PAYTYPE)) {//退款
updateCan = true;
LASTINTEGRATION = RESTINTEGRATION;
RESTINTEGRATION = RESTINTEGRATION.add(PAYINTEGRATION2);
List selectforlist3 = this.imapper.selectforlist("select ilt.ID,LASTINTEGRATION,ilt.PAYINTEGRATION,ilt.RESTINTEGRATION,ilt.OGENABLEINTEGRATION,ilt.CPENABLEINTEGRATION,ilt.PAYTYPE from integration_list_table ilt,CAFTER_TABLE ct where ilt.ID =ct.INTEGRATIONLISTID AND ct.INTEGRALROLLBACK='" + dataId + "'");
if (!selectforlist3.isEmpty()) {
Map<String, Object> tk1 = (Map<String, Object>) selectforlist3.get(0);
String PAYTYPE2 = (String) tk1.get("PAYTYPE");
if ("FC".equals(PAYTYPE2) || "FS".equals(PAYTYPE2)) {//商超
CPENABLEINTEGRATION = CPENABLEINTEGRATION.add(PAYINTEGRATION2);
} else if ("FP".equals(PAYTYPE2) || "FG".equals(PAYTYPE2)) {//加油加气
OGENABLEINTEGRATION = OGENABLEINTEGRATION.add(PAYINTEGRATION2);
}
}
}
if (updateCan) {
/* this.imapper.update("update integration_list_table set LASTINTEGRATION='" + LASTINTEGRATION + "'" +
",RESTINTEGRATION='" + RESTINTEGRATION + "' " +
",OGENABLEINTEGRATION='" + OGENABLEINTEGRATION + "' " +
",CPENABLEINTEGRATION='" + CPENABLEINTEGRATION + "' " +
" where ID='" + dataId + "'");*/
Map<String, Object> listParams = new HashMap<>();
listParams.put("lastintegration", LASTINTEGRATION);
listParams.put("restintegration", RESTINTEGRATION);
listParams.put("ogenableintegration", OGENABLEINTEGRATION);
listParams.put("cpenableintegration", CPENABLEINTEGRATION);
listParams.put("dataId", dataId);
ret = this.integrationListMapper.updateIntegralList(listParams);
if ("Y".equals(PropertiesUtil.getValue("BAKEnabled"))) {
String bakDBType = PropertiesUtil.getValue("BakDBType");
listParams.put("DBTYPEBAK", bakDBType);
ret = this.integrationListMyMapper.updateIntegralList(listParams);
}
updateCan = false;
}
}
/* this.imapper.update("update WEIXN_USER_TABLE set ENABLEINTEGRATION='" + RESTINTEGRATION + "'" +
",OGENABLEINTEGRATION='" + OGENABLEINTEGRATION + "' " +
",CPENABLEINTEGRATION='" + CPENABLEINTEGRATION + "' " +
" where ID='" + userId + "'");*/
Map<String, Object> userParams = new HashMap<>();
userParams.put("enabledTICp", CPENABLEINTEGRATION);
userParams.put("enabledTIOG", OGENABLEINTEGRATION);
userParams.put("enabledTI", RESTINTEGRATION);
userParams.put("userId", userId);
ret = this.userTableMapper.updateUserByUserId(userParams);
if ("Y".equals(PropertiesUtil.getValue("BAKEnabled"))) {
String bakDBType = PropertiesUtil.getValue("BakDBType");
userParams.put("DBTYPEBAK", bakDBType);
ret = this.userTableMysqlMapper.updateUserByUserId(userParams);
}
}
}
return ret;
}
}

@ -40,8 +40,8 @@ public class ServiceAreaServiceImpl implements IServiceAreaService {
"\tarea.AREANAME,\n" +
"\t(area.AREANAME||'('||sapt.TEXT||')') AS AREANAMEPOSITION,\n" +
"\tarea.SERVICETYPE,\n" +
"\tarea.LAT,\n" +
"\tarea.LNG,\n" +
"\tCOALESCE(area.LAT,'') as LAT,\n" +
"\tCOALESCE(area.LNG,'') as LNG,\n" +
"\tarea.SERVICEKIND,\n" +
" (select LISTAGG ( kind.TEXT, ', ' ) WITHIN GROUP ( ORDER BY kind.VALUE ) from service_area_kind_text kind where INSTR( area.SERVICEKIND, kind.VALUE ) > 0 GROUP BY area.SERVICEKIND) AS SERVICEKINDNAME,\n" +
"\tarea.SERVICEFEETYPE,\n" +
@ -68,8 +68,8 @@ static{
"\tconcat(area.AREANAME,'(',sapt.TEXT,')') AS AREANAMEPOSITION,\n" +
"\tarea.SERVICETYPE,\n" +
"\tarea.SERVICEKIND,\n" +
"\tarea.LAT,\n" +
"\tarea.LNG,\n" +
"\tCOALESCE(area.LAT,'') as LAT,\n" +
"\tCOALESCE(area.LNG,'') as LNG,\n" +
" (select GROUP_CONCAT(DISTINCT kind.TEXT ORDER BY kind.VALUE Separator ',') from service_area_kind_text kind where INSTR( area.SERVICEKIND, kind.VALUE ) > 0 GROUP BY area.SERVICEKIND) AS SERVICEKINDNAME,\n" +
"\tarea.SERVICEFEETYPE,\n" +
"(select GROUP_CONCAT(DISTINCT kind2.TEXT ORDER BY kind2.VALUE Separator ',') from service_area_kind_text kind2 where INSTR( area.SERVICEFEETYPE, kind2.VALUE ) > 0 AND kind2.VALUE >=50 GROUP BY area.SERVICEFEETYPE) AS SERVICEFEETYPENAME,\n" +

@ -91,7 +91,7 @@ public class UserTableServiceImpl implements UserTableService {
}
@Override
@Transactional(value = "jtatransactionManager",timeout = 10)
@Transactional(value = "jtatransactionManager", timeout = 40)
public int addUser(String openId, String userName) {
int ret=-1;
//查询全部人员给list赋值推荐码
@ -156,7 +156,7 @@ public class UserTableServiceImpl implements UserTableService {
}
@Override
@Transactional(value = "jtatransactionManager",timeout = 10)
@Transactional(value = "jtatransactionManager", timeout = 40)
public int updateUser(String userId,String idNumber,String phone,String realName,String numberPic) {
int ret = 1;
//图片加水印
@ -274,7 +274,7 @@ public class UserTableServiceImpl implements UserTableService {
String sqlTemp="select " +
" ut.ID ,ut.OPENID ,ut.USERNAME ,ut.PHONE ,ut.UNPASSINFO," +
" ut.REALNAME," ;
" ut.REALNAME,ut.AGE,ut.SEX,ut.EMAIL,ut.HEADPHOTO,";
if("2".equals(DBType)){
sqlTemp+="substr(ut.IDNUMBER,1,6)||'********'||substr(ut.IDNUMBER,15) AS IDNUMBER ,";
}else if("4".equals(DBType)){
@ -346,4 +346,17 @@ public class UserTableServiceImpl implements UserTableService {
}
return retlist;
}
@Override
public int saveUserInfo(Map<String, Object> map) {
int ret = -1;
map.put("DBTYPE", DBType);
ret = this.userTableMapperOracle.saveUserInfo(map);
if ("Y".equals(PropertiesUtil.getValue("BAKEnabled"))) {
String bakDBType = PropertiesUtil.getValue("BakDBType");
map.put("DBTYPEBAK", bakDBType);
ret = this.userTableMysqlMapper.saveUserInfo(map);
}
return ret;
}
}

@ -157,6 +157,13 @@ public class UserVehicleServiceImpl implements UserVehicleService {
public int cancelUserVehicle(String userId, String aCarNo) {
int ret=1;
String CREATETIME=PubTools.getCurrentDate() ;
//20250801 用户冻结或者积分是负数,则不让解绑
String sqlQueryUser = "SELECT OPENID from weixn_user_table wut where wut.ID=" + userId + " and (wut.ENABLEINTEGRATION <0 or wut.OGENABLEINTEGRATION <0 or wut.CPENABLEINTEGRATION <0 or wut.CERTIFICATION =5)";
List selectforlistUser = this.mapperI.selectforlist(sqlQueryUser);
if (!selectforlistUser.isEmpty()) {
return -2;
}
String sqlQuery = "SELECT uvt.USERID,uvt.ACARNO,uvt.CERTIFICATION,uvt.PERMITPICNAME ,uvt.VEHICLEPICNAME ,uvt.LICENSEPICNAME from user_vehicle_table uvt where uvt.USERID=" + userId + " and uvt.ACARNO='" + aCarNo + "' AND uvt.CERTIFICATION not in(4)";
List selectforlist = this.mapperI.selectforlist(sqlQuery);
if(selectforlist.size()>0){

@ -292,6 +292,48 @@ public class PubTools {
}
return a;
}
/**
* ,
*
* @param startDay
* @param count
* @return
*/
String getBeforeDaySSSEnd(String startDay, int count) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
try {
Date date = sdf.parse(startDay);
Calendar cl = Calendar.getInstance();
cl.setTime(date);
cl.set(Calendar.DATE, cl.get(Calendar.DATE) - count);
return sdf.format(cl.getTime()) + " 23:59:59";
} catch (ParseException e) {
e.printStackTrace();
}
return "";
}
/**
*
*
* @param startDay
* @param count
* @return
*/
String getBeforeDay(String startDay, int count) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
try {
Date date = sdf.parse(startDay);
Calendar cl = Calendar.getInstance();
cl.setTime(date);
cl.set(Calendar.DATE, cl.get(Calendar.DATE) - count);
return sdf.format(cl.getTime());
} catch (ParseException e) {
e.printStackTrace();
}
return "";
}
}

@ -95,7 +95,8 @@ DMvalidationQuery=SELECT 1
MySQLClassName=com.mysql.cj.jdbc.Driver
MySQLvalidationQuery=SELECT 1
spring.web.resources.static-locations= classpath:/static/View/
#?? MyBatis ???? SQL ????????? NULL???????????????
mybatis.configuration.call-setters-on-nulls=true
Downfilepth= classpath:/static/tt.txt
#??jta????
spring.jta.enabled=true

Loading…
Cancel
Save