Commit f4f43501 by lixian7

修改唯一建生成方式

parent fb0548f2
...@@ -9,6 +9,7 @@ import com.hikcreate.common.sdk.response.apiparam.Response; ...@@ -9,6 +9,7 @@ import com.hikcreate.common.sdk.response.apiparam.Response;
import com.hikcreate.common.sdk.response.apiparam.ResponseGenerator; import com.hikcreate.common.sdk.response.apiparam.ResponseGenerator;
import com.hikcreate.common.sdk.response.statuscode.StatusCode; import com.hikcreate.common.sdk.response.statuscode.StatusCode;
import com.hikcreate.edl.pub.web.mobile.domain.IBindService; 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.BindCache;
import com.hikcreate.edl.pub.web.mobile.infra.data.cache.DrivingLicenseCache; 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.VechicleCache;
...@@ -34,6 +35,7 @@ import com.hikcreate.edl.pub.web.mobile.infra.model.param.response.ResultList; ...@@ -34,6 +35,7 @@ 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.ViolationInfoRes;
import com.hikcreate.edl.pub.web.mobile.infra.model.param.response.YearCheckInfoRes; import com.hikcreate.edl.pub.web.mobile.infra.model.param.response.YearCheckInfoRes;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -67,12 +69,12 @@ public class BindServiceImpl extends ServiceImpl<BindInfoMapper, ParkBindInfo> i ...@@ -67,12 +69,12 @@ public class BindServiceImpl extends ServiceImpl<BindInfoMapper, ParkBindInfo> i
ViolationCache violationCache; ViolationCache violationCache;
@Resource @Resource
DrivingLicenseCache drivingLicenseCache; DrivingLicenseCache drivingLicenseCache;
@Autowired
UnqIdUtil unqIdUtil;
@Override @Override
public Response bind(ParkBindInfo info) { public Response bind(ParkBindInfo info) {
info.setGmtBindTime(DateTime.now().toString());
//判断规则1:用户已绑定的车辆不超过3辆,包括已解绑但未过一个月的车辆 //判断规则1:用户已绑定的车辆不超过3辆,包括已解绑但未过一个月的车辆
QueryWrapper boundQuery = new QueryWrapper(); QueryWrapper boundQuery = new QueryWrapper();
boundQuery.eq("user_id", info.getUserId()); boundQuery.eq("user_id", info.getUserId());
...@@ -111,7 +113,8 @@ public class BindServiceImpl extends ServiceImpl<BindInfoMapper, ParkBindInfo> i ...@@ -111,7 +113,8 @@ public class BindServiceImpl extends ServiceImpl<BindInfoMapper, ParkBindInfo> i
} }
info.setUnqId(UUID.randomUUID().toString()); info.setUnqId(unqIdUtil.getUnqId());
info.setGmtBindTime(DateTime.now().toString());
mapper.insert(info); mapper.insert(info);
return ResponseGenerator.success(new BindInfoRes(info.getUnqId())); return ResponseGenerator.success(new BindInfoRes(info.getUnqId()));
} }
......
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;
}
}
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