充电桩主动申请充电,平台生成订单号回复并启动充电

This commit is contained in:
Lemon
2023-03-18 10:59:02 +08:00
parent a2a5c90704
commit 52a6db253e
12 changed files with 249 additions and 44 deletions

View File

@@ -299,4 +299,31 @@ public class MemberController extends BaseController {
logger.info("用户解绑车牌号 result:{}", response);
return response;
}
/**
* 用户绑定鉴权卡接口
* http://localhost:8080/uniapp/member/memberBindingCard
* @param dto
* @return
*/
@PostMapping("/memberBindingCard")
public RestApiResponse<?> memberBindingCard(HttpServletRequest request, @RequestBody BindingCardDTO dto){
logger.info("用户绑定鉴权卡 param:{}", JSONObject.toJSONString(dto));
RestApiResponse<?> response = null;
try {
String memberId = getMemberIdByAuthorization(request);
dto.setMemberId(memberId);
int i = memberService.memberBindCard(dto);
response = new RestApiResponse<>(i);
} catch (BusinessException e){
logger.error("用户绑定鉴权卡 error", e);
response = new RestApiResponse<>(e.getCode(), e.getMessage());
} catch (Exception e) {
logger.error("用户绑定鉴权卡 error", e);
response = new RestApiResponse<>(e);
}
logger.info("用户绑定鉴权卡 result:{}", response);
return response;
}
}

View File

@@ -15,9 +15,11 @@ import com.jsowell.common.util.id.IdUtils;
import com.jsowell.pile.domain.MemberBasicInfo;
import com.jsowell.pile.domain.MemberPlateNumberRelation;
import com.jsowell.pile.domain.MemberWalletInfo;
import com.jsowell.pile.domain.PileAuthCard;
import com.jsowell.pile.dto.*;
import com.jsowell.pile.service.IMemberBasicInfoService;
import com.jsowell.pile.service.IMemberPlateNumberRelationService;
import com.jsowell.pile.service.IPileAuthCardService;
import com.jsowell.pile.service.IPileMerchantInfoService;
import com.jsowell.pile.transaction.dto.MemberTransactionDTO;
import com.jsowell.pile.transaction.service.TransactionService;
@@ -55,6 +57,9 @@ public class MemberService {
@Autowired
private IMemberPlateNumberRelationService memberPlateNumberRelationService;
@Autowired
private IPileAuthCardService pileAuthCardService;
/**
* 校验短信验证码
* @param dto
@@ -259,4 +264,35 @@ public class MemberService {
relation.setPhoneNumber(dto.getPhoneNumber());
memberPlateNumberRelationService.insertMemberPlateNumberRelation(relation);
}
/**
* 用户绑定鉴权卡
* @param dto
*/
public int memberBindCard(BindingCardDTO dto){
// 校验短信验证码
MemberRegisterAndLoginDTO registerAndLoginDTO = MemberRegisterAndLoginDTO.builder()
.mobileNumber(dto.getPhoneNumber())
.verificationCode(dto.getVerificationCode())
.build();
// checkVerificationCode(registerAndLoginDTO);
// 判断当前鉴权卡是否被绑定过
PileAuthCard authCard = PileAuthCard.builder()
.physicsCard(dto.getPhysicsCard())
.build();
PileAuthCard pileAuthCardInfo = pileAuthCardService.selectPileAuthCardInfo(authCard);
if (pileAuthCardInfo == null){
// 为空说明没查到此卡信息
throw new BusinessException(ReturnCodeEnum.CODE_THIS_CARD_HAS_NO_INFO);
}
if (StringUtils.isNotBlank(pileAuthCardInfo.getMemberId())) {
// memberId 不为空,说明此卡已被绑定
throw new BusinessException(ReturnCodeEnum.CODE_THIS_CARD_HAS_BEEN_BINDING);
}
authCard.setMemberId(dto.getMemberId());
authCard.setStatus("1"); // 1-正常使用
authCard.setCreateBy(dto.getMemberId());
authCard.setId(pileAuthCardInfo.getId());
return pileAuthCardService.updatePileAuthCard(authCard);
}
}