测试环境部署
This commit is contained in:
parent
663f607823
commit
ecf5e697cf
|
|
@ -1,5 +1,6 @@
|
||||||
server:
|
server:
|
||||||
port: 8000
|
# port: 8000
|
||||||
|
port: 8003
|
||||||
spring:
|
spring:
|
||||||
profiles:
|
profiles:
|
||||||
active: dev
|
active: dev
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
server:
|
server:
|
||||||
port: 8100
|
# port: 8100
|
||||||
|
port: 8004
|
||||||
spring:
|
spring:
|
||||||
profiles:
|
profiles:
|
||||||
active: dev
|
active: dev
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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,
|
||||||
|
|
|
||||||
|
|
@ -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("活动已过期!");
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
server:
|
server:
|
||||||
port: 8200
|
# port: 8200
|
||||||
|
port: 8005
|
||||||
spring:
|
spring:
|
||||||
profiles:
|
profiles:
|
||||||
active: dev
|
active: dev
|
||||||
|
|
|
||||||
|
|
@ -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}
|
||||||
|
|
|
||||||
|
|
@ -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}
|
||||||
Loading…
Reference in New Issue