guoyuji
2024-05-11 05dbb19d1826ae4b888340d53b56746c1efa66cc
登录时获取用户权限
10个文件已修改
62 ■■■■■ 已修改文件
north-glass-erp/northglass-erp/src/components/sd/product/GlassType.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/stores/userInfo.js 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/sd/order/SelectOrder.vue 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/sd/product/CreateProduct.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/controller/dto/UserDTO.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/mapper/userInfo/PermissionBasicMapper.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/mapper/userInfo/PermissionRoleMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/service/userInfo/UserService.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/resources/mapper/userInfo/PermissionBasicMapper.xml 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/resources/mapper/userInfo/PermissionRoleMapper.xml 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/components/sd/product/GlassType.vue
@@ -16,6 +16,7 @@
    ElMessage.warning(res.msg)
  }
})
</script>
<template>
north-glass-erp/northglass-erp/src/stores/userInfo.js
@@ -6,7 +6,8 @@
    state: () =>({
            user:ref({
                userName:null,
                userId:null
                userId:null,
                permissions:[]
            }),
            responseCode:null,
            msg:null
north-glass-erp/northglass-erp/src/views/sd/order/SelectOrder.vue
@@ -7,9 +7,10 @@
  import deepClone from "@/utils/deepClone"
  import {ElMessage} from "element-plus"
  import {VXETable} from "vxe-table"
  import  useUserInfoStore from '@/stores/userInfo'
  import {useI18n} from "vue-i18n"
  import {toolbarButtonClickEvent} from "@/hook/mouseMove";
  const { t } = useI18n()
  const userStore = useUserInfoStore()
  const router = useRouter()
  let rowClickIndex = ref(null)
  const dialogTableVisible = ref(false)
@@ -355,7 +356,13 @@
      <!--左边固定显示的插槽-->
      <template #button_slot="{ row }">
        <el-button @click="getTableRow(row,'edit')" link type="primary" size="small">{{ $t('basicData.edit') }}</el-button>
        <el-button @click="getTableRow(row,'edit')"
                   v-if="userStore.user.permissions.indexOf('selectOrder.edit') > -1"
                   link
                   type="primary"
                   size="small">
          {{ $t('basicData.edit') }}
        </el-button>
        <el-popconfirm @confirm="getTableRow(row,'delete')" :title="$t('searchOrder.deleteConfirm')">
          <template #reference>
            <el-button  link type="primary" size="small">{{ $t('basicData.delete') }}</el-button>
north-glass-erp/northglass-erp/src/views/sd/product/CreateProduct.vue
@@ -95,6 +95,7 @@
        item.separation = JSON.parse(item.separation)
      })
      productTotal.value = res.data.title
      productGlassTypeStore.GlassType =[res.data.title.typeId.substring(0,2),res.data.title.typeId]
      //BasicData.value = res.data
    }else{
      ElMessage.warning(res.msg)
north-glass-erp/src/main/java/com/example/erp/controller/dto/UserDTO.java
@@ -1,6 +1,9 @@
package com.example.erp.controller.dto;
import lombok.Data;
import java.util.List;
@Data //用于接受前端登录额user信息
public class UserDTO {
    private Integer id;
@@ -8,4 +11,5 @@
    private String pass;
    private String token;
    private String userName;
    private List<String> permissions;
}
north-glass-erp/src/main/java/com/example/erp/mapper/userInfo/PermissionBasicMapper.java
@@ -14,4 +14,5 @@
     List<PermissionBasic> selectOneLevel(String lang);
     List<Map<String,Object>> selectTowLevel(Integer id);
}
north-glass-erp/src/main/java/com/example/erp/mapper/userInfo/PermissionRoleMapper.java
@@ -11,4 +11,6 @@
    List<String> getUserPermission(Integer loginId);
    Boolean saveBatch(List<PermissionRole> permissionRoles);
    List<String> getUserEditPermission(Integer loginId);
}
north-glass-erp/src/main/java/com/example/erp/service/userInfo/UserService.java
@@ -5,8 +5,11 @@
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.example.erp.controller.dto.UserDTO;
import com.example.erp.entity.userInfo.PermissionBasic;
import com.example.erp.entity.userInfo.Role;
import com.example.erp.entity.userInfo.User;
import com.example.erp.mapper.userInfo.PermissionBasicMapper;
import com.example.erp.mapper.userInfo.PermissionRoleMapper;
import com.example.erp.mapper.userInfo.RoleMapper;
import com.example.erp.mapper.userInfo.UserMapper;
import com.example.erp.tools.TokenTools;
@@ -28,9 +31,12 @@
    private final UserMapper userMapper;
    private final RoleMapper roleMapper;
    public UserService(UserMapper userMapper, RoleMapper roleMapper) {
   private final PermissionRoleMapper permissionRoleMapper;
    public UserService(UserMapper userMapper, RoleMapper roleMapper, PermissionRoleMapper permissionRoleMapper) {
        this.userMapper = userMapper;
        this.roleMapper = roleMapper;
        this.permissionRoleMapper = permissionRoleMapper;
    }
@@ -88,6 +94,7 @@
            userDTO.setId(user.getId());
            userDTO.setUserName(user.getUserName());
            userDTO.setToken(StpUtil.getTokenValue());
            userDTO.setPermissions(permissionRoleMapper.getUserEditPermission(user.getId()));
            return userDTO;
        }else{
            return null;
north-glass-erp/src/main/resources/mapper/userInfo/PermissionBasicMapper.xml
@@ -59,4 +59,6 @@
    </select>
</mapper>
north-glass-erp/src/main/resources/mapper/userInfo/PermissionRoleMapper.xml
@@ -21,6 +21,34 @@
        where a.id = #{loginId}
            and d.state = 1
    </select>
    <select id="getUserEditPermission">
        select
            concat(
                    if(d.page=null || d.page='','',concat(d.page, '.')),
                    d.permission
                ) as 'permission'
        <if test="loginId!=1">
        from user as a
                 left join user_role as e
                           on e.user_id = a.id
                 left join role as b
                           on e.role_id = b.id
                 left join permission_role as c
                           on b.id = c.role_id
                 left join permission_basic d
                           on  d.id = c.permission_id
                           and d.permission='edit'
        where a.id = #{loginId}
        </if>
        <if test="loginId==1">
            from permission_basic d
            where d.permission='edit'
        </if>
            and d.state = 1
        group by  d.id
    </select>
    
    <insert id="saveBatch">
        insert into