Browse Source

首页数据统计接口 init

dev
liuchuang 6 years ago
parent
commit
e9ae1bd2c1
  1. 36
      esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/constant/WorkAppMenuConstant.java
  2. 22
      esua-epdc/epdc-module/epdc-api/epdc-api-client/src/main/java/com/elink/esua/epdc/dto/form/WorkAppMenuStatisticsFormDTO.java
  3. 27
      esua-epdc/epdc-module/epdc-api/epdc-api-client/src/main/java/com/elink/esua/epdc/dto/result/WorkAppMenuStatisticsResultDTO.java
  4. 16
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiWorkUserController.java
  5. 15
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/WorkUserService.java
  6. 91
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/WorkUserServiceImpl.java

36
esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/constant/WorkAppMenuConstant.java

@ -0,0 +1,36 @@
package com.elink.esua.epdc.constant;
/**
*
* 工作端-首页菜单常量
*
* @Authorliuchuang
* @Date2019/11/28 19:04
*/
public interface WorkAppMenuConstant {
/**
* 议题管理-待回应
*/
String WORK_APP_MENU_CODE_ISSUE_WAITING_RESPOND = "10001";
/**
* 议题管理-待处理
*/
String WORK_APP_MENU_CODE_ISSUE_WAITING_HANDLE = "10002";
/**
* 项目管理-待处理
*/
String WORK_APP_MENU_CODE_ITEM_WAITING_HANDLE = "10003";
/**
* 用户管理-待认证居民
*/
String WORK_APP_MENU_CODE_USER_RESIDENTS_TO_BE_CERTIFIED = "10004";
/**
* 消息
*/
String WORK_APP_MENU_CODE_NOTICE = "10005";
}

22
esua-epdc/epdc-module/epdc-api/epdc-api-client/src/main/java/com/elink/esua/epdc/dto/form/WorkAppMenuStatisticsFormDTO.java

@ -0,0 +1,22 @@
package com.elink.esua.epdc.dto.form;
import lombok.Data;
import java.io.Serializable;
/**
*
* 工作端小程序首页菜单消息数量Form DTO
*
* @Authorliuchuang
* @Date2019/11/29 9:14
*/
@Data
public class WorkAppMenuStatisticsFormDTO implements Serializable {
private static final long serialVersionUID = 4881526875170357671L;
/**
* 部门ID
*/
private Long deptId;
}

27
esua-epdc/epdc-module/epdc-api/epdc-api-client/src/main/java/com/elink/esua/epdc/dto/result/WorkAppMenuStatisticsResultDTO.java

@ -0,0 +1,27 @@
package com.elink.esua.epdc.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
*
* 工作端小程序首页菜单消息数量
*
* @Authorliuchuang
* @Date2019/11/28 19:53
*/
@Data
public class WorkAppMenuStatisticsResultDTO implements Serializable {
private static final long serialVersionUID = -8971266834441830462L;
/**
* 菜单编码
*/
private String menuCode;
/**
* 菜单消息数量
*/
private Integer menuNum;
}

16
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiWorkUserController.java

@ -7,6 +7,8 @@ import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils;
import com.elink.esua.epdc.dto.epdc.form.*;
import com.elink.esua.epdc.dto.epdc.result.*;
import com.elink.esua.epdc.dto.form.EpdcWorkAppUserMaTokenFormDTO;
import com.elink.esua.epdc.dto.form.WorkAppMenuStatisticsFormDTO;
import com.elink.esua.epdc.dto.result.WorkAppMenuStatisticsResultDTO;
import com.elink.esua.epdc.service.WorkUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@ -167,4 +169,18 @@ public class ApiWorkUserController {
ValidatorUtils.validateEntity(formDto);
return workUserService.removeGrid(formDto);
}
/**
*
* 首页菜单消息数量显示
*
* @params []
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List<com.elink.esua.epdc.dto.result.WorkAppMenuStatisticsResultDTO>>
* @author liuchuang
* @since 2019/11/28 19:56
*/
@GetMapping("indexStatistics")
public Result<List<WorkAppMenuStatisticsResultDTO>> indexStatistics(WorkAppMenuStatisticsFormDTO formDto) {
return workUserService.indexStatistics(formDto);
}
}

15
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/WorkUserService.java

@ -5,11 +5,11 @@ import com.elink.esua.epdc.common.token.dto.WorkUserLoginDTO;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.epdc.form.*;
import com.elink.esua.epdc.dto.epdc.result.*;
import com.elink.esua.epdc.common.token.dto.TokenDto;
import com.elink.esua.epdc.dto.form.EpdcWorkAppUserMaTokenFormDTO;
import com.elink.esua.epdc.dto.form.WorkAppMenuStatisticsFormDTO;
import com.elink.esua.epdc.dto.result.WorkAppMenuStatisticsResultDTO;
import java.util.List;
import java.util.Map;
/**
* 工作端用户登录用户管理 相关业务接口
@ -119,4 +119,15 @@ public interface WorkUserService {
* @Date 2019/11/22 14:17
**/
Result removeGrid(EpdcAppRemoveGridFormDTO formDto);
/**
*
* 首页菜单消息数量显示
*
* @params []
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List<com.elink.esua.epdc.dto.result.WorkAppMenuStatisticsResultDTO>>
* @author liuchuang
* @since 2019/11/28 20:03
*/
Result<List<WorkAppMenuStatisticsResultDTO>> indexStatistics(WorkAppMenuStatisticsFormDTO formDto);
}

91
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/WorkUserServiceImpl.java

@ -10,14 +10,22 @@ import com.elink.esua.epdc.commons.tools.security.user.SecurityUser;
import com.elink.esua.epdc.commons.tools.security.user.UserDetail;
import com.elink.esua.epdc.commons.tools.utils.ConvertUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.constant.WorkAppMenuConstant;
import com.elink.esua.epdc.dto.SysUserDTO;
import com.elink.esua.epdc.dto.epdc.form.*;
import com.elink.esua.epdc.dto.epdc.result.*;
import com.elink.esua.epdc.common.token.dto.TokenDto;
import com.elink.esua.epdc.dto.form.EpdcWorkAppUserMaTokenFormDTO;
import com.elink.esua.epdc.dto.form.WorkAppMenuStatisticsFormDTO;
import com.elink.esua.epdc.dto.issue.form.IssueStateStatisticsFormDTO;
import com.elink.esua.epdc.dto.issue.result.IssueStateStatisticsResultDTO;
import com.elink.esua.epdc.dto.item.form.ItemStatisticsFormDTO;
import com.elink.esua.epdc.dto.item.result.ItemStatisticsResultDTO;
import com.elink.esua.epdc.dto.result.WorkAppMenuStatisticsResultDTO;
import com.elink.esua.epdc.feign.AdminFeignClient;
import com.elink.esua.epdc.feign.ResourceFeignClient;
import com.elink.esua.epdc.feign.UserFeignClient;
import com.elink.esua.epdc.service.WorkIssueService;
import com.elink.esua.epdc.service.WorkItemService;
import com.elink.esua.epdc.service.WorkUserService;
import com.elink.esua.epdc.utils.WxMaServiceUtils;
import me.chanjar.weixin.common.error.WxErrorException;
@ -25,6 +33,7 @@ import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
/**
@ -47,6 +56,12 @@ public class WorkUserServiceImpl implements WorkUserService {
@Autowired
private WxMaServiceUtils wxMaServiceUtils;
@Autowired
private WorkIssueService workIssueService;
@Autowired
private WorkItemService workItemService;
@Override
public Result<WorkUserAuthorizationDTO> getMaToken(EpdcWorkAppUserMaTokenFormDTO formDto) {
// 获取openId
@ -202,4 +217,78 @@ public class WorkUserServiceImpl implements WorkUserService {
public Result removeGrid(EpdcAppRemoveGridFormDTO formDto) {
return userFeignClient.removeGrid(formDto);
}
@Override
public Result<List<WorkAppMenuStatisticsResultDTO>> indexStatistics(WorkAppMenuStatisticsFormDTO formDto) {
if (null == SecurityUser.getUser()) {
return new Result<List<WorkAppMenuStatisticsResultDTO>>().error("获取当前登录用户信息失败");
}
// 获取当前用户菜单信息
Result<List<EpdcAppIndexPanelResultDTO>> adminResult = adminFeignClient.indexPanel(SecurityUser.getUser().getMobile());
if (!adminResult.success()) {
return new Result<List<WorkAppMenuStatisticsResultDTO>>().error(adminResult.getMsg());
}
// 议题管理菜单消息数量统计
IssueStateStatisticsFormDTO issueFormDto = new IssueStateStatisticsFormDTO();
issueFormDto.setDeptId(formDto.getDeptId());
Result<IssueStateStatisticsResultDTO> issueResult = workIssueService.stateStatistics(issueFormDto);
// 项目管理菜单消息数量统计
ItemStatisticsFormDTO itemFormDto = new ItemStatisticsFormDTO();
itemFormDto.setDeptId(formDto.getDeptId());
Result<ItemStatisticsResultDTO> itemResult = workItemService.getItemStatistics(itemFormDto);
// 用户管理菜单消息数量统计
EpdcUnauthorizedAmountFromDTO unauthorizedFromDto = new EpdcUnauthorizedAmountFromDTO();
unauthorizedFromDto.setGridId(formDto.getDeptId());
Result<Integer> unauthorizedResult = this.getUnauthorizedAmount(unauthorizedFromDto);
// 组装返回数据
List<WorkAppMenuStatisticsResultDTO> resultDtoList = new ArrayList<>();
for (EpdcAppIndexPanelResultDTO indexPanelDto:
adminResult.getData()) {
for (EpdcAppChildNavResultDTO childDto:
indexPanelDto.getChildNav()) {
WorkAppMenuStatisticsResultDTO resultDto = null;
switch (childDto.getNavCode()) {
case WorkAppMenuConstant.WORK_APP_MENU_CODE_ISSUE_WAITING_RESPOND:
resultDto = this.packageMenuData(childDto.getNavCode(), issueResult.getData().getPendingResponseNum());
break;
case WorkAppMenuConstant.WORK_APP_MENU_CODE_ISSUE_WAITING_HANDLE:
resultDto = this.packageMenuData(childDto.getNavCode(), issueResult.getData().getPendingHandleNum());
break;
case WorkAppMenuConstant.WORK_APP_MENU_CODE_ITEM_WAITING_HANDLE:
resultDto = this.packageMenuData(childDto.getNavCode(), itemResult.getData().getPendingHandleNum());
break;
case WorkAppMenuConstant.WORK_APP_MENU_CODE_USER_RESIDENTS_TO_BE_CERTIFIED:
resultDto = this.packageMenuData(childDto.getNavCode(), unauthorizedResult.getData());
break;
case WorkAppMenuConstant.WORK_APP_MENU_CODE_NOTICE:
resultDto = this.packageMenuData(childDto.getNavCode(), itemResult.getData().getNoticeNum());
break;
default:
break;
}
if (null != resultDto) {
resultDtoList.add(resultDto);
}
}
}
return new Result<List<WorkAppMenuStatisticsResultDTO>>().ok(resultDtoList);
}
/**
*
* 组装菜单数据
*
* @params [menuCode, menuNum]
* @return com.elink.esua.epdc.dto.result.WorkAppMenuStatisticsResultDTO
* @author liuchuang
* @since 2019/11/29 9:58
*/
private WorkAppMenuStatisticsResultDTO packageMenuData(String menuCode, Integer menuNum) {
WorkAppMenuStatisticsResultDTO resultDto = new WorkAppMenuStatisticsResultDTO();
resultDto.setMenuCode(menuCode);
resultDto.setMenuNum(menuNum);
return resultDto;
}
}

Loading…
Cancel
Save