From b99e4e26ce2750eafdb8e10c7c9e243328fc12c2 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Wed, 26 May 2021 19:19:08 +0800
Subject: [PATCH] 20210526  聊天

---
 src/main/java/com/xcong/excoin/modules/otc/service/OtcMarketBussinessService.java          |    2 +
 src/main/java/com/xcong/excoin/modules/otc/controller/OtcMarketBussinessController.java    |   10 +++++
 src/main/java/com/xcong/excoin/modules/otc/vo/ApplyConditionsVo.java                       |   25 ++++++++++++
 src/main/java/com/xcong/excoin/modules/otc/service/impl/OtcMsgServiceImpl.java             |    2 
 src/main/java/com/xcong/excoin/modules/otc/service/impl/OtcMarketBussinessServiceImpl.java |   45 ++++++++++++++++++++++
 5 files changed, 83 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/xcong/excoin/modules/otc/controller/OtcMarketBussinessController.java b/src/main/java/com/xcong/excoin/modules/otc/controller/OtcMarketBussinessController.java
index 372d83a..1971a4d 100644
--- a/src/main/java/com/xcong/excoin/modules/otc/controller/OtcMarketBussinessController.java
+++ b/src/main/java/com/xcong/excoin/modules/otc/controller/OtcMarketBussinessController.java
@@ -11,6 +11,7 @@
 import com.xcong.excoin.modules.otc.mapper.OtcMarketBussinessMapper;
 import com.xcong.excoin.modules.otc.service.OtcEntrustOrderService;
 import com.xcong.excoin.modules.otc.service.OtcMarketBussinessService;
+import com.xcong.excoin.modules.otc.vo.ApplyConditionsVo;
 import com.xcong.excoin.modules.otc.vo.MarketBussinessInfoVo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -35,6 +36,15 @@
     private final MemberWalletCoinDao memberWalletCoinDao;
     private final MemberDao memberDao;
 
+    @ApiOperation(value = "申请条件", notes = "申请条件")
+    @ApiResponses({
+            @ApiResponse(code = 200, message = "获取成功", response = ApplyConditionsVo.class)
+    })
+    @PostMapping(value = "/applyConditions")
+    public Result applyConditions() {
+        return otcMarketBussinessService.applyConditions();
+    }
+
 
     @ApiOperation(value = "申请市商接口", notes = "申请市商接口")
     @PostMapping(value = "/applyMaketBussiness")
diff --git a/src/main/java/com/xcong/excoin/modules/otc/service/OtcMarketBussinessService.java b/src/main/java/com/xcong/excoin/modules/otc/service/OtcMarketBussinessService.java
index e3cd122..95de849 100644
--- a/src/main/java/com/xcong/excoin/modules/otc/service/OtcMarketBussinessService.java
+++ b/src/main/java/com/xcong/excoin/modules/otc/service/OtcMarketBussinessService.java
@@ -12,4 +12,6 @@
     Integer findMbStatus();
 
     Result findMbInfo(Long id);
+
+    Result applyConditions();
 }
diff --git a/src/main/java/com/xcong/excoin/modules/otc/service/impl/OtcMarketBussinessServiceImpl.java b/src/main/java/com/xcong/excoin/modules/otc/service/impl/OtcMarketBussinessServiceImpl.java
index 363eaff..ac41c05 100644
--- a/src/main/java/com/xcong/excoin/modules/otc/service/impl/OtcMarketBussinessServiceImpl.java
+++ b/src/main/java/com/xcong/excoin/modules/otc/service/impl/OtcMarketBussinessServiceImpl.java
@@ -19,6 +19,7 @@
 import com.xcong.excoin.modules.otc.mapper.OtcEntrustOrderMapper;
 import com.xcong.excoin.modules.otc.mapper.OtcMarketBussinessMapper;
 import com.xcong.excoin.modules.otc.service.OtcMarketBussinessService;
+import com.xcong.excoin.modules.otc.vo.ApplyConditionsVo;
 import com.xcong.excoin.modules.otc.vo.EntrustListInfoVo;
 import com.xcong.excoin.modules.otc.vo.MarketBussinessInfoVo;
 import lombok.RequiredArgsConstructor;
@@ -125,4 +126,48 @@
         mbVo.setNikename(member.getName());
         return Result.ok(mbVo);
     }
+
+    @Override
+    public Result applyConditions() {
+        MemberEntity member = LoginUserUtils.getAppLoginUser();
+        member = memberDao.selectById(member.getId());
+//        long memberId = 444L;
+//        MemberEntity member = memberDao.selectById(memberId);
+        ApplyConditionsVo applyConditionsVo = new ApplyConditionsVo();
+
+        OtcSetting setting = otcSettingDao.selectById(1L);
+        // 所有已完成订单
+        List<OtcOrder> finishOrders = otcOrderDao.selectOrderListForUser(member.getId(), 3);
+        if (CollUtil.isEmpty(finishOrders) || setting.getOrderNum() > finishOrders.size()) {
+            applyConditionsVo.setOrderNum(2);
+        }else{
+            applyConditionsVo.setOrderNum(1);
+        }
+
+        List<OtcOrder> allOrders = otcOrderDao.selectOrderListForUser(member.getId(), null);
+        if (CollUtil.isNotEmpty(allOrders)) {
+            BigDecimal finishRatio = BigDecimal.valueOf(finishOrders.size()).divide(BigDecimal.valueOf(allOrders.size()), 4, BigDecimal.ROUND_DOWN).multiply(BigDecimal.valueOf(100));
+            if (setting.getCompletionRate().compareTo(finishRatio) > 0) {
+                applyConditionsVo.setCompletionRate(2);
+            }else{
+                applyConditionsVo.setCompletionRate(1);
+            }
+        }
+
+        BigDecimal totalAmount = otcOrderDao.selectOrderTotalAmount(member.getId());
+        if (setting.getTotalAmount().compareTo(totalAmount) > 0) {
+            applyConditionsVo.setTotalAmount(2);
+        }else{
+            applyConditionsVo.setTotalAmount(1);
+        }
+
+        Integer certifyStatus = member.getCertifyStatus();
+        if(MemberEntity.CERTIFY_STATUS_Y == certifyStatus){
+            applyConditionsVo.setMemberAuth(1);
+        }else{
+            applyConditionsVo.setMemberAuth(2);
+        }
+
+        return Result.ok(applyConditionsVo);
+    }
 }
diff --git a/src/main/java/com/xcong/excoin/modules/otc/service/impl/OtcMsgServiceImpl.java b/src/main/java/com/xcong/excoin/modules/otc/service/impl/OtcMsgServiceImpl.java
index e1b6542..61e92c7 100644
--- a/src/main/java/com/xcong/excoin/modules/otc/service/impl/OtcMsgServiceImpl.java
+++ b/src/main/java/com/xcong/excoin/modules/otc/service/impl/OtcMsgServiceImpl.java
@@ -71,7 +71,7 @@
     @Transactional
     public Result getChatBox(ChatBoxDto chatBoxDto) {
         MemberEntity member = LoginUserUtils.getAppLoginUser();
-//        MemberEntity member = memberDao.selectById(444L);
+//        MemberEntity member = memberDao.selectById(443L);
         //对话是否存在
         long id = chatBoxDto.getId();
         if(ObjectUtil.isEmpty(id)){
diff --git a/src/main/java/com/xcong/excoin/modules/otc/vo/ApplyConditionsVo.java b/src/main/java/com/xcong/excoin/modules/otc/vo/ApplyConditionsVo.java
new file mode 100644
index 0000000..359e4d1
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/otc/vo/ApplyConditionsVo.java
@@ -0,0 +1,25 @@
+package com.xcong.excoin.modules.otc.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+@ApiModel(value = "ApplyConditionsVo", description = "接口返回类")
+public class ApplyConditionsVo {
+
+    @ApiModelProperty(value = "商家入驻总单数1:满足 2:不满足")
+    private Integer orderNum;
+
+    @ApiModelProperty(value = "商家入驻完成率1:满足 2:不满足")
+    private Integer completionRate;
+
+    @ApiModelProperty(value = "商家入驻总金额1:满足 2:不满足")
+    private Integer totalAmount;
+
+    @ApiModelProperty(value = "实名认证1:满足 2:不满足")
+    private Integer memberAuth;
+
+}

--
Gitblit v1.9.1