package com.zanxiang.game.module.sdk.service.impl;

import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.zanxiang.game.module.base.pojo.enums.BanStatusEnum;
import com.zanxiang.game.module.mybatis.entity.IpBan;
import com.zanxiang.game.module.mybatis.mapper.IpBanMapper;
import com.zanxiang.game.module.sdk.pojo.param.UserData;
import com.zanxiang.game.module.sdk.service.IIpBanService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;

import java.util.Objects;

/**
 * @author : lingfeng
 * @time : 2022-06-28
 * @description : ip封禁管理
 */
@Slf4j
@Service
public class IpBanServiceImpl extends ServiceImpl<IpBanMapper, IpBan> implements IIpBanService {

    @Override
    public boolean checkIpBan(UserData userData) {
        IpBan ipBan = super.getOne(new LambdaUpdateWrapper<IpBan>()
                .eq(IpBan::getIp, userData.getIp())
                .eq(IpBan::getGameId, userData.getGameId())
        );
        return ipBan != null && Objects.equals(ipBan.getStatus(), BanStatusEnum.BAN_STATUS.getStatus());
    }

}
