多媒体后台接口-liyuchen

This commit is contained in:
李宇辰 2023-04-05 18:18:38 +08:00
parent 392831be1e
commit 39c3c6bcea
14 changed files with 290 additions and 2 deletions

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,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

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

@ -3,6 +3,10 @@ package com.kening.vordm.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.kening.vordm.entity.SocialMedia;
import com.kening.vordm.entity.Tweets;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @author G1393
@ -12,5 +16,10 @@ import com.kening.vordm.entity.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,
manager_id,review_time
</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>

View File

@ -3,6 +3,10 @@ package com.kening.vordm.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.kening.vordm.entity.WordColuds;
import com.kening.vordm.entity.WorldCharts;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @author G1393
@ -13,4 +17,10 @@ import com.kening.vordm.entity.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,
status,manager_id,review_time
</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>

View File

@ -3,6 +3,9 @@ package com.kening.vordm.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.kening.vordm.entity.SocialMedia;
import com.kening.vordm.entity.Tweets;
import java.util.List;
/**
* @author G1393
@ -10,5 +13,10 @@ import com.kening.vordm.entity.SocialMedia;
* @createDate 2023-04-04 15:54:31
*/
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.kening.vordm.entity.WordColuds;
import com.kening.vordm.entity.WorldCharts;
import java.util.List;
import java.util.Map;
/**
* @author G1393
@ -11,4 +15,10 @@ import com.kening.vordm.entity.WordColuds;
*/
public interface WordColudsService extends IService<WordColuds> {
/**
* 词云统计
* @param disasterId 灾害id
* @return
*/
Map<String, List<WorldCharts>> wordCount(Long disasterId);
}

View File

@ -2,10 +2,13 @@ package com.kening.vordm.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.kening.vordm.entity.SocialMedia;
import com.kening.vordm.entity.Tweets;
import com.kening.vordm.mapper.SocialMediaMapper;
import com.kening.vordm.service.SocialMediaService;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @author G1393
* @description 针对表social_media(社交媒体数据表主要指twitterfacebook,微博等数据来源重要字段 time-content)的数据库操作Service实现
@ -15,4 +18,13 @@ import org.springframework.stereotype.Service;
public class SocialMediaServiceImpl extends ServiceImpl<SocialMediaMapper, SocialMedia>
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.kening.vordm.entity.WordColuds;
import com.kening.vordm.entity.WorldCharts;
import com.kening.vordm.mapper.WordColudsMapper;
import com.kening.vordm.service.WordColudsService;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* @author G1393
* @description 针对表word_coluds(词云数据)的数据库操作Service实现
@ -15,4 +20,14 @@ import org.springframework.stereotype.Service;
public class WordColudsServiceImpl extends ServiceImpl<WordColudsMapper, WordColuds>
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));
}
}