package com.hzya.frame.sys.user.dao.impl;

import com.hzya.frame.basedao.dao.MybatisGenericDao;
import com.hzya.frame.sys.user.dao.IUserMapper;
import com.hzya.frame.sys.user.entity.User;
import org.springframework.stereotype.Service;

import java.util.List;


/**
 * @description: 用户管理  dao
 * @tableName: sys_user
 * @entityName: User
 * @author: gjh
 * @history:1.0
 */
@Service
public class UserMapperImpl extends MybatisGenericDao<User, String> implements IUserMapper {

    @Override
    public User entity_get(String id) {
        User o = (User) super.selectOne(getSqlIdPrifx() + "entity_get", id);
        return o;

    }

    //查询 采用==查询   entity_list_base
    @Override
    public List<User> entity_list_base(User entity) {

        List<User> o = super.query(getSqlIdPrifx() + "entity_list_base", entity);
        return o;

    }

    //  查询符合条件的数量
    @Override
    public Integer entity_count(User entity) {
        Integer o = (Integer) super.selectOne(getSqlIdPrifx() + "entity_count", entity);
        return o;

    }

    //分页查询列表 采用like格式 entity_list_like
    @Override
    public List<User> entity_list_like(User entity) {
        List<User> o = super.query(getSqlIdPrifx() + "entity_list_like", entity);
        return o;

    }

    //查询列表 字段采用or格式   entity_list_or
    @Override
    public List<User> entity_list_or(User entity) {
        List<User> o = super.query(getSqlIdPrifx() + "entity_list_or", entity);
        return o;

    }

    //新增  entity_insert
    @Override
    public User entity_insert(User entity) {
        entity = super.save(getSqlIdPrifx() + "entity_insert", entity);
        return entity;

    }

    //修改  entity_update
    @Override
    public Integer entity_update(User entity) {
        Integer o = super.update(getSqlIdPrifx() + "entity_update", entity);
        return o;

    }

    //逻辑删除    entity_delete
    @Override
    public Integer entity_logicDelete(User entity) {
        Integer o = super.delete(getSqlIdPrifx() + "entity_logicDelete", entity);
        return o;

    }

    //逻辑删除多条件
    @Override
    public Integer entity_logicDelete_Multi_Condition(User entity) {
        Integer o = super.delete(getSqlIdPrifx() + "entity_logicDelete_Multi_Condition", entity);
        return o;

    }

    //物理删除
    @Override
    public Integer entity_delete(User entity) {
        Integer o = super.delete(getSqlIdPrifx() + "entity_delete", entity);
        return o;

    }
}
