feat: 社区模块
This commit is contained in:
5
src/common/constant.js
Normal file
5
src/common/constant.js
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
'use strict';
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
USDTAddr: '0xdac17f958d2ee523a2206206994597c13d831ec7'
|
||||||
|
};
|
||||||
@@ -2,8 +2,8 @@
|
|||||||
// 该脚本只用于系统账户对用户进行提现转账
|
// 该脚本只用于系统账户对用户进行提现转账
|
||||||
const { ERC20 } = require('../utils/erc20');
|
const { ERC20 } = require('../utils/erc20');
|
||||||
const { inject } = require('./Provider');
|
const { inject } = require('./Provider');
|
||||||
|
const { USDTAddr } = require('./constant');
|
||||||
|
|
||||||
const USDTAddr = '0xdac17f958d2ee523a2206206994597c13d831ec7';
|
|
||||||
const RootAccount = inject(function (SysConfig) {
|
const RootAccount = inject(function (SysConfig) {
|
||||||
const { ROOTSECWORD } = SysConfig;
|
const { ROOTSECWORD } = SysConfig;
|
||||||
return ERC20.fromMnemonic(ROOTSECWORD, USDTAddr);
|
return ERC20.fromMnemonic(ROOTSECWORD, USDTAddr);
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ const { deriveNewAccount } = require('../../utils/account');
|
|||||||
const actionFilter = 'id type amount detail op createdAt';
|
const actionFilter = 'id type amount detail op createdAt';
|
||||||
const { inject } = require('../../common/Provider');
|
const { inject } = require('../../common/Provider');
|
||||||
const ETH = require('../../utils/erc20').ERC20;
|
const ETH = require('../../utils/erc20').ERC20;
|
||||||
|
const { USDTAddr } = require('../../common/constant');
|
||||||
|
|
||||||
const depositCoinsList = [{
|
const depositCoinsList = [{
|
||||||
id: 'usdtBTC',
|
id: 'usdtBTC',
|
||||||
@@ -189,7 +190,14 @@ module.exports = {
|
|||||||
// 查询资金,直接拉数据库,区块链的查询交给定时任务
|
// 查询资金,直接拉数据库,区块链的查询交给定时任务
|
||||||
async refreshFund (req, res) {
|
async refreshFund (req, res) {
|
||||||
// todo: 要求刷新程序去刷新
|
// todo: 要求刷新程序去刷新
|
||||||
|
const { userId } = res.locals.user;
|
||||||
|
const fund = await Fund.findOne({ userId }).exec();
|
||||||
|
const tokenAddress = fund && fund.tokenAddress;
|
||||||
|
if(!tokenAddress || !tokenAddress['usdtETH']) return res.json({
|
||||||
|
code: 0,
|
||||||
|
data: fund.fundList
|
||||||
|
});
|
||||||
|
const txActions = await ETH.getActions(tokenAddress['usdtETH'], USDTAddr);
|
||||||
return this.getFundList(req, res);
|
return this.getFundList(req, res);
|
||||||
},
|
},
|
||||||
async getFundList (req, res) {
|
async getFundList (req, res) {
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
const User = require('./user.model');
|
const User = require('./user.model');
|
||||||
|
const Fund = require('../fund/fund.model');
|
||||||
const MsgCode = require('../msgCode/msgCode.controller');
|
const MsgCode = require('../msgCode/msgCode.controller');
|
||||||
const changePwd = require('../sign/sign.controller').changePasswd;
|
const changePwd = require('../sign/sign.controller').changePasswd;
|
||||||
const Crypto = require('../../utils/crypto');
|
const Crypto = require('../../utils/crypto');
|
||||||
@@ -109,4 +110,31 @@ module.exports = {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
async getGroupBasicInfo (req, res) {
|
||||||
|
const { userId } = res.locals.user;
|
||||||
|
const [user, fund] = await Promise.all([User.findById(userId), Fund.findOne({userId})]);
|
||||||
|
if (!user) return res.json({
|
||||||
|
code: 1,
|
||||||
|
msg: '未知用户'
|
||||||
|
});
|
||||||
|
const follower = user.group && user.group.length || 0;
|
||||||
|
const reward = fund.asset && fund.asset.usdt || 0;
|
||||||
|
const list = await User.find({ inviter: { $in: user.group } }).exec();
|
||||||
|
return res.json({
|
||||||
|
code: 0,
|
||||||
|
data: {
|
||||||
|
follower,
|
||||||
|
reward,
|
||||||
|
groupScale: list.length
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
async getGroupList (req, res) {
|
||||||
|
const { userId } = res.locals.user;
|
||||||
|
const list = await User.find({ inviter: userId }).exec();
|
||||||
|
return res.json({
|
||||||
|
code: 0,
|
||||||
|
data: list
|
||||||
|
});
|
||||||
|
}
|
||||||
};
|
};
|
||||||
@@ -36,10 +36,22 @@ const services = [
|
|||||||
method: 'POST',
|
method: 'POST',
|
||||||
controller: controller.changeFundPwd
|
controller: controller.changeFundPwd
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
indexRoute: '/community',
|
||||||
|
url: '/basic',
|
||||||
|
method: 'GET',
|
||||||
|
controller: controller.getGroupBasicInfo
|
||||||
|
},
|
||||||
|
{
|
||||||
|
indexRoute: '/community',
|
||||||
|
url: '/list',
|
||||||
|
method: 'GET',
|
||||||
|
controller: controller.getGroupList
|
||||||
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
module.exports = services.map(service => {
|
module.exports = services.map(service => {
|
||||||
// 可以在此处对要导出的服务map进行统一处理
|
// 可以在此处对要导出的服务map进行统一处理
|
||||||
service.url = indexRoute + service.url;
|
service.url = service.indexRoute ? service.indexRoute + service.url : indexRoute + service.url;
|
||||||
return service;
|
return service;
|
||||||
});
|
});
|
||||||
Reference in New Issue
Block a user