diff --git a/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/PileAuthCardController.java b/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/PileAuthCardController.java index 676a7078a..20625ad04 100644 --- a/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/PileAuthCardController.java +++ b/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/PileAuthCardController.java @@ -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; } /** diff --git a/jsowell-common/src/main/java/com/jsowell/common/enums/ykc/ReturnCodeEnum.java b/jsowell-common/src/main/java/com/jsowell/common/enums/ykc/ReturnCodeEnum.java index 705e386cc..ab1be4765 100644 --- a/jsowell-common/src/main/java/com/jsowell/common/enums/ykc/ReturnCodeEnum.java +++ b/jsowell-common/src/main/java/com/jsowell/common/enums/ykc/ReturnCodeEnum.java @@ -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已被绑定,请检查!"), diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileAuthCardServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileAuthCardServiceImpl.java index 19376bb1a..f95fa0ec3 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileAuthCardServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileAuthCardServiceImpl.java @@ -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);