package com.cms.service;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.cms.entity.SysHelp;
import com.cms.mapper.SysHelpMapper;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;

import java.util.List;

@Service
public class SysHelpService extends ServiceImpl<SysHelpMapper, SysHelp> {

    /**
     * 按分类 code + 语言分页查询（已发布）
     * status=0 表示显示
     */
    public IPage<SysHelp> pageByCategory(int pageNo, int pageSize, String categoryCode, String lang) {
        LambdaQueryWrapper<SysHelp> wrapper = new LambdaQueryWrapper<SysHelp>()
                .eq(SysHelp::getStatus, 0)
                .orderByDesc(SysHelp::getIsTop)
                .orderByDesc(SysHelp::getSort);
        if (StringUtils.hasText(categoryCode)) {
            wrapper.eq(SysHelp::getCategoryCode, categoryCode);
        }
        if (StringUtils.hasText(lang)) {
            wrapper.eq(SysHelp::getLang, lang);
        }
        return page(new Page<>(pageNo, pageSize), wrapper);
    }

    /**
     * 按分类 code + 语言查询全部（用于协议、免责等全量加载场景）
     */
    public List<SysHelp> listByCategory(String categoryCode, String lang) {
        LambdaQueryWrapper<SysHelp> wrapper = new LambdaQueryWrapper<SysHelp>()
                .eq(SysHelp::getStatus, 0)
                .orderByDesc(SysHelp::getIsTop)
                .orderByDesc(SysHelp::getSort);
        if (StringUtils.hasText(categoryCode)) {
            wrapper.eq(SysHelp::getCategoryCode, categoryCode);
        }
        if (StringUtils.hasText(lang)) {
            wrapper.eq(SysHelp::getLang, lang);
        }
        return list(wrapper);
    }

    /**
     * 文章详情
     */
    public SysHelp getDetail(Long id) {
        return getById(id);
    }
}
