From 7634d7ff15b1fa84ea84a51a1ba6e45b11a4aa21 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期日, 27 四月 2025 11:17:34 +0800
Subject: [PATCH] SSO登录逻辑再修改

---
 pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/role/RoleSv.java |  235 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 235 insertions(+), 0 deletions(-)

diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/role/RoleSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/role/RoleSv.java
new file mode 100644
index 0000000..fce86e8
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/role/RoleSv.java
@@ -0,0 +1,235 @@
+package com.dy.pipIrrBase.role;
+
+import com.alibaba.fastjson2.JSONArray;
+import com.dy.common.webUtil.QueryResultVo;
+import com.dy.pipIrrGlobal.daoBa.BaRoleMapper;
+import com.dy.pipIrrGlobal.daoBa.BaRolePermissionsMapper;
+import com.dy.pipIrrGlobal.pojoBa.BaRole;
+import com.dy.pipIrrGlobal.pojoBa.BaRolePermissions;
+import com.dy.pipIrrGlobal.voBa.VoRole;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.dubbo.common.utils.PojoUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.Optional;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2024-01-10 11:00
+ * @LastEditTime 2024-01-10 11:00
+ * @Description
+ */
+
+@Slf4j
+@Service
+public class RoleSv {
+
+    //private BaRoleMapper baRoleMapper;
+    //private BaRolePrivilegeMapper rolePrivDao ;
+
+    //@Autowired
+    //private void setDao(BaRoleMapper dao){
+    //    this.dao = dao;
+    //}
+
+    //@Autowired
+    //private void setRolePrivDao(BaRolePrivilegeMapper dao){
+    //    this.rolePrivDao = dao;
+    //}
+    @Autowired
+    private BaRoleMapper baRoleMapper;
+
+    @Autowired
+    private BaRolePermissionsMapper baRolePermissionsMapper;
+
+    /**
+     * 鏍规嵁鎸囧畾鏉′欢锛堣鑹茬紪鍙枫�佽鑹插悕绉帮級鑾峰彇瑙掕壊鍒楄〃
+     * 褰撹幏鍙栦竴鏉¤褰曟椂锛屼紶鍏oleId鍗冲彲
+     * @param queryVo
+     * @return
+     */
+    public QueryResultVo<List<VoRole>> getRoles(QueryVo queryVo) {
+        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo);
+
+        Long itemTotal = baRolePermissionsMapper.getRecordCount(params);
+
+        QueryResultVo<List<VoRole>> rsVo = new QueryResultVo<>() ;
+        //Integer pageCurr = 0;
+        //Integer pageSize = 10000;
+        //rsVo.pageCurr = 1;
+        //rsVo.pageSize = 10000;
+        //if(queryVo.pageSize != null && queryVo.pageCurr != null) {
+        //    rsVo.pageSize = queryVo.pageSize ;
+        //    rsVo.pageCurr = queryVo.pageCurr;
+        //    pageSize = queryVo.pageSize ;
+        //    pageCurr = (Integer.parseInt(params.get("pageCurr").toString()) - 1) * Integer.parseInt(params.get("pageSize").toString());
+        //}
+        //params.put("pageCurr", pageCurr);
+        //params.put("pageSize", pageSize);
+        rsVo.pageSize = queryVo.pageSize ;
+        rsVo.pageCurr = queryVo.pageCurr ;
+
+        rsVo.calculateAndSet(itemTotal, params);
+        //rsVo.obj = baRoleMapper.getRoles(params);
+
+        /**
+         * 鑾峰彇瑙掕壊鍒楄〃锛屾妸姹楄鑹叉潈闄怚D
+         * 閬嶅巻瑙掕壊鍒楄〃骞跺彇鍑鸿鑹插璞′腑鐨刾erId
+         * 鏍规嵁perId鑾峰彇鏉冮檺瀵硅薄锛屽苟灏嗗璞℃坊鍔犲埌瑙掕壊瀵硅薄涓�
+         */
+        List<VoRole> list_Roles = Optional.ofNullable(baRolePermissionsMapper.getRoles(params)).orElse(new ArrayList<>());
+        if(list_Roles.size() > 0) {
+            for(int i = 0; i < list_Roles.size(); i++) {
+                VoRole voRole = list_Roles.get(i);
+                Long perId = voRole.getPerId();
+                BaRolePermissions baRolePermissions = baRolePermissionsMapper.selectByPrimaryKey(perId);
+                JSONArray array_permission = JSONArray.parseArray("[]");
+                if(baRolePermissions != null) {
+                    array_permission = baRolePermissions.getPermissions();
+                }
+                voRole.setPermissions(array_permission);
+            }
+        }
+        rsVo.obj = list_Roles;
+        return rsVo ;
+    }
+
+    public BaRolePermissions getRolePermissionsById(Long id) {
+        return baRolePermissionsMapper.selectByPrimaryKey(id);
+    }
+
+    /**
+     * 寰楀埌鎵�鏈夎鑹�
+     * @return 鎵�鏈夎鑹查泦鍚�
+     */
+    //public QueryResultVo<List<BaRole>> selectAll(){
+    //    QueryResultVo<List<BaRole>> rsVo = new QueryResultVo<>() ;
+    //    rsVo.obj = this.dao.selectAll() ;
+    //    return rsVo ;
+    //}
+
+
+    /**
+     * 寰楀埌涓�涓鑹�
+     * @param id 瑙掕壊ID
+     * @return 瑙掕壊瀹炰綋
+     */
+    //public BaRole selectById(Long id){
+    //    return this.dao.selectById(id) ;
+    //}
+
+
+    /**
+     * 寰楀埌涓�涓敤鎴�
+     //* @param vo 鏌ヨ鏉′欢鍊煎璞�
+     * @return 鐢ㄦ埛瀹炰綋
+     */
+    @SuppressWarnings("unchecked")
+    //public QueryResultVo<List<BaRole>> selectSome(QueryVo vo){
+    //    Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(vo) ;
+    //    Long itemTotal = this.dao.selectTotal(params) ;
+    //
+    //    QueryResultVo<List<BaRole>> rsVo = new QueryResultVo<>() ;
+    //    rsVo.pageSize = vo.pageSize ;
+    //    rsVo.pageCurr = vo.pageCurr ;
+    //    rsVo.calculateAndSet(itemTotal, params);
+    //    rsVo.obj = this.dao.selectSome(params) ;
+    //
+    //    return rsVo ;
+    //}
+
+    /**
+     * 娣诲姞瑙掕壊
+     * @param po 瑙掕壊瀹炰綋
+     * @return 瑙掕壊ID
+     */
+    public Long addRole(BaRole po){
+        baRoleMapper.insert(po);
+        return po.getId();
+    }
+
+    /**
+     * 鏍规嵁瑙掕壊鍚嶇О鏌ヨ璁板綍鏁伴噺锛屾坊鍔犺鑹插墠鍒ゆ柇鏄惁閲嶅悕
+     * @param roleName 瑙掕壊鍚嶇О
+     * @return 绗﹀悎鏉′欢璁板綍鏁�
+     */
+    public Integer getRecordCountByName(String roleName) {
+        return baRoleMapper.getRecordCountByName(roleName);
+    }
+
+    /**
+     * 淇敼瑙掕壊
+     * @param record
+     * @return
+     */
+    public int updateRole(BaRole record) {
+        return baRoleMapper.updateByPrimaryKeySelective(record);
+    }
+
+    /**
+     * 鏍规嵁roleId閫昏緫鍒犻櫎瑙掕壊瀵硅薄
+     * @param roleId 瑙掕壊缂栧彿
+     * @return
+     */
+    public Integer deleteRoleById(Long roleId) {
+        return baRoleMapper.deleteRoleById(roleId);
+    }
+
+    /**
+     * 璁剧疆瑙掕壊鏉冮檺
+     * @param roleId 瑙掕壊id
+     * @param priviIds 閫夋嫨鐨勬潈闄恑d闆嗗悎
+     * @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 ;
+    //    return this.dao.deleteLogicById(id) ;
+    //}
+
+    /**
+     * 娣诲姞鎺堟潈璁板綍
+     * @Auth 鏈卞疂姘�
+     * @param po
+     * @return
+     */
+    public Integer addPermissions(BaRolePermissions po) {
+        return baRolePermissionsMapper.insert(po);
+    }
+
+    /**
+     * 渚濇嵁瑙掕壊缂栧彿鍒犻櫎鎺堟潈璁板綍
+     * @Auth 鏈卞疂姘�
+     * @param roleid
+     * @return
+     */
+    public Integer delPermissionsByRoleId(Long roleid) {
+        return baRolePermissionsMapper.delPermissionsByRoleId(roleid);
+    }
+
+}

--
Gitblit v1.8.0