From 1a5f7432c404946f9ec358b5cb6281a823c466c1 Mon Sep 17 00:00:00 2001 From: luodangjia <luodangjia> Date: 星期二, 14 一月 2025 16:55:07 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/RefundPassServiceImpl.java | 50 +++++++++++++++++++++++++++++++++++++------------- 1 files changed, 37 insertions(+), 13 deletions(-) diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/RefundPassServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/RefundPassServiceImpl.java index 8e36fdf..e00657c 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/RefundPassServiceImpl.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/RefundPassServiceImpl.java @@ -4,11 +4,13 @@ import com.alibaba.fastjson2.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.kuaidi100.sdk.contant.CompanyConstant; import com.ruoyi.account.api.feignClient.AppUserClient; import com.ruoyi.account.api.model.AppUser; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.core.utils.bean.BeanUtils; +import com.ruoyi.common.core.web.page.PageInfo; import com.ruoyi.common.security.service.TokenService; import com.ruoyi.order.mapper.RefundPassMapper; import com.ruoyi.order.model.Order; @@ -75,10 +77,9 @@ Order order = orderService.getById(applyRefundPass.getId()); //判断是都已经超过售后时间 LocalDateTime afterSaleTime = order.getAfterSaleTime(); - if(null != afterSaleTime && afterSaleTime.toEpochSecond(ZoneOffset.UTC) < LocalDateTime.now().toEpochSecond(ZoneOffset.UTC)){ + if(null != afterSaleTime && LocalDateTime.now().isAfter(afterSaleTime)){ return R.fail("已超过售后期间"); } - //构建售后申请数据 RefundPass refundPass = new RefundPass(); refundPass.setOrderId(applyRefundPass.getId()); @@ -107,7 +108,7 @@ * @return */ @Override - public List<OrderRefundPassList> getOrderRefundPassList(OrderRefundPassListVo refundPassListVo) { + public PageInfo<OrderRefundPassList> getOrderRefundPassList(OrderRefundPassListVo refundPassListVo) { Long userid = tokenService.getLoginUser().getUserid(); SysUser sysUser = sysUserClient.getSysUser(userid).getData(); Integer shopId = null; @@ -127,13 +128,16 @@ List<Long> collect = data.stream().map(AppUser::getId).collect(Collectors.toList()); appUserIds.addAll(collect); } - List<OrderRefundPassList> orderRefundPassList = this.baseMapper.getOrderRefundPassList(refundPassListVo.getCode(), appUserIds, shopId, refundPassListVo.getRefundMethod(), refundPassListVo.getStatus()); + PageInfo<OrderRefundPassList> pageInfo = new PageInfo(refundPassListVo.getPageCurr(), refundPassListVo.getPageSize()); + List<OrderRefundPassList> orderRefundPassList = this.baseMapper.getOrderRefundPassList(pageInfo, refundPassListVo.getCode(), appUserIds, shopId, refundPassListVo.getRefundMethod(), refundPassListVo.getStatus()); for (OrderRefundPassList refundPassList : orderRefundPassList) { AppUser appUser = appUserClient.getAppUserById(refundPassList.getAppUserId()); - refundPassList.setUserName(appUser.getName()); - refundPassList.setPhone(appUser.getPhone()); + if(null != appUser){ + refundPassList.setUserName(appUser.getName()); + refundPassList.setPhone(appUser.getPhone()); + } } - return orderRefundPassList; + return pageInfo.setRecords(orderRefundPassList); } @@ -151,6 +155,7 @@ return R.fail("不能重复操作"); } refundPass.setPassStatus(status); + refundPass.setAuthTime(LocalDateTime.now()); //退货退款 if(refundPass.getRefundMethod() == 1 && 2 == status){ refundPass.setStatus(4); @@ -158,16 +163,22 @@ if(refundPass.getRefundMethod() == 2 && 2 == status){ refundPass.setStatus(2); } + if(3 == status){ + refundPass.setStatus(3); + } refundPass.setPassRemark(passRemark); - this.updateById(refundPass); //仅退款的售后需要将支付金额原路返回,然后再扣减支付获得的积分 if(refundPass.getRefundMethod() == 2 && 2 == status){ Order order = orderService.getById(refundPass.getOrderId()); order.setOrderStatus(6); - orderService.updateById(order); //返回订单支付金额和回退积分和会员等级 - orderService.refundPayMoney(order); + R r = orderService.refundPayMoney(order); + if(200 != r.getCode()){ + return r; + } + orderService.updateById(order); } + this.updateById(refundPass); return R.ok(); } @@ -187,13 +198,16 @@ return R.fail("操作失败"); } refundPass.setStatus(2); - this.updateById(refundPass); //仅退款的售后需要将支付金额原路返回,然后再扣减支付获得的积分 Order order = orderService.getById(refundPass.getOrderId()); order.setOrderStatus(6); - orderService.updateById(order); //返回订单支付金额和回退积分和会员等级 - orderService.refundPayMoney(order); + R r = orderService.refundPayMoney(order); + if(200 != r.getCode()){ + return r; + } + this.updateById(refundPass); + orderService.updateById(order); return R.ok(); } @@ -217,6 +231,16 @@ refundPassInfo.setRefundReason(refundPass.getRefundReason()); refundPassInfo.setUserRemark(refundPass.getUserRemark()); refundPassInfo.setPics(refundPass.getPics()); + refundPassInfo.setPassStatus(refundPass.getPassStatus()); + refundPassInfo.setPassRemark(refundPass.getPassRemark()); + refundPassInfo.setStatus(refundPass.getStatus()); + String code = refundPass.getCode(); + if(StringUtils.isNotEmpty(code)){ + JSONObject jsonObject = JSON.parseObject(code); + refundPassInfo.setExpressCode(jsonObject.getString("num")); + String com = jsonObject.getString("com"); + refundPassInfo.setExpressName(com); + } return refundPassInfo; } } -- Gitblit v1.7.1