Przeglądaj źródła

Merge remote-tracking branch 'origin/master'

周箭河 5 lat temu
rodzic
commit
1fbcaf1252

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

@@ -358,7 +358,7 @@ public interface VipGroupService extends BaseService<Long, VipGroup> {
      * @return void
      */
     void addVipGroupStudents(Long vipGroupId,List<Integer> studentIds);
-    
+
 	/**
 	 * 更新vipgroup至完成状态
 	 */

+ 16 - 7
mec-biz/src/main/java/com/ym/mec/biz/service/impl/PracticeGroupServiceImpl.java

@@ -2199,9 +2199,9 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
             throw new BizException("未找到用户分部属性");
         }
 
-        if (sysUser.getOrganId().equals(DALIAN_ORGAN_ID)) {
-            sysUser.setOrganId(SHENYANG_ORGAN_ID);
-        }
+//        if (sysUser.getOrganId().equals(DALIAN_ORGAN_ID)) {
+//            sysUser.setOrganId(SHENYANG_ORGAN_ID);
+//        }
 
         List<Integer> includeTeacherIds = new ArrayList<>();
         List<ExtendTeacherBasicDto> organAndSubjectTeachers = teacherDao.findTeaTeachersByOrganAndSubject2(sysUser.getOrganId(), subjectId);
@@ -2224,6 +2224,7 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
                     }
                 }
             }
+
             List<CourseSchedule> vipCourses = courseTypeCourseMap.get(CourseSchedule.CourseScheduleType.VIP);
             if (!CollectionUtils.isEmpty(vipCourses)) {
                 for (CourseSchedule vipCourse : vipCourses) {
@@ -3389,24 +3390,32 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
             throw new BizException("请指定推送类型:JIGUANG、SMS、ALL");
         }
 
-        String baseApiUrl = sysConfigDao.findConfigValue("base_api_url");
-
         List<CourseScheduleEvaluate> reports = courseScheduleEvaluateDao.findExpiredDateBeforeReport(expiredDate);
 
+        if(CollectionUtils.isEmpty(reports)){
+            return;
+        }
+
+        String baseApiUrl = sysConfigDao.findConfigValue("base_api_url");
+
         for (CourseScheduleEvaluate report : reports) {
             PracticeGroup userFreePracticeGroup = practiceGroupDao.get(Long.valueOf(report.getMusicGroupId()));
+            if(Objects.isNull(userFreePracticeGroup)){
+                continue;
+            }
             ClassGroup classGroup = classGroupDao.findByMusicGroupAndType(userFreePracticeGroup.getId().toString(), GroupType.PRACTICE.getCode());
 
             CourseScheduleEvaluate courseScheduleEvaluate = courseScheduleEvaluateDao.findByClassGroupId(classGroup.getId());
             if(Objects.isNull(courseScheduleEvaluate)){
-                throw new BizException("未生成课程报告");
+                continue;
             }
 
             String pushUrl = baseApiUrl + "/#/reportDetail?classGroupId=" + classGroup.getId();
 
             String smsUrl = baseApiUrl + "/#/transfer?url=http://mstudev.dayaedu.com&hash=reportDetail&classGroupId=" + classGroup.getId();
 
-            SysUser student = sysUserFeignService.queryUserById(userFreePracticeGroup.getStudentId());
+//            SysUser student = sysUserFeignService.queryUserById(userFreePracticeGroup.getStudentId());
+            SysUser student = teacherDao.getUser(userFreePracticeGroup.getStudentId());
 
             if(pushType.equals("ALL")||pushType.equals("JIGUANG")){
                 Map<Integer, String> userMap = new HashMap<>();

+ 67 - 66
mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java

@@ -876,39 +876,6 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 		BigDecimal totalClassNum=offlineClassNum.add(onlineClassNum);
 		BigDecimal teacherOnlineSalary=null,teacherOfflineSalary=null;
 
-		//教师课酬线上单课酬计算
-		if(Objects.nonNull(vipGroupSalarySettlementDto.getOnlineSalarySettlement())){
-            if(vipGroup instanceof VipGroupApplyBaseInfoDto&&!useDefaultTeacherSalary
-                    &&vipGroupActivity.getSalaryReadonlyFlag().equals("1")){
-                teacherOnlineSalary=((VipGroupApplyBaseInfoDto) vipGroup).getOnlineTeacherSalary();
-                results.put("onlineTeacherSalary",teacherOnlineSalary);
-            }
-            if(Objects.isNull(teacherOnlineSalary)){
-                switch (vipGroupSalarySettlementDto.getOnlineSalarySettlement().getSalarySettlementType()){
-                    case TEACHER_DEFAULT:
-                        if(Objects.isNull(teacherDefaultVipGroupSalary)||Objects.isNull(teacherDefaultVipGroupSalary.getOnlineClassesSalary())){
-                            teacherOnlineSalary=new BigDecimal(0);
-                        }else{
-                            teacherOnlineSalary=teacherDefaultVipGroupSalary.getOnlineClassesSalary();
-                        }
-//                        teacherOnlineSalary=teacherOnlineSalary.multiply(classTimeDuty);
-                        results.put("onlineTeacherSalary",teacherOnlineSalary.setScale(0, BigDecimal.ROUND_HALF_UP));
-                        break;
-                    case RATIO_DISCOUNT:
-                        results.put("onlineTeacherSalary",onlineClassesUnitPrice.multiply((vipGroupSalarySettlementDto.getOnlineSalarySettlement().getSettlementValue())).divide(new BigDecimal(100), CommonConstants.DECIMAL_PLACE, BigDecimal.ROUND_DOWN).setScale(0,BigDecimal.ROUND_HALF_UP));
-                        break;
-                    case FIXED_SALARY:
-                        results.put("onlineTeacherSalary",vipGroupSalarySettlementDto.getOnlineSalarySettlement().getSettlementValue().setScale(0, BigDecimal.ROUND_HALF_UP));
-                        break;
-                    default:
-                        throw new BizException("未指定课酬结算标准!");
-                }
-
-            }
-		}else{
-			results.put("onlineTeacherSalary", new BigDecimal(0));
-		}
-
 		//教师线下单课酬计算
 		if(Objects.nonNull(vipGroupSalarySettlementDto.getOfflineSalarySettlement())){
             if(vipGroup instanceof VipGroupApplyBaseInfoDto&&!useDefaultTeacherSalary
@@ -945,41 +912,75 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
             throw new BizException("此活动未设置活动类型");
         }
 
-		if(computeTotalPrice){
-			//课程购买费用计算
-			BigDecimal totalPrice;
-			switch (vipGroupActivity.getType()){
-				case BASE_ACTIVITY:
-					totalPrice=onlineVipGroupCharge.add(offlineVipGroupCharge);
-					break;
-				case DISCOUNT:
-					BigDecimal discount=new BigDecimal(vipGroupActivity.getAttribute1());
-					totalPrice=onlineVipGroupCharge.add(offlineVipGroupCharge);
-					totalPrice=totalPrice.multiply(discount).divide(new BigDecimal(100), CommonConstants.DECIMAL_PLACE, BigDecimal.ROUND_DOWN).setScale(CommonConstants.DECIMAL_FINAL_PLACE,BigDecimal.ROUND_HALF_UP);
-					break;
-				case GIVE_CLASS:
-					if(totalClassNum.compareTo(new BigDecimal(vipGroupActivity.getAttribute1()))<0){
-
-					}else if(vipGroup.getGiveTeachMode()==TeachModeEnum.OFFLINE){
-						if(totalClassNum.compareTo(new BigDecimal(vipGroupActivity.getAttribute1()))>-1){
-							offlineClassNum=offlineClassNum.subtract(new BigDecimal(vipGroupActivity.getAttribute2()));
-						}
-						offlineVipGroupCharge = offlineClassesUnitPrice.multiply(offlineClassNum);
-					}else if(vipGroup.getGiveTeachMode()==TeachModeEnum.ONLINE){
-						if(totalClassNum.compareTo(new BigDecimal(vipGroupActivity.getAttribute1()))>-1){
-							onlineClassNum=onlineClassNum.subtract(new BigDecimal(vipGroupActivity.getAttribute2()));
-						}
-						onlineVipGroupCharge = onlineClassesUnitPrice.multiply(onlineClassNum);
-					}else{
-						throw new BizException("请指定赠送课程类型!");
+		//课程购买费用计算
+		BigDecimal totalPrice;
+		switch (vipGroupActivity.getType()){
+			case BASE_ACTIVITY:
+				totalPrice=onlineVipGroupCharge.add(offlineVipGroupCharge);
+				break;
+			case DISCOUNT:
+				BigDecimal discount=new BigDecimal(vipGroupActivity.getAttribute1());
+				totalPrice=onlineVipGroupCharge.add(offlineVipGroupCharge);
+				totalPrice=totalPrice.multiply(discount).divide(new BigDecimal(100), CommonConstants.DECIMAL_PLACE, BigDecimal.ROUND_DOWN).setScale(CommonConstants.DECIMAL_FINAL_PLACE,BigDecimal.ROUND_HALF_UP);
+				break;
+			case GIVE_CLASS:
+				if(totalClassNum.compareTo(new BigDecimal(vipGroupActivity.getAttribute1()))<0){
+
+				}else if(vipGroup.getGiveTeachMode()==TeachModeEnum.OFFLINE){
+					if(totalClassNum.compareTo(new BigDecimal(vipGroupActivity.getAttribute1()))>-1){
+						offlineClassNum=offlineClassNum.subtract(new BigDecimal(vipGroupActivity.getAttribute2()));
+					}
+					offlineVipGroupCharge = offlineClassesUnitPrice.multiply(offlineClassNum);
+				}else if(vipGroup.getGiveTeachMode()==TeachModeEnum.ONLINE){
+					if(totalClassNum.compareTo(new BigDecimal(vipGroupActivity.getAttribute1()))>-1){
+						onlineClassNum=onlineClassNum.subtract(new BigDecimal(vipGroupActivity.getAttribute2()));
 					}
-					totalPrice=onlineVipGroupCharge.add(offlineVipGroupCharge);
-					break;
-				default:
-					throw new BizException("活动类型错误!");
+					onlineVipGroupCharge = onlineClassesUnitPrice.multiply(onlineClassNum);
+				}else{
+					throw new BizException("请指定赠送课程类型!");
+				}
+				totalPrice=onlineVipGroupCharge.add(offlineVipGroupCharge);
+				break;
+			default:
+				throw new BizException("活动类型错误!");
+		}
+		results.put("totalPrice",totalPrice.setScale(0,BigDecimal.ROUND_CEILING));
+
+		//教师课酬线上单课酬计算
+		if(Objects.nonNull(vipGroupSalarySettlementDto.getOnlineSalarySettlement())){
+			if(vipGroup instanceof VipGroupApplyBaseInfoDto&&!useDefaultTeacherSalary
+					&&vipGroupActivity.getSalaryReadonlyFlag().equals("1")){
+				teacherOnlineSalary=((VipGroupApplyBaseInfoDto) vipGroup).getOnlineTeacherSalary();
+				results.put("onlineTeacherSalary",teacherOnlineSalary);
 			}
-			results.put("totalPrice",totalPrice.setScale(0,BigDecimal.ROUND_CEILING));
+			if(Objects.isNull(teacherOnlineSalary)){
+				switch (vipGroupSalarySettlementDto.getOnlineSalarySettlement().getSalarySettlementType()){
+					case TEACHER_DEFAULT:
+						if(Objects.isNull(teacherDefaultVipGroupSalary)||Objects.isNull(teacherDefaultVipGroupSalary.getOnlineClassesSalary())){
+							teacherOnlineSalary=new BigDecimal(0);
+						}else{
+							teacherOnlineSalary=teacherDefaultVipGroupSalary.getOnlineClassesSalary();
+						}
+						results.put("onlineTeacherSalary",teacherOnlineSalary.setScale(0, BigDecimal.ROUND_HALF_UP));
+						break;
+					case RATIO_DISCOUNT:
+						BigDecimal tos=results.get("totalPrice").divide(onlineClassNum.add(offlineClassNum), CommonConstants.DECIMAL_PLACE, BigDecimal.ROUND_DOWN)
+								.multiply(new BigDecimal(0.6));
+//						results.put("onlineTeacherSalary",onlineClassesUnitPrice.multiply((vipGroupSalarySettlementDto.getOnlineSalarySettlement().getSettlementValue())).divide(new BigDecimal(100), CommonConstants.DECIMAL_PLACE, BigDecimal.ROUND_DOWN).setScale(0,BigDecimal.ROUND_HALF_UP));
+						results.put("onlineTeacherSalary", tos);
+						break;
+					case FIXED_SALARY:
+						results.put("onlineTeacherSalary",vipGroupSalarySettlementDto.getOnlineSalarySettlement().getSettlementValue().setScale(0, BigDecimal.ROUND_HALF_UP));
+						break;
+					default:
+						throw new BizException("未指定课酬结算标准!");
+				}
+
+			}
+		}else{
+			results.put("onlineTeacherSalary", new BigDecimal(0));
 		}
+
         return results;
     }
 
@@ -1266,7 +1267,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 
 		//将学生加入到班级,更新班级报名状态及人数信息
 		if(!isOk){
-			if(CollectionUtils.isEmpty(statusOrdersMap.get(DealStatusEnum.ING))){
+			if(CollectionUtils.isEmpty(statusOrdersMap.get(DealStatusEnum.ING))||(!CollectionUtils.isEmpty(statusOrdersMap.get(DealStatusEnum.ING))&&statusOrdersMap.get(DealStatusEnum.ING).size()<=1)){
 				updateVipGroupStudentNumAndStatus(vipGroupId,classGroup,-1,false);
 				classGroupStudentMapperDao.deleteStudentByMusicGroupId(vipGroupId.toString(),userId);
 			}

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

@@ -105,7 +105,7 @@
     </select>
     <select id="findExpiredDateBeforeReport" resultMap="CourseScheduleEvaluate">
       SELECT * FROM course_schedule_evaluate
-      WHERE DATE_FORMATE(create_time_, '%Y-%m-%d') &lt;= DATE_FORMATE(#{expiredDate}, '%Y-%m-%d')
+      WHERE create_time_ &lt;= #{expiredDate}
       AND (is_pushed_ = 0 OR is_pushed_ IS NULL)
     </select>
 </mapper>

+ 2 - 2
mec-thirdparty/src/main/java/com/ym/mec/thirdparty/eseal/provider/TsignPlugin.java

@@ -57,14 +57,14 @@ public class TsignPlugin implements ESealPlugin, InitializingBean, DisposableBea
 		projectconfig.setProjectSecret(projectSecret);
 		projectconfig.setItsmApiUrl(apisUrl);
 		Result result = ServiceClientManager.registClient(projectconfig, null, null);
-		/*if (result.getErrCode() != 0) {
+		if (result.getErrCode() != 0) {
 			throw new ThirdpartyException("e签宝客户端注册失败:{}", result.getMsg());
 		}
 
 		serviceClient = ServiceClientManager.get(projectId);
 		if (serviceClient == null) {
 			throw new ThirdpartyException("获取e签宝客户端失败");
-		}*/
+		}
 	}
 
 	@Override