Commit be866e04 by xieshixiang

调整代码

parent dddfe986
...@@ -68,7 +68,7 @@ public class BindInfoControlller extends BaseController { ...@@ -68,7 +68,7 @@ public class BindInfoControlller extends BaseController {
@PostMapping("unbind") @PostMapping("unbind")
@BodyDecryptAnnotation @BodyDecryptAnnotation
public Response unbindInfo(@RequestBody @Validated UnBindReq req) { public Response unbindInfo(@RequestBody @Validated UnBindReq req) {
return service.unbindInfo(req) ? ResponseGenerator.success() : ResponseGenerator.fail("解绑失败"); return service.unbindInfo(req) ;
} }
/** /**
......
...@@ -135,7 +135,7 @@ public class H5Controller { ...@@ -135,7 +135,7 @@ public class H5Controller {
public Response<CheckValidityRes> checkValidity(@RequestBody @Validated H5BindInfoQuery query) { public Response<CheckValidityRes> checkValidity(@RequestBody @Validated H5BindInfoQuery query) {
ParkVerifyInfo verifyInfo = verifyInfoMapper.checkValidity(query.getPhone(), query.getUserId(), ParkVerifyInfo verifyInfo = verifyInfoMapper.checkValidity(query.getPhone(), query.getUserId(),
DateUtil.offsetDay(DateTime.now(), -1)); DateUtil.offsetHour(DateTime.now(), -checkValidityLimitTime));
CheckValidityRes checkValidityRes = new CheckValidityRes(); CheckValidityRes checkValidityRes = new CheckValidityRes();
defaultConverter.getMapperFacade().map(query, checkValidityRes); defaultConverter.getMapperFacade().map(query, checkValidityRes);
......
...@@ -35,7 +35,7 @@ public interface IBindService extends IService<ParkBindInfo> { ...@@ -35,7 +35,7 @@ public interface IBindService extends IService<ParkBindInfo> {
* @param req * @param req
* @return * @return
*/ */
boolean unbindInfo( UnBindReq req ); Response unbindInfo( UnBindReq req );
/** /**
* 查询用户绑定信息 * 查询用户绑定信息
......
...@@ -37,7 +37,10 @@ import com.hikcreate.edl.pub.web.mobile.infra.model.param.response.ViolationInfo ...@@ -37,7 +37,10 @@ import com.hikcreate.edl.pub.web.mobile.infra.model.param.response.ViolationInfo
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.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.ArrayList; import java.util.ArrayList;
...@@ -70,6 +73,13 @@ public class BindServiceImpl extends ServiceImpl<BindInfoMapper, ParkBindInfo> i ...@@ -70,6 +73,13 @@ public class BindServiceImpl extends ServiceImpl<BindInfoMapper, ParkBindInfo> i
@Autowired @Autowired
UnqIdUtil unqIdUtil; UnqIdUtil unqIdUtil;
/**
* 解除绑定时间限制
* 单位:小时
*/
@Value("${biz.unbind.time:720}")
Integer unBindTime;
@Override @Override
public Response bind(ParkBindInfo info) { public Response bind(ParkBindInfo info) {
...@@ -144,22 +154,29 @@ public class BindServiceImpl extends ServiceImpl<BindInfoMapper, ParkBindInfo> i ...@@ -144,22 +154,29 @@ public class BindServiceImpl extends ServiceImpl<BindInfoMapper, ParkBindInfo> i
* @return * @return
*/ */
@Override @Override
public boolean unbindInfo(UnBindReq req) { @Transactional(rollbackFor = Exception.class)
public Response unbindInfo(UnBindReq req) {
ParkBindInfo bindInfo = bindCache.getById(req.getUnqId());
if (bindInfo == null || "0".equals(bindInfo.getStatus())) {
return ResponseGenerator.fail(StatusCode.DATA_ERROR, "绑定信息不存在");
}
/** /**
* 解绑规则:30天内,同一客户解绑次数总计不能超过10次 * 解绑规则:30天内,同一客户解绑次数总计不能超过10次
*/ */
QueryWrapper<ParkBindInfo> queryWrapper = new QueryWrapper<>(); QueryWrapper<ParkBindInfo> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("user_id", req.getUnqId()); queryWrapper.eq("user_id", req.getUserId());
queryWrapper.lt("unbind_time", DateUtil.offsetDay(new Date(), -30)); queryWrapper.ge("unbind_time", DateUtil.offsetHour(new Date(), -unBindTime));
queryWrapper.eq("status", "0"); queryWrapper.eq("status", "0");
Integer integer = mapper.selectCount(queryWrapper); Integer integer = mapper.selectCount(queryWrapper);
if (integer >= 10) { if (integer >= 10) {
return false; return ResponseGenerator.fail(StatusCode.BUSINESS_ERROR, "同一用户30天内只能解绑10次");
} }
if (!bindCache.unBind(req.getUnqId(), req.getUserId())) {
return bindCache.unBind(req.getUnqId(), req.getUserId()); //手动回滚
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return ResponseGenerator.fail(StatusCode.SYSTEM_ERROR, "解绑失败");
}
return ResponseGenerator.success();
} }
/** /**
......
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