diff --git a/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/entity/DisasterInfo.java b/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/entity/DisasterInfo.java index 56b5a90..09a382a 100644 --- a/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/entity/DisasterInfo.java +++ b/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/entity/DisasterInfo.java @@ -67,6 +67,11 @@ public class DisasterInfo implements Serializable { */ private Integer visitCount; + /** + * 本灾害的数据下载次数 + */ + private Integer downloadCount; + /** * 爬虫类型 */ @@ -109,7 +114,6 @@ public class DisasterInfo implements Serializable { /** * 发起机构 */ - @TableField(exist = false) private String sponsorOrganization; /** diff --git a/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/entity/GuestInfo.java b/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/entity/GuestInfo.java index 405bf9d..3c7a47e 100644 --- a/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/entity/GuestInfo.java +++ b/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/entity/GuestInfo.java @@ -51,6 +51,16 @@ public class GuestInfo implements Serializable { */ private Integer isManage; + /** + * 职业 + */ + private String occupation; + + /** + * 职称 + */ + private String professionalTitle; + @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/GuestManageDisasterRef.java b/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/entity/GuestManageDisasterRef.java index a77d85b..b75f64a 100644 --- a/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/entity/GuestManageDisasterRef.java +++ b/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/entity/GuestManageDisasterRef.java @@ -40,6 +40,11 @@ public class GuestManageDisasterRef implements Serializable { */ private Long disasterId; + /** + * 灾害id + */ + private String responseOrganization; + @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/CallForHelpVo.java b/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/vo/CallForHelpVo.java new file mode 100644 index 0000000..d934621 --- /dev/null +++ b/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/vo/CallForHelpVo.java @@ -0,0 +1,45 @@ +package com.kening.vordm.vo; + +import com.kening.vordm.entity.DisasterInfo; +import lombok.Getter; +import lombok.Setter; + +import java.util.Date; + +@Getter +@Setter +public class CallForHelpVo extends DisasterInfo { + + /** + * 灾害id + */ + private Long disasterId; + /** + * 账户id + */ + private Long accountId; + /** + * 用户名称 + */ + private String username; + + /** + * 用户邮件 + */ + private String email; + + /** + * 用户组织机构 + */ + private String organization; + + /** + * 研究范围 + */ + private String researchField; + + /** + * 创建时间 + */ + private Date createTime; +} 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 new file mode 100644 index 0000000..f7ec3db --- /dev/null +++ b/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/vo/DisasterInfoVo.java @@ -0,0 +1,127 @@ +package com.kening.vordm.vo; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.util.Date; +import lombok.Data; + +/** + * + * @TableName disaster_info_vo + */ +@TableName(value ="disaster_info_vo") +@Data +public class DisasterInfoVo implements Serializable { + /** + * 唯一值 + */ + private Long id; + + /** + * 灾害类型 + */ + private String disasterType; + + /** + * 灾害关键词 + */ + private String disasterKeyword; + + /** + * 灾害发生时间 + */ + private LocalDate disasterTime; + + /** + * 灾害发起时间 + */ + private LocalDateTime uploadTime; + + /** + * 灾害区域地理字段 + */ + private String geometry; + + /** + * 灾害强度或震级 + */ + private String disasterLevel; + + /** + * 受灾国家 + */ + private String disasterCountry; + + /** + * 响应状态,0未审批,1审批未通过。2审批通过并正在响应,3审批通过并且响应完成 + */ + private Integer respondStatus; + + /** + * 本灾害的用户访问次数 + */ + private Integer visitCount; + + /** + * 本灾害的数据下载次数 + */ + private Integer downloadCount; + + /** + * 爬虫类型 + */ + private Integer spiderType; + + /** + * 爬虫起始时间 + */ + private Date tempendTime; + + /** + * 爬虫终止时间 + */ + private Date tempStartTime; + + /** + * 数据条目创建时间 + */ + private Date createTime; + + /** + * 灾害id,审批通过后生成 + */ + private String vordmId; + + /** + * 灾害响应时间 + */ + private Date respondTime; + + /** + * 灾害申请组织 + */ + private String sponsorOrganization; + + /** + * + */ + private String disasterImg; + + /** + * 字典名称 + */ + private String dictValue; + + /** + * + */ + private Long size; + + @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/DisasterMangerInfo.java b/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/vo/DisasterMangerInfo.java index 584aaa7..d9f5d92 100644 --- a/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/vo/DisasterMangerInfo.java +++ b/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/vo/DisasterMangerInfo.java @@ -1,7 +1,9 @@ package com.kening.vordm.vo; import com.kening.vordm.entity.DisasterInfo; +import lombok.Data; +@Data public class DisasterMangerInfo extends DisasterInfo { /** * 用户名 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 new file mode 100644 index 0000000..f7de346 --- /dev/null +++ b/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/vo/EntityDataUserVo.java @@ -0,0 +1,146 @@ +package com.kening.vordm.vo; + +import lombok.Data; +import org.springframework.web.multipart.MultipartFile; + +import java.util.Date; +import java.util.List; + +@Data +public class EntityDataUserVo { + + /** + * 数据名称 + */ + private String title; + + /** + * 数据产品的大小(byte) + */ + private Long size; + + /** + * 数据类型(0-基础数据,1-减灾产品,2-制图产品) + */ + private String type; + + /** + * 数据下载链接(网站上,对象存储路径) + */ + private String link; + + /** + * 数据备注 + */ + private String remark; + + /** + * 上传时间 + */ + private Date uploadTime; + + /** + * 灾害id + */ + private Long disasterId; + + /** + * 可视化可视化标志0-不可可视化;1-表示可以可视化 + */ + private Integer visualFlag; + + /** + * 可视化跳转中心经度 + */ + private Double visualLon; + + /** + * 可视化跳转中心纬度 + */ + private Double visualLat; + + /** + * 审核时间 + */ + private Date examTime; + + /** + * 0 未审核,1-审核已通过,2-审核未通过 + */ + private Integer status; + + /** + * 上传人 + */ + private Long uploaderId; + + /** + * 管理人/审核人 + */ + private Long managerId; + + /** + * 审核时间 + */ + private Date reviewTime; + + /** + * 来源机构 + */ + private String sourceOrganization; + + /** + * 用户名称 + */ + private String username; + + /** + * 用户邮件 + */ + private String email; + + /** + * 用户组织机构 + */ + private String organization; + + /** + * 研究范围 + */ + private String researchField; + + /** + * 创建时间 + */ + private Date createTime; + + /** + * 是否是管理员 + */ + private Integer isManage; + + /** + * 验证码 + */ + private Integer Verification; + + /** + * 职业 + */ + private String occupation; + + /** + * 职称 + */ + private String professionalTitle; + + /** + * 职称 + */ + private String key; + + /** + * 文件信息 + */ + private List filesArray; +} diff --git a/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/vo/FileVo.java b/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/vo/FileVo.java new file mode 100644 index 0000000..4aaeeda --- /dev/null +++ b/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/vo/FileVo.java @@ -0,0 +1,20 @@ +package com.kening.vordm.vo; + +import lombok.Data; + +@Data +public class FileVo { + + //文件大小 + private Long fileSize; + + //获取文件类型 + private String fileType; + + //文件后缀 + private String fileSuffix; + + //文件存储路径 + private String link; + +} diff --git a/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/vo/GroupByUse.java b/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/vo/GroupByUse.java index af9d520..9bf4211 100644 --- a/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/vo/GroupByUse.java +++ b/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/vo/GroupByUse.java @@ -22,4 +22,14 @@ public class GroupByUse { * 图标 */ private String icon; + + /** + * 字典值 + */ + private String dicKey; + + /** + * 类型 + */ + private String type; } 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..6979a41 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 @@ -12,5 +12,6 @@ import org.springframework.cloud.client.SpringCloudApplication; public class VoRdmApplication { public static void main(String[] args) { BladeApplication.run(CommonConstant.KN_VORDM_MODULE_NAME, VoRdmApplication.class, args); +// BladeApplication.run("zqq-" + CommonConstant.KN_VORDM_MODULE_NAME, VoRdmApplication.class, args); } } diff --git a/kn-service/biz-vordm/src/main/java/com/kening/vordm/controller/CaptchaController.java b/kn-service/biz-vordm/src/main/java/com/kening/vordm/controller/CaptchaController.java new file mode 100644 index 0000000..8f63236 --- /dev/null +++ b/kn-service/biz-vordm/src/main/java/com/kening/vordm/controller/CaptchaController.java @@ -0,0 +1,41 @@ +package com.kening.vordm.controller; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springblade.common.cache.CacheNames; +import org.springblade.core.boot.ctrl.BladeController; +import org.springblade.core.redis.cache.BladeRedis; +import org.springblade.core.tool.api.R; +import org.springblade.core.tool.utils.StringUtil; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +/** + * @author wanghongqing + * @date 2023/3/31 11:10 + **/ +@RestController +@RequestMapping("/captcha") +@RequiredArgsConstructor +@Api(value = "验证码校验接口", tags = "验证码校验") +public class CaptchaController extends BladeController { + + private final BladeRedis bladeRedis; + + + @PostMapping("/validate") + @ApiOperation(value = "验证码校验", notes = "传入需要校验的验证码以及缓存Key") + public R validDefaultTime(@RequestParam String code, @RequestParam String key) { + // 获取验证码 + String redisCode = bladeRedis.get(CacheNames.CAPTCHA_KEY + key); + // 判断验证码 + if (code == null || !StringUtil.equalsIgnoreCase(redisCode, code)) { + return R.fail(1404, "Verification code error"); + } + return R.success("OK"); + } + +} diff --git a/kn-service/biz-vordm/src/main/java/com/kening/vordm/controller/ContactController.java b/kn-service/biz-vordm/src/main/java/com/kening/vordm/controller/ContactController.java index a10caaa..e27548a 100644 --- a/kn-service/biz-vordm/src/main/java/com/kening/vordm/controller/ContactController.java +++ b/kn-service/biz-vordm/src/main/java/com/kening/vordm/controller/ContactController.java @@ -21,7 +21,7 @@ import java.util.Arrays; @RestController @AllArgsConstructor -@RequestMapping("/contact") +@RequestMapping("/ui/contact") public class ContactController{ private ContactService contactService; @ApiOperationSupport(order = 1) 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 2778cd5..7612b9b 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 @@ -1,27 +1,28 @@ 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.metadata.IPage; -import com.kening.vordm.entity.DisasterInfo; -import com.kening.vordm.entity.DownloadRecord; -import com.kening.vordm.entity.News; -import com.kening.vordm.entity.Websites; -import com.kening.vordm.service.DisasterInfoService; -import com.kening.vordm.service.DownloadRecordService; -import com.kening.vordm.service.NewsService; -import com.kening.vordm.service.WebsitesService; -import com.kening.vordm.vo.DisasterMangerInfo; +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.kening.vordm.entity.*; +import com.kening.vordm.service.*; +import com.kening.vordm.vo.CallForHelpVo; +import com.kening.vordm.vo.DisasterInfoVo; import com.kening.vordm.vo.GroupByUse; import com.kening.vordm.vo.UserTenantVo; import lombok.RequiredArgsConstructor; -import org.springblade.core.mp.support.BladePage; 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.DateUtil; import org.springframework.web.bind.annotation.*; +import java.time.LocalDate; +import java.util.HashMap; import java.util.List; +import java.util.Map; @RestController @RequiredArgsConstructor @@ -34,9 +35,47 @@ public class DisasterInfoController { private final NewsService newsService; + private final PictureInfoService pictureInfoService; + + private final GuestInfoService guestInfoService; + + private final GuestManageDisasterRefService guestManageDisasterRefService; + //下载次数记录 private final DownloadRecordService downloadRecordService; + private final DisasterInfoVoService disasterInfoVoService; + + /** + * 首页数据,轮播和定位相关 + * @return + */ + @GetMapping("/indexData") + public R> indexData(){ + return R.data(disasterInfoService.list(Wrappers.lambdaQuery() + .eq(DisasterInfo::getRespondStatus,2))); + } + + @GetMapping("/getPicInfoByDisasterId") + public R> getPicInfoByDisasterInfoId(Long disasterId){ + return R.data(pictureInfoService.list(Wrappers.lambdaQuery() + .eq(PictureInfo::getDisasterId,disasterId))); + } + + /** + * 灾害查询条件,时间,类型,灾害联动 + * @param disasterInfo + * @return + */ + @GetMapping("/selectCondition") + public R> getSelectCondition1(DisasterInfo disasterInfo){ + String disaster_time = null; + if (disasterInfo.getDisasterTime() != null) { + disaster_time = disasterInfo.getDisasterTime().toString(); + } + return R.data(disasterInfoService.getConditionData(disasterInfo.getDisasterType(), disasterInfo.getDisasterCountry(), disaster_time, disasterInfo.getName() + )); + } /** * 灾害查询条件,时间,类型,灾害联动 @@ -46,53 +85,87 @@ 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 = disasterInfo.getDisasterTime().toString(); + disaster_time = DateUtil.format(disasterInfo.getDisasterTime(),"yyyy-MM-dd"); } return R.data(disasterInfoService.getConditionData(disasterInfo.getDisasterType(), disasterInfo.getDisasterCountry(), disaster_time, disasterInfo.getName() )); } - /** - * 指定条件返回数据 - * - * @param query - * @param disasterInfo - * @return - */ - @GetMapping("/test") - public R> getdata(Query query, DisasterInfo disasterInfo) { - List disasterIds = disasterInfoService.getDisasterId(disasterInfo); - return R.data(newsService.page(Condition.getPage(query), new QueryWrapper().in("disaster_id", disasterIds))); - } /** - * 灾害信息统计 国家/灾害类型 + * 灾害信息统计 国家/灾害类型 左边栏 * - * @param name + * @param * @return */ @GetMapping("/disasterStatistics") - public R> getDisasterStatistics(String name) { - return R.data(disasterInfoService.getDisasterStatistics(name)); + public R>> getDisasterStatistics() { + Map dataMap = new HashMap(); + //按灾害类型查找 第一栏 取前7个 + dataMap.put("type", disasterInfoService.getLeft1Data()); + //按国家统计 第2栏 取前7个 + dataMap.put("country", disasterInfoService.getLeft2Data()); + //发起机构方法 第三个左边栏 取前3个 + dataMap.put("sponsorOrganization",disasterInfoService.getLeft3Data()); + //发起机构方法 第四个左边栏 取前3个 + dataMap.put("responseOrganization",disasterInfoService.getLeft4Data()); + //List groupByUseList = new ArrayList<>(); +// if("searchSponsorOrganization".equals(name)){ +// //发起机构方法 第三个左边栏 +// groupByUseList = disasterInfoService.getLeft3Data(); +// } else if ("searchResponseOrganization".equals(name)) { +// //发起机构方法 第四个左边栏 +// groupByUseList = disasterInfoService.getLeft4Data(); +// }else{ +// groupByUseList = disasterInfoService.getDisasterStatistics(name); +// } + return R.data(dataMap); } /** * 首页数据展示,包括响应中和未响应 * * @param query - * @param respondStatus * @return */ @GetMapping("/homeDisasterInfo") - public R> gethomeDisasterInfo(Query query, Integer respondStatus) { - IPage pages = disasterInfoService.getHomeDisaster(Condition.getPage(query), respondStatus); - return R.data(BladePage.of(pages)); + public R> gethomeDisasterInfo(Query query, @RequestParam Map params) { + return R.data(disasterInfoVoService.page(Condition.getPage(query),Wrappers.lambdaQuery() + .eq(DisasterInfoVo::getRespondStatus, Integer.valueOf(params.get("respondStatus"))) + .ge(StringUtils.isNotBlank(String.valueOf(params.get("startTime"))),DisasterInfoVo::getDisasterTime,LocalDate.parse(String.valueOf(params.get("startTime")))) + .le(StringUtils.isNotBlank(String.valueOf(params.get("endTime"))),DisasterInfoVo::getDisasterTime,LocalDate.parse(String.valueOf(params.get("endTime")))) + .eq(StringUtils.isNotBlank(String.valueOf(params.get("disasterType"))),DisasterInfoVo::getDisasterType, String.valueOf(params.get("disasterType"))) + .orderByDesc(DisasterInfoVo::getDisasterTime) + )); } + public static void main(String[] args) { + System.out.println(LocalDate.now().minusMonths(6).toString()); + } /** * 获取债害详情信息 * @@ -117,16 +190,10 @@ public class DisasterInfoController { */ @PostMapping("/saveDownloadRecord") public R saveDownloadRecord(@RequestBody DownloadRecord downloadRecord) { - LambdaQueryWrapper qw = new LambdaQueryWrapper<>(); - qw.eq(DownloadRecord::getBigType, downloadRecord.getBigType()); - qw.eq(DownloadRecord::getSmallType, downloadRecord.getSmallType()); - qw.eq(DownloadRecord::getDiasterId, downloadRecord.getDiasterId()); - DownloadRecord one = downloadRecordService.getOne(qw); - if (one != null) { - one.setCount(one.getCount() + 1); - downloadRecordService.updateById(one); - } else { - downloadRecordService.save(downloadRecord); + DisasterInfo byId = disasterInfoService.getById(downloadRecord.getDiasterId()); + if (byId != null) { + byId.setDownloadCount(byId.getDownloadCount() +1); + disasterInfoService.updateById(byId); } return R.status(true); } @@ -139,4 +206,30 @@ public class DisasterInfoController { public R> getUserTenant() { return R.data(disasterInfoService.getAllUser()); } + + /** + * call for help + * + */ + @PostMapping("Call-for-help") + public R insertRespondInfo(@RequestBody CallForHelpVo callForHelpVo){ + GuestInfo guestInfo = new GuestInfo(); + BeanUtil.copyProperties(callForHelpVo, guestInfo); + guestInfo.setId(IdWorker.getId()); + DisasterInfo disasterInfo = new DisasterInfo(); + BeanUtil.copyProperties(callForHelpVo, disasterInfo); + disasterInfo.setId(IdWorker.getId()); + GuestManageDisasterRef GuestManageDisasterRef = new GuestManageDisasterRef(); + GuestManageDisasterRef.setId(IdWorker.getId()); + GuestManageDisasterRef.setSponsorId(guestInfo.getId()); + String vordm_id="test"; + GuestManageDisasterRef.setDisasterId(disasterInfo.getId()); + Boolean flag1=guestInfoService.save(guestInfo); + Boolean flag2= guestManageDisasterRefService.save(GuestManageDisasterRef); + Boolean flag3=disasterInfoService.save(disasterInfo); + Boolean callForHelp= flag1&flag2&flag3; +// callForHelpVo.setId(IdWorker.getId()); +// Boolean insertFlag=accountInfoService.save(accountInfo); + return R.data(callForHelp); + } } 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 23bcfa8..172628f 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 @@ -3,13 +3,15 @@ package com.kening.vordm.controller; import com.baomidou.mybatisplus.core.metadata.IPage; import com.kening.vordm.entity.EntityData; import com.kening.vordm.service.EntityDataService; +import com.kening.vordm.vo.EntityDataUserVo; +import com.kening.vordm.vo.UserTenantVo; 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.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; + +import java.util.List; @RestController @RequiredArgsConstructor @@ -17,7 +19,7 @@ import org.springframework.web.bind.annotation.RestController; public class EntityDataController { //实体数据服务层 - private final EntityDataService respondInfoService; + private final EntityDataService entityDataService; /** * 实体数据列表信息 @@ -27,9 +29,26 @@ public class EntityDataController { */ @GetMapping("/getList") public R> getEntityDataList(EntityData entityData, Query query) { - return R.data(respondInfoService.getEntityDataList(Condition.getPage(query), entityData)); + return R.data(entityDataService.getEntityDataList(Condition.getPage(query), entityData)); + } + + /** + * 获取所有实体信息下机构信息 + * @return + */ + @GetMapping("/getEntityDataSourceOrganization") + public R> getEntityDataSourceOrganization() { + return R.data(entityDataService.getEntityDataSourceOrganization()); } + /** + * Resource upload 上传实体信息 + * @return + */ + @PostMapping("/saveEntityData") + public R saveEntityData(EntityDataUserVo entityDataUserVo) { + return R.data(entityDataService.saveEntityData(entityDataUserVo)); + } } diff --git a/kn-service/biz-vordm/src/main/java/com/kening/vordm/controller/FileController.java b/kn-service/biz-vordm/src/main/java/com/kening/vordm/controller/FileController.java new file mode 100644 index 0000000..f91b254 --- /dev/null +++ b/kn-service/biz-vordm/src/main/java/com/kening/vordm/controller/FileController.java @@ -0,0 +1,50 @@ +package com.kening.vordm.controller; + +import cn.hutool.core.date.DateUtil; +import com.kening.vordm.vo.FileVo; +import lombok.extern.slf4j.Slf4j; +import org.springblade.core.oss.MinioTemplate; +import org.springblade.core.oss.model.BladeFile; +import org.springblade.core.tool.api.R; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.multipart.MultipartFile; + +@RequestMapping("/ui/upload") +@RestController +@Slf4j +public class FileController { + + + /** + * 对象存储模块 + */ + @Autowired + private MinioTemplate minioTemplate; + + /** + * 上传文件 + * @param file + * @return + */ + @PostMapping("/uploadFile") + public R upload(MultipartFile file){ + BladeFile bladeFile = minioTemplate.putFile(file); + //获取文件大小 + Long fileSize = file.getSize(); + //获取文件类型 + String fileType = file.getContentType(); + //文件后缀 + String fileSuffix = file.getOriginalFilename(); + //文件存储路径 + String link = bladeFile.getLink(); + FileVo fileVo = new FileVo(); + fileVo.setFileSize(fileSize); + fileVo.setFileType(fileType); + fileVo.setFileSuffix(fileSuffix); + fileVo.setLink(link); + return R.data(bladeFile); + } +} 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 fcd7ef3..bd69049 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 @@ -3,13 +3,16 @@ package com.kening.vordm.controller; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.kening.vordm.entity.DisasterInfo; +import com.kening.vordm.entity.EntityData; import com.kening.vordm.entity.RemoteSensingSourceData; import com.kening.vordm.service.DisasterInfoService; import com.kening.vordm.service.RemoteSensingSourceDataService; +import com.kening.vordm.vo.GroupByUse; import lombok.AllArgsConstructor; 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.DateUtil; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -33,8 +36,32 @@ public class RemoteSensingSourceDataController { */ @GetMapping("/SourceData") public R> getRemoteSensingSourceData(DisasterInfo disasterInfo, Query query){ - List disasterIds=disasterInfoService.getDisasterId(disasterInfo); + List disasterIds = disasterInfoService.getDisasterId(disasterInfo); + if (disasterIds.isEmpty()){ + return R.data(null); + } return R.data(remoteSensingSourceDataService.page(Condition.getPage(query),new QueryWrapper().in("disaster_id",disasterIds))); } + /** + * 实体数据列表信息 + * @param remoteSensingSourceData 实体数据条件信息 + * @param query current当前页 size 每页数据量 + * @return + */ + @GetMapping("/Condition") + public R> getRemoteSensingSourceDataByCondition(RemoteSensingSourceData remoteSensingSourceData, Query query) { + return R.data(remoteSensingSourceDataService.getRemoteSensingSourceDataByCondition(Condition.getPage(query), remoteSensingSourceData)); + } + +// /** +// * 根据页码和灾害信息查出遥感影像源数据,可多个灾害 +// * @param remoteSensingSourceData +// * @param query +// * @return +// */ +// @GetMapping("/Condition1") +// public R> getRemoteSensingSourceDataByCondition(RemoteSensingSourceData remoteSensingSourceData, Query query){ +// return R.data(remoteSensingSourceDataService.page(Condition.getPage(query),Condition.getQueryWrapper(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 826ec4f..c76bd67 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 @@ -21,7 +21,7 @@ import java.util.Arrays; @RestController @AllArgsConstructor -@RequestMapping("/tool") +@RequestMapping("/ui/tool") public class ToolController{ private ToolService toolService; @ApiOperationSupport(order = 1) @@ -60,6 +60,7 @@ public class ToolController{ Tool detail = toolService.getById(id); return R.data(detail); } + @ApiOperationSupport(order = 6) @ApiOperation(value = "提交", notes = "传入Tool") @PostMapping("/submit") 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 1a9c043..0d39144 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 @@ -37,4 +37,11 @@ public interface DisasterInfoMapper extends BaseMapper { List getAllUser(); + List getLeft3Data(); + + List getLeft4Data(); + + List getLeft1Data(); + + List getLeft2Data(); } 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 26f709c..d382336 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 @@ -15,12 +15,14 @@ + + @@ -29,7 +31,7 @@ di.disaster_level,di.disaster_country,di.respond_status, di.visit_count,di.spider_type,di.tempend_time, di.temp_start_time,di.create_time,di.vordm_id, - di.respond_time + di.respond_time,di.download_count,di.sponsor_organization d.disaster_type,d.disaster_time,d.disaster_country, @@ -60,7 +62,7 @@ from disaster_info where - disaster_type=#{disaster_type} + disaster_type like concat('%',#{disaster_type},'%') and disaster_country like concat('%',#{disaster_country},'%') and @@ -76,7 +78,7 @@ + + + + diff --git a/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/DisasterInfoVoMapper.java b/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/DisasterInfoVoMapper.java new file mode 100644 index 0000000..f10a04d --- /dev/null +++ b/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/DisasterInfoVoMapper.java @@ -0,0 +1,18 @@ +package com.kening.vordm.mapper; + +import com.kening.vordm.vo.DisasterInfoVo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** +* @author wangns +* @description 针对表【disaster_info_vo】的数据库操作Mapper +* @createDate 2023-04-10 17:33:26 +* @Entity com.kening.vordm.vo.DisasterInfoVo +*/ +public interface DisasterInfoVoMapper extends BaseMapper { + +} + + + + 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 488cd20..6c1df2c 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 @@ -4,8 +4,11 @@ package com.kening.vordm.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.kening.vordm.entity.EntityData; +import com.kening.vordm.vo.UserTenantVo; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** * @author G1393 * @description 针对表【entity_data(其他上传的实体数据)】的数据库操作Mapper @@ -16,6 +19,8 @@ public interface EntityDataMapper extends BaseMapper { IPage getEntityDataList(@Param("entityData") EntityData entityData, IPage page); - - + + + List getEntityDataSourceOrganization(); + } 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 7c9edc2..a746ff1 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 @@ -44,7 +44,7 @@ and ed.status = #{entityData.status} - + and ed.visual_flag = #{entityData.visualFlag} @@ -56,4 +56,10 @@ ORDER BY ed.upload_time DESC + + 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 6dcedb9..a0b1982 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 @@ -1,22 +1,24 @@ + PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - - - - - - - + + + + + + + + + id,username,email, organization,research_field,create_time, - is_manage + is_manage,occupation,professional_title diff --git a/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/GuestManageDisasterRefMapper.xml b/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/GuestManageDisasterRefMapper.xml index 7b1106c..c24283a 100644 --- a/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/GuestManageDisasterRefMapper.xml +++ b/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/GuestManageDisasterRefMapper.xml @@ -10,10 +10,11 @@ + id,sponsor_id,uploader_id, - manager_id,disaster_id + manager_id,disaster_id,response_organization diff --git a/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/RemoteSensingSourceDataMapper.java b/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/RemoteSensingSourceDataMapper.java index aa73221..a899ac1 100644 --- a/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/RemoteSensingSourceDataMapper.java +++ b/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/RemoteSensingSourceDataMapper.java @@ -2,7 +2,10 @@ package com.kening.vordm.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.kening.vordm.entity.EntityData; import com.kening.vordm.entity.RemoteSensingSourceData; +import com.kening.vordm.vo.GroupByUse; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -16,4 +19,7 @@ import java.util.List; public interface RemoteSensingSourceDataMapper extends BaseMapper { List getRemoteSensingSourceData(@Param("disasterType") String disasterType,@Param("disasterCountry") String disasterCountry,@Param("disasterTime") String disasterTime); + + IPage getRemoteSensingSourceDataByCondition(@Param("remoteSensingSourceData") RemoteSensingSourceData remoteSensingSourceData, IPage page); + } diff --git a/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/RemoteSensingSourceDataMapper.xml b/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/RemoteSensingSourceDataMapper.xml index cc3b4c6..c09eb88 100644 --- a/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/RemoteSensingSourceDataMapper.xml +++ b/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/RemoteSensingSourceDataMapper.xml @@ -62,4 +62,22 @@ AND d.disaster_country = #{disasterCountry} AND d.disaster_time = #{disasterTime} + + + 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 51735e6..323dbe7 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 @@ -11,16 +11,17 @@ import com.kening.vordm.vo.UserTenantVo; import java.util.List; /** -* @author G1393 -* @description 针对表【disaster_info(灾害信息表,存储灾害信息)】的数据库操作Service -* @createDate 2023-04-04 15:54:30 -*/ + * @author G1393 + * @description 针对表【disaster_info(灾害信息表,存储灾害信息)】的数据库操作Service + * @createDate 2023-04-04 15:54:30 + */ public interface DisasterInfoService extends IService { - List getConditionData(String type, String country, String time, String name); + List getConditionData(String type, String country, String time, String name); /** * 获取债害详情信息 + * * @param id * @return */ @@ -28,17 +29,25 @@ public interface DisasterInfoService extends IService { /** * 根据灾害信息获取灾害id + * * @param disasterInfo * @return */ - List getDisasterId(DisasterInfo disasterInfo); + List getDisasterId(DisasterInfo disasterInfo); - List getDisasterStatistics( String name); + List getDisasterStatistics(String name); - IPage getHomeDisaster(IPage page, Integer respondStatus); + IPage getHomeDisaster(IPage page, Integer respondStatus); List getAllUser(); + List getLeft3Data(); + + List getLeft4Data(); + + List getLeft1Data(); + + List getLeft2Data(); } diff --git a/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/DisasterInfoVoService.java b/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/DisasterInfoVoService.java new file mode 100644 index 0000000..20ebf9b --- /dev/null +++ b/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/DisasterInfoVoService.java @@ -0,0 +1,13 @@ +package com.kening.vordm.service; + +import com.kening.vordm.vo.DisasterInfoVo; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author wangns +* @description 针对表【disaster_info_vo】的数据库操作Service +* @createDate 2023-04-10 17:33:26 +*/ +public interface DisasterInfoVoService extends IService { + +} 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 e191f4c..ccdc4f4 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 @@ -4,6 +4,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.EntityData; +import com.kening.vordm.vo.EntityDataUserVo; +import com.kening.vordm.vo.UserTenantVo; + +import java.util.List; /** * @author G1393 @@ -14,4 +18,15 @@ public interface EntityDataService extends IService { IPage getEntityDataList(IPage page, EntityData entityData); + /** + * 获取所以不可可视化下机构信息 + * @return + */ + List getEntityDataSourceOrganization(); + + /** + * Resource upload 上传实体信息 + * @return + */ + Boolean saveEntityData(EntityDataUserVo entityDataUserVo); } diff --git a/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/RemoteSensingSourceDataService.java b/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/RemoteSensingSourceDataService.java index bf7c2bc..04385ca 100644 --- a/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/RemoteSensingSourceDataService.java +++ b/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/RemoteSensingSourceDataService.java @@ -1,8 +1,11 @@ package com.kening.vordm.service; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; +import com.kening.vordm.entity.EntityData; import com.kening.vordm.entity.RemoteSensingSourceData; +import com.kening.vordm.vo.GroupByUse; import org.springframework.stereotype.Service; import java.util.List; @@ -15,4 +18,6 @@ import java.util.List; public interface RemoteSensingSourceDataService extends IService { List getRemoteSensingSourceData(String disasterType,String disasterCountry, String disasterTime); + IPage getRemoteSensingSourceDataByCondition(IPage page, RemoteSensingSourceData remoteSensingSourceData); + } 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 2e7954e..5b2bfd3 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 @@ -46,23 +46,23 @@ implements DisasterInfoService { public List getDisasterId(DisasterInfo disasterInfo){ QueryWrapper qw = new QueryWrapper<>(); if (disasterInfo.getDisasterType()!=null){ - qw.like("disaster_type",disasterInfo.getDisasterType()); + qw.eq("disaster_type",disasterInfo.getDisasterType()); } if (disasterInfo.getDisasterCountry()!=null){ - qw.like("disaster_country",disasterInfo.getDisasterCountry()); + qw.eq("disaster_country",disasterInfo.getDisasterCountry()); } if (disasterInfo.getDisasterTime()!=null){ - qw.like("disaster_time",disasterInfo.getDisasterTime()); + qw.eq("disaster_time",disasterInfo.getDisasterTime()); } List disasterInfos = this.baseMapper.selectList(qw); + List ids = new ArrayList<>(); if (!disasterInfos.isEmpty()){ - List ids = new ArrayList<>(); disasterInfos.stream().forEach(disasterInfo1 -> { - ids.add(disasterInfo1.getId()); + ids .add(disasterInfo1.getId()); }); return ids; } - return null; + return ids; } /** @@ -94,4 +94,25 @@ implements DisasterInfoService { return this.baseMapper.getAllUser(); } + @Override + public List getLeft3Data() { + return this.baseMapper.getLeft3Data(); + } + + @Override + public List getLeft4Data() { + return this.baseMapper.getLeft4Data(); + } + + @Override + public List getLeft1Data() { + return this.baseMapper.getLeft1Data(); + } + + @Override + public List getLeft2Data() { + return this.baseMapper.getLeft2Data(); + } + + } diff --git a/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/impl/DisasterInfoVoServiceImpl.java b/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/impl/DisasterInfoVoServiceImpl.java new file mode 100644 index 0000000..452e93d --- /dev/null +++ b/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/impl/DisasterInfoVoServiceImpl.java @@ -0,0 +1,22 @@ +package com.kening.vordm.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.kening.vordm.vo.DisasterInfoVo; +import com.kening.vordm.service.DisasterInfoVoService; +import com.kening.vordm.mapper.DisasterInfoVoMapper; +import org.springframework.stereotype.Service; + +/** +* @author wangns +* @description 针对表【disaster_info_vo】的数据库操作Service实现 +* @createDate 2023-04-10 17:33:26 +*/ +@Service +public class DisasterInfoVoServiceImpl extends ServiceImpl + implements DisasterInfoVoService{ + +} + + + + diff --git a/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/impl/EntityDataServiceImpl.java b/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/impl/EntityDataServiceImpl.java index 7b28175..35669ff 100644 --- a/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/impl/EntityDataServiceImpl.java +++ b/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/impl/EntityDataServiceImpl.java @@ -1,16 +1,26 @@ package com.kening.vordm.service.impl; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.alibaba.nacos.common.utils.StringUtils; +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.EntityData; +import com.kening.vordm.entity.GuestInfo; import com.kening.vordm.mapper.EntityDataMapper; +import com.kening.vordm.mapper.GuestInfoMapper; import com.kening.vordm.service.EntityDataService; -import org.springblade.core.tool.api.R; -import org.springblade.core.tool.utils.CollectionUtil; +import com.kening.vordm.vo.EntityDataUserVo; +import com.kening.vordm.vo.UserTenantVo; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springblade.core.oss.MinioTemplate; +import org.springblade.core.oss.model.BladeFile; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; +import java.util.ArrayList; +import java.util.Date; import java.util.List; /** @@ -18,14 +28,79 @@ import java.util.List; * @description 针对表【entity_data(其他上传的实体数据)】的数据库操作Service实现 * @createDate 2023-04-04 15:54:30 */ +@Slf4j @Service +@AllArgsConstructor public class EntityDataServiceImpl extends ServiceImpl implements EntityDataService { + private GuestInfoMapper guestInfoMapper; + + /** + * 对象存储模块 + */ + private MinioTemplate minioTemplate; + @Override public IPage getEntityDataList(IPage page, EntityData entityData) { return this.baseMapper.getEntityDataList(entityData, page); } + /** + * 获取所以不可可视化下机构信息 + * + * @return + */ + @Override + public List getEntityDataSourceOrganization() { + return this.baseMapper.getEntityDataSourceOrganization(); + } + + @Override + @Transactional + public Boolean saveEntityData(EntityDataUserVo entityDataUserVo) { + //创建实体数据 + EntityData entityData = new EntityData(); + + //路径拼接 + List link = new ArrayList<>(); + //文件数据 + List filesArray = entityDataUserVo.getFilesArray(); + filesArray.stream().forEach(files->{ + BladeFile bladeFile = minioTemplate.putFile(files); + link.add(bladeFile.getLink()); + }); + + //判断上传用户是否存在 + LambdaQueryWrapper qw = new LambdaQueryWrapper<>(); + qw.eq(GuestInfo::getEmail, entityDataUserVo.getEmail()); + GuestInfo guestInfo1 = guestInfoMapper.selectOne(qw); + if (guestInfo1 == null) { + GuestInfo guestInfo = new GuestInfo(); + guestInfo.setEmail(entityDataUserVo.getEmail()); + guestInfo.setOrganization(entityDataUserVo.getOrganization()); + guestInfo.setIsManage(entityDataUserVo.getIsManage()); + guestInfo.setResearchField(entityDataUserVo.getResearchField()); + guestInfo.setUsername(entityDataUserVo.getUsername()); + guestInfo.setCreateTime(new Date()); + guestInfo.setOccupation(entityDataUserVo.getOccupation()); + guestInfo.setProfessionalTitle(entityDataUserVo.getProfessionalTitle()); + guestInfoMapper.insert(guestInfo); + entityData.setUploaderId(guestInfo.getId()); + } else { + entityData.setUploaderId(guestInfo1.getId()); + } + + //实体数据 + entityData.setTitle(entityDataUserVo.getTitle()); + entityData.setSize(entityDataUserVo.getSize()); + entityData.setLink(StringUtils.join(link,",")); + entityData.setDisasterId(entityDataUserVo.getDisasterId()); + entityData.setUploadTime(new Date()); + entityData.setRemark(entityDataUserVo.getRemark()); + entityData.setSourceOrganization(entityDataUserVo.getOrganization()); + return this.baseMapper.insert(entityData)>1; + } + } diff --git a/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/impl/RemoteSensingSourceDataServiceImpl.java b/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/impl/RemoteSensingSourceDataServiceImpl.java index 2f289a2..701666d 100644 --- a/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/impl/RemoteSensingSourceDataServiceImpl.java +++ b/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/impl/RemoteSensingSourceDataServiceImpl.java @@ -1,9 +1,12 @@ package com.kening.vordm.service.impl; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.kening.vordm.entity.EntityData; import com.kening.vordm.entity.RemoteSensingSourceData; import com.kening.vordm.mapper.RemoteSensingSourceDataMapper; import com.kening.vordm.service.RemoteSensingSourceDataService; +import com.kening.vordm.vo.GroupByUse; import org.springframework.stereotype.Service; import java.util.List; @@ -22,4 +25,8 @@ implements RemoteSensingSourceDataService { return this.baseMapper.getRemoteSensingSourceData(disasterType, disasterCountry, disasterTime); } + @Override + public IPage getRemoteSensingSourceDataByCondition(IPage page, RemoteSensingSourceData remoteSensingSourceData) { + return this.baseMapper.getRemoteSensingSourceDataByCondition(remoteSensingSourceData, page); + } } diff --git a/kn-service/biz-vordm/src/main/java/mapper/DisasterInfoVoMapper.xml b/kn-service/biz-vordm/src/main/java/mapper/DisasterInfoVoMapper.xml new file mode 100644 index 0000000..20eba77 --- /dev/null +++ b/kn-service/biz-vordm/src/main/java/mapper/DisasterInfoVoMapper.xml @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + id,disaster_type,disaster_keyword, + disaster_time,upload_time,geometry, + disaster_level,disaster_country,respond_status, + visit_count,download_count,spider_type, + tempend_time,temp_start_time,create_time, + vordm_id,respond_time,sponsor_organization, + disaster_img,dict_value,size + + diff --git a/kn-service/biz-vordm/src/main/resources/application-dev.yml b/kn-service/biz-vordm/src/main/resources/application-dev.yml index 3aef9ec..c447108 100644 --- a/kn-service/biz-vordm/src/main/resources/application-dev.yml +++ b/kn-service/biz-vordm/src/main/resources/application-dev.yml @@ -1,5 +1,5 @@ spring: datasource: - url: ${kn.datasource.vordm.url} - username: ${kn.datasource.vordm.username} - password: ${kn.datasource.vordm.password} + url: ${blade.datasource.dev.url} + username: ${blade.datasource.dev.username} + password: ${blade.datasource.dev.password} diff --git a/kn-service/kn-setting/pom.xml b/kn-service/kn-setting/pom.xml index b01b199..c4112c2 100644 --- a/kn-service/kn-setting/pom.xml +++ b/kn-service/kn-setting/pom.xml @@ -19,3 +19,4 @@ + diff --git a/kn-service/pom.xml b/kn-service/pom.xml index b1d3bac..e7461aa 100644 --- a/kn-service/pom.xml +++ b/kn-service/pom.xml @@ -5,7 +5,7 @@ 4.0.0 biz-vordm - kn-setting + @@ -65,6 +65,25 @@ + + org.springblade + blade-starter-oss + + + esdk-obs-java + com.huaweicloud + + + + + io.minio + minio + + + org.springframework + spring-mock + 2.0.8 + com.alibaba fastjson