소스 검색

查询质押订单列表

linweichao 6 일 전
부모
커밋
b7bb36f696

+ 36 - 0
qnfhq-api/src/main/java/com/qnfhq/modules/business/controller/TMingProductController.java

@@ -0,0 +1,36 @@
+package com.qnfhq.modules.business.controller;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.qnfhq.common.ApiBaseController;
+import com.qnfhq.common.utils.Result;
+import com.qnfhq.modules.business.entity.MingProduct;
+import com.qnfhq.modules.business.params.MingProductParams;
+import com.qnfhq.modules.business.service.ITMingProductService;
+import jakarta.annotation.Resource;
+import org.springframework.web.bind.annotation.*;
+/**
+ * 挖矿Controller
+ *
+ * @author ruoyi
+ * @date 2023-07-17
+ */
+@RestController
+@RequestMapping("/api/mingProduct")
+public class TMingProductController extends ApiBaseController {
+    @Resource
+    private ITMingProductService mingProductService;
+
+    /**
+     * 查询质押订单列表
+     */
+    @PostMapping("/list")
+    public Result<IPage<MingProduct>> list(@RequestBody MingProductParams params) {
+        IPage<MingProduct> mingProductIPage = mingProductService.selectTMingProductList(params);
+        return new Result().ok(mingProductIPage);
+    }
+
+
+
+}

+ 35 - 0
qnfhq-api/src/main/java/com/qnfhq/modules/business/params/MingProductParams.java

@@ -0,0 +1,35 @@
+package com.qnfhq.modules.business.params;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import org.springframework.data.annotation.CreatedBy;
+import org.springframework.data.annotation.CreatedDate;
+import org.springframework.data.annotation.LastModifiedBy;
+import org.springframework.data.annotation.LastModifiedDate;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * mingProduct对象 t_ming_product
+ *
+ * @author table
+ * @date 2023-08-18
+ */
+@Data
+public class MingProductParams {
+
+private static final long serialVersionUID=1L;
+    /**
+     * 标题
+     */
+    private String title;
+
+    private Long current;
+
+    private Long size;
+
+
+}

+ 4 - 0
qnfhq-api/src/main/java/com/qnfhq/modules/business/service/ITMingProductService.java

@@ -1,7 +1,9 @@
 package com.qnfhq.modules.business.service;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.qnfhq.modules.business.entity.MingProduct;
+import com.qnfhq.modules.business.params.MingProductParams;
 
 import java.util.List;
 
@@ -15,4 +17,6 @@ public interface ITMingProductService extends IService<MingProduct>
 {
 
     MingProduct selectTMingProductById(Long planId);
+
+    IPage<MingProduct> selectTMingProductList(MingProductParams params);
 }

+ 66 - 0
qnfhq-api/src/main/java/com/qnfhq/modules/business/service/impl/TMingProductServiceImpl.java

@@ -1,11 +1,27 @@
 package com.qnfhq.modules.business.service.impl;
 
+import cn.dev33.satoken.stp.StpUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.qnfhq.modules.business.dao.TMingOrderMapper;
+import com.qnfhq.modules.business.dao.TMingProductUserMapper;
 import com.qnfhq.modules.business.entity.MingProduct;
 import com.qnfhq.modules.business.dao.TMingProductMapper;
+import com.qnfhq.modules.business.entity.MingProductUser;
+import com.qnfhq.modules.business.entity.TMingOrder;
+import com.qnfhq.modules.business.params.MingProductParams;
 import com.qnfhq.modules.business.service.ITMingProductService;
 import jakarta.annotation.Resource;
 import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Objects;
 
 /**
  * mingProductService业务层处理
@@ -19,9 +35,59 @@ public class TMingProductServiceImpl extends ServiceImpl<TMingProductMapper, Min
     @Resource
     private TMingProductMapper tMingProductMapper;
 
+    @Resource
+    private TMingOrderMapper tMingOrderMapper;
 
+    @Resource
+    private TMingProductUserMapper tMingProductUserMapper;
     @Override
     public MingProduct selectTMingProductById(Long planId) {
         return tMingProductMapper.selectById(planId);
     }
+
+    @Override
+    public IPage<MingProduct> selectTMingProductList(MingProductParams params) {
+        IPage<MingProduct> page = new Page<>(params.getCurrent(), params.getSize());
+        LambdaQueryWrapper<MingProduct> lambda = new QueryWrapper<MingProduct>().lambda();
+        lambda.eq(MingProduct::getStatus,0);
+        lambda.eq(StringUtils.isNotBlank(params.getTitle()),MingProduct::getTitle,params.getTitle());
+        IPage<MingProduct> mingProductIPage = tMingProductMapper.selectPage(page, lambda);
+        if (mingProductIPage.getRecords() == null) {
+            return mingProductIPage;
+        }
+        for(MingProduct mingProduct:mingProductIPage.getRecords()){
+            List<TMingOrder> orderList = tMingOrderMapper.selectList(new QueryWrapper<TMingOrder>().lambda().eq(TMingOrder::getPlanId
+            ,mingProduct.getId()));
+            BigDecimal totalAmount = BigDecimal.ZERO;
+            for(TMingOrder mingOrder:orderList){
+                totalAmount = totalAmount.add(mingOrder.getAmount());
+            }
+            if(totalAmount.compareTo(BigDecimal.ZERO) == 0){
+                mingProduct.setUserProcess("0%");
+            }else{
+                BigDecimal rate = totalAmount.divide(mingProduct.getLimitMax(),2,BigDecimal.ROUND_HALF_UP);
+                rate = rate.multiply(BigDecimal.valueOf(100));
+                mingProduct.setUserProcess(rate+"%");
+            }
+        }
+
+        List<MingProduct> records = mingProductIPage.getRecords();
+        if (!CollectionUtils.isEmpty(records)){
+            records.stream().forEach(mProduct->{
+                Long count = tMingOrderMapper.selectCount(new LambdaQueryWrapper<TMingOrder>()
+                        .eq(TMingOrder::getPlanId, mProduct.getId())
+                        .eq(TMingOrder::getUserId, StpUtil.getLoginIdAsLong()));
+                if (Objects.nonNull(count)) mProduct.setBuyPurchase((long)count);
+                MingProductUser one = tMingProductUserMapper.selectOne(new LambdaQueryWrapper<MingProductUser>()
+                        .eq(MingProductUser::getProductId, mProduct.getId())
+                        .eq(MingProductUser::getAppUserId, StpUtil.getLoginIdAsLong()));
+                if (Objects.nonNull(one)) mProduct.setTimeLimit(one.getPledgeNum());
+                if(mProduct.getCoin().equals("ccrwa")) {
+                    mProduct.setRate(new BigDecimal("0.46"));
+                }
+            });
+        }
+
+        return mingProductIPage;
+    }
 }