Explorar el Código

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

yonge hace 5 años
padre
commit
2800d14ea8

+ 8 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentRegistrationDao.java

@@ -232,6 +232,14 @@ public interface StudentRegistrationDao extends BaseDAO<Long, StudentRegistratio
     List<Map<Integer, String>> findMapByMusicGroupId(@Param("musicGroupId") String musicGroupId,@Param("paymentStatus")Integer paymentStatus);
 
     /**
+     * 根据乐团编号获取当前乐团所有已报名学员
+     *
+     * @param musicGroupId
+     * @return
+     */
+    List<Map<Integer, String>> findIdMapByMusicGroupId(@Param("musicGroupId") String musicGroupId,@Param("paymentStatus")Integer paymentStatus);
+
+    /**
      * 乐团开启缴费
      *
      * @param musicGroupId

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/DealStatusEnum.java

@@ -8,7 +8,7 @@ import com.ym.mec.common.enums.BaseEnum;
 public enum DealStatusEnum implements BaseEnum<String, DealStatusEnum> {
 	ING("ING", "交易中"),
 	SUCCESS("SUCCESS", "成功交易"),
-	FAilED("FAilED", "交易失败"),
+	FAilED("FAILED", "交易失败"),
 	CLOSE("CLOSE", "交易关闭");
 
 	private String code;

+ 10 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/ClassGroupService.java

@@ -12,8 +12,6 @@ import com.ym.mec.common.entity.ImUserModel;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.page.QueryInfo;
 import com.ym.mec.common.service.BaseService;
-import org.apache.ibatis.annotations.Param;
-import org.snaker.engine.access.Page;
 
 import java.util.List;
 
@@ -303,4 +301,13 @@ public interface ClassGroupService extends BaseService<Integer, ClassGroup> {
      * @return
      */
     List<HighClassGroupDto> findClassGroupByMusicGroupIdAndSubjectId(String musicGroupId,Integer subjectId);
-}
+
+    /**
+     * @describe 批量更新指定班级人数
+     * @author Joburgess
+     * @date 2019/11/12
+     * @param classGroupIds: 班级编号列表
+     * @return int
+     */
+    int batchUpdateClassCourseTimes(List<Integer> classGroupIds);
+}

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

@@ -84,4 +84,6 @@ public interface SubjectService extends BaseService<Integer, Subject> {
     List<Subject> findSubSubjects();
 
     List<Subject> findBySubjectByIdList(List<Integer> subjectIdList);
+
+    List<Subject> findBySubjectByIdList(String subjectIdList);
 }

+ 17 - 7
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java

@@ -1,6 +1,5 @@
 package com.ym.mec.biz.service.impl;
 
-import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
@@ -297,6 +296,11 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
             //LocalDateTime now = LocalDateTime.ofInstant(highClassGroup.getStartDate().toInstant(), ZoneId.systemDefault());
             LocalDateTime now = LocalDate.parse(highClassGroup.getStartDate(), DateTimeFormatter.ofPattern("yyyy-MM-dd")).atStartOfDay();
 
+
+            List<Subject> subjectList = subjectService.findBySubjectByIdList(highClassGroup.getSubjectIdList());
+
+            String courseScheduleName = subjectList.stream().map(subject -> subject.getName()).collect(Collectors.joining("/"));
+
             while (true) {
                 int dayOfWeek = now.getDayOfWeek().getValue();
                 if (highClassGroup.getDayOfWeek().equals(dayOfWeek)) {
@@ -318,9 +322,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                     courseSchedule.setUpdateTime(date);
                     courseSchedule.setTeachMode(TeachModeEnum.OFFLINE);
                     courseSchedule.setType(CourseSchedule.CourseScheduleType.HIGH);
-                    Subject subject = subjectService.get(Integer.parseInt(highClassGroup.getSubjectIdList()));
-                    courseSchedule.setName(subject.getName() + "-" + CourseSchedule.CourseScheduleType.HIGH.getMsg());
-
+                    courseSchedule.setName(courseScheduleName + "-" + CourseSchedule.CourseScheduleType.HIGH.getMsg());
                     courseScheduleList.add(courseSchedule);
                     times++;
                 }
@@ -329,6 +331,8 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                     break;
                 }
             }
+            //检测新排课冲突
+            courseScheduleService.checkNewCourseSchedules(courseScheduleList,false);
             courseScheduleDao.batchAddCourseSchedules(courseScheduleList);
             List<ImGroupMember> groupMembers = musicGroupService.queryMusicGroupTeachers(highClassGroup.getMusicGroupId());
             groupMembers.add(new ImGroupMember(classGroupTeacherMapper.getUserId().toString()));
@@ -419,8 +423,8 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 
         List<ClassGroupTeacherMapper> classGroupTeacherMapperList = classGroupTeacherMapperService.findClassGroupTeachers(classGroupAndTeachersList);
         //获取当前乐团的合奏班id列表map
-        HashMap<Integer,Integer> idMap = JSONObject.parseObject(JSONObject.toJSONString(MapUtil.convertMybatisMap(classGroupRelationDao.queryClassRelationIdMap(musicGroupId))), HashMap.class);
-        HashMap<Integer,String> nameMap = JSONObject.parseObject(JSONObject.toJSONString(MapUtil.convertMybatisMap(classGroupRelationDao.queryClassRelationNameMap(musicGroupId))), HashMap.class);
+        HashMap<Integer, Integer> idMap = JSONObject.parseObject(JSONObject.toJSONString(MapUtil.convertMybatisMap(classGroupRelationDao.queryClassRelationIdMap(musicGroupId))), HashMap.class);
+        HashMap<Integer, String> nameMap = JSONObject.parseObject(JSONObject.toJSONString(MapUtil.convertMybatisMap(classGroupRelationDao.queryClassRelationNameMap(musicGroupId))), HashMap.class);
 
         for (ClassGroupTeachersDto classGroupAndTeachers : classGroupAndTeachersList) {
             List<ClassGroupTeacherMapper> oneClassGroupTeacherMapperList = new ArrayList<>();
@@ -449,7 +453,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                 //获取老师的默认课酬
                 String courseType = classGroupAndTeacher.getType().equals(ClassGroupTypeEnum.NORMAL) ? "SINGLE" : classGroupAndTeacher.getType().getCode();
 
-                if(musicGroup.getSettlementType().equals(SalarySettlementTypeEnum.CLASSROOM_SALARY)){
+                if (musicGroup.getSettlementType().equals(SalarySettlementTypeEnum.CLASSROOM_SALARY)) {
                     courseType = "CLASSROOM";
                 }
 
@@ -1628,4 +1632,10 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         }
         return highClassGroupList;
     }
+
+    @Override
+    public int batchUpdateClassCourseTimes(List<Integer> classGroupIds) {
+
+        return 0;
+    }
 }

+ 3 - 5
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupTeacherMapperServiceImpl.java

@@ -25,6 +25,7 @@ import org.springframework.util.CollectionUtils;
 
 import java.math.BigDecimal;
 import java.util.*;
+import java.util.stream.Collector;
 import java.util.stream.Collectors;
 
 @Service
@@ -59,11 +60,8 @@ public class ClassGroupTeacherMapperServiceImpl extends BaseServiceImpl<Long, Cl
     public int classGroupTeachersInsert(List<ClassGroupTeacherMapper> classGroupTeacherMapperList) {
         //老师加入群组
         List<ImGroupMember> imGroupMemberList = new ArrayList<>();
-        String classGroupIds = "";
-        for (ClassGroupTeacherMapper classGroupTeacherMapper : classGroupTeacherMapperList) {
-            classGroupIds += classGroupTeacherMapper.getClassGroupId() + ",";
-        }
-        classGroupIds = classGroupIds.substring(0, classGroupIds.length() - 1);
+        String classGroupIds = classGroupTeacherMapperList.stream().map(classGroupTeacherMapper -> classGroupTeacherMapper.getClassGroupId().toString()).collect(Collectors.joining(","));
+
         List<ClassGroup> classGroups = classGroupService.findClassGroupByIds(classGroupIds);
 
         List<ClassGroupTeacherMapper> oldClassGroupTeacherMapper = classGroupTeacherMapperDao.getClassGroupTeacherMapper(classGroupTeacherMapperList);

+ 4 - 4
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java

@@ -271,6 +271,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             throw new Exception("用户信息获取失败");
         }
         MusicGroup musicGroup = saveLog(musicGroupId,MusicGroupStatusEnum.PREPARE);
+//        MusicGroup musicGroup = musicGroupDao.get(musicGroupId);
         //乐器采购清单是否确认
         Map<String,Object> param = new HashMap<>();
         param.put("musicGroupId",musicGroupId);
@@ -291,12 +292,11 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             sysMessageService.batchSendMessage(MessageSender.YIMEI,MessageTypeEnum.TEACHER_PUSH_MUSIC_GROUP_COURSE_ADD_PLAN,
                     map,null,0,"1",musicGroup.getName());
         }
-        Map<Integer,String> studentMap = JSONObject.parseObject(JSONObject.toJSONString(MapUtil.convertMybatisMap(studentRegistrationDao.findMapByMusicGroupId(musicGroupId,2))),HashMap.class);
-
+        Map<Integer,String> studentMap = JSONObject.parseObject(JSONObject.toJSONString(MapUtil.convertMybatisMap(studentRegistrationDao.findIdMapByMusicGroupId(musicGroupId,2))),HashMap.class);
         if(studentMap != null && studentMap.size() > 0){
             String url = "http://mstudev.dayaedu.com/#/smallRegister?musicGroupId=" + musicGroupId;
             String serverPhone = sysConfigDao.findConfigValue(SysConfigService.SERVER_PHONE);
-            sysMessageService.batchSendMessage(MessageSender.YIMEI,MessageTypeEnum.SMS_BASICS_SKILL_APPLY_MESSAGE,
+            sysMessageService.batchSendMessage(MessageSender.JIGUANG,MessageTypeEnum.SMS_BASICS_SKILL_APPLY_MESSAGE,
                     studentMap,null,0,"5?" + url,musicGroup.getName(),HttpUtil.getSortUrl(url),serverPhone);
         }
 
@@ -733,7 +733,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             throw new BizException("系统数据异常,找不到学员预缴费信息");
         }
         Date date = new Date();
-        Map<Integer, String> receivers = new HashMap<Integer, String>(1);
+        Map<Integer, String> receivers = new HashMap<>(1);
         StudentRegistration studentRegistration = studentRegistrationDao.queryByUserIdAndMusicGroupId(userId, musicGroupId);
         receivers.put(userId, studentRegistration.getParentsPhone());
         if(studentPaymentOrder.getStatus() == DealStatusEnum.SUCCESS){

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

@@ -169,4 +169,9 @@ public class SubjectServiceImpl extends BaseServiceImpl<Integer, Subject>  imple
     public List<Subject> findBySubjectByIdList(List<Integer> subjectIdList) {
         return subjectDao.findBySubjectByIdList(StringUtils.join(subjectIdList,","));
     }
+
+    @Override
+    public List<Subject> findBySubjectByIdList(String subjectIdList) {
+        return subjectDao.findBySubjectByIdList(subjectIdList);
+    }
 }

+ 2 - 2
mec-biz/src/main/resources/config/mybatis/ClassGroupMapper.xml

@@ -628,8 +628,8 @@
         FROM music_group mg
         LEFT JOIN class_group cg ON cg.music_group_id_ = mg.id_
         LEFT JOIN music_group_student_fee_ mgsf ON mgsf.music_group_id_ = mg.id_
-        WHERE FIND_IN_SET(mg.id_,#{musicGroupIds}) AND (cg.type_ = 'NORMAL' OR cg.type_ = 'MIX') AND cg.del_flag_ = 0
-        GROUP BY mg.id_,mgsf.id_
+        WHERE FIND_IN_SET(mg.id_,#{musicGroupIds}) AND cg.type_ != 'VIP' AND cg.del_flag_ = 0
+        GROUP BY mg.id_,mgsf.payment_status_
     </select>
 
     <!-- 增加实际学生人数 -->

+ 8 - 0
mec-biz/src/main/resources/config/mybatis/StudentRegistrationMapper.xml

@@ -478,6 +478,14 @@
         </if>
         GROUP BY sr.user_id_
     </select>
+    <select id="findIdMapByMusicGroupId" resultType="java.util.Map">
+        SELECT sr.user_id_ 'key',MIN(sr.user_id_) 'value' FROM student_registration sr
+        WHERE sr.music_group_id_ = #{musicGroupId}
+        <if test="paymentStatus != null">
+            AND sr.payment_status_ = #{paymentStatus}
+        </if>
+        GROUP BY sr.user_id_
+    </select>
 
     <!-- 删除学生的班级 -->
     <update id="deleteClassGroup">

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

@@ -346,7 +346,7 @@
     <sql id="queryMusicGroupTeachersSql">
         <where>
             <if test="search != null and search != ''">
-                AND (su.real_name_ LIKE CONCAT('%',#{search},'%') OR su.phone_ LIKE CONCAT('%',#{search},'%'))
+                AND (su.real_name_ LIKE CONCAT('%',#{search},'%') OR su.phone_ LIKE CONCAT('%',#{search},'%') OR su.id_=#{search})
             </if>
             <if test="musicGroupId != null and musicGroupId != ''">
                 AND cgtm.music_group_id_ = #{musicGroupId}

+ 7 - 5
mec-biz/src/main/resources/config/mybatis/VipGroupActivityMapper.xml

@@ -31,12 +31,12 @@
 	
 	<!-- 根据主键查询一条记录 -->
 	<select id="get" resultMap="VipGroupActivity" >
-		SELECT * FROM vip_group_activity WHERE id_ = #{id} 
+		SELECT * FROM vip_group_activity WHERE id_ = #{id}
 	</select>
 	
 	<!-- 全查询 -->
 	<select id="findAll" resultMap="VipGroupActivity">
-		SELECT * FROM vip_group_activity ORDER BY id_
+		SELECT * FROM vip_group_activity WHERE del_flag_=0 ORDER BY id_
 	</select>
 	
 	<!-- 向数据库增加一条记录 -->
@@ -111,12 +111,13 @@
 	
 	<!-- 根据主键删除一条记录 -->
 	<delete id="delete" >
-		DELETE FROM vip_group_activity WHERE id_ = #{id}
+		UPDATE vip_group_activity SET del_flag_=1 WHERE id_ = #{id}
 	</delete>
 
 	<sql id="queryCondition">
 		<where>
-			organ_id_=#{organId}
+			del_flag_=0
+			AND organ_id_=#{organId}
 		</where>
 	</sql>
 
@@ -146,8 +147,9 @@
 		WHERE
 			FIND_IN_SET( #{categoryId}, vip_group_category_id_list_ )
 			AND NOW() &lt; end_time_
+			AND del_flag_=0
 	</select>
     <select id="queryNamesById" resultType="java.util.Map">
-		SELECT vga.id_ `key`,vga.name_ `value` FROM vip_group_activity vga WHERE FIND_IN_SET(vga.id_,#{activityIds})
+		SELECT vga.id_ `key`,vga.name_ `value` FROM vip_group_activity vga WHERE FIND_IN_SET(vga.id_,#{activityIds}) AND del_flag_=0
 	</select>
 </mapper>

+ 1 - 0
mec-teacher/src/main/java/com/ym/mec/teacher/controller/TeacherController.java

@@ -2,6 +2,7 @@ package com.ym.mec.teacher.controller;
 
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
+import com.ym.mec.biz.dal.entity.SysUserCashAccountDetail;
 import com.ym.mec.biz.dal.entity.Teacher;
 import com.ym.mec.biz.dal.page.TeacherCloseQueryInfo;
 import com.ym.mec.biz.dal.page.TeacherQueryInfo;

+ 1 - 1
mec-util/src/main/java/com/ym/mec/util/collection/MapUtil.java

@@ -112,7 +112,7 @@ public class MapUtil {
 			if(Objects.isNull(stringIntegerMap)){
 				return;
 			}
-			result.put(stringIntegerMap.get("key"),stringIntegerMap.get("value"));
+			result.put(stringIntegerMap.get("key"),stringIntegerMap.get("value").toString());
 		});
 		return result;
 	}

+ 5 - 3
mec-web/src/main/java/com/ym/mec/web/controller/VipGroupCategoryController.java

@@ -46,9 +46,11 @@ public class VipGroupCategoryController extends BaseController {
 		if (sysUser == null) {
 			return failed("用户信息获取失败");
 		}
-		if(StringUtils.isEmpty(organId)){
-			Employee employee = employeeDao.get(sysUser.getId());
-			organId = employee.getOrganIdList();
+		if(!sysUser.getIsSuperAdmin()){
+			if(StringUtils.isEmpty(organId)){
+				Employee employee = employeeDao.get(sysUser.getId());
+				organId=employee.getOrganIdList();
+			}
 		}
 		return succeed(vipGroupCategoryService.findAllByOrgan(organId));
 	}