|
@@ -12,6 +12,7 @@ import com.ygj.yuemum.service.wxmini.WXUserService;
|
|
import com.ygj.yuemum.utils.DateUtil;
|
|
import com.ygj.yuemum.utils.DateUtil;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
+import com.ygj.yuemum.utils.DistanceUtil;
|
|
|
|
|
|
import java.text.SimpleDateFormat;
|
|
import java.text.SimpleDateFormat;
|
|
import java.util.Date;
|
|
import java.util.Date;
|
|
@@ -41,7 +42,10 @@ public class CollegeUserPointsService {
|
|
private WeChatInfoController weChatInfoController;
|
|
private WeChatInfoController weChatInfoController;
|
|
@Autowired
|
|
@Autowired
|
|
private CouponCreateService couponCreateService;
|
|
private CouponCreateService couponCreateService;
|
|
-
|
|
|
|
|
|
+ @Autowired
|
|
|
|
+ private CollegeBookingService collegeBookingService;
|
|
|
|
+ @Autowired
|
|
|
|
+ private CollegeLearningDetailService collegeLearningDetailService;
|
|
|
|
|
|
|
|
|
|
public Integer LMP = Constant.LMP;
|
|
public Integer LMP = Constant.LMP;
|
|
@@ -68,19 +72,21 @@ public class CollegeUserPointsService {
|
|
public int updateCollegeUserPoints(CollegeUserPoints collegeUserPoints) {
|
|
public int updateCollegeUserPoints(CollegeUserPoints collegeUserPoints) {
|
|
return collegeUserPointsDao.updateByPrimaryKeySelective(collegeUserPoints);
|
|
return collegeUserPointsDao.updateByPrimaryKeySelective(collegeUserPoints);
|
|
}
|
|
}
|
|
|
|
+
|
|
public int updatePointsByTest(String openid) {
|
|
public int updatePointsByTest(String openid) {
|
|
return collegeUserPointsDao.updatePointsByTest(openid);
|
|
return collegeUserPointsDao.updatePointsByTest(openid);
|
|
}
|
|
}
|
|
|
|
+
|
|
public CollegeUserPoints queryOneUserPoints(String openid) {
|
|
public CollegeUserPoints queryOneUserPoints(String openid) {
|
|
return collegeUserPointsDao.queryOneUserPoints(openid);
|
|
return collegeUserPointsDao.queryOneUserPoints(openid);
|
|
}
|
|
}
|
|
|
|
|
|
- public LinkedHashMap<String, Object> QueryUserPoints(String openid,String city) {
|
|
|
|
|
|
+ public LinkedHashMap<String, Object> QueryUserPoints(String openid, String city) {
|
|
LinkedHashMap<String, Object> tableData = new LinkedHashMap<>();
|
|
LinkedHashMap<String, Object> tableData = new LinkedHashMap<>();
|
|
WXUser wxUser = wxUserService.getWXUser(openid);
|
|
WXUser wxUser = wxUserService.getWXUser(openid);
|
|
tableData.put("stage", null);
|
|
tableData.put("stage", null);
|
|
tableData.put("stage_date", null);
|
|
tableData.put("stage_date", null);
|
|
- if (wxUser != null && wxUser.getXu_phone() != null) {
|
|
|
|
|
|
+ if (wxUser != null && wxUser.getXu_phone() != null) {
|
|
if (wxUser.getXu_content_type() != null && wxUser.getXu_content_date() != null) {
|
|
if (wxUser.getXu_content_type() != null && wxUser.getXu_content_date() != null) {
|
|
try {
|
|
try {
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
|
@@ -92,11 +98,11 @@ public class CollegeUserPointsService {
|
|
CollegeCurriculumExperience collegeCurriculumExperienceQuery = new CollegeCurriculumExperience();
|
|
CollegeCurriculumExperience collegeCurriculumExperienceQuery = new CollegeCurriculumExperience();
|
|
CollegePointsDetail collegePointsDetail = new CollegePointsDetail();
|
|
CollegePointsDetail collegePointsDetail = new CollegePointsDetail();
|
|
if (wxUser.getXu_content_type().equals("B01")) { //育儿
|
|
if (wxUser.getXu_content_type().equals("B01")) { //育儿
|
|
- if(dateNow.getTime() < getDate.getTime()) {
|
|
|
|
|
|
+ if (dateNow.getTime() < getDate.getTime()) {
|
|
//还没出生
|
|
//还没出生
|
|
return tableData;
|
|
return tableData;
|
|
} else {
|
|
} else {
|
|
- if(DateUtil.getMonthDiff(dateNow, getDate) + 1 > AGE) {
|
|
|
|
|
|
+ if (DateUtil.getMonthDiff(dateNow, getDate) + 1 > AGE) {
|
|
return tableData;
|
|
return tableData;
|
|
} else {
|
|
} else {
|
|
tableData.put("stage_step", DateUtil.getMonthDiff(dateNow, getDate) + 1);
|
|
tableData.put("stage_step", DateUtil.getMonthDiff(dateNow, getDate) + 1);
|
|
@@ -109,8 +115,8 @@ public class CollegeUserPointsService {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} else if (wxUser.getXu_content_type().equals("P01")) { //孕周
|
|
} else if (wxUser.getXu_content_type().equals("P01")) { //孕周
|
|
- if(dateNow.getTime() < getDate.getTime()) {
|
|
|
|
- if (LMP-DateUtil.getWeekDiff(dateNow, getDate) < 0) {
|
|
|
|
|
|
+ if (dateNow.getTime() < getDate.getTime()) {
|
|
|
|
+ if (LMP - DateUtil.getWeekDiff(dateNow, getDate) < 0) {
|
|
return tableData; //还没怀孕
|
|
return tableData; //还没怀孕
|
|
} else {
|
|
} else {
|
|
tableData.put("stage_step", DateUtil.getWeekDiff(dateNow, getDate));
|
|
tableData.put("stage_step", DateUtil.getWeekDiff(dateNow, getDate));
|
|
@@ -121,7 +127,7 @@ public class CollegeUserPointsService {
|
|
collegeCurriculumExperienceQuery.setC_type("P01");
|
|
collegeCurriculumExperienceQuery.setC_type("P01");
|
|
collegeCurriculumExperienceQuery.setC_step(DateUtil.getWeekDiff(dateNow, getDate));
|
|
collegeCurriculumExperienceQuery.setC_step(DateUtil.getWeekDiff(dateNow, getDate));
|
|
}
|
|
}
|
|
- }else {
|
|
|
|
|
|
+ } else {
|
|
return tableData;
|
|
return tableData;
|
|
}
|
|
}
|
|
} else {
|
|
} else {
|
|
@@ -129,7 +135,7 @@ public class CollegeUserPointsService {
|
|
}
|
|
}
|
|
tableData.put("stage", wxUser.getXu_content_type());
|
|
tableData.put("stage", wxUser.getXu_content_type());
|
|
tableData.put("stage_date", wxUser.getXu_content_date());
|
|
tableData.put("stage_date", wxUser.getXu_content_date());
|
|
- tableData.put("avatar_url",wxUser.getXu_avatarUrl());
|
|
|
|
|
|
+ tableData.put("avatar_url", wxUser.getXu_avatarUrl());
|
|
//查询学分
|
|
//查询学分
|
|
int point_available = 0;
|
|
int point_available = 0;
|
|
CollegeUserPoints collegeUserPoints = collegeUserPointsDao.queryOneUserPoints(openid);
|
|
CollegeUserPoints collegeUserPoints = collegeUserPointsDao.queryOneUserPoints(openid);
|
|
@@ -145,9 +151,9 @@ public class CollegeUserPointsService {
|
|
point_available = collegeUserPoints.getCredit_available();
|
|
point_available = collegeUserPoints.getCredit_available();
|
|
}
|
|
}
|
|
//礼品领取情况
|
|
//礼品领取情况
|
|
- List<CollegePresentRule> collegePresentRules = collegePresentRuleService.queryUserReceived(openid);
|
|
|
|
- for(CollegePresentRule collegePresentRule:collegePresentRules) {
|
|
|
|
- if(collegePresentRule.getReceived() != 1 && point_available >= collegePresentRule.getValue()) {
|
|
|
|
|
|
+ List<CollegePresentRule> collegePresentRules = collegePresentRuleService.queryUserReceived(openid);
|
|
|
|
+ for (CollegePresentRule collegePresentRule : collegePresentRules) {
|
|
|
|
+ if (collegePresentRule.getReceived() != 1 && point_available >= collegePresentRule.getValue()) {
|
|
//返回礼品内容
|
|
//返回礼品内容
|
|
tableData.put("surprise", "true");
|
|
tableData.put("surprise", "true");
|
|
tableData.put("surprise_type", collegePresentRule.getType());
|
|
tableData.put("surprise_type", collegePresentRule.getType());
|
|
@@ -165,17 +171,18 @@ public class CollegeUserPointsService {
|
|
weChatInfoController.WXSendBookingMessage(customerBooking);
|
|
weChatInfoController.WXSendBookingMessage(customerBooking);
|
|
collegePointsDetail.setContext(collegePresentRule.getPresent_name());
|
|
collegePointsDetail.setContext(collegePresentRule.getPresent_name());
|
|
} else {
|
|
} else {
|
|
- //优惠券领取接口 ???
|
|
|
|
- String cb_code = couponCreateService.couponIssue(collegePresentRule.getCoupon_cid(),wxUser.getXu_phone());
|
|
|
|
- collegePointsDetail.setContext(collegePresentRule.getPresent_name()+":"+cb_code);
|
|
|
|
|
|
+ //优惠券领取接口
|
|
|
|
+ String cb_code = couponCreateService.couponIssue(collegePresentRule.getCoupon_cid(), wxUser.getXu_phone());
|
|
|
|
+ collegePointsDetail.setContext(collegePresentRule.getPresent_name() + ":" + cb_code);
|
|
}
|
|
}
|
|
//保存领取日志
|
|
//保存领取日志
|
|
collegePointsDetail.setOpenid(openid);
|
|
collegePointsDetail.setOpenid(openid);
|
|
collegePointsDetail.setDate(ldf.format(new Date()));
|
|
collegePointsDetail.setDate(ldf.format(new Date()));
|
|
collegePointsDetail.setEvent_code(4);
|
|
collegePointsDetail.setEvent_code(4);
|
|
collegePointsDetail.setCredit(collegePresentRule.getValue() * -1);
|
|
collegePointsDetail.setCredit(collegePresentRule.getValue() * -1);
|
|
|
|
+ collegePointsDetail.setRule_id(collegePresentRule.getId());
|
|
collegePointsDetailService.addCollegePointsDetail(collegePointsDetail);
|
|
collegePointsDetailService.addCollegePointsDetail(collegePointsDetail);
|
|
- //更新学分
|
|
|
|
|
|
+ //更新学分 ????
|
|
collegeUserPoints.setCredit_available(collegeUserPoints.getCredit_available() - collegePresentRule.getValue());
|
|
collegeUserPoints.setCredit_available(collegeUserPoints.getCredit_available() - collegePresentRule.getValue());
|
|
collegeUserPointsDao.updateByPrimaryKeySelective(collegeUserPoints);
|
|
collegeUserPointsDao.updateByPrimaryKeySelective(collegeUserPoints);
|
|
break;
|
|
break;
|
|
@@ -184,17 +191,17 @@ public class CollegeUserPointsService {
|
|
tableData.put("present_received", collegePresentRules);
|
|
tableData.put("present_received", collegePresentRules);
|
|
//常规课
|
|
//常规课
|
|
List<CollegeCurriculumCore> collegeCurriculumCores = collegeCurriculumCoreService.queryCoreByStep(collegeCurriculumCoreQuery);
|
|
List<CollegeCurriculumCore> collegeCurriculumCores = collegeCurriculumCoreService.queryCoreByStep(collegeCurriculumCoreQuery);
|
|
- tableData.put("college_core",collegeCurriculumCores);
|
|
|
|
|
|
+ tableData.put("college_core", collegeCurriculumCores);
|
|
//实践课
|
|
//实践课
|
|
collegeCurriculumPracticeQuery.setDeadline(sdf.format(new Date()));
|
|
collegeCurriculumPracticeQuery.setDeadline(sdf.format(new Date()));
|
|
collegeCurriculumPracticeQuery.setCity(city);
|
|
collegeCurriculumPracticeQuery.setCity(city);
|
|
collegeCurriculumPracticeQuery.setStartdate(sdf.format(new Date()));
|
|
collegeCurriculumPracticeQuery.setStartdate(sdf.format(new Date()));
|
|
List<CollegeCurriculumPractice> collegeCurriculumPractices = collegeCurriculumPracticeService.queryPracticeByStep(collegeCurriculumPracticeQuery);
|
|
List<CollegeCurriculumPractice> collegeCurriculumPractices = collegeCurriculumPracticeService.queryPracticeByStep(collegeCurriculumPracticeQuery);
|
|
- tableData.put("college_practice",collegeCurriculumPractices);
|
|
|
|
|
|
+ tableData.put("college_practice", collegeCurriculumPractices);
|
|
//体验课
|
|
//体验课
|
|
collegeCurriculumExperienceQuery.setCity(city);
|
|
collegeCurriculumExperienceQuery.setCity(city);
|
|
List<CollegeCurriculumExperience> collegeCurriculumExperiences = collegeCurriculumExperienceService.queryExperienceByStep(collegeCurriculumExperienceQuery);
|
|
List<CollegeCurriculumExperience> collegeCurriculumExperiences = collegeCurriculumExperienceService.queryExperienceByStep(collegeCurriculumExperienceQuery);
|
|
- tableData.put("college_experience",collegeCurriculumExperiences);
|
|
|
|
|
|
+ tableData.put("college_experience", collegeCurriculumExperiences);
|
|
return tableData;
|
|
return tableData;
|
|
} catch (Exception ex) {
|
|
} catch (Exception ex) {
|
|
ex.printStackTrace();
|
|
ex.printStackTrace();
|
|
@@ -210,4 +217,67 @@ public class CollegeUserPointsService {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ public int getPointsByOffline(String openid, String c_code, String lat, String lon) {
|
|
|
|
+ //51-参数错误 52-没有预约 53-不在范围 54-已完成
|
|
|
|
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
|
+ if (c_code.indexOf("College") == -1) {
|
|
|
|
+ return 51; //参数错误
|
|
|
|
+ }
|
|
|
|
+ CollegeBooking collegeBooking = new CollegeBooking();
|
|
|
|
+ collegeBooking.setOpenid(openid);
|
|
|
|
+ collegeBooking.setCollege_code(c_code.substring(8, c_code.length()));
|
|
|
|
+ String lat_l, lon_l;
|
|
|
|
+ int credit = 0;
|
|
|
|
+ if (collegeBookingService.checkBooking(collegeBooking) != null) {
|
|
|
|
+ if (c_code.substring(7, 1) == "P") {
|
|
|
|
+ CollegeCurriculumPractice collegeCurriculumPractice = collegeCurriculumPracticeService.getPracticeByCode(c_code);
|
|
|
|
+ lat_l = collegeCurriculumPractice.getMi_latitude();
|
|
|
|
+ lon_l = collegeCurriculumPractice.getMi_longitude();
|
|
|
|
+ credit = collegeCurriculumPractice.getCredit();
|
|
|
|
+ } else if (c_code.substring(7, 1) == "E") {
|
|
|
|
+ CollegeCurriculumExperience collegeCurriculumExperience = collegeCurriculumExperienceService.getExperienceByCode(c_code.substring(8, c_code.length()));
|
|
|
|
+ lat_l = collegeCurriculumExperience.getLatitude();
|
|
|
|
+ lon_l = collegeCurriculumExperience.getLongitude();
|
|
|
|
+ credit = collegeCurriculumExperience.getCredit();
|
|
|
|
+ } else {
|
|
|
|
+ return 51; //参数错误
|
|
|
|
+ }
|
|
|
|
+ DistanceUtil distanceUtil = new DistanceUtil();
|
|
|
|
+ double distance = distanceUtil.GetDistance(Double.parseDouble(lat_l), Double.parseDouble(lon_l), Double.parseDouble(lat), Double.parseDouble(lon));
|
|
|
|
+ if (distance > 500) {
|
|
|
|
+ return 53; //不在范围内
|
|
|
|
+ } else {
|
|
|
|
+ //判断是否已完成
|
|
|
|
+ CollegeLearningDetail collegeLearningDetail = new CollegeLearningDetail();
|
|
|
|
+ collegeLearningDetail.setOpen_id(openid);
|
|
|
|
+ collegeLearningDetail.setC_code(c_code.substring(8, c_code.length()));
|
|
|
|
+ CollegeLearningDetail collegeLearningDetailC = collegeLearningDetailService.checkCorePositive(collegeLearningDetail);
|
|
|
|
+ if (collegeLearningDetailC.getStatus() != 9) {
|
|
|
|
+ collegeLearningDetailC.setDate(sdf.format(new Date()));
|
|
|
|
+ collegeLearningDetailC.setStatus(9);
|
|
|
|
+ collegeLearningDetailC.setCredit(credit);
|
|
|
|
+ collegeLearningDetailService.addCollegeLearningDetail(collegeLearningDetailC);
|
|
|
|
+ } else {
|
|
|
|
+ return 54; //已完成
|
|
|
|
+ }
|
|
|
|
+ //判断是否已经学习 增加学分
|
|
|
|
+ CollegeUserPoints collegeUserPoints = collegeUserPointsDao.queryOneUserPoints(openid);
|
|
|
|
+ if(collegeUserPoints == null) {
|
|
|
|
+ CollegeUserPoints collegeUserPointsNew = new CollegeUserPoints();
|
|
|
|
+ collegeUserPointsNew.setOpenid(openid);
|
|
|
|
+ collegeUserPointsNew.setCredit_total(credit);
|
|
|
|
+ collegeUserPointsNew.setCredit_available(credit);
|
|
|
|
+ } else {
|
|
|
|
+ CollegeUserPoints collegeUserPointsNew = new CollegeUserPoints();
|
|
|
|
+ collegeUserPointsNew.setOpenid(openid);
|
|
|
|
+ collegeUserPointsNew.setCredit_total(collegeUserPoints.getCredit_total() + credit);
|
|
|
|
+ collegeUserPointsNew.setCredit_available(collegeUserPoints.getCredit_available() + credit);
|
|
|
|
+ }
|
|
|
|
+ return 1;
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ return 52; //没有预约
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
}
|
|
}
|