Commit 3793be10 by wangxin

消息数量接口增加我的信箱

parent 296d7be4
package com.yizhi.application.dashboard.controller;
package com.yizhi.application.promptStatistics;
import com.yizhi.application.vo.PromptStatisticsVO;
import com.yizhi.core.application.context.ContextHolder;
......@@ -7,6 +6,8 @@ import com.yizhi.core.application.context.RequestContext;
import com.yizhi.research.application.feign.ResearchClient;
import com.yizhi.research.application.vo.BaseModel;
import com.yizhi.research.application.vo.api.PageVo;
import com.yizhi.site.application.feign.api.SystemMailboxClients;
import com.yizhi.site.application.vo.domain.SystemMailboxParamVo;
import com.yizhi.training.application.feign.TrainingProjectClient;
import com.yizhi.training.application.vo.api.TrainingProjectMyParamVo;
import com.yizhi.util.application.domain.Response;
......@@ -30,7 +31,7 @@ import com.baomidou.mybatisplus.plugins.Page;
@Api(tags = "提示统计接口")
@RestController
@RequestMapping("/manage/prompt")
@RequestMapping("/api/prompt")
public class PromptStatisticsController {
private static final Logger LOGGER = LoggerFactory.getLogger(PromptStatisticsController.class);
......@@ -44,33 +45,39 @@ public class PromptStatisticsController {
@Autowired
private ExamApiClient examApiClient;
@Autowired
private SystemMailboxClients systemMailboxClients;
@ApiOperation(value = "获取提示统计信息", notes = "获取总提示数量及各类提示数量统计")
@GetMapping("/statistics")
public Response<PromptStatisticsVO> getPromptStatistics() {
try {
LOGGER.error("获取提示统计信息");
PromptStatisticsVO statistics = new PromptStatisticsVO();
RequestContext context = ContextHolder.get();
// 1. 获取未参与的工作任务数量(调研表biz_type=1,已上架且处于调研期间)
Integer workTaskCount = getUnparticipatedWorkTaskCount(context);
// 1. 获取工作任务数量(调研表biz_type=1,已上架且处于调研期间)
Integer workTaskCount = getWorkTaskCount(context);
statistics.setWorkTaskCount(workTaskCount);
// 2. 获取未参与的主题活动数量(培训项目已上架未结束)
Integer themeActivityCount = getUnparticipatedThemeActivityCount(context);
// 2. 获取主题活动数量(培训项目已上架未结束)
Integer themeActivityCount = getThemeActivityCount(context);
statistics.setThemeActivityCount(themeActivityCount);
// 3. 获取未参与的投票数量(调研表biz_type=2,已上架)
Integer voteCount = getUnparticipatedVoteCount(context);
// 3. 获取我要投票数量(调研表biz_type=2,已上架)
Integer voteCount = getVoteCount(context);
statistics.setVoteCount(voteCount);
// 4. 获取未参与的培训测试数量(考试相关的提示数量)
Integer trainingTestCount = getUnparticipatedTrainingTestCount(context);
// 4. 获取培训测试数量(考试相关的提示数量)
Integer trainingTestCount = getTrainingTestCount(context);
statistics.setTrainingTestCount(trainingTestCount);
// 5. 计算总提示数量
int totalPromptCount = workTaskCount + themeActivityCount + voteCount + trainingTestCount;
// 5. 获取信箱提示数量(未读消息数量)
Integer mailboxCount = getMailboxCount(context);
statistics.setMailboxCount(mailboxCount);
// 6. 计算总提示数量
int totalPromptCount = workTaskCount + themeActivityCount + voteCount + trainingTestCount + mailboxCount;
statistics.setTotalPromptCount(totalPromptCount);
return Response.ok(statistics);
......@@ -81,11 +88,11 @@ public class PromptStatisticsController {
}
/**
* 获取未参与的工作任务数量(调研表biz_type=1,已上架且处于调研期间)
* 获取工作任务数量
* @param context
* @return
*/
private Integer getUnparticipatedWorkTaskCount(RequestContext context) {
private Integer getWorkTaskCount(RequestContext context) {
try {
PageVo pageVo = new PageVo();
pageVo.setAccountId(context.getAccountId());
......@@ -93,14 +100,14 @@ public class PromptStatisticsController {
pageVo.setPageNo(1);
pageVo.setPageSize(1);
pageVo.setBizType(1); // 调研类型
pageVo.setState(2); // 进行中的任务(未完成,未参与)
pageVo.setState(2); // 进行中的任务
BaseModel<PageVo> model = new BaseModel<>();
model.setDate(new Date());
model.setObj(pageVo);
model.setContext(context);
// 获取未参与的调研列表,只取数量
// 获取调研列表,只取数量
Page<ResearchVo> response = researchClient.apiListPage(model);
if (response != null ) {
......@@ -108,17 +115,17 @@ public class PromptStatisticsController {
}
return 0;
} catch (Exception e) {
LOGGER.error("获取未参与的工作任务数量失败", e);
LOGGER.error("获取工作任务数量失败", e);
return 0;
}
}
/**
* 获取未参与的主题活动数量(培训项目已上架未结束)
* 获取主题活动数量
* @param context
* @return
*/
private Integer getUnparticipatedThemeActivityCount(RequestContext context) {
private Integer getThemeActivityCount(RequestContext context) {
try {
TrainingProjectMyParamVo paramVo = new TrainingProjectMyParamVo();
paramVo.setPageNo(1);
......@@ -131,24 +138,24 @@ public class PromptStatisticsController {
model.setDate(new Date());
model.setObj(paramVo);
// 获取未参与的培训项目列表,只取数量
// 获取培训项目列表,只取数量
Page<TrainingProjectListVo> response = trainingProjectClient.apiMyPageList(model);
if (response != null ) {
return response.getTotal();
}
return 0;
} catch (Exception e) {
LOGGER.error("获取未参与的主题活动数量失败", e);
LOGGER.error("获取主题活动数量失败", e);
return 0;
}
}
/**
* 获取未参与的投票数量(调研表biz_type=2,已上架)
* 获取投票数量
* @param context
* @return
*/
private Integer getUnparticipatedVoteCount(RequestContext context) {
private Integer getVoteCount(RequestContext context) {
try {
PageVo pageVo = new PageVo();
pageVo.setAccountId(context.getAccountId());
......@@ -156,31 +163,31 @@ public class PromptStatisticsController {
pageVo.setPageNo(1);
pageVo.setPageSize(1);
pageVo.setBizType(2); // 投票类型
pageVo.setState(2); // 进行中的投票(未完成,未参与)
pageVo.setState(2); // 进行中的投票
BaseModel<PageVo> model = new BaseModel<>();
model.setDate(new Date());
model.setObj(pageVo);
model.setContext(context);
// 获取未参与的投票列表,只取数量
// 获取投票列表,只取数量
Page<ResearchVo> response = researchClient.apiListPage(model);
if (response != null ) {
return response.getTotal();
}
return 0;
} catch (Exception e) {
LOGGER.error("获取未参与的投票数量失败", e);
LOGGER.error("获取投票数量失败", e);
return 0;
}
}
/**
* 获取未参与的培训测试数量(考试相关的提示数量)
* 获取培训测试数量
* @param context
* @return
*/
private Integer getUnparticipatedTrainingTestCount(RequestContext context) {
private Integer getTrainingTestCount(RequestContext context) {
try {
// 使用考试dashboard接口获取考试统计信息
ExamDashboardQueryVO query = new ExamDashboardQueryVO();
......@@ -195,7 +202,26 @@ public class PromptStatisticsController {
// 返回考试数量
return examData != null ? examData.size() : 0;
} catch (Exception e) {
LOGGER.error("获取未参与的培训测试数量失败", e);
LOGGER.error("获取培训测试数量失败", e);
return 0;
}
}
/**
* 获取信箱提示数量(未读消息数量)
* @param context
* @return
*/
private Integer getMailboxCount(RequestContext context) {
try {
// 获取未读消息数量
Page<SystemMailboxParamVo> response = systemMailboxClients.selectMyPage(1,1, 2);
if (response != null ) {
return response.getTotal();
}
return 0;
} catch (Exception e) {
LOGGER.error("获取信箱提示数量失败", e);
return 0;
}
}
......
......@@ -22,4 +22,7 @@ public class PromptStatisticsVO {
@ApiModelProperty(value = "培训测试提示数量")
private Integer trainingTestCount;
@ApiModelProperty(value = "信箱提示数量")
private Integer mailboxCount;
}
\ No newline at end of file
......@@ -6,6 +6,8 @@ import com.yizhi.core.application.context.RequestContext;
import com.yizhi.research.application.feign.ResearchClient;
import com.yizhi.research.application.vo.BaseModel;
import com.yizhi.research.application.vo.api.PageVo;
import com.yizhi.site.application.feign.api.SystemMailboxClients;
import com.yizhi.site.application.vo.domain.SystemMailboxParamVo;
import com.yizhi.training.application.feign.TrainingProjectClient;
import com.yizhi.training.application.vo.api.TrainingProjectMyParamVo;
import com.yizhi.util.application.domain.Response;
......@@ -43,6 +45,9 @@ public class PromptStatisticsController {
@Autowired
private ExamApiClient examApiClient;
@Autowired
private SystemMailboxClients systemMailboxClients;
@ApiOperation(value = "获取提示统计信息", notes = "获取总提示数量及各类提示数量统计")
@GetMapping("/statistics")
public Response<PromptStatisticsVO> getPromptStatistics() {
......@@ -67,8 +72,12 @@ public class PromptStatisticsController {
Integer trainingTestCount = getTrainingTestCount(context);
statistics.setTrainingTestCount(trainingTestCount);
// 5. 计算总提示数量
int totalPromptCount = workTaskCount + themeActivityCount + voteCount + trainingTestCount;
// 5. 获取信箱提示数量(未读消息数量)
Integer mailboxCount = getMailboxCount(context);
statistics.setMailboxCount(mailboxCount);
// 6. 计算总提示数量
int totalPromptCount = workTaskCount + themeActivityCount + voteCount + trainingTestCount + mailboxCount;
statistics.setTotalPromptCount(totalPromptCount);
return Response.ok(statistics);
......@@ -197,4 +206,23 @@ public class PromptStatisticsController {
return 0;
}
}
/**
* 获取信箱提示数量(未读消息数量)
* @param context
* @return
*/
private Integer getMailboxCount(RequestContext context) {
try {
// 获取未读消息数量
Page<SystemMailboxParamVo> response = systemMailboxClients.selectMyPage(1,1, 2);
if (response != null ) {
return response.getTotal();
}
return 0;
} catch (Exception e) {
LOGGER.error("获取信箱提示数量失败", e);
return 0;
}
}
}
\ No newline at end of file
......@@ -22,4 +22,7 @@ public class PromptStatisticsVO {
@ApiModelProperty(value = "培训测试提示数量")
private Integer trainingTestCount;
@ApiModelProperty(value = "信箱提示数量")
private Integer mailboxCount;
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment