111
k94314517
2023-10-17 1e22fd4f9b5e1e6beb95d68a74c0311f2300762a
server/services/src/main/java/com/doumee/service/business/impl/MemberRidesServiceImpl.java
@@ -237,7 +237,7 @@
    }
    @Override
    public String getOnlineBike(String memberId){
    public MemberRides getOnlineBike(String memberId){
        MemberRides memberRides = memberRidesMapper.selectOne(new QueryWrapper<MemberRides>()
                .eq("isdeleted", Constants.ZERO)
                .eq("member_id",memberId)
@@ -247,7 +247,7 @@
        if(Objects.isNull(memberRides)){
            return null;
        }
        return memberRides.getBikeCode();
        return memberRides;
    }
    /**
@@ -430,7 +430,7 @@
            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(), "扫码无效,未查询到锁头信息");
        }
        //查询锁头是否存在车辆 以及是否正常
        if (!locks.getStatus().equals(Constants.ZERO)) {
        if (Constants.formatIntegerNum(locks.getStatus())!=Constants.ZERO) {
            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(), "当前扫码锁头状态错误,无法进行开锁");
        }
        if (StringUtils.isBlank(locks.getBikeCode())) {
@@ -541,8 +541,9 @@
     * @return
     */
    @Override
    @Transactional(rollbackFor = {BusinessException.class,Exception.class})
    public  int mqttLockInfoEvent(Locks locks){
        if(StringUtils.isBlank(locks.getId()) ||StringUtils.isBlank(locks.getSiteId())){
        if(StringUtils.isBlank(locks.getCode()) ||StringUtils.isBlank(locks.getSiteId())){
            throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"锁头信息上报参数错误!");
        }
        //判断检查处理站点锁头信息
@@ -554,14 +555,19 @@
            //如果是开锁业务,判断是否有开锁中的信息
            MemberRides memberRides = new MemberRides();
            memberRides.setStatus(Constants.MEMBER_RIDES_STATUS.LOCKING.getKey());
            memberRides.setRentLockId(model.getId());
            memberRides.setRentLockId(model.getCode());
            memberRides.setRentSiteId(model.getSiteId());
            memberRides.setIsdeleted(Constants.ZERO);
            memberRides = findOne(memberRides);
            if(memberRides == null){
                return 0;
            }
            MemberRides  update = new MemberRides();
            update.setStatus(Constants.MEMBER_RIDES_STATUS.RIDES_RUNNING.getKey());
            update.setEditDate(new Date());
            update.setId(memberRides.getId());
            //(更新请求开锁中的锁头关联的骑行记录)
            memberRidesMapper.updateById( memberRides);
            memberRidesMapper.updateById( update);
        }
        return 0;
    }
@@ -570,7 +576,7 @@
        QueryWrapper<Bikes> wrapper = new QueryWrapper<>();
        wrapper.lambda().eq(Bikes::getLockId, model.getCode());
        wrapper.lambda().eq(Bikes::getSiteId, model.getSiteId());
        Bikes bikes = bikesMapper.selectOne(wrapper.last("last 1"));
        Bikes bikes = bikesMapper.selectOne(wrapper.last("limit 1"));
        if(bikes != null ) {
            if (  StringUtils.equals(model.getBikeCode(), bikes.getCode())){
                //如果绑定车辆信息发生编号,更换绑定关系
@@ -582,6 +588,15 @@
                bikesMapper.updateById(bikes);
            }
        }else{
            if(StringUtils.isNotBlank(model.getBikeCode())){
                UpdateWrapper<Bikes> updateWrapper = new UpdateWrapper<>();
                updateWrapper.lambda().set(Bikes::getCode, null );
                updateWrapper.lambda().set(Bikes::getParamId, null );
                updateWrapper.lambda().set(Bikes::getEditDate, new Date() );
                updateWrapper.lambda().eq(Bikes::getCode, model.getCode() );
                //清空原来的自行车绑定关系
                bikesMapper.update(null, updateWrapper);
            }
            bikes = new Bikes();
            bikes.setId(Constants.getUUID());
            bikes.setIsdeleted(Constants.ZERO);
@@ -615,7 +630,7 @@
        param.setSortnum(Integer.parseInt(type));
        param = baseParamMapper.selectOne(new QueryWrapper<>(param).lambda().last("limit 1" ));
        if(param == null){
            return  null;
            return  type;
        }
        return param.getId();
    }
@@ -635,6 +650,7 @@
            sites.setId(locks.getSiteId());
            sites.setCreateDate(date);
            sites.setStatus(Constants.ZERO);
            sites.setEditDate(date);
            sites.setLockNum(1);
            //新增锁头
            sitesMapper.insert(sites);
@@ -652,14 +668,15 @@
            model.setStatus(locks.getStatus());
            locksMapper.insert(model);
        }else{
            model.setSiteId(locks.getSiteId());
            model.setIsdeleted(Constants.ZERO);
            model.setCode(locks.getCode());
            model.setId(locks.getSiteId());
            model.setEditDate(date);
            model.setBikeCode(locks.getBikeCode());
            model.setStatus(locks.getStatus());
            locksMapper.update(null, new QueryWrapper<>(model));
            UpdateWrapper<Locks> updateWrapper = new UpdateWrapper<Locks>();
            updateWrapper.lambda().eq(Locks::getCode, locks.getCode() );
            updateWrapper.lambda().eq(Locks::getSiteId, locks.getSiteId() );
            updateWrapper.lambda().set(Locks::getBikeCode, locks.getBikeCode() );
            updateWrapper.lambda().set(Locks::getStatus, locks.getStatus() );
            updateWrapper.lambda().set(Locks::getEditDate, new Date() );
            updateWrapper.lambda().set(Locks::getIsdeleted, Constants.ZERO);
            locksMapper.update(null,updateWrapper);
        }
        model.setSites(sites);
        return  model;
@@ -671,6 +688,7 @@
     * @return
     */
    @Override
    @Transactional(rollbackFor = {BusinessException.class,Exception.class})
    public  int mqttCloseBikeEvent(MemberRides bikes){
        //免费骑行时长查询,数据字典配置
        if(StringUtils.isBlank(bikes.getBikeCode()) ||StringUtils.isBlank(bikes.getBackLockId())||StringUtils.isBlank(bikes.getBackSiteId())){
@@ -681,7 +699,7 @@
        wrapper.lambda().eq(MemberRides::getStatus, Constants.MEMBER_RIDES_STATUS.RIDES_RUNNING.getKey());
        wrapper.lambda().eq(MemberRides::getIsdeleted, Constants.ZERO);
        //根据车辆编码查询骑行中的骑行记录信息,如果有进行还车操作
        MemberRides memberRides = memberRidesMapper.selectOne(wrapper.last("last 1"));
        MemberRides memberRides = memberRidesMapper.selectOne(wrapper.last("limit  1"));
        if(memberRides!=null){
            //进行
            dealMemberRidesBack(memberRides,bikes);