| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148 |
- package com.zhiqiyun.open.mvc.controller;
- import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
- import com.baomidou.mybatisplus.core.metadata.OrderItem;
- import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
- import com.zhiqiyun.open.annotation.Permission;
- import com.zhiqiyun.open.core.models.statistics.PopularFeelings;
- import com.zhiqiyun.open.core.models.statistics.PopularFeelingsPage;
- import com.zhiqiyun.open.core.models.user.OauthInfo;
- import com.zhiqiyun.open.core.service.OauthService;
- import com.zhiqiyun.open.core.service.PopularFeelingsPageService;
- import com.zhiqiyun.open.core.service.PopularFeelingsService;
- import com.zhiqiyun.open.core.service.SequenceService;
- import com.zhiqiyun.open.mvc.Result;
- import com.zhiqiyun.open.mvc.params.statistics.QueryPopularFeelingsPageParam;
- import com.zhiqiyun.open.mvc.params.statistics.QueryPopularFeelingsParam;
- import com.zhiqiyun.open.mvc.params.statistics.SavePopularFeelingsParam;
- import com.zhiqiyun.open.utils.DateUtil;
- import com.zhiqiyun.open.utils.ServletContext;
- import org.apache.commons.lang3.StringUtils;
- import org.springframework.beans.BeanUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.web.bind.annotation.PostMapping;
- import org.springframework.web.bind.annotation.RequestBody;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RestController;
- import javax.validation.Valid;
- import java.util.List;
- /**
- * @author jtoms
- */
- @RestController
- @RequestMapping("/popular/feelings")
- public class PopularFeelingsController {
- @Autowired
- private PopularFeelingsService popularFeelingsService;
- @Autowired
- private PopularFeelingsPageService popularFeelingsPageService;
- @Autowired
- private OauthService oauthService;
- @Autowired
- private SequenceService sequenceService;
- @Permission(value = "popular.feelings.find", tags = "查询舆情监控")
- @PostMapping("/findPage")
- public Result findPage(@RequestBody QueryPopularFeelingsParam param) {
- QueryWrapper<PopularFeelings> wrapper = new QueryWrapper<>();
- if (StringUtils.isNotBlank(param.getTitle())) {
- wrapper.like("title", param.getTitle());
- }
- if (StringUtils.isNotBlank(param.getKeywords())) {
- wrapper.like("keywords", param.getKeywords());
- }
- if (StringUtils.isNotBlank(param.getSiteUrl())) {
- wrapper.like("site_url", param.getSiteUrl());
- }
- Page<PopularFeelings> page = param.getPage();
- page.addOrder(OrderItem.desc("id"));
- Page<PopularFeelings> resultData = this.popularFeelingsService.page(page, wrapper);
- return Result.instance(Result.Code.SUCCESS).setData(resultData);
- }
- @Permission(value = "popular.feelings.add", tags = "新建舆情监控")
- @PostMapping("/save")
- public Result save(@Valid @RequestBody SavePopularFeelingsParam param) throws Exception {
- PopularFeelings entity = new PopularFeelings();
- BeanUtils.copyProperties(param, entity);
- OauthInfo oauthInfo = this.oauthService.getAuth(ServletContext.getAccessToken());
- entity.setCreatedTime(DateUtil.current());
- entity.setCreatedBy(oauthInfo.getId());
- entity.setUpdatedTime(DateUtil.current());
- entity.setUpdatedBy(oauthInfo.getId());
- entity.setId(this.sequenceService.nextId());
- this.popularFeelingsService.save(entity);
- return Result.instance(Result.Code.MESSAGE_SUCCESS);
- }
- @Permission(value = "popular.feelings.edit", tags = "更新舆情监控")
- @PostMapping("/updateById")
- public Result updateById(Long id, @Valid @RequestBody SavePopularFeelingsParam param) {
- PopularFeelings entity = new PopularFeelings();
- BeanUtils.copyProperties(param, entity);
- OauthInfo oauthInfo = this.oauthService.getAuth(ServletContext.getAccessToken());
- entity.setUpdatedBy(oauthInfo.getId());
- entity.setUpdatedTime(DateUtil.current());
- entity.setId(id);
- this.popularFeelingsService.updateById(entity);
- return Result.instance(Result.Code.MESSAGE_SUCCESS);
- }
- @Permission(value = "popular.feelings.delete", tags = "删除舆情监控")
- @PostMapping("/deleteByIds")
- public Result deleteByIds(@RequestBody List<Long> ids) {
- this.popularFeelingsService.removeByIds(ids);
- return Result.instance(Result.Code.MESSAGE_SUCCESS);
- }
- @Permission(value = "popular.feelings.delete", tags = "启动舆情监控")
- @PostMapping("/startSpider")
- public Result startSpider(@RequestBody List<Long> ids) {
- List<PopularFeelings> listData = this.popularFeelingsService.listByIds(ids);
- for (PopularFeelings popularFeelings : listData) {
- this.popularFeelingsService.start(popularFeelings);
- }
- return Result.instance(Result.Code.MESSAGE_SUCCESS);
- }
- @Permission(value = "popular.feelings.delete", tags = "查询舆情监控详情")
- @PostMapping("/findDetailPage")
- public Result findDetailPage(@RequestBody QueryPopularFeelingsPageParam param) {
- QueryWrapper<PopularFeelingsPage> wrapper = new QueryWrapper<>();
- wrapper.select("id", "popular_feelings_id", "url", "title", "spider_time");
- wrapper.eq("popular_feelings_id", param.getPopularFeelingsId());
- Page<PopularFeelingsPage> page = param.getPage();
- page.addOrder(OrderItem.desc("id"));
- Page<PopularFeelingsPage> resultData = this.popularFeelingsPageService.page(page, wrapper);
- return Result.instance(Result.Code.SUCCESS).setData(resultData);
- }
- }
|