| | |
| | | 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; |
| | |
| | | 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); |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | 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); |
| | | } |
| | | } |
| | | } |
| | |
| | | if (MemberEntity.IS_TRADER_Y.equals(memberEntity.getIsTrader())) { |
| | | followOrderOperationService.closingFollowOrders(holdOrderEntity.getOrderNo()); |
| | | } else { |
| | | followFollowerProfitDao.updateFollowerProfitByTradeMemberId(holdOrderEntity.getBondAmount(), profitOrLoss, traderInfoEntity.getMemberId(), memberEntity.getId()); |
| | | //followFollowerProfitDao.updateFollowerProfitByTradeMemberId(holdOrderEntity.getBondAmount(), profitOrLoss, traderInfoEntity.getMemberId(), memberEntity.getId()); |
| | | LogRecordUtils.insertFollowerNotice(memberEntity.getId(), NoticeConstant.CLOSE_ORDER_TITLE, StrUtil.format(NoticeConstant.CLOSE_ORDER_CONTENT, contractOrderEntity.getSymbol(), contractOrderEntity.getClosingPrice().setScale(2, BigDecimal.ROUND_HALF_UP).toString(), profitOrLoss.setScale(2, BigDecimal.ROUND_HALF_UP).toString(), traderInfoEntity.getNickname())); |
| | | } |
| | | } |
| | |
| | | |
| | | // 获取平仓张数 |
| | | 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()); |
| | | // 开多 |