package org.jeecg.modules.adweb.site.service.impl;


import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import jakarta.annotation.Resource;
import org.jeecg.modules.adweb.site.entity.AdwebUserWpsite;
import org.jeecg.modules.adweb.site.mapper.AdwebUserWpsiteMapper;
import org.jeecg.modules.adweb.site.service.IAdwebUserWpsiteService;
import org.springframework.stereotype.Service;
import org.jeecg.modules.adweb.common.constant.NumConstant;

import java.util.List;

/**
 * @Description: adweb_user_wpsite
 * @Author: jeecg-boot
 * @Date:   2023-08-18
 * @Version: V1.0
 */
@Service
public class AdwebUserWpsiteServiceImpl extends ServiceImpl<AdwebUserWpsiteMapper, AdwebUserWpsite> implements IAdwebUserWpsiteService {

    @Resource
    private AdwebUserWpsiteMapper adwebUserWpsiteMapper;
    @Override
    public List<AdwebUserWpsite> getSitesByUid(String uid) {
        List<AdwebUserWpsite> adwebUserWpsites = adwebUserWpsiteMapper.selectList(new LambdaQueryWrapper<AdwebUserWpsite>()
                .eq(AdwebUserWpsite::getUid,uid));
        return adwebUserWpsites;
    }

    @Override
    public List<AdwebUserWpsite> getByWpUsername(String wpUsername, Integer siteId) {
        List<AdwebUserWpsite> adwebUserWpsites = adwebUserWpsiteMapper.selectList(new LambdaQueryWrapper<AdwebUserWpsite>()
                .eq(AdwebUserWpsite::getWpUsername, wpUsername)
                .eq(AdwebUserWpsite::getSiteId, siteId));
        return adwebUserWpsites;
    }

    @Override
    public List<AdwebUserWpsite> getByUserID(String userId) {
        QueryWrapper<AdwebUserWpsite> adwebUserWpsiteQueryWrapper = new QueryWrapper<>();
        adwebUserWpsiteQueryWrapper.eq("uid",userId);
        adwebUserWpsiteQueryWrapper.eq("status", NumConstant.ONE);
        List<AdwebUserWpsite> adwebUserWpsites = this.list(adwebUserWpsiteQueryWrapper);
        return adwebUserWpsites;
    }

    /**
     * 根据站点id获取wp站点用户信息
     * @param siteId
     * @return
     */
    @Override
    public List<AdwebUserWpsite> getUserBySiteId(Integer siteId) {
        QueryWrapper<AdwebUserWpsite> adwebUserWpsiteQueryWrapper = new QueryWrapper<>();
        adwebUserWpsiteQueryWrapper.eq("site_id",siteId);
        adwebUserWpsiteQueryWrapper.eq("status", NumConstant.ONE);
        return this.list(adwebUserWpsiteQueryWrapper);
    }
}
