package com.css.simulation.resource.server.infra.db.mysql.mapper;

import api.common.pojo.param.system.UserParam;
import api.common.pojo.po.system.UserPO;
import api.common.pojo.vo.system.UserVO;
import com.css.simulation.resource.server.infra.db.entity.SystemUserEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Mapper
@Repository
public interface SystemUserMapper {

    UserVO getUserInfo(@Param("userId") String userId);

    Integer selectCount();

    List<UserVO> getUserPageLista(UserParam pageParam);

    List<UserVO> getUserPageListb(UserParam pageParam);

    List<UserVO> getUserPageListc(UserParam pageParam);

    List<UserPO> checkUsername(UserPO userPO);

    void insert(UserPO userPO);

    void update(UserPO userPO);

    void saveDefaultPassword(UserPO userPO);

    void saveVisible(UserPO userPO);

    void savePhone(UserPO userPO);

    List<UserVO> checkPassword(UserVO userVO);

    void savePassword(UserPO userPO);

    List<UserPO> getSubUser(@Param("createUserId") String createUserId);

    String selectCreateUserIdById(SystemUserEntity build);

    String selectRoleCodeById(SystemUserEntity build);
}
