绑定蓝牙桩

This commit is contained in:
Guoqs
2024-11-05 14:29:30 +08:00
parent 69110a42a2
commit f4feca4207
8 changed files with 115 additions and 18 deletions

View File

@@ -77,6 +77,34 @@ public class PersonPileController extends BaseController {
return response;
}
/**
* 绑定个人桩信息(蓝牙)
* <p>
* http://localhost:8080/uniapp/personalPile/pileMemberBindingForBT
*
* @param dto
* @return
*/
@RequestMapping("/pileMemberBindingForBT")
public RestApiResponse<?> pileMemberBindingForBT(HttpServletRequest request, @RequestBody PileMemberBindingDTO dto) {
logger.info("绑定个人桩信息(蓝牙) params:{}", JSON.toJSONString(dto));
RestApiResponse<?> response = null;
try {
String memberId = getMemberIdByAuthorization(request);
dto.setMemberId(memberId);
int i = pileService.pileMemberBindingForBT(dto);
response = new RestApiResponse<>(i);
} catch (BusinessException e) {
logger.error("绑定个人桩信息(蓝牙) error,", e);
response = new RestApiResponse<>(e.getCode(), e.getMessage());
} catch (Exception exception) {
logger.error("绑定个人桩信息(蓝牙) error,", exception);
response = new RestApiResponse<>(ReturnCodeEnum.CODE_BINDING_PERSONAL_PILE_ERROR);
}
logger.info("绑定个人桩信息(蓝牙) result:{}", response);
return response;
}
/**
* 用户解绑个人桩
* http://localhost:8080/uniapp/personalPile/userUnbindPile
@@ -140,9 +168,6 @@ public class PersonPileController extends BaseController {
return response;
}
/**
* 通过memberId查个人桩列表
* <p>

View File

@@ -412,7 +412,38 @@ public class PileService {
return pileMemberRelationService.insertPileMemberRelation(pileMemberRelation);
}
/**
* 用户绑定个人桩(蓝牙)
*/
public int pileMemberBindingForBT(PileMemberBindingDTO dto) {
// 判断桩是否为个人桩
PileBasicInfo pileBasicInfo = pileBasicInfoService.selectPileBasicInfoBySN(dto.getPileSn());
if (pileBasicInfo == null) {
// 未查到则说明没有此桩
throw new BusinessException(ReturnCodeEnum.CODE_PILE_NOT_INFO);
}
String businessType = pileBasicInfo.getBusinessType();
if (!StringUtils.equals(BusinessTypeEnum.INDIVIDUAL_PILE.getValue(), businessType)){
// 不一致则此桩不是个人桩
throw new BusinessException(ReturnCodeEnum.CODE_THIS_PILE_NOT_PERSONAL_PILE);
}
// 初始化个人桩预约信息
pileReservationInfoService.initPersonalPileReservation(dto.getPileSn(), null);
// 检查桩是否已经被绑定
PileMemberRelation pileMemberRelation = new PileMemberRelation();
pileMemberRelation.setPileSn(dto.getPileSn());
List<PileMemberRelation> list = pileMemberRelationService.selectPileMemberRelationList(pileMemberRelation);
if (CollectionUtils.isNotEmpty(list)){
// 说明已经被绑定过,抛出异常
throw new BusinessException(ReturnCodeEnum.CODE_PILE_HAS_BEEN_BINDING_ERROR);
}
// 保存绑定关系
pileMemberRelation.setMemberId(dto.getMemberId());
pileMemberRelation.setType(Constants.ONE); // 1-管理员
pileMemberRelation.setDeviceName(dto.getDeviceName());
pileMemberRelation.setDeviceId(dto.getDeviceId());
return pileMemberRelationService.insertPileMemberRelation(pileMemberRelation);
}
/**
* 用户解绑个人桩
* @param dto