From c49f540e8d63958c37cde739b874d6fa0a5b92d4 Mon Sep 17 00:00:00 2001 From: jiaosong <jiaosong6760@dingtalk.com> Date: 星期一, 16 十月 2023 15:56:15 +0800 Subject: [PATCH] #获取可退款信息 --- server/services/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java | 31 +++++++++++++++++-------------- 1 files changed, 17 insertions(+), 14 deletions(-) diff --git a/server/services/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java b/server/services/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java index a1b7255..24f1698 100644 --- a/server/services/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java +++ b/server/services/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java @@ -198,19 +198,23 @@ MPJLambdaWrapper<Goodsorder> queryWrapper = new MPJLambdaWrapper<>(); Utils.MP.blankToNull(model); queryWrapper.selectAll(Goodsorder.class); - queryWrapper.selectAs(Member::getOpenid, Goodsorder::getMemberOpenid); + queryWrapper.selectAs(Member::getOpenid, Goodsorder::getOpenid); queryWrapper.leftJoin(Member.class, Member::getId ,Goodsorder::getMemberId); queryWrapper.select("(select max(r.done_date) from refund r where r.obj_id=t.id and r.status=2 ) as refund_date"); queryWrapper.select("(select sum(r.money) from refund r where r.obj_id=t.id and r.status=2) as refund_money"); //鏃堕棿娈电瓫閫� - queryWrapper.ge(model.getStartDate()!=null, Goodsorder::getPayDate, model.getStartDate()); - queryWrapper.le(model.getEndDate()!=null, Goodsorder::getPayDate, model.getEndDate()); + if (Objects.nonNull(model.getStartDate())){ + queryWrapper.ge(Goodsorder::getPayDate, Utils.Date.getStart(model.getStartDate())); + } + if (Objects.nonNull(model.getEndDate())){ + queryWrapper.le( Goodsorder::getPayDate, Utils.Date.getEnd(model.getEndDate())); + } queryWrapper.eq(model.getPayStatus() !=null,Goodsorder::getPayStatus,model.getPayStatus()); queryWrapper.like(model.getCode() !=null,Goodsorder::getCode,model.getCode()); queryWrapper.like(model.getId() !=null,Goodsorder::getId,model.getId()); queryWrapper.eq(model.getStatus() !=null,Goodsorder::getStatus,model.getStatus()); queryWrapper.like(model.getOnlineOrderid() !=null,Goodsorder::getOnlineOrderid,model.getOnlineOrderid()); - queryWrapper.like(model.getMemberOpenid() !=null,Member::getOpenid,model.getMemberOpenid()); + queryWrapper.like(model.getOpenid() !=null,Member::getOpenid,model.getOpenid()); queryWrapper.eq(Goodsorder::getIsdeleted,Constants.ZERO); queryWrapper.orderByDesc(Goodsorder::getPayDate); return queryWrapper; @@ -243,7 +247,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); @@ -263,8 +266,10 @@ 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()); @@ -273,6 +278,7 @@ 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())); @@ -308,6 +314,7 @@ payOrderDTO.setPayWay(goodsorder.getPayWay()); payOrderDTO.setMoney(Constants.translateMoney(goodsorder.getMoney())); payOrderDTO.setPayDate(goodsorder.getPayDate()); + payOrderDTO.setRefundType(99); payOrderDTO.setOnlineorderId(goodsorder.getOnlineOrderid()); payOrderDTOList.add(0,payOrderDTO); if (!CollectionUtils.isEmpty(refunds)){ @@ -412,7 +419,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()); @@ -593,11 +600,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); @@ -617,7 +620,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()); -- Gitblit v1.9.3