测试环境部署

This commit is contained in:
lianjie111 2025-11-16 12:54:09 +08:00
parent 663f607823
commit ecf5e697cf
11 changed files with 184 additions and 82 deletions

View File

@ -1,5 +1,6 @@
server: server:
port: 8000 # port: 8000
port: 8003
spring: spring:
profiles: profiles:
active: dev active: dev

View File

@ -6,7 +6,7 @@ spring:
datasource: datasource:
master: master:
driver-class-name: com.mysql.cj.jdbc.Driver driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://101.35.149.39:3306/fucai?autoReconnect=true&useUnicode=true&useSSL=false&allowMultiQueries=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai url: jdbc:mysql://123.60.153.169:8001/fucai?autoReconnect=true&useUnicode=true&useSSL=false&allowMultiQueries=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
username: root username: root
password: Aa615243 password: Aa615243
hikari: hikari:
@ -16,8 +16,8 @@ spring:
max-lifetime: 1800000 max-lifetime: 1800000
connection-test-query: SELECT 1 connection-test-query: SELECT 1
redis: redis:
host: 101.35.149.39 host: 123.60.153.169
port: 6379 port: 8002
password: password:
jackson: jackson:
date-format: yyyy-MM-dd HH:mm:ss date-format: yyyy-MM-dd HH:mm:ss

View File

@ -1,5 +1,6 @@
server: server:
port: 8100 # port: 8100
port: 8004
spring: spring:
profiles: profiles:
active: dev active: dev

View File

@ -6,7 +6,7 @@ spring:
datasource: datasource:
master: master:
driver-class-name: com.mysql.cj.jdbc.Driver driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://101.35.149.39:3306/kaijiang_fucai?autoReconnect=true&useUnicode=true&useSSL=false&allowMultiQueries=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai url: jdbc:mysql://123.60.153.169:8001/kaijiang_fucai?autoReconnect=true&useUnicode=true&useSSL=false&allowMultiQueries=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
username: root username: root
password: Aa615243 password: Aa615243
hikari: hikari:
@ -16,8 +16,8 @@ spring:
max-lifetime: 1800000 max-lifetime: 1800000
connection-test-query: SELECT 1 connection-test-query: SELECT 1
redis: redis:
host: 101.35.149.39 host: 123.60.153.169
port: 6379 port: 8002
password: password:
jackson: jackson:
date-format: yyyy-MM-dd HH:mm:ss date-format: yyyy-MM-dd HH:mm:ss

View File

@ -95,7 +95,10 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter {
// 过滤请求 // 过滤请求
.authorizeRequests() .authorizeRequests()
// 对于登录login 验证码captchaImage 允许匿名访问 // 对于登录login 验证码captchaImage 允许匿名访问
.antMatchers("/marriage/common/login", "/marriage/common/sms", "/marriage/common/checkCode", "/marriage/ocr/**", "/marriage/activity/current", "/marriage/receiveCheck2").permitAll() .antMatchers("/marriage/common/login", "/marriage/common/sms", "/marriage/common/checkCode",
"/marriage/ocr/**", "/marriage/activity/current",
"/marriage/receiveCheck2",
"/marriage/receiveCode").permitAll()
// .antMatchers("/**", "/captchaImage").anonymous() // .antMatchers("/**", "/captchaImage").anonymous()
.antMatchers( .antMatchers(
HttpMethod.GET, HttpMethod.GET,

View File

@ -103,8 +103,8 @@ public class CommonController {
} }
} }
// String verifyCode = RandomUtil.randomDigit(6); String verifyCode = RandomUtil.randomDigit(6);
String verifyCode = "123456"; // String verifyCode = "123456";
SMSClient smsClient = new SMSClient(masterSecret, appKey); SMSClient smsClient = new SMSClient(masterSecret, appKey);
SMSPayload payload = SMSPayload.newBuilder() SMSPayload payload = SMSPayload.newBuilder()
.setMobileNumber(mobile) .setMobileNumber(mobile)
@ -146,7 +146,7 @@ public class CommonController {
} }
LambdaQueryWrapper<MarriageCode> queryWrapper1 = new LambdaQueryWrapper<>(); LambdaQueryWrapper<MarriageCode> queryWrapper1 = new LambdaQueryWrapper<>();
queryWrapper1.eq(MarriageCode::getCode, dto.getMobile()); queryWrapper1.eq(MarriageCode::getReceiveMobile, dto.getMobile());
queryWrapper1.orderByDesc(MarriageCode::getCreateTime); queryWrapper1.orderByDesc(MarriageCode::getCreateTime);
queryWrapper1.last("limit 1"); queryWrapper1.last("limit 1");
MarriageCode code = iMarriageCodeService.getOne(queryWrapper1); MarriageCode code = iMarriageCodeService.getOne(queryWrapper1);
@ -162,7 +162,7 @@ public class CommonController {
if (act == null) { if (act == null) {
return ResultUtil.failedMessage("活动已过期!"); return ResultUtil.failedMessage("活动已过期!");
} }
if (Objects.equals(act.hashCode(), code.getCode())) { if (Objects.equals(act.getId(), code.getActivityId())) {
return ResultUtil.success(code); return ResultUtil.success(code);
} }
return ResultUtil.failedMessage("活动已过期!"); return ResultUtil.failedMessage("活动已过期!");

View File

@ -25,10 +25,7 @@ import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.io.File; import java.io.File;
import java.io.FileOutputStream; import java.io.FileOutputStream;
@ -83,6 +80,16 @@ public class MarriageController {
return ResultUtil.success(marriageCodeVO); return ResultUtil.success(marriageCodeVO);
} }
@GetMapping("/codeInfo")
public ResultObject codeList(@RequestParam String code) {
MarriageCode one = iMarriageCodeService.getOne(new LambdaQueryWrapper<MarriageCode>().eq(MarriageCode::getCode, code));
if (one == null) {
return ResultUtil.failedMessage("数据不存在");
}
return ResultUtil.success(one);
}
@org.springframework.web.bind.annotation.GetMapping("/activity/current") @org.springframework.web.bind.annotation.GetMapping("/activity/current")
public ResultObject currentActivity() { public ResultObject currentActivity() {
Date now = DateTimeUtil.now(); Date now = DateTimeUtil.now();
@ -107,12 +114,26 @@ public class MarriageController {
@PostMapping("/leftOverCount") @PostMapping("/leftOverCount")
public ResultObject leftOverCount() { public ResultObject leftOverCount() {
Date now = DateTimeUtil.now();
LambdaQueryWrapper<MarriageActivity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(MarriageActivity::getStatus, 0)
.le(MarriageActivity::getActivityStartTime, now)
.ge(MarriageActivity::getActivityEndTime, now)
.orderByDesc(MarriageActivity::getCreateTime)
.last("limit 1");
MarriageActivity act = iMarriageActivityService.getOne(wrapper);
if (act == null) {
return ResultUtil.success("0");
}
LambdaQueryWrapper<MarriageCode> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<MarriageCode> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.isNull(MarriageCode::getSalesNo); queryWrapper.isNull(MarriageCode::getSalesNo);
queryWrapper.isNull(MarriageCode::getMarriageNo); queryWrapper.isNull(MarriageCode::getMarriageNo);
queryWrapper.isNull(MarriageCode::getReceiveMobile); queryWrapper.isNull(MarriageCode::getReceiveMobile);
queryWrapper.isNull(MarriageCode::getReceiveName); queryWrapper.isNull(MarriageCode::getReceiveName);
queryWrapper.isNull(MarriageCode::getReceiveTime); queryWrapper.isNull(MarriageCode::getReceiveTime);
queryWrapper.eq(MarriageCode::getActivityId, act.getId());
queryWrapper.orderByDesc(MarriageCode::getCreateTime); queryWrapper.orderByDesc(MarriageCode::getCreateTime);
int count = iMarriageCodeService.count(queryWrapper); int count = iMarriageCodeService.count(queryWrapper);
return ResultUtil.success(count); return ResultUtil.success(count);
@ -146,6 +167,7 @@ public class MarriageController {
canReceive = true; canReceive = true;
} }
return canReceive; return canReceive;
// return true;
} }
@PostMapping("/receiveCheck2") @PostMapping("/receiveCheck2")
@ -168,6 +190,12 @@ public class MarriageController {
if (StringUtils.isBlank(dto.getReceiveMobile())) { if (StringUtils.isBlank(dto.getReceiveMobile())) {
return ResultUtil.failedMessage("领取人手机号不能为空!"); return ResultUtil.failedMessage("领取人手机号不能为空!");
} }
String key = RedisCacheKey.VERICODE_MOBILE + "3-" + dto.getReceiveMobile();
String verifyCode = (String) redisCacheManager.getObject(RedisCacheKey.DBINDEX_DEFAULT, key);
if (!StringUtils.equals(dto.getSmsCode(), verifyCode)) {
return ResultUtil.failedMessage("验证码错误,请重新输入!");
}
Date now = DateTimeUtil.now(); Date now = DateTimeUtil.now();
LambdaQueryWrapper<MarriageActivity> wrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<MarriageActivity> wrapper = new LambdaQueryWrapper<>();
@ -208,25 +236,19 @@ public class MarriageController {
queryWrapper.orderByDesc(MarriageCode::getCreateTime); queryWrapper.orderByDesc(MarriageCode::getCreateTime);
queryWrapper.last("limit 1"); queryWrapper.last("limit 1");
marriageCode = iMarriageCodeService.getOne(queryWrapper); marriageCode = iMarriageCodeService.getOne(queryWrapper);
if (Objects.isNull(marriageCode)) {
return ResultUtil.failedMessage("代金券已发完,请下次活动再来!");
}
marriageCode.setMarriageNo(dto.getMarriageNo()); marriageCode.setMarriageNo(dto.getMarriageNo());
marriageCode.setMarriageNo(dto.getReceiveMobile()); marriageCode.setReceiveMobile(dto.getReceiveMobile());
marriageCode.setReceiveMoney((int) (long) act.getMoney()); marriageCode.setReceiveMoney((int) (long) act.getMoney());
marriageCode.setReceiveTime(new Date()); marriageCode.setReceiveTime(new Date());
marriageCode.setSalesNo(dto.getSalesNo()); marriageCode.setSalesNo(dto.getSalesNo());
marriageCode.setReceiveName(dto.getReceiveName()); marriageCode.setReceiveName(dto.getReceiveName());
iMarriageCodeService.saveOrUpdate(marriageCode); iMarriageCodeService.saveOrUpdate(marriageCode);
return ResultUtil.success(marriageCode);
String key = RedisCacheKey.VERICODE_MOBILE + "3-" + dto.getReceiveMobile();
String verifyCode = (String) redisCacheManager.getObject(RedisCacheKey.DBINDEX_DEFAULT, key);
if (!StringUtils.equals(dto.getSmsCode(), verifyCode)) {
return ResultUtil.failedMessage("验证码错误,请重新输入!");
}
MarriageCodeVO vo = new MarriageCodeVO();
BeanUtils.copyProperties(marriageCode, vo);
return ResultUtil.success(vo);
} }
@PostMapping("/receiveCheck") @PostMapping("/receiveCheck")
@ -253,6 +275,11 @@ public class MarriageController {
if (StringUtils.isBlank(dto.getCode())) { if (StringUtils.isBlank(dto.getCode())) {
return ResultUtil.failedMessage("核验码不能为空!"); return ResultUtil.failedMessage("核验码不能为空!");
} }
String key = RedisCacheKey.VERICODE_MOBILE + "1-" + dto.getReceiveMobile();
String verifyCode = (String) redisCacheManager.getObject(RedisCacheKey.DBINDEX_DEFAULT, key);
if (!StringUtils.equals(dto.getSmsCode(), verifyCode)) {
return ResultUtil.failedMessage("验证码错误,请重新输入!");
}
LambdaQueryWrapper<MarriageCode> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<MarriageCode> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.and(wrap -> { queryWrapper.and(wrap -> {
wrap.or().eq(MarriageCode::getMarriageNo, dto.getMarriageNo()); wrap.or().eq(MarriageCode::getMarriageNo, dto.getMarriageNo());
@ -263,33 +290,23 @@ public class MarriageController {
queryWrapper.last("limit 1"); queryWrapper.last("limit 1");
MarriageCode marriageCode = iMarriageCodeService.getOne(queryWrapper); MarriageCode marriageCode = iMarriageCodeService.getOne(queryWrapper);
if (Objects.nonNull(marriageCode)) { if (Objects.isNull(marriageCode)) {
if (dto.getReceiveMobile().equals(marriageCode.getReceiveMobile())) { return ResultUtil.failedMessage("此代金卷无效!");
return ResultUtil.failedMessage("该领取人已领取过新婚送福活动刮刮乐!");
} }
if (dto.getMarriageNo().equals(marriageCode.getMarriageNo())) { if (marriageCode.getStatus() == 1) {
return ResultUtil.failedMessage("这个证号已参与过活动!");
}
if (StringUtils.isNotBlank(marriageCode.getMarriageNo())) {
return ResultUtil.failedMessage("此代金卷已使用过!"); return ResultUtil.failedMessage("此代金卷已使用过!");
} }
}
String key = RedisCacheKey.VERICODE_MOBILE + "1-" + dto.getReceiveMobile(); // Date now = DateTimeUtil.now();
String verifyCode = (String) redisCacheManager.getObject(RedisCacheKey.DBINDEX_DEFAULT, key); // marriageCode = MarriageCode.builder()
if (!StringUtils.equals(dto.getSmsCode(), verifyCode)) { // .marriageNo(dto.getMarriageNo())
return ResultUtil.failedMessage("验证码错误,请重新输入!"); // .receiveName(dto.getReceiveName())
} // .code(dto.getCode())
Date now = DateTimeUtil.now(); // .receiveMobile(dto.getReceiveMobile())
marriageCode = MarriageCode.builder() // .signImage(dto.getSignImage())
.marriageNo(dto.getMarriageNo()) // .receiveTime(now)
.receiveName(dto.getReceiveName()) // .salesNo(dto.getSalesNo())
.code(dto.getCode()) // .build();
.receiveMobile(dto.getReceiveMobile())
.signImage(dto.getSignImage())
.receiveTime(now)
.salesNo(dto.getSalesNo())
.build();
MarriageCodeVO vo = new MarriageCodeVO(); MarriageCodeVO vo = new MarriageCodeVO();
BeanUtils.copyProperties(marriageCode, vo); BeanUtils.copyProperties(marriageCode, vo);
return ResultUtil.success(vo); return ResultUtil.success(vo);
@ -322,6 +339,13 @@ public class MarriageController {
if (StringUtils.isBlank(dto.getSignImage())) { if (StringUtils.isBlank(dto.getSignImage())) {
return ResultUtil.failedMessage("领取人签字不能为空!"); return ResultUtil.failedMessage("领取人签字不能为空!");
} }
String key = RedisCacheKey.VERICODE_MOBILE + "1-" + dto.getReceiveMobile();
String verifyCode = (String) redisCacheManager.getObject(RedisCacheKey.DBINDEX_DEFAULT, key);
if (!StringUtils.equals(dto.getSmsCode(), verifyCode)) {
return ResultUtil.failedMessage("验证码错误,请重新输入!");
}
LambdaQueryWrapper<MarriageCode> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<MarriageCode> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.and(wrap -> { queryWrapper.and(wrap -> {
wrap.or().eq(MarriageCode::getMarriageNo, dto.getMarriageNo()); wrap.or().eq(MarriageCode::getMarriageNo, dto.getMarriageNo());
@ -331,14 +355,14 @@ public class MarriageController {
queryWrapper.last("limit 1"); queryWrapper.last("limit 1");
MarriageCode marriageCode = iMarriageCodeService.getOne(queryWrapper); MarriageCode marriageCode = iMarriageCodeService.getOne(queryWrapper);
if (Objects.nonNull(marriageCode)) { // if (Objects.nonNull(marriageCode)) {
if (dto.getReceiveMobile().equals(marriageCode.getReceiveMobile())) { // if (dto.getReceiveMobile().equals(marriageCode.getReceiveMobile())) {
return ResultUtil.failedMessage("该领取人已领取过新婚送福活动刮刮乐!"); // return ResultUtil.failedMessage("该领取人已领取过新婚送福活动刮刮乐!");
} // }
if (dto.getMarriageNo().equals(marriageCode.getMarriageNo())) { // if (dto.getMarriageNo().equals(marriageCode.getMarriageNo())) {
return ResultUtil.failedMessage("这个证号已参与过活动!"); // return ResultUtil.failedMessage("这个证号已参与过活动!");
} // }
} // }
LambdaQueryWrapper<MarriageCode> queryWrapper1 = new LambdaQueryWrapper<>(); LambdaQueryWrapper<MarriageCode> queryWrapper1 = new LambdaQueryWrapper<>();
queryWrapper1.eq(MarriageCode::getCode, dto.getCode()); queryWrapper1.eq(MarriageCode::getCode, dto.getCode());
@ -352,13 +376,19 @@ public class MarriageController {
return ResultUtil.failedMessage("此代金卷已使用过!"); return ResultUtil.failedMessage("此代金卷已使用过!");
} }
} }
String key = RedisCacheKey.VERICODE_MOBILE + "1-" + dto.getReceiveMobile();
String verifyCode = (String) redisCacheManager.getObject(RedisCacheKey.DBINDEX_DEFAULT, key);
if (!StringUtils.equals(dto.getSmsCode(), verifyCode)) {
return ResultUtil.failedMessage("验证码错误,请重新输入!");
}
Date now = DateTimeUtil.now(); Date now = DateTimeUtil.now();
LambdaQueryWrapper<MarriageActivity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(MarriageActivity::getStatus, 0)
.le(MarriageActivity::getActivityStartTime, now)
.ge(MarriageActivity::getActivityEndTime, now)
.orderByDesc(MarriageActivity::getCreateTime)
.last("limit 1");
MarriageActivity act = iMarriageActivityService.getOne(wrapper);
if (act == null) {
return ResultUtil.failed("活动已结束");
}
code1.setMarriageNo(dto.getMarriageNo()); code1.setMarriageNo(dto.getMarriageNo());
code1.setReceiveName(dto.getReceiveName()); code1.setReceiveName(dto.getReceiveName());
code1.setReceiveMobile(dto.getReceiveMobile()); code1.setReceiveMobile(dto.getReceiveMobile());
@ -366,7 +396,7 @@ public class MarriageController {
// code1.setSignImage(dto.getSignImage()); // code1.setSignImage(dto.getSignImage());
code1.setSalesNo(dto.getSalesNo()); code1.setSalesNo(dto.getSalesNo());
code1.setReceiveMoney(6000); code1.setReceiveMoney((int)(long)act.getMoney());
code1.setReceiveTime(now); code1.setReceiveTime(now);
code1.setStatus(1); code1.setStatus(1);
iMarriageCodeService.updateById(code1); iMarriageCodeService.updateById(code1);

View File

@ -108,7 +108,10 @@ public class OcrController {
result.put("raw", ocrResp); result.put("raw", ocrResp);
List<String> words = extractWords(ocrResp); List<String> words = extractWords(ocrResp);
result.put("words", words); result.put("words", words);
Map<String, String> parsed = parseMarriageFields(words); Map<String, String> parsed = parseMarriageFieldsFromRaw(ocrResp);
if (parsed == null || parsed.isEmpty()) {
parsed = parseMarriageFields(words);
}
result.put("parsed", parsed); result.put("parsed", parsed);
return ResultUtil.success(result); return ResultUtil.success(result);
} catch (Exception e) { } catch (Exception e) {
@ -163,7 +166,7 @@ public class OcrController {
} }
for (String w : words) { for (String w : words) {
if (StringUtils.contains(w, "字号") || StringUtils.contains(w, "证字号")) { if (StringUtils.contains(w, "字号") || StringUtils.contains(w, "证字号")) {
map.put("marriageNo", w.replaceAll("[^0-9A-Za-z\\u4e00-\\u9fa5]", "")); map.put("marriageNo", normalizeMarriageNo(w));
} }
if (StringUtils.contains(w, "男方") || StringUtils.contains(w, "")) { if (StringUtils.contains(w, "男方") || StringUtils.contains(w, "")) {
map.put("husbandName", w.replace("男方", "").replace("", "")); map.put("husbandName", w.replace("男方", "").replace("", ""));
@ -176,7 +179,7 @@ public class OcrController {
} }
java.util.regex.Matcher mNo = java.util.regex.Pattern.compile("[A-Z][0-9]{6}-[0-9]{4}-[0-9]{6}").matcher(w); java.util.regex.Matcher mNo = java.util.regex.Pattern.compile("[A-Z][0-9]{6}-[0-9]{4}-[0-9]{6}").matcher(w);
if (mNo.find()) { if (mNo.find()) {
map.put("marriageNo", mNo.group()); map.put("marriageNo", normalizeMarriageNo(mNo.group()));
} }
java.util.regex.Matcher mDate = java.util.regex.Pattern.compile("(\\d{4})([年/-])(\\d{2})([月/-]?)(\\d{2})").matcher(w); java.util.regex.Matcher mDate = java.util.regex.Pattern.compile("(\\d{4})([年/-])(\\d{2})([月/-]?)(\\d{2})").matcher(w);
if (mDate.find()) { if (mDate.find()) {
@ -189,6 +192,62 @@ public class OcrController {
return map; return map;
} }
private Map<String, String> parseMarriageFieldsFromRaw(String ocrResp) {
Map<String, String> map = new HashMap<>();
try {
com.fasterxml.jackson.databind.ObjectMapper mapper = new com.fasterxml.jackson.databind.ObjectMapper();
com.fasterxml.jackson.databind.JsonNode root = mapper.readTree(ocrResp);
com.fasterxml.jackson.databind.JsonNode res = root.get("words_result");
if (res == null || !res.isObject()) {
return map;
}
String marriageNo = extractFirstWord(res.get("结婚证字号"));
marriageNo = normalizeMarriageNo(marriageNo);
String husbandName = extractFirstWord(res.get("姓名_男"));
String wifeName = extractFirstWord(res.get("姓名_女"));
String registerDate = normalizeDate(extractFirstWord(res.get("登记日期")));
if (org.apache.commons.lang3.StringUtils.isNotBlank(marriageNo)) {
map.put("marriageNo", marriageNo);
}
if (org.apache.commons.lang3.StringUtils.isNotBlank(husbandName)) {
map.put("husbandName", husbandName);
}
if (org.apache.commons.lang3.StringUtils.isNotBlank(wifeName)) {
map.put("wifeName", wifeName);
}
if (org.apache.commons.lang3.StringUtils.isNotBlank(registerDate)) {
map.put("registerDate", registerDate);
}
} catch (Exception e) {
}
return map;
}
private String extractFirstWord(com.fasterxml.jackson.databind.JsonNode arr) {
if (arr == null || !arr.isArray() || arr.size() == 0) {
return null;
}
return arr.get(0).path("word").asText("");
}
private String normalizeMarriageNo(String s) {
if (org.apache.commons.lang3.StringUtils.isBlank(s)) {
return null;
}
return s.replaceAll("[^0-9]", "");
}
private String normalizeDate(String s) {
if (org.apache.commons.lang3.StringUtils.isBlank(s)) {
return null;
}
java.util.regex.Matcher m = java.util.regex.Pattern.compile("(\\d{4})年(\\d{2})月(\\d{2})日").matcher(s);
if (m.find()) {
return m.group(1) + "-" + m.group(2) + "-" + m.group(3);
}
return s;
}
private String getExtension(String name) { private String getExtension(String name) {
if (StringUtils.isBlank(name) || !name.contains(".")) { if (StringUtils.isBlank(name) || !name.contains(".")) {
return null; return null;

View File

@ -1,5 +1,6 @@
server: server:
port: 8200 # port: 8200
port: 8005
spring: spring:
profiles: profiles:
active: dev active: dev

View File

@ -6,7 +6,7 @@ spring:
datasource: datasource:
master: master:
driver-class-name: com.mysql.cj.jdbc.Driver driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://101.35.149.39:3306/fucai?autoReconnect=true&useUnicode=true&useSSL=false&allowMultiQueries=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai url: jdbc:mysql://123.60.153.169:8001/fucai?autoReconnect=true&useUnicode=true&useSSL=false&allowMultiQueries=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
username: root username: root
password: Aa615243 password: Aa615243
hikari: hikari:
@ -16,8 +16,8 @@ spring:
max-lifetime: 1800000 max-lifetime: 1800000
connection-test-query: SELECT 1 connection-test-query: SELECT 1
redis: redis:
host: 101.35.149.39 host: 123.60.153.169
port: 6379 port: 8002
password: password:
jackson: jackson:
date-format: yyyy-MM-dd HH:mm:ss date-format: yyyy-MM-dd HH:mm:ss
@ -79,7 +79,7 @@ token:
baidu: baidu:
ocr: ocr:
appId: ${BAIDU_OCR_APP_ID:120787041} appId: ${BAIDU_OCR_APP_ID:120787041}
apiKey: ${BAIDU_OCR_API_KEY:nQnKdxJZJs6UycitAauLMcUW} apiKey: ${BAIDU_OCR_API_KEY:UnLQozPRAaXefoMxZMkmqUpe}
secretKey: ${BAIDU_OCR_SECRET_KEY:HTEVDoN3mN5J8usjAABt9k8euZ5cPJyr} secretKey: ${BAIDU_OCR_SECRET_KEY:eKE1Gyll6AXf9DtDVT8yDUWrAUWD6fOz}
# 存储上传的结婚证图片目录 # 存储上传的结婚证图片目录
storagePath: ${OCR_STORAGE_PATH:data/ocr} storagePath: ${OCR_STORAGE_PATH:data/ocr}

View File

@ -75,3 +75,10 @@
# # 令牌有效期默认30分钟 # # 令牌有效期默认30分钟
# expireTime: 30 # expireTime: 30
# #
#baidu:
# ocr:
# appId: ${BAIDU_OCR_APP_ID:120787041}
# apiKey: ${BAIDU_OCR_API_KEY:UnLQozPRAaXefoMxZMkmqUpe}
# secretKey: ${BAIDU_OCR_SECRET_KEY:eKE1Gyll6AXf9DtDVT8yDUWrAUWD6fOz}
# # 存储上传的结婚证图片目录
# storagePath: ${OCR_STORAGE_PATH:data/ocr}