解绑鉴权卡

This commit is contained in:
2023-11-28 17:03:43 +08:00
parent 5e54a3f38a
commit 943bd69068
3 changed files with 43 additions and 36 deletions

View File

@@ -1,29 +1,23 @@
package com.jsowell.web.controller.pile;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.alibaba.fastjson2.JSON;
import com.jsowell.pile.dto.PileAuthCardDTO;
import com.jsowell.pile.vo.web.PileAuthCardVO;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.jsowell.common.annotation.Log;
import com.jsowell.common.core.controller.BaseController;
import com.jsowell.common.core.domain.AjaxResult;
import com.jsowell.common.enums.BusinessType;
import com.jsowell.pile.domain.PileAuthCard;
import com.jsowell.pile.service.IPileAuthCardService;
import com.jsowell.common.util.poi.ExcelUtil;
import com.jsowell.common.core.page.TableDataInfo;
import com.jsowell.common.enums.BusinessType;
import com.jsowell.common.exception.BusinessException;
import com.jsowell.common.util.poi.ExcelUtil;
import com.jsowell.pile.domain.PileAuthCard;
import com.jsowell.pile.dto.PileAuthCardDTO;
import com.jsowell.pile.service.IPileAuthCardService;
import com.jsowell.pile.vo.web.PileAuthCardVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
* 充电站鉴权卡Controller
@@ -88,7 +82,14 @@ public class PileAuthCardController extends BaseController {
@PostMapping
public AjaxResult add(@RequestBody PileAuthCardDTO dto) {
logger.info("新增充电站鉴权卡 params:{}", JSON.toJSONString(dto));
return toAjax(pileAuthCardService.addAuthCard(dto));
AjaxResult ajaxResult;
try {
pileAuthCardService.addAuthCard(dto);
ajaxResult = AjaxResult.success();
} catch (BusinessException e) {
ajaxResult = AjaxResult.error(e.getMessage());
}
return ajaxResult;
}
/**

View File

@@ -181,6 +181,8 @@ public enum ReturnCodeEnum {
CODE_THIS_CARD_BIND_INFO_ERROR("00600006", "卡绑定信息有误!"),
CODE_AUTH_CARD_CODE_EXIST("00600007", "此卡号已存在!"),
CODE_SELECT_INFO_IS_NULL("00700001", "查询信息为空!"),
CODE_THIS_VIN_HAS_BEEN_BINDING("00700002", "该vin已被绑定请检查!"),

View File

@@ -1,5 +1,6 @@
package com.jsowell.pile.service.impl;
import com.jsowell.common.constant.Constants;
import com.jsowell.common.enums.ykc.ReturnCodeEnum;
import com.jsowell.common.exception.BusinessException;
import com.jsowell.common.util.StringUtils;
@@ -100,31 +101,34 @@ public class PileAuthCardServiceImpl implements IPileAuthCardService {
*/
@Override
public int addAuthCard(PileAuthCardDTO dto) {
MemberBasicInfo memberBasicInfo = new MemberBasicInfo();
if (dto.getPhoneNumber() == null) {
memberBasicInfo.setMemberId(null);
memberBasicInfo.setStatus("0"); // 0-待激活
}else {
// 通过手机号查询memberId
memberBasicInfo = memberBasicInfoService.selectInfoByMobileNumber(dto.getPhoneNumber(), dto.getMerchantId());
if (memberBasicInfo == null) {
// 为空则说明未查到该用户的注册信息
throw new BusinessException(ReturnCodeEnum.CODE_USER_IS_NOT_REGISTER);
}
memberBasicInfo.setStatus("1"); // 1-正常使用
}
String logicCard = dto.getLogicCard();
// 根据卡号查询数据库
PileAuthCard cardInfo = pileAuthCardMapper.selectSomeStatusCardInfo(null, logicCard);
if(cardInfo != null) {
// 不为空说明此卡已存在
throw new BusinessException(ReturnCodeEnum.CODE_THIS_CARD_HAS_BEEN_BINDING);
throw new BusinessException(ReturnCodeEnum.CODE_AUTH_CARD_CODE_EXIST);
}
// 鉴权卡状态 默认 0-待激活
String status = Constants.ZERO;
String memberId = null;
if (StringUtils.isNotBlank(dto.getPhoneNumber())) {
// 通过手机号查询memberId
MemberBasicInfo memberBasicInfo = memberBasicInfoService.selectInfoByMobileNumber(dto.getPhoneNumber(), dto.getMerchantId());
if (memberBasicInfo == null) {
// 为空则说明未查到该用户的注册信息
throw new BusinessException(ReturnCodeEnum.CODE_USER_IS_NOT_REGISTER);
}
memberId = memberBasicInfo.getMemberId();
status = Constants.ONE; // 1-正常使用
}
String secretKey = RandomStringUtils.randomAlphanumeric(8).toUpperCase(Locale.ROOT); // 生成8位数的字母 + 数字随机数
PileAuthCard pileAuthCard = PileAuthCard.builder()
.logicCard(logicCard)
.memberId(memberBasicInfo.getMemberId())
.status(memberBasicInfo.getStatus())
.memberId(memberId)
.status(status)
.secretKey(secretKey)
.build();
return pileAuthCardMapper.insertPileAuthCard(pileAuthCard);