From 65f792e975b7ff985bf42003ceb49245904288b2 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Wed, 31 Mar 2021 11:32:11 +0800
Subject: [PATCH] 20210331  返利记录的修改

---
 src/main/java/com/xcong/excoin/modules/documentary/dao/FollowFollowerOrderRelationDao.java           |    1 
 src/main/java/com/xcong/excoin/modules/documentary/service/impl/FollowOrderOperationServiceImpl.java |   75 ++++++++++++++++++++-----------------
 src/main/resources/mapper/documentary/FollowFollowerOrderRelationDao.xml                             |    7 +++
 3 files changed, 48 insertions(+), 35 deletions(-)

diff --git a/src/main/java/com/xcong/excoin/modules/documentary/dao/FollowFollowerOrderRelationDao.java b/src/main/java/com/xcong/excoin/modules/documentary/dao/FollowFollowerOrderRelationDao.java
index cbbc8ac..988db4a 100644
--- a/src/main/java/com/xcong/excoin/modules/documentary/dao/FollowFollowerOrderRelationDao.java
+++ b/src/main/java/com/xcong/excoin/modules/documentary/dao/FollowFollowerOrderRelationDao.java
@@ -18,6 +18,7 @@
 	FollowFollowerOrderRelationEntity selectNowOneByorderId(@Param("orderId")Long orderId);
 
 	List<FollowFollowerOrderRelationEntity> selectFollowHoldOrderByTradeOrderNo(@Param("orderNo") String orderNo);
+	List<FollowFollowerOrderRelationEntity> selectFollowOrderByTradeOrderNo(@Param("orderNo") String orderNo);
 
 	BigDecimal selectTraderTotalProfit(@Param("memberId") Long memberId);
 	BigDecimal selectTraderTotalProfitSelf(@Param("memberId") Long memberId);
diff --git a/src/main/java/com/xcong/excoin/modules/documentary/service/impl/FollowOrderOperationServiceImpl.java b/src/main/java/com/xcong/excoin/modules/documentary/service/impl/FollowOrderOperationServiceImpl.java
index a081a3e..db40238 100644
--- a/src/main/java/com/xcong/excoin/modules/documentary/service/impl/FollowOrderOperationServiceImpl.java
+++ b/src/main/java/com/xcong/excoin/modules/documentary/service/impl/FollowOrderOperationServiceImpl.java
@@ -264,47 +264,52 @@
     public void closingFollowOrders(String orderNo) {
         List<FollowFollowerOrderRelationEntity> orderRelations = followFollowerOrderRelationDao.selectFollowHoldOrderByTradeOrderNo(orderNo);
         if (CollUtil.isNotEmpty(orderRelations)) {
-            List<Long> orderIds = new ArrayList<>();
             for (FollowFollowerOrderRelationEntity orderRelation : orderRelations) {
                 List<Long> ids= new ArrayList<>();
                 ids.add(orderRelation.getOrderId());
-                orderIds.add(orderRelation.getOrderId());
                 rabbitOrderService.cancelHoldOrder(ids);
             }
-            if(CollUtil.isNotEmpty(orderIds)){
-                //获取对应的平仓记录单号
-                List<String> orderNosList = new ArrayList<>();
-
-                for(Long orderId : orderIds) {
-                    String orderNos = contractOrderDao.selectOrderNoByOrderIds(orderId);
-                    ContractOrderEntity contractOrderEntity = contractOrderDao.selectById(orderId);
-                    orderNosList.add(orderNos);
+            //生成返利记录和资金变化记录
+            List<FollowFollowerOrderRelationEntity> orderRelationDone = followFollowerOrderRelationDao.selectFollowOrderByTradeOrderNo(orderNo);
+            if(CollUtil.isNotEmpty(orderRelationDone)) {
+            	List<Long> orderIds = new ArrayList<>();
+            	for (FollowFollowerOrderRelationEntity orderRelationd : orderRelationDone) {
+                    orderIds.add(orderRelationd.getOrderId());
                 }
-                //获取总返佣
-                BigDecimal totalAmount = followTraderProfitDetailDao.selectFollowHoldOrderByFollowOrderNo(orderNosList);
-                totalAmount = (totalAmount == null?BigDecimal.ZERO:totalAmount.setScale(2, BigDecimal.ROUND_DOWN));
-                if(totalAmount.compareTo(BigDecimal.ZERO) > 0){
-                    //增加返佣提醒
-                    String symbol = contractOrderDao.selectById(orderIds.get(0)).getSymbol();
-                    String orderNoTrader = orderRelations.get(0).getTradeOrderNo();
-                    Long traderMemberId = orderRelations.get(0).getTradeMemberId();
-                    LogRecordUtils.insertFollowerNotice(traderMemberId,
-                            NoticeConstant.RETURN_MONEY_TITLE,
-                            StrUtil.format(NoticeConstant.RETURN_MONEY_CONTENT,
-                                    orderNoTrader,
-                                    symbol,
-                                    totalAmount));
-                    //带单返利的记录要在资产页面的其他记录
-                    LogRecordUtils.insertMemberAccountMoneyChange(
-                            traderMemberId,
-                            StrUtil.format(NoticeConstant.RETURN_MONEY_CONTENT_MAMC,
-                                    orderNoTrader,
-                                    symbol),
-                            totalAmount,
-                            MemberWalletCoinEnum.WALLETCOINCODE.getValue(),
-                            MemberAccountMoneyChange.STATUS_SUCCESS_INTEGER,
-                            MemberAccountMoneyChange.TYPE_WALLET_AGENT);
-                }
+            
+	            if(CollUtil.isNotEmpty(orderIds)){
+	                //获取对应的平仓记录单号
+	                List<String> orderNosList = new ArrayList<>();
+	                for(Long orderId : orderIds) {
+	                    String orderNos = contractOrderDao.selectOrderNoByOrderIds(orderId);
+	                    orderNosList.add(orderNos);
+	                }
+	                //获取总返佣
+	                BigDecimal totalAmount = followTraderProfitDetailDao.selectFollowHoldOrderByFollowOrderNo(orderNosList);
+	                totalAmount = (totalAmount == null?BigDecimal.ZERO:totalAmount.setScale(2, BigDecimal.ROUND_DOWN));
+	                if(totalAmount.compareTo(BigDecimal.ZERO) > 0){
+	                    //增加返佣提醒
+	                    String symbol = contractOrderDao.selectById(orderIds.get(0)).getSymbol();
+	                    String orderNoTrader = orderRelationDone.get(0).getTradeOrderNo();
+	                    Long traderMemberId = orderRelationDone.get(0).getTradeMemberId();
+	                    LogRecordUtils.insertFollowerNotice(traderMemberId,
+	                            NoticeConstant.RETURN_MONEY_TITLE,
+	                            StrUtil.format(NoticeConstant.RETURN_MONEY_CONTENT,
+	                                    orderNoTrader,
+	                                    symbol,
+	                                    totalAmount));
+	                    //带单返利的记录要在资产页面的其他记录
+	                    LogRecordUtils.insertMemberAccountMoneyChange(
+	                            traderMemberId,
+	                            StrUtil.format(NoticeConstant.RETURN_MONEY_CONTENT_MAMC,
+	                                    orderNoTrader.substring(8),
+	                                    symbol),
+	                            totalAmount,
+	                            MemberWalletCoinEnum.WALLETCOINCODE.getValue(),
+	                            MemberAccountMoneyChange.STATUS_SUCCESS_INTEGER,
+	                            MemberAccountMoneyChange.TYPE_WALLET_AGENT);
+	                }
+	            }
             }
         }
     }
diff --git a/src/main/resources/mapper/documentary/FollowFollowerOrderRelationDao.xml b/src/main/resources/mapper/documentary/FollowFollowerOrderRelationDao.xml
index 374d8e0..72cbfe5 100644
--- a/src/main/resources/mapper/documentary/FollowFollowerOrderRelationDao.xml
+++ b/src/main/resources/mapper/documentary/FollowFollowerOrderRelationDao.xml
@@ -33,6 +33,13 @@
 		and a.order_type=1
 	</select>
 
+	<select id="selectFollowOrderByTradeOrderNo" resultType="com.xcong.excoin.modules.documentary.entity.FollowFollowerOrderRelationEntity">
+		select a.*
+		from follow_follower_order_relation a, follow_follower_profit b
+		where a.trade_member_id=b.trade_member_id and a.trade_order_no=#{orderNo} and b.is_follow=1
+		  and a.order_type=2
+	</select>
+
 	<select id="selectTraderTotalProfit" resultType="java.math.BigDecimal">
 		select sum(b.reward_amount)
 		from follow_follower_order_relation a, contract_order b

--
Gitblit v1.9.1