|
@@ -7,6 +7,7 @@ import cn.hutool.core.util.IdUtil;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
|
|
import com.zhongzheng.common.config.RuoYiConfig;
|
|
@@ -1616,12 +1617,18 @@ public class ClassGradeUserServiceImpl extends ServiceImpl<ClassGradeUserMapper,
|
|
|
@Override
|
|
|
public List<StudyAccountStatusVo> listStudyAccountStatus(StudyAccountStatusQueryBo bo) {
|
|
|
LambdaQueryWrapper<Goods> lqw = Wrappers.lambdaQuery();
|
|
|
- lqw.eq(bo.getEducationTypeId() != null, Goods::getEducationTypeId, bo.getEducationTypeId());
|
|
|
- lqw.groupBy(Goods::getBusinessId);
|
|
|
+ lqw.eq(bo.getEducationTypeId() != null, Goods::getEducationTypeId, bo.getEducationTypeId())
|
|
|
+ .eq(Goods::getStatus, "1");
|
|
|
List<Goods> goodsList = iGoodsService.list(lqw);
|
|
|
+ Set<Long> set = new HashSet<Long>();
|
|
|
+ //去重
|
|
|
+ if (!CollectionUtils.isEmpty(goodsList)) {
|
|
|
+ goodsList.stream().forEach(goods->{
|
|
|
+ set.add(goods.getBusinessId());
|
|
|
+ });
|
|
|
+ }
|
|
|
|
|
|
List<StudyAccountStatusVo> list = new ArrayList<>();
|
|
|
- StudyAccountStatusVo vo = new StudyAccountStatusVo();
|
|
|
int notConfiguredNum = 0;
|
|
|
int interfaceNum = 0;
|
|
|
int noInterfaceNum = 0;
|
|
@@ -1630,18 +1637,19 @@ public class ClassGradeUserServiceImpl extends ServiceImpl<ClassGradeUserMapper,
|
|
|
int failNum = 0;
|
|
|
int finishNum = 0;
|
|
|
int noFinishNum = 0;
|
|
|
- if (!CollectionUtils.isEmpty(goodsList)) {
|
|
|
- for (Goods goods : goodsList) {
|
|
|
- List<ClassGradeVo> classGradeList = iClassGradeService.selectByBusinessId(goods.getBusinessId());
|
|
|
- vo.setBusinessId(goods.getBusinessId());
|
|
|
- CourseBusinessVo courseBusinessVo = iCourseBusinessService.queryById(goods.getBusinessId());
|
|
|
+ if (!CollectionUtils.isEmpty(set)) {
|
|
|
+ for (Long businessId : set) {
|
|
|
+ StudyAccountStatusVo vo = new StudyAccountStatusVo();
|
|
|
+ List<ClassGradeVo> classGradeList = iClassGradeService.selectByBusinessId(businessId);
|
|
|
+ vo.setBusinessId(businessId);
|
|
|
+ CourseBusinessVo courseBusinessVo = iCourseBusinessService.queryById(businessId);
|
|
|
vo.setBusinessName(courseBusinessVo.getBusinessName());
|
|
|
- if (goods.getStatus() == 1) {
|
|
|
- for (ClassGradeVo classGrade : classGradeList) {
|
|
|
- LambdaQueryWrapper<ClassGradeUser> lq = Wrappers.lambdaQuery();
|
|
|
- lq.eq(ClassGradeUser::getGradeId, classGrade.getGradeId());
|
|
|
- List<ClassGradeUser> classGradeUsers = iClassGradeUserService.list(lq);
|
|
|
- for (ClassGradeUser classGradeUser : classGradeUsers) {
|
|
|
+ for (ClassGradeVo classGrade : classGradeList) {
|
|
|
+ LambdaQueryWrapper<ClassGradeUser> lq = Wrappers.lambdaQuery();
|
|
|
+ lq.eq(ClassGradeUser::getGradeId, classGrade.getGradeId());
|
|
|
+ List<ClassGradeUser> classGradeUsers = iClassGradeUserService.list(lq);
|
|
|
+ for (ClassGradeUser classGradeUser : classGradeUsers) {
|
|
|
+ if (Validator.isNotEmpty(classGradeUser.getLearnStatus())) {
|
|
|
//统计账号未开通数量
|
|
|
if (classGradeUser.getLearnStatus() == 0) {
|
|
|
noOpenNum++;
|
|
@@ -1654,31 +1662,33 @@ public class ClassGradeUserServiceImpl extends ServiceImpl<ClassGradeUserMapper,
|
|
|
if (classGradeUser.getLearnStatus() == 2) {
|
|
|
failNum++;
|
|
|
}
|
|
|
+ }
|
|
|
+ if (Validator.isNotEmpty(classGradeUser.getFinishStatus())) {
|
|
|
//统计已学完数量
|
|
|
if (classGradeUser.getFinishStatus() == 0) {
|
|
|
finishNum++;
|
|
|
}
|
|
|
+ //统计未学完数量
|
|
|
if (classGradeUser.getFinishStatus() == 1) {
|
|
|
noFinishNum++;
|
|
|
}
|
|
|
- //统计未学完数量
|
|
|
- }
|
|
|
- //统计未配置班级数量
|
|
|
- if (Validator.isEmpty(classGrade.getInterfaceAccountId()) && Validator.isEmpty(classGrade.getNoInterfaceAccountId())) {
|
|
|
- notConfiguredNum++;
|
|
|
- }
|
|
|
- //统计有接口班级数量
|
|
|
- if (Validator.isNotEmpty(classGrade.getInterfaceAccountId())) {
|
|
|
- interfaceNum++;
|
|
|
- }
|
|
|
- //统计无接口班级数量
|
|
|
- if (Validator.isNotEmpty(classGrade.getNoInterfaceAccountId())) {
|
|
|
- noInterfaceNum++;
|
|
|
}
|
|
|
}
|
|
|
- //统计所有班级人数
|
|
|
- vo.setUserNum(classGradeList.size());
|
|
|
+ //统计未配置班级数量
|
|
|
+ if (Validator.isEmpty(classGrade.getInterfaceAccountId()) && Validator.isEmpty(classGrade.getNoInterfaceAccountId())) {
|
|
|
+ notConfiguredNum++;
|
|
|
+ }
|
|
|
+ //统计有接口班级数量
|
|
|
+ if (Validator.isNotEmpty(classGrade.getInterfaceAccountId())) {
|
|
|
+ interfaceNum++;
|
|
|
+ }
|
|
|
+ //统计无接口班级数量
|
|
|
+ if (Validator.isNotEmpty(classGrade.getNoInterfaceAccountId())) {
|
|
|
+ noInterfaceNum++;
|
|
|
+ }
|
|
|
}
|
|
|
+ //统计所有班级人数
|
|
|
+ vo.setUserNum(classGradeList.size());
|
|
|
vo.setNotConfiguredNum(notConfiguredNum);
|
|
|
vo.setInterfaceNum(interfaceNum);
|
|
|
vo.setNoInterfaceNum(noInterfaceNum);
|