|
@@ -2,16 +2,14 @@ package com.ygj.yuemum.service.eLearning;
|
|
|
|
|
|
import com.ygj.yuemum.dao.college.CollegeCurriculumCoreDao;
|
|
|
import com.ygj.yuemum.domain.college.*;
|
|
|
+import com.ygj.yuemum.domain.elearning.ELearningBooking;
|
|
|
import com.ygj.yuemum.service.college.*;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import java.text.DecimalFormat;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
-import java.util.Date;
|
|
|
-import java.util.LinkedHashMap;
|
|
|
-import java.util.LinkedList;
|
|
|
-import java.util.List;
|
|
|
+import java.util.*;
|
|
|
|
|
|
@Service
|
|
|
|
|
@@ -28,22 +26,35 @@ public class ELearningService {
|
|
|
private CollegeCurriculumCoreService collegeCurriculumCoreService;
|
|
|
@Autowired
|
|
|
private CollegeLearningDetailService collegeLearningDetailService;
|
|
|
+ @Autowired
|
|
|
+ private CollegeBookingService collegeBookingService;
|
|
|
|
|
|
public LinkedHashMap<String, Object> index(String attendant_id) {
|
|
|
LinkedHashMap<String, Object> tableData = new LinkedHashMap<>();
|
|
|
+ List<CollegeCurriculumCore> tableDataComplete = new ArrayList<>();
|
|
|
+ List<CollegeCurriculumCore> tableDataBooking = new ArrayList<>();
|
|
|
+ List<CollegeCurriculumCore> tableDataIncomplete = new ArrayList<>();
|
|
|
CollegeCurriculumCore collegeCurriculumCoreQuery = new CollegeCurriculumCore();
|
|
|
collegeCurriculumCoreQuery.setOpenid(attendant_id);
|
|
|
List<CollegeCurriculumCore> collegeCurriculumCores = collegeCurriculumCoreDao.queryELearning_Index(collegeCurriculumCoreQuery);
|
|
|
for (CollegeCurriculumCore collegeCurriculumCore : collegeCurriculumCores) {
|
|
|
if (collegeCurriculumCore.getStatus() != null && collegeCurriculumCore.getStatus().equals("9")) { //1-已预约,2-学习中,3-已过期, 9-已完成
|
|
|
collegeCurriculumCore.setStatus("已完成");
|
|
|
+ tableDataComplete.add(collegeCurriculumCore);
|
|
|
+ } else if (collegeCurriculumCore.getStatus() != null && collegeCurriculumCore.getStatus().equals("1")) {
|
|
|
+ collegeCurriculumCore.setStatus("已预约");
|
|
|
+ tableDataBooking.add(collegeCurriculumCore);
|
|
|
} else if (collegeCurriculumCore.getStatus() != null && collegeCurriculumCore.getStatus().equals("2")) {
|
|
|
- collegeCurriculumCore.setStatus("待完成");
|
|
|
+ collegeCurriculumCore.setStatus("学习中");
|
|
|
+ tableDataBooking.add(collegeCurriculumCore);
|
|
|
} else {
|
|
|
collegeCurriculumCore.setStatus("待完成");
|
|
|
+ tableDataIncomplete.add(collegeCurriculumCore);
|
|
|
}
|
|
|
}
|
|
|
- tableData.put("college_core", collegeCurriculumCores);
|
|
|
+ tableData.put("coursework_complete", tableDataComplete);
|
|
|
+ tableData.put("coursework_booking", tableDataBooking);
|
|
|
+ tableData.put("coursework_incomplete", tableDataIncomplete);
|
|
|
return tableData;
|
|
|
}
|
|
|
|
|
@@ -190,7 +201,8 @@ public class ELearningService {
|
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
collegeTestDetailQuery.setOpenid(attendant_id);
|
|
|
collegeTestDetailQuery.setCoreid(coursework_id);
|
|
|
- if (collegeTestDetailService.selectByOpenId(collegeTestDetailQuery) == null) {
|
|
|
+ collegeTestDetailQuery.setSys_type("YueLife");
|
|
|
+ if (collegeTestDetailService.queryTestComplete(collegeTestDetailQuery) == null) {
|
|
|
CollegeTestDetail collegeTestDetail = new CollegeTestDetail();
|
|
|
collegeTestDetail.setCoreid(coursework_id);
|
|
|
collegeTestDetail.setOpenid(attendant_id);
|
|
@@ -222,7 +234,7 @@ public class ELearningService {
|
|
|
CollegeCurriculumCore collegeCurriculumCore = collegeCurriculumCoreService.getCollegeCurriculumCore(coursework_id);
|
|
|
CollegeLearningDetail collegeLearningDetail1 = new CollegeLearningDetail();
|
|
|
collegeLearningDetail1.setOpen_id(attendant_id);
|
|
|
- collegeLearningDetail1.setC_code(collegeCurriculumCore.getC_code());
|
|
|
+ collegeLearningDetail1.setC_code(String.valueOf(coursework_id));
|
|
|
collegeLearningDetail1.setDate(sdf.format(new Date()));
|
|
|
collegeLearningDetail1.setCredit(collegeCurriculumCore.getCredit());
|
|
|
collegeLearningDetail1.setStatus(9);
|
|
@@ -238,12 +250,18 @@ public class ELearningService {
|
|
|
}
|
|
|
|
|
|
public int courseworkComplete(String attendant_id, String coursework_id) {
|
|
|
+ //传入ID 转换成编号
|
|
|
CollegeLearningDetail collegeLearningDetail = new CollegeLearningDetail();
|
|
|
+ CollegeCurriculumCore collegeCurriculumCore = collegeCurriculumCoreDao.selectByPrimaryKey(Integer.parseInt(coursework_id));
|
|
|
+ if(collegeCurriculumCore == null) {
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
collegeLearningDetail.setOpen_id(attendant_id);
|
|
|
collegeLearningDetail.setC_code(coursework_id);
|
|
|
- CollegeLearningDetail collegeLearningDetailOld = collegeLearningDetailService.checkCoreLearningRate(collegeLearningDetail);
|
|
|
- if (collegeLearningDetailOld != null && collegeLearningDetailOld.getStatus() == 9) {
|
|
|
+ collegeLearningDetail.setSys_type("YueLife");
|
|
|
+ CollegeLearningDetail collegeLearningDetailOld = collegeLearningDetailService.checkELearning(collegeLearningDetail);
|
|
|
+ if (collegeLearningDetailOld == null || collegeLearningDetailOld.getStatus() == 9) {
|
|
|
return 0;
|
|
|
} else {
|
|
|
collegeLearningDetail.setId(collegeLearningDetailOld.getId());
|
|
@@ -263,40 +281,40 @@ public class ELearningService {
|
|
|
DecimalFormat df = new DecimalFormat("00.00");
|
|
|
collegeLearningDetail.setOpen_id(attendant_id);
|
|
|
collegeLearningDetail.setC_code(coursework_id);
|
|
|
- CollegeLearningDetail collegeLearningDetailOld = collegeLearningDetailService.checkCoreLearningRate(collegeLearningDetail);
|
|
|
- CollegeCurriculumCore collegeCurriculumCore = collegeCurriculumCoreDao.queryCoreByCode(coursework_id);
|
|
|
+ CollegeLearningDetail collegeLearningDetailOld = collegeLearningDetailService.checkELearning(collegeLearningDetail);
|
|
|
+ CollegeCurriculumCore collegeCurriculumCore = collegeCurriculumCoreDao.queryELeaningByCode(coursework_id);
|
|
|
|
|
|
String rTime[] = rate.split(":");
|
|
|
int rHours = Integer.parseInt(rTime[0]) * 60 * 60;
|
|
|
int rMinutes = Integer.parseInt(rTime[1]) * 60;
|
|
|
- int rateNew = rHours+rMinutes;
|
|
|
+ int rateNew = rHours + rMinutes;
|
|
|
|
|
|
String coreTime[] = collegeCurriculumCore.getVideo_length().split(":");
|
|
|
int coreHours = Integer.parseInt(coreTime[0]) * 60 * 60;
|
|
|
int coreMinutes = Integer.parseInt(coreTime[1]) * 60;
|
|
|
- int coreRate = coreHours+coreMinutes;
|
|
|
- double rateValueTemp = ((double)coreRate - (double)rateNew)/coreRate;
|
|
|
+ int coreRate = coreHours + coreMinutes;
|
|
|
+ double rateValueTemp = ((double) coreRate - (double) rateNew) / coreRate;
|
|
|
String rateValue;
|
|
|
if (rateValueTemp >= 1) {
|
|
|
rateValue = "100%";
|
|
|
} else {
|
|
|
- rateValue = df.format(rateValueTemp*100) + "%";
|
|
|
+ rateValue = df.format(rateValueTemp * 100) + "%";
|
|
|
}
|
|
|
|
|
|
- if(collegeLearningDetailOld == null) {
|
|
|
+ if (collegeLearningDetailOld == null) {
|
|
|
collegeLearningDetail.setRate(rateValue);
|
|
|
collegeLearningDetail.setDate(sdf.format(new Date()));
|
|
|
collegeLearningDetail.setStatus(2);
|
|
|
collegeLearningDetail.setRate_time(rate);
|
|
|
collegeLearningDetail.setSys_type("YueLife");
|
|
|
collegeLearningDetailService.addCollegeLearningDetail(collegeLearningDetail);
|
|
|
- collegeCurriculumCoreDao.updateCoreCount(coursework_id);
|
|
|
+ collegeCurriculumCoreDao.updateELearningCount(coursework_id);
|
|
|
return 1;
|
|
|
} else {
|
|
|
- if(collegeLearningDetailOld.getStatus() == 9) {
|
|
|
+ if (collegeLearningDetailOld.getStatus() == 9) {
|
|
|
return 0;
|
|
|
} else {
|
|
|
- if (Double.parseDouble(rateValue.replace("%","")) > Double.parseDouble(collegeLearningDetailOld.getRate().replace("%",""))) {
|
|
|
+ if (Double.parseDouble(rateValue.replace("%", "")) > Double.parseDouble(collegeLearningDetailOld.getRate().replace("%", ""))) {
|
|
|
collegeLearningDetail.setId(collegeLearningDetailOld.getId());
|
|
|
collegeLearningDetail.setRate(rateValue);
|
|
|
collegeLearningDetail.setStatus(2);
|
|
@@ -310,11 +328,53 @@ public class ELearningService {
|
|
|
}
|
|
|
|
|
|
}
|
|
|
- }catch (Exception ex) {
|
|
|
+ } catch (Exception ex) {
|
|
|
ex.printStackTrace();
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
+ public int courseworkBooking(ELearningBooking eLearningBooking) {
|
|
|
+ CollegeBooking collegeBooking = new CollegeBooking();
|
|
|
+ collegeBooking.setOpenid(eLearningBooking.getAttendant_id());
|
|
|
+ collegeBooking.setCollege_code(eLearningBooking.getCoursework_id());
|
|
|
+ collegeBooking.setGender(eLearningBooking.getGender());
|
|
|
+ collegeBooking.setOrders(eLearningBooking.getOrders());
|
|
|
+ collegeBooking.setApplause_rate(eLearningBooking.getApplause_rate());
|
|
|
+ //判断是否已预约
|
|
|
+ try {
|
|
|
+ CollegeBooking collegeBooking1 = collegeBookingService.checkELearningBooking(collegeBooking);
|
|
|
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
+ if (collegeBooking1 != null) {
|
|
|
+ return 0; //已预约
|
|
|
+ } else {
|
|
|
+ //更改学习记录
|
|
|
+ CollegeLearningDetail collegeLearningDetailQuery = new CollegeLearningDetail();
|
|
|
+ collegeLearningDetailQuery.setOpen_id(collegeBooking.getOpenid());
|
|
|
+ collegeLearningDetailQuery.setC_code(collegeBooking.getCollege_code());
|
|
|
+ CollegeLearningDetail collegeLearningDetail = collegeLearningDetailService.checkELearning(collegeLearningDetailQuery);
|
|
|
+ if (collegeLearningDetail != null) {
|
|
|
+ return collegeLearningDetail.getStatus(); //2学习中,9已完成
|
|
|
+ } else {
|
|
|
+ //保存学习记录
|
|
|
+ CollegeLearningDetail collegeLearningDetailNew = new CollegeLearningDetail();
|
|
|
+ collegeLearningDetailNew.setOpen_id(collegeBooking.getOpenid());
|
|
|
+ collegeLearningDetailNew.setC_code(collegeBooking.getCollege_code());
|
|
|
+ collegeLearningDetailNew.setStatus(1);
|
|
|
+ collegeLearningDetailNew.setSys_type("YueLife");
|
|
|
+ collegeLearningDetailNew.setDate(sdf.format(new Date()));
|
|
|
+ //保存预约
|
|
|
+ collegeBooking.setSys_type("YueLife");
|
|
|
+ collegeBooking.setDate(sdf.format(new Date()));
|
|
|
+ collegeBookingService.addELearningBooking(collegeBooking);
|
|
|
+ return 1;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } catch (Exception ex) {
|
|
|
+ ex.printStackTrace();
|
|
|
+ return 99;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
}
|