From e8d3141ef759624a241e1afc45dd2136ec9111da Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Mon, 24 Apr 2023 14:58:15 +0800
Subject: [PATCH] 资金流水

---
 src/main/java/cc/mrbird/febs/mall/controller/ViewMallOrderController.java  |   14 +++
 src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallOrderService.java  |    8 ++
 src/main/java/cc/mrbird/febs/mall/vo/AdminMallMoneyFlowVo.java             |    4 +
 src/main/java/cc/mrbird/febs/mall/controller/AdminMallOrderController.java |   12 +++
 src/main/resources/mapper/modules/MallMoneyFlowMapper.xml                  |   10 ++
 src/main/resources/templates/febs/views/modules/order/orderList.html       |    6 +
 src/main/resources/templates/febs/views/modules/order/orderMoneyFlow.html  |  134 +++++++++++++++++++++++++++++++++
 src/main/java/cc/mrbird/febs/mall/mapper/MallMoneyFlowMapper.java          |    3 
 src/main/java/cc/mrbird/febs/mall/service/IAdminMallOrderService.java      |    2 
 9 files changed, 193 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 d7b3886..75d3686 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/AdminMallOrderController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/AdminMallOrderController.java
@@ -428,5 +428,17 @@
     public FebsResponse showStateSwitchOff(@NotNull(message = "{required}") @PathVariable Long id) {
         return adminMallOrderService.showStateSwitchOff(id);
     }
+    /**
+     * 订单列表-资金流水
+     */
+    @GetMapping("/orderMoneyFlow")
+    public FebsResponse orderMoneyFlow(QueryRequest request, MallOrderInfo mallOrderInfo, Integer parentId) {
+        if (parentId == null) {
+            ViewMallOrderController.idOrderMoneyFlow = 0;
+        }
+        mallOrderInfo.setId(ViewMallOrderController.idOrderMoneyFlow);
+        Map<String, Object> dataTable = getDataTable(adminMallOrderService.orderMoneyFlow(request, mallOrderInfo));
+        return new FebsResponse().success().data(dataTable);
+    }
 
 }
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 903ce69..cb61742 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/ViewMallOrderController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/ViewMallOrderController.java
@@ -205,4 +205,18 @@
         return FebsUtil.view("modules/order/refundPayInfo");
     }
 
+    /**
+     * 订单-资金流水
+     * @param id
+     * @param model
+     * @return
+     */
+    public static long idOrderMoneyFlow;
+    @GetMapping("orderMoneyFlow/{id}")
+    @RequiresPermissions("orderMoneyFlow:update")
+    public String orderMoneyFlow(@PathVariable long id, Model model) {
+        idOrderMoneyFlow = id;
+        return FebsUtil.view("modules/order/orderMoneyFlow");
+    }
+
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/mapper/MallMoneyFlowMapper.java b/src/main/java/cc/mrbird/febs/mall/mapper/MallMoneyFlowMapper.java
index adcbeb3..2d01254 100644
--- a/src/main/java/cc/mrbird/febs/mall/mapper/MallMoneyFlowMapper.java
+++ b/src/main/java/cc/mrbird/febs/mall/mapper/MallMoneyFlowMapper.java
@@ -5,6 +5,7 @@
 import cc.mrbird.febs.mall.dto.MoneyFlowListDto;
 import cc.mrbird.febs.mall.entity.MallMember;
 import cc.mrbird.febs.mall.entity.MallMoneyFlow;
+import cc.mrbird.febs.mall.entity.MallOrderInfo;
 import cc.mrbird.febs.mall.vo.AdminMallMoneyFlowVo;
 import cc.mrbird.febs.mall.vo.AdminMoneyChargeListVo;
 import cc.mrbird.febs.mall.vo.AdminMoneyFlowListVo;
@@ -37,4 +38,6 @@
     BigDecimal selectCommissionIncome(@Param("flowType") Integer flowType, @Param("type") Integer type, @Param("date") Date date, @Param("memberId") Long memebrid);
 
     BigDecimal selectThankfulCommission(@Param("date") Date date, @Param("memberId") Long memberId);
+
+    IPage<AdminMallMoneyFlowVo> selectOrderMoneyFlowInPage(Page<AdminMallMoneyFlowVo> page, @Param("record")MallOrderInfo mallOrderInfo);
 }
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 c2faf8c..e72366b 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/IAdminMallOrderService.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/IAdminMallOrderService.java
@@ -70,4 +70,6 @@
     FebsResponse delOrder(Long id);
 
     FebsResponse takeGoods(Long id);
+
+    IPage<AdminMallMoneyFlowVo> orderMoneyFlow(QueryRequest request, MallOrderInfo mallOrderInfo);
 }
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 7d0f04d..0a1ff03 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
@@ -463,6 +463,14 @@
     }
 
     @Override
+    public IPage<AdminMallMoneyFlowVo> orderMoneyFlow(QueryRequest request, MallOrderInfo mallOrderInfo) {
+        MallOrderInfo mallOrder = this.baseMapper.selectById(mallOrderInfo.getId());
+        Page<AdminMallMoneyFlowVo> page = new Page<>(request.getPageNum(), request.getPageSize());
+        IPage<AdminMallMoneyFlowVo> adminMallMoneyFlowVos = mallMoneyFlowMapper.selectOrderMoneyFlowInPage(page, mallOrder);
+        return adminMallMoneyFlowVos;
+    }
+
+    @Override
     public void deliverGoodsByOrderNo(DeliverGoodsDto deliverGoodsDto) {
         MallOrderInfo mallOrderInfo = mallOrderInfoMapper.selectByOrderNo(deliverGoodsDto.getOrderNo());
         if (mallOrderInfo == null) {
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/AdminMallMoneyFlowVo.java b/src/main/java/cc/mrbird/febs/mall/vo/AdminMallMoneyFlowVo.java
index 6b8270b..38c9dbb 100644
--- a/src/main/java/cc/mrbird/febs/mall/vo/AdminMallMoneyFlowVo.java
+++ b/src/main/java/cc/mrbird/febs/mall/vo/AdminMallMoneyFlowVo.java
@@ -24,5 +24,9 @@
     private String description;
 
     private String remark;
+    /**
+     * 来源
+     */
+    private String fromMemberName;
 
 }
diff --git a/src/main/resources/mapper/modules/MallMoneyFlowMapper.xml b/src/main/resources/mapper/modules/MallMoneyFlowMapper.xml
index 814e3bd..292b9b5 100644
--- a/src/main/resources/mapper/modules/MallMoneyFlowMapper.xml
+++ b/src/main/resources/mapper/modules/MallMoneyFlowMapper.xml
@@ -139,4 +139,14 @@
           and date_format(created_time, '%Y-%m-%d') = date_format(#{date}, '%Y-%m-%d')
           and type in (2,3,4)
     </select>
+
+    <select id="selectOrderMoneyFlowInPage" resultType="cc.mrbird.febs.mall.vo.AdminMallMoneyFlowVo">
+        select
+            a.*,
+            b.name fromMemberName
+        from mall_money_flow a
+                 left join mall_member b on a.member_id = b.id
+        where a.order_no = #{record.orderNo}
+        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/orderList.html b/src/main/resources/templates/febs/views/modules/order/orderList.html
index 20b5d95..790233d 100644
--- a/src/main/resources/templates/febs/views/modules/order/orderList.html
+++ b/src/main/resources/templates/febs/views/modules/order/orderList.html
@@ -191,6 +191,11 @@
                     delOrder(data.id);
                 });
             }
+            if (layEvent === 'orderMoneyFlow') {
+                febs.modal.open( '订单流水', 'modules/order/orderMoneyFlow/' + data.id, {
+                    maxmin: true,
+                });
+            }
             if (layEvent === 'seePayImage') {
                 var t = $view.find('#seePayImage'+data.id+'');
                 //页面层
@@ -313,6 +318,7 @@
                                             +'<button class="layui-btn layui-btn-xs layui-btn-normal layui-btn-danger" lay-event="delOrder" 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>'
+                                            +'<button class="layui-btn layui-btn-normal layui-btn-xs" shiro:hasPermission="user:update" lay-event="orderMoneyFlow">资金流水</button>'
                                     }
                                 // }
                             },minWidth: 200,align:'center', fixed:'right'}
diff --git a/src/main/resources/templates/febs/views/modules/order/orderMoneyFlow.html b/src/main/resources/templates/febs/views/modules/order/orderMoneyFlow.html
new file mode 100644
index 0000000..8525ba0
--- /dev/null
+++ b/src/main/resources/templates/febs/views/modules/order/orderMoneyFlow.html
@@ -0,0 +1,134 @@
+<div class="layui-fluid layui-anim febs-anim" id="febs-orderMoneyFlow-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="orderMoneyFlowChild" lay-data="{id: 'orderMoneyFlowChild'}"></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-orderMoneyFlow-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: 'orderMoneyFlowChild',
+                url: ctx + 'admin/order/orderMoneyFlow?parentId=1',
+                cols: [[
+                    {field: 'fromMemberName', title: '用户', minWidth: 80,align:'center'},
+                    {field: 'amount', title: '金额', minWidth: 80,align:'center'},
+                    {field: 'type', title: '流水类型',
+                        templet: function (d) {
+                            if (d.type === 1) {
+                                return '<span>静态收益</span>'
+                            } else if (d.type === 2) {
+                                return '<span>直推奖</span>'
+                            } else if (d.type === 3) {
+                                return '<span>代理收益</span>'
+                            } else if (d.type === 4) {
+                                return '<span>排名收益</span>'
+                            }else if (d.type === 5) {
+                                return '<span>总监收益</span>'
+                            }else if (d.type === 6) {
+                                return '<span>社区店补</span>'
+                            }else if (d.type === 7) {
+                                return '<span>一代收益</span>'
+                            }else if (d.type === 8) {
+                                return '<span>提现</span>'
+                            }else if (d.type === 9) {
+                                return '<span>转账</span>'
+                            }else if (d.type === 10) {
+                                return '<span>支付</span>'
+                            }else if (d.type === 11) {
+                                return '<span>退款</span>'
+                            }else if (d.type === 12) {
+                                return '<span>佣金转竞猜积分</span>'
+                            }else if (d.type === 13) {
+                                return '<span>佣金转余额</span>'
+                            }else if (d.type === 14) {
+                                return '<span>签到</span>'
+                            }else if (d.type === 15) {
+                                return '<span>感恩奖</span>'
+                            }else if (d.type === 16) {
+                                return '<span>系统拨付</span>'
+                            }else if (d.type === 17) {
+                                return '<span>抽奖</span>'
+                            }else if (d.type === 18) {
+                                return '<span>积分池收益</span>'
+                            }else if (d.type === 19) {
+                                return '<span>1星合伙人补贴</span>'
+                            }else if (d.type === 20) {
+                                return '<span>2星合伙人补贴</span>'
+                            }else if (d.type === 21) {
+                                return '<span>3星合伙人补贴</span>'
+                            }else if (d.type === 22) {
+                                return '<span>4星合伙人补贴</span>'
+                            }else if (d.type === 23) {
+                                return '<span>5星合伙人补贴</span>'
+                            }else if (d.type === 24) {
+                                return '<span>6星合伙人补贴</span>'
+                            }else if (d.type === 25) {
+                                return '<span>贡献点</span>'
+                            }else if (d.type === 26) {
+                                return '<span>补贴额度</span>'
+                            }else if (d.type === 27) {
+                                return '<span>团队补贴</span>'
+                            }else if (d.type === 28) {
+                                return '<span>平级奖励补贴</span>'
+                            }else if (d.type === 29) {
+                                return '<span>线下服务中心补贴</span>'
+                            }else if (d.type === 30) {
+                                return '<span>代理商补贴</span>'
+                            }else{
+                                return ''
+                            }
+                        }, minWidth: 80,align:'center'},
+                    {field: 'flowType', title: '资金类型',
+                        templet: function (d) {
+                            if (d.flowType === 1) {
+                                return '余额';
+                            } else if(d.flowType === 3) {
+                                return '现金积分'
+                            } else if(d.flowType === 5) {
+                                return '贡献点'
+                            } else {
+                                return '-';
+                            }
+                        }, minWidth: 80,align:'center'},
+                    // {field: 'orderNo', title: '订单编号', minWidth: 150,align:'center'},
+                    {field: 'remark', title: '备注', minWidth: 150,align:'left'},
+                    {field: 'createdTime', title: '时间', minWidth: 150,align:'left'}
+                ]]
+            });
+        }
+
+    })
+</script>
\ No newline at end of file

--
Gitblit v1.9.1