|
@@ -15,6 +15,7 @@ import com.ym.mec.common.service.impl.BaseServiceImpl;
|
|
import com.ym.mec.thirdparty.message.MessageSenderPluginContext;
|
|
import com.ym.mec.thirdparty.message.MessageSenderPluginContext;
|
|
import com.ym.mec.util.collection.MapUtil;
|
|
import com.ym.mec.util.collection.MapUtil;
|
|
import com.ym.mec.util.date.DateUtil;
|
|
import com.ym.mec.util.date.DateUtil;
|
|
|
|
+import com.ym.mec.util.http.HttpUtil;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.LoggerFactory;
|
|
import org.slf4j.LoggerFactory;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
@@ -172,10 +173,6 @@ public class ChildrenDayReserveServiceImpl extends BaseServiceImpl<Integer, Chil
|
|
public Map pay(DegreePayDto degreePayDto) throws Exception {
|
|
public Map pay(DegreePayDto degreePayDto) throws Exception {
|
|
studentDao.lockUser(degreePayDto.getUserId());
|
|
studentDao.lockUser(degreePayDto.getUserId());
|
|
|
|
|
|
- if (degreePayDto.getTheoryLevel() != null && !degreePayDto.getTheoryCourse()) {
|
|
|
|
- throw new BizException("参加乐理考试,请选乐理考级专项训练课");
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
//检查进行中的订单
|
|
//检查进行中的订单
|
|
List<ChildrenDayDegreeDetail> details = childrenDayDegreeDetailService.getByUserIdAndStatus(degreePayDto.getUserId(), 1);
|
|
List<ChildrenDayDegreeDetail> details = childrenDayDegreeDetailService.getByUserIdAndStatus(degreePayDto.getUserId(), 1);
|
|
|
|
|
|
@@ -193,6 +190,11 @@ public class ChildrenDayReserveServiceImpl extends BaseServiceImpl<Integer, Chil
|
|
//检查已经购买的课程(不能重复)
|
|
//检查已经购买的课程(不能重复)
|
|
details = childrenDayDegreeDetailService.getByUserIdAndStatus(degreePayDto.getUserId(), 2);
|
|
details = childrenDayDegreeDetailService.getByUserIdAndStatus(degreePayDto.getUserId(), 2);
|
|
Set<Integer> detailTypes = details.stream().map(ChildrenDayDegreeDetail::getType).collect(Collectors.toSet());
|
|
Set<Integer> detailTypes = details.stream().map(ChildrenDayDegreeDetail::getType).collect(Collectors.toSet());
|
|
|
|
+
|
|
|
|
+ if (degreePayDto.getTheoryLevel() != null && degreePayDto.getTheoryLevel() > 0 && !degreePayDto.getTheoryCourse() && !detailTypes.contains(5)) {
|
|
|
|
+ throw new BizException("参加乐理考试,请选乐理考级专项训练课");
|
|
|
|
+ }
|
|
|
|
+
|
|
if (degreePayDto.getVip1v1() && detailTypes.contains(3)) {
|
|
if (degreePayDto.getVip1v1() && detailTypes.contains(3)) {
|
|
throw new BizException("您已购买过VIP 1V1课程,请勿重复选择");
|
|
throw new BizException("您已购买过VIP 1V1课程,请勿重复选择");
|
|
}
|
|
}
|
|
@@ -214,12 +216,16 @@ public class ChildrenDayReserveServiceImpl extends BaseServiceImpl<Integer, Chil
|
|
if (hasList.size() > 0) {
|
|
if (hasList.size() > 0) {
|
|
throw new BizException("您已报考同声部同等级,请勿重复报考");
|
|
throw new BizException("您已报考同声部同等级,请勿重复报考");
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ if (degreePayDto.getNeedVipCourse() && !detailTypes.contains(3) && !detailTypes.contains(4)) {
|
|
|
|
+ throw new BizException("请选择VIP课程");
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
//检查乐理考级等级是否重复
|
|
//检查乐理考级等级是否重复
|
|
if (degreePayDto.getTheoryLevel() != null && degreePayDto.getTheoryLevel() > 0) {
|
|
if (degreePayDto.getTheoryLevel() != null && degreePayDto.getTheoryLevel() > 0) {
|
|
List<ChildrenDayDegreeDetail> hasList = details.stream().filter(e -> e.getType().equals(2))
|
|
List<ChildrenDayDegreeDetail> hasList = details.stream().filter(e -> e.getType().equals(2))
|
|
- .filter(e -> e.getLevel().equals(degreePayDto.getMusicGradeLevel())).collect(Collectors.toList());
|
|
|
|
|
|
+ .filter(e -> e.getLevel().equals(degreePayDto.getTheoryLevel())).collect(Collectors.toList());
|
|
if (hasList.size() > 0) {
|
|
if (hasList.size() > 0) {
|
|
throw new BizException("您已报考同等级乐理,请勿重复报考");
|
|
throw new BizException("您已报考同等级乐理,请勿重复报考");
|
|
}
|
|
}
|
|
@@ -236,7 +242,7 @@ public class ChildrenDayReserveServiceImpl extends BaseServiceImpl<Integer, Chil
|
|
OrganizationDegreeCourseFee courseFee = organizationDegreeCourseFeeDao.getByOrganId(degreePayDto.getOrganId());
|
|
OrganizationDegreeCourseFee courseFee = organizationDegreeCourseFeeDao.getByOrganId(degreePayDto.getOrganId());
|
|
|
|
|
|
if (courseFee == null) {
|
|
if (courseFee == null) {
|
|
- throw new BizException("刚前分部不参与,谢谢关注");
|
|
|
|
|
|
+ throw new BizException("当前分部不参与,谢谢关注");
|
|
}
|
|
}
|
|
|
|
|
|
List<DegreeLevelFee> degreeLevelFees = degreeLevelFeeDao.getAll();
|
|
List<DegreeLevelFee> degreeLevelFees = degreeLevelFeeDao.getAll();
|
|
@@ -437,4 +443,27 @@ public class ChildrenDayReserveServiceImpl extends BaseServiceImpl<Integer, Chil
|
|
public List<ChildrenStatisticsDetailDto> exportStatisticsDetail(ChildrenReserveQueryInfo queryInfo) {
|
|
public List<ChildrenStatisticsDetailDto> exportStatisticsDetail(ChildrenReserveQueryInfo queryInfo) {
|
|
return childrenDayReserveDao.exportStatisticsDetail(queryInfo);
|
|
return childrenDayReserveDao.exportStatisticsDetail(queryInfo);
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public Boolean sendMsg(List<ChildrenDayMsgDto> msgDtos) {
|
|
|
|
+ List<ChildrenStatisticsDetailDto> reserves = childrenDayReserveDao.getSendMsgList(msgDtos);
|
|
|
|
+
|
|
|
|
+ Map<Integer, String> userMap = new HashMap<>();
|
|
|
|
+ Map<Integer, String> userPhoneMap = new HashMap<>();
|
|
|
|
+
|
|
|
|
+ for (ChildrenStatisticsDetailDto reserve : reserves) {
|
|
|
|
+ userMap.put(reserve.getUserId(), reserve.getUserId().toString());
|
|
|
|
+ userPhoneMap.put(reserve.getUserId(), reserve.getPhone());
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ String baseApiUrl = sysConfigDao.findConfigValue("base_api_url");
|
|
|
|
+ String pushUrl = baseApiUrl + "/#/childrenPayment";
|
|
|
|
+
|
|
|
|
+ sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.CHILDREN_DAY_NOTICE_PUSH,
|
|
|
|
+ userMap, null, 0, "5?" + pushUrl, "STUDENT");
|
|
|
|
+
|
|
|
|
+ sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS, MessageTypeEnum.CHILDREN_DAY_NOTICE_MSG,
|
|
|
|
+ userPhoneMap, null, 0, null, null, pushUrl);
|
|
|
|
+ return true;
|
|
|
|
+ }
|
|
}
|
|
}
|