From ce6fc16f568cc3c396e141f1f9a7e16d3abf802d Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Tue, 30 Aug 2022 16:59:55 +0800 Subject: [PATCH] 20220822 --- src/main/java/cc/mrbird/febs/mall/dto/ApiLeaderRefundOrderDto.java | 3 src/main/resources/templates/febs/views/modules/order/orderRefundList.html | 203 ++++++++++------------------------------ src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallTeamLeaderServiceImpl.java | 14 ++ src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallOrderService.java | 10 ++ src/main/resources/mapper/modules/MallRefundMapper.xml | 9 + src/main/java/cc/mrbird/febs/mall/controller/AdminMallOrderController.java | 2 src/main/java/cc/mrbird/febs/mall/entity/MallRefundEntity.java | 16 +++ 7 files changed, 103 insertions(+), 154 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 18f99d0..0c6c018 100644 --- a/src/main/java/cc/mrbird/febs/mall/controller/AdminMallOrderController.java +++ b/src/main/java/cc/mrbird/febs/mall/controller/AdminMallOrderController.java @@ -65,7 +65,7 @@ /** - * 订单多次退款审核 + * 订单多次退款列表 * * @param mallRefundEntity * @param request diff --git a/src/main/java/cc/mrbird/febs/mall/dto/ApiLeaderRefundOrderDto.java b/src/main/java/cc/mrbird/febs/mall/dto/ApiLeaderRefundOrderDto.java index a7071dc..8e54c36 100644 --- a/src/main/java/cc/mrbird/febs/mall/dto/ApiLeaderRefundOrderDto.java +++ b/src/main/java/cc/mrbird/febs/mall/dto/ApiLeaderRefundOrderDto.java @@ -14,4 +14,7 @@ @ApiModelProperty(value = "订单详情ID", example = "1") private Long ItemId; + @ApiModelProperty(value = "是否同意 1:同意 2:拒绝", example = "1") + private Integer agreeState; + } diff --git a/src/main/java/cc/mrbird/febs/mall/entity/MallRefundEntity.java b/src/main/java/cc/mrbird/febs/mall/entity/MallRefundEntity.java index 71dacc7..16e8be2 100644 --- a/src/main/java/cc/mrbird/febs/mall/entity/MallRefundEntity.java +++ b/src/main/java/cc/mrbird/febs/mall/entity/MallRefundEntity.java @@ -1,6 +1,7 @@ package cc.mrbird.febs.mall.entity; import cc.mrbird.febs.common.entity.BaseEntity; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; @@ -32,4 +33,19 @@ //退款图片 private String refundPic; + @TableField(exist = false) + private String orderNo; + + @TableField(exist = false) + private String status; + + @TableField(exist = false) + private String goodsName; + + @TableField(exist = false) + private Integer cnt; + + @TableField(exist = false) + private String[] refundPicList; + } 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 3c6de45..0a5bcbf 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 @@ -409,6 +409,16 @@ public IPage<MallRefundEntity> getOrderRefundListInPage(MallRefundEntity mallRefundEntity, QueryRequest request) { Page<MallRefundEntity> page = new Page<>(request.getPageNum(), request.getPageSize()); IPage<MallRefundEntity> mallRefundEntityIPage = mallRefundMapper.getOrderRefundListInPage(page, mallRefundEntity); + List<MallRefundEntity> records = mallRefundEntityIPage.getRecords(); + if(CollUtil.isNotEmpty(records)){ + for(MallRefundEntity mallRefundEntityPic : records){ + String refundPic = mallRefundEntityPic.getRefundPic(); + if(StrUtil.isNotEmpty(refundPic)){ + String[] split = StrUtil.split(refundPic, ","); + mallRefundEntityPic.setRefundPicList(split); + } + } + } return mallRefundEntityIPage; } diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallTeamLeaderServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallTeamLeaderServiceImpl.java index d7c110a..453bf97 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallTeamLeaderServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallTeamLeaderServiceImpl.java @@ -23,6 +23,7 @@ import cc.mrbird.febs.pay.util.WechatConfigure; import cc.mrbird.febs.pay.util.WeixinServiceUtil; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -284,6 +285,7 @@ //获取退款订单信息 Long orderId = apiLeaderRefundOrderDto.getOrderId(); Long itemId = apiLeaderRefundOrderDto.getItemId(); + MallOrderInfo mallOrderInfo = mallOrderInfoMapper.selectById(orderId); MallOrderItem mallOrderItem = mallOrderItemMapper.selectById(itemId); List<MallRefundEntity> mallRefundEntities = mallRefundMapper.selectByItemIdAndOrderIdAndState(itemId, orderId, 3); @@ -291,6 +293,17 @@ return new FebsResponse().fail().message("退款失败,请联系客服人员"); } MallRefundEntity mallRefundEntity = mallRefundEntities.get(0); + + Integer agreeState = apiLeaderRefundOrderDto.getAgreeState() == null? 2:apiLeaderRefundOrderDto.getAgreeState(); + if(2 == agreeState){ + //更新订单详情 + mallOrderItem.setState(1); + mallOrderItemMapper.updateById(mallOrderItem); + //更新退款订单 + mallRefundEntity.setState(2); + mallRefundEntity.setUpdatedTime(DateUtil.date()); + mallRefundMapper.updateById(mallRefundEntity); + } //退款订单编号 String orderNo = mallOrderInfo.getOrderNo(); //退款退款编号 @@ -322,6 +335,7 @@ mallOrderItemMapper.updateById(mallOrderItem); //更新退款订单 mallRefundEntity.setState(1); + mallRefundEntity.setUpdatedTime(DateUtil.date()); mallRefundMapper.updateById(mallRefundEntity); mallMoneyFlowService.addMoneyFlow(mallOrderInfo.getMemberId(), refundAmount, MoneyFlowTypeEnum.REFUND.getValue(), mallOrderInfo.getOrderNo(), FlowTypeEnum.BALANCE.getValue()); diff --git a/src/main/resources/mapper/modules/MallRefundMapper.xml b/src/main/resources/mapper/modules/MallRefundMapper.xml index 2de0197..1cfb987 100644 --- a/src/main/resources/mapper/modules/MallRefundMapper.xml +++ b/src/main/resources/mapper/modules/MallRefundMapper.xml @@ -20,7 +20,14 @@ </select> <select id="getOrderRefundListInPage" resultType="cc.mrbird.febs.mall.entity.MallRefundEntity"> - select a.* from mall_refund a + select a.*, + b.order_no orderNo, + b.status, + c.goods_name goodsName, + c.cnt, + from mall_refund a + inner join mall_order_info b on a.order_id = b.id + inner join mall_order_item c on a.item_id = c.id <where> <if test="record != null" > <if test="record.state!=null and record.state!=''"> diff --git a/src/main/resources/templates/febs/views/modules/order/orderRefundList.html b/src/main/resources/templates/febs/views/modules/order/orderRefundList.html index ceb8f7a..649b119 100644 --- a/src/main/resources/templates/febs/views/modules/order/orderRefundList.html +++ b/src/main/resources/templates/febs/views/modules/order/orderRefundList.html @@ -34,7 +34,7 @@ <!-- </select>--> <!-- </div>--> <!-- </div>--> - </div> +<!-- </div>--> <div class="layui-col-md2 layui-col-sm12 layui-col-xs12 table-action-area"> <div class="layui-btn layui-btn-sm layui-btn-primary febs-button-blue-plain table-action" id="query"> @@ -47,6 +47,18 @@ </div> </form> <table lay-filter="orderRefundTable" lay-data="{id: 'orderRefundTable'}"></table> + <style type="text/css"> + .layui-table-cell{ + text-align:center; + height: auto; + white-space: nowrap; /*文本不会换行,在同一行显示*/ + overflow: hidden; /*超出隐藏*/ + text-overflow: ellipsis; /*省略号显示*/ + } + .layui-table img{ + max-width:100px + } + </style> </div> </div> </div> @@ -59,6 +71,16 @@ </span> <a lay-event="edit" shiro:hasPermission="user:update"><i class="layui-icon febs-edit-area febs-blue"></i></a> +</script> + +<script type="text/html" id="refundPicItem"> + {{# if(d.refundPicList == undefined || d.refundPicList == '' || d.refundPicList == null){ }} + 暂无图片 + {{# } else { }} + {{# for(var i=0;i < d.refundPicList.length;i++){ }} + <img id="refundPic" width='100' style="cursor: pointer;" height='100' src="{{ d.refundPicList[i]}}" /> + {{# } }} + {{# } }} </script> <!-- 表格操作栏 end --> <script data-th-inline="none" type="text/javascript"> @@ -85,70 +107,16 @@ table.on('tool(orderRefundTable)', function (obj) { var data = obj.data, layEvent = obj.event; - // if (layEvent === 'refunding') { - // febs.modal.open( '退款进度', 'modules/order/refunding/' + data.id, { - // maxmin: true, - // }); - // } - // if (layEvent === 'refundOrderDetail') { - // febs.modal.open( '订单详情', 'modules/order/refundOrderDetail/' + data.id, { - // maxmin: true, - // }); - // } - // if (layEvent === 'agree') { - // febs.modal.confirm('同意', '同意此次退款申请?', function () { - // agreeRefund(data.id); - // }); - // } - // if (layEvent === 'agreeWithAddress') { - // febs.modal.open('选择退货地址', 'modules/order/withAddress/' + data.id, { - // btn: ['确认', '取消'], - // yes: function (index, layero) { - // $('#address-choose').find('#submit').trigger('click'); - // }, - // btn2: function () { - // layer.closeAll(); - // } - // }); - // } - // if (layEvent === 'disagree') { - // febs.modal.confirm('拒绝', '拒绝此次退款申请?', function () { - // disagreeRefund(data.id); - // }); - // } - // if (layEvent === 'refundConfirm') { - // febs.modal.confirm('退款确认', '确认已退款?', function () { - // refundConfirm(data.id); - // }); - // } - // if (layEvent === 'paymentInfo') { - // febs.modal.open( '收款信息', 'modules/order/refundPayInfo/' + data.id, { - // maxmin: true, - // }); - // } + switch (obj.event) { + case 'show_image': + layer.photos({ + photos:{"data": data.image_list} + ,anim: 5 //0-6的选择,指定弹出图片动画类型,默认随机(请注意,3.0之前的版本用shift参数) + }); + break; + + } }); - - // 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(); - // }); - // } - // - // function refundConfirm(id) { - // febs.get(ctx + 'admin/order/refundConfirm/' + id, null, function () { - // febs.alert.success('操作成功'); - // $query.click(); - // }); - // } - // 查询按钮 $query.on('click', function () { var params = $.extend(getQueryParams(), {field: sortObject.field, order: sortObject.type}); @@ -168,94 +136,25 @@ id: 'orderRefundTable', url: ctx + 'admin/order/orderRefundList', cols: [[ - {field: 'id', title: '订单编号', minWidth: 150,align:'left'}, - // {field: 'buyName', title: '用户名', minWidth: 150,align:'left'}, - // {field: 'buyPhone', title: '账号', minWidth: 150,align:'left'}, - // {field: 'buyBindPhone', title: '手机号', minWidth: 150,align:'left'}, - // {field: 'beforeStatus', title: '发货状态', - // templet: function (d) { - // if (d.beforeStatus === 1) { - // return '<span style="color:red;">待支付</span>' - // } else if (d.beforeStatus === 2) { - // return '<span style="color:green;">待发货</span>' - // }else if (d.beforeStatus === 3) { - // return '<span style="color:green;">待收货</span>' - // }else if (d.beforeStatus === 4) { - // return '<span style="color:green;">已完成</span>' - // }else if (d.beforeStatus === 5) { - // return '<span style="color:green;">退款中</span>' - // }else if (d.beforeStatus === 6) { - // return '<span style="color:green;">已退款</span>' - // }else if (d.beforeStatus === 7) { - // return '<span style="color:green;">已取消</span>' - // }else{ - // return '' - // } - // }, minWidth: 80,align:'center'}, - // {field: 'amount', title: '退款金额', minWidth: 150,align:'left'}, - // {field: 'type', title: '退款类型', - // templet: function (d) { - // if (d.type === 1) { - // return '<span">仅退款不退货</span>' - // } else if (d.type === 2) { - // return '<span>退款退货</span>' - // }else{ - // return '' - // } - // }, minWidth: 80,align:'center'}, - // {field: 'reason', title: '退款原因', minWidth: 150,align:'left'}, - // {field: 'status', title: '状态', - // templet: function (d) { - // if (d.status === 1) { - // return '<span style="color:red;">已申请</span>' - // } else if (d.status === 2) { - // return '<span>同意退款</span>' - // }else if (d.status === 3) { - // return '<span>驳回退款</span>' - // }else if (d.status === 4) { - // return '<span>已提交物流信息</span>' - // }else if (d.status === 5) { - // return '<span>已退款</span>' - // }else{ - // return '' - // } - // }, minWidth: 80,align:'center'}, - // {field: 'addressDetail', title: '收货信息', minWidth: 150,align:'left'}, - // {field: 'createdTime', title: '创建时间', minWidth: 150,align:'left'}, - // {title: '操作', - // templet: function (d) { - // if(d.status === 1){ - // if(d.type === 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>' - // +'<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="refundOrderDetail" shiro:hasPermission="user:update">订单详情</button>' - // +'<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="paymentInfo" shiro:hasPermission="user:update">收款方式</button>' - // }else if(d.type === 2){ - // return '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="agreeWithAddress" 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>' - // +'<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="refundOrderDetail" shiro:hasPermission="user:update">订单详情</button>' - // +'<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="paymentInfo" shiro:hasPermission="user:update">收款方式</button>' - // }else{ - // 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>' - // +'<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="refundOrderDetail" shiro:hasPermission="user:update">订单详情</button>' - // +'<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="paymentInfo" 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>' - // +'<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="refundOrderDetail" shiro:hasPermission="user:update">订单详情</button>' - // +'<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="paymentInfo" 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>' - // +'<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="refundOrderDetail" shiro:hasPermission="user:update">订单详情</button>' - // +'<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="paymentInfo" shiro:hasPermission="user:update">收款方式</button>' - // } - // - // },minWidth: 300,align:'center'} + {field: 'orderNo', title: '订单编号', minWidth: 150,align:'left'}, + {field: 'refundNo', title: '退款编号', minWidth: 150,align:'left'}, + {field: 'goodsName', title: '商品名称', minWidth: 150,align:'left'}, + {field: 'amount', title: '退款金额', minWidth: 150,align:'left'}, + {field: 'refundReason', title: '退款原因', minWidth: 150,align:'left'}, + {field: 'refundRemark', title: '退款说明', minWidth: 150,align:'left'}, + {field: 'refundPicList', title: '退款图片', templet: '#refundPicItem', minWidth: 200,align:'center'}, + {field: 'state', title: '退款状态', + templet: function (d) { + if (d.state === 1) { + return '<span>成功</span>' + } else if (d.state === 2) { + return '<span style="color:red;">失败</span>' + }else if (d.state === 3) { + return '<span style="color:green;">退款中</span>' + }else{ + return '' + } + }, minWidth: 80,align:'center'}, ]] }); } -- Gitblit v1.9.1