• 【 Base<T> 】IBaseDao 和 IBaseService 通用 基类 实现


    IBaseDao<T>
    package com.sys.dao;
    
    import org.hibernate.LockOptions;
    
    import java.io.Serializable;
    import java.util.List;
    import java.util.Map;
    
    public interface IBaseDao<T> {
    
        /**
         * 保存一个对象
         *
         * @param o 对象
         * @return 对象的ID
         */
        public Serializable save(T o);
    
        /**
         * 删除一个对象
         *
         * @param o 对象
         */
        public void delete(T o);
    
        /**
         * 更新一个对象
         *
         * @param o 对象
         */
        public void update(T o);
    
        /**
         * 保存或更新一个对象
         *
         * @param o 对象
         */
        public void saveOrUpdate(T o);
    
        /**
         * 通过主键获得对象
         *
         * @param c  类名.class
         * @param id 主键
         * @return 对象
         */
        public T getById(Class<T> c, Serializable id);
    
        /**
         * 通过主键获得对象
         *
         * @param c  类名.class
         * @param id 主键
         * @return 对象
         */
        public T getById(Class<T> c, Serializable id, LockOptions lockOptions);
    
        /**
         * 通过HQL语句获取一个对象
         *
         * @param hql HQL语句
         * @return 对象
         */
        public T getByHql(String hql);
    
        /**
         * 通过HQL语句获取一个对象
         *
         * @param hql HQL语句
         * @return 对象
         */
        public T getByHql(String hql, LockOptions lockOptions);
    
        /**
         * 通过HQL语句获取一个对象
         *
         * @param hql    HQL语句
         * @param params 参数
         * @return 对象
         */
        public T getByHql(String hql, Map<String, Object> params);
    
    
        /**
         * 通过HQL语句获取一个对象
         *
         * @param hql    HQL语句
         * @param params 参数
         * @return 对象
         */
        public T getByHql(String hql, Map<String, Object> params, LockOptions lockOptions);
    
        /**
         * 获得对象列表
         *
         * @param hql HQL语句
         * @return List
         */
        public List<T> find(String hql);
    
        /**
         * 获得对象列表
         *
         * @param hql    HQL语句
         * @param params 参数
         * @return List
         */
        public List<T> find(String hql, Map<String, Object> params);
    
        /**
         * 获得分页后的对象列表
         *
         * @param hql  HQL语句
         * @param page 要显示第几页
         * @param rows 每页显示多少条
         * @return List
         */
        public List<T> find(String hql, int pageNo, int pageSize);
    
    
        /**
         * 获得分页后的对象列表
         *
         * @param hql    HQL语句
         * @param params 参数
         * @param page   要显示第几页
         * @param rows   每页显示多少条
         * @return List
         */
        public List<T> find(String hql, Map<String, Object> params, int pageNo, int pageSize);
    
        /**
         * 统计数目
         *
         * @param hql HQL语句(select count(*) from T)
         * @return long
         */
        public Long count(String hql);
    
        /**
         * 统计数目
         *
         * @param hql    HQL语句(select count(*) from T where xx = :xx)
         * @param params 参数
         * @return long
         */
        public Long count(String hql, Map<String, Object> params);
    
        /**
         * 执行一条HQL语句
         *
         * @param hql HQL语句
         * @return 响应结果数目
         */
        public int executeHql(String hql);
    
        /**
         * 执行一条HQL语句
         *
         * @param hql    HQL语句
         * @param params 参数
         * @return 响应结果数目
         */
        public int executeHql(String hql, Map<String, Object> params);
    
        /**
         * 获得结果集
         *
         * @param sql SQL语句
         * @return 结果集
         */
        public List<Map> findBySql(String sql);
    
        /**
         * 获得结果集
         *
         * @param sql  SQL语句
         * @param page 要显示第几页
         * @param rows 每页显示多少条
         * @return 结果集
         */
        public List<Map> findBySql(String sql, int pageNo, int pageSize);
    
        /**
         * 获得结果集
         *
         * @param sql    SQL语句
         * @param params 参数
         * @return 结果集
         */
        public List<Map> findBySql(String sql, Map<String, Object> params);
    
        /**
         * 获得结果集
         *
         * @param sql    SQL语句
         * @param params 参数
         * @param page   要显示第几页
         * @param rows   每页显示多少条
         * @return 结果集
         */
        public List<Map> findBySql(String sql, Map<String, Object> params, int pageNo, int pageSize);
    
        /**
         * 执行SQL语句
         *
         * @param sql SQL语句
         * @return 响应行数
         */
        public int executeSql(String sql);
    
        /**
         * 执行SQL语句
         *
         * @param sql    SQL语句
         * @param params 参数
         * @return 响应行数
         */
        public int executeSql(String sql, Map<String, Object> params);
    
        /**
         * 统计
         *
         * @param sql SQL语句
         * @return 数目
         */
        public Long countBySql(String sql);
    
        /**
         * 统计
         *
         * @param sql    SQL语句
         * @param params 参数
         * @return 数目
         */
        public Long countBySql(String sql, Map<String, Object> params);
    
        /**
         * 获得对象列表,多表查询时使用
         *
         * @param hql HQL语句
         * @return List
         */
        public List findByHqL(String hql);
    
        /**
         * 获得对象列表 ,多表查询时使用
         *
         * @param hql    HQL语句
         * @param params 参数
         * @return List
         */
        public List findByHqL(String hql, Map<String, Object> params);
    
        /**
         * 获得分页后的对象列表,多表查询时使用
         *
         * @param hql  HQL语句
         * @param page 要显示第几页
         * @param rows 每页显示多少条
         * @return List
         */
        public List findByHqL(String hql, int pageNo, int pageSize);
    
        /**
         * 获得分页后的对象列表,多表查询时使用
         *
         * @param hql    HQL语句
         * @param params 参数
         * @param page   要显示第几页
         * @param rows   每页显示多少条
         * @return List
         */
        public List findByHqL(String hql, Map<String, Object> params, int pageNo, int pageSize);
    }
    View Code
    BaseDaoImpl<T>
    package com.sys.dao.impl;
    
    import com.sys.dao.IBaseDao;
    import org.hibernate.LockOptions;
    import org.hibernate.Query;
    import org.hibernate.SQLQuery;
    import org.hibernate.SessionFactory;
    import org.hibernate.transform.Transformers;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Repository;
    
    import javax.annotation.Resource;
    import java.io.Serializable;
    import java.util.List;
    import java.util.Map;
    
    @Repository("baseDao")
    public class BaseDaoImpl<T> implements IBaseDao<T> {
    
        @Resource(name = "sessionFactory")
        private SessionFactory sessionFactory;
    
        public SessionFactory getSessionFactory() {
            return sessionFactory;
        }
    
        @Autowired
        public void setSessionFactory(SessionFactory sessionFactory) {
            this.sessionFactory = sessionFactory;
        }
    
        @Override
        public Serializable save(T o) {
            return o == null ? null : sessionFactory.getCurrentSession().save(o);
        }
    
        @Override
        public void delete(T o) {
            if (o != null) {
                sessionFactory.getCurrentSession().delete(o);
            }
        }
    
        @Override
        public void update(T o) {
            if (o != null) {
                sessionFactory.getCurrentSession().update(o);
            }
        }
    
        @Override
        public void saveOrUpdate(T o) {
            if (o != null) {
                sessionFactory.getCurrentSession().saveOrUpdate(o);
            }
        }
    
        @Override
        public T getById(Class<T> c, Serializable id) {
            return (T) sessionFactory.getCurrentSession().get(c, id);
        }
    
        @Override
        public T getById(Class<T> c, Serializable id, LockOptions lockOptions) {
            return (T) sessionFactory.getCurrentSession().get(c, id, lockOptions);
        }
    
        @Override
        public T getByHql(String hql) {
            Query query = sessionFactory.getCurrentSession().createQuery(hql);
            List<T> list = query.list();
            if (list != null && list.size() > 0) {
                return list.get(0);
            }
            return null;
        }
    
        @Override
        public T getByHql(String hql, LockOptions lockOptions) {
            Query query = sessionFactory.getCurrentSession().createQuery(hql);
            query.setLockOptions(lockOptions);
            List<T> list = query.list();
            if (list != null && list.size() > 0) {
                return list.get(0);
            }
            return null;
        }
    
        @Override
        public T getByHql(String hql, Map<String, Object> params) {
            Query query = sessionFactory.getCurrentSession().createQuery(hql);
            if (params != null && !params.isEmpty()) {
                for (String key : params.keySet()) {
                    query.setParameter(key, params.get(key));
                }
            }
            List<T> list = query.list();
            if (list != null && list.size() > 0) {
                return list.get(0);
            }
            return null;
        }
    
        @Override
        public T getByHql(String hql, Map<String, Object> params, LockOptions lockOptions) {
            Query query = sessionFactory.getCurrentSession().createQuery(hql);
            query.setLockOptions(lockOptions);
            if (params != null && !params.isEmpty()) {
                for (String key : params.keySet()) {
                    query.setParameter(key, params.get(key));
                }
            }
            List<T> list = query.list();
            if (list != null && list.size() > 0) {
                return list.get(0);
            }
            return null;
        }
    
        @Override
        public List<T> find(String hql) {
            Query query = sessionFactory.getCurrentSession().createQuery(hql);
            return query.list();
        }
    
        @Override
        public List<T> find(String hql, Map<String, Object> params) {
            Query query = sessionFactory.getCurrentSession().createQuery(hql);
            if (params != null && !params.isEmpty()) {
                for (String key : params.keySet()) {
                    query.setParameter(key, params.get(key));
                }
            }
            return query.list();
        }
    
        @Override
        public List<T> find(String hql, int pageNo, int pageSize) {
            Query query = sessionFactory.getCurrentSession().createQuery(hql);
            return query.setFirstResult((pageNo - 1) * pageSize).setMaxResults(pageSize).list();
        }
    
        @Override
        public List<T> find(String hql, Map<String, Object> params, int pageNo, int pageSize) {
            Query query = sessionFactory.getCurrentSession().createQuery(hql);
            if (params != null && !params.isEmpty()) {
                for (String key : params.keySet()) {
                    query.setParameter(key, params.get(key));
                }
            }
            return query.setFirstResult((pageNo - 1) * pageSize).setMaxResults(pageSize).list();
        }
    
        @Override
        public Long count(String hql) {
            Query query = sessionFactory.getCurrentSession().createQuery(hql);
            return (Long) query.uniqueResult();
        }
    
        @Override
        public Long count(String hql, Map<String, Object> params) {
            Query query = sessionFactory.getCurrentSession().createQuery(hql);
            if (params != null && !params.isEmpty()) {
                for (String key : params.keySet()) {
                    query.setParameter(key, params.get(key));
                }
            }
            return (Long) query.uniqueResult();
        }
    
        @Override
        public int executeHql(String hql) {
            Query query = sessionFactory.getCurrentSession().createQuery(hql);
            return query.executeUpdate();
        }
    
        @Override
        public int executeHql(String hql, Map<String, Object> params) {
            Query query = sessionFactory.getCurrentSession().createQuery(hql);
            if (params != null && !params.isEmpty()) {
                for (String key : params.keySet()) {
                    query.setParameter(key, params.get(key));
                }
            }
            return query.executeUpdate();
        }
    
        @Override
        public List<Map> findBySql(String sql) {
            SQLQuery sqlQuery = sessionFactory.getCurrentSession().createSQLQuery(sql);
            return sqlQuery.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP).list();
        }
    
        @Override
        public List<Map> findBySql(String sql, int pageNo, int pageSize) {
            SQLQuery sqlQuery = sessionFactory.getCurrentSession().createSQLQuery(sql);
            Query query = sqlQuery.setFirstResult((pageNo - 1) * pageSize).setMaxResults(pageSize);
            return query.setFirstResult((pageNo - 1) * pageSize).setMaxResults(pageSize)
                    .setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP).list();
        }
    
        @Override
        public List<Map> findBySql(String sql, Map<String, Object> params) {
            SQLQuery sqlQuery = sessionFactory.getCurrentSession().createSQLQuery(sql);
            if (params != null && !params.isEmpty()) {
                for (String key : params.keySet()) {
                    sqlQuery.setParameter(key, params.get(key));
                }
            }
            return sqlQuery.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP).list();
        }
    
        @Override
        public List<Map> findBySql(String sql, Map<String, Object> params, int pageNo, int pageSize) {
            SQLQuery sqlQuery = sessionFactory.getCurrentSession().createSQLQuery(sql);
            if (params != null && !params.isEmpty()) {
                for (String key : params.keySet()) {
                    sqlQuery.setParameter(key, params.get(key));
                }
            }
            return sqlQuery.setFirstResult((pageNo - 1) * pageSize).setMaxResults(pageSize)
                    .setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP).list();
        }
    
        @Override
        public int executeSql(String sql) {
            SQLQuery sqlQuery = sessionFactory.getCurrentSession().createSQLQuery(sql);
            return sqlQuery.executeUpdate();
        }
    
        @Override
        public int executeSql(String sql, Map<String, Object> params) {
            SQLQuery sqlQuery = sessionFactory.getCurrentSession().createSQLQuery(sql);
            if (params != null && !params.isEmpty()) {
                for (String key : params.keySet()) {
                    sqlQuery.setParameter(key, params.get(key));
                }
            }
            return sqlQuery.executeUpdate();
        }
    
        @Override
        public Long countBySql(String sql) {
            SQLQuery sqlQuery = sessionFactory.getCurrentSession().createSQLQuery(sql);
            Object o = sqlQuery.uniqueResult();
            return Long.parseLong(o.toString());
        }
    
        @Override
        public Long countBySql(String sql, Map<String, Object> params) {
            SQLQuery sqlQuery = sessionFactory.getCurrentSession().createSQLQuery(sql);
            if (params != null && !params.isEmpty()) {
                for (String key : params.keySet()) {
                    sqlQuery.setParameter(key, params.get(key));
                }
            }
            Object o = sqlQuery.uniqueResult();
            return Long.parseLong(o.toString());
        }
    
        @Override
        public List findByHqL(String hql) {
            Query query = sessionFactory.getCurrentSession().createQuery(hql);
            return query.list();
        }
    
        @Override
        public List findByHqL(String hql, Map<String, Object> params) {
            Query query = sessionFactory.getCurrentSession().createQuery(hql);
            if (params != null && !params.isEmpty()) {
                for (String key : params.keySet()) {
                    query.setParameter(key, params.get(key));
                }
            }
            return query.list();
        }
    
        @Override
        public List findByHqL(String hql, int pageNo, int pageSize) {
            Query query = sessionFactory.getCurrentSession().createQuery(hql);
            return query.setFirstResult((pageNo - 1) * pageSize).setMaxResults(pageSize).list();
        }
    
        @Override
        public List findByHqL(String hql, Map<String, Object> params, int pageNo, int pageSize) {
            Query query = sessionFactory.getCurrentSession().createQuery(hql);
            if (params != null && !params.isEmpty()) {
                for (String key : params.keySet()) {
                    query.setParameter(key, params.get(key));
                }
            }
            return query.setFirstResult((pageNo - 1) * pageSize).setMaxResults(pageSize).list();
        }
    }
    View Code
    IBaseService<T>
    package com.sys.service;
    
    import java.io.Serializable;
    import java.util.List;
    import java.util.Map;
    
    public interface IBaseService<T> {
    
        /**
         * 保存一个对象
         *
         * @param o 对象
         * @return 对象的ID
         */
        public Serializable save(T o);
    
        /**
         * 删除一个对象
         *
         * @param o 对象
         */
        public void delete(T o);
    
        /**
         * 更新一个对象
         *
         * @param o 对象
         */
        public void update(T o);
    
        /**
         * 保存或更新一个对象
         *
         * @param o 对象
         */
        public void saveOrUpdate(T o);
    
        /**
         * 通过主键获得对象
         *
         * @param c  类名.class
         * @param id 主键
         * @return 对象
         */
        public T getById(Class<T> c, Serializable id);
    
        /**
         * 通过HQL语句获取一个对象
         *
         * @param hql HQL语句
         * @return 对象
         */
        public T getByHql(String hql);
    
        /**
         * 通过HQL语句获取一个对象
         *
         * @param hql    HQL语句
         * @param params 参数
         * @return 对象
         */
        public T getByHql(String hql, Map<String, Object> params);
    
        /**
         * 获得对象列表
         *
         * @param hql HQL语句
         * @return List
         */
        public List<T> find(String hql);
    
        /**
         * 获得对象列表
         *
         * @param hql    HQL语句
         * @param params 参数
         * @return List
         */
        public List<T> find(String hql, Map<String, Object> params);
    
        /**
         * 获得分页后的对象列表
         *
         * @param hql  HQL语句
         * @param page 要显示第几页
         * @param rows 每页显示多少条
         * @return List
         */
        public List<T> find(String hql, int pageNo, int pageSize);
    
        /**
         * 获得分页后的对象列表
         *
         * @param hql    HQL语句
         * @param params 参数
         * @param page   要显示第几页
         * @param rows   每页显示多少条
         * @return List
         */
        public List<T> find(String hql, Map<String, Object> params, int pageNo, int pageSize);
    
        /**
         * 统计数目
         *
         * @param hql HQL语句(select count(*) from T)
         * @return long
         */
        public Long count(String hql);
    
        /**
         * 统计数目
         *
         * @param hql    HQL语句(select count(*) from T where xx = :xx)
         * @param params 参数
         * @return long
         */
        public Long count(String hql, Map<String, Object> params);
    
        /**
         * 执行一条HQL语句
         *
         * @param hql HQL语句
         * @return 响应结果数目
         */
        public int executeHql(String hql);
    
        /**
         * 执行一条HQL语句
         *
         * @param hql    HQL语句
         * @param params 参数
         * @return 响应结果数目
         */
        public int executeHql(String hql, Map<String, Object> params);
    
        /**
         * 获得结果集
         *
         * @param sql SQL语句
         * @return 结果集
         */
        public List<Map> findBySql(String sql);
    
        /**
         * 获得结果集
         *
         * @param sql  SQL语句
         * @param page 要显示第几页
         * @param rows 每页显示多少条
         * @return 结果集
         */
        public List<Map> findBySql(String sql, int pageNo, int pageSize);
    
        /**
         * 获得结果集
         *
         * @param sql    SQL语句
         * @param params 参数
         * @return 结果集
         */
        public List<Map> findBySql(String sql, Map<String, Object> params);
    
        /**
         * 获得结果集
         *
         * @param sql    SQL语句
         * @param params 参数
         * @param page   要显示第几页
         * @param rows   每页显示多少条
         * @return 结果集
         */
        public List<Map> findBySql(String sql, Map<String, Object> params, int pageNo, int pageSize);
    
        /**
         * 执行SQL语句
         *
         * @param sql SQL语句
         * @return 响应行数
         */
        public int executeSql(String sql);
    
        /**
         * 执行SQL语句
         *
         * @param sql    SQL语句
         * @param params 参数
         * @return 响应行数
         */
        public int executeSql(String sql, Map<String, Object> params);
    
        /**
         * 统计
         *
         * @param sql SQL语句
         * @return 数目
         */
        public Long countBySql(String sql);
    
        /**
         * 统计
         *
         * @param sql    SQL语句
         * @param params 参数
         * @return 数目
         */
        public Long countBySql(String sql, Map<String, Object> params);
    
        /**
         * 获得对象列表,多表查询时使用
         *
         * @param hql HQL语句
         * @return List
         */
        public List findByHqL(String hql);
    
        /**
         * 获得对象列表 ,多表查询时使用
         *
         * @param hql    HQL语句
         * @param params 参数
         * @return List
         */
        public List findByHqL(String hql, Map<String, Object> params);
    
        /**
         * 获得分页后的对象列表,多表查询时使用
         *
         * @param hql  HQL语句
         * @param page 要显示第几页
         * @param rows 每页显示多少条
         * @return List
         */
        public List findByHqL(String hql, int pageNo, int pageSize);
    
        /**
         * 获得分页后的对象列表,多表查询时使用
         *
         * @param hql    HQL语句
         * @param params 参数
         * @param page   要显示第几页
         * @param rows   每页显示多少条
         * @return List
         */
        public List findByHqL(String hql, Map<String, Object> params, int pageNo, int pageSize);
    }
    View Code
    BaseServiceImpl<T>
    package com.sys.service.impl;
    
    import com.sys.dao.IBaseDao;
    import com.sys.service.IBaseService;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Service;
    import org.springframework.transaction.annotation.Transactional;
    
    import java.io.Serializable;
    import java.util.List;
    import java.util.Map;
    
    @Service("baseService")
    @Transactional
    public class BaseServiceImpl<T> implements IBaseService<T> {
    
        IBaseDao<T> baseDao;
    
        public IBaseDao getBaseDao() {
            return baseDao;
        }
    
        @Autowired
        public void setBaseDao(IBaseDao baseDao) {
            this.baseDao = baseDao;
        }
    
        @Override
        public Serializable save(T o) {
            return baseDao.save(o);
        }
    
        @Override
        public void delete(T o) {
            baseDao.delete(o);
        }
    
        @Override
        public void update(T o) {
            baseDao.update(o);
        }
    
        @Override
        public void saveOrUpdate(T o) {
            baseDao.saveOrUpdate(o);
        }
    
        @Override
        public T getById(Class<T> c, Serializable id) {
            return baseDao.getById(c, id);
        }
    
        @Override
        public T getByHql(String hql) {
            return baseDao.getByHql(hql);
        }
    
        @Override
        public T getByHql(String hql, Map<String, Object> params) {
            return baseDao.getByHql(hql, params);
        }
    
        @Override
        public List<T> find(String hql) {
            return baseDao.find(hql);
        }
    
        @Override
        public List<T> find(String hql, Map<String, Object> params) {
            return baseDao.find(hql, params);
        }
    
        @Override
        public List<T> find(String hql, int pageNo, int pageSize) {
            return baseDao.find(hql, pageNo, pageSize);
        }
    
        @Override
        public List<T> find(String hql, Map<String, Object> params, int pageNo, int pageSize) {
            return baseDao.find(hql, params, pageNo, pageSize);
        }
    
        @Override
        public Long count(String hql) {
            return baseDao.count(hql);
        }
    
        @Override
        public Long count(String hql, Map<String, Object> params) {
            return baseDao.count(hql, params);
        }
    
        @Override
        public int executeHql(String hql) {
            return baseDao.executeHql(hql);
        }
    
        @Override
        public int executeHql(String hql, Map<String, Object> params) {
            return baseDao.executeHql(hql, params);
        }
    
        @Override
        public List<Map> findBySql(String sql) {
            return baseDao.findBySql(sql);
        }
    
        @Override
        public List<Map> findBySql(String sql, int pageNo, int pageSize) {
            return baseDao.findBySql(sql, pageNo, pageSize);
        }
    
        @Override
        public List<Map> findBySql(String sql, Map<String, Object> params) {
            return baseDao.findBySql(sql, params);
        }
    
        @Override
        public List<Map> findBySql(String sql, Map<String, Object> params, int pageNo, int pageSize) {
            return baseDao.findBySql(sql, params, pageNo, pageSize);
        }
    
        @Override
        public int executeSql(String sql) {
            return baseDao.executeSql(sql);
        }
    
        @Override
        public int executeSql(String sql, Map<String, Object> params) {
            return baseDao.executeSql(sql, params);
        }
    
        @Override
        public Long countBySql(String sql) {
            return baseDao.countBySql(sql);
        }
    
        @Override
        public Long countBySql(String sql, Map<String, Object> params) {
            return baseDao.countBySql(sql, params);
        }
    
        @Override
        public List findByHqL(String hql) {
            return baseDao.findByHqL(hql);
        }
    
        @Override
        public List findByHqL(String hql, Map<String, Object> params) {
            return baseDao.findByHqL(hql, params);
        }
    
        @Override
        public List findByHqL(String hql, int pageNo, int pageSize) {
            return baseDao.findByHqL(hql, pageNo, pageSize);
        }
    
        @Override
        public List findByHqL(String hql, Map<String, Object> params, int pageNo, int pageSize) {
            return baseDao.findByHqL(hql, params, pageNo, pageSize);
        }
    }
    View Code
    ISystemUserService
    package com.sys.service;
    
    import com.model.TSystem_user;
    import com.pageModel.SysUserInf;
    import com.utils.AjaxResult;
    import com.pageModel.DatagridForLayUI;
    
    import java.util.List;
    
    public interface ISystemUserService extends IBaseService<TSystem_user> {
        /**
         * 获取datagrid数据
         *
         * @param SysUserInf
         * @param writeOperInsCd
         * @return
         * @throws Exception
         */
        public DatagridForLayUI datagrid(SysUserInf SysUserInf, String writeOperInsCd) throws Exception;
    
        /**
         * 新增
         *
         * @param inf
         * @return
         */
        public SysUserInf add(SysUserInf inf);
    
        /**
         * 删除
         *
         * @param ids
         */
        public void remove(String ids);
    
        /**
         * 修改
         *
         * @param
         */
        public AjaxResult modify(SysUserInf inf);
    
        /**
         * 信息验证
         *
         * @param inf
         * @return
         */
        public AjaxResult verifyInfo(SysUserInf inf);
    
        /**
         * 密码重置
         *
         * @param operCd
         * @return
         */
        public AjaxResult redoPwd(String operCd);
    
        /**
         * 用户登录
         *
         * @param SysUserInf
         * @return
         */
        public AjaxResult userLogin(SysUserInf SysUserInf);
    
        /**
         * 修改密码
         *
         * @param SysUserInf
         * @return
         */
        public AjaxResult changepwd(SysUserInf SysUserInf);
    
        /**
         * 获取所有用户数据
         *
         * @return
         */
        public List<SysUserInf> getList();
    }
    View Code
    SystemUserServiceImpl
    package com.sys.service.impl;
    
    import cn.hutool.core.util.StrUtil;
    import com.model.TSystem_user;
    import com.pageModel.SessionInfo;
    import com.sun.net.httpserver.HttpContext;
    import com.utils.AjaxResult;
    import com.pageModel.DatagridForLayUI;
    import com.pageModel.SysUserInf;
    import com.sys.service.ISystemUserService;
    import com.utils.Contans;
    import org.springframework.beans.BeanUtils;
    import org.springframework.stereotype.Service;
    import org.springframework.transaction.annotation.Transactional;
    import org.springframework.web.context.request.RequestContextHolder;
    import org.springframework.web.context.request.ServletRequestAttributes;
    
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpSession;
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    
    @Service
    @Transactional
    public class SystemUserServiceImpl extends BaseServiceImpl<TSystem_user> implements ISystemUserService {
        @Override
        public DatagridForLayUI datagrid(SysUserInf SysUserInf, String writeOperInsCd) throws Exception {
            return null;
        }
    
        @Override
        public SysUserInf add(SysUserInf inf) {
            TSystem_user tSystem_user = new TSystem_user();
            BeanUtils.copyProperties(inf, tSystem_user);
            save(tSystem_user);
            BeanUtils.copyProperties(tSystem_user, inf);
            return inf;
        }
    
        @Override
        public void remove(String ids) {
            String[] nids = ids.split(",");
            String sql = "update tv_system_user set isdel='1' t where t.sys_code in (";
            for (int i = 0; i < nids.length; i++) {
                if (i > 0) {
                    sql += ",";
                }
                sql += "'" + nids[i] + "'";
            }
            sql += ")";
            executeSql(sql);
        }
    
        @Override
        public AjaxResult modify(SysUserInf inf) {
            TSystem_user dbUser = getById(TSystem_user.class, inf.getSysCode());
            if (null == dbUser) {
                return new AjaxResult(false, "修改失败:找不到要修改的信息");
            }
            TSystem_user newObj = new TSystem_user();
            BeanUtils.copyProperties(inf, newObj);
            update(newObj);
            return new AjaxResult();
        }
    
        @Override
        public AjaxResult verifyInfo(SysUserInf inf) {
            Map<String, Object> params = new HashMap<>();
            if (!StrUtil.isEmpty(inf.getSysCode().toString())) {
                params.put("sysCode", inf.getSysCode());
            }
            Long count = super.count("select count(*) from TSystem_user t where t.sysCode =:sysCode ", params);
            return count > 0 ? new AjaxResult(false, "新增失败:用户名已经存在") : new AjaxResult(true, "成功!");
        }
    
        @Override
        public AjaxResult redoPwd(String sysCode) {
            return null;
        }
    
        @Override
        public AjaxResult userLogin(SysUserInf SysUserInf) {
            AjaxResult ajaxResult = new AjaxResult();
            Map<String, Object> params = new HashMap<String, Object>();
            params.put("login_Id", SysUserInf.getLogin_Id());
            params.put("login_Pwd", SysUserInf.getLogin_Pwd());
            TSystem_user tSystem_user = getByHql("from TSystem_user where login_Id=:login_Id and login_Pwd=:login_Pwd ", params);
            if (tSystem_user == null) {
                return new AjaxResult(false, "用户名或者密码不正确");
            }
            SessionInfo sessionInfo = new SessionInfo();
            BeanUtils.copyProperties(tSystem_user, SysUserInf);
            sessionInfo.setSysUserInf(SysUserInf);
            HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
            HttpSession session = request.getSession();
            session.setAttribute(Contans.SESSION_BEAN, sessionInfo);
            return ajaxResult;
        }
    
        @Override
        public AjaxResult changepwd(SysUserInf SysUserInf) {
            Map<String, Object> params = new HashMap<String, Object>();
            params.put("sys_code", SysUserInf.getLogin_Id());
            params.put("login_pwd", SysUserInf.getLogin_Pwd());
            String sql = "update tv_system_user set login_pwd=:login_pwd where sys_code=:sys_code";
            executeSql(sql, params);
            return new AjaxResult(true, "密码修改成功");
        }
    
        @Override
        public List<SysUserInf> getList() {
            List<SysUserInf> list = new ArrayList<>();
            String hql = "from TSystem_user ";
            List<TSystem_user> tSystem_users = find(hql);
            for (TSystem_user user : tSystem_users) {
                SysUserInf info = new SysUserInf();
                BeanUtils.copyProperties(user, info);
                list.add(info);
            }
            return list;
        }
    }
    View Code

  • 相关阅读:
    英文哲理短句
    经历的一次诈骗
    英文哲理短句
    反思对待新人的方式
    Java 开源报表制作
    现在开始写字
    关于Visual C++ 6.0的调试技巧和经验总结
    一步一步教你实现CTreeCtrl 自绘
    VC中动态加载ODBC解决方法
    VC++程序编译链接的原理与过程
  • 原文地址:https://www.cnblogs.com/kikyoqiang/p/12506563.html
Copyright © 2020-2023  润新知