pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/role/RoleSv.java
@@ -3,8 +3,11 @@
import com.dy.common.webUtil.QueryResultVo;
import com.dy.pipIrrBase.user.QueryVo;
import com.dy.pipIrrGlobal.daoBa.BaRoleMapper;
import com.dy.pipIrrGlobal.daoBa.BaRolePermissionsMapper;
import com.dy.pipIrrGlobal.daoBa.BaRolePrivilegeMapper;
import com.dy.pipIrrGlobal.pojoBa.BaRole;
import com.dy.pipIrrGlobal.pojoBa.BaRolePermissions;
import com.dy.pipIrrGlobal.pojoBa.BaRolePrivilege;
import lombok.extern.slf4j.Slf4j;
import org.apache.dubbo.common.utils.PojoUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -31,16 +34,16 @@
        this.rolePrivDao = dao;
    }
    @Autowired
    private BaRolePermissionsMapper baRolePermissionsMapper;
    /**
     * 得到所有角色
     * @return 所有角色集合
     */
    @SuppressWarnings("unchecked")
    public QueryResultVo<List<BaRole>> selectAll(QueryVo vo){
        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(vo) ;
    public QueryResultVo<List<BaRole>> selectAll(){
        QueryResultVo<List<BaRole>> rsVo = new QueryResultVo<>() ;
        rsVo.obj = this.dao.selectAll(params) ;
        rsVo.obj = this.dao.selectAll() ;
        return rsVo ;
    }
@@ -79,9 +82,15 @@
     * @param po 实体
     * @return 影响记录数量
     */
    /**
     * 12月20日 朱宝民修改返回值,添加角色后返回主键
     */
    @Transactional
    public int save(BaRole po){
        return this.dao.insert(po) ;
    public Long save(BaRole po){
        //return this.dao.putin(po) ;
        this.dao.putin(po) ;
        return po.getId();
    }
    /**
@@ -95,18 +104,54 @@
    }
    /**
     * 设置角色权限
     * @param roleId 角色id
     * @param priviIds 选择的权限id集合
     * @return 插入角色与权限关联记录数量
     */
    public int setRoles(Long roleId, Long[] priviIds){
        this.rolePrivDao.deleteByRoleId(roleId) ;
        int count = 0 ;
        if(priviIds != null && priviIds.length > 0){
            for(Long privId : priviIds){
                count += this.rolePrivDao.insertSelective(new BaRolePrivilege(roleId, privId)) ;
            }
        }
        return count ;
    }
    /**
     * 保存修改实体
     * @param id 实体ID
     * @return 影响记录数量
     */
    @Transactional
    public int delete(Long id){
        int count = this.dao.deleteLogicById(id) ;
        if(count > 0){
            this.rolePrivDao.deleteByRoleId(id) ;
        }
        return count ;
        //int count = this.dao.deleteLogicById(id) ;
        //逻辑删除,所以不实际删除其关联的权限
        //if(count > 0){
        //    this.rolePrivDao.deleteByRoleId(id) ;
        //}
        //return count ;
        return this.dao.deleteLogicById(id) ;
    }
    /**
     * 添加授权记录
     * @param po
     * @return
     */
    public Integer addPermissions(BaRolePermissions po) {
        return baRolePermissionsMapper.insert(po);
    }
    /**
     * 依据角色编号删除授权记录
     * @param roleid
     * @return
     */
    public Integer delPermissionsByRoleId(Long roleid) {
        return baRolePermissionsMapper.delPermissionsByRoleId(roleid);
    }
}