Commit 0239d311 by lixian7

修改绑定接口

parent 7ae0c35a
...@@ -12,6 +12,7 @@ import com.hikcreate.edl.pub.web.mobile.infra.core.annotatiion.ResponseEncryptAn ...@@ -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.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.BindInfoQueryReq;
import com.hikcreate.edl.pub.web.mobile.infra.model.param.request.BindInfoReq; 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.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.BindInfoQueryRes;
import com.hikcreate.edl.pub.web.mobile.infra.model.param.response.BindInfoRes; import com.hikcreate.edl.pub.web.mobile.infra.model.param.response.BindInfoRes;
...@@ -53,7 +54,7 @@ public class BindInfoControlller extends BaseController { ...@@ -53,7 +54,7 @@ public class BindInfoControlller extends BaseController {
@PostMapping( "bind" ) @PostMapping( "bind" )
@BodyDecryptAnnotation @BodyDecryptAnnotation
@ResponseEncryptAnnotation @ResponseEncryptAnnotation
public Result<BindInfoRes> bindInfo( @RequestBody @Validated BindInfoReq req ) { public Result bindInfo( @RequestBody @Validated BindInfoReq req ) {
ParkBindInfo bindInfo = new ParkBindInfo(); ParkBindInfo bindInfo = new ParkBindInfo();
defaultConverter.getMapperFacade().map(req, bindInfo); defaultConverter.getMapperFacade().map(req, bindInfo);
Result response = null; Result response = null;
...@@ -69,6 +70,16 @@ public class BindInfoControlller extends BaseController { ...@@ -69,6 +70,16 @@ public class BindInfoControlller extends BaseController {
return response; 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; ...@@ -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.core.Result.Result;
import com.hikcreate.edl.pub.web.mobile.infra.model.entity.ParkBindInfo; 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.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.H5BindInfoQuery;
import com.hikcreate.edl.pub.web.mobile.infra.model.param.request.UnBindReq; 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.BindInfoQueryRes;
...@@ -32,6 +33,13 @@ public interface IBindService extends IService<ParkBindInfo> { ...@@ -32,6 +33,13 @@ public interface IBindService extends IService<ParkBindInfo> {
Result bind( ParkBindInfo info); Result bind( ParkBindInfo info);
/** /**
* 车辆绑定短信验证接口
* @param req
* @return
*/
Result bindSmsValid( BindSmsValidReq req);
/**
* 信息解绑 * 信息解绑
* @param req * @param req
* @return * @return
......
...@@ -5,6 +5,7 @@ import cn.hutool.core.date.DateUtil; ...@@ -5,6 +5,7 @@ import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; 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.apiparam.Response;
import com.hikcreate.common.sdk.response.statuscode.StatusCode; import com.hikcreate.common.sdk.response.statuscode.StatusCode;
import com.hikcreate.edl.common.distributed.lock.annotation.DistributedLock; 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 ...@@ -44,6 +45,7 @@ import com.hikcreate.edl.pub.web.mobile.infra.model.param.response.YearCheckInfo
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport; import org.springframework.transaction.interceptor.TransactionAspectSupport;
...@@ -53,6 +55,7 @@ import java.util.ArrayList; ...@@ -53,6 +55,7 @@ import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
import java.util.stream.Collectors;
/** /**
* 客户绑定服务实现类 * 客户绑定服务实现类
...@@ -65,19 +68,19 @@ import java.util.Objects; ...@@ -65,19 +68,19 @@ import java.util.Objects;
public class BindServiceImpl extends ServiceImpl<BindInfoMapper, ParkBindInfo> implements IBindService { public class BindServiceImpl extends ServiceImpl<BindInfoMapper, ParkBindInfo> implements IBindService {
@Resource @Resource
BindInfoMapper mapper; private BindInfoMapper mapper;
@Resource @Resource
VerifyInfoMapper verifyInfo; private VerifyInfoMapper verifyInfo;
@Resource @Resource
BindCache bindCache; private BindCache bindCache;
@Resource @Resource
VechicleCache vechicleCache; private VechicleCache vechicleCache;
@Resource @Resource
ViolationCache violationCache; private ViolationCache violationCache;
@Resource @Resource
DrivingLicenseCache drivingLicenseCache; private DrivingLicenseCache drivingLicenseCache;
@Autowired @Autowired
UnqIdUtil unqIdUtil; private UnqIdUtil unqIdUtil;
@Autowired @Autowired
private DrivingLicenseQrFeign drivingLicenseQrFeign; private DrivingLicenseQrFeign drivingLicenseQrFeign;
...@@ -86,19 +89,24 @@ public class BindServiceImpl extends ServiceImpl<BindInfoMapper, ParkBindInfo> i ...@@ -86,19 +89,24 @@ public class BindServiceImpl extends ServiceImpl<BindInfoMapper, ParkBindInfo> i
* 单位:小时 * 单位:小时
*/ */
@Value("${biz.unbind.time:720}") @Value("${biz.unbind.time:720}")
Integer unBindTime; private Integer unBindTime;
/** /**
* 解绑限制次数 * 解绑限制次数
*/ */
@Value("${biz.unbind.limit.count:10}") @Value("${biz.unbind.limit.count:10}")
Integer unBindCount; private Integer unBindCount;
/** /**
* 验证有效性限制时间 * 验证有效性限制时间
* 单位:小时 * 单位:小时
*/ */
@Value("${biz.check.validity.limit.time:24}") @Value("${biz.check.validity.limit.time:24}")
Integer checkValidityLimitTime; private Integer checkValidityLimitTime;
@Autowired
private StringRedisTemplate redisTemplate;
private final ObjectMapper objectMapper = new ObjectMapper();
@Override @Override
...@@ -156,7 +164,7 @@ public class BindServiceImpl extends ServiceImpl<BindInfoMapper, ParkBindInfo> i ...@@ -156,7 +164,7 @@ public class BindServiceImpl extends ServiceImpl<BindInfoMapper, ParkBindInfo> i
} }
for (VehicleRes res : byPlateNum) { for (VehicleRes res : byPlateNum) {
if (info.getPhone().equals(res.getSjhm())) { if (info.getOwnerPhone().equals(res.getSjhm())) {
info.setPlateType(res.getHpzl()); info.setPlateType(res.getHpzl());
} }
} }
...@@ -175,10 +183,17 @@ public class BindServiceImpl extends ServiceImpl<BindInfoMapper, ParkBindInfo> i ...@@ -175,10 +183,17 @@ public class BindServiceImpl extends ServiceImpl<BindInfoMapper, ParkBindInfo> i
} }
info.setUnqId(unqIdUtil.getUnqId()); // info.setUnqId(unqIdUtil.getUnqId());
info.setGmtBindTime(new Date()); // info.setGmtBindTime(new Date());
bindCache.insert(info); // bindCache.insert(info);
return ResultGenerator.success(new BindInfoRes(info.getUnqId())); //保存至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 ...@@ -322,6 +337,8 @@ public class BindServiceImpl extends ServiceImpl<BindInfoMapper, ParkBindInfo> i
queryReq.setTimeEnd(new Date()); queryReq.setTimeEnd(new Date());
queryReq.setTimeStart(DateUtil.offsetMonth(new Date(), -12)); queryReq.setTimeStart(DateUtil.offsetMonth(new Date(), -12));
List<ViolationMicRes> byPlateNumAndType = violationCache.getByPlateNumAndType(queryReq); 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 { ...@@ -29,6 +29,10 @@ public class ParkBindInfo implements Serializable {
*/ */
private String phone; private String phone;
/** /**
* 车主手机号码
*/
private String ownerPhone;
/**
* 车牌颜色:A:白,B:灰,C:黄,D:粉,E:红, * 车牌颜色:A:白,B:灰,C:黄,D:粉,E:红,
* F:紫,G:绿,H:蓝,I:棕,J:黑', * F:紫,G:绿,H:蓝,I:棕,J:黑',
*/ */
......
...@@ -5,6 +5,7 @@ import lombok.Data; ...@@ -5,6 +5,7 @@ import lombok.Data;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern; import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size;
/** /**
* @author lixian * @author lixian
...@@ -24,6 +25,12 @@ public class BindInfoReq { ...@@ -24,6 +25,12 @@ public class BindInfoReq {
@NotBlank(message = "客户手机号不能为空") @NotBlank(message = "客户手机号不能为空")
private String phone; private String phone;
/** /**
* 车主手机号码
*/
@NotBlank(message = "车主手机号不能为空")
@Size(max = 11, message = "车主手机号无效")
private String ownerPhone;
/**
* 车牌颜色:A:白,B:灰,C:黄,D:粉,E:红, * 车牌颜色:A:白,B:灰,C:黄,D:粉,E:红,
* F:紫,G:绿,H:蓝,I:棕,J:黑', * 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