From 759ea84461a2858c9ff552de3622dea2557e32a9 Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Fri, 24 Sep 2021 11:11:52 +0800 Subject: [PATCH] Merge branch 'master' of http://120.27.238.55:7000/r/xc-mall --- src/main/java/cc/mrbird/febs/mall/mapper/MallOrderRefundOperationMapper.java | 8 + src/main/java/cc/mrbird/febs/mall/controller/ViewMallOrderController.java | 14 ++ src/main/resources/templates/febs/views/modules/order/refunding.html | 54 ++++++++++ src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallOrderService.java | 60 +++++++++-- src/main/resources/mapper/modules/MallOrderRefundOperationMapper.xml | 5 + src/main/resources/templates/febs/views/modules/order/refundList.html | 62 +++++++----- src/main/java/cc/mrbird/febs/mall/controller/AdminMallOrderController.java | 47 ++++++++- src/main/java/cc/mrbird/febs/mall/vo/AdminMallOrderRefundOperationVo.java | 20 ++++ src/main/java/cc/mrbird/febs/mall/service/IAdminMallOrderService.java | 12 + 9 files changed, 236 insertions(+), 46 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 f8f77ce..3495527 100644 --- a/src/main/java/cc/mrbird/febs/mall/controller/AdminMallOrderController.java +++ b/src/main/java/cc/mrbird/febs/mall/controller/AdminMallOrderController.java @@ -8,17 +8,16 @@ import cc.mrbird.febs.mall.dto.MallOrderInfoDto; import cc.mrbird.febs.mall.dto.MallOrderRefundDto; import cc.mrbird.febs.mall.entity.*; +import cc.mrbird.febs.mall.mapper.MallOrderRefundOperationMapper; import cc.mrbird.febs.mall.service.IAdminMallGoodsService; import cc.mrbird.febs.mall.service.IAdminMallOrderService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import javax.validation.Valid; +import javax.validation.constraints.NotNull; import java.util.Map; @Slf4j @@ -52,7 +51,7 @@ } /** - * 订单退款列表 + * 订单退款-列表 * @param mallOrderRefundDto * @param request * @return @@ -63,6 +62,44 @@ return new FebsResponse().success().data(data); } + /** + * 订单退款-详情 + */ + @GetMapping("/seeRefund") + public FebsResponse seeRefund(QueryRequest request, MallOrderRefund mallOrderRefund,Integer parentId) { + if(parentId==null){ + ViewMallOrderController.idFromRefund=0; + } + mallOrderRefund.setId(ViewMallOrderController.idFromRefund); + Map<String, Object> dataTable = getDataTable(adminMallOrderService.seeRefund(request, mallOrderRefund)); + return new FebsResponse().success().data(dataTable); + } + + /** + * 订单退款-同意 + * @param id + * @return + */ + @GetMapping("agreeRefund/{id}") + @ControllerEndpoint(operation = "订单退款-同意", exceptionMessage = "操作失败") + public FebsResponse agreeRefund(@NotNull(message = "{required}") @PathVariable Long id) { + return adminMallOrderService.agreeRefund(id); + } + + /** + * 订单退款-拒绝 + * @param id + * @return + */ + @GetMapping("disagreeRefund/{id}") + @ControllerEndpoint(operation = "订单退款-拒绝", exceptionMessage = "操作失败") + public FebsResponse disagreeRefund(@NotNull(message = "{required}") @PathVariable Long id) { + return adminMallOrderService.disagreeRefund(id); + } + + + + diff --git a/src/main/java/cc/mrbird/febs/mall/controller/ViewMallOrderController.java b/src/main/java/cc/mrbird/febs/mall/controller/ViewMallOrderController.java index edfabe5..76722b5 100644 --- a/src/main/java/cc/mrbird/febs/mall/controller/ViewMallOrderController.java +++ b/src/main/java/cc/mrbird/febs/mall/controller/ViewMallOrderController.java @@ -25,6 +25,8 @@ public static long idFromMember; + public static long idFromRefund; + /** * 订单列表 * @return @@ -74,4 +76,16 @@ return FebsUtil.view("modules/order/refundList"); } + /** + * 退款详情 + * @param id + * @param model + * @return + */ + @GetMapping("seeRefund/{id}") + public String seeReceiveInfo(@PathVariable long id, Model model) { + idFromRefund = id; + return FebsUtil.view("modules/order/Refunding"); + } + } diff --git a/src/main/java/cc/mrbird/febs/mall/mapper/MallOrderRefundOperationMapper.java b/src/main/java/cc/mrbird/febs/mall/mapper/MallOrderRefundOperationMapper.java index 8ce4622..771d3c4 100644 --- a/src/main/java/cc/mrbird/febs/mall/mapper/MallOrderRefundOperationMapper.java +++ b/src/main/java/cc/mrbird/febs/mall/mapper/MallOrderRefundOperationMapper.java @@ -1,7 +1,15 @@ package cc.mrbird.febs.mall.mapper; +import cc.mrbird.febs.mall.entity.MallOrderRefund; import cc.mrbird.febs.mall.entity.MallOrderRefundOperation; +import cc.mrbird.febs.mall.vo.AdminMallOrderRefundOperationVo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Param; public interface MallOrderRefundOperationMapper extends BaseMapper<MallOrderRefundOperation> { + + IPage<AdminMallOrderRefundOperationVo> selectRefundOperationInPage(Page<AdminMallOrderRefundOperationVo> page, @Param("record") MallOrderRefund mallOrderRefund); + } 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 e2c1140..09fced6 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/IAdminMallOrderService.java +++ b/src/main/java/cc/mrbird/febs/mall/service/IAdminMallOrderService.java @@ -6,10 +6,8 @@ import cc.mrbird.febs.mall.dto.MallOrderInfoDto; import cc.mrbird.febs.mall.dto.MallOrderRefundDto; import cc.mrbird.febs.mall.entity.MallOrderInfo; -import cc.mrbird.febs.mall.vo.AdminMallOrderInfoVo; -import cc.mrbird.febs.mall.vo.AdminMallOrderRefundVo; -import cc.mrbird.febs.mall.vo.AdminMallOrderVo; -import cc.mrbird.febs.mall.vo.AdminOrderDetailVo; +import cc.mrbird.febs.mall.entity.MallOrderRefund; +import cc.mrbird.febs.mall.vo.*; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; @@ -24,4 +22,10 @@ AdminOrderDetailVo getMallOrderDetailById(long id); IPage<AdminMallOrderRefundVo> getRefundListInPage(MallOrderRefundDto mallOrderRefundDto, QueryRequest request); + + IPage<AdminMallOrderRefundOperationVo> seeRefund(QueryRequest request, MallOrderRefund mallOrderRefund); + + FebsResponse agreeRefund(Long id); + + FebsResponse disagreeRefund(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 27f02ca..b862a1a 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 @@ -5,19 +5,10 @@ import cc.mrbird.febs.mall.dto.DeliverGoodsDto; import cc.mrbird.febs.mall.dto.MallOrderInfoDto; import cc.mrbird.febs.mall.dto.MallOrderRefundDto; -import cc.mrbird.febs.mall.entity.MallExpressInfo; -import cc.mrbird.febs.mall.entity.MallOrderInfo; -import cc.mrbird.febs.mall.entity.MallOrderItem; -import cc.mrbird.febs.mall.entity.MallOrderRefund; -import cc.mrbird.febs.mall.mapper.MallExpressInfoMapper; -import cc.mrbird.febs.mall.mapper.MallOrderInfoMapper; -import cc.mrbird.febs.mall.mapper.MallOrderItemMapper; -import cc.mrbird.febs.mall.mapper.MallOrderRefundMapper; +import cc.mrbird.febs.mall.entity.*; +import cc.mrbird.febs.mall.mapper.*; import cc.mrbird.febs.mall.service.IAdminMallOrderService; -import cc.mrbird.febs.mall.vo.AdminMallOrderInfoVo; -import cc.mrbird.febs.mall.vo.AdminMallOrderRefundVo; -import cc.mrbird.febs.mall.vo.AdminMallOrderVo; -import cc.mrbird.febs.mall.vo.AdminOrderDetailVo; +import cc.mrbird.febs.mall.vo.*; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; @@ -42,6 +33,8 @@ private final MallOrderItemMapper mallOrderItemMapper; private final MallOrderRefundMapper mallOrderRefundMapper; + + private final MallOrderRefundOperationMapper mallOrderRefundOperationMapper; @Override public IPage<AdminMallOrderInfoVo> getOrderListInPage(MallOrderInfoDto mallOrderInfo, QueryRequest request) { @@ -113,5 +106,48 @@ return adminMallOrderRefundVos; } + @Override + public IPage<AdminMallOrderRefundOperationVo> seeRefund(QueryRequest request, MallOrderRefund mallOrderRefund) { + Page<AdminMallOrderRefundOperationVo> page = new Page<>(request.getPageNum(), request.getPageSize()); + IPage<AdminMallOrderRefundOperationVo> adminMallOrderRefundOperationVos = mallOrderRefundOperationMapper.selectRefundOperationInPage(page, mallOrderRefund); + return adminMallOrderRefundOperationVos; + } + + @Override + public FebsResponse agreeRefund(Long id) { + MallOrderRefund mallOrderRefund = mallOrderRefundMapper.selectById(id); + if(ObjectUtil.isEmpty(mallOrderRefund)){ + return new FebsResponse().fail().message("系统繁忙,请刷新重试"); + } + mallOrderRefund.setStatus(2); + mallOrderRefundMapper.updateById(mallOrderRefund); + + MallOrderRefundOperation mallOrderRefundOperation = new MallOrderRefundOperation(); + mallOrderRefundOperation.setRefundId(mallOrderRefund.getId()); + mallOrderRefundOperation.setOrderId(mallOrderRefund.getOrderId()); + mallOrderRefundOperation.setContent("已同意退款申请"); + mallOrderRefundOperationMapper.insert(mallOrderRefundOperation); + + return new FebsResponse().success(); + } + + @Override + public FebsResponse disagreeRefund(Long id) { + MallOrderRefund mallOrderRefund = mallOrderRefundMapper.selectById(id); + if(ObjectUtil.isEmpty(mallOrderRefund)){ + return new FebsResponse().fail().message("系统繁忙,请刷新重试"); + } + mallOrderRefund.setStatus(3); + mallOrderRefundMapper.updateById(mallOrderRefund); + + MallOrderRefundOperation mallOrderRefundOperation = new MallOrderRefundOperation(); + mallOrderRefundOperation.setRefundId(mallOrderRefund.getId()); + mallOrderRefundOperation.setOrderId(mallOrderRefund.getOrderId()); + mallOrderRefundOperation.setContent("不同意退款申请"); + mallOrderRefundOperationMapper.insert(mallOrderRefundOperation); + + return new FebsResponse().success(); + } + } diff --git a/src/main/java/cc/mrbird/febs/mall/vo/AdminMallOrderRefundOperationVo.java b/src/main/java/cc/mrbird/febs/mall/vo/AdminMallOrderRefundOperationVo.java new file mode 100644 index 0000000..22da543 --- /dev/null +++ b/src/main/java/cc/mrbird/febs/mall/vo/AdminMallOrderRefundOperationVo.java @@ -0,0 +1,20 @@ +package cc.mrbird.febs.mall.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import lombok.Data; + +import java.util.Date; + +@Data +@ApiModel(value = "AdminMallOrderRefundOperationVo", description = "信息返回类") +public class AdminMallOrderRefundOperationVo { + + private long id; + + private String content; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createdTime; + +} diff --git a/src/main/resources/mapper/modules/MallOrderRefundOperationMapper.xml b/src/main/resources/mapper/modules/MallOrderRefundOperationMapper.xml index e136417..5a233ed 100644 --- a/src/main/resources/mapper/modules/MallOrderRefundOperationMapper.xml +++ b/src/main/resources/mapper/modules/MallOrderRefundOperationMapper.xml @@ -2,4 +2,9 @@ <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="cc.mrbird.febs.mall.mapper.MallOrderRefundOperationMapper"> + <select id="selectRefundOperationInPage" resultType="cc.mrbird.febs.mall.vo.AdminMallOrderRefundOperationVo"> + select * from mall_order_refund_operation a where a.refund_id = #{record.id} + order by a.CREATED_TIME desc + </select> + </mapper> \ No newline at end of file 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 e0e3301..6670c4c 100644 --- a/src/main/resources/templates/febs/views/modules/order/refundList.html +++ b/src/main/resources/templates/febs/views/modules/order/refundList.html @@ -85,23 +85,36 @@ table.on('tool(orderRefundTable)', function (obj) { var data = obj.data, layEvent = obj.event; - if (layEvent === 'deliverGoods') { - febs.modal.open('发货', 'modules/order/deliverGoods/' + data.id, { - btn: ['确认', '取消'], - yes: function (index, layero) { - $('#deliver-update').find('#submit').trigger('click'); - }, - btn2: function () { - layer.closeAll(); - } - }); - } - if (layEvent === 'seeOrder') { - febs.modal.open( '订单详情', 'modules/order/orderDetail/' + data.id, { + if (layEvent === 'refunding') { + febs.modal.open( '退款进度', 'modules/order/seeRefund/' + data.id, { maxmin: true, }); } + if (layEvent === 'agree') { + febs.modal.confirm('同意', '同意此次退款申请?', function () { + agreeRefund(data.id); + }); + } + if (layEvent === 'disagree') { + febs.modal.confirm('拒绝', '拒绝此次退款申请?', function () { + disagreeRefund(data.id); + }); + } }); + + function agreeRefund(id) { + febs.get(ctx + 'admin/order/agreeRefund/' + id, null, function () { + febs.alert.success('操作成功'); + $query.click(); + }); + } + + function disagreeRefund(id) { + febs.get(ctx + 'admin/order/disagreeRefund/' + id, null, function () { + febs.alert.success('操作成功'); + $query.click(); + }); + } // 查询按钮 $query.on('click', function () { @@ -114,10 +127,6 @@ $searchForm[0].reset(); sortObject.type = 'null'; tableIns.reload({where: getQueryParams(), page: {curr: 1}, initSort: sortObject}); - }); - - $add.on('click', function () { - febs.view.tab.change("/modules/goods/goodsAddNew/"); }); function initTable() { @@ -157,14 +166,17 @@ // } // }, minWidth: 80,align:'center'}, // {field: 'createdTime', title: '注册时间', minWidth: 180,align:'center'}, - // {title: '操作', - // templet: function (d) { - // if (d.status === 1) { - // return '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="deliverGoods" shiro:hasPermission="user:update">发货</button>' - // }else{ - // return '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="seeOrder" shiro:hasPermission="user:update">详情</button>' - // } - // },minWidth: 300,align:'center'} + {title: '操作', + templet: function (d) { + if(d.status === 1){ + 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{ + return '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="refunding" shiro:hasPermission="user:update">退款进度</button>' + } + + },minWidth: 300,align:'center'} ]] }); } diff --git a/src/main/resources/templates/febs/views/modules/order/refunding.html b/src/main/resources/templates/febs/views/modules/order/refunding.html new file mode 100644 index 0000000..2deb0a5 --- /dev/null +++ b/src/main/resources/templates/febs/views/modules/order/refunding.html @@ -0,0 +1,54 @@ + +<div class="layui-fluid layui-anim febs-anim" id="febs-refunding-child" lay-title="退款进度"> + <div class="layui-row febs-container"> + <div class="layui-col-md12"> + <div class="layui-card"> + <div class="layui-card-body febs-table-full"> + <table lay-filter="refundingTableChild" lay-data="{id: 'refundingTableChild'}"></table> + </div> + </div> + </div> + </div> +</div> +<script data-th-inline="none" type="text/javascript"> + layui.use(['dropdown', 'jquery', 'laydate', 'form', 'table', 'febs', 'treeSelect' ,'eleTree'], function () { + var $ = layui.jquery, + laydate = layui.laydate, + febs = layui.febs, + form = layui.form, + table = layui.table, + treeSelect = layui.treeSelect, + dropdown = layui.dropdown, + $view = $('#febs-refunding-child'), + $query = $view.find('#queryChild'), + $searchForm = $view.find('formChild'), + sortObject = {field: 'createTime', type: null}, + tableIns, + createTimeFrom, + createTimeTo; + + form.render(); + + initTable(); + + laydate.render({ + elem: '#user-createTime', + range: true, + trigger: 'click' + }); + + + function initTable() { + tableIns = febs.table.init({ + elem: $view.find('table'), + id: 'refundingTableChild', + url: ctx + 'admin/order/seeRefund?parentId=1', + cols: [[ + {field: 'content', title: '内容', minWidth: 80,align:'center'}, + {field: 'createdTime', title: '时间', minWidth: 150,align:'left'}, + ]] + }); + } + + }) +</script> \ No newline at end of file -- Gitblit v1.9.1