| | |
| | | public PageData<Goodsorder> findPage(PageWrap<Goodsorder> pageWrap) { |
| | | IPage<Goodsorder> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); |
| | | MPJLambdaWrapper<Goodsorder> queryWrapper = initQueryParamByModel(pageWrap.getModel()); |
| | | queryWrapper.select("(select er.status from member_rides er where er.ordre_id=t.id order by er.create_date limit 1) as memberRidesStatus"); |
| | | IPage<Goodsorder> goodsorderIPage = goodsorderJoinMapper.selectJoinPage(page, Goodsorder.class, queryWrapper); |
| | | if (!CollectionUtils.isEmpty(goodsorderIPage.getRecords())){ |
| | | goodsorderIPage.getRecords().forEach(s->{ |
| | |
| | | Goodsorder update = new Goodsorder(); |
| | | update.setId(goodsorder.getId()); |
| | | update.setStatus(Constants.GOODSORDER_STATUS.CLOSE.getKey()); |
| | | update.setCloseMoney(goodsorder.getMoney()); |
| | | update.setCloseMoney(closeMoney); |
| | | update.setCloseDate(new Date()); |
| | | update.setCloseInfo(Constants.REFUND_TYPE.get(type).getInfo()); |
| | | update.setCloseUserId(goodsorder.getEditor()); |
| | |
| | | wrapper.eq(MemberRides::getOrdreId,id); |
| | | wrapper.selectAll(MemberRides.class).selectAs(BaseParam::getName, MemberRides::getParamName); |
| | | wrapper.leftJoin(BaseParam.class, BaseParam::getId, MemberRides::getParamId); |
| | | wrapper.orderByDesc(BaseParam::getSortnum);//取最高车型作为计价方案 |
| | | wrapper.orderByDesc(BaseParam::getSortnum); |
| | | //取最高车型作为计价方案 |
| | | //查询所有骑行记录 |
| | | List<MemberRides> memberRides = memberRidesJoinMapper.selectList(wrapper); |
| | | return memberRides; |
| | |
| | | wrapper.select("sum(money) as money").last(" limit 1"); |
| | | Refund total = refundMapper.selectOne(wrapper); |
| | | BigDecimal refundMoney = total == null?new BigDecimal(0):Constants.formatDecimalNum(total.getMoney()); |
| | | BigDecimal canBalance =Constants.formatDecimalNum(goodsorder.getMoney()).subtract(money); |
| | | //可退剩余 单位元 |
| | | BigDecimal canBalance =Constants.translateMoney(Constants.formatDecimalNum(goodsorder.getMoney()).subtract(refundMoney)); |
| | | if(canBalance.compareTo(money) > Constants.ZERO){ |
| | | RefundDTO refundDTO = new RefundDTO(); |
| | | refundDTO.setOrderId(orderId); |
| | | refundDTO.setCanBalance(canBalance); |
| | | refundDTO.setRefundAmount(money); |
| | | refundDTO.setRefundAmount(money.multiply(new BigDecimal(100))); |
| | | refundDTO.setTotalAmount(goodsorder.getMoney()); |
| | | refundDTO.setMemberId(goodsorder.getMemberId()); |
| | | refundDTO.setCreator(principal.getId()); |
| | |
| | | refundDTO.setType(Constants.REFUND_TYPE.BACK.getKey()); |
| | | Refund refund = wxMiniUtilService.wxRefund(refundDTO); |
| | | }else { |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,退款金额不允许超过"+canBalance); |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,退款金额不允许超过"+canBalance+"元"); |
| | | } |
| | | } |
| | | |
| | |
| | | wrapper.select("sum(money) as money").last(" limit 1"); |
| | | Refund total = refundMapper.selectOne(wrapper); |
| | | GoodsorderCanBanlanceDTO goodsorderCanBanlanceDTO = new GoodsorderCanBanlanceDTO(); |
| | | goodsorderCanBanlanceDTO.setGoodsorderMoney(goodsorder.getMoney()); |
| | | goodsorderCanBanlanceDTO.setCloseMoney(goodsorder.getCloseMoney()); |
| | | goodsorderCanBanlanceDTO.setGoodsorderMoney( Constants.translateMoney(goodsorder.getMoney())); |
| | | goodsorderCanBanlanceDTO.setCloseMoney(Constants.translateMoney(goodsorder.getCloseMoney())); |
| | | BigDecimal reduce = total!=null?Constants.formatDecimalNum(total.getMoney()):new BigDecimal(0); |
| | | goodsorderCanBanlanceDTO.setHasRefundMoney(reduce); |
| | | goodsorderCanBanlanceDTO.setCanBanlanceMoney(Constants.formatDecimalNum(goodsorder.getMoney()).subtract(goodsorderCanBanlanceDTO.getHasRefundMoney())); |
| | | goodsorderCanBanlanceDTO.setHasRefundMoney(Constants.translateMoney(reduce)); |
| | | goodsorderCanBanlanceDTO.setCanBanlanceMoney(Constants.translateMoney(goodsorder.getMoney()).subtract(goodsorderCanBanlanceDTO.getHasRefundMoney())); |
| | | return goodsorderCanBanlanceDTO; |
| | | } |
| | | |
| | |
| | | if(goodsorder ==null){ |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY); |
| | | } |
| | | List<MemberRides> memberRides = getMemberRidesForClose(id); |
| | | |
| | | List<MemberRides> memberRides = memberRidesJoinMapper.selectList(new QueryWrapper<MemberRides>() |
| | | .lambda().eq(MemberRides::getOrdreId,id).orderByDesc(MemberRides::getCreateDate)); |
| | | if (!CollectionUtils.isEmpty(memberRides)){ |
| | | //预计结算价格和计算时长 |
| | | int freeTime = 0; |
| | |
| | | */ |
| | | @Override |
| | | public Boolean checkTemporaryStop(){ |
| | | if(systemDictDataBiz.queryByCode(Constants.MINI_PROGRAMME,Constants.IS_STOP_SERVE).getCode().equals(Constants.ONE)){ |
| | | if(systemDictDataBiz.queryByCode(Constants.MINI_PROGRAMME,Constants.IS_STOP_SERVE).getCode().equals(Constants.ONE.toString())){ |
| | | String stopServeStartTime = systemDictDataBiz.queryByCode(Constants.MINI_PROGRAMME,Constants.STOP_SERVE_STARTTIME).getCode(); |
| | | String stopServeEndTime = systemDictDataBiz.queryByCode(Constants.MINI_PROGRAMME,Constants.STOP_SERVE_ENDTIME).getCode(); |
| | | //查询当前时间是否在停止中 |