寻宝:匹配多选

This commit is contained in:
luying
2022-02-25 17:16:17 +08:00
parent 224383b31e
commit 2db328759e
4 changed files with 49 additions and 35 deletions
+21 -11
View File
@@ -158,10 +158,15 @@ function getComTeamValue(roleId: string, sid: string) {
* @param {number} lvRange
* @returns
*/
export async function setTeamSearchReq(roleId: string, sid: string, lv: number) {
export async function setTeamSearchReq(roleId: string, sid: string, lvs: number[]) {
let cmds = [];
lvs.forEach(lv => {
if (lv) {
cmds.push(['sadd', getComTeamKey(lv), getComTeamValue(roleId, sid)]);
}
});
const res = await redisClient().multi(cmds).execAsync();
const res = await redisClient().saddAsync(getComTeamKey(lv), [getComTeamValue(roleId, sid)]);
console.log('setTeamSearchReq: ', res);
return res;
}
@@ -172,11 +177,13 @@ export async function setTeamSearchReq(roleId: string, sid: string, lv: number)
* @param {string} sid
* @param {number} lv 如果不填表示所有品阶
*/
export async function rmRoleFromQueue(roleId: string, sid: string, lv?: number) {
export async function rmRoleFromQueue(roleId: string, sid: string, lvs?: number[]) {
let cmds = [];
if (lv) {
cmds.push(['srem', getComTeamKey(lv), getComTeamValue(roleId, sid)]);
if (lvs) {
for(let lv of lvs) {
cmds.push(['srem', getComTeamKey(lv), getComTeamValue(roleId, sid)]);
}
} else {
for (let range of comBtlRanges()) {
cmds.push(['srem', getComTeamKey(range), getComTeamValue(roleId, sid)]);
@@ -216,11 +223,14 @@ export async function getTeamSearchByLv(lv: number) {
* @param {number} lv
* @returns
*/
export async function checkRoleInQueue(roleId: string, sid: string, lv: number) {
let res = await redisClient().sismemberAsync(getComTeamKey(lv), `${roleId}:${sid}`);
if (res) {
return true;
}
export async function checkRoleInQueue(roleId: string, sid: string, lvs: number[]) {
for (let lv of lvs) {
let res = await redisClient().sismemberAsync(getComTeamKey(lv), `${roleId}:${sid}`);
if (res) {
return true;
}
};
return false;
}