|
@@ -2,7 +2,6 @@ package com.ygj.yuemum.service.college;
|
|
|
|
|
|
import com.ygj.yuemum.component.Constant;
|
|
|
import com.ygj.yuemum.dao.college.CollegeCurriculumCoreDao;
|
|
|
-import com.ygj.yuemum.dao.college.CollegeLearningDetailDao;
|
|
|
import com.ygj.yuemum.domain.college.*;
|
|
|
import com.ygj.yuemum.domain.wxmini.WXUser;
|
|
|
import com.ygj.yuemum.service.wxmini.WXUserService;
|
|
@@ -10,6 +9,7 @@ import com.ygj.yuemum.utils.DateUtil;
|
|
|
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;
|
|
@@ -76,7 +76,7 @@ public class CollegeCurriculumCoreService {
|
|
|
if (DateUtil.getMonthDiff(dateNow, getDate) + 1 > AGE) {
|
|
|
collegeCurriculumQueryB.setC_step(AGE);
|
|
|
} else {
|
|
|
- collegeCurriculumQueryB.setC_step(AGE - DateUtil.getMonthDiff(dateNow, getDate) + 1);
|
|
|
+ collegeCurriculumQueryB.setC_step(DateUtil.getMonthDiff(dateNow, getDate) + 1);
|
|
|
}
|
|
|
}
|
|
|
//育儿课程加孕周课程
|
|
@@ -199,8 +199,27 @@ public class CollegeCurriculumCoreService {
|
|
|
tableData.put("positive", returnUserLearningCoreDetail.getPositive());
|
|
|
tableData.put("t_desc", returnUserLearningCoreDetail.getT_desc());
|
|
|
tableData.put("isvideo", returnUserLearningCoreDetail.isIsvideo());
|
|
|
+ tableData.put("video_length",returnUserLearningCoreDetail.getVideo_length());
|
|
|
tableData.put("status", returnUserLearningCoreDetail.getStatus());
|
|
|
tableData.put("rate", returnUserLearningCoreDetail.getRate());
|
|
|
+ tableData.put("countdown", returnUserLearningCoreDetail.getRate_time());
|
|
|
+ tableData.put("video_href",returnUserLearningCoreDetail.getVideo_href());
|
|
|
+ if(returnUserLearningCoreDetail.getRate_time() != null) {
|
|
|
+ String coreTime[] = returnUserLearningCoreDetail.getVideo_length().split(":");
|
|
|
+ int coreHours = Integer.parseInt(coreTime[0]) * 60 * 60;
|
|
|
+ int coreMinutes = Integer.parseInt(coreTime[1]) * 60;
|
|
|
+ int coreTimeValue = coreHours+coreMinutes;
|
|
|
+
|
|
|
+ String rateTime[] = returnUserLearningCoreDetail.getRate_time().split(":");
|
|
|
+ int rateHours = Integer.parseInt(rateTime[0]) * 60 * 60;
|
|
|
+ int rateMinutes = Integer.parseInt(rateTime[1]) * 60;
|
|
|
+ int rateTimeValue = rateHours+rateMinutes;
|
|
|
+
|
|
|
+ int downTimeValue = coreTimeValue - rateTimeValue;
|
|
|
+ tableData.put("rate_time", String.format("%02d", downTimeValue / 3600) + ":" + String.format("%02d", downTimeValue / 60 % 60));
|
|
|
+ } else {
|
|
|
+ tableData.put("rate_time", "00:00");
|
|
|
+ }
|
|
|
return tableData;
|
|
|
}
|
|
|
|
|
@@ -242,17 +261,17 @@ public class CollegeCurriculumCoreService {
|
|
|
CollegeCurriculumCore collegeCurriculumCore = collegeCurriculumCoreDao.queryCoreByCode(c_code);
|
|
|
CollegeUserPoints collegeUserPointsNew = new CollegeUserPoints();
|
|
|
collegeUserPointsNew.setOpenid(openid);
|
|
|
- if (collegeUserPoints != null) {
|
|
|
- collegeUserPointsNew.setId(collegeUserPoints.getId());
|
|
|
-
|
|
|
- collegeUserPointsNew.setCredit_available(collegeUserPoints.getCredit_available() + collegeCurriculumCore.getCredit());
|
|
|
- collegeUserPointsNew.setCredit_total(collegeUserPoints.getCredit_total() + collegeCurriculumCore.getCredit());
|
|
|
- collegeUserPointsService.updateCollegeUserPoints(collegeUserPointsNew);
|
|
|
- } else {
|
|
|
- collegeUserPointsNew.setCredit_available(collegeCurriculumCore.getCredit());
|
|
|
- collegeUserPointsNew.setCredit_total(collegeCurriculumCore.getCredit());
|
|
|
- collegeUserPointsService.addCollegeUserPoints(collegeUserPointsNew);
|
|
|
- }
|
|
|
+// if (collegeUserPoints != null) { 不加学分
|
|
|
+// collegeUserPointsNew.setId(collegeUserPoints.getId());
|
|
|
+//
|
|
|
+// collegeUserPointsNew.setCredit_available(collegeUserPoints.getCredit_available() + collegeCurriculumCore.getCredit());
|
|
|
+// collegeUserPointsNew.setCredit_total(collegeUserPoints.getCredit_total() + collegeCurriculumCore.getCredit());
|
|
|
+// collegeUserPointsService.updateCollegeUserPoints(collegeUserPointsNew);
|
|
|
+// } else {
|
|
|
+// collegeUserPointsNew.setCredit_available(collegeCurriculumCore.getCredit());
|
|
|
+// collegeUserPointsNew.setCredit_total(collegeCurriculumCore.getCredit());
|
|
|
+// collegeUserPointsService.addCollegeUserPoints(collegeUserPointsNew);
|
|
|
+// }
|
|
|
CollegeLearningDetail collegeLearningDetail1 = new CollegeLearningDetail();
|
|
|
collegeLearningDetail1.setOpen_id(openid);
|
|
|
collegeLearningDetail1.setC_code(c_code);
|
|
@@ -260,39 +279,70 @@ public class CollegeCurriculumCoreService {
|
|
|
collegeLearningDetail1.setCredit(collegeCurriculumCore.getCredit());
|
|
|
collegeLearningDetail1.setStatus(9);
|
|
|
collegeLearningDetailService.addCollegeLearningDetail(collegeLearningDetail1);
|
|
|
+ //已学人数增加
|
|
|
+ collegeCurriculumCoreDao.updatePositive(c_code);
|
|
|
return 1;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- public int coreLearningUpdate(String openid, String c_code, Float rate) {
|
|
|
- CollegeLearningDetail collegeLearningDetail = new CollegeLearningDetail();
|
|
|
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
- collegeLearningDetail.setOpen_id(openid);
|
|
|
- collegeLearningDetail.setC_code(c_code);
|
|
|
- CollegeLearningDetail collegeLearningDetailOld = collegeLearningDetailService.checkCoreLearningRate(collegeLearningDetail);
|
|
|
- if(collegeLearningDetailOld == null) {
|
|
|
- collegeLearningDetail.setRate(rate);
|
|
|
- collegeLearningDetail.setDate(sdf.format(new Date()));
|
|
|
- collegeLearningDetail.setStatus(1);
|
|
|
- collegeLearningDetailService.addCollegeLearningDetail(collegeLearningDetail);
|
|
|
- return 1;
|
|
|
- } else {
|
|
|
- if(collegeLearningDetailOld.getStatus() == 9) {
|
|
|
- return 0;
|
|
|
+ public int coreLearningUpdate(String openid, String c_code, String rate) {
|
|
|
+ try {
|
|
|
+ CollegeLearningDetail collegeLearningDetail = new CollegeLearningDetail();
|
|
|
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
+ DecimalFormat df = new DecimalFormat("00.00");
|
|
|
+ collegeLearningDetail.setOpen_id(openid);
|
|
|
+ collegeLearningDetail.setC_code(c_code);
|
|
|
+ CollegeLearningDetail collegeLearningDetailOld = collegeLearningDetailService.checkCoreLearningRate(collegeLearningDetail);
|
|
|
+ CollegeCurriculumCore collegeCurriculumCore = collegeCurriculumCoreDao.queryCoreByCode(c_code);
|
|
|
+
|
|
|
+ String rTime[] = rate.split(":");
|
|
|
+ int rHours = Integer.parseInt(rTime[0]) * 60 * 60;
|
|
|
+ int rMinutes = Integer.parseInt(rTime[1]) * 60;
|
|
|
+ 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;
|
|
|
+ String rateValue;
|
|
|
+ if (rateValueTemp >= 1) {
|
|
|
+ rateValue = "100%";
|
|
|
} else {
|
|
|
- if (rate > collegeLearningDetailOld.getRate()) {
|
|
|
- collegeLearningDetail.setId(collegeLearningDetailOld.getId());
|
|
|
- collegeLearningDetail.setRate(rate);
|
|
|
- collegeLearningDetail.setStatus(1);
|
|
|
- collegeLearningDetail.setDate(sdf.format(new Date()));
|
|
|
- collegeLearningDetailService.updateCollegeLearningDetail(collegeLearningDetail);
|
|
|
- return 1;
|
|
|
- } else {
|
|
|
+ rateValue = df.format(rateValueTemp*100) + "%";
|
|
|
+ }
|
|
|
+
|
|
|
+ if(collegeLearningDetailOld == null) {
|
|
|
+ collegeLearningDetail.setRate(rateValue);
|
|
|
+ collegeLearningDetail.setDate(sdf.format(new Date()));
|
|
|
+ collegeLearningDetail.setStatus(1);
|
|
|
+ collegeLearningDetail.setRate_time(rate);
|
|
|
+ collegeLearningDetailService.addCollegeLearningDetail(collegeLearningDetail);
|
|
|
+ return 1;
|
|
|
+ } else {
|
|
|
+
|
|
|
+ if(collegeLearningDetailOld.getStatus() == 9) {
|
|
|
return 0;
|
|
|
+ } else {
|
|
|
+ if (Double.parseDouble(rateValue.replace("%","")) > Double.parseDouble(collegeLearningDetailOld.getRate().replace("%",""))) {
|
|
|
+ collegeLearningDetail.setId(collegeLearningDetailOld.getId());
|
|
|
+ collegeLearningDetail.setRate(rateValue);
|
|
|
+ collegeLearningDetail.setStatus(1);
|
|
|
+ collegeLearningDetail.setDate(sdf.format(new Date()));
|
|
|
+ collegeLearningDetail.setRate_time(rate);
|
|
|
+ collegeLearningDetailService.updateCollegeLearningDetail(collegeLearningDetail);
|
|
|
+ return 1;
|
|
|
+ } else {
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
|
|
|
+ }
|
|
|
+ }catch (Exception ex) {
|
|
|
+ ex.printStackTrace();
|
|
|
+ return 0;
|
|
|
}
|
|
|
+
|
|
|
}
|
|
|
|
|
|
}
|