mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-04-20 02:55:04 +08:00
update 车牌号 Vin 唯一校验
This commit is contained in:
@@ -267,6 +267,10 @@ public class MemberController extends BaseController {
|
||||
logger.info("用户绑定车牌号 param:{}", JSONObject.toJSONString(dto));
|
||||
RestApiResponse<?> response = null;
|
||||
try {
|
||||
// 参数校验
|
||||
if (StringUtils.isBlank(dto.getCarNo())) {
|
||||
throw new BusinessException(ReturnCodeEnum.CODE_PARAM_NOT_NULL_ERROR);
|
||||
}
|
||||
String memberId = getMemberIdByAuthorization(request);
|
||||
dto.setMemberId(memberId);
|
||||
memberService.memberBindingCarNo(dto);
|
||||
|
||||
@@ -15,6 +15,7 @@ import com.jsowell.adapay.config.AbstractAdapayConfig;
|
||||
import com.jsowell.adapay.factory.AdapayConfigFactory;
|
||||
import com.jsowell.common.constant.CacheConstants;
|
||||
import com.jsowell.common.constant.Constants;
|
||||
import com.jsowell.common.constant.UserConstants;
|
||||
import com.jsowell.common.core.page.PageResponse;
|
||||
import com.jsowell.common.core.redis.RedisCache;
|
||||
import com.jsowell.common.enums.TitleTypeEnum;
|
||||
@@ -439,23 +440,19 @@ public class MemberService {
|
||||
// 判断当前车牌号是否已经绑定 (2023.8.24 不做校验)
|
||||
MemberPlateNumberRelation relation = new MemberPlateNumberRelation();
|
||||
relation.setMemberId(dto.getMemberId());
|
||||
if (StringUtils.isBlank(dto.getCarNo())) {
|
||||
throw new BusinessException(ReturnCodeEnum.CODE_PARAM_NOT_NULL_ERROR);
|
||||
}
|
||||
relation.setLicensePlateNumber(dto.getCarNo());
|
||||
// List<MemberPlateNumberRelation> list = memberPlateNumberRelationService.selectMemberPlateNumberRelationList(relation);
|
||||
// if (CollectionUtils.isNotEmpty(list)) {
|
||||
// // 不为空说明该用户绑定过此车牌号
|
||||
// throw new BusinessException(ReturnCodeEnum.CODE_THIS_CARNO_HAS_BEEN_BINDING);
|
||||
// }
|
||||
// 判断当前车牌号是否被绑定
|
||||
if (UserConstants.NOT_UNIQUE.equals(memberPlateNumberRelationService.checkPlateNumberUnique(dto.getCarNo()))) {
|
||||
// 不为空说明该用户绑定过此车牌号
|
||||
throw new BusinessException(ReturnCodeEnum.CODE_THIS_CARNO_HAS_BEEN_BINDING);
|
||||
}
|
||||
|
||||
// 校验该车牌号是否为新能源车牌
|
||||
|
||||
// relation.setPhoneNumber(dto.getPhoneNumber());
|
||||
relation.setPhoneNumber(dto.getPhoneNumber());
|
||||
if (StringUtils.isNotBlank(dto.getVinCode())) {
|
||||
// 判断当前vin是否被绑定
|
||||
MemberPlateNumberRelation memberPlateInfoByVinCode = memberPlateNumberRelationService.getMemberPlateInfoByVinCode(dto.getVinCode());
|
||||
if (memberPlateInfoByVinCode != null) {
|
||||
if (UserConstants.NOT_UNIQUE.equals(memberPlateNumberRelationService.checkVinCodeUnique(dto.getVinCode()))) {
|
||||
throw new BusinessException(ReturnCodeEnum.CODE_THIS_VIN_HAS_BEEN_BINDING);
|
||||
}
|
||||
relation.setVinCode(dto.getVinCode().toUpperCase(Locale.ROOT));
|
||||
@@ -468,7 +465,7 @@ public class MemberService {
|
||||
* 用户绑定鉴权卡
|
||||
* @param dto
|
||||
*/
|
||||
public int memberBindCard(BindingCardDTO dto){
|
||||
public int memberBindCard(BindingCardDTO dto) {
|
||||
// 校验短信验证码
|
||||
MemberRegisterAndLoginDTO registerAndLoginDTO = MemberRegisterAndLoginDTO.builder()
|
||||
.mobileNumber(dto.getPhoneNumber())
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
package com.jsowell.pile.mapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.jsowell.pile.domain.MemberPlateNumberRelation;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 用户车牌对应关系Mapper接口
|
||||
*
|
||||
@@ -86,5 +86,12 @@ public interface MemberPlateNumberRelationMapper {
|
||||
* @param vinCode
|
||||
* @return
|
||||
*/
|
||||
MemberPlateNumberRelation getMemberPlateInfoByVinCode(@Param("vinCode") String vinCode);
|
||||
MemberPlateNumberRelation queryByVinCode(@Param("vinCode") String vinCode);
|
||||
|
||||
/**
|
||||
* 通过vin码查询信息
|
||||
* @param vinCode
|
||||
* @return
|
||||
*/
|
||||
MemberPlateNumberRelation queryByPlateNumber(@Param("plateNumber") String plateNumber);
|
||||
}
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
package com.jsowell.pile.service;
|
||||
|
||||
import java.util.List;
|
||||
import com.jsowell.pile.domain.MemberPlateNumberRelation;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 用户车牌对应关系Service接口
|
||||
*
|
||||
@@ -83,4 +84,8 @@ public interface IMemberPlateNumberRelationService
|
||||
* @return
|
||||
*/
|
||||
MemberPlateNumberRelation getMemberPlateInfoByVinCode(String vinCode);
|
||||
|
||||
String checkVinCodeUnique(String vinCode);
|
||||
|
||||
String checkPlateNumberUnique(String plateNumber);
|
||||
}
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
package com.jsowell.pile.service.impl;
|
||||
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
import com.jsowell.common.constant.UserConstants;
|
||||
import com.jsowell.common.enums.ykc.ReturnCodeEnum;
|
||||
import com.jsowell.common.exception.BusinessException;
|
||||
import com.jsowell.common.util.StringUtils;
|
||||
import com.jsowell.pile.domain.MemberPlateNumberRelation;
|
||||
import com.jsowell.pile.mapper.MemberPlateNumberRelationMapper;
|
||||
@@ -70,10 +73,25 @@ public class MemberPlateNumberRelationServiceImpl implements IMemberPlateNumberR
|
||||
|
||||
@Override
|
||||
public int updatePlateNumber(MemberPlateNumberRelation memberPlateNumberRelation) {
|
||||
if (StringUtils.isNotBlank(memberPlateNumberRelation.getLicensePlateNumber())) {
|
||||
String plateNumber = memberPlateNumberRelation.getLicensePlateNumber().toUpperCase(Locale.ROOT);
|
||||
String licensePlateNumber = memberPlateNumberRelation.getLicensePlateNumber();
|
||||
if (StringUtils.isNotBlank(licensePlateNumber)) {
|
||||
// 判断当前车牌号是否被绑定
|
||||
if (UserConstants.NOT_UNIQUE.equals(checkPlateNumberUnique(licensePlateNumber))) {
|
||||
// 不为空说明该用户绑定过此车牌号
|
||||
throw new BusinessException(ReturnCodeEnum.CODE_THIS_CARNO_HAS_BEEN_BINDING);
|
||||
}
|
||||
String plateNumber = licensePlateNumber.toUpperCase(Locale.ROOT);
|
||||
memberPlateNumberRelation.setLicensePlateNumber(plateNumber);
|
||||
}
|
||||
|
||||
// 校验vin
|
||||
String vinCode = memberPlateNumberRelation.getVinCode();
|
||||
if (StringUtils.isNotBlank(vinCode)) {
|
||||
// 判断当前vin是否被绑定
|
||||
if (UserConstants.NOT_UNIQUE.equals(checkVinCodeUnique(vinCode))) {
|
||||
throw new BusinessException(ReturnCodeEnum.CODE_THIS_VIN_HAS_BEEN_BINDING);
|
||||
}
|
||||
}
|
||||
return memberPlateNumberRelationMapper.updateMemberPlateNumberRelation(memberPlateNumberRelation);
|
||||
}
|
||||
|
||||
@@ -126,8 +144,34 @@ public class MemberPlateNumberRelationServiceImpl implements IMemberPlateNumberR
|
||||
return null;
|
||||
}
|
||||
vinCode = vinCode.trim();
|
||||
MemberPlateNumberRelation plateInfo = memberPlateNumberRelationMapper.getMemberPlateInfoByVinCode(vinCode);
|
||||
MemberPlateNumberRelation plateInfo = memberPlateNumberRelationMapper.queryByVinCode(vinCode);
|
||||
log.info("通过vin码查询数据库绑定用户信息 vinCode:{}, result:{}", vinCode, JSON.toJSONString(plateInfo));
|
||||
return plateInfo;
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验vin唯一
|
||||
* @param vinCode
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public String checkVinCodeUnique(String vinCode) {
|
||||
MemberPlateNumberRelation info = memberPlateNumberRelationMapper.queryByVinCode(vinCode);
|
||||
if (info == null) {
|
||||
return UserConstants.UNIQUE;
|
||||
}
|
||||
return UserConstants.NOT_UNIQUE;
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验车牌号唯一
|
||||
*/
|
||||
@Override
|
||||
public String checkPlateNumberUnique(String plateNumber) {
|
||||
MemberPlateNumberRelation info = memberPlateNumberRelationMapper.queryByPlateNumber(plateNumber);
|
||||
if (info == null) {
|
||||
return UserConstants.UNIQUE;
|
||||
}
|
||||
return UserConstants.NOT_UNIQUE;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -102,12 +102,19 @@
|
||||
where id = #{id,jdbcType=INTEGER}
|
||||
</update>
|
||||
|
||||
<select id="getMemberPlateInfoByVinCode" resultMap="MemberLicensePlateNumberRelationResult">
|
||||
<select id="queryByVinCode" resultMap="MemberLicensePlateNumberRelationResult">
|
||||
select
|
||||
<include refid="Base_Column_List"/>
|
||||
from member_plate_number_relation
|
||||
where
|
||||
vin_code = #{vinCode,jdbcType=VARCHAR}
|
||||
and del_flag = '0'
|
||||
where del_flag = '0'
|
||||
and vin_code = #{vinCode,jdbcType=VARCHAR}
|
||||
</select>
|
||||
|
||||
<select id="queryByPlateNumber" resultMap="MemberLicensePlateNumberRelationResult">
|
||||
select
|
||||
<include refid="Base_Column_List"/>
|
||||
from member_plate_number_relation
|
||||
where del_flag = '0'
|
||||
and license_plate_number = #{plateNumber,jdbcType=VARCHAR}
|
||||
</select>
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user