Bläddra i källkod

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

yonge 4 år sedan
förälder
incheckning
8653ffcdda

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

@@ -55,4 +55,6 @@ public interface OrganizationDao extends BaseDAO<Integer, Organization> {
 	String getOrganName(String organId);
 	
 	List<Organization> findAllOrgans();
+
+	List<Organization> getActivityOrgans();
 }

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

@@ -481,7 +481,7 @@ public interface ClassGroupService extends BaseService<Integer, ClassGroup> {
      * @param mergeClassSplitClassAffirmDto
      * @return
      */
-    void mergeClassSplitClassAffirm(MergeClassSplitClassAffirmDto mergeClassSplitClassAffirmDto) throws InvocationTargetException, IllegalAccessException;
+    void mergeClassSplitClassAffirm(MergeClassSplitClassAffirmDto mergeClassSplitClassAffirmDto) throws InvocationTargetException, IllegalAccessException, Exception;
 
     /**
      * 进行中乐团-修改-班级详情-学员班级调整-合并结果确认-获取新班级的可排课时长

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

@@ -8,12 +8,17 @@ import com.ym.mec.biz.dal.entity.StudentPaymentOrder;
 import com.ym.mec.biz.dal.page.DegreeQueryInfo;
 import com.ym.mec.common.service.BaseService;
 
+import java.util.Arrays;
+import java.util.HashSet;
 import java.util.Map;
+import java.util.Set;
 
 public interface DegreeRegistrationService extends BaseService<Integer, DegreeRegistration> {
 
     String ACTIVITY_TAG = "DEGREE_REGISTRATION_2020_12";
 
+    Set<String> FREE_PRICE_LEVEL = new HashSet<>(Arrays.asList(new String[]{"一级", "二级", "三级"}));
+
     Map pay(DegreeRegistrationActivityDto degreeRegistration) throws Exception;
 
     Boolean updateStatus(StudentPaymentOrder order);

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

@@ -1675,7 +1675,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         List<ClassGroup4MixDto> classGroup4MixDtosBackup = new ArrayList<>();
         if(StringUtils.isNotEmpty(classGroup4MixDtos.get(0).getClassCourseMinute())){
             try {
-                BeanUtils.copyProperties(classGroup4MixDtosBackup, classGroup4MixDtos);
+                classGroup4MixDtosBackup = (List<ClassGroup4MixDto>)BeanUtils.cloneBean(classGroup4MixDtos);
             } catch (Exception e) {
                 throw new BizException("拷贝课程信息异常");
             }
@@ -3319,7 +3319,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 
     @Override
     @Transactional(rollbackFor = Exception.class,propagation = Propagation.REQUIRED)
-    public void mergeClassSplitClassAffirm(MergeClassSplitClassAffirmDto mergeClassSplitClassAffirmDto) throws InvocationTargetException, IllegalAccessException {
+    public void mergeClassSplitClassAffirm(MergeClassSplitClassAffirmDto mergeClassSplitClassAffirmDto) throws Exception {
         List<Integer> classGroupIds = mergeClassSplitClassAffirmDto.getClassGroupIds();
         if(classGroupIds == null || classGroupIds.size() == 0){
             throw new BizException("参数校验失败");
@@ -3398,8 +3398,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
             ClassGroup4MixDto classGroup4MixDto = classGroup4MixDtos.get(0);
             classGroup4MixDto.setClassCourseMinute(musicGroupStudentClassAdjust.getClassCourseMinute());
             List<CourseTimeDto> courseTimeDtoList = classGroup4MixDto.getCourseTimeDtoList();
-            List<CourseTimeDto> courseTimeDtoListBackup = new ArrayList<>();
-            BeanUtils.copyProperties(courseTimeDtoListBackup, courseTimeDtoList);
+            List<CourseTimeDto> courseTimeDtoListBackup = (List<CourseTimeDto>)BeanUtils.cloneBean(courseTimeDtoList);
             //每种课程类型单独排课
             for (CourseTimeDto courseTimeDto : courseTimeDtoListBackup) {
                 List<CourseTimeDto> courseTimeDtos = new ArrayList<>();

+ 5 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/DegreeRegistrationServiceImpl.java

@@ -148,7 +148,11 @@ public class DegreeRegistrationServiceImpl extends BaseServiceImpl<Integer, Degr
                 }
                 boolean vipMoreThan2 = additionCourseInfo.containsKey(CourseSchedule.CourseScheduleType.VIP)&&additionCourseInfo.get(CourseSchedule.CourseScheduleType.VIP)>=2;
                 if(vipMoreThan2){
-                    degreeRegistration.setMoney(BigDecimal.ZERO);
+                    if(FREE_PRICE_LEVEL.contains(degreeRegistration.getLevel())){
+                        degreeRegistration.setMoney(BigDecimal.ZERO);
+                    }else{
+                        degreeRegistration.setMoney(degreeRegistration.getMoney().divide(new BigDecimal(2)));
+                    }
                     highUnitPrice = practiceGroupSellPrice.getHighOnlineTenCourseActivityPriceWithNewUser();
 
                 }

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

@@ -882,7 +882,7 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 		List<CourseTimeDto> courseTimeDtoList = classGroup4MixDto.getCourseTimeDtoList();
 		List<CourseTimeDto> courseTimeDtoListBackup = new ArrayList<>();
 		try {
-			BeanUtils.copyProperties(courseTimeDtoListBackup, courseTimeDtoList);
+			courseTimeDtoListBackup = (List<CourseTimeDto>)BeanUtils.cloneBean(courseTimeDtoList);
 		} catch (Exception e) {
 			throw new BizException("拷贝课程信息异常");
 		}

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

@@ -143,4 +143,9 @@
             #{organId}
         </foreach>
     </select>
+
+    <select id="getActivityOrgans" resultMap="Organization">
+        SELECT o.* FROM practice_group_sell_price pgsp
+        LEFT JOIN organization o ON pgsp.organ_id_=o.id_
+    </select>
 </mapper>

+ 31 - 15
mec-im/src/main/java/com/ym/service/Impl/RoomServiceImpl.java

@@ -766,21 +766,37 @@ public class RoomServiceImpl implements RoomService {
         log.info("controlDevice: userId={}, typeEnum={}, onOff={}", userId, typeEnum, enable);
 
         if (enable) {
-            String ticket = IdentifierUtils.uuid();
-            ControlDeviceTaskInfo taskInfo = new ControlDeviceTaskInfo();
-            taskInfo.setRoomId(roomId);
-            taskInfo.setTypeEnum(typeEnum);
-            taskInfo.setOnOff(true);
-            taskInfo.setApplyUserId(authUser.getId().toString());
-            taskInfo.setTargetUserId(userId);
-            taskInfo.setTicket(ticket);
-            scheduleManager.addTask(taskInfo);
-            ControlDeviceNotifyMessage msg = new ControlDeviceNotifyMessage(ActionEnum.Invite.ordinal());
-            msg.setTicket(ticket);
-            msg.setType(taskInfo.getTypeEnum().ordinal());
-            msg.setOpUserId(authUser.getId().toString());
-            msg.setOpUserName(authUser.getUsername());
-            imHelper.publishMessage(authUser.getId().toString(), userId, roomId, msg);
+            if (typeEnum.equals(DeviceTypeEnum.ExamSong)){
+                long scheduleId = Long.parseLong(roomId.substring(1));
+                ExamSongDownloadData msg;
+                String examJson = courseScheduleStudentPaymentDao.getExamJsonByCourseIdAndUserId(scheduleId, Integer.parseInt(userId));
+                if(StringUtils.isEmpty(examJson)){
+                    throw new BizException("学员伴奏信息异常");
+                }else {
+                    msg = JSON.parseObject(examJson, ExamSongDownloadData.class);
+                    msg.setEnable(enable);
+                }
+                courseScheduleStudentPaymentDao.adjustExamSong(scheduleId,Integer.parseInt(userId),JSON.toJSONString(msg));
+                DeviceStateChangedMessage deviceResourceMessage = new DeviceStateChangedMessage(typeEnum.ordinal(), enable);
+                deviceResourceMessage.setUserId(userId);
+                imHelper.publishMessage(authUser.getId().toString(), roomId, deviceResourceMessage, 1);
+            }else {
+                String ticket = IdentifierUtils.uuid();
+                ControlDeviceTaskInfo taskInfo = new ControlDeviceTaskInfo();
+                taskInfo.setRoomId(roomId);
+                taskInfo.setTypeEnum(typeEnum);
+                taskInfo.setOnOff(true);
+                taskInfo.setApplyUserId(authUser.getId().toString());
+                taskInfo.setTargetUserId(userId);
+                taskInfo.setTicket(ticket);
+                scheduleManager.addTask(taskInfo);
+                ControlDeviceNotifyMessage msg = new ControlDeviceNotifyMessage(ActionEnum.Invite.ordinal());
+                msg.setTicket(ticket);
+                msg.setType(taskInfo.getTypeEnum().ordinal());
+                msg.setOpUserId(authUser.getId().toString());
+                msg.setOpUserName(authUser.getUsername());
+                imHelper.publishMessage(authUser.getId().toString(), userId, roomId, msg);
+            }
         } else {
             if (typeEnum.equals(DeviceTypeEnum.Camera)) {
                 roomMemberDao.updateCameraByRidAndUid(roomId, userId, false);

+ 10 - 1
mec-student/src/main/java/com/ym/mec/student/controller/DegreeController.java

@@ -135,11 +135,20 @@ public class DegreeController extends BaseController {
 
         Map<String, Object> result = new HashMap<>();
 
+        DegreeRegistration degreeRegistration = degreeRegistrationDao.getWithUserIdAndActivityTag(user.getId(), DegreeRegistrationService.ACTIVITY_TAG);
+
         Student student = studentDao.get(user.getId());
         result.put("userInfo", user);
         result.put("isNewUser", student.getIsNewUser());
-        result.put("organs", organizationDao.findAllOrgans());
+        result.put("organs", organizationDao.getActivityOrgans());
         result.put("sporadicChargeInfo", sporadicChargeInfoService.queryDetailPage(queryInfo));
+        if(Objects.isNull(degreeRegistration)||degreeRegistration.getStatus()==0){
+            result.put("isApplied", 0);
+        }else if(degreeRegistration.getStatus()==1){
+            result.put("isApplied", 1);
+        }else if(degreeRegistration.getStatus()==2){
+            result.put("isApplied", 2);
+        }
         return succeed(result);
     }
 }

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

@@ -363,7 +363,7 @@ public class ClassGroupController extends BaseController {
     @ApiOperation(value = "进行中乐团-修改-班级详情-学员班级调整-合并结果确认")
     @PostMapping("/mergeClassSplitClassAffirm")
     @PreAuthorize("@pcs.hasPermissions('classGroup/mergeClassSplitClassAffirm')")
-    public HttpResponseResult mergeClassSplitClassAffirm(@RequestBody MergeClassSplitClassAffirmDto mergeClassSplitClassAffirmDto) throws InvocationTargetException, IllegalAccessException {
+    public HttpResponseResult mergeClassSplitClassAffirm(@RequestBody MergeClassSplitClassAffirmDto mergeClassSplitClassAffirmDto) throws Exception {
         classGroupService.mergeClassSplitClassAffirm(mergeClassSplitClassAffirmDto);
         return succeed();
     }