index.ts 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266
  1. import APP from '@/services';
  2. import { getAccoutIdList } from '@/services/bus/account';
  3. import { buildProtoReq50, parseProtoRsp50 } from '@/services/socket/protobuf/buildReq';
  4. import { Callback } from '@/utils/websocket/index';
  5. import * as type from './interface/index';
  6. import { BuildInMoneyReq } from './interface/index';
  7. /**
  8. * 构建出金请求包的方法
  9. */
  10. export function buildOutMoney(param: type.buildOutMoneyReqParam) {
  11. return new Promise((resolve, reject) => {
  12. const params = {
  13. protobufName: 't2bBankWithdrawReq',
  14. funCodeName: 't2bBankWithdrawReq',
  15. reqParams: {
  16. ExtOperatorID: Date.now(), // 外部操作流水号
  17. ExchId: '', // 交易所编号
  18. Currency: 'RMB', // 币种
  19. BankChildAccount: '', // 银行子账号
  20. BankChildAccountName: '', // 银行子账号名
  21. OpenCardBankId: '', // 银行卡行号
  22. AppDateTime: null, // 申请日期和时间
  23. Desc: '', // 备注
  24. IdentifyCode: null, // 验证码
  25. BranchBankName: null, // 收款支行名称
  26. Remark: '', // 备注
  27. ExchTicket: '', // 交易所流水号
  28. },
  29. };
  30. // Object.assign(params.reqParams, param, { OldTaPWD: sha256.hex(param.OldTaPWD) });
  31. Object.assign(params.reqParams, param);
  32. const package50 = buildProtoReq50(params);
  33. APP.sendTradingServer(package50, undefined, {
  34. onSuccess: (res) => {
  35. const { isSuccess, result } = parseProtoRsp50(res, 't2bBankWithdrawRsp');
  36. if (isSuccess) {
  37. resolve('ok');
  38. } else {
  39. reject(result);
  40. }
  41. },
  42. onFail: (err) => {
  43. reject(err.message)
  44. },
  45. } as Callback);
  46. });
  47. }
  48. /**
  49. * 构建入金请求包的方法
  50. * @param param
  51. * @returns
  52. */
  53. export function buildInMoney(param: BuildInMoneyReq) {
  54. return new Promise((resolve, reject) => {
  55. const params = {
  56. protobufName: 't2bBankDepositReq',
  57. funCodeName: 't2bBankDepositReq',
  58. reqParams: {
  59. ExtOperatorID: Date.now(), // 外部操作流水号
  60. ExchId: '', // 交易所编号
  61. Currency: 'RMB', // 币种
  62. BankChildAccount: '', // 银行子账号
  63. BankChildAccountName: '', // 银行子账号名
  64. OpenCardBankId: '', // 银行卡行号
  65. AppDateTime: null, // 申请日期和时间
  66. Desc: '', // 备注
  67. IdentifyCode: null, // 验证码
  68. BranchBankName: null, // 收款支行名称
  69. Remark: '', // 备注
  70. ExchTicket: '', // 交易所流水号
  71. },
  72. };
  73. // Object.assign(params.reqParams, param, { OldTaPWD: sha256.hex(param.OldTaPWD) });
  74. Object.assign(params.reqParams, param);
  75. const package50 = buildProtoReq50(params);
  76. APP.sendTradingServer(package50, undefined, {
  77. onSuccess: (res) => {
  78. const { isSuccess, result } = parseProtoRsp50(res, 't2bBankDepositRsp');
  79. if (isSuccess) {
  80. resolve('ok');
  81. } else {
  82. reject(result);
  83. }
  84. },
  85. onFail: (err) => {
  86. reject(err.message)
  87. },
  88. } as Callback);
  89. });
  90. }
  91. /**
  92. * 签约请求
  93. */
  94. export const requestBankSign = (param: type.t2bBankSignReq): Promise<type.t2bBankSignRsp[]> => {
  95. return new Promise((resolve, reject) => {
  96. const params = {
  97. protobufName: 't2bBankSignReq',
  98. funCodeName: 't2bBankSignReq',
  99. reqParams: Object.assign(
  100. {
  101. ExtOperatorID: new Date().getTime(), // 外部操作流水号
  102. ExchTicket: '', // 交易所流水号
  103. },
  104. param
  105. ),
  106. };
  107. const package50 = buildProtoReq50(params);
  108. APP.sendTradingServer(package50, undefined, {
  109. onSuccess: (res) => {
  110. const { isSuccess, result } = parseProtoRsp50(res, 't2bBankSignRsp');
  111. if (isSuccess) {
  112. resolve(result);
  113. } else {
  114. reject(result);
  115. }
  116. },
  117. onFail: (err) => reject(err.message),
  118. } as Callback);
  119. });
  120. };
  121. /**
  122. * 解约签约请求
  123. */
  124. export const requestBankCancelSign = (param: type.t2bBankCancelSignReq): Promise<type.t2bBankCancelSignRsp[]> => {
  125. return new Promise((resolve, reject) => {
  126. const params = {
  127. protobufName: 't2bBankCancelSignReq',
  128. funCodeName: 't2bBankCancelSignReq',
  129. reqParams: Object.assign(
  130. {
  131. ExtOperatorID: new Date().getTime(), // 外部操作流水号
  132. ExchTicket: '', // 交易所流水号
  133. },
  134. param
  135. ),
  136. };
  137. const package50 = buildProtoReq50(params);
  138. APP.sendTradingServer(package50, undefined, {
  139. onSuccess: (res) => {
  140. const { isSuccess, result } = parseProtoRsp50(res, 't2bBankCancelSignRsp');
  141. if (isSuccess) {
  142. resolve(result);
  143. } else {
  144. reject(result);
  145. }
  146. },
  147. onFail: (err) => reject(err.message),
  148. } as Callback);
  149. });
  150. };
  151. /**
  152. * 已签约信息查询请求
  153. */
  154. export const queryBankCustomerSign = (): Promise<type.BankAccountSign[]> => {
  155. return new Promise((resolve, reject) => {
  156. const params = {
  157. protobufName: 'BankSignReq',
  158. funCodeName: 'BankSignReq',
  159. reqParams: {
  160. AccountID: Number(getAccoutIdList()),
  161. },
  162. };
  163. const package50 = buildProtoReq50(params);
  164. APP.sendTradingServer(package50, undefined, {
  165. onSuccess: (res) => {
  166. const { isSuccess, result } = parseProtoRsp50(res, 'BankSignRsp');
  167. if (isSuccess) {
  168. resolve(result.BankSign);
  169. } else {
  170. reject(result);
  171. }
  172. },
  173. onFail: (err) => reject(err.message),
  174. } as Callback);
  175. });
  176. };
  177. /**
  178. * 获取托管银行信息
  179. */
  180. export const queryCusBankInfo = (): Promise<type.CusBankInfoRsp> => {
  181. return new Promise((resolve, reject) => {
  182. const params = {
  183. statement: 'QueryBankCusBankInfo',
  184. params: {},
  185. };
  186. const package50 = buildProtoReq50(params);
  187. APP.sendTradingServer(package50, undefined, {
  188. onSuccess: (res) => {
  189. const { isSuccess, result } = parseProtoRsp50(res);
  190. if (isSuccess) {
  191. resolve(result);
  192. } else {
  193. reject(result);
  194. }
  195. },
  196. onFail: (err) => {
  197. reject(err.message);
  198. },
  199. } as Callback);
  200. });
  201. };
  202. /**
  203. * 商城查询托管银行支持银行
  204. */
  205. export const queryBankInfo = (cusBankId: number): Promise<any> => {
  206. return new Promise((resolve, reject) => {
  207. const params = {
  208. statement: 'QueryBankInfo',
  209. params: { cusBankId },
  210. };
  211. const package50 = buildProtoReq50(params);
  212. APP.sendTradingServer(package50, undefined, {
  213. onSuccess: (res) => {
  214. const { isSuccess, result } = parseProtoRsp50(res);
  215. if (isSuccess) {
  216. resolve(result);
  217. } else {
  218. reject(result);
  219. }
  220. },
  221. onFail: (err) => {
  222. reject(err.message);
  223. },
  224. } as Callback);
  225. });
  226. };
  227. /**
  228. * 查询出入金明细信息
  229. */
  230. export const queryQueryBankInOut = (beginDate: string, endDate: string): Promise<any> => {
  231. const param = {
  232. AccountId: getAccoutIdList(),
  233. beginDate,
  234. endDate,
  235. }
  236. console.log(param);
  237. return new Promise((resolve, reject) => {
  238. const params = {
  239. statement: 'SearchClientMoneyOutIn',
  240. params: param,
  241. };
  242. const package50 = buildProtoReq50(params);
  243. APP.sendTradingServer(package50, undefined, {
  244. onSuccess: (res) => {
  245. const { isSuccess, result } = parseProtoRsp50(res);
  246. if (isSuccess) {
  247. resolve(result);
  248. } else {
  249. reject(result);
  250. }
  251. },
  252. onFail: (err) => {
  253. reject(err.message);
  254. },
  255. } as Callback);
  256. });
  257. };