xiaoyong931011
2021-03-30 c428522a1d47199b30acf4522a33c88f54180fdd
src/main/java/com/xcong/excoin/modules/contract/service/impl/RabbitOrderServiceImpl.java
@@ -6,9 +6,11 @@
import com.alibaba.fastjson.JSONObject;
import com.xcong.excoin.common.contants.AppContants;
import com.xcong.excoin.common.enumerates.CoinTypeEnum;
import com.xcong.excoin.common.enumerates.MemberWalletCoinEnum;
import com.xcong.excoin.common.enumerates.OrderClosingTypeEnum;
import com.xcong.excoin.common.system.service.CommonService;
import com.xcong.excoin.modules.coin.entity.MemberAccountFlowEntity;
import com.xcong.excoin.modules.coin.entity.MemberAccountMoneyChange;
import com.xcong.excoin.modules.contract.dao.ContractEntrustOrderDao;
import com.xcong.excoin.modules.contract.dao.ContractHoldOrderDao;
import com.xcong.excoin.modules.contract.dao.ContractOrderDao;
@@ -113,7 +115,14 @@
                    List<ContractHoldOrderEntity> holdOrderEntities = contractHoldOrderDao.selectBatchIds(ids);
                    if (CollUtil.isNotEmpty(holdOrderEntities)) {
                        for (ContractHoldOrderEntity holdOrder : holdOrderEntities) {
                            cancelHoldOrderMethod(holdOrder);
                            // 判断仓位类型是否逐仓
                            if (holdOrder.getPositionType() == ContractEntrustOrderEntity.POSITION_TYPE_ADD) {
                                // 逐仓平仓
                                cancelHoldOrderMethod(holdOrder);
                            } else {
                                // 全仓模式平仓
                                closingWholeOrder(holdOrder);
                            }
                        }
                    }
                }
@@ -186,13 +195,24 @@
                        memberWalletContractDao.increaseWalletContractBalanceById(returnMoney, returnMoney, null, traderWallet.getId());
                        insertReturnProfitDetail(traderInfoEntity.getMemberId(), memberEntity.getId(), returnMoney, holdOrderEntity.getOrderNo());
                        //增加返佣提醒
                        String orderNo = holdOrderEntity.getOrderNo();
                        LogRecordUtils.insertFollowerNotice(traderInfoEntity.getMemberId(),
                                NoticeConstant.RETURN_MONEY_TITLE,
                                StrUtil.format(NoticeConstant.RETURN_MONEY_CONTENT,
                                        memberEntity.getInviteId(),
                                        orderNo,
                                        returnMoney.setScale(2, BigDecimal.ROUND_HALF_UP).toString()));
//                        String orderNo = holdOrderEntity.getOrderNo();
//                        LogRecordUtils.insertFollowerNotice(traderInfoEntity.getMemberId(),
//                                NoticeConstant.RETURN_MONEY_TITLE,
//                                StrUtil.format(NoticeConstant.RETURN_MONEY_CONTENT,
//                                        orderNo,
//                                      holdOrderEntity.getSymbol(),
//                                        returnMoney.setScale(2, BigDecimal.ROUND_HALF_UP).toString()));
//                        //带单返利的记录要在资产页面的其他记录
//                        LogRecordUtils.insertMemberAccountMoneyChange(
//                              traderInfoEntity.getMemberId(),
//                                StrUtil.format(NoticeConstant.RETURN_MONEY_CONTENT_MAMC,
//                                        orderNo,
//                                      holdOrderEntity.getSymbol(),
//                                        returnMoney.setScale(2, BigDecimal.ROUND_HALF_UP).toString()),
//                              returnMoney.setScale(2, BigDecimal.ROUND_HALF_UP),
//                              MemberWalletCoinEnum.WALLETCOINCODE.getValue(),
//                              MemberAccountMoneyChange.STATUS_SUCCESS_INTEGER,
//                              MemberAccountMoneyChange.TYPE_WALLET_AGENT);
                    }
                }
            }
@@ -286,6 +306,11 @@
            // 获取平仓张数
            Integer closeCnt = (Integer) redisUtils.get(AppContants.CLOSING_ORDER_PREFIX + holdOrderEntity.getId());
            // 无法从redis中获取平仓张数,说明来自一键平仓
            if (closeCnt == null) {
                closeCnt = holdOrderEntity.getSymbolCntSale();
                holdOrderEntity.setSymbolCntSale(0);
            }
            MemberSettingEntity memberSettingEntity = memberSettingDao.selectMemberSettingByMemberId(memberEntity.getId());
            // 开多