From f798cae717d22851e9a1b87fdfee46e197e6424e Mon Sep 17 00:00:00 2001 From: liuhuazhong Date: Fri, 21 Mar 2025 09:00:15 +0800 Subject: [PATCH 01/31] =?UTF-8?q?feat(=E4=BB=BB=E5=8A=A1=E8=B5=84=E6=BA=90?= =?UTF-8?q?=E5=BA=93):=20=E4=BB=BB=E5=8A=A1=E4=B8=8E=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E8=A1=8C=E4=B8=BA=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../microservices-modules-dms/pom.xml | 147 ++++++++++ .../dms/MicroservicesDmsApplication.java | 25 ++ .../dms/common/controller/OpenController.java | 30 ++ .../dms/constant/TaskConstant.java | 11 + .../CollectUserActDataController.java | 41 +++ .../TaskResourceLibraryController.java | 83 ++++++ .../dms/task/domain/Clicker.java | 19 ++ .../dms/task/domain/Downloader.java | 16 ++ .../dms/task/domain/Searcher.java | 18 ++ .../dms/task/domain/vo/TaskListVo.java | 22 ++ .../dms/task/domain/vo/UserActionDataVo.java | 18 ++ .../mapper/TaskResourceLibraryMapper.java | 45 +++ .../service/TaskResourceLibraryService.java | 86 ++++++ .../dms/utils/CustomExecutorFactory.java | 37 +++ .../microservices/dms/utils/DmsConstants.java | 5 + .../com/microservices/dms/utils/DmsUtils.java | 82 ++++++ .../com/microservices/dms/utils/YamlUtil.java | 58 ++++ .../src/main/resources/banner.txt | 10 + .../src/main/resources/bootstrap-prod.yml | 34 +++ .../src/main/resources/bootstrap.yml | 32 +++ .../src/main/resources/logback.xml | 101 +++++++ .../mapper/dms/TaskResourceLibraryMapper.xml | 267 ++++++++++++++++++ .../pms/test/PmsProjectTestSheetTest.java | 63 +++++ microservices-modules/pom.xml | 1 + 24 files changed, 1251 insertions(+) create mode 100644 microservices-modules/microservices-modules-dms/pom.xml create mode 100644 microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/MicroservicesDmsApplication.java create mode 100644 microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/common/controller/OpenController.java create mode 100644 microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/constant/TaskConstant.java create mode 100644 microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/task/controller/CollectUserActDataController.java create mode 100644 microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/task/controller/TaskResourceLibraryController.java create mode 100644 microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/task/domain/Clicker.java create mode 100644 microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/task/domain/Downloader.java create mode 100644 microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/task/domain/Searcher.java create mode 100644 microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/task/domain/vo/TaskListVo.java create mode 100644 microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/task/domain/vo/UserActionDataVo.java create mode 100644 microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/task/mapper/TaskResourceLibraryMapper.java create mode 100644 microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/task/service/TaskResourceLibraryService.java create mode 100644 microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/utils/CustomExecutorFactory.java create mode 100644 microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/utils/DmsConstants.java create mode 100644 microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/utils/DmsUtils.java create mode 100644 microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/utils/YamlUtil.java create mode 100644 microservices-modules/microservices-modules-dms/src/main/resources/banner.txt create mode 100644 microservices-modules/microservices-modules-dms/src/main/resources/bootstrap-prod.yml create mode 100644 microservices-modules/microservices-modules-dms/src/main/resources/bootstrap.yml create mode 100644 microservices-modules/microservices-modules-dms/src/main/resources/logback.xml create mode 100644 microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/TaskResourceLibraryMapper.xml create mode 100644 microservices-modules/microservices-modules-dms/src/main/test/com/microservices/pms/test/PmsProjectTestSheetTest.java diff --git a/microservices-modules/microservices-modules-dms/pom.xml b/microservices-modules/microservices-modules-dms/pom.xml new file mode 100644 index 000000000..4b47b7dd6 --- /dev/null +++ b/microservices-modules/microservices-modules-dms/pom.xml @@ -0,0 +1,147 @@ + + + + com.microservices + microservices-modules + 3.6.2 + + 4.0.0 + + microservices-modules-dms + + + microservices-modules-dms数据管理体系模块 + + + + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-discovery + + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-config + + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-sentinel + + + + + org.springframework.boot + spring-boot-starter-actuator + + + + + io.springfox + springfox-swagger-ui + ${swagger.fox.version} + + + + + mysql + mysql-connector-java + + + + + com.microservices + microservices-common-async + + + + + com.microservices + microservices-common-datasource + + + + + com.microservices + microservices-common-datascope + + + + + com.microservices + microservices-common-log + + + + + com.microservices + microservices-common-swagger + + + com.microservices + microservices-common-security + + + com.microservices + microservices-common-swagger + + + org.springframework.security + spring-security-core + + + com.microservices + microservices-common-log + + + com.microservices + microservices-common-core + + + org.projectlombok + lombok + + + + org.apache.httpcomponents + httpclient + 4.5.14 + + + com.microservices + microservices-common-httpClient + 3.6.2 + compile + + + net.coobird + thumbnailator + 0.4.8 + compile + + + + + ${project.artifactId} + + + org.springframework.boot + spring-boot-maven-plugin + + + + repackage + + + + + + + + \ No newline at end of file diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/MicroservicesDmsApplication.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/MicroservicesDmsApplication.java new file mode 100644 index 000000000..c89588cec --- /dev/null +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/MicroservicesDmsApplication.java @@ -0,0 +1,25 @@ +package com.microservices.dms; + +import com.microservices.common.security.annotation.EnableCustomConfig; +import com.microservices.common.security.annotation.EnableRyFeignClients; +import com.microservices.common.swagger.annotation.EnableCustomSwagger2; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.scheduling.annotation.EnableScheduling; + +/** + * 项目管理模块 + * + * @author otto + */ +@EnableCustomConfig +@EnableCustomSwagger2 +@EnableRyFeignClients +@SpringBootApplication +@EnableScheduling +public class MicroservicesDmsApplication { + public static void main(String[] args) { + SpringApplication.run(MicroservicesDmsApplication.class, args); + System.out.println("(♥◠‿◠)ノ゙ 数据管理体系模块启动成功 ლ(´ڡ`ლ)゙ \n"); + } +} diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/common/controller/OpenController.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/common/controller/OpenController.java new file mode 100644 index 000000000..07e0ee6cb --- /dev/null +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/common/controller/OpenController.java @@ -0,0 +1,30 @@ +package com.microservices.dms.common.controller; + +import com.microservices.common.core.web.controller.BaseController; +import com.microservices.common.core.web.domain.AjaxResult; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.cloud.context.config.annotation.RefreshScope; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @author otto + */ +@RestController +@Api(tags = "数据管理体系-公开接口") +@RequestMapping("/open") +@RefreshScope +public class OpenController extends BaseController { + + + + @GetMapping("/loginUrl") + @ApiOperation(value = "获取登录地址") + public AjaxResult loginUrl() { + return success( ); + } + + +} diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/constant/TaskConstant.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/constant/TaskConstant.java new file mode 100644 index 000000000..e8b545c47 --- /dev/null +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/constant/TaskConstant.java @@ -0,0 +1,11 @@ +package com.microservices.dms.constant; + +public class TaskConstant { + + public static final String TASK_TYPE_WATCHERS = "MakerTask"; + public static final String TASK_TYPE_JOURNALS = "makerSpaceTask"; + public static final String TASK_TYPE_PAPERS = ""; + public static final String TASK_TYPE_OTHER = "makerSpaceTask"; + private TaskConstant() { + } +} diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/task/controller/CollectUserActDataController.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/task/controller/CollectUserActDataController.java new file mode 100644 index 000000000..54f9470f9 --- /dev/null +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/task/controller/CollectUserActDataController.java @@ -0,0 +1,41 @@ +package com.microservices.dms.task.controller; + + +import com.microservices.common.core.web.domain.AjaxResult; +import com.microservices.dms.task.domain.Clicker; +import com.microservices.dms.task.domain.Downloader; +import com.microservices.dms.task.domain.Searcher; +import com.microservices.dms.task.service.TaskResourceLibraryService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@Api(tags = "数据管理体系-用户行为信息接口") +@RestController +@RequestMapping("/collectUserActData") +@RequiredArgsConstructor +public class CollectUserActDataController { + + private final TaskResourceLibraryService taskResourceLibraryService; + + @PostMapping("/addClicker") + @ApiOperation(value = "记录点击次数") + public AjaxResult addTaskClick(Clicker clicker) { + return AjaxResult.success(taskResourceLibraryService.addClick(clicker)); + } + + @PostMapping("/addDownloader") + @ApiOperation(value = "记录下载次数") + public AjaxResult addDownloader(Downloader downloader) { + return AjaxResult.success(taskResourceLibraryService.addDownloader(downloader)); + } + + @PostMapping("/addSearcher") + @ApiOperation(value = "记录搜索次数") + public AjaxResult addSearcher(Searcher searcher) { + return AjaxResult.success(taskResourceLibraryService.addSearcher(searcher)); + } +} diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/task/controller/TaskResourceLibraryController.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/task/controller/TaskResourceLibraryController.java new file mode 100644 index 000000000..19b9da742 --- /dev/null +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/task/controller/TaskResourceLibraryController.java @@ -0,0 +1,83 @@ +package com.microservices.dms.task.controller; + +import com.microservices.common.core.utils.PageUtils; +import com.microservices.common.core.web.controller.BaseController; +import com.microservices.common.core.web.page.GenericsTableDataInfo; +import com.microservices.dms.task.domain.vo.TaskListVo; +import com.microservices.dms.task.domain.vo.UserActionDataVo; +import com.microservices.dms.task.service.TaskResourceLibraryService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +@Api(tags = "数据管理体系-任务资源库接口") +@RestController +@RequestMapping("/taskResourceLibrary") +@RequiredArgsConstructor +public class TaskResourceLibraryController extends BaseController { + + private final TaskResourceLibraryService taskResourceLibraryService; + + + @GetMapping("/selectTaskJournalsCondition") + @ApiOperation(value = "查询用户评论") + public GenericsTableDataInfo selectTaskJournalsCondition(@RequestParam UserActionDataVo taskJournals) { + PageUtils.startPage(); + List userActionDataVos = taskResourceLibraryService.selectTaskJournalsCondition(taskJournals); + return PageUtils.toPage(userActionDataVos); + } + + @GetMapping("selectClickerCondition") + @ApiOperation(value = "查询用户点击") + public GenericsTableDataInfo selectClickerCondition(@RequestParam UserActionDataVo taskJournals) { + PageUtils.startPage(); + List userActionDataVos = taskResourceLibraryService.selectClickerCondition(taskJournals); + return PageUtils.toPage(userActionDataVos); + } + + @GetMapping("selectDownloaderCondition") + @ApiOperation(value = "查询用户下载") + public GenericsTableDataInfo selectDownloaderCondition(@RequestParam UserActionDataVo taskJournals) { + PageUtils.startPage(); + List userActionDataVos = taskResourceLibraryService.selectDownloaderCondition(taskJournals); + return PageUtils.toPage(userActionDataVos); + } + + @GetMapping("selectPapersCondition") + @ApiOperation(value = "查询用户交稿") + public GenericsTableDataInfo selectPapersCondition(@RequestParam UserActionDataVo taskJournals) { + PageUtils.startPage(); + List userActionDataVos = taskResourceLibraryService.selectPapersCondition(taskJournals); + return PageUtils.toPage(userActionDataVos); + } + + @GetMapping("selectWatcherCondition") + @ApiOperation(value = "查询用户关注") + public GenericsTableDataInfo selectWatcherCondition(@RequestParam UserActionDataVo taskJournals) { + PageUtils.startPage(); + List userActionDataVos = taskResourceLibraryService.selectWatcherCondition(taskJournals); + return PageUtils.toPage(userActionDataVos); + } + + @GetMapping("selectSearcherCondition") + @ApiOperation(value = "查询用户搜索") + public GenericsTableDataInfo selectSearcherCondition(@RequestParam UserActionDataVo taskJournals) { + PageUtils.startPage(); + List userActionDataVos = taskResourceLibraryService.selectSearcherCondition(taskJournals); + return PageUtils.toPage(userActionDataVos); + } + + @GetMapping("selectTaskListCondition") + @ApiOperation(value = "查询任务列表") + public GenericsTableDataInfo selectTaskListCondition(@RequestParam TaskListVo taskListVo) { + PageUtils.startPage(); + List userActionDataVos = taskResourceLibraryService.selectTaskListCondition(taskListVo); + return PageUtils.toPage(userActionDataVos); + } +} diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/task/domain/Clicker.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/task/domain/Clicker.java new file mode 100644 index 000000000..68f652193 --- /dev/null +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/task/domain/Clicker.java @@ -0,0 +1,19 @@ +package com.microservices.dms.task.domain; + + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.util.Date; + +@Data +public class Clicker{ + private Long id; + private String clickType; + private Long clickId; + private Long userId; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "") + private Date createdAt; + private String extInfo; +} + diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/task/domain/Downloader.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/task/domain/Downloader.java new file mode 100644 index 000000000..5c83f04f0 --- /dev/null +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/task/domain/Downloader.java @@ -0,0 +1,16 @@ +package com.microservices.dms.task.domain; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import java.util.Date; + +@Data +public class Downloader { + private Long id; + private String downloadType; + private Long downloadId; + private Long userId; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "") + private Date createdAt; + private String extInfo; +} diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/task/domain/Searcher.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/task/domain/Searcher.java new file mode 100644 index 000000000..aa0de994a --- /dev/null +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/task/domain/Searcher.java @@ -0,0 +1,18 @@ +package com.microservices.dms.task.domain; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.util.Date; + +@Data +public class Searcher { + private Long id; + private String clickType; + private Long clickId; + private Long userId; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "") + private Date createdAt; + private String extInfo; + +} diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/task/domain/vo/TaskListVo.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/task/domain/vo/TaskListVo.java new file mode 100644 index 000000000..cebb53e33 --- /dev/null +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/task/domain/vo/TaskListVo.java @@ -0,0 +1,22 @@ +package com.microservices.dms.task.domain.vo; + +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class TaskListVo { + private Long id; + private String name; + private String categoryName; + private Long categoryId; + private BigDecimal bounty; + private Long totalTaskDays; + + private Long taskClickCount; + private Long taskWatcherCount; + private Long taskPapersCount; + private Long taskJournalCount; + private Long taskSearchCount; + private Long taskDownloadCount; +} diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/task/domain/vo/UserActionDataVo.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/task/domain/vo/UserActionDataVo.java new file mode 100644 index 000000000..a33ded0ea --- /dev/null +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/task/domain/vo/UserActionDataVo.java @@ -0,0 +1,18 @@ +package com.microservices.dms.task.domain.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.util.Date; + +@Data +public class UserActionDataVo { + private Long id; + private String itemType; + private Integer itemId; + private String itemName; + private Integer userId; + private String userName; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "") + private Date createdAt; +} diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/task/mapper/TaskResourceLibraryMapper.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/task/mapper/TaskResourceLibraryMapper.java new file mode 100644 index 000000000..7c40bb3c1 --- /dev/null +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/task/mapper/TaskResourceLibraryMapper.java @@ -0,0 +1,45 @@ +package com.microservices.dms.task.mapper; + +import com.microservices.dms.task.domain.Clicker; +import com.microservices.dms.task.domain.Downloader; +import com.microservices.dms.task.domain.Searcher; +import com.microservices.dms.task.domain.vo.TaskListVo; +import com.microservices.dms.task.domain.vo.UserActionDataVo; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +@Mapper +public interface TaskResourceLibraryMapper { + + int insertClicker(Clicker record); + + int insertSearcher(Searcher record); + + int insertDownloader(Downloader record); + + List selectClickerCondition(UserActionDataVo clicker); + + List selectSearcherCondition(UserActionDataVo searcher); + + List selectDownloaderCondition(UserActionDataVo downloader); + + List selectWatcherCondition(UserActionDataVo watcher); + + List selectPapersCondition(UserActionDataVo paper); + + List selectTaskJournalsCondition(UserActionDataVo taskJournals); + + List selectTaskListCondition(TaskListVo taskListVo); + + long countClickerCondition(UserActionDataVo clicker); + + long countSearcherCondition(UserActionDataVo searcher); + + long countDownloaderCondition(UserActionDataVo downloader); + + long countWatcherCondition(UserActionDataVo watcher); + + long countPapersCondition(UserActionDataVo paper); + long countTaskJournalsCondition(UserActionDataVo taskJournals); +} diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/task/service/TaskResourceLibraryService.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/task/service/TaskResourceLibraryService.java new file mode 100644 index 000000000..9bc9e4bc1 --- /dev/null +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/task/service/TaskResourceLibraryService.java @@ -0,0 +1,86 @@ +package com.microservices.dms.task.service; + +import com.microservices.common.core.utils.DateUtils; +import com.microservices.dms.constant.TaskConstant; +import com.microservices.dms.task.domain.Clicker; +import com.microservices.dms.task.domain.Downloader; +import com.microservices.dms.task.domain.Searcher; +import com.microservices.dms.task.domain.vo.TaskListVo; +import com.microservices.dms.task.domain.vo.UserActionDataVo; +import com.microservices.dms.task.mapper.TaskResourceLibraryMapper; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +@RequiredArgsConstructor +public class TaskResourceLibraryService { + private final TaskResourceLibraryMapper taskResourceLibraryMapper; + + public int addClick(Clicker click) { + click.setCreatedAt(DateUtils.getNowDate()); + return taskResourceLibraryMapper.insertClicker(click); + } + + public int addSearcher(Searcher searcher) { + searcher.setCreatedAt(DateUtils.getNowDate()); + return taskResourceLibraryMapper.insertSearcher(searcher); + } + + public int addDownloader(Downloader downloader) { + downloader.setCreatedAt(DateUtils.getNowDate()); + return taskResourceLibraryMapper.insertDownloader(downloader); + } + + public List selectClickerCondition(UserActionDataVo actionDataVo) { + return taskResourceLibraryMapper.selectClickerCondition(actionDataVo); + } + + public List selectSearcherCondition(UserActionDataVo searcher) { + return taskResourceLibraryMapper.selectSearcherCondition(searcher); + } + + public List selectDownloaderCondition(UserActionDataVo downloader) { + return taskResourceLibraryMapper.selectDownloaderCondition(downloader); + } + + public List selectWatcherCondition(UserActionDataVo watcher) { + return taskResourceLibraryMapper.selectWatcherCondition(watcher); + } + + public List selectPapersCondition(UserActionDataVo paper) { + return taskResourceLibraryMapper.selectPapersCondition(paper); + } + + public List selectTaskJournalsCondition(UserActionDataVo taskJournals) { + return taskResourceLibraryMapper.selectTaskJournalsCondition(taskJournals); + } + + public List selectTaskListCondition(TaskListVo taskListVo) { + List taskListVos = taskResourceLibraryMapper.selectTaskListCondition(taskListVo); + for (TaskListVo vo : taskListVos) { + UserActionDataVo c = new UserActionDataVo(); + c.setId(vo.getId()); + c.setItemType(TaskConstant.TASK_TYPE_PAPERS); + long papers = taskResourceLibraryMapper.countPapersCondition(c); + c.setItemType(TaskConstant.TASK_TYPE_WATCHERS); + long watcher = taskResourceLibraryMapper.countWatcherCondition(c); + c.setItemType(TaskConstant.TASK_TYPE_JOURNALS); + long clicker = taskResourceLibraryMapper.countClickerCondition(c); + long downloader = taskResourceLibraryMapper.countDownloaderCondition(c); + long taskJournals = taskResourceLibraryMapper.countTaskJournalsCondition(c); + long searcher = taskResourceLibraryMapper.countSearcherCondition(c); + + vo.setTaskClickCount(clicker); + vo.setTaskWatcherCount(watcher); + vo.setTaskPapersCount(papers); + vo.setTaskDownloadCount(downloader); + vo.setTaskJournalCount(taskJournals); + vo.setTaskSearchCount(searcher); + } + return taskListVos; + } + + +} diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/utils/CustomExecutorFactory.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/utils/CustomExecutorFactory.java new file mode 100644 index 000000000..c14a300bd --- /dev/null +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/utils/CustomExecutorFactory.java @@ -0,0 +1,37 @@ +package com.microservices.dms.utils; + +import com.microservices.common.core.exception.ServiceException; +import com.microservices.common.core.threadPool.ThreadPoolExecutorWrap; + +import java.util.concurrent.ArrayBlockingQueue; +import java.util.concurrent.Executors; +import java.util.concurrent.ThreadPoolExecutor; +import java.util.concurrent.TimeUnit; + +/** + * 线程池工厂 + * + * @author OTTO + */ +public class CustomExecutorFactory { + /** + * 创建线程池 + * 存在并发处理的情况,设置核心线程为2,设置有界队列长度为100,最大线程数为10 + * 当超出队列已满且达到最大线程数时抛出异常 + * Ncpu=CPU数量 + * Ucpu=目标CPU的使用率,0<=Ucpu<=1 + * W/C=任务等待时间与任务计算时间的比率 + * Nthreads =Ncpu*Ucpu*(1+W/C) + */ + public static ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutorWrap( + 4 + , 10 + , 10 + , TimeUnit.SECONDS + , new ArrayBlockingQueue<>(100) + , Executors.defaultThreadFactory() + , (r, executor) -> { + throw new ServiceException("目前处理的人太多了,请稍后再试"); + } + ); +} diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/utils/DmsConstants.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/utils/DmsConstants.java new file mode 100644 index 000000000..83bdcc2bd --- /dev/null +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/utils/DmsConstants.java @@ -0,0 +1,5 @@ +package com.microservices.dms.utils; + +public class DmsConstants { + +} diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/utils/DmsUtils.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/utils/DmsUtils.java new file mode 100644 index 000000000..8522ba0d2 --- /dev/null +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/utils/DmsUtils.java @@ -0,0 +1,82 @@ +package com.microservices.dms.utils; + +import com.microservices.common.core.exception.ServiceException; + +import java.util.Date; +import java.util.HashMap; +import java.util.UUID; +import java.util.function.Function; + +/** + * @author otto + */ +public class DmsUtils { + /** + * 产品标识使用六位随机值 + * + * @return 产品标识 + */ + public static String generateRandomProductIdentifier() { + UUID uuid = UUID.randomUUID(); + // 截取UUID的一部分,例如前6个字符 + return uuid.toString().substring(0, 6).toUpperCase(); + } + + /** + * 校验开始时间和结束时间 + * + * @param startDate 开始时间 + * @param endDate 结束时间 + */ + public static void validStartTimeAndEndTime(Date startDate, Date endDate) { + if (startDate != null && endDate != null) { + if (endDate.before(startDate)) { + throw new ServiceException("结束时间不能早于开始时间"); + } + } + } + + /** + * 从HashMap中获取缓存数据,当HashMap中不存在时执行传入的数据查询方法获取数据并存入缓存(当HashMap为null时直接返回执行数据查询的结果) + * 使用方法名和输入参数作为缓存Key,简化代码 + * + * @param hashMap 缓存 + * @param dataRetrievalFunction 数据查询方法 + * @param args 查询方法输入参数 + * @param 查询方法输入参数类型 + * @param 返回数据类型 + * @return 结果 + */ + public static R getSelectObjectInCache(HashMap hashMap, Function dataRetrievalFunction, T args) { + if (dataRetrievalFunction == null) { + return null; + } + String cacheKey = dataRetrievalFunction.getClass().getSimpleName() + "-" + args; + if (hashMap == null) { + return dataRetrievalFunction.apply(args); + } else if (hashMap.containsKey(cacheKey)) { + @SuppressWarnings("unchecked") + R r = (R) hashMap.get(cacheKey); + return r; + } else { + R r = dataRetrievalFunction.apply(args); + hashMap.put(cacheKey, r); + return r; + } + } + + /** + * 获取文件路径中文件所在的文件夹 + * + * @return 文件夹 + */ + public static String parseDirectory(String filePath) { + // 找到最后一个"/"的位置 + int lastSlashIndex = filePath.lastIndexOf('/'); + if (lastSlashIndex > 0) { + // 截取到"/"之前的所有字符作为文件夹路径 + return filePath.substring(0, lastSlashIndex); + } + return ""; + } +} diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/utils/YamlUtil.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/utils/YamlUtil.java new file mode 100644 index 000000000..e381bf502 --- /dev/null +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/utils/YamlUtil.java @@ -0,0 +1,58 @@ +package com.microservices.dms.utils; + +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.SerializationFeature; +import com.fasterxml.jackson.dataformat.yaml.YAMLFactory; +import com.fasterxml.jackson.dataformat.yaml.YAMLGenerator; +import com.microservices.common.core.exception.ServiceException; +import lombok.extern.slf4j.Slf4j; + +import java.io.IOException; +import java.io.StringWriter; + +@Slf4j +public class YamlUtil { + /** + * 将yaml字符串转成类对象 + * + * @param yamlStr 字符串 + * @param clazz 目标类 + * @param 泛型 + * @return 目标类 + */ + public static T toObject(String yamlStr, Class clazz) { + ObjectMapper mapper = new ObjectMapper(new YAMLFactory()); + mapper.findAndRegisterModules(); + try { + return mapper.readValue(yamlStr, clazz); + } catch (JsonProcessingException e) { + log.error("yaml文本解析成java对象错误:", e); + throw new ServiceException("yaml文本解析成java对象错误!"); + } + } + + /** + * 将类对象转yaml字符串 + * + * @param object 对象 + * @return yaml字符串 + */ + public static String toYaml(Object object) { + ObjectMapper mapper = new ObjectMapper(new YAMLFactory()); + mapper.findAndRegisterModules(); + mapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS); + mapper.disable(SerializationFeature.FAIL_ON_EMPTY_BEANS); + mapper = new ObjectMapper(new YAMLFactory().disable(YAMLGenerator.Feature.WRITE_DOC_START_MARKER)); + StringWriter stringWriter = new StringWriter(); + try { + mapper.writeValue(stringWriter, object); + return stringWriter.toString(); + } catch (IOException e) { + log.error("Java对象解析成Yaml文本错误", e); + } + return null; + } +} + + diff --git a/microservices-modules/microservices-modules-dms/src/main/resources/banner.txt b/microservices-modules/microservices-modules-dms/src/main/resources/banner.txt new file mode 100644 index 000000000..59ae9965a --- /dev/null +++ b/microservices-modules/microservices-modules-dms/src/main/resources/banner.txt @@ -0,0 +1,10 @@ +Spring Boot Version: ${spring-boot.version} +Spring Application Name: ${spring.application.name} + _ + (_) + _ __ _ _ ___ _ _ _ ______ _ __ _ __ ___ ___ +| '__|| | | | / _ \ | | | || ||______|| '_ \ | '_ ` _ \ / __| +| | | |_| || (_) || |_| || | | |_) || | | | | |\__ \ +|_| \__,_| \___/ \__, ||_| | .__/ |_| |_| |_||___/ + __/ | | | + |___/ |_| \ No newline at end of file diff --git a/microservices-modules/microservices-modules-dms/src/main/resources/bootstrap-prod.yml b/microservices-modules/microservices-modules-dms/src/main/resources/bootstrap-prod.yml new file mode 100644 index 000000000..b222e5964 --- /dev/null +++ b/microservices-modules/microservices-modules-dms/src/main/resources/bootstrap-prod.yml @@ -0,0 +1,34 @@ +# Tomcat +server: + port: 9118 + +# Spring +spring: + application: + # 应用名称 + name: microservices-dms + config: + activate: + # 环境配置 + on-profile: + prod + cloud: + sentinel: + # 取消控制台懒加载 + eager: true + nacos: + discovery: + # 服务注册地址 + server-addr: ${nacos_ip}:${nacos_port} + username: ${nacos_username} + password: ${nacos_password} + config: + # 配置中心地址 + server-addr: ${nacos_ip}:${nacos_port} + username: ${nacos_username} + password: ${nacos_password} + # 配置文件格式 + file-extension: yml + # 共享配置 + shared-configs: + - { dataId: "application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}",refresh: true } diff --git a/microservices-modules/microservices-modules-dms/src/main/resources/bootstrap.yml b/microservices-modules/microservices-modules-dms/src/main/resources/bootstrap.yml new file mode 100644 index 000000000..ac90e2bb5 --- /dev/null +++ b/microservices-modules/microservices-modules-dms/src/main/resources/bootstrap.yml @@ -0,0 +1,32 @@ +# Tomcat +server: + port: 9118 + +# Spring +spring: + application: + # 应用名称 + name: microservices-dms + profiles: + # 环境配置 + active: dev + cloud: + sentinel: + # 取消控制台懒加载 + eager: true + nacos: + discovery: + # 服务注册地址 + server-addr: 127.0.0.1:8848 + username: nacos + password: nacos + config: + # 配置中心地址 + server-addr: 127.0.0.1:8848 + username: nacos + password: nacos + # 配置文件格式 + file-extension: yml + # 共享配置 + shared-configs: + - { dataId: "application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}",refresh: true } diff --git a/microservices-modules/microservices-modules-dms/src/main/resources/logback.xml b/microservices-modules/microservices-modules-dms/src/main/resources/logback.xml new file mode 100644 index 000000000..8d66f2a37 --- /dev/null +++ b/microservices-modules/microservices-modules-dms/src/main/resources/logback.xml @@ -0,0 +1,101 @@ + + + + + + + + + + + ${log.pattern} + + + + + + ${log.path}/info.log + + + + ${log.path}/info.%d{yyyy-MM-dd}.log + + 60 + + + ${log.pattern} + + + + INFO + + ACCEPT + + DENY + + + + + ${log.path}/error.log + + + + ${log.path}/error.%d{yyyy-MM-dd}.log + + 60 + + + ${log.pattern} + + + + ERROR + + ACCEPT + + DENY + + + + + + + + + + + + + + + + + + { + "level": "%level", + "tid": "%tid", + "skyWalkingContext": "%sw_ctx", + "thread": "%thread", + "class": "%logger{1.}:%L", + "message": "%message", + "stackTrace": "%exception{10}" + } + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/TaskResourceLibraryMapper.xml b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/TaskResourceLibraryMapper.xml new file mode 100644 index 000000000..89af203c8 --- /dev/null +++ b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/TaskResourceLibraryMapper.xml @@ -0,0 +1,267 @@ + + + + + + INSERT INTO clickers + + + click_type, + + + click_id, + + + user_id, + + + created_at, + + + ext_info + + + + + #{clickType}, + + + #{clickId}, + + + #{userId}, + + + #{createdAt}, + + + #{extInfo} + + + + + + INSERT INTO searchers + + + search_type, + + + search_id, + + + user_id, + + + created_at, + + + ext_info + + + + + #{searchType}, + + + #{searchId}, + + + #{userId}, + + + #{createdAt}, + + + #{extInfo} + + + + + + INSERT INTO downloaders + + + download_type, + + + download_id, + + + user_id, + + + created_at, + + + ext_info + + + + + #{downloadType}, + + + #{downloadId}, + + + #{userId}, + + + #{createdAt}, + + + #{extInfo} + + + + + + + + + + + + + + + + + + + + + + diff --git a/microservices-modules/microservices-modules-dms/src/main/test/com/microservices/pms/test/PmsProjectTestSheetTest.java b/microservices-modules/microservices-modules-dms/src/main/test/com/microservices/pms/test/PmsProjectTestSheetTest.java new file mode 100644 index 000000000..8a38b37c2 --- /dev/null +++ b/microservices-modules/microservices-modules-dms/src/main/test/com/microservices/pms/test/PmsProjectTestSheetTest.java @@ -0,0 +1,63 @@ +package com.microservices.pms.test; + +import com.alibaba.fastjson2.JSON; +import com.microservices.pms.enums.TestCaseStatus; +import com.microservices.pms.project.domain.PmsProjectTestsheetCases; +import com.microservices.pms.project.domain.vo.PmsProjectTestcaseStepDataVo; +import com.microservices.pms.project.domain.vo.PmsProjectTestsheetCaseStepVo; + +import java.math.BigDecimal; +import java.util.*; +import java.util.stream.Collectors; + +public class PmsProjectTestSheetTest { + + public static void main(String[] args) { + List testsheetCasesList= new ArrayList(); + PmsProjectTestsheetCases a = new PmsProjectTestsheetCases(); + a.setTestStatus(1l); + PmsProjectTestsheetCases b = new PmsProjectTestsheetCases(); + b.setTestStatus(1l); + PmsProjectTestsheetCases c = new PmsProjectTestsheetCases(); + c.setTestStatus(3l); + PmsProjectTestsheetCases d = new PmsProjectTestsheetCases(); + d.setTestStatus(3l); + + testsheetCasesList.add(a); + testsheetCasesList.add(b); + testsheetCasesList.add(c); + testsheetCasesList.add(d); + Map listMap = Optional.ofNullable(testsheetCasesList).orElse(Collections.emptyList()).stream() + .collect(Collectors.groupingBy(PmsProjectTestsheetCases::getTestStatus, Collectors.summingInt(value -> 1))); + listMap.forEach((key, value) -> System.out.println("" + key + ":" + value)); + + Long passCount = Optional.ofNullable(testsheetCasesList).orElse(Collections.emptyList()).stream() + .filter(testCase -> testCase.getTestStatus().intValue() == 1).count(); + // 总 = 失败+通过+阻塞+未执行(或者排除跳过的) + Long execTotalCount = Optional.ofNullable(testsheetCasesList).orElse(Collections.emptyList()).stream() + .filter(testCase -> testCase.getTestStatus().intValue() != 2).count(); + //Long execTotalCount = testsheetCasesList.stream().filter(testCase -> new HashSet<>(Arrays.asList(0L, 1L, 2L, 3L)).contains(testCase.getTestStatus())).count(); + // 通过率s + System.out.println(passCount); + System.out.println(execTotalCount); + System.out.println(BigDecimal.valueOf(passCount / execTotalCount.doubleValue()).setScale(2, BigDecimal.ROUND_HALF_UP)); +// System.out.println(BigDecimal.valueOf(0 / 0d).setScale(2, BigDecimal.ROUND_HALF_UP)); + System.out.println(BigDecimal.valueOf(new Double("0.1114"))); + + List testcaseStepList = new ArrayList<>(); + PmsProjectTestsheetCaseStepVo aaa = new PmsProjectTestsheetCaseStepVo(); + aaa.setStepId(1l); + aaa.setStepStatus(1); + PmsProjectTestsheetCaseStepVo bbb = new PmsProjectTestsheetCaseStepVo(); + bbb.setStepId(2l); + bbb.setStepStatus(1); + testcaseStepList.add(aaa); + testcaseStepList.add(bbb); + + System.out.println(JSON.toJSONString(Optional.ofNullable(testcaseStepList).orElse(Collections.emptyList()))); + System.out.println(JSON.parseArray("[{\"stepId\":1,\"stepStatus\":1},{\"stepId\":2,\"stepStatus\":1}]", PmsProjectTestcaseStepDataVo.class)); + System.out.println(JSON.parseArray("[{\"stepId\":1,\"stepStatus\":1},{\"stepId\":2,\"stepStatus\":1}]", HashMap.class)); + + Long[] testsheetCasesIds = testsheetCasesList.stream().map(PmsProjectTestsheetCases::getTestStatus).toArray(Long[]::new); + } +} diff --git a/microservices-modules/pom.xml b/microservices-modules/pom.xml index 70605677d..8d77d8614 100644 --- a/microservices-modules/pom.xml +++ b/microservices-modules/pom.xml @@ -18,6 +18,7 @@ microservices-modules-pms microservices-modules-wiki microservices-modules-dss + microservices-modules-dms microservices-modules From 7b8c8694ff70d73627f5d6a430fc68d531358f27 Mon Sep 17 00:00:00 2001 From: liuhuazhong Date: Fri, 21 Mar 2025 10:55:07 +0800 Subject: [PATCH 02/31] =?UTF-8?q?feat(=E7=AB=9E=E8=B5=9B=E8=B5=84=E6=BA=90?= =?UTF-8?q?=E5=BA=93):=20=E7=AB=9E=E8=B5=9B=E4=B8=8E=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E8=A1=8C=E4=B8=BA=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dms/constant/TaskConstant.java | 9 ++- .../CollectUserActDataController.java | 10 +-- .../CompetitionResourceLibraryController.java | 51 ++++++++++++++ .../TaskResourceLibraryController.java | 8 +-- .../domain/Clicker.java | 2 +- .../domain/Downloader.java | 2 +- .../domain/Searcher.java | 2 +- .../domain/vo/CompetitionListVo.java | 21 ++++++ .../domain/vo/TaskListVo.java | 2 +- .../domain/vo/UserActionDataVo.java | 7 +- .../CompetitionResourceLibraryMapper.java | 22 ++++++ .../mapper/TaskResourceLibraryMapper.java | 12 ++-- .../CompetitionResourceLibraryService.java | 45 +++++++++++++ .../service/TaskResourceLibraryService.java | 16 ++--- .../dms/CompetitionResourceLibraryMapper.xml | 67 +++++++++++++++++++ .../mapper/dms/TaskResourceLibraryMapper.xml | 37 +++++----- 16 files changed, 265 insertions(+), 48 deletions(-) rename microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/{task => resourceLibrary}/controller/CollectUserActDataController.java (80%) create mode 100644 microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/CompetitionResourceLibraryController.java rename microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/{task => resourceLibrary}/controller/TaskResourceLibraryController.java (93%) rename microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/{task => resourceLibrary}/domain/Clicker.java (86%) rename microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/{task => resourceLibrary}/domain/Downloader.java (86%) rename microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/{task => resourceLibrary}/domain/Searcher.java (86%) create mode 100644 microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/vo/CompetitionListVo.java rename microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/{task => resourceLibrary}/domain/vo/TaskListVo.java (89%) rename microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/{task => resourceLibrary}/domain/vo/UserActionDataVo.java (71%) create mode 100644 microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/CompetitionResourceLibraryMapper.java rename microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/{task => resourceLibrary}/mapper/TaskResourceLibraryMapper.java (75%) create mode 100644 microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/CompetitionResourceLibraryService.java rename microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/{task => resourceLibrary}/service/TaskResourceLibraryService.java (86%) create mode 100644 microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/CompetitionResourceLibraryMapper.xml diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/constant/TaskConstant.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/constant/TaskConstant.java index e8b545c47..a41875939 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/constant/TaskConstant.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/constant/TaskConstant.java @@ -2,10 +2,15 @@ package com.microservices.dms.constant; public class TaskConstant { + private TaskConstant() {} + public static final String TASK_TYPE_WATCHERS = "MakerTask"; public static final String TASK_TYPE_JOURNALS = "makerSpaceTask"; public static final String TASK_TYPE_PAPERS = ""; public static final String TASK_TYPE_OTHER = "makerSpaceTask"; - private TaskConstant() { - } + + public static final String COMPETITION_TYPE_WATCHERS = "CompetitionInfo"; + public static final String COMPETITION_TYPE_CLICK = "CompetitionInfo"; + public static final String COMPETITION_TYPE_DOWNLOAD = "CompetitionOpusDownload"; + } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/task/controller/CollectUserActDataController.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/CollectUserActDataController.java similarity index 80% rename from microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/task/controller/CollectUserActDataController.java rename to microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/CollectUserActDataController.java index 54f9470f9..dde64fe70 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/task/controller/CollectUserActDataController.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/CollectUserActDataController.java @@ -1,11 +1,11 @@ -package com.microservices.dms.task.controller; +package com.microservices.dms.resourceLibrary.controller; import com.microservices.common.core.web.domain.AjaxResult; -import com.microservices.dms.task.domain.Clicker; -import com.microservices.dms.task.domain.Downloader; -import com.microservices.dms.task.domain.Searcher; -import com.microservices.dms.task.service.TaskResourceLibraryService; +import com.microservices.dms.resourceLibrary.domain.Clicker; +import com.microservices.dms.resourceLibrary.domain.Downloader; +import com.microservices.dms.resourceLibrary.domain.Searcher; +import com.microservices.dms.resourceLibrary.service.TaskResourceLibraryService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/CompetitionResourceLibraryController.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/CompetitionResourceLibraryController.java new file mode 100644 index 000000000..44042cea7 --- /dev/null +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/CompetitionResourceLibraryController.java @@ -0,0 +1,51 @@ +package com.microservices.dms.resourceLibrary.controller; + +import com.microservices.common.core.utils.PageUtils; +import com.microservices.common.core.web.page.GenericsTableDataInfo; +import com.microservices.dms.resourceLibrary.domain.vo.CompetitionListVo; +import com.microservices.dms.resourceLibrary.service.CompetitionResourceLibraryService; +import com.microservices.dms.resourceLibrary.domain.vo.UserActionDataVo; +import com.microservices.dms.resourceLibrary.service.TaskResourceLibraryService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +@Api(tags = "数据管理体系-竞赛资源库接口") +@RestController +@RequestMapping("/competitionResourceLibrary") +@RequiredArgsConstructor +public class CompetitionResourceLibraryController { + + private final TaskResourceLibraryService taskResourceLibraryService; + private final CompetitionResourceLibraryService competitionResourceLibraryService; + + @GetMapping("/selectRegisterCondition") + @ApiOperation(value = "查询用户报名") + public GenericsTableDataInfo selectRegisterCondition(@RequestParam UserActionDataVo taskJournals) { + PageUtils.startPage(); + List userActionDataVos = competitionResourceLibraryService.selectRegisterCondition(taskJournals); + return PageUtils.toPage(userActionDataVos); + } + + @GetMapping("/selectOpusCondition") + @ApiOperation(value = "查询用户作品") + public GenericsTableDataInfo selectOpusCondition(@RequestParam UserActionDataVo taskJournals) { + PageUtils.startPage(); + List userActionDataVos = competitionResourceLibraryService.selectOpusCondition(taskJournals); + return PageUtils.toPage(userActionDataVos); + } + + @GetMapping("/selectCompetitionListCondition") + @ApiOperation(value = "查询竞赛作品列表") + public GenericsTableDataInfo selectCompetitionListCondition(@RequestParam UserActionDataVo taskJournals) { + PageUtils.startPage(); + List userActionDataVos = competitionResourceLibraryService.selectCompetitionListCondition(taskJournals); + return PageUtils.toPage(userActionDataVos); + } +} diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/task/controller/TaskResourceLibraryController.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/TaskResourceLibraryController.java similarity index 93% rename from microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/task/controller/TaskResourceLibraryController.java rename to microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/TaskResourceLibraryController.java index 19b9da742..0a9d88892 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/task/controller/TaskResourceLibraryController.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/TaskResourceLibraryController.java @@ -1,11 +1,11 @@ -package com.microservices.dms.task.controller; +package com.microservices.dms.resourceLibrary.controller; import com.microservices.common.core.utils.PageUtils; import com.microservices.common.core.web.controller.BaseController; import com.microservices.common.core.web.page.GenericsTableDataInfo; -import com.microservices.dms.task.domain.vo.TaskListVo; -import com.microservices.dms.task.domain.vo.UserActionDataVo; -import com.microservices.dms.task.service.TaskResourceLibraryService; +import com.microservices.dms.resourceLibrary.domain.vo.TaskListVo; +import com.microservices.dms.resourceLibrary.domain.vo.UserActionDataVo; +import com.microservices.dms.resourceLibrary.service.TaskResourceLibraryService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/task/domain/Clicker.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/Clicker.java similarity index 86% rename from microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/task/domain/Clicker.java rename to microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/Clicker.java index 68f652193..1140ecfa4 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/task/domain/Clicker.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/Clicker.java @@ -1,4 +1,4 @@ -package com.microservices.dms.task.domain; +package com.microservices.dms.resourceLibrary.domain; import com.fasterxml.jackson.annotation.JsonFormat; diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/task/domain/Downloader.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/Downloader.java similarity index 86% rename from microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/task/domain/Downloader.java rename to microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/Downloader.java index 5c83f04f0..96209fa7a 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/task/domain/Downloader.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/Downloader.java @@ -1,4 +1,4 @@ -package com.microservices.dms.task.domain; +package com.microservices.dms.resourceLibrary.domain; import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/task/domain/Searcher.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/Searcher.java similarity index 86% rename from microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/task/domain/Searcher.java rename to microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/Searcher.java index aa0de994a..288adc626 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/task/domain/Searcher.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/Searcher.java @@ -1,4 +1,4 @@ -package com.microservices.dms.task.domain; +package com.microservices.dms.resourceLibrary.domain; import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/vo/CompetitionListVo.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/vo/CompetitionListVo.java new file mode 100644 index 000000000..9b99feda2 --- /dev/null +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/vo/CompetitionListVo.java @@ -0,0 +1,21 @@ +package com.microservices.dms.resourceLibrary.domain.vo; + +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class CompetitionListVo { + + private Long id; + private String name; + private String categoryName; + private Long status; + private Long totalTaskDays; + + private Long visits; + private Long watchersCount; + private Long registrationsCount; + private Long opusCount; + private Long opusDownloadCount; +} diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/task/domain/vo/TaskListVo.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/vo/TaskListVo.java similarity index 89% rename from microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/task/domain/vo/TaskListVo.java rename to microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/vo/TaskListVo.java index cebb53e33..879921443 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/task/domain/vo/TaskListVo.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/vo/TaskListVo.java @@ -1,4 +1,4 @@ -package com.microservices.dms.task.domain.vo; +package com.microservices.dms.resourceLibrary.domain.vo; import lombok.Data; diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/task/domain/vo/UserActionDataVo.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/vo/UserActionDataVo.java similarity index 71% rename from microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/task/domain/vo/UserActionDataVo.java rename to microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/vo/UserActionDataVo.java index a33ded0ea..9b2491b2c 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/task/domain/vo/UserActionDataVo.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/vo/UserActionDataVo.java @@ -1,4 +1,4 @@ -package com.microservices.dms.task.domain.vo; +package com.microservices.dms.resourceLibrary.domain.vo; import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; @@ -9,10 +9,11 @@ import java.util.Date; public class UserActionDataVo { private Long id; private String itemType; - private Integer itemId; + private Long itemId; private String itemName; - private Integer userId; + private Long userId; private String userName; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "") private Date createdAt; + private Integer status; } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/CompetitionResourceLibraryMapper.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/CompetitionResourceLibraryMapper.java new file mode 100644 index 000000000..e3f311fdc --- /dev/null +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/CompetitionResourceLibraryMapper.java @@ -0,0 +1,22 @@ +package com.microservices.dms.resourceLibrary.mapper; + +import com.microservices.dms.resourceLibrary.domain.vo.CompetitionListVo; +import com.microservices.dms.resourceLibrary.domain.vo.UserActionDataVo; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +@Mapper +public interface CompetitionResourceLibraryMapper { + + List selectRegisterCondition(UserActionDataVo clicker); + + List selectOpusCondition(UserActionDataVo searcher); + + Long countRegisterCondition(UserActionDataVo clicker); + + Long countOpusCondition(UserActionDataVo searcher); + + List selectCompetitionListCondition(UserActionDataVo downloader); + +} diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/task/mapper/TaskResourceLibraryMapper.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/TaskResourceLibraryMapper.java similarity index 75% rename from microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/task/mapper/TaskResourceLibraryMapper.java rename to microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/TaskResourceLibraryMapper.java index 7c40bb3c1..415a4d4d2 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/task/mapper/TaskResourceLibraryMapper.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/TaskResourceLibraryMapper.java @@ -1,10 +1,10 @@ -package com.microservices.dms.task.mapper; +package com.microservices.dms.resourceLibrary.mapper; -import com.microservices.dms.task.domain.Clicker; -import com.microservices.dms.task.domain.Downloader; -import com.microservices.dms.task.domain.Searcher; -import com.microservices.dms.task.domain.vo.TaskListVo; -import com.microservices.dms.task.domain.vo.UserActionDataVo; +import com.microservices.dms.resourceLibrary.domain.Clicker; +import com.microservices.dms.resourceLibrary.domain.Downloader; +import com.microservices.dms.resourceLibrary.domain.Searcher; +import com.microservices.dms.resourceLibrary.domain.vo.TaskListVo; +import com.microservices.dms.resourceLibrary.domain.vo.UserActionDataVo; import org.apache.ibatis.annotations.Mapper; import java.util.List; diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/CompetitionResourceLibraryService.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/CompetitionResourceLibraryService.java new file mode 100644 index 000000000..de8b9e632 --- /dev/null +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/CompetitionResourceLibraryService.java @@ -0,0 +1,45 @@ +package com.microservices.dms.resourceLibrary.service; + +import com.microservices.dms.resourceLibrary.domain.vo.CompetitionListVo; +import com.microservices.dms.resourceLibrary.mapper.CompetitionResourceLibraryMapper; +import com.microservices.dms.resourceLibrary.domain.vo.UserActionDataVo; +import com.microservices.dms.resourceLibrary.mapper.TaskResourceLibraryMapper; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +import java.util.List; + +import static com.microservices.dms.constant.TaskConstant.COMPETITION_TYPE_DOWNLOAD; + +@Service +@RequiredArgsConstructor +public class CompetitionResourceLibraryService { + private final CompetitionResourceLibraryMapper competitionResourceLibraryMapper; + private final TaskResourceLibraryMapper taskResourceLibraryMapper; + + public List selectRegisterCondition(UserActionDataVo vo) { + return competitionResourceLibraryMapper.selectRegisterCondition(vo); + } + + public List selectOpusCondition(UserActionDataVo vo) { + return competitionResourceLibraryMapper.selectOpusCondition(vo); + } + + public List selectCompetitionListCondition(UserActionDataVo dataVo) { + List competitionListVos = competitionResourceLibraryMapper.selectCompetitionListCondition(dataVo); + for (CompetitionListVo vo : competitionListVos) { + UserActionDataVo c = new UserActionDataVo(); + c.setItemId(vo.getId()); + c.setItemType(COMPETITION_TYPE_DOWNLOAD); + long opusDownload = taskResourceLibraryMapper.countDownloaderCondition(c); + vo.setOpusDownloadCount(opusDownload); + Long register = competitionResourceLibraryMapper.countRegisterCondition(c); + vo.setRegistrationsCount(register); + c.setStatus(3); + Long opus = competitionResourceLibraryMapper.countOpusCondition(c); + vo.setOpusCount(opus); + } + + return competitionListVos; + } +} diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/task/service/TaskResourceLibraryService.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/TaskResourceLibraryService.java similarity index 86% rename from microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/task/service/TaskResourceLibraryService.java rename to microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/TaskResourceLibraryService.java index 9bc9e4bc1..3769420b8 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/task/service/TaskResourceLibraryService.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/TaskResourceLibraryService.java @@ -1,13 +1,13 @@ -package com.microservices.dms.task.service; +package com.microservices.dms.resourceLibrary.service; import com.microservices.common.core.utils.DateUtils; import com.microservices.dms.constant.TaskConstant; -import com.microservices.dms.task.domain.Clicker; -import com.microservices.dms.task.domain.Downloader; -import com.microservices.dms.task.domain.Searcher; -import com.microservices.dms.task.domain.vo.TaskListVo; -import com.microservices.dms.task.domain.vo.UserActionDataVo; -import com.microservices.dms.task.mapper.TaskResourceLibraryMapper; +import com.microservices.dms.resourceLibrary.domain.Clicker; +import com.microservices.dms.resourceLibrary.domain.Downloader; +import com.microservices.dms.resourceLibrary.domain.Searcher; +import com.microservices.dms.resourceLibrary.domain.vo.TaskListVo; +import com.microservices.dms.resourceLibrary.domain.vo.UserActionDataVo; +import com.microservices.dms.resourceLibrary.mapper.TaskResourceLibraryMapper; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -61,7 +61,7 @@ public class TaskResourceLibraryService { List taskListVos = taskResourceLibraryMapper.selectTaskListCondition(taskListVo); for (TaskListVo vo : taskListVos) { UserActionDataVo c = new UserActionDataVo(); - c.setId(vo.getId()); + c.setItemId(vo.getId()); c.setItemType(TaskConstant.TASK_TYPE_PAPERS); long papers = taskResourceLibraryMapper.countPapersCondition(c); c.setItemType(TaskConstant.TASK_TYPE_WATCHERS); diff --git a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/CompetitionResourceLibraryMapper.xml b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/CompetitionResourceLibraryMapper.xml new file mode 100644 index 000000000..a837ce0b7 --- /dev/null +++ b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/CompetitionResourceLibraryMapper.xml @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + diff --git a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/TaskResourceLibraryMapper.xml b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/TaskResourceLibraryMapper.xml index 89af203c8..ee23b9c1b 100644 --- a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/TaskResourceLibraryMapper.xml +++ b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/TaskResourceLibraryMapper.xml @@ -1,10 +1,10 @@ - + + parameterType="com.microservices.dms.resourceLibrary.domain.Clicker"> INSERT INTO clickers @@ -43,7 +43,7 @@ + parameterType="com.microservices.dms.resourceLibrary.domain.Searcher"> INSERT INTO searchers @@ -82,7 +82,7 @@ + parameterType="com.microservices.dms.resourceLibrary.domain.Downloader"> INSERT INTO downloaders @@ -120,7 +120,7 @@ - select click_type as itemType, click_id as itemId, user_id as userId, created_at as createAt, (select login from users where id = user_id) as userName from clickers @@ -132,8 +132,9 @@ - + select search_type as itemType, search_id as itemId, user_id as userId, created_at as createAt, + (select login from users where id = user_id) as userName from searchers AND search_type = #{itemType} @@ -143,8 +144,9 @@ - + select download_type as itemType, download_id as itemId, user_id as userId, created_at as createAt, + (select login from users where id = user_id) as userName from downloaders AND download_type = #{itemType} @@ -154,8 +156,9 @@ - + select watchable_type as itemType, watchable_id as itemId, user_id as userId, created_at as createAt, + (select login from users where id = user_id) as userName from downloaders AND download_type = #{itemType} @@ -165,8 +168,9 @@ - + select journalized_type as itemType, journalized_id as itemId, user_id as userId, created_at as createAt, + (select login from users where id = user_id) as userName from task_journals AND journalized_type = #{itemType} @@ -176,8 +180,9 @@ - + select task_id as itemId, user_id as userId, created_at as createAt, + (select login from users where id = user_id) as userName from papers AND task_id = #{itemId} @@ -185,7 +190,7 @@ - select name,id,bounty,category_id,DATEDIFF(expired_at, published_at) as totalTaskDays, (select c.name from categories c where id = category_id) as categoryName from tasks From 40a1374c40e70878ad13a406e0ebe450680481e7 Mon Sep 17 00:00:00 2001 From: liuhuazhong Date: Fri, 21 Mar 2025 16:55:04 +0800 Subject: [PATCH 03/31] =?UTF-8?q?feat(=E9=A1=B9=E7=9B=AE=E8=B5=84=E6=BA=90?= =?UTF-8?q?=E5=BA=93):=20=E9=A1=B9=E7=9B=AE=E4=B8=8E=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E8=A1=8C=E4=B8=BA=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ProjectResourceLibraryController.java | 84 +++++++++++++++ .../TaskResourceLibraryController.java | 8 ++ .../domain/vo/ProjectListVo.java | 26 +++++ .../mapper/ProjectResourceLibraryMapper.java | 26 +++++ .../mapper/TaskResourceLibraryMapper.java | 5 + .../ProjectResourceLibraryService.java | 45 ++++++++ .../service/TaskResourceLibraryService.java | 4 + .../dms/ProjectResourceLibraryMapper.xml | 102 ++++++++++++++++++ .../mapper/dms/TaskResourceLibraryMapper.xml | 25 ++++- 9 files changed, 324 insertions(+), 1 deletion(-) create mode 100644 microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/ProjectResourceLibraryController.java create mode 100644 microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/vo/ProjectListVo.java create mode 100644 microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/ProjectResourceLibraryMapper.java create mode 100644 microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/ProjectResourceLibraryService.java create mode 100644 microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/ProjectResourceLibraryMapper.xml diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/ProjectResourceLibraryController.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/ProjectResourceLibraryController.java new file mode 100644 index 000000000..4c40293c8 --- /dev/null +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/ProjectResourceLibraryController.java @@ -0,0 +1,84 @@ +package com.microservices.dms.resourceLibrary.controller; + +import com.microservices.common.core.utils.PageUtils; +import com.microservices.common.core.web.controller.BaseController; +import com.microservices.common.core.web.page.GenericsTableDataInfo; +import com.microservices.dms.resourceLibrary.domain.vo.ProjectListVo; +import com.microservices.dms.resourceLibrary.domain.vo.TaskListVo; +import com.microservices.dms.resourceLibrary.domain.vo.UserActionDataVo; +import com.microservices.dms.resourceLibrary.service.ProjectResourceLibraryService; +import com.microservices.dms.resourceLibrary.service.TaskResourceLibraryService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +@Api(tags = "数据管理体系-项目资源库接口") +@RestController +@RequestMapping("/projectResourceLibrary/") +@RequiredArgsConstructor +public class ProjectResourceLibraryController extends BaseController { + + private final ProjectResourceLibraryService projectResourceLibraryService; + + @GetMapping("selectSearcherCondition") + @ApiOperation(value = "查询用户搜索") + public GenericsTableDataInfo selectSearcherCondition(@RequestParam UserActionDataVo taskJournals) { + PageUtils.startPage(); + List userActionDataVos = projectResourceLibraryService.selectSearchCondition(taskJournals); + return PageUtils.toPage(userActionDataVos); + } + + @GetMapping("selectSearcherCondition") + @ApiOperation(value = "查询用户提交") + public GenericsTableDataInfo selectCodeCommitCondition(@RequestParam UserActionDataVo taskJournals) { + PageUtils.startPage(); + List userActionDataVos = projectResourceLibraryService.selectCodeCommitCondition(taskJournals); + return PageUtils.toPage(userActionDataVos); + } + + @GetMapping("selectForkCondition") + @ApiOperation(value = "查询用户Fork") + public GenericsTableDataInfo selectForkCondition(@RequestParam UserActionDataVo taskJournals) { + PageUtils.startPage(); + List userActionDataVos = projectResourceLibraryService.selectForkCondition(taskJournals); + return PageUtils.toPage(userActionDataVos); + } + + @GetMapping("selectIssueCondition") + @ApiOperation(value = "查询用户Issue") + public GenericsTableDataInfo selectIssueCondition(@RequestParam UserActionDataVo taskJournals) { + PageUtils.startPage(); + List userActionDataVos = projectResourceLibraryService.selectIssueCondition(taskJournals); + return PageUtils.toPage(userActionDataVos); + } + + @GetMapping("selectPRCondition") + @ApiOperation(value = "查询用户PR") + public GenericsTableDataInfo selectPRCondition(@RequestParam UserActionDataVo taskJournals) { + PageUtils.startPage(); + List userActionDataVos = projectResourceLibraryService.selectPRCondition(taskJournals); + return PageUtils.toPage(userActionDataVos); + } + + @GetMapping("selectPraisesCondition") + @ApiOperation(value = "查询用户点赞") + public GenericsTableDataInfo selectPraisesCondition(@RequestParam UserActionDataVo taskJournals) { + PageUtils.startPage(); + List userActionDataVos = projectResourceLibraryService.selectPraisesCondition(taskJournals); + return PageUtils.toPage(userActionDataVos); + } + + @GetMapping("selectProjectListCondition") + @ApiOperation(value = "查询任务列表") + public GenericsTableDataInfo selectTaskListCondition(@RequestParam ProjectListVo projectListVo) { + PageUtils.startPage(); + List userActionDataVos = projectResourceLibraryService.selectProjectListCondition(projectListVo); + return PageUtils.toPage(userActionDataVos); + } +} diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/TaskResourceLibraryController.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/TaskResourceLibraryController.java index 0a9d88892..3d9422eee 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/TaskResourceLibraryController.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/TaskResourceLibraryController.java @@ -41,6 +41,14 @@ public class TaskResourceLibraryController extends BaseController { return PageUtils.toPage(userActionDataVos); } + @GetMapping("selectVisitCondition") + @ApiOperation(value = "查询用户点击") + public GenericsTableDataInfo selectVisitCondition(@RequestParam UserActionDataVo taskJournals) { + PageUtils.startPage(); + List userActionDataVos = taskResourceLibraryService.selectVisitCondition(taskJournals); + return PageUtils.toPage(userActionDataVos); + } + @GetMapping("selectDownloaderCondition") @ApiOperation(value = "查询用户下载") public GenericsTableDataInfo selectDownloaderCondition(@RequestParam UserActionDataVo taskJournals) { diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/vo/ProjectListVo.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/vo/ProjectListVo.java new file mode 100644 index 000000000..39924f32a --- /dev/null +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/vo/ProjectListVo.java @@ -0,0 +1,26 @@ +package com.microservices.dms.resourceLibrary.domain.vo; + +import lombok.Data; + +import java.util.Date; + +@Data +public class ProjectListVo { + + private Long id; + private String name; + private Date createdOn; + private String versionReleasesCount; + private String projectLanguages; + private String projectCategories; + private Long praisesCount; + private Long watchersCount; + private Long forkedCount; + private Long issuesCount; + private Long pullRequestsCount; + private Long commitsCount; + private Long licenseId; + private Long membersCount; + private Long membersMonthAddCount; + private Long projectSearchCount; +} diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/ProjectResourceLibraryMapper.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/ProjectResourceLibraryMapper.java new file mode 100644 index 000000000..7e1337386 --- /dev/null +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/ProjectResourceLibraryMapper.java @@ -0,0 +1,26 @@ +package com.microservices.dms.resourceLibrary.mapper; + +import com.microservices.dms.resourceLibrary.domain.vo.ProjectListVo; +import com.microservices.dms.resourceLibrary.domain.vo.UserActionDataVo; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +@Mapper +public interface ProjectResourceLibraryMapper { + + List selectProjectListCondition(ProjectListVo projectListVo); + + List selectCodeCommitCondition(UserActionDataVo userActionDataVo); + + List selectForkCondition(UserActionDataVo userActionDataVo); + + List selectIssueCondition(UserActionDataVo userActionDataVo); + + List selectPRCondition(UserActionDataVo userActionDataVo); + + List selectPraisesCondition(UserActionDataVo userActionDataVo); + + List selectSearchCondition(UserActionDataVo userActionDataVo); + +} diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/TaskResourceLibraryMapper.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/TaskResourceLibraryMapper.java index 415a4d4d2..f0fd5b0aa 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/TaskResourceLibraryMapper.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/TaskResourceLibraryMapper.java @@ -20,6 +20,8 @@ public interface TaskResourceLibraryMapper { List selectClickerCondition(UserActionDataVo clicker); + List selectVisitCondition(UserActionDataVo clicker); + List selectSearcherCondition(UserActionDataVo searcher); List selectDownloaderCondition(UserActionDataVo downloader); @@ -34,6 +36,8 @@ public interface TaskResourceLibraryMapper { long countClickerCondition(UserActionDataVo clicker); + long countVisitCondition(UserActionDataVo clicker); + long countSearcherCondition(UserActionDataVo searcher); long countDownloaderCondition(UserActionDataVo downloader); @@ -41,5 +45,6 @@ public interface TaskResourceLibraryMapper { long countWatcherCondition(UserActionDataVo watcher); long countPapersCondition(UserActionDataVo paper); + long countTaskJournalsCondition(UserActionDataVo taskJournals); } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/ProjectResourceLibraryService.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/ProjectResourceLibraryService.java new file mode 100644 index 000000000..b072c28fd --- /dev/null +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/ProjectResourceLibraryService.java @@ -0,0 +1,45 @@ +package com.microservices.dms.resourceLibrary.service; + + +import com.microservices.dms.resourceLibrary.domain.vo.ProjectListVo; +import com.microservices.dms.resourceLibrary.domain.vo.UserActionDataVo; +import com.microservices.dms.resourceLibrary.mapper.ProjectResourceLibraryMapper; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +@RequiredArgsConstructor +public class ProjectResourceLibraryService { + + private final ProjectResourceLibraryMapper projectResourceLibraryMapper; + + public List selectProjectListCondition(ProjectListVo projectListVo) { + return projectResourceLibraryMapper.selectProjectListCondition(projectListVo); + } + + public List selectCodeCommitCondition(UserActionDataVo userActionDataVo) { + return projectResourceLibraryMapper.selectCodeCommitCondition(userActionDataVo); + } + + public List selectForkCondition(UserActionDataVo userActionDataVo) { + return projectResourceLibraryMapper.selectForkCondition(userActionDataVo); + } + + public List selectIssueCondition(UserActionDataVo userActionDataVo) { + return projectResourceLibraryMapper.selectIssueCondition(userActionDataVo); + } + + public List selectPRCondition(UserActionDataVo userActionDataVo) { + return projectResourceLibraryMapper.selectPRCondition(userActionDataVo); + } + + public List selectPraisesCondition(UserActionDataVo userActionDataVo) { + return projectResourceLibraryMapper.selectPraisesCondition(userActionDataVo); + } + + public List selectSearchCondition(UserActionDataVo userActionDataVo) { + return projectResourceLibraryMapper.selectSearchCondition(userActionDataVo); + } +} diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/TaskResourceLibraryService.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/TaskResourceLibraryService.java index 3769420b8..50658b05d 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/TaskResourceLibraryService.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/TaskResourceLibraryService.java @@ -37,6 +37,10 @@ public class TaskResourceLibraryService { return taskResourceLibraryMapper.selectClickerCondition(actionDataVo); } + public List selectVisitCondition(UserActionDataVo actionDataVo) { + return taskResourceLibraryMapper.selectVisitCondition(actionDataVo); + } + public List selectSearcherCondition(UserActionDataVo searcher) { return taskResourceLibraryMapper.selectSearcherCondition(searcher); } diff --git a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/ProjectResourceLibraryMapper.xml b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/ProjectResourceLibraryMapper.xml new file mode 100644 index 000000000..9724ce067 --- /dev/null +++ b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/ProjectResourceLibraryMapper.xml @@ -0,0 +1,102 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/TaskResourceLibraryMapper.xml b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/TaskResourceLibraryMapper.xml index ee23b9c1b..970bc1a0f 100644 --- a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/TaskResourceLibraryMapper.xml +++ b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/TaskResourceLibraryMapper.xml @@ -132,6 +132,18 @@ + select name,id,bounty,category_id,DATEDIFF(expired_at, published_at) as totalTaskDays, - (select c.name from categories c where id = category_id) as categoryName + (select c.name from categories c where id = category_id) as categoryName,visits from tasks @@ -215,6 +227,17 @@ + - select name,id,`status`,visits,watchers_count,DATEDIFF(upload_date, start_at) as totalTaskDays, + select title as name,id,`status`,visits,watchers_count,DATEDIFF(upload_date, start_at) as totalTaskDays from competition_infos AND `status` = #{status} - AND `name` like concat('%', #{name}, '%') + AND `title` like concat('%', #{name}, '%') diff --git a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/ProjectResourceLibraryMapper.xml b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/ProjectResourceLibraryMapper.xml index 9724ce067..637ae76e2 100644 --- a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/ProjectResourceLibraryMapper.xml +++ b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/ProjectResourceLibraryMapper.xml @@ -10,7 +10,7 @@ (select c.name from project_categories c where id = project_category_id) as projectCategories, forked_count,praises_count,watchers_count,issues_count,pull_requests_count,license_id,visits, (select count(*) from user_actions where action_type='project_search' and action_id=projects.id) as - projectSearchCount, + projectSearchCount,created_on, (select count(*) from commit_logs where project_id=projects.id) as commitsCount, (select count(*) from members where project_id=projects.id) as membersCount, (select count(*) from members where (created_on >= NOW() - INTERVAL 1 MONTH ) and project_id=projects.id) as diff --git a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/TalentReferralMapper.xml b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/TalentReferralMapper.xml new file mode 100644 index 000000000..7b79cf0e2 --- /dev/null +++ b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/TalentReferralMapper.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + diff --git a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/TaskResourceLibraryMapper.xml b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/TaskResourceLibraryMapper.xml index 970bc1a0f..fe9315e28 100644 --- a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/TaskResourceLibraryMapper.xml +++ b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/TaskResourceLibraryMapper.xml @@ -170,13 +170,13 @@ @@ -261,13 +261,13 @@ @@ -277,7 +277,7 @@ AND journalized_type = #{itemType} - + AND journalized_id = #{itemId} @@ -285,7 +285,7 @@ + + + + + + From 346461a63c1f47c41fbf79d5915f30870f14f3bd Mon Sep 17 00:00:00 2001 From: liuhuazhong Date: Wed, 2 Apr 2025 17:14:38 +0800 Subject: [PATCH 06/31] =?UTF-8?q?feat(=E6=88=90=E6=9E=9C=E7=AE=A1=E7=90=86?= =?UTF-8?q?):=20=E6=88=90=E6=9E=9C=E7=AE=A1=E7=90=86=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/AchievementsController.java | 107 +++++ .../domain/Achievements.java | 380 ++++++++++++++++++ .../mapper/AchievementsMapper.java | 63 +++ .../service/IAchievementsService.java | 61 +++ .../service/impl/AchievementsServiceImpl.java | 99 +++++ .../referral/mapper/TalentReferralMapper.java | 2 + .../service/TalentReferralService.java | 8 +- .../CollectUserActDataController.java | 20 + .../CompetitionResourceLibraryController.java | 9 + .../ProjectResourceLibraryController.java | 23 ++ .../TaskResourceLibraryController.java | 42 +- .../dms/resourceLibrary/domain/Searcher.java | 5 +- .../CompetitionResourceLibraryMapper.java | 2 + .../mapper/ProjectResourceLibraryMapper.java | 2 + .../mapper/TaskResourceLibraryMapper.java | 3 + .../mapper/dms/AchievementsMapper.xml | 187 +++++++++ .../dms/ProjectResourceLibraryMapper.xml | 10 +- .../mapper/dms/TaskResourceLibraryMapper.xml | 6 +- .../gen/controller/GenController.java | 22 +- 19 files changed, 1016 insertions(+), 35 deletions(-) create mode 100644 microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/controller/AchievementsController.java create mode 100644 microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/domain/Achievements.java create mode 100644 microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/mapper/AchievementsMapper.java create mode 100644 microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/IAchievementsService.java create mode 100644 microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/impl/AchievementsServiceImpl.java create mode 100644 microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/AchievementsMapper.xml diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/controller/AchievementsController.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/controller/AchievementsController.java new file mode 100644 index 000000000..f2224ec03 --- /dev/null +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/controller/AchievementsController.java @@ -0,0 +1,107 @@ +package com.microservices.dms.achievementLibrary.controller; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; + +import io.swagger.annotations.Api; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.microservices.common.log.annotation.Log; +import com.microservices.common.log.enums.BusinessType; +import com.microservices.common.security.annotation.RequiresPermissions; +import com.microservices.dms.achievementLibrary.domain.Achievements; +import com.microservices.dms.achievementLibrary.service.IAchievementsService; +import com.microservices.common.core.web.controller.BaseController; +import com.microservices.common.core.web.domain.AjaxResult; +import com.microservices.common.core.utils.poi.ExcelUtil; +import com.microservices.common.core.web.page.TableDataInfo; + +/** + * 成果Controller + * + * @author microservices + * @date 2025-04-02 + */ +@RestController +@RequestMapping("/achievements") +@Api(tags = "数据管理体系-成果库接口") +public class AchievementsController extends BaseController +{ + @Autowired + private IAchievementsService achievementsService; + + /** + * 查询成果列表 + */ + @RequiresPermissions("dms:achievements:list") + @GetMapping("/list") + public TableDataInfo list(Achievements achievements) + { + startPage(); + List list = achievementsService.selectAchievementsList(achievements); + return getDataTable(list); + } + + /** + * 导出成果列表 + */ + @RequiresPermissions("dms:achievements:export") + @Log(title = "成果", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, Achievements achievements) + { + List list = achievementsService.selectAchievementsList(achievements); + ExcelUtil util = new ExcelUtil(Achievements.class); + util.exportExcel(response, list, "成果数据"); + } + + /** + * 获取成果详细信息 + */ + @RequiresPermissions("dms:achievements:query") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) + { + return success(achievementsService.selectAchievementsById(id)); + } + + /** + * 新增成果 + */ + @RequiresPermissions("dms:achievements:add") + @Log(title = "成果", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody Achievements achievements) + { + return toAjax(achievementsService.insertAchievements(achievements)); + } + + /** + * 修改成果 + */ + @RequiresPermissions("dms:achievements:edit") + @Log(title = "成果", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody Achievements achievements) + { + return toAjax(achievementsService.updateAchievements(achievements)); + } + + /** + * 删除成果 + */ + @RequiresPermissions("dms:achievements:remove") + @Log(title = "成果", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) + { + return toAjax(achievementsService.deleteAchievementsByIds(ids)); + } +} diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/domain/Achievements.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/domain/Achievements.java new file mode 100644 index 000000000..aa1c655c1 --- /dev/null +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/domain/Achievements.java @@ -0,0 +1,380 @@ +package com.microservices.dms.achievementLibrary.domain; + +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.microservices.common.core.annotation.Excel; +import com.microservices.common.core.web.domain.BaseEntity; + +/** + * 成果对象 achievements + * + * @author microservices + * @date 2025-04-02 + */ +public class Achievements extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 成果唯一标识 */ + private Long id; + + /** 成果名称 */ + @Excel(name = "成果名称") + private String achievementName; + + /** 成果领域1 */ + @Excel(name = "成果领域1") + private String field1; + + /** 成果领域2 */ + @Excel(name = "成果领域2") + private String field2; + + /** 成果领域3 */ + @Excel(name = "成果领域3") + private String field3; + + /** 成果类型 */ + @Excel(name = "成果类型") + private String achievementType; + + /** 成果来源 */ + @Excel(name = "成果来源") + private String source; + + /** 成果来源ID */ + @Excel(name = "成果来源ID") + private String sourceId; + + /** 成果来源跳转链接 */ + @Excel(name = "成果来源跳转链接") + private String sourceLink; + + /** 成果标签 */ + @Excel(name = "成果标签") + private String tags; + + /** 成果摘要 */ + @Excel(name = "成果摘要") + private String summary; + + /** 发布单位 */ + @Excel(name = "发布单位") + private String publishingUnit; + + /** 成果地址 */ + @Excel(name = "成果地址") + private String address; + + /** 是否精选成果 */ + @Excel(name = "是否精选成果") + private Integer isFeatured; + + /** 联系人 */ + @Excel(name = "联系人") + private String contactPerson; + + /** 联系电话 */ + @Excel(name = "联系电话") + private String contactNumber; + + /** 成果所属人ID */ + @Excel(name = "成果所属人ID") + private String ownerId; + + /** 成果所属人名称 */ + @Excel(name = "成果所属人名称") + private String ownerName; + + /** 成果状态 */ + @Excel(name = "成果状态") + private String status; + + /** 成果详情 */ + @Excel(name = "成果详情") + private String details; + + /** 成果审核人 */ + @Excel(name = "成果审核人") + private String reviewer; + + /** 成果审核时间 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "成果审核时间", width = 30, dateFormat = "yyyy-MM-dd") + private Date reviewDate; + + /** 成果审核意见 */ + @Excel(name = "成果审核意见") + private String reviewComments; + + /** 成果图片 */ + @Excel(name = "成果图片") + private String images; + + /** 成果附件 */ + @Excel(name = "成果附件") + private String attachments; + + public void setId(Long id) + { + this.id = id; + } + + public Long getId() + { + return id; + } + public void setAchievementName(String achievementName) + { + this.achievementName = achievementName; + } + + public String getAchievementName() + { + return achievementName; + } + public void setField1(String field1) + { + this.field1 = field1; + } + + public String getField1() + { + return field1; + } + public void setField2(String field2) + { + this.field2 = field2; + } + + public String getField2() + { + return field2; + } + public void setField3(String field3) + { + this.field3 = field3; + } + + public String getField3() + { + return field3; + } + public void setAchievementType(String achievementType) + { + this.achievementType = achievementType; + } + + public String getAchievementType() + { + return achievementType; + } + public void setSource(String source) + { + this.source = source; + } + + public String getSource() + { + return source; + } + public void setSourceId(String sourceId) + { + this.sourceId = sourceId; + } + + public String getSourceId() + { + return sourceId; + } + public void setSourceLink(String sourceLink) + { + this.sourceLink = sourceLink; + } + + public String getSourceLink() + { + return sourceLink; + } + public void setTags(String tags) + { + this.tags = tags; + } + + public String getTags() + { + return tags; + } + public void setSummary(String summary) + { + this.summary = summary; + } + + public String getSummary() + { + return summary; + } + public void setPublishingUnit(String publishingUnit) + { + this.publishingUnit = publishingUnit; + } + + public String getPublishingUnit() + { + return publishingUnit; + } + public void setAddress(String address) + { + this.address = address; + } + + public String getAddress() + { + return address; + } + public void setIsFeatured(Integer isFeatured) + { + this.isFeatured = isFeatured; + } + + public Integer getIsFeatured() + { + return isFeatured; + } + public void setContactPerson(String contactPerson) + { + this.contactPerson = contactPerson; + } + + public String getContactPerson() + { + return contactPerson; + } + public void setContactNumber(String contactNumber) + { + this.contactNumber = contactNumber; + } + + public String getContactNumber() + { + return contactNumber; + } + public void setOwnerId(String ownerId) + { + this.ownerId = ownerId; + } + + public String getOwnerId() + { + return ownerId; + } + public void setOwnerName(String ownerName) + { + this.ownerName = ownerName; + } + + public String getOwnerName() + { + return ownerName; + } + public void setStatus(String status) + { + this.status = status; + } + + public String getStatus() + { + return status; + } + public void setDetails(String details) + { + this.details = details; + } + + public String getDetails() + { + return details; + } + public void setReviewer(String reviewer) + { + this.reviewer = reviewer; + } + + public String getReviewer() + { + return reviewer; + } + public void setReviewDate(Date reviewDate) + { + this.reviewDate = reviewDate; + } + + public Date getReviewDate() + { + return reviewDate; + } + public void setReviewComments(String reviewComments) + { + this.reviewComments = reviewComments; + } + + public String getReviewComments() + { + return reviewComments; + } + public void setImages(String images) + { + this.images = images; + } + + public String getImages() + { + return images; + } + public void setAttachments(String attachments) + { + this.attachments = attachments; + } + + public String getAttachments() + { + return attachments; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("achievementName", getAchievementName()) + .append("field1", getField1()) + .append("field2", getField2()) + .append("field3", getField3()) + .append("achievementType", getAchievementType()) + .append("source", getSource()) + .append("sourceId", getSourceId()) + .append("sourceLink", getSourceLink()) + .append("tags", getTags()) + .append("summary", getSummary()) + .append("publishingUnit", getPublishingUnit()) + .append("address", getAddress()) + .append("isFeatured", getIsFeatured()) + .append("contactPerson", getContactPerson()) + .append("contactNumber", getContactNumber()) + .append("ownerId", getOwnerId()) + .append("ownerName", getOwnerName()) + .append("status", getStatus()) + .append("details", getDetails()) + .append("reviewer", getReviewer()) + .append("reviewDate", getReviewDate()) + .append("reviewComments", getReviewComments()) + .append("images", getImages()) + .append("attachments", getAttachments()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .toString(); + } +} diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/mapper/AchievementsMapper.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/mapper/AchievementsMapper.java new file mode 100644 index 000000000..dd425eea2 --- /dev/null +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/mapper/AchievementsMapper.java @@ -0,0 +1,63 @@ +package com.microservices.dms.achievementLibrary.mapper; + +import java.util.List; +import com.microservices.dms.achievementLibrary.domain.Achievements; +import org.apache.ibatis.annotations.Mapper; + +/** + * 成果Mapper接口 + * + * @author microservices + * @date 2025-04-02 + */ +@Mapper +public interface AchievementsMapper +{ + /** + * 查询成果 + * + * @param id 成果主键 + * @return 成果 + */ + public Achievements selectAchievementsById(Long id); + + /** + * 查询成果列表 + * + * @param achievements 成果 + * @return 成果集合 + */ + public List selectAchievementsList(Achievements achievements); + + /** + * 新增成果 + * + * @param achievements 成果 + * @return 结果 + */ + public int insertAchievements(Achievements achievements); + + /** + * 修改成果 + * + * @param achievements 成果 + * @return 结果 + */ + public int updateAchievements(Achievements achievements); + + /** + * 删除成果 + * + * @param id 成果主键 + * @return 结果 + */ + public int deleteAchievementsById(Long id); + + /** + * 批量删除成果 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteAchievementsByIds(Long[] ids); +} diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/IAchievementsService.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/IAchievementsService.java new file mode 100644 index 000000000..60c33e621 --- /dev/null +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/IAchievementsService.java @@ -0,0 +1,61 @@ +package com.microservices.dms.achievementLibrary.service; + +import java.util.List; +import com.microservices.dms.achievementLibrary.domain.Achievements; + +/** + * 成果Service接口 + * + * @author microservices + * @date 2025-04-02 + */ +public interface IAchievementsService +{ + /** + * 查询成果 + * + * @param id 成果主键 + * @return 成果 + */ + public Achievements selectAchievementsById(Long id); + + /** + * 查询成果列表 + * + * @param achievements 成果 + * @return 成果集合 + */ + public List selectAchievementsList(Achievements achievements); + + /** + * 新增成果 + * + * @param achievements 成果 + * @return 结果 + */ + public int insertAchievements(Achievements achievements); + + /** + * 修改成果 + * + * @param achievements 成果 + * @return 结果 + */ + public int updateAchievements(Achievements achievements); + + /** + * 批量删除成果 + * + * @param ids 需要删除的成果主键集合 + * @return 结果 + */ + public int deleteAchievementsByIds(Long[] ids); + + /** + * 删除成果信息 + * + * @param id 成果主键 + * @return 结果 + */ + public int deleteAchievementsById(Long id); +} diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/impl/AchievementsServiceImpl.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/impl/AchievementsServiceImpl.java new file mode 100644 index 000000000..8d002095d --- /dev/null +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/impl/AchievementsServiceImpl.java @@ -0,0 +1,99 @@ +package com.microservices.dms.achievementLibrary.service.impl; + +import java.util.List; +import com.microservices.common.core.utils.DateUtils; +import com.microservices.common.security.utils.SecurityUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.microservices.dms.achievementLibrary.mapper.AchievementsMapper; +import com.microservices.dms.achievementLibrary.domain.Achievements; +import com.microservices.dms.achievementLibrary.service.IAchievementsService; + +/** + * 成果Service业务层处理 + * + * @author microservices + * @date 2025-04-02 + */ +@Service +public class AchievementsServiceImpl implements IAchievementsService +{ + @Autowired + private AchievementsMapper achievementsMapper; + + /** + * 查询成果 + * + * @param id 成果主键 + * @return 成果 + */ + @Override + public Achievements selectAchievementsById(Long id) + { + return achievementsMapper.selectAchievementsById(id); + } + + /** + * 查询成果列表 + * + * @param achievements 成果 + * @return 成果 + */ + @Override + public List selectAchievementsList(Achievements achievements) + { + return achievementsMapper.selectAchievementsList(achievements); + } + + /** + * 新增成果 + * + * @param achievements 成果 + * @return 结果 + */ + @Override + public int insertAchievements(Achievements achievements) + { + achievements.setCreateTime(DateUtils.getNowDate()); + achievements.setCreateBy(SecurityUtils.getUsername()); + return achievementsMapper.insertAchievements(achievements); + } + + /** + * 修改成果 + * + * @param achievements 成果 + * @return 结果 + */ + @Override + public int updateAchievements(Achievements achievements) + { + achievements.setUpdateTime(DateUtils.getNowDate()); + achievements.setUpdateBy(SecurityUtils.getUsername()); + return achievementsMapper.updateAchievements(achievements); + } + + /** + * 批量删除成果 + * + * @param ids 需要删除的成果主键 + * @return 结果 + */ + @Override + public int deleteAchievementsByIds(Long[] ids) + { + return achievementsMapper.deleteAchievementsByIds(ids); + } + + /** + * 删除成果信息 + * + * @param id 成果主键 + * @return 结果 + */ + @Override + public int deleteAchievementsById(Long id) + { + return achievementsMapper.deleteAchievementsById(id); + } +} diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/referral/mapper/TalentReferralMapper.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/referral/mapper/TalentReferralMapper.java index 14445e1b2..15bd3eea1 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/referral/mapper/TalentReferralMapper.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/referral/mapper/TalentReferralMapper.java @@ -1,5 +1,6 @@ package com.microservices.dms.referral.mapper; +import com.microservices.common.datasource.annotation.Slave; import com.microservices.dms.referral.vo.IssuesVo; import com.microservices.dms.referral.vo.PullRequestVo; import org.apache.ibatis.annotations.Mapper; @@ -8,6 +9,7 @@ import org.apache.ibatis.annotations.Param; import java.util.List; @Mapper +@Slave public interface TalentReferralMapper { List selectIssuesCondition(IssuesVo issuesVo); diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/referral/service/TalentReferralService.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/referral/service/TalentReferralService.java index d547590af..b1d2b043c 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/referral/service/TalentReferralService.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/referral/service/TalentReferralService.java @@ -27,9 +27,6 @@ import java.util.stream.Collectors; @Service public class TalentReferralService { - @Autowired - private GitLinkRequestHelper gitLinkRequestHelper; - @Autowired private TalentReferralMapper talentReferralMapper; @@ -41,7 +38,7 @@ public class TalentReferralService { public Set getContributors(String projectFullName) { try { // 获取项目贡献者数量 - JSONArray contributorsArray = gitLinkRequestHelper.getAllDataByPage(DmsGitLinkRequestUrl.CONTRIBUTORS(projectFullName), "list"); + JSONArray contributorsArray = dmsRequestHelper.getAllDataByPage(DmsGitLinkRequestUrl.CONTRIBUTORS(projectFullName), "list","total_count"); return contributorsArray.stream().map(o -> (JSONObject) o).map(s -> s.getString("contributions")).filter(StringUtils::isNotBlank) .mapToLong(Long::parseLong).boxed().collect(Collectors.toSet()); @@ -55,7 +52,7 @@ public class TalentReferralService { public Set getCollaborators(String projectFullName) { try { // 获取项目成员者数量 - JSONArray contributorsArray = gitLinkRequestHelper.getAllDataByPage(DmsGitLinkRequestUrl.QUERY_USER_FROM_PROJECT(projectFullName), "members"); + JSONArray contributorsArray = dmsRequestHelper.getAllDataByPage(DmsGitLinkRequestUrl.QUERY_USER_FROM_PROJECT(projectFullName), "members","total_count"); return contributorsArray.stream().map(o -> (JSONObject) o).map(s -> s.getString("id")) .filter(StringUtils::isNotBlank).mapToLong(Long::parseLong).boxed().collect(Collectors.toSet()); @@ -237,6 +234,7 @@ public class TalentReferralService { return PRTalentReferral(projectId, prId, openPullRequests); } + //定时统计 public void projectsStatistic(){ } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/CollectUserActDataController.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/CollectUserActDataController.java index dde64fe70..76fd6bacd 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/CollectUserActDataController.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/CollectUserActDataController.java @@ -7,6 +7,8 @@ import com.microservices.dms.resourceLibrary.domain.Downloader; import com.microservices.dms.resourceLibrary.domain.Searcher; import com.microservices.dms.resourceLibrary.service.TaskResourceLibraryService; import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.PostMapping; @@ -22,6 +24,12 @@ public class CollectUserActDataController { private final TaskResourceLibraryService taskResourceLibraryService; @PostMapping("/addClicker") + @ApiImplicitParams({ + @ApiImplicitParam(name = "clickType", value = "点击类型(任务:makerSpaceTask、竞赛:CompetitionInfo、项目:Project)", paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "clickId", value = "点击对象ID", paramType = "query", dataType = "Integer"), + @ApiImplicitParam(name = "userId", value = "用户ID", paramType = "query", dataType = "Integer"), + @ApiImplicitParam(name = "extInfo", value = "补充信息", paramType = "query", dataType = "String") + }) @ApiOperation(value = "记录点击次数") public AjaxResult addTaskClick(Clicker clicker) { return AjaxResult.success(taskResourceLibraryService.addClick(clicker)); @@ -29,12 +37,24 @@ public class CollectUserActDataController { @PostMapping("/addDownloader") @ApiOperation(value = "记录下载次数") + @ApiImplicitParams({ + @ApiImplicitParam(name = "downloadType", value = "下载类型(任务:makerSpaceTask、竞赛作品:CompetitionOpusDownload)", paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "downloadId", value = "下载对象ID", paramType = "query", dataType = "Integer"), + @ApiImplicitParam(name = "userId", value = "用户ID", paramType = "query", dataType = "Integer"), + @ApiImplicitParam(name = "extInfo", value = "补充信息", paramType = "query", dataType = "String") + }) public AjaxResult addDownloader(Downloader downloader) { return AjaxResult.success(taskResourceLibraryService.addDownloader(downloader)); } @PostMapping("/addSearcher") @ApiOperation(value = "记录搜索次数") + @ApiImplicitParams({ + @ApiImplicitParam(name = "searchType", value = "搜索类型(任务:makerSpaceTask、项目:Project、竞赛:CompetitionInfo)", paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "searchId", value = "搜索对象ID", paramType = "query", dataType = "Integer"), + @ApiImplicitParam(name = "userId", value = "用户ID", paramType = "query", dataType = "Integer"), + @ApiImplicitParam(name = "extInfo", value = "补充信息", paramType = "query", dataType = "String") + }) public AjaxResult addSearcher(Searcher searcher) { return AjaxResult.success(taskResourceLibraryService.addSearcher(searcher)); } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/CompetitionResourceLibraryController.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/CompetitionResourceLibraryController.java index b32c01cc7..9a4e591bb 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/CompetitionResourceLibraryController.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/CompetitionResourceLibraryController.java @@ -7,6 +7,8 @@ import com.microservices.dms.resourceLibrary.service.CompetitionResourceLibraryS import com.microservices.dms.resourceLibrary.domain.vo.UserActionDataVo; import com.microservices.dms.resourceLibrary.service.TaskResourceLibraryService; import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.GetMapping; @@ -27,6 +29,9 @@ public class CompetitionResourceLibraryController { @GetMapping("/selectRegisterCondition") @ApiOperation(value = "查询用户报名") + @ApiImplicitParams({ + @ApiImplicitParam(name = "itemId", value = "对象ID", paramType = "query", dataType = "Integer"), + }) public GenericsTableDataInfo selectRegisterCondition(UserActionDataVo taskJournals) { PageUtils.startPage(); List userActionDataVos = competitionResourceLibraryService.selectRegisterCondition(taskJournals); @@ -35,6 +40,10 @@ public class CompetitionResourceLibraryController { @GetMapping("/selectOpusCondition") @ApiOperation(value = "查询用户作品") + @ApiImplicitParams({ + @ApiImplicitParam(name = "status", value = "状态3", paramType = "query", dataType = "Integer"), + @ApiImplicitParam(name = "itemId", value = "对象ID", paramType = "query", dataType = "Integer"), + }) public GenericsTableDataInfo selectOpusCondition(UserActionDataVo taskJournals) { PageUtils.startPage(); List userActionDataVos = competitionResourceLibraryService.selectOpusCondition(taskJournals); diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/ProjectResourceLibraryController.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/ProjectResourceLibraryController.java index dff7f5055..ff77f1aa2 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/ProjectResourceLibraryController.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/ProjectResourceLibraryController.java @@ -9,6 +9,8 @@ import com.microservices.dms.resourceLibrary.domain.vo.UserActionDataVo; import com.microservices.dms.resourceLibrary.service.ProjectResourceLibraryService; import com.microservices.dms.resourceLibrary.service.TaskResourceLibraryService; import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.GetMapping; @@ -28,6 +30,10 @@ public class ProjectResourceLibraryController extends BaseController { @GetMapping("selectSearcherCondition") @ApiOperation(value = "查询用户搜索") + @ApiImplicitParams({ + @ApiImplicitParam(name = "itemType", value = "类型(Project)", paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "itemId", value = "对象ID", paramType = "query", dataType = "Integer"), + }) public GenericsTableDataInfo selectSearcherCondition(UserActionDataVo taskJournals) { PageUtils.startPage(); List userActionDataVos = projectResourceLibraryService.selectSearchCondition(taskJournals); @@ -36,6 +42,9 @@ public class ProjectResourceLibraryController extends BaseController { @GetMapping("selectCodeCommitCondition") @ApiOperation(value = "查询用户提交") + @ApiImplicitParams({ + @ApiImplicitParam(name = "itemId", value = "对象ID", paramType = "query", dataType = "Integer"), + }) public GenericsTableDataInfo selectCodeCommitCondition(UserActionDataVo taskJournals) { PageUtils.startPage(); List userActionDataVos = projectResourceLibraryService.selectCodeCommitCondition(taskJournals); @@ -44,6 +53,9 @@ public class ProjectResourceLibraryController extends BaseController { @GetMapping("selectForkCondition") @ApiOperation(value = "查询用户Fork") + @ApiImplicitParams({ + @ApiImplicitParam(name = "itemId", value = "对象ID", paramType = "query", dataType = "Integer"), + }) public GenericsTableDataInfo selectForkCondition(UserActionDataVo taskJournals) { PageUtils.startPage(); List userActionDataVos = projectResourceLibraryService.selectForkCondition(taskJournals); @@ -52,6 +64,9 @@ public class ProjectResourceLibraryController extends BaseController { @GetMapping("selectIssueCondition") @ApiOperation(value = "查询用户Issue") + @ApiImplicitParams({ + @ApiImplicitParam(name = "itemId", value = "对象ID", paramType = "query", dataType = "Integer"), + }) public GenericsTableDataInfo selectIssueCondition(UserActionDataVo taskJournals) { PageUtils.startPage(); List userActionDataVos = projectResourceLibraryService.selectIssueCondition(taskJournals); @@ -60,6 +75,9 @@ public class ProjectResourceLibraryController extends BaseController { @GetMapping("selectPRCondition") @ApiOperation(value = "查询用户PR") + @ApiImplicitParams({ + @ApiImplicitParam(name = "itemId", value = "对象ID", paramType = "query", dataType = "Integer"), + }) public GenericsTableDataInfo selectPRCondition(UserActionDataVo taskJournals) { PageUtils.startPage(); List userActionDataVos = projectResourceLibraryService.selectPRCondition(taskJournals); @@ -68,6 +86,11 @@ public class ProjectResourceLibraryController extends BaseController { @GetMapping("selectPraisesCondition") @ApiOperation(value = "查询用户点赞") + @ApiImplicitParams({ + @ApiImplicitParam(name = "itemType", value = "类型(Project)", paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "itemId", value = "对象ID", paramType = "query", dataType = "Integer"), + }) + public GenericsTableDataInfo selectPraisesCondition(UserActionDataVo taskJournals) { PageUtils.startPage(); List userActionDataVos = projectResourceLibraryService.selectPraisesCondition(taskJournals); diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/TaskResourceLibraryController.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/TaskResourceLibraryController.java index d787c07e0..729b7f75f 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/TaskResourceLibraryController.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/TaskResourceLibraryController.java @@ -7,6 +7,8 @@ import com.microservices.dms.resourceLibrary.domain.vo.TaskListVo; import com.microservices.dms.resourceLibrary.domain.vo.UserActionDataVo; import com.microservices.dms.resourceLibrary.service.TaskResourceLibraryService; import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.GetMapping; @@ -27,6 +29,10 @@ public class TaskResourceLibraryController extends BaseController { @GetMapping("/selectTaskJournalsCondition") @ApiOperation(value = "查询用户评论") + @ApiImplicitParams({ + @ApiImplicitParam(name = "itemType", value = "类型(任务:makerSpaceTask)", paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "itemId", value = "对象ID", paramType = "query", dataType = "String"), + }) public GenericsTableDataInfo selectTaskJournalsCondition(UserActionDataVo taskJournals) { PageUtils.startPage(); List userActionDataVos = taskResourceLibraryService.selectTaskJournalsCondition(taskJournals); @@ -35,28 +41,40 @@ public class TaskResourceLibraryController extends BaseController { @GetMapping("selectClickerCondition") @ApiOperation(value = "查询用户点击") + @ApiImplicitParams({ + @ApiImplicitParam(name = "itemType", value = "类型(任务:makerSpaceTask)", paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "itemId", value = "对象ID", paramType = "query", dataType = "String"), + }) public GenericsTableDataInfo selectClickerCondition(UserActionDataVo taskJournals) { PageUtils.startPage(); List userActionDataVos = taskResourceLibraryService.selectClickerCondition(taskJournals); return PageUtils.toPage(userActionDataVos); } - @GetMapping("selectVisitCondition") - @ApiOperation(value = "查询用户点击") - public GenericsTableDataInfo selectVisitCondition(UserActionDataVo taskJournals) { - PageUtils.startPage(); - List userActionDataVos = taskResourceLibraryService.selectVisitCondition(taskJournals); - return PageUtils.toPage(userActionDataVos); - } - @GetMapping("selectDownloaderCondition") @ApiOperation(value = "查询用户下载") + @ApiImplicitParams({ + @ApiImplicitParam(name = "itemId", value = "对象ID", paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "itemType", value = "类型(任务:makerSpaceTask)", paramType = "query", dataType = "String"), + }) public GenericsTableDataInfo selectDownloaderCondition(UserActionDataVo taskJournals) { PageUtils.startPage(); List userActionDataVos = taskResourceLibraryService.selectDownloaderCondition(taskJournals); return PageUtils.toPage(userActionDataVos); } + @GetMapping("selectVisitCondition") + @ApiOperation(value = "查询用户点击") + @ApiImplicitParams({ + @ApiImplicitParam(name = "itemType", value = "类型(任务:makerSpaceTask)", paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "itemId", value = "对象ID", paramType = "query", dataType = "String"), + }) + public GenericsTableDataInfo selectVisitCondition(UserActionDataVo taskJournals) { + PageUtils.startPage(); + List userActionDataVos = taskResourceLibraryService.selectVisitCondition(taskJournals); + return PageUtils.toPage(userActionDataVos); + } + @GetMapping("selectPapersCondition") @ApiOperation(value = "查询用户交稿") public GenericsTableDataInfo selectPapersCondition(UserActionDataVo taskJournals) { @@ -67,6 +85,10 @@ public class TaskResourceLibraryController extends BaseController { @GetMapping("selectWatcherCondition") @ApiOperation(value = "查询用户关注") + @ApiImplicitParams({ + @ApiImplicitParam(name = "itemType", value = "类型(任务:MakerTask)", paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "itemId", value = "对象ID", paramType = "query", dataType = "String"), + }) public GenericsTableDataInfo selectWatcherCondition(UserActionDataVo taskJournals) { PageUtils.startPage(); List userActionDataVos = taskResourceLibraryService.selectWatcherCondition(taskJournals); @@ -75,6 +97,10 @@ public class TaskResourceLibraryController extends BaseController { @GetMapping("selectSearcherCondition") @ApiOperation(value = "查询用户搜索") + @ApiImplicitParams({ + @ApiImplicitParam(name = "itemType", value = "类型(任务:makerSpaceTask)", paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "itemId", value = "对象ID", paramType = "query", dataType = "String"), + }) public GenericsTableDataInfo selectSearcherCondition(UserActionDataVo taskJournals) { PageUtils.startPage(); List userActionDataVos = taskResourceLibraryService.selectSearcherCondition(taskJournals); diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/Searcher.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/Searcher.java index 288adc626..d54012d06 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/Searcher.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/Searcher.java @@ -8,11 +8,10 @@ import java.util.Date; @Data public class Searcher { private Long id; - private String clickType; - private Long clickId; + private String searchType; + private Long searchId; private Long userId; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "") private Date createdAt; private String extInfo; - } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/CompetitionResourceLibraryMapper.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/CompetitionResourceLibraryMapper.java index fd2d15381..f0ab2b376 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/CompetitionResourceLibraryMapper.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/CompetitionResourceLibraryMapper.java @@ -1,5 +1,6 @@ package com.microservices.dms.resourceLibrary.mapper; +import com.microservices.common.datasource.annotation.Slave; import com.microservices.dms.resourceLibrary.domain.vo.CompetitionListVo; import com.microservices.dms.resourceLibrary.domain.vo.UserActionDataVo; import org.apache.ibatis.annotations.Mapper; @@ -7,6 +8,7 @@ import org.apache.ibatis.annotations.Mapper; import java.util.List; @Mapper +@Slave public interface CompetitionResourceLibraryMapper { List selectRegisterCondition(UserActionDataVo clicker); diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/ProjectResourceLibraryMapper.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/ProjectResourceLibraryMapper.java index 7e1337386..bd29c097a 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/ProjectResourceLibraryMapper.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/ProjectResourceLibraryMapper.java @@ -1,5 +1,6 @@ package com.microservices.dms.resourceLibrary.mapper; +import com.microservices.common.datasource.annotation.Slave; import com.microservices.dms.resourceLibrary.domain.vo.ProjectListVo; import com.microservices.dms.resourceLibrary.domain.vo.UserActionDataVo; import org.apache.ibatis.annotations.Mapper; @@ -7,6 +8,7 @@ import org.apache.ibatis.annotations.Mapper; import java.util.List; @Mapper +@Slave public interface ProjectResourceLibraryMapper { List selectProjectListCondition(ProjectListVo projectListVo); diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/TaskResourceLibraryMapper.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/TaskResourceLibraryMapper.java index f0fd5b0aa..29b0a6a71 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/TaskResourceLibraryMapper.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/TaskResourceLibraryMapper.java @@ -1,5 +1,6 @@ package com.microservices.dms.resourceLibrary.mapper; +import com.microservices.common.datasource.annotation.Slave; import com.microservices.dms.resourceLibrary.domain.Clicker; import com.microservices.dms.resourceLibrary.domain.Downloader; import com.microservices.dms.resourceLibrary.domain.Searcher; @@ -9,6 +10,8 @@ import org.apache.ibatis.annotations.Mapper; import java.util.List; + +@Slave @Mapper public interface TaskResourceLibraryMapper { diff --git a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/AchievementsMapper.xml b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/AchievementsMapper.xml new file mode 100644 index 000000000..bcb82396a --- /dev/null +++ b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/AchievementsMapper.xml @@ -0,0 +1,187 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select id, achievement_name, field_1, field_2, field_3, achievement_type, source, source_id, source_link, tags, summary, publishing_unit, address, is_featured, contact_person, contact_number, owner_id, owner_name, status, details, reviewer, review_date, review_comments, images, attachments, create_by, create_time, update_by, update_time from achievements + + + + + + + + insert into achievements + + achievement_name, + field_1, + field_2, + field_3, + achievement_type, + source, + source_id, + source_link, + tags, + summary, + publishing_unit, + address, + is_featured, + contact_person, + contact_number, + owner_id, + owner_name, + status, + details, + reviewer, + review_date, + review_comments, + images, + attachments, + create_by, + create_time, + update_by, + update_time, + + + #{achievementName}, + #{field1}, + #{field2}, + #{field3}, + #{achievementType}, + #{source}, + #{sourceId}, + #{sourceLink}, + #{tags}, + #{summary}, + #{publishingUnit}, + #{address}, + #{isFeatured}, + #{contactPerson}, + #{contactNumber}, + #{ownerId}, + #{ownerName}, + #{status}, + #{details}, + #{reviewer}, + #{reviewDate}, + #{reviewComments}, + #{images}, + #{attachments}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + + + + + update achievements + + achievement_name = #{achievementName}, + field_1 = #{field1}, + field_2 = #{field2}, + field_3 = #{field3}, + achievement_type = #{achievementType}, + source = #{source}, + source_id = #{sourceId}, + source_link = #{sourceLink}, + tags = #{tags}, + summary = #{summary}, + publishing_unit = #{publishingUnit}, + address = #{address}, + is_featured = #{isFeatured}, + contact_person = #{contactPerson}, + contact_number = #{contactNumber}, + owner_id = #{ownerId}, + owner_name = #{ownerName}, + status = #{status}, + details = #{details}, + reviewer = #{reviewer}, + review_date = #{reviewDate}, + review_comments = #{reviewComments}, + images = #{images}, + attachments = #{attachments}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + + where id = #{id} + + + + delete from achievements where id = #{id} + + + + delete from achievements where id in + + #{id} + + + \ No newline at end of file diff --git a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/ProjectResourceLibraryMapper.xml b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/ProjectResourceLibraryMapper.xml index 637ae76e2..bc0e10237 100644 --- a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/ProjectResourceLibraryMapper.xml +++ b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/ProjectResourceLibraryMapper.xml @@ -9,7 +9,7 @@ (select name from project_languages where id=project_language_id) as projectLanguages, (select c.name from project_categories c where id = project_category_id) as projectCategories, forked_count,praises_count,watchers_count,issues_count,pull_requests_count,license_id,visits, - (select count(*) from user_actions where action_type='project_search' and action_id=projects.id) as + (select count(*) from searchers where search_type='Project' and search_id=projects.id) as projectSearchCount,created_on, (select count(*) from commit_logs where project_id=projects.id) as commitsCount, (select count(*) from members where project_id=projects.id) as membersCount, @@ -87,14 +87,14 @@ diff --git a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/TaskResourceLibraryMapper.xml b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/TaskResourceLibraryMapper.xml index fe9315e28..1da5a019f 100644 --- a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/TaskResourceLibraryMapper.xml +++ b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/TaskResourceLibraryMapper.xml @@ -83,7 +83,7 @@ - INSERT INTO downloaders + INSERT INTO downloads download_type, @@ -158,7 +158,7 @@ - + + + insert into achievements diff --git a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/SchoolEnterpriseAchievementsMapper.xml b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/SchoolEnterpriseAchievementsMapper.xml new file mode 100644 index 000000000..abd9d4f5c --- /dev/null +++ b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/SchoolEnterpriseAchievementsMapper.xml @@ -0,0 +1,217 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select id, achievement_name, field_1, field_2, field_3, achievement_type, source, source_id, source_link, tags, summary, publishing_unit, address, is_featured, contact_person, contact_number, owner_id, owner_name, status, details, reviewer, review_date, review_comments, images, attachments, create_by, create_time, update_by, update_time from school_enterprise_achievements + + + + + + + + + + insert into school_enterprise_achievements + + achievement_name, + field_1, + field_2, + field_3, + achievement_type, + source, + source_id, + source_link, + tags, + summary, + publishing_unit, + address, + is_featured, + contact_person, + contact_number, + owner_id, + owner_name, + status, + details, + reviewer, + review_date, + review_comments, + images, + attachments, + create_by, + create_time, + update_by, + update_time, + + + #{achievementName}, + #{field1}, + #{field2}, + #{field3}, + #{achievementType}, + #{source}, + #{sourceId}, + #{sourceLink}, + #{tags}, + #{summary}, + #{publishingUnit}, + #{address}, + #{isFeatured}, + #{contactPerson}, + #{contactNumber}, + #{ownerId}, + #{ownerName}, + #{status}, + #{details}, + #{reviewer}, + #{reviewDate}, + #{reviewComments}, + #{images}, + #{attachments}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + + + + + update school_enterprise_achievements + + achievement_name = #{achievementName}, + field_1 = #{field1}, + field_2 = #{field2}, + field_3 = #{field3}, + achievement_type = #{achievementType}, + source = #{source}, + source_id = #{sourceId}, + source_link = #{sourceLink}, + tags = #{tags}, + summary = #{summary}, + publishing_unit = #{publishingUnit}, + address = #{address}, + is_featured = #{isFeatured}, + contact_person = #{contactPerson}, + contact_number = #{contactNumber}, + owner_id = #{ownerId}, + owner_name = #{ownerName}, + status = #{status}, + details = #{details}, + reviewer = #{reviewer}, + review_date = #{reviewDate}, + review_comments = #{reviewComments}, + images = #{images}, + attachments = #{attachments}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + + where id = #{id} + + + + delete from school_enterprise_achievements where id = #{id} + + + + delete from school_enterprise_achievements where id in + + #{id} + + + \ No newline at end of file From 3650c914be3433aa705d3f449733b1ec91c25346 Mon Sep 17 00:00:00 2001 From: liuhuazhong Date: Tue, 8 Apr 2025 08:34:46 +0800 Subject: [PATCH 08/31] =?UTF-8?q?feat(=E9=A1=B9=E7=9B=AE):=20=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE=E8=B5=84=E6=BA=90=E5=BA=93=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ProjectResourceLibraryController.java | 76 +++++- .../domain/ProjectResourceLibrary.java | 206 +++++++++++++++ .../mapper/ProjectResourceLibraryMapper.java | 20 ++ .../ProjectResourceLibraryService.java | 50 ++++ .../dms/ProjectResourceLibraryMapper.xml | 239 ++++++++++++++++++ .../mapper/dms/TaskResourceLibraryMapper.xml | 4 +- 6 files changed, 588 insertions(+), 7 deletions(-) create mode 100644 microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/ProjectResourceLibrary.java diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/ProjectResourceLibraryController.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/ProjectResourceLibraryController.java index 222bc4c1a..50e3717be 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/ProjectResourceLibraryController.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/ProjectResourceLibraryController.java @@ -1,8 +1,12 @@ package com.microservices.dms.resourceLibrary.controller; import com.microservices.common.core.utils.PageUtils; +import com.microservices.common.core.utils.poi.ExcelUtil; import com.microservices.common.core.web.controller.BaseController; +import com.microservices.common.core.web.domain.AjaxResult; import com.microservices.common.core.web.page.GenericsTableDataInfo; +import com.microservices.common.core.web.page.TableDataInfo; +import com.microservices.dms.resourceLibrary.domain.ProjectResourceLibrary; import com.microservices.dms.resourceLibrary.domain.vo.ProjectListVo; import com.microservices.dms.resourceLibrary.domain.vo.TaskListVo; import com.microservices.dms.resourceLibrary.domain.vo.UserActionDataVo; @@ -13,11 +17,9 @@ import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletResponse; import java.util.List; @Api(tags = "数据管理体系-项目资源库接口") @@ -98,10 +100,74 @@ public class ProjectResourceLibraryController extends BaseController { } @GetMapping("selectProjectListCondition") - @ApiOperation(value = "查询任务列表") + @ApiOperation(value = "查询项目统计列表") public GenericsTableDataInfo selectProjectListCondition(ProjectListVo projectListVo) { PageUtils.startPage(); List userActionDataVos = projectResourceLibraryService.selectProjectListCondition(projectListVo); return PageUtils.toPage(userActionDataVos); } + + @ApiOperation(value = "查询项目资源库-列表") + @GetMapping(value = "/list") + public TableDataInfo list(ProjectResourceLibrary projectResourceLibrary) { + startPage(); + List list = projectResourceLibraryService.selectProjectResourceLibraryList(projectResourceLibrary); + return getDataTable(list); + } + + + @PostMapping("/export") + public void export(HttpServletResponse response, ProjectResourceLibrary projectResourceLibrary) { + List list = projectResourceLibraryService.selectProjectResourceLibraryList(projectResourceLibrary); + ExcelUtil util = new ExcelUtil(ProjectResourceLibrary.class); + util.exportExcel(response, list, "数据"); + } + + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) { + return success(projectResourceLibraryService.selectProjectResourceLibraryById(id)); + } + + @PostMapping + public AjaxResult add(@RequestBody ProjectResourceLibrary projectResourceLibrary) { + return toAjax(projectResourceLibraryService.insertProjectResourceLibrary(projectResourceLibrary)); + } + + + @PutMapping + public AjaxResult edit(@RequestBody ProjectResourceLibrary projectResourceLibrary) { + return toAjax(projectResourceLibraryService.updateProjectResourceLibrary(projectResourceLibrary)); + } + + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) { + return toAjax(projectResourceLibraryService.deleteProjectResourceLibraryByIds(ids)); + } + + + @ApiOperation(value = "项目转换成果数") + @GetMapping(value = "/getTotalConversionCount") + public AjaxResult getTotalConversionCount() { + return success(projectResourceLibraryService.getTotalConversionCount()); + } + + @ApiOperation(value = "项目公开数") + @GetMapping(value = "/getPublicProjectCount") + public AjaxResult getPublicProjectCount() { + return success(projectResourceLibraryService.getPublicProjectCount()); + } + + @ApiOperation(value = "项目发布版本数") + @GetMapping(value = "/getTotalReleaseCount") + public AjaxResult getTotalReleaseCount() { + return success(projectResourceLibraryService.getTotalReleaseCount()); + } + + @ApiOperation(value = "项目总数") + @GetMapping(value = "/getTotalProjectCount") + public AjaxResult getTotalProjectCount() { + return success(projectResourceLibraryService.getTotalProjectCount()); + } + + } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/ProjectResourceLibrary.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/ProjectResourceLibrary.java new file mode 100644 index 000000000..f472dd7d6 --- /dev/null +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/ProjectResourceLibrary.java @@ -0,0 +1,206 @@ +package com.microservices.dms.resourceLibrary.domain; + +import java.util.Date; +import java.util.List; + +import com.microservices.common.core.web.domain.BaseEntity; + +/** + * 对象 project_resource_library + * + * @author microservices + * @date 2025-04-07 + */ +public class ProjectResourceLibrary extends BaseEntity { + private static final long serialVersionUID = 1L; + private Long id; + private String projectName; + private String identifier; + private Long projectId; + private Long repositoryId; + private Long versionReleasesId; + private Long isPublic; + private String releaseName; + private Date releaseDate; + private String releasePerson; + private String releaseType; + private String releaseUnit; + private String releaseSummary; + private String releaseDetails; + private String contactPerson; + private String contactPhone; + private Long isTransferredToAchievement; + private Date transferDate; + private Long isSelectedAchievement; + private String images; + private String attachments; + private List attachmentList; + + public String getIdentifier() { + return identifier; + } + + public void setIdentifier(String identifier) { + this.identifier = identifier; + } + + public void setId(Long id) { + this.id = id; + } + + public Long getId() { + return id; + } + + public void setProjectName(String projectName) { + this.projectName = projectName; + } + + public String getProjectName() { + return projectName; + } + + public void setProjectId(Long projectId) { + this.projectId = projectId; + } + + public Long getProjectId() { + return projectId; + } + + public void setRepositoryId(Long repositoryId) { + this.repositoryId = repositoryId; + } + + public Long getRepositoryId() { + return repositoryId; + } + + public void setVersionReleasesId(Long versionReleasesId) { + this.versionReleasesId = versionReleasesId; + } + + public Long getVersionReleasesId() { + return versionReleasesId; + } + + public void setIsPublic(Long isPublic) { + this.isPublic = isPublic; + } + + public Long getIsPublic() { + return isPublic; + } + + public void setReleaseName(String releaseName) { + this.releaseName = releaseName; + } + + public String getReleaseName() { + return releaseName; + } + + public void setReleaseDate(Date releaseDate) { + this.releaseDate = releaseDate; + } + + public Date getReleaseDate() { + return releaseDate; + } + + public void setReleasePerson(String releasePerson) { + this.releasePerson = releasePerson; + } + + public String getReleasePerson() { + return releasePerson; + } + + public void setReleaseType(String releaseType) { + this.releaseType = releaseType; + } + + public String getReleaseType() { + return releaseType; + } + + public void setReleaseUnit(String releaseUnit) { + this.releaseUnit = releaseUnit; + } + + public String getReleaseUnit() { + return releaseUnit; + } + + public void setReleaseSummary(String releaseSummary) { + this.releaseSummary = releaseSummary; + } + + public String getReleaseSummary() { + return releaseSummary; + } + + public void setReleaseDetails(String releaseDetails) { + this.releaseDetails = releaseDetails; + } + + public String getReleaseDetails() { + return releaseDetails; + } + + public void setContactPerson(String contactPerson) { + this.contactPerson = contactPerson; + } + + public String getContactPerson() { + return contactPerson; + } + + public void setContactPhone(String contactPhone) { + this.contactPhone = contactPhone; + } + + public String getContactPhone() { + return contactPhone; + } + + public void setIsTransferredToAchievement(Long isTransferredToAchievement) { + this.isTransferredToAchievement = isTransferredToAchievement; + } + + public Long getIsTransferredToAchievement() { + return isTransferredToAchievement; + } + + public void setTransferDate(Date transferDate) { + this.transferDate = transferDate; + } + + public Date getTransferDate() { + return transferDate; + } + + public void setIsSelectedAchievement(Long isSelectedAchievement) { + this.isSelectedAchievement = isSelectedAchievement; + } + + public Long getIsSelectedAchievement() { + return isSelectedAchievement; + } + + public void setImages(String images) { + this.images = images; + } + + public String getImages() { + return images; + } + + public void setAttachments(String attachments) { + this.attachments = attachments; + } + + public String getAttachments() { + return attachments; + } +} diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/ProjectResourceLibraryMapper.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/ProjectResourceLibraryMapper.java index bd29c097a..71b663b17 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/ProjectResourceLibraryMapper.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/ProjectResourceLibraryMapper.java @@ -1,6 +1,7 @@ package com.microservices.dms.resourceLibrary.mapper; import com.microservices.common.datasource.annotation.Slave; +import com.microservices.dms.resourceLibrary.domain.ProjectResourceLibrary; import com.microservices.dms.resourceLibrary.domain.vo.ProjectListVo; import com.microservices.dms.resourceLibrary.domain.vo.UserActionDataVo; import org.apache.ibatis.annotations.Mapper; @@ -25,4 +26,23 @@ public interface ProjectResourceLibraryMapper { List selectSearchCondition(UserActionDataVo userActionDataVo); + public ProjectResourceLibrary selectProjectResourceLibraryById(Long id); + + public List selectProjectResourceLibraryList(ProjectResourceLibrary projectResourceLibrary); + + public int insertProjectResourceLibrary(ProjectResourceLibrary projectResourceLibrary); + + public int updateProjectResourceLibrary(ProjectResourceLibrary projectResourceLibrary); + + public int deleteProjectResourceLibraryById(Long id); + + public int deleteProjectResourceLibraryByIds(Long[] ids); + + long getTotalProjectCount(); + + long getPublicProjectCount(); + + long getTotalReleaseCount(); + + long getTotalConversionCount(); } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/ProjectResourceLibraryService.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/ProjectResourceLibraryService.java index b072c28fd..882de1c5d 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/ProjectResourceLibraryService.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/ProjectResourceLibraryService.java @@ -1,6 +1,8 @@ package com.microservices.dms.resourceLibrary.service; +import com.microservices.common.core.utils.DateUtils; +import com.microservices.dms.resourceLibrary.domain.ProjectResourceLibrary; import com.microservices.dms.resourceLibrary.domain.vo.ProjectListVo; import com.microservices.dms.resourceLibrary.domain.vo.UserActionDataVo; import com.microservices.dms.resourceLibrary.mapper.ProjectResourceLibraryMapper; @@ -42,4 +44,52 @@ public class ProjectResourceLibraryService { public List selectSearchCondition(UserActionDataVo userActionDataVo) { return projectResourceLibraryMapper.selectSearchCondition(userActionDataVo); } + + + public ProjectResourceLibrary selectProjectResourceLibraryById(Long id) { + return projectResourceLibraryMapper.selectProjectResourceLibraryById(id); + } + + + public List selectProjectResourceLibraryList(ProjectResourceLibrary projectResourceLibrary) { + return projectResourceLibraryMapper.selectProjectResourceLibraryList(projectResourceLibrary); + } + + + public int insertProjectResourceLibrary(ProjectResourceLibrary projectResourceLibrary) { + projectResourceLibrary.setCreateTime(DateUtils.getNowDate()); + return projectResourceLibraryMapper.insertProjectResourceLibrary(projectResourceLibrary); + } + + + public int updateProjectResourceLibrary(ProjectResourceLibrary projectResourceLibrary) { + projectResourceLibrary.setUpdateTime(DateUtils.getNowDate()); + return projectResourceLibraryMapper.updateProjectResourceLibrary(projectResourceLibrary); + } + + + public int deleteProjectResourceLibraryByIds(Long[] ids) { + return projectResourceLibraryMapper.deleteProjectResourceLibraryByIds(ids); + } + + + public int deleteProjectResourceLibraryById(Long id) { + return projectResourceLibraryMapper.deleteProjectResourceLibraryById(id); + } + + public long getTotalProjectCount() { + return projectResourceLibraryMapper.getTotalProjectCount(); + } + + public long getPublicProjectCount() { + return projectResourceLibraryMapper.getPublicProjectCount(); + } + + public long getTotalReleaseCount() { + return projectResourceLibraryMapper.getTotalReleaseCount(); + } + + public long getTotalConversionCount() { + return projectResourceLibraryMapper.getTotalConversionCount(); + } } diff --git a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/ProjectResourceLibraryMapper.xml b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/ProjectResourceLibraryMapper.xml index bc0e10237..b5f0bcb39 100644 --- a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/ProjectResourceLibraryMapper.xml +++ b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/ProjectResourceLibraryMapper.xml @@ -99,4 +99,243 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select id, + project_id, + repository_id, + version_releases_id, + is_public, + release_name, + release_date, + release_person, + release_type, + release_unit, + release_summary, + release_details, + contact_person, + contact_phone, + is_transferred_to_achievement, + transfer_date, + is_selected_achievement, + images, + attachments, + create_by, + create_time, + update_by, + update_time + from project_resource_library + + + + + + + + insert into project_resource_library + + + project_id, + repository_id, + version_releases_id, + is_public, + release_name, + release_date, + release_person, + release_type, + release_unit, + release_summary, + release_details, + contact_person, + contact_phone, + is_transferred_to_achievement, + transfer_date, + is_selected_achievement, + images, + attachments, + create_by, + create_time, + update_by, + update_time, + + + + #{projectId}, + #{repositoryId}, + #{versionReleasesId}, + #{isPublic}, + #{releaseName}, + #{releaseDate}, + #{releasePerson}, + #{releaseType}, + #{releaseUnit}, + #{releaseSummary}, + #{releaseDetails}, + #{contactPerson}, + #{contactPhone}, + #{isTransferredToAchievement}, + #{transferDate}, + #{isSelectedAchievement}, + #{images}, + #{attachments}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + + + + + update project_resource_library + + project_id = #{projectId}, + repository_id = #{repositoryId}, + version_releases_id = #{versionReleasesId}, + is_public = #{isPublic}, + release_name = #{releaseName}, + release_date = #{releaseDate}, + release_person = #{releasePerson}, + release_type = #{releaseType}, + release_unit = #{releaseUnit}, + release_summary = #{releaseSummary}, + release_details = #{releaseDetails}, + contact_person = #{contactPerson}, + contact_phone = #{contactPhone}, + is_transferred_to_achievement = + #{isTransferredToAchievement}, + + transfer_date = #{transferDate}, + is_selected_achievement = #{isSelectedAchievement}, + images = #{images}, + attachments = #{attachments}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + + where id = #{id} + + + + delete + from project_resource_library + where id = #{id} + + + + delete from project_resource_library where id in + + #{id} + + + + + + + + diff --git a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/TaskResourceLibraryMapper.xml b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/TaskResourceLibraryMapper.xml index 1da5a019f..b0d56719f 100644 --- a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/TaskResourceLibraryMapper.xml +++ b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/TaskResourceLibraryMapper.xml @@ -187,7 +187,7 @@ AND journalized_type = #{itemType} - + AND journalized_id = #{itemId} @@ -196,7 +196,7 @@ select task_id as itemId, user_id as userId, created_at as createAt, (select login from users where id = user_id) as userName from papers - + AND task_id = #{itemId} From c3c262caa5b70830d0ec861aefd9cfca97b0a36f Mon Sep 17 00:00:00 2001 From: liuhuazhong Date: Tue, 8 Apr 2025 15:14:49 +0800 Subject: [PATCH 09/31] =?UTF-8?q?feat(=E9=A1=B9=E7=9B=AE):=20=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE=E8=B5=84=E6=BA=90=E5=BA=93=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dms/constant/TaskConstant.java | 5 +++ .../domain/ProjectResourceLibrary.java | 15 +++++++- .../resourceLibrary/domain/vo/KeyValVo.java | 32 ++++++++++++++++ .../mapper/ProjectResourceLibraryMapper.java | 4 ++ .../ProjectResourceLibraryService.java | 38 ++++++++++++++++++- .../dms/ProjectResourceLibraryMapper.xml | 21 +++++++++- 6 files changed, 111 insertions(+), 4 deletions(-) create mode 100644 microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/vo/KeyValVo.java diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/constant/TaskConstant.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/constant/TaskConstant.java index a41875939..09438bdf5 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/constant/TaskConstant.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/constant/TaskConstant.java @@ -13,4 +13,9 @@ public class TaskConstant { public static final String COMPETITION_TYPE_CLICK = "CompetitionInfo"; public static final String COMPETITION_TYPE_DOWNLOAD = "CompetitionOpusDownload"; + + public static final String PROJECT_DOWNLOAD_API = "%s/api/attachments/%s"; + public static final String MARKER_SPACE_DOWNLOAD_API_BY_NAME = "/busiAttachments/downloadAttachment/%s"; + public static final String MARKER_SPACE_DOWNLOAD_API_BY_ID = "/busiAttachments/download/%d"; + } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/ProjectResourceLibrary.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/ProjectResourceLibrary.java index f472dd7d6..ae3ff4b16 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/ProjectResourceLibrary.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/ProjectResourceLibrary.java @@ -1,9 +1,12 @@ package com.microservices.dms.resourceLibrary.domain; +import java.util.ArrayList; import java.util.Date; import java.util.List; +import com.fasterxml.jackson.annotation.JsonFormat; import com.microservices.common.core.web.domain.BaseEntity; +import com.microservices.dms.resourceLibrary.domain.vo.KeyValVo; /** * 对象 project_resource_library @@ -21,6 +24,7 @@ public class ProjectResourceLibrary extends BaseEntity { private Long versionReleasesId; private Long isPublic; private String releaseName; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date releaseDate; private String releasePerson; private String releaseType; @@ -30,11 +34,20 @@ public class ProjectResourceLibrary extends BaseEntity { private String contactPerson; private String contactPhone; private Long isTransferredToAchievement; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date transferDate; private Long isSelectedAchievement; private String images; private String attachments; - private List attachmentList; + private List> attachmentList = new ArrayList<>(); + + public List> getAttachmentList() { + return attachmentList; + } + + public void setAttachmentList(List> attachmentList) { + this.attachmentList = attachmentList; + } public String getIdentifier() { return identifier; diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/vo/KeyValVo.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/vo/KeyValVo.java new file mode 100644 index 000000000..7f831f008 --- /dev/null +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/vo/KeyValVo.java @@ -0,0 +1,32 @@ +package com.microservices.dms.resourceLibrary.domain.vo; + +public class KeyValVo { + private K k; + private V v; + + // 默认构造函数 + public KeyValVo() {} + + // 带参构造函数 + public KeyValVo(K k, V v) { + this.k = k; + this.v = v; + } + + // Getters and Setters + public K getK() { + return k; + } + + public void setK(K k) { + this.k = k; + } + + public V getV() { + return v; + } + + public void setV(V v) { + this.v = v; + } +} \ No newline at end of file diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/ProjectResourceLibraryMapper.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/ProjectResourceLibraryMapper.java index 71b663b17..343c1c649 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/ProjectResourceLibraryMapper.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/ProjectResourceLibraryMapper.java @@ -2,9 +2,11 @@ package com.microservices.dms.resourceLibrary.mapper; import com.microservices.common.datasource.annotation.Slave; import com.microservices.dms.resourceLibrary.domain.ProjectResourceLibrary; +import com.microservices.dms.resourceLibrary.domain.vo.KeyValVo; import com.microservices.dms.resourceLibrary.domain.vo.ProjectListVo; import com.microservices.dms.resourceLibrary.domain.vo.UserActionDataVo; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -45,4 +47,6 @@ public interface ProjectResourceLibraryMapper { long getTotalReleaseCount(); long getTotalConversionCount(); + + List> getAttachments(@Param("containerId") Long containerId); } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/ProjectResourceLibraryService.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/ProjectResourceLibraryService.java index 882de1c5d..433da4ca5 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/ProjectResourceLibraryService.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/ProjectResourceLibraryService.java @@ -2,21 +2,31 @@ package com.microservices.dms.resourceLibrary.service; import com.microservices.common.core.utils.DateUtils; +import com.microservices.common.core.utils.StringUtils; import com.microservices.dms.resourceLibrary.domain.ProjectResourceLibrary; +import com.microservices.dms.resourceLibrary.domain.vo.KeyValVo; import com.microservices.dms.resourceLibrary.domain.vo.ProjectListVo; import com.microservices.dms.resourceLibrary.domain.vo.UserActionDataVo; import com.microservices.dms.resourceLibrary.mapper.ProjectResourceLibraryMapper; import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; +import java.net.MalformedURLException; +import java.net.URL; import java.util.List; +import static com.microservices.dms.constant.TaskConstant.PROJECT_DOWNLOAD_API; + @Service @RequiredArgsConstructor public class ProjectResourceLibraryService { private final ProjectResourceLibraryMapper projectResourceLibraryMapper; + @Value("${http.gitLinkUrl}") + public String gitLinkUrl; + public List selectProjectListCondition(ProjectListVo projectListVo) { return projectResourceLibraryMapper.selectProjectListCondition(projectListVo); } @@ -52,9 +62,35 @@ public class ProjectResourceLibraryService { public List selectProjectResourceLibraryList(ProjectResourceLibrary projectResourceLibrary) { - return projectResourceLibraryMapper.selectProjectResourceLibraryList(projectResourceLibrary); + List list = projectResourceLibraryMapper.selectProjectResourceLibraryList(projectResourceLibrary); + // /api/attachments/10e9c28d-f8cb-4fbd-83c3-e46d2ff1b325 + for (ProjectResourceLibrary l : list) { + List> attachments = projectResourceLibraryMapper.getAttachments(l.getVersionReleasesId()); + for (KeyValVo a : attachments) { + String v = a.getV(); + if (StringUtils.isNotEmpty(v)) { + if (v.startsWith("http")) { + String urlPath = getUrlPath(v); + a.setV(gitLinkUrl + urlPath); + } else { + a.setV(String.format(PROJECT_DOWNLOAD_API, gitLinkUrl, v)); + } + } + } + l.setAttachmentList(attachments); + } + return list; } + private String getUrlPath(String urlString) { + URL url = null; + try { + url = new URL(urlString); + } catch (MalformedURLException e) { + return ""; + } + return url.getPath(); + } public int insertProjectResourceLibrary(ProjectResourceLibrary projectResourceLibrary) { projectResourceLibrary.setCreateTime(DateUtils.getNowDate()); diff --git a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/ProjectResourceLibraryMapper.xml b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/ProjectResourceLibraryMapper.xml index b5f0bcb39..6d109dd83 100644 --- a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/ProjectResourceLibraryMapper.xml +++ b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/ProjectResourceLibraryMapper.xml @@ -171,7 +171,7 @@ pl.release_unit, p.description as release_summary, p.description as release_details, - p.contact_person, + pl.contact_person, pl.contact_phone, pl.is_transferred_to_achievement, pl.transfer_date, @@ -185,7 +185,7 @@ from projects p join repositories r on p.id = r.project_id join version_releases v on r.id = v.repository_id - join project_resource_library pl on v.id = pl.version_releases_id + left join project_resource_library pl on v.id = pl.version_releases_id and p.name like concat('%', #{projectName}, '%') and version_releases_id = #{versionReleasesId} @@ -338,4 +338,21 @@ where is_transferred_to_achievement = 1 + + + From 7c8c717699c9f6f5e0edcd5c226b009616f70d48 Mon Sep 17 00:00:00 2001 From: liuhuazhong Date: Wed, 9 Apr 2025 11:11:44 +0800 Subject: [PATCH 10/31] =?UTF-8?q?feat(=E4=BB=BB=E5=8A=A1):=20=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E8=B5=84=E6=BA=90=E5=BA=93=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dms/constant/TaskConstant.java | 4 +- .../TaskResourceLibraryController.java | 73 +++++- .../domain/TaskResourceLibrary.java | 244 +++++++++++++++++ .../mapper/TaskResourceLibraryMapper.java | 45 ++++ .../ProjectResourceLibraryService.java | 11 +- .../service/TaskResourceLibraryService.java | 86 +++++- .../com/microservices/dms/utils/UrlUtil.java | 17 ++ .../mapper/dms/TalentReferralMapper.xml | 2 +- .../mapper/dms/TaskResourceLibraryMapper.xml | 248 +++++++++++++++++- 9 files changed, 704 insertions(+), 26 deletions(-) create mode 100644 microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/TaskResourceLibrary.java create mode 100644 microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/utils/UrlUtil.java diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/constant/TaskConstant.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/constant/TaskConstant.java index 09438bdf5..9002c9cf2 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/constant/TaskConstant.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/constant/TaskConstant.java @@ -15,7 +15,7 @@ public class TaskConstant { public static final String PROJECT_DOWNLOAD_API = "%s/api/attachments/%s"; - public static final String MARKER_SPACE_DOWNLOAD_API_BY_NAME = "/busiAttachments/downloadAttachment/%s"; - public static final String MARKER_SPACE_DOWNLOAD_API_BY_ID = "/busiAttachments/download/%d"; + public static final String MARKER_SPACE_DOWNLOAD_API_BY_NAME = "%s/busiAttachments/downloadAttachment/%s"; + public static final String MARKER_SPACE_DOWNLOAD_API_BY_ID = "%s/busiAttachments/download/%s"; } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/TaskResourceLibraryController.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/TaskResourceLibraryController.java index f89e1903d..ddcfc702e 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/TaskResourceLibraryController.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/TaskResourceLibraryController.java @@ -1,8 +1,14 @@ package com.microservices.dms.resourceLibrary.controller; import com.microservices.common.core.utils.PageUtils; +import com.microservices.common.core.utils.poi.ExcelUtil; import com.microservices.common.core.web.controller.BaseController; +import com.microservices.common.core.web.domain.AjaxResult; import com.microservices.common.core.web.page.GenericsTableDataInfo; +import com.microservices.common.core.web.page.TableDataInfo; +import com.microservices.common.log.annotation.Log; +import com.microservices.common.log.enums.BusinessType; +import com.microservices.dms.resourceLibrary.domain.TaskResourceLibrary; import com.microservices.dms.resourceLibrary.domain.vo.TaskListVo; import com.microservices.dms.resourceLibrary.domain.vo.UserActionDataVo; import com.microservices.dms.resourceLibrary.service.TaskResourceLibraryService; @@ -11,11 +17,9 @@ import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletResponse; import java.util.List; @Api(tags = "数据管理体系-任务资源库接口") @@ -114,4 +118,65 @@ public class TaskResourceLibraryController extends BaseController { List userActionDataVos = taskResourceLibraryService.selectTaskListCondition(taskListVo); return PageUtils.toPage(userActionDataVos); } + + @GetMapping("/list") + public TableDataInfo list(TaskResourceLibrary taskResourceLibrary) { + startPage(); + List list = taskResourceLibraryService.selectTaskResourceLibraryList(taskResourceLibrary); + return getDataTable(list); + } + + + @PostMapping("/export") + public void export(HttpServletResponse response, TaskResourceLibrary taskResourceLibrary) { + List list = taskResourceLibraryService.selectTaskResourceLibraryList(taskResourceLibrary); + ExcelUtil util = new ExcelUtil(TaskResourceLibrary.class); + util.exportExcel(response, list, "数据"); + } + + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) { + return success(taskResourceLibraryService.selectTaskResourceLibraryById(id)); + } + + + @PostMapping + public AjaxResult add(@RequestBody TaskResourceLibrary taskResourceLibrary) { + return toAjax(taskResourceLibraryService.insertTaskResourceLibrary(taskResourceLibrary)); + } + + @PutMapping + public AjaxResult edit(@RequestBody TaskResourceLibrary taskResourceLibrary) { + return toAjax(taskResourceLibraryService.updateTaskResourceLibrary(taskResourceLibrary)); + } + + @Log(title = "【请填写功能名称】", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) { + return toAjax(taskResourceLibraryService.deleteTaskResourceLibraryByIds(ids)); + } + + @GetMapping(value = "/getTotalTasks") + @ApiOperation(value = "获取任务总数") + public AjaxResult getTotalTasks() { + return success(taskResourceLibraryService.getTotalTasks()); + } + + @GetMapping(value = "/getConvertedTaskAmount") + @ApiOperation(value = "获取转换成果任务金额") + public AjaxResult getConvertedTaskAmount() { + return success(taskResourceLibraryService.getConvertedTaskAmount()); + } + + @GetMapping(value = "/getConvertedTasksCount") + @ApiOperation(value = "获取任务转换成果数") + public AjaxResult getConvertedTasksCount() { + return success(taskResourceLibraryService.getConvertedTasksCount()); + } + + @GetMapping(value = "/getTaskAmount") + @ApiOperation(value = "获取任务金额") + public AjaxResult getTaskAmount() { + return success(taskResourceLibraryService.getTotalTasks()); + } } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/TaskResourceLibrary.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/TaskResourceLibrary.java new file mode 100644 index 000000000..eff975708 --- /dev/null +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/TaskResourceLibrary.java @@ -0,0 +1,244 @@ +package com.microservices.dms.resourceLibrary.domain; + +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.microservices.dms.resourceLibrary.domain.vo.KeyValVo; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.microservices.common.core.annotation.Excel; +import com.microservices.common.core.web.domain.BaseEntity; + +/** + * @author microservices + * @date 2025-04-08 + */ +public class TaskResourceLibrary extends BaseEntity { + private static final long serialVersionUID = 1L; + + private Long id; + + private Long taskId; + + private Long paperId; + + private String taskName; + + private String taskDomain; + + private BigDecimal taskAmount; + + private String submissionName; + + private Date submissionDate; + + private String submitterName; + private String submissionType; + private String submissionOrganization; + private String submissionSummary; + private String releaseDetails; + private String contactName; + private String contactPhone; + private Long isTransferredToResultsLibrary; + private Date transferToResultsDate; + private Long isSelectedResult; + private String imageUrl; + private String attachmentUrl; + private List> attachmentList; + + public List> getAttachmentList() { + return attachmentList; + } + + public void setAttachmentList(List> attachmentList) { + this.attachmentList = attachmentList; + } + + public void setId(Long id) { + this.id = id; + } + + public Long getId() { + return id; + } + + public void setTaskId(Long taskId) { + this.taskId = taskId; + } + + public Long getTaskId() { + return taskId; + } + + public void setPaperId(Long paperId) { + this.paperId = paperId; + } + + public Long getPaperId() { + return paperId; + } + + public void setTaskName(String taskName) { + this.taskName = taskName; + } + + public String getTaskName() { + return taskName; + } + + public void setTaskDomain(String taskDomain) { + this.taskDomain = taskDomain; + } + + public String getTaskDomain() { + return taskDomain; + } + + public void setTaskAmount(BigDecimal taskAmount) { + this.taskAmount = taskAmount; + } + + public BigDecimal getTaskAmount() { + return taskAmount; + } + + public void setSubmissionName(String submissionName) { + this.submissionName = submissionName; + } + + public String getSubmissionName() { + return submissionName; + } + + public void setSubmissionDate(Date submissionDate) { + this.submissionDate = submissionDate; + } + + public Date getSubmissionDate() { + return submissionDate; + } + + public void setSubmitterName(String submitterName) { + this.submitterName = submitterName; + } + + public String getSubmitterName() { + return submitterName; + } + + public void setSubmissionType(String submissionType) { + this.submissionType = submissionType; + } + + public String getSubmissionType() { + return submissionType; + } + + public void setSubmissionOrganization(String submissionOrganization) { + this.submissionOrganization = submissionOrganization; + } + + public String getSubmissionOrganization() { + return submissionOrganization; + } + + public void setSubmissionSummary(String submissionSummary) { + this.submissionSummary = submissionSummary; + } + + public String getSubmissionSummary() { + return submissionSummary; + } + + public void setReleaseDetails(String releaseDetails) { + this.releaseDetails = releaseDetails; + } + + public String getReleaseDetails() { + return releaseDetails; + } + + public void setContactName(String contactName) { + this.contactName = contactName; + } + + public String getContactName() { + return contactName; + } + + public void setContactPhone(String contactPhone) { + this.contactPhone = contactPhone; + } + + public String getContactPhone() { + return contactPhone; + } + + public void setIsTransferredToResultsLibrary(Long isTransferredToResultsLibrary) { + this.isTransferredToResultsLibrary = isTransferredToResultsLibrary; + } + + public Long getIsTransferredToResultsLibrary() { + return isTransferredToResultsLibrary; + } + + public void setTransferToResultsDate(Date transferToResultsDate) { + this.transferToResultsDate = transferToResultsDate; + } + + public Date getTransferToResultsDate() { + return transferToResultsDate; + } + + public void setIsSelectedResult(Long isSelectedResult) { + this.isSelectedResult = isSelectedResult; + } + + public Long getIsSelectedResult() { + return isSelectedResult; + } + + public void setImageUrl(String imageUrl) { + this.imageUrl = imageUrl; + } + + public String getImageUrl() { + return imageUrl; + } + + public void setAttachmentUrl(String attachmentUrl) { + this.attachmentUrl = attachmentUrl; + } + + public String getAttachmentUrl() { + return attachmentUrl; + } + + @Override + public String toString() { + return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("taskId", getTaskId()) + .append("paperId", getPaperId()) + .append("taskName", getTaskName()) + .append("taskDomain", getTaskDomain()) + .append("taskAmount", getTaskAmount()) + .append("submissionName", getSubmissionName()) + .append("submissionDate", getSubmissionDate()) + .append("submitterName", getSubmitterName()) + .append("submissionType", getSubmissionType()) + .append("submissionOrganization", getSubmissionOrganization()) + .append("submissionSummary", getSubmissionSummary()) + .append("releaseDetails", getReleaseDetails()) + .append("contactName", getContactName()) + .append("contactPhone", getContactPhone()) + .append("isTransferredToResultsLibrary", getIsTransferredToResultsLibrary()) + .append("transferToResultsDate", getTransferToResultsDate()) + .append("isSelectedResult", getIsSelectedResult()) + .append("imageUrl", getImageUrl()) + .append("attachmentUrl", getAttachmentUrl()) + .toString(); + } +} diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/TaskResourceLibraryMapper.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/TaskResourceLibraryMapper.java index 29b0a6a71..00c0274e5 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/TaskResourceLibraryMapper.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/TaskResourceLibraryMapper.java @@ -4,9 +4,12 @@ import com.microservices.common.datasource.annotation.Slave; import com.microservices.dms.resourceLibrary.domain.Clicker; import com.microservices.dms.resourceLibrary.domain.Downloader; import com.microservices.dms.resourceLibrary.domain.Searcher; +import com.microservices.dms.resourceLibrary.domain.TaskResourceLibrary; +import com.microservices.dms.resourceLibrary.domain.vo.KeyValVo; import com.microservices.dms.resourceLibrary.domain.vo.TaskListVo; import com.microservices.dms.resourceLibrary.domain.vo.UserActionDataVo; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -50,4 +53,46 @@ public interface TaskResourceLibraryMapper { long countPapersCondition(UserActionDataVo paper); long countTaskJournalsCondition(UserActionDataVo taskJournals); + + TaskResourceLibrary selectTaskResourceLibraryById(Long id); + + List selectTaskResourceLibraryList(TaskResourceLibrary taskResourceLibrary); + + int insertTaskResourceLibrary(TaskResourceLibrary taskResourceLibrary); + + int updateTaskResourceLibrary(TaskResourceLibrary taskResourceLibrary); + + int deleteTaskResourceLibraryById(Long id); + + int deleteTaskResourceLibraryByIds(Long[] ids); + + List> getAttachments(@Param("id") Long id); + + /** + * 获取任务总数 + * + * @return 任务总数 + */ + long getTotalTasks(); + + /** + * 获取转换成果任务金额 + * + * @return 转换成果任务金额 + */ + double getConvertedTaskAmount(); + + /** + * 获取任务转换成果数 + * + * @return 任务转换成果数 + */ + long getConvertedTasksCount(); + + /** + * 获取任务金额 + * + * @return 任务金额 + */ + long getTaskAmount(); } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/ProjectResourceLibraryService.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/ProjectResourceLibraryService.java index 433da4ca5..6ddadccae 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/ProjectResourceLibraryService.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/ProjectResourceLibraryService.java @@ -8,6 +8,7 @@ import com.microservices.dms.resourceLibrary.domain.vo.KeyValVo; import com.microservices.dms.resourceLibrary.domain.vo.ProjectListVo; import com.microservices.dms.resourceLibrary.domain.vo.UserActionDataVo; import com.microservices.dms.resourceLibrary.mapper.ProjectResourceLibraryMapper; +import com.microservices.dms.utils.UrlUtil; import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; @@ -17,6 +18,7 @@ import java.net.URL; import java.util.List; import static com.microservices.dms.constant.TaskConstant.PROJECT_DOWNLOAD_API; +import static com.microservices.dms.utils.UrlUtil.getUrlPath; @Service @RequiredArgsConstructor @@ -82,15 +84,6 @@ public class ProjectResourceLibraryService { return list; } - private String getUrlPath(String urlString) { - URL url = null; - try { - url = new URL(urlString); - } catch (MalformedURLException e) { - return ""; - } - return url.getPath(); - } public int insertProjectResourceLibrary(ProjectResourceLibrary projectResourceLibrary) { projectResourceLibrary.setCreateTime(DateUtils.getNowDate()); diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/TaskResourceLibraryService.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/TaskResourceLibraryService.java index 50658b05d..ed164bddf 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/TaskResourceLibraryService.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/TaskResourceLibraryService.java @@ -1,23 +1,31 @@ package com.microservices.dms.resourceLibrary.service; import com.microservices.common.core.utils.DateUtils; +import com.microservices.common.core.utils.StringUtils; import com.microservices.dms.constant.TaskConstant; -import com.microservices.dms.resourceLibrary.domain.Clicker; -import com.microservices.dms.resourceLibrary.domain.Downloader; -import com.microservices.dms.resourceLibrary.domain.Searcher; +import com.microservices.dms.resourceLibrary.domain.*; +import com.microservices.dms.resourceLibrary.domain.vo.KeyValVo; import com.microservices.dms.resourceLibrary.domain.vo.TaskListVo; import com.microservices.dms.resourceLibrary.domain.vo.UserActionDataVo; import com.microservices.dms.resourceLibrary.mapper.TaskResourceLibraryMapper; import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import java.util.List; +import static com.microservices.dms.constant.TaskConstant.MARKER_SPACE_DOWNLOAD_API_BY_ID; +import static com.microservices.dms.constant.TaskConstant.PROJECT_DOWNLOAD_API; +import static com.microservices.dms.utils.UrlUtil.getUrlPath; + @Service @RequiredArgsConstructor public class TaskResourceLibraryService { private final TaskResourceLibraryMapper taskResourceLibraryMapper; + @Value("${markerSpaceUrl}") + public String markerSpaceUrl; + public int addClick(Clicker click) { click.setCreatedAt(DateUtils.getNowDate()); return taskResourceLibraryMapper.insertClicker(click); @@ -86,5 +94,77 @@ public class TaskResourceLibraryService { return taskListVos; } + public TaskResourceLibrary selectTaskResourceLibraryById(Long id) { + return taskResourceLibraryMapper.selectTaskResourceLibraryById(id); + } + + + public List selectTaskResourceLibraryList(TaskResourceLibrary taskResourceLibrary) { + List list = taskResourceLibraryMapper.selectTaskResourceLibraryList(taskResourceLibrary); + for (TaskResourceLibrary l : list) { + List> attachments = taskResourceLibraryMapper.getAttachments(l.getPaperId()); + for (KeyValVo a : attachments) { + String v = a.getV(); + a.setV(String.format(MARKER_SPACE_DOWNLOAD_API_BY_ID, markerSpaceUrl, v)); + } + l.setAttachmentList(attachments); + } + return list; + } + + + public int insertTaskResourceLibrary(TaskResourceLibrary taskResourceLibrary) { + return taskResourceLibraryMapper.insertTaskResourceLibrary(taskResourceLibrary); + } + + + public int updateTaskResourceLibrary(TaskResourceLibrary taskResourceLibrary) { + return taskResourceLibraryMapper.updateTaskResourceLibrary(taskResourceLibrary); + } + + public int deleteTaskResourceLibraryByIds(Long[] ids) { + return taskResourceLibraryMapper.deleteTaskResourceLibraryByIds(ids); + } + + public int deleteTaskResourceLibraryById(Long id) { + return taskResourceLibraryMapper.deleteTaskResourceLibraryById(id); + } + + + /** + * 获取任务总数 + * + * @return 任务总数 + */ + public long getTotalTasks() { + return taskResourceLibraryMapper.getTotalTasks(); + } + + /** + * 获取转换成果任务金额 + * + * @return 转换成果任务金额 + */ + public double getConvertedTaskAmount() { + return taskResourceLibraryMapper.getConvertedTaskAmount(); + } + + /** + * 获取任务转换成果数 + * + * @return 任务转换成果数 + */ + public long getConvertedTasksCount() { + return taskResourceLibraryMapper.getConvertedTasksCount(); + } + + /** + * 获取任务金额 + * + * @return 任务金额 + */ + long getTaskAmount() { + return taskResourceLibraryMapper.getTaskAmount(); + } } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/utils/UrlUtil.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/utils/UrlUtil.java new file mode 100644 index 000000000..179220401 --- /dev/null +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/utils/UrlUtil.java @@ -0,0 +1,17 @@ +package com.microservices.dms.utils; + +import java.net.MalformedURLException; +import java.net.URL; + +public class UrlUtil { + + public static String getUrlPath(String urlString) { + URL url; + try { + url = new URL(urlString); + } catch (MalformedURLException e) { + return ""; + } + return url.getPath(); + } +} diff --git a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/TalentReferralMapper.xml b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/TalentReferralMapper.xml index 1a425012a..0029dfb43 100644 --- a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/TalentReferralMapper.xml +++ b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/TalentReferralMapper.xml @@ -23,7 +23,7 @@ - select download_type as itemType, download_id as itemId, user_id as userId, created_at as createAt, - (select login from users where id = user_id) as userName from downloads + (select login from users where id = user_id) as userName from downloads AND download_type = #{itemType} @@ -170,7 +171,7 @@ - select journalized_type as itemType, journalized_id as itemId, user_id as userId, created_at as createAt, - (select login from users where id = user_id) as userName from task_journals + (select login from users where id = user_id) as userName from task_journals AND journalized_type = #{itemType} @@ -194,7 +196,7 @@ + + + + + + + + + + + + + + + + + + + + + + + + + select id, + task_id, + paper_id, + task_name, + task_domain, + task_amount, + submission_name, + submission_date, + submitter_name, + submission_type, + submission_organization, + submission_summary, + release_details, + contact_name, + contact_phone, + is_transferred_to_results_library, + transfer_to_results_date, + is_selected_result, + image_url, + attachment_url + from task_resource_library + + + + + + + + + + + + + + + + + + insert into task_resource_library + + task_id, + paper_id, + task_name, + task_domain, + task_amount, + submission_name, + submission_date, + submitter_name, + submission_type, + submission_organization, + submission_summary, + release_details, + contact_name, + contact_phone, + is_transferred_to_results_library, + transfer_to_results_date, + is_selected_result, + image_url, + attachment_url, + + + #{taskId}, + #{paperId}, + #{taskName}, + #{taskDomain}, + #{taskAmount}, + #{submissionName}, + #{submissionDate}, + #{submitterName}, + #{submissionType}, + #{submissionOrganization}, + #{submissionSummary}, + #{releaseDetails}, + #{contactName}, + #{contactPhone}, + #{isTransferredToResultsLibrary}, + #{transferToResultsDate}, + #{isSelectedResult}, + #{imageUrl}, + #{attachmentUrl}, + + + + + update task_resource_library + + task_id = #{taskId}, + paper_id = #{paperId}, + task_name = #{taskName}, + task_domain = #{taskDomain}, + task_amount = #{taskAmount}, + submission_name = #{submissionName}, + submission_date = #{submissionDate}, + submitter_name = #{submitterName}, + submission_type = #{submissionType}, + submission_organization = #{submissionOrganization}, + submission_summary = #{submissionSummary}, + release_details = #{releaseDetails}, + contact_name = #{contactName}, + contact_phone = #{contactPhone}, + is_transferred_to_results_library = + #{isTransferredToResultsLibrary}, + + transfer_to_results_date = #{transferToResultsDate}, + is_selected_result = #{isSelectedResult}, + image_url = #{imageUrl}, + attachment_url = #{attachmentUrl}, + + where id = #{id} + + + + delete + from task_resource_library + where id = #{id} + + + + delete from task_resource_library where id in + + #{id} + + From 553198b554137185bc85747ac364a56f6b50a3b3 Mon Sep 17 00:00:00 2001 From: liuhuazhong Date: Wed, 9 Apr 2025 16:45:46 +0800 Subject: [PATCH 11/31] =?UTF-8?q?feat(=E7=AB=9E=E8=B5=9B):=20=E7=AB=9E?= =?UTF-8?q?=E8=B5=9B=E8=B5=84=E6=BA=90=E5=BA=93=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/AchievementsController.java | 12 +- ...choolEnterpriseAchievementsController.java | 46 ++- .../mapper/AchievementsMapper.java | 4 + .../SchoolEnterpriseAchievementsMapper.java | 3 + .../CompetitionResourceLibraryController.java | 104 ++++++- .../domain/CompetitionResourceLibrary.java | 226 +++++++++++++++ .../CompetitionResourceLibraryMapper.java | 24 ++ .../CompetitionResourceLibraryService.java | 92 ++++++ .../ProjectResourceLibraryService.java | 1 + .../service/TaskResourceLibraryService.java | 2 + .../dms/CompetitionResourceLibraryMapper.xml | 273 +++++++++++++++++- 11 files changed, 742 insertions(+), 45 deletions(-) create mode 100644 microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/CompetitionResourceLibrary.java diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/controller/AchievementsController.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/controller/AchievementsController.java index f2224ec03..552d853bb 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/controller/AchievementsController.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/controller/AchievementsController.java @@ -40,7 +40,7 @@ public class AchievementsController extends BaseController /** * 查询成果列表 */ - @RequiresPermissions("dms:achievements:list") + //@RequiresPermissions("dms:achievements:list") @GetMapping("/list") public TableDataInfo list(Achievements achievements) { @@ -52,7 +52,7 @@ public class AchievementsController extends BaseController /** * 导出成果列表 */ - @RequiresPermissions("dms:achievements:export") + //@RequiresPermissions("dms:achievements:export") @Log(title = "成果", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(HttpServletResponse response, Achievements achievements) @@ -65,7 +65,7 @@ public class AchievementsController extends BaseController /** * 获取成果详细信息 */ - @RequiresPermissions("dms:achievements:query") + //@RequiresPermissions("dms:achievements:query") @GetMapping(value = "/{id}") public AjaxResult getInfo(@PathVariable("id") Long id) { @@ -75,7 +75,7 @@ public class AchievementsController extends BaseController /** * 新增成果 */ - @RequiresPermissions("dms:achievements:add") + //@RequiresPermissions("dms:achievements:add") @Log(title = "成果", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@RequestBody Achievements achievements) @@ -86,7 +86,7 @@ public class AchievementsController extends BaseController /** * 修改成果 */ - @RequiresPermissions("dms:achievements:edit") + //@RequiresPermissions("dms:achievements:edit") @Log(title = "成果", businessType = BusinessType.UPDATE) @PutMapping public AjaxResult edit(@RequestBody Achievements achievements) @@ -97,7 +97,7 @@ public class AchievementsController extends BaseController /** * 删除成果 */ - @RequiresPermissions("dms:achievements:remove") + //@RequiresPermissions("dms:achievements:remove") @Log(title = "成果", businessType = BusinessType.DELETE) @DeleteMapping("/{ids}") public AjaxResult remove(@PathVariable Long[] ids) diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/controller/SchoolEnterpriseAchievementsController.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/controller/SchoolEnterpriseAchievementsController.java index f50d2d7a8..27d327cf7 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/controller/SchoolEnterpriseAchievementsController.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/controller/SchoolEnterpriseAchievementsController.java @@ -1,29 +1,22 @@ package com.microservices.dms.achievementLibrary.controller; -import java.util.List; -import javax.servlet.http.HttpServletResponse; - +import com.microservices.common.core.utils.poi.ExcelUtil; +import com.microservices.common.core.web.controller.BaseController; +import com.microservices.common.core.web.domain.AjaxResult; +import com.microservices.common.core.web.page.TableDataInfo; +import com.microservices.common.log.annotation.Log; +import com.microservices.common.log.enums.BusinessType; +import com.microservices.dms.achievementLibrary.domain.SchoolEnterpriseAchievements; +import com.microservices.dms.achievementLibrary.service.ISchoolEnterpriseAchievementsService; +import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; -import com.microservices.common.log.annotation.Log; -import com.microservices.common.log.enums.BusinessType; -import com.microservices.common.security.annotation.RequiresPermissions; -import com.microservices.dms.achievementLibrary.domain.SchoolEnterpriseAchievements; -import com.microservices.dms.achievementLibrary.service.ISchoolEnterpriseAchievementsService; -import com.microservices.common.core.web.controller.BaseController; -import com.microservices.common.core.web.domain.AjaxResult; -import com.microservices.common.core.utils.poi.ExcelUtil; -import com.microservices.common.core.web.page.TableDataInfo; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; /** * 校企成果Controller @@ -31,6 +24,7 @@ import com.microservices.common.core.web.page.TableDataInfo; * @author microservices * @date 2025-04-03 */ +@Api(tags = "数据管理体系-校企成果接口") @RestController @RequestMapping("/schoolEnterpriseAchievements") public class SchoolEnterpriseAchievementsController extends BaseController @@ -41,7 +35,7 @@ public class SchoolEnterpriseAchievementsController extends BaseController /** * 查询校企成果列表 */ - @RequiresPermissions("dms:achievements:list") + //@RequiresPermissions("dms:achievements:list") @GetMapping("/list") public TableDataInfo list(SchoolEnterpriseAchievements schoolEnterpriseAchievements) { @@ -53,7 +47,7 @@ public class SchoolEnterpriseAchievementsController extends BaseController /** * 导出校企成果列表 */ - @RequiresPermissions("dms:achievements:export") + //@RequiresPermissions("dms:achievements:export") @Log(title = "校企成果", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(HttpServletResponse response, SchoolEnterpriseAchievements schoolEnterpriseAchievements) @@ -66,7 +60,7 @@ public class SchoolEnterpriseAchievementsController extends BaseController /** * 获取校企成果详细信息 */ - @RequiresPermissions("dms:achievements:query") + //@RequiresPermissions("dms:achievements:query") @GetMapping(value = "/{id}") public AjaxResult getInfo(@PathVariable("id") Long id) { @@ -76,7 +70,7 @@ public class SchoolEnterpriseAchievementsController extends BaseController /** * 新增校企成果 */ - @RequiresPermissions("dms:achievements:add") + //@RequiresPermissions("dms:achievements:add") @Log(title = "校企成果", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@RequestBody SchoolEnterpriseAchievements schoolEnterpriseAchievements) @@ -87,7 +81,7 @@ public class SchoolEnterpriseAchievementsController extends BaseController /** * 修改校企成果 */ - @RequiresPermissions("dms:achievements:edit") + //@RequiresPermissions("dms:achievements:edit") @Log(title = "校企成果", businessType = BusinessType.UPDATE) @PutMapping public AjaxResult edit(@RequestBody SchoolEnterpriseAchievements schoolEnterpriseAchievements) @@ -98,7 +92,7 @@ public class SchoolEnterpriseAchievementsController extends BaseController /** * 删除校企成果 */ - @RequiresPermissions("dms:achievements:remove") + //@RequiresPermissions("dms:achievements:remove") @Log(title = "校企成果", businessType = BusinessType.DELETE) @DeleteMapping("/{ids}") public AjaxResult remove(@PathVariable Long[] ids) diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/mapper/AchievementsMapper.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/mapper/AchievementsMapper.java index 61b8c3db0..9370a446a 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/mapper/AchievementsMapper.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/mapper/AchievementsMapper.java @@ -4,6 +4,8 @@ import java.util.List; import java.util.Map; import java.util.Set; +import com.microservices.common.datasource.annotation.Master; +import com.microservices.common.datasource.annotation.Slave; import com.microservices.dms.achievementLibrary.domain.Achievements; import org.apache.ibatis.annotations.MapKey; import org.apache.ibatis.annotations.Mapper; @@ -16,6 +18,7 @@ import org.apache.ibatis.annotations.Param; * @date 2025-04-02 */ @Mapper +@Slave public interface AchievementsMapper { /** * 查询成果 @@ -66,5 +69,6 @@ public interface AchievementsMapper { public int deleteAchievementsByIds(Long[] ids); @MapKey("k") + @Master List> getFileInfoByIdents(@Param("idents") Set idents); } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/mapper/SchoolEnterpriseAchievementsMapper.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/mapper/SchoolEnterpriseAchievementsMapper.java index 774a1aea3..ae89460ff 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/mapper/SchoolEnterpriseAchievementsMapper.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/mapper/SchoolEnterpriseAchievementsMapper.java @@ -1,6 +1,8 @@ package com.microservices.dms.achievementLibrary.mapper; import java.util.List; + +import com.microservices.common.datasource.annotation.Slave; import com.microservices.dms.achievementLibrary.domain.SchoolEnterpriseAchievements; import org.apache.ibatis.annotations.Mapper; @@ -11,6 +13,7 @@ import org.apache.ibatis.annotations.Mapper; * @date 2025-04-03 */ @Mapper +@Slave public interface SchoolEnterpriseAchievementsMapper { /** diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/CompetitionResourceLibraryController.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/CompetitionResourceLibraryController.java index ea3159f5d..ec2acf738 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/CompetitionResourceLibraryController.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/CompetitionResourceLibraryController.java @@ -1,7 +1,12 @@ package com.microservices.dms.resourceLibrary.controller; import com.microservices.common.core.utils.PageUtils; +import com.microservices.common.core.utils.poi.ExcelUtil; +import com.microservices.common.core.web.controller.BaseController; +import com.microservices.common.core.web.domain.AjaxResult; import com.microservices.common.core.web.page.GenericsTableDataInfo; +import com.microservices.common.core.web.page.TableDataInfo; +import com.microservices.dms.resourceLibrary.domain.CompetitionResourceLibrary; import com.microservices.dms.resourceLibrary.domain.vo.CompetitionListVo; import com.microservices.dms.resourceLibrary.service.CompetitionResourceLibraryService; import com.microservices.dms.resourceLibrary.domain.vo.UserActionDataVo; @@ -11,18 +16,19 @@ import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletResponse; import java.util.List; +import static com.microservices.common.core.utils.PageUtils.startPage; +import static com.microservices.common.core.web.domain.AjaxResult.success; + @Api(tags = "数据管理体系-竞赛资源库接口") @RestController @RequestMapping("/competitionResourceLibrary") @RequiredArgsConstructor -public class CompetitionResourceLibraryController { +public class CompetitionResourceLibraryController extends BaseController { private final TaskResourceLibraryService taskResourceLibraryService; private final CompetitionResourceLibraryService competitionResourceLibraryService; @@ -33,7 +39,7 @@ public class CompetitionResourceLibraryController { @ApiImplicitParam(name = "itemId", value = "对象ID", paramType = "query", dataTypeClass = Integer.class), }) public GenericsTableDataInfo selectRegisterCondition(UserActionDataVo taskJournals) { - PageUtils.startPage(); + startPage(); List userActionDataVos = competitionResourceLibraryService.selectRegisterCondition(taskJournals); return PageUtils.toPage(userActionDataVos); } @@ -45,7 +51,7 @@ public class CompetitionResourceLibraryController { @ApiImplicitParam(name = "itemId", value = "对象ID", paramType = "query", dataTypeClass = Integer.class), }) public GenericsTableDataInfo selectOpusCondition(UserActionDataVo taskJournals) { - PageUtils.startPage(); + startPage(); List userActionDataVos = competitionResourceLibraryService.selectOpusCondition(taskJournals); return PageUtils.toPage(userActionDataVos); } @@ -53,8 +59,90 @@ public class CompetitionResourceLibraryController { @GetMapping("/selectCompetitionListCondition") @ApiOperation(value = "查询竞赛作品列表") public GenericsTableDataInfo selectCompetitionListCondition(CompetitionListVo taskJournals) { - PageUtils.startPage(); + startPage(); List userActionDataVos = competitionResourceLibraryService.selectCompetitionListCondition(taskJournals); return PageUtils.toPage(userActionDataVos); } + + @GetMapping("/list") + public TableDataInfo list(CompetitionResourceLibrary competitionResourceLibrary) { + startPage(); + List list = competitionResourceLibraryService.selectCompetitionResourceLibraryList(competitionResourceLibrary); + return getDataTable(list); + } + + @PostMapping("/export") + public void export(HttpServletResponse response, CompetitionResourceLibrary competitionResourceLibrary) { + List list = competitionResourceLibraryService.selectCompetitionResourceLibraryList(competitionResourceLibrary); + ExcelUtil util = new ExcelUtil(CompetitionResourceLibrary.class); + util.exportExcel(response, list, "数据"); + } + + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) { + return success(competitionResourceLibraryService.selectCompetitionResourceLibraryById(id)); + } + + @PostMapping + public AjaxResult add(@RequestBody CompetitionResourceLibrary competitionResourceLibrary) { + return success(competitionResourceLibraryService.insertCompetitionResourceLibrary(competitionResourceLibrary)); + } + + @PutMapping + public AjaxResult edit(@RequestBody CompetitionResourceLibrary competitionResourceLibrary) { + return success(competitionResourceLibraryService.updateCompetitionResourceLibrary(competitionResourceLibrary)); + } + + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) { + return success(competitionResourceLibraryService.deleteCompetitionResourceLibraryByIds(ids)); + } + + /** + * 返回开放竞赛总数 + * + * @return 开放竞赛总数 + */ + @ApiOperation(value = "返回开放竞赛总数") + @GetMapping(value = "/getTotalOpenCompetitions") + public long getTotalOpenCompetitions() { + // 这里替换成你的实际逻辑,例如从数据库查询 + return competitionResourceLibraryService.getTotalOpenCompetitions(); + } + + /** + * 返回竞赛转换成果数 + * + * @return 竞赛转换成果数 + */ + @ApiOperation(value = "返回竞赛转换成果数") + @GetMapping(value = "/getTotalCompetitionAchievements") + public long getTotalCompetitionAchievements() { + // 这里替换成你的实际逻辑 + return competitionResourceLibraryService.getTotalCompetitionAchievements(); + } + + /** + * 返回竞赛提交作品数 + * + * @return 竞赛提交作品数 + */ + @ApiOperation(value = "返回竞赛提交作品数") + @GetMapping(value = "/getTotalCompetitionSubmissions") + public long getTotalCompetitionSubmissions() { + // 这里替换成你的实际逻辑 + return competitionResourceLibraryService.getTotalCompetitionSubmissions(); + } + + /** + * 返回已结束竞赛数 + * + * @return 已结束竞赛数 + */ + @ApiOperation(value = "返回已结束竞赛数") + @GetMapping(value = "/getTotalFinishedCompetitions") + public long getTotalFinishedCompetitions() { + // 这里替换成你的实际逻辑 + return competitionResourceLibraryService.getTotalFinishedCompetitions(); + } } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/CompetitionResourceLibrary.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/CompetitionResourceLibrary.java new file mode 100644 index 000000000..0a59ac988 --- /dev/null +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/CompetitionResourceLibrary.java @@ -0,0 +1,226 @@ +package com.microservices.dms.resourceLibrary.domain; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +import com.microservices.common.core.web.domain.BaseEntity; +import com.microservices.dms.resourceLibrary.domain.vo.KeyValVo; + +/** + * @author microservices + * @date 2025-04-09 + */ +public class CompetitionResourceLibrary extends BaseEntity { + private static final long serialVersionUID = 1L; + + + private Long id; + + private Long openCompetitionId; + + private String openCompetitionName; + + private Long competitionUserId; + + private String competitionField; + + private String competitionStatus; + + private String competitionSubmissionName; + + private Date submissionTime; + + private String submitter; + + private String submissionType; + + private String submittingUnit; + + private String submissionSummary; + + private String submissionDetails; + + private String contactPerson; + + private String contactPhone; + + private Integer isTransferredToResultLibrary; + + private Date transferredToResultLibraryTime; + + private Integer isFeaturedResult; + + private String image; + + private String attachment; + private List> attachmentList = new ArrayList<>(); + + public List> getAttachmentList() { + return attachmentList; + } + + public void setAttachmentList(List> attachmentList) { + this.attachmentList = attachmentList; + } + + public void setId(Long id) { + this.id = id; + } + + public Long getId() { + return id; + } + + public void setOpenCompetitionId(Long openCompetitionId) { + this.openCompetitionId = openCompetitionId; + } + + public Long getOpenCompetitionId() { + return openCompetitionId; + } + + public void setOpenCompetitionName(String openCompetitionName) { + this.openCompetitionName = openCompetitionName; + } + + public String getOpenCompetitionName() { + return openCompetitionName; + } + + public void setCompetitionUserId(Long competitionUserId) { + this.competitionUserId = competitionUserId; + } + + public Long getCompetitionUserId() { + return competitionUserId; + } + + public void setCompetitionField(String competitionField) { + this.competitionField = competitionField; + } + + public String getCompetitionField() { + return competitionField; + } + + public void setCompetitionStatus(String competitionStatus) { + this.competitionStatus = competitionStatus; + } + + public String getCompetitionStatus() { + return competitionStatus; + } + + public void setCompetitionSubmissionName(String competitionSubmissionName) { + this.competitionSubmissionName = competitionSubmissionName; + } + + public String getCompetitionSubmissionName() { + return competitionSubmissionName; + } + + public void setSubmissionTime(Date submissionTime) { + this.submissionTime = submissionTime; + } + + public Date getSubmissionTime() { + return submissionTime; + } + + public void setSubmitter(String submitter) { + this.submitter = submitter; + } + + public String getSubmitter() { + return submitter; + } + + public void setSubmissionType(String submissionType) { + this.submissionType = submissionType; + } + + public String getSubmissionType() { + return submissionType; + } + + public void setSubmittingUnit(String submittingUnit) { + this.submittingUnit = submittingUnit; + } + + public String getSubmittingUnit() { + return submittingUnit; + } + + public void setSubmissionSummary(String submissionSummary) { + this.submissionSummary = submissionSummary; + } + + public String getSubmissionSummary() { + return submissionSummary; + } + + public void setSubmissionDetails(String submissionDetails) { + this.submissionDetails = submissionDetails; + } + + public String getSubmissionDetails() { + return submissionDetails; + } + + public void setContactPerson(String contactPerson) { + this.contactPerson = contactPerson; + } + + public String getContactPerson() { + return contactPerson; + } + + public void setContactPhone(String contactPhone) { + this.contactPhone = contactPhone; + } + + public String getContactPhone() { + return contactPhone; + } + + public void setIsTransferredToResultLibrary(Integer isTransferredToResultLibrary) { + this.isTransferredToResultLibrary = isTransferredToResultLibrary; + } + + public Integer getIsTransferredToResultLibrary() { + return isTransferredToResultLibrary; + } + + public void setTransferredToResultLibraryTime(Date transferredToResultLibraryTime) { + this.transferredToResultLibraryTime = transferredToResultLibraryTime; + } + + public Date getTransferredToResultLibraryTime() { + return transferredToResultLibraryTime; + } + + public void setIsFeaturedResult(Integer isFeaturedResult) { + this.isFeaturedResult = isFeaturedResult; + } + + public Integer getIsFeaturedResult() { + return isFeaturedResult; + } + + public void setImage(String image) { + this.image = image; + } + + public String getImage() { + return image; + } + + public void setAttachment(String attachment) { + this.attachment = attachment; + } + + public String getAttachment() { + return attachment; + } +} diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/CompetitionResourceLibraryMapper.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/CompetitionResourceLibraryMapper.java index f0ab2b376..2ad90a96b 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/CompetitionResourceLibraryMapper.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/CompetitionResourceLibraryMapper.java @@ -1,9 +1,12 @@ package com.microservices.dms.resourceLibrary.mapper; import com.microservices.common.datasource.annotation.Slave; +import com.microservices.dms.resourceLibrary.domain.CompetitionResourceLibrary; import com.microservices.dms.resourceLibrary.domain.vo.CompetitionListVo; +import com.microservices.dms.resourceLibrary.domain.vo.KeyValVo; import com.microservices.dms.resourceLibrary.domain.vo.UserActionDataVo; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -21,4 +24,25 @@ public interface CompetitionResourceLibraryMapper { List selectCompetitionListCondition(CompetitionListVo downloader); + CompetitionResourceLibrary selectCompetitionResourceLibraryById(Long id); + + List selectCompetitionResourceLibraryList(CompetitionResourceLibrary competitionResourceLibrary); + + int insertCompetitionResourceLibrary(CompetitionResourceLibrary competitionResourceLibrary); + + int updateCompetitionResourceLibrary(CompetitionResourceLibrary competitionResourceLibrary); + + int deleteCompetitionResourceLibraryById(Long id); + + int deleteCompetitionResourceLibraryByIds(Long[] ids); + + List> getAttachments(@Param("id") Long id); + + long getTotalOpenCompetitions(); + + long getTotalCompetitionAchievements(); + + long getTotalCompetitionSubmissions(); + + long getTotalFinishedCompetitions(); } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/CompetitionResourceLibraryService.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/CompetitionResourceLibraryService.java index 5d2c85a43..559cd29db 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/CompetitionResourceLibraryService.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/CompetitionResourceLibraryService.java @@ -1,19 +1,31 @@ package com.microservices.dms.resourceLibrary.service; +import com.microservices.common.core.utils.DateUtils; +import com.microservices.common.core.utils.StringUtils; +import com.microservices.dms.resourceLibrary.domain.CompetitionResourceLibrary; +import com.microservices.dms.resourceLibrary.domain.ProjectResourceLibrary; import com.microservices.dms.resourceLibrary.domain.vo.CompetitionListVo; +import com.microservices.dms.resourceLibrary.domain.vo.KeyValVo; import com.microservices.dms.resourceLibrary.mapper.CompetitionResourceLibraryMapper; import com.microservices.dms.resourceLibrary.domain.vo.UserActionDataVo; import com.microservices.dms.resourceLibrary.mapper.TaskResourceLibraryMapper; import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import java.util.List; import static com.microservices.dms.constant.TaskConstant.COMPETITION_TYPE_DOWNLOAD; +import static com.microservices.dms.constant.TaskConstant.PROJECT_DOWNLOAD_API; +import static com.microservices.dms.utils.UrlUtil.getUrlPath; @Service @RequiredArgsConstructor public class CompetitionResourceLibraryService { + + @Value("${http.gitLinkUrl}") + public String gitLinkUrl; + private final CompetitionResourceLibraryMapper competitionResourceLibraryMapper; private final TaskResourceLibraryMapper taskResourceLibraryMapper; @@ -42,4 +54,84 @@ public class CompetitionResourceLibraryService { return competitionListVos; } + + public CompetitionResourceLibrary selectCompetitionResourceLibraryById(Long id) { + return competitionResourceLibraryMapper.selectCompetitionResourceLibraryById(id); + } + + public List selectCompetitionResourceLibraryList(CompetitionResourceLibrary competitionResourceLibrary) { + List list = competitionResourceLibraryMapper.selectCompetitionResourceLibraryList(competitionResourceLibrary); + // /api/attachments/10e9c28d-f8cb-4fbd-83c3-e46d2ff1b325 + for (CompetitionResourceLibrary l : list) { + List> attachments = competitionResourceLibraryMapper.getAttachments(l.getCompetitionUserId()); + for (KeyValVo a : attachments) { + String v = a.getV(); + if (StringUtils.isNotEmpty(v)) { + a.setV(String.format(PROJECT_DOWNLOAD_API, gitLinkUrl, v)); + } + l.setAttachmentList(attachments); + } + } + return list; + } + + public int insertCompetitionResourceLibrary(CompetitionResourceLibrary competitionResourceLibrary) { + competitionResourceLibrary.setCreateTime(DateUtils.getNowDate()); + competitionResourceLibrary.setTransferredToResultLibraryTime(DateUtils.getNowDate()); + return competitionResourceLibraryMapper.insertCompetitionResourceLibrary(competitionResourceLibrary); + } + + public int updateCompetitionResourceLibrary(CompetitionResourceLibrary competitionResourceLibrary) { + competitionResourceLibrary.setUpdateTime(DateUtils.getNowDate()); + return competitionResourceLibraryMapper.updateCompetitionResourceLibrary(competitionResourceLibrary); + } + + public int deleteCompetitionResourceLibraryByIds(Long[] ids) { + return competitionResourceLibraryMapper.deleteCompetitionResourceLibraryByIds(ids); + } + + public int deleteCompetitionResourceLibraryById(Long id) { + return competitionResourceLibraryMapper.deleteCompetitionResourceLibraryById(id); + } + + + /** + * 返回开放竞赛总数 + * + * @return 开放竞赛总数 + */ + public long getTotalOpenCompetitions() { + // 这里替换成你的实际逻辑,例如从数据库查询 + return competitionResourceLibraryMapper.getTotalOpenCompetitions(); + } + + /** + * 返回竞赛转换成果数 + * + * @return 竞赛转换成果数 + */ + public long getTotalCompetitionAchievements() { + // 这里替换成你的实际逻辑 + return competitionResourceLibraryMapper.getTotalCompetitionAchievements(); + } + + /** + * 返回竞赛提交作品数 + * + * @return 竞赛提交作品数 + */ + public long getTotalCompetitionSubmissions() { + // 这里替换成你的实际逻辑 + return competitionResourceLibraryMapper.getTotalCompetitionSubmissions(); + } + + /** + * 返回已结束竞赛数 + * + * @return 已结束竞赛数 + */ + public long getTotalFinishedCompetitions() { + // 这里替换成你的实际逻辑 + return competitionResourceLibraryMapper.getTotalFinishedCompetitions(); + } } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/ProjectResourceLibraryService.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/ProjectResourceLibraryService.java index 6ddadccae..8505a3ab1 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/ProjectResourceLibraryService.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/ProjectResourceLibraryService.java @@ -87,6 +87,7 @@ public class ProjectResourceLibraryService { public int insertProjectResourceLibrary(ProjectResourceLibrary projectResourceLibrary) { projectResourceLibrary.setCreateTime(DateUtils.getNowDate()); + projectResourceLibrary.setTransferDate(DateUtils.getNowDate()); return projectResourceLibraryMapper.insertProjectResourceLibrary(projectResourceLibrary); } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/TaskResourceLibraryService.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/TaskResourceLibraryService.java index ed164bddf..52487a841 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/TaskResourceLibraryService.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/TaskResourceLibraryService.java @@ -114,6 +114,8 @@ public class TaskResourceLibraryService { public int insertTaskResourceLibrary(TaskResourceLibrary taskResourceLibrary) { + taskResourceLibrary.setCreateTime(DateUtils.getNowDate()); + taskResourceLibrary.setTransferToResultsDate(DateUtils.getNowDate()); return taskResourceLibraryMapper.insertTaskResourceLibrary(taskResourceLibrary); } diff --git a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/CompetitionResourceLibraryMapper.xml b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/CompetitionResourceLibraryMapper.xml index c767797ef..0dc3af31e 100644 --- a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/CompetitionResourceLibraryMapper.xml +++ b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/CompetitionResourceLibraryMapper.xml @@ -6,7 +6,7 @@ select '' as itemType, competition_info_id as itemId, user_id as userId, created_at as createAt, - (select login from users where id = user_id) as userName from + (select login from users where id = user_id) as userName from competition_users @@ -30,7 +30,8 @@ - select title as name,id,`status`,visits,watchers_count,DATEDIFF(upload_date, start_at) as totalTaskDays from competition_infos @@ -44,7 +45,7 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select id, + open_competition_id, + open_competition_name, + competition_user_id, + competition_field, + competition_status, + competition_submission_name, + submission_time, + submitter, + submission_type, + submitting_unit, + submission_summary, + submission_details, + contact_person, + contact_phone, + is_transferred_to_result_library, + transferred_to_result_library_time, + is_featured_result, + image, + attachment, + create_by, + create_time, + update_by, + update_time + from competition_resource_library + + + + + + + + + + + + + + + insert into competition_resource_library + + open_competition_id, + open_competition_name, + competition_user_id, + competition_field, + competition_status, + competition_submission_name, + submission_time, + submitter, + submission_type, + submitting_unit, + submission_summary, + submission_details, + contact_person, + contact_phone, + is_transferred_to_result_library, + transferred_to_result_library_time, + is_featured_result, + image, + attachment, + create_by, + create_time, + update_by, + update_time, + + + #{openCompetitionId}, + #{openCompetitionName}, + #{competitionUserId}, + #{competitionField}, + #{competitionStatus}, + #{competitionSubmissionName}, + #{submissionTime}, + #{submitter}, + #{submissionType}, + #{submittingUnit}, + #{submissionSummary}, + #{submissionDetails}, + #{contactPerson}, + #{contactPhone}, + #{isTransferredToResultLibrary}, + #{transferredToResultLibraryTime}, + #{isFeaturedResult}, + #{image}, + #{attachment}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + + + + + update competition_resource_library + + open_competition_id = #{openCompetitionId}, + open_competition_name = #{openCompetitionName}, + competition_user_id = #{competitionUserId}, + competition_field = #{competitionField}, + competition_status = #{competitionStatus}, + competition_submission_name = #{competitionSubmissionName}, + + submission_time = #{submissionTime}, + submitter = #{submitter}, + submission_type = #{submissionType}, + submitting_unit = #{submittingUnit}, + submission_summary = #{submissionSummary}, + submission_details = #{submissionDetails}, + contact_person = #{contactPerson}, + contact_phone = #{contactPhone}, + is_transferred_to_result_library = + #{isTransferredToResultLibrary}, + + transferred_to_result_library_time = + #{transferredToResultLibraryTime}, + + is_featured_result = #{isFeaturedResult}, + image = #{image}, + attachment = #{attachment}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + + where id = #{id} + + + + delete + from competition_resource_library + where id = #{id} + + + + delete from competition_resource_library where id in + + #{id} + + + From 58dfa24f9c20b9264f8526fa1e75a3719bcc2208 Mon Sep 17 00:00:00 2001 From: liuhuazhong Date: Fri, 11 Apr 2025 09:58:00 +0800 Subject: [PATCH 12/31] =?UTF-8?q?feat(=E7=AB=9E=E8=B5=9B):=20=E7=AB=9E?= =?UTF-8?q?=E8=B5=9B=E8=B5=84=E6=BA=90=E5=BA=93=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/Achievements.java | 15 +++++++++++- .../service/impl/AchievementsServiceImpl.java | 24 ++++++++++--------- .../CompetitionResourceLibraryController.java | 12 ++++++++++ .../TaskResourceLibraryController.java | 8 ++++++- .../domain/CompetitionResourceLibrary.java | 11 +++++++++ .../domain/ProjectResourceLibrary.java | 9 +++++++ .../domain/TaskResourceLibrary.java | 9 +++++++ .../CompetitionResourceLibraryMapper.java | 2 ++ .../mapper/TaskResourceLibraryMapper.java | 7 ++++++ .../CompetitionResourceLibraryService.java | 10 ++++++++ .../service/TaskResourceLibraryService.java | 7 +++++- .../dms/CompetitionResourceLibraryMapper.xml | 9 ++++++- .../dms/ProjectResourceLibraryMapper.xml | 7 +++--- .../mapper/dms/TaskResourceLibraryMapper.xml | 14 ++++++++++- 14 files changed, 125 insertions(+), 19 deletions(-) diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/domain/Achievements.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/domain/Achievements.java index aa1c655c1..71b293a95 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/domain/Achievements.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/domain/Achievements.java @@ -1,7 +1,10 @@ package com.microservices.dms.achievementLibrary.domain; import java.util.Date; +import java.util.List; + import com.fasterxml.jackson.annotation.JsonFormat; +import com.microservices.dms.resourceLibrary.domain.vo.KeyValVo; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; import com.microservices.common.core.annotation.Excel; @@ -117,7 +120,17 @@ public class Achievements extends BaseEntity @Excel(name = "成果附件") private String attachments; - public void setId(Long id) + private List attachmentList; + + public List getAttachmentList() { + return attachmentList; + } + + public void setAttachmentList(List attachmentList) { + this.attachmentList = attachmentList; + } + + public void setId(Long id) { this.id = id; } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/impl/AchievementsServiceImpl.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/impl/AchievementsServiceImpl.java index eca0c4e30..a9a245799 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/impl/AchievementsServiceImpl.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/impl/AchievementsServiceImpl.java @@ -3,6 +3,8 @@ package com.microservices.dms.achievementLibrary.service.impl; import java.util.*; import java.util.stream.Collectors; +import com.alibaba.fastjson2.JSONArray; +import com.alibaba.fastjson2.JSONObject; import com.microservices.common.core.utils.DateUtils; import com.microservices.common.core.utils.StringUtils; import com.microservices.common.security.utils.SecurityUtils; @@ -100,17 +102,17 @@ public class AchievementsServiceImpl implements IAchievementsService { @Override public void buildFileInfoByIdents(String img, String att, Map map) { - Set imgs = Arrays.stream(Optional.ofNullable(att).orElse("").split(",")).collect(Collectors.toSet()); - Set atts = Arrays.stream(Optional.ofNullable(img).orElse("").split(",")).collect(Collectors.toSet()); - atts.addAll(imgs); - atts = atts.stream().filter(StringUtils::isNotEmpty).collect(Collectors.toSet()); - if (CollectionUtils.isEmpty(atts)) { - return; + Set imgs = Arrays.stream(Optional.ofNullable(img).orElse("").split(",")).collect(Collectors.toSet()); + imgs = imgs.stream().filter(StringUtils::isNotEmpty).collect(Collectors.toSet()); + HashMap imgMap = new HashMap<>(); + if (!CollectionUtils.isEmpty(imgs)) { + Optional.ofNullable(achievementsMapper.getFileInfoByIdents(imgs)).orElse(new ArrayList<>()).forEach(s -> { + imgMap.put(s.get("k"), s.get("v")); + }); } - - Optional.ofNullable(achievementsMapper.getFileInfoByIdents(atts)).orElse(new ArrayList<>()).forEach(s -> { - map.put(s.get("k"), s.get("v")); - }); - + map.put("img", imgMap); + String a = Optional.ofNullable(img).orElse("[]"); + JSONArray ao = JSONArray.parseArray(a); + map.put("att", ao); } } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/CompetitionResourceLibraryController.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/CompetitionResourceLibraryController.java index ec2acf738..abf1a9ca0 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/CompetitionResourceLibraryController.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/CompetitionResourceLibraryController.java @@ -145,4 +145,16 @@ public class CompetitionResourceLibraryController extends BaseController { // 这里替换成你的实际逻辑 return competitionResourceLibraryService.getTotalFinishedCompetitions(); } + + /** + * 返回需评审竞赛数 + * + * @return 需评审竞赛数 + */ + @ApiOperation(value = "需评审竞赛数") + @GetMapping(value = "/getReviewCompetitionCount") + public long getReviewCompetitionCount() { + // 这里替换成你的实际逻辑 + return competitionResourceLibraryService.getReviewCompetitionCount(); + } } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/TaskResourceLibraryController.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/TaskResourceLibraryController.java index ddcfc702e..d2676327e 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/TaskResourceLibraryController.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/TaskResourceLibraryController.java @@ -177,6 +177,12 @@ public class TaskResourceLibraryController extends BaseController { @GetMapping(value = "/getTaskAmount") @ApiOperation(value = "获取任务金额") public AjaxResult getTaskAmount() { - return success(taskResourceLibraryService.getTotalTasks()); + return success(taskResourceLibraryService.getTaskAmount()); + } + + @GetMapping(value = "/getReviewTaskCount") + @ApiOperation(value = "需评审任务数") + public AjaxResult getReviewTaskCount() { + return success(taskResourceLibraryService.getReviewTaskCount()); } } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/CompetitionResourceLibrary.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/CompetitionResourceLibrary.java index 0a59ac988..d825a6e7f 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/CompetitionResourceLibrary.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/CompetitionResourceLibrary.java @@ -53,9 +53,20 @@ public class CompetitionResourceLibrary extends BaseEntity { private String image; + private Integer isExpertAudit; + private String attachment; + private List> attachmentList = new ArrayList<>(); + public Integer getIsExpertAudit() { + return isExpertAudit; + } + + public void setIsExpertAudit(Integer isExpertAudit) { + this.isExpertAudit = isExpertAudit; + } + public List> getAttachmentList() { return attachmentList; } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/ProjectResourceLibrary.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/ProjectResourceLibrary.java index ae3ff4b16..e8a15f585 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/ProjectResourceLibrary.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/ProjectResourceLibrary.java @@ -18,6 +18,7 @@ public class ProjectResourceLibrary extends BaseEntity { private static final long serialVersionUID = 1L; private Long id; private String projectName; + private String projectDomain; private String identifier; private Long projectId; private Long repositoryId; @@ -41,6 +42,14 @@ public class ProjectResourceLibrary extends BaseEntity { private String attachments; private List> attachmentList = new ArrayList<>(); + public String getProjectDomain() { + return projectDomain; + } + + public void setProjectDomain(String projectDomain) { + this.projectDomain = projectDomain; + } + public List> getAttachmentList() { return attachmentList; } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/TaskResourceLibrary.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/TaskResourceLibrary.java index eff975708..b1fe815f3 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/TaskResourceLibrary.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/TaskResourceLibrary.java @@ -47,6 +47,15 @@ public class TaskResourceLibrary extends BaseEntity { private String imageUrl; private String attachmentUrl; private List> attachmentList; + private Integer expertReview; + + public Integer getExpertReview() { + return expertReview; + } + + public void setExpertReview(Integer expertReview) { + this.expertReview = expertReview; + } public List> getAttachmentList() { return attachmentList; diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/CompetitionResourceLibraryMapper.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/CompetitionResourceLibraryMapper.java index 2ad90a96b..ba2e6024b 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/CompetitionResourceLibraryMapper.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/CompetitionResourceLibraryMapper.java @@ -45,4 +45,6 @@ public interface CompetitionResourceLibraryMapper { long getTotalCompetitionSubmissions(); long getTotalFinishedCompetitions(); + + long getReviewCompetitionCount(); } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/TaskResourceLibraryMapper.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/TaskResourceLibraryMapper.java index 00c0274e5..e5b8ec31f 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/TaskResourceLibraryMapper.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/TaskResourceLibraryMapper.java @@ -95,4 +95,11 @@ public interface TaskResourceLibraryMapper { * @return 任务金额 */ long getTaskAmount(); + + /** + * 获取需评审任务数 + * + * @return 需评审任务数 + */ + long getReviewTaskCount(); } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/CompetitionResourceLibraryService.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/CompetitionResourceLibraryService.java index 559cd29db..79ea12e96 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/CompetitionResourceLibraryService.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/CompetitionResourceLibraryService.java @@ -134,4 +134,14 @@ public class CompetitionResourceLibraryService { // 这里替换成你的实际逻辑 return competitionResourceLibraryMapper.getTotalFinishedCompetitions(); } + + /** + * 返回需评审竞赛数 + * + * @return 需评审竞赛数 + */ + public long getReviewCompetitionCount() { + // 这里替换成你的实际逻辑 + return competitionResourceLibraryMapper.getReviewCompetitionCount(); + } } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/TaskResourceLibraryService.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/TaskResourceLibraryService.java index 52487a841..14f91c5db 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/TaskResourceLibraryService.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/TaskResourceLibraryService.java @@ -165,8 +165,13 @@ public class TaskResourceLibraryService { * * @return 任务金额 */ - long getTaskAmount() { + public long getTaskAmount() { return taskResourceLibraryMapper.getTaskAmount(); } + + public long getReviewTaskCount() { + return taskResourceLibraryMapper.getReviewTaskCount(); + } + } diff --git a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/CompetitionResourceLibraryMapper.xml b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/CompetitionResourceLibraryMapper.xml index 0dc3af31e..e1cd01e80 100644 --- a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/CompetitionResourceLibraryMapper.xml +++ b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/CompetitionResourceLibraryMapper.xml @@ -145,7 +145,8 @@ create_by, create_time, update_by, - update_time + update_time, + ci.is_expert_audit from competition_infos ci join (select * from competition_users where `status` = 3) cu on ci.id = cu.competition_info_id left join competition_resource_library crl on crl.competition_user_id = cu.id @@ -223,6 +224,12 @@ join (select * from competition_users where `status` = 3) cu on ci.id = cu.competition_info_id where ci.upload_date < now() + diff --git a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/ProjectResourceLibraryMapper.xml b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/ProjectResourceLibraryMapper.xml index 6d109dd83..5ed5b3787 100644 --- a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/ProjectResourceLibraryMapper.xml +++ b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/ProjectResourceLibraryMapper.xml @@ -163,11 +163,12 @@ p.id as project_id, r.id as repository_id, v.id as version_releases_id, - pl.is_public, + p.is_public as is_public, v.name as release_name, v.created_at as release_date, - v.user_id as release_person, - (select name from project_categories s where s.id =p.project_category_id limit 1) as release_type, + (select login from uers where id=v.user_id) as release_person, + (select name from project_categories s where s.id =p.project_category_id limit 1) as project_domain, + pl.release_type, pl.release_unit, p.description as release_summary, p.description as release_details, diff --git a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/TaskResourceLibraryMapper.xml b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/TaskResourceLibraryMapper.xml index 5baa0a2aa..3bab113e4 100644 --- a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/TaskResourceLibraryMapper.xml +++ b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/TaskResourceLibraryMapper.xml @@ -362,7 +362,12 @@ transfer_to_results_date, is_selected_result, image_url, - attachment_url + attachment_url, + t.expert_review, + create_by, + create_time, + update_by, + update_time from tasks t join (select * from papers where status = 2) p on t.id = p.task_id join paper_details pd on p.id = pd.paper_id @@ -440,6 +445,13 @@ join (select * from papers where status = 2) p on t.id = p.task_id + + insert into task_resource_library From 430590814c62ee8303d5bbfa25dbde4f4ae797fa Mon Sep 17 00:00:00 2001 From: admin Date: Mon, 14 Apr 2025 17:28:14 +0800 Subject: [PATCH 13/31] =?UTF-8?q?feat(=E4=B8=93=E5=AE=B6):=20=E4=B8=93?= =?UTF-8?q?=E5=AE=B6=E8=B5=84=E6=BA=90=E5=BA=93=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/AchievementsController.java | 31 +- ...choolEnterpriseAchievementsController.java | 6 - .../ExpertResourceLibraryController.java | 91 ++++++ .../domain/ExpertResourceLibrary.java | 287 ++++++++++++++++++ .../mapper/ExpertResourceLibraryMapper.java | 63 ++++ .../IExpertResourceLibraryService.java | 61 ++++ .../ExpertResourceLibraryServiceImpl.java | 96 ++++++ .../dms/ExpertResourceLibraryMapper.xml | 187 ++++++++++++ 8 files changed, 794 insertions(+), 28 deletions(-) create mode 100644 microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/ExpertResourceLibraryController.java create mode 100644 microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/ExpertResourceLibrary.java create mode 100644 microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/ExpertResourceLibraryMapper.java create mode 100644 microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/IExpertResourceLibraryService.java create mode 100644 microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/impl/ExpertResourceLibraryServiceImpl.java create mode 100644 microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/ExpertResourceLibraryMapper.xml diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/controller/AchievementsController.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/controller/AchievementsController.java index 552d853bb..7f82fb00b 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/controller/AchievementsController.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/controller/AchievementsController.java @@ -25,25 +25,22 @@ import com.microservices.common.core.web.page.TableDataInfo; /** * 成果Controller - * + * * @author microservices * @date 2025-04-02 */ @RestController @RequestMapping("/achievements") @Api(tags = "数据管理体系-成果库接口") -public class AchievementsController extends BaseController -{ +public class AchievementsController extends BaseController { @Autowired private IAchievementsService achievementsService; /** * 查询成果列表 */ - //@RequiresPermissions("dms:achievements:list") @GetMapping("/list") - public TableDataInfo list(Achievements achievements) - { + public TableDataInfo list(Achievements achievements) { startPage(); List list = achievementsService.selectAchievementsList(achievements); return getDataTable(list); @@ -52,11 +49,9 @@ public class AchievementsController extends BaseController /** * 导出成果列表 */ - //@RequiresPermissions("dms:achievements:export") @Log(title = "成果", businessType = BusinessType.EXPORT) @PostMapping("/export") - public void export(HttpServletResponse response, Achievements achievements) - { + public void export(HttpServletResponse response, Achievements achievements) { List list = achievementsService.selectAchievementsList(achievements); ExcelUtil util = new ExcelUtil(Achievements.class); util.exportExcel(response, list, "成果数据"); @@ -65,43 +60,35 @@ public class AchievementsController extends BaseController /** * 获取成果详细信息 */ - //@RequiresPermissions("dms:achievements:query") @GetMapping(value = "/{id}") - public AjaxResult getInfo(@PathVariable("id") Long id) - { + public AjaxResult getInfo(@PathVariable("id") Long id) { return success(achievementsService.selectAchievementsById(id)); } /** * 新增成果 */ - //@RequiresPermissions("dms:achievements:add") @Log(title = "成果", businessType = BusinessType.INSERT) @PostMapping - public AjaxResult add(@RequestBody Achievements achievements) - { + public AjaxResult add(@RequestBody Achievements achievements) { return toAjax(achievementsService.insertAchievements(achievements)); } /** * 修改成果 */ - //@RequiresPermissions("dms:achievements:edit") @Log(title = "成果", businessType = BusinessType.UPDATE) @PutMapping - public AjaxResult edit(@RequestBody Achievements achievements) - { + public AjaxResult edit(@RequestBody Achievements achievements) { return toAjax(achievementsService.updateAchievements(achievements)); } /** * 删除成果 */ - //@RequiresPermissions("dms:achievements:remove") @Log(title = "成果", businessType = BusinessType.DELETE) - @DeleteMapping("/{ids}") - public AjaxResult remove(@PathVariable Long[] ids) - { + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) { return toAjax(achievementsService.deleteAchievementsByIds(ids)); } } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/controller/SchoolEnterpriseAchievementsController.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/controller/SchoolEnterpriseAchievementsController.java index 27d327cf7..2a0a3eba1 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/controller/SchoolEnterpriseAchievementsController.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/controller/SchoolEnterpriseAchievementsController.java @@ -35,7 +35,6 @@ public class SchoolEnterpriseAchievementsController extends BaseController /** * 查询校企成果列表 */ - //@RequiresPermissions("dms:achievements:list") @GetMapping("/list") public TableDataInfo list(SchoolEnterpriseAchievements schoolEnterpriseAchievements) { @@ -47,7 +46,6 @@ public class SchoolEnterpriseAchievementsController extends BaseController /** * 导出校企成果列表 */ - //@RequiresPermissions("dms:achievements:export") @Log(title = "校企成果", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(HttpServletResponse response, SchoolEnterpriseAchievements schoolEnterpriseAchievements) @@ -60,7 +58,6 @@ public class SchoolEnterpriseAchievementsController extends BaseController /** * 获取校企成果详细信息 */ - //@RequiresPermissions("dms:achievements:query") @GetMapping(value = "/{id}") public AjaxResult getInfo(@PathVariable("id") Long id) { @@ -70,7 +67,6 @@ public class SchoolEnterpriseAchievementsController extends BaseController /** * 新增校企成果 */ - //@RequiresPermissions("dms:achievements:add") @Log(title = "校企成果", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@RequestBody SchoolEnterpriseAchievements schoolEnterpriseAchievements) @@ -81,7 +77,6 @@ public class SchoolEnterpriseAchievementsController extends BaseController /** * 修改校企成果 */ - //@RequiresPermissions("dms:achievements:edit") @Log(title = "校企成果", businessType = BusinessType.UPDATE) @PutMapping public AjaxResult edit(@RequestBody SchoolEnterpriseAchievements schoolEnterpriseAchievements) @@ -92,7 +87,6 @@ public class SchoolEnterpriseAchievementsController extends BaseController /** * 删除校企成果 */ - //@RequiresPermissions("dms:achievements:remove") @Log(title = "校企成果", businessType = BusinessType.DELETE) @DeleteMapping("/{ids}") public AjaxResult remove(@PathVariable Long[] ids) diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/ExpertResourceLibraryController.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/ExpertResourceLibraryController.java new file mode 100644 index 000000000..7ceb2eab9 --- /dev/null +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/ExpertResourceLibraryController.java @@ -0,0 +1,91 @@ +package com.microservices.dms.resourceLibrary.controller; + +import com.microservices.common.core.utils.poi.ExcelUtil; +import com.microservices.common.core.web.controller.BaseController; +import com.microservices.common.core.web.domain.AjaxResult; +import com.microservices.common.core.web.page.TableDataInfo; +import com.microservices.common.log.annotation.Log; +import com.microservices.common.log.enums.BusinessType; +import com.microservices.dms.resourceLibrary.domain.ExpertResourceLibrary; +import com.microservices.dms.resourceLibrary.service.IExpertResourceLibraryService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +/** + * 专家资源库Controller + * + * @author microservices + * @date 2025-04-11 + */ +@RestController +@RequestMapping("/library") +public class ExpertResourceLibraryController extends BaseController +{ + @Autowired + private IExpertResourceLibraryService expertResourceLibraryService; + + /** + * 查询专家资源库列表 + */ + @GetMapping("/list") + public TableDataInfo list(ExpertResourceLibrary expertResourceLibrary) + { + startPage(); + List list = expertResourceLibraryService.selectExpertResourceLibraryList(expertResourceLibrary); + return getDataTable(list); + } + + /** + * 导出专家资源库列表 + */ + @Log(title = "专家资源库", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, ExpertResourceLibrary expertResourceLibrary) + { + List list = expertResourceLibraryService.selectExpertResourceLibraryList(expertResourceLibrary); + ExcelUtil util = new ExcelUtil(ExpertResourceLibrary.class); + util.exportExcel(response, list, "专家资源库数据"); + } + + /** + * 获取专家资源库详细信息 + */ + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) + { + return success(expertResourceLibraryService.selectExpertResourceLibraryById(id)); + } + + /** + * 新增专家资源库 + */ + @Log(title = "专家资源库", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody ExpertResourceLibrary expertResourceLibrary) + { + return toAjax(expertResourceLibraryService.insertExpertResourceLibrary(expertResourceLibrary)); + } + + /** + * 修改专家资源库 + */ + @Log(title = "专家资源库", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody ExpertResourceLibrary expertResourceLibrary) + { + return toAjax(expertResourceLibraryService.updateExpertResourceLibrary(expertResourceLibrary)); + } + + /** + * 删除专家资源库 + */ + @Log(title = "专家资源库", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) + { + return toAjax(expertResourceLibraryService.deleteExpertResourceLibraryByIds(ids)); + } +} diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/ExpertResourceLibrary.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/ExpertResourceLibrary.java new file mode 100644 index 000000000..13051943b --- /dev/null +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/ExpertResourceLibrary.java @@ -0,0 +1,287 @@ +package com.microservices.dms.resourceLibrary.domain; + +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.microservices.common.core.annotation.Excel; +import com.microservices.common.core.web.domain.BaseEntity; + +/** + * 专家资源库对象 expert_resource_library + * + * @author microservices + * @date 2025-04-11 + */ +public class ExpertResourceLibrary extends BaseEntity { + private static final long serialVersionUID = 1L; + + private Long id; + + private Long userId; + private Long expertId; + + private String expertName; + + private String highestDegree; + + private String graduatedFrom; + + private String idNumber; + + private String major; + + private String workplace; + + private String phone; + + private String workplaceType; + + private String expertEmail; + + private String expertSummary; + + private String expertDetail; + + private String professionalTitle; + + private String expertType; + + private String expertDomain; + + private String titleRank; + + private Long status; + + private String reviewAreaOne; + + private String reviewAreaTwo; + + private String reviewAreaThree; + + private Integer isDelete; + + private Integer sortNo; + + public Integer getSortNo() { + return sortNo; + } + + public void setSortNo(Integer sortNo) { + this.sortNo = sortNo; + } + + public Long getExpertId() { + return expertId; + } + + public void setExpertId(Long expertId) { + this.expertId = expertId; + } + + public void setId(Long id) { + this.id = id; + } + + public Long getId() { + return id; + } + + public void setUserId(Long userId) { + this.userId = userId; + } + + public Long getUserId() { + return userId; + } + + public void setExpertName(String expertName) { + this.expertName = expertName; + } + + public String getExpertName() { + return expertName; + } + + public void setHighestDegree(String highestDegree) { + this.highestDegree = highestDegree; + } + + public String getHighestDegree() { + return highestDegree; + } + + public void setGraduatedFrom(String graduatedFrom) { + this.graduatedFrom = graduatedFrom; + } + + public String getGraduatedFrom() { + return graduatedFrom; + } + + public void setIdNumber(String idNumber) { + this.idNumber = idNumber; + } + + public String getIdNumber() { + return idNumber; + } + + public void setMajor(String major) { + this.major = major; + } + + public String getMajor() { + return major; + } + + public void setWorkplace(String workplace) { + this.workplace = workplace; + } + + public String getWorkplace() { + return workplace; + } + + public void setPhone(String phone) { + this.phone = phone; + } + + public String getPhone() { + return phone; + } + + public void setWorkplaceType(String workplaceType) { + this.workplaceType = workplaceType; + } + + public String getWorkplaceType() { + return workplaceType; + } + + public void setExpertEmail(String expertEmail) { + this.expertEmail = expertEmail; + } + + public String getExpertEmail() { + return expertEmail; + } + + public void setExpertSummary(String expertSummary) { + this.expertSummary = expertSummary; + } + + public String getExpertSummary() { + return expertSummary; + } + + public void setExpertDetail(String expertDetail) { + this.expertDetail = expertDetail; + } + + public String getExpertDetail() { + return expertDetail; + } + + public void setProfessionalTitle(String professionalTitle) { + this.professionalTitle = professionalTitle; + } + + public String getProfessionalTitle() { + return professionalTitle; + } + + public void setExpertType(String expertType) { + this.expertType = expertType; + } + + public String getExpertType() { + return expertType; + } + + public void setExpertDomain(String expertDomain) { + this.expertDomain = expertDomain; + } + + public String getExpertDomain() { + return expertDomain; + } + + public void setTitleRank(String titleRank) { + this.titleRank = titleRank; + } + + public String getTitleRank() { + return titleRank; + } + + public void setStatus(Long status) { + this.status = status; + } + + public Long getStatus() { + return status; + } + + public void setReviewAreaOne(String reviewAreaOne) { + this.reviewAreaOne = reviewAreaOne; + } + + public String getReviewAreaOne() { + return reviewAreaOne; + } + + public void setReviewAreaTwo(String reviewAreaTwo) { + this.reviewAreaTwo = reviewAreaTwo; + } + + public String getReviewAreaTwo() { + return reviewAreaTwo; + } + + public void setReviewAreaThree(String reviewAreaThree) { + this.reviewAreaThree = reviewAreaThree; + } + + public String getReviewAreaThree() { + return reviewAreaThree; + } + + public void setIsDelete(Integer isDelete) { + this.isDelete = isDelete; + } + + public Integer getIsDelete() { + return isDelete; + } + + @Override + public String toString() { + return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("userId", getUserId()) + .append("expertName", getExpertName()) + .append("highestDegree", getHighestDegree()) + .append("graduatedFrom", getGraduatedFrom()) + .append("idNumber", getIdNumber()) + .append("major", getMajor()) + .append("workplace", getWorkplace()) + .append("phone", getPhone()) + .append("workplaceType", getWorkplaceType()) + .append("expertEmail", getExpertEmail()) + .append("expertSummary", getExpertSummary()) + .append("expertDetail", getExpertDetail()) + .append("professionalTitle", getProfessionalTitle()) + .append("expertType", getExpertType()) + .append("expertDomain", getExpertDomain()) + .append("titleRank", getTitleRank()) + .append("status", getStatus()) + .append("reviewAreaOne", getReviewAreaOne()) + .append("reviewAreaTwo", getReviewAreaTwo()) + .append("reviewAreaThree", getReviewAreaThree()) + .append("isDelete", getIsDelete()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .toString(); + } +} diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/ExpertResourceLibraryMapper.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/ExpertResourceLibraryMapper.java new file mode 100644 index 000000000..8f7d8837e --- /dev/null +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/ExpertResourceLibraryMapper.java @@ -0,0 +1,63 @@ +package com.microservices.dms.resourceLibrary.mapper; + +import java.util.List; +import com.microservices.dms.resourceLibrary.domain.ExpertResourceLibrary; +import org.apache.ibatis.annotations.Mapper; + +/** + * 专家资源库Mapper接口 + * + * @author microservices + * @date 2025-04-11 + */ +@Mapper +public interface ExpertResourceLibraryMapper +{ + /** + * 查询专家资源库 + * + * @param id 专家资源库主键 + * @return 专家资源库 + */ + public ExpertResourceLibrary selectExpertResourceLibraryById(Long id); + + /** + * 查询专家资源库列表 + * + * @param expertResourceLibrary 专家资源库 + * @return 专家资源库集合 + */ + public List selectExpertResourceLibraryList(ExpertResourceLibrary expertResourceLibrary); + + /** + * 新增专家资源库 + * + * @param expertResourceLibrary 专家资源库 + * @return 结果 + */ + public int insertExpertResourceLibrary(ExpertResourceLibrary expertResourceLibrary); + + /** + * 修改专家资源库 + * + * @param expertResourceLibrary 专家资源库 + * @return 结果 + */ + public int updateExpertResourceLibrary(ExpertResourceLibrary expertResourceLibrary); + + /** + * 删除专家资源库 + * + * @param id 专家资源库主键 + * @return 结果 + */ + public int deleteExpertResourceLibraryById(Long id); + + /** + * 批量删除专家资源库 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteExpertResourceLibraryByIds(Long[] ids); +} diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/IExpertResourceLibraryService.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/IExpertResourceLibraryService.java new file mode 100644 index 000000000..c553a2340 --- /dev/null +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/IExpertResourceLibraryService.java @@ -0,0 +1,61 @@ +package com.microservices.dms.resourceLibrary.service; + +import java.util.List; +import com.microservices.dms.resourceLibrary.domain.ExpertResourceLibrary; + +/** + * 专家资源库Service接口 + * + * @author microservices + * @date 2025-04-11 + */ +public interface IExpertResourceLibraryService +{ + /** + * 查询专家资源库 + * + * @param id 专家资源库主键 + * @return 专家资源库 + */ + public ExpertResourceLibrary selectExpertResourceLibraryById(Long id); + + /** + * 查询专家资源库列表 + * + * @param expertResourceLibrary 专家资源库 + * @return 专家资源库集合 + */ + public List selectExpertResourceLibraryList(ExpertResourceLibrary expertResourceLibrary); + + /** + * 新增专家资源库 + * + * @param expertResourceLibrary 专家资源库 + * @return 结果 + */ + public int insertExpertResourceLibrary(ExpertResourceLibrary expertResourceLibrary); + + /** + * 修改专家资源库 + * + * @param expertResourceLibrary 专家资源库 + * @return 结果 + */ + public int updateExpertResourceLibrary(ExpertResourceLibrary expertResourceLibrary); + + /** + * 批量删除专家资源库 + * + * @param ids 需要删除的专家资源库主键集合 + * @return 结果 + */ + public int deleteExpertResourceLibraryByIds(Long[] ids); + + /** + * 删除专家资源库信息 + * + * @param id 专家资源库主键 + * @return 结果 + */ + public int deleteExpertResourceLibraryById(Long id); +} diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/impl/ExpertResourceLibraryServiceImpl.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/impl/ExpertResourceLibraryServiceImpl.java new file mode 100644 index 000000000..a7e4c732a --- /dev/null +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/impl/ExpertResourceLibraryServiceImpl.java @@ -0,0 +1,96 @@ +package com.microservices.dms.resourceLibrary.service.impl; + +import java.util.List; +import com.microservices.common.core.utils.DateUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.microservices.dms.resourceLibrary.mapper.ExpertResourceLibraryMapper; +import com.microservices.dms.resourceLibrary.domain.ExpertResourceLibrary; +import com.microservices.dms.resourceLibrary.service.IExpertResourceLibraryService; + +/** + * 专家资源库Service业务层处理 + * + * @author microservices + * @date 2025-04-11 + */ +@Service +public class ExpertResourceLibraryServiceImpl implements IExpertResourceLibraryService +{ + @Autowired + private ExpertResourceLibraryMapper expertResourceLibraryMapper; + + /** + * 查询专家资源库 + * + * @param id 专家资源库主键 + * @return 专家资源库 + */ + @Override + public ExpertResourceLibrary selectExpertResourceLibraryById(Long id) + { + return expertResourceLibraryMapper.selectExpertResourceLibraryById(id); + } + + /** + * 查询专家资源库列表 + * + * @param expertResourceLibrary 专家资源库 + * @return 专家资源库 + */ + @Override + public List selectExpertResourceLibraryList(ExpertResourceLibrary expertResourceLibrary) + { + return expertResourceLibraryMapper.selectExpertResourceLibraryList(expertResourceLibrary); + } + + /** + * 新增专家资源库 + * + * @param expertResourceLibrary 专家资源库 + * @return 结果 + */ + @Override + public int insertExpertResourceLibrary(ExpertResourceLibrary expertResourceLibrary) + { + expertResourceLibrary.setCreateTime(DateUtils.getNowDate()); + return expertResourceLibraryMapper.insertExpertResourceLibrary(expertResourceLibrary); + } + + /** + * 修改专家资源库 + * + * @param expertResourceLibrary 专家资源库 + * @return 结果 + */ + @Override + public int updateExpertResourceLibrary(ExpertResourceLibrary expertResourceLibrary) + { + expertResourceLibrary.setUpdateTime(DateUtils.getNowDate()); + return expertResourceLibraryMapper.updateExpertResourceLibrary(expertResourceLibrary); + } + + /** + * 批量删除专家资源库 + * + * @param ids 需要删除的专家资源库主键 + * @return 结果 + */ + @Override + public int deleteExpertResourceLibraryByIds(Long[] ids) + { + return expertResourceLibraryMapper.deleteExpertResourceLibraryByIds(ids); + } + + /** + * 删除专家资源库信息 + * + * @param id 专家资源库主键 + * @return 结果 + */ + @Override + public int deleteExpertResourceLibraryById(Long id) + { + return expertResourceLibraryMapper.deleteExpertResourceLibraryById(id); + } +} diff --git a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/ExpertResourceLibraryMapper.xml b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/ExpertResourceLibraryMapper.xml new file mode 100644 index 000000000..d7a65825e --- /dev/null +++ b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/ExpertResourceLibraryMapper.xml @@ -0,0 +1,187 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select id, user_id,expert_id,sort_no, expert_name, highest_degree, graduated_from, id_number, major, workplace, phone, workplace_type, expert_email, expert_summary, expert_detail, professional_title, expert_type, expert_domain, title_rank, status, review_area_one, review_area_two, review_area_three, is_delete, create_by, create_time, update_by, update_time from expert_resource_library + + + + + + + + insert into expert_resource_library + + user_id, + expert_id, + expert_name, + highest_degree, + graduated_from, + id_number, + major, + workplace, + phone, + workplace_type, + expert_email, + expert_summary, + expert_detail, + professional_title, + expert_type, + expert_domain, + title_rank, + status, + review_area_one, + review_area_two, + review_area_three, + is_delete, + create_by, + create_time, + update_by, + update_time, + sort_no, + + + #{userId}, + #{expertId}, + #{expertName}, + #{highestDegree}, + #{graduatedFrom}, + #{idNumber}, + #{major}, + #{workplace}, + #{phone}, + #{workplaceType}, + #{expertEmail}, + #{expertSummary}, + #{expertDetail}, + #{professionalTitle}, + #{expertType}, + #{expertDomain}, + #{titleRank}, + #{status}, + #{reviewAreaOne}, + #{reviewAreaTwo}, + #{reviewAreaThree}, + #{isDelete}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + #{sortNo}, + + + + + update expert_resource_library + + user_id = #{userId}, + expert_id = #{expertId}, + expert_name = #{expertName}, + highest_degree = #{highestDegree}, + graduated_from = #{graduatedFrom}, + id_number = #{idNumber}, + major = #{major}, + workplace = #{workplace}, + phone = #{phone}, + workplace_type = #{workplaceType}, + expert_email = #{expertEmail}, + expert_summary = #{expertSummary}, + expert_detail = #{expertDetail}, + professional_title = #{professionalTitle}, + expert_type = #{expertType}, + expert_domain = #{expertDomain}, + title_rank = #{titleRank}, + status = #{status}, + review_area_one = #{reviewAreaOne}, + review_area_two = #{reviewAreaTwo}, + review_area_three = #{reviewAreaThree}, + is_delete = #{isDelete}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + sort_no = #{sortNo}, + + where id = #{id} + + + + delete from expert_resource_library where id = #{id} + + + + delete from expert_resource_library where id in + + #{id} + + + \ No newline at end of file From d82b01f514d139fb25281494ef8ea19e20ecdd3f Mon Sep 17 00:00:00 2001 From: admin Date: Tue, 15 Apr 2025 16:32:36 +0800 Subject: [PATCH 14/31] =?UTF-8?q?feat(=E6=95=B0=E6=8D=AE=E8=AE=B0=E5=BD=95?= =?UTF-8?q?):=20=E7=9B=B8=E5=85=B3=E6=95=B0=E6=8D=AE=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/AchievementsController.java | 10 ++ .../service/IAchievementsService.java | 2 + .../service/impl/AchievementsServiceImpl.java | 11 +++ .../dms/constant/DmsConstants.java | 5 + .../dms/constant/TaskConstant.java | 4 + .../CollectUserActDataController.java | 32 ++++++- .../CompetitionResourceLibraryController.java | 20 ++-- .../ExpertResourceLibraryController.java | 4 +- .../ProjectResourceLibraryController.java | 1 - .../dms/resourceLibrary/domain/Favorite.java | 19 ++++ .../dms/resourceLibrary/domain/Watcher.java | 19 ++++ .../mapper/TaskResourceLibraryMapper.java | 9 +- .../service/TaskResourceLibraryService.java | 21 ++-- .../microservices/dms/utils/DmsConstants.java | 5 - .../dms/CompetitionResourceLibraryMapper.xml | 6 +- .../dms/ProjectResourceLibraryMapper.xml | 4 +- .../mapper/dms/TaskResourceLibraryMapper.xml | 95 +++++++++++++++++-- 17 files changed, 222 insertions(+), 45 deletions(-) create mode 100644 microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/constant/DmsConstants.java create mode 100644 microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/Favorite.java create mode 100644 microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/Watcher.java delete mode 100644 microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/utils/DmsConstants.java diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/controller/AchievementsController.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/controller/AchievementsController.java index 7f82fb00b..7abfae6ed 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/controller/AchievementsController.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/controller/AchievementsController.java @@ -46,6 +46,16 @@ public class AchievementsController extends BaseController { return getDataTable(list); } + /** + * 查询成果列表 + */ + @GetMapping("/frontList") + public TableDataInfo frontList(Achievements achievements) { + startPage(); + List list = achievementsService.selectAchievementsFrontList(achievements); + return getDataTable(list); + } + /** * 导出成果列表 */ diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/IAchievementsService.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/IAchievementsService.java index 0bf0fd249..052a4d253 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/IAchievementsService.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/IAchievementsService.java @@ -62,4 +62,6 @@ public interface IAchievementsService public int deleteAchievementsById(Long id); void buildFileInfoByIdents(String img, String att, Map map); + + List selectAchievementsFrontList(Achievements achievements); } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/impl/AchievementsServiceImpl.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/impl/AchievementsServiceImpl.java index a9a245799..8d924776f 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/impl/AchievementsServiceImpl.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/impl/AchievementsServiceImpl.java @@ -52,6 +52,17 @@ public class AchievementsServiceImpl implements IAchievementsService { return list; } + + @Override + public List selectAchievementsFrontList(Achievements achievements) { + List list = achievementsMapper.selectAchievementsList(achievements); + for (Achievements a : list) { + a.setDetails(null); + buildFileInfoByIdents(a.getImages(), a.getAttachments(), a.getParams()); + } + return list; + } + /** * 新增成果 * diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/constant/DmsConstants.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/constant/DmsConstants.java new file mode 100644 index 000000000..02550305e --- /dev/null +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/constant/DmsConstants.java @@ -0,0 +1,5 @@ +package com.microservices.dms.constant; + +public class DmsConstants { + +} diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/constant/TaskConstant.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/constant/TaskConstant.java index 9002c9cf2..b70c6bdaa 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/constant/TaskConstant.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/constant/TaskConstant.java @@ -18,4 +18,8 @@ public class TaskConstant { public static final String MARKER_SPACE_DOWNLOAD_API_BY_NAME = "%s/busiAttachments/downloadAttachment/%s"; public static final String MARKER_SPACE_DOWNLOAD_API_BY_ID = "%s/busiAttachments/download/%s"; + //favorites + public static final String EXPERTS = "Experts"; + public static final String ACHIEVEMENTS = "Achievements"; + } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/CollectUserActDataController.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/CollectUserActDataController.java index 80629cb1b..adfa474e7 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/CollectUserActDataController.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/CollectUserActDataController.java @@ -2,9 +2,7 @@ package com.microservices.dms.resourceLibrary.controller; import com.microservices.common.core.web.domain.AjaxResult; -import com.microservices.dms.resourceLibrary.domain.Clicker; -import com.microservices.dms.resourceLibrary.domain.Downloader; -import com.microservices.dms.resourceLibrary.domain.Searcher; +import com.microservices.dms.resourceLibrary.domain.*; import com.microservices.dms.resourceLibrary.service.TaskResourceLibraryService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; @@ -25,7 +23,7 @@ public class CollectUserActDataController { @PostMapping("/addClicker") @ApiImplicitParams({ - @ApiImplicitParam(name = "clickType", value = "点击类型(任务:makerSpaceTask、竞赛:CompetitionInfo、项目:Project)", paramType = "query", dataTypeClass = String.class), + @ApiImplicitParam(name = "clickType", value = "点击类型(任务:makerSpaceTask、竞赛:CompetitionInfo、项目:Project、成果:Achievements、专家:Experts)", paramType = "query", dataTypeClass = String.class), @ApiImplicitParam(name = "clickId", value = "点击对象ID", paramType = "query", dataTypeClass = Integer.class), @ApiImplicitParam(name = "userId", value = "用户ID", paramType = "query", dataTypeClass = Integer.class), @ApiImplicitParam(name = "extInfo", value = "补充信息", paramType = "query", dataTypeClass = String.class) @@ -38,7 +36,7 @@ public class CollectUserActDataController { @PostMapping("/addDownloader") @ApiOperation(value = "记录下载次数") @ApiImplicitParams({ - @ApiImplicitParam(name = "downloadType", value = "下载类型(任务:makerSpaceTask、竞赛作品:CompetitionOpusDownload)", paramType = "query", dataTypeClass = String.class), + @ApiImplicitParam(name = "downloadType", value = "下载类型(任务:makerSpaceTask、竞赛作品:CompetitionOpusDownload、成果:Achievements、专家:Experts)", paramType = "query", dataTypeClass = String.class), @ApiImplicitParam(name = "downloadId", value = "下载对象ID", paramType = "query", dataTypeClass = Integer.class), @ApiImplicitParam(name = "userId", value = "用户ID", paramType = "query", dataTypeClass = Integer.class), @ApiImplicitParam(name = "extInfo", value = "补充信息", paramType = "query", dataTypeClass = String.class) @@ -58,4 +56,28 @@ public class CollectUserActDataController { public AjaxResult addSearcher(Searcher searcher) { return AjaxResult.success(taskResourceLibraryService.addSearcher(searcher)); } + + @PostMapping("/addFavorite") + @ApiOperation(value = "记录搜索次数") + @ApiImplicitParams({ + @ApiImplicitParam(name = "favoriteType", value = "收藏类型(成果:Achievements、专家:Experts)", paramType = "query", dataTypeClass = String.class), + @ApiImplicitParam(name = "favoriteId", value = "对象ID", paramType = "query", dataTypeClass = Integer.class), + @ApiImplicitParam(name = "userId", value = "用户ID", paramType = "query", dataTypeClass = Integer.class), + @ApiImplicitParam(name = "extInfo", value = "补充信息", paramType = "query", dataTypeClass = String.class) + }) + public AjaxResult addFavorite(Favorite favorite) { + return AjaxResult.success(taskResourceLibraryService.addFavorite(favorite)); + } + + @PostMapping("/addWatcher") + @ApiOperation(value = "记录搜索次数") + @ApiImplicitParams({ + @ApiImplicitParam(name = "favoriteType", value = "关注类型(成果:Achievements、专家:Experts)", paramType = "query", dataTypeClass = String.class), + @ApiImplicitParam(name = "favoriteId", value = "对象ID", paramType = "query", dataTypeClass = Integer.class), + @ApiImplicitParam(name = "userId", value = "用户ID", paramType = "query", dataTypeClass = Integer.class), + @ApiImplicitParam(name = "extInfo", value = "补充信息", paramType = "query", dataTypeClass = String.class) + }) + public AjaxResult addFavorite(Watcher watcher) { + return AjaxResult.success(taskResourceLibraryService.addWatcher(watcher)); + } } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/CompetitionResourceLibraryController.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/CompetitionResourceLibraryController.java index abf1a9ca0..e177bdd47 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/CompetitionResourceLibraryController.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/CompetitionResourceLibraryController.java @@ -105,9 +105,9 @@ public class CompetitionResourceLibraryController extends BaseController { */ @ApiOperation(value = "返回开放竞赛总数") @GetMapping(value = "/getTotalOpenCompetitions") - public long getTotalOpenCompetitions() { + public AjaxResult getTotalOpenCompetitions() { // 这里替换成你的实际逻辑,例如从数据库查询 - return competitionResourceLibraryService.getTotalOpenCompetitions(); + return AjaxResult.success(competitionResourceLibraryService.getTotalOpenCompetitions()); } /** @@ -117,9 +117,9 @@ public class CompetitionResourceLibraryController extends BaseController { */ @ApiOperation(value = "返回竞赛转换成果数") @GetMapping(value = "/getTotalCompetitionAchievements") - public long getTotalCompetitionAchievements() { + public AjaxResult getTotalCompetitionAchievements() { // 这里替换成你的实际逻辑 - return competitionResourceLibraryService.getTotalCompetitionAchievements(); + return AjaxResult.success(competitionResourceLibraryService.getTotalCompetitionAchievements()); } /** @@ -129,9 +129,9 @@ public class CompetitionResourceLibraryController extends BaseController { */ @ApiOperation(value = "返回竞赛提交作品数") @GetMapping(value = "/getTotalCompetitionSubmissions") - public long getTotalCompetitionSubmissions() { + public AjaxResult getTotalCompetitionSubmissions() { // 这里替换成你的实际逻辑 - return competitionResourceLibraryService.getTotalCompetitionSubmissions(); + return AjaxResult.success(competitionResourceLibraryService.getTotalCompetitionSubmissions()); } /** @@ -141,9 +141,9 @@ public class CompetitionResourceLibraryController extends BaseController { */ @ApiOperation(value = "返回已结束竞赛数") @GetMapping(value = "/getTotalFinishedCompetitions") - public long getTotalFinishedCompetitions() { + public AjaxResult getTotalFinishedCompetitions() { // 这里替换成你的实际逻辑 - return competitionResourceLibraryService.getTotalFinishedCompetitions(); + return AjaxResult.success(competitionResourceLibraryService.getTotalFinishedCompetitions()); } /** @@ -153,8 +153,8 @@ public class CompetitionResourceLibraryController extends BaseController { */ @ApiOperation(value = "需评审竞赛数") @GetMapping(value = "/getReviewCompetitionCount") - public long getReviewCompetitionCount() { + public AjaxResult getReviewCompetitionCount() { // 这里替换成你的实际逻辑 - return competitionResourceLibraryService.getReviewCompetitionCount(); + return AjaxResult.success(competitionResourceLibraryService.getReviewCompetitionCount()); } } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/ExpertResourceLibraryController.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/ExpertResourceLibraryController.java index 7ceb2eab9..c7014998c 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/ExpertResourceLibraryController.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/ExpertResourceLibraryController.java @@ -8,6 +8,7 @@ import com.microservices.common.log.annotation.Log; import com.microservices.common.log.enums.BusinessType; import com.microservices.dms.resourceLibrary.domain.ExpertResourceLibrary; import com.microservices.dms.resourceLibrary.service.IExpertResourceLibraryService; +import io.swagger.annotations.Api; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -20,8 +21,9 @@ import java.util.List; * @author microservices * @date 2025-04-11 */ +@Api(tags = "数据管理体系-优质专家库") @RestController -@RequestMapping("/library") +@RequestMapping("/expertResourceLibrary") public class ExpertResourceLibraryController extends BaseController { @Autowired diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/ProjectResourceLibraryController.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/ProjectResourceLibraryController.java index 50e3717be..ca9640057 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/ProjectResourceLibraryController.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/ProjectResourceLibraryController.java @@ -92,7 +92,6 @@ public class ProjectResourceLibraryController extends BaseController { @ApiImplicitParam(name = "itemType", value = "类型(Project)", paramType = "query", dataTypeClass = String.class), @ApiImplicitParam(name = "itemId", value = "对象ID", paramType = "query", dataTypeClass = Integer.class), }) - public GenericsTableDataInfo selectPraisesCondition(UserActionDataVo taskJournals) { PageUtils.startPage(); List userActionDataVos = projectResourceLibraryService.selectPraisesCondition(taskJournals); diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/Favorite.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/Favorite.java new file mode 100644 index 000000000..5a7dadc84 --- /dev/null +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/Favorite.java @@ -0,0 +1,19 @@ +package com.microservices.dms.resourceLibrary.domain; + + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.util.Date; + +@Data +public class Favorite { + private Long id; + private String favoriteType; + private Long favoriteId; + private Long userId; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "") + private Date createdAt; + private String extInfo; +} + diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/Watcher.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/Watcher.java new file mode 100644 index 000000000..5ba6210a0 --- /dev/null +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/Watcher.java @@ -0,0 +1,19 @@ +package com.microservices.dms.resourceLibrary.domain; + + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.util.Date; + +@Data +public class Watcher { + private Long id; + private String watchableType; + private Long watchableId; + private Long userId; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "") + private Date createdAt; + private String extInfo; +} + diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/TaskResourceLibraryMapper.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/TaskResourceLibraryMapper.java index e5b8ec31f..b303846c7 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/TaskResourceLibraryMapper.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/TaskResourceLibraryMapper.java @@ -1,10 +1,7 @@ package com.microservices.dms.resourceLibrary.mapper; import com.microservices.common.datasource.annotation.Slave; -import com.microservices.dms.resourceLibrary.domain.Clicker; -import com.microservices.dms.resourceLibrary.domain.Downloader; -import com.microservices.dms.resourceLibrary.domain.Searcher; -import com.microservices.dms.resourceLibrary.domain.TaskResourceLibrary; +import com.microservices.dms.resourceLibrary.domain.*; import com.microservices.dms.resourceLibrary.domain.vo.KeyValVo; import com.microservices.dms.resourceLibrary.domain.vo.TaskListVo; import com.microservices.dms.resourceLibrary.domain.vo.UserActionDataVo; @@ -102,4 +99,8 @@ public interface TaskResourceLibraryMapper { * @return 需评审任务数 */ long getReviewTaskCount(); + + int insertFavorite(Favorite favorite); + + int insertWatcher(Watcher watcher); } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/TaskResourceLibraryService.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/TaskResourceLibraryService.java index 14f91c5db..6af30dbbe 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/TaskResourceLibraryService.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/TaskResourceLibraryService.java @@ -104,7 +104,7 @@ public class TaskResourceLibraryService { for (TaskResourceLibrary l : list) { List> attachments = taskResourceLibraryMapper.getAttachments(l.getPaperId()); for (KeyValVo a : attachments) { - String v = a.getV(); + Object v = a.getV(); a.setV(String.format(MARKER_SPACE_DOWNLOAD_API_BY_ID, markerSpaceUrl, v)); } l.setAttachmentList(attachments); @@ -138,7 +138,7 @@ public class TaskResourceLibraryService { * * @return 任务总数 */ - public long getTotalTasks() { + public Long getTotalTasks() { return taskResourceLibraryMapper.getTotalTasks(); } @@ -147,7 +147,7 @@ public class TaskResourceLibraryService { * * @return 转换成果任务金额 */ - public double getConvertedTaskAmount() { + public Double getConvertedTaskAmount() { return taskResourceLibraryMapper.getConvertedTaskAmount(); } @@ -156,7 +156,7 @@ public class TaskResourceLibraryService { * * @return 任务转换成果数 */ - public long getConvertedTasksCount() { + public Long getConvertedTasksCount() { return taskResourceLibraryMapper.getConvertedTasksCount(); } @@ -165,13 +165,22 @@ public class TaskResourceLibraryService { * * @return 任务金额 */ - public long getTaskAmount() { + public Long getTaskAmount() { return taskResourceLibraryMapper.getTaskAmount(); } - public long getReviewTaskCount() { + public Long getReviewTaskCount() { return taskResourceLibraryMapper.getReviewTaskCount(); } + public int addFavorite(Favorite favorite) { + favorite.setCreatedAt(DateUtils.getNowDate()); + return taskResourceLibraryMapper.insertFavorite(favorite); + } + + public int addWatcher(Watcher watcher) { + watcher.setCreatedAt(DateUtils.getNowDate()); + return taskResourceLibraryMapper.insertWatcher(watcher); + } } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/utils/DmsConstants.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/utils/DmsConstants.java deleted file mode 100644 index 83bdcc2bd..000000000 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/utils/DmsConstants.java +++ /dev/null @@ -1,5 +0,0 @@ -package com.microservices.dms.utils; - -public class DmsConstants { - -} diff --git a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/CompetitionResourceLibraryMapper.xml b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/CompetitionResourceLibraryMapper.xml index e1cd01e80..8d0f607a8 100644 --- a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/CompetitionResourceLibraryMapper.xml +++ b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/CompetitionResourceLibraryMapper.xml @@ -122,7 +122,7 @@ select click_type as itemType, click_id as itemId, user_id as userId, created_at as createAt, (select login from users where id = user_id) as userName from clickers @@ -344,10 +422,10 @@ select b.file_name as k, b.id as v - from paper_details pd join busi_attachments b on pd.files = b.id + from paper_details pd + join busi_attachments b on pd.files = b.id where pd.paper_id = #{id} + select id, achievement_name + from achievements + where is_featured ='1' + order by create_time desc + limit 0,4 + + + + + + \ No newline at end of file From d22795991f6b6634377fc2130930dbd534ae562a Mon Sep 17 00:00:00 2001 From: admin Date: Wed, 16 Apr 2025 10:42:48 +0800 Subject: [PATCH 16/31] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E5=90=88=E5=B9=B6?= =?UTF-8?q?=E3=80=81=E8=BF=91=E4=B8=83=E6=97=A5=E7=94=A8=E6=88=B7=E8=A1=8C?= =?UTF-8?q?=E4=B8=BA=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/AchievementsController.java | 63 +++++++++++-------- .../achievementLibrary/domain/AchQueryVo.java | 33 ++++++++++ .../domain/Achievements.java | 10 +++ .../mapper/AchievementsMapper.java | 13 ++++ .../service/IAchievementsService.java | 25 +++++--- .../service/impl/AchievementsServiceImpl.java | 48 +++++++++++++- .../CollectUserActDataController.java | 12 ++++ .../ExpertResourceLibraryController.java | 12 ++++ .../dms/resourceLibrary/domain/Searcher.java | 1 + .../mapper/ExpertResourceLibraryMapper.java | 2 + .../IExpertResourceLibraryService.java | 2 + .../service/TaskResourceLibraryService.java | 17 +++++ .../ExpertResourceLibraryServiceImpl.java | 13 ++++ .../com/microservices/dms/utils/DateUtil.java | 40 ++++++++++++ .../mapper/dms/AchievementsMapper.xml | 37 +++++++++++ .../dms/CompetitionResourceLibraryMapper.xml | 2 +- .../dms/ExpertResourceLibraryMapper.xml | 52 +++++++++++++-- 17 files changed, 339 insertions(+), 43 deletions(-) create mode 100644 microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/domain/AchQueryVo.java create mode 100644 microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/utils/DateUtil.java diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/controller/AchievementsController.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/controller/AchievementsController.java index 2d486cdd5..5a301c49c 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/controller/AchievementsController.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/controller/AchievementsController.java @@ -1,28 +1,21 @@ package com.microservices.dms.achievementLibrary.controller; -import java.util.List; -import javax.servlet.http.HttpServletResponse; - +import com.microservices.common.core.utils.poi.ExcelUtil; +import com.microservices.common.core.web.controller.BaseController; +import com.microservices.common.core.web.domain.AjaxResult; +import com.microservices.common.core.web.page.TableDataInfo; +import com.microservices.common.log.annotation.Log; +import com.microservices.common.log.enums.BusinessType; +import com.microservices.dms.achievementLibrary.domain.AchQueryVo; +import com.microservices.dms.achievementLibrary.domain.Achievements; +import com.microservices.dms.achievementLibrary.service.IAchievementsService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; -import com.microservices.common.log.annotation.Log; -import com.microservices.common.log.enums.BusinessType; -import com.microservices.common.security.annotation.RequiresPermissions; -import com.microservices.dms.achievementLibrary.domain.Achievements; -import com.microservices.dms.achievementLibrary.service.IAchievementsService; -import com.microservices.common.core.web.controller.BaseController; -import com.microservices.common.core.web.domain.AjaxResult; -import com.microservices.common.core.utils.poi.ExcelUtil; -import com.microservices.common.core.web.page.TableDataInfo; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; /** * 成果Controller @@ -105,33 +98,49 @@ public class AchievementsController extends BaseController { /** * 获取精选成果 + * * @return */ @ApiOperation("获取精选成果") @GetMapping("/getChoiceImport") - public AjaxResult getChoiceImport() - { + public AjaxResult getChoiceImport() { return success(achievementsService.getChoiceImport()); } /** * 根据成果来源对成果数据进行分类统计 + * * @return */ - @ApiOperation("根据成果来源对成果数据进行分类统计")@GetMapping("/getTjBySources") - public AjaxResult getTjBySources() - { + @ApiOperation("根据成果来源对成果数据进行分类统计") + @GetMapping("/getTjBySources") + public AjaxResult getTjBySources() { return success(achievementsService.getTjBySources()); } /** * 根据成果领域对成功数据进行汇总 + * * @return */ @ApiOperation("根据成果领域对成功数据进行汇总") @GetMapping("/getTjByAreas") - public AjaxResult getTjByAreas() - { + public AjaxResult getTjByAreas() { return success(achievementsService.getTjByAreas()); } + + /* 获取全部成果,根据成果名称、成果领域、成果来源进行查询 + * @return + */ + @ApiOperation("获取全部成果,根据成果名称、成果领域、成果来源进行查询") + @GetMapping("/getAllResult") + public AjaxResult getAllResult(@RequestBody AchQueryVo achQueryVo) { + return success(achievementsService.getAllResult(achQueryVo)); + } + + @ApiOperation("近七日用户行为数据") + @GetMapping("/getUerActionData") + public AjaxResult getUerActionData() { + return success(achievementsService.getUerActionData()); + } } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/domain/AchQueryVo.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/domain/AchQueryVo.java new file mode 100644 index 000000000..956dcf935 --- /dev/null +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/domain/AchQueryVo.java @@ -0,0 +1,33 @@ +package com.microservices.dms.achievementLibrary.domain; + +public class AchQueryVo { + + private String areaQuery;//领域 + private String source;//来源 + private String achievementName;//名称 + + + public String getAreaQuery() { + return areaQuery; + } + + public void setAreaQuery(String areaQuery) { + this.areaQuery = areaQuery; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getAchievementName() { + return achievementName; + } + + public void setAchievementName(String achievementName) { + this.achievementName = achievementName; + } +} diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/domain/Achievements.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/domain/Achievements.java index 71b293a95..0d1c1b54f 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/domain/Achievements.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/domain/Achievements.java @@ -120,6 +120,16 @@ public class Achievements extends BaseEntity @Excel(name = "成果附件") private String attachments; + Long clickSum; + + public Long getClickSum() { + return clickSum; + } + + public void setClickSum(Long clickSum) { + this.clickSum = clickSum; + } + private List attachmentList; public List getAttachmentList() { diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/mapper/AchievementsMapper.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/mapper/AchievementsMapper.java index 82f4397d2..663fbde8f 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/mapper/AchievementsMapper.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/mapper/AchievementsMapper.java @@ -1,13 +1,16 @@ package com.microservices.dms.achievementLibrary.mapper; +import java.util.Date; import java.util.List; import java.util.Map; import java.util.Set; import com.microservices.common.datasource.annotation.Master; import com.microservices.common.datasource.annotation.Slave; +import com.microservices.dms.achievementLibrary.domain.AchQueryVo; import com.microservices.dms.achievementLibrary.domain.Achievements; import com.microservices.dms.achievementLibrary.domain.KeyValueVo; +import com.microservices.dms.resourceLibrary.domain.vo.KeyValVo; import org.apache.ibatis.annotations.MapKey; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -74,6 +77,16 @@ public interface AchievementsMapper { List> getFileInfoByIdents(@Param("idents") Set idents); List getChoiceImport(); + List getTjBySources(); + List getTjByAreas(); + + List selectAchievementsByParam(AchQueryVo achQueryVo); + + Long getAchievementClickSum(Long id); + + List> getaWatcher(@Param("s") Date s, @Param("e") Date e, @Param("t") String achievements); + + List> getFavorite(@Param("s") Date s, @Param("e") Date e, @Param("t") String achievements); } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/IAchievementsService.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/IAchievementsService.java index b0ed22fd9..8cd6aae93 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/IAchievementsService.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/IAchievementsService.java @@ -3,20 +3,20 @@ package com.microservices.dms.achievementLibrary.service; import java.util.List; import java.util.Map; +import com.microservices.dms.achievementLibrary.domain.AchQueryVo; import com.microservices.dms.achievementLibrary.domain.Achievements; import com.microservices.dms.achievementLibrary.domain.KeyValueVo; /** * 成果Service接口 - * + * * @author microservices * @date 2025-04-02 */ -public interface IAchievementsService -{ +public interface IAchievementsService { /** * 查询成果 - * + * * @param id 成果主键 * @return 成果 */ @@ -24,7 +24,7 @@ public interface IAchievementsService /** * 查询成果列表 - * + * * @param achievements 成果 * @return 成果集合 */ @@ -32,7 +32,7 @@ public interface IAchievementsService /** * 新增成果 - * + * * @param achievements 成果 * @return 结果 */ @@ -40,7 +40,7 @@ public interface IAchievementsService /** * 修改成果 - * + * * @param achievements 成果 * @return 结果 */ @@ -48,7 +48,7 @@ public interface IAchievementsService /** * 批量删除成果 - * + * * @param ids 需要删除的成果主键集合 * @return 结果 */ @@ -56,7 +56,7 @@ public interface IAchievementsService /** * 删除成果信息 - * + * * @param id 成果主键 * @return 结果 */ @@ -67,6 +67,13 @@ public interface IAchievementsService List selectAchievementsFrontList(Achievements achievements); List getChoiceImport(); + List getTjBySources(); + List getTjByAreas(); + + List getAllResult(AchQueryVo achQueryVo); + + Map getUerActionData(); + } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/impl/AchievementsServiceImpl.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/impl/AchievementsServiceImpl.java index 8a13b002b..b3e486d16 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/impl/AchievementsServiceImpl.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/impl/AchievementsServiceImpl.java @@ -8,7 +8,10 @@ import com.alibaba.fastjson2.JSONObject; import com.microservices.common.core.utils.DateUtils; import com.microservices.common.core.utils.StringUtils; import com.microservices.common.security.utils.SecurityUtils; +import com.microservices.dms.achievementLibrary.domain.AchQueryVo; import com.microservices.dms.achievementLibrary.domain.KeyValueVo; +import com.microservices.dms.resourceLibrary.domain.vo.KeyValVo; +import com.microservices.dms.utils.DateUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.microservices.dms.achievementLibrary.mapper.AchievementsMapper; @@ -116,7 +119,7 @@ public class AchievementsServiceImpl implements IAchievementsService { public void buildFileInfoByIdents(String img, String att, Map map) { Set imgs = Arrays.stream(Optional.ofNullable(img).orElse("").split(",")).collect(Collectors.toSet()); imgs = imgs.stream().filter(StringUtils::isNotEmpty).collect(Collectors.toSet()); - HashMap imgMap = new HashMap<>(); + HashMap imgMap = new HashMap<>(); if (!CollectionUtils.isEmpty(imgs)) { Optional.ofNullable(achievementsMapper.getFileInfoByIdents(imgs)).orElse(new ArrayList<>()).forEach(s -> { imgMap.put(s.get("k"), s.get("v")); @@ -143,4 +146,47 @@ public class AchievementsServiceImpl implements IAchievementsService { public List getTjByAreas() { return achievementsMapper.getTjByAreas(); } + + @Override + public List getAllResult(AchQueryVo achQueryVo) { + //根据查询条件获取所有的成果数据 + List list = achievementsMapper.selectAchievementsByParam(achQueryVo); + //遍历成果数据,获取对应成果的点击数 + for (Achievements a : list) { + Long clickSum = achievementsMapper.getAchievementClickSum(a.getId()); + a.setClickSum(clickSum); + } + return list; + } + + @Override + public Map getUerActionData() { + Date[] days = DateUtil.getDays(1, 7); + Map w = achievementsMapper.getaWatcher(days[0], days[1], "Achievements") + .stream().collect(Collectors.toMap(KeyValVo::getK, KeyValVo::getV)); + + Map g = achievementsMapper.getFavorite(days[0], days[1], "Achievements") + .stream().collect(Collectors.toMap(KeyValVo::getK, KeyValVo::getV)); + + List dateStr = DateUtil.getDateStr(days[0], days[1]); + List> wRes = new ArrayList<>(); + List> gRes = new ArrayList<>(); + for (String s : dateStr) { + Long a = w.getOrDefault(s, 0L); + Long b = g.getOrDefault(s, 0L); + KeyValVo k1 = new KeyValVo<>(); + k1.setK(s); + k1.setV(a); + KeyValVo k2 = new KeyValVo<>(); + k2.setK(s); + k2.setV(b); + + wRes.add(k1); + gRes.add(k2); + } + Map res = new HashMap<>(); + res.put("watcher", wRes); + res.put("favorite", gRes); + return res; + } } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/CollectUserActDataController.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/CollectUserActDataController.java index adfa474e7..7dbb566b3 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/CollectUserActDataController.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/CollectUserActDataController.java @@ -57,6 +57,18 @@ public class CollectUserActDataController { return AjaxResult.success(taskResourceLibraryService.addSearcher(searcher)); } + @PostMapping("/addSearcher2") + @ApiOperation(value = "记录搜索次数") + @ApiImplicitParams({ + @ApiImplicitParam(name = "searchType", value = "搜索类型(任务:makerSpaceTask、项目:Project、竞赛:CompetitionInfo)", paramType = "query", dataTypeClass = String.class), + @ApiImplicitParam(name = "searchIds", value = "搜索对象ID", paramType = "query", dataTypeClass = Integer.class), + @ApiImplicitParam(name = "userId", value = "用户ID", paramType = "query", dataTypeClass = Integer.class), + @ApiImplicitParam(name = "extInfo", value = "补充信息", paramType = "query", dataTypeClass = String.class) + }) + public AjaxResult addSearcher2(Searcher searcher) { + return AjaxResult.success(taskResourceLibraryService.addSearcher2(searcher)); + } + @PostMapping("/addFavorite") @ApiOperation(value = "记录搜索次数") @ApiImplicitParams({ diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/ExpertResourceLibraryController.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/ExpertResourceLibraryController.java index c7014998c..3589c2c20 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/ExpertResourceLibraryController.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/ExpertResourceLibraryController.java @@ -40,6 +40,18 @@ public class ExpertResourceLibraryController extends BaseController return getDataTable(list); } + + /** + * 查询专家资源库列表 + */ + @GetMapping("/listFront") + public TableDataInfo listFront(ExpertResourceLibrary expertResourceLibrary) + { + startPage(); + List list = expertResourceLibraryService.selectExpertResourceLibraryList2(expertResourceLibrary); + return getDataTable(list); + } + /** * 导出专家资源库列表 */ diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/Searcher.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/Searcher.java index d54012d06..e265ab521 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/Searcher.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/Searcher.java @@ -10,6 +10,7 @@ public class Searcher { private Long id; private String searchType; private Long searchId; + private String searchIds; private Long userId; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "") private Date createdAt; diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/ExpertResourceLibraryMapper.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/ExpertResourceLibraryMapper.java index 8f7d8837e..e56e3a185 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/ExpertResourceLibraryMapper.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/ExpertResourceLibraryMapper.java @@ -60,4 +60,6 @@ public interface ExpertResourceLibraryMapper * @return 结果 */ public int deleteExpertResourceLibraryByIds(Long[] ids); + + List selectExpertResourceLibraryList2(ExpertResourceLibrary expertResourceLibrary); } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/IExpertResourceLibraryService.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/IExpertResourceLibraryService.java index c553a2340..d739211b7 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/IExpertResourceLibraryService.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/IExpertResourceLibraryService.java @@ -58,4 +58,6 @@ public interface IExpertResourceLibraryService * @return 结果 */ public int deleteExpertResourceLibraryById(Long id); + + List selectExpertResourceLibraryList2(ExpertResourceLibrary expertResourceLibrary); } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/TaskResourceLibraryService.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/TaskResourceLibraryService.java index 6af30dbbe..a4b25412b 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/TaskResourceLibraryService.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/TaskResourceLibraryService.java @@ -12,7 +12,9 @@ import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; +import java.util.Arrays; import java.util.List; +import java.util.stream.Collectors; import static com.microservices.dms.constant.TaskConstant.MARKER_SPACE_DOWNLOAD_API_BY_ID; import static com.microservices.dms.constant.TaskConstant.PROJECT_DOWNLOAD_API; @@ -183,4 +185,19 @@ public class TaskResourceLibraryService { watcher.setCreatedAt(DateUtils.getNowDate()); return taskResourceLibraryMapper.insertWatcher(watcher); } + + public int addSearcher2(Searcher searcher) { + String[] split = searcher.getSearchIds().split(","); + Arrays.stream(split).forEach(s -> { + Searcher e = new Searcher(); + e.setCreatedAt(DateUtils.getNowDate()); + e.setSearchId(Long.parseLong(s)); + e.setUserId(searcher.getUserId()); + e.setExtInfo(searcher.getExtInfo()); + e.setSearchType(searcher.getSearchType()); + taskResourceLibraryMapper.insertSearcher(e); + }); + + return split.length; + } } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/impl/ExpertResourceLibraryServiceImpl.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/impl/ExpertResourceLibraryServiceImpl.java index a7e4c732a..34b289e1d 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/impl/ExpertResourceLibraryServiceImpl.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/impl/ExpertResourceLibraryServiceImpl.java @@ -44,6 +44,19 @@ public class ExpertResourceLibraryServiceImpl implements IExpertResourceLibraryS return expertResourceLibraryMapper.selectExpertResourceLibraryList(expertResourceLibrary); } + + /** + * 查询专家资源库列表 + * + * @param expertResourceLibrary 专家资源库 + * @return 专家资源库 + */ + @Override + public List selectExpertResourceLibraryList2(ExpertResourceLibrary expertResourceLibrary) + { + return expertResourceLibraryMapper.selectExpertResourceLibraryList2(expertResourceLibrary); + } + /** * 新增专家资源库 * diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/utils/DateUtil.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/utils/DateUtil.java new file mode 100644 index 000000000..421d5366d --- /dev/null +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/utils/DateUtil.java @@ -0,0 +1,40 @@ +package com.microservices.dms.utils; + +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.ZoneId; +import java.time.format.DateTimeFormatter; +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; +import java.util.stream.LongStream; + +public class DateUtil { + + public static Date[] getDays(long start, long end) { + LocalDate today = LocalDate.now(); + LocalDate startOfWeek = today.minusDays(end); + LocalDate endOfWeek = today.minusDays(start); + + LocalDateTime startDateTime = startOfWeek.atStartOfDay(); + LocalDateTime endDateTime = endOfWeek.atTime(23, 59, 59); + + return new Date[]{ + Date.from(startDateTime.atZone(ZoneId.systemDefault()).toInstant()), + Date.from(endDateTime.atZone(ZoneId.systemDefault()).toInstant()), + }; + } + + + public static List getDateStr(Date start, Date end) { + LocalDate s = start.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime().toLocalDate(); + LocalDate e = end.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime().toLocalDate(); + String pattern = "yyyy-MM-dd"; + DateTimeFormatter formatter = DateTimeFormatter.ofPattern(pattern); + + return LongStream.range(0,s.until(e).getDays()+1) + .mapToObj(s::plusDays) + .map(formatter::format) + .collect(Collectors.toList()); + } +} diff --git a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/AchievementsMapper.xml b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/AchievementsMapper.xml index 88301b186..9d7365e71 100644 --- a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/AchievementsMapper.xml +++ b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/AchievementsMapper.xml @@ -224,4 +224,41 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" limit 0,5 + + + + + + + \ No newline at end of file diff --git a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/CompetitionResourceLibraryMapper.xml b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/CompetitionResourceLibraryMapper.xml index 8d0f607a8..bb97335e0 100644 --- a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/CompetitionResourceLibraryMapper.xml +++ b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/CompetitionResourceLibraryMapper.xml @@ -128,7 +128,7 @@ cu.id as competition_user_id, cu.sub_competition as competition_field, ci.status as competition_status, - competition_submission_name, + cu.works_name as competition_submission_name, cu.created_at as submission_time, cu.leader as submitter, submission_type, diff --git a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/ExpertResourceLibraryMapper.xml b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/ExpertResourceLibraryMapper.xml index d7a65825e..af46a46ba 100644 --- a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/ExpertResourceLibraryMapper.xml +++ b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/ExpertResourceLibraryMapper.xml @@ -40,10 +40,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + + + @@ -114,7 +116,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" create_time, update_by, update_time, - + attachment_count, + is_expert_audit, + #{achievementName}, #{field1}, @@ -144,7 +148,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{createTime}, #{updateBy}, #{updateTime}, - + #{attachmentCount}, + #{isExpertAudit}, + @@ -178,6 +184,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" create_time = #{createTime}, update_by = #{updateBy}, update_time = #{updateTime}, + attachment_count = #{attachmentCount}, + is_expert_audit = #{isExpertAudit}, where id = #{id} @@ -261,4 +269,25 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" group by DATE_FORMAT(created_at, '%Y-%m-%d') order by DATE_FORMAT(created_at, '%Y-%m-%d') + + + + \ No newline at end of file diff --git a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/TaskResourceLibraryMapper.xml b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/TaskResourceLibraryMapper.xml index 84b2aa6ee..45b2fbff9 100644 --- a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/TaskResourceLibraryMapper.xml +++ b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/TaskResourceLibraryMapper.xml @@ -41,7 +41,14 @@ - + INSERT INTO searchers From ad1b5ca8c448fab1fe58e79c993957ea2a026fe7 Mon Sep 17 00:00:00 2001 From: admin Date: Thu, 17 Apr 2025 15:55:33 +0800 Subject: [PATCH 18/31] =?UTF-8?q?=E4=B8=83=E6=97=A5=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/AchievementsController.java | 27 +++++++- .../mapper/AchievementsMapper.java | 8 +++ .../service/IAchievementsService.java | 8 +++ .../service/impl/AchievementsServiceImpl.java | 67 +++++++++++++++---- .../CollectUserActDataController.java | 6 +- .../mapper/dms/AchievementsMapper.xml | 33 +++++++++ .../service/impl/SysFileInfoServiceImpl.java | 7 ++ 7 files changed, 139 insertions(+), 17 deletions(-) diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/controller/AchievementsController.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/controller/AchievementsController.java index decd1bbe7..0737ceb4a 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/controller/AchievementsController.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/controller/AchievementsController.java @@ -152,7 +152,32 @@ public class AchievementsController extends BaseController { @ApiOperation("七日新增") @GetMapping("/get7DayAdd") - public AjaxResult getA(@RequestBody AchQueryVo achQueryVo) { + public AjaxResult get7DayAdd(@RequestBody AchQueryVo achQueryVo) { return success(achievementsService.get7DayAdd(achQueryVo)); } + + + @ApiOperation("首页项目统计") + @GetMapping("/indexProjectStatistic") + public AjaxResult indexProjectStatistic() { + return success(achievementsService.indexProjectStatistic()); + } + + @ApiOperation("首页task统计") + @GetMapping("/indexTaskStatistic") + public AjaxResult indexTaskStatistic() { + return success(achievementsService.indexTaskStatistic()); + } + + @ApiOperation("首页Competition统计") + @GetMapping("/indexCompetitionStatistic") + public AjaxResult indexCompetitionStatistic() { + return success(achievementsService.indexCompetitionStatistic()); + } + + @ApiOperation("首页SchoolEnterprise统计") + @GetMapping("/indexSchoolEnterpriseStatistic") + public AjaxResult indexSchoolEnterpriseStatistic() { + return success(achievementsService.indexSchoolEnterpriseStatistic()); + } } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/mapper/AchievementsMapper.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/mapper/AchievementsMapper.java index dfd4f891a..8abd0dbcc 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/mapper/AchievementsMapper.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/mapper/AchievementsMapper.java @@ -93,4 +93,12 @@ public interface AchievementsMapper { List> getAchievement(@Param("s") Date s, @Param("e") Date e, @Param("t") String source); List getHotAchievement(); + + Map indexProjectStatistic(); + + Map indexTaskStatistic(); + + Map indexCompetitionStatistic(); + + Long indexSchoolEnterpriseStatistic(@Param("s") String s, @Param("t") String tags); } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/IAchievementsService.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/IAchievementsService.java index 8c7395426..0cc1f1704 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/IAchievementsService.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/IAchievementsService.java @@ -80,4 +80,12 @@ public interface IAchievementsService { List getHotAchievement(); List> get7DayAdd(AchQueryVo achQueryVo); + + Map indexProjectStatistic(); + + Map indexTaskStatistic(); + + Map indexCompetitionStatistic(); + + Map indexSchoolEnterpriseStatistic(); } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/impl/AchievementsServiceImpl.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/impl/AchievementsServiceImpl.java index b186e76aa..cec9a5524 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/impl/AchievementsServiceImpl.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/impl/AchievementsServiceImpl.java @@ -10,6 +10,8 @@ import com.microservices.common.core.utils.StringUtils; import com.microservices.common.security.utils.SecurityUtils; import com.microservices.dms.achievementLibrary.domain.AchQueryVo; import com.microservices.dms.achievementLibrary.domain.KeyValueVo; +import com.microservices.dms.achievementLibrary.service.ISchoolEnterpriseAchievementsService; +import com.microservices.dms.resourceLibrary.domain.Clicker; import com.microservices.dms.resourceLibrary.domain.vo.KeyValVo; import com.microservices.dms.resourceLibrary.mapper.TaskResourceLibraryMapper; import com.microservices.dms.utils.DateUtil; @@ -35,6 +37,9 @@ public class AchievementsServiceImpl implements IAchievementsService { @Autowired private TaskResourceLibraryMapper taskResourceLibraryMapper; + private ISchoolEnterpriseAchievementsService schoolEnterpriseAchievementsService; + + /** * 查询成果 * @@ -122,18 +127,18 @@ public class AchievementsServiceImpl implements IAchievementsService { @Override public void buildFileInfoByIdents(String img, String att, Map map) { - Set imgs = Arrays.stream(Optional.ofNullable(img).orElse("").split(",")).collect(Collectors.toSet()); - imgs = imgs.stream().filter(StringUtils::isNotEmpty).collect(Collectors.toSet()); - HashMap imgMap = new HashMap<>(); - if (!CollectionUtils.isEmpty(imgs)) { - Optional.ofNullable(achievementsMapper.getFileInfoByIdents(imgs)).orElse(new ArrayList<>()).forEach(s -> { - imgMap.put(s.get("k"), s.get("v")); - }); - } - map.put("img", imgMap); - String a = Optional.ofNullable(img).orElse("[]"); - JSONArray ao = JSONArray.parseArray(a); - map.put("att", ao); +// Set imgs = Arrays.stream(Optional.ofNullable(img).orElse("").split(",")).collect(Collectors.toSet()); +// imgs = imgs.stream().filter(StringUtils::isNotEmpty).collect(Collectors.toSet()); +// HashMap imgMap = new HashMap<>(); +// if (!CollectionUtils.isEmpty(imgs)) { +// Optional.ofNullable(achievementsMapper.getFileInfoByIdents(imgs)).orElse(new ArrayList<>()).forEach(s -> { +// imgMap.put(s.get("k"), s.get("v")); +// }); +// } +// map.put("img", imgMap); +// String a = Optional.ofNullable(img).orElse("[]"); +// JSONArray ao = JSONArray.parseArray(a); +// map.put("att", ao); } @@ -203,7 +208,7 @@ public class AchievementsServiceImpl implements IAchievementsService { @Override public List> get7DayAdd(AchQueryVo achQueryVo) { Date[] days = DateUtil.getDays(1, 7); - Map w = achievementsMapper.getaWatcher(days[0], days[1], achQueryVo.getSource()) + Map w = achievementsMapper.getAchievement(days[0], days[1], achQueryVo.getSource()) .stream().collect(Collectors.toMap(KeyValVo::getK, KeyValVo::getV)); List dateStr = DateUtil.getDateStr(days[0], days[1]); @@ -218,4 +223,40 @@ public class AchievementsServiceImpl implements IAchievementsService { } return res; } + + @Override + public Map indexProjectStatistic() { + Map res = achievementsMapper.indexProjectStatistic(); + return res; + } + + @Override + public Map indexTaskStatistic() { + Map res = achievementsMapper.indexTaskStatistic(); + double convertedTaskAmount = taskResourceLibraryMapper.getConvertedTaskAmount(); + res.put("convertedTaskAmount", convertedTaskAmount); + return res; + } + + @Override + public Map indexCompetitionStatistic() { + Map res = achievementsMapper.indexCompetitionStatistic(); + return res; + } + + @Override + public Map indexSchoolEnterpriseStatistic() { + Map res = new HashMap<>(); + Long schoolEnterpriseCount = achievementsMapper.indexSchoolEnterpriseStatistic("4", ""); + res.put("schoolEnterpriseCount", schoolEnterpriseCount); + Long schoolCount = achievementsMapper.indexSchoolEnterpriseStatistic("4", "1"); + res.put("schoolCount", schoolCount); + Long enterpriseCount = achievementsMapper.indexSchoolEnterpriseStatistic("4", "2"); + res.put("enterpriseCount", enterpriseCount); + Clicker clicker = new Clicker(); + clicker.setClickType("schoolEnterprise"); + long clickCount = taskResourceLibraryMapper.countClicker(clicker); + res.put("clickCount", clickCount); + return res; + } } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/CollectUserActDataController.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/CollectUserActDataController.java index 06277a5e4..70c808736 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/CollectUserActDataController.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/CollectUserActDataController.java @@ -61,7 +61,7 @@ public class CollectUserActDataController { @ApiOperation(value = "记录搜索次数") @ApiImplicitParams({ @ApiImplicitParam(name = "searchType", value = "搜索类型(任务:makerSpaceTask、项目:Project、竞赛:CompetitionInfo)", paramType = "query", dataTypeClass = String.class), - @ApiImplicitParam(name = "searchIds", value = "搜索对象ID", paramType = "query", dataTypeClass = Integer.class), + @ApiImplicitParam(name = "searchIds", value = "搜索对象ID,多个,分隔", paramType = "query", dataTypeClass = Integer.class), @ApiImplicitParam(name = "userId", value = "用户ID", paramType = "query", dataTypeClass = Integer.class), @ApiImplicitParam(name = "extInfo", value = "补充信息", paramType = "query", dataTypeClass = String.class) }) @@ -70,7 +70,7 @@ public class CollectUserActDataController { } @PostMapping("/addFavorite") - @ApiOperation(value = "记录搜索次数") + @ApiOperation(value = "记录收藏次数") @ApiImplicitParams({ @ApiImplicitParam(name = "favoriteType", value = "收藏类型(成果:Achievements、专家:Experts)", paramType = "query", dataTypeClass = String.class), @ApiImplicitParam(name = "favoriteId", value = "对象ID", paramType = "query", dataTypeClass = Integer.class), @@ -82,7 +82,7 @@ public class CollectUserActDataController { } @PostMapping("/addWatcher") - @ApiOperation(value = "记录搜索次数") + @ApiOperation(value = "记录关注次数") @ApiImplicitParams({ @ApiImplicitParam(name = "favoriteType", value = "关注类型(成果:Achievements、专家:Experts)", paramType = "query", dataTypeClass = String.class), @ApiImplicitParam(name = "favoriteId", value = "对象ID", paramType = "query", dataTypeClass = Integer.class), diff --git a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/AchievementsMapper.xml b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/AchievementsMapper.xml index 7e3af6666..aa75ecb93 100644 --- a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/AchievementsMapper.xml +++ b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/AchievementsMapper.xml @@ -290,4 +290,37 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" group by DATE_FORMAT(create_time, '%Y-%m-%d') order by DATE_FORMAT(create_time, '%Y-%m-%d') + + + + + + + + \ No newline at end of file diff --git a/microservices-modules/microservices-modules-file/src/main/java/com/microservices/file/service/impl/SysFileInfoServiceImpl.java b/microservices-modules/microservices-modules-file/src/main/java/com/microservices/file/service/impl/SysFileInfoServiceImpl.java index de51925f3..243e6cc39 100644 --- a/microservices-modules/microservices-modules-file/src/main/java/com/microservices/file/service/impl/SysFileInfoServiceImpl.java +++ b/microservices-modules/microservices-modules-file/src/main/java/com/microservices/file/service/impl/SysFileInfoServiceImpl.java @@ -402,6 +402,13 @@ public class SysFileInfoServiceImpl implements ISysFileInfoService { isCommonFileType = false; break; } + case "dms": { + // 项目管理下需生成唯一标识,防止用户通过id递增访问 + sysFileInfo.setFileIdentifier(genFileIdentifier()); + baseFilePath += "/" + fileType + "/"; + isCommonFileType = false; + break; + } case "resource": { baseFilePath += "/" + fileType + "/"; isCommonFileType = false; From cb286fa3f0890debcda5fdaaeaf269085dbdfe69 Mon Sep 17 00:00:00 2001 From: admin Date: Fri, 18 Apr 2025 16:18:17 +0800 Subject: [PATCH 19/31] =?UTF-8?q?=E7=94=A8=E6=88=B7=E7=94=BB=E5=83=8F?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E5=90=88=E5=B9=B6=E3=80=81=E4=B8=93=E5=AE=B6?= =?UTF-8?q?=E8=B5=84=E6=BA=90=E5=BA=93=E9=80=BB=E8=BE=91=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/AchievementsController.java | 13 ++- .../achievementLibrary/domain/KeyValueVo.java | 9 -- .../service/IAchievementsService.java | 2 + .../service/impl/AchievementsServiceImpl.java | 21 +++++ .../controller/BehaviorImageController.java | 35 +++++++ .../domain/AchievementBehaviorSumVo.java | 49 ++++++++++ .../domain/AchievementImageVo.java | 25 +++++ .../behaviorImage/domain/BehaviorContant.java | 34 +++++++ .../domain/BehaviorImageWeight.java | 68 ++++++++++++++ .../mapper/BehaviorImageMapper.java | 27 ++++++ .../service/IBehaviorImageService.java | 7 ++ .../impl/BehaviorImageServiceImpl.java | 92 +++++++++++++++++++ .../ExpertResourceLibraryController.java | 22 +++++ .../domain/ExpertResourceLibrary.java | 20 ++++ .../mapper/ExpertResourceLibraryMapper.java | 12 +++ .../IExpertResourceLibraryService.java | 6 ++ .../ExpertResourceLibraryServiceImpl.java | 15 +++ .../mapper/dms/BehaviorImageMapper.xml | 45 +++++++++ .../dms/ExpertResourceLibraryMapper.xml | 52 +++++++++-- 19 files changed, 536 insertions(+), 18 deletions(-) create mode 100644 microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/behaviorImage/controller/BehaviorImageController.java create mode 100644 microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/behaviorImage/domain/AchievementBehaviorSumVo.java create mode 100644 microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/behaviorImage/domain/AchievementImageVo.java create mode 100644 microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/behaviorImage/domain/BehaviorContant.java create mode 100644 microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/behaviorImage/domain/BehaviorImageWeight.java create mode 100644 microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/behaviorImage/mapper/BehaviorImageMapper.java create mode 100644 microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/behaviorImage/service/IBehaviorImageService.java create mode 100644 microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/behaviorImage/service/impl/BehaviorImageServiceImpl.java create mode 100644 microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/BehaviorImageMapper.xml diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/controller/AchievementsController.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/controller/AchievementsController.java index 0737ceb4a..b187c3951 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/controller/AchievementsController.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/controller/AchievementsController.java @@ -134,8 +134,9 @@ public class AchievementsController extends BaseController { */ @ApiOperation("获取全部成果,根据成果名称、成果领域、成果来源进行查询") @GetMapping("/getAllResult") - public AjaxResult getAllResult(@RequestBody AchQueryVo achQueryVo) { - return success(achievementsService.getAllResult(achQueryVo)); + public TableDataInfo getAllResult(AchQueryVo achQueryVo) { + startPage(); + return getDataTable(achievementsService.getAllResult(achQueryVo)); } @ApiOperation("近七日用户行为数据") @@ -152,7 +153,7 @@ public class AchievementsController extends BaseController { @ApiOperation("七日新增") @GetMapping("/get7DayAdd") - public AjaxResult get7DayAdd(@RequestBody AchQueryVo achQueryVo) { + public AjaxResult get7DayAdd(AchQueryVo achQueryVo) { return success(achievementsService.get7DayAdd(achQueryVo)); } @@ -180,4 +181,10 @@ public class AchievementsController extends BaseController { public AjaxResult indexSchoolEnterpriseStatistic() { return success(achievementsService.indexSchoolEnterpriseStatistic()); } + + @ApiOperation("首页专家统计") + @GetMapping("/indexExpertStatistic") + public AjaxResult indexExpertStatistic() { + return success(achievementsService.indexExpertStatistic()); + } } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/domain/KeyValueVo.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/domain/KeyValueVo.java index 6651f2447..c046c27c4 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/domain/KeyValueVo.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/domain/KeyValueVo.java @@ -5,15 +5,6 @@ public class KeyValueVo { private String name; private String result; private Long value; - private Long value2; - - public Long getValue2() { - return value2; - } - - public void setValue2(Long value2) { - this.value2 = value2; - } public String getName() { return name; diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/IAchievementsService.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/IAchievementsService.java index 0cc1f1704..4a7ecc0df 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/IAchievementsService.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/IAchievementsService.java @@ -88,4 +88,6 @@ public interface IAchievementsService { Map indexCompetitionStatistic(); Map indexSchoolEnterpriseStatistic(); + + Map indexExpertStatistic(); } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/impl/AchievementsServiceImpl.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/impl/AchievementsServiceImpl.java index cec9a5524..a6f43f653 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/impl/AchievementsServiceImpl.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/impl/AchievementsServiceImpl.java @@ -13,6 +13,7 @@ import com.microservices.dms.achievementLibrary.domain.KeyValueVo; import com.microservices.dms.achievementLibrary.service.ISchoolEnterpriseAchievementsService; import com.microservices.dms.resourceLibrary.domain.Clicker; import com.microservices.dms.resourceLibrary.domain.vo.KeyValVo; +import com.microservices.dms.resourceLibrary.mapper.ExpertResourceLibraryMapper; import com.microservices.dms.resourceLibrary.mapper.TaskResourceLibraryMapper; import com.microservices.dms.utils.DateUtil; import org.springframework.beans.factory.annotation.Autowired; @@ -37,8 +38,12 @@ public class AchievementsServiceImpl implements IAchievementsService { @Autowired private TaskResourceLibraryMapper taskResourceLibraryMapper; + @Autowired private ISchoolEnterpriseAchievementsService schoolEnterpriseAchievementsService; + @Autowired + private ExpertResourceLibraryMapper expertResourceLibraryMapper; + /** * 查询成果 @@ -259,4 +264,20 @@ public class AchievementsServiceImpl implements IAchievementsService { res.put("clickCount", clickCount); return res; } + + @Override + public Map indexExpertStatistic() { + Map res = new HashMap<>(); + Long expertResourceCount = expertResourceLibraryMapper.expertResourceCount(); + res.put("expertResourceCount", expertResourceCount); + Long auditTaskAuditExpertCount = expertResourceLibraryMapper.auditTaskAuditExpertCount(); + res.put("auditTaskAuditExpertCount", auditTaskAuditExpertCount); + Long auditCompetitionAuditExpertCount = expertResourceLibraryMapper.auditCompetitionAuditExpertCount(); + res.put("auditCompetitionAuditExpertCount", auditCompetitionAuditExpertCount); + Clicker clicker = new Clicker(); + clicker.setClickType("Experts"); + long clickCount = taskResourceLibraryMapper.countClicker(clicker); + res.put("clickCount", clickCount); + return res; + } } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/behaviorImage/controller/BehaviorImageController.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/behaviorImage/controller/BehaviorImageController.java new file mode 100644 index 000000000..dcfbf8be1 --- /dev/null +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/behaviorImage/controller/BehaviorImageController.java @@ -0,0 +1,35 @@ +package com.microservices.dms.behaviorImage.controller; + +import com.microservices.common.core.web.domain.AjaxResult; +import com.microservices.dms.behaviorImage.service.IBehaviorImageService; +import io.swagger.annotations.Api; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * 成果画像Controller + * + * @author microservices + * @date 2025-04-17 + */ +@RestController +@RequestMapping("/behaviorImage") +@Api(tags = "数据管理体系-画像接口") +public class BehaviorImageController { + + @Autowired + private IBehaviorImageService behaviorImageService; + /** + * 根据成果ID,获取对应的成果画像 + */ + //@RequiresPermissions("dms:achievements:query") + @GetMapping(value = "/achievementImage") + public AjaxResult getAchievementImageById(@PathVariable("id") Long id) + { + return AjaxResult.success(behaviorImageService.getAchievementImageById(id)); + } + +} diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/behaviorImage/domain/AchievementBehaviorSumVo.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/behaviorImage/domain/AchievementBehaviorSumVo.java new file mode 100644 index 000000000..d60d9cf68 --- /dev/null +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/behaviorImage/domain/AchievementBehaviorSumVo.java @@ -0,0 +1,49 @@ +package com.microservices.dms.behaviorImage.domain; + +public class AchievementBehaviorSumVo { + private Long clickSum; + private Long watchSum; + private Long searchSum; + private Long favoriteSum; + private Long downloadSum; + + public Long getClickSum() { + return clickSum; + } + + public void setClickSum(Long clickSum) { + this.clickSum = clickSum; + } + + public Long getWatchSum() { + return watchSum; + } + + public void setWatchSum(Long watchSum) { + this.watchSum = watchSum; + } + + public Long getSearchSum() { + return searchSum; + } + + public void setSearchSum(Long searchSum) { + this.searchSum = searchSum; + } + + public Long getFavoriteSum() { + return favoriteSum; + } + + public void setFavoriteSum(Long favoriteSum) { + this.favoriteSum = favoriteSum; + } + + public Long getDownloadSum() { + return downloadSum; + } + + public void setDownloadSum(Long downloadSum) { + this.downloadSum = downloadSum; + } +} diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/behaviorImage/domain/AchievementImageVo.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/behaviorImage/domain/AchievementImageVo.java new file mode 100644 index 000000000..0fa191a60 --- /dev/null +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/behaviorImage/domain/AchievementImageVo.java @@ -0,0 +1,25 @@ +package com.microservices.dms.behaviorImage.domain; + +/** + * 成果画像结果 + */ +public class AchievementImageVo { + private Long id; + private float score; + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public float getScore() { + return score; + } + + public void setScore(float score) { + this.score = score; + } +} diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/behaviorImage/domain/BehaviorContant.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/behaviorImage/domain/BehaviorContant.java new file mode 100644 index 000000000..911323b31 --- /dev/null +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/behaviorImage/domain/BehaviorContant.java @@ -0,0 +1,34 @@ +package com.microservices.dms.behaviorImage.domain; + +public class BehaviorContant { + /** + * 成果画像 + */ + public final static String ACHIEVEMENTS_IMAGE = "Achievements"; + + /** + * 点击行为 + */ + public final static String CLICK_BEHAVIOR = "click"; + /** + * 收藏行为 + */ + public final static String FAVORITE_BEHAVIOR = "favorite"; + /** + * 搜索行为 + */ + public final static String SEARCH_BEHAVIOR = "search"; + /** + * 关注行为 + */ + public final static String WATCH_BEHAVIOR = "watch"; + /** + * 附件下载行为 + */ + public final static String FILE_DOWNLOAD_BEHAVIOR = "file_download"; + + + + + +} diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/behaviorImage/domain/BehaviorImageWeight.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/behaviorImage/domain/BehaviorImageWeight.java new file mode 100644 index 000000000..30e8d6470 --- /dev/null +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/behaviorImage/domain/BehaviorImageWeight.java @@ -0,0 +1,68 @@ +package com.microservices.dms.behaviorImage.domain; + +import com.microservices.common.core.annotation.Excel; +import com.microservices.common.core.web.domain.BaseEntity; + +public class BehaviorImageWeight extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 画像权重唯一标识 */ + private Long id; + + /** 行为编码 */ + @Excel(name = "行为编码") + private String behaviorCode; + + /** 画像分类 */ + @Excel(name = "画像分类") + private String imageType; + + /** 行为名称 */ + @Excel(name = "行为名称") + private String behaviorName; + + /** 行为权重*/ + @Excel(name = "行为权重") + private Long behavioWeight; + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getBehaviorCode() { + return behaviorCode; + } + + public void setBehaviorCode(String behaviorCode) { + this.behaviorCode = behaviorCode; + } + + public String getImageType() { + return imageType; + } + + public void setImageType(String imageType) { + this.imageType = imageType; + } + + public String getBehaviorName() { + return behaviorName; + } + + public void setBehaviorName(String behaviorName) { + this.behaviorName = behaviorName; + } + + public Long getBehavioWeight() { + return behavioWeight; + } + + public void setBehavioWeight(Long behavioWeight) { + this.behavioWeight = behavioWeight; + } +} diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/behaviorImage/mapper/BehaviorImageMapper.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/behaviorImage/mapper/BehaviorImageMapper.java new file mode 100644 index 000000000..2815fd4da --- /dev/null +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/behaviorImage/mapper/BehaviorImageMapper.java @@ -0,0 +1,27 @@ +package com.microservices.dms.behaviorImage.mapper; + +import com.microservices.common.datasource.annotation.Slave; +import com.microservices.dms.achievementLibrary.domain.KeyValueVo; +import com.microservices.dms.behaviorImage.domain.AchievementBehaviorSumVo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +@Slave +public interface BehaviorImageMapper { + AchievementBehaviorSumVo getBehaviorSumListByType(); + + List getWeightListByType(@Param("achievementsImage") String achievementsImage); + + Long getFavoriteSumByAchievementId(@Param("id") Long id,@Param("achievementsImage") String achievementsImage); + + Long getSearchSumByAchievementId(@Param("id") Long id,@Param("achievementsImage") String achievementsImage); + + Long getWatchSumByAchievementId(@Param("id") Long id,@Param("achievementsImage") String achievementsImage); + + Long getFileDownloadSumByAchievementId(@Param("id") Long id,@Param("achievementsImage") String achievementsImage); + + Long getClickSumByAchievementId(@Param("id") Long id, @Param("achievementsImage") String achievementsImage); +} diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/behaviorImage/service/IBehaviorImageService.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/behaviorImage/service/IBehaviorImageService.java new file mode 100644 index 000000000..e6e02c368 --- /dev/null +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/behaviorImage/service/IBehaviorImageService.java @@ -0,0 +1,7 @@ +package com.microservices.dms.behaviorImage.service; + +import com.microservices.dms.behaviorImage.domain.AchievementImageVo; + +public interface IBehaviorImageService { + AchievementImageVo getAchievementImageById(Long id); +} diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/behaviorImage/service/impl/BehaviorImageServiceImpl.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/behaviorImage/service/impl/BehaviorImageServiceImpl.java new file mode 100644 index 000000000..174b6e2c6 --- /dev/null +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/behaviorImage/service/impl/BehaviorImageServiceImpl.java @@ -0,0 +1,92 @@ +package com.microservices.dms.behaviorImage.service.impl; + +import com.microservices.common.core.utils.StringUtils; +import com.microservices.dms.achievementLibrary.domain.KeyValueVo; +import com.microservices.dms.behaviorImage.domain.AchievementBehaviorSumVo; +import com.microservices.dms.behaviorImage.domain.AchievementImageVo; +import com.microservices.dms.behaviorImage.domain.BehaviorContant; +import com.microservices.dms.behaviorImage.mapper.BehaviorImageMapper; +import com.microservices.dms.behaviorImage.service.IBehaviorImageService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +public class BehaviorImageServiceImpl implements IBehaviorImageService { + @Autowired + private BehaviorImageMapper behaviorImageMapper; + @Override + public AchievementImageVo getAchievementImageById(Long id) { + AchievementImageVo achievementImageVo = new AchievementImageVo(); + //获取所有行为汇总数据 + AchievementBehaviorSumVo achievementBehaviorSumVo = behaviorImageMapper.getBehaviorSumListByType(); + if(StringUtils.isNotNull(achievementBehaviorSumVo)) { + float score = 0f; + //从行为表中获取成果行为数据权限 + List behaviorImageWeightList = behaviorImageMapper.getWeightListByType(BehaviorContant.ACHIEVEMENTS_IMAGE); + float clickResult = 0L; + float watchResult = 0L; + float searchResult = 0L; + float favoriteResult = 0L; + float fileDownloadResult = 0L; + //简单算法 + for (KeyValueVo keyValueVo : behaviorImageWeightList) { + String bhavior = keyValueVo.getKey(); + Long weight = keyValueVo.getValue(); + if (bhavior.equals(BehaviorContant.CLICK_BEHAVIOR)) {//点击 + //根据当前成果ID,获取成果点击行为数量 + Long clickSum = achievementBehaviorSumVo.getClickSum(); + if(StringUtils.isNotNull(clickSum)) { + Long click = behaviorImageMapper.getClickSumByAchievementId(id, BehaviorContant.ACHIEVEMENTS_IMAGE); + if (StringUtils.isNotNull(click)) { + clickResult = click / clickResult *weight; + } + } + } else if (bhavior.equals(BehaviorContant.FAVORITE_BEHAVIOR)) {//收藏 + //根据当前成果ID,获取成果收藏行为数量 + Long favoriteSum = achievementBehaviorSumVo.getFavoriteSum(); + if(StringUtils.isNotNull(favoriteSum)) { + Long favorite = behaviorImageMapper.getFavoriteSumByAchievementId(id,BehaviorContant.ACHIEVEMENTS_IMAGE); + if (StringUtils.isNotNull(favorite)) { + favoriteResult = favorite / favoriteSum *weight; + } + } + } else if (bhavior.equals(BehaviorContant.SEARCH_BEHAVIOR)) {//搜索 + //根据当前成果ID,获取成果搜索行为数量 + Long searchSum = achievementBehaviorSumVo.getSearchSum(); + if(StringUtils.isNotNull(searchSum)) { + Long search = behaviorImageMapper.getSearchSumByAchievementId(id, BehaviorContant.ACHIEVEMENTS_IMAGE); + if (StringUtils.isNotNull(search)) { + searchResult = search / searchSum *weight; + } + } + } else if (bhavior.equals(BehaviorContant.WATCH_BEHAVIOR)) {//关注 + //根据当前成果ID,获取成果关注行为数量 + Long watchSum = achievementBehaviorSumVo.getFavoriteSum(); + if(StringUtils.isNotNull( watchSum)) { + Long watch = behaviorImageMapper.getWatchSumByAchievementId(id,BehaviorContant.ACHIEVEMENTS_IMAGE); + if (StringUtils.isNotNull( watch)) { + watchResult = watch / watchSum *weight; + } + } + } else if (bhavior.equals(BehaviorContant.FILE_DOWNLOAD_BEHAVIOR)) {//文件下载 + //根据当前成果ID,获取成果文件下载行为数量 + Long fileDownloadSum = achievementBehaviorSumVo.getFavoriteSum(); + if(StringUtils.isNotNull(fileDownloadSum)) { + Long fileDownload = behaviorImageMapper.getFileDownloadSumByAchievementId(id, BehaviorContant.ACHIEVEMENTS_IMAGE); + if (StringUtils.isNotNull(fileDownload)) { + fileDownloadResult = fileDownload / fileDownload *weight; + } + } + } + } + + score = clickResult+watchResult+searchResult+favoriteResult+fileDownloadResult; + achievementImageVo.setScore(score); + } + return achievementImageVo; + } + + +} diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/ExpertResourceLibraryController.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/ExpertResourceLibraryController.java index 3589c2c20..5bf6cae56 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/ExpertResourceLibraryController.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/ExpertResourceLibraryController.java @@ -9,6 +9,7 @@ import com.microservices.common.log.enums.BusinessType; import com.microservices.dms.resourceLibrary.domain.ExpertResourceLibrary; import com.microservices.dms.resourceLibrary.service.IExpertResourceLibraryService; import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -102,4 +103,25 @@ public class ExpertResourceLibraryController extends BaseController { return toAjax(expertResourceLibraryService.deleteExpertResourceLibraryByIds(ids)); } + + @ApiOperation(value = "评审专家数") + @GetMapping("/auditExpertCount") + public AjaxResult auditExpertCount() + { + return AjaxResult.success(expertResourceLibraryService.auditExpertCount()); + } + + @ApiOperation(value = "竞赛评审数") + @GetMapping("/competitionAuditCount") + public AjaxResult competitionAuditCount() + { + return AjaxResult.success(expertResourceLibraryService.competitionAuditCount()); + } + + @ApiOperation(value = "任务评审数") + @GetMapping("/taskAuditCount") + public AjaxResult taskAuditCount() + { + return AjaxResult.success(expertResourceLibraryService.taskAuditCount()); + } } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/ExpertResourceLibrary.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/ExpertResourceLibrary.java index 13051943b..04055bb61 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/ExpertResourceLibrary.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/ExpertResourceLibrary.java @@ -61,6 +61,26 @@ public class ExpertResourceLibrary extends BaseEntity { private Integer sortNo; + private Long taskAuditCount; + + private Long competitionAuditCount; + + public Long getTaskAuditCount() { + return taskAuditCount; + } + + public void setTaskAuditCount(Long taskAuditCount) { + this.taskAuditCount = taskAuditCount; + } + + public Long getCompetitionAuditCount() { + return competitionAuditCount; + } + + public void setCompetitionAuditCount(Long competitionAuditCount) { + this.competitionAuditCount = competitionAuditCount; + } + public Integer getSortNo() { return sortNo; } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/ExpertResourceLibraryMapper.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/ExpertResourceLibraryMapper.java index e56e3a185..bf628fe4d 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/ExpertResourceLibraryMapper.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/ExpertResourceLibraryMapper.java @@ -62,4 +62,16 @@ public interface ExpertResourceLibraryMapper public int deleteExpertResourceLibraryByIds(Long[] ids); List selectExpertResourceLibraryList2(ExpertResourceLibrary expertResourceLibrary); + + Long auditExpertCount(); + + Long competitionAuditCount(); + + Long taskAuditCount(); + + Long expertResourceCount(); + + Long auditTaskAuditExpertCount(); + + Long auditCompetitionAuditExpertCount(); } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/IExpertResourceLibraryService.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/IExpertResourceLibraryService.java index d739211b7..07b0be4ca 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/IExpertResourceLibraryService.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/IExpertResourceLibraryService.java @@ -60,4 +60,10 @@ public interface IExpertResourceLibraryService public int deleteExpertResourceLibraryById(Long id); List selectExpertResourceLibraryList2(ExpertResourceLibrary expertResourceLibrary); + + Long auditExpertCount(); + + Long competitionAuditCount(); + + Long taskAuditCount(); } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/impl/ExpertResourceLibraryServiceImpl.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/impl/ExpertResourceLibraryServiceImpl.java index 34b289e1d..5ea8b2309 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/impl/ExpertResourceLibraryServiceImpl.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/impl/ExpertResourceLibraryServiceImpl.java @@ -57,6 +57,21 @@ public class ExpertResourceLibraryServiceImpl implements IExpertResourceLibraryS return expertResourceLibraryMapper.selectExpertResourceLibraryList2(expertResourceLibrary); } + @Override + public Long auditExpertCount() { + return expertResourceLibraryMapper.auditExpertCount(); + } + + @Override + public Long competitionAuditCount() { + return expertResourceLibraryMapper.competitionAuditCount(); + } + + @Override + public Long taskAuditCount() { + return expertResourceLibraryMapper.taskAuditCount(); + } + /** * 新增专家资源库 * diff --git a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/BehaviorImageMapper.xml b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/BehaviorImageMapper.xml new file mode 100644 index 000000000..048b7ab5d --- /dev/null +++ b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/BehaviorImageMapper.xml @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/ExpertResourceLibraryMapper.xml b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/ExpertResourceLibraryMapper.xml index af46a46ba..608508453 100644 --- a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/ExpertResourceLibraryMapper.xml +++ b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/ExpertResourceLibraryMapper.xml @@ -3,7 +3,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - + @@ -39,13 +39,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" select id, user_id,expert_id,sort_no, expert_name, highest_degree, graduated_from, id_number, major, workplace, phone, workplace_type, expert_email, expert_summary, expert_detail, professional_title, expert_type, expert_domain, title_rank, status, review_area_one, review_area_two, review_area_three, is_delete, create_by, create_time, update_by, update_time from expert_resource_library - + select * from ( select erl.id, e.id as expert_id,e.user_id, e.expert_name, e.highest_degree, e.graduated_from, e.id_number, e.major, e.workplace, e.phone, e.workplace_type, e.expert_email, erl.expert_summary, erl.expert_detail, e.professional_title, e.expert_type, expert_domain, e.title_rank, e.status, e.review_area_one, e.review_area_two, e.review_area_three, e.is_delete, erl.create_by, erl.create_time, + (select COUNT(*) from task_expert where expert_id = e.id and container_type = 1) as taskAuditCount, + (select COUNT(*) from task_expert where expert_id = e.id and container_type = 2) as competitionAuditCount, erl.update_by, erl.update_time,erl.sort_no from experts e left join expert_resource_library erl on e.id = erl.user_id @@ -74,7 +76,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and review_area_three = #{reviewAreaThree} and is_delete = #{isDelete} - + ) tmp where tmp.taskAuditCount > 0 OR tmp.competitionAuditCount > 0 - + + + + + + + + + insert into expert_resource_library @@ -221,7 +261,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - delete from expert_resource_library where id in + delete from expert_resource_library where id in #{id} From 7d266a41cd0b3fe5edf275ab815521a0cec8371c Mon Sep 17 00:00:00 2001 From: admin Date: Mon, 21 Apr 2025 14:50:58 +0800 Subject: [PATCH 20/31] =?UTF-8?q?feat(=E6=88=90=E6=9E=9C=E8=AF=A6=E6=83=85?= =?UTF-8?q?)=20=E6=88=90=E6=9E=9C=E8=AF=A6=E6=83=85=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/AchievementsController.java | 40 +++++-- .../domain/Achievements.java | 2 +- .../achievementLibrary/domain/KeyValueVo.java | 9 ++ .../mapper/AchievementsMapper.java | 11 +- .../service/IAchievementsService.java | 11 +- .../service/impl/AchievementsServiceImpl.java | 33 ++++-- .../controller/BehaviorImageController.java | 2 + .../domain/CompetitionResourceLibrary.java | 81 ++++++++++---- .../domain/ExpertResourceLibrary.java | 33 +++--- .../domain/ProjectResourceLibrary.java | 21 ++++ .../domain/TaskResourceLibrary.java | 29 +++-- .../mapper/dms/AchievementsMapper.xml | 102 +++++++++++++----- .../dms/CompetitionResourceLibraryMapper.xml | 2 +- .../mapper/dms/TaskResourceLibraryMapper.xml | 4 +- 14 files changed, 279 insertions(+), 101 deletions(-) diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/controller/AchievementsController.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/controller/AchievementsController.java index b187c3951..bb735eeb2 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/controller/AchievementsController.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/controller/AchievementsController.java @@ -40,16 +40,6 @@ public class AchievementsController extends BaseController { return getDataTable(list); } - /** - * 查询成果列表 - */ - @GetMapping("/frontList") - public TableDataInfo frontList(Achievements achievements) { - startPage(); - List list = achievementsService.selectAchievementsFrontList(achievements); - return getDataTable(list); - } - /** * 导出成果列表 */ @@ -123,12 +113,21 @@ public class AchievementsController extends BaseController { * * @return */ - @ApiOperation("根据成果领域对成功数据进行汇总") + @ApiOperation("根据成果领域对成果数据进行汇总") @GetMapping("/getTjByAreas") public AjaxResult getTjByAreas() { return success(achievementsService.getTjByAreas()); } + /** + * 根据领域分类名称,获取领域相关数据 + */ + @ApiOperation("根据领域分类名称,获取领域相关数据") + @GetMapping("/getAreasByName") + public AjaxResult getAreasByName(String areaName) { + return success(achievementsService.getAreasByName(areaName)); + } + /* 获取全部成果,根据成果名称、成果领域、成果来源进行查询 * @return */ @@ -182,9 +181,28 @@ public class AchievementsController extends BaseController { return success(achievementsService.indexSchoolEnterpriseStatistic()); } + @ApiOperation("首页专家统计") @GetMapping("/indexExpertStatistic") public AjaxResult indexExpertStatistic() { return success(achievementsService.indexExpertStatistic()); } + + + @ApiOperation("根据当前用户以及成果ID,获取当前成果的 是否收藏与关注状态") + @GetMapping("/getWatchFavoriteStatusById") + public AjaxResult getWatchFavoriteStatusById(String id, Long userId) { + return success(achievementsService.getWatchFavoriteStatusById(id, userId)); + } + @ApiOperation("根据成果ID,获取近7日成果点击数量(折线图)") + @GetMapping("/get7AddClickById") + public AjaxResult get7AddClickById(String id) { + return success(achievementsService.get7AddClickById(id)); + } + + @ApiOperation("根据成果ID,获取成果的相关行为数据统计(点击量、搜索量、附件下载量、收藏、关注)") + @GetMapping("/getActDataStatisticById") + public AjaxResult getActDataStatisticById(String id) { + return success(achievementsService.getActDataStatisticById(id)); + } } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/domain/Achievements.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/domain/Achievements.java index b31ed4876..a1ccbdc78 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/domain/Achievements.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/domain/Achievements.java @@ -11,7 +11,7 @@ import com.microservices.common.core.annotation.Excel; import com.microservices.common.core.web.domain.BaseEntity; /** - * 成果对象 achievements + * 成果对象 achievementsll * * @author microservices * @date 2025-04-02 diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/domain/KeyValueVo.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/domain/KeyValueVo.java index c046c27c4..6651f2447 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/domain/KeyValueVo.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/domain/KeyValueVo.java @@ -5,6 +5,15 @@ public class KeyValueVo { private String name; private String result; private Long value; + private Long value2; + + public Long getValue2() { + return value2; + } + + public void setValue2(Long value2) { + this.value2 = value2; + } public String getName() { return name; diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/mapper/AchievementsMapper.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/mapper/AchievementsMapper.java index 8abd0dbcc..495f79ffa 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/mapper/AchievementsMapper.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/mapper/AchievementsMapper.java @@ -10,6 +10,7 @@ import com.microservices.common.datasource.annotation.Slave; import com.microservices.dms.achievementLibrary.domain.AchQueryVo; import com.microservices.dms.achievementLibrary.domain.Achievements; import com.microservices.dms.achievementLibrary.domain.KeyValueVo; +import com.microservices.dms.behaviorImage.domain.AchievementBehaviorSumVo; import com.microservices.dms.resourceLibrary.domain.vo.KeyValVo; import org.apache.ibatis.annotations.MapKey; import org.apache.ibatis.annotations.Mapper; @@ -92,7 +93,7 @@ public interface AchievementsMapper { List> getAchievement(@Param("s") Date s, @Param("e") Date e, @Param("t") String source); - List getHotAchievement(); + List> getHotAchievement(); Map indexProjectStatistic(); @@ -101,4 +102,12 @@ public interface AchievementsMapper { Map indexCompetitionStatistic(); Long indexSchoolEnterpriseStatistic(@Param("s") String s, @Param("t") String tags); + + List getAreasByName(@Param("areaName") String areaName); + + AchievementBehaviorSumVo getActDataStatisticById(@Param("id") String id); + + List> get7AddClickById(@Param("s") Date s, @Param("e") Date e, @Param("t") String achievements, @Param("id") String id); + + AchievementBehaviorSumVo getWatchFavoriteStatusById(@Param("id") String id, @Param("userId")Long userId); } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/IAchievementsService.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/IAchievementsService.java index 4a7ecc0df..340b3d2a2 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/IAchievementsService.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/IAchievementsService.java @@ -6,6 +6,7 @@ import java.util.Map; import com.microservices.dms.achievementLibrary.domain.AchQueryVo; import com.microservices.dms.achievementLibrary.domain.Achievements; import com.microservices.dms.achievementLibrary.domain.KeyValueVo; +import com.microservices.dms.behaviorImage.domain.AchievementBehaviorSumVo; import com.microservices.dms.resourceLibrary.domain.vo.KeyValVo; /** @@ -77,7 +78,7 @@ public interface IAchievementsService { Map getUerActionData(); - List getHotAchievement(); + List> getHotAchievement(); List> get7DayAdd(AchQueryVo achQueryVo); @@ -90,4 +91,12 @@ public interface IAchievementsService { Map indexSchoolEnterpriseStatistic(); Map indexExpertStatistic(); + + List getAreasByName(String areaName); + + AchievementBehaviorSumVo getActDataStatisticById(String id); + + List> get7AddClickById(String id); + + AchievementBehaviorSumVo getWatchFavoriteStatusById(String id, Long userId); } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/impl/AchievementsServiceImpl.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/impl/AchievementsServiceImpl.java index a6f43f653..7a17fb3dd 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/impl/AchievementsServiceImpl.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/impl/AchievementsServiceImpl.java @@ -3,26 +3,21 @@ package com.microservices.dms.achievementLibrary.service.impl; import java.util.*; import java.util.stream.Collectors; -import com.alibaba.fastjson2.JSONArray; -import com.alibaba.fastjson2.JSONObject; import com.microservices.common.core.utils.DateUtils; -import com.microservices.common.core.utils.StringUtils; import com.microservices.common.security.utils.SecurityUtils; import com.microservices.dms.achievementLibrary.domain.AchQueryVo; import com.microservices.dms.achievementLibrary.domain.KeyValueVo; -import com.microservices.dms.achievementLibrary.service.ISchoolEnterpriseAchievementsService; +import com.microservices.dms.behaviorImage.domain.AchievementBehaviorSumVo; import com.microservices.dms.resourceLibrary.domain.Clicker; import com.microservices.dms.resourceLibrary.domain.vo.KeyValVo; import com.microservices.dms.resourceLibrary.mapper.ExpertResourceLibraryMapper; import com.microservices.dms.resourceLibrary.mapper.TaskResourceLibraryMapper; import com.microservices.dms.utils.DateUtil; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.cloud.client.circuitbreaker.ReactiveCircuitBreakerFactory; import org.springframework.stereotype.Service; import com.microservices.dms.achievementLibrary.mapper.AchievementsMapper; import com.microservices.dms.achievementLibrary.domain.Achievements; import com.microservices.dms.achievementLibrary.service.IAchievementsService; -import org.springframework.util.CollectionUtils; /** * 成果Service业务层处理 @@ -38,9 +33,6 @@ public class AchievementsServiceImpl implements IAchievementsService { @Autowired private TaskResourceLibraryMapper taskResourceLibraryMapper; - @Autowired - private ISchoolEnterpriseAchievementsService schoolEnterpriseAchievementsService; - @Autowired private ExpertResourceLibraryMapper expertResourceLibraryMapper; @@ -206,7 +198,7 @@ public class AchievementsServiceImpl implements IAchievementsService { } @Override - public List getHotAchievement() { + public List> getHotAchievement() { return achievementsMapper.getHotAchievement(); } @@ -280,4 +272,25 @@ public class AchievementsServiceImpl implements IAchievementsService { res.put("clickCount", clickCount); return res; } + + @Override + public List getAreasByName(String areaName) { + return achievementsMapper.getAreasByName(areaName); + } + + @Override + public AchievementBehaviorSumVo getActDataStatisticById(String id) { + return achievementsMapper.getActDataStatisticById(id); + } + + @Override + public List> get7AddClickById(String id) { + Date[] days = DateUtil.getDays(1, 7); + return achievementsMapper.get7AddClickById(days[0], days[1], "Achievements",id); + } + + @Override + public AchievementBehaviorSumVo getWatchFavoriteStatusById(String id, Long userId) { + return achievementsMapper.getWatchFavoriteStatusById(id,userId); + } } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/behaviorImage/controller/BehaviorImageController.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/behaviorImage/controller/BehaviorImageController.java index dcfbf8be1..4be6a1b71 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/behaviorImage/controller/BehaviorImageController.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/behaviorImage/controller/BehaviorImageController.java @@ -3,6 +3,7 @@ package com.microservices.dms.behaviorImage.controller; import com.microservices.common.core.web.domain.AjaxResult; import com.microservices.dms.behaviorImage.service.IBehaviorImageService; import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; @@ -26,6 +27,7 @@ public class BehaviorImageController { * 根据成果ID,获取对应的成果画像 */ //@RequiresPermissions("dms:achievements:query") + @ApiOperation(value = "根据成果ID,获取对应的成果画像") @GetMapping(value = "/achievementImage") public AjaxResult getAchievementImageById(@PathVariable("id") Long id) { diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/CompetitionResourceLibrary.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/CompetitionResourceLibrary.java index d825a6e7f..ddf23aacd 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/CompetitionResourceLibrary.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/CompetitionResourceLibrary.java @@ -14,47 +14,86 @@ import com.microservices.dms.resourceLibrary.domain.vo.KeyValVo; public class CompetitionResourceLibrary extends BaseEntity { private static final long serialVersionUID = 1L; - private Long id; - + /** + * 开放竞赛ID + */ private Long openCompetitionId; - + /** + * 开放竞赛名称 + */ private String openCompetitionName; - + /** + * 开放竞赛创建者 + */ private Long competitionUserId; - + /** + * 竞赛领域 + */ private String competitionField; - + /** + * 竞赛状态 0进行中 1已结束 + */ private String competitionStatus; - + /** + * 竞赛提交名称 + */ private String competitionSubmissionName; - + /** + * 作品提交时间 + */ private Date submissionTime; - + /** + * 提交者 + */ private String submitter; - + /** + * 提交类型 + */ private String submissionType; - + /** + * 提交单位 + */ private String submittingUnit; - + /** + * 竞赛提交摘要 + */ private String submissionSummary; - + /** + * 竞赛提交详情 + */ private String submissionDetails; - + /** + * 联系人 + */ private String contactPerson; - + /** + * 联系电话 + */ private String contactPhone; - + /** + * 是否已转入成果库 0否 1是 + */ private Integer isTransferredToResultLibrary; - + /** + * 转入成果库时间 + */ private Date transferredToResultLibraryTime; - + /** + * 是否精选成果 + */ private Integer isFeaturedResult; - + /** + * 图片 + */ private String image; - + /** + * 专家审核 + */ private Integer isExpertAudit; - + /** + * 附件 + */ private String attachment; private List> attachmentList = new ArrayList<>(); diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/ExpertResourceLibrary.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/ExpertResourceLibrary.java index 04055bb61..777d244d9 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/ExpertResourceLibrary.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/ExpertResourceLibrary.java @@ -14,51 +14,52 @@ import com.microservices.common.core.web.domain.BaseEntity; public class ExpertResourceLibrary extends BaseEntity { private static final long serialVersionUID = 1L; - private Long id; - - private Long userId; private Long expertId; - + private Long id; + //专家ID + private Long userId; + //专家名称 private String expertName; - + //最高学历 private String highestDegree; - + //毕业院校 private String graduatedFrom; - + //身份证 private String idNumber; private String major; - + //工作单位 private String workplace; - + //电话 private String phone; private String workplaceType; - + //邮箱 private String expertEmail; - + //专家简介 private String expertSummary; - + //专家详情 private String expertDetail; private String professionalTitle; private String expertType; - + //专家领域 private String expertDomain; private String titleRank; private Long status; - + //评审领域1 private String reviewAreaOne; - + //评审领域2 private String reviewAreaTwo; - + //评审领域3 private String reviewAreaThree; private Integer isDelete; + private Integer sortNo; private Long taskAuditCount; diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/ProjectResourceLibrary.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/ProjectResourceLibrary.java index e8a15f585..e5cb23970 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/ProjectResourceLibrary.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/ProjectResourceLibrary.java @@ -17,28 +17,49 @@ import com.microservices.dms.resourceLibrary.domain.vo.KeyValVo; public class ProjectResourceLibrary extends BaseEntity { private static final long serialVersionUID = 1L; private Long id; + //项目资源名称 private String projectName; + //项目领域 private String projectDomain; + // private String identifier; + //开源项目ID private Long projectId; + //仓库ID private Long repositoryId; + //版本Id private Long versionReleasesId; + //项目是否已公开 private Long isPublic; + //发版名称 private String releaseName; + //发版时间 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date releaseDate; + //发版人 private String releasePerson; + //发版类型 private String releaseType; + //发版单位 private String releaseUnit; + //发版摘要 private String releaseSummary; + //发版详情 private String releaseDetails; + //联系人 private String contactPerson; + //联系时间 private String contactPhone; + //是否已转入成果库 private Long isTransferredToAchievement; + //转入成果库时间 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date transferDate; + //是否精选成果 private Long isSelectedAchievement; + //图片 private String images; + //附件 private String attachments; private List> attachmentList = new ArrayList<>(); diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/TaskResourceLibrary.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/TaskResourceLibrary.java index b1fe815f3..3ab5a6a0e 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/TaskResourceLibrary.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/TaskResourceLibrary.java @@ -18,35 +18,48 @@ import com.microservices.common.core.web.domain.BaseEntity; public class TaskResourceLibrary extends BaseEntity { private static final long serialVersionUID = 1L; + // private Long id; - + //创客任务ID private Long taskId; - + // private Long paperId; - + //创客任务名称 private String taskName; - + //任务领域 private String taskDomain; - + //创客任务金额 private BigDecimal taskAmount; - + //胜出交稿名称 private String submissionName; - + //交稿时间 private Date submissionDate; - + //交稿人 private String submitterName; + //交稿类型 private String submissionType; + //交稿单位 private String submissionOrganization; + //交稿摘要 private String submissionSummary; + //交稿详情 private String releaseDetails; + //联系人 private String contactName; + //联系电话 private String contactPhone; + //是否已转入成果库 private Long isTransferredToResultsLibrary; + //转入成果库时间 private Date transferToResultsDate; + //是否精选成果 0否 1是 private Long isSelectedResult; + //图片 private String imageUrl; + //附件 private String attachmentUrl; private List> attachmentList; + //专家审核 private Integer expertReview; public Integer getExpertReview() { diff --git a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/AchievementsMapper.xml b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/AchievementsMapper.xml index aa75ecb93..44d4f5797 100644 --- a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/AchievementsMapper.xml +++ b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/AchievementsMapper.xml @@ -3,7 +3,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - + @@ -44,7 +44,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + @@ -216,24 +216,27 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + select t.achievement_name as name, t.w as watcher, t.f as faviter, (t.w + t.f) as total, t.id as `id`,t.owner_name + as userName from (select a.achievement_name, - a.id, + a.id,a.owner_name, (select IFNULL(count(*), 0) from favorites where favorite_type = '' and favorite_id = a.id) as f, (select IFNULL(count(*), 0) from watchers where watchable_type = '' and watchable_id = a.id) as w from achievements a) as t - order by result + order by total limit 0,3 @@ -323,4 +327,44 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and tags = #{t}; + + + + + + + \ No newline at end of file diff --git a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/CompetitionResourceLibraryMapper.xml b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/CompetitionResourceLibraryMapper.xml index bb97335e0..21620b9dc 100644 --- a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/CompetitionResourceLibraryMapper.xml +++ b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/CompetitionResourceLibraryMapper.xml @@ -126,7 +126,7 @@ ci.id as open_competition_id, ci.title as open_competition_name, cu.id as competition_user_id, - cu.sub_competition as competition_field, + competition_field, ci.status as competition_status, cu.works_name as competition_submission_name, cu.created_at as submission_time, diff --git a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/TaskResourceLibraryMapper.xml b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/TaskResourceLibraryMapper.xml index 45b2fbff9..81f57147d 100644 --- a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/TaskResourceLibraryMapper.xml +++ b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/TaskResourceLibraryMapper.xml @@ -434,9 +434,9 @@ t.name as task_name, t.category_id as task_domain, t.bounty as task_amount, - (select IFNULL(u.lastname,u.login) from users u where u.id = p.user_id) as submission_name, + (select u.login from users u where u.id = p.user_id) as submission_name, p.created_at as submission_date, - (select IFNULL(u.lastname,u.login) from users u where u.id = p.user_id) as submitter_name, + (select u.login from users u where u.id = p.user_id) as submitter_name, submission_type, submission_organization, pd.content as submission_summary, From 447f744647a5b62268b9c7ea3d48f0200583548b Mon Sep 17 00:00:00 2001 From: admin Date: Tue, 22 Apr 2025 16:42:41 +0800 Subject: [PATCH 21/31] =?UTF-8?q?feat(=E5=A4=A7=E5=B1=8FV1)=20=E5=A4=A7?= =?UTF-8?q?=E5=B1=8FV1=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BigScreenStatisticController.java | 66 ++++++++++++++++ .../domain/Achievements.java | 10 ++- .../mapper/AchievementsMapper.java | 16 ++++ .../service/BigScreenStatisticService.java | 75 ++++++++++++++++++ .../service/impl/AchievementsServiceImpl.java | 18 +++++ .../CollectUserActDataController.java | 38 ++++++--- .../mapper/ExpertResourceLibraryMapper.java | 3 + .../mapper/TaskResourceLibraryMapper.java | 4 + .../service/TaskResourceLibraryService.java | 8 ++ .../mapper/dms/AchievementsMapper.xml | 79 ++++++++++++++++++- .../mapper/dms/TaskResourceLibraryMapper.xml | 23 +++++- 11 files changed, 324 insertions(+), 16 deletions(-) create mode 100644 microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/controller/BigScreenStatisticController.java create mode 100644 microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/BigScreenStatisticService.java diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/controller/BigScreenStatisticController.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/controller/BigScreenStatisticController.java new file mode 100644 index 000000000..7cd6a1c17 --- /dev/null +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/controller/BigScreenStatisticController.java @@ -0,0 +1,66 @@ +package com.microservices.dms.achievementLibrary.controller; + +import com.microservices.common.core.web.domain.AjaxResult; +import com.microservices.dms.achievementLibrary.service.BigScreenStatisticService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequiredArgsConstructor +@Api(tags = "数据管理体系-大屏统计接口") +public class BigScreenStatisticController { + + private final BigScreenStatisticService bigScreenStatisticService; + + + @GetMapping(value = "getAchievementTopStatistic") + @ApiOperation(value = "成果任务统计顶部折线图") + public AjaxResult getAchievementTopStatistic(String source) { + return AjaxResult.success(bigScreenStatisticService.getAchievementTopStatistic(source)); + } + + @GetMapping(value = "getAchievementDataYearly") + @ApiOperation(value = "年度成果数据") + public AjaxResult getAchievementDataYearly() { + return AjaxResult.success(bigScreenStatisticService.getAchievementDataYearly()); + } + + + @GetMapping(value = "getAchievementType") + @ApiOperation(value = "成果类型") + public AjaxResult getAchievementType() { + return AjaxResult.success(bigScreenStatisticService.getAchievementType()); + } + + + @GetMapping(value = "getAchievementDomain") + @ApiOperation(value = "成果领域分布") + public AjaxResult getAchievementDomain() { + return AjaxResult.success(bigScreenStatisticService.getAchievementDomain()); + } + + + @GetMapping(value = "getAchievementAddYearly") + @ApiOperation(value = "近1年新增成果数") + public AjaxResult getAchievementAddYearly() { + return AjaxResult.success(bigScreenStatisticService.getAchievementAddYearly()); + } + + @GetMapping(value = "getAchievementActData") + @ApiOperation(value = "成果行为数据展示") + public AjaxResult getAchievementActData() { + return AjaxResult.success(bigScreenStatisticService.getAchievementActData()); + } + + @GetMapping(value = "getAchievementHotRank") + @ApiOperation(value = "成果热度排行") + public AjaxResult getAchievementHotRank() { + return AjaxResult.success(bigScreenStatisticService.getAchievementHotRank()); + } + + + +} diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/domain/Achievements.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/domain/Achievements.java index a1ccbdc78..8c7156836 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/domain/Achievements.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/domain/Achievements.java @@ -170,10 +170,18 @@ public class Achievements extends BaseEntity { private String attachments; private Long clickSum; - + private Float hotRank; private Long attachmentCount; private Integer isExpertAudit; + public Float getHotRank() { + return hotRank; + } + + public void setHotRank(Float hotRank) { + this.hotRank = hotRank; + } + public Integer getIsExpertAudit() { return isExpertAudit; } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/mapper/AchievementsMapper.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/mapper/AchievementsMapper.java index 495f79ffa..27570e3dd 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/mapper/AchievementsMapper.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/mapper/AchievementsMapper.java @@ -110,4 +110,20 @@ public interface AchievementsMapper { List> get7AddClickById(@Param("s") Date s, @Param("e") Date e, @Param("t") String achievements, @Param("id") String id); AchievementBehaviorSumVo getWatchFavoriteStatusById(@Param("id") String id, @Param("userId")Long userId); + + Long countAchievementBySource(@Param("s") Date s, @Param("e") Date e, @Param("t") String achievements); + + List> getAchievementDataYearly(); + + List> getAchievementType(); + + List getAchievementActData(); + + List> getAchievementDomain(); + + List> getAchievementAddYearly(); + + List> getAchievementHotRank(); + + List getAllId(); } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/BigScreenStatisticService.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/BigScreenStatisticService.java new file mode 100644 index 000000000..b809c66ea --- /dev/null +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/BigScreenStatisticService.java @@ -0,0 +1,75 @@ +package com.microservices.dms.achievementLibrary.service; + +import com.microservices.dms.achievementLibrary.domain.KeyValueVo; +import com.microservices.dms.achievementLibrary.mapper.AchievementsMapper; +import com.microservices.dms.resourceLibrary.domain.vo.KeyValVo; +import com.microservices.dms.utils.DateUtil; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +import java.util.*; +import java.util.stream.Collectors; + +@Service +@RequiredArgsConstructor +public class BigScreenStatisticService { + + private final AchievementsMapper achievementsMapper; + + public Map getAchievementTopStatistic(String source) { + Date[] days = DateUtil.getDays(1, 7); + Map m = achievementsMapper.getAchievement(days[0], days[1], source) + .stream().collect(Collectors.toMap(KeyValVo::getK, KeyValVo::getV)); + List dateStr = DateUtil.getDateStr(days[0], days[1]); + Date[] lastDays = DateUtil.getDays(8, 14); + long lastSum = Optional.ofNullable(achievementsMapper.countAchievementBySource(lastDays[0], lastDays[1], source)).orElse(0L); + long sum = Optional.ofNullable(achievementsMapper.countAchievementBySource(null, null, source)).orElse(0L); + long cSum = m.values().stream().mapToLong(Long::longValue).sum(); + double rate; + if (lastSum == 0) rate = 100D; + else { + rate = (double) (cSum - lastSum) / lastSum * 100D; + } + + List> res = new ArrayList<>(); + for (String s : dateStr) { + Long a = m.getOrDefault(s, 0L); + KeyValVo k1 = new KeyValVo<>(); + k1.setK(s); + k1.setV(a); + res.add(k1); + } + + Map map = new HashMap<>(); + map.put("list", res); + map.put("sum", sum); + map.put("rate", rate); + return map; + } + + public List> getAchievementDataYearly() { + return achievementsMapper.getAchievementDataYearly(); + } + + public List> getAchievementType() { + return achievementsMapper.getAchievementType(); + } + + public Map> getAchievementActData() { + List list = achievementsMapper.getAchievementActData(); + Map> res = list.stream().collect(Collectors.groupingBy(KeyValueVo::getKey)); + return res; + } + + public List> getAchievementDomain() { + return achievementsMapper.getAchievementDomain(); + } + + public List> getAchievementAddYearly() { + return achievementsMapper.getAchievementAddYearly(); + } + + public List> getAchievementHotRank() { + return achievementsMapper.getAchievementHotRank(); + } +} diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/impl/AchievementsServiceImpl.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/impl/AchievementsServiceImpl.java index 7a17fb3dd..294840b03 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/impl/AchievementsServiceImpl.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/impl/AchievementsServiceImpl.java @@ -8,6 +8,8 @@ import com.microservices.common.security.utils.SecurityUtils; import com.microservices.dms.achievementLibrary.domain.AchQueryVo; import com.microservices.dms.achievementLibrary.domain.KeyValueVo; import com.microservices.dms.behaviorImage.domain.AchievementBehaviorSumVo; +import com.microservices.dms.behaviorImage.domain.AchievementImageVo; +import com.microservices.dms.behaviorImage.service.IBehaviorImageService; import com.microservices.dms.resourceLibrary.domain.Clicker; import com.microservices.dms.resourceLibrary.domain.vo.KeyValVo; import com.microservices.dms.resourceLibrary.mapper.ExpertResourceLibraryMapper; @@ -36,6 +38,9 @@ public class AchievementsServiceImpl implements IAchievementsService { @Autowired private ExpertResourceLibraryMapper expertResourceLibraryMapper; + @Autowired + private IBehaviorImageService behaviorImageService; + /** * 查询成果 @@ -293,4 +298,17 @@ public class AchievementsServiceImpl implements IAchievementsService { public AchievementBehaviorSumVo getWatchFavoriteStatusById(String id, Long userId) { return achievementsMapper.getWatchFavoriteStatusById(id,userId); } + + + public void timingCalcHotRank(){ + List ids = achievementsMapper.getAllId(); + for (Long id : ids) { + AchievementImageVo image = behaviorImageService.getAchievementImageById(id); + float score = image.getScore(); + Achievements u = new Achievements(); + u.setId(id); + u.setHotRank(score); + achievementsMapper.updateAchievements(u); + } + } } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/CollectUserActDataController.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/CollectUserActDataController.java index 70c808736..2bdc19773 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/CollectUserActDataController.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/CollectUserActDataController.java @@ -9,9 +9,7 @@ import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; @Api(tags = "数据管理体系-用户行为信息接口") @RestController @@ -29,7 +27,7 @@ public class CollectUserActDataController { @ApiImplicitParam(name = "extInfo", value = "补充信息", paramType = "query", dataTypeClass = String.class) }) @ApiOperation(value = "记录点击次数") - public AjaxResult addTaskClick(Clicker clicker) { + public AjaxResult addTaskClick(@RequestBody Clicker clicker) { return AjaxResult.success(taskResourceLibraryService.addClick(clicker)); } @@ -41,7 +39,7 @@ public class CollectUserActDataController { @ApiImplicitParam(name = "userId", value = "用户ID", paramType = "query", dataTypeClass = Integer.class), @ApiImplicitParam(name = "extInfo", value = "补充信息", paramType = "query", dataTypeClass = String.class) }) - public AjaxResult addDownloader(Downloader downloader) { + public AjaxResult addDownloader(@RequestBody Downloader downloader) { return AjaxResult.success(taskResourceLibraryService.addDownloader(downloader)); } @@ -53,7 +51,7 @@ public class CollectUserActDataController { @ApiImplicitParam(name = "userId", value = "用户ID", paramType = "query", dataTypeClass = Integer.class), @ApiImplicitParam(name = "extInfo", value = "补充信息", paramType = "query", dataTypeClass = String.class) }) - public AjaxResult addSearcher(Searcher searcher) { + public AjaxResult addSearcher(@RequestBody Searcher searcher) { return AjaxResult.success(taskResourceLibraryService.addSearcher(searcher)); } @@ -65,7 +63,7 @@ public class CollectUserActDataController { @ApiImplicitParam(name = "userId", value = "用户ID", paramType = "query", dataTypeClass = Integer.class), @ApiImplicitParam(name = "extInfo", value = "补充信息", paramType = "query", dataTypeClass = String.class) }) - public AjaxResult addSearcher2(Searcher searcher) { + public AjaxResult addSearcher2(@RequestBody Searcher searcher) { return AjaxResult.success(taskResourceLibraryService.addSearcher2(searcher)); } @@ -77,7 +75,7 @@ public class CollectUserActDataController { @ApiImplicitParam(name = "userId", value = "用户ID", paramType = "query", dataTypeClass = Integer.class), @ApiImplicitParam(name = "extInfo", value = "补充信息", paramType = "query", dataTypeClass = String.class) }) - public AjaxResult addFavorite(Favorite favorite) { + public AjaxResult addFavorite(@RequestBody Favorite favorite) { return AjaxResult.success(taskResourceLibraryService.addFavorite(favorite)); } @@ -89,7 +87,29 @@ public class CollectUserActDataController { @ApiImplicitParam(name = "userId", value = "用户ID", paramType = "query", dataTypeClass = Integer.class), @ApiImplicitParam(name = "extInfo", value = "补充信息", paramType = "query", dataTypeClass = String.class) }) - public AjaxResult addFavorite(Watcher watcher) { + public AjaxResult addFavorite(@RequestBody Watcher watcher) { return AjaxResult.success(taskResourceLibraryService.addWatcher(watcher)); } + + @DeleteMapping("/delFavorite") + @ApiOperation(value = "删除收藏次数") + @ApiImplicitParams({ + @ApiImplicitParam(name = "favoriteType", value = "收藏类型(成果:Achievements、专家:Experts)", paramType = "query", dataTypeClass = String.class), + @ApiImplicitParam(name = "favoriteId", value = "对象ID", paramType = "query", dataTypeClass = Integer.class), + @ApiImplicitParam(name = "userId", value = "用户ID", paramType = "query", dataTypeClass = Integer.class), + }) + public AjaxResult delFavorite(Favorite favorite) { + return AjaxResult.success(taskResourceLibraryService.delFavorite(favorite)); + } + + @DeleteMapping("/delWatcher") + @ApiOperation(value = "删除关注次数") + @ApiImplicitParams({ + @ApiImplicitParam(name = "favoriteType", value = "关注类型(成果:Achievements、专家:Experts)", paramType = "query", dataTypeClass = String.class), + @ApiImplicitParam(name = "favoriteId", value = "对象ID", paramType = "query", dataTypeClass = Integer.class), + @ApiImplicitParam(name = "userId", value = "用户ID", paramType = "query", dataTypeClass = Integer.class), + }) + public AjaxResult delWatcher(Watcher watcher) { + return AjaxResult.success(taskResourceLibraryService.delWatcher(watcher)); + } } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/ExpertResourceLibraryMapper.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/ExpertResourceLibraryMapper.java index bf628fe4d..f35773d10 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/ExpertResourceLibraryMapper.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/ExpertResourceLibraryMapper.java @@ -1,6 +1,8 @@ package com.microservices.dms.resourceLibrary.mapper; import java.util.List; + +import com.microservices.common.datasource.annotation.Slave; import com.microservices.dms.resourceLibrary.domain.ExpertResourceLibrary; import org.apache.ibatis.annotations.Mapper; @@ -11,6 +13,7 @@ import org.apache.ibatis.annotations.Mapper; * @date 2025-04-11 */ @Mapper +@Slave public interface ExpertResourceLibraryMapper { /** diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/TaskResourceLibraryMapper.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/TaskResourceLibraryMapper.java index 032ee4ce4..77abcb7b8 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/TaskResourceLibraryMapper.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/TaskResourceLibraryMapper.java @@ -103,4 +103,8 @@ public interface TaskResourceLibraryMapper { int insertFavorite(Favorite favorite); int insertWatcher(Watcher watcher); + + int delFavorite(Favorite favorite); + + int delWatcher(Watcher watcher); } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/TaskResourceLibraryService.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/TaskResourceLibraryService.java index faa2c74c7..570a41711 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/TaskResourceLibraryService.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/TaskResourceLibraryService.java @@ -203,4 +203,12 @@ public class TaskResourceLibraryService { return split.length; } + + public int delFavorite(Favorite favorite) { + return taskResourceLibraryMapper.delFavorite(favorite); + } + + public int delWatcher(Watcher watcher) { + return taskResourceLibraryMapper.delWatcher(watcher); + } } diff --git a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/AchievementsMapper.xml b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/AchievementsMapper.xml index 44d4f5797..be56bc08d 100644 --- a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/AchievementsMapper.xml +++ b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/AchievementsMapper.xml @@ -36,10 +36,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + - select id, achievement_name, field_1, field_2, field_3, attachment_count,is_expert_audit,achievement_type, source, source_id, source_link, tags, summary, publishing_unit, address, is_featured, contact_person, contact_number, owner_id, owner_name, status, details, reviewer, review_date, review_comments, images, attachments, create_by, create_time, update_by, update_time from achievements + select id, achievement_name,hot_rank, field_1, field_2, field_3, attachment_count,is_expert_audit,achievement_type, source, source_id, source_link, tags, summary, publishing_unit, address, is_featured, contact_person, contact_number, owner_id, owner_name, status, details, reviewer, review_date, review_comments, images, attachments, create_by, create_time, update_by, update_time from achievements @@ -118,6 +120,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" update_time, attachment_count, is_expert_audit, + hot_rank, #{achievementName}, @@ -150,6 +153,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{updateTime}, #{attachmentCount}, #{isExpertAudit}, + #{hotRank}, @@ -186,6 +190,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" update_time = #{updateTime}, attachment_count = #{attachmentCount}, is_expert_audit = #{isExpertAudit}, + hot_rank = #{hotRank}, where id = #{id} @@ -202,7 +207,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/TaskResourceLibraryMapper.xml b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/TaskResourceLibraryMapper.xml index 81f57147d..2d123f10e 100644 --- a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/TaskResourceLibraryMapper.xml +++ b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/TaskResourceLibraryMapper.xml @@ -148,10 +148,10 @@ - + #{downloadType}, - + #{downloadId}, @@ -187,10 +187,10 @@ - + #{downloadType}, - + #{downloadId}, @@ -624,4 +624,19 @@ #{id} + + delete + from favorites + where user_id = #{userId} + and favorite_id = #{favoriteId} + and favorite_type = #{favoriteType} + + + + delete + from watchers + where user_id = #{userId} + and watchable_id = #{watchableId} + and watchable_type = #{watchableType} + From fd2044696eedf98990d0098dc761636c003ee897 Mon Sep 17 00:00:00 2001 From: admin Date: Wed, 23 Apr 2025 09:47:06 +0800 Subject: [PATCH 22/31] =?UTF-8?q?=E6=A0=A1=E4=BC=81=E6=88=90=E6=9E=9C?= =?UTF-8?q?=E8=A1=A8=E8=A6=81=E5=8A=A0=E4=B8=80=E4=B8=AA=20=E6=88=90?= =?UTF-8?q?=E6=9E=9C=E7=8A=B6=E6=80=81=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/SchoolEnterpriseAchievements.java | 351 ++++++++++-------- .../mapper/AchievementsMapper.java | 2 +- .../service/BigScreenStatisticService.java | 8 +- .../service/impl/AchievementsServiceImpl.java | 24 +- .../controller/BehaviorImageController.java | 2 +- .../impl/BehaviorImageServiceImpl.java | 22 +- .../com/microservices/dms/utils/DateUtil.java | 14 +- .../mapper/dms/AchievementsMapper.xml | 8 +- .../mapper/dms/BehaviorImageMapper.xml | 4 +- .../SchoolEnterpriseAchievementsMapper.xml | 9 +- .../mapper/dms/TaskResourceLibraryMapper.xml | 8 +- 11 files changed, 258 insertions(+), 194 deletions(-) diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/domain/SchoolEnterpriseAchievements.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/domain/SchoolEnterpriseAchievements.java index 7afe6a357..47f6f13d1 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/domain/SchoolEnterpriseAchievements.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/domain/SchoolEnterpriseAchievements.java @@ -1,6 +1,7 @@ package com.microservices.dms.achievementLibrary.domain; import java.util.Date; + import com.fasterxml.jackson.annotation.JsonFormat; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; @@ -9,372 +10,404 @@ import com.microservices.common.core.web.domain.BaseEntity; /** * 校企成果对象 school_enterprise_achievements - * + * * @author microservices * @date 2025-04-03 */ -public class SchoolEnterpriseAchievements extends BaseEntity -{ +public class SchoolEnterpriseAchievements extends BaseEntity { private static final long serialVersionUID = 1L; - /** 成果唯一标识 */ + /** + * 成果唯一标识 + */ private Long id; - /** 成果名称 */ + /** + * 成果名称 + */ @Excel(name = "成果名称") private String achievementName; - /** 成果领域1 */ + /** + * 成果领域1 + */ @Excel(name = "成果领域1") private String field1; - /** 成果领域2 */ + /** + * 成果领域2 + */ @Excel(name = "成果领域2") private String field2; - /** 成果领域3 */ + /** + * 成果领域3 + */ @Excel(name = "成果领域3") private String field3; - /** 成果类型 */ + /** + * 成果类型 + */ @Excel(name = "成果类型") private String achievementType; - /** 成果来源 */ + /** + * 成果来源 + */ @Excel(name = "成果来源") private String source; - /** 成果来源ID */ + /** + * 成果来源ID + */ @Excel(name = "成果来源ID") private String sourceId; - /** 成果来源跳转链接 */ + /** + * 成果来源跳转链接 + */ @Excel(name = "成果来源跳转链接") private String sourceLink; - /** 成果标签 */ + /** + * 成果标签 + */ @Excel(name = "成果标签") private String tags; - /** 成果摘要 */ + /** + * 成果摘要 + */ @Excel(name = "成果摘要") private String summary; - /** 发布单位 */ + /** + * 发布单位 + */ @Excel(name = "发布单位") private String publishingUnit; - /** 成果地址 */ + /** + * 成果地址 + */ @Excel(name = "成果地址") private String address; - /** 是否精选成果 */ + /** + * 是否精选成果 + */ @Excel(name = "是否精选成果") private Integer isFeatured; - /** 联系人 */ + /** + * 联系人 + */ @Excel(name = "联系人") private String contactPerson; - /** 联系电话 */ + /** + * 联系电话 + */ @Excel(name = "联系电话") private String contactNumber; - /** 成果所属人ID */ + /** + * 成果所属人ID + */ @Excel(name = "成果所属人ID") private String ownerId; - /** 成果所属人名称 */ + /** + * 成果所属人名称 + */ @Excel(name = "成果所属人名称") private String ownerName; - /** 成果状态 */ + /** + * 成果状态 + */ @Excel(name = "成果状态") private String status; - /** 成果详情 */ + /** + * 成果详情 + */ @Excel(name = "成果详情") private String details; - /** 成果审核人 */ + /** + * 成果审核人 + */ @Excel(name = "成果审核人") private String reviewer; - /** 成果审核时间 */ + /** + * 成果审核时间 + */ @JsonFormat(pattern = "yyyy-MM-dd") @Excel(name = "成果审核时间", width = 30, dateFormat = "yyyy-MM-dd") private Date reviewDate; - /** 成果审核意见 */ + /** + * 成果审核意见 + */ @Excel(name = "成果审核意见") private String reviewComments; - /** 成果图片 */ + /** + * 成果图片 + */ @Excel(name = "成果图片") private String images; - /** 成果附件 */ + /** + * 成果附件 + */ @Excel(name = "成果附件") private String attachments; + private int achievementStatus; - public void setId(Long id) - { + public int getAchievementStatus() { + return achievementStatus; + } + + public void setAchievementStatus(int achievementStatus) { + this.achievementStatus = achievementStatus; + } + + public void setId(Long id) { this.id = id; } - public Long getId() - { + public Long getId() { return id; } - public void setAchievementName(String achievementName) - { + + public void setAchievementName(String achievementName) { this.achievementName = achievementName; } - public String getAchievementName() - { + public String getAchievementName() { return achievementName; } - public void setField1(String field1) - { + + public void setField1(String field1) { this.field1 = field1; } - public String getField1() - { + public String getField1() { return field1; } - public void setField2(String field2) - { + + public void setField2(String field2) { this.field2 = field2; } - public String getField2() - { + public String getField2() { return field2; } - public void setField3(String field3) - { + + public void setField3(String field3) { this.field3 = field3; } - public String getField3() - { + public String getField3() { return field3; } - public void setAchievementType(String achievementType) - { + + public void setAchievementType(String achievementType) { this.achievementType = achievementType; } - public String getAchievementType() - { + public String getAchievementType() { return achievementType; } - public void setSource(String source) - { + + public void setSource(String source) { this.source = source; } - public String getSource() - { + public String getSource() { return source; } - public void setSourceId(String sourceId) - { + + public void setSourceId(String sourceId) { this.sourceId = sourceId; } - public String getSourceId() - { + public String getSourceId() { return sourceId; } - public void setSourceLink(String sourceLink) - { + + public void setSourceLink(String sourceLink) { this.sourceLink = sourceLink; } - public String getSourceLink() - { + public String getSourceLink() { return sourceLink; } - public void setTags(String tags) - { + + public void setTags(String tags) { this.tags = tags; } - public String getTags() - { + public String getTags() { return tags; } - public void setSummary(String summary) - { + + public void setSummary(String summary) { this.summary = summary; } - public String getSummary() - { + public String getSummary() { return summary; } - public void setPublishingUnit(String publishingUnit) - { + + public void setPublishingUnit(String publishingUnit) { this.publishingUnit = publishingUnit; } - public String getPublishingUnit() - { + public String getPublishingUnit() { return publishingUnit; } - public void setAddress(String address) - { + + public void setAddress(String address) { this.address = address; } - public String getAddress() - { + public String getAddress() { return address; } - public void setIsFeatured(Integer isFeatured) - { + + public void setIsFeatured(Integer isFeatured) { this.isFeatured = isFeatured; } - public Integer getIsFeatured() - { + public Integer getIsFeatured() { return isFeatured; } - public void setContactPerson(String contactPerson) - { + + public void setContactPerson(String contactPerson) { this.contactPerson = contactPerson; } - public String getContactPerson() - { + public String getContactPerson() { return contactPerson; } - public void setContactNumber(String contactNumber) - { + + public void setContactNumber(String contactNumber) { this.contactNumber = contactNumber; } - public String getContactNumber() - { + public String getContactNumber() { return contactNumber; } - public void setOwnerId(String ownerId) - { + + public void setOwnerId(String ownerId) { this.ownerId = ownerId; } - public String getOwnerId() - { + public String getOwnerId() { return ownerId; } - public void setOwnerName(String ownerName) - { + + public void setOwnerName(String ownerName) { this.ownerName = ownerName; } - public String getOwnerName() - { + public String getOwnerName() { return ownerName; } - public void setStatus(String status) - { + + public void setStatus(String status) { this.status = status; } - public String getStatus() - { + public String getStatus() { return status; } - public void setDetails(String details) - { + + public void setDetails(String details) { this.details = details; } - public String getDetails() - { + public String getDetails() { return details; } - public void setReviewer(String reviewer) - { + + public void setReviewer(String reviewer) { this.reviewer = reviewer; } - public String getReviewer() - { + public String getReviewer() { return reviewer; } - public void setReviewDate(Date reviewDate) - { + + public void setReviewDate(Date reviewDate) { this.reviewDate = reviewDate; } - public Date getReviewDate() - { + public Date getReviewDate() { return reviewDate; } - public void setReviewComments(String reviewComments) - { + + public void setReviewComments(String reviewComments) { this.reviewComments = reviewComments; } - public String getReviewComments() - { + public String getReviewComments() { return reviewComments; } - public void setImages(String images) - { + + public void setImages(String images) { this.images = images; } - public String getImages() - { + public String getImages() { return images; } - public void setAttachments(String attachments) - { + + public void setAttachments(String attachments) { this.attachments = attachments; } - public String getAttachments() - { + public String getAttachments() { return attachments; } @Override public String toString() { - return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) - .append("id", getId()) - .append("achievementName", getAchievementName()) - .append("field1", getField1()) - .append("field2", getField2()) - .append("field3", getField3()) - .append("achievementType", getAchievementType()) - .append("source", getSource()) - .append("sourceId", getSourceId()) - .append("sourceLink", getSourceLink()) - .append("tags", getTags()) - .append("summary", getSummary()) - .append("publishingUnit", getPublishingUnit()) - .append("address", getAddress()) - .append("isFeatured", getIsFeatured()) - .append("contactPerson", getContactPerson()) - .append("contactNumber", getContactNumber()) - .append("ownerId", getOwnerId()) - .append("ownerName", getOwnerName()) - .append("status", getStatus()) - .append("details", getDetails()) - .append("reviewer", getReviewer()) - .append("reviewDate", getReviewDate()) - .append("reviewComments", getReviewComments()) - .append("images", getImages()) - .append("attachments", getAttachments()) - .append("createBy", getCreateBy()) - .append("createTime", getCreateTime()) - .append("updateBy", getUpdateBy()) - .append("updateTime", getUpdateTime()) - .toString(); + return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("achievementName", getAchievementName()) + .append("field1", getField1()) + .append("field2", getField2()) + .append("field3", getField3()) + .append("achievementType", getAchievementType()) + .append("source", getSource()) + .append("sourceId", getSourceId()) + .append("sourceLink", getSourceLink()) + .append("tags", getTags()) + .append("summary", getSummary()) + .append("publishingUnit", getPublishingUnit()) + .append("address", getAddress()) + .append("isFeatured", getIsFeatured()) + .append("contactPerson", getContactPerson()) + .append("contactNumber", getContactNumber()) + .append("ownerId", getOwnerId()) + .append("ownerName", getOwnerName()) + .append("status", getStatus()) + .append("details", getDetails()) + .append("reviewer", getReviewer()) + .append("reviewDate", getReviewDate()) + .append("reviewComments", getReviewComments()) + .append("images", getImages()) + .append("attachments", getAttachments()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .toString(); } } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/mapper/AchievementsMapper.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/mapper/AchievementsMapper.java index 27570e3dd..744828136 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/mapper/AchievementsMapper.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/mapper/AchievementsMapper.java @@ -85,7 +85,7 @@ public interface AchievementsMapper { List selectAchievementsByParam(AchQueryVo achQueryVo); - Long getAchievementClickSum(Long id); + Long getAchievementClickSum(@Param("id") Long id); List> getaWatcher(@Param("s") Date s, @Param("e") Date e, @Param("t") String achievements); diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/BigScreenStatisticService.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/BigScreenStatisticService.java index b809c66ea..5d189e2db 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/BigScreenStatisticService.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/BigScreenStatisticService.java @@ -17,18 +17,18 @@ public class BigScreenStatisticService { private final AchievementsMapper achievementsMapper; public Map getAchievementTopStatistic(String source) { - Date[] days = DateUtil.getDays(1, 7); + Date[] days = DateUtil.getDays(0, 6); Map m = achievementsMapper.getAchievement(days[0], days[1], source) .stream().collect(Collectors.toMap(KeyValVo::getK, KeyValVo::getV)); - List dateStr = DateUtil.getDateStr(days[0], days[1]); - Date[] lastDays = DateUtil.getDays(8, 14); + List dateStr = DateUtil.getDateStrYYYYMMDD(days[0], days[1]); + Date[] lastDays = DateUtil.getDays(7, 13); long lastSum = Optional.ofNullable(achievementsMapper.countAchievementBySource(lastDays[0], lastDays[1], source)).orElse(0L); long sum = Optional.ofNullable(achievementsMapper.countAchievementBySource(null, null, source)).orElse(0L); long cSum = m.values().stream().mapToLong(Long::longValue).sum(); double rate; if (lastSum == 0) rate = 100D; else { - rate = (double) (cSum - lastSum) / lastSum * 100D; + rate = (double) (cSum - lastSum) / lastSum; } List> res = new ArrayList<>(); diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/impl/AchievementsServiceImpl.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/impl/AchievementsServiceImpl.java index 294840b03..98f2a8470 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/impl/AchievementsServiceImpl.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/impl/AchievementsServiceImpl.java @@ -173,14 +173,14 @@ public class AchievementsServiceImpl implements IAchievementsService { @Override public Map getUerActionData() { - Date[] days = DateUtil.getDays(1, 7); + Date[] days = DateUtil.getDays(0, 6); Map w = achievementsMapper.getaWatcher(days[0], days[1], "Achievements") .stream().collect(Collectors.toMap(KeyValVo::getK, KeyValVo::getV)); Map g = achievementsMapper.getFavorite(days[0], days[1], "Achievements") .stream().collect(Collectors.toMap(KeyValVo::getK, KeyValVo::getV)); - List dateStr = DateUtil.getDateStr(days[0], days[1]); + List dateStr = DateUtil.getDateStrMMDD(days[0], days[1]); List> wRes = new ArrayList<>(); List> gRes = new ArrayList<>(); for (String s : dateStr) { @@ -213,7 +213,7 @@ public class AchievementsServiceImpl implements IAchievementsService { Map w = achievementsMapper.getAchievement(days[0], days[1], achQueryVo.getSource()) .stream().collect(Collectors.toMap(KeyValVo::getK, KeyValVo::getV)); - List dateStr = DateUtil.getDateStr(days[0], days[1]); + List dateStr = DateUtil.getDateStrMMDD(days[0], days[1]); List> res = new ArrayList<>(); for (String s : dateStr) { @@ -290,8 +290,22 @@ public class AchievementsServiceImpl implements IAchievementsService { @Override public List> get7AddClickById(String id) { - Date[] days = DateUtil.getDays(1, 7); - return achievementsMapper.get7AddClickById(days[0], days[1], "Achievements",id); + + Date[] days = DateUtil.getDays(0, 6); + Map w = achievementsMapper.get7AddClickById(days[0], days[1], "Achievements",id) + .stream().collect(Collectors.toMap(KeyValVo::getK, KeyValVo::getV)); + + List dateStr = DateUtil.getDateStrMMDD(days[0], days[1]); + List> res = new ArrayList<>(); + + for (String s : dateStr) { + Long a = w.getOrDefault(s, 0L); + KeyValVo k1 = new KeyValVo<>(); + k1.setK(s); + k1.setV(a); + res.add(k1); + } + return res; } @Override diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/behaviorImage/controller/BehaviorImageController.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/behaviorImage/controller/BehaviorImageController.java index 4be6a1b71..f3d764ed0 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/behaviorImage/controller/BehaviorImageController.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/behaviorImage/controller/BehaviorImageController.java @@ -29,7 +29,7 @@ public class BehaviorImageController { //@RequiresPermissions("dms:achievements:query") @ApiOperation(value = "根据成果ID,获取对应的成果画像") @GetMapping(value = "/achievementImage") - public AjaxResult getAchievementImageById(@PathVariable("id") Long id) + public AjaxResult getAchievementImageById(Long id) { return AjaxResult.success(behaviorImageService.getAchievementImageById(id)); } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/behaviorImage/service/impl/BehaviorImageServiceImpl.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/behaviorImage/service/impl/BehaviorImageServiceImpl.java index 174b6e2c6..d4a599668 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/behaviorImage/service/impl/BehaviorImageServiceImpl.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/behaviorImage/service/impl/BehaviorImageServiceImpl.java @@ -37,46 +37,46 @@ public class BehaviorImageServiceImpl implements IBehaviorImageService { if (bhavior.equals(BehaviorContant.CLICK_BEHAVIOR)) {//点击 //根据当前成果ID,获取成果点击行为数量 Long clickSum = achievementBehaviorSumVo.getClickSum(); - if(StringUtils.isNotNull(clickSum)) { + if(StringUtils.isNotNull(clickSum) && clickSum > 0) { Long click = behaviorImageMapper.getClickSumByAchievementId(id, BehaviorContant.ACHIEVEMENTS_IMAGE); if (StringUtils.isNotNull(click)) { - clickResult = click / clickResult *weight; + clickResult = click * weight / clickSum ; } } } else if (bhavior.equals(BehaviorContant.FAVORITE_BEHAVIOR)) {//收藏 //根据当前成果ID,获取成果收藏行为数量 Long favoriteSum = achievementBehaviorSumVo.getFavoriteSum(); - if(StringUtils.isNotNull(favoriteSum)) { + if(StringUtils.isNotNull(favoriteSum) && favoriteSum > 0) { Long favorite = behaviorImageMapper.getFavoriteSumByAchievementId(id,BehaviorContant.ACHIEVEMENTS_IMAGE); if (StringUtils.isNotNull(favorite)) { - favoriteResult = favorite / favoriteSum *weight; + favoriteResult = favorite *weight / favoriteSum ; } } } else if (bhavior.equals(BehaviorContant.SEARCH_BEHAVIOR)) {//搜索 //根据当前成果ID,获取成果搜索行为数量 Long searchSum = achievementBehaviorSumVo.getSearchSum(); - if(StringUtils.isNotNull(searchSum)) { + if(StringUtils.isNotNull(searchSum) && searchSum > 0) { Long search = behaviorImageMapper.getSearchSumByAchievementId(id, BehaviorContant.ACHIEVEMENTS_IMAGE); if (StringUtils.isNotNull(search)) { - searchResult = search / searchSum *weight; + searchResult = search *weight / searchSum; } } } else if (bhavior.equals(BehaviorContant.WATCH_BEHAVIOR)) {//关注 //根据当前成果ID,获取成果关注行为数量 Long watchSum = achievementBehaviorSumVo.getFavoriteSum(); - if(StringUtils.isNotNull( watchSum)) { + if(StringUtils.isNotNull( watchSum) && watchSum > 0) { Long watch = behaviorImageMapper.getWatchSumByAchievementId(id,BehaviorContant.ACHIEVEMENTS_IMAGE); - if (StringUtils.isNotNull( watch)) { - watchResult = watch / watchSum *weight; + if (StringUtils.isNotNull( watch) ) { + watchResult = watch *weight / watchSum; } } } else if (bhavior.equals(BehaviorContant.FILE_DOWNLOAD_BEHAVIOR)) {//文件下载 //根据当前成果ID,获取成果文件下载行为数量 Long fileDownloadSum = achievementBehaviorSumVo.getFavoriteSum(); - if(StringUtils.isNotNull(fileDownloadSum)) { + if(StringUtils.isNotNull(fileDownloadSum) && fileDownloadSum > 0) { Long fileDownload = behaviorImageMapper.getFileDownloadSumByAchievementId(id, BehaviorContant.ACHIEVEMENTS_IMAGE); if (StringUtils.isNotNull(fileDownload)) { - fileDownloadResult = fileDownload / fileDownload *weight; + fileDownloadResult = fileDownload *weight / fileDownloadSum ; } } } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/utils/DateUtil.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/utils/DateUtil.java index 421d5366d..868ef7173 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/utils/DateUtil.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/utils/DateUtil.java @@ -26,7 +26,19 @@ public class DateUtil { } - public static List getDateStr(Date start, Date end) { + public static List getDateStrMMDD(Date start, Date end) { + LocalDate s = start.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime().toLocalDate(); + LocalDate e = end.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime().toLocalDate(); + String pattern = "MM-dd"; + DateTimeFormatter formatter = DateTimeFormatter.ofPattern(pattern); + + return LongStream.range(0,s.until(e).getDays()+1) + .mapToObj(s::plusDays) + .map(formatter::format) + .collect(Collectors.toList()); + } + + public static List getDateStrYYYYMMDD(Date start, Date end) { LocalDate s = start.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime().toLocalDate(); LocalDate e = end.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime().toLocalDate(); String pattern = "yyyy-MM-dd"; diff --git a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/AchievementsMapper.xml b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/AchievementsMapper.xml index be56bc08d..d02d2ea70 100644 --- a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/AchievementsMapper.xml +++ b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/AchievementsMapper.xml @@ -255,7 +255,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" diff --git a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/BehaviorImageMapper.xml b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/BehaviorImageMapper.xml index 048b7ab5d..2a2f0016f 100644 --- a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/BehaviorImageMapper.xml +++ b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/BehaviorImageMapper.xml @@ -36,10 +36,10 @@ \ No newline at end of file diff --git a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/SchoolEnterpriseAchievementsMapper.xml b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/SchoolEnterpriseAchievementsMapper.xml index abd9d4f5c..ee73fa740 100644 --- a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/SchoolEnterpriseAchievementsMapper.xml +++ b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/SchoolEnterpriseAchievementsMapper.xml @@ -34,10 +34,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + - select id, achievement_name, field_1, field_2, field_3, achievement_type, source, source_id, source_link, tags, summary, publishing_unit, address, is_featured, contact_person, contact_number, owner_id, owner_name, status, details, reviewer, review_date, review_comments, images, attachments, create_by, create_time, update_by, update_time from school_enterprise_achievements + select id, achievement_name, achievement_status,field_1, field_2, field_3, achievement_type, source, source_id, source_link, tags, summary, publishing_unit, address, is_featured, contact_person, contact_number, owner_id, owner_name, status, details, reviewer, review_date, review_comments, images, attachments, create_by, create_time, update_by, update_time from school_enterprise_achievements + + + and achievement_id = #{achievementId} + and username like concat('%', #{username}, '%') + and company = #{company} + and technical_title = #{technicalTitle} + and professional_title = #{professionalTitle} + and research_direction = #{researchDirection} + and phone = #{phone} + and summary = #{summary} + and work_content = #{workContent} + and is_leader = #{isLeader} + and status = #{status} + + + + + + + insert into achievement_team + + achievement_id, + username, + company, + technical_title, + professional_title, + research_direction, + phone, + summary, + work_content, + is_leader, + status, + create_by, + create_time, + update_by, + update_time, + + + #{achievementId}, + #{username}, + #{company}, + #{technicalTitle}, + #{professionalTitle}, + #{researchDirection}, + #{phone}, + #{summary}, + #{workContent}, + #{isLeader}, + #{status}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + + + + + update achievement_team + + achievement_id = #{achievementId}, + username = #{username}, + company = #{company}, + technical_title = #{technicalTitle}, + professional_title = #{professionalTitle}, + research_direction = #{researchDirection}, + phone = #{phone}, + summary = #{summary}, + work_content = #{workContent}, + is_leader = #{isLeader}, + status = #{status}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + + where id = #{id} + + + + delete from achievement_team where id = #{id} + + + + delete from achievement_team where id in + + #{id} + + + \ No newline at end of file diff --git a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/AchievementsMapper.xml b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/AchievementsMapper.xml index d02d2ea70..79eaaa4ae 100644 --- a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/AchievementsMapper.xml +++ b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/AchievementsMapper.xml @@ -241,7 +241,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" select count(1) as clickSum from clickers where click_type = #{achievementsImage} and click_id = #{id} + + + + + + + + + + + + + + + + select id, behavior_code, image_type, behavior_name, behavior_weight, remark, create_by, create_time, update_by, update_time from behavior_image_weight + + + + + + + + insert into behavior_image_weight + + behavior_code, + image_type, + behavior_name, + behavior_weight, + remark, + create_by, + create_time, + update_by, + update_time, + + + #{behaviorCode}, + #{imageType}, + #{behaviorName}, + #{behaviorWeight}, + #{remark}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + + + + + update behavior_image_weight + + behavior_code = #{behaviorCode}, + image_type = #{imageType}, + behavior_name = #{behaviorName}, + behavior_weight = #{behaviorWeight}, + remark = #{remark}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + + where id = #{id} + + + + delete from behavior_image_weight where id = #{id} + + + + delete from behavior_image_weight where id in + + #{id} + + \ No newline at end of file From f573afac22409eff2e90b5f92338d1caaba34a57 Mon Sep 17 00:00:00 2001 From: admin Date: Thu, 24 Apr 2025 09:42:25 +0800 Subject: [PATCH 24/31] =?UTF-8?q?=E4=B8=93=E5=AE=B6=E5=AE=9E=E5=90=8D?= =?UTF-8?q?=E8=AE=A4=E8=AF=81=E9=80=BB=E8=BE=91=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/ExpertResourceLibrary.java | 51 ++++++++----------- .../dms/ExpertResourceLibraryMapper.xml | 22 +++++--- 2 files changed, 36 insertions(+), 37 deletions(-) diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/ExpertResourceLibrary.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/ExpertResourceLibrary.java index 777d244d9..f5d5aa314 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/ExpertResourceLibrary.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/ExpertResourceLibrary.java @@ -59,6 +59,7 @@ public class ExpertResourceLibrary extends BaseEntity { private Integer isDelete; + private Long expertAuth; private Integer sortNo; @@ -66,6 +67,14 @@ public class ExpertResourceLibrary extends BaseEntity { private Long competitionAuditCount; + public Long getExpertAuth() { + return expertAuth; + } + + public void setExpertAuth(Long expertAuth) { + this.expertAuth = expertAuth; + } + public Long getTaskAuditCount() { return taskAuditCount; } @@ -82,6 +91,16 @@ public class ExpertResourceLibrary extends BaseEntity { this.competitionAuditCount = competitionAuditCount; } + public String gender; + + public String getGender() { + return gender; + } + + public void setGender(String gender) { + this.gender = gender; + } + public Integer getSortNo() { return sortNo; } @@ -274,35 +293,5 @@ public class ExpertResourceLibrary extends BaseEntity { return isDelete; } - @Override - public String toString() { - return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) - .append("id", getId()) - .append("userId", getUserId()) - .append("expertName", getExpertName()) - .append("highestDegree", getHighestDegree()) - .append("graduatedFrom", getGraduatedFrom()) - .append("idNumber", getIdNumber()) - .append("major", getMajor()) - .append("workplace", getWorkplace()) - .append("phone", getPhone()) - .append("workplaceType", getWorkplaceType()) - .append("expertEmail", getExpertEmail()) - .append("expertSummary", getExpertSummary()) - .append("expertDetail", getExpertDetail()) - .append("professionalTitle", getProfessionalTitle()) - .append("expertType", getExpertType()) - .append("expertDomain", getExpertDomain()) - .append("titleRank", getTitleRank()) - .append("status", getStatus()) - .append("reviewAreaOne", getReviewAreaOne()) - .append("reviewAreaTwo", getReviewAreaTwo()) - .append("reviewAreaThree", getReviewAreaThree()) - .append("isDelete", getIsDelete()) - .append("createBy", getCreateBy()) - .append("createTime", getCreateTime()) - .append("updateBy", getUpdateBy()) - .append("updateTime", getUpdateTime()) - .toString(); - } + } diff --git a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/ExpertResourceLibraryMapper.xml b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/ExpertResourceLibraryMapper.xml index 608508453..16270aafd 100644 --- a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/ExpertResourceLibraryMapper.xml +++ b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/ExpertResourceLibraryMapper.xml @@ -33,25 +33,31 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + - select id, user_id,expert_id,sort_no, expert_name, highest_degree, graduated_from, id_number, major, workplace, phone, workplace_type, expert_email, expert_summary, expert_detail, professional_title, expert_type, expert_domain, title_rank, status, review_area_one, review_area_two, review_area_three, is_delete, create_by, create_time, update_by, update_time from expert_resource_library + select id, user_id,expert_id,gender,sort_no, expert_name, highest_degree, graduated_from, id_number, major, workplace, phone, workplace_type, expert_email, expert_summary, expert_detail, professional_title, expert_type, expert_domain, title_rank, status, review_area_one, review_area_two, review_area_three, is_delete, create_by, create_time, update_by, update_time from expert_resource_library + - select erl.id, e.id as expert_id,e.user_id, e.expert_name, e.highest_degree, e.graduated_from, e.id_number, e.major, e.workplace, e.phone, e.workplace_type, e.expert_email, erl.expert_summary, erl.expert_detail, e.professional_title, e.expert_type, - expert_domain, - e.title_rank, e.status, e.review_area_one, e.review_area_two, e.review_area_three, e.is_delete, erl.create_by, + expert_domain,images, attachments, + e.title_rank, erl.status, e.review_area_one, e.review_area_two, e.review_area_three, e.is_delete, erl.create_by, erl.create_time, (select COUNT(*) from task_expert where expert_id = e.id and container_type = 1) as taskAuditCount, (select COUNT(*) from task_expert where expert_id = e.id and container_type = 2) as competitionAuditCount, @@ -132,20 +163,26 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" @@ -157,7 +194,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" on erl.expert_id = tmp.expert_id - + insert into expert_resource_library user_id, @@ -197,8 +236,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" update_by, update_time, sort_no, - gender, - + gender, + images, + attachments, + #{userId}, #{expertId}, @@ -227,8 +268,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{updateBy}, #{updateTime}, #{sortNo}, - #{gender}, - + #{gender}, + #{isExpertAudit}, + #{hotRank}, + @@ -247,7 +290,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" expert_email = #{expertEmail}, expert_summary = #{expertSummary}, expert_detail = #{expertDetail}, - professional_title = #{professionalTitle}, + professional_title = + #{professionalTitle}, + expert_type = #{expertType}, expert_domain = #{expertDomain}, title_rank = #{titleRank}, @@ -261,13 +306,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" update_by = #{updateBy}, update_time = #{updateTime}, sort_no = #{sortNo}, - gender = #{gender}, + gender = #{gender}, + images = #{images}, + attachments = #{attachments}, where id = #{id} - delete from expert_resource_library where id = #{id} + delete + from expert_resource_library + where id = #{id} @@ -276,4 +325,111 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{id} + + + + + + + + + + + + + + + + + + + \ No newline at end of file From a5f53b2a83aa2107bd8f5aa7c64127346219d439 Mon Sep 17 00:00:00 2001 From: admin Date: Thu, 24 Apr 2025 15:37:50 +0800 Subject: [PATCH 26/31] =?UTF-8?q?feat(=E7=AB=9E=E8=B5=9B=E5=A4=A7=E5=B1=8F?= =?UTF-8?q?)=20=E7=AB=9E=E8=B5=9B=E5=A4=A7=E5=B1=8F=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BigScreenStatisticController.java | 47 ++++++++++--- .../service/BigScreenStatisticService.java | 63 +++++++++++++++++ .../CompetitionResourceLibraryMapper.java | 24 +++++++ .../com/microservices/dms/utils/DateUtil.java | 35 +++++++++- .../src/main/resources/logback.xml | 2 +- .../dms/CompetitionResourceLibraryMapper.xml | 67 +++++++++++++++++++ 6 files changed, 227 insertions(+), 11 deletions(-) diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/controller/BigScreenStatisticController.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/controller/BigScreenStatisticController.java index c962b236c..f45d21612 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/controller/BigScreenStatisticController.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/controller/BigScreenStatisticController.java @@ -12,57 +12,88 @@ import org.springframework.web.bind.annotation.RestController; @RestController @RequiredArgsConstructor @Api(tags = "数据管理体系-大屏统计接口") -@RequestMapping("bigScreenStatistic") +@RequestMapping("/bigScreenStatistic") public class BigScreenStatisticController { private final BigScreenStatisticService bigScreenStatisticService; - @GetMapping(value = "getAchievementTopStatistic") + @GetMapping(value = "/achievement/getAchievementTopStatistic") @ApiOperation(value = "成果任务统计顶部折线图") public AjaxResult getAchievementTopStatistic(String source) { return AjaxResult.success(bigScreenStatisticService.getAchievementTopStatistic(source)); } - @GetMapping(value = "getAchievementDataYearly") + @GetMapping(value = "/achievement/getAchievementDataYearly") @ApiOperation(value = "年度成果数据") public AjaxResult getAchievementDataYearly() { return AjaxResult.success(bigScreenStatisticService.getAchievementDataYearly()); } - @GetMapping(value = "getAchievementType") + @GetMapping(value = "/achievement/getAchievementType") @ApiOperation(value = "成果类型") public AjaxResult getAchievementType() { return AjaxResult.success(bigScreenStatisticService.getAchievementType()); } - @GetMapping(value = "getAchievementDomain") + @GetMapping(value = "/achievement/getAchievementDomain") @ApiOperation(value = "成果领域分布") public AjaxResult getAchievementDomain() { return AjaxResult.success(bigScreenStatisticService.getAchievementDomain()); } - @GetMapping(value = "getAchievementAddYearly") + @GetMapping(value = "/achievement/getAchievementAddYearly") @ApiOperation(value = "近1年新增成果数") public AjaxResult getAchievementAddYearly() { return AjaxResult.success(bigScreenStatisticService.getAchievementAddYearly()); } - @GetMapping(value = "getAchievementActData") + @GetMapping(value = "/achievement/getAchievementActData") @ApiOperation(value = "成果行为数据展示") public AjaxResult getAchievementActData() { return AjaxResult.success(bigScreenStatisticService.getAchievementActData()); } - @GetMapping(value = "getAchievementHotRank") + @GetMapping(value = "/achievement/getAchievementHotRank") @ApiOperation(value = "成果热度排行") public AjaxResult getAchievementHotRank() { return AjaxResult.success(bigScreenStatisticService.getAchievementHotRank()); } + @GetMapping(value = "/competition/getCompetitionTopStatistic") + @ApiOperation(value = "competition统计顶部") + public AjaxResult getAchievementTopStatistic() { + return AjaxResult.success(bigScreenStatisticService.getCompetitionTopStatistic()); + } + + @GetMapping(value = "/competition/getCompetitionStatisticYearly") + @ApiOperation(value = "竞赛数据统计") + public AjaxResult getCompetitionStatisticYearly() { + return AjaxResult.success(bigScreenStatisticService.getCompetitionStatisticYearly()); + } + + @GetMapping(value = "/competition/getCompetitionHot") + @ApiOperation(value = "热门竞赛统计") + public AjaxResult getCompetitionHot() { + return AjaxResult.success(bigScreenStatisticService.getCompetitionHot()); + } + + @GetMapping(value = "/competition/getCompetitionYearlyPaperAdd") + @ApiOperation(value = "年度竞赛作品新增数") + public AjaxResult getCompetitionYearlyPaperAdd() { + return AjaxResult.success(bigScreenStatisticService.getCompetitionYearlyPaperAdd()); + } + + @GetMapping(value = "/competition/getCompetitionYearlyFinish") + @ApiOperation(value = "近1年竞赛完成情况") + public AjaxResult getCompetitionYearlyFinish() { + return AjaxResult.success(bigScreenStatisticService.getCompetitionYearlyFinish()); + } + + } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/BigScreenStatisticService.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/BigScreenStatisticService.java index 5d189e2db..fddf8c5a8 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/BigScreenStatisticService.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/BigScreenStatisticService.java @@ -3,10 +3,12 @@ package com.microservices.dms.achievementLibrary.service; import com.microservices.dms.achievementLibrary.domain.KeyValueVo; import com.microservices.dms.achievementLibrary.mapper.AchievementsMapper; import com.microservices.dms.resourceLibrary.domain.vo.KeyValVo; +import com.microservices.dms.resourceLibrary.mapper.CompetitionResourceLibraryMapper; import com.microservices.dms.utils.DateUtil; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.time.LocalDate; import java.util.*; import java.util.stream.Collectors; @@ -15,6 +17,7 @@ import java.util.stream.Collectors; public class BigScreenStatisticService { private final AchievementsMapper achievementsMapper; + private final CompetitionResourceLibraryMapper competitionResourceLibraryMapper; public Map getAchievementTopStatistic(String source) { Date[] days = DateUtil.getDays(0, 6); @@ -72,4 +75,64 @@ public class BigScreenStatisticService { public List> getAchievementHotRank() { return achievementsMapper.getAchievementHotRank(); } + + public Map getCompetitionTopStatistic() { + Map res = new HashMap<>(); + Long finish = competitionResourceLibraryMapper.getCompetitionFinish(); + res.put("finish", finish); + Long enroll = competitionResourceLibraryMapper.getCompetitionEnroll(); + res.put("enroll", enroll); + Long underway = competitionResourceLibraryMapper.getCompetitionUnderway(); + res.put("underway", underway); + Long submitCount = competitionResourceLibraryMapper.getCompetitionSubmitCount(); + res.put("submitCount", submitCount); + Long transfer = competitionResourceLibraryMapper.getCompetitionTransferCount(); + res.put("transfer", transfer); + Long needAudit = competitionResourceLibraryMapper.getCompetitionNeedAuditCount(); + res.put("needAudit", needAudit); + return res; + } + + public List getCompetitionStatisticYearly() { + return competitionResourceLibraryMapper.getCompetitionStatisticYearly(); + } + + public Object getCompetitionHot() { + return competitionResourceLibraryMapper.getCompetitionHot(); + } + + public List> getCompetitionYearlyPaperAdd() { + Date[] currentYear = DateUtil.getCurrentYear(); + + Map m = competitionResourceLibraryMapper.getCompetitionYearlyPaperAdd(currentYear[0],currentYear[1]) + .stream().collect(Collectors.toMap(KeyValVo::getK, KeyValVo::getV)); + List dateStr = DateUtil.getDateStrMMDD(currentYear[0], currentYear[1]); + List> res = new ArrayList<>(); + for (String s : dateStr) { + Long a = m.getOrDefault(s, 0L); + KeyValVo k1 = new KeyValVo<>(); + k1.setK(s); + k1.setV(a); + res.add(k1); + } + return res; + } + + public List> getCompetitionYearlyFinish() { + Date[] currentYear = DateUtil.getCurrentYear(); + Date[] YearEndOfCur = DateUtil.getCurrentYearEndOf(LocalDate.now()); + + Map m = competitionResourceLibraryMapper.getCompetitionYearlyFinish(YearEndOfCur[0],YearEndOfCur[1]) + .stream().collect(Collectors.toMap(KeyValVo::getK, KeyValVo::getV)); + List dateStr = DateUtil.getDateStrMMDD(currentYear[0], currentYear[1]); + List> res = new ArrayList<>(); + for (String s : dateStr) { + Long a = m.getOrDefault(s, 0L); + KeyValVo k1 = new KeyValVo<>(); + k1.setK(s); + k1.setV(a); + res.add(k1); + } + return res; + } } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/CompetitionResourceLibraryMapper.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/CompetitionResourceLibraryMapper.java index ba2e6024b..3973167ae 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/CompetitionResourceLibraryMapper.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/CompetitionResourceLibraryMapper.java @@ -1,6 +1,7 @@ package com.microservices.dms.resourceLibrary.mapper; import com.microservices.common.datasource.annotation.Slave; +import com.microservices.dms.achievementLibrary.domain.KeyValueVo; import com.microservices.dms.resourceLibrary.domain.CompetitionResourceLibrary; import com.microservices.dms.resourceLibrary.domain.vo.CompetitionListVo; import com.microservices.dms.resourceLibrary.domain.vo.KeyValVo; @@ -8,7 +9,10 @@ import com.microservices.dms.resourceLibrary.domain.vo.UserActionDataVo; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.Arrays; +import java.util.Date; import java.util.List; +import java.util.Map; @Mapper @Slave @@ -47,4 +51,24 @@ public interface CompetitionResourceLibraryMapper { long getTotalFinishedCompetitions(); long getReviewCompetitionCount(); + + Long getCompetitionFinish(); + + Long getCompetitionEnroll(); + + Long getCompetitionUnderway(); + + Long getCompetitionSubmitCount(); + + Long getCompetitionTransferCount(); + + Long getCompetitionNeedAuditCount(); + + List getCompetitionStatisticYearly(); + + List> getCompetitionHot(); + + List> getCompetitionYearlyPaperAdd(@Param("s") Date s, @Param("e") Date e); + + List> getCompetitionYearlyFinish(@Param("s") Date s, @Param("e") Date e); } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/utils/DateUtil.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/utils/DateUtil.java index 868ef7173..5ca20f898 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/utils/DateUtil.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/utils/DateUtil.java @@ -2,8 +2,10 @@ package com.microservices.dms.utils; import java.time.LocalDate; import java.time.LocalDateTime; +import java.time.Year; import java.time.ZoneId; import java.time.format.DateTimeFormatter; +import java.util.Arrays; import java.util.Date; import java.util.List; import java.util.stream.Collectors; @@ -26,13 +28,42 @@ public class DateUtil { } + public static Date[] getCurrentYear() { + Year year = Year.now(); + + LocalDate startDate = year.atDay(1); + LocalDate endDate = year.atDay(year.length()); + + LocalDateTime startDateTime = startDate.atStartOfDay(); + LocalDateTime endDateTime = endDate.atTime(23, 59, 59); + + return new Date[]{ + Date.from(startDateTime.atZone(ZoneId.systemDefault()).toInstant()), + Date.from(endDateTime.atZone(ZoneId.systemDefault()).toInstant()) + }; + } + + public static Date[] getCurrentYearEndOf(LocalDate endDate) { + Year year = Year.now(); + + LocalDate startOfWeek = year.atDay(1); + + LocalDateTime startDateTime = startOfWeek.atStartOfDay(); + LocalDateTime endDateTime = endDate.atTime(23, 59, 59); + + return new Date[]{ + Date.from(startDateTime.atZone(ZoneId.systemDefault()).toInstant()), + Date.from(endDateTime.atZone(ZoneId.systemDefault()).toInstant()) + }; + } + public static List getDateStrMMDD(Date start, Date end) { LocalDate s = start.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime().toLocalDate(); LocalDate e = end.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime().toLocalDate(); String pattern = "MM-dd"; DateTimeFormatter formatter = DateTimeFormatter.ofPattern(pattern); - return LongStream.range(0,s.until(e).getDays()+1) + return LongStream.range(0, s.until(e).getDays() + 1) .mapToObj(s::plusDays) .map(formatter::format) .collect(Collectors.toList()); @@ -44,7 +75,7 @@ public class DateUtil { String pattern = "yyyy-MM-dd"; DateTimeFormatter formatter = DateTimeFormatter.ofPattern(pattern); - return LongStream.range(0,s.until(e).getDays()+1) + return LongStream.range(0, s.until(e).getDays() + 1) .mapToObj(s::plusDays) .map(formatter::format) .collect(Collectors.toList()); diff --git a/microservices-modules/microservices-modules-dms/src/main/resources/logback.xml b/microservices-modules/microservices-modules-dms/src/main/resources/logback.xml index 8d66f2a37..b79bc799e 100644 --- a/microservices-modules/microservices-modules-dms/src/main/resources/logback.xml +++ b/microservices-modules/microservices-modules-dms/src/main/resources/logback.xml @@ -1,7 +1,7 @@ - + diff --git a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/CompetitionResourceLibraryMapper.xml b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/CompetitionResourceLibraryMapper.xml index 21620b9dc..9faa12b53 100644 --- a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/CompetitionResourceLibraryMapper.xml +++ b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/CompetitionResourceLibraryMapper.xml @@ -231,6 +231,73 @@ where ci.is_expert_audit = 1 + + + + + + + + + + + + + + + + + + + insert into competition_resource_library From d2deba6f90594dbe53dc3dcfe813f9bea6425980 Mon Sep 17 00:00:00 2001 From: admin Date: Fri, 25 Apr 2025 11:34:34 +0800 Subject: [PATCH 27/31] =?UTF-8?q?=E4=B8=93=E5=AE=B6=E8=81=94=E8=B0=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/AchievementsController.java | 4 +- .../mapper/AchievementsMapper.java | 4 +- .../service/IAchievementsService.java | 4 +- .../service/impl/AchievementsServiceImpl.java | 4 +- .../ExpertResourceLibraryController.java | 14 ++++ .../domain/ExpertResourceLibrary.java | 18 +++++ .../mapper/ExpertResourceLibraryMapper.java | 8 +++ .../IExpertResourceLibraryService.java | 7 ++ .../ExpertResourceLibraryServiceImpl.java | 11 +++ .../dms/ExpertResourceLibraryMapper.xml | 72 ++++++++++++------- 10 files changed, 114 insertions(+), 32 deletions(-) diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/controller/AchievementsController.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/controller/AchievementsController.java index bb735eeb2..f42872152 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/controller/AchievementsController.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/controller/AchievementsController.java @@ -191,7 +191,7 @@ public class AchievementsController extends BaseController { @ApiOperation("根据当前用户以及成果ID,获取当前成果的 是否收藏与关注状态") @GetMapping("/getWatchFavoriteStatusById") - public AjaxResult getWatchFavoriteStatusById(String id, Long userId) { + public AjaxResult getWatchFavoriteStatusById(Long id, Long userId) { return success(achievementsService.getWatchFavoriteStatusById(id, userId)); } @ApiOperation("根据成果ID,获取近7日成果点击数量(折线图)") @@ -202,7 +202,7 @@ public class AchievementsController extends BaseController { @ApiOperation("根据成果ID,获取成果的相关行为数据统计(点击量、搜索量、附件下载量、收藏、关注)") @GetMapping("/getActDataStatisticById") - public AjaxResult getActDataStatisticById(String id) { + public AjaxResult getActDataStatisticById(Long id) { return success(achievementsService.getActDataStatisticById(id)); } } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/mapper/AchievementsMapper.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/mapper/AchievementsMapper.java index 744828136..75bfca765 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/mapper/AchievementsMapper.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/mapper/AchievementsMapper.java @@ -105,11 +105,11 @@ public interface AchievementsMapper { List getAreasByName(@Param("areaName") String areaName); - AchievementBehaviorSumVo getActDataStatisticById(@Param("id") String id); + AchievementBehaviorSumVo getActDataStatisticById(@Param("id") Long id); List> get7AddClickById(@Param("s") Date s, @Param("e") Date e, @Param("t") String achievements, @Param("id") String id); - AchievementBehaviorSumVo getWatchFavoriteStatusById(@Param("id") String id, @Param("userId")Long userId); + AchievementBehaviorSumVo getWatchFavoriteStatusById(@Param("id") Long id, @Param("userId")Long userId); Long countAchievementBySource(@Param("s") Date s, @Param("e") Date e, @Param("t") String achievements); diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/IAchievementsService.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/IAchievementsService.java index 340b3d2a2..246473a28 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/IAchievementsService.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/IAchievementsService.java @@ -94,9 +94,9 @@ public interface IAchievementsService { List getAreasByName(String areaName); - AchievementBehaviorSumVo getActDataStatisticById(String id); + AchievementBehaviorSumVo getActDataStatisticById(Long id); List> get7AddClickById(String id); - AchievementBehaviorSumVo getWatchFavoriteStatusById(String id, Long userId); + AchievementBehaviorSumVo getWatchFavoriteStatusById(Long id, Long userId); } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/impl/AchievementsServiceImpl.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/impl/AchievementsServiceImpl.java index 9d8e75fa0..cf8f055ca 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/impl/AchievementsServiceImpl.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/impl/AchievementsServiceImpl.java @@ -285,7 +285,7 @@ public class AchievementsServiceImpl implements IAchievementsService { } @Override - public AchievementBehaviorSumVo getActDataStatisticById(String id) { + public AchievementBehaviorSumVo getActDataStatisticById(Long id) { return achievementsMapper.getActDataStatisticById(id); } @@ -310,7 +310,7 @@ public class AchievementsServiceImpl implements IAchievementsService { } @Override - public AchievementBehaviorSumVo getWatchFavoriteStatusById(String id, Long userId) { + public AchievementBehaviorSumVo getWatchFavoriteStatusById(Long id, Long userId) { return achievementsMapper.getWatchFavoriteStatusById(id,userId); } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/ExpertResourceLibraryController.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/ExpertResourceLibraryController.java index 5bf6cae56..2a0f96dbc 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/ExpertResourceLibraryController.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/controller/ExpertResourceLibraryController.java @@ -124,4 +124,18 @@ public class ExpertResourceLibraryController extends BaseController { return AjaxResult.success(expertResourceLibraryService.taskAuditCount()); } + + + @ApiOperation("根据当前用户以及专家ID,获取当前专家的 是否收藏与关注状态") + @GetMapping("/getWatchFavoriteStatusById") + public AjaxResult getWatchFavoriteStatusById(Long id, Long userId) { + return success(expertResourceLibraryService.getWatchFavoriteStatusById(id, userId)); + } + + + @ApiOperation("根据成果ID,获取专家的相关行为数据统计(点击量、搜索量、附件下载量、收藏、关注)") + @GetMapping("/getActDataStatisticById") + public AjaxResult getActDataStatisticById(Long id) { + return success(expertResourceLibraryService.getActDataStatisticById(id)); + } } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/ExpertResourceLibrary.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/ExpertResourceLibrary.java index 3d27e5473..8654c0fcd 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/ExpertResourceLibrary.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/ExpertResourceLibrary.java @@ -69,6 +69,24 @@ public class ExpertResourceLibrary extends BaseEntity { private String images; private String attachments; + private Long watcherSum; + private Long favoriteSum; + + public Long getWatcherSum() { + return watcherSum; + } + + public void setWatcherSum(Long watcherSum) { + this.watcherSum = watcherSum; + } + + public Long getFavoriteSum() { + return favoriteSum; + } + + public void setFavoriteSum(Long favoriteSum) { + this.favoriteSum = favoriteSum; + } public String getImages() { return images; diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/ExpertResourceLibraryMapper.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/ExpertResourceLibraryMapper.java index 48ccc087b..cce29d425 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/ExpertResourceLibraryMapper.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/ExpertResourceLibraryMapper.java @@ -1,12 +1,16 @@ package com.microservices.dms.resourceLibrary.mapper; +import java.util.Date; import java.util.List; import com.microservices.common.datasource.annotation.Slave; import com.microservices.dms.achievementLibrary.domain.ExpertTotallVo; import com.microservices.dms.achievementLibrary.domain.KeyValueVo; +import com.microservices.dms.behaviorImage.domain.AchievementBehaviorSumVo; import com.microservices.dms.resourceLibrary.domain.ExpertResourceLibrary; +import com.microservices.dms.resourceLibrary.domain.vo.KeyValVo; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; /** * 专家资源库Mapper接口 @@ -98,4 +102,8 @@ public interface ExpertResourceLibraryMapper List getReviewAreasStatistic(); List getExpertAduit(); + + AchievementBehaviorSumVo getActDataStatisticById(@Param("id") Long id); + + AchievementBehaviorSumVo getWatchFavoriteStatusById(@Param("id") Long id, @Param("userId")Long userId); } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/IExpertResourceLibraryService.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/IExpertResourceLibraryService.java index 07b0be4ca..9ae1e9568 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/IExpertResourceLibraryService.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/IExpertResourceLibraryService.java @@ -1,7 +1,10 @@ package com.microservices.dms.resourceLibrary.service; import java.util.List; + +import com.microservices.dms.behaviorImage.domain.AchievementBehaviorSumVo; import com.microservices.dms.resourceLibrary.domain.ExpertResourceLibrary; +import com.microservices.dms.resourceLibrary.domain.vo.KeyValVo; /** * 专家资源库Service接口 @@ -66,4 +69,8 @@ public interface IExpertResourceLibraryService Long competitionAuditCount(); Long taskAuditCount(); + + AchievementBehaviorSumVo getActDataStatisticById(Long id); + + AchievementBehaviorSumVo getWatchFavoriteStatusById(Long id, Long userId); } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/impl/ExpertResourceLibraryServiceImpl.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/impl/ExpertResourceLibraryServiceImpl.java index 5ea8b2309..8587e9db1 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/impl/ExpertResourceLibraryServiceImpl.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/impl/ExpertResourceLibraryServiceImpl.java @@ -2,6 +2,7 @@ package com.microservices.dms.resourceLibrary.service.impl; import java.util.List; import com.microservices.common.core.utils.DateUtils; +import com.microservices.dms.behaviorImage.domain.AchievementBehaviorSumVo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.microservices.dms.resourceLibrary.mapper.ExpertResourceLibraryMapper; @@ -72,6 +73,16 @@ public class ExpertResourceLibraryServiceImpl implements IExpertResourceLibraryS return expertResourceLibraryMapper.taskAuditCount(); } + @Override + public AchievementBehaviorSumVo getActDataStatisticById(Long id) { + return expertResourceLibraryMapper.getActDataStatisticById(id); + } + + @Override + public AchievementBehaviorSumVo getWatchFavoriteStatusById(Long id, Long userId) { + return expertResourceLibraryMapper.getWatchFavoriteStatusById(id,userId); + } + /** * 新增专家资源库 * diff --git a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/ExpertResourceLibraryMapper.xml b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/ExpertResourceLibraryMapper.xml index ecab2822b..904a0caf3 100644 --- a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/ExpertResourceLibraryMapper.xml +++ b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/ExpertResourceLibraryMapper.xml @@ -65,14 +65,14 @@ create_by, create_time, update_by, - update_time,images, attachments,gender,sort_no + update_time,images, attachments,gender,sort_no,status from expert_resource_library @@ -237,7 +239,8 @@ update_time, sort_no, gender, - images, + + images, attachments, @@ -268,9 +271,9 @@ #{updateBy}, #{updateTime}, #{sortNo}, - #{gender}, - #{isExpertAudit}, - #{hotRank}, + #{gender}, + #{images}, + #{attachments}, @@ -432,4 +435,25 @@ order by (tmp.taskAuditCount + tmp.competitionAuditCount) desc limit 0,9 + + + + + \ No newline at end of file From 492de55aa0e3bc691ad9477cfef1a48021a2dbe0 Mon Sep 17 00:00:00 2001 From: admin Date: Fri, 25 Apr 2025 16:04:41 +0800 Subject: [PATCH 28/31] =?UTF-8?q?feat(=E8=AE=BA=E5=9D=9B=E5=A4=A7=E5=B1=8F?= =?UTF-8?q?)=20=E8=AE=BA=E5=9D=9B=E5=A4=A7=E5=B1=8F=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/AchievementsController.java | 9 ++ .../controller/MemoDashboardController.java | 62 ++++++++++++ .../domain/AreaStatisticVo.java | 74 ++++++++++++++ .../domain/MemoTotalVo.java | 74 ++++++++++++++ .../mapper/AchievementsMapper.java | 3 + .../service/IAchievementsService.java | 3 + .../service/MemoDashboardService.java | 97 +++++++++++++++++++ .../service/impl/AchievementsServiceImpl.java | 6 ++ .../domain/vo/ExpertAttachmentVo.java | 50 ++++++++++ .../mapper/ExpertResourceLibraryMapper.java | 21 ++++ .../ExpertResourceLibraryServiceImpl.java | 79 +++++++++------ .../com/microservices/dms/utils/UrlUtil.java | 19 ++++ .../mapper/dms/AchievementsMapper.xml | 27 ++++++ .../dms/ExpertResourceLibraryMapper.xml | 87 ++++++++++++++++- 14 files changed, 581 insertions(+), 30 deletions(-) create mode 100644 microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/controller/MemoDashboardController.java create mode 100644 microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/domain/AreaStatisticVo.java create mode 100644 microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/domain/MemoTotalVo.java create mode 100644 microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/MemoDashboardService.java create mode 100644 microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/vo/ExpertAttachmentVo.java diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/controller/AchievementsController.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/controller/AchievementsController.java index f42872152..d17c1cd04 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/controller/AchievementsController.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/controller/AchievementsController.java @@ -205,4 +205,13 @@ public class AchievementsController extends BaseController { public AjaxResult getActDataStatisticById(Long id) { return success(achievementsService.getActDataStatisticById(id)); } + /** + * 根据领域,将成果数据进行分类 + * + */ + @GetMapping("/getAreaStatistic") + public AjaxResult getAreaStatistic(String areaKey) + { + return success(achievementsService.getAreaStatistic(areaKey)); + } } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/controller/MemoDashboardController.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/controller/MemoDashboardController.java new file mode 100644 index 000000000..fc4f7db10 --- /dev/null +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/controller/MemoDashboardController.java @@ -0,0 +1,62 @@ +package com.microservices.dms.achievementLibrary.controller; + +import com.microservices.common.core.web.domain.AjaxResult; +import com.microservices.dms.achievementLibrary.service.MemoDashboardService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequiredArgsConstructor +@Api(tags = "数据管理体系-社区动态可视化接口") +@RequestMapping("/memoDashboard") +public class MemoDashboardController { + @Autowired + private MemoDashboardService memoDashboardService; + + @GetMapping(value = "getMemoAduit") + @ApiOperation(value = "帖子审核通过率、帖子总数") + public AjaxResult getMemoAduit() { + return AjaxResult.success(memoDashboardService.getMemoAduit()); + } + + @GetMapping(value = "getIsOriginalStatistic") + @ApiOperation(value = "帖子原创、非原创") + public AjaxResult getIsOriginalStatistic() { + return AjaxResult.success(memoDashboardService.getIsOriginalStatistic()); + } + + @GetMapping(value = "getMemoTotalByYear") + @ApiOperation(value = "年度论坛帖子总数") + public AjaxResult getMemoTotalByYear() { + return AjaxResult.success(memoDashboardService.getMemoTotalByYear()); + } + + @GetMapping(value = "getForumSectionStatistic(") + @ApiOperation(value = "帖子分类") + public AjaxResult getForumSectionStatistic() { + return AjaxResult.success(memoDashboardService.getForumSectionStatistic()); + } + + @GetMapping(value = "getAddMemoStatistic(") + @ApiOperation(value = "近一年新增帖子数") + public AjaxResult getAddMemoStatistic() { + return AjaxResult.success(memoDashboardService.getAddMemoStatistic()); + } + + @GetMapping(value = "getTop5Memos(") + @ApiOperation(value = "年度帖子热度top5") + public AjaxResult getTop5Memos() { + return AjaxResult.success(memoDashboardService.getTop5Memos()); + } + + @GetMapping(value = "get7DayPaise(") + @ApiOperation(value = "近7日帖子点赞数") + public AjaxResult get7DayPaise() { + return AjaxResult.success(memoDashboardService.get7DayPaise()); + } +} diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/domain/AreaStatisticVo.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/domain/AreaStatisticVo.java new file mode 100644 index 000000000..51a2197b5 --- /dev/null +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/domain/AreaStatisticVo.java @@ -0,0 +1,74 @@ +package com.microservices.dms.achievementLibrary.domain; + +public class AreaStatisticVo { + //领域名称 + private String areaName; + //领域key + private String areaKey; + //领域说明 + private String remark; + //开源项目汇总 + private Long kyxmSum; + //创客任务汇总 + private Long ckrwSum; + //开放竞赛汇总 + private Long kfjsSum; + //校企成果汇总 + private Long xqcgSum; + + public String getAreaName() { + return areaName; + } + + public void setAreaName(String areaName) { + this.areaName = areaName; + } + + public String getAreaKey() { + return areaKey; + } + + public void setAreaKey(String areaKey) { + this.areaKey = areaKey; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public Long getKyxmSum() { + return kyxmSum; + } + + public void setKyxmSum(Long kyxmSum) { + this.kyxmSum = kyxmSum; + } + + public Long getCkrwSum() { + return ckrwSum; + } + + public void setCkrwSum(Long ckrwSum) { + this.ckrwSum = ckrwSum; + } + + public Long getKfjsSum() { + return kfjsSum; + } + + public void setKfjsSum(Long kfjsSum) { + this.kfjsSum = kfjsSum; + } + + public Long getXqcgSum() { + return xqcgSum; + } + + public void setXqcgSum(Long xqcgSum) { + this.xqcgSum = xqcgSum; + } +} diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/domain/MemoTotalVo.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/domain/MemoTotalVo.java new file mode 100644 index 000000000..d514c2f4b --- /dev/null +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/domain/MemoTotalVo.java @@ -0,0 +1,74 @@ +package com.microservices.dms.achievementLibrary.domain; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; + +import java.util.Date; + +public class MemoTotalVo { + private Long id; + private String subject; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "发布时间", hidden = true) + private Date publishedAt; + private Long viewedCount; + private Long praisesCount; + private Long repliesCount; + private Long behavioreSum; + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getSubject() { + return subject; + } + + public void setSubject(String subject) { + this.subject = subject; + } + + public Date getPublishedAt() { + return publishedAt; + } + + public void setPublishedAt(Date publishedAt) { + this.publishedAt = publishedAt; + } + + public Long getViewedCount() { + return viewedCount; + } + + public void setViewedCount(Long viewedCount) { + this.viewedCount = viewedCount; + } + + public Long getPraisesCount() { + return praisesCount; + } + + public void setPraisesCount(Long praisesCount) { + this.praisesCount = praisesCount; + } + + public Long getRepliesCount() { + return repliesCount; + } + + public void setRepliesCount(Long repliesCount) { + this.repliesCount = repliesCount; + } + + public Long getBehavioreSum() { + return behavioreSum; + } + + public void setBehavioreSum(Long behavioreSum) { + this.behavioreSum = behavioreSum; + } +} diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/mapper/AchievementsMapper.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/mapper/AchievementsMapper.java index 75bfca765..549d58bf5 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/mapper/AchievementsMapper.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/mapper/AchievementsMapper.java @@ -9,6 +9,7 @@ import com.microservices.common.datasource.annotation.Master; import com.microservices.common.datasource.annotation.Slave; import com.microservices.dms.achievementLibrary.domain.AchQueryVo; import com.microservices.dms.achievementLibrary.domain.Achievements; +import com.microservices.dms.achievementLibrary.domain.AreaStatisticVo; import com.microservices.dms.achievementLibrary.domain.KeyValueVo; import com.microservices.dms.behaviorImage.domain.AchievementBehaviorSumVo; import com.microservices.dms.resourceLibrary.domain.vo.KeyValVo; @@ -126,4 +127,6 @@ public interface AchievementsMapper { List> getAchievementHotRank(); List getAllId(); + + List getAreaStatistic(@Param("areaKey") String areaKey); } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/IAchievementsService.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/IAchievementsService.java index 246473a28..e0fd13b98 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/IAchievementsService.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/IAchievementsService.java @@ -5,6 +5,7 @@ import java.util.Map; import com.microservices.dms.achievementLibrary.domain.AchQueryVo; import com.microservices.dms.achievementLibrary.domain.Achievements; +import com.microservices.dms.achievementLibrary.domain.AreaStatisticVo; import com.microservices.dms.achievementLibrary.domain.KeyValueVo; import com.microservices.dms.behaviorImage.domain.AchievementBehaviorSumVo; import com.microservices.dms.resourceLibrary.domain.vo.KeyValVo; @@ -99,4 +100,6 @@ public interface IAchievementsService { List> get7AddClickById(String id); AchievementBehaviorSumVo getWatchFavoriteStatusById(Long id, Long userId); + + List getAreaStatistic(String areaKey); } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/MemoDashboardService.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/MemoDashboardService.java new file mode 100644 index 000000000..d5f8898d9 --- /dev/null +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/MemoDashboardService.java @@ -0,0 +1,97 @@ +package com.microservices.dms.achievementLibrary.service; + +import com.microservices.dms.achievementLibrary.domain.AchQueryVo; +import com.microservices.dms.achievementLibrary.domain.KeyValueVo; +import com.microservices.dms.achievementLibrary.domain.MemoTotalVo; +import com.microservices.dms.resourceLibrary.domain.vo.KeyValVo; +import com.microservices.dms.resourceLibrary.mapper.ExpertResourceLibraryMapper; +import com.microservices.dms.utils.DateUtil; +import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +@Service +@RequiredArgsConstructor +public class MemoDashboardService { + @Autowired + private ExpertResourceLibraryMapper memoResourceLibraryMapper; + /** + * 审核通过率 + * @return + */ + public List getMemoAduit() { + return memoResourceLibraryMapper.getMemoAduit(); + } + + /** + * 原创、非原创 + * @return + */ + public KeyValueVo getIsOriginalStatistic() { + return memoResourceLibraryMapper.getIsOriginalStatistic(); + } + + /** + * 年度动态数据统计 + * @return + */ + public List getMemoTotalByYear() { + return memoResourceLibraryMapper.getMemoTotalByYear(); + } + + /** + * 根据帖子类型汇总 + * @return + */ + public List getForumSectionStatistic() { + return memoResourceLibraryMapper.getForumSectionStatistic(); + } + + /** + * 近一年新增帖子数 + * @return + */ + public List getAddMemoStatistic() { + return memoResourceLibraryMapper.getAddMemoStatistic(); + } + + /** + * 本年帖子热度top5(论坛评论、点击、点赞) + * @return + */ + public List getTop5Memos() { + return memoResourceLibraryMapper.getTop5Memos(); + } + + /** + * 近7日帖子点赞数 + * @return + */ + public List> get7DayPaise() { + Date[] days = DateUtil.getDays(1, 7); + Map w = memoResourceLibraryMapper.get7DayPaise(days[0], days[1]) + .stream().collect(Collectors.toMap(KeyValVo::getK, KeyValVo::getV)); + + List dateStr = DateUtil.getDateStrMMDD(days[0], days[1]); + List> res = new ArrayList<>(); + + for (String s : dateStr) { + Long a = w.getOrDefault(s, 0L); + KeyValVo k1 = new KeyValVo<>(); + k1.setK(s); + k1.setV(a); + res.add(k1); + } + return res; + } + + + + +} diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/impl/AchievementsServiceImpl.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/impl/AchievementsServiceImpl.java index cf8f055ca..59bcc91df 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/impl/AchievementsServiceImpl.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/impl/AchievementsServiceImpl.java @@ -6,6 +6,7 @@ import java.util.stream.Collectors; import com.microservices.common.core.utils.DateUtils; import com.microservices.common.security.utils.SecurityUtils; import com.microservices.dms.achievementLibrary.domain.AchQueryVo; +import com.microservices.dms.achievementLibrary.domain.AreaStatisticVo; import com.microservices.dms.achievementLibrary.domain.KeyValueVo; import com.microservices.dms.behaviorImage.domain.AchievementBehaviorSumVo; import com.microservices.dms.behaviorImage.domain.AchievementImageVo; @@ -327,4 +328,9 @@ public class AchievementsServiceImpl implements IAchievementsService { achievementsMapper.updateAchievements(u); } } + + @Override + public List getAreaStatistic(String areaKey) { + return achievementsMapper.getAreaStatistic(areaKey); + } } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/vo/ExpertAttachmentVo.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/vo/ExpertAttachmentVo.java new file mode 100644 index 000000000..41f2616d2 --- /dev/null +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/domain/vo/ExpertAttachmentVo.java @@ -0,0 +1,50 @@ +package com.microservices.dms.resourceLibrary.domain.vo; + + +public class ExpertAttachmentVo { + private Long expertId; + private Long academicAchievementsAttachments; + private Long honorsAttachments; + private Long resumeAttachments; + private Long titleCertificateAttachments; + + public Long getExpertId() { + return expertId; + } + + public void setExpertId(Long expertId) { + this.expertId = expertId; + } + + public Long getAcademicAchievementsAttachments() { + return academicAchievementsAttachments; + } + + public void setAcademicAchievementsAttachments(Long academicAchievementsAttachments) { + this.academicAchievementsAttachments = academicAchievementsAttachments; + } + + public Long getHonorsAttachments() { + return honorsAttachments; + } + + public void setHonorsAttachments(Long honorsAttachments) { + this.honorsAttachments = honorsAttachments; + } + + public Long getResumeAttachments() { + return resumeAttachments; + } + + public void setResumeAttachments(Long resumeAttachments) { + this.resumeAttachments = resumeAttachments; + } + + public Long getTitleCertificateAttachments() { + return titleCertificateAttachments; + } + + public void setTitleCertificateAttachments(Long titleCertificateAttachments) { + this.titleCertificateAttachments = titleCertificateAttachments; + } +} diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/ExpertResourceLibraryMapper.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/ExpertResourceLibraryMapper.java index cce29d425..14b06c960 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/ExpertResourceLibraryMapper.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/mapper/ExpertResourceLibraryMapper.java @@ -2,12 +2,15 @@ package com.microservices.dms.resourceLibrary.mapper; import java.util.Date; import java.util.List; +import java.util.Map; import com.microservices.common.datasource.annotation.Slave; import com.microservices.dms.achievementLibrary.domain.ExpertTotallVo; import com.microservices.dms.achievementLibrary.domain.KeyValueVo; +import com.microservices.dms.achievementLibrary.domain.MemoTotalVo; import com.microservices.dms.behaviorImage.domain.AchievementBehaviorSumVo; import com.microservices.dms.resourceLibrary.domain.ExpertResourceLibrary; +import com.microservices.dms.resourceLibrary.domain.vo.ExpertAttachmentVo; import com.microservices.dms.resourceLibrary.domain.vo.KeyValVo; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -106,4 +109,22 @@ public interface ExpertResourceLibraryMapper AchievementBehaviorSumVo getActDataStatisticById(@Param("id") Long id); AchievementBehaviorSumVo getWatchFavoriteStatusById(@Param("id") Long id, @Param("userId")Long userId); + + List getMemoAduit(); + + KeyValueVo getIsOriginalStatistic(); + + List getMemoTotalByYear(); + + List getForumSectionStatistic(); + + List getAddMemoStatistic(); + + List getTop5Memos(); + + List> get7DayPaise(@Param("s") Date s, @Param("e") Date e); + + ExpertAttachmentVo getExpertInfoById(@Param("expertId") Long expertId); + + Map getAttachmentInfo(@Param("id") Long id); } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/impl/ExpertResourceLibraryServiceImpl.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/impl/ExpertResourceLibraryServiceImpl.java index 8587e9db1..d56d9f76d 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/impl/ExpertResourceLibraryServiceImpl.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/resourceLibrary/service/impl/ExpertResourceLibraryServiceImpl.java @@ -1,47 +1,73 @@ package com.microservices.dms.resourceLibrary.service.impl; -import java.util.List; import com.microservices.common.core.utils.DateUtils; import com.microservices.dms.behaviorImage.domain.AchievementBehaviorSumVo; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import com.microservices.dms.resourceLibrary.mapper.ExpertResourceLibraryMapper; import com.microservices.dms.resourceLibrary.domain.ExpertResourceLibrary; +import com.microservices.dms.resourceLibrary.domain.vo.ExpertAttachmentVo; +import com.microservices.dms.resourceLibrary.mapper.ExpertResourceLibraryMapper; import com.microservices.dms.resourceLibrary.service.IExpertResourceLibraryService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.Map; + +import static com.microservices.dms.constant.TaskConstant.MARKER_SPACE_DOWNLOAD_API_BY_ID; /** * 专家资源库Service业务层处理 - * + * * @author microservices * @date 2025-04-11 */ @Service -public class ExpertResourceLibraryServiceImpl implements IExpertResourceLibraryService -{ +public class ExpertResourceLibraryServiceImpl implements IExpertResourceLibraryService { @Autowired private ExpertResourceLibraryMapper expertResourceLibraryMapper; + @Value("${markerSpaceUrl}") + public String markerSpaceUrl; /** * 查询专家资源库 - * + * * @param id 专家资源库主键 * @return 专家资源库 */ @Override - public ExpertResourceLibrary selectExpertResourceLibraryById(Long id) - { - return expertResourceLibraryMapper.selectExpertResourceLibraryById(id); + public ExpertResourceLibrary selectExpertResourceLibraryById(Long id) { + ExpertResourceLibrary res = expertResourceLibraryMapper.selectExpertResourceLibraryById(id); + ExpertAttachmentVo attachmentVo = expertResourceLibraryMapper.getExpertInfoById(res.getExpertId()); + Map honorsAttachments = expertResourceLibraryMapper.getAttachmentInfo(attachmentVo.getHonorsAttachments()); + buildFullUrl(honorsAttachments); + Map resumeAttachments = expertResourceLibraryMapper.getAttachmentInfo(attachmentVo.getResumeAttachments()); + buildFullUrl(resumeAttachments); + Map titleCertificateAttachments = expertResourceLibraryMapper.getAttachmentInfo(attachmentVo.getTitleCertificateAttachments()); + buildFullUrl(titleCertificateAttachments); + Map academicAchievementsAttachments = expertResourceLibraryMapper.getAttachmentInfo(attachmentVo.getAcademicAchievementsAttachments()); + buildFullUrl(academicAchievementsAttachments); + res.getParams().put("academicAchievementsAttachments", academicAchievementsAttachments); + res.getParams().put("honorsAttachments", honorsAttachments); + res.getParams().put("resumeAttachments", resumeAttachments); + res.getParams().put("titleCertificateAttachments", titleCertificateAttachments); + return res; + } + + private void buildFullUrl(Map map) { + if (map != null && map.containsKey("id") && map.get("id") != null) { + String id = map.get("id").toString(); + map.put("url", String.format(MARKER_SPACE_DOWNLOAD_API_BY_ID, markerSpaceUrl, id)); + } } /** * 查询专家资源库列表 - * + * * @param expertResourceLibrary 专家资源库 * @return 专家资源库 */ @Override - public List selectExpertResourceLibraryList(ExpertResourceLibrary expertResourceLibrary) - { + public List selectExpertResourceLibraryList(ExpertResourceLibrary expertResourceLibrary) { return expertResourceLibraryMapper.selectExpertResourceLibraryList(expertResourceLibrary); } @@ -53,8 +79,7 @@ public class ExpertResourceLibraryServiceImpl implements IExpertResourceLibraryS * @return 专家资源库 */ @Override - public List selectExpertResourceLibraryList2(ExpertResourceLibrary expertResourceLibrary) - { + public List selectExpertResourceLibraryList2(ExpertResourceLibrary expertResourceLibrary) { return expertResourceLibraryMapper.selectExpertResourceLibraryList2(expertResourceLibrary); } @@ -80,56 +105,52 @@ public class ExpertResourceLibraryServiceImpl implements IExpertResourceLibraryS @Override public AchievementBehaviorSumVo getWatchFavoriteStatusById(Long id, Long userId) { - return expertResourceLibraryMapper.getWatchFavoriteStatusById(id,userId); + return expertResourceLibraryMapper.getWatchFavoriteStatusById(id, userId); } /** * 新增专家资源库 - * + * * @param expertResourceLibrary 专家资源库 * @return 结果 */ @Override - public int insertExpertResourceLibrary(ExpertResourceLibrary expertResourceLibrary) - { + public int insertExpertResourceLibrary(ExpertResourceLibrary expertResourceLibrary) { expertResourceLibrary.setCreateTime(DateUtils.getNowDate()); return expertResourceLibraryMapper.insertExpertResourceLibrary(expertResourceLibrary); } /** * 修改专家资源库 - * + * * @param expertResourceLibrary 专家资源库 * @return 结果 */ @Override - public int updateExpertResourceLibrary(ExpertResourceLibrary expertResourceLibrary) - { + public int updateExpertResourceLibrary(ExpertResourceLibrary expertResourceLibrary) { expertResourceLibrary.setUpdateTime(DateUtils.getNowDate()); return expertResourceLibraryMapper.updateExpertResourceLibrary(expertResourceLibrary); } /** * 批量删除专家资源库 - * + * * @param ids 需要删除的专家资源库主键 * @return 结果 */ @Override - public int deleteExpertResourceLibraryByIds(Long[] ids) - { + public int deleteExpertResourceLibraryByIds(Long[] ids) { return expertResourceLibraryMapper.deleteExpertResourceLibraryByIds(ids); } /** * 删除专家资源库信息 - * + * * @param id 专家资源库主键 * @return 结果 */ @Override - public int deleteExpertResourceLibraryById(Long id) - { + public int deleteExpertResourceLibraryById(Long id) { return expertResourceLibraryMapper.deleteExpertResourceLibraryById(id); } } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/utils/UrlUtil.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/utils/UrlUtil.java index 179220401..03bad39c2 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/utils/UrlUtil.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/utils/UrlUtil.java @@ -1,11 +1,17 @@ package com.microservices.dms.utils; +import com.microservices.common.core.utils.StringUtils; + import java.net.MalformedURLException; import java.net.URL; public class UrlUtil { public static String getUrlPath(String urlString) { + if (StringUtils.isEmpty(urlString)) { + return ""; + } + URL url; try { url = new URL(urlString); @@ -14,4 +20,17 @@ public class UrlUtil { } return url.getPath(); } + + + public static String replaceUrlIp(String urlString,String newIp) { + + urlString = getUrlPath(urlString); + + if (StringUtils.isEmpty(urlString) || StringUtils.isEmpty(newIp)) { + return ""; + } + + + return newIp + urlString; + } } diff --git a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/AchievementsMapper.xml b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/AchievementsMapper.xml index 79eaaa4ae..3155f0dbf 100644 --- a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/AchievementsMapper.xml +++ b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/AchievementsMapper.xml @@ -444,4 +444,31 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" select id from achievements + + \ No newline at end of file diff --git a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/ExpertResourceLibraryMapper.xml b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/ExpertResourceLibraryMapper.xml index 904a0caf3..fa7429bac 100644 --- a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/ExpertResourceLibraryMapper.xml +++ b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/ExpertResourceLibraryMapper.xml @@ -129,7 +129,7 @@ (select count(*) as watchSum from watchers where watchable_type = 'Experts' and watchable_id = erl.id) as watcherSum, (select count(*) as favoriteSum from favorites where favorite_type = 'Experts' and favorite_id = erl.id) as favoriteSum, erl.update_by, erl.update_time,erl.sort_no - from expert_resource_library erl left join experts e on e.id = erl.user_id + from expert_resource_library erl left join experts e on e.id = erl.expert_id and user_id = #{userId} and erl.expert_name like concat('%', #{expertName}, '%') @@ -456,4 +456,89 @@ (select count(1) as favoriteSum from favorites where favorite_type = 'Experts' and favorite_id = #{id} and user_id=#{userId}) d ) + + + + + + + + + + + + + + + + + \ No newline at end of file From 476dbff76c237f64b0569112604727dea107581b Mon Sep 17 00:00:00 2001 From: admin Date: Sun, 27 Apr 2025 10:40:36 +0800 Subject: [PATCH 29/31] =?UTF-8?q?feat(=E5=BC=80=E6=BA=90=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E6=88=90=E6=9E=9C=E6=98=BE=E7=A4=BA)=20?= =?UTF-8?q?=E5=BC=80=E6=BA=90=E9=A1=B9=E7=9B=AE=E7=9B=B8=E5=85=B3=E6=88=90?= =?UTF-8?q?=E6=9E=9C=E6=98=BE=E7=A4=BA=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/AchievementsController.java | 9 +++ .../achievementLibrary/domain/AchQueryVo.java | 3 +- .../domain/AchRelatedVo.java | 67 +++++++++++++++++++ .../mapper/AchievementsMapper.java | 9 +-- .../service/IAchievementsService.java | 7 +- .../service/impl/AchievementsServiceImpl.java | 21 ++++-- .../mapper/dms/AchievementsMapper.xml | 13 ++++ 7 files changed, 115 insertions(+), 14 deletions(-) create mode 100644 microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/domain/AchRelatedVo.java diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/controller/AchievementsController.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/controller/AchievementsController.java index d17c1cd04..7f0a7e8d8 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/controller/AchievementsController.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/controller/AchievementsController.java @@ -214,4 +214,13 @@ public class AchievementsController extends BaseController { { return success(achievementsService.getAreaStatistic(areaKey)); } + + /** + * 获取开源项目的相关成果 + */ + @GetMapping("/getRelatedAch") + public AjaxResult getRelatedAch(Long id,Long sourceId) + { + return success(achievementsService.getRelatedAch(id,sourceId)); + } } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/domain/AchQueryVo.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/domain/AchQueryVo.java index 956dcf935..ec419c8bb 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/domain/AchQueryVo.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/domain/AchQueryVo.java @@ -5,8 +5,7 @@ public class AchQueryVo { private String areaQuery;//领域 private String source;//来源 private String achievementName;//名称 - - + private Long userId; public String getAreaQuery() { return areaQuery; } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/domain/AchRelatedVo.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/domain/AchRelatedVo.java new file mode 100644 index 000000000..8495dcbbb --- /dev/null +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/domain/AchRelatedVo.java @@ -0,0 +1,67 @@ +package com.microservices.dms.achievementLibrary.domain; + +public class AchRelatedVo { + private Long id; + private String attachments; + private String summary; + private String achievementType; + private String achMonthDay; + private String source; + private Long sourceId; + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getAttachments() { + return attachments; + } + + public void setAttachments(String attachments) { + this.attachments = attachments; + } + + public String getSummary() { + return summary; + } + + public void setSummary(String summary) { + this.summary = summary; + } + + public String getAchievementType() { + return achievementType; + } + + public void setAchievementType(String achievementType) { + this.achievementType = achievementType; + } + + public String getAchMonthDay() { + return achMonthDay; + } + + public void setAchMonthDay(String achMonthDay) { + this.achMonthDay = achMonthDay; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public Long getSourceId() { + return sourceId; + } + + public void setSourceId(Long sourceId) { + this.sourceId = sourceId; + } +} diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/mapper/AchievementsMapper.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/mapper/AchievementsMapper.java index 549d58bf5..28c7de5dc 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/mapper/AchievementsMapper.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/mapper/AchievementsMapper.java @@ -7,10 +7,7 @@ import java.util.Set; import com.microservices.common.datasource.annotation.Master; import com.microservices.common.datasource.annotation.Slave; -import com.microservices.dms.achievementLibrary.domain.AchQueryVo; -import com.microservices.dms.achievementLibrary.domain.Achievements; -import com.microservices.dms.achievementLibrary.domain.AreaStatisticVo; -import com.microservices.dms.achievementLibrary.domain.KeyValueVo; +import com.microservices.dms.achievementLibrary.domain.*; import com.microservices.dms.behaviorImage.domain.AchievementBehaviorSumVo; import com.microservices.dms.resourceLibrary.domain.vo.KeyValVo; import org.apache.ibatis.annotations.MapKey; @@ -129,4 +126,8 @@ public interface AchievementsMapper { List getAllId(); List getAreaStatistic(@Param("areaKey") String areaKey); + + List getRelatedAch(@Param("id")Long id, @Param("sourceId") Long sourceId, @Param("paramYear")String paramYear); + + List getDistinctYear(@Param("id")Long id, @Param("sourceId")Long sourceId); } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/IAchievementsService.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/IAchievementsService.java index e0fd13b98..6c6f10cbb 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/IAchievementsService.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/IAchievementsService.java @@ -3,10 +3,7 @@ package com.microservices.dms.achievementLibrary.service; import java.util.List; import java.util.Map; -import com.microservices.dms.achievementLibrary.domain.AchQueryVo; -import com.microservices.dms.achievementLibrary.domain.Achievements; -import com.microservices.dms.achievementLibrary.domain.AreaStatisticVo; -import com.microservices.dms.achievementLibrary.domain.KeyValueVo; +import com.microservices.dms.achievementLibrary.domain.*; import com.microservices.dms.behaviorImage.domain.AchievementBehaviorSumVo; import com.microservices.dms.resourceLibrary.domain.vo.KeyValVo; @@ -102,4 +99,6 @@ public interface IAchievementsService { AchievementBehaviorSumVo getWatchFavoriteStatusById(Long id, Long userId); List getAreaStatistic(String areaKey); + + List getRelatedAch(Long id, Long sourceId); } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/impl/AchievementsServiceImpl.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/impl/AchievementsServiceImpl.java index 59bcc91df..6be6eb069 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/impl/AchievementsServiceImpl.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/impl/AchievementsServiceImpl.java @@ -4,10 +4,9 @@ import java.util.*; import java.util.stream.Collectors; import com.microservices.common.core.utils.DateUtils; +import com.microservices.common.core.utils.StringUtils; import com.microservices.common.security.utils.SecurityUtils; -import com.microservices.dms.achievementLibrary.domain.AchQueryVo; -import com.microservices.dms.achievementLibrary.domain.AreaStatisticVo; -import com.microservices.dms.achievementLibrary.domain.KeyValueVo; +import com.microservices.dms.achievementLibrary.domain.*; import com.microservices.dms.behaviorImage.domain.AchievementBehaviorSumVo; import com.microservices.dms.behaviorImage.domain.AchievementImageVo; import com.microservices.dms.behaviorImage.service.IBehaviorImageService; @@ -20,7 +19,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Service; import com.microservices.dms.achievementLibrary.mapper.AchievementsMapper; -import com.microservices.dms.achievementLibrary.domain.Achievements; import com.microservices.dms.achievementLibrary.service.IAchievementsService; /** @@ -333,4 +331,19 @@ public class AchievementsServiceImpl implements IAchievementsService { public List getAreaStatistic(String areaKey) { return achievementsMapper.getAreaStatistic(areaKey); } + + @Override + public List getRelatedAch(Long id,Long sourceId) { + List relatedResultList = new ArrayList<>(); + //想根据开源项目id,获取对应的年度信息 + List allYear = achievementsMapper.getDistinctYear(id,sourceId); + if(StringUtils.isNotNull(allYear)) { + //遍历年度信息,获取年度成果数据 + for(String paramYear : allYear) { + List tmpList = achievementsMapper.getRelatedAch(id,sourceId,paramYear); + relatedResultList.addAll(tmpList); + } + } + return relatedResultList; + } } diff --git a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/AchievementsMapper.xml b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/AchievementsMapper.xml index 3155f0dbf..2e377753e 100644 --- a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/AchievementsMapper.xml +++ b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/AchievementsMapper.xml @@ -471,4 +471,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" group by z.name, z.field_1, z.remark + + + \ No newline at end of file From 43c2fcffbaf5b6a7d68dd22608dc42085d96cad6 Mon Sep 17 00:00:00 2001 From: admin Date: Sun, 27 Apr 2025 14:16:31 +0800 Subject: [PATCH 30/31] =?UTF-8?q?feat(=E5=BC=80=E6=BA=90=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?)=20=E6=A0=B9=E6=8D=AE=E6=9F=A5=E8=AF=A2=E5=86=85=E5=AE=B9?= =?UTF-8?q?=EF=BC=8C=E8=B0=83=E7=94=A8=E6=90=9C=E7=B4=A2=E8=A1=8C=E4=B8=BA?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/AchievementTeamController.java | 6 ---- .../controller/AchievementsController.java | 8 ++++++ .../mapper/AchievementsMapper.java | 2 ++ .../service/IAchievementsService.java | 3 ++ .../service/impl/AchievementsServiceImpl.java | 28 +++++++++++++++++++ .../mapper/dms/AchievementsMapper.xml | 20 +++++++++++-- .../dms/ProjectResourceLibraryMapper.xml | 2 +- 7 files changed, 60 insertions(+), 9 deletions(-) diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/controller/AchievementTeamController.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/controller/AchievementTeamController.java index 15ffe5ff1..5089cfe66 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/controller/AchievementTeamController.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/controller/AchievementTeamController.java @@ -41,7 +41,6 @@ public class AchievementTeamController extends BaseController /** * 查询成果团队列表 */ - @RequiresPermissions("system:team:list") @GetMapping("/list") public TableDataInfo list(AchievementTeam achievementTeam) { @@ -53,7 +52,6 @@ public class AchievementTeamController extends BaseController /** * 导出成果团队列表 */ - @RequiresPermissions("system:team:export") @Log(title = "成果团队", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(HttpServletResponse response, AchievementTeam achievementTeam) @@ -66,7 +64,6 @@ public class AchievementTeamController extends BaseController /** * 获取成果团队详细信息 */ - @RequiresPermissions("system:team:query") @GetMapping(value = "/{id}") public AjaxResult getInfo(@PathVariable("id") Long id) { @@ -76,7 +73,6 @@ public class AchievementTeamController extends BaseController /** * 新增成果团队 */ - @RequiresPermissions("system:team:add") @Log(title = "成果团队", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@RequestBody AchievementTeam achievementTeam) @@ -87,7 +83,6 @@ public class AchievementTeamController extends BaseController /** * 修改成果团队 */ - @RequiresPermissions("system:team:edit") @Log(title = "成果团队", businessType = BusinessType.UPDATE) @PutMapping public AjaxResult edit(@RequestBody AchievementTeam achievementTeam) @@ -98,7 +93,6 @@ public class AchievementTeamController extends BaseController /** * 删除成果团队 */ - @RequiresPermissions("system:team:remove") @Log(title = "成果团队", businessType = BusinessType.DELETE) @DeleteMapping("/{ids}") public AjaxResult remove(@PathVariable Long[] ids) diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/controller/AchievementsController.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/controller/AchievementsController.java index 7f0a7e8d8..c5d984249 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/controller/AchievementsController.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/controller/AchievementsController.java @@ -218,9 +218,17 @@ public class AchievementsController extends BaseController { /** * 获取开源项目的相关成果 */ + @ApiOperation(value = "获取开源项目的相关成果") @GetMapping("/getRelatedAch") public AjaxResult getRelatedAch(Long id,Long sourceId) { return success(achievementsService.getRelatedAch(id,sourceId)); } + + @ApiOperation(value = "搜索行为数据记录") + @GetMapping("/getSearchResult") + public AjaxResult getSearchResult(String achName,Long userId) + { + return success(achievementsService.getSearchResult(achName,userId)); + } } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/mapper/AchievementsMapper.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/mapper/AchievementsMapper.java index 28c7de5dc..e721d77e9 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/mapper/AchievementsMapper.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/mapper/AchievementsMapper.java @@ -130,4 +130,6 @@ public interface AchievementsMapper { List getRelatedAch(@Param("id")Long id, @Param("sourceId") Long sourceId, @Param("paramYear")String paramYear); List getDistinctYear(@Param("id")Long id, @Param("sourceId")Long sourceId); + + List selectAchievementsByName(@Param("achName") String achName); } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/IAchievementsService.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/IAchievementsService.java index 6c6f10cbb..ffce9cfb2 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/IAchievementsService.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/IAchievementsService.java @@ -101,4 +101,7 @@ public interface IAchievementsService { List getAreaStatistic(String areaKey); List getRelatedAch(Long id, Long sourceId); + + int getSearchResult(String achName, Long userId); + } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/impl/AchievementsServiceImpl.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/impl/AchievementsServiceImpl.java index 6be6eb069..f6f29220d 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/impl/AchievementsServiceImpl.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/impl/AchievementsServiceImpl.java @@ -11,6 +11,7 @@ import com.microservices.dms.behaviorImage.domain.AchievementBehaviorSumVo; import com.microservices.dms.behaviorImage.domain.AchievementImageVo; import com.microservices.dms.behaviorImage.service.IBehaviorImageService; import com.microservices.dms.resourceLibrary.domain.Clicker; +import com.microservices.dms.resourceLibrary.domain.Searcher; import com.microservices.dms.resourceLibrary.domain.vo.KeyValVo; import com.microservices.dms.resourceLibrary.mapper.ExpertResourceLibraryMapper; import com.microservices.dms.resourceLibrary.mapper.TaskResourceLibraryMapper; @@ -346,4 +347,31 @@ public class AchievementsServiceImpl implements IAchievementsService { } return relatedResultList; } + + /** + * 根据查询内容,调用搜索行为接口 + * @param achName + * @param userId + */ + @Override + public int getSearchResult(String achName, Long userId) { + int num = 0; + if (StringUtils.isEmpty(achName)){ + return num; + } + List idList = achievementsMapper.selectAchievementsByName(achName); + if(StringUtils.isNotNull(idList)) { + for (Long searchId : idList) { + Searcher e = new Searcher(); + e.setCreatedAt(DateUtils.getNowDate()); + e.setUserId(userId); + e.setSearchId(searchId); + e.setExtInfo(achName); + e.setSearchType("Achievements"); + num = taskResourceLibraryMapper.insertSearcher(e); + num++; + } + } + return num; + } } diff --git a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/AchievementsMapper.xml b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/AchievementsMapper.xml index 2e377753e..90c4259dd 100644 --- a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/AchievementsMapper.xml +++ b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/AchievementsMapper.xml @@ -479,9 +479,25 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + \ No newline at end of file diff --git a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/ProjectResourceLibraryMapper.xml b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/ProjectResourceLibraryMapper.xml index 9207ce8ce..d6bede97b 100644 --- a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/ProjectResourceLibraryMapper.xml +++ b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/ProjectResourceLibraryMapper.xml @@ -50,7 +50,7 @@