冲突解决
This commit is contained in:
commit
80146ae924
|
@ -29,6 +29,10 @@
|
||||||
<artifactId>blade-core-auto</artifactId>
|
<artifactId>blade-core-auto</artifactId>
|
||||||
<scope>provided</scope>
|
<scope>provided</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.alibaba</groupId>
|
||||||
|
<artifactId>easyexcel</artifactId>
|
||||||
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.springblade</groupId>
|
<groupId>org.springblade</groupId>
|
||||||
<artifactId>blade-core-tool</artifactId>
|
<artifactId>blade-core-tool</artifactId>
|
||||||
|
|
|
@ -0,0 +1,37 @@
|
||||||
|
package org.springblade.common.converter;
|
||||||
|
|
||||||
|
import com.alibaba.excel.converters.Converter;
|
||||||
|
import com.alibaba.excel.enums.CellDataTypeEnum;
|
||||||
|
import com.alibaba.excel.metadata.GlobalConfiguration;
|
||||||
|
import com.alibaba.excel.metadata.data.WriteCellData;
|
||||||
|
import com.alibaba.excel.metadata.property.ExcelContentProperty;
|
||||||
|
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 日期类型转换器-easyexcel注解
|
||||||
|
* @author liyuchen
|
||||||
|
* @date 2023/04/06
|
||||||
|
*/
|
||||||
|
public class DateConverter implements Converter<Date> {
|
||||||
|
|
||||||
|
private static final String PATTERN_YYYY_MM_DD = "yyyy-MM-dd HH:mm:ss";
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Class<?> supportJavaTypeKey() {
|
||||||
|
return Converter.super.supportJavaTypeKey();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CellDataTypeEnum supportExcelTypeKey() {
|
||||||
|
return Converter.super.supportExcelTypeKey();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public WriteCellData<?> convertToExcelData(Date value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception {
|
||||||
|
SimpleDateFormat sdf = new SimpleDateFormat(PATTERN_YYYY_MM_DD);
|
||||||
|
String dateValue = sdf.format(value);
|
||||||
|
return new WriteCellData<>(dateValue);
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,5 +1,9 @@
|
||||||
package com.kening.vordm.entity;
|
package com.kening.vordm.entity;
|
||||||
|
|
||||||
|
import com.alibaba.excel.annotation.ExcelIgnore;
|
||||||
|
import com.alibaba.excel.annotation.ExcelProperty;
|
||||||
|
import com.alibaba.excel.annotation.write.style.ContentRowHeight;
|
||||||
|
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
|
||||||
import com.baomidou.mybatisplus.annotation.TableField;
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
@ -12,55 +16,67 @@ import java.util.Date;
|
||||||
* 热点区域数据
|
* 热点区域数据
|
||||||
* @TableName hotspot
|
* @TableName hotspot
|
||||||
*/
|
*/
|
||||||
@TableName(value ="hotspot")
|
|
||||||
@Data
|
@Data
|
||||||
|
@HeadRowHeight(20)
|
||||||
|
@ContentRowHeight(20)
|
||||||
|
@TableName(value ="hotspot")
|
||||||
public class Hotspot implements Serializable {
|
public class Hotspot implements Serializable {
|
||||||
/**
|
/**
|
||||||
* 数据自增列
|
* 数据自增列
|
||||||
*/
|
*/
|
||||||
@TableId
|
@TableId
|
||||||
|
@ExcelIgnore
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 区域_中文
|
* 区域_中文
|
||||||
*/
|
*/
|
||||||
|
@ExcelProperty(value = "areaCn",index=0)
|
||||||
private String areaCn;
|
private String areaCn;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 区域_英文
|
* 区域_英文
|
||||||
*/
|
*/
|
||||||
|
@ExcelProperty(value = "areaEn",index=1)
|
||||||
private String areaEn;
|
private String areaEn;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 出现频次
|
* 出现频次
|
||||||
*/
|
*/
|
||||||
|
@ExcelProperty(value = "frequency",index=2)
|
||||||
private Integer frequency;
|
private Integer frequency;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 灾害id
|
* 灾害id
|
||||||
*/
|
*/
|
||||||
|
@ExcelIgnore
|
||||||
private Long disasterId;
|
private Long disasterId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 数据条目创建时间
|
* 数据条目创建时间
|
||||||
*/
|
*/
|
||||||
|
@ExcelIgnore
|
||||||
private Date createTime;
|
private Date createTime;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 是否保留此条目,0为未审核,1为审核保留,2为审核不保留
|
* 是否保留此条目,0为未审核,1为审核保留,2为审核不保留
|
||||||
*/
|
*/
|
||||||
|
@ExcelIgnore
|
||||||
private Integer status;
|
private Integer status;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 管理人/审核人
|
* 管理人/审核人
|
||||||
*/
|
*/
|
||||||
|
@ExcelIgnore
|
||||||
private Long managerId;
|
private Long managerId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 审核时间
|
* 审核时间
|
||||||
*/
|
*/
|
||||||
|
@ExcelIgnore
|
||||||
private Date reviewTime;
|
private Date reviewTime;
|
||||||
|
|
||||||
|
@ExcelIgnore
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
package com.kening.vordm.entity;
|
package com.kening.vordm.entity;
|
||||||
|
|
||||||
|
import com.alibaba.excel.annotation.write.style.ContentRowHeight;
|
||||||
|
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
|
||||||
import com.baomidou.mybatisplus.annotation.TableField;
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
|
|
@ -1,5 +1,9 @@
|
||||||
package com.kening.vordm.entity;
|
package com.kening.vordm.entity;
|
||||||
|
|
||||||
|
import com.alibaba.excel.annotation.ExcelIgnore;
|
||||||
|
import com.alibaba.excel.annotation.ExcelProperty;
|
||||||
|
import com.alibaba.excel.annotation.write.style.ContentRowHeight;
|
||||||
|
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
|
||||||
import com.baomidou.mybatisplus.annotation.TableField;
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
@ -10,62 +14,76 @@ import java.util.Date;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新闻咨询数据表
|
* 新闻咨询数据表
|
||||||
|
* @author Administrator
|
||||||
* @TableName news
|
* @TableName news
|
||||||
*/
|
*/
|
||||||
@TableName(value ="news")
|
|
||||||
@Data
|
@Data
|
||||||
|
@HeadRowHeight(20)
|
||||||
|
@ContentRowHeight(20)
|
||||||
|
@TableName(value ="news")
|
||||||
public class News implements Serializable {
|
public class News implements Serializable {
|
||||||
/**
|
/**
|
||||||
* 数据自增列
|
* 数据自增列
|
||||||
*/
|
*/
|
||||||
@TableId
|
@TableId
|
||||||
|
@ExcelIgnore
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新闻名称
|
* 新闻名称
|
||||||
*/
|
*/
|
||||||
|
@ExcelProperty(value="title",index=0)
|
||||||
private String title;
|
private String title;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新闻内容
|
* 新闻内容
|
||||||
*/
|
*/
|
||||||
|
@ExcelProperty(value="content",index=1)
|
||||||
private String content;
|
private String content;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新闻链接
|
* 新闻链接
|
||||||
*/
|
*/
|
||||||
|
@ExcelIgnore
|
||||||
private String link;
|
private String link;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新闻类型(baidu,bing)0-baidu中文 ,1-bing英文
|
* 新闻类型(baidu,bing)0-baidu中文 ,1-bing英文
|
||||||
*/
|
*/
|
||||||
|
@ExcelIgnore
|
||||||
private Integer type;
|
private Integer type;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 灾害id
|
* 灾害id
|
||||||
*/
|
*/
|
||||||
|
@ExcelIgnore
|
||||||
private Long disasterId;
|
private Long disasterId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 数据条目创建时间
|
* 数据条目创建时间
|
||||||
*/
|
*/
|
||||||
|
@ExcelIgnore
|
||||||
private Date createTime;
|
private Date createTime;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 是否保留此条目,0为未审核,1为审核保留,2为审核不保留
|
* 是否保留此条目,0为未审核,1为审核保留,2为审核不保留
|
||||||
*/
|
*/
|
||||||
|
@ExcelIgnore
|
||||||
private Integer status;
|
private Integer status;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 管理人/审核人
|
* 管理人/审核人
|
||||||
*/
|
*/
|
||||||
|
@ExcelIgnore
|
||||||
private Long managerId;
|
private Long managerId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 审核时间
|
* 审核时间
|
||||||
*/
|
*/
|
||||||
|
@ExcelIgnore
|
||||||
private Date reviewTime;
|
private Date reviewTime;
|
||||||
|
|
||||||
|
@ExcelIgnore
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
|
|
@ -1,9 +1,15 @@
|
||||||
package com.kening.vordm.entity;
|
package com.kening.vordm.entity;
|
||||||
|
|
||||||
|
import com.alibaba.excel.annotation.ExcelIgnore;
|
||||||
|
import com.alibaba.excel.annotation.ExcelProperty;
|
||||||
|
import com.alibaba.excel.annotation.format.DateTimeFormat;
|
||||||
|
import com.alibaba.excel.annotation.write.style.ContentRowHeight;
|
||||||
|
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
|
||||||
import com.baomidou.mybatisplus.annotation.TableField;
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
import org.springblade.common.converter.DateConverter;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
@ -12,110 +18,134 @@ import java.util.Date;
|
||||||
* 社交媒体数据表,主要指twitter,facebook,微博等数据来源,重要字段 time-content
|
* 社交媒体数据表,主要指twitter,facebook,微博等数据来源,重要字段 time-content
|
||||||
* @TableName social_media
|
* @TableName social_media
|
||||||
*/
|
*/
|
||||||
@TableName(value ="social_media")
|
|
||||||
@Data
|
@Data
|
||||||
|
@HeadRowHeight(20)
|
||||||
|
@ContentRowHeight(20)
|
||||||
|
@TableName(value ="social_media")
|
||||||
public class SocialMedia implements Serializable {
|
public class SocialMedia implements Serializable {
|
||||||
/**
|
/**
|
||||||
* 数据自增列
|
* 数据自增列
|
||||||
*/
|
*/
|
||||||
@TableId
|
@TableId
|
||||||
|
@ExcelIgnore
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 推文标签链接
|
* 推文标签链接
|
||||||
*/
|
*/
|
||||||
|
@ExcelIgnore
|
||||||
private String link;
|
private String link;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 推文发表时间
|
* 推文发表时间
|
||||||
*/
|
*/
|
||||||
|
@DateTimeFormat("yyyy-MM-dd HH:mm:ss")
|
||||||
|
@ExcelProperty(value="time",index=0,converter = DateConverter.class)
|
||||||
private Date time;
|
private Date time;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 推文内容
|
* 推文内容
|
||||||
*/
|
*/
|
||||||
|
@ExcelProperty(value="content",index=1)
|
||||||
private String content;
|
private String content;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 用户id
|
* 用户id
|
||||||
*/
|
*/
|
||||||
|
@ExcelIgnore
|
||||||
private String userId;
|
private String userId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 点赞数量
|
* 点赞数量
|
||||||
*/
|
*/
|
||||||
|
@ExcelProperty(value="favoriteCount",index=2)
|
||||||
private Integer favoriteCount;
|
private Integer favoriteCount;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 回复数
|
* 回复数
|
||||||
*/
|
*/
|
||||||
|
@ExcelProperty(value="replyCount",index=3)
|
||||||
private Integer replyCount;
|
private Integer replyCount;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 访问树量
|
* 访问树量
|
||||||
*/
|
*/
|
||||||
|
@ExcelProperty(value="visitCount",index=4)
|
||||||
private Integer visitCount;
|
private Integer visitCount;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 转发次数
|
* 转发次数
|
||||||
*/
|
*/
|
||||||
|
@ExcelProperty(value="retweetCount",index=5)
|
||||||
private Integer retweetCount;
|
private Integer retweetCount;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 地理字段
|
* 地理字段
|
||||||
*/
|
*/
|
||||||
|
@ExcelIgnore
|
||||||
private String geo;
|
private String geo;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 坐标
|
* 坐标
|
||||||
*/
|
*/
|
||||||
|
@ExcelIgnore
|
||||||
private String coordinates;
|
private String coordinates;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 发文地
|
* 发文地
|
||||||
*/
|
*/
|
||||||
|
@ExcelIgnore
|
||||||
private String place;
|
private String place;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 贡献者
|
* 贡献者
|
||||||
*/
|
*/
|
||||||
|
@ExcelIgnore
|
||||||
private String contributors;
|
private String contributors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 推文主题
|
* 推文主题
|
||||||
*/
|
*/
|
||||||
|
@ExcelIgnore
|
||||||
private String topic;
|
private String topic;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 数据条目创建时间
|
* 数据条目创建时间
|
||||||
*/
|
*/
|
||||||
|
@ExcelIgnore
|
||||||
private Date createTime;
|
private Date createTime;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 灾害id
|
* 灾害id
|
||||||
*/
|
*/
|
||||||
|
@ExcelIgnore
|
||||||
private Long disasterId;
|
private Long disasterId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 数据类型,0-twitter ,1-weibo
|
* 数据类型,0-twitter ,1-weibo
|
||||||
*/
|
*/
|
||||||
|
@ExcelIgnore
|
||||||
private Integer type;
|
private Integer type;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 审核状态,0为未审核,1为审核保留,2为审核不保留
|
* 审核状态,0为未审核,1为审核保留,2为审核不保留
|
||||||
*/
|
*/
|
||||||
|
@ExcelIgnore
|
||||||
private Integer status;
|
private Integer status;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 管理人/审核人
|
* 管理人/审核人
|
||||||
*/
|
*/
|
||||||
|
@ExcelIgnore
|
||||||
private Long managerId;
|
private Long managerId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 审核时间
|
* 审核时间
|
||||||
*/
|
*/
|
||||||
|
@ExcelIgnore
|
||||||
private Date reviewTime;
|
private Date reviewTime;
|
||||||
|
|
||||||
|
@ExcelIgnore
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
package com.kening.vordm.entity;
|
package com.kening.vordm.entity;
|
||||||
|
|
||||||
|
import com.alibaba.excel.annotation.write.style.ContentRowHeight;
|
||||||
|
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
|
||||||
import com.baomidou.mybatisplus.annotation.TableField;
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
@ -10,11 +12,11 @@ import java.util.Date;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 词云数据
|
* 词云数据
|
||||||
* @TableName word_coluds
|
* @TableName word_clouds
|
||||||
*/
|
*/
|
||||||
@TableName(value ="word_coluds")
|
|
||||||
@Data
|
@Data
|
||||||
public class WordColuds implements Serializable {
|
@TableName(value ="word_clouds")
|
||||||
|
public class WordCLouds implements Serializable {
|
||||||
/**
|
/**
|
||||||
* 数据自增列
|
* 数据自增列
|
||||||
*/
|
*/
|
|
@ -55,6 +55,16 @@
|
||||||
<groupId>org.springframework.cloud</groupId>
|
<groupId>org.springframework.cloud</groupId>
|
||||||
<artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
|
<artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.alibaba</groupId>
|
||||||
|
<artifactId>easyexcel</artifactId>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>cn.hutool</groupId>
|
||||||
|
<artifactId>hutool-all</artifactId>
|
||||||
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
<build>
|
<build>
|
||||||
|
|
|
@ -0,0 +1,37 @@
|
||||||
|
package com.kening.vordm.controller;
|
||||||
|
|
||||||
|
import com.kening.vordm.entity.HotspotArea;
|
||||||
|
import com.kening.vordm.entity.WorldCharts;
|
||||||
|
import com.kening.vordm.service.HotspotService;
|
||||||
|
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/hotspot")
|
||||||
|
public class HotspotController {
|
||||||
|
|
||||||
|
private HotspotService service;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 热点统计
|
||||||
|
* @param disasterId 灾害id
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@GetMapping("/hotspotCount")
|
||||||
|
public R<List<HotspotArea>> hotspotCount(@RequestParam Long disasterId){
|
||||||
|
return R.data(service.hotspotCount(disasterId));
|
||||||
|
}
|
||||||
|
}
|
|
@ -7,11 +7,10 @@ import lombok.AllArgsConstructor;
|
||||||
import org.springblade.core.mp.support.Condition;
|
import org.springblade.core.mp.support.Condition;
|
||||||
import org.springblade.core.mp.support.Query;
|
import org.springblade.core.mp.support.Query;
|
||||||
import org.springblade.core.tool.api.R;
|
import org.springblade.core.tool.api.R;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.*;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RequestParam;
|
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
|
||||||
|
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
import javax.servlet.http.HttpServletResponse;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
|
||||||
|
@ -38,5 +37,15 @@ public class NewsController {
|
||||||
return R.data(newsService.page(Condition.getPage(query),Condition.getQueryWrapper(params,News.class)));
|
return R.data(newsService.page(Condition.getPage(query),Condition.getQueryWrapper(params,News.class)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新闻、热点导出功能
|
||||||
|
* @param disasterId
|
||||||
|
* @param request
|
||||||
|
* @param response
|
||||||
|
* @param type
|
||||||
|
*/
|
||||||
|
@GetMapping("export")
|
||||||
|
public void export(Long disasterId,Integer type,HttpServletRequest request, HttpServletResponse response){
|
||||||
|
newsService.export(disasterId,type,request,response);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,17 +2,13 @@ package com.kening.vordm.controller;
|
||||||
|
|
||||||
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.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.DisasterInfo;
|
||||||
import com.kening.vordm.entity.RemoteSensingSourceData;
|
import com.kening.vordm.entity.RemoteSensingSourceData;
|
||||||
|
import com.kening.vordm.service.DisasterInfoService;
|
||||||
import com.kening.vordm.service.RemoteSensingSourceDataService;
|
import com.kening.vordm.service.RemoteSensingSourceDataService;
|
||||||
import io.swagger.models.auth.In;
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.RequiredArgsConstructor;
|
import org.springblade.core.mp.support.Condition;
|
||||||
|
import org.springblade.core.mp.support.Query;
|
||||||
import org.springblade.core.tool.api.R;
|
import org.springblade.core.tool.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.RequestMapping;
|
||||||
|
|
|
@ -13,6 +13,8 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
import org.springframework.web.bind.annotation.RequestParam;
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
import javax.servlet.http.HttpServletResponse;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
@ -48,4 +50,15 @@ public class SocialMediaController {
|
||||||
public R<List<Tweets>> tweetsCount(@RequestParam Long disasterId){
|
public R<List<Tweets>> tweetsCount(@RequestParam Long disasterId){
|
||||||
return R.data(service.tweetsCount(disasterId));
|
return R.data(service.tweetsCount(disasterId));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 推文数据导出功能
|
||||||
|
* @param disasterId
|
||||||
|
* @param request
|
||||||
|
* @param response
|
||||||
|
*/
|
||||||
|
@GetMapping("export")
|
||||||
|
public void export(Long disasterId, HttpServletRequest request, HttpServletResponse response){
|
||||||
|
service.export(disasterId,request,response);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,9 +1,7 @@
|
||||||
package com.kening.vordm.controller;
|
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.entity.WorldCharts;
|
||||||
import com.kening.vordm.service.WordColudsService;
|
import com.kening.vordm.service.WordCloudsService;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
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;
|
||||||
|
@ -22,9 +20,9 @@ import java.util.Map;
|
||||||
@RestController
|
@RestController
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@RequestMapping("/ui/word")
|
@RequestMapping("/ui/word")
|
||||||
public class WordColudsController {
|
public class WordCloudsController {
|
||||||
|
|
||||||
private WordColudsService service;
|
private WordCloudsService service;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 词云统计
|
* 词云统计
|
|
@ -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.Hotspot;
|
import com.kening.vordm.entity.Hotspot;
|
||||||
|
import com.kening.vordm.entity.HotspotArea;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author G1393
|
* @author G1393
|
||||||
|
@ -12,5 +16,10 @@ import com.kening.vordm.entity.Hotspot;
|
||||||
*/
|
*/
|
||||||
public interface HotspotMapper extends BaseMapper<Hotspot> {
|
public interface HotspotMapper extends BaseMapper<Hotspot> {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 热点统计
|
||||||
|
* @param disasterId 灾害id
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<HotspotArea> hotspotCount(@Param("disasterId") Long disasterId);
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,4 +21,17 @@
|
||||||
frequency,disaster_id,create_time,
|
frequency,disaster_id,create_time,
|
||||||
status,manager_id,review_time
|
status,manager_id,review_time
|
||||||
</sql>
|
</sql>
|
||||||
|
|
||||||
|
<select id="hotspotCount" resultType="com.kening.vordm.entity.HotspotArea">
|
||||||
|
select
|
||||||
|
concat(area_cn,"(",area_en,")") as name,
|
||||||
|
frequency as value
|
||||||
|
from hotspot
|
||||||
|
<where>
|
||||||
|
and `status` = 1
|
||||||
|
<if test="disasterId!=null">
|
||||||
|
and disaster_id = #{disasterId}
|
||||||
|
</if>
|
||||||
|
</where>
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
|
@ -2,7 +2,7 @@ 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.WordCLouds;
|
||||||
import com.kening.vordm.entity.WorldCharts;
|
import com.kening.vordm.entity.WorldCharts;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
@ -10,11 +10,11 @@ import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author G1393
|
* @author G1393
|
||||||
* @description 针对表【word_coluds(词云数据)】的数据库操作Mapper
|
* @description 针对表【word_clouds(词云数据)】的数据库操作Mapper
|
||||||
* @createDate 2023-04-04 15:54:31
|
* @createDate 2023-04-04 15:54:31
|
||||||
* @Entity new.domain.WordColuds
|
* @Entity new.domain.WordColuds
|
||||||
*/
|
*/
|
||||||
public interface WordColudsMapper extends BaseMapper<WordColuds> {
|
public interface WordCloudsMapper extends BaseMapper<WordCLouds> {
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
|
@ -2,9 +2,9 @@
|
||||||
<!DOCTYPE mapper
|
<!DOCTYPE mapper
|
||||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="com.kening.vordm.mapper.WordColudsMapper">
|
<mapper namespace="com.kening.vordm.mapper.WordCloudsMapper">
|
||||||
|
|
||||||
<resultMap id="BaseResultMap" type="com.kening.vordm.entity.WordColuds">
|
<resultMap id="BaseResultMap" type="com.kening.vordm.entity.WordCLouds">
|
||||||
<id property="id" column="id" jdbcType="BIGINT"/>
|
<id property="id" column="id" jdbcType="BIGINT"/>
|
||||||
<result property="time" column="time" jdbcType="TIMESTAMP"/>
|
<result property="time" column="time" jdbcType="TIMESTAMP"/>
|
||||||
<result property="frequency" column="frequency" jdbcType="INTEGER"/>
|
<result property="frequency" column="frequency" jdbcType="INTEGER"/>
|
||||||
|
@ -26,7 +26,7 @@
|
||||||
DATE_FORMAT(time,'%Y-%m-%d') date,
|
DATE_FORMAT(time,'%Y-%m-%d') date,
|
||||||
frequency value,
|
frequency value,
|
||||||
word name
|
word name
|
||||||
from word_coluds
|
from word_clouds
|
||||||
<where>
|
<where>
|
||||||
and `status` = 1
|
and `status` = 1
|
||||||
<if test="disasterId!=null">
|
<if test="disasterId!=null">
|
|
@ -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.Hotspot;
|
import com.kening.vordm.entity.Hotspot;
|
||||||
|
import com.kening.vordm.entity.HotspotArea;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author G1393
|
* @author G1393
|
||||||
|
@ -11,4 +14,10 @@ import com.kening.vordm.entity.Hotspot;
|
||||||
*/
|
*/
|
||||||
public interface HotspotService extends IService<Hotspot> {
|
public interface HotspotService extends IService<Hotspot> {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 热点统计
|
||||||
|
* @param disasterId 灾害id
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<HotspotArea> hotspotCount(Long disasterId);
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,6 +4,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.News;
|
import com.kening.vordm.entity.News;
|
||||||
|
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author G1393
|
* @author G1393
|
||||||
* @description 针对表【news(新闻咨询数据表)】的数据库操作Service
|
* @description 针对表【news(新闻咨询数据表)】的数据库操作Service
|
||||||
|
@ -11,4 +14,12 @@ import com.kening.vordm.entity.News;
|
||||||
*/
|
*/
|
||||||
public interface NewsService extends IService<News> {
|
public interface NewsService extends IService<News> {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新闻、热点导出功能
|
||||||
|
* @param disasterId
|
||||||
|
* @param request
|
||||||
|
* @param response
|
||||||
|
* @param type
|
||||||
|
*/
|
||||||
|
void export(Long disasterId,Integer type, HttpServletRequest request, HttpServletResponse response);
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,6 +5,8 @@ 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 com.kening.vordm.entity.Tweets;
|
||||||
|
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
import javax.servlet.http.HttpServletResponse;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -19,4 +21,12 @@ public interface SocialMediaService extends IService<SocialMedia> {
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
List<Tweets> tweetsCount(Long disasterId);
|
List<Tweets> tweetsCount(Long disasterId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 推文数据导出功能
|
||||||
|
* @param disasterId
|
||||||
|
* @param request
|
||||||
|
* @param response
|
||||||
|
*/
|
||||||
|
void export(Long disasterId, HttpServletRequest request, HttpServletResponse response);
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,7 @@ 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.WordCLouds;
|
||||||
import com.kening.vordm.entity.WorldCharts;
|
import com.kening.vordm.entity.WorldCharts;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -10,10 +10,10 @@ import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author G1393
|
* @author G1393
|
||||||
* @description 针对表【word_coluds(词云数据)】的数据库操作Service
|
* @description 针对表【word_clouds(词云数据)】的数据库操作Service
|
||||||
* @createDate 2023-04-04 15:54:31
|
* @createDate 2023-04-04 15:54:31
|
||||||
*/
|
*/
|
||||||
public interface WordColudsService extends IService<WordColuds> {
|
public interface WordCloudsService extends IService<WordCLouds> {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 词云统计
|
* 词云统计
|
|
@ -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.Hotspot;
|
import com.kening.vordm.entity.Hotspot;
|
||||||
|
import com.kening.vordm.entity.HotspotArea;
|
||||||
import com.kening.vordm.mapper.HotspotMapper;
|
import com.kening.vordm.mapper.HotspotMapper;
|
||||||
import com.kening.vordm.service.HotspotService;
|
import com.kening.vordm.service.HotspotService;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author G1393
|
* @author G1393
|
||||||
* @description 针对表【hotspot(热点区域数据)】的数据库操作Service实现
|
* @description 针对表【hotspot(热点区域数据)】的数据库操作Service实现
|
||||||
|
@ -15,4 +18,13 @@ import org.springframework.stereotype.Service;
|
||||||
public class HotspotServiceImpl extends ServiceImpl<HotspotMapper, Hotspot>
|
public class HotspotServiceImpl extends ServiceImpl<HotspotMapper, Hotspot>
|
||||||
implements HotspotService {
|
implements HotspotService {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 热点统计
|
||||||
|
* @param disasterId 灾害id
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<HotspotArea> hotspotCount(Long disasterId) {
|
||||||
|
return baseMapper.hotspotCount(disasterId);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,18 +1,82 @@
|
||||||
package com.kening.vordm.service.impl;
|
package com.kening.vordm.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.exceptions.ExceptionUtil;
|
||||||
|
import com.alibaba.excel.EasyExcel;
|
||||||
|
import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.kening.vordm.entity.Hotspot;
|
||||||
import com.kening.vordm.entity.News;
|
import com.kening.vordm.entity.News;
|
||||||
import com.kening.vordm.mapper.NewsMapper;
|
import com.kening.vordm.mapper.NewsMapper;
|
||||||
|
import com.kening.vordm.service.HotspotService;
|
||||||
import com.kening.vordm.service.NewsService;
|
import com.kening.vordm.service.NewsService;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author G1393
|
* @author G1393
|
||||||
* @description 针对表【news(新闻咨询数据表)】的数据库操作Service实现
|
* @description 针对表【news(新闻咨询数据表)】的数据库操作Service实现
|
||||||
* @createDate 2023-04-04 15:54:31
|
* @createDate 2023-04-04 15:54:31
|
||||||
*/
|
*/
|
||||||
|
@Slf4j
|
||||||
@Service
|
@Service
|
||||||
|
@AllArgsConstructor
|
||||||
public class NewsServiceImpl extends ServiceImpl<NewsMapper, News>
|
public class NewsServiceImpl extends ServiceImpl<NewsMapper, News>
|
||||||
implements NewsService {
|
implements NewsService {
|
||||||
|
|
||||||
|
private HotspotService hotspotService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新闻、热点导出功能
|
||||||
|
* @param disasterId
|
||||||
|
* @param request
|
||||||
|
* @param response
|
||||||
|
* @param type
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void export(Long disasterId,Integer type, HttpServletRequest request, HttpServletResponse response) {
|
||||||
|
try{
|
||||||
|
String fileName = "";
|
||||||
|
if(type.equals(1) || type.equals(0)){
|
||||||
|
fileName = type.equals(1) ? "English News" : "Chinese News";
|
||||||
|
//英文的新闻 或 中文的新闻
|
||||||
|
List<News> newsList = list(Wrappers.<News>lambdaQuery().eq(News::getDisasterId,disasterId).eq(News::getStatus,1).eq(News::getType,type));
|
||||||
|
extracted(response, fileName);
|
||||||
|
EasyExcel.write(response.getOutputStream(),News.class).registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()).sheet("news").doWrite(newsList);
|
||||||
|
}else if(type.equals(2)){
|
||||||
|
//热点数据
|
||||||
|
fileName = "Hotspot Area";
|
||||||
|
List<Hotspot> hotspotList = hotspotService.list(Wrappers.<Hotspot>lambdaQuery().eq(Hotspot::getDisasterId,disasterId).eq(Hotspot::getStatus,1));
|
||||||
|
extracted(response, fileName);
|
||||||
|
EasyExcel.write(response.getOutputStream(),Hotspot.class).registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()).sheet("hotspot").doWrite(hotspotList);
|
||||||
|
}
|
||||||
|
}catch (IOException e){
|
||||||
|
log.error("导出IO异常:{}",e.getMessage());
|
||||||
|
ExceptionUtil.stacktraceToString(e);
|
||||||
|
}catch (Exception e){
|
||||||
|
log.error("导出发生异常:{}",e.getMessage());
|
||||||
|
ExceptionUtil.stacktraceToString(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 导出设置
|
||||||
|
* @param response
|
||||||
|
* @param fileName
|
||||||
|
* @throws IOException
|
||||||
|
*/
|
||||||
|
private void extracted(HttpServletResponse response, String fileName) throws IOException {
|
||||||
|
// 设置文本内省
|
||||||
|
response.setContentType("application/vnd.ms-excel");
|
||||||
|
// 设置字符编码
|
||||||
|
response.setCharacterEncoding("utf-8");
|
||||||
|
// 设置响应头
|
||||||
|
response.setHeader("Content-disposition", "attachment;filename="+ fileName +".xlsx");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,12 +1,22 @@
|
||||||
package com.kening.vordm.service.impl;
|
package com.kening.vordm.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.exceptions.ExceptionUtil;
|
||||||
|
import com.alibaba.excel.EasyExcel;
|
||||||
|
import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.kening.vordm.entity.Hotspot;
|
||||||
|
import com.kening.vordm.entity.News;
|
||||||
import com.kening.vordm.entity.SocialMedia;
|
import com.kening.vordm.entity.SocialMedia;
|
||||||
import com.kening.vordm.entity.Tweets;
|
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 lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
import java.io.IOException;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -14,6 +24,7 @@ import java.util.List;
|
||||||
* @description 针对表【social_media(社交媒体数据表,主要指twitter,facebook,微博等数据来源,重要字段 time-content)】的数据库操作Service实现
|
* @description 针对表【social_media(社交媒体数据表,主要指twitter,facebook,微博等数据来源,重要字段 time-content)】的数据库操作Service实现
|
||||||
* @createDate 2023-04-04 15:54:31
|
* @createDate 2023-04-04 15:54:31
|
||||||
*/
|
*/
|
||||||
|
@Slf4j
|
||||||
@Service
|
@Service
|
||||||
public class SocialMediaServiceImpl extends ServiceImpl<SocialMediaMapper, SocialMedia>
|
public class SocialMediaServiceImpl extends ServiceImpl<SocialMediaMapper, SocialMedia>
|
||||||
implements SocialMediaService {
|
implements SocialMediaService {
|
||||||
|
@ -27,4 +38,32 @@ implements SocialMediaService {
|
||||||
public List<Tweets> tweetsCount(Long disasterId) {
|
public List<Tweets> tweetsCount(Long disasterId) {
|
||||||
return baseMapper.tweetsCount(disasterId);
|
return baseMapper.tweetsCount(disasterId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 推文数据导出功能
|
||||||
|
* @param disasterId
|
||||||
|
* @param request
|
||||||
|
* @param response
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void export(Long disasterId, HttpServletRequest request, HttpServletResponse response) {
|
||||||
|
try{
|
||||||
|
String fileName = "Social media data";
|
||||||
|
//媒体数据
|
||||||
|
List<SocialMedia> socialMediaList = list(Wrappers.<SocialMedia>lambdaQuery().eq(SocialMedia::getDisasterId,disasterId).eq(SocialMedia::getStatus,1));
|
||||||
|
// 设置文本内省
|
||||||
|
response.setContentType("application/vnd.ms-excel");
|
||||||
|
// 设置字符编码
|
||||||
|
response.setCharacterEncoding("utf-8");
|
||||||
|
// 设置响应头
|
||||||
|
response.setHeader("Content-disposition", "attachment;filename="+ fileName +".xlsx");
|
||||||
|
EasyExcel.write(response.getOutputStream(),SocialMedia.class).registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()).sheet("social").doWrite(socialMediaList);
|
||||||
|
}catch (IOException e){
|
||||||
|
log.error("导出IO异常:{}",e.getMessage());
|
||||||
|
ExceptionUtil.stacktraceToString(e);
|
||||||
|
}catch (Exception e){
|
||||||
|
log.error("导出发生异常:{}",e.getMessage());
|
||||||
|
ExceptionUtil.stacktraceToString(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
package com.kening.vordm.service.impl;
|
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.WordCLouds;
|
||||||
import com.kening.vordm.entity.WorldCharts;
|
import com.kening.vordm.entity.WorldCharts;
|
||||||
import com.kening.vordm.mapper.WordColudsMapper;
|
import com.kening.vordm.mapper.WordCloudsMapper;
|
||||||
import com.kening.vordm.service.WordColudsService;
|
import com.kening.vordm.service.WordCloudsService;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -13,12 +13,12 @@ import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author G1393
|
* @author G1393
|
||||||
* @description 针对表【word_coluds(词云数据)】的数据库操作Service实现
|
* @description 针对表【word_clouds(词云数据)】的数据库操作Service实现
|
||||||
* @createDate 2023-04-04 15:54:31
|
* @createDate 2023-04-04 15:54:31
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
public class WordColudsServiceImpl extends ServiceImpl<WordColudsMapper, WordColuds>
|
public class WordCloudsServiceImpl extends ServiceImpl<WordCloudsMapper, WordCLouds>
|
||||||
implements WordColudsService {
|
implements WordCloudsService {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 词云统计
|
* 词云统计
|
12
pom.xml
12
pom.xml
|
@ -26,6 +26,8 @@
|
||||||
<docker.password>Harbor12345</docker.password>
|
<docker.password>Harbor12345</docker.password>
|
||||||
<docker.namespace>iot</docker.namespace>
|
<docker.namespace>iot</docker.namespace>
|
||||||
<docker.plugin.version>1.4.13</docker.plugin.version>
|
<docker.plugin.version>1.4.13</docker.plugin.version>
|
||||||
|
<hutool.version>5.8.16</hutool.version>
|
||||||
|
<easyexcel.version>3.2.1</easyexcel.version>
|
||||||
</properties>
|
</properties>
|
||||||
|
|
||||||
<modules>
|
<modules>
|
||||||
|
@ -70,6 +72,16 @@
|
||||||
<artifactId>kn-launcher</artifactId>
|
<artifactId>kn-launcher</artifactId>
|
||||||
<version>${revision}</version>
|
<version>${revision}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>cn.hutool</groupId>
|
||||||
|
<artifactId>hutool-all</artifactId>
|
||||||
|
<version>${hutool.version}</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.alibaba</groupId>
|
||||||
|
<artifactId>easyexcel</artifactId>
|
||||||
|
<version>${easyexcel.version}</version>
|
||||||
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
</dependencyManagement>
|
</dependencyManagement>
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue