|
@@ -31,6 +31,7 @@ import com.qunzhixinxi.hnqz.admin.api.entity.SysRole;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.SysUser;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.WmAdRecord;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.WmTaskSubmissionRule;
|
|
|
+import com.qunzhixinxi.hnqz.admin.api.vo.PersonalScoreRecordVO;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.vo.UserVO;
|
|
|
import com.qunzhixinxi.hnqz.admin.config.UpmsConfig;
|
|
|
import com.qunzhixinxi.hnqz.admin.entity.MedicalEquipment;
|
|
@@ -64,9 +65,11 @@ import com.qunzhixinxi.hnqz.admin.entity.vo.SysUserSubVO;
|
|
|
import com.qunzhixinxi.hnqz.admin.entity.vo.WmTaskTypeVO;
|
|
|
import com.qunzhixinxi.hnqz.admin.enums.DelEnum;
|
|
|
import com.qunzhixinxi.hnqz.admin.enums.EnableEnum;
|
|
|
+import com.qunzhixinxi.hnqz.admin.enums.PackageStatusEnum;
|
|
|
import com.qunzhixinxi.hnqz.admin.enums.PackageTypeEnum;
|
|
|
import com.qunzhixinxi.hnqz.admin.enums.SubjectLocation;
|
|
|
import com.qunzhixinxi.hnqz.admin.enums.SubjectTypeEnum;
|
|
|
+import com.qunzhixinxi.hnqz.admin.enums.TaskStatusEnum;
|
|
|
import com.qunzhixinxi.hnqz.admin.enums.UserSignResultEnum;
|
|
|
import com.qunzhixinxi.hnqz.admin.mapper.WmScoreTaskTypeMapper;
|
|
|
import com.qunzhixinxi.hnqz.admin.service.MedicalEquipmentService;
|
|
@@ -4379,5 +4382,75 @@ public class ApiController {
|
|
|
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 我的积分-积分记录列表
|
|
|
+ *
|
|
|
+ * @param page 分页参数
|
|
|
+ * @param status 状态
|
|
|
+ * @return 分页结果
|
|
|
+ */
|
|
|
+ @GetMapping("/page-accumulative-score")
|
|
|
+ public R<Page<PersonalScoreRecordVO>> pageAccumulativeScore(Page<PersonalScoreRecordVO> page,
|
|
|
+ @RequestParam(value = "status", required = true) PersonalScoreRecordVO.PersonalScoreRecordStatus status) {
|
|
|
+ // 获取当前用户任务领包记录
|
|
|
+ List<WmScorePackageStatus> packageStatuses = wmScorePackageStatusService.list(Wrappers.<WmScorePackageStatus>lambdaQuery()
|
|
|
+ .eq(WmScorePackageStatus::getUserId, SecurityUtils.getUser().getId())
|
|
|
+ .eq(WmScorePackageStatus::getStatus, PackageStatusEnum.APPROVED.val()));
|
|
|
+ if (CollUtil.isEmpty(packageStatuses)) {
|
|
|
+ return R.ok(page);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 查询积分包
|
|
|
+ List<String> ids = packageStatuses.stream().map(WmScorePackageStatus::getPackageId).collect(Collectors.toList());
|
|
|
+ List<WmScorePackage> packages = wmScorePackageService.listByIds(ids);
|
|
|
+ // 转为map key-积分包id,value-积分包名称
|
|
|
+ Map<String, String> packageMap = packages.stream()
|
|
|
+ .filter(pkg -> status.getScorePackageStatus().equals(pkg.getScorePackageStatus()))
|
|
|
+ .collect(Collectors.toMap(WmScorePackage::getId, WmScorePackage::getScorePackageName));
|
|
|
+
|
|
|
+ // 过滤得已结算、待结算积分包id
|
|
|
+ Set<String> packageIds = packages.stream()
|
|
|
+ .filter(pkg -> status.getScorePackageStatus().equals(pkg.getScorePackageStatus()))
|
|
|
+ .map(WmScorePackage::getId)
|
|
|
+ .collect(Collectors.toSet());
|
|
|
+
|
|
|
+ if (CollUtil.isEmpty(packageIds)) {
|
|
|
+ return R.ok(page);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 查询taskType
|
|
|
+ List<WmTaskType> taskTypeList = wmTaskTypeService.list(Wrappers.<WmTaskType>lambdaQuery()
|
|
|
+ .eq(WmTaskType::getTaskTypeLevel, "1")
|
|
|
+ .eq(WmTaskType::getDelFlag, DelEnum.NOT_DEL.val())
|
|
|
+ .eq(WmTaskType::getEnableFlag, EnableEnum.ENABLE.val()));
|
|
|
+ // taskType通过id分组(key为parentId,value为taskTypeId的set)
|
|
|
+ Map<String, String> taskTypeIdMap = taskTypeList.stream()
|
|
|
+ .collect(Collectors.toMap(WmTaskType::getId, WmTaskType::getTaskTypeName));
|
|
|
+
|
|
|
+ // 查询任务
|
|
|
+ Page<WmTask> wmTaskPage = wmTaskService.page(new Page<>(page.getCurrent(), page.getSize()), Wrappers.<WmTask>lambdaQuery()
|
|
|
+ .in(WmTask::getScorePackageId, packageIds)
|
|
|
+ .eq(WmTask::getTaskStatus, TaskStatusEnum.APPROVED.val())
|
|
|
+ .eq(WmTask::getDelFlag, DelEnum.NOT_DEL.val())
|
|
|
+ .eq(WmTask::getEnableFlag, EnableEnum.ENABLE.val()));
|
|
|
+ List<PersonalScoreRecordVO> recordVOS = new ArrayList<>();
|
|
|
+ wmTaskPage.getRecords().forEach(wmTask -> {
|
|
|
+ PersonalScoreRecordVO recordVO = new PersonalScoreRecordVO();
|
|
|
+ recordVO.setScore(wmTask.getScore());
|
|
|
+ recordVO.setTaskTypeId(wmTask.getTaskTypeId());
|
|
|
+ recordVO.setLookintoDate(wmTask.getLookintoDate());
|
|
|
+ recordVO.setScorePackageId(wmTask.getScorePackageId());
|
|
|
+ recordVO.setScorePackageName(packageMap.get(wmTask.getScorePackageId()));
|
|
|
+ recordVO.setTaskTypeName(taskTypeIdMap.get(wmTask.getTaskTypeId()));
|
|
|
+ recordVOS.add(recordVO);
|
|
|
+ });
|
|
|
+
|
|
|
+ page.setRecords(recordVOS);
|
|
|
+ page.setTotal(wmTaskPage.getTotal());
|
|
|
+ page.setPages(wmTaskPage.getPages());
|
|
|
+
|
|
|
+ return R.ok(page);
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
}
|