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 afd8be449..aa78cf589 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 @@ -222,12 +222,29 @@ public class AchievementsController extends BaseController { return success(achievementsService.get7AddClickById(id,clickType)); } + + @ApiOperation("根据专家id,获取近7日成果点击数量(折线图)") + @GetMapping("/getExpert7AddClickById") + public AjaxResult getExpert7AddClickById(String id,@RequestParam(value = "clickType",required = false, defaultValue = "Experts") + String clickType) { + return success(achievementsService.get7AddClickById(id,clickType)); + } + @ApiOperation("根据成果ID,获取成果的相关行为数据统计(点击量、搜索量、附件下载量、收藏、关注)") @GetMapping("/getActDataStatisticById") public AjaxResult getActDataStatisticById(Long id) { return success(achievementsService.getActDataStatisticById(id)); } + + @ApiOperation("根据领域来源、领域分类名称,获取领域相关数据") + @GetMapping("/getAllAreas") + public AjaxResult getAllAreas(String areaName) { + return success(achievementsService.getAllAreas(areaName)); + } + + + @ApiOperation("根据领域,将成果数据进行分类") @GetMapping("/getAreaStatistic") public AjaxResult getAreaStatistic(String areaKey) 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 db86b7569..3dabd1fac 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 @@ -125,7 +125,7 @@ public interface AchievementsMapper { List getAllId(); - List getAreaStatistic(@Param("areaKey") String areaKey); + List getAreaStatistic(@Param("source")String source,@Param("areaKey") String areaKey); List getRelatedAch(@Param("id")Long id, @Param("sourceId") List sourceId, @Param("paramYear")String paramYear); @@ -164,4 +164,5 @@ public interface AchievementsMapper { List> getExperts(@Param("s") Date s, @Param("e") Date e); + List getAllAreas(@Param("areaName") String areaName); } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/mapper/InBlockchainDataMapper.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/mapper/InBlockchainDataMapper.java index 6abf3617a..206761581 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/mapper/InBlockchainDataMapper.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/mapper/InBlockchainDataMapper.java @@ -71,4 +71,6 @@ public interface InBlockchainDataMapper List> commitDataList(BlockchainListQueryVo queryVo); List> prDataList(BlockchainListQueryVo queryVo); + + List getNeedToBlockCommitList(); } diff --git a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/BlockChainService.java b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/BlockChainService.java index f3704f962..8d9054b40 100644 --- a/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/BlockChainService.java +++ b/microservices-modules/microservices-modules-dms/src/main/java/com/microservices/dms/achievementLibrary/service/BlockChainService.java @@ -6,6 +6,7 @@ import com.microservices.common.core.utils.DateUtils; import com.microservices.common.core.web.domain.AjaxResult; import com.microservices.common.httpClient.service.HttpAPIService; import com.microservices.common.security.utils.SecurityUtils; +import com.microservices.dms.achievementLibrary.domain.Achievements; import com.microservices.dms.achievementLibrary.domain.BlockchainListQueryVo; import com.microservices.dms.achievementLibrary.domain.TokenListVo; import com.microservices.dms.achievementLibrary.domain.blockchain.InBlockchainData; @@ -14,6 +15,7 @@ import com.microservices.dms.achievementLibrary.domain.blockchain.UserProjectTra import com.microservices.dms.achievementLibrary.domain.blockchain.UserVo; import com.microservices.dms.achievementLibrary.mapper.InBlockchainDataMapper; import com.microservices.dms.achievementLibrary.mapper.UserProjectTransferRecordsMapper; +import com.microservices.dms.behaviorImage.domain.AchievementImageVo; import com.microservices.dms.common.vo.*; import com.microservices.dms.referral.mapper.TalentReferralMapper; import com.microservices.dms.resourceLibrary.mapper.ProjectResourceLibraryMapper; @@ -24,6 +26,7 @@ import org.apache.commons.lang3.StringUtils; //import org.fisco.bcos.sdk.client.protocol.response.BcosTransaction; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; +import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Service; import java.math.BigDecimal; @@ -259,29 +262,7 @@ public class BlockChainService { return -1L; } - public AjaxResult commitCreate(CommitCreateVo commitCreateVo) { - Map res = projectResourceLibraryMapper.selectCommitInfo(commitCreateVo.getCommit_id()); - JSONObject params = JSONObject.from(res); - params.put(REQUEST_TYPE, CREATE_COMMIT); - Map p = convertParams(params); - params = JSONObject.from(p); - JSONObject rsp = queryFiscobcos(params); - if (rsp != null) { - String txHash = rsp.getString(TX_HASH); - // insert to db 4、 :数据入链表(id,type,type_id,tx_hash,create_time) (type:issue,type_id:issue_id) - if (StringUtils.isNotEmpty(txHash)) { - InBlockchainData inBlockchainData = new InBlockchainData(); - inBlockchainData.setType("commit"); - inBlockchainData.setTxHash(txHash); - inBlockchainData.setTypeId(commitCreateVo.getCommit_id()); - inBlockchainData.setCreateTime(DateUtils.getNowDate()); - inBlockchainData.setCreateBy(SecurityUtils.getUsername()); - inBlockchainDataMapper.insertInBlockchainData(inBlockchainData); - return AjaxResult.success(rsp); - } - } - return AjaxResult.error(); - } + public AjaxResult prCreate(PrCreateVo prCreateVo) { Map res = projectResourceLibraryMapper.selectPrInfo(prCreateVo.getPr_id()); @@ -349,6 +330,45 @@ public class BlockChainService { return inBlockchainDataMapper.issueDataList(queryVo); } + //定时任务,将commit数据入链 + @Scheduled(cron = "${cron.commitPushBlock}") + public void commitPushBlock() { + //先查询需要入链的数据 + List commitIdList = inBlockchainDataMapper.getNeedToBlockCommitList(); + if(commitIdList!=null && commitIdList.size()>0) { + //遍历数据入区块链 + for(String commitId : commitIdList) { + CommitCreateVo commitCreateVo = new CommitCreateVo(); + commitCreateVo.setCommit_id(commitId); + commitCreate(commitCreateVo); + } + } + } + + public AjaxResult commitCreate(CommitCreateVo commitCreateVo) { + Map res = projectResourceLibraryMapper.selectCommitInfo(commitCreateVo.getCommit_id()); + JSONObject params = JSONObject.from(res); + params.put(REQUEST_TYPE, CREATE_COMMIT); + Map p = convertParams(params); + params = JSONObject.from(p); + JSONObject rsp = queryFiscobcos(params); + if (rsp != null) { + String txHash = rsp.getString(TX_HASH); + // insert to db 4、 :数据入链表(id,type,type_id,tx_hash,create_time) (type:issue,type_id:issue_id) + if (StringUtils.isNotEmpty(txHash)) { + InBlockchainData inBlockchainData = new InBlockchainData(); + inBlockchainData.setType("commit"); + inBlockchainData.setTxHash(txHash); + inBlockchainData.setTypeId(commitCreateVo.getCommit_id()); + inBlockchainData.setCreateTime(DateUtils.getNowDate()); + inBlockchainData.setCreateBy(SecurityUtils.getUsername()); + inBlockchainDataMapper.insertInBlockchainData(inBlockchainData); + return AjaxResult.success(rsp); + } + } + return AjaxResult.error(); + } + public List> commitDataList(BlockchainListQueryVo queryVo) { return inBlockchainDataMapper.commitDataList(queryVo); } 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 350be8ab4..0bf6b739a 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 @@ -121,4 +121,7 @@ public interface IAchievementsService { AchDetailVo getAreaDetail(String areaKey, String kyxm); List> get7DayAddExport(AchQueryVo achQueryVo); + + List getAllAreas(String areaName); + } 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 cd6ef6831..0a741e7e8 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 @@ -24,6 +24,7 @@ import com.microservices.dms.resourceLibrary.mapper.ProjectResourceLibraryMapper import com.microservices.dms.resourceLibrary.mapper.TaskResourceLibraryMapper; import com.microservices.dms.utils.DateUtil; import lombok.extern.slf4j.Slf4j; +import org.checkerframework.checker.units.qual.K; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.scheduling.annotation.Scheduled; @@ -458,7 +459,19 @@ public class AchievementsServiceImpl implements IAchievementsService { @Override public List getAreaStatistic(String areaKey) { - return achievementsMapper.getAreaStatistic(areaKey); + List areaStatisticVoList = new ArrayList<>(); + if(StringUtils.isNotEmpty(areaKey)) { + //根据逗号进行分割 + String[] res =areaKey.split(","); + for (String s : res) { + String[] ss = s.split("_"); + List tmpList = achievementsMapper.getAreaStatistic(ss[1],ss[0]); + areaStatisticVoList.addAll(tmpList); + } + return areaStatisticVoList; + }else{ + return achievementsMapper.getAreaStatistic(null,areaKey); + } } @Override @@ -593,4 +606,12 @@ public class AchievementsServiceImpl implements IAchievementsService { return achDetailVo; } + + + @Override + public List getAllAreas(String areaName) { + List resultVal = achievementsMapper.getAllAreas(areaName); + return resultVal; + } + } 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 index 9eccf233c..9ed95f1c6 100644 --- 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 @@ -126,7 +126,7 @@ public class OpenController extends BaseController { } @ApiOperation("七日新增专家") - @GetMapping("/achievements/get7DayAddExport") + @GetMapping("/achievements/get7DayAddExpert") public AjaxResult get7DayAddExport(AchQueryVo achQueryVo) { return success(achievementsService.get7DayAddExport(achQueryVo)); } 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 2a0f96dbc..733743ce0 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 @@ -6,6 +6,7 @@ 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.resourceLibrary.domain.ExpertResourceLibrary; import com.microservices.dms.resourceLibrary.service.IExpertResourceLibraryService; import io.swagger.annotations.Api; @@ -138,4 +139,5 @@ public class ExpertResourceLibraryController extends BaseController 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 9841e3550..20bd64c12 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 @@ -48,7 +48,7 @@ public class ExpertResourceLibrary extends BaseEntity { private String expertDomain; private String titleRank; - + //准入状态 private Long status; //评审领域1 private String reviewAreaOne; 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 2487ccfc8..afeb649f8 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 @@ -568,43 +568,111 @@ 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/InBlockchainDataMapper.xml b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/InBlockchainDataMapper.xml index cf1e08564..e81102ba3 100644 --- a/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/InBlockchainDataMapper.xml +++ b/microservices-modules/microservices-modules-dms/src/main/resources/mapper/dms/InBlockchainDataMapper.xml @@ -56,11 +56,21 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" inner join issue_statuses it on i.status_id = it.id inner join projects p on i.project_id = p.id inner join repositories r on p.id = r.project_id - where p.use_blockchain='1' + where p.use_blockchain='1' and i.project_issues_index is not null and p.name like concat('%', #{projectName}, '%') and i.subject like concat('%', #{issueName}, '%') + +