寻宝:匹配多选
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user