diff --git a/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/DTO/ToolDTO.java b/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/DTO/ToolDTO.java new file mode 100644 index 0000000..de15dc0 --- /dev/null +++ b/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/DTO/ToolDTO.java @@ -0,0 +1,50 @@ +package com.kening.vordm.DTO; + +import com.kening.vordm.entity.Tool; +import lombok.Data; + + +/** + * ToolDTO + */ +@Data +public class ToolDTO extends Tool { + /** + * 用户名称 + */ + private String username; + + /** + * 用户邮件 + */ + private String email; + + /** + * 用户组织机构 + */ + private String organization; + + /** + * 研究范围 + */ + private String researchField; + /** + * 职业 + */ + private String occupation; + + /** + * 职称 + */ + private String professionalTitle; + + /** + * 姓 + */ + private String lastName; + + /** + * 名字 + */ + private String firstName; +} diff --git a/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/entity/AdminManager.java b/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/entity/AdminManager.java index acd4b0f..79ebf8e 100644 --- a/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/entity/AdminManager.java +++ b/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/entity/AdminManager.java @@ -17,6 +17,8 @@ public class AdminManager extends DisasterInfo{ private Long managerId; + private Long disasterId; + private Integer status; private String occupation; diff --git a/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/entity/DataUpload.java b/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/entity/DataUpload.java index cddf68b..95ac2d9 100644 --- a/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/entity/DataUpload.java +++ b/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/entity/DataUpload.java @@ -23,5 +23,8 @@ public class DataUpload extends EntityData{ private Date disasterTime; private Long disasterId; + + private String vordmId; + private String geometry; } diff --git a/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/entity/EntityData.java b/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/entity/EntityData.java index 985f1d9..1719c3e 100644 --- a/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/entity/EntityData.java +++ b/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/entity/EntityData.java @@ -107,6 +107,10 @@ public class EntityData implements Serializable { */ private Integer isDeleted; + /** + * 是否发布(0未发布/1已发布) + */ + private Integer isPublish; /** * 上传人姓名 @@ -132,6 +136,12 @@ public class EntityData implements Serializable { @TableField(exist = false) private String msName; + /** + * 灾害区域地理字段 + */ + @TableField(exist = false) + private String geometry; + @TableField(exist = false) private static final long serialVersionUID = 1L; diff --git a/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/entity/Hotspot.java b/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/entity/Hotspot.java index 4195787..88b5fca 100644 --- a/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/entity/Hotspot.java +++ b/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/entity/Hotspot.java @@ -76,10 +76,6 @@ public class Hotspot implements Serializable { @ExcelIgnore private Date reviewTime; - /** - * 是否删除 0未删除 1已删除 - */ - private Integer isDeleted; @ExcelIgnore @TableField(exist = false) diff --git a/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/entity/OtherData.java b/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/entity/OtherData.java index deb9653..889ce2b 100644 --- a/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/entity/OtherData.java +++ b/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/entity/OtherData.java @@ -18,9 +18,13 @@ public class OtherData{ private String type; + private String title; + private String remark; private Long disasterId; private Integer visualFlag; + + private String sourceOrganization; } diff --git a/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/entity/RemoteSensingSourceData.java b/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/entity/RemoteSensingSourceData.java index 3f1a3e9..ea87d61 100644 --- a/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/entity/RemoteSensingSourceData.java +++ b/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/entity/RemoteSensingSourceData.java @@ -165,6 +165,11 @@ public class RemoteSensingSourceData implements Serializable { */ private Integer status; + /** + * 上传用户 + */ + private Long uploadId; + /** * 分辨率集合最大值 */ diff --git a/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/entity/Tool.java b/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/entity/Tool.java index 63ec84a..2621151 100644 --- a/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/entity/Tool.java +++ b/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/entity/Tool.java @@ -80,14 +80,12 @@ public class Tool implements Serializable { * 上传人 */ private Long uploader; + /** - * 昵称 + * 邮箱 */ - private String show_name; - /** - * 昵称 - */ - private String eMail; + private String mailbox; + /** * 学术导论链接 */ @@ -95,11 +93,25 @@ public class Tool implements Serializable { @TableField(exist = false) private static final long serialVersionUID = 1L; - @TableField(exist = false) - private String checked; /** * 贡献者 */ private String showName; + @TableField(exist = false) + private String checked; + + @TableField(exist = false) + private Integer number; + + /** + * 工具访问量 + */ + private int toolVisits; + /** + * 论文访问量 + */ + private int paperVisits; + + } diff --git a/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/vo/CallForHelpVo.java b/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/vo/CallForHelpVo.java index b903d5a..cfeefcb 100644 --- a/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/vo/CallForHelpVo.java +++ b/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/vo/CallForHelpVo.java @@ -72,4 +72,35 @@ public class CallForHelpVo extends DisasterInfo { * 受灾国家 */ private String vordmId; + + + private Date reviewTime; + + + /** + * 级别-地震 + */ + private String disasterLevel; + + /** + * 完成时间 + */ + private Date respondedTime; + + /** + * 角色名称 + */ + private String roleName; + + /** + * 角色Id + */ + private Long roleId; + + /** + * 角色父级Id + */ + private Long parentId; + + private String roleAlias; } diff --git a/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/vo/DisasterInfoVo.java b/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/vo/DisasterInfoVo.java index add4353..ad0716b 100644 --- a/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/vo/DisasterInfoVo.java +++ b/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/vo/DisasterInfoVo.java @@ -130,6 +130,11 @@ public class DisasterInfoVo implements Serializable { */ private String userName; + /** + * 结束时间 + */ + private Date respondedTime; + @TableField(exist = false) private static final long serialVersionUID = 1L; } diff --git a/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/vo/EntityDataUserVo.java b/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/vo/EntityDataUserVo.java index f84c942..7b6338e 100644 --- a/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/vo/EntityDataUserVo.java +++ b/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/vo/EntityDataUserVo.java @@ -167,7 +167,7 @@ public class EntityDataUserVo { /** * 生产时间 */ - private Date productTime; + private String productTime; /** diff --git a/kn-service/biz-vordm/src/main/java/com/kening/vordm/VoRdmApplication.java b/kn-service/biz-vordm/src/main/java/com/kening/vordm/VoRdmApplication.java index cd32db5..6097f7d 100644 --- a/kn-service/biz-vordm/src/main/java/com/kening/vordm/VoRdmApplication.java +++ b/kn-service/biz-vordm/src/main/java/com/kening/vordm/VoRdmApplication.java @@ -11,6 +11,6 @@ import org.springframework.cloud.client.SpringCloudApplication; @SpringCloudApplication public class VoRdmApplication { public static void main(String[] args) { - BladeApplication.run(CommonConstant.KN_VORDM_MODULE_NAME, VoRdmApplication.class, args); + BladeApplication.run("yyhouc-"+CommonConstant.KN_VORDM_MODULE_NAME, VoRdmApplication.class, args); } } diff --git a/kn-service/biz-vordm/src/main/java/com/kening/vordm/controller/AdminManagerController.java b/kn-service/biz-vordm/src/main/java/com/kening/vordm/controller/AdminManagerController.java index 982ed30..96e821f 100644 --- a/kn-service/biz-vordm/src/main/java/com/kening/vordm/controller/AdminManagerController.java +++ b/kn-service/biz-vordm/src/main/java/com/kening/vordm/controller/AdminManagerController.java @@ -1,7 +1,9 @@ package com.kening.vordm.controller; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.kening.vordm.entity.DisasterInfo; import com.kening.vordm.entity.GuestManageDisasterRef; +import com.kening.vordm.service.DisasterInfoService; import com.kening.vordm.service.GuestManageDisasterRefService; import lombok.AllArgsConstructor; import org.springblade.core.mp.support.Condition; @@ -25,6 +27,7 @@ public class AdminManagerController { private GuestManageDisasterRefService guestManageDisasterRefService; + private DisasterInfoService disasterInfoService; /** * 普通管理员分页查询 * @param query @@ -33,7 +36,6 @@ public class AdminManagerController { */ @GetMapping("/pages") public R pages(Query query, @RequestParam Map params){ - return R.data(guestManageDisasterRefService.queryPage(Condition.getPage(query),params)); } @@ -44,6 +46,13 @@ public class AdminManagerController { @PostMapping("/audit") public R audit(@RequestBody List guestManageDisasterRef){ guestManageDisasterRef.stream().forEach(guestManageDisasterRef1 -> { + if (guestManageDisasterRef1.getStatus() == 1){ + DisasterInfo disasterInfo = new DisasterInfo(); + disasterInfo.setId(guestManageDisasterRef1.getDisasterId()); + disasterInfo.setChiefId(guestManageDisasterRef1.getManagerId()); + disasterInfoService.updateById(disasterInfo); + } + guestManageDisasterRef1.setReviewTime(new Date()); }); return R.status(guestManageDisasterRefService.updateBatchById(guestManageDisasterRef)); diff --git a/kn-service/biz-vordm/src/main/java/com/kening/vordm/controller/DisasterInfoController.java b/kn-service/biz-vordm/src/main/java/com/kening/vordm/controller/DisasterInfoController.java index d9291b5..6cc27db 100644 --- a/kn-service/biz-vordm/src/main/java/com/kening/vordm/controller/DisasterInfoController.java +++ b/kn-service/biz-vordm/src/main/java/com/kening/vordm/controller/DisasterInfoController.java @@ -20,6 +20,7 @@ import io.swagger.annotations.ApiParam; import lombok.RequiredArgsConstructor; import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; +import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.DateUtil; import org.springframework.web.bind.annotation.*; @@ -77,6 +78,19 @@ public class DisasterInfoController { }) @GetMapping("/list") public R> list(CallForHelpVo CallForHelpVo, Query query) { + String userRole1 = AuthUtil.getUserRole(); + + if (CallForHelpVo.getChiefIdEquals()!=null){ + CallForHelpVo userRole = disasterInfoService.getByUserIdRole(CallForHelpVo.getChiefIdEquals()); + if (userRole1.equals("TENANT_ADMIN") && userRole.getRoleAlias().equals("TENANT_ADMIN")){ + CallForHelpVo.setChiefIdEquals(null); + } + }else { + if (userRole1.equals("TENANT_ADMIN")){ + CallForHelpVo.setChiefIdEquals(null); + } + } + IPage pages = disasterInfoService.page(Condition.getPage(query), CallForHelpVo); return R.data(pages); } @@ -122,26 +136,6 @@ public class DisasterInfoController { */ @GetMapping("/select-condition") public R> getSelectCondition(DisasterInfo disasterInfo) { -// String dateType = String.valueOf(params.get("dateTyle")); -// LocalDate date = LocalDate.now(); -// if(StringUtils.isNotBlank(dateType)){ -// switch (dateType){ -// case "1" : -// //Latest week 上一周 -// date = LocalDate.now().minusWeeks(1); -// break; -// case "2": -// //Latest month 上一个月 -// date = LocalDate.now().minusMonths(1); -// break; -// case "3": -// //Latest six month 上6个月 -// date = LocalDate.now().minusMonths(6); -// break; -// default: -// break; -// } -// } String disaster_time = null; if (disasterInfo.getDisasterTime() != null) { disaster_time = DateUtil.format(disasterInfo.getDisasterTime(), "yyyy-MM-dd"); @@ -323,6 +317,9 @@ public class DisasterInfoController { DisasterInfo disasterInfo = new DisasterInfo(); BeanUtil.copyProperties(callForHelpVo, disasterInfo); disasterInfo.setUploadTime(new Date()); + if (callForHelpVo.getDisasterLevel() != null){ + disasterInfo.setDisasterLevel(callForHelpVo.getDisasterLevel()); + } Boolean flag3 = disasterInfoService.save(disasterInfo); @@ -339,8 +336,7 @@ public class DisasterInfoController { @PostMapping("review") public R review(@RequestBody DisasterInfo disasterInfo) { - - //审批通过 + //审批通过 响应状态,0未审批,1审批未通过。2审批通过并正在响应,3审批通过并且响应完成 if (disasterInfo.getRespondStatus() == 2) { String numbering = serialNumberService.generateNumbering(disasterInfo.getDisasterType()); disasterInfo.setVordmId(numbering); @@ -353,6 +349,12 @@ public class DisasterInfoController { @ApiOperation(value = "提交", notes = "传入Tool") @PostMapping("/submit") public R submit(@ApiParam(value = "Tool对象", required = true) @RequestBody DisasterInfo disasterInfo) { + LambdaQueryWrapper qw = new LambdaQueryWrapper<>(); + qw.eq(GuestManageDisasterRef::getDisasterId,disasterInfo.getId()); + GuestManageDisasterRef one = guestManageDisasterRefService.getOne(qw); + one.setStatus(1); + one.setManagerId(disasterInfo.getChiefId()); + guestManageDisasterRefService.updateById(one); return R.status(disasterInfoService.saveOrUpdate(disasterInfo)); } @@ -374,6 +376,15 @@ public class DisasterInfoController { */ @PutMapping("/updateBatch") public R updateBatch(@RequestBody List disasterInfoList) { + disasterInfoList.stream().forEach(disasterInfo -> { + LambdaQueryWrapper qw = new LambdaQueryWrapper<>(); + qw.eq(GuestManageDisasterRef::getDisasterId,disasterInfo.getId()); + GuestManageDisasterRef one = guestManageDisasterRefService.getOne(qw); + one.setStatus(1); + one.setManagerId(disasterInfo.getChiefId()); + guestManageDisasterRefService.updateById(one); + }); + return R.status(disasterInfoService.updateBatchById(disasterInfoList)); } diff --git a/kn-service/biz-vordm/src/main/java/com/kening/vordm/controller/EntityDataController.java b/kn-service/biz-vordm/src/main/java/com/kening/vordm/controller/EntityDataController.java index 9d70501..3a43e16 100644 --- a/kn-service/biz-vordm/src/main/java/com/kening/vordm/controller/EntityDataController.java +++ b/kn-service/biz-vordm/src/main/java/com/kening/vordm/controller/EntityDataController.java @@ -38,8 +38,8 @@ public class EntityDataController { * @return */ @GetMapping("/getEntityDataSourceOrganization") - public R> getEntityDataSourceOrganization() { - return R.data(entityDataService.getEntityDataSourceOrganization()); + public R> getEntityDataSourceOrganization(Long disasterId) { + return R.data(entityDataService.getEntityDataSourceOrganization(disasterId)); } @@ -61,5 +61,16 @@ public class EntityDataController { entityData.setReviewTime(new Date()); return R.data(entityDataService.updateById(entityData)); } + + + /** + * 修改实体数据 + * @param entityData + * @return + */ + @PostMapping("/updateEntityData") + public R updateEntityData(@RequestBody EntityData entityData) { + return R.data(entityDataService.updateById(entityData)); + } } diff --git a/kn-service/biz-vordm/src/main/java/com/kening/vordm/controller/MapServerController.java b/kn-service/biz-vordm/src/main/java/com/kening/vordm/controller/MapServerController.java new file mode 100644 index 0000000..bd0d057 --- /dev/null +++ b/kn-service/biz-vordm/src/main/java/com/kening/vordm/controller/MapServerController.java @@ -0,0 +1,35 @@ +package com.kening.vordm.controller; + +import com.kening.vordm.entity.MapServer; +import com.kening.vordm.service.MapServerService; +import com.kening.vordm.vo.UserVo; +import lombok.RequiredArgsConstructor; +import org.springblade.core.tool.api.R; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequiredArgsConstructor +@RequestMapping("/ui/mapServer") +public class MapServerController { + + + //邮箱发送服务 + private final MapServerService mapServerService; + + /** + * 新增基础地理数据 + * + * @param mapServer + * @return + */ +// @PostMapping("/saveMapServer") +// public R saveMapServer(@RequestBody MapServer mapServer) { +// return mapServerService.saveMapServer(mapServer); +// } + + +} + diff --git a/kn-service/biz-vordm/src/main/java/com/kening/vordm/controller/NewsController.java b/kn-service/biz-vordm/src/main/java/com/kening/vordm/controller/NewsController.java index ba7d236..8f4fcd2 100644 --- a/kn-service/biz-vordm/src/main/java/com/kening/vordm/controller/NewsController.java +++ b/kn-service/biz-vordm/src/main/java/com/kening/vordm/controller/NewsController.java @@ -72,6 +72,7 @@ public class NewsController { IPage pages = newsService.page(Condition.getPage(query), queryWrapper); return R.data(pages); } + @PostMapping("review") public R review(String ids ,Integer status){ UpdateWrapper updateWrapper = new UpdateWrapper<>(); diff --git a/kn-service/biz-vordm/src/main/java/com/kening/vordm/controller/RemoteSensingSourceDataController.java b/kn-service/biz-vordm/src/main/java/com/kening/vordm/controller/RemoteSensingSourceDataController.java index d08f310..0d1692b 100644 --- a/kn-service/biz-vordm/src/main/java/com/kening/vordm/controller/RemoteSensingSourceDataController.java +++ b/kn-service/biz-vordm/src/main/java/com/kening/vordm/controller/RemoteSensingSourceDataController.java @@ -71,4 +71,9 @@ public class RemoteSensingSourceDataController { qw.eq("disaster_id", disasterId); return R.data(remoteSensingSourceDataService.page(Condition.getPage(query), qw)); } + + @PostMapping("/approval") + public R approval(@RequestBody RemoteSensingSourceData remoteSensingSourceData){ + return R.status(remoteSensingSourceDataService.updateById(remoteSensingSourceData)); + } } diff --git a/kn-service/biz-vordm/src/main/java/com/kening/vordm/controller/ToolController.java b/kn-service/biz-vordm/src/main/java/com/kening/vordm/controller/ToolController.java index fb16c3d..37b194f 100644 --- a/kn-service/biz-vordm/src/main/java/com/kening/vordm/controller/ToolController.java +++ b/kn-service/biz-vordm/src/main/java/com/kening/vordm/controller/ToolController.java @@ -1,8 +1,16 @@ package com.kening.vordm.controller; +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.IdWorker; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import com.kening.vordm.DTO.ToolDTO; +import com.kening.vordm.entity.GuestInfo; +import com.kening.vordm.service.GuestInfoService; import com.kening.vordm.service.ToolService; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; @@ -12,20 +20,22 @@ import lombok.AllArgsConstructor; import org.apache.commons.lang.StringUtils; import org.springblade.core.mp.support.Condition; import org.springblade.core.tool.api.R; +import org.springframework.cache.annotation.CacheEvict; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springblade.core.mp.support.Query; import org.springframework.web.bind.annotation.*; import com.kening.vordm.entity.Tool; -import java.util.Arrays; -import java.util.Date; +import java.util.*; @RestController @AllArgsConstructor @RequestMapping("/ui/tool") public class ToolController{ private ToolService toolService; + //引入guestInfoService + private GuestInfoService guestInfoService; @ApiOperationSupport(order = 1) @ApiOperation(value = "分页", notes = "传入Tool") @ApiImplicitParams({ @@ -39,7 +49,7 @@ public class ToolController{ queryWrapper.like("tool_name", tool.getToolName()); } if(!StringUtils.isEmpty(tool.getLabel())){ - queryWrapper.like("label", tool.getLabel()); + queryWrapper.like("Introduction", tool.getLabel()).or().like("label", tool.getLabel()); } String checkd = tool.getChecked(); if(checkd != null && checkd.equals("1")){ @@ -66,6 +76,7 @@ public class ToolController{ @ApiOperationSupport(order = 4) @ApiOperation(value = "删除", notes = "传入id") @PostMapping("/remove") + @CacheEvict(value = "tool_statistics", allEntries = true) // 删除时清空缓存重新统计 public R remove(@ApiParam(value = "主键", required = true) @RequestParam String ids) { return R.status(toolService.removeByIds(Arrays.asList(ids.split(",")))); } @@ -77,18 +88,77 @@ public class ToolController{ return R.data(detail); } - @ApiOperationSupport(order = 6) - @ApiOperation(value = "提交", notes = "传入Tool") + @PostMapping("/submit") - public R submit(@ApiParam(value = "Tool对象", required = true) @RequestBody Tool tool) { + public R submit(@RequestBody Tool tool) { + tool.setCreateTime(new Date()); return R.status(toolService.saveOrUpdate(tool)); } + @ApiOperationSupport(order = 7 ) @ApiOperation(value = "审核", notes = "传入Tool") @PostMapping("/review") + @CacheEvict(value = "tool_statistics", allEntries = true) // 审核通过时清空缓存重新统计 public R review (@ApiParam(value = "Tool对象", required = true) @RequestBody Tool tool) { tool.setReviewTime(new Date()); return R.status(toolService.saveOrUpdate(tool)); } + + + @GetMapping("/toolRanking") + public R> toolRanking() { + List detail = toolService.toolRanking(); + return R.data(detail); + } + /** + * tool 新的新增方法 + */ + @PostMapping("/add") + public R add(@RequestBody ToolDTO tool) { + //首先查询是否有该用户 + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(GuestInfo::getEmail,tool.getMailbox()); + GuestInfo one = guestInfoService.getOne(queryWrapper); + GuestInfo guestInfo = new GuestInfo(); + //拷贝到guestInfo + BeanUtil.copyProperties(tool, guestInfo); + //判断是否存在该用户 + if(one == null){ + //不存在则新增 + guestInfo.setEmail(tool.getMailbox()); + guestInfo.setId(IdWorker.getId()); + guestInfoService.save(guestInfo); + }else{ + //存在则更新 + guestInfo.setId(one.getId()); + guestInfoService.updateById(guestInfo); + } + //处理tool + tool.setShowName(tool.getUsername()); + tool.setUploader(guestInfo.getId()); + tool.setCreateTime(new Date()); + return R.status(toolService.saveOrUpdate(tool)); + } + /** + * 访问量记录 + */ + @PostMapping("/addAccess") + public R addAccess(Long id, int type) { + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", id); + if(type==1){ + updateWrapper.setSql("tool_visits = tool_visits + 1"); + }else{ + updateWrapper.setSql("paper_visits = paper_visits + 1"); + } + return R.status(toolService.update(updateWrapper)); + } + /** + * 统计 + */ + @GetMapping("/statistics") + public R statistics() { + return R.data(toolService.statistics()); + } } diff --git a/kn-service/biz-vordm/src/main/java/com/kening/vordm/controller/WebsitesController.java b/kn-service/biz-vordm/src/main/java/com/kening/vordm/controller/WebsitesController.java new file mode 100644 index 0000000..4d42bf7 --- /dev/null +++ b/kn-service/biz-vordm/src/main/java/com/kening/vordm/controller/WebsitesController.java @@ -0,0 +1,48 @@ +package com.kening.vordm.controller; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.kening.vordm.entity.Websites; +import com.kening.vordm.service.WebsitesService; +import lombok.RequiredArgsConstructor; +import org.springblade.core.mp.support.Condition; +import org.springblade.core.mp.support.Query; +import org.springblade.core.tool.api.R; +import org.springblade.core.tool.utils.Func; +import org.springframework.web.bind.annotation.*; + +import java.util.Date; + +@RestController +@RequiredArgsConstructor +@RequestMapping("/ui/websites") +public class WebsitesController { + + private final WebsitesService websitesService; + + + @GetMapping("/websitesPage") + public R> websitesPage(Query query, Websites websites){ + return R.data(websitesService.websitesPage(Condition.getPage(query),websites)); + } + + @PostMapping("/saveWebsites") + public R saveWebsites(@RequestBody Websites websites){ + websites.setCreateTime(new Date()); + return R.status(websitesService.save(websites)); + } + + @DeleteMapping("/remove") + public R remove(@RequestParam String id){ + return R.status(websitesService.removeByIds(Func.toLongList(id))); + } + + @PostMapping("/updateWebsites") + public R updateWebsites(@RequestBody Websites websites){ + return R.status(websitesService.updateById(websites)); + } + + @GetMapping("/getWebsitesById") + public R getWebsitesById(Long id){ + return R.data(websitesService.getById(id)); + } +} diff --git a/kn-service/biz-vordm/src/main/java/com/kening/vordm/controller/WordCloudsController.java b/kn-service/biz-vordm/src/main/java/com/kening/vordm/controller/WordCloudsController.java index 9984257..5b2a190 100644 --- a/kn-service/biz-vordm/src/main/java/com/kening/vordm/controller/WordCloudsController.java +++ b/kn-service/biz-vordm/src/main/java/com/kening/vordm/controller/WordCloudsController.java @@ -9,6 +9,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; +import java.util.Collections; import java.util.List; import java.util.Map; @@ -31,6 +32,7 @@ public class WordCloudsController { */ @GetMapping("/wordCount") public R>> wordCount(@RequestParam Long disasterId){ - return R.data(service.wordCount(disasterId)); + Map> stringListMap = service.wordCount(disasterId); + return R.data(stringListMap); } } diff --git a/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/DataUploadMapper.xml b/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/DataUploadMapper.xml index f42a1a9..7cc30fe 100644 --- a/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/DataUploadMapper.xml +++ b/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/DataUploadMapper.xml @@ -21,13 +21,15 @@ di.disaster_keyword, bdb.dict_value as disasterType, di.id as disasterId, + di.vordm_id AS vordmId, di.disaster_time as disasterTime, di.disaster_country as disasterCountry from entity_data ed - left join blade_user bu on bu.id = ed.uploader_id - left join disaster_info di on di.id = ed.disaster_id - left join blade_dict_biz bdb on di.disaster_type = dict_key + left join blade_user bu on bu.id = ed.uploader_id + left join disaster_info di on di.id = ed.disaster_id + left join blade_dict_biz bdb on di.disaster_type = dict_key where ed.disaster_id is not null + AND di.disaster_keyword IS NOT NUll group by di.id,bdb.dict_value diff --git a/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/DisasterInfoMapper.java b/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/DisasterInfoMapper.java index 76d20ce..bca45c7 100644 --- a/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/DisasterInfoMapper.java +++ b/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/DisasterInfoMapper.java @@ -80,4 +80,7 @@ public interface DisasterInfoMapper extends BaseMapper { List> adminData(String year); List> disasterNum(String year); + + CallForHelpVo getByUserIdRole(@Param("chiefIdEquals") Long chiefIdEquals); + } diff --git a/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/DisasterInfoMapper.xml b/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/DisasterInfoMapper.xml index af7ff3c..8983971 100644 --- a/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/DisasterInfoMapper.xml +++ b/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/DisasterInfoMapper.xml @@ -182,7 +182,7 @@ u.email, u.research_field, u.organization, - d.id, + d.id AS disasterId, d.disaster_type, d.disaster_time, d.disaster_keyword, @@ -191,6 +191,8 @@ d.upload_time, d.geometry, d.respond_status, + d.responded_time, + ud.review_time AS reviewTime, bdb.dict_value as dictValue From guest_manage_disaster_ref ud join @@ -199,18 +201,7 @@ left join blade_dict_biz bdb on d.disaster_type = bdb.dict_key - - d.respond_status = 1 or d.respond_status = 0 - - - d.respond_status = 2 - - - d.respond_status = 2 or d.respond_status = 3 - - - - and d.chief_id is null + d.respond_status = #{callForHelpVo.respondStatus} and d.chief_id = #{callForHelpVo.chiefIdEquals} @@ -365,12 +356,14 @@ + + + + diff --git a/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/EntityDataMapper.java b/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/EntityDataMapper.java index 6c1df2c..3962545 100644 --- a/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/EntityDataMapper.java +++ b/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/EntityDataMapper.java @@ -21,6 +21,6 @@ public interface EntityDataMapper extends BaseMapper { IPage getEntityDataList(@Param("entityData") EntityData entityData, IPage page); - List getEntityDataSourceOrganization(); + List getEntityDataSourceOrganization(@Param("disasterId") Long disasterId); } diff --git a/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/EntityDataMapper.xml b/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/EntityDataMapper.xml index 3b8cf9b..21347b9 100644 --- a/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/EntityDataMapper.xml +++ b/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/EntityDataMapper.xml @@ -21,6 +21,9 @@ + + + @@ -29,19 +32,19 @@ ed.upload_time,ed.disaster_id,ed.visual_flag, ed.visual_lon,ed.visual_lat, ed.status,ed.uploader_id,ed.manager_id, - ed.review_time, ed.source_organization + ed.review_time, ed.source_organization, + ed.upload_type, ed.is_deleted, ed.is_publish select ed.source_organization AS organizationName from entity_data ed + + + ed.disaster_id = #{disasterId} + + GROUP BY ed.source_organization diff --git a/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/GuestInfoMapper.xml b/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/GuestInfoMapper.xml index fb8f788..dcceda5 100644 --- a/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/GuestInfoMapper.xml +++ b/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/GuestInfoMapper.xml @@ -28,9 +28,9 @@ - update blade_user t set t.name = #{name}, t.real_name = #{realName}, t.organization = #{organization}, - t.research_field = #{researchField}, t.occupation = #{occupation}, t.code = #{country} - where t.id = #{id} + update blade_user t set t.name = #{userVo.name}, t.real_name = #{userVo.realName}, t.organization = #{userVo.organization}, + t.research_field = #{userVo.researchField}, t.occupation = #{userVo.occupation}, t.code = #{userVo.country} + where t.id = #{userVo.id} select count(di.id) FROM disaster_info di - inner join guest_manage_disaster_ref gmdr on gmdr.disaster_id = di.id - inner join guest_info gi on gi.id = gmdr.sponsor_id - inner join blade_user bu on bu.email = gi.email - bu.id = #{userId} + di.chief_id = #{userId} and di.respond_status = 3 @@ -55,11 +52,8 @@ select di.disaster_keyword, + di.vordm_id, bdb.dict_value as disasterType, di.id as disasterId, di.disaster_time as disasterTime, di.disaster_country as disasterCountry, di.geometry from disaster_info di - left join blade_dict_biz bdb on di.disaster_type = dict_key + left join blade_dict_biz bdb on di.disaster_type = dict_key @@ -71,6 +74,9 @@ r.disaster_id = #{remoteSensingSourceData.disasterId} + + and r.status = #{remoteSensingSourceData.status} + and r.product_resolution >= #{remoteSensingSourceData.productResolutionMin} and r.product_resolution < #{remoteSensingSourceData.productResolutionMax} diff --git a/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/ToolMapper.java b/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/ToolMapper.java index 76003ee..3fe88cb 100644 --- a/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/ToolMapper.java +++ b/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/ToolMapper.java @@ -4,6 +4,8 @@ package com.kening.vordm.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.kening.vordm.entity.Tool; +import java.util.List; + /** * @author G1393 * @description 针对表【tool(模型工具表)】的数据库操作Mapper @@ -13,4 +15,7 @@ import com.kening.vordm.entity.Tool; public interface ToolMapper extends BaseMapper { + List toolRanking(); + + Integer selectCountShowName(); } diff --git a/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/ToolMapper.xml b/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/ToolMapper.xml index 0eb20d9..58bd98f 100644 --- a/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/ToolMapper.xml +++ b/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/ToolMapper.xml @@ -18,8 +18,9 @@ - - + + + @@ -27,6 +28,20 @@ Introduction,link,detail, create_time,upload_id,manager_id, review_time,type,voluntary_flag, - uploader,show_name,e_mail + uploader,show_name,mailbox,paper_link + + + diff --git a/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/VisualDataMapper.xml b/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/VisualDataMapper.xml index e06a2a7..bec22aa 100644 --- a/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/VisualDataMapper.xml +++ b/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/VisualDataMapper.xml @@ -21,6 +21,7 @@ di.disaster_keyword, bdb.dict_value as disasterType, di.id as disasterId, + di.vordm_id, di.disaster_time as disasterTime, di.disaster_country as disasterCountry from disaster_info di diff --git a/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/WebsitesMapper.java b/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/WebsitesMapper.java index 70dbdc0..b12cab0 100644 --- a/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/WebsitesMapper.java +++ b/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/WebsitesMapper.java @@ -2,7 +2,9 @@ package com.kening.vordm.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.kening.vordm.entity.Websites; +import org.apache.ibatis.annotations.Param; /** * @author G1393 @@ -13,4 +15,5 @@ import com.kening.vordm.entity.Websites; public interface WebsitesMapper extends BaseMapper { + IPage websitesPage(IPage page,@Param("websites") Websites websites); } diff --git a/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/WebsitesMapper.xml b/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/WebsitesMapper.xml index 20881d9..bc5a366 100644 --- a/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/WebsitesMapper.xml +++ b/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/WebsitesMapper.xml @@ -20,4 +20,14 @@ provider,disaster_id,create_time, website_id,upload_id + + diff --git a/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/WordCloudsMapper.xml b/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/WordCloudsMapper.xml index 81708aa..62075b2 100644 --- a/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/WordCloudsMapper.xml +++ b/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/WordCloudsMapper.xml @@ -24,7 +24,7 @@ diff --git a/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/DisasterInfoService.java b/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/DisasterInfoService.java index f48d4c3..2fbc0cf 100644 --- a/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/DisasterInfoService.java +++ b/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/DisasterInfoService.java @@ -72,4 +72,6 @@ public interface DisasterInfoService extends IService { Integer getByUserDisasterInfo(Long userId, Long disasterId); UserVo getByUserDisasterInfoStatistics(Long userId); + + CallForHelpVo getByUserIdRole(Long chiefIdEquals); } diff --git a/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/EntityDataService.java b/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/EntityDataService.java index 98b97f8..611c8c1 100644 --- a/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/EntityDataService.java +++ b/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/EntityDataService.java @@ -20,10 +20,10 @@ public interface EntityDataService extends IService { IPage getEntityDataList(IPage page, EntityData entityData); /** - * 获取所以不可可视化下机构信息 + * 获取所有不可可视化下机构信息 * @return */ - List getEntityDataSourceOrganization(); + List getEntityDataSourceOrganization(Long disasterId); /** * Resource upload 上传实体信息 diff --git a/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/ToolService.java b/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/ToolService.java index c1517fb..73f71d5 100644 --- a/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/ToolService.java +++ b/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/ToolService.java @@ -4,6 +4,8 @@ package com.kening.vordm.service; import com.baomidou.mybatisplus.extension.service.IService; import com.kening.vordm.entity.Tool; +import java.util.List; + /** * @author G1393 * @description 针对表【tool(模型工具表)】的数据库操作Service @@ -11,4 +13,7 @@ import com.kening.vordm.entity.Tool; */ public interface ToolService extends IService { + List toolRanking(); + + Object statistics(); } diff --git a/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/WebsitesService.java b/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/WebsitesService.java index a4c2cde..65aeb44 100644 --- a/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/WebsitesService.java +++ b/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/WebsitesService.java @@ -1,8 +1,10 @@ package com.kening.vordm.service; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import com.kening.vordm.entity.Websites; +import com.kening.vordm.vo.CallForHelpVo; /** * @author G1393 @@ -11,4 +13,5 @@ import com.kening.vordm.entity.Websites; */ public interface WebsitesService extends IService { + IPage websitesPage(IPage page, Websites websites); } diff --git a/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/impl/DisasterInfoServiceImpl.java b/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/impl/DisasterInfoServiceImpl.java index 00e4a9a..fa2d20d 100644 --- a/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/impl/DisasterInfoServiceImpl.java +++ b/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/impl/DisasterInfoServiceImpl.java @@ -20,7 +20,6 @@ import org.springblade.common.cache.CacheNames; import org.springblade.core.redis.cache.BladeRedis; import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tool.api.R; -import org.springblade.core.tool.constant.BladeConstant; import org.springblade.core.tool.utils.DigestUtil; import org.springblade.core.tool.utils.StringUtil; import org.springframework.scheduling.annotation.Async; @@ -236,6 +235,11 @@ public class DisasterInfoServiceImpl extends ServiceImpl getEntityDataSourceOrganization() { - return this.baseMapper.getEntityDataSourceOrganization(); + public List getEntityDataSourceOrganization(Long disasterId) { + return this.baseMapper.getEntityDataSourceOrganization(disasterId); } @@ -75,6 +78,8 @@ public class EntityDataServiceImpl extends ServiceImpl qw = new LambdaQueryWrapper<>(); qw.eq(GuestInfo::getEmail, entityDataUserVo.getEmail()); @@ -91,19 +96,23 @@ public class EntityDataServiceImpl extends ServiceImpl 0); } else { @@ -137,5 +146,4 @@ public class EntityDataServiceImpl extends ServiceImpl -implements PictureInfoService { + implements PictureInfoService { /** * 对象存储模块 @@ -33,18 +33,22 @@ implements PictureInfoService { /** * 修改图片信息 + * * @param pictureInfo * @return */ @Override public boolean updatePicture(PictureInfo pictureInfo) { - MultipartFile multipartFile = pictureInfo.getFile(); - BladeFile bladeFile = minioTemplate.putFile(multipartFile); PictureInfo picture = new PictureInfo(); - picture.setLink(bladeFile.getLink()); - picture.setName(bladeFile.getOriginalName()); - picture.setSize(multipartFile.getSize()); - picture.setType(multipartFile.getOriginalFilename().substring(multipartFile.getOriginalFilename().indexOf(".")+1)); + + MultipartFile multipartFile = pictureInfo.getFile(); + if (multipartFile!=null){ + BladeFile bladeFile = minioTemplate.putFile(multipartFile); + picture.setLink(bladeFile.getLink()); + picture.setSize(multipartFile.getSize()); + picture.setType(multipartFile.getOriginalFilename().substring(multipartFile.getOriginalFilename().indexOf(".") + 1)); + } + picture.setName(pictureInfo.getName()); picture.setIsMain(pictureInfo.getIsMain()); picture.setId(pictureInfo.getId()); return updateById(picture); @@ -52,21 +56,26 @@ implements PictureInfoService { /** * 上传图片 + * * @param otherData * @return */ @Override public boolean uploadData(OtherData otherData) { - log.info("上传数据:{}",otherData); + log.info("上传数据:{}", otherData); List pictureInfoList = new ArrayList<>(); for (MultipartFile multipartFile : otherData.getFile()) { BladeFile bladeFile = minioTemplate.putFile(multipartFile); PictureInfo pictureInfo = new PictureInfo(); pictureInfo.setLink(bladeFile.getLink()); pictureInfo.setDisasterId(otherData.getDisasterId()); - pictureInfo.setName(bladeFile.getOriginalName()); + if (otherData.getTitle() != null && !otherData.getTitle().equals("null")) { + pictureInfo.setName(otherData.getTitle()); + } else { + pictureInfo.setName(bladeFile.getOriginalName()); + } pictureInfo.setSize(multipartFile.getSize()); - pictureInfo.setType(multipartFile.getOriginalFilename().substring(multipartFile.getOriginalFilename().indexOf(".")+1)); + pictureInfo.setType(multipartFile.getOriginalFilename().substring(multipartFile.getOriginalFilename().indexOf(".") + 1)); pictureInfo.setIsMain(otherData.getIsMain()); pictureInfoList.add(pictureInfo); } diff --git a/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/impl/ToolServiceImpl.java b/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/impl/ToolServiceImpl.java index df8d919..431a652 100644 --- a/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/impl/ToolServiceImpl.java +++ b/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/impl/ToolServiceImpl.java @@ -1,11 +1,17 @@ package com.kening.vordm.service.impl; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.kening.vordm.entity.Tool; import com.kening.vordm.mapper.ToolMapper; import com.kening.vordm.service.ToolService; +import org.springframework.cache.annotation.Cacheable; import org.springframework.stereotype.Service; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + /** * @author G1393 * @description 针对表【tool(模型工具表)】的数据库操作Service实现 @@ -15,4 +21,39 @@ import org.springframework.stereotype.Service; public class ToolServiceImpl extends ServiceImpl implements ToolService { + @Override + public List toolRanking() { + return this.baseMapper.toolRanking(); + } + + @Override + @Cacheable("tool_statistics") + public Object statistics() { + Map map = new HashMap<>(); + //获取工具总数,条件审核时间不为空 + Integer toolCount = this.baseMapper.selectCount(Wrappers.lambdaQuery().isNotNull(Tool::getReviewTime)); + map.put("toolCount", toolCount); + //获取贡献者数量,分组使用showName + Integer contributorCount = this.baseMapper.selectCountShowName(); + map.put("contributorCount", contributorCount); + //查询总点击量 + Tool toolVisits = this.baseMapper.selectOne(Wrappers.query().isNotNull("review_time").select("sum(tool_visits) as tool_visits")); + map.put("toolVisits",toolVisits.getToolVisits()); + //查询论文点击量 + Tool paperVisits = this.baseMapper.selectOne(Wrappers.query().isNotNull("review_time").select("sum(paper_visits) as paper_visits")); + map.put("paperVisits",paperVisits.getPaperVisits()); + //查询点击量TOP10 + List toolVisitsTop10 = this.baseMapper.selectList(Wrappers.query().isNotNull("review_time").orderByDesc("tool_visits").last("limit 10")); + map.put("toolVisitsTop10",toolVisitsTop10); + //查询论文点击量TOP10 + List paperVisitsTop10 = this.baseMapper.selectList(Wrappers.query().isNotNull("review_time").orderByDesc("paper_visits").last("limit 10")); + map.put("paperVisitsTop10",paperVisitsTop10); + //根据用户分组查询工具数量TOP10 + List toolCountByUser = this.baseMapper.selectList(Wrappers.query().isNotNull("review_time").groupBy("show_name").select("show_name,count(*) as tool_visits").orderByDesc("tool_visits").last("limit 10")); + map.put("toolCountByUserTop10",toolCountByUser); + //根据用户分组统计点击量 + List toolVisitsByUser = this.baseMapper.selectList(Wrappers.query().isNotNull("review_time").groupBy("show_name").select("show_name,sum(tool_visits) as tool_visits").orderByDesc("tool_visits").last("limit 10")); + map.put("toolVisitsByUserTop10",toolVisitsByUser); + return map; + } } diff --git a/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/impl/WebsitesServiceImpl.java b/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/impl/WebsitesServiceImpl.java index a3dfb33..632c8c6 100644 --- a/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/impl/WebsitesServiceImpl.java +++ b/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/impl/WebsitesServiceImpl.java @@ -1,5 +1,7 @@ package com.kening.vordm.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.kening.vordm.entity.Websites; import com.kening.vordm.mapper.WebsitesMapper; @@ -15,4 +17,8 @@ import org.springframework.stereotype.Service; public class WebsitesServiceImpl extends ServiceImpl implements WebsitesService { + @Override + public IPage websitesPage(IPage page, Websites websites) { + return this.baseMapper.websitesPage(page, websites); + } }