update 绑定鉴权卡

This commit is contained in:
Guoqs
2024-05-22 10:47:37 +08:00
parent 484dce8a66
commit e265e63c1e
3 changed files with 25 additions and 20 deletions

View File

@@ -59,7 +59,7 @@ public class AuthCardController extends BaseController {
/** /**
* 用户绑定鉴权卡 * 用户绑定鉴权卡-小程序
* http://localhost:8080/uniapp/authCard/bindAuthCard * http://localhost:8080/uniapp/authCard/bindAuthCard
* @param dto * @param dto
* @return * @return

View File

@@ -143,7 +143,7 @@ public class MemberController extends BaseController {
String memberToken = memberService.wechatLogin(dto); String memberToken = memberService.wechatLogin(dto);
response = new RestApiResponse<>(ImmutableMap.of("memberToken", memberToken)); response = new RestApiResponse<>(ImmutableMap.of("memberToken", memberToken));
} catch (Exception e) { } catch (Exception e) {
logger.error("微信登录异常 param:{}", JSON.toJSONString(dto), e); logger.error("支付宝登录异常 param:{}", JSON.toJSONString(dto), e);
response = new RestApiResponse<>(ReturnCodeEnum.CODE_WECHAT_LOGIN_ERROR); response = new RestApiResponse<>(ReturnCodeEnum.CODE_WECHAT_LOGIN_ERROR);
} }
return response; return response;
@@ -393,7 +393,7 @@ public class MemberController extends BaseController {
/** /**
* 用户绑定鉴权卡接口 * 用户绑定鉴权卡接口-小程序
* http://localhost:8080/uniapp/member/memberBindingCard * http://localhost:8080/uniapp/member/memberBindingCard
* *
* @param dto * @param dto

View File

@@ -7,6 +7,7 @@ import com.jsowell.common.util.PageUtils;
import com.jsowell.common.util.StringUtils; import com.jsowell.common.util.StringUtils;
import com.jsowell.pile.domain.MemberBasicInfo; import com.jsowell.pile.domain.MemberBasicInfo;
import com.jsowell.pile.domain.PileAuthCard; import com.jsowell.pile.domain.PileAuthCard;
import com.jsowell.pile.dto.MemberRegisterAndLoginDTO;
import com.jsowell.pile.dto.PileAuthCardDTO; import com.jsowell.pile.dto.PileAuthCardDTO;
import com.jsowell.pile.mapper.PileAuthCardMapper; import com.jsowell.pile.mapper.PileAuthCardMapper;
import com.jsowell.pile.service.MemberBasicInfoService; import com.jsowell.pile.service.MemberBasicInfoService;
@@ -259,27 +260,31 @@ public class PileAuthCardServiceImpl implements PileAuthCardService {
*/ */
@Override @Override
public int bindAuthCard(PileAuthCardDTO dto) { public int bindAuthCard(PileAuthCardDTO dto) {
String phoneNumber = dto.getPhoneNumber(); // 判断当前鉴权卡是否被绑定过
// 通过运营商id获取一级运营商id PileAuthCard pileAuthCardInfo = selectCardInfoByLogicCard(dto.getLogicCard());
String firstLevelMerchantId = pileMerchantInfoService.getFirstLevelMerchantIdByMerchantId(dto.getMerchantId()); if (pileAuthCardInfo == null){
// 判断此用户是否已注册小程序账号 // 为空说明没查到此卡信息
MemberBasicInfo memberBasicInfo = memberBasicInfoService.selectInfoByMobileNumber(phoneNumber, firstLevelMerchantId); throw new BusinessException(ReturnCodeEnum.CODE_THIS_CARD_HAS_NO_INFO);
if (memberBasicInfo == null) {
throw new BusinessException(ReturnCodeEnum.CODE_USER_IS_NOT_REGISTER);
} }
// 判断此卡是否已被绑定 if (StringUtils.isNotBlank(pileAuthCardInfo.getMemberId())) {
PileAuthCard pileAuthCard = selectCardInfoByLogicCard(dto.getLogicCard()); // memberId 不为空,说明此卡已被绑定
if (!StringUtils.equals(pileAuthCard.getStatus(), "0")) { // 0-待激活 throw new BusinessException(ReturnCodeEnum.CODE_THIS_CARD_HAS_BEEN_BINDING);
throw new BusinessException(ReturnCodeEnum.CODE_THIS_CARD_STATUS_ANOMALY);
} }
// 验证密钥 if (!StringUtils.equalsIgnoreCase(pileAuthCardInfo.getSecretKey(), dto.getSecretKey())) {
if (!StringUtils.equals(dto.getSecretKey(), pileAuthCard.getSecretKey())) { // 密钥不一致,不能绑定
throw new BusinessException(ReturnCodeEnum.CODE_SECRET_KEY_NOT_SAME); throw new BusinessException(ReturnCodeEnum.CODE_SECRET_KEY_NOT_SAME);
} }
// 绑定操作 if (!StringUtils.equals(pileAuthCardInfo.getStatus(), Constants.ZERO)) {
pileAuthCard.setMemberId(dto.getMemberId()); // 鉴权卡不是待激活状态 0-待激活
pileAuthCard.setStatus("1"); throw new BusinessException(ReturnCodeEnum.CODE_THIS_CARD_STATUS_ANOMALY);
return updatePileAuthCard(pileAuthCard); }
PileAuthCard authCard = PileAuthCard.builder()
.id(pileAuthCardInfo.getId())
.memberId(dto.getMemberId())
.status(Constants.ONE) // 1-正常使用
.updateBy(dto.getMemberId())
.build();
return updatePileAuthCard(authCard);
} }
/** /**