jiangping
2023-10-17 95d3f1671b5a27bb811a374d7c06df5e2dc9035b
server/services/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java
@@ -243,7 +243,6 @@
        homeResponse.setDeposit(new BigDecimal(systemDictDataBiz.queryByCode(Constants.MINI_PROGRAMME,Constants.RENT_DEPOSIT).getCode()));
        homeResponse.setTips(systemDictDataBiz.queryByCode(Constants.MINI_PROGRAMME,Constants.TIPS).getCode());
        homeResponse.setLeaseVideoUrl(systemDictDataBiz.queryByCode(Constants.MINI_PROGRAMME,Constants.RENT_TIPS_VIDEO).getCode());
        homeResponse.setPricingRules(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.PRICING_RULE).getCode());
        homeResponse.setStopServeTips(systemDictDataBiz.queryByCode(Constants.MINI_PROGRAMME,Constants.STOP_SERVE_TIPS).getCode());
        homeResponse.setIsStopServe(this.checkTemporaryStop()?1:0);
        homeResponse.setIsBusiness(this.checkBusiness()?0:1);
@@ -252,17 +251,21 @@
                .eq("isdeleted",Constants.ZERO)
                .eq("status",Constants.ZERO)
                .orderByDesc("create_date")
        ));
        //查询是否存在 已支付的 押金订单
        Integer status = this.goodsorderMapper.selectCount(new QueryWrapper<Goodsorder>()
                .eq("member_id",memberId)
                .eq("status",Constants.goodsorderStatus.pay));
        homeResponse.setDepositStatus(status);
        ));;
        homeResponse.setRideStatus(-1);
        if(homeResponse.getDepositStatus()==Constants.goodsorderStatus.pay) {
        //查询是否存在 已支付的 押金订单
        Goodsorder goodsorder = this.goodsorderMapper.selectOne(new QueryWrapper<Goodsorder>()
                .eq("member_id",memberId)
                .eq("status",Constants.goodsorderStatus.pay)
                .last(" limit 1 "));
        if(!Objects.isNull(goodsorder)&&goodsorder.getStatus().equals(Constants.goodsorderStatus.pay)){
            homeResponse.setDepositStatus(Constants.goodsorderStatus.pay);
            homeResponse.setGoodsOrderId(goodsorder.getId());
            //查询当前骑行状态
            MemberRides memberRides = memberRidesJoinMapper.selectOne(new QueryWrapper<MemberRides>().eq("member_id", memberId)
                    .orderByDesc(" create_date ")
            MemberRides memberRides = memberRidesJoinMapper.selectOne(new QueryWrapper<MemberRides>().lambda()
                    .eq(MemberRides::getMemberId, memberId)
                    .eq(MemberRides::getOrdreId,goodsorder.getId())
                    .orderByDesc(MemberRides::getCreateDate)
                    .last(" limit 1  "));
            if (!Objects.isNull(memberRides)) {
                homeResponse.setRideStatus(memberRides.getStatus());
@@ -271,14 +274,15 @@
                if(!Objects.isNull(baseParam)){
                    memberRidesResponse.setBikeType(baseParam.getName());
                }
                memberRidesResponse.setRideId(memberRides.getId());
                memberRidesResponse.setRideStartTime(memberRides.getRentDate());
                memberRidesResponse.setRideEndTime(memberRides.getBackDate());
                memberRidesResponse.setRideTime(DateUtil.betweenMin(memberRidesResponse.getRideStartTime(),memberRidesResponse.getRideEndTime()));
                memberRidesResponse.setBikeCode(memberRides.getBikeCode());
                memberRidesResponse.setBasePrice(memberRides.getBasePrice());
                memberRidesResponse.setBaseTime(memberRides.getBaseTime());
                memberRidesResponse.setUnitTime(memberRidesResponse.getUnitTime());
                memberRidesResponse.setUnitPrice(memberRidesResponse.getUnitPrice());
                memberRidesResponse.setUnitTime(memberRides.getUnitTime());
                memberRidesResponse.setUnitPrice(memberRides.getUnitPrice());
                homeResponse.setMemberRidesResponse(memberRidesResponse);
            }
        }
@@ -410,7 +414,7 @@
            transactions.setCreateDate(new Date());
            transactions.setIsdeleted(Constants.ZERO);
            transactions.setOrderId(goodsorder.getId());
            transactions.setMoney(goodsorder.getMoney());
            transactions.setMoney(goodsorder.getMoney().subtract(new BigDecimal(refundMoney)));
            transactions.setType(Constants.TRANSACTIONS_TYPE.CONSUMPTION.getKey());
            transactions.setDoneDate(new Date());
            transactions.setTitle(Constants.TRANSACTIONS_TYPE.CONSUMPTION.getName());
@@ -591,11 +595,7 @@
            int finalFreeTime = freeTime;
            List<MemberRidesResponse> collect = memberRides.stream().map(s -> {
                MemberRidesResponse memberRidesResponse = new MemberRidesResponse();
                Date endTime =memberRidesResponse.getRideEndTime();
                if ( Constants.MEMBER_RIDES_STATUS.BACK_CYCLING.getKey()!=(Constants.formatIntegerNum(s.getStatus()))){
                 //如果是骑行中
                    endTime = new Date();
                }
                Date endTime =s.getBackDate();
                int rideTime =DateUtil.betweenMin(s.getRentDate(), endTime);
                memberRidesResponse.setRideStartTime(s.getRentDate());
                memberRidesResponse.setRideEndTime(endTime);
@@ -605,7 +605,7 @@
                memberRidesResponse.setBikeCode(s.getBikeCode());
                memberRidesResponse.setBasePrice(s.getBasePrice());
                memberRidesResponse.setBaseTime(s.getBaseTime());
                memberRidesResponse.setUnitPrice(s.getUnitTime());
                memberRidesResponse.setUnitPrice(s.getUnitPrice());
                memberRidesResponse.setUnitTime(s.getUnitTime());
                if ( Constants.MEMBER_RIDES_STATUS.BACK_CYCLING.getKey()!=(Constants.formatIntegerNum(s.getStatus()))){
                    //如果是骑行中
@@ -615,7 +615,7 @@
                return memberRidesResponse;
            }).collect(Collectors.toList());
            //累计和预算结算金额
            RidesDetailResponse ridesDetailResponse =    getCloseMoneyByRides(memberRides,false);;
            RidesDetailResponse ridesDetailResponse = getCloseMoneyByRides(memberRides,false);;
            if(Constants.formatIntegerNum(goodsorder.getStatus())!= Constants.goodsorderStatus.pay){
                //如果非已支付但未结算,使用订单金额
                ridesDetailResponse.setAmount(goodsorder.getCloseMoney());