mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/per-boe/java-servers.git
synced 2025-12-14 05:16:49 +08:00
Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -17,6 +17,11 @@
|
|||||||
<java.version>1.8</java.version>
|
<java.version>1.8</java.version>
|
||||||
</properties>
|
</properties>
|
||||||
<dependencies>
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>cn.hutool</groupId>
|
||||||
|
<artifactId>hutool-all</artifactId>
|
||||||
|
<version>5.8.16</version>
|
||||||
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.xboe</groupId>
|
<groupId>com.xboe</groupId>
|
||||||
<artifactId>xboe-api</artifactId>
|
<artifactId>xboe-api</artifactId>
|
||||||
|
|||||||
@@ -0,0 +1,40 @@
|
|||||||
|
package com.xboe.enums;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author : civism
|
||||||
|
* @version 1.0
|
||||||
|
* @date 2023/6/17 16:13
|
||||||
|
*/
|
||||||
|
public enum CasesPushStatusEnum {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 推送状态1未推送2推送中3已推送4推送失败5已撤回
|
||||||
|
*/
|
||||||
|
WAIT_PUSH(1,"未推送"),
|
||||||
|
PUSH_ING(2,"推送中"),
|
||||||
|
PUSH_SUCCESS(3,"已推送"),
|
||||||
|
PUSH_FAIL(4,"推送失败"),
|
||||||
|
PUSH_REVOKE(5,"已撤回"),
|
||||||
|
|
||||||
|
;
|
||||||
|
|
||||||
|
|
||||||
|
CasesPushStatusEnum(Integer status, String desc) {
|
||||||
|
this.status = status;
|
||||||
|
this.desc = desc;
|
||||||
|
}
|
||||||
|
|
||||||
|
private Integer status;
|
||||||
|
|
||||||
|
|
||||||
|
private String desc;
|
||||||
|
|
||||||
|
|
||||||
|
public Integer getStatus() {
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getDesc() {
|
||||||
|
return desc;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
package com.xboe.enums;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author : civism
|
||||||
|
* @version 1.0
|
||||||
|
* @date 2023/6/17 16:22
|
||||||
|
*/
|
||||||
|
public enum CasesRecommendLaunchTypeEnum {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 发起类型 1 正常选择 2 文件导入
|
||||||
|
*/
|
||||||
|
COMMON(1, "正常选择"),
|
||||||
|
IMPORT(2, "文件导入"),
|
||||||
|
;
|
||||||
|
|
||||||
|
|
||||||
|
private Integer launchType;
|
||||||
|
|
||||||
|
private String desc;
|
||||||
|
|
||||||
|
|
||||||
|
CasesRecommendLaunchTypeEnum(Integer launchType, String desc) {
|
||||||
|
this.launchType = launchType;
|
||||||
|
this.desc = desc;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getLaunchType() {
|
||||||
|
return launchType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getDesc() {
|
||||||
|
return desc;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,157 @@
|
|||||||
|
package com.xboe.module.boecase.api;
|
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
|
import cn.hutool.core.collection.ListUtil;
|
||||||
|
import cn.hutool.core.io.IoUtil;
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
|
import cn.hutool.poi.excel.ExcelReader;
|
||||||
|
import cn.hutool.poi.excel.ExcelUtil;
|
||||||
|
import cn.hutool.poi.excel.ExcelWriter;
|
||||||
|
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.CasesRecommendLaunchTypeEnum;
|
||||||
|
import com.xboe.module.boecase.entity.CasesRecommend;
|
||||||
|
import com.xboe.module.boecase.entity.CasesRecommendLaunchImport;
|
||||||
|
import com.xboe.module.boecase.service.ICasesRecommendLaunchImportService;
|
||||||
|
import com.xboe.module.boecase.service.ICasesRecommendPushRecordService;
|
||||||
|
import com.xboe.module.boecase.service.ICasesRecommendService;
|
||||||
|
import com.xboe.module.boecase.vo.CasesRecommendLaunchVo;
|
||||||
|
import com.xboe.module.boecase.vo.CasesRecommendVo;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import javax.servlet.ServletOutputStream;
|
||||||
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 案例推荐表
|
||||||
|
*/
|
||||||
|
@Slf4j
|
||||||
|
@RestController
|
||||||
|
@RequestMapping(value = "xboe/m/boe/cases/recommend")
|
||||||
|
public class CasesRecommendApi extends ApiBaseController {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private ICasesRecommendService iCasesRecommendService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private ICasesRecommendLaunchImportService iCasesRecommendLaunchImportService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private ICasesRecommendPushRecordService iCasesRecommendPushRecordService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用于后台管理分页
|
||||||
|
*
|
||||||
|
* @param pager
|
||||||
|
* @param casesRecommendVo
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@PostMapping("/page")
|
||||||
|
public JsonResponse<PageList<CasesRecommend>> page(Pagination pager, CasesRecommendVo casesRecommendVo) {
|
||||||
|
PageList<CasesRecommend> page = iCasesRecommendService.page(pager.getPageIndex(), pager.getPageSize(), casesRecommendVo);
|
||||||
|
return success(page);
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("/delete")
|
||||||
|
public JsonResponse<Boolean> delete(String id) {
|
||||||
|
if (StringUtils.isBlank(id)) {
|
||||||
|
return badRequest("缺少必要参数");
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
iCasesRecommendService.delete(id);
|
||||||
|
return success(true);
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("删除失败", e);
|
||||||
|
return error("删除失败", e.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取导入纪录
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
@GetMapping("/import-info")
|
||||||
|
public JsonResponse<CasesRecommendLaunchImport> excelImport(String importId) {
|
||||||
|
CasesRecommendLaunchImport byId = iCasesRecommendLaunchImportService.getById(importId);
|
||||||
|
return success(byId);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 导入
|
||||||
|
*
|
||||||
|
* @param file
|
||||||
|
* @return
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
@PostMapping("/import")
|
||||||
|
public JsonResponse<String> excelImport(@RequestParam("file") MultipartFile file) throws Exception {
|
||||||
|
ExcelReader reader = ExcelUtil.getReader(file.getInputStream());
|
||||||
|
List<List<Object>> read = reader.read();
|
||||||
|
String s = iCasesRecommendLaunchImportService.importData(read);
|
||||||
|
return success(s);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 下载错误数据
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
@GetMapping("/download")
|
||||||
|
public void download(String importId, HttpServletResponse response) throws Exception {
|
||||||
|
|
||||||
|
List<String> dataList = iCasesRecommendLaunchImportService.downFailData(importId);
|
||||||
|
|
||||||
|
// 通过工具类创建writer,默认创建xls格式
|
||||||
|
ExcelWriter writer = ExcelUtil.getWriter();
|
||||||
|
|
||||||
|
writer.writeHeadRow(ListUtil.toList("标题"));
|
||||||
|
writer.write(dataList);
|
||||||
|
response.setContentType("application/vnd.ms-excel;charset=utf-8");
|
||||||
|
response.setHeader("Content-Disposition", "attachment;filename=failData.xls");
|
||||||
|
ServletOutputStream out = response.getOutputStream();
|
||||||
|
|
||||||
|
writer.flush(out, true);
|
||||||
|
writer.close();
|
||||||
|
IoUtil.close(out);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 发起推送
|
||||||
|
*
|
||||||
|
* @param casesRecommendLaunch
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@PostMapping("/launch")
|
||||||
|
public JsonResponse<Boolean> excelImport(@RequestBody CasesRecommendLaunchVo casesRecommendLaunch) {
|
||||||
|
if (CasesRecommendLaunchTypeEnum.COMMON.getLaunchType().equals(casesRecommendLaunch.getLaunchType()) || CasesRecommendLaunchTypeEnum.IMPORT.getLaunchType().equals(casesRecommendLaunch.getLaunchType())) {
|
||||||
|
throw new RuntimeException("参数错误");
|
||||||
|
}
|
||||||
|
if (CasesRecommendLaunchTypeEnum.COMMON.getLaunchType().equals(casesRecommendLaunch.getLaunchType()) && CollectionUtil.isEmpty(casesRecommendLaunch.getCasesIdList())) {
|
||||||
|
throw new RuntimeException("推送案例id不能为空");
|
||||||
|
} else if (CasesRecommendLaunchTypeEnum.IMPORT.getLaunchType().equals(casesRecommendLaunch.getLaunchType()) && StrUtil.isEmpty(casesRecommendLaunch.getImportId())) {
|
||||||
|
throw new RuntimeException("导入id不能为空");
|
||||||
|
}
|
||||||
|
if (CollectionUtil.isEmpty(casesRecommendLaunch.getPushUserIdList())) {
|
||||||
|
throw new RuntimeException("参数错误");
|
||||||
|
}
|
||||||
|
|
||||||
|
return success(iCasesRecommendPushRecordService.launchPush(casesRecommendLaunch));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,14 +1,5 @@
|
|||||||
package com.xboe.module.boecase.api;
|
package com.xboe.module.boecase.api;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
|
||||||
|
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
|
||||||
import org.springframework.web.bind.annotation.PostMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
|
||||||
|
|
||||||
import com.xboe.common.utils.StringUtil;
|
import com.xboe.common.utils.StringUtil;
|
||||||
import com.xboe.core.JsonResponse;
|
import com.xboe.core.JsonResponse;
|
||||||
import com.xboe.core.api.ApiBaseController;
|
import com.xboe.core.api.ApiBaseController;
|
||||||
@@ -16,12 +7,18 @@ import com.xboe.core.log.AutoLog;
|
|||||||
import com.xboe.module.boecase.dto.AcceptVo;
|
import com.xboe.module.boecase.dto.AcceptVo;
|
||||||
import com.xboe.module.boecase.entity.Recommend;
|
import com.xboe.module.boecase.entity.Recommend;
|
||||||
import com.xboe.module.boecase.service.IRecommendService;
|
import com.xboe.module.boecase.service.IRecommendService;
|
||||||
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 案例推荐表
|
* 案例推荐表
|
||||||
* */
|
*/
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping(value = "xboe/m/boe/recommend")
|
@RequestMapping(value = "xboe/m/boe/recommend")
|
||||||
@@ -29,32 +26,33 @@ public class RecommendApi extends ApiBaseController {
|
|||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private IRecommendService recommendService;
|
private IRecommendService recommendService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 推荐
|
* 推荐
|
||||||
* */
|
*/
|
||||||
@PostMapping("/save")
|
@PostMapping("/save")
|
||||||
@AutoLog(module = "案例推荐",action = "推荐案例",info = "推荐案例")
|
@AutoLog(module = "案例推荐", action = "推荐案例", info = "推荐案例")
|
||||||
public JsonResponse<Boolean> save(String id, AcceptVo acceptVo){
|
public JsonResponse<Boolean> save(String id, AcceptVo acceptVo) {
|
||||||
if(StringUtil.isBlank(id)){
|
if (StringUtil.isBlank(id)) {
|
||||||
return badRequest("缺少案例id");
|
return badRequest("缺少案例id");
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
recommendService.save(id,acceptVo);
|
recommendService.save(id, acceptVo);
|
||||||
return success(true);
|
return success(true);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("推荐失败",e);
|
log.error("推荐失败", e);
|
||||||
return error("推荐失败",e.getMessage());
|
return error("推荐失败", e.getMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 推荐列表
|
* 推荐列表
|
||||||
* */
|
*/
|
||||||
@GetMapping("/query")
|
@GetMapping("/query")
|
||||||
public JsonResponse<List<Recommend>> selectRecommend(){
|
public JsonResponse<List<Recommend>> selectRecommend() {
|
||||||
List<Recommend> recommends = recommendService.selectRecommend();
|
List<Recommend> recommends = recommendService.selectRecommend();
|
||||||
return success(recommends);
|
return success(recommends);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,32 +1,37 @@
|
|||||||
package com.xboe.module.boecase.dao;
|
package com.xboe.module.boecase.dao;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import org.springframework.stereotype.Repository;
|
|
||||||
|
|
||||||
import com.xboe.common.OrderCondition;
|
import com.xboe.common.OrderCondition;
|
||||||
import com.xboe.common.PageList;
|
import com.xboe.common.PageList;
|
||||||
import com.xboe.core.orm.BaseDao;
|
import com.xboe.core.orm.BaseDao;
|
||||||
|
import com.xboe.core.orm.FieldFilters;
|
||||||
import com.xboe.core.orm.IFieldFilter;
|
import com.xboe.core.orm.IFieldFilter;
|
||||||
import com.xboe.module.boecase.entity.Cases;
|
import com.xboe.module.boecase.entity.Cases;
|
||||||
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@Repository
|
@Repository
|
||||||
public class CasesDao extends BaseDao<Cases> {
|
public class CasesDao extends BaseDao<Cases> {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 案例列表分页
|
* 案例列表分页
|
||||||
* */
|
*/
|
||||||
public PageList<Cases> queryPageCases(int pageIndex, int pageSize, String keyWord,OrderCondition order, List<IFieldFilter> filters){
|
public PageList<Cases> queryPageCases(int pageIndex, int pageSize, String keyWord, OrderCondition order, List<IFieldFilter> filters) {
|
||||||
PageList<Cases> page = this.getGenericDao().findPage(pageIndex, pageSize, getEntityClass(), filters, order);
|
PageList<Cases> page = this.getGenericDao().findPage(pageIndex, pageSize, getEntityClass(), filters, order);
|
||||||
return page;
|
return page;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 案例列表置顶分页*
|
* 案例列表置顶分页*
|
||||||
* */
|
*/
|
||||||
public PageList<Cases> queryPageIsTop(int pageIndex,int pageSize,String keyWord,OrderCondition order,List<IFieldFilter> filters){
|
public PageList<Cases> queryPageIsTop(int pageIndex, int pageSize, String keyWord, OrderCondition order, List<IFieldFilter> filters) {
|
||||||
PageList<Cases> page = this.getGenericDao().findPage(pageIndex, pageSize, getEntityClass(), filters, order);
|
PageList<Cases> page = this.getGenericDao().findPage(pageIndex, pageSize, getEntityClass(), filters, order);
|
||||||
return page;
|
return page;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public Cases getByTitle(String title) {
|
||||||
|
return this.getGenericDao().findOne(Cases.class, FieldFilters.eq("title", title));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,10 @@
|
|||||||
|
package com.xboe.module.boecase.dao;
|
||||||
|
|
||||||
|
import com.xboe.core.orm.BaseDao;
|
||||||
|
import com.xboe.module.boecase.entity.CasesRecommend;
|
||||||
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
|
@Repository
|
||||||
|
public class CasesRecommendDao extends BaseDao<CasesRecommend> {
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
package com.xboe.module.boecase.dao;
|
||||||
|
|
||||||
|
import com.xboe.core.orm.BaseDao;
|
||||||
|
import com.xboe.module.boecase.entity.CasesRecommendLaunchImport;
|
||||||
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
|
@Repository
|
||||||
|
public class CasesRecommendLaunchImportDao extends BaseDao<CasesRecommendLaunchImport> {
|
||||||
|
}
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
package com.xboe.module.boecase.dao;
|
||||||
|
|
||||||
|
import com.xboe.core.orm.BaseDao;
|
||||||
|
import com.xboe.module.boecase.entity.CasesRecommendLaunchImportData;
|
||||||
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
|
@Repository
|
||||||
|
public class CasesRecommendLaunchImportDataDao extends BaseDao<CasesRecommendLaunchImportData> {
|
||||||
|
}
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
package com.xboe.module.boecase.dao;
|
||||||
|
|
||||||
|
import com.xboe.core.orm.BaseDao;
|
||||||
|
import com.xboe.module.boecase.entity.CasesRecommendPushRecord;
|
||||||
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
|
@Repository
|
||||||
|
public class CasesRecommendPushRecordDao extends BaseDao<CasesRecommendPushRecord> {
|
||||||
|
}
|
||||||
@@ -0,0 +1,56 @@
|
|||||||
|
package com.xboe.module.boecase.entity;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import com.xboe.core.SysConstant;
|
||||||
|
import com.xboe.core.orm.BaseEntity;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
|
||||||
|
import javax.persistence.Column;
|
||||||
|
import javax.persistence.Entity;
|
||||||
|
import javax.persistence.Table;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 案例推荐表
|
||||||
|
* */
|
||||||
|
@Data
|
||||||
|
@Entity
|
||||||
|
@EqualsAndHashCode(callSuper = false)
|
||||||
|
@Table(name = SysConstant.TABLE_PRE+"cases_recommend")
|
||||||
|
public class CasesRecommend extends BaseEntity {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/**推荐人ID*/
|
||||||
|
@Column(name = "recommend_id",nullable = false,length = 100)
|
||||||
|
private String recommendId;
|
||||||
|
|
||||||
|
/**推荐人*/
|
||||||
|
@Column(name = "recommend_by", length = 255)
|
||||||
|
private String recommendBy;
|
||||||
|
|
||||||
|
/**推荐时间*/
|
||||||
|
@Column(name = "recommend_time")
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
private LocalDateTime recommendTime;
|
||||||
|
/**案例数*/
|
||||||
|
@Column(name = "case_count",length = 11)
|
||||||
|
private Integer caseCount;
|
||||||
|
/**用户数*/
|
||||||
|
@Column(name = "user_count",length = 11)
|
||||||
|
private Integer userCount;
|
||||||
|
/**推送进度*/
|
||||||
|
@Column(name = "push_progress", length = 255)
|
||||||
|
private String pushProgress;
|
||||||
|
/**查看率*/
|
||||||
|
@Column(name = "view_rate", length = 255)
|
||||||
|
private String viewRate;
|
||||||
|
/**推荐组织ID*/
|
||||||
|
@Column(name = "recommend_org_id", length = 20)
|
||||||
|
private String recommendOrgId;
|
||||||
|
|
||||||
|
/**推荐组织名称*/
|
||||||
|
@Column(name = "recommend_org_name", length = 255)
|
||||||
|
private String recommendOrgName;
|
||||||
|
}
|
||||||
@@ -0,0 +1,45 @@
|
|||||||
|
package com.xboe.module.boecase.entity;
|
||||||
|
|
||||||
|
import com.xboe.core.SysConstant;
|
||||||
|
import com.xboe.core.orm.BaseEntity;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
|
||||||
|
import javax.persistence.Column;
|
||||||
|
import javax.persistence.Entity;
|
||||||
|
import javax.persistence.Table;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 案例推荐发起导入
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Entity
|
||||||
|
@EqualsAndHashCode(callSuper = false)
|
||||||
|
@Table(name = SysConstant.TABLE_PRE + "cases_recommend_launch_import")
|
||||||
|
public class CasesRecommendLaunchImport extends BaseEntity {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 总条数
|
||||||
|
*/
|
||||||
|
@Column(name = "total_num",length = 20)
|
||||||
|
private Integer totalNum;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 成功条数
|
||||||
|
*/
|
||||||
|
@Column(name = "success_num",length = 20)
|
||||||
|
private Integer successNum;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 失败条数
|
||||||
|
*/
|
||||||
|
@Column(name = "fail_num",length = 20)
|
||||||
|
private Integer failNum;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 上传状态1进行中2成功3失败
|
||||||
|
*/
|
||||||
|
@Column(name = "process_status",length = 20)
|
||||||
|
private Integer processStatus;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,45 @@
|
|||||||
|
package com.xboe.module.boecase.entity;
|
||||||
|
|
||||||
|
import com.xboe.core.SysConstant;
|
||||||
|
import com.xboe.core.orm.BaseEntity;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
|
||||||
|
import javax.persistence.Column;
|
||||||
|
import javax.persistence.Entity;
|
||||||
|
import javax.persistence.Table;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 案例推荐发起导入
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Entity
|
||||||
|
@EqualsAndHashCode(callSuper = false)
|
||||||
|
@Table(name = SysConstant.TABLE_PRE + "cases_recommend_launch_import")
|
||||||
|
public class CasesRecommendLaunchImportData extends BaseEntity {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 导入id
|
||||||
|
*/
|
||||||
|
@Column(name = "import_id", length = 20)
|
||||||
|
private String importId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 导入类容第一例标题
|
||||||
|
*/
|
||||||
|
@Column(name = "case_title")
|
||||||
|
private String caseTitle;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 导入类容匹配的案例id
|
||||||
|
*/
|
||||||
|
@Column(name = "case_id")
|
||||||
|
private String caseId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 状态1成功2失败
|
||||||
|
*/
|
||||||
|
@Column(name = "status")
|
||||||
|
private Integer status;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,95 @@
|
|||||||
|
package com.xboe.module.boecase.entity;
|
||||||
|
|
||||||
|
import com.xboe.core.SysConstant;
|
||||||
|
import com.xboe.core.orm.BaseEntity;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
|
||||||
|
import javax.persistence.Column;
|
||||||
|
import javax.persistence.Entity;
|
||||||
|
import javax.persistence.Table;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 案例推荐发起导入
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Entity
|
||||||
|
@EqualsAndHashCode(callSuper = false)
|
||||||
|
@Table(name = SysConstant.TABLE_PRE + "cases_recommend_push_record")
|
||||||
|
public class CasesRecommendPushRecord extends BaseEntity {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 推送id
|
||||||
|
*/
|
||||||
|
@Column(name = "recommend_id")
|
||||||
|
private String recommendId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 案例id
|
||||||
|
*/
|
||||||
|
@Column(name = "case_id")
|
||||||
|
private String caseId;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 案例标题
|
||||||
|
*/
|
||||||
|
@Column(name = "case_title")
|
||||||
|
private String caseTitle;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 推送用户id
|
||||||
|
*/
|
||||||
|
@Column(name = "push_user_id")
|
||||||
|
private String pushUserId;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 推送用户名称
|
||||||
|
*/
|
||||||
|
@Column(name = "push_user_name")
|
||||||
|
private String pushUserName;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 推送状态1未推送2推送中3已推送4推送失败5已撤回
|
||||||
|
*/
|
||||||
|
@Column(name = "push_status")
|
||||||
|
private Integer pushStatus;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 推送时间
|
||||||
|
*/
|
||||||
|
@Column(name = "push_time")
|
||||||
|
private Integer pushTime;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查看标识
|
||||||
|
*/
|
||||||
|
@Column(name = "read_flag")
|
||||||
|
private Integer readFlag;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 首次查看时间
|
||||||
|
*/
|
||||||
|
@Column(name = "read_start_time")
|
||||||
|
private Date readStartTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 最后查看时间
|
||||||
|
*/
|
||||||
|
@Column(name = "read_end_time")
|
||||||
|
private Date readEndTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 备注
|
||||||
|
*/
|
||||||
|
@Column(name = "remark")
|
||||||
|
private String remark;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
package com.xboe.module.boecase.service;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public interface ICasesRecommendLaunchImportDataService {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
package com.xboe.module.boecase.service;
|
||||||
|
|
||||||
|
|
||||||
|
import com.xboe.module.boecase.entity.CasesRecommendLaunchImport;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public interface ICasesRecommendLaunchImportService {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 导入数据
|
||||||
|
*
|
||||||
|
* @param dataList
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
String importData(List<List<Object>> dataList);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 下载失败的数据
|
||||||
|
*
|
||||||
|
* @param importId
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<String> downFailData(String importId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取导入结果信息
|
||||||
|
*
|
||||||
|
* @param id
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
CasesRecommendLaunchImport getById(String id);
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
package com.xboe.module.boecase.service;
|
||||||
|
|
||||||
|
import com.xboe.module.boecase.vo.CasesRecommendLaunchVo;
|
||||||
|
|
||||||
|
public interface ICasesRecommendPushRecordService {
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 案例推送
|
||||||
|
*
|
||||||
|
* @param casesRecommendLaunch
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
boolean launchPush(CasesRecommendLaunchVo casesRecommendLaunch);
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
package com.xboe.module.boecase.service;
|
||||||
|
|
||||||
|
import com.xboe.common.PageList;
|
||||||
|
import com.xboe.module.boecase.entity.CasesRecommend;
|
||||||
|
import com.xboe.module.boecase.vo.CasesRecommendVo;
|
||||||
|
|
||||||
|
public interface ICasesRecommendService {
|
||||||
|
/**
|
||||||
|
* 分页并查询案例推荐列表
|
||||||
|
* @param pageIndex
|
||||||
|
* @param pageSize
|
||||||
|
* @param casesRecommendVo
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
PageList<CasesRecommend> page(int pageIndex, int pageSize, CasesRecommendVo casesRecommendVo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除
|
||||||
|
* @param id
|
||||||
|
*/
|
||||||
|
void delete(String id);
|
||||||
|
}
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
package com.xboe.module.boecase.service.impl;
|
||||||
|
|
||||||
|
|
||||||
|
import com.xboe.module.boecase.service.ICasesRecommendLaunchImportDataService;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
public class CasesRecommendLaunchImportDataServiceImpl implements ICasesRecommendLaunchImportDataService {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,83 @@
|
|||||||
|
package com.xboe.module.boecase.service.impl;
|
||||||
|
|
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
|
import cn.hutool.core.util.IdUtil;
|
||||||
|
import com.xboe.core.orm.FieldFilters;
|
||||||
|
import com.xboe.module.boecase.dao.CasesDao;
|
||||||
|
import com.xboe.module.boecase.dao.CasesRecommendLaunchImportDao;
|
||||||
|
import com.xboe.module.boecase.dao.CasesRecommendLaunchImportDataDao;
|
||||||
|
import com.xboe.module.boecase.entity.Cases;
|
||||||
|
import com.xboe.module.boecase.entity.CasesRecommendLaunchImport;
|
||||||
|
import com.xboe.module.boecase.entity.CasesRecommendLaunchImportData;
|
||||||
|
import com.xboe.module.boecase.service.ICasesRecommendLaunchImportService;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
public class CasesRecommendLaunchImportServiceImpl implements ICasesRecommendLaunchImportService {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private CasesRecommendLaunchImportDao casesRecommendLaunchImportDao;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private CasesRecommendLaunchImportDataDao casesRecommendLaunchImportDataDao;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private CasesDao casesDao;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String importData(List<List<Object>> dataList) {
|
||||||
|
if (CollectionUtil.isEmpty(dataList)) {
|
||||||
|
throw new RuntimeException("导入数据为空");
|
||||||
|
}
|
||||||
|
int totalNum = dataList.size();
|
||||||
|
int successNum = 0;
|
||||||
|
int failNum = 0;
|
||||||
|
Long importId = IdUtil.getSnowflakeNextId();
|
||||||
|
|
||||||
|
for (int i = 1; i < dataList.size(); i++) {
|
||||||
|
String caseTitle = dataList.get(i).get(0).toString();
|
||||||
|
CasesRecommendLaunchImportData casesRecommendLaunchImportData = new CasesRecommendLaunchImportData();
|
||||||
|
casesRecommendLaunchImportData.setImportId(importId + "");
|
||||||
|
casesRecommendLaunchImportData.setCaseTitle(caseTitle);
|
||||||
|
Cases cases = casesDao.getByTitle(caseTitle);
|
||||||
|
if (cases == null) {
|
||||||
|
failNum++;
|
||||||
|
casesRecommendLaunchImportData.setStatus(2);
|
||||||
|
} else {
|
||||||
|
casesRecommendLaunchImportData.setStatus(1);
|
||||||
|
casesRecommendLaunchImportData.setCaseTitle(caseTitle);
|
||||||
|
}
|
||||||
|
casesRecommendLaunchImportDataDao.save(casesRecommendLaunchImportData);
|
||||||
|
successNum++;
|
||||||
|
}
|
||||||
|
CasesRecommendLaunchImport casesRecommendLaunchImport = new CasesRecommendLaunchImport();
|
||||||
|
casesRecommendLaunchImport.setFailNum(failNum);
|
||||||
|
casesRecommendLaunchImport.setId(importId + "");
|
||||||
|
casesRecommendLaunchImport.setSuccessNum(successNum);
|
||||||
|
casesRecommendLaunchImport.setTotalNum(totalNum);
|
||||||
|
casesRecommendLaunchImportDao.save(casesRecommendLaunchImport);
|
||||||
|
return importId + "";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<String> downFailData(String importId) {
|
||||||
|
|
||||||
|
List<CasesRecommendLaunchImportData> dataList = casesRecommendLaunchImportDataDao.findList(FieldFilters.eq("import_id", importId));
|
||||||
|
if (CollectionUtil.isEmpty(dataList)) {
|
||||||
|
return Collections.emptyList();
|
||||||
|
}
|
||||||
|
return dataList.stream().map(CasesRecommendLaunchImportData::getCaseTitle).collect(Collectors.toList());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CasesRecommendLaunchImport getById(String id) {
|
||||||
|
return casesRecommendLaunchImportDao.get(id);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,96 @@
|
|||||||
|
package com.xboe.module.boecase.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
|
import com.xboe.core.orm.FieldFilters;
|
||||||
|
import com.xboe.data.dto.UserData;
|
||||||
|
import com.xboe.data.outside.IOutSideDataService;
|
||||||
|
import com.xboe.enums.CasesPushStatusEnum;
|
||||||
|
import com.xboe.module.boecase.dao.CasesDao;
|
||||||
|
import com.xboe.module.boecase.dao.CasesRecommendDao;
|
||||||
|
import com.xboe.module.boecase.dao.CasesRecommendLaunchImportDataDao;
|
||||||
|
import com.xboe.module.boecase.dao.CasesRecommendPushRecordDao;
|
||||||
|
import com.xboe.module.boecase.entity.Cases;
|
||||||
|
import com.xboe.module.boecase.entity.CasesRecommend;
|
||||||
|
import com.xboe.module.boecase.entity.CasesRecommendLaunchImportData;
|
||||||
|
import com.xboe.module.boecase.entity.CasesRecommendPushRecord;
|
||||||
|
import com.xboe.module.boecase.service.ICasesRecommendPushRecordService;
|
||||||
|
import com.xboe.module.boecase.vo.CasesRecommendLaunchVo;
|
||||||
|
import com.xboe.system.user.dao.UserDao;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
@Transactional
|
||||||
|
public class CasesRecommendPushRecordServiceImpl implements ICasesRecommendPushRecordService {
|
||||||
|
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private UserDao userDao;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private IOutSideDataService outSideDataService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private CasesDao casesDao;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private CasesRecommendDao casesRecommendDao;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private CasesRecommendLaunchImportDataDao casesRecommendLaunchImportDataDao;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private CasesRecommendPushRecordDao casesRecommendPushRecordDao;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean launchPush(CasesRecommendLaunchVo casesRecommendLaunch) {
|
||||||
|
//当前用户登录信息
|
||||||
|
UserData userInfoByUserId = outSideDataService.getUserInfoByUserId(null);
|
||||||
|
|
||||||
|
CasesRecommend casesRecommend = new CasesRecommend();
|
||||||
|
casesRecommend.setRecommendId(userInfoByUserId.getId());
|
||||||
|
casesRecommend.setRecommendBy(userInfoByUserId.getName());
|
||||||
|
casesRecommend.setRecommendTime(LocalDateTime.now());
|
||||||
|
casesRecommend.setCaseCount(casesRecommendLaunch.getCasesIdList().size());
|
||||||
|
casesRecommend.setUserCount(casesRecommendLaunch.getPushUserIdList().size());
|
||||||
|
casesRecommend.setRecommendOrgName(casesRecommendLaunch.getRecommendOrgName());
|
||||||
|
casesRecommendDao.save(casesRecommend);
|
||||||
|
|
||||||
|
List<String> caseIds = new ArrayList<>();
|
||||||
|
if (casesRecommendLaunch.getLaunchType() == 1) {
|
||||||
|
caseIds.addAll(casesRecommendLaunch.getCasesIdList());
|
||||||
|
} else {
|
||||||
|
List<CasesRecommendLaunchImportData> importDataList = casesRecommendLaunchImportDataDao.findList(FieldFilters.eq("import_id", casesRecommendLaunch.getImportId()));
|
||||||
|
List<String> caseIdList = importDataList.stream().filter(casesRecommendLaunchImportData -> casesRecommendLaunchImportData.getStatus() == 1).map(CasesRecommendLaunchImportData::getCaseId).collect(Collectors.toList());
|
||||||
|
caseIds.addAll(caseIdList);
|
||||||
|
}
|
||||||
|
for (String caseId : caseIds) {
|
||||||
|
Cases cases = casesDao.get(caseId);
|
||||||
|
List<CasesRecommendPushRecord> pushRecords = new ArrayList<>();
|
||||||
|
Map<String, Object> userMap = userDao.findMap("id", "name", FieldFilters.in("id", casesRecommendLaunch.getPushUserIdList()));
|
||||||
|
|
||||||
|
for (String userId : casesRecommendLaunch.getPushUserIdList()) {
|
||||||
|
CasesRecommendPushRecord casesRecommendPushRecord = new CasesRecommendPushRecord();
|
||||||
|
casesRecommendPushRecord.setRecommendId(casesRecommend.getId());
|
||||||
|
casesRecommendPushRecord.setCaseId(caseId);
|
||||||
|
casesRecommendPushRecord.setCaseTitle(cases.getTitle());
|
||||||
|
casesRecommendPushRecord.setPushUserId(userId);
|
||||||
|
casesRecommendPushRecord.setPushUserName(userMap.get(userId) != null ? userMap.get(userId).toString() : null);
|
||||||
|
casesRecommendPushRecord.setPushStatus(CasesPushStatusEnum.WAIT_PUSH.getStatus());
|
||||||
|
pushRecords.add(casesRecommendPushRecord);
|
||||||
|
}
|
||||||
|
if (CollectionUtil.isNotEmpty(pushRecords)) {
|
||||||
|
casesRecommendPushRecordDao.saveList(pushRecords);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,49 @@
|
|||||||
|
package com.xboe.module.boecase.service.impl;
|
||||||
|
|
||||||
|
import com.xboe.common.OrderCondition;
|
||||||
|
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.module.boecase.dao.CasesRecommendDao;
|
||||||
|
import com.xboe.module.boecase.entity.CasesRecommend;
|
||||||
|
import com.xboe.module.boecase.service.ICasesRecommendService;
|
||||||
|
import com.xboe.module.boecase.vo.CasesRecommendVo;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
import org.springframework.util.CollectionUtils;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
@Transactional
|
||||||
|
public class CasesRecommendServiceImpl implements ICasesRecommendService {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private CasesRecommendDao casesRecommendDao;
|
||||||
|
|
||||||
|
@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()));
|
||||||
|
}
|
||||||
|
if(!CollectionUtils.isEmpty(casesRecommendVo.getRecommendTimeList())){
|
||||||
|
query.addFilter(FieldFilters.ge("recommendTime",casesRecommendVo.getRecommendTimeList().get(0)));
|
||||||
|
query.addFilter(FieldFilters.le("recommendTime",casesRecommendVo.getRecommendTimeList().get(1)));
|
||||||
|
}
|
||||||
|
|
||||||
|
query.addOrder(OrderCondition.desc("sysCreateTime"));
|
||||||
|
query.setPageIndex(pageIndex);
|
||||||
|
query.setPageSize(pageSize);
|
||||||
|
PageList<CasesRecommend> page = casesRecommendDao.findPage(query.builder());
|
||||||
|
return page;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void delete(String id) {
|
||||||
|
casesRecommendDao.setDeleted(id);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,40 @@
|
|||||||
|
package com.xboe.module.boecase.vo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author : civism
|
||||||
|
* @version 1.0
|
||||||
|
* @date 2023/6/17 09:46
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class CasesRecommendLaunchVo {
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 发起类型 1 正常选择 2 文件导入
|
||||||
|
*/
|
||||||
|
private Integer launchType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 如果launchType为2 必须传递 其他情况不用传递
|
||||||
|
*/
|
||||||
|
private String importId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 推送的文章标题id launchType 为1必须传递 其他情况不用传递
|
||||||
|
*/
|
||||||
|
private List<String> casesIdList;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 推送的用户id
|
||||||
|
*/
|
||||||
|
private List<String> pushUserIdList;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 推荐机构
|
||||||
|
*/
|
||||||
|
private String recommendOrgName;
|
||||||
|
}
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
package com.xboe.module.boecase.vo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class CasesRecommendVo {
|
||||||
|
|
||||||
|
/** 推荐人姓名 */
|
||||||
|
private String recommendName;
|
||||||
|
|
||||||
|
/** 推荐时间区间 */
|
||||||
|
private List<LocalDateTime> recommendTimeList;
|
||||||
|
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user