Browse Source

Merge branch 'zouxuan' of http://git.dayaedu.com/yonge/mec

zouxuan 5 năm trước cách đây
mục cha
commit
be80b5b85f

+ 2 - 10
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/SubjectDao.java

@@ -30,20 +30,12 @@ public interface SubjectDao extends BaseDAO<Integer, Subject> {
     List<Subject> findSubByChargeType(Integer chargeTypeId);
 
     /**
-     * 根据科目code查科目
-     *
-     * @param code
-     * @return Subject
-     */
-    Subject findByCode(@Param("code") String code);
-
-    /**
      * 根据父级id查询子级列表
      *
      * @param parentId
      * @return
      */
-    List<Subject> findByParentId(@Param("parentId") Integer parentId, @Param("delFlag") YesOrNoEnum delFlag);
+    List<Subject> findByParentId(@Param("parentId") Integer parentId, @Param("delFlag") YesOrNoEnum delFlag,@Param("tenantId")Integer tenantId);
 
     /**
      * 通过乐团收费类型,获取默认的声部列表
@@ -100,7 +92,7 @@ public interface SubjectDao extends BaseDAO<Integer, Subject> {
      *
      * @return
      */
-    List<Subject> findSubSubjects();
+    List<Subject> findSubSubjects(@Param("tenantId") Integer tenantId);
 
     List<Subject> findBySubjectByIdList(@Param("subjectIdList") String subjectIdList);
 

+ 12 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/Subject.java

@@ -47,9 +47,21 @@ public class Subject {
 	private BigDecimal fee;
 
 	/**  */
+	@ApiModelProperty(value = "对内1对外2",required = false)
+	private Integer tenantId = 1;
+
+	/**  */
 	@ApiModelProperty(value = "子节点列表",required = false)
 	private List<Subject> subjects;
 
+	public Integer getTenantId() {
+		return tenantId;
+	}
+
+	public void setTenantId(Integer tenantId) {
+		this.tenantId = tenantId;
+	}
+
 	public List<Subject> getSubjects() {
 		return subjects;
 	}

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/SubjectQueryInfo.java

@@ -12,6 +12,17 @@ public class SubjectQueryInfo extends QueryInfo {
     @ApiModelProperty(value = "节点状态,默认0未删除,1删除",required = false)
     private YesOrNoEnum delFlag = YesOrNoEnum.NO;
 
+    @ApiModelProperty(value = "对内1对外2",required = false)
+    private Integer tenantId;
+
+    public Integer getTenantId() {
+        return tenantId;
+    }
+
+    public void setTenantId(Integer tenantId) {
+        this.tenantId = tenantId;
+    }
+
     public YesOrNoEnum getDelFlag() {
         return delFlag;
     }

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/TeacherQueryInfo.java

@@ -24,10 +24,21 @@ public class TeacherQueryInfo extends QueryInfo {
 
     @ApiModelProperty(value = "账号状态")
     private String lockFlag;
+
+    @ApiModelProperty(value = "1内2外")
+    private Integer tenantId;
     
     @ApiModelProperty(value = "是否支持额外陪练课授课")
     private Boolean isSupportExtraPracticeLesson;
 
+    public Integer getTenantId() {
+        return tenantId;
+    }
+
+    public void setTenantId(Integer tenantId) {
+        this.tenantId = tenantId;
+    }
+
     public List<Integer> getTeacherId() {
         return teacherId;
     }

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/SubjectService.java

@@ -82,7 +82,7 @@ public interface SubjectService extends BaseService<Integer, Subject> {
      * 获取子级科目列表
      * @return
      */
-    List<Subject> findSubSubjects();
+    List<Subject> findSubSubjects(Integer tenantId);
 
     List<Subject> findBySubjectByIdList(List<Integer> subjectIdList);
 

+ 6 - 6
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SubjectServiceImpl.java

@@ -53,7 +53,7 @@ public class SubjectServiceImpl extends BaseServiceImpl<Integer, Subject>  imple
     public PageInfo<Subject> queryPageTree(SubjectQueryInfo queryInfo) {
         PageInfo<Subject> pageInfo = queryPage(queryInfo);
         for (Subject subject:pageInfo.getRows()) {
-            subject = getTree(subject,queryInfo.getDelFlag());
+            subject = getTree(subject,queryInfo.getDelFlag(),queryInfo.getTenantId());
         }
         return pageInfo;
     }
@@ -135,17 +135,17 @@ public class SubjectServiceImpl extends BaseServiceImpl<Integer, Subject>  imple
     }
 
 
-    private Subject getTree(Subject sub,YesOrNoEnum yesOrNoEnum){
+    private Subject getTree(Subject sub,YesOrNoEnum yesOrNoEnum,Integer tenantId){
         //得到根节点对象
         //获取子节点list
-        List<Subject> subjects = subjectDao.findByParentId(sub.getId(),yesOrNoEnum);
+        List<Subject> subjects = subjectDao.findByParentId(sub.getId(),yesOrNoEnum,tenantId);
         //如果存在子节点
         if(subjects != null && subjects.size() > 0) {
             //将子节点list放入父节点对象
             sub.setSubjects(subjects);
             //遍历子节点....
             for (Subject subject : subjects) {
-                getTree(subject,yesOrNoEnum);
+                getTree(subject,yesOrNoEnum,tenantId);
             }
         }
         return sub;
@@ -176,8 +176,8 @@ public class SubjectServiceImpl extends BaseServiceImpl<Integer, Subject>  imple
     }
 
     @Override
-    public List<Subject> findSubSubjects() {
-        return subjectDao.findSubSubjects();
+    public List<Subject> findSubSubjects(Integer tenantId) {
+        return subjectDao.findSubSubjects(tenantId);
     }
 
     @Override

+ 16 - 9
mec-biz/src/main/resources/config/mybatis/SubjectMapper.xml

@@ -14,6 +14,7 @@
         <result column="img_" property="img"/>
         <result column="create_time_" property="createTime"/>
         <result column="update_time_" property="updateTime"/>
+        <result column="tenant_id_" property="tenantId"/>
         <result column="del_flag_" property="delFlag" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
     </resultMap>
 
@@ -30,14 +31,17 @@
     <!-- 向数据库增加一条记录 -->
     <insert id="insert" parameterType="com.ym.mec.biz.dal.entity.Subject" useGeneratedKeys="true" keyColumn="id"
             keyProperty="id">
-        INSERT INTO subject (id_,name_,code_,parent_subject_id_,img_,create_time_,update_time_)
-        VALUES(#{id},#{name},#{code},#{parentSubjectId},#{img},now(),now())
+        INSERT INTO subject (id_,name_,code_,parent_subject_id_,img_,create_time_,update_time_,tenant_id_)
+        VALUES(#{id},#{name},#{code},#{parentSubjectId},#{img},now(),now(),#{tenantId})
     </insert>
 
     <!-- 根据主键查询一条记录 -->
     <update id="update" parameterType="com.ym.mec.biz.dal.entity.Subject">
         UPDATE subject
         <set>
+            <if test="tenantId != null">
+                tenant_id_ = #{tenantId},
+            </if>
             <if test="delFlag != null">
                 del_flag_ = #{delFlag,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
             </if>
@@ -90,10 +94,6 @@
         WHERE ctsm.charge_type_id_ = #{chargeTypeId} AND s.del_flag_ = 0
     </select>
 
-    <!-- 根据科目code查科目 -->
-    <select id="findByCode" resultMap="Subject">
-        SELECT * FROM subject WHERE code_ = #{code} AND del_flag_ = 0
-    </select>
     <select id="findByParentId" resultMap="Subject">
         SELECT * FROM subject <include refid="querySubPageSql"/>
     </select>
@@ -130,7 +130,7 @@
             WHERE t.id_=#{teacherId} AND s.del_flag_ = 0
     </select>
     <select id="findSubjectConditions" resultType="com.ym.mec.biz.dal.dto.ConditionDto">
-      select id_ id,name_ `name` from subject where parent_subject_id_!=0 AND del_flag_ = 0
+      select id_ id,name_ `name` from subject where parent_subject_id_ != 0 AND del_flag_ = 0 AND tenant_id_ = 1
     </select>
     <select id="queryNameByIds" resultType="java.util.Map">
         select id_ `key`,name_ `value` FROM `subject` s WHERE FIND_IN_SET(s.id_,#{subjectIds}) AND s.del_flag_ = 0
@@ -139,13 +139,20 @@
         select id_ `key`,name_ `value` FROM `subject` s WHERE FIND_IN_SET(s.id_,#{subjectIds}) AND s.del_flag_ = 0
     </select>
     <select id="findSubSubjects" resultMap="Subject">
-        SELECT * FROM `subject` WHERE parent_subject_id_ != 0 AND del_flag_ = 0
+        SELECT * FROM `subject`
+        WHERE parent_subject_id_ != 0 AND del_flag_ = 0
+        <if test="tenantId != null">
+            AND tenant_id_ = #{tenantId}
+        </if>
     </select>
 
     <sql id="querySubPageSql">
         <where>
             <if test="parentId != null">
-                parent_subject_id_ = #{parentId}
+                AND parent_subject_id_ = #{parentId}
+            </if>
+            <if test="tenantId != null">
+                AND tenant_id_ = #{tenantId}
             </if>
             <if test="delFlag != null">
                 AND del_flag_ = #{delFlag,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}

+ 4 - 5
mec-common/common-core/src/main/java/com/ym/mec/common/controller/BaseController.java

@@ -1,7 +1,8 @@
 package com.ym.mec.common.controller;
 
-import javax.servlet.http.HttpServletRequest;
-
+import com.ym.mec.common.entity.HttpResponseResult;
+import com.ym.mec.common.exception.BizException;
+import com.ym.mec.thirdparty.exception.ThirdpartyException;
 import org.apache.commons.lang3.exception.ExceptionUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -10,9 +11,7 @@ import org.springframework.security.access.AccessDeniedException;
 import org.springframework.web.bind.annotation.ControllerAdvice;
 import org.springframework.web.bind.annotation.ExceptionHandler;
 
-import com.ym.mec.common.entity.HttpResponseResult;
-import com.ym.mec.common.exception.BizException;
-import com.ym.mec.thirdparty.exception.ThirdpartyException;
+import javax.servlet.http.HttpServletRequest;
 
 @ControllerAdvice
 public class BaseController {

+ 23 - 0
mec-common/common-core/src/main/java/com/ym/mec/common/filters/TenantIdThreadLocal.java

@@ -0,0 +1,23 @@
+package com.ym.mec.common.filters;
+
+public class TenantIdThreadLocal {
+    private static final ThreadLocal<Integer> threadLocal = new ThreadLocal<Integer>() {
+        @Override
+        protected Integer initialValue() {
+            System.out.println("调用get方法时,当前线程共享变量没有设置,调用initialValue获取默认值!");
+            return null;
+        }
+    };
+
+    public static Integer get(){
+        return threadLocal.get();
+    }
+
+    public static void set(Integer tenantId){
+        threadLocal.set(tenantId);
+    }
+
+    public static void remove(){
+        threadLocal.remove();
+    }
+}

+ 2 - 0
mec-student/src/main/java/com/ym/mec/student/controller/SysConfigController.java

@@ -1,5 +1,6 @@
 package com.ym.mec.student.controller;
 
+import com.ym.mec.common.filters.TenantIdThreadLocal;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 
@@ -31,6 +32,7 @@ public class SysConfigController extends BaseController {
 	@ApiOperation(value = "参数列表")
 	@GetMapping(value = "list")
 	public Object configList(String group) {
+		Integer integer = TenantIdThreadLocal.get();
 		Map<String,Object> params = new HashMap<String, Object>();
 		params.put("group", group);
 		List<SysConfig> configs = sysConfigService.findAll(params);

+ 19 - 1
mec-student/src/main/java/com/ym/mec/student/interceptor/MDCInterceptor.java

@@ -3,7 +3,14 @@ package com.ym.mec.student.interceptor;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
+import com.ym.mec.auth.api.client.SysUserFeignService;
+import com.ym.mec.auth.api.entity.SysUser;
+import com.ym.mec.common.filters.TenantIdThreadLocal;
+import org.apache.commons.lang3.StringUtils;
 import org.slf4j.MDC;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.http.HttpStatus;
 import org.springframework.stereotype.Component;
 import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
 
@@ -15,10 +22,21 @@ public class MDCInterceptor extends HandlerInterceptorAdapter {
 	private static final String IP = "ip";
 
 	private static final String USERNAME = "username";
+	@Autowired
+	private SysUserFeignService sysUserFeignService;
+	@Value("${auth.sysconfig.tenantId}")
+	private Integer tenantClientId;
 
 	@Override
 	public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
-
+		SysUser sysUser = sysUserFeignService.queryUserInfo();
+		if(sysUser != null){
+			if (sysUser.getOrganId() == tenantClientId) {
+				TenantIdThreadLocal.set(2);
+			}else {
+				TenantIdThreadLocal.set(1);
+			}
+		}
 		String username = "";
 		String userId = "";
 		// 存储userId以及IP

+ 7 - 2
mec-teacher/src/main/java/com/ym/mec/teacher/controller/TeacherSubjectController.java

@@ -4,6 +4,7 @@ import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.service.SubjectService;
 import com.ym.mec.common.controller.BaseController;
+import com.ym.mec.common.filters.TenantIdThreadLocal;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -40,8 +41,12 @@ public class TeacherSubjectController extends BaseController {
 
     @ApiOperation(value = "获取子集科目列表")
     @GetMapping("/findSubSubjects")
-    public Object findSubSubjects(){
-        return succeed(subjectService.findSubSubjects());
+    public Object findSubSubjects(Integer tenantId){
+        if(tenantId == null){
+            tenantId = TenantIdThreadLocal.get();
+            TenantIdThreadLocal.remove();
+        }
+        return succeed(subjectService.findSubSubjects(tenantId));
     }
 
 }

+ 33 - 0
mec-teacher/src/main/java/com/ym/mec/teacher/interceptor/MDCInterceptor.java

@@ -0,0 +1,33 @@
+package com.ym.mec.teacher.interceptor;
+
+import com.ym.mec.auth.api.client.SysUserFeignService;
+import com.ym.mec.auth.api.entity.SysUser;
+import com.ym.mec.common.filters.TenantIdThreadLocal;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Component;
+import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+@Component
+public class MDCInterceptor extends HandlerInterceptorAdapter {
+	@Autowired
+	private SysUserFeignService sysUserFeignService;
+	@Value("${auth.sysconfig.tenantId}")
+	private Integer tenantClientId;
+
+	@Override
+	public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
+		SysUser sysUser = sysUserFeignService.queryUserInfo();
+		if(sysUser != null){
+			if (sysUser.getOrganId() == tenantClientId) {
+				TenantIdThreadLocal.set(2);
+			}else {
+				TenantIdThreadLocal.set(1);
+			}
+		}
+		return true;
+	}
+}

+ 2 - 2
mec-web/src/main/java/com/ym/mec/web/controller/SubjectController.java

@@ -97,7 +97,7 @@ public class SubjectController extends BaseController {
     @ApiOperation(value = "获取子集科目列表")
     @GetMapping("/findSubSubjects")
     @PreAuthorize("@pcs.hasPermissions('subject/findSubSubjects')")
-    public Object findSubSubjects(){
-        return succeed(subjectService.findSubSubjects());
+    public Object findSubSubjects(Integer tenantId){
+        return succeed(subjectService.findSubSubjects(tenantId));
     }
 }