|
@@ -77,18 +77,19 @@ public class DegreeRegistrationServiceImpl extends BaseServiceImpl<Integer, Degr
|
|
|
Student student = studentDao.getLocked(degreeRegistration.getUserId());
|
|
|
|
|
|
List<DegreeRegistration> userLevelDegrees = degreeRegistrationDao.getUserLevelDegrees(degreeRegistration.getUserId(), ACTIVITY_TAG);
|
|
|
- long levelNum = userLevelDegrees.stream().filter(d -> Objects.nonNull(d.getSporadicId())).count();
|
|
|
- long theoryLevelNum = userLevelDegrees.stream().filter(d -> Objects.nonNull(d.getTheoryLevel())).count();
|
|
|
+ long endLevelNum = userLevelDegrees.stream().filter(d -> Objects.nonNull(d.getSporadicId())&&d.getStatus().equals(2)).count();
|
|
|
+ long ingLevelNum = userLevelDegrees.stream().filter(d -> Objects.nonNull(d.getSporadicId())&&d.getStatus().equals(1)).count();
|
|
|
+ long endTheoryLevelNum = userLevelDegrees.stream().filter(d -> Objects.nonNull(d.getTheoryLevel())&&d.getStatus().equals(2)).count();
|
|
|
+ long ingTheoryLevelNum = userLevelDegrees.stream().filter(d -> Objects.nonNull(d.getTheoryLevel())&&d.getStatus().equals(1)).count();
|
|
|
|
|
|
- if(Objects.nonNull(degreeRegistration.getSporadicId())&&levelNum>0){
|
|
|
+ if(Objects.nonNull(degreeRegistration.getSporadicId())&&endLevelNum>0){
|
|
|
throw new BizException("您已报考过选择的考级项目");
|
|
|
}
|
|
|
- if(Objects.nonNull(degreeRegistration.getTheoryLevel())&&theoryLevelNum>0){
|
|
|
+ if(Objects.nonNull(degreeRegistration.getTheoryLevel())&&endTheoryLevelNum>0){
|
|
|
throw new BizException("您已报考过选择的考级项目");
|
|
|
}
|
|
|
|
|
|
degreeRegistration.setActivityTag(ACTIVITY_TAG);
|
|
|
- DegreeRegistration degree = degreeRegistrationDao.getWithLevel(degreeRegistration);
|
|
|
|
|
|
Date nowDate = new Date();
|
|
|
|
|
@@ -139,24 +140,26 @@ public class DegreeRegistrationServiceImpl extends BaseServiceImpl<Integer, Degr
|
|
|
}
|
|
|
|
|
|
if(Objects.nonNull(degreeRegistration.getSporadicId())||Objects.nonNull(degreeRegistration.getTheoryLevel())){
|
|
|
- if (degree == null) {
|
|
|
- degreeRegistration.setStatus(1);
|
|
|
- degreeRegistration.setCreateTime(nowDate);
|
|
|
- degreeRegistration.setUpdateTime(nowDate);
|
|
|
- degreeRegistrationDao.insert(degreeRegistration);
|
|
|
- } else if (degree.getStatus().equals(2)) {
|
|
|
- throw new BizException("您已报考过选择的考级项目");
|
|
|
- } else {
|
|
|
- if (!degreeRegistration.getIsRepay() && degree.getStatus().equals(1)) {
|
|
|
- return BaseController.failed(HttpStatus.CONTINUE, "");
|
|
|
+ degreeRegistration.setStatus(1);
|
|
|
+ degreeRegistration.setCreateTime(nowDate);
|
|
|
+ degreeRegistration.setUpdateTime(nowDate);
|
|
|
+ degreeRegistrationDao.insert(degreeRegistration);
|
|
|
+
|
|
|
+ List<DegreeRegistration> updateDegrees = new ArrayList<>();
|
|
|
+ if(ingLevelNum>0||ingTheoryLevelNum>0){
|
|
|
+ for (DegreeRegistration userLevelDegree : userLevelDegrees) {
|
|
|
+ if(Objects.nonNull(userLevelDegree.getSporadicId())&&userLevelDegree.getSporadicId().equals(degreeRegistration.getSporadicId())){
|
|
|
+ userLevelDegree.setStatus(0);
|
|
|
+ updateDegrees.add(userLevelDegree);
|
|
|
+ }
|
|
|
+ if(Objects.nonNull(userLevelDegree.getTheoryLevel())&&userLevelDegree.getTheoryLevel().equals(degreeRegistration.getTheoryLevel())){
|
|
|
+ userLevelDegree.setStatus(0);
|
|
|
+ updateDegrees.add(userLevelDegree);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(!CollectionUtils.isEmpty(updateDegrees)){
|
|
|
+ degreeRegistrationDao.batchUpdate(updateDegrees);
|
|
|
}
|
|
|
- degree.setStatus(0);
|
|
|
- degreeRegistrationDao.update(degree);
|
|
|
-
|
|
|
- degreeRegistration.setStatus(1);
|
|
|
- degreeRegistration.setCreateTime(nowDate);
|
|
|
- degreeRegistration.setUpdateTime(nowDate);
|
|
|
- degreeRegistrationDao.insert(degreeRegistration);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -270,16 +273,6 @@ public class DegreeRegistrationServiceImpl extends BaseServiceImpl<Integer, Degr
|
|
|
studentPaymentOrderService.insert(studentPaymentOrder);
|
|
|
studentPaymentOrder.setVersion(0);
|
|
|
|
|
|
- if (amount.compareTo(BigDecimal.ZERO) == 0) {
|
|
|
- Map<String, String> notifyMap = new HashMap<>();
|
|
|
- notifyMap.put("tradeState", "1");
|
|
|
- notifyMap.put("merOrderNo", studentPaymentOrder.getOrderNo());
|
|
|
- notifyMap.put("channelType", channelType);
|
|
|
- notifyMap.put("orderNo", "");
|
|
|
- studentPaymentOrderService.updateOrder(notifyMap);
|
|
|
- return BaseController.failed(HttpStatus.CREATED, "恭喜您,支付成功!");
|
|
|
- }
|
|
|
-
|
|
|
if(BigDecimal.ZERO.compareTo(additionCoursePrice)<0){
|
|
|
StudentPaymentOrderDetail studentPaymentOrderDetail = new StudentPaymentOrderDetail();
|
|
|
studentPaymentOrderDetail.setType(OrderDetailTypeEnum.DEGREE_REGISTRATION);
|
|
@@ -294,6 +287,16 @@ public class DegreeRegistrationServiceImpl extends BaseServiceImpl<Integer, Degr
|
|
|
studentPaymentOrderDetailDao.insert(studentPaymentOrderDetail);
|
|
|
}
|
|
|
|
|
|
+ if (amount.compareTo(BigDecimal.ZERO) == 0) {
|
|
|
+ Map<String, String> notifyMap = new HashMap<>();
|
|
|
+ notifyMap.put("tradeState", "1");
|
|
|
+ notifyMap.put("merOrderNo", studentPaymentOrder.getOrderNo());
|
|
|
+ notifyMap.put("channelType", channelType);
|
|
|
+ notifyMap.put("orderNo", "");
|
|
|
+ studentPaymentOrderService.updateOrder(notifyMap);
|
|
|
+ return BaseController.failed(HttpStatus.CREATED, "恭喜您,支付成功!");
|
|
|
+ }
|
|
|
+
|
|
|
String baseApiUrl = sysConfigDao.findConfigValue("base_api_url");
|
|
|
|
|
|
String receiver = "kjRegister";
|