Skip to content

Commit

Permalink
feat:增加黑名单支持
Browse files Browse the repository at this point in the history
  • Loading branch information
leewei0923 committed Nov 26, 2022
1 parent f06ecff commit 8d2b69d
Show file tree
Hide file tree
Showing 3 changed files with 122 additions and 2 deletions.
16 changes: 16 additions & 0 deletions src/ttalk/dto/ttalk.dto.ts
Original file line number Diff line number Diff line change
Expand Up @@ -50,3 +50,19 @@ export class getAndUpdateDto {
@IsNotEmpty()
update_time: string;
}

/**
* 拉入黑名单
*/

export class PullInBlacklist {
@ApiProperty()
@IsNotEmpty()
user_account: string; // 申请人账号

@IsNotEmpty()
friend_account: string; // 被申请人账号

@IsNotEmpty()
blacklist?: boolean;
}
41 changes: 40 additions & 1 deletion src/ttalk/ttalk.controller.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,12 @@ import { RegisterDto } from './dto/register.dto';
import { TtalkService } from './ttalk.service';
import { UpdateDto } from './dto/update.dto';
import { AuthGuard } from '@nestjs/passport';
import { AddFriendDto, checkOnlineDto, getAndUpdateDto } from './dto/ttalk.dto';
import {
AddFriendDto,
checkOnlineDto,
getAndUpdateDto,
PullInBlacklist,
} from './dto/ttalk.dto';
import { SaveMessageDto, updateFlagDto } from './dto/message.dto';

@Controller('/server/ttalk')
Expand Down Expand Up @@ -135,4 +140,38 @@ export class TtalkController {
updateMessageFlag(@Body() data: updateFlagDto) {
return this.ttalkService.updateReadFlag(data);
}

/**
* 更新黑名单信息
*/
@UseGuards(AuthGuard('jwt'))
@Post('/updateConcatBlacklist')
updateConcatBlacklist(@Body() data: PullInBlacklist) {
if (typeof data.blacklist === 'boolean') {
return this.ttalkService.pullIntoBlacklist(data);
} else {
return {
code: 400,
status: 'fail',
msg: '更新状态失败',
};
}
}

/**
* 更新黑名单信息
*/
@UseGuards(AuthGuard('jwt'))
@Post('/deleteFriend')
updateConcatFriendFlag(@Body() data: PullInBlacklist) {
if (typeof data.blacklist === 'boolean') {
return this.ttalkService.DeleteFriend(data);
} else {
return {
code: 400,
status: 'fail',
msg: '更新状态失败',
};
}
}
}
67 changes: 66 additions & 1 deletion src/ttalk/ttalk.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,12 @@ import { encryptPassword, makeSalt } from '../utils/cryptogram';
import { ttalk_user } from './entities/ttalk.entity.mysql';
import { AuthService } from 'src/auth/auth.service';
import { UpdateDto } from './dto/update.dto';
import { AddFriendDto, checkOnlineDto, getAndUpdateDto } from './dto/ttalk.dto';
import {
AddFriendDto,
checkOnlineDto,
getAndUpdateDto,
PullInBlacklist,
} from './dto/ttalk.dto';
import { ttalk_user_concat } from './entities/user_concat.entity.mysql';
import dayjs from 'dayjs';
import { ttalk_online } from './entities/online.entity.mysql';
Expand Down Expand Up @@ -390,4 +395,64 @@ export class TtalkService {
this.MessageRecordRepository.query(queryCode);
}
}

/**
* 拉进黑名单
*/
async pullIntoBlacklist(data: PullInBlacklist) {
const { user_account, friend_account } = data;

const concatRes = await this.TTalkUserConcatRepository.findOne({
where: {
user_account,
friend_account,
},
});

if (typeof concatRes === 'object') {
const queryCode = `UPDATE ttalk_user_concat SET blacklist = ${!concatRes.blacklist} WHERE user_account = '${user_account}' and friend_account = '${friend_account}'`;

this.TTalkUserConcatRepository.query(queryCode);
}

return {
code: 200,
status: 'ok',
msg: '更新状态成功',
info: {
friend_account,
blacklist_status: !concatRes.blacklist,
},
};
}

/**
* 删除好友
*/
async DeleteFriend(data: PullInBlacklist) {
const { user_account, friend_account } = data;

const concatRes = await this.TTalkUserConcatRepository.findOne({
where: {
user_account,
friend_account,
},
});

if (typeof concatRes === 'object') {
const queryCode = `DELETE ttalk_user_concat SET friend_flag = ${!concatRes.friend_flag} WHERE user_account = '${user_account}' and friend_account = '${friend_account}'`;

this.TTalkUserConcatRepository.query(queryCode);
}

return {
code: 200,
status: 'ok',
msg: '更新状态成功',
info: {
friend_account,
friend_status: !concatRes.friend_flag,
},
};
}
}

0 comments on commit 8d2b69d

Please sign in to comment.