|
@@ -521,7 +521,9 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
orderGoods.setDept(bo.getOrderBusiness().getDept());
|
|
|
orderGoods.setSource(bo.getOrderBusiness().getSource());
|
|
|
orderGoods.setSchool(bo.getOrderBusiness().getSchool());
|
|
|
-
|
|
|
+ if (StringUtils.isNotBlank(goods.getSevenYear())){
|
|
|
+ orderGoods.setSevenYear(goods.getSevenYear());
|
|
|
+ }
|
|
|
//收货公司信息
|
|
|
orderGoods.setAddress(bo.getOrderStudent().getAddress());
|
|
|
orderGoods.setCompany(bo.getOrderStudent().getCompany());
|
|
@@ -676,6 +678,9 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
if (g.getGoodsReceived().compareTo(g.getGoodsRealPrice()) == 1) {
|
|
|
throw new CustomException("已收费大于成交价", 510);
|
|
|
}
|
|
|
+ if (StringUtils.isNotBlank(goods.getSevenYear())){
|
|
|
+ orderGoods.setSevenYear(goods.getSevenYear());
|
|
|
+ }
|
|
|
//成交价
|
|
|
orderGoods.setGoodsRealPrice(g.getGoodsRealPrice());
|
|
|
orderGoods.setGoodsYear(goods.getYear().toString());
|
|
@@ -1019,6 +1024,9 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
if (g.getGoodsInputData() != null) {
|
|
|
orderGoods.setGoodsInputData(JSON.toJSONString(g.getGoodsInputData()));
|
|
|
}
|
|
|
+ if (StringUtils.isNotBlank(goods.getSevenYear())){
|
|
|
+ orderGoods.setSevenYear(goods.getSevenYear());
|
|
|
+ }
|
|
|
//赋值业务信息
|
|
|
/* orderGoods.setBusinessOwner(bo.getOrderBusiness().getBusinessOwner());
|
|
|
orderGoods.setDept(bo.getOrderBusiness().getDept());
|
|
@@ -1429,6 +1437,9 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
if (g.getGoodsInputData() != null) {
|
|
|
orderGoods.setGoodsInputData(JSON.toJSONString(g.getGoodsInputData()));
|
|
|
}
|
|
|
+ if (StringUtils.isNotBlank(goods.getSevenYear())){
|
|
|
+ orderGoods.setSevenYear(goods.getSevenYear());
|
|
|
+ }
|
|
|
//赋值业务信息
|
|
|
/* orderGoods.setBusinessOwner(bo.getOrderBusiness().getBusinessOwner());
|
|
|
orderGoods.setDept(bo.getOrderBusiness().getDept());
|
|
@@ -1633,6 +1644,9 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
if (g.getGoodsInputData() != null) {
|
|
|
orderGoods.setGoodsInputData(JSON.toJSONString(g.getGoodsInputData()));
|
|
|
}
|
|
|
+ if (StringUtils.isNotBlank(goods.getSevenYear())){
|
|
|
+ orderGoods.setSevenYear(goods.getSevenYear());
|
|
|
+ }
|
|
|
//赋值业务信息
|
|
|
/* orderGoods.setBusinessOwner(bo.getOrderBusiness().getBusinessOwner());
|
|
|
orderGoods.setDept(bo.getOrderBusiness().getDept());
|
|
@@ -2252,6 +2266,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
throw new CustomException("该学员已在此商品有效期内的班级,无法加入新的有效期班级,请查看该学员此商品下的班级");
|
|
|
}*/
|
|
|
OrderGoods orderGoods = iOrderGoodsService.getById(orderGoodsId);
|
|
|
+ String businessFull = iGoodsService.getGoodsBusinessName(goodsId);
|
|
|
//指定班级
|
|
|
if (gradeId != null && gradeId > 0) {
|
|
|
ClassGradeVo classGradeVo = iClassGradeService.queryById(gradeId);
|
|
@@ -2266,18 +2281,25 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
if (gradeGoods == null) {
|
|
|
throw new CustomException("该班级不支持该商品使用");
|
|
|
}
|
|
|
- LambdaQueryWrapper<ClassGradeUser> lqw = new LambdaQueryWrapper<>();
|
|
|
- lqw.eq(ClassGradeUser::getGradeId, gradeId);
|
|
|
- lqw.eq(ClassGradeUser::getStatus, 1);
|
|
|
- int studentNum = iClassGradeUserService.count(lqw);
|
|
|
- //临时锁定的班级学员数量
|
|
|
- LambdaQueryWrapper<ClassGradeUserTemp> lqwLock = new LambdaQueryWrapper<>();
|
|
|
- lqwLock.eq(ClassGradeUserTemp::getGradeId, gradeId);
|
|
|
- lqwLock.eq(ClassGradeUserTemp::getStatus, 1);
|
|
|
- int locakStudentNum = iClassGradeUserTempService.count(lqwLock);
|
|
|
|
|
|
+ int locakStudentNum = 0;
|
|
|
+ if (businessFull.contains("继续教育") && businessFull.contains("施工现场专业人员")){
|
|
|
+ locakStudentNum = baseMapper.getStudeCountByCode(classGradeVo.getSevenCode());
|
|
|
+ }else {
|
|
|
+ LambdaQueryWrapper<ClassGradeUser> lqw = new LambdaQueryWrapper<>();
|
|
|
+ lqw.eq(ClassGradeUser::getGradeId, gradeId);
|
|
|
+ lqw.eq(ClassGradeUser::getStatus, 1);
|
|
|
+ int studentNum = iClassGradeUserService.count(lqw);
|
|
|
+ //临时锁定的班级学员数量
|
|
|
+ LambdaQueryWrapper<ClassGradeUserTemp> lqwLock = new LambdaQueryWrapper<>();
|
|
|
+ lqwLock.eq(ClassGradeUserTemp::getGradeId, gradeId);
|
|
|
+ lqwLock.eq(ClassGradeUserTemp::getStatus, 1);
|
|
|
+ int count = iClassGradeUserTempService.count(lqwLock);
|
|
|
+ locakStudentNum = studentNum+count;
|
|
|
+
|
|
|
+ }
|
|
|
//预留0空位避免超人数
|
|
|
- if ((classGradeVo.getStudentUpper() - studentNum - locakStudentNum) > 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));
|
|
@@ -2299,13 +2321,20 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
List<ClassGradeVo> classGradeVoList = iClassGradeService.queryList(bo);
|
|
|
for (int i = 0; i < classGradeVoList.size(); i++) {
|
|
|
ClassGradeVo classGradeVo = classGradeVoList.get(i);
|
|
|
- //临时锁定的班级学员数量
|
|
|
- LambdaQueryWrapper<ClassGradeUserTemp> lqwLock = new LambdaQueryWrapper<>();
|
|
|
- lqwLock.eq(ClassGradeUserTemp::getGradeId, classGradeVo.getGradeId());
|
|
|
- lqwLock.eq(ClassGradeUserTemp::getStatus, 1);
|
|
|
- int locakStudentNum = iClassGradeUserTempService.count(lqwLock);
|
|
|
+ int locakStudentNum = 0;
|
|
|
+ if (businessFull.contains("继续教育") && businessFull.contains("施工现场专业人员")){
|
|
|
+ locakStudentNum = baseMapper.getStudeCountByCode(classGradeVo.getSevenCode());
|
|
|
+ }else {
|
|
|
+ //临时锁定的班级学员数量
|
|
|
+ LambdaQueryWrapper<ClassGradeUserTemp> lqwLock = new LambdaQueryWrapper<>();
|
|
|
+ lqwLock.eq(ClassGradeUserTemp::getGradeId, classGradeVo.getGradeId());
|
|
|
+ lqwLock.eq(ClassGradeUserTemp::getStatus, 1);
|
|
|
+ int count = iClassGradeUserTempService.count(lqwLock);
|
|
|
+ locakStudentNum = classGradeVo.getStudentNum() + count;
|
|
|
+ }
|
|
|
+
|
|
|
//预留0空位避免超人数
|
|
|
- if ((classGradeVo.getStudentUpper() - classGradeVo.getStudentNum() - locakStudentNum) > 0) {
|
|
|
+ if ((classGradeVo.getStudentUpper() - locakStudentNum) > 0) {
|
|
|
//有空位则进入班级
|
|
|
gradeId = classGradeVo.getGradeId();
|
|
|
//班级还有剩位,直接锁定班级
|
|
@@ -2350,6 +2379,8 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
+ String sevenCode = getSevenCode(goodsId);
|
|
|
+ classGrade.setSevenCode(sevenCode);
|
|
|
}else {
|
|
|
classGrade.setStudentUpper(ClassGrade.INIT_UPPER); //上限300
|
|
|
}
|
|
@@ -2418,6 +2449,32 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
+ private String getSevenCode(Long goodsId) {
|
|
|
+ Goods g = iGoodsService.getById(goodsId);
|
|
|
+ Goods oneGoods = iGoodsService.getOne(new LambdaQueryWrapper<Goods>()
|
|
|
+ .eq(Goods::getEducationTypeId, g.getEducationTypeId())
|
|
|
+ .eq(Goods::getProjectId, g.getProjectId())
|
|
|
+ .eq(Goods::getBusinessId, g.getBusinessId())
|
|
|
+ .eq(ObjectUtils.isNotNull(g.getMajorId()), Goods::getMajorId, g.getMajorId())
|
|
|
+ .eq(Goods::getSubjectIds, g.getSubjectIds())
|
|
|
+ .eq(Goods::getStatus, 1)
|
|
|
+ .eq(Goods::getGoodsStatus,1)
|
|
|
+ .ne(Goods::getGoodsId, goodsId)
|
|
|
+ .last("limit 1"));
|
|
|
+ if (ObjectUtils.isNotNull(oneGoods)){
|
|
|
+ List<ClassGradeGoods> classGradeList = iClassGradeGoodsService
|
|
|
+ .list(new LambdaQueryWrapper<ClassGradeGoods>()
|
|
|
+ .eq(ClassGradeGoods::getGoodsId, oneGoods.getGoodsId()));
|
|
|
+ if (CollectionUtils.isNotEmpty(classGradeList)){
|
|
|
+ ClassGrade classGrade = baseMapper.getSevenGrade(classGradeList.stream().map(ClassGradeGoods::getGradeId).collect(Collectors.toList()));
|
|
|
+ if (ObjectUtils.isNotNull(classGrade)){
|
|
|
+ return classGrade.getSevenCode();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return ServletUtils.getEncoded("SEV");
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public Map<String, String> getActivityGoods(OrderAddBo bo) {
|
|
|
String key = "ORDER-" + "-" + bo.getUserId();
|