ソースを参照

Merge remote-tracking branch 'origin/master'

周箭河 5 年 前
コミット
cbaa60a831
88 ファイル変更401 行追加233 行削除
  1. 1 1
      cms/src/main/resources/config/mybatis/SysNewsInformationMapper.xml
  2. 7 5
      mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/config/PermissionCheckService.java
  3. 1 1
      mec-auth/mec-auth-server/src/main/resources/config/mybatis/SysMenuMapper.xml
  4. 1 1
      mec-auth/mec-auth-server/src/main/resources/config/mybatis/SysRoleMapper.xml
  5. 1 1
      mec-auth/mec-auth-server/src/main/resources/config/mybatis/SysUserMapper.xml
  6. 2 2
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleTeacherSalaryDao.java
  7. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MusicGroupDao.java
  8. 9 7
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/TeacherAttendanceDao.java
  9. 6 6
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/MusicGroupClassGroupDto.java
  10. 10 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/TeacherClassCourseSchudeleDto.java
  11. 16 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/TeacherAttendance.java
  12. 9 0
      mec-biz/src/main/java/com/ym/mec/biz/service/CourseScheduleService.java
  13. 10 1
      mec-biz/src/main/java/com/ym/mec/biz/service/CourseScheduleTeacherSalaryService.java
  14. 1 2
      mec-biz/src/main/java/com/ym/mec/biz/service/StudentWithdrawService.java
  15. 10 7
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java
  16. 4 2
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupTeacherMapperServiceImpl.java
  17. 28 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java
  18. 2 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleStudentPaymentServiceImpl.java
  19. 42 6
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleTeacherSalaryServiceImpl.java
  20. 6 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/DemoGroupServiceImpl.java
  21. 18 25
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java
  22. 3 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentAttendanceServiceImpl.java
  23. 25 11
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentWithdrawServiceImpl.java
  24. 11 12
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherAttendanceServiceImpl.java
  25. 9 2
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherLeaveRecordServiceImpl.java
  26. 31 25
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java
  27. 1 1
      mec-biz/src/main/resources/config/mybatis/ChargeTypeMapper.xml
  28. 1 1
      mec-biz/src/main/resources/config/mybatis/ChargeTypeSubjectMapperMapper.xml
  29. 2 2
      mec-biz/src/main/resources/config/mybatis/ClassGroupMapper.xml
  30. 2 2
      mec-biz/src/main/resources/config/mybatis/ClassGroupTeacherMapperMapper.xml
  31. 1 1
      mec-biz/src/main/resources/config/mybatis/CooperationOrganMapper.xml
  32. 1 1
      mec-biz/src/main/resources/config/mybatis/CourseHomeworkMapper.xml
  33. 2 2
      mec-biz/src/main/resources/config/mybatis/CourseScheduleHistoryMapper.xml
  34. 4 1
      mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml
  35. 2 2
      mec-biz/src/main/resources/config/mybatis/CourseScheduleStudentPaymentMapper.xml
  36. 2 8
      mec-biz/src/main/resources/config/mybatis/CourseScheduleTeacherSalaryMapper.xml
  37. 2 1
      mec-biz/src/main/resources/config/mybatis/DemoGroupMapper.xml
  38. 1 1
      mec-biz/src/main/resources/config/mybatis/EmployeeMapper.xml
  39. 1 1
      mec-biz/src/main/resources/config/mybatis/GoodsCategoryMapper.xml
  40. 1 1
      mec-biz/src/main/resources/config/mybatis/GoodsMapper.xml
  41. 1 1
      mec-biz/src/main/resources/config/mybatis/GoodsOrderItemMapper.xml
  42. 1 1
      mec-biz/src/main/resources/config/mybatis/GoodsOrderMapper.xml
  43. 1 1
      mec-biz/src/main/resources/config/mybatis/GoodsOrderPaymentMapper.xml
  44. 2 2
      mec-biz/src/main/resources/config/mybatis/HotWordsLabelMapper.xml
  45. 1 1
      mec-biz/src/main/resources/config/mybatis/LeaveCategoryMapper.xml
  46. 3 3
      mec-biz/src/main/resources/config/mybatis/MusicGroupMapper.xml
  47. 1 1
      mec-biz/src/main/resources/config/mybatis/MusicGroupPaymentCalenderMapper.xml
  48. 1 1
      mec-biz/src/main/resources/config/mybatis/MusicGroupPaymentEntitiesMapper.xml
  49. 1 1
      mec-biz/src/main/resources/config/mybatis/MusicGroupPurchaseListMapper.xml
  50. 1 1
      mec-biz/src/main/resources/config/mybatis/MusicGroupStudentFeeMapper.xml
  51. 1 1
      mec-biz/src/main/resources/config/mybatis/MusicGroupSubjectGoodsGroupMapper.xml
  52. 2 2
      mec-biz/src/main/resources/config/mybatis/MusicGroupSubjectPlanMapper.xml
  53. 1 1
      mec-biz/src/main/resources/config/mybatis/OrganizationMapper.xml
  54. 1 1
      mec-biz/src/main/resources/config/mybatis/SchoolMapper.xml
  55. 1 1
      mec-biz/src/main/resources/config/mybatis/StudentApplyRefundsMapper.xml
  56. 1 1
      mec-biz/src/main/resources/config/mybatis/StudentCourseHomeworkMapper.xml
  57. 1 1
      mec-biz/src/main/resources/config/mybatis/StudentManageDao.xml
  58. 1 1
      mec-biz/src/main/resources/config/mybatis/StudentPaymentOrderDetailMapper.xml
  59. 1 1
      mec-biz/src/main/resources/config/mybatis/StudentPaymentOrderMapper.xml
  60. 2 2
      mec-biz/src/main/resources/config/mybatis/StudentRegistrationMapper.xml
  61. 1 1
      mec-biz/src/main/resources/config/mybatis/SubjectGoodsMapperMapper.xml
  62. 1 1
      mec-biz/src/main/resources/config/mybatis/SubjectMapper.xml
  63. 1 1
      mec-biz/src/main/resources/config/mybatis/SysAreaMapper.xml
  64. 1 1
      mec-biz/src/main/resources/config/mybatis/SysUserCashAccountDetailMapper.xml
  65. 1 1
      mec-biz/src/main/resources/config/mybatis/SysUserCashAccountMapper.xml
  66. 20 0
      mec-biz/src/main/resources/config/mybatis/TeacherAttendanceMapper.xml
  67. 1 1
      mec-biz/src/main/resources/config/mybatis/TeacherDefaultMusicGroupSalaryMapper.xml
  68. 1 1
      mec-biz/src/main/resources/config/mybatis/TeacherDefaultVipGroupSalaryMapper.xml
  69. 2 2
      mec-biz/src/main/resources/config/mybatis/TeacherLeaveRecordMapper.xml
  70. 2 2
      mec-biz/src/main/resources/config/mybatis/TeacherMapper.xml
  71. 1 1
      mec-biz/src/main/resources/config/mybatis/VipGroupActivityMapper.xml
  72. 2 2
      mec-biz/src/main/resources/config/mybatis/VipGroupCategoryMapper.xml
  73. 1 1
      mec-biz/src/main/resources/config/mybatis/VipGroupDefaultClassesCycleMapper.xml
  74. 3 3
      mec-biz/src/main/resources/config/mybatis/VipGroupDefaultClassesUnitPriceMapper.xml
  75. 1 1
      mec-biz/src/main/resources/config/mybatis/VipGroupMapper.xml
  76. 1 1
      mec-education/src/main/java/com/ym/mec/education/controller/CourseScheduleController.java
  77. 9 3
      mec-im/src/main/java/com/ym/controller/ConversationController.java
  78. 2 0
      mec-im/src/main/java/com/ym/service/GroupService.java
  79. 9 1
      mec-im/src/main/java/com/ym/service/Impl/GroupServiceImpl.java
  80. 5 13
      mec-im/src/main/java/com/ym/service/Impl/RoomServiceImpl.java
  81. 4 4
      mec-student/src/main/java/com/ym/mec/student/controller/CourseController.java
  82. 4 15
      mec-student/src/main/java/com/ym/mec/student/controller/WithdrawController.java
  83. 2 2
      mec-student/src/main/resources/application.yml
  84. 1 1
      mec-teacher/src/main/java/com/ym/mec/teacher/controller/TeacherCourseScheduleController.java
  85. 8 1
      mec-teacher/src/main/java/com/ym/mec/teacher/controller/TeacherManageController.java
  86. 2 2
      mec-teacher/src/main/resources/application.yml
  87. 2 2
      mec-web/src/main/java/com/ym/mec/web/controller/CourseScheduleController.java
  88. 1 1
      mec-web/src/main/java/com/ym/mec/web/controller/VipGroupManageController.java

+ 1 - 1
cms/src/main/resources/config/mybatis/SysNewsInformationMapper.xml

@@ -62,7 +62,7 @@
 				title_ = #{title},
 			</if>
 			<if test="updateTime != null">
-				update_time_ = #{updateTime},
+				update_time_ = NOW(),
 			</if>
 			<if test="content != null">
 				content_ = #{content},

+ 7 - 5
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/config/PermissionCheckService.java

@@ -8,15 +8,16 @@ import org.springframework.security.core.Authentication;
 import org.springframework.security.core.GrantedAuthority;
 import org.springframework.stereotype.Component;
 
-import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
+import com.ym.mec.auth.service.SysUserService;
+import com.ym.mec.common.security.AuthUser;
 import com.ym.mec.common.security.SecurityUtils;
 
 @Component("pcs")
 public class PermissionCheckService {
-	
+
 	@Autowired
-	private SysUserFeignService sysUserFeignService;
+	private SysUserService sysUserService;
 
 	public boolean hasPermissions(String... permissions) {
 		Authentication authentication = SecurityUtils.getAuthentication();
@@ -24,8 +25,9 @@ public class PermissionCheckService {
 			return false;
 		}
 
-		SysUser user = sysUserFeignService.queryUserInfo();
-		if(user.getIsSuperAdmin()){
+		AuthUser authUser = SecurityUtils.getUser();
+		SysUser user = sysUserService.get(authUser.getUserId());
+		if (user.getIsSuperAdmin()) {
 			return true;
 		}
 

+ 1 - 1
mec-auth/mec-auth-server/src/main/resources/config/mybatis/SysMenuMapper.xml

@@ -74,7 +74,7 @@
                 component_ = #{component},
             </if>
             <if test="updateTime != null">
-                update_time_ = #{updateTime},
+                update_time_ = NOW(),
             </if>
             <if test="type != null">
                 type_ = #{type},

+ 1 - 1
mec-auth/mec-auth-server/src/main/resources/config/mybatis/SysRoleMapper.xml

@@ -51,7 +51,7 @@
                 role_desc_ = #{roleDesc},
             </if>
             <if test="updateTime != null">
-                update_time_ = #{updateTime},
+                update_time_ = NOW(),
             </if>
             <if test="organId != null">
                 organ_id_ = #{organId},

+ 1 - 1
mec-auth/mec-auth-server/src/main/resources/config/mybatis/SysUserMapper.xml

@@ -100,7 +100,7 @@
                 user_type_ = #{userType, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
             </if>
             <if test="updateTime != null">
-                update_time_ = #{updateTime},
+                update_time_ = NOW(),
             </if>
             <if test="lockFlag != null">
                 lock_flag_ = #{lockFlag, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},

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

@@ -59,13 +59,13 @@ public interface CourseScheduleTeacherSalaryDao extends BaseDAO<Long, CourseSche
 	
 	/**
 	 * 批量更新指定老师所教学班级的报酬(课酬、补贴)
-	 * @param classGrpupId 班级编号
+	 * @param classGroupId 班级编号
 	 * @param userId 老师编号
 	 * @param salary 课酬
 	 * @param subsidy 补贴
 	 * @return
 	 */
-	int batchUpdateWages(@Param("classGrpupId") Integer classGrpupId, @Param("userId") Integer userId, @Param("salary") BigDecimal salary,
+	int batchUpdateWages(@Param("classGroupId") Integer classGroupId, @Param("userId") Integer userId, @Param("salary") BigDecimal salary,
 			@Param("subsidy") BigDecimal subsidy);
 
 	/**

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

@@ -140,5 +140,5 @@ public interface MusicGroupDao extends BaseDAO<String, MusicGroup> {
      * @param roleIds
      * @return
      */
-    Set<Integer> queryUserIdByRoleId(Set<Integer> roleIds);
+    Set<Integer> queryUserIdByRoleId(@Param("roleIds") Set<Integer> roleIds);
 }

+ 9 - 7
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/TeacherAttendanceDao.java

@@ -1,17 +1,15 @@
 package com.ym.mec.biz.dal.dao;
 
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-
-import com.ym.mec.biz.dal.entity.StudentAttendance;
-import org.apache.ibatis.annotations.Param;
-
 import com.ym.mec.biz.dal.dto.Mapper;
 import com.ym.mec.biz.dal.dto.TeacherAbnormalAttendanceInfoDto;
 import com.ym.mec.biz.dal.dto.TeacherPersonalAttendanceDto;
 import com.ym.mec.biz.dal.entity.TeacherAttendance;
 import com.ym.mec.common.dal.BaseDAO;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
 
 public interface TeacherAttendanceDao extends BaseDAO<Long, TeacherAttendance> {
 
@@ -22,6 +20,10 @@ public interface TeacherAttendanceDao extends BaseDAO<Long, TeacherAttendance> {
      */
     List<TeacherPersonalAttendanceDto> getTeacherPersonalAttendances(Map<String,Object> params);
 
+    int batchInsert(@Param("teacherAttendances") List<TeacherAttendance> teacherAttendances);
+
+    int batchDeleteByCourseSchedules(@Param("courseScheduleIds") List<Long> courseScheduleIds);
+
     /**
      * 教师个人签到记录统计
      * @param params

+ 6 - 6
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/MusicGroupClassGroupDto.java

@@ -29,10 +29,10 @@ public class MusicGroupClassGroupDto {
     private Integer currentClassTimes;
 
     @ApiModelProperty(value = "跟班人数", required = true)
-    private String studyNum;
+    private Integer studyNum;
 
     @ApiModelProperty(value = "退班人数", required = true)
-    private String quitNum;
+    private Integer quitNum;
 
     public Integer getClassGroupId() {
         return classGroupId;
@@ -82,19 +82,19 @@ public class MusicGroupClassGroupDto {
         this.currentClassTimes = currentClassTimes;
     }
 
-    public String getStudyNum() {
+    public Integer getStudyNum() {
         return studyNum;
     }
 
-    public void setStudyNum(String studyNum) {
+    public void setStudyNum(Integer studyNum) {
         this.studyNum = studyNum;
     }
 
-    public String getQuitNum() {
+    public Integer getQuitNum() {
         return quitNum;
     }
 
-    public void setQuitNum(String quitNum) {
+    public void setQuitNum(Integer quitNum) {
         this.quitNum = quitNum;
     }
 }

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/TeacherClassCourseSchudeleDto.java

@@ -2,6 +2,7 @@ package com.ym.mec.biz.dal.dto;
 
 import com.ym.mec.biz.dal.entity.CourseSchedule;
 import com.ym.mec.biz.dal.enums.CourseStatusEnum;
+import com.ym.mec.biz.dal.enums.TeachModeEnum;
 import io.swagger.annotations.ApiModelProperty;
 
 import java.util.Date;
@@ -57,6 +58,15 @@ public class TeacherClassCourseSchudeleDto {
     @ApiModelProperty(value = "上课学生名称")
     private String studentNames;
 
+    private TeachModeEnum teachMode;
+
+    public TeachModeEnum getTeachMode() {
+        return teachMode;
+    }
+
+    public void setTeachMode(TeachModeEnum teachMode) {
+        this.teachMode = teachMode;
+    }
 
     public String getStudentNames() {
         return studentNames;

+ 16 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/TeacherAttendance.java

@@ -46,6 +46,9 @@ public class TeacherAttendance {
 
 	@ApiModelProperty(value = "签退时间")
 	private Date signOutTime;
+
+	@ApiModelProperty(value = "当前课次")
+	private Integer currentClassTimes;
 	
 	/** 备注 */
 	@ApiModelProperty(value = "备注",required = false)
@@ -65,6 +68,19 @@ public class TeacherAttendance {
 		this.createTime = createTime;
 	}
 
+	public TeacherAttendance(Integer teacherId, Long courseScheduleId) {
+		this.teacherId = teacherId;
+		this.courseScheduleId = courseScheduleId;
+	}
+
+	public Integer getCurrentClassTimes() {
+		return currentClassTimes;
+	}
+
+	public void setCurrentClassTimes(Integer currentClassTimes) {
+		this.currentClassTimes = currentClassTimes;
+	}
+
 	public YesOrNoEnum getSignInStatus() {
 		return signInStatus;
 	}

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

@@ -129,6 +129,15 @@ public interface CourseScheduleService extends BaseService<Long, CourseSchedule>
 	List<Date> getCourseScheduleDates(Date month);
 
 	/**
+	 * @describe 课程调整
+	 * @author Joburgess
+	 * @date 2019/11/7
+	 * @param newCourseSchedules: 课程计划列表
+	 * @return void
+	 */
+	void courseAdjust(List<CourseSchedule> newCourseSchedules);
+
+	/**
 	 * @Author: Joburgess
 	 * @Date: 2019/9/23
 	 * 课时调整

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

@@ -20,12 +20,21 @@ public interface CourseScheduleTeacherSalaryService extends BaseService<Long, Co
      * @return int
      * @describe 创建vip课教师课酬
      */
-    int createCourseScheduleTeacherVipSalary(VipGroup vipGroup,
+    void createCourseScheduleTeacherVipSalary(VipGroup vipGroup,
                                              List<CourseSchedule> vipCourseSchedules,
                                              BigDecimal onlineTeacherSalary,
                                              BigDecimal offlineTeacherSalary);
 
     /**
+     * @describe 批量插入教师课程课酬记录
+     * @author Joburgess
+     * @date 2019/11/7
+     * @param courseScheduleTeacherSalaries:
+     * @return void
+     */
+    void batchInsert(List<CourseScheduleTeacherSalary> courseScheduleTeacherSalaries);
+
+    /**
      * @Author: Joburgess
      * @Date: 2019/10/15
      * @params []

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

@@ -32,9 +32,8 @@ public interface StudentWithdrawService extends BaseService<Integer, StudentWith
 
 	/**
 	 *  新增提现记录
-	 * @param userId
 	 * @param bankCardNo
 	 * @param amount
 	 */
-	void apply(Integer userId, String bankCardNo, BigDecimal amount) throws Exception;
+	void apply(String bankCardNo, BigDecimal amount) throws Exception;
 }

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

@@ -1,6 +1,7 @@
 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;
 import com.ym.mec.biz.dal.dao.*;
@@ -84,6 +85,8 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
     @Autowired
     private CourseScheduleTeacherSalaryDao courseScheduleTeacherSalaryDao;
     @Autowired
+    private CourseScheduleTeacherSalaryService courseScheduleTeacherSalaryService;
+    @Autowired
     private StudentRegistrationService studentRegistrationService;
     @Autowired
     private ImFeignService imFeignService;
@@ -1013,7 +1016,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
             now = now.plusDays(1);
         }
         //老师结算表
-        courseScheduleTeacherSalaryDao.batchInsert(courseScheduleTeacherSalaryList);
+        courseScheduleTeacherSalaryService.batchInsert(courseScheduleTeacherSalaryList);
 
         //加入合奏班
         ClassGroupRelation classGroupRelation = new ClassGroupRelation();
@@ -1226,7 +1229,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
             }
         }
         //老师结算表
-        courseScheduleTeacherSalaryDao.batchInsert(courseScheduleTeacherSalaryList);
+        courseScheduleTeacherSalaryService.batchInsert(courseScheduleTeacherSalaryList);
 
         //加入合奏班
         ClassGroupRelation classGroupRelation = new ClassGroupRelation();
@@ -1437,7 +1440,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         classGroupRelationService.insert(classGroupRelation);
 
         //老师结算表
-        courseScheduleTeacherSalaryDao.batchInsert(courseScheduleTeacherSalaryList);
+        courseScheduleTeacherSalaryService.batchInsert(courseScheduleTeacherSalaryList);
 
         //学生结算表
         courseScheduleStudentPaymentDao.batchInsert(courseScheduleStudentPaymentList);
@@ -1458,13 +1461,13 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
             Set<Integer> classGroups = dataList.stream().map(e -> e.getClassGroupId()).collect(Collectors.toSet());
             String join = StringUtils.join(classGroups, ",");
             //获取主教老师
-            Map<Integer, String> masterTeachers = MapUtil.convertMybatisMap(classGroupDao.countStudentNum(join, "BISHOP"));
+            Map<Integer, String> masterTeachers = JSONObject.parseObject(JSONObject.toJSONString(MapUtil.convertMybatisMap(classGroupDao.countStudentNum(join, "BISHOP"))),HashMap.class);
             //获取助教老师
-            Map<Integer, String> subTeachers = MapUtil.convertMybatisMap(classGroupDao.countStudentNum(join, "TEACHING"));
+            Map<Integer, String> subTeachers = JSONObject.parseObject(JSONObject.toJSONString(MapUtil.convertMybatisMap(classGroupDao.countStudentNum(join, "TEACHING"))),HashMap.class);
             //获取在读人数
-            Map<Integer, String> studyNums = MapUtil.convertMybatisMap(classGroupDao.countStudyNum(join));
+            Map<Integer, Integer> studyNums = JSONObject.parseObject(JSONObject.toJSONString(MapUtil.convertMybatisMap(classGroupDao.countStudyNum(join))),HashMap.class);
             //获取退班人数
-            Map<Integer, String> quitNums = MapUtil.convertMybatisMap(classGroupDao.countQuitNum(join));
+            Map<Integer, Integer> quitNums = JSONObject.parseObject(JSONObject.toJSONString(MapUtil.convertMybatisMap(classGroupDao.countQuitNum(join))),HashMap.class);
             dataList.forEach(e -> {
                 e.setMasterTeacher(masterTeachers.get(e.getClassGroupId()));
                 e.setSubTeacher(subTeachers.get(e.getClassGroupId()));

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

@@ -37,6 +37,8 @@ public class ClassGroupTeacherMapperServiceImpl extends BaseServiceImpl<Long, Cl
     @Autowired
     private CourseScheduleTeacherSalaryDao courseScheduleTeacherSalaryDao;
     @Autowired
+    private CourseScheduleTeacherSalaryService courseScheduleTeacherSalaryService;
+    @Autowired
     private TeacherDefaultMusicGroupSalaryDao teacherDefaultMusicGroupSalaryDao;
     @Autowired
     private SysConfigDao sysConfigDao;
@@ -158,7 +160,7 @@ public class ClassGroupTeacherMapperServiceImpl extends BaseServiceImpl<Long, Cl
                 courseScheduleTeacherSalaryList.add(courseScheduleTeacherSalary);
             }
         }
-        courseScheduleTeacherSalaryDao.batchInsert(courseScheduleTeacherSalaryList);
+        courseScheduleTeacherSalaryService.batchInsert(courseScheduleTeacherSalaryList);
         return true;
     }
 
@@ -241,7 +243,7 @@ public class ClassGroupTeacherMapperServiceImpl extends BaseServiceImpl<Long, Cl
                         teacherDefaultMusicGroupSalaryWithTeacherId));
             });
         });
-        courseScheduleTeacherSalaryDao.batchInsert(courseScheduleTeacherSalaryList);
+        courseScheduleTeacherSalaryService.batchInsert(courseScheduleTeacherSalaryList);
     }
 
     /**

+ 28 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -3,6 +3,7 @@ package com.ym.mec.biz.service.impl;
 import com.alibaba.fastjson.JSONObject;
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
+import com.ym.mec.auth.api.entity.SysUserRole;
 import com.ym.mec.biz.dal.dao.*;
 import com.ym.mec.biz.dal.dto.*;
 import com.ym.mec.biz.dal.entity.*;
@@ -63,11 +64,15 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 	@Autowired
 	private CourseScheduleStudentPaymentDao courseScheduleStudentPaymentDao;
 	@Autowired
+	private TeacherAttendanceDao teacherAttendanceDao;
+	@Autowired
 	private ClassGroupService classGroupService;
 	@Autowired
 	private ClassGroupDao classGroupDao;
 	@Autowired
 	private TeacherDao teacherDao;
+	@Autowired
+	private MusicGroupDao musicGroupDao;
 
 	@Override
 	public BaseDAO<Long, CourseSchedule> getDAO() {
@@ -105,6 +110,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 		courseScheduleDao.batchDeleteCourseSchedules(courseScheduleIds);
 		courseScheduleTeacherSalaryDao.batchDeleteByCourseScheduleIds(courseScheduleIds);
 		courseScheduleStudentPaymentDao.deleteByCourseSchedule(courseScheduleIds);
+		teacherAttendanceDao.batchDeleteByCourseSchedules(courseScheduleIds);
 	}
 
 	@Override
@@ -449,6 +455,12 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 		return map;
 	}
 
+	@Override
+	public void courseAdjust(List<CourseSchedule> newCourseSchedules) {
+		checkNewCourseSchedules(newCourseSchedules);
+		classStartDateAdjust(newCourseSchedules);
+	}
+
 	@Transactional(rollbackFor = Exception.class)
 	@Override
 	public void classStartDateAdjust(List<CourseSchedule> newCourseSchedules) {
@@ -458,6 +470,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 		if(oldCourseScheduleList.size()!=newCourseSchedules.size()){
 			throw new BizException("课程信息错误");
 		}
+		Integer courseScheduleId = null;
 
 		Date now=new Date();
 		//明天日期
@@ -498,6 +511,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 					VipGroup byCourseSchedule = vipGroupDao.findByCourseSchedule(newCourseSchedule.getId().intValue());
 					TeacherDefaultVipGroupSalary byTeacherAndCategory = teacherDefaultVipGroupSalaryDao.findByTeacherAndCategory(newCourseSchedule.getActualTeacherId(), byCourseSchedule.getVipGroupCategoryId());
 					List<CourseSchedule> courseSchedules=new ArrayList<>();
+					courseSchedules.add(newCourseSchedule);
 					courseScheduleTeacherSalaryService.createCourseScheduleTeacherVipSalary(byCourseSchedule,
 							courseSchedules,
 							byTeacherAndCategory.getOnlineClassesSalary(),
@@ -567,6 +581,11 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 			sysMessageService.batchSendMessage(MessageSender.YIMEI,MessageTypeEnum.TEACHER_PUSH_COURSE_SCHEDULE_CHANGE_RESULT,
 					map,null,0,"","");
 		}
+//		Set<Integer> roleIds = new HashSet<>(1);
+//		roleIds.add(SysUserRole.SECTION_MANAGER);
+//		classGroupDao.get();
+//		sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds),MessageTypeEnum.BACKSTAGE_COURSE_CHANGE,
+//				teacher.getRealName());
 	}
 
 	@Transactional(rollbackFor = Exception.class)
@@ -578,6 +597,10 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 		CourseSchedule courseSchedule1 = courseScheduleDao.get(courseScheduleId1);
 		CourseSchedule courseSchedule2 = courseScheduleDao.get(courseScheduleId2);
 
+		if(Objects.isNull(courseSchedule1)||Objects.isNull(courseSchedule2)){
+			throw new BizException("未找到对应课程");
+		}
+
 		//获取两个课程的主教、助教
 		List<Long> courseScheduleIds=new ArrayList<>();
 		courseScheduleIds.add(courseScheduleId1);
@@ -744,6 +767,11 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 		courseScheduleComplaints.setUserId(user.getId());
 		courseScheduleComplaints.setStatus(AuditStatusEnum.ING);
 		courseScheduleComplaintsDao.insert(courseScheduleComplaints);
+		//学员提起申诉通知
+		CourseSchedule courseSchedule = courseScheduleDao.get(courseScheduleComplaints.getCourseScheduleId());
+		Set<Integer> roleIds = new HashSet<>(1);
+		roleIds.add(SysUserRole.EDUCATIONAL_TEACHER);
+		sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds),MessageTypeEnum.BACKSTAGE_STUDENT_APPEAL,courseSchedule.getName(),user.getUsername());
 	}
 
 	@Override

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

@@ -73,6 +73,7 @@ public class CourseScheduleStudentPaymentServiceImpl extends BaseServiceImpl<Lon
 							courseScheduleStudentPayment.setExpectPrice(
 									vipGroupApplyBaseInfoDto.getOnlineClassesUnitPrice().multiply(
 											new BigDecimal(vipGroupActivity.getAttribute1())
+													.divide(new BigDecimal(100)).setScale(2,BigDecimal.ROUND_HALF_UP)
 									)
 							);
 							break;
@@ -98,6 +99,7 @@ public class CourseScheduleStudentPaymentServiceImpl extends BaseServiceImpl<Lon
 							courseScheduleStudentPayment.setExpectPrice(
 									vipGroupApplyBaseInfoDto.getOfflineClassesUnitPrice().multiply(
 											new BigDecimal(vipGroupActivity.getAttribute1())
+													.divide(new BigDecimal(100)).setScale(2,BigDecimal.ROUND_HALF_UP)
 									)
 							);
 							break;

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

@@ -45,6 +45,8 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
     private SysUserCashAccountDetailDao sysUserCashAccountDetailDao;
     @Autowired
     private SysConfigService sysConfigDao;
+    @Autowired
+    private TeacherAttendanceDao teacherAttendanceDao;
 
     private static final Logger LOGGER = LoggerFactory
             .getLogger(CourseScheduleTeacherSalaryServiceImpl.class);
@@ -55,7 +57,7 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
     }
 
     @Override
-    public int createCourseScheduleTeacherVipSalary(VipGroup vipGroup,
+    public void createCourseScheduleTeacherVipSalary(VipGroup vipGroup,
                                                     List<CourseSchedule> vipCourseSchedules,
                                                     BigDecimal onlineTeacherSalary,
                                                     BigDecimal offlineTeacherSalary) {
@@ -77,7 +79,10 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
                     .sorted(Comparator.comparing(CourseSchedule::getStartClassTime)).collect(Collectors.toList());
             for (int i = 0; i < courseSchedules.size(); i++) {
                 //创建教师课程薪水记录
-                CourseScheduleTeacherSalary courseScheduleTeacherSalary = new CourseScheduleTeacherSalary();
+                CourseScheduleTeacherSalary courseScheduleTeacherSalary = courseScheduleTeacherSalaryDao.queryByCourseScheduleIdAndUserId(courseSchedules.get(i).getId(),courseSchedules.get(i).getActualTeacherId());
+                if(Objects.isNull(courseScheduleTeacherSalary)){
+                    courseScheduleTeacherSalary = new CourseScheduleTeacherSalary();
+                }
                 courseScheduleTeacherSalary.setCourseScheduleId(courseSchedules.get(i).getId());
                 courseScheduleTeacherSalary.setTeacherRole(TeachTypeEnum.BISHOP);
                 courseScheduleTeacherSalary.setUserId(courseSchedules.get(i).getActualTeacherId().intValue());
@@ -103,10 +108,27 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
                         courseScheduleTeacherSalary.setExpectSalary(feeInfo.get("offlineTeacherSalary"));
                     }
                 }
-                courseScheduleTeacherSalaries.add(courseScheduleTeacherSalary);
+                if(Objects.isNull(courseScheduleTeacherSalary.getId())){
+                    courseScheduleTeacherSalaries.add(courseScheduleTeacherSalary);
+                }else{
+                    courseScheduleTeacherSalaryDao.update(courseScheduleTeacherSalary);
+                }
             }
         }
-        return courseScheduleTeacherSalaryDao.batchInsert(courseScheduleTeacherSalaries);
+        if(courseScheduleTeacherSalaries.size()>0){
+            batchInsert(courseScheduleTeacherSalaries);
+        }
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void batchInsert(List<CourseScheduleTeacherSalary> courseScheduleTeacherSalaries) {
+        courseScheduleTeacherSalaryDao.batchInsert(courseScheduleTeacherSalaries);
+        List<TeacherAttendance> teacherAttendances=new ArrayList<>();
+        courseScheduleTeacherSalaries.forEach(courseScheduleTeacherSalary -> {
+            teacherAttendances.add(new TeacherAttendance(courseScheduleTeacherSalary.getUserId(),courseScheduleTeacherSalary.getCourseScheduleId()));
+        });
+        teacherAttendanceDao.batchInsert(teacherAttendances);
     }
 
     @Override
@@ -350,12 +372,26 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
             //如果结算方式是教师默认课酬
             if (settlementType.equals(SalarySettlementTypeEnum.TEACHER_DEFAULT)) {
                 //课程时长与结算单位时长占比
-                BigDecimal classTimeDuty = new BigDecimal(duration).divide(new BigDecimal(30));
+                BigDecimal classTimeDuty = new BigDecimal(duration);
+                if (courseSchedule.getType().equals(CourseSchedule.CourseScheduleType.HIGH)) {
+                    classTimeDuty=classTimeDuty.divide(new BigDecimal(45));
+                }else  if (courseSchedule.getType().equals(CourseSchedule.CourseScheduleType.CLASSROOM)) {
+                    classTimeDuty=classTimeDuty.divide(new BigDecimal(40));
+                }else{
+                    classTimeDuty=classTimeDuty.divide(new BigDecimal(30));
+                }
                 BigDecimal teacherDefaultSalary = courseScheduleTeacherSalary.getTeacherRole().equals(TeachTypeEnum.BISHOP) ? teacherDefaultMusicGroupSalaryWithTeacherId.getMainTeacher30MinSalary() : teacherDefaultMusicGroupSalaryWithTeacherId.getAssistantTeacher30MinSalary();
                 teacherSalary = teacherDefaultSalary.multiply(classTimeDuty).setScale(2, BigDecimal.ROUND_HALF_UP);
             } else if (settlementType.equals(SalarySettlementTypeEnum.GRADIENT_SALARY)) {
                 //课程时长与结算单位时长占比
-                BigDecimal classTimeDuty = new BigDecimal(duration).divide(new BigDecimal(90));
+                BigDecimal classTimeDuty = new BigDecimal(duration);
+                if (courseSchedule.getType().equals(CourseSchedule.CourseScheduleType.HIGH)) {
+                    classTimeDuty=classTimeDuty.divide(new BigDecimal(45));
+                }else  if (courseSchedule.getType().equals(CourseSchedule.CourseScheduleType.CLASSROOM)) {
+                    classTimeDuty=classTimeDuty.divide(new BigDecimal(40));
+                }else{
+                    classTimeDuty=classTimeDuty.divide(new BigDecimal(90));
+                }
                 BigDecimal teacherDefaultSalary = courseScheduleTeacherSalary.getTeacherRole().equals(TeachTypeEnum.BISHOP) ? teacherDefaultMusicGroupSalaryWithTeacherId.getMainTeacher90MinSalary() : teacherDefaultMusicGroupSalaryWithTeacherId.getAssistantTeacher90MinSalary();
                 teacherSalary = teacherDefaultSalary.multiply(classTimeDuty).setScale(2, BigDecimal.ROUND_HALF_UP);
             }

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

@@ -12,6 +12,7 @@ import com.ym.mec.biz.dal.enums.TeachTypeEnum;
 import com.ym.mec.biz.dal.enums.YesOrNoEnum;
 import com.ym.mec.biz.dal.page.StudentDemoGroupQueryInfo;
 import com.ym.mec.biz.dal.page.TeacherManageDemoGroupQueryInfo;
+import com.ym.mec.biz.service.CourseScheduleService;
 import com.ym.mec.biz.service.DemoGroupService;
 import com.ym.mec.biz.service.SysConfigService;
 import com.ym.mec.common.dal.BaseDAO;
@@ -46,6 +47,8 @@ public class DemoGroupServiceImpl extends BaseServiceImpl<Long, DemoGroup>  impl
 	@Autowired
 	private CourseScheduleDao courseScheduleDao;
 	@Autowired
+	private CourseScheduleService courseScheduleService;
+	@Autowired
 	private ClassGroupStudentMapperDao classGroupStudentMapperDao;
 
 	@Autowired
@@ -219,6 +222,9 @@ public class DemoGroupServiceImpl extends BaseServiceImpl<Long, DemoGroup>  impl
 		className.append("-");
 		className.append(CourseSchedule.CourseScheduleType.DEMO.getMsg());
 		courseScheduleByDemoGroup.setName(className.toString());
+		List<CourseSchedule> courseSchedules=new ArrayList<>();
+		courseSchedules.add(courseScheduleByDemoGroup);
+		courseScheduleService.checkNewCourseSchedules(courseSchedules);
 		courseScheduleDao.insert(courseScheduleByDemoGroup);
 
 		CourseScheduleStudentPayment courseScheduleStudentPayment = new CourseScheduleStudentPayment();

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

@@ -12,6 +12,7 @@ import java.util.Set;
 import java.util.stream.Collectors;
 
 import com.ym.mec.auth.api.entity.SysUserRole;
+import com.ym.mec.biz.dal.dao.*;
 import com.ym.mec.biz.dal.entity.*;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -22,27 +23,6 @@ import org.springframework.transaction.annotation.Transactional;
 import com.alibaba.fastjson.JSONObject;
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
-import com.ym.mec.biz.dal.dao.ChargeTypeDao;
-import com.ym.mec.biz.dal.dao.ClassGroupStudentMapperDao;
-import com.ym.mec.biz.dal.dao.CooperationOrganDao;
-import com.ym.mec.biz.dal.dao.CourseScheduleDao;
-import com.ym.mec.biz.dal.dao.CourseScheduleTeacherSalaryDao;
-import com.ym.mec.biz.dal.dao.MusicGroupBuildLogDao;
-import com.ym.mec.biz.dal.dao.MusicGroupDao;
-import com.ym.mec.biz.dal.dao.MusicGroupPaymentCalenderDao;
-import com.ym.mec.biz.dal.dao.MusicGroupPaymentEntitiesDao;
-import com.ym.mec.biz.dal.dao.MusicGroupPurchaseListDao;
-import com.ym.mec.biz.dal.dao.MusicGroupQuitDao;
-import com.ym.mec.biz.dal.dao.MusicGroupStudentFeeDao;
-import com.ym.mec.biz.dal.dao.MusicGroupSubjectGoodsGroupDao;
-import com.ym.mec.biz.dal.dao.MusicGroupSubjectPlanDao;
-import com.ym.mec.biz.dal.dao.OrganizationDao;
-import com.ym.mec.biz.dal.dao.SchoolDao;
-import com.ym.mec.biz.dal.dao.StudentPaymentOrderDao;
-import com.ym.mec.biz.dal.dao.StudentRegistrationDao;
-import com.ym.mec.biz.dal.dao.SysConfigDao;
-import com.ym.mec.biz.dal.dao.SysMessageConfigDao;
-import com.ym.mec.biz.dal.dao.TeacherDao;
 import com.ym.mec.biz.dal.dto.BasicUserDto;
 import com.ym.mec.biz.dal.dto.CourseScheduleTeachersDto;
 import com.ym.mec.biz.dal.dto.MusicCardDto;
@@ -124,9 +104,6 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
     @Autowired
     private MusicGroupQuitDao musicGroupQuitDao;
 
-//    @Autowired
-//    private StudentRegistrationService studentRegistrationService;
-
     @Autowired
     private StudentRegistrationDao studentRegistrationDao;
 
@@ -134,6 +111,9 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
     private CourseScheduleDao courseScheduleDao;
 
     @Autowired
+    private ClassGroupDao classGroupDao;
+
+    @Autowired
     private OrganizationDao organizationDao;
 
     @Autowired
@@ -333,6 +313,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public void musicGroupAudit(String musicGroupId) throws Exception {
         SysUser sysUser = sysUserFeignService.queryUserInfo();
         if(sysUser == null){
@@ -349,6 +330,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public void musicGroupAuditFailed(String musicGroupId,String memo) throws Exception {
         SysUser sysUser = sysUserFeignService.queryUserInfo();
         if(sysUser == null){
@@ -363,6 +345,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public void musicGroupAuditSuccess(String musicGroupId) throws Exception {
         SysUser sysUser = sysUserFeignService.queryUserInfo();
         if(sysUser == null){
@@ -453,7 +436,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
                 map.put(e.getUserId(),e.getParentsPhone());
             });
             sysMessageService.batchSendMessage(MessageSender.YIMEI,MessageTypeEnum.STUDENT_PUSH_MUSIC_GROUP_CLOSE,
-                    map,null,0,"",sysConfigDao.findConfigValue(SysConfigService.REFUND_PERIOD));
+                    map,null,0,"",musicGroup.getName(),sysConfigDao.findConfigValue(SysConfigService.REFUND_PERIOD));
         }
         //记录建团日志
         musicGroupBuildLogDao.insert(new MusicGroupBuildLog(musicGroupId,"取消乐团",sysUser.getId(),""));
@@ -566,6 +549,9 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         musicGroupQuit.setStatus(ApprovalStatus.PROCESSING);
 
         musicGroupQuitDao.insert(musicGroupQuit);
+        Set<Integer> roleIds = new HashSet<>(1);
+        roleIds.add(SysUserRole.EDUCATIONAL_TEACHER);
+        sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds),MessageTypeEnum.BACKSTAGE_STUDENT_APPLY_QUIT_GROUP,sysUser.getUsername());
         return true;
     }
 
@@ -824,6 +810,12 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             courseScheduleTeacherSalary.setUpdateTime(new Date());
             courseScheduleTeacherSalaryDao.update(courseScheduleTeacherSalary);
         }
+        Teacher teacher = teacherDao.get(teacherId);
+        MusicGroup musicGroup = musicGroupDao.get(classGroupDao.findByCourseSchedule(courseScheduleId.intValue()).getMusicGroupId());
+        Set<Integer> roleIds = new HashSet<>(1);
+        roleIds.add(SysUserRole.SECTION_MANAGER);
+        sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds),MessageTypeEnum.BACKSTAGE_TEACHER_AMOUNT_CHANGE,
+                teacher.getRealName(),musicGroup.getName(),scope.equals("all")?"所有":"本次");
         return true;
     }
 
@@ -973,6 +965,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public MusicGroup openPay(String musicGroupId, String expireDate) throws Exception {
         SysUser sysUser = sysUserFeignService.queryUserInfo();
         if(sysUser == null){

+ 3 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentAttendanceServiceImpl.java

@@ -201,6 +201,9 @@ public class StudentAttendanceServiceImpl extends BaseServiceImpl<Long, StudentA
 		studentAttendanceDao.insert(studentAttendance);
 		
 		ClassGroupStudentMapper classGroupStudentMapper = classGroupStudentMapperDao.query(courseSchedule.getClassGroupId(), userId);
+		if(Objects.isNull(classGroupStudentMapper)){
+			throw new BizException("您不在此课程对应班级上");
+		}
 		classGroupStudentMapper.setStatus(ClassGroupStudentStatusEnum.LEAVE);
 		classGroupStudentMapperDao.update(classGroupStudentMapper);
 

+ 25 - 11
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentWithdrawServiceImpl.java

@@ -1,10 +1,14 @@
 package com.ym.mec.biz.service.impl;
 
 import java.math.BigDecimal;
-import java.util.Date;
-import java.util.List;
-import java.util.Objects;
-
+import java.util.*;
+
+import com.ym.mec.auth.api.client.SysUserFeignService;
+import com.ym.mec.auth.api.entity.SysUser;
+import com.ym.mec.auth.api.entity.SysUserRole;
+import com.ym.mec.biz.dal.dao.MusicGroupDao;
+import com.ym.mec.biz.dal.enums.*;
+import com.ym.mec.biz.service.SysMessageService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.BeanUtils;
@@ -20,10 +24,6 @@ import com.ym.mec.biz.dal.dto.WithdrawInfoDto;
 import com.ym.mec.biz.dal.entity.StudentWithdraw;
 import com.ym.mec.biz.dal.entity.SysUserCashAccount;
 import com.ym.mec.biz.dal.entity.SysUserCashAccountDetail;
-import com.ym.mec.biz.dal.enums.DealStatusEnum;
-import com.ym.mec.biz.dal.enums.PlatformCashAccountDetailTypeEnum;
-import com.ym.mec.biz.dal.enums.PlatformCashAccountStatusEnum;
-import com.ym.mec.biz.dal.enums.TransTypeEnum;
 import com.ym.mec.biz.service.StudentWithdrawService;
 import com.ym.mec.biz.service.SysUserCashAccountDetailService;
 import com.ym.mec.biz.service.SysUserCashAccountService;
@@ -41,6 +41,9 @@ public class StudentWithdrawServiceImpl extends BaseServiceImpl<Integer, Student
 	@Autowired
 	private SysUserCashAccountDao sysUserCashAccountDao;
 
+	@Autowired
+	private SysUserFeignService sysUserFeignService;
+
 	@Override
 	public BaseDAO<Integer, StudentWithdraw> getDAO() {
 		return studentWithdrawDao;
@@ -54,6 +57,10 @@ public class StudentWithdrawServiceImpl extends BaseServiceImpl<Integer, Student
 	private SysUserCashAccountDetailService cashAccountDetailService;
 	@Autowired
 	private SysUserCashAccountDetailService accountDetailService;
+	@Autowired
+	private SysMessageService sysMessageService;
+	@Autowired
+	private MusicGroupDao musicGroupDao;
 
 	@Override
 	@Transactional(rollbackFor = Exception.class)
@@ -141,8 +148,12 @@ public class StudentWithdrawServiceImpl extends BaseServiceImpl<Integer, Student
 
 	@Override
 	@Transactional(rollbackFor = Exception.class)
-	public void apply(Integer userId, String bankCardNo, BigDecimal amount) throws Exception {
-		SysUserCashAccount account = sysUserCashAccountDao.getLocked(userId);
+	public void apply(String bankCardNo, BigDecimal amount) throws Exception {
+		SysUser sysUser = sysUserFeignService.queryUserInfo();
+		if (sysUser == null || sysUser.getId() == null) {
+			throw new BizException("获取用户信息失败");
+		}
+		SysUserCashAccount account = sysUserCashAccountDao.getLocked(sysUser.getId());
 		// 账户状态正常
 		if (account != null && account.getStatus() == PlatformCashAccountStatusEnum.NORMAL) {
 			// 提现金额不大于账户可用余额
@@ -155,7 +166,7 @@ public class StudentWithdrawServiceImpl extends BaseServiceImpl<Integer, Student
 				withdraw.setCreateTime(date);
 				withdraw.setModifyTime(date);
 				withdraw.setStatus(DealStatusEnum.ING);
-				withdraw.setUserId(userId);
+				withdraw.setUserId(sysUser.getId());
 				withdraw.setWithdrawNo(System.currentTimeMillis() + "");
 
 				// 修改账户余额
@@ -176,6 +187,9 @@ public class StudentWithdrawServiceImpl extends BaseServiceImpl<Integer, Student
 				cashAccountDetail.setCreateTime(date);
 				cashAccountDetail.setStatus(DealStatusEnum.ING);
 				cashAccountDetailService.insert(cashAccountDetail);
+				Set<Integer> roleIds = new HashSet<>(1);
+				roleIds.add(SysUserRole.SECTION_MANAGER);
+				sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds), MessageTypeEnum.BACKSTAGE_STUDENT_APPLY_WITHDRAW,sysUser.getUsername());
 			} else {
 				throw new Exception("账户余额不足");
 			}

+ 11 - 12
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherAttendanceServiceImpl.java

@@ -174,13 +174,13 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 
 		if(Objects.isNull(teacherAttendance)){
 			teacherAttendance=new TeacherAttendance();
-			teacherAttendance.setTeacherId(userId);
-			teacherAttendance.setClassGroupId(classGroup.getId());
-			teacherAttendance.setMusicGroupId(classGroup.getMusicGroupId());
 			teacherAttendance.setCourseScheduleId(courseScheduleId.longValue());
 		}else{
 			isAttendance=true;
 		}
+		teacherAttendance.setTeacherId(userId);
+		teacherAttendance.setClassGroupId(classGroup.getId());
+		teacherAttendance.setMusicGroupId(classGroup.getMusicGroupId());
 
 		int timeGap = DateUtil.minutesBetween(now, courseSchedule.getStartClassTime());
 
@@ -192,24 +192,23 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 
 		switch (signStatus){
 			case SIGN_IN:
-				teacherAttendance.setSignInTime(now);
-				if(yesOrNoEnum.equals(YesOrNoEnum.YES)||advanceSignInMinutes<=timeGap&&timeGap<=60){
-					teacherAttendance.setSignInStatus(YesOrNoEnum.YES);
-				}else{
-					teacherAttendance.setSignInStatus(YesOrNoEnum.NO);
+				if (courseSchedule.getEndClassTime().after(now)){
+					teacherAttendance.setSignInTime(now);
+					if(yesOrNoEnum.equals(YesOrNoEnum.YES)||advanceSignInMinutes<=timeGap&&timeGap<=60){
+						teacherAttendance.setSignInStatus(YesOrNoEnum.YES);
+					}else{
+						teacherAttendance.setSignInStatus(YesOrNoEnum.NO);
+					}
 				}
 				int currentClassTimes = teacherAttendanceDao.countClassTime(classGroup.getId().longValue());
 				classGroup.setCurrentClassTimes(currentClassTimes);
-				if(updateCourseScheduleStatus){
+				if(updateCourseScheduleStatus&&courseSchedule.getStatus().equals(CourseStatusEnum.NOT_START)){
 					courseScheduleDao.updateCourscheduleStatus(courseScheduleId,CourseStatusEnum.UNDERWAY.getCode());
 				}
 				break;
 			case SIGN_OUT:
 				teacherAttendance.setSignOutTime(now);
 				teacherAttendance.setSignOutStatus(YesOrNoEnum.YES);
-				if(updateCourseScheduleStatus){
-					courseScheduleDao.updateCourscheduleStatus(courseScheduleId,CourseStatusEnum.OVER.getCode());
-				}
 				break;
 			default:
 

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

@@ -1,5 +1,7 @@
 package com.ym.mec.biz.service.impl;
 
+import com.ym.mec.auth.api.entity.SysUserRole;
+import com.ym.mec.biz.dal.dao.MusicGroupDao;
 import com.ym.mec.biz.dal.dao.TeacherDao;
 import com.ym.mec.biz.dal.dao.TeacherLeaveRecordDao;
 import com.ym.mec.biz.dal.entity.CourseSchedule;
@@ -34,6 +36,8 @@ public class TeacherLeaveRecordServiceImpl extends BaseServiceImpl<Long, Teacher
 	private TeacherLeaveRecordDao teacherLeaveRecordDao;
 	@Autowired
 	private TeacherDao teacherDao;
+	@Autowired
+	private MusicGroupDao musicGroupDao;
 
 	@Autowired
 	private CourseScheduleService courseScheduleService;
@@ -79,8 +83,11 @@ public class TeacherLeaveRecordServiceImpl extends BaseServiceImpl<Long, Teacher
 				checkCourseSchedulePlansExitLeaveRecord(list);
 			}
 		}
-
 		teacherLeaveRecordDao.insert(teacherLeaveRecord);
+		Set<Integer> roleIds = new HashSet<>(1);
+		Teacher teacher = teacherDao.get(userId);
+		roleIds.add(SysUserRole.DEAN_OF_STUDIES);
+		sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds),MessageTypeEnum.EDUCATION_PUSH_TEACHER_LEAVE_APPLY,teacher.getRealName());
 		return true;
 	}
 
@@ -114,7 +121,7 @@ public class TeacherLeaveRecordServiceImpl extends BaseServiceImpl<Long, Teacher
 					list.add(his.getAfter());
 				}
 				// 课时调整
-				courseScheduleService.classStartDateAdjust(list);
+				courseScheduleService.courseAdjust(list);
 			}
 		}
 		//教师请假结果通知

+ 31 - 25
mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java

@@ -96,6 +96,8 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 	private VipGroupDefaultClassesCycleDao vipGroupDefaultClassesCycleDao;
 	@Autowired
 	private TeacherDao teacherDao;
+	@Autowired
+	private TeacherAttendanceDao teacherAttendanceDao;
 
 	@Override
 	public BaseDAO<Long, VipGroup> getDAO() {
@@ -221,20 +223,6 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 		vipGroupClassGroupMapper.setClassGroupId(classGroup.getId());
 		vipGroupClassGroupMapperDao.insert(vipGroupClassGroupMapper);
 
-		//不需要审核
-		if(vipGroupApplyBaseInfoDto.getAuditStatus() == AuditStatusEnum.PASS){
-			//创建融云班级群
-			ImGroupMember[] imGroupMembers = { new ImGroupMember(vipGroup.getVipGroupApplyBaseInfo().getUserId().toString())};
-			// 创建群组
-			imFeignService.groupCreate(new ImGroupModel(classGroup.getId().toString(), imGroupMembers, classGroup.getName()));
-
-			//发送推送短信
-			Map<Integer,String> map = new HashMap<>(1);
-			map.put(sysUser.getId(),sysUser.getPhone());
-			sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.YIMEI,MessageTypeEnum.TEACHER_SMS_VIP_COURSE_ADD,
-					map,null,0,"",vipGroupApplyBaseInfoDto.getName());
-		}
-
 		//创建班级老师关联记录
 		ClassGroupTeacherMapper classGroupTeacherMapper=new ClassGroupTeacherMapper();
 		classGroupTeacherMapper.setMusicGroupId(vipGroupApplyBaseInfoDto.getId().toString());
@@ -271,7 +259,20 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 				vipGroup.getCourseSchedules(),
 				vipGroupApplyBaseInfoDto.getOnlineTeacherSalary(),
 				vipGroupApplyBaseInfoDto.getOfflineTeacherSalary());
-		//
+
+		//不需要审核
+		if(vipGroupApplyBaseInfoDto.getAuditStatus() == AuditStatusEnum.PASS){
+			//创建融云班级群
+			ImGroupMember[] imGroupMembers = { new ImGroupMember(vipGroup.getVipGroupApplyBaseInfo().getUserId().toString())};
+			// 创建群组
+			imFeignService.groupCreate(new ImGroupModel(classGroup.getId().toString(), imGroupMembers, classGroup.getName()));
+
+			//发送推送短信
+			Map<Integer,String> map = new HashMap<>(1);
+			map.put(sysUser.getId(),sysUser.getPhone());
+			sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.YIMEI,MessageTypeEnum.TEACHER_SMS_VIP_COURSE_ADD,
+					map,null,0,"",vipGroupApplyBaseInfoDto.getName());
+		}
 	}
 
 	@Override
@@ -634,15 +635,17 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 			switch (vipGroupSalarySettlementDto.getOnlineSalarySettlement().getSalarySettlementType()){
 				case TEACHER_DEFAULT:
 					if(vipGroup instanceof VipGroupApplyBaseInfoDto&&!useDefaultTeacherSalary
-							&&vipGroupActivity.getSalaryReadonlyFlag().equals("1")){
+							&&vipGroupActivity.getSalaryReadonlyFlag().equals("0")){
 						teacherOnlineSalary=((VipGroupApplyBaseInfoDto) vipGroup).getOnlineTeacherSalary();
 					}
 
 					if(Objects.isNull(teacherOnlineSalary)){
-						if(Objects.isNull(teacherDefaultVipGroupSalary)){
-							throw new BizException("请设置教师课酬");
+						if(Objects.isNull(teacherDefaultVipGroupSalary)||Objects.isNull(teacherDefaultVipGroupSalary.getOnlineClassesSalary())){
+//							throw new BizException("请设置教师课酬");
+							teacherOnlineSalary=new BigDecimal(0);
+						}else{
+							teacherOnlineSalary=teacherDefaultVipGroupSalary.getOnlineClassesSalary();
 						}
-						teacherOnlineSalary=teacherDefaultVipGroupSalary.getOnlineClassesSalary();
 						teacherOnlineSalary=teacherOnlineSalary.multiply(classTimeDuty);
 					}
 					results.put("onlineTeacherSalary",teacherOnlineSalary);
@@ -663,14 +666,16 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 			switch (vipGroupSalarySettlementDto.getOfflineSalarySettlement().getSalarySettlementType()){
 				case TEACHER_DEFAULT:
 					if(vipGroup instanceof VipGroupApplyBaseInfoDto&&!useDefaultTeacherSalary
-							&&vipGroupActivity.getSalaryReadonlyFlag().equals("1")){
+							&&vipGroupActivity.getSalaryReadonlyFlag().equals("0")){
 						teacherOfflineSalary=((VipGroupApplyBaseInfoDto) vipGroup).getOfflineTeacherSalary();
 					}
-					if(Objects.isNull(teacherOfflineSalary)){
+					if(Objects.isNull(teacherOfflineSalary)||Objects.isNull(Objects.isNull(teacherDefaultVipGroupSalary))){
 						if(Objects.isNull(teacherDefaultVipGroupSalary)){
-							throw new BizException("请设置教师课酬");
+//							throw new BizException("请设置教师课酬");
+							teacherOfflineSalary=new BigDecimal(0);
+						}else{
+							teacherOfflineSalary=teacherDefaultVipGroupSalary.getOfflineClassesSalary();
 						}
-						teacherOfflineSalary=teacherDefaultVipGroupSalary.getOfflineClassesSalary();
 						teacherOfflineSalary=teacherOfflineSalary.multiply(classTimeDuty);
 					}
 					results.put("offlineTeacherSalary",teacherOfflineSalary);
@@ -910,8 +915,8 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 		Map surplusClassTimes=MapUtil.convertMybatisMap(vipGroupDao.countSurplusClassTimes(vipGroupId));
 		studentApplyRefunds.setExpectAmount(countVipGroupPredictFee(vipGroup,
 				vipGroup.getUserId(),
-				new BigDecimal(surplusClassTimes.get(TeachModeEnum.ONLINE.getCode()).toString()),
-				new BigDecimal(surplusClassTimes.get(TeachModeEnum.OFFLINE.getCode()).toString()),
+				new BigDecimal(Objects.isNull(surplusClassTimes.get(TeachModeEnum.ONLINE.getCode()))?"0":surplusClassTimes.get(TeachModeEnum.ONLINE.getCode()).toString()),
+				new BigDecimal(Objects.isNull(surplusClassTimes.get(TeachModeEnum.OFFLINE.getCode()))?"0":surplusClassTimes.get(TeachModeEnum.OFFLINE.getCode()).toString()),
 				true,
 				false).get("totalPrice"));
 		studentApplyRefunds.setStatus(AuditStatusEnum.ING);
@@ -1113,6 +1118,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 		courseScheduleDao.batchDeleteCourseSchedules(courseScheduleIds);
 		courseScheduleTeacherSalaryDao.batchDeleteByCourseScheduleIds(courseScheduleIds);
 		courseScheduleStudentPaymentDao.deleteByCourseSchedule(courseScheduleIds);
+		teacherAttendanceDao.batchDeleteByCourseSchedules(courseScheduleIds);
 		//vip课停止通知
 		Teacher teacher = teacherDao.get(vipGroup.getUserId());
 		Map<Integer,String> map = new HashMap<>(1);

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

@@ -45,7 +45,7 @@
                 del_flag_ = #{delFlag,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
             </if>
             <if test="updateTime != null">
-                update_time_ = #{updateTime},
+                update_time_ = NOW(),
             </if>
             <if test="description != null">
                 description_ = #{description},

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

@@ -52,7 +52,7 @@
                 charge_type_id_ = #{chargeTypeId},
             </if>
             <if test="updateTime != null">
-                update_time_ = #{updateTime},
+                update_time_ = NOW(),
             </if>
         </set>
         WHERE id_ = #{id}

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

@@ -65,7 +65,7 @@
             <if test="name!=null">#{name},</if>
             <if test="studentNum!=null">#{studentNum},</if>
             <if test="createTime!=null">#{createTime},</if>
-            <if test="updateTime!=null">#{updateTime},</if>
+            <if test="updateTime!=null">NOW(),</if>
             <if test="type!=null">#{type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},</if>
             <if test="expectStudentNum!=null">#{expectStudentNum},</if>
             <if test="totalClassTimes!=null">#{totalClassTimes},</if>
@@ -97,7 +97,7 @@
                 student_num_ = #{studentNum},
             </if>
             <if test="updateTime != null">
-                update_time_ = #{updateTime},
+                update_time_ = NOW(),
             </if>
             <if test="musicGroupId != null">
                 music_group_id_ = #{musicGroupId},

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

@@ -36,7 +36,7 @@
             AS ID FROM DUAL </selectKey> -->
         INSERT INTO class_group_teacher_mapper
         (id_,music_group_id_,class_group_id_,teacher_role_,user_id_,salary_,create_time_,update_time_)
-        VALUES(#{id},#{musicGroupId},#{classGroupId},#{teacherRole},#{userId},#{salary},#{createTime},#{updateTime})
+        VALUES(#{id},#{musicGroupId},#{classGroupId},#{teacherRole},#{userId},#{salary},#{createTime},NOW())
     </insert>
 
     <!-- 根据主键查询一条记录 -->
@@ -56,7 +56,7 @@
                 salary_ = #{salary},
             </if>
             <if test="updateTime != null">
-                update_time_ = #{updateTime},
+                update_time_ = NOW(),
             </if>
             <if test="teacherRole != null">
                 teacher_role_ = #{teacherRole},

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

@@ -51,7 +51,7 @@
                 linkman_ = #{linkman},
             </if>
             <if test="updateTime != null">
-                update_time_ = #{updateTime},
+                update_time_ = NOW(),
             </if>
             <if test="mobileNo != null">
                 mobile_no_ = #{mobileNo},

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

@@ -86,7 +86,7 @@
 			expect_num_ = #{expectNum},
 		</if>
 		<if test="updateTime != null">
-		update_time_ = #{updateTime},
+		update_time_ = NOW(),
 		</if>
 		<if test="content != null">
 		content_ = #{content},

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

@@ -41,7 +41,7 @@
 		SELECT SEQ_WSDEFINITION_ID.nextval AS ID FROM DUAL 
 		</selectKey>
 		-->
-		INSERT INTO course_schedule_history (id_,class_group_id_,status_,subsidy_,class_date_,start_class_time_,end_class_time_,teacher_id_,actual_teacher_id_,create_time_,update_time_,teach_mode_,complaint_status_,type_,course_schedule_id_) VALUES(#{id},#{classGroupId},#{status},#{subsidy},#{classDate},#{startClassTime},#{endClassTime},#{teacherId},#{actualTeacherId},#{createTime},#{updateTime},#{teachMode},#{complaintStatus},#{type},#{courseScheduleId})
+		INSERT INTO course_schedule_history (id_,class_group_id_,status_,subsidy_,class_date_,start_class_time_,end_class_time_,teacher_id_,actual_teacher_id_,create_time_,update_time_,teach_mode_,complaint_status_,type_,course_schedule_id_) VALUES(#{id},#{classGroupId},#{status},#{subsidy},#{classDate},#{startClassTime},#{endClassTime},#{teacherId},#{actualTeacherId},#{createTime},NOW(),#{teachMode},#{complaintStatus},#{type},#{courseScheduleId})
 	</insert>
 	
 	<!-- 根据主键查询一条记录 -->
@@ -84,7 +84,7 @@ start_class_time_ = #{startClassTime},
 teacher_id_ = #{teacherId},
 </if>
 <if test="updateTime != null">
-update_time_ = #{updateTime},
+update_time_ = NOW(),
 </if>
 <if test="courseScheduleId != null">
 course_schedule_id_ = #{courseScheduleId},

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

@@ -145,7 +145,7 @@
                 teacher_id_ = #{teacherId},
             </if>
             <if test="updateTime != null">
-                update_time_ = #{updateTime},
+                update_time_ = NOW(),
             </if>
             <if test="studentNum != null">
                 student_num_ = #{studentNum},
@@ -887,6 +887,7 @@
         <result property="currentClassTimes" column="current_class_times_"/>
         <result property="totalClassTimes" column="total_class_times_"/>
         <result property="studentNames" column="student_names_"/>
+        <result column="teach_mode_" property="teachMode" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
     </resultMap>
 
     <sql id="teacherClassCourseScheduleQueryCondition">
@@ -913,6 +914,7 @@
             cs.type_,
             cs.status_,
             cs.actual_teacher_id_,
+            cs.teach_mode_,
             su.username_,
             cg.total_class_times_
         FROM
@@ -938,6 +940,7 @@
             cs.type_,
             cs.status_,
             cs.actual_teacher_id_,
+            cs.teach_mode_,
             su.username_,
             cg.total_class_times_,
             GROUP_CONCAT(IF(sa.status_='NORMAL',ssu.username_,NULL)) student_names_,

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

@@ -35,7 +35,7 @@
 		SELECT SEQ_WSDEFINITION_ID.nextval AS ID FROM DUAL 
 		</selectKey>
 		-->
-		INSERT INTO course_schedule_student_payment (id_,course_schedule_id_,user_id_,expect_price_,actual_price_,create_time_,update_time_,settlement_time_,class_group_id_) VALUES(#{id},#{courseScheduleId},#{userId},#{expectPrice},#{actualPrice},#{createTime},#{updateTime},#{settlementTime},#{classGroupId})
+		INSERT INTO course_schedule_student_payment (id_,course_schedule_id_,user_id_,expect_price_,actual_price_,create_time_,update_time_,settlement_time_,class_group_id_) VALUES(#{id},#{courseScheduleId},#{userId},#{expectPrice},#{actualPrice},#{createTime},NOW(),#{settlementTime},#{classGroupId})
 	</insert>
     <insert id="batchInsert" parameterType="java.util.List" useGeneratedKeys="true" keyProperty="id_">
 		INSERT INTO course_schedule_student_payment (id_,course_schedule_id_,user_id_,expect_price_,actual_price_,create_time_,update_time_,settlement_time_,class_group_id_)
@@ -59,7 +59,7 @@
 			course_schedule_id_ = #{courseScheduleId},
 			</if>
 			<if test="updateTime != null">
-			update_time_ = #{updateTime},
+			update_time_ = NOW(),
 			</if>
 			<if test="settlementTime != null">
 			settlement_time_ = #{settlementTime},

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

@@ -58,11 +58,8 @@
 			<if test="subsidy != null">
 			subsidy_ = #{subsidy},
 			</if>
-			<if test="id != null">
-			id_ = #{id},
-			</if>
 			<if test="expectSalary != null">
-			expect_salary_ = #{expectSalary},
+				expect_salary_ = #{expectSalary},
 			</if>
 			<if test="courseScheduleId != null">
 			course_schedule_id_ = #{courseScheduleId},
@@ -74,14 +71,11 @@
 			teacher_role_ = #{teacherRole},
 			</if>
 			<if test="updateTime != null">
-			update_time_ = #{updateTime},
+			update_time_ = now(),
 			</if>
 			<if test="actualSalary != null">
 			actual_salary_ = #{actualSalary},
 			</if>
-			<if test="createTime != null">
-			create_time_ = #{createTime},
-			</if>
 			<if test="classGroupId != null">
 			class_group_id_ = #{classGroupId},
 			</if>

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

@@ -80,7 +80,7 @@
                 user_id_ = #{userId},
             </if>
             <if test="updateTime != null">
-                update_time_ = #{updateTime},
+                update_time_ = NOW(),
             </if>
             <if test="singleClassMinutes != null">
                 single_class_minutes_ = #{singleClassMinutes},
@@ -181,6 +181,7 @@
             </if>
             <if test="startTime!=null and endTime==null">
                 AND CONCAT(dgcp.course_date_,' ',dgcp.start_time_)&gt;=DATE_FORMAT(#{startTime},'%Y-%m-%d %H:%i:%S')
+                AND dgcp.course_date_=DATE_FORMAT(#{startTime},'%Y-%m-%d')
             </if>
             <if test="startTime!=null and endTime!=null">
                 AND (CONCAT(dgcp.course_date_,' ',dgcp.start_time_) BETWEEN DATE_FORMAT(#{startTime},'%Y-%m-%d %H:%i:%S') AND DATE_FORMAT(#{endTime},'%Y-%m-%d %H:%i:%S'))

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

@@ -109,7 +109,7 @@
                 certificate_type_ = #{certificateType},
             </if>
             <if test="updateTime != null">
-                update_time_ = #{updateTime},
+                update_time_ = NOW(),
             </if>
             <if test="educationBackground != null">
                 education_background_ = #{educationBackground},

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

@@ -53,7 +53,7 @@
                 order_no_ = #{orderNo},
             </if>
             <if test="updateTime != null">
-                update_time_ = #{updateTime},
+                update_time_ = NOW(),
             </if>
             <if test="img != null">
                 img_ = #{img},

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

@@ -100,7 +100,7 @@
                 brief_ = #{brief},
             </if>
             <if test="updateTime != null">
-                update_time_ = #{updateTime},
+                update_time_ = NOW(),
             </if>
             <if test="discountPrice != null">
                 discount_price_ = #{discountPrice},

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

@@ -46,7 +46,7 @@
 				id_ = #{id},
 			</if>
 			<if test="updateTime != null">
-				update_time_ = #{updateTime},
+				update_time_ = NOW(),
 			</if>
 			<if test="marketPrice != null">
 				market_price_ = #{marketPrice},

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

@@ -80,7 +80,7 @@
 				coupon_amount_ = #{couponAmount},
 			</if>
 			<if test="updateTime != null">
-				update_time_ = #{updateTime},
+				update_time_ = NOW(),
 			</if>
 			<if test="expressCompanyCode != null">
 				express_company_code_ = #{expressCompanyCode},

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

@@ -79,7 +79,7 @@
 				payment_business_channel_ = #{paymentBusinessChannel},
 			</if>
 			<if test="updateTime != null">
-				update_time_ = #{updateTime},
+				update_time_ = NOW(),
 			</if>
 			<if test="goodsOrderId != null">
 				goods_order_id_ = #{goodsOrderId},

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

@@ -31,7 +31,7 @@
 		SELECT SEQ_WSDEFINITION_ID.nextval AS ID FROM DUAL 
 		</selectKey>
 		-->
-		INSERT INTO hot_words_label (id_,name_,create_time_,update_time_,del_flag_) VALUES(#{id},#{name},#{createTime},#{updateTime},#{delFlag})
+		INSERT INTO hot_words_label (id_,name_,create_time_,update_time_,del_flag_) VALUES(#{id},#{name},#{createTime},NOW(),#{delFlag})
 	</insert>
 	
 	<!-- 根据主键查询一条记录 -->
@@ -44,7 +44,7 @@ del_flag_ = #{delFlag},
 id_ = #{id},
 </if>
 <if test="updateTime != null">
-update_time_ = #{updateTime},
+update_time_ = NOW(),
 </if>
 <if test="name != null">
 name_ = #{name},

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

@@ -48,7 +48,7 @@
                 remark_ = #{remark},
             </if>
             <if test="updateTime != null">
-                update_time_ = #{updateTime},
+                update_time_ = NOW(),
             </if>
             <if test="name != null">
                 name_ = #{name},

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

@@ -105,7 +105,7 @@
 				cooperation_organ_id_ = #{cooperationOrganId},
 			</if>
 			<if test="updateTime != null">
-				update_time_ = #{updateTime},
+				update_time_ = NOW(),
 			</if>
 			<if test="enlightenmentCourseTime != null">
 				enlightenment_course_time_ = #{enlightenmentCourseTime},
@@ -143,7 +143,7 @@
 	<select id="queryPage" resultMap="MusicGroup" parameterType="map">
 		SELECT * FROM music_group
 		<include refid="musicGroupQueryPageSql"/>
-		ORDER BY update_time_ DESC
+		ORDER BY create_time_ DESC
 		<include refid="global.limit" />
 	</select>
 
@@ -335,7 +335,7 @@
 		WHERE cgtm.music_group_id_ = #{musicGroupId} AND su.phone_ IS NOT NULL
 		GROUP BY su.id_
 	</select>
-	<select id="queryUserIdByRoleId" resultType="java.lang.Integer">
+	<select id="queryUserIdByRoleId" resultType="java.lang.Integer" parameterType="list">
 		SELECT DISTINCT sur.user_id_ FROM sys_user_role sur WHERE sur.role_id_ IN
 		<foreach collection="roleIds" open="(" separator="," close=")" item="item">
 			#{item}

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

@@ -52,7 +52,7 @@
                 payment_month_ = #{paymentMonth},
             </if>
             <if test="updateTime != null">
-                update_time_ = #{updateTime},
+                update_time_ = NOW(),
             </if>
             <if test="musicGroupId != null">
                 music_group_id_ = #{musicGroupId},

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

@@ -45,7 +45,7 @@
 		UPDATE music_group_payment_entities
 		<set>
 			<if test="updateTime != null">
-				update_time_ = #{updateTime},
+				update_time_ = NOW(),
 			</if>
 			<if test="amount != null">
 				amount_ = #{amount},

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

@@ -45,7 +45,7 @@
                 purchase_num_ = #{purchaseNum},
             </if>
             <if test="updateTime != null">
-                update_time_ = #{updateTime},
+                update_time_ = NOW(),
             </if>
             <if test="musicGroupId != null">
                 music_group_id_ = #{musicGroupId},

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

@@ -49,7 +49,7 @@
                 subject_id_ = #{subjectId},
             </if>
             <if test="updateTime != null">
-                update_time_ = #{updateTime},
+                update_time_ = NOW(),
             </if>
             <if test="courseFee != null">
                 course_fee_ = #{courseFee},

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

@@ -61,7 +61,7 @@
                 goods_id_list_ = #{goodsIdList},
             </if>
             <if test="updateTime != null">
-                update_time_ = #{updateTime},
+                update_time_ = NOW(),
             </if>
             <if test="type != null">
                 type_ = #{type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},

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

@@ -70,7 +70,7 @@
                 #{kitGroupPurchaseType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
             </if>
             <if test="updateTime != null">
-                update_time_ = #{updateTime},
+                update_time_ = NOW(),
             </if>
             <if test="depositFee != null">
                 deposit_fee_ = #{depositFee},
@@ -94,7 +94,7 @@
                 apply_student_num_ = #{applyStudentNum},
             </if>
             <if test="updateTime != null">
-                update_time_ = #{updateTime},
+                update_time_ = NOW(),
             </if>
             <if test="version != null">
                 version = version+1,

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

@@ -48,7 +48,7 @@
                 area_id_ = #{areaId},
             </if>
             <if test="updateTime != null">
-                update_time_ = #{updateTime},
+                update_time_ = NOW(),
             </if>
             <if test="name != null">
                 name_ = #{name},

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

@@ -55,7 +55,7 @@
                 user_id_ = #{userId},
             </if>
             <if test="updateTime != null">
-                update_time_ = #{updateTime},
+                update_time_ = NOW(),
             </if>
             <if test="contactPhone != null">
                 contact_phone_ = #{contactPhone},

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

@@ -65,7 +65,7 @@
                 expect_amount_ = #{expectAmount},
             </if>
             <if test="updateTime != null">
-                update_time_ = #{updateTime},
+                update_time_ = NOW(),
             </if>
             <if test="origPaymentOrderId != null">
                 orig_payment_order_id_ = #{origPaymentOrderId},

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

@@ -80,7 +80,7 @@
 			course_homework_id_ = #{courseHomeworkId},
 			</if>
 			<if test="updateTime != null">
-			update_time_ = #{updateTime},
+			update_time_ = NOW(),
 			</if>
 			<if test="score != null">
 			score_ = #{score},

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

@@ -78,7 +78,7 @@
                 user_type_ = #{userType, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
             </if>
             <if test="updateTime != null">
-                update_time_ = #{updateTime},
+                update_time_ = NOW(),
             </if>
             <if test="lockFlag != null">
                 lock_flag_ = #{lockFlag, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},

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

@@ -52,7 +52,7 @@
                 goods_id_list_ = #{goodsIdList},
             </if>
             <if test="updateTime != null">
-                update_time_ = #{updateTime},
+                update_time_ = NOW(),
             </if>
             <if test="paymentOrderId != null">
                 payment_order_id_ = #{paymentOrderId},

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

@@ -106,7 +106,7 @@
                 payment_account_no_ = #{paymentAccountNo},
             </if>
             <if test="updateTime != null">
-                update_time_ = #{updateTime},
+                update_time_ = NOW(),
             </if>
             <if test="paymentBusinessChannel != null">
                 payment_business_channel_ = #{paymentBusinessChannel},

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

@@ -125,7 +125,7 @@
                 #{musicGroupStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
             </if>
             <if test="createTime!=null">#{createTime},</if>
-            <if test="updateTime!=null">#{updateTime},</if>
+            <if test="updateTime!=null">NOW(),</if>
         </trim>
     </insert>
 
@@ -167,7 +167,7 @@
                 parents_name_ = #{parentsName},
             </if>
             <if test="updateTime != null">
-                update_time_ = #{updateTime},
+                update_time_ = NOW(),
             </if>
             <if test="parentsCompany != null">
                 parents_company_ = #{parentsCompany},

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

@@ -46,7 +46,7 @@
                 subject_id_ = #{subjectId},
             </if>
             <if test="updateTime != null">
-                update_time_ = #{updateTime},
+                update_time_ = NOW(),
             </if>
             <if test="goodsCategoryId != null">
                 goods_category_id_ = #{goodsCategoryId},

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

@@ -47,7 +47,7 @@
                 code_ = #{code},
             </if>
             <if test="updateTime != null">
-                update_time_ = #{updateTime},
+                update_time_ = NOW(),
             </if>
             <if test="name != null">
                 name_ = #{name},

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

@@ -52,7 +52,7 @@
                 code_ = #{code},
             </if>
             <if test="updateTime != null">
-                update_time_ = #{updateTime},
+                update_time_ = NOW(),
             </if>
             <if test="name != null">
                 name_ = #{name},

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

@@ -72,7 +72,7 @@
                 comment_ = #{comment},
             </if>
             <if test="updateTime != null">
-                update_time_ = #{updateTime},
+                update_time_ = NOW(),
             </if>
             <if test="amount != null">
                 amount_ = #{amount},

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

@@ -50,7 +50,7 @@
                 user_id_ = #{userId},
             </if>
             <if test="updateTime != null">
-                update_time = #{updateTime},
+                update_time = NOW(),
             </if>
             <if test="frozenAmount != null">
                 frozen_amount_ = #{frozenAmount},

+ 20 - 0
mec-biz/src/main/resources/config/mybatis/TeacherAttendanceMapper.xml

@@ -48,6 +48,16 @@
         VALUES(#{id},#{teacherId},#{musicGroupId},#{classGroupId},#{courseScheduleId},#{signInTime},#{signInStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{remark},now(),#{signOutTime},#{signOutStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler})
     </insert>
 
+    <insert id="batchInsert" parameterType="com.ym.mec.biz.dal.entity.TeacherAttendance" useGeneratedKeys="true"
+            keyColumn="id" keyProperty="id">
+        INSERT INTO teacher_attendance
+        (teacher_id_,music_group_id_,class_group_id_,course_schedule_id_,sign_in_time_,sign_in_status_,remark_,create_time_,sign_out_time_,sign_out_status_)
+        VALUE
+        <foreach collection="teacherAttendances" item="teacherAttendance" separator=",">
+            (#{teacherAttendance.teacherId},#{teacherAttendance.musicGroupId},#{teacherAttendance.classGroupId},#{teacherAttendance.courseScheduleId},#{teacherAttendance.signInTime},#{teacherAttendance.signInStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{teacherAttendance.remark},now(),#{teacherAttendance.signOutTime},#{teacherAttendance.signOutStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler})
+        </foreach>
+    </insert>
+
     <!-- 根据主键查询一条记录 -->
     <update id="update" parameterType="com.ym.mec.biz.dal.entity.TeacherAttendance">
         UPDATE teacher_attendance
@@ -79,6 +89,9 @@
             <if test="signOutStatus != null">
                 sign_out_status_ = #{signOutStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
             </if>
+            <if test="currentClassTimes != null">
+                current_class_times_ = #{currentClassTimes},
+            </if>
         </set>
         WHERE id_ = #{id}
     </update>
@@ -88,6 +101,13 @@
 		DELETE FROM teacher_attendance WHERE id_ = #{id} 
 	</delete>
 
+    <delete id="batchDeleteByCourseSchedules">
+        DELETE FROM teacher_attendance WHERE id_ IN
+        <foreach collection="courseScheduleIds" item="courseScheduleId" open="(" close=")" separator=",">
+            #{courseScheduleId}
+        </foreach>
+    </delete>
+
     <!-- 分页查询 -->
     <select id="queryPage" resultMap="TeacherAttendance" parameterType="map">
         SELECT * FROM teacher_attendance ORDER BY id_

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

@@ -57,7 +57,7 @@
 				user_id_ = #{userId},
 			</if>
 			<if test="updateTime != null">
-				update_time_ = #{updateTime},
+				update_time_ = NOW(),
 			</if>
 			<if test="courseScheduleType != null">
 				course_schedule_type_ = #{courseScheduleType, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},

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

@@ -53,7 +53,7 @@
                 online_classes_salary_ = #{onlineClassesSalary},
             </if>
             <if test="updateTime != null">
-                update_time_ = #{updateTime},
+                update_time_ = NOW(),
             </if>
             <if test="offlineClassesSalary != null">
                 offline_classes_salary_ = #{offlineClassesSalary},

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

@@ -40,7 +40,7 @@
 			AS ID FROM DUAL </selectKey> -->
 		INSERT INTO teacher_leave_record
 		(id_,user_id_,days_,leave_category_id_,status_,remark_,create_time_,update_time_,start_time_,end_time_,courses_schedule_json_,wf_process_id_,wf_order_id_)
-		VALUES(#{id},#{userId},#{days},#{leaveCategoryId},#{status, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{remark},#{createTime},#{updateTime},#{startTime},#{endTime},#{coursesScheduleJson},#{wfProcessId},#{wfOrderId})
+		VALUES(#{id},#{userId},#{days},#{leaveCategoryId},#{status, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{remark},#{createTime},NOW(),#{startTime},#{endTime},#{coursesScheduleJson},#{wfProcessId},#{wfOrderId})
 	</insert>
 
 	<!-- 根据主键查询一条记录 -->
@@ -81,7 +81,7 @@
 				wf_process_id_ = #{wfProcessId},
 			</if>
 			<if test="updateTime != null">
-				update_time_ = #{updateTime},
+				update_time_ = NOW(),
 			</if>
 			<if test="leaveCategoryId != null">
 				leave_category_id_ = #{leaveCategoryId},

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

@@ -118,7 +118,7 @@
                 is_probation_period_ = #{isProbationPeriod,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
             </if>
             <if test="updateTime != null">
-                update_time_ = #{updateTime},
+                update_time_ = NOW(),
             </if>
             <if test="educationBackground != null">
                 education_background_ = #{educationBackground},
@@ -169,7 +169,7 @@
                 user_type_ = #{userType, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
             </if>
             <if test="updateTime != null">
-                update_time_ = #{updateTime},
+                update_time_ = NOW(),
             </if>
             <if test="lockFlag != null">
                 lock_flag_ = #{lockFlag, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},

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

@@ -92,7 +92,7 @@
 			vip_group_category_id_list_ = #{vipGroupCategoryIdList},
 			</if>
 			<if test="updateTime != null">
-			update_time_ = #{updateTime},
+			update_time_ = NOW(),
 			</if>
 			<if test="description != null">
 			description_ = #{description},

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

@@ -43,7 +43,7 @@
 			AS ID FROM DUAL </selectKey> -->
 		INSERT INTO vip_group_category
 		(id_,name_,del_flag_,create_time_,update_time_,single_class_minutes_,student_num_)
-		VALUES(#{id},#{name},#{delFlag},#{createTime},#{updateTime},#{singleClassMinutes},#{studentNum})
+		VALUES(#{id},#{name},#{delFlag},#{createTime},NOW(),#{singleClassMinutes},#{studentNum})
 	</insert>
 
 	<!-- 根据主键查询一条记录 -->
@@ -60,7 +60,7 @@
 				id_ = #{id},
 			</if>
 			<if test="updateTime != null">
-				update_time_ = #{updateTime},
+				update_time_ = NOW(),
 			</if>
 			<if test="singleClassMinutes != null">
 				single_class_minutes_ = #{singleClassMinutes},

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

@@ -59,7 +59,7 @@ id_ = #{id},
 min_class_times_ = #{minClassTimes},
 </if>
 <if test="updateTime != null">
-update_time_ = #{updateTime},
+update_time_ = NOW(),
 </if>
 <if test="month != null">
 month_ = #{month},

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

@@ -42,7 +42,7 @@
 		SELECT SEQ_WSDEFINITION_ID.nextval AS ID FROM DUAL 
 		</selectKey>
 		-->
-		INSERT INTO vip_group_default_classes_unit_price_ (id_,organ_id_,vip_group_category_id_,online_classes_unit_price_,offline_classes_unit_price_,create_time_,update_time_) VALUES(#{id},#{organId},#{vipGroupCategoryId},#{onlineClassesUnitPrice},#{offlineClassesUnitPrice},#{createTime},#{updateTime})
+		INSERT INTO vip_group_default_classes_unit_price_ (id_,organ_id_,vip_group_category_id_,online_classes_unit_price_,offline_classes_unit_price_,create_time_,update_time_) VALUES(#{id},#{organId},#{vipGroupCategoryId},#{onlineClassesUnitPrice},#{offlineClassesUnitPrice},#{createTime},NOW())
 	</insert>
 	
 	<!-- 根据主键查询一条记录 -->
@@ -61,7 +61,7 @@ offline_classes_unit_price_ = #{offlineClassesUnitPrice},
 online_classes_unit_price_ = #{onlineClassesUnitPrice},
 </if>
 <if test="updateTime != null">
-update_time_ = #{updateTime},
+update_time_ = NOW(),
 </if>
 <if test="vipGroupCategoryId != null">
 vip_group_category_id_ = #{vipGroupCategoryId},
@@ -88,7 +88,7 @@ create_time_ = #{createTime},
 			online_classes_unit_price_ = #{onlineClassesUnitPrice},
 		</if>
 		<if test="updateTime != null">
-			update_time_ = #{updateTime},
+			update_time_ = NOW(),
 		</if>
 		<if test="vipGroupCategoryId != null">
 			vip_group_category_id_ = #{vipGroupCategoryId},

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

@@ -193,7 +193,7 @@
                 online_classes_num_ = #{onlineClassesNum},
             </if>
             <if test="updateTime != null">
-                update_time_ = #{updateTime},
+                update_time_ = NOW(),
             </if>
             <if test="singleClassMinutes != null">
                 single_class_minutes_ = #{singleClassMinutes},

+ 1 - 1
mec-education/src/main/java/com/ym/mec/education/controller/CourseScheduleController.java

@@ -85,7 +85,7 @@ public class CourseScheduleController {
         }
         List<CourseSchedule> courseSchedules=new ArrayList<>();
         courseSchedules.add(classDateAdjustDto);
-        scheduleService.classStartDateAdjust(courseSchedules);
+        scheduleService.courseAdjust(courseSchedules);
         return BaseResponse.success(null);
     }
 

+ 9 - 3
mec-im/src/main/java/com/ym/controller/ConversationController.java

@@ -1,5 +1,6 @@
 package com.ym.controller;
 
+import com.ym.mec.common.controller.BaseController;
 import com.ym.service.GroupService;
 import io.rong.models.conversation.ConversationModel;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -13,18 +14,23 @@ import org.springframework.web.bind.annotation.RestController;
  */
 @RestController
 @RequestMapping("/conversation")
-public class ConversationController{
+public class ConversationController extends BaseController {
 
     @Autowired
     GroupService groupService;
 
     @RequestMapping(value = "/mute", method = RequestMethod.POST)
     public Object mute(@RequestBody ConversationModel conversationModel) throws Exception {
-        return groupService.conversationMute(conversationModel);
+        return succeed(groupService.conversationMute(conversationModel));
     }
 
     @RequestMapping(value = "/unmute", method = RequestMethod.POST)
     public Object unmute(@RequestBody ConversationModel conversationModel) throws Exception {
-        return groupService.conversationUnmute(conversationModel);
+        return succeed(groupService.conversationUnmute(conversationModel));
+    }
+
+    @RequestMapping(value = "/get", method = RequestMethod.POST)
+    public Object get(@RequestBody ConversationModel conversationModel) throws Exception {
+        return succeed(groupService.conversationGet(conversationModel));
     }
 }

+ 2 - 0
mec-im/src/main/java/com/ym/service/GroupService.java

@@ -52,4 +52,6 @@ public interface GroupService {
     Result conversationMute(ConversationModel conversationModel) throws Exception;
 
     Result conversationUnmute(ConversationModel conversationModel) throws Exception;
+
+    Result conversationGet(ConversationModel conversationModel) throws Exception;
 }

+ 9 - 1
mec-im/src/main/java/com/ym/service/Impl/GroupServiceImpl.java

@@ -41,7 +41,10 @@ public class GroupServiceImpl implements GroupService {
         return new User(appKey,appSecret,rongCloud);
     }
     private Conversation getConversation(){
-        return new Conversation(appKey,appSecret);
+        RongCloud rongCloud = RongCloud.getInstance(appKey, appSecret);
+        Conversation conversation = new Conversation(appKey, appSecret);
+        conversation.setRongCloud(rongCloud);
+        return conversation;
     }
 
     @Override
@@ -133,4 +136,9 @@ public class GroupServiceImpl implements GroupService {
     public Result conversationUnmute(ConversationModel conversationModel) throws Exception {
         return getConversation().unMute(conversationModel);
     }
+
+    @Override
+    public Result conversationGet(ConversationModel conversationModel) throws Exception {
+        return getConversation().get(conversationModel);
+    }
 }

+ 5 - 13
mec-im/src/main/java/com/ym/service/Impl/RoomServiceImpl.java

@@ -82,22 +82,22 @@ public class RoomServiceImpl implements RoomService {
     @Autowired
     private SysUserFeignService sysUserFeignService;
 
-    @Transactional
+    @Transactional(rollbackFor = Exception.class)
     @Override
     public RoomResult joinRoom(String userName, String roomId, boolean isAudience, boolean isDisableCamera) throws ApiException, Exception {
         CheckUtils.checkArgument(userName != null, "userName must't be null");
         CheckUtils.checkArgument(roomId != null, "roomId must't be null");
 
         log.info("joinRoom: roomId={}, userName={}, isAudience={}, isDisableCamera={}", roomId, userName, isAudience, isDisableCamera);
-        roomId = "DAYA" + roomId;
+
         String userId = sysUserFeignService.queryUserInfo().getId().toString();
         Teacher teacher = teacherDao.get(Integer.parseInt(userId));
         if(teacher == null){
-            studentAttendanceService.addStudentAttendanceRecord(Integer.parseInt(roomId.substring(4)),Integer.parseInt(userId), StudentAttendanceStatusEnum.NORMAL);
+            studentAttendanceService.addStudentAttendanceRecord(Integer.parseInt(roomId),Integer.parseInt(userId), StudentAttendanceStatusEnum.NORMAL);
         }else {
-            teacherAttendanceService.addTeacherAttendanceRecord(Integer.parseInt(roomId.substring(4)),Integer.parseInt(userId), SignStatusEnum.SIGN_IN,true);
+            teacherAttendanceService.addTeacherAttendanceRecord(Integer.parseInt(roomId),Integer.parseInt(userId), SignStatusEnum.SIGN_IN,true);
         }
-
+        roomId = "DAYA" + roomId;
         String display = "";
         Date curTime = DateTimeUtils.currentUTC();
         List<Room> roomList = roomDao.findByRid(roomId);
@@ -195,14 +195,6 @@ public class RoomServiceImpl implements RoomService {
         userResult.setRole(roleEnum.getValue());
         roomResult.setUserInfo(userResult);
         roomResult.setDisplay(display);
-//        JwtToken jwtToken = tokenHelper.createJwtToken(jwtUser);
-//        IMTokenInfo tokenInfo = imHelper.getToken(userId, userId, "");
-//        if (tokenInfo.isSuccess()) {
-//            roomResult.setImToken(tokenInfo.getAuthenticationValue());
-//        } else {
-//            throw new ApiException(ErrorEnum.ERR_IM_TOKEN_ERROR, tokenInfo.getErrorMessage());
-//        }
-//        roomResult.setAuthorization(jwtToken.getToken());
         roomResult.setRoomId(roomId);
         List<RoomMember> roomMemberList = roomMemberDao.findByRid(roomId);
         roomResult.setMembers(roomMemberList);

+ 4 - 4
mec-student/src/main/java/com/ym/mec/student/controller/CourseController.java

@@ -46,12 +46,12 @@ public class CourseController extends BaseController {
     }
 
     @ApiOperation(value = "根据群编号,获取群组基本信息")
-    @GetMapping("/findGroupById")
-    public Object findGroupById(String groupId){
-        if(StringUtils.isEmpty(groupId)){
+    @GetMapping("/course/findGroupById")
+    public Object findGroupById(Integer groupId){
+        if(null == groupId){
             return failed("参数校验错误");
         }
-        return succeed(classGroupService.get(Integer.parseInt(groupId.substring(2))));
+        return succeed(classGroupService.get(groupId));
     }
 
     @ApiOperation(value = "分页获取学员购买记录")

+ 4 - 15
mec-student/src/main/java/com/ym/mec/student/controller/WithdrawController.java

@@ -1,19 +1,15 @@
 package com.ym.mec.student.controller;
 
+import com.ym.mec.biz.service.StudentWithdrawService;
+import com.ym.mec.common.controller.BaseController;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-
-import java.math.BigDecimal;
-
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
-import com.ym.mec.auth.api.client.SysUserFeignService;
-import com.ym.mec.auth.api.entity.SysUser;
-import com.ym.mec.biz.service.StudentWithdrawService;
-import com.ym.mec.common.controller.BaseController;
+import java.math.BigDecimal;
 
 @RestController
 @RequestMapping("studentWithdraw")
@@ -22,18 +18,11 @@ public class WithdrawController extends BaseController {
 
 	@Autowired
 	private StudentWithdrawService studentWithdrawService;
-	@Autowired
-	private SysUserFeignService sysUserFeignService;
 
 	@ApiOperation(value = "新增提现申请")
 	@PostMapping("/add")
 	public Object add(String bankCardNo, BigDecimal amount) throws Exception {
-		SysUser sysUser = sysUserFeignService.queryUserInfo();
-		if (sysUser == null || sysUser.getId() == null) {
-			return failed("获取用户信息失败");
-		}
-		studentWithdrawService.apply(sysUser.getId(), bankCardNo, amount);
-		
+		studentWithdrawService.apply(bankCardNo, amount);
 		return succeed();
 	}
 }

+ 2 - 2
mec-student/src/main/resources/application.yml

@@ -12,9 +12,9 @@ spring:
   application:
     name: student-server
     
-  server:
+  servlet:
     multipart:
-      max-file-size: 5M
+      max-file-size: 5MB
     
   datasource:
     name: test

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

@@ -108,7 +108,7 @@ public class TeacherCourseScheduleController extends BaseController {
         }
         List<CourseSchedule> courseSchedules=new ArrayList<>();
         courseSchedules.add(classDateAdjustDto);
-        scheduleService.classStartDateAdjust(courseSchedules);
+        scheduleService.courseAdjust(courseSchedules);
         return succeed();
     }
 

+ 8 - 1
mec-teacher/src/main/java/com/ym/mec/teacher/controller/TeacherManageController.java

@@ -5,7 +5,6 @@ import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dto.CashAccountDetail;
 import com.ym.mec.biz.dal.entity.SysSuggestion;
 import com.ym.mec.biz.dal.entity.SysUserBankCard;
-import com.ym.mec.biz.dal.page.queryMusicGroupStudentQueryInfo;
 import com.ym.mec.biz.service.*;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.UploadReturnBean;
@@ -68,6 +67,14 @@ public class TeacherManageController extends BaseController {
         return succeed();
     }
 
+    @ApiOperation(value = "根据群编号,获取群组基本信息")
+    @GetMapping("/course/findGroupById")
+    public Object findGroupById(Integer groupId){
+        if(null == groupId){
+            return failed("参数校验错误");
+        }
+        return succeed(classGroupService.get(groupId));
+    }
 
     @ApiOperation(value = "根据群编号,获取群组所有成员基本信息")
     @GetMapping("classGroup/findGroupUsers")

+ 2 - 2
mec-teacher/src/main/resources/application.yml

@@ -12,9 +12,9 @@ spring:
   application:
     name: teacher-server
     
-  server:
+  servlet:
     multipart:
-      max-file-size: 10M
+      max-file-size: 10MB
     
   datasource:
     name: test

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

@@ -123,7 +123,7 @@ public class CourseScheduleController extends BaseController {
     public Object classStartDateAdjust(CourseSchedule courseSchedule){
         List<CourseSchedule> courseSchedules=new ArrayList<>();
         courseSchedules.add(courseSchedule);
-        scheduleService.classStartDateAdjust(courseSchedules);
+        scheduleService.courseAdjust(courseSchedules);
         return succeed();
     }
 
@@ -131,7 +131,7 @@ public class CourseScheduleController extends BaseController {
     @PreAuthorize("@pcs.hasPermissions('courseSchedule/batchClassStartDateAdjust')")
     @PostMapping(value = "/batchClassStartDateAdjust",consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
     public Object batchClassStartDateAdjust(List<CourseSchedule> courseSchedules){
-        scheduleService.classStartDateAdjust(courseSchedules);
+        scheduleService.courseAdjust(courseSchedules);
         return succeed();
     }
 

+ 1 - 1
mec-web/src/main/java/com/ym/mec/web/controller/VipGroupManageController.java

@@ -162,7 +162,7 @@ public class VipGroupManageController extends BaseController {
         }
         List<CourseSchedule> courseSchedules=new ArrayList<>();
         courseSchedules.add(classDateAdjustDto);
-        scheduleService.classStartDateAdjust(courseSchedules);
+        scheduleService.courseAdjust(courseSchedules);
         return succeed();
     }