Commit 0798fe4a authored by ml's avatar ml

修改()todo

parent fa922b88
......@@ -43,5 +43,65 @@ export const assetDetails = async (req: any, commonParam: CommonParam) => {
}
};
/**
* 站内资金
* @param req
* @param commonParam
*/
export const siteAssets = async (req: any, commonParam: CommonParam) => {
let func_name = "assetCheck.control.siteAssets";
try {
setPageAndSize(commonParam);
let res = await assetCheckService.siteAssets(commonParam.page,commonParam.size);
return Res3Utils.result(res);
}
catch (e) {
logger.error(`${func_name} error:${e}`);
return Res3Utils.getErrorResult(e);
}
};
/**
* 实时充值记录
* @param req
* @param commonParam
*/
export const depositList = async (req: any, commonParam: CommonParam) => {
let func_name = "assetCheck.control.depositList";
try {
setPageAndSize(commonParam);
let res = await assetCheckService.siteAssets(commonParam.page,commonParam.size);
return Res3Utils.result(res);
}
catch (e) {
logger.error(`${func_name} error:${e}`);
return Res3Utils.getErrorResult(e);
}
};
/**
* 实时提现记录
* @param req
* @param commonParam
*/
export const withdrawList = async (req: any, commonParam: CommonParam) => {
let func_name = "assetCheck.control.withdrawList";
try {
setPageAndSize(commonParam);
let res = await assetCheckService.siteAssets(commonParam.page,commonParam.size);
return Res3Utils.result(res);
}
catch (e) {
logger.error(`${func_name} error:${e}`);
return Res3Utils.getErrorResult(e);
}
};
function setUidOrAddr(commonParam:CommonParam){
}
......@@ -12,6 +12,10 @@ export interface CommonParam {
to_time?: any,
query_type?: number//查询类型 1 现货 2 U本位合约 3 币本位合约 4 全部
uid_or_addr?: any//查询条件 用户id 或 充提地址
address?: any//查询条件 用户id 或 充提地址
}
export function setPageAndSize(commonParam: CommonParam) {
......
import { madAdminOrmDB, coinAddress, coinType, mainUserAsset, dwdSpotAssetsApi } from "@madex/ex-ts-dao";
import { madAdminOrmDB, coinAddress, coinType, mainUserAsset, dwdSpotAssetsApi, ormDB } from "@madex/ex-ts-dao";
import { getOneAbkUserByAccount, getOneAbkUserByUid, checkAbkTotp } from "../../../../utils/abkUserUtils";
import { ErrorCode } from "../../../../constant/errorCode";
import { AbkUserInfoConst } from "../../../../constant/abkUserConstant";
......@@ -6,6 +6,7 @@ import { CryptUtils } from "../../../../utils/crypt-utils";
import { RedisVal } from "../../../../constant/redis-val";
import Config from "../../../../../config";
import BigNumber from "bignumber.js";
import { it } from "node:test";
const Otplib = require('otplib');
......@@ -96,6 +97,33 @@ export async function assetDetails(user_id: any) {
}
export async function siteAssets(page: any, size: any) {
let pageData = await coinType.prototype.findAndCount({
attributes: ['symbol', 'chain_type'],
where: {
main_status: 2//已经提交到撮合
},
limit: size,
offset: (page - 1) * size,
order: [['id', 'asc']],
raw: true
});
if (!pageData.rows.length) {
return pageData;
}
let symbols = pageData.rows.map(item => item.symbol);
let [mainAssetsMap, tradeAssetsMap] = await Promise.all([getSiteMainAssetsBySymbols(symbols), getSiteTradeAssetsBySymbols(symbols)]);
for (let item of pageData.rows) {
let balance = new BigNumber(mainAssetsMap[item.symbol] || 0).add(new BigNumber(tradeAssetsMap[item.symbol] || 0));
item.balance = balance;
}
return pageData;
}
async function getCoinTypeMapByCoinOrAssetIds(coin_ids: any[], asset_ids?: any[]) {
let map: any = {};
let where: any = {};
......@@ -124,5 +152,39 @@ async function getCoinTypeMapByCoinOrAssetIds(coin_ids: any[], asset_ids?: any[]
return map;
}
async function getSiteMainAssetsBySymbols(symbols: any[]) {
let map: any = {};
let mainAssetsList = await mainUserAsset.prototype.findAll({
attributes: ['symbol', ormDB.literal('sum(balance) as balance'),
ormDB.literal('sum(holds) as holds'),],
where: {
symbol: symbols
},
group: ['symbol'],
raw: true
});
for (let item of mainAssetsList) {
map[item.symbol] = new BigNumber(item.balance).add(new BigNumber(item.holds));
}
return map;
}
async function getSiteTradeAssetsBySymbols(symbols: any[]) {
let map: any = {};
let tradeAssetsList = await dwdSpotAssetsApi.prototype.findAll({
attributes: ['asset_symbol', ormDB.literal('sum(balance) as balance'),
ormDB.literal('sum(unreal_profit) as unreal_profit'),],
where: {
asset_symbol: symbols
},
group: ['asset_symbol'],
raw: true
});
for (let item of tradeAssetsList) {
map[item.asset_symbol] = new BigNumber(item.balance).add(new BigNumber(item.unreal_profit));
}
return map;
}
......@@ -18,23 +18,25 @@ import Config from "../../../../config";
const postFunc = {
//账号管理
'abkUser/login': abkUserCtrl.login,
'abkUser/logout': abkUserCtrl.logout,
'abkUser/getInfo': abkUserCtrl.getInfo,
'abkUser/getInfoDetailByUserId': abkUserCtrl.getInfoDetailByUserId,
'abkUser/reset/totp': abkUserCtrl.resetTotp,
'abkUser/get/totp': abkUserCtrl.getTotp,
'abkUser/list': abkUserCtrl.userList,
'abkUser/updateStatus': abkUserCtrl.updateStatus,
'abkUser/addUser': abkUserCtrl.addAbkUser,
'abkUser/login': abkUserCtrl.login,//登陆
'abkUser/logout': abkUserCtrl.logout,//登出
'abkUser/getInfo': abkUserCtrl.getInfo,//当前登陆用户信息
'abkUser/getInfoDetailByUserId': abkUserCtrl.getInfoDetailByUserId,//用户信息详情
'abkUser/reset/totp': abkUserCtrl.resetTotp,//重置谷歌
'abkUser/get/totp': abkUserCtrl.getTotp,//获取谷歌
'abkUser/list': abkUserCtrl.userList,//用户列表
'abkUser/updateStatus': abkUserCtrl.updateStatus,//更新用户状态
'abkUser/addUser': abkUserCtrl.addAbkUser,//添加用户
//资产对账
'assetCheck/userAddrList': assetCheckCtrl.userAddrList,
'assetCheck/assetDetails': assetCheckCtrl.assetDetails,
'assetCheck/depositAndWithDraw': assetCheckCtrl.assetDetails,
'assetCheck/userAddrList': assetCheckCtrl.userAddrList,//用户地址
'assetCheck/assetDetails': assetCheckCtrl.assetDetails,//资产明细
'assetCheck/siteAssets': assetCheckCtrl.siteAssets,//站内资产
'assetCheck/depositList': assetCheckCtrl.depositList,//实时充值
'assetCheck/withdrawList': assetCheckCtrl.withdrawList,//实时提现
//收入分析
'abkFeeStatistics/home/gatherData': feeStatisticsCtrl.gatherData,
'abkFeeStatistics/getFeeData': feeStatisticsCtrl.getFeeData,
'abkFeeStatistics/withdrawData': feeStatisticsCtrl.withdrawData,
'abkFeeStatistics/home/gatherData': feeStatisticsCtrl.gatherData,//首页数据概览
'abkFeeStatistics/getFeeData': feeStatisticsCtrl.getFeeData,//平台、现货、合约 手续费查询
'abkFeeStatistics/withdrawData': feeStatisticsCtrl.withdrawData,//提现手续费
/*
'user/login/confirm': userOptCtrl.loginConfirm,
'user/bind/totp/ask': userOptCtrl.bindTotpAsk,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment