From f03671560a938b7560d37aae8dbbd9f04ed33bde Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Fri, 24 Sep 2021 14:53:45 +0800 Subject: [PATCH] 20210924 --- src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallOrderService.java | 41 ++++++++++++++++++++ src/main/resources/templates/febs/views/modules/order/refundList.html | 15 +++++++ src/main/java/cc/mrbird/febs/mall/controller/AdminMallOrderController.java | 11 +++++ src/main/java/cc/mrbird/febs/mall/service/IAdminMallOrderService.java | 2 + 4 files changed, 69 insertions(+), 0 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/mall/controller/AdminMallOrderController.java b/src/main/java/cc/mrbird/febs/mall/controller/AdminMallOrderController.java index 3495527..dde4ce5 100644 --- a/src/main/java/cc/mrbird/febs/mall/controller/AdminMallOrderController.java +++ b/src/main/java/cc/mrbird/febs/mall/controller/AdminMallOrderController.java @@ -97,6 +97,17 @@ return adminMallOrderService.disagreeRefund(id); } + /** + * 订单退款-退款确认 + * @param id + * @return + */ + @GetMapping("refundConfirm/{id}") + @ControllerEndpoint(operation = "订单退款-退款确认", exceptionMessage = "操作失败") + public FebsResponse refundConfirm(@NotNull(message = "{required}") @PathVariable Long id) { + return adminMallOrderService.refundConfirm(id); + } + diff --git a/src/main/java/cc/mrbird/febs/mall/service/IAdminMallOrderService.java b/src/main/java/cc/mrbird/febs/mall/service/IAdminMallOrderService.java index 09fced6..a682fa8 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/IAdminMallOrderService.java +++ b/src/main/java/cc/mrbird/febs/mall/service/IAdminMallOrderService.java @@ -28,4 +28,6 @@ FebsResponse agreeRefund(Long id); FebsResponse disagreeRefund(Long id); + + FebsResponse refundConfirm(Long id); } diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallOrderService.java b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallOrderService.java index 0b4f0a0..3de0c88 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallOrderService.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallOrderService.java @@ -8,6 +8,7 @@ import cc.mrbird.febs.mall.entity.*; import cc.mrbird.febs.mall.mapper.*; import cc.mrbird.febs.mall.service.IAdminMallOrderService; +import cc.mrbird.febs.mall.service.IApiMallMemberWalletService; import cc.mrbird.febs.mall.vo.*; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.ObjectUtil; @@ -35,6 +36,10 @@ private final MallOrderRefundMapper mallOrderRefundMapper; private final MallOrderRefundOperationMapper mallOrderRefundOperationMapper; + + private final MallMoneyFlowMapper mallMoneyFlowMapper; + + private final IApiMallMemberWalletService iApiMallMemberWalletService; @Override public IPage<AdminMallOrderInfoVo> getOrderListInPage(MallOrderInfoDto mallOrderInfo, QueryRequest request) { @@ -150,5 +155,41 @@ return new FebsResponse().success(); } + @Override + public FebsResponse refundConfirm(Long id) { + MallOrderRefund mallOrderRefund = mallOrderRefundMapper.selectById(id); + if(ObjectUtil.isEmpty(mallOrderRefund)){ + return new FebsResponse().fail().message("系统繁忙,请刷新重试"); + } + mallOrderRefund.setStatus(5); + mallOrderRefundMapper.updateById(mallOrderRefund); + + MallOrderRefundOperation mallOrderRefundOperation = new MallOrderRefundOperation(); + mallOrderRefundOperation.setRefundId(mallOrderRefund.getId()); + mallOrderRefundOperation.setOrderId(mallOrderRefund.getOrderId()); + mallOrderRefundOperation.setContent("已退款到用户账户"); + mallOrderRefundOperationMapper.insert(mallOrderRefundOperation); + + MallOrderInfo mallOrderInfo = mallOrderInfoMapper.selectById(mallOrderRefund.getOrderId()); + if(ObjectUtil.isEmpty(mallOrderInfo)){ + return new FebsResponse().fail().message("系统繁忙,请刷新重试"); + } + mallOrderInfo.setStatus(6); + mallOrderInfoMapper.updateById(mallOrderInfo); + + //用户钱包增加对应的余额 + iApiMallMemberWalletService.addBalance(mallOrderInfo.getAmount(),mallOrderInfo.getMemberId()); + + //新增一条资金流水 + MallMoneyFlow mallMoneyFlow = new MallMoneyFlow(); + mallMoneyFlow.setMemberId(mallOrderRefund.getMemberId()); + mallMoneyFlow.setOrderNo(mallOrderInfo.getOrderNo()); + mallMoneyFlow.setType(4); + mallMoneyFlow.setAmount(mallOrderInfo.getAmount()); + mallMoneyFlowMapper.insert(mallMoneyFlow); + + return new FebsResponse().success(); + } + } diff --git a/src/main/resources/templates/febs/views/modules/order/refundList.html b/src/main/resources/templates/febs/views/modules/order/refundList.html index 6670c4c..69b1d7e 100644 --- a/src/main/resources/templates/febs/views/modules/order/refundList.html +++ b/src/main/resources/templates/febs/views/modules/order/refundList.html @@ -100,6 +100,11 @@ disagreeRefund(data.id); }); } + if (layEvent === 'refundConfirm') { + febs.modal.confirm('退款确认', '确认已退款?', function () { + refundConfirm(data.id); + }); + } }); function agreeRefund(id) { @@ -111,6 +116,13 @@ function disagreeRefund(id) { febs.get(ctx + 'admin/order/disagreeRefund/' + id, null, function () { + febs.alert.success('操作成功'); + $query.click(); + }); + } + + function refundConfirm(id) { + febs.get(ctx + 'admin/order/refundConfirm/' + id, null, function () { febs.alert.success('操作成功'); $query.click(); }); @@ -172,6 +184,9 @@ return '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="agree" shiro:hasPermission="user:update">同意</button>' +'<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="disagree" shiro:hasPermission="user:update">拒绝</button>' +'<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="refunding" shiro:hasPermission="user:update">退款进度</button>' + }else if(d.status === 4){ + return '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="refunding" shiro:hasPermission="user:update">退款进度</button>' + +'<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="refundConfirm" shiro:hasPermission="user:update">退款确认</button>' }else{ return '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="refunding" shiro:hasPermission="user:update">退款进度</button>' } -- Gitblit v1.9.1