transApi.ts 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285
  1. import { defHttp } from '@jeesite/core/utils/http/axios';
  2. import { useGlobSetting } from '@jeesite/core/hooks/setting';
  3. import {
  4. MoneyFlowGraphDTO,
  5. TransBigDTO,
  6. TransBigPageDTO,
  7. TransCashFlowSummaryPageDTO,
  8. TransCashKey,
  9. TransContinuousDTO,
  10. TransContinuousPageDTO,
  11. TransCardHoldDTO,
  12. TransCardHoldTogetherDTO,
  13. TransFastFundFlowDTO,
  14. TransFinancialDTO,
  15. TransFinancialPageDTO,
  16. TransFinancialKey,
  17. TransFixedDepositKey,
  18. TransFrequencyDTO,
  19. TransFrequencyPageDTO,
  20. TransFundFlowPageDTO,
  21. TransFundFlowPageItemDTO,
  22. TransPersonFixedDepositDTO,
  23. TransPersonFixedDepositDetailDTO,
  24. TransPersonFixedDepositDetailPageDTO,
  25. TransRecord,
  26. TransRecordPageDTO,
  27. TransRecordSummaryPageDTO,
  28. TransSensitiveDTO,
  29. TransSensitivePageDTO,
  30. } from './types/dto';
  31. import {
  32. MoneyFlowGraphQuery,
  33. TransBigQuery,
  34. TransCashFlowQuery,
  35. TransCardHoldQuery,
  36. TransCardHoldTogetherQuery,
  37. TransContinuousQuery,
  38. TransFastFundFlowQuery,
  39. TransFinancialQuery,
  40. TransFixedDepositQuery,
  41. TransFrequencyQuery,
  42. TransFundFlowQuery,
  43. TransRecordQuery,
  44. TransRecordSummaryQuery,
  45. TransSensitiveQuery,
  46. } from './types/query';
  47. import { Page } from '@jeesite/core/api/model/baseModel';
  48. const { adminPath } = useGlobSetting();
  49. // ==================== 现金关键字管理 ====================
  50. /**
  51. * 获取所有现金关键字列表
  52. */
  53. export const listCashKeys = () => defHttp.get<TransCashKey[]>({ url: adminPath + '/trans/cashKey/list' });
  54. /**
  55. * 创建或更新现金关键字
  56. */
  57. export const createOrUpdateCashKey = (data: TransCashKey) =>
  58. defHttp.postJson<void>({ url: adminPath + '/trans/cashKey/createOrUpdate', data });
  59. /**
  60. * 根据ID删除现金关键字
  61. */
  62. export const deleteCashKey = (id: string | number) =>
  63. defHttp.delete<void>({ url: adminPath + '/trans/cashKey/delete', params: { id } });
  64. // ==================== 金融理财关键字管理 ====================
  65. /**
  66. * 获取所有金融理财关键字列表
  67. */
  68. export const listFinancialKeys = () =>
  69. defHttp.get<TransFinancialKey[]>({ url: adminPath + '/trans/financialKey/list' });
  70. /**
  71. * 创建或更新金融理财关键字
  72. */
  73. export const createOrUpdateFinancialKey = (data: TransFinancialKey) =>
  74. defHttp.postJson<void>({ url: adminPath + '/trans/financialKey/createOrUpdate', data });
  75. /**
  76. * 根据ID删除金融理财关键字
  77. */
  78. export const deleteFinancialKey = (id: string | number) =>
  79. defHttp.delete<void>({ url: adminPath + '/trans/financialKey/delete', params: { id } });
  80. // ==================== 定期理财关键字管理 ====================
  81. /**
  82. * 获取所有定期理财关键字列表
  83. */
  84. export const listFixedDepositKeys = () =>
  85. defHttp.get<TransFixedDepositKey[]>({ url: adminPath + '/fixedDepositKey/list' });
  86. /**
  87. * 创建或更新定期理财关键字
  88. */
  89. export const createOrUpdateFixedDepositKey = (data: TransFixedDepositKey) =>
  90. defHttp.postJson<void>({ url: adminPath + '/fixedDepositKey/createOrUpdate', data });
  91. /**
  92. * 根据ID删除定期理财关键字
  93. */
  94. export const deleteFixedDepositKey = (id: number | string) =>
  95. defHttp.delete<void>({ url: adminPath + '/fixedDepositKey/delete', params: { id } });
  96. // ==================== 大额交易分析 ====================
  97. /**
  98. * 统计首层现金交易汇总信息
  99. */
  100. export const statFirstTransCashFlow = (data: TransCashFlowQuery) =>
  101. defHttp.postJson<TransCashFlowSummaryPageDTO>({ url: adminPath + '/trans/cashFlow/statFirstTransCashFlow', data });
  102. /**
  103. * 交易记录汇总查询(分页)
  104. */
  105. export const getTransRecordSummary = (data: TransRecordSummaryQuery) =>
  106. defHttp.postJson<TransRecordSummaryPageDTO>({ url: adminPath + '/dp/getTransRecordSummary', data });
  107. /**
  108. * 第一层级统计:按对手方汇总交易数据
  109. */
  110. export const statFirstTransBig = (data: TransBigQuery) =>
  111. defHttp.postJson<TransBigPageDTO | TransBigDTO[]>({ url: adminPath + '/trans/big/statFirstTransBig', data });
  112. /**
  113. * 第二层级统计:按日期聚合交易信息
  114. */
  115. export const statSecondTransBig = (data: TransBigQuery) =>
  116. defHttp.postJson<TransBigPageDTO | TransBigDTO[]>({ url: adminPath + '/trans/big/statSecondTransBig', data });
  117. /**
  118. * 第三层级统计:按日期分组展示交易明细
  119. */
  120. export const statThirdTransBig = (data: TransBigQuery) =>
  121. defHttp.postJson<TransBigDTO>({ url: adminPath + '/trans/big/statThirdTransBig', data });
  122. // ==================== 连续交易分析 ====================
  123. /**
  124. * 统计第一层连续交易情况
  125. */
  126. export const statFirstTransContinuous = (data: TransContinuousQuery) =>
  127. defHttp.postJson<TransContinuousPageDTO | TransContinuousDTO[]>({
  128. url: adminPath + '/trans/continuous/statFirstTransContinuous',
  129. data,
  130. });
  131. /**
  132. * 统计第二层连续交易情况
  133. */
  134. export const statSecondTransContinuous = (data: TransContinuousQuery) =>
  135. defHttp.postJson<TransContinuousPageDTO | TransContinuousDTO[]>({
  136. url: adminPath + '/trans/continuous/statSecondTransContinuous',
  137. data,
  138. });
  139. // ==================== 资金快转分析 ====================
  140. /**
  141. * 获取资金流向交易分页
  142. */
  143. export const getTransFundFlowPage = (data: TransFundFlowQuery) =>
  144. defHttp.postJson<Page<TransFundFlowPageItemDTO>>({
  145. url: adminPath + '/trans/fundsFlow/getTransFundFlowPage',
  146. data,
  147. });
  148. /**
  149. * 获取资金流向关系图
  150. */
  151. export const moneyFlowGraph = (data: MoneyFlowGraphQuery) =>
  152. defHttp.postJson<MoneyFlowGraphDTO>({
  153. url: adminPath + '/trans/fundsFlow/graph',
  154. data,
  155. });
  156. /**
  157. * 资金流向追溯
  158. */
  159. export const moneyFlowTrace = (data: MoneyFlowGraphQuery) =>
  160. defHttp.postJson<MoneyFlowGraphDTO>({
  161. url: adminPath + '/trans/fundsFlow/trace',
  162. data,
  163. });
  164. /**
  165. * 统计首次资金快转流水
  166. */
  167. export const statFirstTransFastFundFlow = (data: TransFastFundFlowQuery) =>
  168. defHttp.postJson<TransFastFundFlowDTO>({
  169. url: adminPath + '/trans/fastFundFlow/statFirstTransFastFundFlow',
  170. data,
  171. });
  172. // ==================== 银行卡代持分析 ====================
  173. /**
  174. * 统计多卡汇集关系
  175. */
  176. export const statTogetherDoTrans = (data: TransCardHoldTogetherQuery) =>
  177. defHttp.postJson<TransCardHoldTogetherDTO[]>({
  178. url: adminPath + '/trans/cardHold/statTogetherDoTrans',
  179. data,
  180. });
  181. /**
  182. * 统计异卡同特征关系
  183. */
  184. export const statTransCardHold = (data: TransCardHoldQuery) =>
  185. defHttp.postJson<TransCardHoldDTO>({
  186. url: adminPath + '/trans/cardHold/statTransCardHold',
  187. data,
  188. });
  189. // ==================== 交易频率分析 ====================
  190. /**
  191. * 统计首次交易频率信息
  192. */
  193. export const statFirstTransFrequency = (data: TransFrequencyQuery) =>
  194. defHttp.postJson<TransFrequencyPageDTO | TransFrequencyDTO[]>({
  195. url: adminPath + '/trans/frequency/statFirstTransFrequency',
  196. data,
  197. });
  198. // ==================== 敏感交易分析 ====================
  199. /**
  200. * 统计第一层敏感交易情况
  201. */
  202. export const statFirstTransSensitive = (data: TransSensitiveQuery) =>
  203. defHttp.postJson<TransSensitivePageDTO | TransSensitiveDTO[]>({
  204. url: adminPath + '/trans/sensitive/statFirstTransSensitive',
  205. data,
  206. });
  207. /**
  208. * 统计第二层敏感交易情况
  209. */
  210. export const statSecondTransSensitive = (data: TransSensitiveQuery) =>
  211. defHttp.postJson<TransRecordPageDTO | TransRecord[]>({
  212. url: adminPath + '/trans/sensitive/statSecondTransSensitive',
  213. data,
  214. });
  215. // ==================== 交易记录查询 ====================
  216. /**
  217. * 获取交易记录
  218. */
  219. export const getTransRecord = (data: TransRecordQuery) =>
  220. defHttp.postJson<TransRecordPageDTO | TransRecord[]>({ url: adminPath + '/trans/getTransRecord', data });
  221. // ==================== 交易金融分析 ====================
  222. /**
  223. * 统计首笔交易金融数据
  224. */
  225. export const statFirstTransFinancial = (data: TransFinancialQuery) =>
  226. defHttp.postJson<TransFinancialPageDTO>({ url: adminPath + '/trans/financial/statFirstTransFinancial', data });
  227. // ==================== 定期存款分析 ====================
  228. /**
  229. * 统计首层定期存款汇总信息
  230. */
  231. export const statFirstTransFixedDeposit = (data: TransFixedDepositQuery) =>
  232. defHttp.postJson<TransPersonFixedDepositDTO[]>({
  233. url: adminPath + '/trans/fixedDeposit/statFirstTransFixedDeposit',
  234. data,
  235. });
  236. /**
  237. * 统计第二层定期存款明细列表(分页)
  238. */
  239. export const statSecondTransFixedDepositList = (data: TransFixedDepositQuery) =>
  240. defHttp.postJson<TransPersonFixedDepositDetailPageDTO | TransPersonFixedDepositDetailDTO[]>({
  241. url: adminPath + '/trans/fixedDeposit/statSecondTransFixedDepositList',
  242. data,
  243. });