| | |
| | | .eq(Locks::getIsdeleted, Constants.ZERO) |
| | | .last("limit 1")); |
| | | if (Objects.isNull(locks)) { |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(), "扫码无效,未查询到锁头信息"); |
| | | // locks =new Locks(); |
| | | // locks.setCode(codes[1]); |
| | | // locks.setSiteId(codes[0]); |
| | | // deviceService.getLockInfo(locks); |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(), "扫码无效,该站点锁头暂不支持借出业务哦!"); |
| | | } |
| | | //查询锁头是否存在车辆 以及是否正常 |
| | | if (Constants.formatIntegerNum(locks.getStatus())!=Constants.ZERO) { |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(), "当前扫码锁头状态错误,无法进行开锁"); |
| | | locks =new Locks(); |
| | | locks.setCode(codes[1]); |
| | | locks.setSiteId(codes[0]); |
| | | deviceService.getLockInfo(locks); |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(), "当前扫码锁头状态错误,已尝试更新锁头状态,请稍后重试!"); |
| | | } |
| | | if (StringUtils.isBlank(locks.getBikeCode())) { |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "当前扫码锁头无车辆信息,无法进行开锁"); |
| | | locks =new Locks(); |
| | | locks.setCode(codes[1]); |
| | | locks.setSiteId(codes[0]); |
| | | deviceService.getLockInfo(locks); |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "当前扫码锁头无车辆信息,已尝试更新锁头状态,请稍后重试!"); |
| | | } |
| | | MemberRides memberRides = new MemberRides(); |
| | | //根据车型查询计价方案 |
| | |
| | | sites.setStatus(Constants.ZERO); |
| | | sites.setEditDate(date); |
| | | sites.setLockNum(1); |
| | | sites.setLastLinkDate(date); |
| | | //新增锁头 |
| | | sitesMapper.insert(sites); |
| | | } |
| | |
| | | @Override |
| | | @Transactional(rollbackFor = {BusinessException.class,Exception.class}) |
| | | public int mqttCloseBikeEvent(MemberRides bikes){ |
| | | Locks locks = new Locks(); |
| | | locks.setSiteId(bikes.getBackSiteId()); |
| | | locks.setCode(bikes.getBackLockId()); |
| | | locks.setBikeCode(bikes.getBikeCode()); |
| | | locks.setInfo(bikes.getBackCommondId()); |
| | | //处理锁头数据 |
| | | mqttLockInfoEvent(locks); |
| | | //免费骑行时长查询,数据字典配置 |
| | | if(StringUtils.isBlank(bikes.getBikeCode()) ||StringUtils.isBlank(bikes.getBackLockId())||StringUtils.isBlank(bikes.getBackSiteId())){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"还车上报参数错误!"); |
| | | } |
| | | QueryWrapper<MemberRides> wrapper = new QueryWrapper<>(); |
| | | List<Integer> statusList = new ArrayList<>(); |
| | | statusList.add(Constants.MEMBER_RIDES_STATUS.RIDES_RUNNING.getKey()); |
| | | statusList.add(Constants.MEMBER_RIDES_STATUS.LOCKING.getKey()); |
| | | wrapper.lambda().eq(MemberRides::getBikeCode, bikes.getBikeCode()); |
| | | wrapper.lambda().eq(MemberRides::getStatus, Constants.MEMBER_RIDES_STATUS.RIDES_RUNNING.getKey()); |
| | | wrapper.lambda().in(MemberRides::getStatus, statusList); |
| | | wrapper.lambda().eq(MemberRides::getIsdeleted, Constants.ZERO); |
| | | //根据车辆编码查询骑行中的骑行记录信息,如果有进行还车操作 |
| | | MemberRides memberRides = memberRidesMapper.selectOne(wrapper.last("limit 1")); |