li.shaoyi 3 år sedan
förälder
incheckning
ff3c1497f6

+ 43 - 0
public/proto/mtp.proto

@@ -42,6 +42,20 @@ message NotifyHead {
 		repeated uint32 MemberIDs = 4; // 目标会员集合(若匹配所属会员,推送)
 		repeated uint64 AccountIDs = 5; // 目标账号集合(以上均不匹配时,最后检查此集合)
 }
+// 平仓单平仓明细 0 2 7
+message ArrayCloseInfo {
+	optional uint64 ClosedOrderID = 1; // uint64 被平持仓单ID
+	optional uint64 ClosedQty = 2; // uint64 被平仓数量
+	optional double ClosePL = 3; // double 平仓盈亏
+	optional double RlsUsedMargin = 4; // double 释放的占用保证金
+	optional double TradeCharge = 5; // double 平仓手续费
+	optional double WareHouseCharge = 6; // double 仓单服务费
+	optional double TradeAmount = 7; // double 成交金额
+	optional string OpenTime = 8; // string 开仓时间(对冲接口用)
+	optional double OpenPrice = 9; // double 开仓价格(对冲接口用)
+	optional uint64 MatchAccountID = 10; // uint64 对手方资金账号代码
+	optional double RealClosePL = 11; // double 实际盈亏
+}
 // 公共通知消息
 message CommonNtf {
 	optional MessageHead Header = 1; // 消息头
@@ -565,6 +579,35 @@ message OrderCanceledNtf {
 		optional uint64 CancelQty = 6; // uint64 撤销数量
 		optional uint32 OrderStatus = 7; // uint32 单据状态
 }
+// 委托单成交通知 0 2 9
+message OrderDealedNtf {
+	optional MessageHead Header = 1; // MessageHead
+	optional NotifyHead NtfHeader = 2; // NotifyHead 公共消息头
+	optional uint64 OrderID = 3; // uint64 一级生成的订单号
+	optional string ClientSerialNo = 4; // string 客户端流水号
+	optional uint32 GoodsID = 5; // uint32 原始委托商品代码
+	optional uint64 TradeQty = 6; // uint64 成交数量
+	optional double Amount = 7; // double 成交金额
+	optional uint64 ActiveQty = 8; // uint64 激活数量,即剩余数量
+	optional uint32 OrderStatus = 9; // uint32 单据状态
+	optional uint64 TradeID = 10; // uint64 成交ID
+	optional uint64 AccountID = 11; // uint64 资金账号代码
+	optional double TradePrice = 12; // double 成交价格
+	optional uint32 BuyOrSell = 13; // uint32 买卖方向
+	optional uint64 OrderQty = 14; // uint64 委托数量
+	optional uint32 OrderType = 15; // uint32 订单类型
+	optional string TradeTime = 16; // string 成交时间
+	repeated ArrayCloseInfo CloseInfos = 17; // ArrayCloseInfo 平仓信息
+	optional uint32 SpecialAccount = 18; // uint32 特别会员账号
+	optional double TradeCharge = 19; // double 成交手续费
+	optional double WareHouseCharge = 20; // double 仓单服务费
+	optional double UsedMargin = 21; // double 占用保证金
+	optional uint32 OperatorID = 22; // uint32 操作员账号ID
+	optional uint32 MemberID = 23; // uint32 会员账号,会员系统平仓使用
+	optional uint64 MatchAccountID = 24; // uint64 对手方资金账号代码
+	optional uint32 BuildType = 25; // uint32 下单类型
+	optional uint32 CloseType = 26; // uint32 平仓类型
+}
 // 出金请求
 message t2bBankWithdrawReq {
 	optional MessageHead Header = 1;

+ 1 - 1
src/common/methods/request/resultInfo.ts

@@ -64,7 +64,7 @@ export async function requestResultLoadingAndInfo(fn: any, param: any, loading:
                 message.success(msg)
                 resolve('ok');
             } else {
-                console.warn(`${fn}调用失败: ${err}`);
+                //console.warn(`${fn}调用失败: ${err}`);
                 const temp = errInfo + err
                 message.error(temp)
                 reject(temp)

+ 1 - 1
src/hooks/account/index.ts

@@ -23,7 +23,7 @@ const tradePositionList: TradePosition[] = reactive([]);
 const tradeAccount = ref<TradeAccount>();
 
 /**
- * 资金账户
+ * 资金账户-------------------------------------------------------待优化2022.02.11
  */
 export function useTradeAccount() {
     // 获取资金账户列表

+ 6 - 1
src/layout/components/bottom.vue

@@ -53,11 +53,16 @@ export default defineComponent({
     const selectedAccount = getSelectedAccount();
     const selectedAccountId = ref(selectedAccount.accountid || undefined);
 
-    // 资金变化,重新加载数据
+    // 资金变化,重新加载数据----------------------待优化,资金和头寸同时通知会导致多次请求
     Bus.$on('moneyChangedNtf_UI', () => {
       getTradeAccountList();
     });
 
+    // 头寸变化,重新加载数据----------------------待优化,资金和头寸同时通知会导致多次请求
+    Bus.$on('posChangedNtf_UI', () => {
+      getTradeAccountList();
+    });
+
     // 控制资金面板是否显示在左边
     const isCapitalLeft = ref<boolean>(true);
     initData(() => {

+ 1 - 0
src/services/funcode/index.ts

@@ -64,6 +64,7 @@ export const funCode: Code = {
 
     // 交易通知
     OrderCanceledNtf: 131084, // 委托单撤单通知
+    OrderDealedNtf: 131081, // 委托单成交通知
     CustOfflineNtf: 131074, // 客户离线通知
     PosChangedNtf: 131075, // 头寸变化通知
     MoneyChangedNtf: 131076, // 资金变化通知

+ 4 - 0
src/services/index.ts

@@ -202,6 +202,10 @@ export default new (class LifeCycleCtr {
                     // 接收到委托单撤单通知
                     eventBus.$emit('orderCanceledNtf', noticeParseRsp(msg, 'OrderCanceledNtf'));
                     break;
+                case funCode.OrderDealedNtf:
+                    // 接收到委托单成交通知
+                    eventBus.$emit('orderDealedNtf', noticeParseRsp(msg, 'OrderDealedNtf'));
+                    break;
                 default:
                     msg.funCode !== 0 && console.warn({ msg: '接收到通知:' + msg.funCode });
                     break;

+ 1 - 2
src/services/socket/protobuf/buildReq.ts

@@ -10,7 +10,6 @@ import * as type from './interface';
 import { CommonSearchParam, ParseRsp, SoleSearchParam } from './interface';
 import { IMessageHead } from './proto.d';
 import { getProtoHeadParam, HeadEnum } from './protoHeader';
-import { parseBase64 } from '@/utils/storage/base64/index';
 
 /**
  * 构建proto50 报文
@@ -187,7 +186,7 @@ function parseSoleProtoRsp(rspPackage: any, funCodeName: string): ParseRsp {
     const reqPackage = ProtobufCtr.generateProtoContent(funCodeName, rspPackage.content);
     const { RetCode, Status, RetDesc } = reqPackage;
 
-    console.log('Protobuf回调==================================================================', reqPackage)
+    console.log('protobuf回调===================================================================================', reqPackage)
 
     if (RetCode !== null) {
         if (RetCode === 0) {

+ 1 - 0
src/utils/eventBus/index.ts

@@ -24,6 +24,7 @@ interface EnentNamesOnlyOneValue {
     bargain: string; // 议价单
 
     orderCanceledNtf: string; //接收到委托单撤单通知
+    orderDealedNtf: string; //接收到委托单成交通知
     quoteReceiveNtf: string; // 接收实时行情推送
 }
 // 事件触发器