zouxuan преди 5 години
родител
ревизия
d109b949a0

+ 23 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleRewardsRulesDao.java

@@ -1,6 +1,7 @@
 package com.ym.mec.biz.dal.dao;
 package com.ym.mec.biz.dal.dao;
 
 
 import java.util.List;
 import java.util.List;
+import java.util.Map;
 
 
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Param;
 
 
@@ -23,4 +24,26 @@ public interface CourseScheduleRewardsRulesDao extends BaseDAO<Integer, CourseSc
 	 * @return
 	 * @return
 	 */
 	 */
 	List<String> queryOrganIdList();
 	List<String> queryOrganIdList();
+
+	/**
+	 * 根据教师列表和课程类型获取活动列表
+	 * @param teacherId
+	 * @param vipGroupCategoryIdList
+	 * @return
+	 */
+    List<CourseScheduleRewardsRules> findByTeacherAndCategory(@Param("teacherId") String teacherId, @Param("vipGroupCategoryIdList") String vipGroupCategoryIdList);
+
+	/**
+	 * COUNT活动列表
+	 * @param params
+	 * @return
+	 */
+	int findDetailPage(Map<String, Object> params);
+
+	/**
+	 * 分页获取活动列表
+	 * @param params
+	 * @return
+	 */
+	List<CourseScheduleRewardsRules> queryDetailPage(Map<String, Object> params);
 }
 }

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

@@ -19,7 +19,6 @@ public class CourseScheduleRewardsRules {
 		public String getCode() {
 		public String getCode() {
 			return name();
 			return name();
 		}
 		}
-
 	}
 	}
 
 
 	/**  */
 	/**  */
@@ -40,14 +39,34 @@ public class CourseScheduleRewardsRules {
 	@ApiModelProperty(value = "梯度奖励规则", required = true)
 	@ApiModelProperty(value = "梯度奖励规则", required = true)
 	private String rewardsRulesJson;
 	private String rewardsRulesJson;
 
 
+	@ApiModelProperty(value = "vip课程类型", required = true)
+	private String vipGroupCategoryIdList;
+
+	@ApiModelProperty(value = "关联教师编号列表", required = true)
+	private String teacherId;
 	/**  */
 	/**  */
 	private java.util.Date createTime;
 	private java.util.Date createTime;
-
 	/**  */
 	/**  */
 	private java.util.Date updateTime;
 	private java.util.Date updateTime;
 	
 	
 	private String organNameList;
 	private String organNameList;
 
 
+	public String getVipGroupCategoryIdList() {
+		return vipGroupCategoryIdList;
+	}
+
+	public void setVipGroupCategoryIdList(String vipGroupCategoryIdList) {
+		this.vipGroupCategoryIdList = vipGroupCategoryIdList;
+	}
+
+	public String getTeacherId() {
+		return teacherId;
+	}
+
+	public void setTeacherId(String teacherId) {
+		this.teacherId = teacherId;
+	}
+
 	public void setId(Integer id) {
 	public void setId(Integer id) {
 		this.id = id;
 		this.id = id;
 	}
 	}

+ 16 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/CourseScheduleRewardsRulesService.java

@@ -5,6 +5,8 @@ import java.util.List;
 
 
 import com.ym.mec.biz.dal.entity.CourseSchedule.CourseScheduleType;
 import com.ym.mec.biz.dal.entity.CourseSchedule.CourseScheduleType;
 import com.ym.mec.biz.dal.entity.CourseScheduleRewardsRules;
 import com.ym.mec.biz.dal.entity.CourseScheduleRewardsRules;
+import com.ym.mec.common.page.PageInfo;
+import com.ym.mec.common.page.QueryInfo;
 import com.ym.mec.common.service.BaseService;
 import com.ym.mec.common.service.BaseService;
 
 
 public interface CourseScheduleRewardsRulesService extends BaseService<Integer, CourseScheduleRewardsRules> {
 public interface CourseScheduleRewardsRulesService extends BaseService<Integer, CourseScheduleRewardsRules> {
@@ -23,4 +25,18 @@ public interface CourseScheduleRewardsRulesService extends BaseService<Integer,
 	 * @return
 	 * @return
 	 */
 	 */
 	List<Integer> queryOrganIdList();
 	List<Integer> queryOrganIdList();
+
+	/**
+	 * 添加教师奖励活动
+	 * @param courseScheduleRewardsRules
+	 * @return
+	 */
+	int add(CourseScheduleRewardsRules courseScheduleRewardsRules);
+
+	/**
+	 * 分页获取活动列表
+	 * @param queryInfo
+	 * @return
+	 */
+	PageInfo<CourseScheduleRewardsRules> queryDetailPage(QueryInfo queryInfo);
 }
 }

+ 43 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleRewardsRulesServiceImpl.java

@@ -8,6 +8,8 @@ import java.util.List;
 import java.util.Map;
 import java.util.Map;
 import java.util.stream.Collectors;
 import java.util.stream.Collectors;
 
 
+import com.ym.mec.common.exception.BizException;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
@@ -124,6 +126,47 @@ public class CourseScheduleRewardsRulesServiceImpl extends BaseServiceImpl<Integ
 		return result;
 		return result;
 	}
 	}
 
 
+	@Override
+	public int add(CourseScheduleRewardsRules courseScheduleRewardsRules) {
+		String teacherId = courseScheduleRewardsRules.getTeacherId();
+		String vipGroupCategoryIdList = courseScheduleRewardsRules.getVipGroupCategoryIdList();
+		if(StringUtils.isEmpty(teacherId) || StringUtils.isEmpty(vipGroupCategoryIdList)){
+			throw new BizException("参数校验异常");
+		}
+		if(StringUtils.isEmpty(courseScheduleRewardsRules.getRewardsRulesJson())){
+			throw new BizException("请设置梯度");
+		}
+		//同一种课程形式,只能有一个老师
+		List<CourseScheduleRewardsRules> scheduleRewardsRules = courseScheduleRewardsDao.findByTeacherAndCategory(teacherId,vipGroupCategoryIdList);
+		if(scheduleRewardsRules != null && scheduleRewardsRules.size() > 0){
+			throw new BizException("同一种课程类型,只能对应一个老师");
+		}
+		courseScheduleRewardsDao.insert(courseScheduleRewardsRules);
+		return courseScheduleRewardsRules.getId();
+	}
+
+	@Override
+	public PageInfo<CourseScheduleRewardsRules> queryDetailPage(QueryInfo queryInfo) {
+		PageInfo<CourseScheduleRewardsRules> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
+		Map<String, Object> params = new HashMap<>();
+		MapUtil.populateMap(params, queryInfo);
+		List<CourseScheduleRewardsRules> dataList = null;
+		int count = courseScheduleRewardsDao.findDetailPage(params);
+		if (count > 0) {
+			pageInfo.setTotal(count);
+			params.put("offset", pageInfo.getOffset());
+			dataList = courseScheduleRewardsDao.queryDetailPage(params);
+//			for (CourseScheduleRewardsRules rules : dataList) {
+//				rules.setOrganNameList(organizationDao.findByOrganIds(rules.getOrganId()).stream().collect(Collectors.joining("、")));
+//			}
+		}
+		if (count == 0) {
+			dataList = new ArrayList<>();
+		}
+		pageInfo.setRows(dataList);
+		return pageInfo;
+	}
+
 	class RewardsRules implements Comparable<RewardsRules> {
 	class RewardsRules implements Comparable<RewardsRules> {
 
 
 		private int min;
 		private int min;

+ 11 - 0
mec-biz/src/main/resources/config/mybatis/CourseScheduleRewardsMapper.xml

@@ -96,4 +96,15 @@
 	<select id="queryOrganIdList" resultType="java.lang.String">
 	<select id="queryOrganIdList" resultType="java.lang.String">
 		SELECT organ_id_ FROM course_schedule_rewards_rules
 		SELECT organ_id_ FROM course_schedule_rewards_rules
 	</select>
 	</select>
+	<select id="findByTeacherAndCategory" resultMap="CourseScheduleRewardsRules">
+		SELECT * FROM course_schedule_rewards_rules csrr
+		WHERE INTE_ARRAY(csrr.vip_group_category_id_list_,#{vipGroupCategoryIdList})
+		AND INTE_ARRAY(csrr.teacher_id_,#{teacherId})
+	</select>
+	<select id="queryDetailPage" resultMap="CourseScheduleRewardsRules">
+
+	</select>
+	<select id="findDetailPage" resultType="java.lang.Integer">
+
+	</select>
 </mapper>
 </mapper>

+ 6 - 9
mec-biz/src/main/resources/config/mybatis/StudentRegistrationMapper.xml

@@ -286,24 +286,21 @@
     </select>
     </select>
 
 
     <resultMap id="queryFeeDetailMap" type="com.ym.mec.biz.dal.dto.StudentFeeDetailDto">
     <resultMap id="queryFeeDetailMap" type="com.ym.mec.biz.dal.dto.StudentFeeDetailDto">
-        <result column="expect_amount_" property="courseFee"/>
         <result column="actual_amount_" property="totalAmount"/>
         <result column="actual_amount_" property="totalAmount"/>
         <collection property="goods" ofType="com.ym.mec.biz.dal.dto.StudentFeeDto">
         <collection property="goods" ofType="com.ym.mec.biz.dal.dto.StudentFeeDto">
             <result property="goodsName" column="goods_name_"/>
             <result property="goodsName" column="goods_name_"/>
-            <result property="goodsType" column="goods_type_"/>
+            <result property="goodsType" column="type_"/>
             <result property="musicalFee" column="price_"/>
             <result property="musicalFee" column="price_"/>
         </collection>
         </collection>
     </resultMap>
     </resultMap>
     <select id="queryFeeDetail" resultMap="queryFeeDetailMap">
     <select id="queryFeeDetail" resultMap="queryFeeDetailMap">
-        SELECT spo.actual_amount_,spo.expect_amount_,spod.price_,GROUP_CONCAT(g.name_) goods_name_,MAX(g.type_)
-        goods_type_
-        FROM student_registration sr
-        LEFT JOIN student_payment_order spo ON sr.music_group_id_ = spo.music_group_id_ AND spo.user_id_ = sr.user_id_
+        SELECT spo.actual_amount_,SUM(spod.price_) price_,GROUP_CONCAT(g.name_) goods_name_,IF(MAX(g.type_) IS NULL,'COURSE',MAX(g.type_)) type_
+		FROM student_payment_order spo
         LEFT JOIN student_payment_order_detail spod ON spod.payment_order_id_ = spo.id_
         LEFT JOIN student_payment_order_detail spod ON spod.payment_order_id_ = spo.id_
         LEFT JOIN goods g ON FIND_IN_SET(g.id_,spod.goods_id_list_)
         LEFT JOIN goods g ON FIND_IN_SET(g.id_,spod.goods_id_list_)
-        WHERE spo.type_ = 'APPLY' AND sr.user_id_ = #{studentId} AND sr.music_group_id_ = #{musicGroupId}
-        AND sr.music_group_status_ != 'QUIT'
-        GROUP BY spo.id_,spod.id_
+        WHERE spo.type_ = 'APPLY' AND spo.group_type_ = 'MUSIC' AND spo.user_id_ = #{studentId} AND spo.music_group_id_ = #{musicGroupId}
+        GROUP BY spo.id_,spod.type_
+        ORDER BY spo.id_ DESC
     </select>
     </select>
 
 
     <!-- 根据乐团和声部获取未分班的学生 -->
     <!-- 根据乐团和声部获取未分班的学生 -->

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

@@ -29,7 +29,7 @@ public class CourseScheduleRewardsRulesController extends BaseController {
 	@GetMapping("/queryPage")
 	@GetMapping("/queryPage")
 	@PreAuthorize("@pcs.hasPermissions('courseScheduleRewards/queryPage')")
 	@PreAuthorize("@pcs.hasPermissions('courseScheduleRewards/queryPage')")
 	public Object queryPage(QueryInfo queryInfo) {
 	public Object queryPage(QueryInfo queryInfo) {
-		return succeed(courseScheduleRewardsRulesService.queryPage(queryInfo));
+		return succeed(courseScheduleRewardsRulesService.queryDetailPage(queryInfo));
 	}
 	}
 
 
 	@ApiOperation(value = "单查询")
 	@ApiOperation(value = "单查询")
@@ -50,14 +50,7 @@ public class CourseScheduleRewardsRulesController extends BaseController {
 	@PostMapping("/add")
 	@PostMapping("/add")
 	@PreAuthorize("@pcs.hasPermissions('courseScheduleRewards/add')")
 	@PreAuthorize("@pcs.hasPermissions('courseScheduleRewards/add')")
 	public Object add(CourseScheduleRewardsRules courseScheduleRewardsRules) {
 	public Object add(CourseScheduleRewardsRules courseScheduleRewardsRules) {
-		List<Integer> organIdList = courseScheduleRewardsRulesService.queryOrganIdList();
-		String[] organIdArrays = courseScheduleRewardsRules.getOrganId().split(",");
-		for (String organId : organIdArrays) {
-			if (organIdList.contains(Integer.parseInt(organId))) {
-				return failed("所设分部存在异常");
-			}
-		}
-		return succeed(courseScheduleRewardsRulesService.insert(courseScheduleRewardsRules));
+		return succeed(courseScheduleRewardsRulesService.add(courseScheduleRewardsRules));
 	}
 	}
 
 
 	@ApiOperation(value = "修改")
 	@ApiOperation(value = "修改")