Merge branch 'master' into yyhouc

# Conflicts:
#	kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/entity/Tool.java
This commit is contained in:
yyhouc 2023-05-11 18:48:27 +08:00
commit 4b1de6a363
45 changed files with 556 additions and 111 deletions

View File

@ -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;
}

View File

@ -17,6 +17,8 @@ public class AdminManager extends DisasterInfo{
private Long managerId; private Long managerId;
private Long disasterId;
private Integer status; private Integer status;
private String occupation; private String occupation;

View File

@ -23,5 +23,8 @@ public class DataUpload extends EntityData{
private Date disasterTime; private Date disasterTime;
private Long disasterId; private Long disasterId;
private String vordmId;
private String geometry; private String geometry;
} }

View File

@ -107,6 +107,10 @@ public class EntityData implements Serializable {
*/ */
private Integer isDeleted; private Integer isDeleted;
/**
* 是否发布0未发布/1已发布
*/
private Integer isPublish;
/** /**
* 上传人姓名 * 上传人姓名
@ -132,6 +136,12 @@ public class EntityData implements Serializable {
@TableField(exist = false) @TableField(exist = false)
private String msName; private String msName;
/**
* 灾害区域地理字段
*/
@TableField(exist = false)
private String geometry;
@TableField(exist = false) @TableField(exist = false)
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;

View File

@ -76,10 +76,6 @@ public class Hotspot implements Serializable {
@ExcelIgnore @ExcelIgnore
private Date reviewTime; private Date reviewTime;
/**
* 是否删除 0未删除 1已删除
*/
private Integer isDeleted;
@ExcelIgnore @ExcelIgnore
@TableField(exist = false) @TableField(exist = false)

View File

@ -18,9 +18,13 @@ public class OtherData{
private String type; private String type;
private String title;
private String remark; private String remark;
private Long disasterId; private Long disasterId;
private Integer visualFlag; private Integer visualFlag;
private String sourceOrganization;
} }

View File

@ -165,6 +165,11 @@ public class RemoteSensingSourceData implements Serializable {
*/ */
private Integer status; private Integer status;
/**
* 上传用户
*/
private Long uploadId;
/** /**
* 分辨率集合最大值 * 分辨率集合最大值
*/ */

View File

@ -80,14 +80,12 @@ public class Tool implements Serializable {
* 上传人 * 上传人
*/ */
private Long uploader; private Long uploader;
/** /**
* 昵称 * 邮箱
*/ */
private String show_name; private String mailbox;
/**
* 昵称
*/
private String eMail;
/** /**
* 学术导论链接 * 学术导论链接
*/ */
@ -95,11 +93,25 @@ public class Tool implements Serializable {
@TableField(exist = false) @TableField(exist = false)
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@TableField(exist = false)
private String checked;
/** /**
* 贡献者 * 贡献者
*/ */
private String showName; private String showName;
@TableField(exist = false)
private String checked;
@TableField(exist = false)
private Integer number;
/**
* 工具访问量
*/
private int toolVisits;
/**
* 论文访问量
*/
private int paperVisits;
} }

View File

@ -72,4 +72,35 @@ public class CallForHelpVo extends DisasterInfo {
* 受灾国家 * 受灾国家
*/ */
private String vordmId; 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;
} }

View File

@ -130,6 +130,11 @@ public class DisasterInfoVo implements Serializable {
*/ */
private String userName; private String userName;
/**
* 结束时间
*/
private Date respondedTime;
@TableField(exist = false) @TableField(exist = false)
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
} }

View File

@ -167,7 +167,7 @@ public class EntityDataUserVo {
/** /**
* 生产时间 * 生产时间
*/ */
private Date productTime; private String productTime;
/** /**

View File

@ -11,6 +11,6 @@ import org.springframework.cloud.client.SpringCloudApplication;
@SpringCloudApplication @SpringCloudApplication
public class VoRdmApplication { public class VoRdmApplication {
public static void main(String[] args) { 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);
} }
} }

View File

@ -1,7 +1,9 @@
package com.kening.vordm.controller; package com.kening.vordm.controller;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.kening.vordm.entity.DisasterInfo;
import com.kening.vordm.entity.GuestManageDisasterRef; import com.kening.vordm.entity.GuestManageDisasterRef;
import com.kening.vordm.service.DisasterInfoService;
import com.kening.vordm.service.GuestManageDisasterRefService; import com.kening.vordm.service.GuestManageDisasterRefService;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Condition;
@ -25,6 +27,7 @@ public class AdminManagerController {
private GuestManageDisasterRefService guestManageDisasterRefService; private GuestManageDisasterRefService guestManageDisasterRefService;
private DisasterInfoService disasterInfoService;
/** /**
* 普通管理员分页查询 * 普通管理员分页查询
* @param query * @param query
@ -33,7 +36,6 @@ public class AdminManagerController {
*/ */
@GetMapping("/pages") @GetMapping("/pages")
public R pages(Query query, @RequestParam Map<String,Object> params){ public R pages(Query query, @RequestParam Map<String,Object> params){
return R.data(guestManageDisasterRefService.queryPage(Condition.getPage(query),params)); return R.data(guestManageDisasterRefService.queryPage(Condition.getPage(query),params));
} }
@ -44,6 +46,13 @@ public class AdminManagerController {
@PostMapping("/audit") @PostMapping("/audit")
public R audit(@RequestBody List<GuestManageDisasterRef> guestManageDisasterRef){ public R audit(@RequestBody List<GuestManageDisasterRef> guestManageDisasterRef){
guestManageDisasterRef.stream().forEach(guestManageDisasterRef1 -> { 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()); guestManageDisasterRef1.setReviewTime(new Date());
}); });
return R.status(guestManageDisasterRefService.updateBatchById(guestManageDisasterRef)); return R.status(guestManageDisasterRefService.updateBatchById(guestManageDisasterRef));

View File

@ -20,6 +20,7 @@ import io.swagger.annotations.ApiParam;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query; 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.api.R;
import org.springblade.core.tool.utils.DateUtil; import org.springblade.core.tool.utils.DateUtil;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -77,6 +78,19 @@ public class DisasterInfoController {
}) })
@GetMapping("/list") @GetMapping("/list")
public R<IPage<CallForHelpVo>> list(CallForHelpVo CallForHelpVo, Query query) { public R<IPage<CallForHelpVo>> 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<CallForHelpVo> pages = disasterInfoService.page(Condition.getPage(query), CallForHelpVo); IPage<CallForHelpVo> pages = disasterInfoService.page(Condition.getPage(query), CallForHelpVo);
return R.data(pages); return R.data(pages);
} }
@ -122,26 +136,6 @@ public class DisasterInfoController {
*/ */
@GetMapping("/select-condition") @GetMapping("/select-condition")
public R<List<GroupByUse>> getSelectCondition(DisasterInfo disasterInfo) { public R<List<GroupByUse>> 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; String disaster_time = null;
if (disasterInfo.getDisasterTime() != null) { if (disasterInfo.getDisasterTime() != null) {
disaster_time = DateUtil.format(disasterInfo.getDisasterTime(), "yyyy-MM-dd"); disaster_time = DateUtil.format(disasterInfo.getDisasterTime(), "yyyy-MM-dd");
@ -323,6 +317,9 @@ public class DisasterInfoController {
DisasterInfo disasterInfo = new DisasterInfo(); DisasterInfo disasterInfo = new DisasterInfo();
BeanUtil.copyProperties(callForHelpVo, disasterInfo); BeanUtil.copyProperties(callForHelpVo, disasterInfo);
disasterInfo.setUploadTime(new Date()); disasterInfo.setUploadTime(new Date());
if (callForHelpVo.getDisasterLevel() != null){
disasterInfo.setDisasterLevel(callForHelpVo.getDisasterLevel());
}
Boolean flag3 = disasterInfoService.save(disasterInfo); Boolean flag3 = disasterInfoService.save(disasterInfo);
@ -339,8 +336,7 @@ public class DisasterInfoController {
@PostMapping("review") @PostMapping("review")
public R<Boolean> review(@RequestBody DisasterInfo disasterInfo) { public R<Boolean> review(@RequestBody DisasterInfo disasterInfo) {
//审批通过 响应状态0未审批1审批未通过2审批通过并正在响应3审批通过并且响应完成
//审批通过
if (disasterInfo.getRespondStatus() == 2) { if (disasterInfo.getRespondStatus() == 2) {
String numbering = serialNumberService.generateNumbering(disasterInfo.getDisasterType()); String numbering = serialNumberService.generateNumbering(disasterInfo.getDisasterType());
disasterInfo.setVordmId(numbering); disasterInfo.setVordmId(numbering);
@ -353,6 +349,12 @@ public class DisasterInfoController {
@ApiOperation(value = "提交", notes = "传入Tool") @ApiOperation(value = "提交", notes = "传入Tool")
@PostMapping("/submit") @PostMapping("/submit")
public R submit(@ApiParam(value = "Tool对象", required = true) @RequestBody DisasterInfo disasterInfo) { public R submit(@ApiParam(value = "Tool对象", required = true) @RequestBody DisasterInfo disasterInfo) {
LambdaQueryWrapper<GuestManageDisasterRef> 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)); return R.status(disasterInfoService.saveOrUpdate(disasterInfo));
} }
@ -374,6 +376,15 @@ public class DisasterInfoController {
*/ */
@PutMapping("/updateBatch") @PutMapping("/updateBatch")
public R updateBatch(@RequestBody List<DisasterInfo> disasterInfoList) { public R updateBatch(@RequestBody List<DisasterInfo> disasterInfoList) {
disasterInfoList.stream().forEach(disasterInfo -> {
LambdaQueryWrapper<GuestManageDisasterRef> 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)); return R.status(disasterInfoService.updateBatchById(disasterInfoList));
} }

View File

@ -38,8 +38,8 @@ public class EntityDataController {
* @return * @return
*/ */
@GetMapping("/getEntityDataSourceOrganization") @GetMapping("/getEntityDataSourceOrganization")
public R<List<UserTenantVo>> getEntityDataSourceOrganization() { public R<List<UserTenantVo>> getEntityDataSourceOrganization(Long disasterId) {
return R.data(entityDataService.getEntityDataSourceOrganization()); return R.data(entityDataService.getEntityDataSourceOrganization(disasterId));
} }
@ -61,5 +61,16 @@ public class EntityDataController {
entityData.setReviewTime(new Date()); entityData.setReviewTime(new Date());
return R.data(entityDataService.updateById(entityData)); return R.data(entityDataService.updateById(entityData));
} }
/**
* 修改实体数据
* @param entityData
* @return
*/
@PostMapping("/updateEntityData")
public R updateEntityData(@RequestBody EntityData entityData) {
return R.data(entityDataService.updateById(entityData));
}
} }

View File

@ -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);
// }
}

View File

@ -72,6 +72,7 @@ public class NewsController {
IPage<News> pages = newsService.page(Condition.getPage(query), queryWrapper); IPage<News> pages = newsService.page(Condition.getPage(query), queryWrapper);
return R.data(pages); return R.data(pages);
} }
@PostMapping("review") @PostMapping("review")
public R<Boolean> review(String ids ,Integer status){ public R<Boolean> review(String ids ,Integer status){
UpdateWrapper<News> updateWrapper = new UpdateWrapper<>(); UpdateWrapper<News> updateWrapper = new UpdateWrapper<>();

View File

@ -71,4 +71,9 @@ public class RemoteSensingSourceDataController {
qw.eq("disaster_id", disasterId); qw.eq("disaster_id", disasterId);
return R.data(remoteSensingSourceDataService.page(Condition.getPage(query), qw)); return R.data(remoteSensingSourceDataService.page(Condition.getPage(query), qw));
} }
@PostMapping("/approval")
public R approval(@RequestBody RemoteSensingSourceData remoteSensingSourceData){
return R.status(remoteSensingSourceDataService.updateById(remoteSensingSourceData));
}
} }

View File

@ -1,8 +1,16 @@
package com.kening.vordm.controller; 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.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.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; 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 com.kening.vordm.service.ToolService;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiImplicitParams;
@ -12,20 +20,22 @@ import lombok.AllArgsConstructor;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Condition;
import org.springblade.core.tool.api.R; 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.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import org.springblade.core.mp.support.Query; import org.springblade.core.mp.support.Query;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import com.kening.vordm.entity.Tool; import com.kening.vordm.entity.Tool;
import java.util.Arrays; import java.util.*;
import java.util.Date;
@RestController @RestController
@AllArgsConstructor @AllArgsConstructor
@RequestMapping("/ui/tool") @RequestMapping("/ui/tool")
public class ToolController{ public class ToolController{
private ToolService toolService; private ToolService toolService;
//引入guestInfoService
private GuestInfoService guestInfoService;
@ApiOperationSupport(order = 1) @ApiOperationSupport(order = 1)
@ApiOperation(value = "分页", notes = "传入Tool") @ApiOperation(value = "分页", notes = "传入Tool")
@ApiImplicitParams({ @ApiImplicitParams({
@ -39,7 +49,7 @@ public class ToolController{
queryWrapper.like("tool_name", tool.getToolName()); queryWrapper.like("tool_name", tool.getToolName());
} }
if(!StringUtils.isEmpty(tool.getLabel())){ if(!StringUtils.isEmpty(tool.getLabel())){
queryWrapper.like("label", tool.getLabel()); queryWrapper.like("Introduction", tool.getLabel()).or().like("label", tool.getLabel());
} }
String checkd = tool.getChecked(); String checkd = tool.getChecked();
if(checkd != null && checkd.equals("1")){ if(checkd != null && checkd.equals("1")){
@ -66,6 +76,7 @@ public class ToolController{
@ApiOperationSupport(order = 4) @ApiOperationSupport(order = 4)
@ApiOperation(value = "删除", notes = "传入id") @ApiOperation(value = "删除", notes = "传入id")
@PostMapping("/remove") @PostMapping("/remove")
@CacheEvict(value = "tool_statistics", allEntries = true) // 删除时清空缓存重新统计
public R remove(@ApiParam(value = "主键", required = true) @RequestParam String ids) { public R remove(@ApiParam(value = "主键", required = true) @RequestParam String ids) {
return R.status(toolService.removeByIds(Arrays.asList(ids.split(",")))); return R.status(toolService.removeByIds(Arrays.asList(ids.split(","))));
} }
@ -77,18 +88,77 @@ public class ToolController{
return R.data(detail); return R.data(detail);
} }
@ApiOperationSupport(order = 6)
@ApiOperation(value = "提交", notes = "传入Tool")
@PostMapping("/submit") @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)); return R.status(toolService.saveOrUpdate(tool));
} }
@ApiOperationSupport(order = 7 ) @ApiOperationSupport(order = 7 )
@ApiOperation(value = "审核", notes = "传入Tool") @ApiOperation(value = "审核", notes = "传入Tool")
@PostMapping("/review") @PostMapping("/review")
@CacheEvict(value = "tool_statistics", allEntries = true) // 审核通过时清空缓存重新统计
public R review (@ApiParam(value = "Tool对象", required = true) @RequestBody Tool tool) { public R review (@ApiParam(value = "Tool对象", required = true) @RequestBody Tool tool) {
tool.setReviewTime(new Date()); tool.setReviewTime(new Date());
return R.status(toolService.saveOrUpdate(tool)); return R.status(toolService.saveOrUpdate(tool));
} }
@GetMapping("/toolRanking")
public R<List<Tool>> toolRanking() {
List<Tool> detail = toolService.toolRanking();
return R.data(detail);
}
/**
* tool 新的新增方法
*/
@PostMapping("/add")
public R add(@RequestBody ToolDTO tool) {
//首先查询是否有该用户
LambdaQueryWrapper<GuestInfo> 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<Tool> 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());
}
} }

View File

@ -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<IPage<Websites>> 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<Websites> getWebsitesById(Long id){
return R.data(websitesService.getById(id));
}
}

View File

@ -9,6 +9,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -31,6 +32,7 @@ public class WordCloudsController {
*/ */
@GetMapping("/wordCount") @GetMapping("/wordCount")
public R<Map<String,List<WorldCharts>>> wordCount(@RequestParam Long disasterId){ public R<Map<String,List<WorldCharts>>> wordCount(@RequestParam Long disasterId){
return R.data(service.wordCount(disasterId)); Map<String, List<WorldCharts>> stringListMap = service.wordCount(disasterId);
return R.data(stringListMap);
} }
} }

View File

@ -21,6 +21,7 @@
di.disaster_keyword, di.disaster_keyword,
bdb.dict_value as disasterType, bdb.dict_value as disasterType,
di.id as disasterId, di.id as disasterId,
di.vordm_id AS vordmId,
di.disaster_time as disasterTime, di.disaster_time as disasterTime,
di.disaster_country as disasterCountry di.disaster_country as disasterCountry
from entity_data ed from entity_data ed
@ -28,6 +29,7 @@
left join disaster_info di on di.id = ed.disaster_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_dict_biz bdb on di.disaster_type = dict_key
where ed.disaster_id is not null where ed.disaster_id is not null
AND di.disaster_keyword IS NOT NUll
group by di.id,bdb.dict_value group by di.id,bdb.dict_value
</select> </select>

View File

@ -80,4 +80,7 @@ public interface DisasterInfoMapper extends BaseMapper<DisasterInfo> {
List<Map<String, Long>> adminData(String year); List<Map<String, Long>> adminData(String year);
List<Map<String, Long>> disasterNum(String year); List<Map<String, Long>> disasterNum(String year);
CallForHelpVo getByUserIdRole(@Param("chiefIdEquals") Long chiefIdEquals);
} }

View File

@ -182,7 +182,7 @@
u.email, u.email,
u.research_field, u.research_field,
u.organization, u.organization,
d.id, d.id AS disasterId,
d.disaster_type, d.disaster_type,
d.disaster_time, d.disaster_time,
d.disaster_keyword, d.disaster_keyword,
@ -191,6 +191,8 @@
d.upload_time, d.upload_time,
d.geometry, d.geometry,
d.respond_status, d.respond_status,
d.responded_time,
ud.review_time AS reviewTime,
bdb.dict_value as dictValue bdb.dict_value as dictValue
From From
guest_manage_disaster_ref ud join guest_manage_disaster_ref ud join
@ -199,18 +201,7 @@
left join blade_dict_biz bdb on d.disaster_type = bdb.dict_key left join blade_dict_biz bdb on d.disaster_type = bdb.dict_key
<where> <where>
<if test="callForHelpVo.respondStatus!=null"> <if test="callForHelpVo.respondStatus!=null">
<if test="callForHelpVo.respondStatus == 0 or callForHelpVo.respondStatus == '0'"> d.respond_status = #{callForHelpVo.respondStatus}
d.respond_status = 1 or d.respond_status = 0
</if>
<if test="callForHelpVo.respondStatus != 0 and callForHelpVo.respondStatus != '0' and callForHelpVo.respondStatus != 3 and callForHelpVo.respondStatus != '3'">
d.respond_status = 2
</if>
<if test="callForHelpVo.respondStatus == 3 or callForHelpVo.respondStatus == '3'">
d.respond_status = 2 or d.respond_status = 3
</if>
</if>
<if test="callForHelpVo.chiefId != null">
and d.chief_id is null
</if> </if>
<if test="callForHelpVo.chiefIdEquals != null"> <if test="callForHelpVo.chiefIdEquals != null">
and d.chief_id = #{callForHelpVo.chiefIdEquals} and d.chief_id = #{callForHelpVo.chiefIdEquals}
@ -365,12 +356,14 @@
</select> </select>
<select id="chiefData" resultType="java.util.Map"> <select id="chiefData" resultType="java.util.Map">
SELECT b.`name`, count(*) as val FROM disaster_info t INNER JOIN blade_user b on t.chief_id = b.id SELECT b.`name`, count(*) as val FROM disaster_info t INNER JOIN blade_user b on t.chief_id = b.id
where date_format(t.disaster_time,'%Y') = #{year} GROUP BY b.`name` ORDER BY val desc limit 10 where date_format(t.disaster_time,'%Y') = #{year} and b.`name` != "超级管理员" GROUP BY b.`name` ORDER BY val desc limit 10
</select> </select>
<select id="adminData" resultType="java.util.Map"> <select id="adminData" resultType="java.util.Map">
SELECT b.`name`, count(*) as val FROM guest_manage_disaster_ref t INNER JOIN blade_user b on t.manager_id = b.id INNER JOIN disaster_info d on d.id = t.disaster_id SELECT b.`name`, count(*) as val FROM guest_manage_disaster_ref t INNER JOIN blade_user b on t.manager_id = b.id INNER JOIN disaster_info d on d.id = t.disaster_id
where date_format(d.disaster_time,'%Y') = #{year} and b.role_id = '1123598816738675202' GROUP BY b.`name` ORDER BY val desc limit 10 where date_format(d.disaster_time,'%Y') = #{year} and b.role_id = '1123598816738675204' GROUP BY b.`name` ORDER BY val desc limit 10
</select> </select>
<select id="disasterNum" resultType="java.util.Map"> <select id="disasterNum" resultType="java.util.Map">
SELECT d.dict_value as `name`, count(1) as val FROM disaster_info t INNER JOIN blade_dict_biz d on t.disaster_type = d.dict_key SELECT d.dict_value as `name`, count(1) as val FROM disaster_info t INNER JOIN blade_dict_biz d on t.disaster_type = d.dict_key
where date_format(t.disaster_time,'%Y') = #{year} GROUP BY d.dict_value where date_format(t.disaster_time,'%Y') = #{year} GROUP BY d.dict_value
@ -378,4 +371,14 @@
</select> </select>
<select id="getByUserIdRole" resultType="com.kening.vordm.vo.CallForHelpVo">
SELECT br.role_alias AS roleAlias,
br.id AS roleId,
br.parent_id AS parentId,
br.role_name AS roleName
FROM blade_user bu
left JOIN blade_role br on bu.role_id = br.id
WHERE bu.id = #{chiefIdEquals}
</select>
</mapper> </mapper>

View File

@ -21,6 +21,6 @@ public interface EntityDataMapper extends BaseMapper<EntityData> {
IPage<EntityData> getEntityDataList(@Param("entityData") EntityData entityData, IPage<Object> page); IPage<EntityData> getEntityDataList(@Param("entityData") EntityData entityData, IPage<Object> page);
List<UserTenantVo> getEntityDataSourceOrganization(); List<UserTenantVo> getEntityDataSourceOrganization(@Param("disasterId") Long disasterId);
} }

View File

@ -21,6 +21,9 @@
<result property="managerId" column="manager_id" jdbcType="BIGINT"/> <result property="managerId" column="manager_id" jdbcType="BIGINT"/>
<result property="reviewTime" column="review_time" jdbcType="TIMESTAMP"/> <result property="reviewTime" column="review_time" jdbcType="TIMESTAMP"/>
<result property="sourceOrganization" column="source_organization" jdbcType="TIMESTAMP"/> <result property="sourceOrganization" column="source_organization" jdbcType="TIMESTAMP"/>
<result property="uploadType" column="upload_type" jdbcType="INTEGER"/>
<result property="isDeleted" column="is_deleted" jdbcType="INTEGER"/>
<result property="isPublish" column="is_publish" jdbcType="INTEGER"/>
</resultMap> </resultMap>
<sql id="Base_Column_List"> <sql id="Base_Column_List">
@ -29,19 +32,19 @@
ed.upload_time,ed.disaster_id,ed.visual_flag, ed.upload_time,ed.disaster_id,ed.visual_flag,
ed.visual_lon,ed.visual_lat, ed.visual_lon,ed.visual_lat,
ed.status,ed.uploader_id,ed.manager_id, 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
</sql> </sql>
<select id="getEntityDataList" resultType="com.kening.vordm.entity.EntityData"> <select id="getEntityDataList" resultType="com.kening.vordm.entity.EntityData">
select select
<include refid="Base_Column_List"/>, <include refid="Base_Column_List"/>,
gi.username AS uploaderName, gi.username AS uploaderName,
ms.layer_name, di.vordm_id,
ms.vordm_id, di.geometry
ms.name AS msName
from entity_data ed from entity_data ed
left join guest_info gi on gi.id = ed.uploader_id left join guest_info gi on gi.id = ed.uploader_id
left join map_server ms on ms.disaster_id = ed.disaster_id LEFT JOIN disaster_info di on di.id = ed.disaster_id
<where> <where>
<if test="entityData.disasterId != null and entityData.disasterId != ''"> <if test="entityData.disasterId != null and entityData.disasterId != ''">
ed.disaster_id = #{entityData.disasterId} ed.disaster_id = #{entityData.disasterId}
@ -52,6 +55,9 @@
<if test="entityData.visualFlag != null"> <if test="entityData.visualFlag != null">
and ed.visual_flag = #{entityData.visualFlag} and ed.visual_flag = #{entityData.visualFlag}
</if> </if>
<if test="entityData.isPublish != null">
and ed.is_publish = #{entityData.isPublish}
</if>
<if test="entityData.type != null and entityData.type != ''"> <if test="entityData.type != null and entityData.type != ''">
and ed.type = #{entityData.type} and ed.type = #{entityData.type}
</if> </if>
@ -65,6 +71,11 @@
<select id="getEntityDataSourceOrganization" resultType="com.kening.vordm.vo.UserTenantVo"> <select id="getEntityDataSourceOrganization" resultType="com.kening.vordm.vo.UserTenantVo">
select ed.source_organization AS organizationName select ed.source_organization AS organizationName
from entity_data ed from entity_data ed
<where>
<if test="disasterId != null and disasterId != ''">
ed.disaster_id = #{disasterId}
</if>
</where>
GROUP BY ed.source_organization GROUP BY ed.source_organization
</select> </select>
</mapper> </mapper>

View File

@ -28,9 +28,9 @@
</update> </update>
<update id="updateAccount"> <update id="updateAccount">
update blade_user t set t.name = #{name}, t.real_name = #{realName}, t.organization = #{organization}, update blade_user t set t.name = #{userVo.name}, t.real_name = #{userVo.realName}, t.organization = #{userVo.organization},
t.research_field = #{researchField}, t.occupation = #{occupation}, t.code = #{country} t.research_field = #{userVo.researchField}, t.occupation = #{userVo.occupation}, t.code = #{userVo.country}
where t.id = #{id} where t.id = #{userVo.id}
</update> </update>
<select id="getBladeUserByEmail" resultType="com.kening.vordm.vo.UserVo"> <select id="getBladeUserByEmail" resultType="com.kening.vordm.vo.UserVo">
@ -43,11 +43,8 @@
<select id="getByUserStatisticsOne" resultType="java.lang.Integer"> <select id="getByUserStatisticsOne" resultType="java.lang.Integer">
select count(di.id) select count(di.id)
FROM disaster_info di 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
<where> <where>
bu.id = #{userId} di.chief_id = #{userId}
and di.respond_status = 3 and di.respond_status = 3
</where> </where>
</select> </select>
@ -55,11 +52,8 @@
<select id="getByUserStatisticsTwo" resultType="java.lang.Integer"> <select id="getByUserStatisticsTwo" resultType="java.lang.Integer">
select count(di.id) select count(di.id)
FROM disaster_info di 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
<where> <where>
bu.id = #{userId} di.chief_id = #{userId}
and di.respond_status = 2 and di.respond_status = 2
</where> </where>

View File

@ -19,6 +19,7 @@
<select id="queryDisasterPage" resultType="com.kening.vordm.entity.DataUpload"> <select id="queryDisasterPage" resultType="com.kening.vordm.entity.DataUpload">
select select
di.disaster_keyword, di.disaster_keyword,
di.vordm_id,
bdb.dict_value as disasterType, bdb.dict_value as disasterType,
di.id as disasterId, di.id as disasterId,
di.disaster_time as disasterTime, di.disaster_time as disasterTime,
@ -36,7 +37,7 @@
ed.visual_lon,ed.visual_lat, ed.visual_lon,ed.visual_lat,
ed.status,ed.uploader_id,ed.manager_id, ed.status,ed.uploader_id,ed.manager_id,
ed.review_time, ed.source_organization, ed.review_time, ed.source_organization,
ed.upload_type, ed.upload_type, ed.is_publish,
bu.name as uploaderName bu.name as uploaderName
from entity_data ed from entity_data ed
left join blade_user bu on bu.id = ed.uploader_id left join blade_user bu on bu.id = ed.uploader_id

View File

@ -33,6 +33,9 @@
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/> <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
<result property="downloadUrl" column="download_url" jdbcType="VARCHAR"/> <result property="downloadUrl" column="download_url" jdbcType="VARCHAR"/>
<result property="sourceOrganization" column="source_organization" jdbcType="VARCHAR"/> <result property="sourceOrganization" column="source_organization" jdbcType="VARCHAR"/>
<result property="satelliteType" column="satellite_type" jdbcType="INTEGER"/>
<result property="status" column="status" jdbcType="INTEGER"/>
<result property="uploadId" column="upload_id" jdbcType="INTEGER"/>
</resultMap> </resultMap>
<sql id="Base_Column_List"> <sql id="Base_Column_List">
@ -44,7 +47,7 @@
upper_left_lon,upper_right_lat,upper_right_lon, upper_left_lon,upper_right_lat,upper_right_lon,
view_center_lat,view_center_lon,lower_right_lat, view_center_lat,view_center_lon,lower_right_lat,
lower_right_lon,lower_left_lat,lower_left_lon, lower_right_lon,lower_left_lat,lower_left_lon,
disaster_id,create_time,download_url,source_organization disaster_id,create_time,download_url,source_organization,satellite_type,status,upload_id
</sql> </sql>
<select id="getRemoteSensingSourceData" resultMap="BaseResultMap"> <select id="getRemoteSensingSourceData" resultMap="BaseResultMap">
@ -71,6 +74,9 @@
<if test="remoteSensingSourceData.disasterId != null and remoteSensingSourceData.disasterId != ''"> <if test="remoteSensingSourceData.disasterId != null and remoteSensingSourceData.disasterId != ''">
r.disaster_id = #{remoteSensingSourceData.disasterId} r.disaster_id = #{remoteSensingSourceData.disasterId}
</if> </if>
<if test="remoteSensingSourceData.status != null">
and r.status = #{remoteSensingSourceData.status}
</if>
<if test="remoteSensingSourceData.productResolutionMax != null and remoteSensingSourceData.productResolutionMin != null"> <if test="remoteSensingSourceData.productResolutionMax != null and remoteSensingSourceData.productResolutionMin != null">
and r.product_resolution &gt;= #{remoteSensingSourceData.productResolutionMin} and r.product_resolution &lt; #{remoteSensingSourceData.productResolutionMax} and r.product_resolution &gt;= #{remoteSensingSourceData.productResolutionMin} and r.product_resolution &lt; #{remoteSensingSourceData.productResolutionMax}
</if> </if>

View File

@ -4,6 +4,8 @@ package com.kening.vordm.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.kening.vordm.entity.Tool; import com.kening.vordm.entity.Tool;
import java.util.List;
/** /**
* @author G1393 * @author G1393
* @description 针对表tool(模型工具表)的数据库操作Mapper * @description 针对表tool(模型工具表)的数据库操作Mapper
@ -13,4 +15,7 @@ import com.kening.vordm.entity.Tool;
public interface ToolMapper extends BaseMapper<Tool> { public interface ToolMapper extends BaseMapper<Tool> {
List<Tool> toolRanking();
Integer selectCountShowName();
} }

View File

@ -18,8 +18,9 @@
<result property="type" column="type" jdbcType="VARCHAR"/> <result property="type" column="type" jdbcType="VARCHAR"/>
<result property="voluntaryFlag" column="voluntary_flag" jdbcType="INTEGER"/> <result property="voluntaryFlag" column="voluntary_flag" jdbcType="INTEGER"/>
<result property="uploader" column="uploader" jdbcType="BIGINT"/> <result property="uploader" column="uploader" jdbcType="BIGINT"/>
<result property="show_name" column="show_name" jdbcType="VARCHAR"/> <result property="showName" column="show_name" jdbcType="VARCHAR"/>
<result property="e_mail" column="e_mail" jdbcType="VARCHAR"/> <result property="mailbox" column="mailbox" jdbcType="VARCHAR"/>
<result property="paperLink" column="paper_link" jdbcType="VARCHAR"/>
</resultMap> </resultMap>
<sql id="Base_Column_List"> <sql id="Base_Column_List">
@ -27,6 +28,20 @@
Introduction,link,detail, Introduction,link,detail,
create_time,upload_id,manager_id, create_time,upload_id,manager_id,
review_time,type,voluntary_flag, review_time,type,voluntary_flag,
uploader,show_name,e_mail uploader,show_name,mailbox,paper_link
</sql> </sql>
<select id="toolRanking" resultType="com.kening.vordm.entity.Tool">
select show_name, count(*) as number from tool group by show_name order by number desc limit 10
</select>
<select id="selectCountShowName" resultType="java.lang.Integer">
select
count(1)
from (
select
count(1)
from tool
group by show_name
) t
</select>
</mapper> </mapper>

View File

@ -21,6 +21,7 @@
di.disaster_keyword, di.disaster_keyword,
bdb.dict_value as disasterType, bdb.dict_value as disasterType,
di.id as disasterId, di.id as disasterId,
di.vordm_id,
di.disaster_time as disasterTime, di.disaster_time as disasterTime,
di.disaster_country as disasterCountry di.disaster_country as disasterCountry
from disaster_info di from disaster_info di

View File

@ -2,7 +2,9 @@ package com.kening.vordm.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.kening.vordm.entity.Websites; import com.kening.vordm.entity.Websites;
import org.apache.ibatis.annotations.Param;
/** /**
* @author G1393 * @author G1393
@ -13,4 +15,5 @@ import com.kening.vordm.entity.Websites;
public interface WebsitesMapper extends BaseMapper<Websites> { public interface WebsitesMapper extends BaseMapper<Websites> {
IPage<Websites> websitesPage(IPage<Object> page,@Param("websites") Websites websites);
} }

View File

@ -20,4 +20,14 @@
provider,disaster_id,create_time, provider,disaster_id,create_time,
website_id,upload_id website_id,upload_id
</sql> </sql>
<select id="websitesPage" resultType="com.kening.vordm.entity.Websites">
SELECT id,title,link,provider,disaster_id,create_time,website_id,upload_id
FROM websites
<where>
<if test="websites.disasterId!=null">
and disaster_id = #{websites.disasterId}
</if>
</where>
</select>
</mapper> </mapper>

View File

@ -24,7 +24,7 @@
</sql> </sql>
<select id="wordCount" resultType="com.kening.vordm.entity.WorldCharts" parameterType="java.lang.Long"> <select id="wordCount" resultType="com.kening.vordm.entity.WorldCharts" parameterType="java.lang.Long">
select select
DATE_FORMAT(create_time,'%Y-%m-%d') date, date,
frequency value, frequency value,
word name, word name,
type type
@ -35,5 +35,6 @@
and disaster_id = #{disasterId} and disaster_id = #{disasterId}
</if> </if>
</where> </where>
ORDER BY date DESC
</select> </select>
</mapper> </mapper>

View File

@ -72,4 +72,6 @@ public interface DisasterInfoService extends IService<DisasterInfo> {
Integer getByUserDisasterInfo(Long userId, Long disasterId); Integer getByUserDisasterInfo(Long userId, Long disasterId);
UserVo getByUserDisasterInfoStatistics(Long userId); UserVo getByUserDisasterInfoStatistics(Long userId);
CallForHelpVo getByUserIdRole(Long chiefIdEquals);
} }

View File

@ -20,10 +20,10 @@ public interface EntityDataService extends IService<EntityData> {
IPage<EntityData> getEntityDataList(IPage<Object> page, EntityData entityData); IPage<EntityData> getEntityDataList(IPage<Object> page, EntityData entityData);
/** /**
* 获取所不可可视化下机构信息 * 获取所不可可视化下机构信息
* @return * @return
*/ */
List<UserTenantVo> getEntityDataSourceOrganization(); List<UserTenantVo> getEntityDataSourceOrganization(Long disasterId);
/** /**
* Resource upload 上传实体信息 * Resource upload 上传实体信息

View File

@ -4,6 +4,8 @@ package com.kening.vordm.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.kening.vordm.entity.Tool; import com.kening.vordm.entity.Tool;
import java.util.List;
/** /**
* @author G1393 * @author G1393
* @description 针对表tool(模型工具表)的数据库操作Service * @description 针对表tool(模型工具表)的数据库操作Service
@ -11,4 +13,7 @@ import com.kening.vordm.entity.Tool;
*/ */
public interface ToolService extends IService<Tool> { public interface ToolService extends IService<Tool> {
List<Tool> toolRanking();
Object statistics();
} }

View File

@ -1,8 +1,10 @@
package com.kening.vordm.service; package com.kening.vordm.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.kening.vordm.entity.Websites; import com.kening.vordm.entity.Websites;
import com.kening.vordm.vo.CallForHelpVo;
/** /**
* @author G1393 * @author G1393
@ -11,4 +13,5 @@ import com.kening.vordm.entity.Websites;
*/ */
public interface WebsitesService extends IService<Websites> { public interface WebsitesService extends IService<Websites> {
IPage<Websites> websitesPage(IPage<Object> page, Websites websites);
} }

View File

@ -20,7 +20,6 @@ import org.springblade.common.cache.CacheNames;
import org.springblade.core.redis.cache.BladeRedis; import org.springblade.core.redis.cache.BladeRedis;
import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R; 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.DigestUtil;
import org.springblade.core.tool.utils.StringUtil; import org.springblade.core.tool.utils.StringUtil;
import org.springframework.scheduling.annotation.Async; import org.springframework.scheduling.annotation.Async;
@ -236,6 +235,11 @@ public class DisasterInfoServiceImpl extends ServiceImpl<DisasterInfoMapper, Dis
return userVo; return userVo;
} }
@Override
public CallForHelpVo getByUserIdRole(Long chiefIdEquals) {
return this.baseMapper.getByUserIdRole(chiefIdEquals);
}
/** /**
* 后台管理系统-控制台灾害各项统计 * 后台管理系统-控制台灾害各项统计
* @description 暂时没有条件查询 所有统计都暂时写在一个查询里面 * @description 暂时没有条件查询 所有统计都暂时写在一个查询里面

View File

@ -1,5 +1,6 @@
package com.kening.vordm.service.impl; package com.kening.vordm.service.impl;
import cn.hutool.core.date.DateTime;
import com.alibaba.nacos.common.utils.StringUtils; import com.alibaba.nacos.common.utils.StringUtils;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
@ -25,6 +26,8 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
@ -64,8 +67,8 @@ public class EntityDataServiceImpl extends ServiceImpl<EntityDataMapper, EntityD
* @return * @return
*/ */
@Override @Override
public List<UserTenantVo> getEntityDataSourceOrganization() { public List<UserTenantVo> getEntityDataSourceOrganization(Long disasterId) {
return this.baseMapper.getEntityDataSourceOrganization(); return this.baseMapper.getEntityDataSourceOrganization(disasterId);
} }
@ -75,6 +78,8 @@ public class EntityDataServiceImpl extends ServiceImpl<EntityDataMapper, EntityD
//创建实体数据 //创建实体数据
EntityData entityData = new EntityData(); EntityData entityData = new EntityData();
RemoteSensingSourceData remoteSensingSourceData = new RemoteSensingSourceData();
//判断上传用户是否存在 //判断上传用户是否存在
LambdaQueryWrapper<GuestInfo> qw = new LambdaQueryWrapper<>(); LambdaQueryWrapper<GuestInfo> qw = new LambdaQueryWrapper<>();
qw.eq(GuestInfo::getEmail, entityDataUserVo.getEmail()); qw.eq(GuestInfo::getEmail, entityDataUserVo.getEmail());
@ -91,19 +96,23 @@ public class EntityDataServiceImpl extends ServiceImpl<EntityDataMapper, EntityD
guestInfo.setProfessionalTitle(entityDataUserVo.getProfessionalTitle()); guestInfo.setProfessionalTitle(entityDataUserVo.getProfessionalTitle());
guestInfoMapper.insert(guestInfo); guestInfoMapper.insert(guestInfo);
entityData.setUploaderId(guestInfo.getId()); entityData.setUploaderId(guestInfo.getId());
remoteSensingSourceData.setUploadId(guestInfo.getId());
} else { } else {
entityData.setUploaderId(guestInfo1.getId()); entityData.setUploaderId(guestInfo1.getId());
remoteSensingSourceData.setUploadId(guestInfo1.getId());
} }
if (entityDataUserVo.getType().equals("4")) { if (entityDataUserVo.getType().equals("4")) {
RemoteSensingSourceData remoteSensingSourceData = new RemoteSensingSourceData();
remoteSensingSourceData.setDisasterId(entityDataUserVo.getDisasterId()); remoteSensingSourceData.setDisasterId(entityDataUserVo.getDisasterId());
remoteSensingSourceData.setSourceOrganization(entityDataUserVo.getOrganization()); remoteSensingSourceData.setSourceOrganization(entityDataUserVo.getOrganization());
remoteSensingSourceData.setSatelliteCode(entityDataUserVo.getSatelliteCode()); remoteSensingSourceData.setSatelliteCode(entityDataUserVo.getSatelliteCode());
remoteSensingSourceData.setProductResolution(entityDataUserVo.getProductResolution()); remoteSensingSourceData.setProductResolution(entityDataUserVo.getProductResolution());
remoteSensingSourceData.setCloudCover(entityDataUserVo.getCloudCover()); remoteSensingSourceData.setCloudCover(entityDataUserVo.getCloudCover());
remoteSensingSourceData.setProductTime(entityDataUserVo.getProductTime());
Date date= new Date(DateTime.parse(entityDataUserVo.getProductTime()));
remoteSensingSourceData.setProductTime(date);
remoteSensingSourceData.setProductBandsNum(entityDataUserVo.getProductBandsNum()); remoteSensingSourceData.setProductBandsNum(entityDataUserVo.getProductBandsNum());
//0-爬虫获取1-未审核2-已审核上传源数据未补充下载 链接3-已审核上传源数据已补充下载链接
remoteSensingSourceData.setStatus(1); remoteSensingSourceData.setStatus(1);
return R.status(remoteSensingSourceDataMapper.insert(remoteSensingSourceData) > 0); return R.status(remoteSensingSourceDataMapper.insert(remoteSensingSourceData) > 0);
} else { } else {
@ -137,5 +146,4 @@ public class EntityDataServiceImpl extends ServiceImpl<EntityDataMapper, EntityD
} }
} }
} }

View File

@ -102,12 +102,14 @@ public class OtherDataServiceImpl extends ServiceImpl<OtherDataMapper, EntityDat
entityData.setDisasterId(OtherData.getDisasterId()); entityData.setDisasterId(OtherData.getDisasterId());
entityData.setUploadTime(new Date()); entityData.setUploadTime(new Date());
entityData.setRemark(OtherData.getRemark()); entityData.setRemark(OtherData.getRemark());
entityData.setTitle(OtherData.getTitle());
entityData.setStatus(1); entityData.setStatus(1);
entityData.setUploadType(2); entityData.setUploadType(2);
entityData.setUploaderId(AuthUtil.getUserId()); entityData.setUploaderId(AuthUtil.getUserId());
entityData.setManagerId(AuthUtil.getUserId()); entityData.setManagerId(AuthUtil.getUserId());
entityData.setReviewTime(new Date()); entityData.setReviewTime(new Date());
entityData.setVisualFlag(OtherData.getVisualFlag()); entityData.setVisualFlag(OtherData.getVisualFlag());
entityData.setSourceOrganization(OtherData.getSourceOrganization());
return save(entityData); return save(entityData);
} }
} }

View File

@ -16,15 +16,15 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
/** /**
* @author G1393 * @author G1393
* @description 针对表picture_info(照片存储表)的数据库操作Service实现 * @description 针对表picture_info(照片存储表)的数据库操作Service实现
* @createDate 2023-04-04 15:54:31 * @createDate 2023-04-04 15:54:31
*/ */
@Slf4j @Slf4j
@Service @Service
@AllArgsConstructor @AllArgsConstructor
public class PictureInfoServiceImpl extends ServiceImpl<PictureInfoMapper, PictureInfo> public class PictureInfoServiceImpl extends ServiceImpl<PictureInfoMapper, PictureInfo>
implements PictureInfoService { implements PictureInfoService {
/** /**
* 对象存储模块 * 对象存储模块
@ -33,18 +33,22 @@ implements PictureInfoService {
/** /**
* 修改图片信息 * 修改图片信息
*
* @param pictureInfo * @param pictureInfo
* @return * @return
*/ */
@Override @Override
public boolean updatePicture(PictureInfo pictureInfo) { public boolean updatePicture(PictureInfo pictureInfo) {
MultipartFile multipartFile = pictureInfo.getFile();
BladeFile bladeFile = minioTemplate.putFile(multipartFile);
PictureInfo picture = new PictureInfo(); PictureInfo picture = new PictureInfo();
MultipartFile multipartFile = pictureInfo.getFile();
if (multipartFile!=null){
BladeFile bladeFile = minioTemplate.putFile(multipartFile);
picture.setLink(bladeFile.getLink()); picture.setLink(bladeFile.getLink());
picture.setName(bladeFile.getOriginalName());
picture.setSize(multipartFile.getSize()); picture.setSize(multipartFile.getSize());
picture.setType(multipartFile.getOriginalFilename().substring(multipartFile.getOriginalFilename().indexOf(".")+1)); picture.setType(multipartFile.getOriginalFilename().substring(multipartFile.getOriginalFilename().indexOf(".") + 1));
}
picture.setName(pictureInfo.getName());
picture.setIsMain(pictureInfo.getIsMain()); picture.setIsMain(pictureInfo.getIsMain());
picture.setId(pictureInfo.getId()); picture.setId(pictureInfo.getId());
return updateById(picture); return updateById(picture);
@ -52,21 +56,26 @@ implements PictureInfoService {
/** /**
* 上传图片 * 上传图片
*
* @param otherData * @param otherData
* @return * @return
*/ */
@Override @Override
public boolean uploadData(OtherData otherData) { public boolean uploadData(OtherData otherData) {
log.info("上传数据:{}",otherData); log.info("上传数据:{}", otherData);
List<PictureInfo> pictureInfoList = new ArrayList<>(); List<PictureInfo> pictureInfoList = new ArrayList<>();
for (MultipartFile multipartFile : otherData.getFile()) { for (MultipartFile multipartFile : otherData.getFile()) {
BladeFile bladeFile = minioTemplate.putFile(multipartFile); BladeFile bladeFile = minioTemplate.putFile(multipartFile);
PictureInfo pictureInfo = new PictureInfo(); PictureInfo pictureInfo = new PictureInfo();
pictureInfo.setLink(bladeFile.getLink()); pictureInfo.setLink(bladeFile.getLink());
pictureInfo.setDisasterId(otherData.getDisasterId()); pictureInfo.setDisasterId(otherData.getDisasterId());
if (otherData.getTitle() != null && !otherData.getTitle().equals("null")) {
pictureInfo.setName(otherData.getTitle());
} else {
pictureInfo.setName(bladeFile.getOriginalName()); pictureInfo.setName(bladeFile.getOriginalName());
}
pictureInfo.setSize(multipartFile.getSize()); 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()); pictureInfo.setIsMain(otherData.getIsMain());
pictureInfoList.add(pictureInfo); pictureInfoList.add(pictureInfo);
} }

View File

@ -1,11 +1,17 @@
package com.kening.vordm.service.impl; package com.kening.vordm.service.impl;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.kening.vordm.entity.Tool; import com.kening.vordm.entity.Tool;
import com.kening.vordm.mapper.ToolMapper; import com.kening.vordm.mapper.ToolMapper;
import com.kening.vordm.service.ToolService; import com.kening.vordm.service.ToolService;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/** /**
* @author G1393 * @author G1393
* @description 针对表tool(模型工具表)的数据库操作Service实现 * @description 针对表tool(模型工具表)的数据库操作Service实现
@ -15,4 +21,39 @@ import org.springframework.stereotype.Service;
public class ToolServiceImpl extends ServiceImpl<ToolMapper, Tool> public class ToolServiceImpl extends ServiceImpl<ToolMapper, Tool>
implements ToolService { implements ToolService {
@Override
public List<Tool> toolRanking() {
return this.baseMapper.toolRanking();
}
@Override
@Cacheable("tool_statistics")
public Object statistics() {
Map<String, Object> map = new HashMap<>();
//获取工具总数条件审核时间不为空
Integer toolCount = this.baseMapper.selectCount(Wrappers.<Tool>lambdaQuery().isNotNull(Tool::getReviewTime));
map.put("toolCount", toolCount);
//获取贡献者数量分组使用showName
Integer contributorCount = this.baseMapper.selectCountShowName();
map.put("contributorCount", contributorCount);
//查询总点击量
Tool toolVisits = this.baseMapper.selectOne(Wrappers.<Tool>query().isNotNull("review_time").select("sum(tool_visits) as tool_visits"));
map.put("toolVisits",toolVisits.getToolVisits());
//查询论文点击量
Tool paperVisits = this.baseMapper.selectOne(Wrappers.<Tool>query().isNotNull("review_time").select("sum(paper_visits) as paper_visits"));
map.put("paperVisits",paperVisits.getPaperVisits());
//查询点击量TOP10
List<Tool> toolVisitsTop10 = this.baseMapper.selectList(Wrappers.<Tool>query().isNotNull("review_time").orderByDesc("tool_visits").last("limit 10"));
map.put("toolVisitsTop10",toolVisitsTop10);
//查询论文点击量TOP10
List<Tool> paperVisitsTop10 = this.baseMapper.selectList(Wrappers.<Tool>query().isNotNull("review_time").orderByDesc("paper_visits").last("limit 10"));
map.put("paperVisitsTop10",paperVisitsTop10);
//根据用户分组查询工具数量TOP10
List<Tool> toolCountByUser = this.baseMapper.selectList(Wrappers.<Tool>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<Tool> toolVisitsByUser = this.baseMapper.selectList(Wrappers.<Tool>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;
}
} }

View File

@ -1,5 +1,7 @@
package com.kening.vordm.service.impl; 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.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.kening.vordm.entity.Websites; import com.kening.vordm.entity.Websites;
import com.kening.vordm.mapper.WebsitesMapper; import com.kening.vordm.mapper.WebsitesMapper;
@ -15,4 +17,8 @@ import org.springframework.stereotype.Service;
public class WebsitesServiceImpl extends ServiceImpl<WebsitesMapper, Websites> public class WebsitesServiceImpl extends ServiceImpl<WebsitesMapper, Websites>
implements WebsitesService { implements WebsitesService {
@Override
public IPage<Websites> websitesPage(IPage<Object> page, Websites websites) {
return this.baseMapper.websitesPage(page, websites);
}
} }