Explorar el Código

Merge branch 'feature/0529-live' of http://git.dayaedu.com/yonge/mec into feature/0529-live

liujc hace 2 años
padre
commit
450040bb4a

+ 1 - 2
mec-biz/src/main/java/com/ym/mec/biz/event/listener/CourseEventListener.java

@@ -26,7 +26,6 @@ public class CourseEventListener {
     public void courseStatusChangeMonitor(CourseStatusChangeEvent courseStatusChangeEvent){
         List<Long> courseIds = courseStatusChangeEvent.getCourseIds();
         if(CollectionUtils.isNotEmpty(courseIds)){
-            ExecutorService executor = Executors.newCachedThreadPool();
             CompletableFuture.runAsync(()->{
                 try {
                     //更新课程营收
@@ -34,7 +33,7 @@ public class CourseEventListener {
                 } catch (Exception e) {
                     e.printStackTrace();
                 }
-            },executor);
+            });
         }
     }
 }

+ 1 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleTeacherSalaryServiceImpl.java

@@ -2153,6 +2153,7 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
                         calMusicCourseTeacherActualSalary(courseSchedule, teacherSalary, teacherAttendances, school, teacher, attendanceRange, queryInfo.getUpdated());
                         break;
                     case VIP:
+                    case LIVE:
                         calVipCourseTeacherActualSalary(courseSchedule, teacherSalary, teacherAttendances, school, teacher, attendanceRange, queryInfo.getUpdated());
                         break;
                     case PRACTICE:

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

@@ -284,7 +284,7 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee> impl
         //更新用户与机构的关系
         sysUserTenantService.deleteByUserId(employee.getId());
         addUserTenant(employee.getTenantIds(), employee.getTenantId(), employee.getId());
-        ExecutorService executor = Executors.newCachedThreadPool();
+        //ExecutorService executor = Executors.newCachedThreadPool();
         CompletableFuture.runAsync(()->{
             try {
                 //更新OA信息
@@ -292,7 +292,7 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee> impl
             } catch (Exception e) {
                 e.printStackTrace();
             }
-        },executor);
+        });
     }
 
     @Override

+ 10 - 16
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SysMessageServiceImpl.java

@@ -246,10 +246,8 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 	public void batchSendImMessage(MessageTypeEnum type, String senderId,String extra, String[] targetIds, String url, Object... args) {
 		String messageContent = checkMessageConfig(type);
 		String content = getContent(messageContent,url, args);
-		ExecutorService executor = Executors.newCachedThreadPool();
-		CompletableFuture.runAsync(()->{
-			imFeignService.privateSend(getImGroupMessage("RC:TxtMsg",senderId,targetIds,content,extra));
-		},executor);
+		//ExecutorService executor = Executors.newCachedThreadPool();
+		CompletableFuture.runAsync(()-> imFeignService.privateSend(getImGroupMessage("RC:TxtMsg",senderId,targetIds,content,extra)));
 	}
 
 	@Override
@@ -276,10 +274,8 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 
 	@Override
 	public void batchSendImGroupMessage(String messageContent, String senderId,String extra, String[] targetIds,String objectName) {
-		ExecutorService executor = Executors.newCachedThreadPool();
-		CompletableFuture.runAsync(()->{
-			imFeignService.groupSend(getImGroupMessage(objectName,senderId,targetIds,messageContent,extra));
-		},executor);
+		//ExecutorService executor = Executors.newCachedThreadPool();
+		CompletableFuture.runAsync(()-> imFeignService.groupSend(getImGroupMessage(objectName,senderId,targetIds,messageContent,extra)));
 	}
 
 	public static String imageToBase64(BufferedImage bufferedImage,String suffix) {
@@ -326,18 +322,15 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 	}
 
 	public void sendGroupMessage(ImMessageDto imMessageDto){
-		ExecutorService executor = Executors.newCachedThreadPool();
+		//ExecutorService executor = Executors.newCachedThreadPool();
 		CompletableFuture.runAsync(()->{
 			imFeignService.groupSend(imMessageDto);
-		},executor);
+		});
 	}
 
 
     public void sendImMessage(ImMessageDto imMessageDto){
-        ExecutorService executor = Executors.newCachedThreadPool();
-        CompletableFuture.runAsync(()->{
-            imFeignService.privateSend(imMessageDto);
-        },executor);
+        CompletableFuture.runAsync(()-> imFeignService.privateSend(imMessageDto));
     }
 
 	@Override
@@ -418,10 +411,11 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 		if(sysUser == null){
 			throw new BizException("用户信息获取失败");
 		}
-		ExecutorService executor = Executors.newCachedThreadPool();
+		//ExecutorService executor = Executors.newCachedThreadPool();
 		CompletableFuture.runAsync(()->{
 			imFeignService.privateSend(getImGroupMessage("RC:TxtMsg",sysUser.getId().toString(),studentId.split(","),content,null));
-		},executor);
+		});
+		//executor.shutdown();
 	}
 
 	@Override

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

@@ -60,6 +60,7 @@ import java.util.concurrent.CompletableFuture;
 import java.util.function.Function;
 import java.util.stream.Collectors;
 
+import static com.ym.mec.biz.dal.enums.GroupType.LIVE;
 import static com.ym.mec.biz.dal.enums.GroupType.VIP;
 import static com.ym.mec.biz.dal.enums.SysUserRoleEnum.ORGAN_MANAGER;
 import static java.math.BigDecimal.ROUND_DOWN;
@@ -2628,7 +2629,6 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
         if (Objects.isNull(classGroup)) {
             throw new BizException("班级信息错误");
         }
-        classGroup = classGroupDao.lockClassGroup(classGroup.getId());
         Boolean exist = classGroupStudentMapperDao.existByClassGroupIds(classGroup.getId().toString(), userId);
         if (exist) {
             throw new BizException("您已加入此课程");
@@ -2818,7 +2818,6 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
             if("LIVE".equals(vipGroup.getGroupType())){
                 groupType = GroupType.LIVE;
                 messageTypeEnum = MessageTypeEnum.STUDENT_PUSH_LIVE_BUY;
-                classGroupDao.modifyStudentNum(classGroup.getId(),1);
             }
             if (vipGroup.getStatus() == VipGroupStatusEnum.DELETE ||
                     vipGroup.getStatus() == VipGroupStatusEnum.CANCEL ||
@@ -2931,6 +2930,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
                                 vipGroup.getName(), null, null, groupType.getCode(), ImGroup.GroupTypeEnum.valueOf(groupType.name()));
                         imGroupMemberService.join(classGroup.getId().toString(), userRoleMap);
                         imUserFriendService.refreshGroupImUserFriend(classGroup.getMusicGroupId(), classGroup.getGroupType());
+                        classGroupDao.update(classGroup);
                     }
                     //更新所属分部列表
                     List<Integer> organIds = classGroupDao.findStudentOrganIdsByClassGroup(classGroup.getId().longValue());
@@ -2986,6 +2986,9 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
                     LOGGER.error(MessageFormatter.arrayFormat("课程[{}]购买协议错误:{}", vipGroup.getId(), e.getMessage()), e);
                 }
             }
+            if(groupType == LIVE){
+                classGroupDao.modifyStudentNum(classGroup.getId(),1);
+            }
         } else {
             if("VIP".equals(classGroup.getGroupType().getCode())){
                 classGroupDao.modifyStudentNum(classGroup.getId(),-1);
@@ -2996,7 +2999,6 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
             }
             sysCouponCodeService.quit(order.getCouponCodeId());
         }
-        classGroupDao.update(classGroup);
     }
 
     @Override

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

@@ -1562,12 +1562,7 @@
                 AND type_ = #{type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
             </if>
             <if test="organIds != null and organIds != ''">
-                <if test="groupType == 'LIVE'">
-                    AND INTE_ARRAY(mg.organ_id_list_,#{organIds})
-                </if>
-                <if test="groupType != 'LIVE'">
-                   AND FIND_IN_SET(mg.organ_id_,#{organIds})
-                </if>
+                AND FIND_IN_SET(mg.organ_id_,#{organIds})
             </if>
             <if test="educationUserId != null">
                 AND mg.educational_teacher_id_ = #{educationUserId}

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

@@ -38,6 +38,7 @@
         <result column="current_schedule_id_" property="courseSchedule.id"/>
         <result column="course_schedule_name_" property="courseSchedule.name"/>
         <result column="class_date_" property="courseSchedule.classDate"/>
+        <result column="class_date_str_" property="courseSchedule.startClassTimeStr"/>
         <result column="start_class_time_" property="courseSchedule.startClassTime"/>
         <result column="end_class_time_" property="courseSchedule.endClassTime"/>
         <result column="new_course_id_" property="courseSchedule.newCourseId"/>
@@ -474,7 +475,9 @@
                CASE WHEN sa.status_ IS NULL and cs.status_ = 'OVER' THEN 'TRUANT' ELSE sa.status_ END status_,
         su.username_,su.phone_,su.avatar_,cs.teach_mode_,cs.type_ course_type_,o.name_ organ_name_,tu.real_name_ teacher_name_,tu.avatar_ teacher_avatar_,
         cs.name_ course_schedule_name_,cs.status_ course_status_,
-        cs.actual_teacher_id_ teacher_id_,cs.class_date_ ,cs.start_class_time_,cs.end_class_time_ ,cs.new_course_id_,
+        cs.actual_teacher_id_ teacher_id_,
+        CONCAT(cs.class_date_,' ',cs.start_class_time_,'-',cs.end_class_time_) class_date_str_,
+        cs.class_date_ ,cs.start_class_time_,cs.end_class_time_ ,cs.new_course_id_,
         CASE WHEN sa.visit_flag_ IS NULL THEN 0 ELSE sa.visit_flag_ END visitFlag,
         CASE WHEN sa.status_ IS NULL OR sa.status_ = 'TRUANT' THEN '1LEAVE' ELSE sa.status_ END status_1
         FROM course_schedule_student_payment cssp

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

@@ -2802,7 +2802,7 @@ public class ExportController extends BaseController {
             HSSFWorkbook workbook = POIUtil.exportExcel(new String[]{"分部", "学员姓名", "学员编号", "老师姓名", "老师编号",
                     "课程组编号", "课程编号", "课程名称", "课程组类型", "课程类型", "上课时间","签到时间", "签退时间", "考勤状态"}, new String[]{
                     "courseSchedule.organization.name", "username", "userId", "courseSchedule.teacherName", "teacherId", "musicGroupId", "courseScheduleId",
-                    "courseSchedule.name", "groupType.desc", "courseSchedule.type.msg", "courseSchedule.classDate", "signInTime",
+                    "courseSchedule.name", "groupType.desc", "courseSchedule.type.msg", "courseSchedule.startClassTimeStr", "signInTime",
                     "signOutTime", "status.msg"}, rows);
             response.setContentType("application/octet-stream");
             response.setHeader("Content-Disposition", "attac:wq" +

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

@@ -360,7 +360,7 @@ public class VipGroupManageController extends BaseController {
     @PreAuthorize("@pcs.hasPermissions('vipGroupManage/stopVipGroup')")
     public Object stopVipGroup(Long vipGroupId,String stopReason){
         if(Objects.isNull(vipGroupId)|| StringUtils.isBlank(stopReason)){
-            return failed("请指定vip课并指定取消原因");
+            return failed("请指定课程组并指定取消原因");
         }
         vipGroupService.stopGroup(vipGroupId,stopReason);
         return succeed();