|
@@ -25,6 +25,7 @@ import com.ym.mec.im.ImFeignService;
|
|
|
import com.ym.mec.thirdparty.message.MessageSenderPluginContext;
|
|
|
import com.ym.mec.util.collection.MapUtil;
|
|
|
import com.ym.mec.util.date.DateUtil;
|
|
|
+import com.ym.mec.util.http.HttpUtil;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.slf4j.Logger;
|
|
|
import org.slf4j.LoggerFactory;
|
|
@@ -115,6 +116,8 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
|
|
|
private ContractService contractService;
|
|
|
@Autowired
|
|
|
private PracticeLessonApplyDao practiceLessonApplyDao;
|
|
|
+ @Autowired
|
|
|
+ private CourseScheduleEvaluateDao courseScheduleEvaluateDao;
|
|
|
|
|
|
private static Map<Integer, Map<Integer, List<Integer>>> schoolSubjectTeachersMap;
|
|
|
|
|
@@ -3250,8 +3253,14 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
|
|
|
return BaseController.failed(HttpStatus.FAILED_DEPENDENCY, "该课程组已失效,请重新购买");
|
|
|
}
|
|
|
|
|
|
+ String orderNo=idGeneratorService.generatorId("payment") + "";
|
|
|
+
|
|
|
+ newOrder.setOrderNo(orderNo);
|
|
|
newOrder.setActualAmount(newOrder.getExpectAmount());
|
|
|
+ newOrder.setMerNos(null);
|
|
|
newOrder.setBalancePaymentAmount(new BigDecimal(0));
|
|
|
+ newOrder.setComAmount(null);
|
|
|
+ newOrder.setPerAmount(null);
|
|
|
newOrder.setStatus(DealStatusEnum.ING);
|
|
|
newOrder.setVersion(0);
|
|
|
studentPaymentOrderService.insert(newOrder);
|
|
@@ -3290,7 +3299,6 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- String orderNo=idGeneratorService.generatorId("payment") + "";
|
|
|
String baseApiUrl = sysConfigDao.findConfigValue("base_api_url");
|
|
|
Map<String, BigDecimal> classFee = new HashMap<>();
|
|
|
classFee.put("course",newOrder.getActualAmount());
|
|
@@ -3312,7 +3320,6 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
|
|
|
|
|
|
Map<String,BigDecimal> routingFee = (Map<String,BigDecimal>)payMap.get("routingFee");
|
|
|
newOrder.setStatus(DealStatusEnum.ING);
|
|
|
- newOrder.setOrderNo(orderNo);
|
|
|
newOrder.setOrganId(practiceGroup.getOrganId());
|
|
|
newOrder.setComAmount(routingFee.get("COM"));
|
|
|
newOrder.setPerAmount(routingFee.get("PER"));
|
|
@@ -3371,4 +3378,51 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
|
|
|
}
|
|
|
return BaseController.succeed();
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void pushStudyReport(Date expiredDate, String pushType) {
|
|
|
+ if(Objects.isNull(expiredDate)){
|
|
|
+ throw new BizException("请指定推送报告的截至日期");
|
|
|
+ }
|
|
|
+
|
|
|
+ if(StringUtils.isBlank(pushType)){
|
|
|
+ throw new BizException("请指定推送类型:JIGUANG、SMS、ALL");
|
|
|
+ }
|
|
|
+
|
|
|
+ String baseApiUrl = sysConfigDao.findConfigValue("base_api_url");
|
|
|
+
|
|
|
+ List<CourseScheduleEvaluate> reports = courseScheduleEvaluateDao.findExpiredDateBeforeReport(expiredDate);
|
|
|
+
|
|
|
+ for (CourseScheduleEvaluate report : reports) {
|
|
|
+ PracticeGroup userFreePracticeGroup = practiceGroupDao.get(report.getId());
|
|
|
+ ClassGroup classGroup = classGroupDao.findByMusicGroupAndType(userFreePracticeGroup.getId().toString(), GroupType.PRACTICE.getCode());
|
|
|
+
|
|
|
+ CourseScheduleEvaluate courseScheduleEvaluate = courseScheduleEvaluateDao.findByClassGroupId(classGroup.getId());
|
|
|
+ if(Objects.isNull(courseScheduleEvaluate)){
|
|
|
+ throw new BizException("未生成课程报告");
|
|
|
+ }
|
|
|
+
|
|
|
+ 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());
|
|
|
+
|
|
|
+ if(pushType.equals("ALL")||pushType.equals("JIGUANG")){
|
|
|
+ Map<Integer, String> userMap = new HashMap<>();
|
|
|
+ userMap.put(userFreePracticeGroup.getStudentId(), userFreePracticeGroup.getStudentId().toString());
|
|
|
+ sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.PRACTICE_COMPLETED_STUDY_REPORT,
|
|
|
+ userMap, null, 0, "5?" + pushUrl, "STUDENT", pushUrl);
|
|
|
+ }
|
|
|
+
|
|
|
+ if(pushType.equals("ALL")||pushType.equals("SMS")){
|
|
|
+ Map<Integer, String> userPhoneMap = new HashMap<>();
|
|
|
+ userPhoneMap.put(userFreePracticeGroup.getStudentId(), student.getPhone());
|
|
|
+ sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.YIMEI, MessageTypeEnum.PRACTICE_COMPLETED_STUDY_REPORT,
|
|
|
+ userPhoneMap, null, 0, null, "STUDENT", HttpUtil.getSortUrl(smsUrl));
|
|
|
+ }
|
|
|
+ report.setIsPushed(1);
|
|
|
+ courseScheduleEvaluateDao.update(report);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|