From 2b8b6b15c284bb5f75309ff695666f1da35a130a Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Tue, 18 May 2021 18:43:26 +0800
Subject: [PATCH] Merge branch 'yunding' of http://120.27.238.55:7000/r/exchange into yunding

---
 src/main/java/com/xcong/excoin/modules/yunding/controller/YunDingController.java      |   20 ++++
 src/test/java/com/xcong/excoin/XchTest.java                                           |   28 ++++-
 src/main/java/com/xcong/excoin/modules/yunding/dto/TeamInfoDto.java                   |   21 ++++
 src/main/java/com/xcong/excoin/quartz/job/XchBaseDataUpdateJob.java                   |   52 +++++++++-
 src/main/resources/application-test.yml                                               |    2 
 src/main/java/com/xcong/excoin/modules/yunding/entity/YdBasicSettingEntity.java       |    4 
 src/main/java/com/xcong/excoin/modules/yunding/vo/TeamVo.java                         |   23 ++++
 src/main/java/com/xcong/excoin/modules/yunding/dao/YdOrderDao.java                    |    9 +
 src/main/java/com/xcong/excoin/modules/yunding/service/YunDingService.java            |    2 
 src/main/resources/mapper/yunding/YdOrderDao.xml                                      |   21 ++++
 src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java     |    9 +
 src/main/java/com/xcong/excoin/modules/yunding/vo/TeamInfoVo.java                     |   20 ++++
 src/main/java/com/xcong/excoin/common/system/controller/LoginController.java          |    2 
 src/main/java/com/xcong/excoin/modules/yunding/service/Impl/XchProfitServiceImpl.java |   16 +++
 src/main/java/com/xcong/excoin/modules/yunding/service/Impl/YunDingServiceImpl.java   |   52 ++++++++++
 15 files changed, 266 insertions(+), 15 deletions(-)

diff --git a/src/main/java/com/xcong/excoin/common/system/controller/LoginController.java b/src/main/java/com/xcong/excoin/common/system/controller/LoginController.java
index 6645b6d..6576bf6 100644
--- a/src/main/java/com/xcong/excoin/common/system/controller/LoginController.java
+++ b/src/main/java/com/xcong/excoin/common/system/controller/LoginController.java
@@ -127,7 +127,7 @@
             authInfo.put("user", memberInfoVo);
         }
 
-        BigDecimal total = coinService.getAllWalletAmount(memberEntity.getId());
+        BigDecimal total = BigDecimal.ZERO;
         if (total.compareTo(AppContants.BASE_MIN_AMOUNT) > 0) {
             authInfo.put("baseUrl", AppContants.BASE_URL_L2);
         } else {
diff --git a/src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java b/src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java
index f8fde74..17e5f59 100644
--- a/src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java
+++ b/src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java
@@ -47,6 +47,7 @@
 import org.springframework.security.core.context.SecurityContextHolder;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+import sun.management.resources.agent;
 
 import java.math.BigDecimal;
 import java.util.ArrayList;
@@ -129,7 +130,7 @@
     @Resource
     private MemberWalletContractSimulateDao memberWalletContractSimulateDao;
 
-    @Autowired
+    @Resource
     private YdBasicLevelSettingDao ydBasicLevelSettingDao;
 
     @Transactional()
@@ -310,6 +311,12 @@
                 memberInfoVo.setAgentName(agent.getName());
                 memberInfoVo.setAgentId(agent.getId());
             }
+
+            if (MemberEntity.IS_TRADER_Y == memberEntity.getIsTrader()) {
+                memberInfoVo.setAgentName("合伙人");
+                memberInfoVo.setAgentId(3L);
+            }
+
             memberInfoVo.setInviteId(memberEntity.getInviteId());
         }
         return Result.ok(memberInfoVo);
diff --git a/src/main/java/com/xcong/excoin/modules/yunding/controller/YunDingController.java b/src/main/java/com/xcong/excoin/modules/yunding/controller/YunDingController.java
index 80abc44..65ba345 100644
--- a/src/main/java/com/xcong/excoin/modules/yunding/controller/YunDingController.java
+++ b/src/main/java/com/xcong/excoin/modules/yunding/controller/YunDingController.java
@@ -160,6 +160,26 @@
         return yunDingService.bugAgentLevel(bugAgentLeveldto);
     }
 
+    /**
+     * 我的团队信息
+     */
+    @ApiOperation(value = "我的团队信息")
+    @ApiResponses({
+            @ApiResponse(code = 0, message = "success", response = TeamVo.class)
+    })
+    @PostMapping(value = "/getTeamList")
+    public Result getTeamList(@RequestBody @Validated TeamInfoDto teamInfoDto) {
+        return yunDingService.getTeamList(teamInfoDto);
+    }
+
+
+
+
+
+
+
+
+
 
 
 
diff --git a/src/main/java/com/xcong/excoin/modules/yunding/dao/YdOrderDao.java b/src/main/java/com/xcong/excoin/modules/yunding/dao/YdOrderDao.java
index 3ae4c38..aad5bea 100644
--- a/src/main/java/com/xcong/excoin/modules/yunding/dao/YdOrderDao.java
+++ b/src/main/java/com/xcong/excoin/modules/yunding/dao/YdOrderDao.java
@@ -3,10 +3,12 @@
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.xcong.excoin.modules.member.entity.MemberEntity;
 import com.xcong.excoin.modules.yunding.dto.YdOrderListDto;
 import com.xcong.excoin.modules.yunding.entity.YdBasicLevelSettingEntity;
 import com.xcong.excoin.modules.yunding.entity.YdOrderEntity;
 import com.xcong.excoin.modules.yunding.vo.AgentVo;
+import com.xcong.excoin.modules.yunding.vo.TeamInfoVo;
 import com.xcong.excoin.modules.yunding.vo.YdOrderVo;
 import org.apache.ibatis.annotations.Param;
 
@@ -32,4 +34,11 @@
     List<YdOrderEntity> selectTeamAllPower(@Param("inviteId") String inviteId);
 
     int updateOrderProfit(@Param("profit") BigDecimal profit, @Param("id") Long id);
+
+    int selectAllPowerByMemberIdAndElse(@Param("inviteId")String inviteId);
+
+    IPage<TeamInfoVo> getTeamInfoList(Page<TeamInfoVo> page, @Param("record")MemberEntity memberEntity);
+
+    List<MemberEntity> selectMemberByInviteId(@Param("inviteId")String inviteId);
+
 }
diff --git a/src/main/java/com/xcong/excoin/modules/yunding/dto/TeamInfoDto.java b/src/main/java/com/xcong/excoin/modules/yunding/dto/TeamInfoDto.java
new file mode 100644
index 0000000..b011587
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/yunding/dto/TeamInfoDto.java
@@ -0,0 +1,21 @@
+package com.xcong.excoin.modules.yunding.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.Min;
+import javax.validation.constraints.NotNull;
+@Data
+@ApiModel(value = "TeamInfoDto", description = "团队入参类")
+public class TeamInfoDto {
+
+    @NotNull
+    @Min(1)
+    @ApiModelProperty(value = "第几页", example = "1")
+    private int pageNum;
+
+    @NotNull
+    @ApiModelProperty(value = "每页数量", example = "10")
+    private int pageSize;
+}
diff --git a/src/main/java/com/xcong/excoin/modules/yunding/entity/YdBasicSettingEntity.java b/src/main/java/com/xcong/excoin/modules/yunding/entity/YdBasicSettingEntity.java
index 5b50120..87a6046 100644
--- a/src/main/java/com/xcong/excoin/modules/yunding/entity/YdBasicSettingEntity.java
+++ b/src/main/java/com/xcong/excoin/modules/yunding/entity/YdBasicSettingEntity.java
@@ -42,5 +42,9 @@
      * XCH兑换USDT手续费
      */
     private BigDecimal changeXch;
+    /**
+     * 直推返利
+     */
+    private BigDecimal parentRatio;
 
 }
diff --git a/src/main/java/com/xcong/excoin/modules/yunding/service/Impl/XchProfitServiceImpl.java b/src/main/java/com/xcong/excoin/modules/yunding/service/Impl/XchProfitServiceImpl.java
index 3b8ef4d..3dc38f1 100644
--- a/src/main/java/com/xcong/excoin/modules/yunding/service/Impl/XchProfitServiceImpl.java
+++ b/src/main/java/com/xcong/excoin/modules/yunding/service/Impl/XchProfitServiceImpl.java
@@ -4,6 +4,7 @@
 import cn.hutool.core.date.DateUnit;
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.StrUtil;
+import com.xcong.excoin.common.contants.AppContants;
 import com.xcong.excoin.modules.coin.dao.MemberAccountMoneyChangeDao;
 import com.xcong.excoin.modules.member.dao.MemberDao;
 import com.xcong.excoin.modules.member.dao.MemberWalletCoinDao;
@@ -18,6 +19,7 @@
 import com.xcong.excoin.modules.yunding.entity.YdOrderEntity;
 import com.xcong.excoin.modules.yunding.entity.YdProductEntity;
 import com.xcong.excoin.modules.yunding.service.XchProfitService;
+import com.xcong.excoin.netty.common.Contans;
 import com.xcong.excoin.rabbit.producer.YunDingProducter;
 import com.xcong.excoin.utils.LogRecordUtils;
 import lombok.extern.slf4j.Slf4j;
@@ -183,6 +185,7 @@
             ydOrderDao.updateById(updateOrder);
         }
 
+        // 合伙人分红
         List<MemberEntity> partners = memberDao.selectPartnerMemberList();
         YdBasicSettingEntity setting = ydBasicSettingDao.selectById(1L);
         if (CollUtil.isNotEmpty(partners)) {
@@ -197,6 +200,19 @@
             }
         }
 
+        if(!AppContants.SYSTEM_REFERER.equals(memberEntity.getRefererId())) {
+            // 直推返利
+            MemberEntity parentNode = memberDao.selectMemberInfoByInviteId(memberEntity.getRefererId());
+            if (parentNode != null) {
+                BigDecimal parentAmount = order.getAmount().multiply(setting.getParentRatio());
+
+                String conent = "直推USDT返利";
+                LogRecordUtils.insertMemberAccountMoneyChangeWithId(parentNode.getId(), conent, parentAmount, "USDT", 1, 10, order.getId());
+                MemberWalletCoinEntity walletCoin = memberWalletCoinDao.selectWalletCoinBymIdAndCode(parentNode.getId(), "USDT");
+
+                memberWalletCoinDao.updateBlockBalance(walletCoin.getId(), parentAmount, BigDecimal.ZERO, 0);
+            }
+        }
     }
 
     private Map<Long, BigDecimal> buildReturnRatioObj(List<MemberEntity> agents, int type) {
diff --git a/src/main/java/com/xcong/excoin/modules/yunding/service/Impl/YunDingServiceImpl.java b/src/main/java/com/xcong/excoin/modules/yunding/service/Impl/YunDingServiceImpl.java
index 12d3ea6..820863f 100644
--- a/src/main/java/com/xcong/excoin/modules/yunding/service/Impl/YunDingServiceImpl.java
+++ b/src/main/java/com/xcong/excoin/modules/yunding/service/Impl/YunDingServiceImpl.java
@@ -1,7 +1,6 @@
 package com.xcong.excoin.modules.yunding.service.Impl;
 
 import cn.hutool.core.collection.CollUtil;
-import cn.hutool.core.date.DateTime;
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
@@ -42,7 +41,6 @@
 import java.math.BigDecimal;
 import java.text.DecimalFormat;
 import java.util.Date;
-import java.util.HashMap;
 import java.util.List;
 
 @Slf4j
@@ -599,6 +597,56 @@
         return Result.ok(xchNewPrices);
     }
 
+    @Override
+    public Result getTeamList(TeamInfoDto teamInfoDto) {
+        log.info("获取团队信息");
+        MemberEntity memberEntity = LoginUserUtils.getAppLoginUser();
+        Long memberId = memberEntity.getId();
+//        Long memberId = 444L;
+//        MemberEntity memberEntity = memberDao.selectById(memberId);
+        /**
+         * 获取团队总人数,总购买数
+         *      详细列表
+         *
+         */
+        TeamVo teamVo = new TeamVo();
+        //团队总人数
+        int memberNum = 0;
+        String inviteId = memberEntity.getInviteId();
+        List<MemberEntity> memberEntityList = ydOrderDao.selectMemberByInviteId(inviteId);
+        if(CollUtil.isNotEmpty(memberEntityList)){
+            memberNum = memberEntityList.size();
+        }
+        teamVo.setMemberNum(memberNum);
+        //购买总算力
+        int allPower = ydOrderDao.selectAllPowerByMemberIdAndElse(inviteId);
+        teamVo.setAllPower(allPower);
+        //详细列表
+        Page<TeamInfoVo> page = new Page<>(teamInfoDto.getPageNum(), teamInfoDto.getPageSize());
+        IPage<TeamInfoVo> teamInfoVos = ydOrderDao.getTeamInfoList(page, memberEntity);
+        List<TeamInfoVo> records = teamInfoVos.getRecords();
+        if(CollUtil.isNotEmpty(records)){
+            for(TeamInfoVo teamInfoVo : records){
+                String phone = teamInfoVo.getInvitephone();
+                if(StrUtil.isNotEmpty(phone)){
+                    teamInfoVo.setInvitephone(StrUtil.subSufByLength(phone,4));
+                }
+                //下属团队人数
+                int memberNumInvite = 0;
+                List<MemberEntity> memberEntityInviteList = ydOrderDao.selectMemberByInviteId(phone);
+                if(CollUtil.isNotEmpty(memberEntityInviteList)){
+                    memberNumInvite = memberEntityInviteList.size();
+                }
+                teamInfoVo.setMemberNum(memberNumInvite);
+                //下属团队总算力
+                int powerNum = ydOrderDao.selectAllPowerByMemberIdAndElse(phone);
+                teamInfoVo.setPowerNum(powerNum);
+            }
+        }
+        teamVo.setTeamInfoVos(records);
+        return Result.ok(teamVo);
+    }
+
 
     /**
      * 去加减币币账户余额,减少产品的剩余数目
diff --git a/src/main/java/com/xcong/excoin/modules/yunding/service/YunDingService.java b/src/main/java/com/xcong/excoin/modules/yunding/service/YunDingService.java
index 56fa6e4..d7a1a2b 100644
--- a/src/main/java/com/xcong/excoin/modules/yunding/service/YunDingService.java
+++ b/src/main/java/com/xcong/excoin/modules/yunding/service/YunDingService.java
@@ -32,4 +32,6 @@
     Result bugAgentLevel(BugAgentLeveldto bugAgentLeveldto);
 
     Result getXchPrice();
+
+    Result getTeamList(TeamInfoDto teamInfoDto);
 }
diff --git a/src/main/java/com/xcong/excoin/modules/yunding/vo/TeamInfoVo.java b/src/main/java/com/xcong/excoin/modules/yunding/vo/TeamInfoVo.java
new file mode 100644
index 0000000..18069dd
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/yunding/vo/TeamInfoVo.java
@@ -0,0 +1,20 @@
+package com.xcong.excoin.modules.yunding.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import io.swagger.annotations.ApiOperation;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "TeamInfoVo", description = "团队详情")
+public class TeamInfoVo {
+
+    @ApiModelProperty("账号")
+    private String invitephone;
+
+    @ApiModelProperty("人数")
+    private Integer memberNum;
+
+    @ApiModelProperty("购买算力")
+    private Integer powerNum;
+}
diff --git a/src/main/java/com/xcong/excoin/modules/yunding/vo/TeamVo.java b/src/main/java/com/xcong/excoin/modules/yunding/vo/TeamVo.java
new file mode 100644
index 0000000..a5943dc
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/yunding/vo/TeamVo.java
@@ -0,0 +1,23 @@
+package com.xcong.excoin.modules.yunding.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+@ApiModel(value = "TeamVo", description = "团队")
+public class TeamVo {
+
+    @ApiModelProperty("团队人数")
+    private Integer memberNum;
+
+    @ApiModelProperty("购买总算力")
+    private Integer allPower;
+
+    @ApiModelProperty("团队详情")
+    private List<TeamInfoVo> teamInfoVos;
+
+
+}
diff --git a/src/main/java/com/xcong/excoin/quartz/job/XchBaseDataUpdateJob.java b/src/main/java/com/xcong/excoin/quartz/job/XchBaseDataUpdateJob.java
index b33063c..4df1ca4 100644
--- a/src/main/java/com/xcong/excoin/quartz/job/XchBaseDataUpdateJob.java
+++ b/src/main/java/com/xcong/excoin/quartz/job/XchBaseDataUpdateJob.java
@@ -1,6 +1,8 @@
 package com.xcong.excoin.quartz.job;
 
 import cn.hutool.core.collection.CollUtil;
+import cn.hutool.http.HttpRequest;
+import cn.hutool.http.HttpUtil;
 import com.alibaba.fastjson.JSONObject;
 import com.xcong.excoin.modules.yunding.dao.YdBasicSettingDao;
 import com.xcong.excoin.modules.yunding.entity.YdBasicSettingEntity;
@@ -13,6 +15,7 @@
 import org.springframework.stereotype.Component;
 
 import java.io.BufferedReader;
+import java.io.IOException;
 import java.io.InputStream;
 import java.io.InputStreamReader;
 import java.math.BigDecimal;
@@ -35,15 +38,16 @@
     @Autowired
     private XchProfitService xchProfitService;
 
-    @Scheduled(cron = "0 0/1 * * * ? ")
+    @Scheduled(cron = "0 0 0/10 * * ? ")
+//    @Scheduled(cron = "0 0/1 * * * ? ")
     public void baseDataUpdate() {
         log.info("基础数据更新任务");
         // 请求价格等数据
-        String result = getUrlResponse("https://api2.chiaexplorer.com/blockchainSummary");
+        String result = execCurl("https://api2.chiaexplorer.com/blockchainSummary");
         // 每t预计收益
-        String profitPerT = getUrlResponse("https://api2.chiaexplorer.com/chart/xchTibDay?period=2w");
+        String profitPerT = execCurl("https://api2.chiaexplorer.com/chart/xchTibDay?period=2w");
 
-        String xchPrice24HStr = getUrlResponse("https://api2.chiaexplorer.com/chart/xchPriceChart?period=24h");
+        String xchPrice24HStr = execCurl("https://api2.chiaexplorer.com/chart/xchPriceChart?period=24h");
         JSONObject jsonObject = (JSONObject) JSONObject.parse(result);
         JSONObject perTObject = (JSONObject) JSONObject.parse(profitPerT);
         JSONObject xchPrice24HObj = (JSONObject) JSONObject.parse(xchPrice24HStr);
@@ -77,7 +81,7 @@
         String result = null;
         StringBuffer sbf = new StringBuffer();
         // 模拟浏览器
-        String userAgent = "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.66 Safari/537.36";
+        String userAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36";
         try {
             System.setProperty("https.protocols", "TLSv1,TLSv1.1,TLSv1.2");
             URL request = new URL(url);
@@ -115,4 +119,42 @@
         log.info("USDT返利任务");
 //        xchProfitService.agentUsdtProfitDistributor();
     }
+
+    public static void main(String[] args) {
+
+
+
+//        System.out.println(HttpRequest.get("https://www.chiaexplorer.com").execute().body());
+//        System.out.println(execCurl(cmds));
+    }
+
+    private String execCurl(String url) {
+        String[] cmds = {"curl", url
+                , "-H", "sec-ch-ua: \" Not A;Brand\";v=\"99\", \"Chromium\";v=\"90\", \"Google Chrome\";v=\"90\""
+                ,"-H", "Accept: application/json, text/plain, */*"
+                ,"-H", "Referer: https://www.chiaexplorer.com/"
+                ,"-H", "sec-ch-ua-mobile: ?0"
+                ,"-H", "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36"
+                ," --compressed"};
+
+        ProcessBuilder process = new ProcessBuilder(cmds);
+        Process p;
+        try {
+            p = process.start();
+            BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream()));
+            StringBuilder builder = new StringBuilder();
+            String line;
+            while ((line = reader.readLine()) != null) {
+                builder.append(line);
+                builder.append(System.getProperty("line.separator"));
+            }
+            return builder.toString();
+
+        } catch (IOException e) {
+            System.out.print("error");
+            e.printStackTrace();
+        }
+        return null;
+    }
+
 }
diff --git a/src/main/resources/application-test.yml b/src/main/resources/application-test.yml
index 6f0a502..b7c1130 100644
--- a/src/main/resources/application-test.yml
+++ b/src/main/resources/application-test.yml
@@ -48,7 +48,7 @@
   ## redis配置
   redis:
     ## Redis数据库索引(默认为0)
-    database: 3
+    database: 4
     ## Redis服务器地址
     host: 121.37.162.173
     ## Redis服务器连接端口
diff --git a/src/main/resources/mapper/yunding/YdOrderDao.xml b/src/main/resources/mapper/yunding/YdOrderDao.xml
index b74d39f..5ae37ff 100644
--- a/src/main/resources/mapper/yunding/YdOrderDao.xml
+++ b/src/main/resources/mapper/yunding/YdOrderDao.xml
@@ -103,4 +103,25 @@
                 today_profit=#{profit}
         where id=#{id}
     </update>
+
+    <select id="selectAllPowerByMemberIdAndElse" resultType="java.lang.Integer">
+        select ifnull(sum(quantity),0) from yd_order where type = 1 and member_id in (
+            select id from member
+            where find_in_set(#{inviteId}, referer_ids) or invite_id=#{inviteId}
+            )
+    </select>
+
+    <select id="getTeamInfoList" resultType="com.xcong.excoin.modules.yunding.vo.TeamInfoVo">
+        SELECT
+            a.invite_id invitephone
+        FROM
+            member a
+        WHERE
+            a.referer_id = #{record.inviteId}
+    </select>
+
+    <select id="selectMemberByInviteId" resultType="com.xcong.excoin.modules.member.entity.MemberEntity">
+        select * from member
+        where find_in_set(#{inviteId}, referer_ids) or invite_id=#{inviteId}
+    </select>
 </mapper>
\ No newline at end of file
diff --git a/src/test/java/com/xcong/excoin/XchTest.java b/src/test/java/com/xcong/excoin/XchTest.java
index c87176f..b3438a9 100644
--- a/src/test/java/com/xcong/excoin/XchTest.java
+++ b/src/test/java/com/xcong/excoin/XchTest.java
@@ -1,8 +1,11 @@
 package com.xcong.excoin;
 
 
+import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.date.DateUnit;
 import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.xcong.excoin.modules.coin.parameter.dto.CoinInListDto;
 import com.xcong.excoin.modules.coin.service.CoinService;
 import com.xcong.excoin.modules.yunding.dao.YdOrderDao;
@@ -14,12 +17,16 @@
 import org.springframework.boot.test.context.SpringBootTest;
 
 import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
 
 @SpringBootTest
 public class XchTest {
 
     @Autowired
     private XchProfitService xchProfitService;
+    @Autowired
+    private YdOrderDao ydOrderDao;
 
     @Test
     public void usdtReturnTest() {
@@ -34,13 +41,26 @@
     }
 
     @Test
-    public void becomeAgentTest() {
-        xchProfitService.autoBeAgent(40L);
+    public void orderWork() {
+        QueryWrapper<YdOrderEntity> objectQueryWrapper = new QueryWrapper<>();
+        objectQueryWrapper.eq("state",YdOrderEntity.ORDER_STATE_READY);
+        objectQueryWrapper.eq("type",YdOrderEntity.PRODUCT_ORDER);
+        List<YdOrderEntity> ydOrderEntities = ydOrderDao.selectList(objectQueryWrapper);
+        Date date = new Date();
+        if(CollUtil.isNotEmpty(ydOrderEntities)){
+            for(YdOrderEntity ydOrderEntity : ydOrderEntities){
+                Date workTime = ydOrderEntity.getWorkTime();
+                if(ObjectUtil.isNotEmpty(workTime) && DateUtil.compare(date, workTime) > -1){
+                    Long id = ydOrderEntity.getId();
+                    ydOrderDao.UpdateByIdAndState(id,YdOrderEntity.ORDER_STATE_WORK);
+                }
+            }
+        }
     }
 
     @Test
     public void orderUsdtProfitTest() {
-        xchProfitService.usdtProfitDistributorByOrderId(1L);
+        xchProfitService.usdtProfitDistributorByOrderId(17L);
     }
 //
 //    @Autowired
@@ -51,8 +71,6 @@
 //        ydPowerJob.orderWork();
 //    }
 
-    @Autowired
-    private YdOrderDao ydOrderDao;
 
     @Test
     public void orderTest() {

--
Gitblit v1.9.1