瀏覽代碼

分部活动新增声部

zouxuan 5 年之前
父節點
當前提交
228fa330e6

+ 4 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleRewardsRulesDao.java

@@ -29,9 +29,12 @@ public interface CourseScheduleRewardsRulesDao extends BaseDAO<Integer, CourseSc
 	 * 根据教师列表和课程类型获取活动列表
 	 * @param teacherId
 	 * @param vipGroupCategoryIdList
+	 * @param subjectIds
 	 * @return
 	 */
-    List<CourseScheduleRewardsRules> findByTeacherAndCategory(@Param("teacherId") String teacherId, @Param("vipGroupCategoryIdList") String vipGroupCategoryIdList);
+    List<CourseScheduleRewardsRules> findByTeacherAndCategory(@Param("teacherId") String teacherId,
+															  @Param("vipGroupCategoryIdList") String vipGroupCategoryIdList,
+															  @Param("subjectIds") String subjectIds);
 
 	/**
 	 * COUNT活动列表

+ 2 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/TeacherDao.java

@@ -212,9 +212,10 @@ public interface TeacherDao extends BaseDAO<Integer, Teacher> {
     /**
      * 获取分部下的老师列表
      * @param organId
+     * @param subjectIds
      * @return
      */
-    List<Teacher> findTeacherByOrganId(@Param("organId")String organId);
+    List<Teacher> findTeacherByOrganId(@Param("organId")String organId,@Param("subjectIds")String subjectIds);
 
     /**
      * 获取用户username

+ 22 - 2
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/CourseScheduleRewardsRules.java

@@ -1,9 +1,7 @@
 package com.ym.mec.biz.dal.entity;
 
 import io.swagger.annotations.ApiModelProperty;
-
 import org.apache.commons.lang3.builder.ToStringBuilder;
-
 import com.ym.mec.biz.dal.entity.CourseSchedule.CourseScheduleType;
 import com.ym.mec.common.enums.BaseEnum;
 
@@ -36,6 +34,12 @@ public class CourseScheduleRewardsRules {
 	@ApiModelProperty(value = "分部列表(用逗号分开)", required = true)
 	private String organId;
 
+	@ApiModelProperty(value = "声部编号", required = true)
+	private String subjectIds;
+
+	@ApiModelProperty(value = "声部名称", required = true)
+	private String subjectName;
+
 	@ApiModelProperty(value = "梯度奖励规则", required = true)
 	private String rewardsRulesJson;
 
@@ -51,6 +55,22 @@ public class CourseScheduleRewardsRules {
 	@ApiModelProperty(value = "关联教师编号名称列表", required = true)
 	private String teacherNames;
 
+	public String getSubjectName() {
+		return subjectName;
+	}
+
+	public void setSubjectName(String subjectName) {
+		this.subjectName = subjectName;
+	}
+
+	public String getSubjectIds() {
+		return subjectIds;
+	}
+
+	public void setSubjectIds(String subjectIds) {
+		this.subjectIds = subjectIds;
+	}
+
 	public String getVipGroupCategoryNameList() {
 		return vipGroupCategoryNameList;
 	}

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/RewardsRulesQueryInfo.java

@@ -8,10 +8,20 @@ import java.util.Date;
 public class RewardsRulesQueryInfo extends QueryInfo {
     private Integer teacherId;
 
+    private Integer subjectId;
+
     private Integer vipGroupCategoryId;
 
     private String rewardMode;
 
+    public Integer getSubjectId() {
+        return subjectId;
+    }
+
+    public void setSubjectId(Integer subjectId) {
+        this.subjectId = subjectId;
+    }
+
     public Integer getTeacherId() {
         return teacherId;
     }

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

@@ -135,5 +135,5 @@ public interface TeacherService extends BaseService<Integer, Teacher> {
      * @param organId
      * @return
      */
-    List<Teacher> findTeacherByOrganId(String organId);
+    List<Teacher> findTeacherByOrganId(String organId,String subjectIds);
 }

+ 7 - 5
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleRewardsRulesServiceImpl.java

@@ -130,6 +130,7 @@ public class CourseScheduleRewardsRulesServiceImpl extends BaseServiceImpl<Integ
 	public int add(CourseScheduleRewardsRules courseScheduleRewardsRules) {
 		String teacherId = courseScheduleRewardsRules.getTeacherId();
 		String vipGroupCategoryIdList = courseScheduleRewardsRules.getVipGroupCategoryIdList();
+		String subjectIds = courseScheduleRewardsRules.getSubjectIds();
 		if(StringUtils.isEmpty(teacherId) || StringUtils.isEmpty(vipGroupCategoryIdList)){
 			throw new BizException("参数校验异常");
 		}
@@ -137,9 +138,9 @@ public class CourseScheduleRewardsRulesServiceImpl extends BaseServiceImpl<Integ
 			throw new BizException("请设置梯度");
 		}
 		//同一种课程形式,只能有一个老师
-		List<CourseScheduleRewardsRules> scheduleRewardsRules = courseScheduleRewardsDao.findByTeacherAndCategory(teacherId,vipGroupCategoryIdList);
+		List<CourseScheduleRewardsRules> scheduleRewardsRules = courseScheduleRewardsDao.findByTeacherAndCategory(teacherId,vipGroupCategoryIdList,subjectIds);
 		if(scheduleRewardsRules != null && scheduleRewardsRules.size() > 0){
-			throw new BizException("同一种课程类型,只能对应一个老师");
+			throw new BizException("重复的数据");
 		}
 		courseScheduleRewardsDao.insert(courseScheduleRewardsRules);
 		return courseScheduleRewardsRules.getId();
@@ -179,6 +180,7 @@ public class CourseScheduleRewardsRulesServiceImpl extends BaseServiceImpl<Integ
 	public int updateDetail(CourseScheduleRewardsRules courseScheduleRewardsRules) {
 		String teacherId = courseScheduleRewardsRules.getTeacherId();
 		String vipGroupCategoryIdList = courseScheduleRewardsRules.getVipGroupCategoryIdList();
+		String subjectIds = courseScheduleRewardsRules.getSubjectIds();
 		if(StringUtils.isEmpty(teacherId) || StringUtils.isEmpty(vipGroupCategoryIdList)){
 			throw new BizException("参数校验异常");
 		}
@@ -189,14 +191,14 @@ public class CourseScheduleRewardsRulesServiceImpl extends BaseServiceImpl<Integ
 			throw new BizException("参数校验异常");
 		}
 		//同一种课程形式,只能有一个老师
-		List<CourseScheduleRewardsRules> scheduleRewardsRules = courseScheduleRewardsDao.findByTeacherAndCategory(teacherId,vipGroupCategoryIdList);
+		List<CourseScheduleRewardsRules> scheduleRewardsRules = courseScheduleRewardsDao.findByTeacherAndCategory(teacherId,vipGroupCategoryIdList,subjectIds);
 		if(scheduleRewardsRules.size() > 1){
-			throw new BizException("同一种课程类型,只能对应一个老师");
+			throw new BizException("重复的数据");
 		}
 		if(scheduleRewardsRules.size() == 1){
 			CourseScheduleRewardsRules rewardsRules = scheduleRewardsRules.get(0);
 			if(!rewardsRules.getId().equals(courseScheduleRewardsRules.getId())){
-				throw new BizException("同一种课程类型,只能对应一个老师");
+				throw new BizException("重复的数据");
 			}
 		}
 		courseScheduleRewardsRules.setUpdateTime(new Date());

+ 2 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherServiceImpl.java

@@ -327,8 +327,8 @@ public class TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher>  imple
 	}
 
 	@Override
-	public List<Teacher> findTeacherByOrganId(String organId) {
-		return teacherDao.findTeacherByOrganId(organId);
+	public List<Teacher> findTeacherByOrganId(String organId,String subjectIds) {
+		return teacherDao.findTeacherByOrganId(organId,subjectIds);
 	}
 
 	@Override

+ 15 - 10
mec-biz/src/main/resources/config/mybatis/CourseScheduleRewardsMapper.xml

@@ -17,6 +17,8 @@
 		<result column="update_time_" property="updateTime" />
 		<result column="vip_group_category_id_list_" property="vipGroupCategoryIdList" />
 		<result column="teacher_id_" property="teacherId" />
+		<result column="subject_id_" property="subjectIds" />
+		<result column="subject_name_" property="subjectName" />
 	</resultMap>
 
 	<!-- 根据主键查询一条记录 -->
@@ -35,9 +37,9 @@
 		<!-- <selectKey resultClass="int" keyProperty="id" > SELECT SEQ_WSDEFINITION_ID.nextval 
 			AS ID FROM DUAL </selectKey> -->
 		INSERT INTO course_schedule_rewards_rules
-		(id_,name_,course_schedule_type_,reward_mode_,organ_id_,rewards_rules_json_,create_time_,update_time_,vip_group_category_id_list_,teacher_id_)
+		(id_,name_,course_schedule_type_,reward_mode_,organ_id_,rewards_rules_json_,create_time_,update_time_,vip_group_category_id_list_,teacher_id_,subject_id_)
 		VALUES(#{id},#{name},#{courseScheduleType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
-		#{rewardMode,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{organId},#{rewardsRulesJson},now(),now(),#{vipGroupCategoryIdList},#{teacherId})
+		#{rewardMode,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{organId},#{rewardsRulesJson},now(),now(),#{vipGroupCategoryIdList},#{teacherId},#{subjectIds})
 	</insert>
 
 	<!-- 根据主键查询一条记录 -->
@@ -58,8 +60,8 @@
 			<if test="teacherId != null">
 				teacher_id_ = #{teacherId},
 			</if>
-			<if test="id != null">
-				id_ = #{id},
+			<if test="subjectIds != null">
+				subject_id_ = #{subjectIds},
 			</if>
 			<if test="updateTime != null">
 				update_time_ = now(),
@@ -73,9 +75,6 @@
 			<if test="rewardsRulesJson != null">
 				rewards_rules_json_ = #{rewardsRulesJson},
 			</if>
-			<if test="createTime != null">
-				create_time_ = #{createTime},
-			</if>
 		</set>
 		WHERE id_ = #{id}
 	</update>
@@ -98,7 +97,8 @@
 	</select>
 	
 	<select id="query" resultType="map">
-		SELECT * FROM course_schedule_rewards_rules where find_in_set(#{organId},organ_id_) and course_schedule_type_ = #{courseScheduleType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler} order by update_time_ desc
+		SELECT * FROM course_schedule_rewards_rules WHERE find_in_set(#{organId},organ_id_)
+		AND course_schedule_type_ = #{courseScheduleType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler} ORDER BY update_time_ DESC
 	</select>
 	
 	<select id="queryOrganIdList" resultType="java.lang.String">
@@ -108,12 +108,14 @@
 		SELECT * FROM course_schedule_rewards_rules csrr
 		WHERE INTE_ARRAY(csrr.vip_group_category_id_list_,#{vipGroupCategoryIdList})
 		AND INTE_ARRAY(csrr.teacher_id_,#{teacherId})
+		AND INTE_ARRAY(csrr.subject_id_,#{subjectIds})
 	</select>
 
 	<select id="queryDetailPage" resultMap="CourseScheduleRewardsRules">
-		SELECT * FROM course_schedule_rewards_rules csrr
+		SELECT GROUP_CONCAT(s.name_) subject_name_,csrr.* FROM course_schedule_rewards_rules csrr
+		LEFT JOIN `subject` s ON FIND_IN_SET(s.id_,csrr.subject_id_)
 		<include refid="findDetailPageSql"/>
-		ORDER BY id_ DESC
+		GROUP BY csrr.id_ ORDER BY csrr.id_ DESC
 		<include refid="global.limit" />
 	</select>
 	<select id="findDetailPage" resultType="java.lang.Integer">
@@ -163,6 +165,9 @@
 			<if test="teacherId">
 				AND FIND_IN_SET(#{teacherId},csrr.teacher_id_)
 			</if>
+			<if test="subjectId">
+				AND FIND_IN_SET(#{subjectId},csrr.subject_id_)
+			</if>
 			<if test="search">
 				AND csrr.name_ LIKE CONCAT('%',#{search},'%')
 			</if>

+ 3 - 0
mec-biz/src/main/resources/config/mybatis/TeacherMapper.xml

@@ -593,6 +593,9 @@
         <if test="organId != null">
             AND FIND_IN_SET(t.organ_id_,#{organId})
         </if>
+        <if test="subjectIds != null">
+            AND INTE_ARRAY(t.subject_id_,#{subjectIds})
+        </if>
     </select>
     <select id="queryUsernameByIds" resultType="java.util.Map" parameterType="list">
         select id_ `key`,username_ `value` FROM sys_user s

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

@@ -119,7 +119,7 @@ public class TeacherController extends BaseController {
     @ApiOperation(value = "获取分部教师")
     @GetMapping("/findTeacherByOrganId")
     @PreAuthorize("@pcs.hasPermissions('teacher/findTeacherByOrganId')")
-    public HttpResponseResult findTeacherByOrganId(String organId) {
+    public HttpResponseResult findTeacherByOrganId(String organId,String subjectIds) {
         SysUser sysUser = sysUserFeignService.queryUserInfo();
         if (sysUser == null) {
             return failed("用户信息获取失败");
@@ -137,7 +137,7 @@ public class TeacherController extends BaseController {
                 }
             }
         }
-        return succeed(teacherService.findTeacherByOrganId(organId));
+        return succeed(teacherService.findTeacherByOrganId(organId,subjectIds));
     }
 
     @ApiOperation(value = "获取乐团所有老师")