SysRoleDaoImpl.java 5.46 KB
package com.zteits.sys.dao.impl;

import java.util.ArrayList;
import java.util.List;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.zteits.clouds.api.apibase.bean.BizResult;
import com.zteits.clouds.api.apibase.constants.DataStatusEnum;
import com.zteits.clouds.api.dto.sys.param.QueryRoleExistByRoleNameRequest;
import com.zteits.clouds.api.dto.sys.param.QueryRolesByUserIdRequest;
import com.zteits.clouds.api.dto.sys.param.SysRoleQueryByOpIdRequest;
import com.zteits.clouds.api.dto.sys.param.SysRoleUpdateRequest;
import com.zteits.sys.dao.SysRoleDao;
import com.zteits.sys.domain.SysRole;
import com.zteits.sys.mapper.SysRoleMapper;
import com.zteits.sys.mapper.smapper.SysOpRoleSmapper;
import com.zteits.sys.mapper.smapper.SysRoleJobfuncSmapper;
import com.zteits.sys.mapper.smapper.SysRoleSmapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;

/**
 * Copyright: Copyright (c) 2017  zteits
 *
 * @ClassName: com.zteits.sys.dao.impl
 * @Description:
 * @version: v1.0.0
 * @author: atao
 * @date: 2017/4/24   上午10:58
 * Modification History:
 * Date         Author          Version      Description
 * ---------------------------------------------------------*
 * 2017/4/24      atao          v1.0.0          创建
 */
@Component
public class SysRoleDaoImpl implements SysRoleDao {

    @Autowired
    SysRoleMapper sysRoleMapper;

    @Autowired
    SysRoleSmapper sysRoleSmapper;
    @Autowired
    private SysOpRoleSmapper sysOpRoleSmapper;
    @Autowired
    private SysRoleJobfuncSmapper sysRoleJobfuncSmapper;

    @Override
    @Transactional
    public int logicDeleteBatchSysRoleByIds(String opId,List<Long> ids, String sysCode)  {
        SysRole sysRole = new SysRole();
        sysRole.setDataState(DataStatusEnum.DATA_STATUS_NO_VALID.value());
        sysRole.setModfiyEmpid(opId);
        //删除角色
        int num = sysRoleSmapper.updateBatchSysRoles(sysRole, ids, sysCode);
        for (Long id : ids) {
            //删除用户关系-直接删除
            sysOpRoleSmapper.deleBatchOpRoleByRoleId(id, null, sysCode);
            //删除职能关系-直接删除
            sysRoleJobfuncSmapper.deleteBatchRoleJobFunByRoleId(id, null, sysCode);
        }
        return num;
    }

    @Override
    public int logicDeleteSysRoleById(String opId,Long id, String sysCode)  {
        List<Long> ids = new ArrayList<>();
        ids.add(id);
        return logicDeleteBatchSysRoleByIds(opId,ids, sysCode);
    }

    @Override
    public int updateSysRole(SysRole sysRole)  {
        return sysRoleMapper.updateByPrimaryKeySelective(sysRole);
    }

    @Override
    public int updateBatchSysRoles(SysRole sysRole, List<Long> ids, String sysCode)  {
        return sysRoleSmapper.updateBatchSysRoles(sysRole, ids, sysCode);
    }

    @Override
    public PageInfo<SysRole> queryPageSysRole(SysRole sysRole, int pageNum, int pageSize, String sysCode){
        if (null == sysRole.getDataState()) {
            //如果没有设置数据状态,默认只查询有效数据
            sysRole.setDataState(DataStatusEnum.DATA_STATUS_VALID.value());
        }
        PageHelper.startPage(pageNum, pageSize, true);
        return new PageInfo<>(sysRoleSmapper.queryPageSysRole(sysRole, sysCode));
    }


    @Override
    public PageInfo<SysRole> queryPageSysRoleForList(SysRole sysRole, int pageNum, int pageSize, String sysCode){
        PageHelper.startPage(pageNum, pageSize, true);
        if (null == sysRole.getDataState()) {
            //如果没有设置数据状态,默认只查询有效数据
            sysRole.setDataState(DataStatusEnum.DATA_STATUS_VALID.value());
        }
        List<SysRole> list=sysRoleSmapper.queryPageSysRoleForList(sysRole, sysCode);
        return new PageInfo<SysRole>(list);
    }


    @Override
    public SysRole querySysRoleById(long id, String sysCode)  {
        return sysRoleMapper.selectByPrimaryKey(id);
    }

    @Override
    public List<SysRole> queryBatchSysRoleById(List<Long> ids, Integer dataStatus, String sysCode)  {

        return sysRoleSmapper.queryBatchSysRoleById(ids, dataStatus, sysCode);
    }

    @Override
    public int saveBatchSysRole(List<SysRole> sysRoles, String sysCode)  {
        return sysRoleSmapper.saveBatchSysRole(sysRoles, sysCode);
    }

    @Override
    public int saveSysRole(SysRole sysRole)  {
        return sysRoleMapper.insertSelective(sysRole);
    }

    /**
     * 通过sysCode查询角色列表 wangfs Edit.<br/>
     * @param sysCode
     * @return
     */
	@Override
	public List<SysRole> queryRoleBySysCode(SysRoleQueryByOpIdRequest request) {
		return sysRoleSmapper.queryRoleBySysCode(request);
	}

	@Override
	public List<SysRole> queryRolesByUserId(QueryRolesByUserIdRequest queryRolesByUserIdRequest) {
		return sysRoleSmapper.queryRolesByUserId(queryRolesByUserIdRequest);
	}

	@Override
	public Boolean queryRoleExistByRoleName(QueryRoleExistByRoleNameRequest queryRoleExistByRoleNameRequest) {
		int count = sysRoleSmapper.queryRoleExistByRoleName(queryRoleExistByRoleNameRequest);
		return count > 0 ? true : false;
	}

	@Override
	public BizResult<Integer> updateSysRoleOrgIdByOpOrgId(SysRoleUpdateRequest request) {
		SysRole record = new SysRole();
		record.setId(request.getId());
		record.setOrgId(request.getOrgId());
		Integer updateCount = sysRoleMapper.updateByPrimaryKeySelective(record);
		return new BizResult<Integer>(updateCount);
	}


}