冲突解决

This commit is contained in:
glj 2023-04-06 09:53:02 +08:00
commit ab282be7a1
28 changed files with 569 additions and 74 deletions

View File

@ -99,6 +99,7 @@ public class DisasterInfo implements Serializable {
@TableField(exist = false) @TableField(exist = false)
private String name; private String name;
@TableField(exist = false) @TableField(exist = false)
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;

View File

@ -0,0 +1,20 @@
package com.kening.vordm.entity;
import lombok.Data;
/**
* 热点区域统计实体类
* @author liyuchen
* @date 2023/04/05
*/
@Data
public class HotspotArea {
/**
* 名称
*/
private String name;
/**
* 频次
*/
private Integer value;
}

View File

@ -0,0 +1,20 @@
package com.kening.vordm.entity;
import lombok.Data;
/**
* 推特数量统计实体
* @author liyuchen
* @date 2023/04/05
*/
@Data
public class Tweets {
/**
* 时间
*/
private String date;
/**
* 数量
*/
private Integer num;
}

View File

@ -0,0 +1,24 @@
package com.kening.vordm.entity;
import lombok.Data;
/**
* 词云图表统计实体
* @author liyuchen
* @date 2023/04/05
*/
@Data
public class WorldCharts {
/**
* 日期
*/
private String date;
/**
* 词名
*/
private String name;
/**
* 频次
*/
private Integer value;
}

View File

@ -0,0 +1,25 @@
package com.kening.vordm.vo;
import com.kening.vordm.entity.DisasterInfo;
public class DisasterMangerInfo extends DisasterInfo {
/**
* 用户名
*/
private String username;
/**
* 密码
*/
private String password;
/**
* 邮箱
*/
private String email;
/**
* 组织机构
*/
private String organization;
}

View File

@ -0,0 +1,25 @@
package com.kening.vordm.vo;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;
@Data
@Getter
@Setter
public class GroupByUse {
/**
* 名称
*/
private String name;
/**
* 数量
*/
private Integer cnt;
/**
* 图标
*/
private String icon;
}

View File

@ -1,9 +1,12 @@
package com.kening.vordm.controller; package com.kening.vordm.controller;
import com.kening.vordm.vo.DisasterMangerInfo;
import com.kening.vordm.vo.GroupByUse;
import com.sun.org.apache.bcel.internal.generic.NEW;
import org.springblade.core.mp.support.BladePage;
import org.springblade.core.mp.support.Query; import org.springblade.core.mp.support.Query;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.kening.vordm.entity.DisasterInfo; import com.kening.vordm.entity.DisasterInfo;
import com.kening.vordm.entity.News; import com.kening.vordm.entity.News;
import com.kening.vordm.service.DisasterInfoService; import com.kening.vordm.service.DisasterInfoService;
@ -15,9 +18,9 @@ import org.springframework.web.bind.annotation.GetMapping;
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 java.util.ArrayList;
import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.Queue;
@RestController @RestController
@RequiredArgsConstructor @RequiredArgsConstructor
@RequestMapping("/ui/disasterInfo") @RequestMapping("/ui/disasterInfo")
@ -26,60 +29,58 @@ public class DisasterInfoController {
private final DisasterInfoService disasterInfoService; private final DisasterInfoService disasterInfoService;
private final NewsService newsService; private final NewsService newsService;
/** /**
* 查询条件封装 * 灾害查询条件时间类型灾害联动
* @param disasterInfo * @param disasterInfo
* @return * @return
*/ */
@GetMapping("/select-condition") @GetMapping("/select-condition")
public List<DisasterInfo> getCountryOrTypeOrTime(DisasterInfo disasterInfo){ public R<List<GroupByUse>> getSelectCondition(DisasterInfo disasterInfo){
QueryWrapper<DisasterInfo> qw = new QueryWrapper<>(); String disaster_time=null;
if (disasterInfo.getDisasterType()!=null){
qw.like("disaster_type",disasterInfo.getDisasterType());
}
if (disasterInfo.getDisasterCountry()!=null){
qw.like("disaster_country",disasterInfo.getDisasterCountry());
}
if (disasterInfo.getDisasterTime()!=null){ if (disasterInfo.getDisasterTime()!=null){
qw.like("disaster_time",disasterInfo.getDisasterTime()); disaster_time=disasterInfo.getDisasterTime().toString();
} }
List<DisasterInfo> disasterInfos = disasterInfoService.list(qw); return R.data(disasterInfoService.getConditionData(disasterInfo.getDisasterType(),disasterInfo.getDisasterCountry(),disaster_time,disasterInfo.getName()
return disasterInfos; ));
}
/**
* 灾害id
* @param disasterInfo
* @return
*/
public List<Long> getDisasterIds(DisasterInfo disasterInfo){
List<DisasterInfo> disasterInfos = getCountryOrTypeOrTime(disasterInfo);
// List<DisasterInfo> disasterInfos = disasterInfoService.list(Condition.getQueryWrapper(disasterInfo));
if (!disasterInfos.isEmpty()){
List<Long> ids = new ArrayList<>();
disasterInfos.stream().forEach(disasterInfo1 -> {
ids.add(disasterInfo1.getId());
});
return ids;
}
return null;
} }
@GetMapping("/getAllData")
public R<List<DisasterInfo>> getalldata(){
return R.data(disasterInfoService.getAllData());
}
/** /**
* 指定条件返回数据 * 指定条件返回数据
* @param query * @param query
* @param disasterInfo * @param disasterInfo
* @return * @return
*/ */
@GetMapping("/test") @GetMapping("/test")
public R<IPage<News>> getdata(Query query, DisasterInfo disasterInfo){ public R<IPage<News>> getdata(Query query, DisasterInfo disasterInfo){
List<Long> disasterIds = getDisasterIds(disasterInfo); List<Long> disasterIds = disasterInfoService.getDisasterId(disasterInfo);
return R.data(newsService.page(Condition.getPage(query),new QueryWrapper<News>().in("disaster_id",disasterIds))); return R.data(newsService.page(Condition.getPage(query),new QueryWrapper<News>().in("disaster_id",disasterIds)));
} }
/**
* 灾害信息统计 国家/灾害类型
* @param name
* @return
*/
@GetMapping("/disasterStatistics")
public R<List<GroupByUse>> getDisasterStatistics(String name){
return R.data(disasterInfoService.getDisasterStatistics(name));
}
/**
* 首页数据展示包括响应中和未响应
* @param query
* @param respondStatus
* @return
*/
@GetMapping("/homeDisasterInfo")
public R<BladePage<DisasterMangerInfo>> gethomeDisasterInfo(Query query,Integer respondStatus){
IPage<DisasterMangerInfo> pages=disasterInfoService.getHomeDisaster(Condition.getPage(query),respondStatus);
return R.data(BladePage.of(pages));
}
/** /**
* 获取债害详情信息 * 获取债害详情信息
* @param id * @param id

View File

@ -0,0 +1,23 @@
package com.kening.vordm.controller;
import com.kening.vordm.service.ManagerInfoService;
import com.kening.vordm.vo.GroupByUse;
import lombok.AllArgsConstructor;
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 java.util.List;
@RestController
@AllArgsConstructor
@RequestMapping
public class ManageInforController {
private final ManagerInfoService managerInfoService;
@GetMapping("manageStatistics")
public R<List<GroupByUse>> manageStatistics(String name){
return R.data(managerInfoService.getMangerStatistics(name));
}
}

View File

@ -0,0 +1,42 @@
package com.kening.vordm.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.kening.vordm.entity.News;
import com.kening.vordm.service.NewsService;
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.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.Map;
/**
* 新闻UI前端控制器
* @author liyuchen
* @date 2023/04/04
*/
@RestController
@AllArgsConstructor
@RequestMapping("/ui/news")
public class NewsController {
private NewsService newsService;
/**
* VordmUI-新闻列表分页查询
* @param params
* @param query
* @return
*/
@GetMapping("/pages")
public R<IPage<News>> pages(@RequestParam Map<String,Object> params, Query query){
return R.data(newsService.page(Condition.getPage(query),Condition.getQueryWrapper(params,News.class)));
}
}

View File

@ -1,5 +1,13 @@
package com.kening.vordm.controller; 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.News;
import com.kening.vordm.service.DisasterInfoService;
import javafx.beans.binding.LongExpression;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import com.kening.vordm.entity.DisasterInfo;
import com.kening.vordm.entity.RemoteSensingSourceData; import com.kening.vordm.entity.RemoteSensingSourceData;
import com.kening.vordm.service.RemoteSensingSourceDataService; import com.kening.vordm.service.RemoteSensingSourceDataService;
import io.swagger.models.auth.In; import io.swagger.models.auth.In;
@ -7,18 +15,29 @@ import lombok.AllArgsConstructor;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springblade.core.tool.api.R; import org.springblade.core.tool.api.R;
import org.springframework.web.bind.annotation.GetMapping; 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.RestController;
import java.util.List; import java.util.List;
@RestController @RestController
@AllArgsConstructor @AllArgsConstructor
@RequestMapping("/remoteSensing")
public class RemoteSensingSourceDataController { public class RemoteSensingSourceDataController {
private RemoteSensingSourceDataService remoteSensingSourceDataService; private RemoteSensingSourceDataService remoteSensingSourceDataService;
private DisasterInfoService disasterInfoService;
@GetMapping("/remoteSensingSourceData") /**
public R<List<RemoteSensingSourceData>> getRemoteSensingSourceData(String disasterType, String disasterCountry, String disasterTime){ * 根据页码和灾害信息查出遥感影像源数据可多个灾害
return R.data(remoteSensingSourceDataService.getRemoteSensingSourceData(disasterType, disasterCountry, disasterTime)); * @param disasterInfo
* @param query
* @return
*/
@GetMapping("/SourceData")
public R<IPage<RemoteSensingSourceData>> getRemoteSensingSourceData(DisasterInfo disasterInfo, Query query){
List<Long> disasterIds=disasterInfoService.getDisasterId(disasterInfo);
return R.data(remoteSensingSourceDataService.page(Condition.getPage(query),new QueryWrapper<RemoteSensingSourceData>().in("disaster_id",disasterIds)));
} }
} }

View File

@ -0,0 +1,51 @@
package com.kening.vordm.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.kening.vordm.entity.SocialMedia;
import com.kening.vordm.entity.Tweets;
import com.kening.vordm.service.SocialMediaService;
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.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
import java.util.Map;
/**
* 多媒体社交数据-前端UI控制器
* @author liyuchen
* @date 2023/04/05
*/
@RestController
@AllArgsConstructor
@RequestMapping("/ui/socialMedia")
public class SocialMediaController {
private SocialMediaService service;
/**
* 媒体社交数据分页展示
* @param params
* @param query
* @return
*/
@GetMapping("/pages")
public R<IPage<SocialMedia>> pages(@RequestParam Map<String,Object> params, Query query){
return R.data(service.page(Condition.getPage(query),Condition.getQueryWrapper(params,SocialMedia.class)));
}
/**
* 推文统计
* @param disasterId 灾害id
* @return
*/
@GetMapping("/tweetsCount")
public R<List<Tweets>> tweetsCount(@RequestParam Long disasterId){
return R.data(service.tweetsCount(disasterId));
}
}

View File

@ -0,0 +1,38 @@
package com.kening.vordm.controller;
import com.kening.vordm.entity.Tweets;
import com.kening.vordm.entity.WordColuds;
import com.kening.vordm.entity.WorldCharts;
import com.kening.vordm.service.WordColudsService;
import lombok.AllArgsConstructor;
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.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
import java.util.Map;
/**
* 词云-UI前端控制器
* @author liyuchen
* @date 2023/04/05
*/
@RestController
@AllArgsConstructor
@RequestMapping("/ui/word")
public class WordColudsController {
private WordColudsService service;
/**
* 词云统计
* @param disasterId 灾害id
* @return
*/
@GetMapping("/wordCount")
public R<Map<String,List<WorldCharts>>> wordCount(@RequestParam Long disasterId){
return R.data(service.wordCount(disasterId));
}
}

View File

@ -2,11 +2,18 @@ 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.DisasterInfo; import com.kening.vordm.entity.DisasterInfo;
<<<<<<< HEAD
import com.kening.vordm.entity.News; import com.kening.vordm.entity.News;
=======
import com.kening.vordm.vo.DisasterMangerInfo;
import com.kening.vordm.vo.GroupByUse;
>>>>>>> c534592f957fb2b2a48a9a9f05724ec5d97cc72e
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
import java.util.Queue;
/** /**
* @author G1393 * @author G1393
@ -16,10 +23,11 @@ import java.util.List;
*/ */
public interface DisasterInfoMapper extends BaseMapper<DisasterInfo> { public interface DisasterInfoMapper extends BaseMapper<DisasterInfo> {
List<DisasterInfo> getSelectCondition(@Param("disaster_type") String disaster_type, List<GroupByUse> getSelectCondition(@Param("disaster_type") String disaster_type,
@Param("disaster_country") String disaster_country, @Param("disaster_country") String disaster_country,
@Param("disaster_time") String disaster_time, @Param("disaster_time") String disaster_time,
@Param("name") String name); @Param("name") String name);
List<DisasterInfo> getHomeDisasterInfo(); List<DisasterInfo> getHomeDisasterInfo();
/** /**
@ -28,4 +36,9 @@ public interface DisasterInfoMapper extends BaseMapper<DisasterInfo> {
* @return * @return
*/ */
DisasterInfo getDisasterInfoDetail(@Param("id") Long id); DisasterInfo getDisasterInfoDetail(@Param("id") Long id);
List<DisasterMangerInfo> getHomeDisaster(IPage<DisasterMangerInfo> page, Integer respondStatus);
List<GroupByUse> getDisasterStatistics(@Param("name" ) String name );
} }

View File

@ -31,21 +31,15 @@
di.temp_start_time,di.create_time,di.vordm_id, di.temp_start_time,di.create_time,di.vordm_id,
di.respond_time di.respond_time
</sql> </sql>
<sql id="Home_Disaster_Info">
d.disaster_type,d.disaster_time,d.disaster_country,
m.organization
</sql>
<select id="getHomeDisasterInfo" parameterType="com.kening.vordm.entity.DisasterInfo"> <select id="getHomeDisasterInfo" parameterType="com.kening.vordm.entity.DisasterInfo">
select * select *
from new_vordm.disaster_info from new_vordm.disaster_info
</select> </select>
<select id="getSelectCondition" parameterType="com.kening.vordm.entity.DisasterInfo">
select distinct #{name} as name
from disaster_info
where
<if test="disaster_type!=null">disaster_type=#{disaster_type}</if>
<if test="disaster_country!=null and (disaster_country!=null or disaster_time!=null)">and</if>
<if test="disaster_country!=null">disaster_country=#{disaster_country}</if>
<if test="disaster_time!=null and disaster_country!=null and disaster_time!=null">and</if>
<if test="disaster_time!=null">disaster_time like #{disaster_time}</if>
</select>
<select id="getDisasterInfoDetail" resultType="com.kening.vordm.entity.DisasterInfo"> <select id="getDisasterInfoDetail" resultType="com.kening.vordm.entity.DisasterInfo">
select select
@ -57,4 +51,34 @@
</if> </if>
</where> </where>
</select> </select>
<select id="getSelectCondition" resultType="com.kening.vordm.vo.GroupByUse">
select distinct ${name} as name
from disaster_info
<if test="disaster_type!=null or disaster_country!=null or disaster_time!=null"> where </if>
<if test="disaster_type!=null"> disaster_type=#{disaster_type} </if>
<if test="disaster_type!=null and (disaster_country!=null or disaster_time!=null)"> and </if>
<if test="disaster_country!=null"> disaster_country like concat('%',#{disaster_country},'%') </if>
<if test="disaster_time!=null and disaster_country!=null and disaster_time!=null"> and </if>
<if test="disaster_time!=null"> disaster_time like concat('%',#{disaster_time},'%')</if>
</select>
<select id="getDisasterStatistics" resultType="com.kening.vordm.vo.GroupByUse">
select ${name} as name,count(*) as cnt
from disaster_info
group by ${name}
order by cnt desc
limit 0,7
</select>
<select id="getHomeDisaster" resultType="com.kening.vordm.vo.DisasterMangerInfo">
select <include refid="Home_Disaster_Info"></include>
from (select distinct manager_id,disaster_id from guest_manage_disaster_ref ) g join manager_info m
join disaster_info d
on g.manager_id=m.id and g.disaster_id=d.id
where d.respond_status=#{respondStatus}
order by d.disaster_time desc
</select>
</mapper> </mapper>

View File

@ -3,6 +3,9 @@ package com.kening.vordm.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.kening.vordm.entity.ManagerInfo; import com.kening.vordm.entity.ManagerInfo;
import com.kening.vordm.vo.GroupByUse;
import java.util.List;
/** /**
* @author G1393 * @author G1393
@ -12,5 +15,6 @@ import com.kening.vordm.entity.ManagerInfo;
*/ */
public interface ManagerInfoMapper extends BaseMapper<ManagerInfo> { public interface ManagerInfoMapper extends BaseMapper<ManagerInfo> {
public List<GroupByUse> manageStatistics(String name);
} }

View File

@ -17,4 +17,13 @@
id,username,password, id,username,password,
email,organization,create_time email,organization,create_time
</sql> </sql>
<select id="manageStatistics" resultType="com.kening.vordm.vo.GroupByUse">
select m.${name} as name,count(*) as cnt
from (select distinct manager_id,disaster_id from guest_manage_disaster_ref ) g join manager_info m
on g.manager_id=m.id
group by m.${name}
order by cnt desc
limit 0,3
</select>
</mapper> </mapper>

View File

@ -3,6 +3,10 @@ package com.kening.vordm.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.kening.vordm.entity.SocialMedia; import com.kening.vordm.entity.SocialMedia;
import com.kening.vordm.entity.Tweets;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/** /**
* @author G1393 * @author G1393
@ -12,5 +16,10 @@ import com.kening.vordm.entity.SocialMedia;
*/ */
public interface SocialMediaMapper extends BaseMapper<SocialMedia> { public interface SocialMediaMapper extends BaseMapper<SocialMedia> {
/**
* 推文统计
* @param disasterId 灾害id
* @return
*/
List<Tweets> tweetsCount(@Param("disasterId") Long disasterId);
} }

View File

@ -36,4 +36,20 @@
disaster_id,type,status, disaster_id,type,status,
manager_id,review_time manager_id,review_time
</sql> </sql>
<select id="tweetsCount" resultType="com.kening.vordm.entity.Tweets" parameterType="java.lang.Long">
select
DATE_FORMAT(time,'%Y-%m-%d %HH') date,
count(id) num
from social_media
<where>
and type = 0
and status = 1
<if test="disasterId!=null">
and disaster_id = #{disasterId}
</if>
</where>
group by date
order by date
</select>
</mapper> </mapper>

View File

@ -3,6 +3,10 @@ package com.kening.vordm.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.kening.vordm.entity.WordColuds; import com.kening.vordm.entity.WordColuds;
import com.kening.vordm.entity.WorldCharts;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/** /**
* @author G1393 * @author G1393
@ -13,4 +17,10 @@ import com.kening.vordm.entity.WordColuds;
public interface WordColudsMapper extends BaseMapper<WordColuds> { public interface WordColudsMapper extends BaseMapper<WordColuds> {
/**
* 词云统计
* @param disasterId 灾害id
* @return
*/
List<WorldCharts> wordCount(@Param("disasterId") Long disasterId);
} }

View File

@ -21,4 +21,17 @@
word,disaster_id,create_time, word,disaster_id,create_time,
status,manager_id,review_time status,manager_id,review_time
</sql> </sql>
<select id="wordCount" resultType="com.kening.vordm.entity.WorldCharts" parameterType="java.lang.Long">
select
DATE_FORMAT(time,'%Y-%m-%d') date,
frequency value,
word name
from word_coluds
<where>
and `status` = 1
<if test="disasterId!=null">
and disaster_id = #{disasterId}
</if>
</where>
</select>
</mapper> </mapper>

View File

@ -1,10 +1,11 @@
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.DisasterInfo; import com.kening.vordm.entity.DisasterInfo;
import com.kening.vordm.entity.News; import com.kening.vordm.vo.DisasterMangerInfo;
import org.springblade.core.tool.api.R; import com.kening.vordm.vo.GroupByUse;
import java.util.List; import java.util.List;
@ -14,11 +15,8 @@ import java.util.List;
* @createDate 2023-04-04 15:54:30 * @createDate 2023-04-04 15:54:30
*/ */
public interface DisasterInfoService extends IService<DisasterInfo> { public interface DisasterInfoService extends IService<DisasterInfo> {
List<DisasterInfo> getAllData();
// Long getDisasterId(DisasterInfo disasterInfo);
List<GroupByUse> getConditionData(String type, String country, String time, String name);
/** /**
* 获取债害详情信息 * 获取债害详情信息
@ -26,4 +24,17 @@ public interface DisasterInfoService extends IService<DisasterInfo> {
* @return * @return
*/ */
DisasterInfo getDisasterInfoDetail(Long id); DisasterInfo getDisasterInfoDetail(Long id);
/**
* 根据灾害信息获取灾害id
* @param disasterInfo
* @return
*/
List<Long> getDisasterId(DisasterInfo disasterInfo);
List<GroupByUse> getDisasterStatistics( String name);
IPage<DisasterMangerInfo> getHomeDisaster(IPage<DisasterMangerInfo> page, Integer respondStatus);
} }

View File

@ -3,6 +3,9 @@ package com.kening.vordm.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.kening.vordm.entity.ManagerInfo; import com.kening.vordm.entity.ManagerInfo;
import com.kening.vordm.vo.GroupByUse;
import java.util.List;
/** /**
* @author G1393 * @author G1393
@ -10,5 +13,5 @@ import com.kening.vordm.entity.ManagerInfo;
* @createDate 2023-04-04 15:54:30 * @createDate 2023-04-04 15:54:30
*/ */
public interface ManagerInfoService extends IService<ManagerInfo> { public interface ManagerInfoService extends IService<ManagerInfo> {
public List<GroupByUse> getMangerStatistics(String name);
} }

View File

@ -3,6 +3,9 @@ package com.kening.vordm.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.kening.vordm.entity.SocialMedia; import com.kening.vordm.entity.SocialMedia;
import com.kening.vordm.entity.Tweets;
import java.util.List;
/** /**
* @author G1393 * @author G1393
@ -10,5 +13,10 @@ import com.kening.vordm.entity.SocialMedia;
* @createDate 2023-04-04 15:54:31 * @createDate 2023-04-04 15:54:31
*/ */
public interface SocialMediaService extends IService<SocialMedia> { public interface SocialMediaService extends IService<SocialMedia> {
/**
* 推文统计
* @param disasterId 灾害id
* @return
*/
List<Tweets> tweetsCount(Long disasterId);
} }

View File

@ -3,6 +3,10 @@ package com.kening.vordm.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.kening.vordm.entity.WordColuds; import com.kening.vordm.entity.WordColuds;
import com.kening.vordm.entity.WorldCharts;
import java.util.List;
import java.util.Map;
/** /**
* @author G1393 * @author G1393
@ -11,4 +15,10 @@ import com.kening.vordm.entity.WordColuds;
*/ */
public interface WordColudsService extends IService<WordColuds> { public interface WordColudsService extends IService<WordColuds> {
/**
* 词云统计
* @param disasterId 灾害id
* @return
*/
Map<String, List<WorldCharts>> wordCount(Long disasterId);
} }

View File

@ -1,13 +1,17 @@
package com.kening.vordm.service.impl; package com.kening.vordm.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
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.DisasterInfo; import com.kening.vordm.entity.DisasterInfo;
import com.kening.vordm.entity.News;
import com.kening.vordm.mapper.DisasterInfoMapper; import com.kening.vordm.mapper.DisasterInfoMapper;
import com.kening.vordm.service.DisasterInfoService; import com.kening.vordm.service.DisasterInfoService;
import com.kening.vordm.vo.DisasterMangerInfo;
import com.kening.vordm.vo.GroupByUse;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List; import java.util.List;
/** /**
@ -20,20 +24,45 @@ import java.util.List;
public class DisasterInfoServiceImpl extends ServiceImpl<DisasterInfoMapper, DisasterInfo> public class DisasterInfoServiceImpl extends ServiceImpl<DisasterInfoMapper, DisasterInfo>
implements DisasterInfoService { implements DisasterInfoService {
// public DisasterInfoServiceImpl(DisasterInfoService disasterInfoService) { /**
// this.disasterInfoService = disasterInfoService; * 返回指定的灾害条目
// } * @param type
* @param country
public List<DisasterInfo> getAllData(){ * @param time
return this.baseMapper.getHomeDisasterInfo(); * @param name
* @return
*/
public List<GroupByUse> getConditionData(String type, String country, String time, String name){
List<GroupByUse> disasterInfos=this.baseMapper.getSelectCondition(type,country,time,name);
return disasterInfos;
} }
// public Long getDisasterId(DisasterInfo disasterInfo){ /**
// QueryWrapper qw=new QueryWrapper<>(disasterInfo); * 用于获取灾害id类型
// Long va=; * @param disasterInfo
// return va; * @return
//// } */
public List<Long> getDisasterId(DisasterInfo disasterInfo){
QueryWrapper<DisasterInfo> qw = new QueryWrapper<>();
if (disasterInfo.getDisasterType()!=null){
qw.like("disaster_type",disasterInfo.getDisasterType());
}
if (disasterInfo.getDisasterCountry()!=null){
qw.like("disaster_country",disasterInfo.getDisasterCountry());
}
if (disasterInfo.getDisasterTime()!=null){
qw.like("disaster_time",disasterInfo.getDisasterTime());
}
List<DisasterInfo> disasterInfos = this.baseMapper.selectList(qw);
if (!disasterInfos.isEmpty()){
List<Long> ids = new ArrayList<>();
disasterInfos.stream().forEach(disasterInfo1 -> {
ids.add(disasterInfo1.getId());
});
return ids;
}
return null;
}
/** /**
* 获取债害详情信息 * 获取债害详情信息
@ -44,4 +73,19 @@ implements DisasterInfoService {
public DisasterInfo getDisasterInfoDetail(Long id) { public DisasterInfo getDisasterInfoDetail(Long id) {
return this.baseMapper.getDisasterInfoDetail(id); return this.baseMapper.getDisasterInfoDetail(id);
} }
/**
* 进行灾害信息的统计国家类型
* @param name
* @return
*/
public List<GroupByUse> getDisasterStatistics(String name){
return this.baseMapper.getDisasterStatistics(name);
}
public IPage<DisasterMangerInfo> getHomeDisaster(IPage<DisasterMangerInfo> page, Integer respondStatus){
List<DisasterMangerInfo> disasterMangerInfos = this.baseMapper.getHomeDisaster(page, respondStatus);
return page.setRecords(disasterMangerInfos);
}
} }

View File

@ -4,8 +4,11 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.kening.vordm.entity.ManagerInfo; import com.kening.vordm.entity.ManagerInfo;
import com.kening.vordm.mapper.ManagerInfoMapper; import com.kening.vordm.mapper.ManagerInfoMapper;
import com.kening.vordm.service.ManagerInfoService; import com.kening.vordm.service.ManagerInfoService;
import com.kening.vordm.vo.GroupByUse;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List;
/** /**
* @author G1393 * @author G1393
* @description 针对表manager_info(管理员用户信息表)的数据库操作Service实现 * @description 针对表manager_info(管理员用户信息表)的数据库操作Service实现
@ -14,5 +17,7 @@ import org.springframework.stereotype.Service;
@Service @Service
public class ManagerInfoServiceImpl extends ServiceImpl<ManagerInfoMapper, ManagerInfo> public class ManagerInfoServiceImpl extends ServiceImpl<ManagerInfoMapper, ManagerInfo>
implements ManagerInfoService { implements ManagerInfoService {
public List<GroupByUse> getMangerStatistics(String name){
return this.baseMapper.manageStatistics(name);
}
} }

View File

@ -2,10 +2,13 @@ package com.kening.vordm.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.kening.vordm.entity.SocialMedia; import com.kening.vordm.entity.SocialMedia;
import com.kening.vordm.entity.Tweets;
import com.kening.vordm.mapper.SocialMediaMapper; import com.kening.vordm.mapper.SocialMediaMapper;
import com.kening.vordm.service.SocialMediaService; import com.kening.vordm.service.SocialMediaService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List;
/** /**
* @author G1393 * @author G1393
* @description 针对表social_media(社交媒体数据表主要指twitterfacebook,微博等数据来源重要字段 time-content)的数据库操作Service实现 * @description 针对表social_media(社交媒体数据表主要指twitterfacebook,微博等数据来源重要字段 time-content)的数据库操作Service实现
@ -15,4 +18,13 @@ import org.springframework.stereotype.Service;
public class SocialMediaServiceImpl extends ServiceImpl<SocialMediaMapper, SocialMedia> public class SocialMediaServiceImpl extends ServiceImpl<SocialMediaMapper, SocialMedia>
implements SocialMediaService { implements SocialMediaService {
/**
* 推文统计
* @param disasterId 灾害id
* @return
*/
@Override
public List<Tweets> tweetsCount(Long disasterId) {
return baseMapper.tweetsCount(disasterId);
}
} }

View File

@ -2,10 +2,15 @@ package com.kening.vordm.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.kening.vordm.entity.WordColuds; import com.kening.vordm.entity.WordColuds;
import com.kening.vordm.entity.WorldCharts;
import com.kening.vordm.mapper.WordColudsMapper; import com.kening.vordm.mapper.WordColudsMapper;
import com.kening.vordm.service.WordColudsService; import com.kening.vordm.service.WordColudsService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/** /**
* @author G1393 * @author G1393
* @description 针对表word_coluds(词云数据)的数据库操作Service实现 * @description 针对表word_coluds(词云数据)的数据库操作Service实现
@ -15,4 +20,14 @@ import org.springframework.stereotype.Service;
public class WordColudsServiceImpl extends ServiceImpl<WordColudsMapper, WordColuds> public class WordColudsServiceImpl extends ServiceImpl<WordColudsMapper, WordColuds>
implements WordColudsService { implements WordColudsService {
/**
* 词云统计
* @param disasterId 灾害id
* @return
*/
@Override
public Map<String, List<WorldCharts>> wordCount(Long disasterId) {
List<WorldCharts> wordColudsList = baseMapper.wordCount(disasterId);
return wordColudsList.stream().collect(Collectors.groupingBy(WorldCharts::getDate));
}
} }