supeng 1 месяц назад
Родитель
Сommit
558be5f26d
29 измененных файлов с 609 добавлено и 43 удалено
  1. 4 0
      content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/common/base/Constant.java
  2. 23 0
      content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/common/enums/ActionEnum.java
  3. 27 0
      content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/common/enums/ContentTypeEnum.java
  4. 0 3
      content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/common/enums/ExceptionEnum.java
  5. 30 0
      content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/dao/generator/MybatisGeneratorMain.java
  6. 18 0
      content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/model/param/ActionParam.java
  7. 24 0
      content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/model/param/ContentAnalyseParam.java
  8. 35 0
      content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/model/param/GeminiParam.java
  9. 18 0
      content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/service/Action.java
  10. 13 0
      content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/service/ActionExecutor.java
  11. 17 0
      content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/service/ContentService.java
  12. 7 0
      content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/service/LoghubService.java
  13. 9 0
      content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/service/PipelineService.java
  14. 31 0
      content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/service/impl/ContentServiceImpl.java
  15. 34 0
      content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/service/impl/GeminiGenerateContentAction.java
  16. 20 0
      content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/service/impl/LoghubServiceImpl.java
  17. 47 0
      content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/service/impl/PipelineServiceImpl.java
  18. 55 0
      content-understanding-core/src/main/resources/mybatis-generator-config.xml
  19. 8 3
      content-understanding-server/src/main/java/com/tzld/piaoquan/content/understanding/Application.java
  20. 0 15
      content-understanding-server/src/main/java/com/tzld/piaoquan/content/understanding/controller/CircuitBreakerController.java
  21. 32 0
      content-understanding-server/src/main/java/com/tzld/piaoquan/content/understanding/controller/ContentController.java
  22. 0 16
      content-understanding-server/src/main/java/com/tzld/piaoquan/content/understanding/controller/DownGradeController.java
  23. 24 0
      content-understanding-server/src/main/resources/application-dev.yml
  24. 23 0
      content-understanding-server/src/main/resources/application-pre.yml
  25. 23 0
      content-understanding-server/src/main/resources/application-prod.yml
  26. 23 0
      content-understanding-server/src/main/resources/application-stress.yml
  27. 24 0
      content-understanding-server/src/main/resources/application-test.yml
  28. 8 1
      content-understanding-server/src/main/resources/application.yml
  29. 32 5
      pom.xml

+ 4 - 0
content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/common/base/Constant.java

@@ -10,4 +10,8 @@ public class Constant {
      * traceID
      */
     public static final String LOG_TRACE_ID = "logTraceId";
+    /**
+     * gemini api 默认model
+     */
+    public static final String GEMINI_DEFAULT_MODEL = "gemini-2.0-flash";
 }

+ 23 - 0
content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/common/enums/ActionEnum.java

@@ -0,0 +1,23 @@
+package com.tzld.piaoquan.content.understanding.common.enums;
+
+import lombok.Getter;
+
+/**
+ * 动作
+ * @author supeng
+ */
+@Getter
+public enum ActionEnum {
+
+    GEMINI_GENERATE_CONTENT("geminiGenerateContentAction", "gemini生成内容"),
+    ;
+
+    private final String action;
+    private final String desc;
+
+    ActionEnum(String action, String desc) {
+        this.action = action;
+        this.desc = desc;
+    }
+
+}

+ 27 - 0
content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/common/enums/ContentTypeEnum.java

@@ -0,0 +1,27 @@
+package com.tzld.piaoquan.content.understanding.common.enums;
+
+/**
+ * 内容类型
+ */
+public enum ContentTypeEnum {
+
+    TEXT(0, "文本"),
+    IMAGE(1, "图片"),
+    VIDEO(2, "视频");
+
+    private final Integer value;
+    private final String desc;
+
+    ContentTypeEnum(Integer value, String desc) {
+        this.value = value;
+        this.desc = desc;
+    }
+
+    public Integer getValue() {
+        return value;
+    }
+
+    public String getDesc() {
+        return desc;
+    }
+}

+ 0 - 3
content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/common/enums/ExceptionEnum.java

@@ -17,9 +17,6 @@ public enum ExceptionEnum {
     DATA_EXIST(6, "数据已存在"),
     ILLEGAL_OPERATION (7, "非法操作"),
     CONFIG_ERROR (8, "配置异常"),
-    FLOW_POOL_AUTO_ENTER_ERROR (9, "只能同时一个流量池打开【自动入池】开关"),
-    FLOW_POOL_1_AUTO_ENTER_HOLD (10, "流量池【id=1】,作为尾号流量池的开关切换策略,需要保持【自动入池】状态"),
-    FLOW_POOL_AUTO_ENTER_EXCEPT_SUPPLY (11, "除了供给池,只能同时一个流量池打开【自动入池】开关"),
     ;
 
     private int code;

+ 30 - 0
content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/dao/generator/MybatisGeneratorMain.java

@@ -0,0 +1,30 @@
+package com.tzld.piaoquan.content.understanding.dao.generator;
+
+import org.mybatis.generator.api.MyBatisGenerator;
+import org.mybatis.generator.config.Configuration;
+import org.mybatis.generator.config.xml.ConfigurationParser;
+import org.mybatis.generator.exception.InvalidConfigurationException;
+import org.mybatis.generator.exception.XMLParserException;
+import org.mybatis.generator.internal.DefaultShellCallback;
+
+import java.io.File;
+import java.io.IOException;
+import java.sql.SQLException;
+import java.util.ArrayList;
+import java.util.List;
+
+public class MybatisGeneratorMain {
+
+	public static void main(String[] args)
+			throws SQLException, IOException, InterruptedException, InvalidConfigurationException, XMLParserException {
+		List<String> warnings = new ArrayList<String>();
+		boolean overwrite = true;
+		File configFile = new File(MybatisGeneratorMain.class.getResource("/mybatis-generator-config.xml").getFile());
+		ConfigurationParser cp = new ConfigurationParser(warnings);
+		Configuration config = cp.parseConfiguration(configFile);
+		DefaultShellCallback callback = new DefaultShellCallback(overwrite);
+		MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings);
+		myBatisGenerator.generate(null);
+		System.out.println("genreate finish");
+	}
+}

+ 18 - 0
content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/model/param/ActionParam.java

@@ -0,0 +1,18 @@
+package com.tzld.piaoquan.content.understanding.model.param;
+
+import lombok.Data;
+
+/**
+ * @author supeng
+ */
+@Data
+public class ActionParam {
+    /**
+     * 输入参数
+     */
+    private String input;
+    /**
+     * prompt
+     */
+    private String prompt;
+}

+ 24 - 0
content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/model/param/ContentAnalyseParam.java

@@ -0,0 +1,24 @@
+package com.tzld.piaoquan.content.understanding.model.param;
+
+import lombok.Data;
+
+@Data
+public class ContentAnalyseParam {
+    /**
+     * @see com.tzld.piaoquan.content.understanding.common.enums.ContentTypeEnum
+     */
+    private Integer type;
+    /**
+     * 内容
+     * 文本 or 图片url or 视频url
+     */
+    private String content;
+    /**
+     * prompt
+     */
+    private String prompt;
+    /**
+     *
+     */
+    private Integer stragrey;
+}

+ 35 - 0
content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/model/param/GeminiParam.java

@@ -0,0 +1,35 @@
+package com.tzld.piaoquan.content.understanding.model.param;
+
+import com.tzld.piaoquan.content.understanding.common.base.Constant;
+import lombok.Data;
+
+@Data
+public class GeminiParam {
+    /**
+     * 类型
+     * @see com.tzld.piaoquan.content.understanding.common.enums.ContentTypeEnum
+     */
+    private Integer type;
+    /**
+     * 媒体资源url
+     * 视频 or 图片
+     */
+    private String mediaUrl;
+    /**
+     * prompt
+     */
+    private String prompt;
+    /**
+     * api key
+     */
+    private String apiKey;
+    /**
+     * 模型
+     */
+    private String model = Constant.GEMINI_DEFAULT_MODEL;
+    /**
+     * 温度
+     */
+    private Double temperature = 1.0;
+
+}

+ 18 - 0
content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/service/Action.java

@@ -0,0 +1,18 @@
+package com.tzld.piaoquan.content.understanding.service;
+
+import com.tzld.piaoquan.content.understanding.model.param.ActionParam;
+
+/**
+ * 动作
+ *
+ * @author supeng
+ */
+public interface Action {
+    /**
+     * 执行动作
+     *
+     * @param param
+     * @return
+     */
+    String execute(ActionParam param);
+}

+ 13 - 0
content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/service/ActionExecutor.java

@@ -0,0 +1,13 @@
+package com.tzld.piaoquan.content.understanding.service;
+
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+
+/**
+ * @author supeng
+ */
+@Slf4j
+@Component
+public class ActionExecutor {
+
+}

+ 17 - 0
content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/service/ContentService.java

@@ -0,0 +1,17 @@
+package com.tzld.piaoquan.content.understanding.service;
+
+import com.tzld.piaoquan.content.understanding.common.base.CommonRequest;
+import com.tzld.piaoquan.content.understanding.model.param.ContentAnalyseParam;
+
+/**
+ * @author supeng
+ */
+public interface ContentService {
+
+    /**
+     * 内容分析处理
+     *
+     * @param request
+     */
+    void analyse(CommonRequest<ContentAnalyseParam> request);
+}

+ 7 - 0
content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/service/LoghubService.java

@@ -0,0 +1,7 @@
+package com.tzld.piaoquan.content.understanding.service;
+
+/**
+ * @author supeng
+ */
+public interface LoghubService {
+}

+ 9 - 0
content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/service/PipelineService.java

@@ -0,0 +1,9 @@
+package com.tzld.piaoquan.content.understanding.service;
+
+/**
+ * @author supeng
+ */
+public interface PipelineService {
+
+    String execute(Long pipelineId);
+}

+ 31 - 0
content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/service/impl/ContentServiceImpl.java

@@ -0,0 +1,31 @@
+package com.tzld.piaoquan.content.understanding.service.impl;
+
+import com.tzld.piaoquan.content.understanding.common.base.CommonRequest;
+import com.tzld.piaoquan.content.understanding.model.param.ContentAnalyseParam;
+import com.tzld.piaoquan.content.understanding.service.ContentService;
+import com.tzld.piaoquan.content.understanding.service.LoghubService;
+import com.tzld.piaoquan.content.understanding.service.PipelineService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * @author supeng
+ */
+@Slf4j
+@Service
+public class ContentServiceImpl implements ContentService {
+
+    @Autowired
+    private LoghubService loghubService;
+
+    @Autowired
+    private PipelineService pipelineService;
+
+    @Override
+    public void analyse(CommonRequest<ContentAnalyseParam> request) {
+        //TODO
+        Long pipelineId = 0L;
+        pipelineService.execute(pipelineId);
+    }
+}

+ 34 - 0
content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/service/impl/GeminiGenerateContentAction.java

@@ -0,0 +1,34 @@
+package com.tzld.piaoquan.content.understanding.service.impl;
+
+import com.tzld.piaoquan.content.understanding.model.param.ActionParam;
+import com.tzld.piaoquan.content.understanding.service.Action;
+import com.tzld.piaoquan.content.understanding.util.HttpClientUtil;
+import com.tzld.piaoquan.content.understanding.util.HttpPoolClient;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Service;
+
+import java.util.Optional;
+
+/**
+ * @author supeng
+ */
+@Service(value = "geminiGenerateContentAction")
+public class GeminiGenerateContentAction implements Action {
+
+    @Value("${native.openai.url:http://openai.piaoquantv.com/aigc-server/gemini/generateContent}")
+    private String geminiApiUrl;
+
+    private static final HttpPoolClient httpPoolClient = HttpClientUtil.create(3000, 600000, 50, 200, 0, 3000);
+
+    @Override
+    public String execute(ActionParam param) {
+        Optional<String> optionalS = httpPoolClient.postJson(geminiApiUrl, "");
+        if (optionalS.isPresent()) {
+            String content = optionalS.get();
+            //过滤一些特殊格式
+            content = content.replace("```json","").replace("```","");
+            return content;
+        }
+        return null;
+    }
+}

+ 20 - 0
content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/service/impl/LoghubServiceImpl.java

@@ -0,0 +1,20 @@
+package com.tzld.piaoquan.content.understanding.service.impl;
+
+import com.tzld.commons.aliyun.log.AliyunLogManager;
+import com.tzld.piaoquan.content.understanding.service.LoghubService;
+import lombok.extern.slf4j.Slf4j;
+import org.checkerframework.checker.units.qual.A;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * @author supeng
+ */
+@Slf4j
+@Service
+public class LoghubServiceImpl implements LoghubService {
+
+    @Autowired
+    private AliyunLogManager aliyunLogManager;
+
+}

+ 47 - 0
content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/service/impl/PipelineServiceImpl.java

@@ -0,0 +1,47 @@
+package com.tzld.piaoquan.content.understanding.service.impl;
+
+import com.tzld.piaoquan.content.understanding.common.enums.ExceptionEnum;
+import com.tzld.piaoquan.content.understanding.common.exception.CommonException;
+import com.tzld.piaoquan.content.understanding.model.param.ActionParam;
+import com.tzld.piaoquan.content.understanding.service.Action;
+import com.tzld.piaoquan.content.understanding.service.PipelineService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+
+/**
+ * @author supeng
+ */
+@Slf4j
+@Service
+public class PipelineServiceImpl implements PipelineService {
+
+    @Autowired
+    private Map<String, Action> actionMap;
+
+    @Override
+    public String execute(Long pipelineId) {
+        // 1.获取pipeline配置
+        List<String> stepList = new ArrayList<>();
+        // 2.按照步骤执行pipeline每一步动作
+        String result = null;
+        for (String step : stepList) {
+            if (Objects.isNull(step)) {
+                throw new CommonException(ExceptionEnum.DATA_ERROR, "step is null pipelineId=" + pipelineId);
+            }
+            Action action = actionMap.get(step);
+            if (Objects.isNull(action)) {
+                throw new CommonException(ExceptionEnum.DATA_ERROR, "action is null pipelineId=" + pipelineId);
+            }
+            ActionParam actionParam = new ActionParam();
+            actionParam.setInput(result);
+            result = action.execute(actionParam);
+        }
+        return result;
+    }
+}

+ 55 - 0
content-understanding-core/src/main/resources/mybatis-generator-config.xml

@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE generatorConfiguration
+        PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
+        "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
+<!-- 配置生成器 -->
+<generatorConfiguration>
+    <context id="mysql" defaultModelType="flat">
+        <property name="autoDelimitKeywords" value="true"/>
+        <!-- 生成的Java文件的编码 -->
+        <property name="javaFileEncoding" value="UTF-8"/>
+        <!-- 格式化java代码 -->
+        <property name="javaFormatter" value="org.mybatis.generator.api.dom.DefaultJavaFormatter"/>
+        <!-- 格式化XML代码 -->
+        <property name="xmlFormatter" value="org.mybatis.generator.api.dom.DefaultXmlFormatter"/>
+        <!-- beginningDelimiter和endingDelimiter:指明数据库的用于标记数据库对象名的符号,比如ORACLE就是双引号,MYSQL默认是`反引号; -->
+        <property name="beginningDelimiter" value="`"/>
+        <property name="endingDelimiter" value="`"/>
+
+        <plugin type="org.mybatis.generator.plugins.ToStringPlugin"></plugin>
+        <plugin type="org.mybatis.generator.plugins.UnmergeableXmlMappersPlugin" />
+
+        <commentGenerator>
+            <property name="addRemarkComments" value="true"/>
+        </commentGenerator>
+
+        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
+                        connectionURL="jdbc:mysql://rm-bp1k5853td1r25g3n690.mysql.rds.aliyuncs.com:3306/longvideo?useUnicode=true&amp;characterEncoding=utf-8&amp;zeroDateTimeBehavior=convertToNull&amp;useSSL=false"
+                        userId="wx2016_longvideo" password="wx2016_longvideoP@assword1234">
+        </jdbcConnection>
+
+        <javaTypeResolver type="org.mybatis.generator.internal.types.JavaTypeResolverDefaultImpl">
+            <property name="forceBigDecimals" value="false"/>
+        </javaTypeResolver>
+
+        <javaModelGenerator targetPackage="com.tzld.piaoquan.content.understanding.model.po" targetProject="src/main/java">
+            <property name="constructorBased" value="false"/>
+            <property name="enableSubPackages" value="true"/>
+            <property name="immutable" value="false"/>
+        </javaModelGenerator>
+
+        <sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources">
+            <property name="enableSubPackages" value="true"/>
+        </sqlMapGenerator>
+
+        <javaClientGenerator targetPackage="com.tzld.piaoquan.content.understanding.dao.mapper" type="XMLMAPPER" targetProject="src/main/java">
+            <property name="enableSubPackages" value="true"/>
+        </javaClientGenerator>
+
+        <table tableName="cu_pipeline" domainObjectName="CuPipeline" alias=""/>
+        <table tableName="cu_pipeline_step" domainObjectName="CuPipelineStep" alias=""/>
+        <table tableName="cu_prompt" domainObjectName="CuPrompt" alias=""/>
+
+    </context>
+
+</generatorConfiguration>

+ 8 - 3
content-understanding-server/src/main/java/com/tzld/piaoquan/content/understanding/Application.java

@@ -1,11 +1,13 @@
 package com.tzld.piaoquan.content.understanding;
 
+import org.mybatis.spring.annotation.MapperScan;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
 import org.springframework.boot.web.servlet.ServletComponentScan;
+import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
+import org.springframework.cloud.openfeign.EnableFeignClients;
 import springfox.documentation.swagger2.annotations.EnableSwagger2;
 
 /**
@@ -13,8 +15,11 @@ import springfox.documentation.swagger2.annotations.EnableSwagger2;
  *
  * @author supeng
  */
-@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})
-@ServletComponentScan("com.tzld.piaoquan.content.supply")
+@SpringBootApplication
+@ServletComponentScan("com.tzld.piaoquan.content.understanding")
+@MapperScan("com.tzld.piaoquan.content.understanding.dao")
+@EnableFeignClients
+@EnableEurekaClient
 @EnableSwagger2
 public class Application {
     private static final Logger LOGGER = LoggerFactory.getLogger(Application.class);

+ 0 - 15
content-understanding-server/src/main/java/com/tzld/piaoquan/content/understanding/controller/CircuitBreakerController.java

@@ -1,15 +0,0 @@
-package com.tzld.piaoquan.content.understanding.controller;
-
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * 熔断
- */
-@Slf4j
-@RestController
-@RequestMapping("/circuitbreaker")
-public class CircuitBreakerController {
-
-}

+ 32 - 0
content-understanding-server/src/main/java/com/tzld/piaoquan/content/understanding/controller/ContentController.java

@@ -0,0 +1,32 @@
+package com.tzld.piaoquan.content.understanding.controller;
+
+import com.tzld.piaoquan.content.understanding.common.base.CommonRequest;
+import com.tzld.piaoquan.content.understanding.common.base.CommonResponse;
+import com.tzld.piaoquan.content.understanding.model.param.ContentAnalyseParam;
+import com.tzld.piaoquan.content.understanding.service.ContentService;
+import com.tzld.piaoquan.content.understanding.service.PipelineService;
+import lombok.extern.slf4j.Slf4j;
+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;
+
+/**
+ * 降级
+ */
+@Slf4j
+@RestController
+@RequestMapping("/content")
+public class ContentController {
+
+    @Autowired
+    private ContentService contentService;
+
+    @PostMapping(value = "/analyse")
+    public CommonResponse<String> analyse(@RequestBody CommonRequest<ContentAnalyseParam> commonRequest) {
+        contentService.analyse(commonRequest);
+        return CommonResponse.create();
+    }
+
+}

+ 0 - 16
content-understanding-server/src/main/java/com/tzld/piaoquan/content/understanding/controller/DownGradeController.java

@@ -1,16 +0,0 @@
-package com.tzld.piaoquan.content.understanding.controller;
-
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * 降级
- */
-@Slf4j
-@RestController
-@RequestMapping("/downgrade")
-public class DownGradeController {
-
-    //TODO
-}

+ 24 - 0
content-understanding-server/src/main/resources/application-dev.yml

@@ -1,5 +1,29 @@
 server:
   port: 8080
+
+eureka:
+  instance:
+    prefer-ip-address: true #是否优先使用IP地址作为主机名的标识,默认false
+    instance-id: ${spring.cloud.client.ip-address}:${spring.application.name}:${server.port} #注册到eureka上的唯一实例ID
+    lease-renewal-interval-in-seconds: 10 #表示eureka client发送心跳给server端的频率,默认30
+    lease-expiration-duration-in-seconds: 30 #表示eureka server至上一次收到client的心跳之后,等待下一次心跳的超时时间,在这个时间内若没收到下一次心跳,则将移除该instance,默认90
+  client:
+    registry-fetch-interval-seconds: 5  #定时从Eureka Server拉取服务注册信息的间隔时间
+    serviceUrl:
+      defaultZone: http://deveureka-internal.piaoquantv.com/eureka/
+
+spring:
+  datasource:
+    driver-class-name: com.mysql.jdbc.Driver
+    url: jdbc:mysql://rm-bp1k5853td1r25g3n690.mysql.rds.aliyuncs.com:3306/longvideo?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull
+    username: wx2016_longvideo
+    password: wx2016_longvideoP@assword1234
+    type: com.zaxxer.hikari.HikariDataSource
+    hikari:
+      minimum-idle: 10
+      maximum-pool-size: 20
+      connection-test-query: SELECT 1
+
 logging:
   file:
     path: ./datalog/weblog/${project.name}

+ 23 - 0
content-understanding-server/src/main/resources/application-pre.yml

@@ -1,6 +1,29 @@
 server:
   port: 8080
 
+eureka:
+  instance:
+    prefer-ip-address: true #是否优先使用IP地址作为主机名的标识,默认false
+    instance-id: ${spring.cloud.client.ip-address}:${spring.application.name}:${server.port} #注册到eureka上的唯一实例ID
+    lease-renewal-interval-in-seconds: 10 #表示eureka client发送心跳给server端的频率,默认30
+    lease-expiration-duration-in-seconds: 30 #表示eureka server至上一次收到client的心跳之后,等待下一次心跳的超时时间,在这个时间内若没收到下一次心跳,则将移除该instance,默认90
+  client:
+    registry-fetch-interval-seconds: 5  #定时从Eureka Server拉取服务注册信息的间隔时间
+    serviceUrl:
+      defaultZone: http://preeureka-internal.piaoquantv.com/eureka/
+
+spring:
+  datasource:
+    driver-class-name: com.mysql.jdbc.Driver
+    url: jdbc:mysql://rm-bp1jjv3jv98133plv285-vpc-rw.mysql.rds.aliyuncs.com:3306/longvideo?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull
+    username: wx2016_longvideo
+    password: wx2016_longvideoP@assword1234
+    type: com.zaxxer.hikari.HikariDataSource
+    hikari:
+      minimum-idle: 10
+      maximum-pool-size: 20
+      connection-test-query: SELECT 1
+
 logging:
   file:
     path: /datalog/weblog/${project.name}

+ 23 - 0
content-understanding-server/src/main/resources/application-prod.yml

@@ -1,6 +1,29 @@
 server:
   port: 8080
 
+eureka:
+  instance:
+    prefer-ip-address: true #是否优先使用IP地址作为主机名的标识,默认false
+    instance-id: ${spring.cloud.client.ip-address}:${spring.application.name}:${server.port} #注册到eureka上的唯一实例ID
+    lease-renewal-interval-in-seconds: 10 #表示eureka client发送心跳给server端的频率,默认30
+    lease-expiration-duration-in-seconds: 30 #表示eureka server至上一次收到client的心跳之后,等待下一次心跳的超时时间,在这个时间内若没收到下一次心跳,则将移除该instance,默认90
+  client:
+    registry-fetch-interval-seconds: 5  #定时从Eureka Server拉取服务注册信息的间隔时间
+    serviceUrl:
+      defaultZone: http://eureka-internal.piaoquantv.com/eureka/
+
+spring:
+  datasource:
+    driver-class-name: com.mysql.jdbc.Driver
+    url: jdbc:mysql://rm-bp1jjv3jv98133plv285-vpc-rw.mysql.rds.aliyuncs.com:3306/longvideo?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull
+    username: wx2016_longvideo
+    password: wx2016_longvideoP@assword1234
+    type: com.zaxxer.hikari.HikariDataSource
+    hikari:
+      minimum-idle: 10
+      maximum-pool-size: 20
+      connection-test-query: SELECT 1
+
 logging:
   file:
     path: /datalog/weblog/${project.name}

+ 23 - 0
content-understanding-server/src/main/resources/application-stress.yml

@@ -1,6 +1,29 @@
 server:
   port: 8080
 
+eureka:
+  instance:
+    prefer-ip-address: true #是否优先使用IP地址作为主机名的标识,默认false
+    instance-id: ${spring.cloud.client.ip-address}:${spring.application.name}:${server.port} #注册到eureka上的唯一实例ID
+    lease-renewal-interval-in-seconds: 10 #表示eureka client发送心跳给server端的频率,默认30
+    lease-expiration-duration-in-seconds: 30 #表示eureka server至上一次收到client的心跳之后,等待下一次心跳的超时时间,在这个时间内若没收到下一次心跳,则将移除该instance,默认90
+  client:
+    registry-fetch-interval-seconds: 5  #定时从Eureka Server拉取服务注册信息的间隔时间
+    serviceUrl:
+      defaultZone: http://testeureka-internal.piaoquantv.com/eureka/
+
+spring:
+  datasource:
+    driver-class-name: com.mysql.jdbc.Driver
+    url: jdbc:mysql://rm-bp1k5853td1r25g3n690.mysql.rds.aliyuncs.com:3306/longvideo?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull
+    username: wx2016_longvideo
+    password: wx2016_longvideoP@assword1234
+    type: com.zaxxer.hikari.HikariDataSource
+    hikari:
+      minimum-idle: 10
+      maximum-pool-size: 20
+      connection-test-query: SELECT 1
+
 logging:
   file:
     path: /datalog/weblog/${project.name}

+ 24 - 0
content-understanding-server/src/main/resources/application-test.yml

@@ -1,6 +1,30 @@
 server:
   port: 8080
 
+eureka:
+  instance:
+    prefer-ip-address: true #是否优先使用IP地址作为主机名的标识,默认false
+    instance-id: ${spring.cloud.client.ip-address}:${spring.application.name}:${server.port} #注册到eureka上的唯一实例ID
+    lease-renewal-interval-in-seconds: 10 #表示eureka client发送心跳给server端的频率,默认30
+    lease-expiration-duration-in-seconds: 30 #表示eureka server至上一次收到client的心跳之后,等待下一次心跳的超时时间,在这个时间内若没收到下一次心跳,则将移除该instance,默认90
+  client:
+    registry-fetch-interval-seconds: 5  #定时从Eureka Server拉取服务注册信息的间隔时间
+    serviceUrl:
+      defaultZone: http://testeureka-internal.piaoquantv.com/eureka/
+
+spring:
+  datasource:
+    driver-class-name: com.mysql.jdbc.Driver
+    url: jdbc:mysql://rm-bp1k5853td1r25g3n690.mysql.rds.aliyuncs.com:3306/longvideo?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull
+    username: wx2016_longvideo
+    password: wx2016_longvideoP@assword1234
+    type: com.zaxxer.hikari.HikariDataSource
+    hikari:
+      minimum-idle: 10
+      maximum-pool-size: 20
+      connection-test-query: SELECT 1
+
+
 logging:
   file:
     path: /datalog/weblog/${project.name}

+ 8 - 1
content-understanding-server/src/main/resources/application.yml

@@ -17,9 +17,16 @@ server:
     session:
       timeout: 60
 
+mybatis:
+  type-aliases-package: com.tzld.piaoquan.content.understanding.model.po
+  mapper-locations: classpath:mapper/*.xml
+
+pagehelper:
+  helper-dialect: mysql
+
 aliyun:
   log:
     endpoint: cn-hangzhou-intranet.log.aliyuncs.com
     accessKeyId: LTAIP6x1l3DXfSxm
     accessKeySecret: KbTaM9ars4OX3PMS6Xm7rtxGr1FLon
-    project: content-understanding
+    project: content-supply

+ 32 - 5
pom.xml

@@ -23,7 +23,6 @@
     <properties>
         <lombok.version>1.18.20</lombok.version>
         <xxl.job.version>2.2.0</xxl.job.version>
-        <aviator.version>5.2.7</aviator.version>
         <httpclient.version>4.5.13</httpclient.version>
         <common.lang3.version>3.12.0</common.lang3.version>
         <spring.kafka.version>2.6.4</spring.kafka.version>
@@ -58,6 +57,26 @@
             <groupId>org.apache.commons</groupId>
             <artifactId>commons-pool2</artifactId>
         </dependency>
+        <dependency>
+            <groupId>mysql</groupId>
+            <artifactId>mysql-connector-java</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.mybatis.spring.boot</groupId>
+            <artifactId>mybatis-spring-boot-starter</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.mybatis.generator</groupId>
+            <artifactId>mybatis-generator-core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.github.pagehelper</groupId>
+            <artifactId>pagehelper-spring-boot-starter</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-data-redis</artifactId>
+        </dependency>
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-test</artifactId>
@@ -93,10 +112,10 @@
             <groupId>org.projectlombok</groupId>
             <artifactId>lombok</artifactId>
         </dependency>
-<!--        <dependency>-->
-<!--            <groupId>org.springframework.cloud</groupId>-->
-<!--            <artifactId>spring-cloud-commons</artifactId>-->
-<!--        </dependency>-->
+        <dependency>
+            <groupId>org.springframework.cloud</groupId>
+            <artifactId>spring-cloud-commons</artifactId>
+        </dependency>
         <dependency>
             <groupId>org.apache.httpcomponents</groupId>
             <artifactId>httpclient</artifactId>
@@ -105,6 +124,14 @@
             <groupId>org.apache.commons</groupId>
             <artifactId>commons-lang3</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.springframework.cloud</groupId>
+            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.cloud</groupId>
+            <artifactId>spring-cloud-starter-openfeign</artifactId>
+        </dependency>
         <dependency>
             <groupId>com.ctrip.framework.apollo</groupId>
             <artifactId>apollo-client</artifactId>