Commit 0239d311 by lixian7

修改绑定接口

parent 7ae0c35a
......@@ -12,6 +12,7 @@ import com.hikcreate.edl.pub.web.mobile.infra.core.annotatiion.ResponseEncryptAn
import com.hikcreate.edl.pub.web.mobile.infra.model.entity.ParkBindInfo;
import com.hikcreate.edl.pub.web.mobile.infra.model.param.request.BindInfoQueryReq;
import com.hikcreate.edl.pub.web.mobile.infra.model.param.request.BindInfoReq;
import com.hikcreate.edl.pub.web.mobile.infra.model.param.request.BindSmsValidReq;
import com.hikcreate.edl.pub.web.mobile.infra.model.param.request.UnBindReq;
import com.hikcreate.edl.pub.web.mobile.infra.model.param.response.BindInfoQueryRes;
import com.hikcreate.edl.pub.web.mobile.infra.model.param.response.BindInfoRes;
......@@ -53,7 +54,7 @@ public class BindInfoControlller extends BaseController {
@PostMapping( "bind" )
@BodyDecryptAnnotation
@ResponseEncryptAnnotation
public Result<BindInfoRes> bindInfo( @RequestBody @Validated BindInfoReq req ) {
public Result bindInfo( @RequestBody @Validated BindInfoReq req ) {
ParkBindInfo bindInfo = new ParkBindInfo();
defaultConverter.getMapperFacade().map(req, bindInfo);
Result response = null;
......@@ -69,6 +70,16 @@ public class BindInfoControlller extends BaseController {
return response;
}
/**
* 车辆绑定短信验证几节课
* @param req
* @return
*/
@PostMapping("bind/smsValid")
public Result<BindInfoRes> bindSmsValid(@RequestBody @Validated BindSmsValidReq req) {
return service.bindSmsValid(req);
}
/**
* 解绑用户信息的接口
......
......@@ -5,6 +5,7 @@ import com.hikcreate.common.sdk.response.apiparam.Response;
import com.hikcreate.edl.pub.web.mobile.infra.core.Result.Result;
import com.hikcreate.edl.pub.web.mobile.infra.model.entity.ParkBindInfo;
import com.hikcreate.edl.pub.web.mobile.infra.model.param.request.BindInfoQueryReq;
import com.hikcreate.edl.pub.web.mobile.infra.model.param.request.BindSmsValidReq;
import com.hikcreate.edl.pub.web.mobile.infra.model.param.request.H5BindInfoQuery;
import com.hikcreate.edl.pub.web.mobile.infra.model.param.request.UnBindReq;
import com.hikcreate.edl.pub.web.mobile.infra.model.param.response.BindInfoQueryRes;
......@@ -32,6 +33,13 @@ public interface IBindService extends IService<ParkBindInfo> {
Result bind( ParkBindInfo info);
/**
* 车辆绑定短信验证接口
* @param req
* @return
*/
Result bindSmsValid( BindSmsValidReq req);
/**
* 信息解绑
* @param req
* @return
......
......@@ -5,6 +5,7 @@ import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.hikcreate.common.sdk.response.apiparam.Response;
import com.hikcreate.common.sdk.response.statuscode.StatusCode;
import com.hikcreate.edl.common.distributed.lock.annotation.DistributedLock;
......@@ -44,6 +45,7 @@ import com.hikcreate.edl.pub.web.mobile.infra.model.param.response.YearCheckInfo
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
......@@ -53,6 +55,7 @@ import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
/**
* 客户绑定服务实现类
......@@ -65,19 +68,19 @@ import java.util.Objects;
public class BindServiceImpl extends ServiceImpl<BindInfoMapper, ParkBindInfo> implements IBindService {
@Resource
BindInfoMapper mapper;
private BindInfoMapper mapper;
@Resource
VerifyInfoMapper verifyInfo;
private VerifyInfoMapper verifyInfo;
@Resource
BindCache bindCache;
private BindCache bindCache;
@Resource
VechicleCache vechicleCache;
private VechicleCache vechicleCache;
@Resource
ViolationCache violationCache;
private ViolationCache violationCache;
@Resource
DrivingLicenseCache drivingLicenseCache;
private DrivingLicenseCache drivingLicenseCache;
@Autowired
UnqIdUtil unqIdUtil;
private UnqIdUtil unqIdUtil;
@Autowired
private DrivingLicenseQrFeign drivingLicenseQrFeign;
......@@ -86,19 +89,24 @@ public class BindServiceImpl extends ServiceImpl<BindInfoMapper, ParkBindInfo> i
* 单位:小时
*/
@Value("${biz.unbind.time:720}")
Integer unBindTime;
private Integer unBindTime;
/**
* 解绑限制次数
*/
@Value("${biz.unbind.limit.count:10}")
Integer unBindCount;
private Integer unBindCount;
/**
* 验证有效性限制时间
* 单位:小时
*/
@Value("${biz.check.validity.limit.time:24}")
Integer checkValidityLimitTime;
private Integer checkValidityLimitTime;
@Autowired
private StringRedisTemplate redisTemplate;
private final ObjectMapper objectMapper = new ObjectMapper();
@Override
......@@ -156,7 +164,7 @@ public class BindServiceImpl extends ServiceImpl<BindInfoMapper, ParkBindInfo> i
}
for (VehicleRes res : byPlateNum) {
if (info.getPhone().equals(res.getSjhm())) {
if (info.getOwnerPhone().equals(res.getSjhm())) {
info.setPlateType(res.getHpzl());
}
}
......@@ -175,10 +183,17 @@ public class BindServiceImpl extends ServiceImpl<BindInfoMapper, ParkBindInfo> i
}
info.setUnqId(unqIdUtil.getUnqId());
info.setGmtBindTime(new Date());
bindCache.insert(info);
return ResultGenerator.success(new BindInfoRes(info.getUnqId()));
// info.setUnqId(unqIdUtil.getUnqId());
// info.setGmtBindTime(new Date());
// bindCache.insert(info);
//保存至redis
try {
redisTemplate.opsForValue().set("", objectMapper.writeValueAsString(info));
} catch ( Exception e ) {
log.error("绑定异常:{}", e.getMessage());
return ResultGenerator.fail(StatusCode.SYSTEM_ERROR);
}
return ResultGenerator.success();
}
/**
......@@ -322,6 +337,8 @@ public class BindServiceImpl extends ServiceImpl<BindInfoMapper, ParkBindInfo> i
queryReq.setTimeEnd(new Date());
queryReq.setTimeStart(DateUtil.offsetMonth(new Date(), -12));
List<ViolationMicRes> byPlateNumAndType = violationCache.getByPlateNumAndType(queryReq);
//过滤已处理信息
byPlateNumAndType = byPlateNumAndType.stream().filter(v->!"1".equals(v.getStatus())).collect(Collectors.toList());
/**
* 构建违章信息返回列表
......
......@@ -29,6 +29,10 @@ public class ParkBindInfo implements Serializable {
*/
private String phone;
/**
* 车主手机号码
*/
private String ownerPhone;
/**
* 车牌颜色:A:白,B:灰,C:黄,D:粉,E:红,
* F:紫,G:绿,H:蓝,I:棕,J:黑',
*/
......
......@@ -5,6 +5,7 @@ import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size;
/**
* @author lixian
......@@ -24,6 +25,12 @@ public class BindInfoReq {
@NotBlank(message = "客户手机号不能为空")
private String phone;
/**
* 车主手机号码
*/
@NotBlank(message = "车主手机号不能为空")
@Size(max = 11, message = "车主手机号无效")
private String ownerPhone;
/**
* 车牌颜色:A:白,B:灰,C:黄,D:粉,E:红,
* F:紫,G:绿,H:蓝,I:棕,J:黑',
*/
......
package com.hikcreate.edl.pub.web.mobile.infra.model.param.request;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
/**
* @author lixian
* @description
* @date 2020/7/20 17:09
**/
@Data
public class BindSmsValidReq {
/**
* 客户电话号码
*/
@NotBlank(message = "客户手机号不能为空")
private String phone;
/**
* 车主手机号码
*/
@NotBlank(message = "车主手机号不能为空")
@Size(max = 11, message = "车主手机号无效")
private String ownerPhone;
/**
* 验证码
*/
@NotBlank(message = "验证码不能为空")
private String smsCode;
/**
* 时间戳
*/
@NotNull(message = "时间戳不能为空")
private Long timestamp;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment