jiaosong
2023-10-16 aa6febca297b0e1a68b1877fc9f41885e9fc0c7a
server/services/src/main/java/com/doumee/service/business/impl/MemberRidesServiceImpl.java
@@ -36,6 +36,7 @@
import org.apache.shiro.SecurityUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
@@ -74,10 +75,13 @@
    @Autowired
    private SitesMapper sitesMapper;
    @Autowired
    private BaseParamMapper baseParamMapper;
    @Autowired
    private BikesMapper bikesMapper;
    @Autowired
    private SystemDictDataBiz systemDictDataBiz;
    @Autowired
    @Lazy
    private GoodsorderService goodsorderService;
@@ -438,6 +442,7 @@
            memberRides.setRentSiteId(locks.getSiteId());
            memberRides.setRentLockId(locks.getId());
            memberRides.setOrdreId(goodsorder.getId());
            memberRides.setRentDate(new Date());
            memberRides.setBalance(new BigDecimal(systemDictDataBiz.queryByCode(Constants.MINI_PROGRAMME,Constants.RENT_DEPOSIT).getCode()));
            memberRides.setStatus(Constants.MEMBER_RIDES_STATUS.LOCKING.getKey());
            memberRides.setCloseStatus(Constants.ZERO);
@@ -445,8 +450,6 @@
            memberRidesMapper.insert(memberRides);
            BeanUtils.copyProperties(memberRides, memberRidesDetailResponse);
        }
        return memberRidesDetailResponse;
    }
@@ -476,7 +479,8 @@
            throw  new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), " 该车型暂时不能借车操作哦,请更换其他车型重试哦!");
        }
        QueryWrapper<PricingDetail> detail = new QueryWrapper<>();
        detail.lambda().eq(PricingDetail::getPricePramId,bike.getParamId());
        detail.lambda().eq(PricingDetail::getBikeTypeId,bike.getParamId());
        detail.lambda().eq(PricingDetail::getPricePramId,pp.getId());
        detail.lambda().eq(PricingDetail::getIsdeleted,Constants.ZERO);
        detail.lambda().last(" limit 1" ) ;
        //查询优先级最高(排序码最小的)可用配价方案
@@ -489,6 +493,7 @@
        holidays.setHoliday(nowDate);
        holidays.setIsdeleted(Constants.ZERO);
        memberRides.setBikeCode(bike.getCode());
        memberRides.setParamId(bike.getParamId());
        bike.setLastRentDate(new Date());
        bike.setStatus(Constants.ONE);
        bikesMapper.updateById(bike);
@@ -520,7 +525,6 @@
        MemberRidesDetailResponse memberRidesDetailResponse = new MemberRidesDetailResponse();
        BeanUtils.copyProperties(memberRides,memberRidesDetailResponse);
        return memberRidesDetailResponse;
    }
    /**
@@ -537,7 +541,6 @@
        Locks model = dealLockAndSite(locks);
        //车辆记录
        Bikes bikes = dealBikesByParam(model);
        //状态,0闭合, 1打开,2运行中, 3异常
        if(model.getStatus() == Constants.LockStatus.open){
            //如果是开锁业务,判断是否有开锁中的信息
@@ -585,10 +588,28 @@
    }
    //TODO-----JP------------根据车辆code分析车辆类型,待确认方案-------------------
    /**
     -----------根据车辆code分析车辆类型,待确认方案-------------------
     *
     */
    private String getBileTypeByCode(String bikeCode) {
        int temp=1+(int)(Math.random()*(8));
        return temp+"";
//      int temp=1+(int)(Math.random()*(8));
        if(StringUtils.isBlank(bikeCode)){
            return  null;
        }
        String type = bikeCode.substring(0,1);
        if("1,2,3,4,5,6,7,8".contains(type)){
            return null;
        }
        BaseParam param = new BaseParam();
        param.setIsdeleted(Constants.ZERO);
        param.setType(Constants.THREE);
        param.setSortnum(Integer.parseInt(type));
        param = baseParamMapper.selectOne(new QueryWrapper<>(param).lambda().last("limit 1" ));
        if(param == null){
            return  null;
        }
        return param.getId();
    }
    private Locks dealLockAndSite(Locks locks) {
@@ -607,7 +628,6 @@
            //新增锁头
            sitesMapper.insert(sites);
        }
        if(model == null){
            //如果锁头不存在,判断存储
            model = new Locks();
@@ -629,7 +649,6 @@
            model.setBikeCode(locks.getBikeCode());
            model.setStatus(locks.getStatus());
            locksMapper.update(null, new QueryWrapper<>(model));
        }
        model.setSites(sites);
        return  model;