解绑鉴权卡

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; package com.jsowell.web.controller.pile;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.alibaba.fastjson2.JSON; 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.annotation.Log;
import com.jsowell.common.core.controller.BaseController; import com.jsowell.common.core.controller.BaseController;
import com.jsowell.common.core.domain.AjaxResult; 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.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 * 充电站鉴权卡Controller
@@ -88,7 +82,14 @@ public class PileAuthCardController extends BaseController {
@PostMapping @PostMapping
public AjaxResult add(@RequestBody PileAuthCardDTO dto) { public AjaxResult add(@RequestBody PileAuthCardDTO dto) {
logger.info("新增充电站鉴权卡 params:{}", JSON.toJSONString(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_THIS_CARD_BIND_INFO_ERROR("00600006", "卡绑定信息有误!"),
CODE_AUTH_CARD_CODE_EXIST("00600007", "此卡号已存在!"),
CODE_SELECT_INFO_IS_NULL("00700001", "查询信息为空!"), CODE_SELECT_INFO_IS_NULL("00700001", "查询信息为空!"),
CODE_THIS_VIN_HAS_BEEN_BINDING("00700002", "该vin已被绑定请检查!"), CODE_THIS_VIN_HAS_BEEN_BINDING("00700002", "该vin已被绑定请检查!"),

View File

@@ -1,5 +1,6 @@
package com.jsowell.pile.service.impl; package com.jsowell.pile.service.impl;
import com.jsowell.common.constant.Constants;
import com.jsowell.common.enums.ykc.ReturnCodeEnum; import com.jsowell.common.enums.ykc.ReturnCodeEnum;
import com.jsowell.common.exception.BusinessException; import com.jsowell.common.exception.BusinessException;
import com.jsowell.common.util.StringUtils; import com.jsowell.common.util.StringUtils;
@@ -100,31 +101,34 @@ public class PileAuthCardServiceImpl implements IPileAuthCardService {
*/ */
@Override @Override
public int addAuthCard(PileAuthCardDTO dto) { 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(); String logicCard = dto.getLogicCard();
// 根据卡号查询数据库 // 根据卡号查询数据库
PileAuthCard cardInfo = pileAuthCardMapper.selectSomeStatusCardInfo(null, logicCard); PileAuthCard cardInfo = pileAuthCardMapper.selectSomeStatusCardInfo(null, logicCard);
if(cardInfo != null) { 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位数的字母 + 数字随机数 String secretKey = RandomStringUtils.randomAlphanumeric(8).toUpperCase(Locale.ROOT); // 生成8位数的字母 + 数字随机数
PileAuthCard pileAuthCard = PileAuthCard.builder() PileAuthCard pileAuthCard = PileAuthCard.builder()
.logicCard(logicCard) .logicCard(logicCard)
.memberId(memberBasicInfo.getMemberId()) .memberId(memberId)
.status(memberBasicInfo.getStatus()) .status(status)
.secretKey(secretKey) .secretKey(secretKey)
.build(); .build();
return pileAuthCardMapper.insertPileAuthCard(pileAuthCard); return pileAuthCardMapper.insertPileAuthCard(pileAuthCard);