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