From 2bb3d1eed9334a286998fea53aaca80975b17e2f Mon Sep 17 00:00:00 2001 From: glj <管理局23456> Date: Fri, 7 Apr 2023 18:13:22 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/kening/vordm/entity/DisasterInfo.java | 5 + .../com/kening/vordm/vo/EntityDataUserVo.java | 124 ++++++++++++++++++ .../controller/DisasterInfoController.java | 14 +- .../controller/EntityDataController.java | 29 +++- .../vordm/mapper/DisasterInfoMapper.xml | 3 +- .../kening/vordm/mapper/EntityDataMapper.java | 9 +- .../kening/vordm/mapper/EntityDataMapper.xml | 8 +- .../vordm/service/EntityDataService.java | 15 +++ .../service/impl/EntityDataServiceImpl.java | 63 ++++++++- 9 files changed, 247 insertions(+), 23 deletions(-) create mode 100644 kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/vo/EntityDataUserVo.java 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..201e02e 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; + /** * 爬虫类型 */ 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..5ecbcd1 --- /dev/null +++ b/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/vo/EntityDataUserVo.java @@ -0,0 +1,124 @@ +package com.kening.vordm.vo; + +import lombok.Data; + +import java.util.Date; + +@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; +} 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..6865ec3 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 @@ -117,16 +117,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); } 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..3fea077 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(@RequestBody EntityDataUserVo entityDataUserVo) { + return R.data(entityDataService.saveEntityData(entityDataUserVo)); + } } 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..f78e524 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,6 +15,7 @@ + @@ -29,7 +30,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 d.disaster_type,d.disaster_time,d.disaster_country, 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/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/impl/EntityDataServiceImpl.java b/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/impl/EntityDataServiceImpl.java index 7b28175..4cbad72 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,20 @@ package com.kening.vordm.service.impl; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +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.springframework.stereotype.Service; -import org.springframework.web.multipart.MultipartFile; +import java.util.Date; import java.util.List; /** @@ -18,14 +22,65 @@ 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; + @Override public IPage getEntityDataList(IPage page, EntityData entityData) { return this.baseMapper.getEntityDataList(entityData, page); } + /** + * 获取所以不可可视化下机构信息 + * @return + */ + @Override + public List getEntityDataSourceOrganization() { + return this.baseMapper.getEntityDataSourceOrganization(); + } + + @Override + public Boolean saveEntityData(EntityDataUserVo entityDataUserVo) { + //创建实体数据 + EntityData entityData = new EntityData(); + + //判断上传用户是否存在 + 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()); + guestInfoMapper.insert(guestInfo); + entityData.setUploaderId(guestInfo.getId()); + }else { + entityData.setUploaderId(guestInfo1.getId()); + } + + //实体数据 + entityData.setTitle(entityDataUserVo.getTitle()); + entityData.setSize(entityDataUserVo.getSize()); + entityData.setLink(entityDataUserVo.getLink()); + entityData.setDisasterId(entityDataUserVo.getDisasterId()); + entityData.setUploaderId(entityDataUserVo.getUploaderId()); + entityData.setUploadTime(new Date()); + entityData.setSourceOrganization(entityDataUserVo.getOrganization()); + this.baseMapper.insert(entityData); + + + + return null; + } + }