From 0122f61044683af26a0462431260be389e6d17ad Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Fri, 24 Nov 2023 10:45:41 +0800
Subject: [PATCH] 匹配

---
 src/main/java/cc/mrbird/febs/mall/vo/ApiOrderBuyInfoVo.java                   |    9 +
 src/main/resources/templates/index.html                                       |    2 
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallProductServiceImpl.java |   54 +++++--
 src/main/java/cc/mrbird/febs/mall/mapper/MallProductBuyRecordMapper.java      |    2 
 src/main/java/cc/mrbird/febs/mall/mapper/MallProductSellRecordMapper.java     |    2 
 src/main/resources/mapper/modules/MallProductSellRecordMapper.xml             |    6 
 src/main/java/cc/mrbird/febs/mall/dto/AdminGfaBasicSetDto.java                |   10 +
 src/main/java/cc/mrbird/febs/mall/service/IAgentService.java                  |    4 
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java  |    4 
 src/main/java/cc/mrbird/febs/mall/vo/ApiOrderBuyRecordInfoVo.java             |   16 ++
 src/main/java/cc/mrbird/febs/mall/vo/MallMemberVo.java                        |   10 +
 src/main/resources/mapper/modules/MallProductBuyRecordMapper.xml              |    6 
 src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java          |   82 +++++++++++
 src/main/java/cc/mrbird/febs/common/enumerates/DataDictionaryEnum.java        |    6 
 src/main/java/cc/mrbird/febs/mall/vo/ApiOrderSellInfoVo.java                  |    9 +
 src/main/java/cc/mrbird/febs/mall/controller/AdminNewsInfoController.java     |   25 +++
 src/main/java/cc/mrbird/febs/mall/quartz/ProfitJob.java                       |   18 ++
 src/main/java/cc/mrbird/febs/mall/vo/ApiOrderSellRecordInfoVo.java            |   17 ++
 src/main/java/cc/mrbird/febs/mall/controller/ViewNewsController.java          |   36 ++++
 src/main/resources/templates/febs/views/modules/news/gfaBasicSet.html         |   76 ++++++++++
 src/main/java/cc/mrbird/febs/common/enumerates/ProductEnum.java               |    5 
 21 files changed, 373 insertions(+), 26 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/common/enumerates/DataDictionaryEnum.java b/src/main/java/cc/mrbird/febs/common/enumerates/DataDictionaryEnum.java
index 1064f96..0516960 100644
--- a/src/main/java/cc/mrbird/febs/common/enumerates/DataDictionaryEnum.java
+++ b/src/main/java/cc/mrbird/febs/common/enumerates/DataDictionaryEnum.java
@@ -6,6 +6,12 @@
 @Getter
 public enum DataDictionaryEnum {
     /**
+     * 预约开始时间
+     * 预约结束时间
+     */
+    YU_YUE_START_TIME("YU_YUE_START_TIME","YU_YUE_START_TIME"),
+    YU_YUE_END_TIME("YU_YUE_END_TIME","YU_YUE_END_TIME"),
+    /**
      * NFT最小提现数量
      * NFT手续费
      */
diff --git a/src/main/java/cc/mrbird/febs/common/enumerates/ProductEnum.java b/src/main/java/cc/mrbird/febs/common/enumerates/ProductEnum.java
index 35c61a2..ebac16a 100644
--- a/src/main/java/cc/mrbird/febs/common/enumerates/ProductEnum.java
+++ b/src/main/java/cc/mrbird/febs/common/enumerates/ProductEnum.java
@@ -5,6 +5,11 @@
 @Getter
 public enum ProductEnum {
     /**
+     * 用户冻结
+     */
+    MEMBER_FROZEN(1,"用户冻结"),
+    MEMBER_UNFROZEN(0,"用户未冻结"),
+    /**
      * 用户NFT提现状态  0:失败 1:进行中 2:超时  3:已完成
      */
     PRODUCT_SELL_SUCCESS(3,"已完成"),
diff --git a/src/main/java/cc/mrbird/febs/mall/controller/AdminNewsInfoController.java b/src/main/java/cc/mrbird/febs/mall/controller/AdminNewsInfoController.java
index a2aa5e6..3cfe34a 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/AdminNewsInfoController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/AdminNewsInfoController.java
@@ -4,12 +4,12 @@
 import cc.mrbird.febs.common.controller.BaseController;
 import cc.mrbird.febs.common.entity.FebsResponse;
 import cc.mrbird.febs.common.entity.QueryRequest;
+import cc.mrbird.febs.common.enumerates.DataDictionaryEnum;
 import cc.mrbird.febs.common.enumerates.ProductEnum;
-import cc.mrbird.febs.mall.dto.AdminMallProductNftDto;
-import cc.mrbird.febs.mall.dto.AdminPickSellRecordDtoDto;
-import cc.mrbird.febs.mall.dto.MallNewsInfoDto;
+import cc.mrbird.febs.mall.dto.*;
 import cc.mrbird.febs.mall.entity.*;
 import cc.mrbird.febs.mall.mapper.MallProductNftMapper;
+import cc.mrbird.febs.mall.service.ICommonService;
 import cc.mrbird.febs.mall.service.IMallNewsInfoService;
 import cc.mrbird.febs.mall.vo.AdminMallProductNftVo;
 import cc.mrbird.febs.mall.vo.AdminMallProductSellPickVo;
@@ -37,6 +37,7 @@
 
     private final IMallNewsInfoService mallNewsInfoService;
     private final MallProductNftMapper mallProductNftMapper;
+    private final ICommonService commonService;
 
     /**
      * NFT预约产品
@@ -128,6 +129,24 @@
     }
 
     /**
+     * 基础设置
+     * @param gfaBasicSetDto
+     * @return
+     */
+    @PostMapping(value = "/gfaBasicSet")
+    public FebsResponse gfaBasicSet(AdminGfaBasicSetDto gfaBasicSetDto) {
+        commonService.updateDataDic(
+                DataDictionaryEnum.YU_YUE_START_TIME.getType(),
+                DataDictionaryEnum.YU_YUE_START_TIME.getCode(),
+                gfaBasicSetDto.getStartTime());
+        commonService.updateDataDic(
+                DataDictionaryEnum.YU_YUE_END_TIME.getType(),
+                DataDictionaryEnum.YU_YUE_END_TIME.getCode(),
+                gfaBasicSetDto.getEndTime());
+        return new FebsResponse().success();
+    }
+
+    /**
      * 新闻中心-列表
      * @param mallNewsInfo
      * @param request
diff --git a/src/main/java/cc/mrbird/febs/mall/controller/ViewNewsController.java b/src/main/java/cc/mrbird/febs/mall/controller/ViewNewsController.java
index 12dc11c..e5c2e32 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/ViewNewsController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/ViewNewsController.java
@@ -1,14 +1,16 @@
 package cc.mrbird.febs.mall.controller;
 
 import cc.mrbird.febs.common.entity.FebsConstant;
+import cc.mrbird.febs.common.enumerates.DataDictionaryEnum;
 import cc.mrbird.febs.common.utils.FebsUtil;
-import cc.mrbird.febs.mall.entity.MallNewsCategory;
-import cc.mrbird.febs.mall.entity.MallNewsInfo;
-import cc.mrbird.febs.mall.entity.MallProductBuy;
-import cc.mrbird.febs.mall.entity.MallProductNft;
+import cc.mrbird.febs.mall.dto.AdminGfaBasicSetDto;
+import cc.mrbird.febs.mall.dto.HlmScoreSetDto;
+import cc.mrbird.febs.mall.entity.*;
+import cc.mrbird.febs.mall.mapper.DataDictionaryCustomMapper;
 import cc.mrbird.febs.mall.mapper.MallProductBuyMapper;
 import cc.mrbird.febs.mall.mapper.MallProductNftMapper;
 import cc.mrbird.febs.mall.service.IMallNewsInfoService;
+import cn.hutool.core.util.ObjectUtil;
 import lombok.RequiredArgsConstructor;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
 import org.springframework.stereotype.Controller;
@@ -29,6 +31,7 @@
     private final IMallNewsInfoService mallNewsInfoService;
     private final MallProductNftMapper mallProductNftMapper;
     private final MallProductBuyMapper mallProductBuyMapper;
+    private final DataDictionaryCustomMapper dataDictionaryCustomMapper;
 
     /**
      * NFT预约产品
@@ -91,6 +94,31 @@
     }
 
     /**
+     * 基础设置
+     * @param model
+     * @return
+     */
+    @GetMapping("gfaBasicSet")
+    @RequiresPermissions("gfaBasicSet:view")
+    public String gfaBasicSet(Model model) {
+        AdminGfaBasicSetDto gfaBasicSetDto = new AdminGfaBasicSetDto();
+        DataDictionaryCustom startTimeDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                DataDictionaryEnum.YU_YUE_START_TIME.getType(),
+                DataDictionaryEnum.YU_YUE_START_TIME.getCode());
+        if (startTimeDic != null) {
+            gfaBasicSetDto.setStartTime(startTimeDic.getValue());
+        }
+        DataDictionaryCustom endCntDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                DataDictionaryEnum.YU_YUE_END_TIME.getType(),
+                DataDictionaryEnum.YU_YUE_END_TIME.getCode());
+        if (startTimeDic != null) {
+            gfaBasicSetDto.setEndTime(endCntDic.getValue());
+        }
+        model.addAttribute("gfaBasicSet", gfaBasicSetDto);
+        return FebsUtil.view("modules/news/gfaBasicSet");
+    }
+
+    /**
      * 新闻中心-列表
      * @return
      */
diff --git a/src/main/java/cc/mrbird/febs/mall/dto/AdminGfaBasicSetDto.java b/src/main/java/cc/mrbird/febs/mall/dto/AdminGfaBasicSetDto.java
new file mode 100644
index 0000000..ad16dcd
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/dto/AdminGfaBasicSetDto.java
@@ -0,0 +1,10 @@
+package cc.mrbird.febs.mall.dto;
+
+import lombok.Data;
+
+@Data
+public class AdminGfaBasicSetDto {
+    private String startTime;
+
+    private String endTime;
+}
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 7a86d5e..7574f5f 100644
--- a/src/main/java/cc/mrbird/febs/mall/mapper/MallProductBuyRecordMapper.java
+++ b/src/main/java/cc/mrbird/febs/mall/mapper/MallProductBuyRecordMapper.java
@@ -12,4 +12,6 @@
     List<ApiOrderBuyRecordInfoVo> selectByBuyId(@Param("productBuyId")Long productBuyId);
 
     List<MallProductBuyRecord> selectListByBuyId(@Param("buyId")Long buyId,@Param("state")Integer state);
+
+    List<MallProductBuyRecord> selectByState(@Param("state")int value);
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/mapper/MallProductSellRecordMapper.java b/src/main/java/cc/mrbird/febs/mall/mapper/MallProductSellRecordMapper.java
index dd18f31..5618b31 100644
--- a/src/main/java/cc/mrbird/febs/mall/mapper/MallProductSellRecordMapper.java
+++ b/src/main/java/cc/mrbird/febs/mall/mapper/MallProductSellRecordMapper.java
@@ -12,4 +12,6 @@
     List<ApiOrderSellRecordInfoVo> selectBySellId(@Param("productSellId")Long productSellId);
 
     List<MallProductSellRecord> selectListBySellId(@Param("sellId")Long sellId,@Param("state")Integer state);
+
+    List<MallProductSellRecord> selectListByState(@Param("state")int value);
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/quartz/ProfitJob.java b/src/main/java/cc/mrbird/febs/mall/quartz/ProfitJob.java
index f75b9dd..11a3cd6 100644
--- a/src/main/java/cc/mrbird/febs/mall/quartz/ProfitJob.java
+++ b/src/main/java/cc/mrbird/febs/mall/quartz/ProfitJob.java
@@ -125,6 +125,24 @@
         agentService.BuyToSell();
     }
 
+    /**
+     * 买单
+     * 看是否是开始显示订单的时间段,超出结束时间的买单,全部超时失败
+     */
+    @Scheduled(cron = "0 0/30 * * * ? ")
+    public void timeGetOrderBuy() {
+        agentService.timeGetOrderBuy();
+    }
+
+    /**
+     * 卖单
+     * 看是否是开始显示订单的时间段,超出结束时间的卖单,全部超时失败
+     */
+    @Scheduled(cron = "0 0/30 * * * ? ")
+    public void timeGetOrderSell() {
+        agentService.timeGetOrderSell();
+    }
+
 
 
 
diff --git a/src/main/java/cc/mrbird/febs/mall/service/IAgentService.java b/src/main/java/cc/mrbird/febs/mall/service/IAgentService.java
index 2104e21..ca99fa2 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/IAgentService.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/IAgentService.java
@@ -41,4 +41,8 @@
     void perkAgent();
 
     void BuyToSell();
+
+    void timeGetOrderBuy();
+
+    void timeGetOrderSell();
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java
index e89a8e9..8c177c2 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java
@@ -864,6 +864,88 @@
             }
         }
     }
+
+    @Override
+    public void timeGetOrderBuy() {
+        DateTime nowTime = DateUtil.parseTime(DateUtil.formatTime(DateUtil.date()));
+        DataDictionaryCustom endTimeDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                DataDictionaryEnum.YU_YUE_END_TIME.getType(),
+                DataDictionaryEnum.YU_YUE_END_TIME.getCode()
+        );
+        DateTime endTime = DateUtil.parseTime(endTimeDic.getValue());
+        /**
+         * 当前时间比结束时间大
+         */
+        if(nowTime.compareTo(endTime) >= 0){
+            List<MallProductBuyRecord> mallProductBuyRecords = mallProductBuyRecordMapper.selectByState(ProductEnum.PRODUCT_MATE_STATE_WAIT_PAY.getValue());
+            if(CollUtil.isNotEmpty(mallProductBuyRecords)){
+                for(MallProductBuyRecord mallProductBuyRecord : mallProductBuyRecords){
+                    /**
+                     * 用户有超时未支付的订单
+                     * 1、冻结账户
+                     * 2、更新买单主表
+                     * 2、更新卖单主表
+                     * 3、更新买单子表的数据
+                     * 3、更新卖单子表的数据
+                     */
+                    Long buyId = mallProductBuyRecord.getBuyId();
+                    Long sellRecordId = mallProductBuyRecord.getSellRecordId();
+                    MallProductBuy mallProductBuy = mallProductBuyMapper.selectById(buyId);
+                    Long memberIdBuy = mallProductBuy.getMemberId();
+                    //冻结账户
+                    MallMember mallMemberBuy = memberMapper.selectById(memberIdBuy);
+                    mallMemberBuy.setIsFrozen(ProductEnum.MEMBER_FROZEN.getValue());
+                    memberMapper.updateById(mallMemberBuy);
+                    //更新买单子表的数据
+                    mallProductBuyRecord.setState(ProductEnum.PRODUCT_MATE_STATE_FAIL.getValue());
+                    mallProductBuyRecordMapper.updateById(mallProductBuyRecord);
+                    //更新买单主表
+                    mallProductBuy.setNftAva(mallProductBuy.getNftAva().add(mallProductBuyRecord.getPickNftCnt()));
+                    mallProductBuyMapper.updateById(mallProductBuy);
+                    //更新卖单子表的数据
+                    MallProductSellRecord mallProductSellRecord = mallProductSellRecordMapper.selectById(sellRecordId);
+                    mallProductSellRecord.setState(ProductEnum.PRODUCT_MATE_STATE_FAIL.getValue());
+                    mallProductSellRecordMapper.updateById(mallProductSellRecord);
+                    //更新卖单主表
+                    Long sellId = mallProductSellRecord.getSellId();
+                    MallProductSell mallProductSell = mallProductSellMapper.selectById(sellId);
+                    mallProductSell.setNftCntAva(mallProductSell.getNftCntAva().add(mallProductSellRecord.getNftCnt()));
+                    mallProductSellMapper.updateById(mallProductSell);
+                }
+            }
+        }
+
+    }
+
+    @Override
+    public void timeGetOrderSell() {
+        DateTime nowTime = DateUtil.parseTime(DateUtil.formatTime(DateUtil.date()));
+        DataDictionaryCustom endTimeDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                DataDictionaryEnum.YU_YUE_END_TIME.getType(),
+                DataDictionaryEnum.YU_YUE_END_TIME.getCode()
+        );
+        DateTime endTime = DateUtil.parseTime(endTimeDic.getValue());
+        /**
+         * 当前时间比结束时间大
+         */
+        if(nowTime.compareTo(endTime) >= 0){
+            List<MallProductSellRecord> mallProductSellRecords = mallProductSellRecordMapper.selectListByState(ProductEnum.PRODUCT_MATE_STATE_PAY.getValue());
+            if(CollUtil.isNotEmpty(mallProductSellRecords)){
+                for(MallProductSellRecord mallProductSellRecord : mallProductSellRecords){
+                    /**
+                     * 卖方
+                     * 1:冻结账户
+                     */
+                    Long sellId = mallProductSellRecord.getSellId();
+                    MallProductSell mallProductSell = mallProductSellMapper.selectById(sellId);
+                    MallMember mallMember = memberMapper.selectById(mallProductSell.getMemberId());
+                    mallMember.setIsFrozen(ProductEnum.MEMBER_FROZEN.getValue());
+                    memberMapper.updateById(mallMember);
+                }
+            }
+        }
+    }
+
     public void insertSell(Long memberId,BigDecimal nftCnt,BigDecimal nftCntAva,
                            BigDecimal nftFee,BigDecimal fcmFeeCnt){
         String orderNo = MallUtils.getOrderNum("NFT");
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
index d948432..f588c72 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
@@ -758,7 +758,7 @@
         Long unfreezeMemberId = unfreezeDto.getMemberId();
         MallMember mallMember = this.baseMapper.selectById(unfreezeMemberId);
         Integer isFrozen = mallMember.getIsFrozen();
-        if(1 != isFrozen){
+        if(ProductEnum.MEMBER_UNFROZEN.getValue() == isFrozen){
             throw new FebsException("账户未被冻结");
         }
         DataDictionaryCustom memberFrozenFcmCntDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
@@ -781,7 +781,7 @@
         BigDecimal fcmCntAvaSub = fcmCntAva.subtract(memberFrozenFcmCnt);
         mallMemberAmount.setFcmCntAva(fcmCntAvaSub);
         mallMemberAmountMapper.updateById(mallMemberAmount);
-        mallMember.setIsFrozen(0);
+        mallMember.setIsFrozen(ProductEnum.MEMBER_UNFROZEN.getValue());
         this.baseMapper.updateById(mallMember);
 
         mallMoneyFlowService.addMoneyFlow(
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallProductServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallProductServiceImpl.java
index 1fdf668..15fb84f 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallProductServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallProductServiceImpl.java
@@ -271,29 +271,53 @@
         return new FebsResponse().success();
     }
 
+    public static void main(String[] args) {
+        DateTime dateTime = DateUtil.parseTime("15:00:00");
+        DateTime dateTime2 = DateUtil.parseTime("19:00:00");
+        DateTime dateTime1 = DateUtil.parseTime(DateUtil.formatTime(DateUtil.date()));
+        System.out.println(dateTime);
+        System.out.println(dateTime1);
+        System.out.println(dateTime1.compareTo(dateTime));
+        System.out.println(dateTime1.compareTo(dateTime2));
+        System.out.println(dateTime1.compareTo(dateTime) >= 0 && dateTime1.compareTo(dateTime2) <= 0);
+    }
+
     @Override
     public FebsResponse orderList(ApiOrderListDto apiOrderListDto) {
         Long memberId = LoginUserUtil.getLoginUser().getId();
         List<ApiOrderListVo> objects = new ArrayList<>();
         Integer orderType = apiOrderListDto.getOrderType();
         apiOrderListDto.setMemberId(memberId);
-        //买单
-        if(2 == orderType){
-            IPage<ApiOrderListVo> page = new Page<>(apiOrderListDto.getPageNum(), apiOrderListDto.getPageSize());
-            IPage<ApiOrderListVo> apiOrderListVoIPageBuy = mallProductBuyMapper.selectListInPage(page, apiOrderListDto);
-            if(CollUtil.isNotEmpty(apiOrderListVoIPageBuy.getRecords())){
-                for(ApiOrderListVo apiOrderListVo : apiOrderListVoIPageBuy.getRecords()){
-                    objects.add(apiOrderListVo);
+        DateTime nowTime = DateUtil.parseTime(DateUtil.formatTime(DateUtil.date()));
+        DataDictionaryCustom startTimeDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                DataDictionaryEnum.YU_YUE_START_TIME.getType(),
+                DataDictionaryEnum.YU_YUE_START_TIME.getCode()
+        );
+        DateTime startTime = DateUtil.parseTime(startTimeDic.getValue());
+        DataDictionaryCustom endTimeDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                DataDictionaryEnum.YU_YUE_END_TIME.getType(),
+                DataDictionaryEnum.YU_YUE_END_TIME.getCode()
+        );
+        DateTime endTime = DateUtil.parseTime(endTimeDic.getValue());
+        if(nowTime.compareTo(startTime) >= 0 && nowTime.compareTo(endTime) <= 0){
+            //买单
+            if(2 == orderType){
+                IPage<ApiOrderListVo> page = new Page<>(apiOrderListDto.getPageNum(), apiOrderListDto.getPageSize());
+                IPage<ApiOrderListVo> apiOrderListVoIPageBuy = mallProductBuyMapper.selectListInPage(page, apiOrderListDto);
+                if(CollUtil.isNotEmpty(apiOrderListVoIPageBuy.getRecords())){
+                    for(ApiOrderListVo apiOrderListVo : apiOrderListVoIPageBuy.getRecords()){
+                        objects.add(apiOrderListVo);
+                    }
                 }
             }
-        }
-        //卖单
-        if(1 == orderType){
-            IPage<ApiOrderListVo> page = new Page<>(apiOrderListDto.getPageNum(), apiOrderListDto.getPageSize());
-            IPage<ApiOrderListVo> apiOrderListVoIPageSell = mallProductSellMapper.selectListInPage(page, apiOrderListDto);
-            if(CollUtil.isNotEmpty(apiOrderListVoIPageSell.getRecords())){
-                for(ApiOrderListVo apiOrderListVo : apiOrderListVoIPageSell.getRecords()){
-                    objects.add(apiOrderListVo);
+            //卖单
+            if(1 == orderType){
+                IPage<ApiOrderListVo> page = new Page<>(apiOrderListDto.getPageNum(), apiOrderListDto.getPageSize());
+                IPage<ApiOrderListVo> apiOrderListVoIPageSell = mallProductSellMapper.selectListInPage(page, apiOrderListDto);
+                if(CollUtil.isNotEmpty(apiOrderListVoIPageSell.getRecords())){
+                    for(ApiOrderListVo apiOrderListVo : apiOrderListVoIPageSell.getRecords()){
+                        objects.add(apiOrderListVo);
+                    }
                 }
             }
         }
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/ApiOrderBuyInfoVo.java b/src/main/java/cc/mrbird/febs/mall/vo/ApiOrderBuyInfoVo.java
index 6c26f3b..315d045 100644
--- a/src/main/java/cc/mrbird/febs/mall/vo/ApiOrderBuyInfoVo.java
+++ b/src/main/java/cc/mrbird/febs/mall/vo/ApiOrderBuyInfoVo.java
@@ -1,6 +1,7 @@
 package cc.mrbird.febs.mall.vo;
 
 import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import java.math.BigDecimal;
@@ -11,12 +12,20 @@
 @ApiModel(value = "ApiOrderBuyInfoVo", description = "信息返回类")
 public class ApiOrderBuyInfoVo {
     private Long id;
+    @ApiModelProperty(value = "订单编号")
     private String orderNo;
+    @ApiModelProperty(value = "预约状态  0:失败 1:进行中 2:超时  3:已完成")
     private int state;//预约状态  0:失败 1:进行中 2:超时  3:已完成
+    @ApiModelProperty(value = "匹配状态0:失败 1:匹配中 2:待支付 3:已支付 4:对方已确认 5:已完成")
     private int mateState;//匹配状态0:失败 1:匹配中 2:待支付 3:已支付 4:对方已确认 5:已完成
+    @ApiModelProperty(value = "nft预约额度")
     private BigDecimal nftTotal;//nft预约额度
+    @ApiModelProperty(value = "待分配")
     private BigDecimal nftAva;//待分配
+    @ApiModelProperty(value = "匹配时间")
     private Date orderTime;//匹配时间
+    @ApiModelProperty(value = "支付时间")
     private Date payTime;//支付时间
+    @ApiModelProperty(value = "对方详情")
     private List<ApiOrderBuyRecordInfoVo> apiOrderBuyRecordInfoVos;
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/ApiOrderBuyRecordInfoVo.java b/src/main/java/cc/mrbird/febs/mall/vo/ApiOrderBuyRecordInfoVo.java
index b32d899..01d80ae 100644
--- a/src/main/java/cc/mrbird/febs/mall/vo/ApiOrderBuyRecordInfoVo.java
+++ b/src/main/java/cc/mrbird/febs/mall/vo/ApiOrderBuyRecordInfoVo.java
@@ -1,6 +1,7 @@
 package cc.mrbird.febs.mall.vo;
 
 import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import java.math.BigDecimal;
@@ -10,20 +11,35 @@
 @ApiModel(value = "ApiOrderBuyRecordInfoVo", description = "信息返回类")
 public class ApiOrderBuyRecordInfoVo {
     private Long id;//
+    @ApiModelProperty(value = "对方账户")
     private String accountLogin;//
+    @ApiModelProperty(value = "分配额度、支付金额")
     private BigDecimal pickNftCnt;//分配额度、支付金额
+    @ApiModelProperty(value = "匹配状态0:失败 1:匹配中 2:待支付 3:已支付 4:对方已确认 5:已完成")
     private Integer state;//匹配状态0:失败 1:匹配中 2:待支付 3:已支付 4:对方已确认 5:已完成
+    @ApiModelProperty(value = "匹配时间")
     private Date orderTime;//匹配时间
+    @ApiModelProperty(value = "支付时间")
     private Date payTime;//支付时间
+    @ApiModelProperty(value = "支付凭证")
     private String nftImg;//支付凭证
+    @ApiModelProperty(value = "支付类型 1:微信 2:支付宝 3:银行转账 4:USDT转账")
     private Integer type;//支付类型 1:微信 2:支付宝 3:银行转账 4:USDT转账
+    @ApiModelProperty(value = "微信收款码")
 
     private String wxQrcode;//微信收款码
+    @ApiModelProperty(value = "支付宝收款码")
     private String aliQrcode;//支付宝收款码
+    @ApiModelProperty(value = "真实姓名")
     private String bankName;//真实姓名
+    @ApiModelProperty(value = "银行卡号")
     private String bankNo;//银行卡号
+    @ApiModelProperty(value = "开户行")
     private String bank;//开户行
+    @ApiModelProperty(value = "手机号")
     private String phone;//手机号
+    @ApiModelProperty(value = "USDT通道类型:  TRC20 BEP20")
     private String usdtTongdao;//USDT通道类型:  TRC20 BEP20
+    @ApiModelProperty(value = "USDT地址")
     private String usdtAddress;//USDT地址
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/ApiOrderSellInfoVo.java b/src/main/java/cc/mrbird/febs/mall/vo/ApiOrderSellInfoVo.java
index a76190d..27dbcdf 100644
--- a/src/main/java/cc/mrbird/febs/mall/vo/ApiOrderSellInfoVo.java
+++ b/src/main/java/cc/mrbird/febs/mall/vo/ApiOrderSellInfoVo.java
@@ -1,6 +1,7 @@
 package cc.mrbird.febs.mall.vo;
 
 import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import java.math.BigDecimal;
@@ -10,13 +11,21 @@
 @ApiModel(value = "ApiOrderSellInfoVo", description = "信息返回类")
 public class ApiOrderSellInfoVo {
     private Long id;
+    @ApiModelProperty(value = "订单编号")
     private String orderNo;
+    @ApiModelProperty(value = "动态NFT总数")
     private BigDecimal nftTotal;//动态NFT总数
+    @ApiModelProperty(value = "实际提现数量")
     private BigDecimal nftCnt;//实际提现数量
+    @ApiModelProperty(value = "剩余数量")
     private BigDecimal nftCntAva;//剩余数量
+    @ApiModelProperty(value = "NFT手续费")
     private BigDecimal nftFee;//NFT手续费
+    @ApiModelProperty(value = "代币手续费")
     private BigDecimal fcmFee;//代币手续费
+    @ApiModelProperty(value = "预约状态  0:失败 1:进行中 2:超时  3:已完成")
     private Integer state;//预约状态  0:失败 1:进行中 2:超时  3:已完成
+    @ApiModelProperty(value = "对方支付方式详情")
     private List<ApiOrderSellRecordInfoVo> apiOrderSellRecordInfoVos;
 
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/ApiOrderSellRecordInfoVo.java b/src/main/java/cc/mrbird/febs/mall/vo/ApiOrderSellRecordInfoVo.java
index 389d211..60d1004 100644
--- a/src/main/java/cc/mrbird/febs/mall/vo/ApiOrderSellRecordInfoVo.java
+++ b/src/main/java/cc/mrbird/febs/mall/vo/ApiOrderSellRecordInfoVo.java
@@ -1,6 +1,7 @@
 package cc.mrbird.febs.mall.vo;
 
 import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import java.math.BigDecimal;
@@ -10,20 +11,34 @@
 @ApiModel(value = "ApiOrderSellRecordInfoVo", description = "信息返回类")
 public class ApiOrderSellRecordInfoVo {
     private Long id;
+    @ApiModelProperty(value = "对方账户")
     private String accountLogin;//
+    @ApiModelProperty(value = "匹配时间")
     private Date orderTime;//匹配时间
+    @ApiModelProperty(value = "支付时间")
     private Date payTime;//支付时间
+    @ApiModelProperty(value = "支付数量")
     private BigDecimal nftCnt;//支付数量
+    @ApiModelProperty(value = "支付凭证")
     private String nftImg;//支付凭证
+    @ApiModelProperty(value = "支付类型 1:微信 2:支付宝 3:银行转账 4:USDT转账")
     private Integer type;//支付类型 1:微信 2:支付宝 3:银行转账 4:USDT转账
+    @ApiModelProperty(value = "匹配状态0:失败 1:匹配中 2:待支付 3:已支付 4:对方已确认 5:已完成")
     private Integer state;//匹配状态0:失败 1:匹配中 2:待支付 3:已支付 4:对方已确认 5:已完成
-
+    @ApiModelProperty(value = "微信收款码")
     private String wxQrcode;//微信收款码
+    @ApiModelProperty(value = "支付宝收款码")
     private String aliQrcode;//支付宝收款码
+    @ApiModelProperty(value = "真实姓名")
     private String bankName;//真实姓名
+    @ApiModelProperty(value = "银行卡号")
     private String bankNo;//银行卡号
+    @ApiModelProperty(value = "开户行")
     private String bank;//开户行
+    @ApiModelProperty(value = "手机号")
     private String phone;//手机号
+    @ApiModelProperty(value = "USDT通道类型:  TRC20 BEP20")
     private String usdtTongdao;//USDT通道类型:  TRC20 BEP20
+    @ApiModelProperty(value = "USDT地址")
     private String usdtAddress;//USDT地址
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/MallMemberVo.java b/src/main/java/cc/mrbird/febs/mall/vo/MallMemberVo.java
index 078d858..d8417df 100644
--- a/src/main/java/cc/mrbird/febs/mall/vo/MallMemberVo.java
+++ b/src/main/java/cc/mrbird/febs/mall/vo/MallMemberVo.java
@@ -66,14 +66,24 @@
 
     @ApiModelProperty(value = "内转标识 1:开启 2:关闭")
     private Integer insideWith;
+
+    @ApiModelProperty(value = "静态NFT")
     private BigDecimal staticNft;//静态NFT
+    @ApiModelProperty(value = "动态NFT")
     private BigDecimal trendsNft;//动态NFT
+    @ApiModelProperty(value = "冻结NFT")
     private BigDecimal frozenNft;//冻结NFT
+    @ApiModelProperty(value = "FCM代币可用")
     private BigDecimal fcmCntAva;//FCM代币可用
+    @ApiModelProperty(value = "FCM代币冻结")
     private BigDecimal fcmCntFrozen;//FCM代币冻结
+    @ApiModelProperty(value = "令牌可用")
     private BigDecimal tokenAva;//令牌可用
+    @ApiModelProperty(value = "令牌冻结")
     private BigDecimal tokenFrozen;//令牌冻结
+    @ApiModelProperty(value = "FCM提现收续费")
     private BigDecimal outFcmFee;//FCM提现收续费
+    @ApiModelProperty(value = "FCM价格")
     private BigDecimal fcmPrice;//FCM价格
 
 }
diff --git a/src/main/resources/mapper/modules/MallProductBuyRecordMapper.xml b/src/main/resources/mapper/modules/MallProductBuyRecordMapper.xml
index 702d839..c872df9 100644
--- a/src/main/resources/mapper/modules/MallProductBuyRecordMapper.xml
+++ b/src/main/resources/mapper/modules/MallProductBuyRecordMapper.xml
@@ -26,4 +26,10 @@
           and a.state = #{state}
     </select>
 
+    <select id="selectByState" resultType="cc.mrbird.febs.mall.entity.MallProductBuyRecord">
+        select a.*
+        from mall_product_buy_record a
+        where a.state = #{state}
+    </select>
+
 </mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/modules/MallProductSellRecordMapper.xml b/src/main/resources/mapper/modules/MallProductSellRecordMapper.xml
index 0ce9d32..0ce0321 100644
--- a/src/main/resources/mapper/modules/MallProductSellRecordMapper.xml
+++ b/src/main/resources/mapper/modules/MallProductSellRecordMapper.xml
@@ -26,4 +26,10 @@
             and a.state = #{state}
     </select>
 
+    <select id="selectListByState" resultType="cc.mrbird.febs.mall.entity.MallProductSellRecord">
+        select a.*
+        from mall_product_sell_record a
+        where a.state = #{state}
+    </select>
+
 </mapper>
\ No newline at end of file
diff --git a/src/main/resources/templates/febs/views/modules/news/gfaBasicSet.html b/src/main/resources/templates/febs/views/modules/news/gfaBasicSet.html
new file mode 100644
index 0000000..2824c71
--- /dev/null
+++ b/src/main/resources/templates/febs/views/modules/news/gfaBasicSet.html
@@ -0,0 +1,76 @@
+<div class="layui-fluid layui-anim febs-anim" id="gfa-Basic-set" lay-title="预约设置">
+    <div class="layui-row layui-col-space8 febs-container">
+        <form class="layui-form" action="" lay-filter="gfa-Basic-set-form">
+            <div class="layui-card">
+                <div class="layui-card-body">
+                    <blockquote class="layui-elem-quote blue-border">买卖单时间设置</blockquote>
+                    <div class="layui-form-item">
+                        <label class="layui-form-label febs-form-item-require">开始时间:</label>
+                        <div class="layui-input-block">
+                            <input type="text" name="startTime" class="layui-input" id="startTimePick" placeholder="HH:mm:ss">
+                        </div>
+                    </div>
+                    <div class="layui-form-item">
+                        <label class="layui-form-label febs-form-item-require">结束时间:</label>
+                        <div class="layui-input-block">
+                            <input type="text" name="endTime" class="layui-input" id="endTimePick" placeholder="HH:mm:ss">
+                        </div>
+                    </div>
+                    <div class="layui-card-footer">
+                        <button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="gfa-Basic-set-submit" id="submit">保存</button>
+                    </div>
+                </div>
+            </div>
+        </form>
+    </div>
+</div>
+<style>
+    .layui-form-label {
+        width: 120px;
+    }
+
+    .layui-form-item .layui-input-block {
+        margin-left: 150px;
+    }
+
+    .layui-table-form .layui-form-item {
+        margin-bottom: 20px !important;
+    }
+</style>
+<script data-th-inline="javascript" type="text/javascript">
+    layui.use(['dropdown', 'jquery', 'febs', 'form', 'eleTree','laydate'], function () {
+        var $ = layui.jquery,
+            febs = layui.febs,
+            form = layui.form,
+            gfaBasicSet = [[${gfaBasicSet}]],
+            laydate = layui.laydate,
+            $view = $('#gfa-Basic-set');
+
+        //日期范围
+        laydate.render({
+            elem: '#startTimePick',
+            type: 'time'
+        });
+        //日期范围
+        laydate.render({
+            elem: '#endTimePick',
+            type: 'time'
+        });
+
+        initGfaBasicSetValue();
+        form.render();
+        function initGfaBasicSetValue() {
+            form.val("gfa-Basic-set-form", {
+                "startTime": gfaBasicSet.startTime,
+                "endTime": gfaBasicSet.endTime
+            });
+        }
+        form.on('submit(gfa-Basic-set-submit)', function (data) {
+            febs.post(ctx + 'admin/news/gfaBasicSet', data.field, function (res) {
+                febs.alert.success('设置成功');
+                return ;
+            });
+            return false;
+        });
+    });
+</script>
\ No newline at end of file
diff --git a/src/main/resources/templates/index.html b/src/main/resources/templates/index.html
index 0edae19..d85d055 100644
--- a/src/main/resources/templates/index.html
+++ b/src/main/resources/templates/index.html
@@ -3,7 +3,7 @@
       xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
 <head>
     <meta charset="utf-8">
-    <title>鸿楼梦 权限系统</title>
+    <title>GFA 权限系统</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
     <meta name="renderer" content="webkit">
     <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">

--
Gitblit v1.9.1