ss
jiangping
2023-11-07 61190752c2edf563ebce2f7c94653b6a91cf8c5e
server/services/src/main/java/com/doumee/service/business/impl/MemberRidesServiceImpl.java
@@ -603,6 +603,35 @@
            update.setId(memberRides.getId());
            //(更新请求开锁中的锁头关联的骑行记录)
            memberRidesMapper.updateById( update);
        }else   if(locks.getStatus() == Constants.LockStatus.closed ){
            //如果是关锁业务,判断触发还车
            if(StringUtils.isNotBlank(locks.getBikeCode())){
                MemberRides mbikes = new MemberRides();
                mbikes.setBackLockId(locks.getCode());
                mbikes.setBackSiteId(locks.getSiteId());
                mbikes.setBikeCode(locks.getBikeCode());
                mqttCloseBikeEventDo(mbikes);
               /* if(StringUtils.isBlank(locks.getBikeCode()) ||StringUtils.isBlank(locks.getCode())
                        ||StringUtils.isBlank(bikes.getSiteId())){
                    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, locks.getBikeCode());
                wrapper.lambda().in(MemberRides::getStatus, statusList);
                wrapper.lambda().eq(MemberRides::getIsdeleted, Constants.ZERO);
                //根据车辆编码查询骑行中的骑行记录信息,如果有进行还车操作
                List<MemberRides> list = memberRidesMapper.selectList(wrapper);
//        MemberRides memberRides = memberRidesMapper.selectOne(wrapper.last("limit  1"));
                if(list!=null){
                    //进行
                    for(MemberRides memberRides : list){
                        dealMemberRidesBack(memberRides,bikes);
                    }
                }*/
            }
        }
        return 0;
    }
@@ -780,9 +809,13 @@
        locks.setStatus(bikes.getStatus());
        //处理锁头数据
         mqttLockInfoEvent(locks);
        //免费骑行时长查询,数据字典配置
         mqttCloseBikeEventDo(bikes);
        return  0;
    }
    private void mqttCloseBikeEventDo(MemberRides bikes) {
        if(StringUtils.isBlank(bikes.getBikeCode()) ||StringUtils.isBlank(bikes.getBackLockId())||StringUtils.isBlank(bikes.getBackSiteId())){
          throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"还车上报参数错误!");
            throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"还车上报参数错误!");
        }
        QueryWrapper<MemberRides> wrapper = new QueryWrapper<>();
        List<Integer> statusList = new ArrayList<>();
@@ -792,12 +825,14 @@
        wrapper.lambda().in(MemberRides::getStatus, statusList);
        wrapper.lambda().eq(MemberRides::getIsdeleted, Constants.ZERO);
        //根据车辆编码查询骑行中的骑行记录信息,如果有进行还车操作
        MemberRides memberRides = memberRidesMapper.selectOne(wrapper.last("limit  1"));
        if(memberRides!=null){
        List<MemberRides> list = memberRidesMapper.selectList(wrapper);
//        MemberRides memberRides = memberRidesMapper.selectOne(wrapper.last("limit  1"));
        if(list!=null){
            //进行
            dealMemberRidesBack(memberRides,bikes);
            for(MemberRides memberRides : list){
                dealMemberRidesBack(memberRides,bikes);
            }
        }
        return  0;
    }
    private void dealMemberRidesBack(MemberRides memberRides,MemberRides param) {