mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/per-boe/java-servers.git
synced 2025-12-10 03:16:48 +08:00
Merge branch 'master' of https://codeup.aliyun.com/648097ddb583fece2f059e59/boe/java-servers
This commit is contained in:
@@ -11,7 +11,6 @@ import com.xboe.common.PageList;
|
||||
import com.xboe.common.Pagination;
|
||||
import com.xboe.core.JsonResponse;
|
||||
import com.xboe.core.api.ApiBaseController;
|
||||
import com.xboe.enums.CasesPushStatusEnum;
|
||||
import com.xboe.enums.CasesRecommendLaunchTypeEnum;
|
||||
import com.xboe.module.boecase.entity.CasesRecommend;
|
||||
import com.xboe.module.boecase.entity.CasesRecommendLaunchImport;
|
||||
@@ -30,7 +29,6 @@ import org.springframework.web.multipart.MultipartFile;
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.ServletOutputStream;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.util.ArrayList;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@@ -63,10 +61,18 @@ public class CasesRecommendApi extends ApiBaseController {
|
||||
@PostMapping("/page")
|
||||
public JsonResponse<PageList<CasesRecommend>> page(Pagination pager, CasesRecommendVo casesRecommendVo) {
|
||||
PageList<CasesRecommend> page = iCasesRecommendService.page(pager.getPageIndex(), pager.getPageSize(), casesRecommendVo);
|
||||
// 组装查看率
|
||||
page.getList().forEach(it -> {
|
||||
List<CasesRecommendPushRecord> recordList = iCasesRecommendPushRecordService.findAllByRecommendId(it.getId());
|
||||
// 查看率:查看率=案例查看人数(各案例查看人数之合)/(当条推荐记录包含的案例 × 用户数)
|
||||
long viewCount = recordList.stream().filter(record -> record.getReadFlag().equals(1)).count();
|
||||
it.setViewRate(String.valueOf(viewCount * 100 / recordList.size()).concat("%"));
|
||||
});
|
||||
|
||||
return success(page);
|
||||
}
|
||||
|
||||
@PostMapping("/delete")
|
||||
@GetMapping("/delete")
|
||||
public JsonResponse<Boolean> delete(String id) {
|
||||
if (StringUtils.isBlank(id)) {
|
||||
return badRequest("缺少必要参数");
|
||||
@@ -171,6 +177,7 @@ public class CasesRecommendApi extends ApiBaseController {
|
||||
if (StringUtils.isEmpty(casesRecommendId)) {
|
||||
throw new RuntimeException("缺少必要参数");
|
||||
}
|
||||
CasesRecommend casesRecommend = iCasesRecommendService.findById(casesRecommendId);
|
||||
// 拿取表格里需要的数据
|
||||
List<CasesRecommendPushRecord> recordList = iCasesRecommendPushRecordService.findAllByRecommendId(casesRecommendId);
|
||||
// 用个List<Map>装表格的所有内容
|
||||
@@ -179,7 +186,7 @@ public class CasesRecommendApi extends ApiBaseController {
|
||||
Map<String, Object> row = new LinkedHashMap<>();
|
||||
row.put("案例名称", it.getCaseTitle());
|
||||
row.put("推送用户", it.getPushUserName());
|
||||
row.put("所属组织", "it.get");
|
||||
row.put("所属组织", casesRecommend.getRecommendOrgName());
|
||||
row.put("推送时间", it.getPushTime());
|
||||
row.put("是否查看", it.getReadFlag());
|
||||
row.put("首次查看时间", it.getReadStartTime());
|
||||
@@ -227,17 +234,7 @@ public class CasesRecommendApi extends ApiBaseController {
|
||||
if (StringUtils.isEmpty(casesRecommendPushVo.getCasesRecommendId())) {
|
||||
throw new RuntimeException("缺少必要参数");
|
||||
}
|
||||
// 查询
|
||||
CasesRecommend db = iCasesRecommendService.findById(casesRecommendPushVo.getCasesRecommendId());
|
||||
if (CasesPushStatusEnum.PUSH_SUCCESS.getStatus().equals(db.getPushProgress())){
|
||||
// 当为推送成功时为
|
||||
iCasesRecommendPushRecordService.rePushOrWithdraw(true, casesRecommendPushVo.getCasesRecommendId());
|
||||
}else if (CasesPushStatusEnum.PUSH_FAIL.getStatus().equals(db.getPushProgress())
|
||||
|| CasesPushStatusEnum.PUSH_REVOKE.getStatus().equals(db.getPushProgress())){
|
||||
// 推送失败或者已撤回时
|
||||
iCasesRecommendPushRecordService.rePushOrWithdraw(false, casesRecommendPushVo.getCasesRecommendId());
|
||||
}
|
||||
|
||||
iCasesRecommendService.rePushOrWithdraw(casesRecommendPushVo);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.xboe.module.boecase.service;
|
||||
|
||||
import com.xboe.common.PageList;
|
||||
import com.xboe.module.boecase.entity.CasesRecommend;
|
||||
import com.xboe.module.boecase.vo.CasesRecommendPushVo;
|
||||
import com.xboe.module.boecase.vo.CasesRecommendVo;
|
||||
|
||||
public interface ICasesRecommendService {
|
||||
@@ -26,4 +27,11 @@ public interface ICasesRecommendService {
|
||||
* @return
|
||||
*/
|
||||
CasesRecommend findById(String id);
|
||||
|
||||
/**
|
||||
* 撤回或者重新推送
|
||||
* @param casesRecommendPushVo
|
||||
*/
|
||||
void rePushOrWithdraw(CasesRecommendPushVo casesRecommendPushVo);
|
||||
|
||||
}
|
||||
|
||||
@@ -114,8 +114,8 @@ public class CasesRecommendPushRecordServiceImpl implements ICasesRecommendPushR
|
||||
record.setPushStatus(CasesPushStatusEnum.PUSH_REVOKE.getStatus())
|
||||
);
|
||||
} else {
|
||||
recordList.stream().forEach(record ->
|
||||
record.setPushStatus(CasesPushStatusEnum.PUSH_ING.getStatus())
|
||||
recordList.stream().filter(it -> CasesPushStatusEnum.PUSH_SUCCESS.getStatus() != it.getPushStatus()).forEach(record ->
|
||||
record.setPushStatus(CasesPushStatusEnum.WAIT_PUSH.getStatus())
|
||||
);
|
||||
}
|
||||
if (CollectionUtil.isNotEmpty(recordList)) {
|
||||
|
||||
@@ -5,9 +5,12 @@ import com.xboe.common.PageList;
|
||||
import com.xboe.core.orm.FieldFilters;
|
||||
import com.xboe.core.orm.LikeMatchMode;
|
||||
import com.xboe.core.orm.QueryBuilder;
|
||||
import com.xboe.enums.CasesPushStatusEnum;
|
||||
import com.xboe.module.boecase.dao.CasesRecommendDao;
|
||||
import com.xboe.module.boecase.entity.CasesRecommend;
|
||||
import com.xboe.module.boecase.service.ICasesRecommendPushRecordService;
|
||||
import com.xboe.module.boecase.service.ICasesRecommendService;
|
||||
import com.xboe.module.boecase.vo.CasesRecommendPushVo;
|
||||
import com.xboe.module.boecase.vo.CasesRecommendVo;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
@@ -22,20 +25,22 @@ public class CasesRecommendServiceImpl implements ICasesRecommendService {
|
||||
|
||||
@Resource
|
||||
private CasesRecommendDao casesRecommendDao;
|
||||
@Resource
|
||||
private ICasesRecommendPushRecordService iCasesRecommendPushRecordService;
|
||||
|
||||
@Override
|
||||
public PageList<CasesRecommend> page(int pageIndex, int pageSize, CasesRecommendVo casesRecommendVo) {
|
||||
QueryBuilder query=QueryBuilder.from(CasesRecommend.class);
|
||||
query.addFilter(FieldFilters.eq("deleted",false));
|
||||
if(StringUtils.isNotBlank(casesRecommendVo.getRecommendName())){
|
||||
query.addFilter(FieldFilters.like("recommendBy", LikeMatchMode.ANYWHERE, casesRecommendVo.getRecommendName()));
|
||||
query.addFilter(FieldFilters.like("recommend_by", LikeMatchMode.ANYWHERE, casesRecommendVo.getRecommendName()));
|
||||
}
|
||||
if(!CollectionUtils.isEmpty(casesRecommendVo.getRecommendTimeList())){
|
||||
query.addFilter(FieldFilters.ge("recommendTime",casesRecommendVo.getRecommendTimeList().get(0)));
|
||||
query.addFilter(FieldFilters.le("recommendTime",casesRecommendVo.getRecommendTimeList().get(1)));
|
||||
query.addFilter(FieldFilters.ge("recommend_time",casesRecommendVo.getRecommendTimeList().get(0)));
|
||||
query.addFilter(FieldFilters.le("recommend_time",casesRecommendVo.getRecommendTimeList().get(1)));
|
||||
}
|
||||
|
||||
query.addOrder(OrderCondition.desc("sysCreateTime"));
|
||||
query.addOrder(OrderCondition.desc("sys_create_time"));
|
||||
query.setPageIndex(pageIndex);
|
||||
query.setPageSize(pageSize);
|
||||
PageList<CasesRecommend> page = casesRecommendDao.findPage(query.builder());
|
||||
@@ -51,4 +56,21 @@ public class CasesRecommendServiceImpl implements ICasesRecommendService {
|
||||
public CasesRecommend findById(String id) {
|
||||
return casesRecommendDao.get(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void rePushOrWithdraw(CasesRecommendPushVo casesRecommendPushVo) {
|
||||
// 查询
|
||||
CasesRecommend db = casesRecommendDao.get(casesRecommendPushVo.getCasesRecommendId());
|
||||
if (CasesPushStatusEnum.PUSH_SUCCESS.getStatus().equals(db.getPushProgress())){
|
||||
// 当为推送成功时为
|
||||
iCasesRecommendPushRecordService.rePushOrWithdraw(true, casesRecommendPushVo.getCasesRecommendId());
|
||||
db.setPushProgress(CasesPushStatusEnum.PUSH_REVOKE.getStatus());
|
||||
}else if (CasesPushStatusEnum.PUSH_FAIL.getStatus().equals(db.getPushProgress())
|
||||
|| CasesPushStatusEnum.PUSH_REVOKE.getStatus().equals(db.getPushProgress())){
|
||||
// 推送失败或者已撤回时
|
||||
iCasesRecommendPushRecordService.rePushOrWithdraw(false, casesRecommendPushVo.getCasesRecommendId());
|
||||
db.setPushProgress(CasesPushStatusEnum.WAIT_PUSH.getStatus());
|
||||
}
|
||||
casesRecommendDao.update(db);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user