Browse Source

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

yonge 3 years ago
parent
commit
6822e20ab2

+ 3 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleStatisticsDao.java

@@ -20,4 +20,7 @@ public interface CourseScheduleStatisticsDao extends BaseDAO<Long, CourseSchedul
     void batchInsert(@Param("scheduleStatisticsList") List<CourseScheduleStatistics> scheduleStatisticsList);
 
     void delWaitByCourseId(@Param("courseIdList") List<Long> courseIdList);
+
+    //更新服务指标
+    void updateCourseService(@Param("courseIds") String courseIds, @Param("serviceFlag") int serviceFlag);
 }

+ 22 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentExtracurricularExercisesSituationDao.java

@@ -38,6 +38,16 @@ public interface StudentExtracurricularExercisesSituationDao extends BaseDAO<Lon
                        @Param("studentIds") List<Integer> studentIds);
 
     /**
+     * @describe 根据周一日期删除统计信息
+     * @author Joburgess
+     * @date 2020/4/10
+     * @param monday:
+     * @return int
+     */
+    List<StudentExtracurricularExercisesSituation> selectByMonday(@Param("monday") String monday,
+                       @Param("studentIds") List<Integer> studentIds);
+
+    /**
      * @describe 删除指定学员的服务指标
      * @author Joburgess
      * @date 2020.05.28
@@ -47,6 +57,16 @@ public interface StudentExtracurricularExercisesSituationDao extends BaseDAO<Lon
     int deleteByStudent(@Param("studentId") Integer studentId,
                         @Param("monday") String monday);
 
+    /**
+     * @describe 删除指定学员的服务指标
+     * @author Joburgess
+     * @date 2020.05.28
+     * @param studentId: 学员编号
+     * @return int
+     */
+    List<StudentExtracurricularExercisesSituation> selectByStudent(@Param("studentId") Integer studentId,
+                        @Param("monday") String monday);
+
     List<StudentExercisesSituationDto> findExercisesSituations(Map<String, Object> params);
     int countExercisesSituations(Map<String, Object> params);
 
@@ -162,4 +182,6 @@ public interface StudentExtracurricularExercisesSituationDao extends BaseDAO<Lon
     int countWaitCreateHomeworkNum1(Integer teacherId);
     
     List<TeacherServeDto> queryTeacherPerformanceIndicator(Map<String, Object> params);
+
+    void batchDelete(@Param("situationIds") List<Long> situationIds);
 }

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/ExtracurricularExercisesReplyService.java

@@ -5,11 +5,13 @@ import com.ym.mec.biz.dal.dto.EduHomeworkCardDto;
 import com.ym.mec.biz.dal.dto.ExtraExerciseStudentsDto;
 import com.ym.mec.biz.dal.entity.ExtracurricularExercisesReply;
 import com.ym.mec.biz.dal.entity.StudentCourseHomework;
+import com.ym.mec.biz.dal.entity.StudentExtracurricularExercisesSituation;
 import com.ym.mec.biz.dal.page.ExtraExercilseQueryInfo;
 import com.ym.mec.biz.dal.page.ExtraExercilseReplyQueryInfo;
 import com.ym.mec.biz.dal.page.StudentCourseHomeWorkQueryInfo;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.BaseService;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 

+ 9 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/StudentExtracurricularExercisesSituationService.java

@@ -71,4 +71,13 @@ public interface StudentExtracurricularExercisesSituationService extends BaseSer
      * @return
      */
     List<TeacherServeDto> queryTeacherPerformanceIndicator(TeacherServeQueryInfo queryInfo);
+
+    //批量新增
+    void batchInsert(List<StudentExtracurricularExercisesSituation> situations);
+
+    //删除指定学员服务指标
+    void deleteByMonday(String monday,List<Integer> studentIds);
+
+    //删除指定学员服务指标
+    void deleteByStudent(Integer studentId,String monday);
 }

+ 5 - 9
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ExtracurricularExercisesReplyServiceImpl.java

@@ -9,10 +9,7 @@ import com.ym.mec.biz.dal.enums.YesOrNoEnum;
 import com.ym.mec.biz.dal.page.ExtraExercilseQueryInfo;
 import com.ym.mec.biz.dal.page.ExtraExercilseReplyQueryInfo;
 import com.ym.mec.biz.dal.page.StudentCourseHomeWorkQueryInfo;
-import com.ym.mec.biz.service.ExtracurricularExercisesReplyService;
-import com.ym.mec.biz.service.StudentServeService;
-import com.ym.mec.biz.service.SysConfigService;
-import com.ym.mec.biz.service.SysMessageService;
+import com.ym.mec.biz.service.*;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.page.PageInfo;
@@ -21,7 +18,6 @@ import com.ym.mec.common.tenant.TenantContextHolder;
 import com.ym.mec.thirdparty.message.MessageSenderPluginContext;
 import com.ym.mec.util.collection.MapUtil;
 import com.ym.mec.util.date.DateUtil;
-
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -43,10 +39,10 @@ public class ExtracurricularExercisesReplyServiceImpl extends BaseServiceImpl<Lo
 	@Autowired
 	private ExtracurricularExercisesDao extracurricularExercisesDao;
 	@Autowired
-	private CourseScheduleStudentPaymentDao courseScheduleStudentPaymentDao;
-	@Autowired
 	private StudentExtracurricularExercisesSituationDao studentExtracurricularExercisesSituationDao;
 	@Autowired
+	private StudentExtracurricularExercisesSituationService studentExtracurricularExercisesSituationService;
+	@Autowired
 	private SysMessageService sysMessageService;
 	@Autowired
 	private TeacherDao teacherDao;
@@ -314,7 +310,7 @@ public class ExtracurricularExercisesReplyServiceImpl extends BaseServiceImpl<Lo
 			results.add(studentExtracurricularExercisesSituation);
 		}
 
-		studentExtracurricularExercisesSituationDao.deleteByMonday(monDayDate.toString(),null);
+		studentExtracurricularExercisesSituationService.deleteByMonday(monDayDate.toString(),null);
 
 		BigDecimal currentPage=BigDecimal.ONE,
                 pageSize=new BigDecimal(10000),
@@ -322,7 +318,7 @@ public class ExtracurricularExercisesReplyServiceImpl extends BaseServiceImpl<Lo
                 totalPage=total.divide(pageSize, BigDecimal.ROUND_UP);
         while (currentPage.compareTo(totalPage)<=0){
             List<StudentExtracurricularExercisesSituation> rows=results.stream().skip(pageSize.multiply(currentPage.subtract(BigDecimal.ONE)).longValue()).limit(pageSize.longValue()).collect(Collectors.toList());
-            studentExtracurricularExercisesSituationDao.batchInsert(rows);
+			studentExtracurricularExercisesSituationService.batchInsert(rows);
             currentPage=currentPage.add(BigDecimal.ONE);
         }
 	}

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

@@ -70,6 +70,8 @@ public class StudentExtracurricularExercisesSituationServiceImpl extends BaseSer
 	private CourseScheduleStudentPaymentDao courseScheduleStudentPaymentDao;
 	@Autowired
 	private SysUserFeignService sysUserFeignService;
+	@Autowired
+	private CourseScheduleStatisticsDao courseScheduleStatisticsDao;
 
 	@Override
 	public BaseDAO<Long, StudentExtracurricularExercisesSituation> getDAO() {
@@ -585,4 +587,45 @@ public class StudentExtracurricularExercisesSituationServiceImpl extends BaseSer
 		}
 		return dataList;
 	}
+
+
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public void batchInsert(List<StudentExtracurricularExercisesSituation> situations) {
+		if (CollectionUtils.isEmpty(situations)){
+			return;
+		}
+		studentExtracurricularExercisesSituationDao.batchInsert(situations);
+		String collect = situations.stream().map(e -> e.getCourseIds()).filter(e -> StringUtils.isNotEmpty(e)).collect(Collectors.joining(","));
+		if(StringUtils.isNotEmpty(collect)){
+			//更新课程服务指标
+			courseScheduleStatisticsDao.updateCourseService(collect,1);
+		}
+	}
+
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public void deleteByMonday(String monday,List<Integer> studentIds) {
+		this.delSituations(studentExtracurricularExercisesSituationDao.selectByMonday(monday, studentIds));
+	}
+
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public void deleteByStudent(Integer studentId, String monday) {
+		this.delSituations(studentExtracurricularExercisesSituationDao.selectByStudent(studentId, monday));
+	}
+
+	@Transactional(rollbackFor = Exception.class)
+	public void delSituations(List<StudentExtracurricularExercisesSituation> situations){
+		if (CollectionUtils.isEmpty(situations)){
+			return;
+		}
+		List<Long> collect1 = situations.stream().map(e -> e.getId()).collect(Collectors.toList());
+		studentExtracurricularExercisesSituationDao.batchDelete(collect1);
+		String collect = situations.stream().map(e -> e.getCourseIds()).filter(e -> StringUtils.isNotEmpty(e)).collect(Collectors.joining(","));
+		if(StringUtils.isNotEmpty(collect)){
+			//更新课程服务指标
+			courseScheduleStatisticsDao.updateCourseService(collect,0);
+		}
+	}
 }

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

@@ -70,7 +70,7 @@ public class StudentManageServiceImpl implements StudentManageService {
     @Autowired
     private StudentDao studentDao;
     @Autowired
-    private StudentExtracurricularExercisesSituationDao studentExtracurricularExercisesSituationDao;
+    private StudentExtracurricularExercisesSituationService studentExtracurricularExercisesSituationService;
     @Autowired
     private MusicGroupQuitDao musicGroupQuitDao;
     @Autowired
@@ -752,7 +752,7 @@ public class StudentManageServiceImpl implements StudentManageService {
         if (new Integer(2).equals(student.getServiceTag())) {
             LocalDate nowDate = LocalDateTime.now(DateUtil.zoneId).toLocalDate();
             LocalDate monDayDate = nowDate.with(DateUtil.weekFields.dayOfWeek(), DayOfWeek.MONDAY.getValue());
-            studentExtracurricularExercisesSituationDao.deleteByStudent(student.getId(), monDayDate.toString());
+            studentExtracurricularExercisesSituationService.deleteByStudent(student.getId(), monDayDate.toString());
         }
         webFeignService.updateNickName(userId,student.getUsername());
         imFeignService.update(new ImUserModel(userId.toString(),student.getUsername(),sysUser1 == null ? null:sysUser1.getAvatar()));

+ 8 - 13
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentServeServiceImpl.java

@@ -20,6 +20,7 @@ import java.util.Optional;
 import java.util.Set;
 import java.util.stream.Collectors;
 
+import com.ym.mec.biz.service.StudentExtracurricularExercisesSituationService;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -85,6 +86,8 @@ public class StudentServeServiceImpl implements StudentServeService {
     @Autowired
     private StudentExtracurricularExercisesSituationDao studentExtracurricularExercisesSituationDao;
     @Autowired
+    private StudentExtracurricularExercisesSituationService studentExtracurricularExercisesSituationService;
+    @Autowired
     private StudentServeService studentServeService;
     @Autowired
     private SysTenantConfigService sysTenantConfigService;
@@ -322,7 +325,7 @@ public class StudentServeServiceImpl implements StudentServeService {
             currentPage=currentPage.add(BigDecimal.ONE);
         }
 
-        studentExtracurricularExercisesSituationDao.deleteByMonday(monDayDate.toString(), null);
+        studentExtracurricularExercisesSituationService.deleteByMonday(monDayDate.toString(), null);
 
         BigDecimal currentPage1=BigDecimal.ONE,
                 pageSize1=new BigDecimal(10000),
@@ -331,7 +334,7 @@ public class StudentServeServiceImpl implements StudentServeService {
 
         while (currentPage1.compareTo(totalPage1)<=0){
             List<StudentExtracurricularExercisesSituation> rows=results.stream().skip(pageSize1.multiply(currentPage1.subtract(BigDecimal.ONE)).longValue()).limit(pageSize1.longValue()).collect(Collectors.toList());
-            studentExtracurricularExercisesSituationDao.batchInsert(rows);
+            studentExtracurricularExercisesSituationService.batchInsert(rows);
             currentPage1=currentPage1.add(BigDecimal.ONE);
         }
     }
@@ -389,7 +392,7 @@ public class StudentServeServiceImpl implements StudentServeService {
 
         //节假日不产生服务指标
         if(weekInHoliday){
-            studentExtracurricularExercisesSituationDao.deleteByMonday(monDayDate.toString(), studentIds);
+            studentExtracurricularExercisesSituationService.deleteByMonday(monDayDate.toString(), studentIds);
             return;
         }
         
@@ -660,7 +663,7 @@ public class StudentServeServiceImpl implements StudentServeService {
                 }
             }
 
-            studentExtracurricularExercisesSituationDao.deleteByMonday(monDayDate.toString(), null);
+            studentExtracurricularExercisesSituationService.deleteByMonday(monDayDate.toString(), null);
 
             BigDecimal currentPage1=BigDecimal.ONE,
                     pageSize1=new BigDecimal(10000),
@@ -670,7 +673,7 @@ public class StudentServeServiceImpl implements StudentServeService {
             while (currentPage1.compareTo(totalPage1)<=0){
                 List<StudentExtracurricularExercisesSituation> rows=results.stream().skip(pageSize1.multiply(currentPage1.subtract(BigDecimal.ONE)).longValue()).limit(pageSize1.longValue()).collect(Collectors.toList());
 
-                studentExtracurricularExercisesSituationDao.batchInsert(rows);
+                studentExtracurricularExercisesSituationService.batchInsert(rows);
 
                 currentPage1=currentPage1.add(BigDecimal.ONE);
             }
@@ -1090,12 +1093,4 @@ public class StudentServeServiceImpl implements StudentServeService {
         }
         return result;
     }
-    
-
-    
-	private Date LocalDateToUdate(LocalDate localDate) {
-		ZoneId zone = ZoneId.systemDefault();
-		Instant instant = localDate.atStartOfDay().atZone(zone).toInstant();
-		return Date.from(instant);
-	}
 }

+ 4 - 1
mec-biz/src/main/resources/config/mybatis/CourseScheduleStatisticsMapper.xml

@@ -118,13 +118,16 @@
 		</set> WHERE course_schedule_id_ = #{item.courseScheduleId}
 		</foreach>
 	</update>
+	<update id="updateCourseService">
+		UPDATE course_schedule_statistics SET service_flag_ = #{serviceFlag} WHERE FIND_IN_SET(course_schedule_id_,#{courseIds})
+	</update>
 
 	<!-- 根据主键删除一条记录 -->
 	<delete id="delete" >
 		DELETE FROM course_schedule_statistics WHERE course_schedule_id_ = #{courseScheduleId}
 	</delete>
 	<delete id="delWaitByCourseId">
-		DELETE FROM course_schedule_statistics_wait WHERE course_schedule_id_ IN
+		SELECT * FROM course_schedule_statistics_wait WHERE course_schedule_id_ IN
 		<foreach collection="courseIdList" item="courseId" separator="," open="(" close=")">
 			#{courseId}
 		</foreach>

+ 22 - 0
mec-biz/src/main/resources/config/mybatis/StudentExtracurricularExercisesSituationMapper.xml

@@ -199,12 +199,34 @@
 			</foreach>
 		</if>
 	</delete>
+	<select id="selectByMonday" resultMap="StudentExtracurricularExercisesSituation">
+		SELECT id_,course_ids_ FROM student_extracurricular_exercises_situation_ WHERE monday_ = #{monday}
+		<if test="studentIds!=null and studentIds.size()>0">
+			AND student_id_ IN
+			<foreach collection="studentIds" item="studentId" open="(" close=")" separator=",">
+				#{studentId}
+			</foreach>
+		</if>
+	</select>
 	<delete id="deleteByStudent">
 		DELETE FROM student_extracurricular_exercises_situation_ WHERE student_id_ = #{studentId}
 		<if test="monday!=null and monday!=''">
 			AND monday_=#{monday}
 		</if>
 	</delete>
+	<delete id="batchDelete">
+		DELETE FROM student_extracurricular_exercises_situation_ WHERE id_ IN
+		<foreach collection="situationIds" item="id" open="(" close=")" separator=",">
+			#{id}
+		</foreach>
+	</delete>
+
+	<select id="selectByStudent" resultMap="StudentExtracurricularExercisesSituation">
+		SELECT id_,course_ids_ FROM student_extracurricular_exercises_situation_ WHERE student_id_ = #{studentId}
+		<if test="monday!=null and monday!=''">
+			AND monday_=#{monday}
+		</if>
+	</select>
 
 	<!-- 分页查询 -->
 	<select id="queryPage" resultMap="StudentExtracurricularExercisesSituation" parameterType="map">