整合代码
diff --git a/config/application-devel-oracle.properties b/config/application-devel-oracle.properties
index 50ff598..1357d12 100644
--- a/config/application-devel-oracle.properties
+++ b/config/application-devel-oracle.properties
@@ -4,6 +4,7 @@
spring.jpa.hibernate.ddl-auto=update
# Oracle settings
+spring.datasource.platform=oracle
spring.datasource.url=jdbc:oracle:thin:@172.28.201.101:47922:orcl
spring.datasource.username=dlpay
spring.datasource.password=kingstar
diff --git a/config/application-devel-pg-local.properties b/config/application-devel-pg-local.properties
index ad1ccb2..b6561aa 100644
--- a/config/application-devel-pg-local.properties
+++ b/config/application-devel-pg-local.properties
@@ -4,6 +4,7 @@
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
spring.jpa.properties.hibernate.temp.use_jdbc_metadata_defaults=false
# Postgresql settings
+spring.datasource.platform=postgresql
spring.datasource.url=jdbc:postgresql://localhost:5432/payapi
spring.datasource.username=payapi
spring.datasource.password=123456
diff --git a/config/application-devel-pg.properties b/config/application-devel-pg.properties
index d21bd66..594779e 100644
--- a/config/application-devel-pg.properties
+++ b/config/application-devel-pg.properties
@@ -3,8 +3,8 @@
spring.jpa.hibernate.ddl-auto=update
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
spring.jpa.properties.hibernate.temp.use_jdbc_metadata_defaults=false
-database.dbtype=postgresql
# Postgresql settings
+spring.datasource.platform=postgresql
spring.datasource.url=jdbc:postgresql://172.28.201.70:15432/payapi
spring.datasource.username=payapi
spring.datasource.password=123456
diff --git a/src/main/java/com/supwisdom/dlpay/framework/core/DatabaseConfig.java b/src/main/java/com/supwisdom/dlpay/framework/core/DatabaseConfig.java
index 16f454a..99bb014 100644
--- a/src/main/java/com/supwisdom/dlpay/framework/core/DatabaseConfig.java
+++ b/src/main/java/com/supwisdom/dlpay/framework/core/DatabaseConfig.java
@@ -5,14 +5,10 @@
@Configuration
public class DatabaseConfig {
- @Value("${database.dbtype:oracle}")
- private String dbType;
+ @Value("${spring.datasource.platform}")
+ private String platform;
- public String getDbType() {
- return dbType;
- }
-
- public void setDbType(String dbType) {
- this.dbType = dbType;
+ public String getPlatform() {
+ return platform;
}
}
diff --git a/src/main/java/com/supwisdom/dlpay/framework/service/impl/SystemUtilServiceImpl.java b/src/main/java/com/supwisdom/dlpay/framework/service/impl/SystemUtilServiceImpl.java
index 07d5e63..53ebf4c 100644
--- a/src/main/java/com/supwisdom/dlpay/framework/service/impl/SystemUtilServiceImpl.java
+++ b/src/main/java/com/supwisdom/dlpay/framework/service/impl/SystemUtilServiceImpl.java
@@ -13,6 +13,7 @@
import com.supwisdom.dlpay.framework.util.StringUtil;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import java.text.SimpleDateFormat;
@@ -74,7 +75,7 @@
@Override
public SystemDateTime getSysdatetime() {
- switch (databaseConfig.getDbType()) {
+ switch (databaseConfig.getPlatform()) {
case "postgresql":
return getPGDatetime();
default:
diff --git a/src/main/java/com/supwisdom/dlpay/framework/util/DateUtil.java b/src/main/java/com/supwisdom/dlpay/framework/util/DateUtil.java
index a17a6ee..ee65ddb 100644
--- a/src/main/java/com/supwisdom/dlpay/framework/util/DateUtil.java
+++ b/src/main/java/com/supwisdom/dlpay/framework/util/DateUtil.java
@@ -1,13 +1,13 @@
package com.supwisdom.dlpay.framework.util;
import org.apache.log4j.Logger;
-import org.springframework.util.Assert;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
+import java.util.TimeZone;
public class DateUtil {
private static final Logger logger = Logger.getLogger(DateUtil.class);
@@ -96,8 +96,8 @@
* Description: 比较两个时间字符串的前后关系 @param firstTime String 格式:yyyyMMddHHmmss
*
* @param secondTime String 格式: yyyyMMddHHmmss @return int |
- * firstTime=second int=0 | firstTime>secondTime int>0 |
- * firstTime<secondTime int<0 @exception Modify History:
+ * firstTime=second int=0 | firstTime>secondTime int>0 |
+ * firstTime<secondTime int<0 @exception Modify History:
*/
public static int compareDatetime(String firstTime, String secondTime) {
try {
@@ -111,9 +111,10 @@
/**
* Description: 比较两个时间字符串的前后关系 @param firstTime String 格式:pattern
+ *
* @param secondTime String 格式: yyyyMMddHHmmss @return int |
- * firstTime=second int=0 | firstTime>secondTime int>0 |
- * firstTime<secondTime int<0 @exception Modify History:
+ * firstTime=second int=0 | firstTime>secondTime int>0 |
+ * firstTime<secondTime int<0 @exception Modify History:
*/
public static int compareDatetime(String firstTime, String secondTime, String pattern) {
try {
@@ -130,8 +131,8 @@
* Description: 比较两个时间字符串的时间差 @param firstTime String 格式:yyyyMMddHHmmss
*
* @param secondTime String 格式: yyyyMMddHHmmss @param second int 格式 @return
- * int | firstTime+seconds=secondTime int=0 | firstTime+seconds>secondTime
- * int>0 | firstTime+seconds<secondTime int<0 @exception Modify History:
+ * int | firstTime+seconds=secondTime int=0 | firstTime+seconds>secondTime
+ * int>0 | firstTime+seconds<secondTime int<0 @exception Modify History:
*/
public static int compareDatetime(String firstTime, String secondTime, int seconds) {
try {
@@ -179,7 +180,7 @@
/**
* 获得两个字符串日期之间的时间差(单位毫秒)
- * */
+ */
public static long getIntervalTime(String startTime, String endTime, String pattern) {
long duration = 0;
try {
@@ -196,17 +197,17 @@
* 短格式:20140401 -> 2014-04-01
* 中格式:201404011200 -> 2014-04-01 12:00
* 长格式:20140401123025 -> 2014-04-01 12:30:25
- * **/
- public static String parseToDateFormat(String str){
- switch(str.length()){
+ **/
+ public static String parseToDateFormat(String str) {
+ switch (str.length()) {
case 8:
- str = str.substring(0, 4)+"-"+str.substring(4, 6)+"-"+str.substring(6, 8);
+ str = str.substring(0, 4) + "-" + str.substring(4, 6) + "-" + str.substring(6, 8);
break;
case 12:
- str = str.substring(0, 4)+"-"+str.substring(4, 6)+"-"+str.substring(6, 8)+" "+str.substring(8, 10)+":"+str.substring(10, 12);
+ str = str.substring(0, 4) + "-" + str.substring(4, 6) + "-" + str.substring(6, 8) + " " + str.substring(8, 10) + ":" + str.substring(10, 12);
break;
case 14:
- str = str.substring(0, 4)+"-"+str.substring(4, 6)+"-"+str.substring(6, 8)+" "+str.substring(8, 10)+":"+str.substring(10, 12)+":"+str.substring(12, 14);
+ str = str.substring(0, 4) + "-" + str.substring(4, 6) + "-" + str.substring(6, 8) + " " + str.substring(8, 10) + ":" + str.substring(10, 12) + ":" + str.substring(12, 14);
break;
default:
break;
@@ -219,14 +220,14 @@
* 短格式:2014-04-01 -> 20140401
* 中格式:2014-04-01 12:00 -> 201404011200
* 长格式:2014-04-01 12:30:25 -> 20140401123025
- * **/
- public static String unParseToDateFormat(String str){
+ **/
+ public static String unParseToDateFormat(String str) {
return str.replaceAll("-", "").replaceAll(" ", "").replaceAll(":", "");
}
/**
* 检验时间格式
- * */
+ */
public static boolean checkDatetimeValid(String datetime, String pattern) {
if (null == datetime) return false;
try {
@@ -241,8 +242,8 @@
/**
* 获取指定日期是星期几 格式 yyyyMMdd
* MON|TUE|WED|THU|FRI|SAT|SUN
- * 1 2 3 4 5 6 7
- * */
+ * 1 2 3 4 5 6 7
+ */
public static int getWeekday(String datestr) {
try {
Calendar calendar = Calendar.getInstance();
@@ -275,13 +276,13 @@
}
}
- public static Integer getLastDayOfMonth(Integer year,Integer month){
+ public static Integer getLastDayOfMonth(Integer year, Integer month) {
Calendar cal = Calendar.getInstance();
cal.set(Calendar.YEAR, year);
- cal.set(Calendar.MONTH, month-1);
- cal.set(Calendar.DAY_OF_MONTH,cal.getActualMaximum(Calendar.DATE));
- String str = new SimpleDateFormat( "yyyyMMdd ").format(cal.getTime()).toString();
- Integer result = Integer.parseInt(str.substring(0,4) + str.substring(4,6) + str.substring(6,8));
+ cal.set(Calendar.MONTH, month - 1);
+ cal.set(Calendar.DAY_OF_MONTH, cal.getActualMaximum(Calendar.DATE));
+ String str = new SimpleDateFormat("yyyyMMdd ").format(cal.getTime()).toString();
+ Integer result = Integer.parseInt(str.substring(0, 4) + str.substring(4, 6) + str.substring(6, 8));
return result;
}
@@ -305,4 +306,15 @@
}
+ public static String getUTCTime(Long timeInMillisSecond) {
+ Calendar time = Calendar.getInstance();
+ SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss z");
+ fmt.setTimeZone(TimeZone.getTimeZone("UTC"));
+ time.setTimeInMillis(timeInMillisSecond);
+ return fmt.format(time.getTime());
+ }
+
+ public static String getUTCTime() {
+ return getUTCTime(System.currentTimeMillis());
+ }
}
diff --git a/src/main/kotlin/com/supwisdom/dlpay/framework/controller/security_controller.kt b/src/main/kotlin/com/supwisdom/dlpay/framework/controller/security_controller.kt
index 2ee98f6..e2ba3ab 100644
--- a/src/main/kotlin/com/supwisdom/dlpay/framework/controller/security_controller.kt
+++ b/src/main/kotlin/com/supwisdom/dlpay/framework/controller/security_controller.kt
@@ -4,21 +4,21 @@
import com.supwisdom.dlpay.framework.core.JwtConfig
import com.supwisdom.dlpay.framework.core.JwtTokenUtil
import com.supwisdom.dlpay.framework.dao.ApiClientDao
-import com.supwisdom.dlpay.framework.security.validate.ImageCodeUtil
-import com.supwisdom.dlpay.framework.security.validate.VerifyCode
import com.supwisdom.dlpay.framework.domain.ApiClientRedis
import com.supwisdom.dlpay.framework.domain.JwtRedis
import com.supwisdom.dlpay.framework.domain.TOperator
import com.supwisdom.dlpay.framework.redisrepo.ApiClientRepository
import com.supwisdom.dlpay.framework.redisrepo.ApiJwtRepository
+import com.supwisdom.dlpay.framework.security.validate.ImageCodeUtil
+import com.supwisdom.dlpay.framework.security.validate.VerifyCode
import com.supwisdom.dlpay.framework.service.SystemUtilService
+import com.supwisdom.dlpay.framework.util.DateUtil
import com.supwisdom.dlpay.framework.util.HmacUtil
import com.supwisdom.dlpay.framework.util.TradeDict
import com.supwisdom.dlpay.system.service.CommonService
import com.supwisdom.dlpay.system.service.FunctionService
import mu.KotlinLogging
import org.springframework.beans.factory.annotation.Autowired
-import org.springframework.http.HttpRequest
import org.springframework.http.HttpStatus
import org.springframework.http.ResponseEntity
import org.springframework.security.core.annotation.AuthenticationPrincipal
@@ -28,9 +28,11 @@
import org.springframework.social.connect.web.HttpSessionSessionStrategy
import org.springframework.stereotype.Controller
import org.springframework.ui.Model
-import org.springframework.web.bind.annotation.*
+import org.springframework.web.bind.annotation.GetMapping
+import org.springframework.web.bind.annotation.PathVariable
+import org.springframework.web.bind.annotation.RequestMapping
+import org.springframework.web.bind.annotation.RestController
import org.springframework.web.context.request.ServletWebRequest
-import java.text.SimpleDateFormat
import java.util.*
import javax.imageio.ImageIO
import javax.servlet.http.HttpServletRequest
@@ -112,14 +114,11 @@
}.apply {
apiJwtRepository.save(this)
}
- val exp = Calendar.getInstance()
- val fmt = SimpleDateFormat("yyyy-MM-dd HH:mm:ss z")
- fmt.timeZone = TimeZone.getTimeZone("UTC")
- exp.timeInMillis = token.expiration.valueInMillis
+
ResponseEntity.ok(ResponseBodyBuilder.create()
.data("jwt", token.jwtToken)
.data("appid", appid)
- .data("expiredAt", fmt.format(exp.time))
+ .data("expiredAt", DateUtil.getUTCTime(token.expiration.valueInMillis))
.success())
} else {
ResponseEntity.status(HttpStatus.UNAUTHORIZED).build()
@@ -150,14 +149,11 @@
}.apply {
apiJwtRepository.save(this)
}
- val exp = Calendar.getInstance()
- val fmt = SimpleDateFormat("yyyy-MM-dd HH:mm:ss z")
- fmt.timeZone = TimeZone.getTimeZone("UTC")
- exp.timeInMillis = token.expiration.valueInMillis
+
ResponseEntity.ok(ResponseBodyBuilder.create()
.data("jwt", token.jwtToken)
.data("appid", appid)
- .data("expiredAt", fmt.format(exp.time))
+ .data("expiredAt", DateUtil.getUTCTime(token.expiration.valueInMillis))
.success())
} else {
ResponseEntity.status(HttpStatus.UNAUTHORIZED).build()
diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties
index b54e727..41f5532 100644
--- a/src/main/resources/application.properties
+++ b/src/main/resources/application.properties
@@ -3,6 +3,8 @@
spring.jpa.show-sql=true
spring.datasource.hikari.connection-timeout=60000
spring.datasource.hikari.maximum-pool-size=5
+spring.datasource.initialization-mode=always
+spring.datasource.continue-on-error=true
spring.jpa.hibernate.ddl-auto=update
# logging
logging.pattern.console=%d{yyyy-MM-dd HH:mm:ss} %-5level %logger{36} - %msg%n
diff --git a/sql/init_test.sql b/src/main/resources/data.sql
similarity index 98%
rename from sql/init_test.sql
rename to src/main/resources/data.sql
index ebdfa8e..0b14207 100644
--- a/sql/init_test.sql
+++ b/src/main/resources/data.sql
@@ -19,6 +19,4 @@
values ('2','1','管理员维护',1,'#','layui-icon-set',1);
Insert into TB_ROLE_FUNCTION (ID,FUNCTION_ID,ROLE_ID) values ('1','1','d1yctWs5+ks0iQN3m9bUvRHus6HbKbrs');
-Insert into TB_ROLE_FUNCTION (ID,FUNCTION_ID,ROLE_ID) values ('2','2','d1yctWs5+ks0iQN3m9bUvRHus6HbKbrs');
-
-commit;
\ No newline at end of file
+Insert into TB_ROLE_FUNCTION (ID,FUNCTION_ID,ROLE_ID) values ('2','2','d1yctWs5+ks0iQN3m9bUvRHus6HbKbrs');
\ No newline at end of file