From 6b17ba066e9b3b2690abd04308767fdc9453195a Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Fri, 24 Nov 2023 15:01:15 +0800
Subject: [PATCH] 匹配

---
 src/main/java/cc/mrbird/febs/mall/entity/MallProductBuyRecord.java          |    4 ++
 src/main/resources/mapper/modules/MallProductBuyRecordMapper.xml            |    8 ++++
 src/main/java/cc/mrbird/febs/mall/service/impl/MallNewsInfoServiceImpl.java |    8 ++++
 src/main/java/cc/mrbird/febs/mall/mapper/MallProductBuyRecordMapper.java    |    2 +
 src/main/resources/templates/febs/views/modules/news/productBuyList.html    |   40 ++++++++++++++++++++
 src/main/java/cc/mrbird/febs/mall/vo/AdminMallProductBuyVo.java             |    4 ++
 6 files changed, 66 insertions(+), 0 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/mall/entity/MallProductBuyRecord.java b/src/main/java/cc/mrbird/febs/mall/entity/MallProductBuyRecord.java
index 7a20e4e..20ae956 100644
--- a/src/main/java/cc/mrbird/febs/mall/entity/MallProductBuyRecord.java
+++ b/src/main/java/cc/mrbird/febs/mall/entity/MallProductBuyRecord.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;
 
@@ -20,4 +21,7 @@
     private Date payTime;//支付时间
     private String nftImg;//支付凭证
     private Integer type;//支付类型 1:微信 2:支付宝 3:银行转账 4:USDT转账
+
+    @TableField(exist = false)
+    private String accountLogin;
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/mapper/MallProductBuyRecordMapper.java b/src/main/java/cc/mrbird/febs/mall/mapper/MallProductBuyRecordMapper.java
index 7574f5f..7bd7059 100644
--- a/src/main/java/cc/mrbird/febs/mall/mapper/MallProductBuyRecordMapper.java
+++ b/src/main/java/cc/mrbird/febs/mall/mapper/MallProductBuyRecordMapper.java
@@ -13,5 +13,7 @@
 
     List<MallProductBuyRecord> selectListByBuyId(@Param("buyId")Long buyId,@Param("state")Integer state);
 
+    List<MallProductBuyRecord> selectRecordListByBuyId(@Param("buyId")Long buyId);
+
     List<MallProductBuyRecord> selectByState(@Param("state")int value);
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/MallNewsInfoServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/MallNewsInfoServiceImpl.java
index 02474a5..f32080a 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/MallNewsInfoServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/MallNewsInfoServiceImpl.java
@@ -12,6 +12,7 @@
 import cc.mrbird.febs.mall.service.IMallNewsInfoService;
 import cc.mrbird.febs.mall.vo.*;
 import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.date.DateTime;
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.ObjectUtil;
@@ -194,6 +195,13 @@
     public IPage<AdminMallProductBuyVo> getBuyList(MallProductBuy mallProductBuy, QueryRequest request) {
         Page<AdminMallProductBuyVo> page = new Page<>(request.getPageNum(), request.getPageSize());
         IPage<AdminMallProductBuyVo> adminMallProductBuyVoIPage = mallProductNftMapper.getBuyList(page, mallProductBuy);
+        if(CollUtil.isNotEmpty(adminMallProductBuyVoIPage.getRecords())){
+            List<AdminMallProductBuyVo> records = adminMallProductBuyVoIPage.getRecords();
+            for(AdminMallProductBuyVo adminMallProductBuyVo : records){
+                List<MallProductBuyRecord> mallProductBuyRecords = mallProductBuyRecordMapper.selectRecordListByBuyId(adminMallProductBuyVo.getId());
+                adminMallProductBuyVo.setMallProductBuyRecords(mallProductBuyRecords);
+            }
+        }
         return adminMallProductBuyVoIPage;
     }
 
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/AdminMallProductBuyVo.java b/src/main/java/cc/mrbird/febs/mall/vo/AdminMallProductBuyVo.java
index 93894be..e92ef66 100644
--- a/src/main/java/cc/mrbird/febs/mall/vo/AdminMallProductBuyVo.java
+++ b/src/main/java/cc/mrbird/febs/mall/vo/AdminMallProductBuyVo.java
@@ -1,10 +1,12 @@
 package cc.mrbird.febs.mall.vo;
 
+import cc.mrbird.febs.mall.entity.MallProductBuyRecord;
 import io.swagger.annotations.ApiModel;
 import lombok.Data;
 
 import java.math.BigDecimal;
 import java.util.Date;
+import java.util.List;
 
 @Data
 @ApiModel(value = "AdminMallProductBuyVo", description = "信息返回类")
@@ -21,4 +23,6 @@
     private BigDecimal nftAva;//nft分配额度
     private Date orderTime;//匹配时间
     private Date payTime;//支付时间
+
+    private List<MallProductBuyRecord> mallProductBuyRecords;
 }
diff --git a/src/main/resources/mapper/modules/MallProductBuyRecordMapper.xml b/src/main/resources/mapper/modules/MallProductBuyRecordMapper.xml
index c872df9..9b862c4 100644
--- a/src/main/resources/mapper/modules/MallProductBuyRecordMapper.xml
+++ b/src/main/resources/mapper/modules/MallProductBuyRecordMapper.xml
@@ -26,6 +26,14 @@
           and a.state = #{state}
     </select>
 
+    <select id="selectRecordListByBuyId" resultType="cc.mrbird.febs.mall.entity.MallProductBuyRecord">
+        select a.*,
+               b.account_login
+        from mall_product_buy_record a
+                 left join mall_member b on a.member_id = b.id
+        where a.buy_id = #{buyId}
+    </select>
+
     <select id="selectByState" resultType="cc.mrbird.febs.mall.entity.MallProductBuyRecord">
         select a.*
         from mall_product_buy_record a
diff --git a/src/main/resources/templates/febs/views/modules/news/productBuyList.html b/src/main/resources/templates/febs/views/modules/news/productBuyList.html
index b124c77..122126a 100644
--- a/src/main/resources/templates/febs/views/modules/news/productBuyList.html
+++ b/src/main/resources/templates/febs/views/modules/news/productBuyList.html
@@ -177,6 +177,46 @@
                 ]]
             });
         }
+        // 单击父表表格中的某一行
+        table.on('row(buyTable)',function (obj) {
+            //得到当前行元素数据
+            var data = obj.data;
+            if(true) {
+                // 实现手风琴效果
+                $('.thead').remove();
+                $('.tbody').remove();
+            }
+            // 展示子表数据
+            if(data.mallProductBuyRecords.length > 0) {
+                // 单击行显示出的表格的表体
+                for(var i = data.mallProductBuyRecords.length-1;i >=0;i--) {
+                    var html = '<tr class="tbody">' +
+                        '<td></td>\n' +
+                        '<td>'+data.mallProductBuyRecords[i].accountLogin+'</td>\n' +
+                        '<td>'+data.mallProductBuyRecords[i].pickNftCnt+'</td>\n' +
+                        '<td>'+data.mallProductBuyRecords[i].orderTime+'</td>\n' +
+                        '<td>'+data.mallProductBuyRecords[i].payTime+'</td>\n' +
+                        '<td>'+data.mallProductBuyRecords[i].nftImg+'</td>\n' +
+                        '<td>'+data.mallProductBuyRecords[i].type+'</td>\n' +
+                        '<td>'+data.mallProductBuyRecords[i].state+'</td>\n' +
+                        '</tr>';
+                    obj.tr.after(html);
+                }
+
+                // 单击行显示出的表格的表头
+                var html = '<tr class="thead">\n' +
+                    '      <td></td>\n' +
+                    '      <td>匹配用户</td>\n' +
+                    '      <td>支付金额</td>\n' +
+                    '      <td>匹配时间</td>\n' +
+                    '      <td>支付时间</td>\n' +
+                    '      <td>支付凭证</td>\n' +
+                    '      <td>支付类型</td>\n' +
+                    '      <td>支付状态</td>\n' +
+                    '    </tr>';
+                obj.tr.after(html);
+            }
+        });
 
         // 获取查询参数
         function getQueryParams() {

--
Gitblit v1.9.1