Przeglądaj źródła

feat: 写出maxcompute任务状态

许家凯 4 lat temu
rodzic
commit
333c1cc934

+ 37 - 0
src/main/java/com/winhc/bigdata/query/server/controller/MaxComputeJobStatusController.java

@@ -0,0 +1,37 @@
+package com.winhc.bigdata.query.server.controller;
+
+import com.winhc.bigdata.query.server.entity.MaxComputeJobStatus;
+import com.winhc.bigdata.query.server.enums.WriteEndStatus;
+import com.winhc.bigdata.query.server.service.MaxComputeJobStatusService;
+import lombok.AllArgsConstructor;
+import org.springframework.validation.annotation.Validated;
+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 javax.validation.constraints.Pattern;
+
+/**
+ * @Author: XuJiakai
+ * @Date: 2020/8/26 13:32
+ * @Description:
+ */
+@Validated
+@RestController
+@AllArgsConstructor
+@RequestMapping("job-status")
+public class MaxComputeJobStatusController {
+    private MaxComputeJobStatusService jobStatusService;
+
+
+    @GetMapping("set")
+    public String setStatus(@RequestParam("date") @Pattern(regexp = "\\d{4}\\-\\d{2}\\-\\d{2}", message = "时间必需为yyyy-MM-dd格式") String date
+            , @RequestParam("job_type_id") String jobType
+            , @RequestParam("job_status") WriteEndStatus jobStatus
+    ) {
+        MaxComputeJobStatus job = MaxComputeJobStatus.builder().jobDate(date).jobType(jobType).writeEnd(jobStatus).build();
+        return jobStatusService.saveOrUpdate(job) ? "ok" : "field";
+    }
+
+}

+ 47 - 0
src/main/java/com/winhc/bigdata/query/server/entity/MaxComputeJobStatus.java

@@ -0,0 +1,47 @@
+package com.winhc.bigdata.query.server.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.winhc.bigdata.query.server.enums.WriteEndStatus;
+import lombok.*;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.Pattern;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @Author: XuJiakai
+ * @Date: 2020/8/26 11:24
+ * @Description:
+ */
+@Getter
+@Setter
+@Builder
+@AllArgsConstructor
+@NoArgsConstructor
+@TableName("maxcompute_job_status")
+public class MaxComputeJobStatus implements Serializable {
+    @TableId(type = IdType.AUTO)
+    private Long id;
+    @NotBlank(message = "任务类型不能为空")
+    private String jobType;
+    @Pattern(regexp = "\\d{4}\\-\\d{2}\\-\\d{2}", message = "时间必需为yyyy-MM-dd格式")
+    private String jobDate;
+    private WriteEndStatus writeEnd;
+    private Date createTime;
+    private Date updateTime;
+
+    @Override
+    public String toString() {
+        return "MaxComputeJobStatus{" +
+                "id=" + id +
+                ", jobType='" + jobType + '\'' +
+                ", jobDate='" + jobDate + '\'' +
+                ", writeEnd=" + writeEnd +
+                ", createTime=" + createTime +
+                ", updateTime=" + updateTime +
+                '}';
+    }
+}

+ 27 - 0
src/main/java/com/winhc/bigdata/query/server/enums/WriteEndStatus.java

@@ -0,0 +1,27 @@
+package com.winhc.bigdata.query.server.enums;
+
+import com.baomidou.mybatisplus.annotation.EnumValue;
+import lombok.Getter;
+
+/**
+ * @Author: XuJiakai
+ * @Date: 2020/8/26 11:27
+ * @Description:
+ */
+@Getter
+public enum WriteEndStatus {
+    /**
+     * 写出完毕
+     */
+    END(1, "写出完毕"),
+    RUNNING(0, "正在写出");
+
+    @EnumValue
+    private final int key;
+    private final String value;
+
+    WriteEndStatus(int key, String value) {
+        this.key = key;
+        this.value = value;
+    }
+}

+ 14 - 0
src/main/java/com/winhc/bigdata/query/server/mapper/MaxComputeJobStatusMapper.java

@@ -0,0 +1,14 @@
+package com.winhc.bigdata.query.server.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.winhc.bigdata.query.server.entity.MaxComputeJobStatus;
+import org.springframework.stereotype.Repository;
+
+/**
+ * @Author: XuJiakai
+ * @Date: 2020/8/26 11:38
+ * @Description:
+ */
+@Repository
+public interface MaxComputeJobStatusMapper extends BaseMapper<MaxComputeJobStatus> {
+}

+ 12 - 0
src/main/java/com/winhc/bigdata/query/server/service/MaxComputeJobStatusService.java

@@ -0,0 +1,12 @@
+package com.winhc.bigdata.query.server.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.winhc.bigdata.query.server.entity.MaxComputeJobStatus;
+
+/**
+ * @Author: XuJiakai
+ * @Date: 2020/8/26 11:40
+ * @Description:
+ */
+public interface MaxComputeJobStatusService extends IService<MaxComputeJobStatus> {
+}

+ 18 - 0
src/main/java/com/winhc/bigdata/query/server/service/impl/MaxComputeJobStatusServiceImpl.java

@@ -0,0 +1,18 @@
+package com.winhc.bigdata.query.server.service.impl;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.winhc.bigdata.query.server.entity.MaxComputeJobStatus;
+import com.winhc.bigdata.query.server.mapper.MaxComputeJobStatusMapper;
+import com.winhc.bigdata.query.server.service.MaxComputeJobStatusService;
+import org.springframework.stereotype.Service;
+
+/**
+ * @Author: XuJiakai
+ * @Date: 2020/8/26 11:40
+ * @Description:
+ */
+@DS("prism1")
+@Service
+public class MaxComputeJobStatusServiceImpl extends ServiceImpl<MaxComputeJobStatusMapper, MaxComputeJobStatus> implements MaxComputeJobStatusService {
+}

+ 6 - 5
src/main/resources/application-pro.yml

@@ -17,11 +17,12 @@ spring:
           password: myeci_Fasac_168
           driver-class-name: com.mysql.cj.jdbc.Driver # 3.2.0开始支持SPI可省略此配置
           db-name: eci_data_increment
-#        slave_1:
-#          url: jdbc:mysql://xx.xx.xx.xx:3307/dynamic
-#          username: root
-#          password: 123456
-#          driver-class-name: com.mysql.cj.jdbc.Driver
+        prism1:
+          url: jdbc:mysql://rm-uf61r3m23ba1p5z3dfo.mysql.rds.aliyuncs.com:3306/prism1?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&serverTimezone=GMT%2B8
+          username: wenshu
+          password: wenshu_168
+          driver-class-name: com.mysql.cj.jdbc.Driver
+          db-name: prism1
 
 logging:
   level:

+ 13 - 0
src/main/resources/application.yml

@@ -6,3 +6,16 @@ spring:
 server:
   port: 8085
 
+mybatis-plus:
+  configuration:
+    cache-enabled: false
+  type-enums-package: com.winhc.bigdata.query.server.enums
+  global-config:
+    db-config:
+      id-type: auto
+      logic-delete-value: 1
+      logic-not-delete-value: 0
+      insert-strategy: not_null
+      update-strategy: not_null
+      select-strategy: not_empty
+    banner: true

+ 10 - 0
src/test/java/com/winhc/bigdata/query/server/BigDataQueryServerApplicationTests.java

@@ -1,13 +1,23 @@
 package com.winhc.bigdata.query.server;
 
+import com.winhc.bigdata.query.server.service.MaxComputeJobStatusService;
 import org.junit.jupiter.api.Test;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
 
 @SpringBootTest
 class BigDataQueryServerApplicationTests {
+    @Autowired
+    MaxComputeJobStatusService maxComputeJobStatusService;
 
     @Test
     void contextLoads() {
+      /*  MaxComputeJobStatus maxComputeJobStatus = new MaxComputeJobStatus();
+        maxComputeJobStatus.setJobDate("2020-08-01");
+        maxComputeJobStatus.setJobType("company_dynamic");
+        maxComputeJobStatus.setWriteEnd(WriteEndStatus.END);
+        maxComputeJobStatusService.saveOrUpdate(maxComputeJobStatus);
+        maxComputeJobStatusService.list().forEach(System.out::println);*/
     }
 
 }