|
|
@@ -28,6 +28,7 @@ import com.zhongzheng.modules.base.bo.ConsoleQueryBo;
|
|
|
import com.zhongzheng.modules.base.service.IProfileTpService;
|
|
|
import com.zhongzheng.modules.base.service.IShoppingCartService;
|
|
|
import com.zhongzheng.modules.course.bo.CourseBusinessQueryBo;
|
|
|
+import com.zhongzheng.modules.course.bo.QuestionOpenBo;
|
|
|
import com.zhongzheng.modules.course.domain.*;
|
|
|
import com.zhongzheng.modules.course.service.*;
|
|
|
import com.zhongzheng.modules.course.vo.CourseBusinessVo;
|
|
|
@@ -689,7 +690,10 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
orderGoods.setCreateTime(DateUtils.getNowTime());
|
|
|
orderGoods.setUpdateTime(DateUtils.getNowTime());
|
|
|
orderGoods.setGoodsReceived(g.getGoodsReceived());
|
|
|
-
|
|
|
+ if (ObjectUtils.isNotNull(bo.getSubOrderGoodsId())){
|
|
|
+ //补充考试次数订单商品ID
|
|
|
+ orderGoods.setSubOrderGoodsId(bo.getSubOrderGoodsId());
|
|
|
+ }
|
|
|
//订单标准价格不计算优惠
|
|
|
totalPrice = totalPrice.add(goods.getStandPrice());
|
|
|
//实际应收价格
|
|
|
@@ -2289,8 +2293,10 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
}
|
|
|
|
|
|
int locakStudentNum = 0;
|
|
|
+ Boolean sevenFlag = false;
|
|
|
if (businessFull.contains("继续教育") && businessFull.contains("施工现场专业人员")){
|
|
|
locakStudentNum = baseMapper.getStudeCountByCode(classGradeVo.getSevenCode());
|
|
|
+ sevenFlag = true;
|
|
|
}else {
|
|
|
LambdaQueryWrapper<ClassGradeUser> lqw = new LambdaQueryWrapper<>();
|
|
|
lqw.eq(ClassGradeUser::getGradeId, gradeId);
|
|
|
@@ -2307,8 +2313,9 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
//预留0空位避免超人数
|
|
|
if ((classGradeVo.getStudentUpper() - locakStudentNum) > 0) {
|
|
|
ClassGradeUser gradeUser = iClassGradeUserService.getOne(new LambdaQueryWrapper<ClassGradeUser>().eq(ClassGradeUser::getGradeId, gradeId)
|
|
|
- .eq(ClassGradeUser::getOrderGoodsId,orderGoodsId)
|
|
|
- .eq(ClassGradeUser::getUserId, userId));
|
|
|
+ .eq(sevenFlag,ClassGradeUser::getOrderGoodsId,orderGoodsId)
|
|
|
+ .eq(ClassGradeUser::getUserId, userId)
|
|
|
+ .last("limit 1"));
|
|
|
//不在此班级内
|
|
|
if (Validator.isEmpty(gradeUser)) {
|
|
|
//班级还有剩位,直接锁定班级
|
|
|
@@ -2328,8 +2335,11 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
for (int i = 0; i < classGradeVoList.size(); i++) {
|
|
|
ClassGradeVo classGradeVo = classGradeVoList.get(i);
|
|
|
int locakStudentNum = 0;
|
|
|
- if (businessFull.contains("继续教育") && businessFull.contains("施工现场专业人员")){
|
|
|
+ Boolean sevenFlag = false;
|
|
|
+ if (businessFull.contains("继续教育") && businessFull.contains("施工现场专业人员")
|
|
|
+ && StringUtils.isNotBlank(goods.getSevenYear()) && !Arrays.asList("2021","2022").contains(goods.getSevenYear())){
|
|
|
locakStudentNum = baseMapper.getStudeCountByCode(classGradeVo.getSevenCode());
|
|
|
+ sevenFlag = true;
|
|
|
}else {
|
|
|
//临时锁定的班级学员数量
|
|
|
LambdaQueryWrapper<ClassGradeUserTemp> lqwLock = new LambdaQueryWrapper<>();
|
|
|
@@ -2345,8 +2355,9 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
gradeId = classGradeVo.getGradeId();
|
|
|
//班级还有剩位,直接锁定班级
|
|
|
ClassGradeUser gradeUser = iClassGradeUserService.getOne(new LambdaQueryWrapper<ClassGradeUser>().eq(ClassGradeUser::getGradeId, gradeId)
|
|
|
- .eq(ClassGradeUser::getOrderGoodsId,orderGoodsId)
|
|
|
- .eq(ClassGradeUser::getUserId, userId));
|
|
|
+ .eq(sevenFlag,ClassGradeUser::getOrderGoodsId,orderGoodsId)
|
|
|
+ .eq(ClassGradeUser::getUserId, userId)
|
|
|
+ .last("limit 1"));
|
|
|
//不在此班级内
|
|
|
if (Validator.isEmpty(gradeUser)) {
|
|
|
if (iClassGradeService.checkEjjjPeopleNumLimit(businessId, gradeId)) { //判断全系统平台二建班级人数是否超300
|
|
|
@@ -2387,9 +2398,9 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
+ String sevenCode = getSevenCode(goodsId);
|
|
|
+ classGrade.setSevenCode(sevenCode);
|
|
|
}
|
|
|
- String sevenCode = getSevenCode(goodsId);
|
|
|
- classGrade.setSevenCode(sevenCode);
|
|
|
}else {
|
|
|
classGrade.setStudentUpper(ClassGrade.INIT_UPPER); //上限300
|
|
|
}
|
|
|
@@ -2418,7 +2429,8 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
// classGrade.setClassName(goodsName + gradeCode);
|
|
|
//七大员继教同一个专业下同一个班级名称
|
|
|
Boolean classFlag = true;
|
|
|
- if (businessFull.contains("继续教育") && businessFull.contains("施工现场专业人员")){
|
|
|
+ if (businessFull.contains("继续教育") && businessFull.contains("施工现场专业人员")
|
|
|
+ && StringUtils.isNotBlank(goods.getSevenYear()) && !Arrays.asList("2021","2022").contains(goods.getSevenYear())){
|
|
|
List<ClassGrade> gradeName = baseMapper.getClassNameByGoods(goods.getEducationTypeId(),goods.getProjectId().longValue(),goods.getBusinessId(),goods.getMajorId());
|
|
|
if (CollectionUtils.isNotEmpty(gradeName)){
|
|
|
ClassGrade grade = gradeName.stream().filter(x -> ObjectUtils.isNotNull(x.getClassStatus()) && x.getClassStatus() == 1).findFirst().orElse(null);
|