|
@@ -9,52 +9,52 @@ export class AiChatService {
|
|
|
isLoggedIn = false;
|
|
|
company: string = 'Qje9D4bqol';
|
|
|
emojis: Array<any> = [];
|
|
|
- userLevelColor:any = {
|
|
|
- '1':{
|
|
|
- color:'#fff'
|
|
|
+ userLevelColor: any = {
|
|
|
+ '1': {
|
|
|
+ color: '#fff',
|
|
|
},
|
|
|
- '2':{
|
|
|
- color:'#0ec52e'
|
|
|
+ '2': {
|
|
|
+ color: '#0ec52e',
|
|
|
},
|
|
|
- '3':{
|
|
|
- color:'#377cf7'
|
|
|
+ '3': {
|
|
|
+ color: '#377cf7',
|
|
|
},
|
|
|
- '4':{
|
|
|
- color:'#cbb013'
|
|
|
+ '4': {
|
|
|
+ color: '#cbb013',
|
|
|
},
|
|
|
- '5':{
|
|
|
- color:'#ec760c'
|
|
|
+ '5': {
|
|
|
+ color: '#ec760c',
|
|
|
},
|
|
|
- '6':{
|
|
|
- color:'#ec0cce'
|
|
|
+ '6': {
|
|
|
+ color: '#ec0cce',
|
|
|
},
|
|
|
- '7':{
|
|
|
- color:'#8d0cec'
|
|
|
+ '7': {
|
|
|
+ color: '#8d0cec',
|
|
|
},
|
|
|
- '8':{
|
|
|
- color:'#dd0a0a'
|
|
|
+ '8': {
|
|
|
+ color: '#dd0a0a',
|
|
|
},
|
|
|
- }
|
|
|
- authorLevelColor:any = {
|
|
|
- '1':{
|
|
|
- color:'#10b590'
|
|
|
+ };
|
|
|
+ authorLevelColor: any = {
|
|
|
+ '1': {
|
|
|
+ color: '#10b590',
|
|
|
},
|
|
|
- '2':{
|
|
|
- color:'#dd70ff'
|
|
|
+ '2': {
|
|
|
+ color: '#dd70ff',
|
|
|
},
|
|
|
- '3':{
|
|
|
- color:'#ed9647'
|
|
|
+ '3': {
|
|
|
+ color: '#ed9647',
|
|
|
},
|
|
|
- '4':{
|
|
|
- color:'#fb73ca'
|
|
|
+ '4': {
|
|
|
+ color: '#fb73ca',
|
|
|
},
|
|
|
- '5':{
|
|
|
- color:'#efeb38'
|
|
|
+ '5': {
|
|
|
+ color: '#efeb38',
|
|
|
},
|
|
|
- '6':{
|
|
|
- color:'#c11010'
|
|
|
- }
|
|
|
- }
|
|
|
+ '6': {
|
|
|
+ color: '#c11010',
|
|
|
+ },
|
|
|
+ };
|
|
|
|
|
|
get identity(): boolean {
|
|
|
let profile = JSON.parse(localStorage.getItem('profile') || '{}');
|
|
@@ -201,7 +201,7 @@ export class AiChatService {
|
|
|
(SELECT COUNT(*) FROM "ProfileRadar" WHERE "toUser" = '${uid}' AND "name" = '关注' AND "isDeleted" IS NOT TRUE) AS fans;`;
|
|
|
return this.http.customSQL(sql);
|
|
|
}
|
|
|
- async getGift(type?: string,id?:string): Promise<any> {
|
|
|
+ async getGift(type?: string, id?: string): Promise<any> {
|
|
|
let where = type ? `AND "type" = '${type}'` : ``;
|
|
|
let whereId = id ? `AND "objectId" = '${id}'` : ``;
|
|
|
let sql = `SELECT "objectId" AS "id","name","price","order","imgUrl","video","type","rightsMap","config"
|
|
@@ -236,7 +236,8 @@ export class AiChatService {
|
|
|
return data.data;
|
|
|
}
|
|
|
/* 获取好友列表 */
|
|
|
- async getFriends(uid: string): Promise<any> {
|
|
|
+ async getFriends(uid: string,val?:string): Promise<any> {
|
|
|
+ let where = val ? `WHERE u.nickname LIKE '%${val}%'` : ''
|
|
|
let rejectsSql = `SELECT invited FROM "EventLog" WHERE "isDeleted" IS NOT TRUE AND "user" = '${uid}' AND "isAward" = TRUE `;
|
|
|
let data: any = await this.http.customSQL(rejectsSql);
|
|
|
let list = data.data;
|
|
@@ -255,8 +256,8 @@ export class AiChatService {
|
|
|
OR "user" = '${uid}')
|
|
|
GROUP BY fid,"channel",deadline) AS f
|
|
|
LEFT JOIN "_User" AS u
|
|
|
- ON u."objectId" = f.fid
|
|
|
- ${notInclude.length > 0 ? `WHERE u."objectId" NOT IN (${notInclude})` : ''}
|
|
|
+ ON u."objectId" = f.fid
|
|
|
+ ${notInclude.length > 0 ? `WHERE u."objectId" NOT IN (${notInclude}) AND u.nickname LIKE '%${val}%'` : where}
|
|
|
`;
|
|
|
return this.http.customSQL(sql);
|
|
|
}
|
|
@@ -298,12 +299,12 @@ export class AiChatService {
|
|
|
}
|
|
|
|
|
|
async getLinkUsers(params: {
|
|
|
- company?:string,
|
|
|
- value?:string,
|
|
|
- limit?:number,
|
|
|
- skip?:number,
|
|
|
- sex?:string,
|
|
|
- city?:string
|
|
|
+ company?: string;
|
|
|
+ value?: string;
|
|
|
+ limit?: number;
|
|
|
+ skip?: number;
|
|
|
+ sex?: string;
|
|
|
+ city?: string;
|
|
|
}): Promise<any> {
|
|
|
params['company'] = this.company;
|
|
|
let baseurl = 'https://server.fmode.cn/api/ailiao/users';
|
|
@@ -334,16 +335,47 @@ export class AiChatService {
|
|
|
return data?.data;
|
|
|
}
|
|
|
|
|
|
- async getOrderAnchor(limit?: number) {
|
|
|
- let sql = `SELECT us."objectId",us."nickname",us."avatar",
|
|
|
- COALESCE(SUM(llog.gold ),0) AS "credit"
|
|
|
- FROM "LoveRender" AS llog
|
|
|
- LEFT JOIN "_User" us
|
|
|
- ON us."objectId" = llog."toUser"
|
|
|
- WHERE llog.company = '${this.company}'
|
|
|
- AND llog."isDeleted" IS NOT TRUE
|
|
|
- GROUP BY us."objectId",us."username"
|
|
|
- ORDER BY "credit" DESC LIMIT ${limit ?? 10}`;
|
|
|
+ async getOrderAnchor(type?: string, limit?: number) {
|
|
|
+ let sql = `SELECT us."objectId",us."nickname",us."avatar",ROUND(SUM("credit")::numeric, 2) AS credit
|
|
|
+ FROM (
|
|
|
+ SELECT COALESCE(SUM(llog.gold ),0) AS "credit",llog."toUser" AS uid
|
|
|
+ FROM "LoveRender" AS llog
|
|
|
+ WHERE llog.company = '${this.company}'
|
|
|
+ AND llog."isDeleted" IS NOT TRUE
|
|
|
+ GROUP BY llog."toUser"
|
|
|
+ UNION
|
|
|
+ SELECT SUM(lalog.duration / 60 * lalog.unit) "credit","Room"."user" AS uid
|
|
|
+ FROM "LiveActiveLog" AS lalog
|
|
|
+ LEFT JOIN "Room"
|
|
|
+ ON lalog."room" = "Room"."objectId"
|
|
|
+ WHERE lalog.company = '${this.company}'
|
|
|
+ AND lalog."isDeleted" IS NOT TRUE
|
|
|
+ GROUP BY "Room"."user"
|
|
|
+ ) AS tbl
|
|
|
+ LEFT JOIN "_User" us
|
|
|
+ ON us."objectId" = tbl.uid
|
|
|
+ GROUP BY us."objectId",us."username"
|
|
|
+ ORDER BY SUM(tbl."credit") DESC LIMIT ${limit ?? 50}`;
|
|
|
+ if (type == 'user') {
|
|
|
+ sql = `SELECT us."objectId",us."nickname",us."avatar",ROUND(SUM("credit")::numeric, 2) AS credit
|
|
|
+ FROM (
|
|
|
+ SELECT COALESCE(SUM(llog.gold ),0) AS "credit",llog."fromUser" AS uid
|
|
|
+ FROM "LoveRender" AS llog
|
|
|
+ WHERE llog.company = '${this.company}'
|
|
|
+ AND llog."isDeleted" IS NOT TRUE
|
|
|
+ GROUP BY llog."fromUser"
|
|
|
+ UNION
|
|
|
+ SELECT SUM(lalog.duration / 60 * lalog.unit) "credit",lalog."user" AS uid
|
|
|
+ FROM "LiveActiveLog" AS lalog
|
|
|
+ WHERE lalog.company = '${this.company}'
|
|
|
+ AND lalog."isDeleted" IS NOT TRUE
|
|
|
+ GROUP BY lalog."user"
|
|
|
+ ) AS tbl
|
|
|
+ LEFT JOIN "_User" us
|
|
|
+ ON us."objectId" = tbl.uid
|
|
|
+ GROUP BY us."objectId",us."username"
|
|
|
+ ORDER BY SUM(tbl."credit") DESC LIMIT ${limit ?? 50}`;
|
|
|
+ }
|
|
|
let res: any = await this.http.customSQL(sql);
|
|
|
return res.data;
|
|
|
}
|
|
@@ -443,12 +475,66 @@ export class AiChatService {
|
|
|
return res.data;
|
|
|
}
|
|
|
|
|
|
- async getCommentScore(room:string){
|
|
|
+ async getCommentScore(room: string) {
|
|
|
let sql = `SELECT (SUM("credit")/COUNT("objectId")) AS ave
|
|
|
FROM "DramaPostLog"
|
|
|
WHERE room = '${room}'
|
|
|
- `
|
|
|
+ `;
|
|
|
let res: any = await this.http.customSQL(sql);
|
|
|
return res.data[0]['ave'];
|
|
|
}
|
|
|
+
|
|
|
+ async getRelation(limit?: number, skip?: number) {
|
|
|
+ let uid = Parse.User.current()?.id;
|
|
|
+ let sql = `SELECT us."objectId",us."nickname",us."avatar",ROUND(SUM("credit")::numeric, 2) AS credit
|
|
|
+ FROM (
|
|
|
+ SELECT COALESCE(SUM(llog.gold ),0) AS "credit",llog."toUser" AS uid
|
|
|
+ FROM "LoveRender" AS llog
|
|
|
+ WHERE llog.company = '${this.company}'
|
|
|
+ AND llog."isDeleted" IS NOT TRUE
|
|
|
+ AND llog."fromUser" = '${uid}'
|
|
|
+ GROUP BY llog."toUser"
|
|
|
+ UNION
|
|
|
+ SELECT SUM(lalog.duration / 60 * lalog.unit) "credit","Room"."user" AS uid
|
|
|
+ FROM "LiveActiveLog" AS lalog
|
|
|
+ LEFT JOIN "Room"
|
|
|
+ ON lalog."room" = "Room"."objectId"
|
|
|
+ WHERE lalog.company = '${this.company}'
|
|
|
+ AND lalog."isDeleted" IS NOT TRUE
|
|
|
+ AND lalog."user" = '${uid}'
|
|
|
+ GROUP BY "Room"."user"
|
|
|
+ ) AS tbl
|
|
|
+ LEFT JOIN "_User" us
|
|
|
+ ON us."objectId" = tbl.uid
|
|
|
+ GROUP BY us."objectId",us."username"
|
|
|
+ ORDER BY SUM(tbl."credit") DESC
|
|
|
+ OFFSET ${skip || 0} LIMIT ${limit ?? 50}`;
|
|
|
+ if (this.identity) {
|
|
|
+ sql = `SELECT us."objectId",us."nickname",us."avatar",ROUND(SUM("credit")::numeric, 2) AS credit
|
|
|
+ FROM (
|
|
|
+ SELECT COALESCE(SUM(llog.gold ),0) AS "credit",llog."fromUser" AS uid
|
|
|
+ FROM "LoveRender" AS llog
|
|
|
+ WHERE llog.company = '${this.company}'
|
|
|
+ AND llog."isDeleted" IS NOT TRUE
|
|
|
+ AND llog."toUser" = '${uid}'
|
|
|
+ GROUP BY llog."fromUser"
|
|
|
+ UNION
|
|
|
+ SELECT SUM(lalog.duration / 60 * lalog.unit) "credit",lalog."user" AS uid
|
|
|
+ FROM "LiveActiveLog" AS lalog
|
|
|
+ LEFT JOIN "Room"
|
|
|
+ ON lalog."room" = "Room"."objectId"
|
|
|
+ WHERE lalog.company = '${this.company}'
|
|
|
+ AND lalog."isDeleted" IS NOT TRUE
|
|
|
+ AND "Room"."user" = '${uid}'
|
|
|
+ GROUP BY lalog."user"
|
|
|
+ ) AS tbl
|
|
|
+ LEFT JOIN "_User" us
|
|
|
+ ON us."objectId" = tbl.uid
|
|
|
+ GROUP BY us."objectId",us."username"
|
|
|
+ ORDER BY SUM(tbl."credit") DESC
|
|
|
+ OFFSET ${skip || 0} LIMIT ${limit ?? 50}`;
|
|
|
+ }
|
|
|
+ let res: any = await this.http.customSQL(sql);
|
|
|
+ return res.data;
|
|
|
+ }
|
|
|
}
|