|
@@ -9,6 +9,7 @@ import com.ym.mec.biz.dal.dto.*;
|
|
|
import com.ym.mec.biz.dal.entity.*;
|
|
|
import com.ym.mec.biz.dal.enums.*;
|
|
|
import com.ym.mec.biz.dal.page.ActivityStudentQueryInfo;
|
|
|
+import com.ym.mec.biz.dal.page.ActivityUserMapperDetailQueryInfo;
|
|
|
import com.ym.mec.biz.dal.page.ActivityUserQueryInfo;
|
|
|
import com.ym.mec.biz.service.*;
|
|
|
import com.ym.mec.common.controller.BaseController;
|
|
@@ -1157,4 +1158,45 @@ public class ActivityUserMapperServiceImpl extends BaseServiceImpl<Integer, Acti
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public PageInfo<ActivityUserMapperDetailDto> queryDetailPage(ActivityUserMapperDetailQueryInfo queryInfo) {
|
|
|
+ PageInfo<ActivityUserMapperDetailDto> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
|
|
|
+ Map<String, Object> params = new HashMap<String, Object>();
|
|
|
+ MapUtil.populateMap(params, queryInfo);
|
|
|
+
|
|
|
+ List<ActivityUserMapperDetailDto> dataList = null;
|
|
|
+ int count = activityUserMapperDao.countDetailPage(params);
|
|
|
+ if (count > 0) {
|
|
|
+ pageInfo.setTotal(count);
|
|
|
+ params.put("offset", pageInfo.getOffset());
|
|
|
+ dataList = activityUserMapperDao.queryDetailPage(params);
|
|
|
+ List<Integer> userIds = dataList.stream().map(e -> e.getUserId()).distinct().collect(Collectors.toList());
|
|
|
+ List<Integer> teacherIds = dataList.stream().filter(e -> e.getTeacherId() != null).map(e -> e.getTeacherId()).distinct().collect(Collectors.toList());
|
|
|
+ Map<Integer,String> teacherName = new HashMap<>();
|
|
|
+ if (CollectionUtils.isNotEmpty(teacherIds)){
|
|
|
+ teacherName = MapUtil.convertMybatisMap(teacherDao.queryNameByIdList(teacherIds));
|
|
|
+ }
|
|
|
+ Map<Integer,String> studentName = new HashMap<>();
|
|
|
+ if (CollectionUtils.isNotEmpty(userIds)){
|
|
|
+ studentName = MapUtil.convertMybatisMap(teacherDao.queryUserNameByIdList(userIds));
|
|
|
+ }
|
|
|
+ List<Integer> organIds = dataList.stream().map(e -> e.getOrganId()).distinct().collect(Collectors.toList());
|
|
|
+ Map<Integer, String> organNameMap = this.getMap("organization", "id_", "name_", organIds, queryInfo.getTenantId(), Integer.class, String.class);
|
|
|
+ List<ConditionDto> categorys = vipGroupCategoryService.findConditionCategorys();
|
|
|
+ Map<Integer, String> categoryName = categorys.stream().collect(Collectors.toMap(e->e.getId().intValue(), ConditionDto::getName, (key1, key2) -> key2));
|
|
|
+ for (ActivityUserMapperDetailDto row : dataList) {
|
|
|
+ row.setCategoryName(categoryName.get(row.getCategoryId()));
|
|
|
+ row.setGiveCategoryName(categoryName.get(row.getGiveCategoryId()));
|
|
|
+ row.setTeacherName(teacherName.get(row.getTeacherId()));
|
|
|
+ row.setUsername(studentName.get(row.getUserId()));
|
|
|
+ row.setOrganName(organNameMap.get(row.getOrganId()));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (count == 0) {
|
|
|
+ dataList = new ArrayList<>();
|
|
|
+ }
|
|
|
+ pageInfo.setRows(dataList);
|
|
|
+ return pageInfo;
|
|
|
+ }
|
|
|
+
|
|
|
}
|