Эх сурвалжийг харах

'教练列表增加数据权限'

Althars123 4 жил өмнө
parent
commit
26d6208475

+ 6 - 0
hzgzpt-common/src/main/java/com/miaxis/common/core/domain/BaseBusinessEntity.java

@@ -7,6 +7,8 @@ import lombok.Data;
 
 import java.io.Serializable;
 import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
 
 /**
  * Entity基类
@@ -33,6 +35,10 @@ public class BaseBusinessEntity implements Serializable
     @ApiModelProperty(value = "更新时间" ,hidden = true)
     private Date updateTime;
 
+    /** 请求参数 */
+    @ApiModelProperty(value = "请求参数",hidden = true)
+    private Map<String, Object> params = new HashMap<String, Object>();
+
 
 
 }

+ 18 - 7
hzgzpt-framework/src/main/java/com/miaxis/framework/aspectj/DataScopeAspect.java

@@ -1,6 +1,7 @@
 package com.miaxis.framework.aspectj;
 
 import com.miaxis.common.annotation.DataScope;
+import com.miaxis.common.core.domain.BaseBusinessEntity;
 import com.miaxis.common.core.domain.BaseEntity;
 import com.miaxis.common.core.domain.entity.SysRole;
 import com.miaxis.common.core.domain.entity.SysUser;
@@ -58,6 +59,11 @@ public class DataScopeAspect
      */
     public static final String DATA_SCOPE = "dataScope";
 
+    /**
+     * 部门表id(抽象概念,比如可以是驾校等)
+     */
+    public static final String DEPT_ID = "id";
+
     // 配置织入点
     @Pointcut("@annotation(com.miaxis.common.annotation.DataScope)")
     public void dataScopePointCut()
@@ -114,17 +120,17 @@ public class DataScopeAspect
             else if (DATA_SCOPE_CUSTOM.equals(dataScope))
             {
                 sqlString.append(StringUtils.format(
-                        " OR {}.dept_id IN ( SELECT dept_id FROM sys_role_dept WHERE role_id = {} ) ", deptAlias,
+                        " OR {}." +DEPT_ID+ " IN ( SELECT " +DEPT_ID+ " FROM sys_role_dept WHERE role_id = {} ) ", deptAlias,
                         role.getRoleId()));
             }
             else if (DATA_SCOPE_DEPT.equals(dataScope))
             {
-                sqlString.append(StringUtils.format(" OR {}.dept_id = {} ", deptAlias, user.getDeptId()));
+                sqlString.append(StringUtils.format(" OR {}." +DEPT_ID+ " = {} ", deptAlias, user.getDeptId()));
             }
             else if (DATA_SCOPE_DEPT_AND_CHILD.equals(dataScope))
             {
                 sqlString.append(StringUtils.format(
-                        " OR {}.dept_id IN ( SELECT dept_id FROM sys_dept WHERE dept_id = {} or find_in_set( {} , ancestors ) )",
+                        " OR {}." +DEPT_ID+ " IN ( SELECT " +DEPT_ID+ " FROM sys_dept WHERE " +DEPT_ID+ " = {} or find_in_set( {} , ancestors ) )",
                         deptAlias, user.getDeptId(), user.getDeptId()));
             }
             else if (DATA_SCOPE_SELF.equals(dataScope))
@@ -144,10 +150,15 @@ public class DataScopeAspect
         if (StringUtils.isNotBlank(sqlString.toString()))
         {
             Object params = joinPoint.getArgs()[0];
-            if (StringUtils.isNotNull(params) && params instanceof BaseEntity)
-            {
-                BaseEntity baseEntity = (BaseEntity) params;
-                baseEntity.getParams().put(DATA_SCOPE, " AND (" + sqlString.substring(4) + ")");
+            if (StringUtils.isNotNull(params) ){
+                if (params instanceof BaseEntity){
+                    BaseEntity baseEntity = (BaseEntity) params;
+                    baseEntity.getParams().put(DATA_SCOPE, " AND (" + sqlString.substring(4) + ")");
+                }else if (params instanceof BaseBusinessEntity){
+                    BaseBusinessEntity baseEntity = (BaseBusinessEntity) params;
+                    baseEntity.getParams().put(DATA_SCOPE, " AND (" + sqlString.substring(4) + ")");
+
+                }
             }
         }
     }

+ 2 - 4
hzgzpt-service/src/main/java/com/miaxis/coach/dto/CoachInfoPcDTO.java

@@ -1,12 +1,10 @@
 package com.miaxis.coach.dto;
 
-import com.fasterxml.jackson.annotation.JsonFormat;
+import com.miaxis.common.core.domain.BaseBusinessEntity;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
-import java.util.Date;
-
 /**
  * pc教练对象入参
  *
@@ -15,7 +13,7 @@ import java.util.Date;
  */
 @Data
 @ApiModel(value = "CoachInfo", description = "pc教练对象入参")
-public class CoachInfoPcDTO {
+public class CoachInfoPcDTO extends BaseBusinessEntity {
 
     /** 教练员全国统一编号 */
     @ApiModelProperty(value = "教练员全国统一编号")

+ 6 - 10
hzgzpt-service/src/main/java/com/miaxis/coach/service/impl/CoachInfoServiceImpl.java

@@ -1,26 +1,21 @@
 package com.miaxis.coach.service.impl;
 
-import java.util.List;
-
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.miaxis.coach.domain.CoachInfo;
 import com.miaxis.coach.dto.CoachInfoDTO;
 import com.miaxis.coach.dto.CoachInfoPcDTO;
 import com.miaxis.coach.dto.CoachInfoVO;
+import com.miaxis.coach.mapper.CoachInfoMapper;
+import com.miaxis.coach.service.ICoachInfoService;
 import com.miaxis.coach.vo.CoachInfoPcVO;
+import com.miaxis.common.annotation.DataScope;
 import com.miaxis.common.utils.DateUtils;
 import com.miaxis.common.utils.SecurityUtils;
-import com.miaxis.common.utils.sign.Md5Utils;
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import com.miaxis.coach.mapper.CoachInfoMapper;
-import com.miaxis.coach.domain.CoachInfo;
-import com.miaxis.coach.service.ICoachInfoService;
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
+import java.util.List;
 
 /**
  * 教练Service业务层处理
@@ -101,6 +96,7 @@ public class CoachInfoServiceImpl extends ServiceImpl<CoachInfoMapper, CoachInfo
      * pc查询教练列表
      */
     @Override
+    @DataScope(deptAlias ="d")
     public List<CoachInfoPcVO> queryList(CoachInfoPcDTO coachInfo) {
         return coachInfoMapper.queryList(coachInfo);
     }

+ 5 - 7
hzgzpt-service/src/main/java/com/miaxis/school/service/impl/SchoolInfoServiceImpl.java

@@ -1,24 +1,22 @@
 package com.miaxis.school.service.impl;
 
-import java.util.Arrays;
-import java.util.List;
-
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.miaxis.common.utils.DateUtils;
+import com.miaxis.school.domain.SchoolInfo;
 import com.miaxis.school.dto.SchoolInfoDTO;
 import com.miaxis.school.dto.SchoolInfoEvalDTO;
 import com.miaxis.school.dto.SchoolInfoPcDTO;
+import com.miaxis.school.mapper.SchoolInfoMapper;
+import com.miaxis.school.service.ISchoolInfoService;
 import com.miaxis.school.vo.SchoolInfoDetailPcVO;
 import com.miaxis.school.vo.SchoolInfoEvalVO;
 import com.miaxis.school.vo.SchoolInfoPcVO;
 import com.miaxis.school.vo.SchoolInfoVO;
-import com.miaxis.common.utils.DateUtils;
 import org.springframework.stereotype.Service;
-import com.miaxis.school.mapper.SchoolInfoMapper;
-import com.miaxis.school.domain.SchoolInfo;
-import com.miaxis.school.service.ISchoolInfoService;
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
+import java.util.List;
 
 /**
  * 驾校Service业务层处理

+ 3 - 0
hzgzpt-service/src/main/resources/mapper/coach/CoachInfoMapper.xml

@@ -164,11 +164,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         ci.`mobile`
         FROM
         coach_info ci
+        join school_info d on ci.inscode= d.inscode
         <where>
             <if test="name != null  and name != ''"> and ci.`name` like concat('%', #{name}, '%')</if>
             <if test="coachnum != null  and coachnum != ''"> and ci.coachnum = #{coachnum}</if>
             <if test="mobile != null  and mobile != ''"> and ci.mobile = #{mobile}</if>
         </where>
+        <!-- 数据范围过滤 -->
+        ${params.dataScope}
     </select>
 
     <!--密码重置-->