Quellcode durchsuchen

Merge branch 'master' of http://git.zhiqiyun.com/liucheng/open-platform

stjdydayou vor 3 Jahren
Ursprung
Commit
2bd611d8b8

+ 27 - 0
src/main/java/com/zhiqiyun/open/router/apis/PlaceApi.java

@@ -1,5 +1,6 @@
 package com.zhiqiyun.open.router.apis;
 
+import com.alibaba.fastjson.JSONArray;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.OrderItem;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -13,6 +14,8 @@ import com.zhiqiyun.open.core.service.PlaceCategoryService;
 import com.zhiqiyun.open.router.request.place.CategoryPageRequest;
 import com.zhiqiyun.open.router.request.place.CategoryRequest;
 import com.zhiqiyun.open.router.request.place.PlaceInfoRequest;
+import com.zhiqiyun.open.router.request.place.PlaceInfoSaveRequest;
+import com.zhiqiyun.open.utils.DateUtil;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -91,4 +94,28 @@ public class PlaceApi {
         }
         return OapResponse.success().setBody(resultData);
     }
+
+    @ServiceMethod(method = "list.place.info.save", title = "文旅场所保存")
+    public OapResponse listPlaceInfoSave(PlaceInfoSaveRequest request) {
+        PlaceBaseInfo placeBaseInfo = new PlaceBaseInfo();
+        placeBaseInfo.setCategoryId(request.getCategoryId());
+        placeBaseInfo.setAddress(request.getAddress());
+        placeBaseInfo.setName(request.getName());
+        placeBaseInfo.setLitpics(JSONArray.parseArray(request.getLitpics(), String.class));
+        placeBaseInfo.setContacts(request.getContacts());
+        placeBaseInfo.setContactNumber(request.getContactNumber());
+        placeBaseInfo.setBrief(request.getBrief());
+        placeBaseInfo.setLat(request.getLat());
+        placeBaseInfo.setLng(request.getLng());
+        placeBaseInfo.setId(request.getId());
+        if (placeBaseInfo.getId() != null) {
+            placeBaseInfo.setUpdatedTime(DateUtil.current());
+            placeBaseInfoService.updateById(placeBaseInfo);
+        } else {
+            placeBaseInfo.setUpdatedTime(DateUtil.current());
+            placeBaseInfo.setCreatedTime(DateUtil.current());
+            placeBaseInfoService.save(placeBaseInfo);
+        }
+        return OapResponse.success().setBody(placeBaseInfo);
+    }
 }

+ 172 - 140
src/main/java/com/zhiqiyun/open/router/apis/SentimentSpiderApi.java

@@ -1,5 +1,6 @@
 package com.zhiqiyun.open.router.apis;
 
+import com.alibaba.fastjson.JSONArray;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.OrderItem;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -9,6 +10,7 @@ import com.dliyun.oap.framework.response.OapResponse;
 import com.zhiqiyun.open.core.models.sentiment.SentimentSpiderEvent;
 import com.zhiqiyun.open.core.models.sentiment.SentimentSpiderResult;
 import com.zhiqiyun.open.core.models.sentiment.SentimentSpiderSiteRule;
+import com.zhiqiyun.open.core.models.sentiment.UrlPatterns;
 import com.zhiqiyun.open.core.service.SentimentSpiderEventService;
 import com.zhiqiyun.open.core.service.SentimentSpiderResultService;
 import com.zhiqiyun.open.core.service.SentimentSpiderRuleService;
@@ -19,6 +21,7 @@ import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestBody;
 
 import java.util.List;
 
@@ -26,146 +29,175 @@ import java.util.List;
 @ServiceMethodBean
 public class SentimentSpiderApi {
 
-	@Autowired
-	private SentimentSpiderEventService sentimentSpiderEventService;
-
-	@Autowired
-	private SentimentSpiderRuleService sentimentSpiderRuleService;
-
-	@Autowired
-	private SentimentSpiderResultService sentimentSpiderResultService;
-
-	@Autowired
-	private SequenceService sequenceService;
-
-	@ServiceMethod(method = "sentiment.spider.rule.findByKeyword", title = "通过关键词查询采集网站规则")
-	public OapResponse findByKeyword(QuerySpiderSiteRuleRequest request) {
-		QueryWrapper<SentimentSpiderSiteRule> wrapper = new QueryWrapper<>();
-		if (StringUtils.isNotBlank(request.getKeyword())) {
-			wrapper.like("site_name", request.getKeyword());
-			wrapper.or();
-			wrapper.like("id", request.getKeyword());
-		}
-		wrapper.orderByDesc("id");
-
-		List<SentimentSpiderSiteRule> listData = this.sentimentSpiderRuleService.list(wrapper);
-		return OapResponse.success().setBody(listData);
-	}
-
-
-	@ServiceMethod(method = "sentiment.spider.event.findPage", title = "查询舆情事件")
-	public OapResponse findEventPage(QuerySpiderEventRequest request) {
-		QueryWrapper<SentimentSpiderEvent> wrapper = new QueryWrapper<>();
-		if (request.getSiteRuleId() != null) {
-			wrapper.eq("site_rule_id", request.getSiteRuleId());
-		}
-		if (StringUtils.isNotBlank(request.getEventTitle())) {
-			wrapper.like("event_title", request.getEventTitle());
-		}
-		if (StringUtils.isNotBlank(request.getKeywords())) {
-			wrapper.like("keywords", request.getKeywords());
-		}
-
-		Page<SentimentSpiderEvent> page = new Page<>(request.getCurrent(), request.getPageSize());
-		page.addOrder(OrderItem.desc("id"));
-
-		Page<SentimentSpiderEvent> resultData = this.sentimentSpiderEventService.page(page, wrapper);
-		for (SentimentSpiderEvent event : resultData.getRecords()) {
-			SentimentSpiderSiteRule rule = this.sentimentSpiderRuleService.getById(event.getSiteRuleId());
-			event.setRule(rule);
-			event.setStatus(this.sentimentSpiderEventService.getStatus(event.getId()));
-		}
-
-		return OapResponse.success().setBody(resultData);
-	}
-
-	@ServiceMethod(method = "sentiment.spider.event.add", title = "新建舆情事件")
-	public OapResponse save(SaveSpiderEventRequest request) {
-
-		SentimentSpiderEvent entity = new SentimentSpiderEvent();
-		BeanUtils.copyProperties(request, entity);
-
-		entity.setCreatedTime(DateUtil.current());
-		entity.setCreatedBy(1000L);
-
-		entity.setUpdatedTime(DateUtil.current());
-		entity.setUpdatedBy(1000L);
-		entity.setId(this.sequenceService.nextId());
-
-		this.sentimentSpiderEventService.save(entity);
-
-		return OapResponse.success().setBody(entity);
-	}
-
-	@ServiceMethod(method = "sentiment.spider.event.updateById", title = "更新舆情事件")
-	public OapResponse updateById(UpdateSpiderEventRequest request) {
-		SentimentSpiderEvent entity = new SentimentSpiderEvent();
-		BeanUtils.copyProperties(request, entity);
-
-		entity.setUpdatedBy(1000L);
-		entity.setUpdatedTime(DateUtil.current());
-
-		this.sentimentSpiderEventService.updateById(entity);
-
-		return OapResponse.success().setBody(entity);
-	}
-
-	@ServiceMethod(method = "sentiment.spider.event.deleteByIds", title = "删除舆情事件")
-	public OapResponse deleteByIds(IdsRequest request) {
-		this.sentimentSpiderEventService.removeByIds(request.getIds());
-		return OapResponse.success();
-	}
-
-	@ServiceMethod(method = "sentiment.spider.event.startSpider", title = "启动舆情事件采集")
-	public OapResponse startSpider(IdsRequest request) {
-		List<SentimentSpiderEvent> listData = this.sentimentSpiderEventService.listByIds(request.getIds());
-		for (SentimentSpiderEvent event : listData) {
-			SentimentSpiderSiteRule rule = this.sentimentSpiderRuleService.getById(event.getSiteRuleId());
-			event.setRule(rule);
-			this.sentimentSpiderEventService.start(event);
-		}
-		return OapResponse.success();
-	}
-
-	@ServiceMethod(method = "sentiment.spider.event.stopSpider", title = "停止舆情事件采集")
-	public OapResponse stopSpider(IdsRequest request) {
-		List<SentimentSpiderEvent> listData = this.sentimentSpiderEventService.listByIds(request.getIds());
-		for (SentimentSpiderEvent event : listData) {
-			this.sentimentSpiderEventService.stop(event);
-		}
-		return OapResponse.success();
-	}
-
-	@ServiceMethod(method = "sentiment.spider.event.findResultPage", title = "分页查询采集结果")
-	public OapResponse findResultPage(QuerySpiderResultRequest request) {
-
-		QueryWrapper<SentimentSpiderResult> wrapper = new QueryWrapper<>();
-		if (request.getEventId() != null) {
-			wrapper.eq("event_id", request.getEventId());
-		}
-		if (request.getSiteRuleId() != null) {
-			wrapper.eq("site_rule_id", request.getSiteRuleId());
-		}
-		if (StringUtils.isNotBlank(request.getTitle())) {
-			wrapper.like("title", request.getTitle());
-		}
-
-		wrapper.select("id", "event_id", "site_rule_id", "url", "title", "keywords", "description", "fragments", "spider_time", "update_time");
-
-
-		Page<SentimentSpiderResult> page = new Page<>(request.getCurrent(), request.getPageSize());
-		page.addOrder(OrderItem.desc("update_time"));
-
-		Page<SentimentSpiderResult> resultData = this.sentimentSpiderResultService.page(page, wrapper);
-
-		return OapResponse.success().setBody(resultData);
-	}
-
-	@ServiceMethod(method = "sentiment.spider.event.findResultInfo", title = "通过ID查询采集结果详情")
-	public OapResponse findResultInfo(QuerySpiderResultDetailRequest request) {
+    @Autowired
+    private SentimentSpiderEventService sentimentSpiderEventService;
+
+    @Autowired
+    private SentimentSpiderRuleService sentimentSpiderRuleService;
+
+    @Autowired
+    private SentimentSpiderResultService sentimentSpiderResultService;
+
+    @Autowired
+    private SequenceService sequenceService;
+
+    @ServiceMethod(method = "sentiment.spider.rule.findByKeyword", title = "通过关键词查询采集网站规则")
+    public OapResponse findByKeyword(QuerySpiderSiteRuleRequest request) {
+        QueryWrapper<SentimentSpiderSiteRule> wrapper = new QueryWrapper<>();
+        if (StringUtils.isNotBlank(request.getKeyword())) {
+            wrapper.like("site_name", request.getKeyword());
+            wrapper.or();
+            wrapper.like("id", request.getKeyword());
+        }
+        wrapper.orderByDesc("id");
+
+        List<SentimentSpiderSiteRule> listData = this.sentimentSpiderRuleService.list(wrapper);
+        return OapResponse.success().setBody(listData);
+    }
+
+    @ServiceMethod(method = "sentiment.spider.rule.save", title = "新增或者修改采集网站规则")
+    public OapResponse saveOrUpdate(QuerySpiderSiteRuleSaveRequest request) {
+        SentimentSpiderSiteRule siteRule = new SentimentSpiderSiteRule();
+        siteRule.setUrlPatterns(JSONArray.parseArray(request.getUrlPatterns(), UrlPatterns.class));
+        siteRule.setCollectorName(request.getCollectorName());
+        siteRule.setStartUrls(request.getStartUrls());
+        siteRule.setSiteName(request.getSiteName());
+        siteRule.setId(request.getId());
+        if (siteRule.getId() != null) {
+            siteRule.setUpdatedTime(DateUtil.current());
+            siteRule.setUpdatedBy(1000L);
+            sentimentSpiderRuleService.updateById(siteRule);
+        } else {
+            siteRule.setId(this.sequenceService.nextId());
+            siteRule.setCreatedTime(DateUtil.current());
+            siteRule.setCreatedBy(1000L);
+            siteRule.setUpdatedTime(DateUtil.current());
+            siteRule.setUpdatedBy(1000L);
+            sentimentSpiderRuleService.save(siteRule);
+        }
+        return OapResponse.success().setBody(siteRule);
+    }
+
+    @ServiceMethod(method = "sentiment.spider.rule.delete", title = "删除采集网站规则")
+    public OapResponse delete(IdsRequest request) {
+        sentimentSpiderRuleService.removeByIds(request.getIds());
+        return OapResponse.success();
+    }
+
+
+    @ServiceMethod(method = "sentiment.spider.event.findPage", title = "查询舆情事件")
+    public OapResponse findEventPage(QuerySpiderEventRequest request) {
+        QueryWrapper<SentimentSpiderEvent> wrapper = new QueryWrapper<>();
+        if (request.getSiteRuleId() != null) {
+            wrapper.eq("site_rule_id", request.getSiteRuleId());
+        }
+        if (StringUtils.isNotBlank(request.getEventTitle())) {
+            wrapper.like("event_title", request.getEventTitle());
+        }
+        if (StringUtils.isNotBlank(request.getKeywords())) {
+            wrapper.like("keywords", request.getKeywords());
+        }
+
+        Page<SentimentSpiderEvent> page = new Page<>(request.getCurrent(), request.getPageSize());
+        page.addOrder(OrderItem.desc("id"));
+
+        Page<SentimentSpiderEvent> resultData = this.sentimentSpiderEventService.page(page, wrapper);
+        for (SentimentSpiderEvent event : resultData.getRecords()) {
+            SentimentSpiderSiteRule rule = this.sentimentSpiderRuleService.getById(event.getSiteRuleId());
+            event.setRule(rule);
+            event.setStatus(this.sentimentSpiderEventService.getStatus(event.getId()));
+        }
+
+        return OapResponse.success().setBody(resultData);
+    }
+
+    @ServiceMethod(method = "sentiment.spider.event.add", title = "新建舆情事件")
+    public OapResponse save(SaveSpiderEventRequest request) {
+
+        SentimentSpiderEvent entity = new SentimentSpiderEvent();
+        BeanUtils.copyProperties(request, entity);
+
+        entity.setCreatedTime(DateUtil.current());
+        entity.setCreatedBy(1000L);
+
+        entity.setUpdatedTime(DateUtil.current());
+        entity.setUpdatedBy(1000L);
+        entity.setId(this.sequenceService.nextId());
+
+        this.sentimentSpiderEventService.save(entity);
+
+        return OapResponse.success().setBody(entity);
+    }
+
+    @ServiceMethod(method = "sentiment.spider.event.updateById", title = "更新舆情事件")
+    public OapResponse updateById(UpdateSpiderEventRequest request) {
+        SentimentSpiderEvent entity = new SentimentSpiderEvent();
+        BeanUtils.copyProperties(request, entity);
+
+        entity.setUpdatedBy(1000L);
+        entity.setUpdatedTime(DateUtil.current());
+
+        this.sentimentSpiderEventService.updateById(entity);
+
+        return OapResponse.success().setBody(entity);
+    }
+
+    @ServiceMethod(method = "sentiment.spider.event.deleteByIds", title = "删除舆情事件")
+    public OapResponse deleteByIds(IdsRequest request) {
+        this.sentimentSpiderEventService.removeByIds(request.getIds());
+        return OapResponse.success();
+    }
+
+    @ServiceMethod(method = "sentiment.spider.event.startSpider", title = "启动舆情事件采集")
+    public OapResponse startSpider(IdsRequest request) {
+        List<SentimentSpiderEvent> listData = this.sentimentSpiderEventService.listByIds(request.getIds());
+        for (SentimentSpiderEvent event : listData) {
+            SentimentSpiderSiteRule rule = this.sentimentSpiderRuleService.getById(event.getSiteRuleId());
+            event.setRule(rule);
+            this.sentimentSpiderEventService.start(event);
+        }
+        return OapResponse.success();
+    }
+
+    @ServiceMethod(method = "sentiment.spider.event.stopSpider", title = "停止舆情事件采集")
+    public OapResponse stopSpider(IdsRequest request) {
+        List<SentimentSpiderEvent> listData = this.sentimentSpiderEventService.listByIds(request.getIds());
+        for (SentimentSpiderEvent event : listData) {
+            this.sentimentSpiderEventService.stop(event);
+        }
+        return OapResponse.success();
+    }
+
+    @ServiceMethod(method = "sentiment.spider.event.findResultPage", title = "分页查询采集结果")
+    public OapResponse findResultPage(QuerySpiderResultRequest request) {
+
+        QueryWrapper<SentimentSpiderResult> wrapper = new QueryWrapper<>();
+        if (request.getEventId() != null) {
+            wrapper.eq("event_id", request.getEventId());
+        }
+        if (request.getSiteRuleId() != null) {
+            wrapper.eq("site_rule_id", request.getSiteRuleId());
+        }
+        if (StringUtils.isNotBlank(request.getTitle())) {
+            wrapper.like("title", request.getTitle());
+        }
+
+        wrapper.select("id", "event_id", "site_rule_id", "url", "title", "keywords", "description", "fragments", "spider_time", "update_time");
+
+
+        Page<SentimentSpiderResult> page = new Page<>(request.getCurrent(), request.getPageSize());
+        page.addOrder(OrderItem.desc("update_time"));
+
+        Page<SentimentSpiderResult> resultData = this.sentimentSpiderResultService.page(page, wrapper);
+
+        return OapResponse.success().setBody(resultData);
+    }
+
+    @ServiceMethod(method = "sentiment.spider.event.findResultInfo", title = "通过ID查询采集结果详情")
+    public OapResponse findResultInfo(QuerySpiderResultDetailRequest request) {
 
-		SentimentSpiderResult result = this.sentimentSpiderResultService.getById(request.getId());
+        SentimentSpiderResult result = this.sentimentSpiderResultService.getById(request.getId());
 
-		return OapResponse.success().setBody(result);
-	}
+        return OapResponse.success().setBody(result);
+    }
 }

+ 36 - 0
src/main/java/com/zhiqiyun/open/router/request/place/PlaceInfoSaveRequest.java

@@ -0,0 +1,36 @@
+package com.zhiqiyun.open.router.request.place;
+
+import com.dliyun.oap.framework.annotation.ServiceParamField;
+import com.dliyun.oap.framework.request.AbstractOapRequest;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.math.BigDecimal;
+
+/**
+ * @author NINGMEI
+ */
+@EqualsAndHashCode(callSuper = true)
+@Data
+public class PlaceInfoSaveRequest extends AbstractOapRequest {
+    @ServiceParamField(describe = "ID")
+    private Long id;
+    @ServiceParamField(describe = "名称")
+    private String name;
+    @ServiceParamField(describe = "类型")
+    private Long categoryId;
+    @ServiceParamField(describe = "图片")
+    private String litpics;
+    @ServiceParamField(describe = "简介")
+    private String brief;
+    @ServiceParamField(describe = "地址")
+    private String address;
+    @ServiceParamField(describe = "联系人")
+    private String contacts;
+    @ServiceParamField(describe = "联系电话")
+    private String contactNumber;
+    @ServiceParamField(describe = "经度(坐标)")
+    private BigDecimal lng;
+    @ServiceParamField(describe = "纬度(坐标)")
+    private BigDecimal lat;
+}

+ 32 - 0
src/main/java/com/zhiqiyun/open/router/request/sentiment/QuerySpiderSiteRuleSaveRequest.java

@@ -0,0 +1,32 @@
+package com.zhiqiyun.open.router.request.sentiment;
+
+import com.dliyun.oap.framework.annotation.ServiceParamField;
+import com.dliyun.oap.framework.request.AbstractOapRequest;
+import com.zhiqiyun.open.core.models.sentiment.UrlPatterns;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.List;
+
+/**
+ * @author NINGMEI
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class QuerySpiderSiteRuleSaveRequest extends AbstractOapRequest {
+
+    @ServiceParamField(describe = "ID")
+    private Long id;
+
+    @ServiceParamField(describe = "网站名称")
+    private String siteName;
+
+    @ServiceParamField(describe = "采集器名称")
+    private String collectorName;
+
+    @ServiceParamField(describe = "匹配URL地址")
+    private String urlPatterns;
+
+    @ServiceParamField(describe = "启动地址")
+    private String startUrls;
+}