Commit 1bb7a11d by lixian7

Merge branch 'dev' into 'test'

Dev

See merge request !2
parents af94e7d5 f4f43501
......@@ -66,7 +66,6 @@ public class BindInfoControlller extends BaseController {
*/
@PostMapping("unbind")
@BodyDecryptAnnotation
@ResponseEncryptAnnotation
public Response unbindInfo(@RequestBody @Validated UnBindReq req) {
return service.unbindInfo(req) ? ResponseGenerator.success() : ResponseGenerator.fail("解绑失败");
}
......
......@@ -10,14 +10,14 @@ import org.springframework.web.bind.annotation.RestController;
/**
* 工具
* @menu 工具接口
* @menu 工具
* @author lixian
* @description
* @date 2020/6/18 17:57
**/
@Slf4j
@RestController
@RequestMapping( "/test" )
@RequestMapping( "/tool" )
public class ToolController {
@Autowired
SignKeyConfigBean signKeyConfigBean;
......@@ -32,4 +32,12 @@ public class ToolController {
return EncryptStringAes.encryptAes(plain, signKeyConfigBean.getKey());
}
/**
* 获取时间戳
* @return
*/
@GetMapping( value = "timestamp" )
public String timestamp() {
return String.valueOf(System.currentTimeMillis());
}
}
......@@ -9,13 +9,11 @@ import com.hikcreate.common.sdk.response.apiparam.Response;
import com.hikcreate.common.sdk.response.apiparam.ResponseGenerator;
import com.hikcreate.common.sdk.response.statuscode.StatusCode;
import com.hikcreate.edl.pub.web.mobile.domain.IBindService;
import com.hikcreate.edl.pub.web.mobile.infra.core.util.UnqIdUtil;
import com.hikcreate.edl.pub.web.mobile.infra.data.cache.BindCache;
import com.hikcreate.edl.pub.web.mobile.infra.data.cache.DrivingLicenseCache;
import com.hikcreate.edl.pub.web.mobile.infra.data.cache.VechicleCache;
import com.hikcreate.edl.pub.web.mobile.infra.data.cache.ViolationCache;
import com.hikcreate.edl.pub.web.mobile.infra.data.feign.dcp_service_vehicle.DrivingLicenseFeign;
import com.hikcreate.edl.pub.web.mobile.infra.data.feign.dcp_service_vehicle.VechicleFeign;
import com.hikcreate.edl.pub.web.mobile.infra.data.feign.dcp_service_vehicle.ViolationFeign;
import com.hikcreate.edl.pub.web.mobile.infra.data.feign.dcp_service_vehicle.param.request.IdCardQueryReq;
import com.hikcreate.edl.pub.web.mobile.infra.data.feign.dcp_service_vehicle.param.request.PlateNumAndTypeQueryReq;
import com.hikcreate.edl.pub.web.mobile.infra.data.feign.dcp_service_vehicle.param.request.PlateNumQueryReq;
......@@ -30,12 +28,14 @@ import com.hikcreate.edl.pub.web.mobile.infra.model.entity.ParkVerifyInfo;
import com.hikcreate.edl.pub.web.mobile.infra.model.param.request.BindInfoQueryReq;
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.BindInfoRes;
import com.hikcreate.edl.pub.web.mobile.infra.model.param.response.DrivingLicenseInfoRes;
import com.hikcreate.edl.pub.web.mobile.infra.model.param.response.InsuranceInfoRes;
import com.hikcreate.edl.pub.web.mobile.infra.model.param.response.ResultList;
import com.hikcreate.edl.pub.web.mobile.infra.model.param.response.ViolationInfoRes;
import com.hikcreate.edl.pub.web.mobile.infra.model.param.response.YearCheckInfoRes;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.stereotype.Service;
......@@ -60,14 +60,8 @@ public class BindServiceImpl extends ServiceImpl<BindInfoMapper, ParkBindInfo> i
@Resource
BindInfoMapper mapper;
@Resource
VechicleFeign vechicle;
@Resource
ViolationFeign violatio;
@Resource
VerifyInfoMapper verifyInfo;
@Resource
DrivingLicenseFeign drivingLicense;
@Resource
BindCache bindCache;
@Resource
VechicleCache vechicleCache;
......@@ -75,13 +69,12 @@ public class BindServiceImpl extends ServiceImpl<BindInfoMapper, ParkBindInfo> i
ViolationCache violationCache;
@Resource
DrivingLicenseCache drivingLicenseCache;
@Autowired
UnqIdUtil unqIdUtil;
@Override
public Response bind( ParkBindInfo info) {
info.setUnqId(UUID.randomUUID().toString());
info.setGmtBindTime(DateTime.now().toString());
public Response bind(ParkBindInfo info) {
//判断规则1:用户已绑定的车辆不超过3辆,包括已解绑但未过一个月的车辆
QueryWrapper boundQuery = new QueryWrapper();
boundQuery.eq("user_id", info.getUserId());
......@@ -98,6 +91,7 @@ public class BindServiceImpl extends ServiceImpl<BindInfoMapper, ParkBindInfo> i
if (byPlateNum == null || byPlateNum.size() == 0) {
return ResponseGenerator.fail(StatusCode.DATA_ERROR, "车辆信息不存在");
}
for (VehicleRes res : byPlateNum) {
if (info.getPhone().equals(res.getSjhm())) {
info.setPlateType(res.getHpzl());
......@@ -116,11 +110,13 @@ public class BindServiceImpl extends ServiceImpl<BindInfoMapper, ParkBindInfo> i
ParkBindInfo bindExist = mapper.selectOne(queryWrapper);
if (bindExist != null) {
return ResponseGenerator.fail(StatusCode.DATA_ERROR, "此车牌号已绑定");
} else {
info.setUnqId(UUID.randomUUID().toString());
mapper.insert(info);
}
return ResponseGenerator.success(info.getUnqId());
info.setUnqId(unqIdUtil.getUnqId());
info.setGmtBindTime(DateTime.now().toString());
mapper.insert(info);
return ResponseGenerator.success(new BindInfoRes(info.getUnqId()));
}
/**
......@@ -142,9 +138,10 @@ public class BindServiceImpl extends ServiceImpl<BindInfoMapper, ParkBindInfo> i
Integer integer = mapper.selectCount(queryWrapper);
if (integer >= 10) {
return false;
} else {
return bindCache.unBind(req.getUnqId(), req.getUserId());
}
return bindCache.unBind(req.getUnqId(), req.getUserId());
}
/**
......@@ -154,7 +151,7 @@ public class BindServiceImpl extends ServiceImpl<BindInfoMapper, ParkBindInfo> i
* @return
*/
@Override
public List<ParkBindInfo> selectByQuery( BindInfoQueryReq query) {
public List<ParkBindInfo> selectByQuery(BindInfoQueryReq query) {
return bindCache.selectByQuery(query.getUserId());
}
......@@ -189,7 +186,7 @@ public class BindServiceImpl extends ServiceImpl<BindInfoMapper, ParkBindInfo> i
public Response<InsuranceInfoRes> insuranceInfo(H5BindInfoQuery query) {
ParkBindInfo bindInfo = bindCache.getById(query.getUnqId());
if (bindInfo == null || "0".equals(bindInfo.getStatus())) {
return ResponseGenerator.fail(StatusCode.DATA_ERROR,"绑定信息不存在");
return ResponseGenerator.fail(StatusCode.DATA_ERROR, "绑定信息不存在");
}
PlateNumAndTypeQueryReq req = new PlateNumAndTypeQueryReq();
req.setPlateNum(bindInfo.getPlateNum());
......@@ -227,7 +224,7 @@ public class BindServiceImpl extends ServiceImpl<BindInfoMapper, ParkBindInfo> i
*/
ParkBindInfo bindInfo = bindCache.getById(query.getUnqId());
if (bindInfo == null || "0".equals(bindInfo.getStatus())) {
return ResponseGenerator.fail(StatusCode.DATA_ERROR,"绑定信息不存在");
return ResponseGenerator.fail(StatusCode.DATA_ERROR, "绑定信息不存在");
}
/**
......@@ -263,7 +260,7 @@ public class BindServiceImpl extends ServiceImpl<BindInfoMapper, ParkBindInfo> i
*/
ParkBindInfo bindInfo = bindCache.getById(query.getUnqId());
if (bindInfo == null || "0".equals(bindInfo.getStatus())) {
return ResponseGenerator.fail(StatusCode.DATA_ERROR,"绑定信息不存在");
return ResponseGenerator.fail(StatusCode.DATA_ERROR, "绑定信息不存在");
}
/**
......
package com.hikcreate.edl.pub.web.mobile.infra.core.util;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Component;
import java.util.Date;
import java.util.concurrent.TimeUnit;
/**
* 唯一建工具类
*
* @author lixian
* @description
* @date 2020/6/22 16:24
**/
@Component
public class UnqIdUtil {
@Autowired
StringRedisTemplate redisTemplate;
String redisKey = "park:unqid:random";
public static void main( String[] args ) {
long random = 11114432543l;
random = random % 10000000;
System.out.println(StrUtil.fillBefore(String.valueOf(random), '0', 8));
}
/**
* 获取唯一建
* 16(日期)+8(随机数)
*
* @return
*/
public String getUnqId() {
String id = "";
id = id.concat(DateUtil.format(new Date(), DatePattern.PURE_DATETIME_MS_FORMAT));
long random = redisTemplate.opsForValue().increment(redisKey, 1);
if( random==1 ) {
redisTemplate.expire(redisKey, 60l, TimeUnit.SECONDS);
}
random = random % 10000000;
id = id.concat(StrUtil.fillBefore(String.valueOf(random), '0', 8));
System.out.println("id:"+id);
return id;
}
}
package com.hikcreate.edl.pub.web.mobile.infra.model.param.response;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 绑定操作返回结果封装
* @author: xieshixiang
* @time:2020/6/22 17:04
**/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class BindInfoRes {
/**
* 唯一键
*/
private String unqId;
}
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