|
@@ -2,13 +2,11 @@ package cn.com.ty.lift.system.user.service.impl;
|
|
|
|
|
|
import cn.com.ty.lift.common.constants.ApiConstants;
|
|
|
import cn.com.ty.lift.common.utils.ProjectUtils;
|
|
|
+import cn.com.ty.lift.system.constants.CommonConstants;
|
|
|
import cn.com.ty.lift.system.user.dao.entity.MtCompanyUser;
|
|
|
import cn.com.ty.lift.system.user.dao.entity.UserApplication;
|
|
|
import cn.com.ty.lift.system.user.dao.entity.UserRole;
|
|
|
-import cn.com.ty.lift.system.user.dao.entity.model.ProjectUser;
|
|
|
-import cn.com.ty.lift.system.user.dao.entity.model.UserApplyRequest;
|
|
|
-import cn.com.ty.lift.system.user.dao.entity.model.UserApplyResponse;
|
|
|
-import cn.com.ty.lift.system.user.dao.entity.model.UserResponse;
|
|
|
+import cn.com.ty.lift.system.user.dao.entity.model.*;
|
|
|
import cn.com.ty.lift.system.user.dao.mapper.UserApplicationMapper;
|
|
|
import cn.com.ty.lift.system.user.service.*;
|
|
|
import cn.com.ty.lift.system.utils.CommonUtil;
|
|
@@ -23,10 +21,7 @@ import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import java.time.LocalDateTime;
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.Date;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
+import java.util.*;
|
|
|
|
|
|
/**
|
|
|
* <p>
|
|
@@ -107,6 +102,10 @@ public class UserApplicationService extends ServiceImpl<UserApplicationMapper, U
|
|
|
UserApplication userApplication = this.getById(userApplyRequest.getId());
|
|
|
//设置申请状态为审核不通过
|
|
|
userApplication.setStatus(ApiConstants.ApplicationConstants.APPLY_FAIL);
|
|
|
+ //设置处理时间
|
|
|
+ userApplication.setDealDate(LocalDateTime.now());
|
|
|
+ //处理人id
|
|
|
+ userApplication.setDealUserId(userApplication.getUserId());
|
|
|
this.updateById(userApplication);
|
|
|
return RestResponse.success(null, ApiConstants.RESULT_SUCCESS, "操作成功");
|
|
|
}
|
|
@@ -119,7 +118,16 @@ public class UserApplicationService extends ServiceImpl<UserApplicationMapper, U
|
|
|
if (StringUtils.isNotBlank(userApplyRequest.getQueryCondition())) {
|
|
|
userQueryIdList = userService.getIdListByQueryCondition(userApplyRequest.getQueryCondition());
|
|
|
}
|
|
|
+ //获取所有状态的申请信息集合
|
|
|
+ List<UserApplication> userApplicationListResult = this.list(new QueryWrapper<UserApplication>()
|
|
|
+ .select("status")
|
|
|
+ .eq("mt_company_id", userApplyRequest.getCompanyId())
|
|
|
+ );
|
|
|
+ //封装不同状态的条数信息
|
|
|
+ ApplyPageResponse applyPageResponse = new ApplyPageResponse();
|
|
|
+ packUserApplicationStatusCount(userApplicationListResult, applyPageResponse);
|
|
|
|
|
|
+ //封装具体信息
|
|
|
List<UserApplyResponse> userApplyResponseList = new ArrayList<>();
|
|
|
IPage userApplicationPage = new Page(userApplyRequest.getPageNum(), userApplyRequest.getPageSize());
|
|
|
userApplicationPage = this.page(userApplicationPage, new QueryWrapper<UserApplication>()
|
|
@@ -155,7 +163,44 @@ public class UserApplicationService extends ServiceImpl<UserApplicationMapper, U
|
|
|
}
|
|
|
}
|
|
|
userApplicationPage.setRecords(userApplyResponseList);
|
|
|
- return RestResponse.success(userApplicationPage, ApiConstants.RESULT_SUCCESS, "获取申请信息成功");
|
|
|
+ //设置分页数据
|
|
|
+ applyPageResponse.setPage(userApplicationPage);
|
|
|
+ return RestResponse.success(applyPageResponse, ApiConstants.RESULT_SUCCESS, "获取申请信息成功");
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Map<Integer, Long> getApplyStatusToCountMap(List userApplicationResult, int[] applyStatusArray, String statusField) {
|
|
|
+ Map<Integer, Long> statusToCount = new HashMap<>();
|
|
|
+ Map<Integer, List<UserApplication>> statusToUserApplication = ProjectUtils.attrToListMap(userApplicationResult,
|
|
|
+ statusField, null);
|
|
|
+ //获取不同状态对应数量
|
|
|
+ for (int status : applyStatusArray) {
|
|
|
+ List<UserApplication> userApplicationList = statusToUserApplication.get(status);
|
|
|
+ Long count = 0L;
|
|
|
+ if (userApplicationList != null) {
|
|
|
+ count = Long.valueOf(userApplicationList.size());
|
|
|
+ }
|
|
|
+ statusToCount.put(status, count);
|
|
|
+ }
|
|
|
+ return statusToCount;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @param
|
|
|
+ * @return
|
|
|
+ * @description 封装用户申请信息状态条数
|
|
|
+ * @date 2020-01-06 23:12
|
|
|
+ */
|
|
|
+ private void packUserApplicationStatusCount(List<UserApplication> userApplicationListResult, ApplyPageResponse applyPageResponse) {
|
|
|
+ //获取状态对应的数量
|
|
|
+ Map<Integer, Long> statusToApplyCount = this.getApplyStatusToCountMap(userApplicationListResult,
|
|
|
+ CommonConstants.USER_APPLICATION_STATUS, "status");
|
|
|
+ //待审核
|
|
|
+ applyPageResponse.setApplyWaitCount(statusToApplyCount.get(ApiConstants.ApplicationConstants.APPLY_WAIT));
|
|
|
+ //审核通过
|
|
|
+ applyPageResponse.setApplyPassCount(statusToApplyCount.get(ApiConstants.ApplicationConstants.APPLY_PASS));
|
|
|
+ //审核未通过
|
|
|
+ applyPageResponse.setApplyFailCount(statusToApplyCount.get(ApiConstants.ApplicationConstants.APPLY_FAIL));
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -250,4 +295,5 @@ public class UserApplicationService extends ServiceImpl<UserApplicationMapper, U
|
|
|
//保存项目信息
|
|
|
projectService.saveProjectUser(projectUser);
|
|
|
}
|
|
|
+
|
|
|
}
|