瀏覽代碼

Merge pull request #393 from SliverHorn/gva_gormv2_dev

修复v2.4.0的docker-compose的启动异常问题, swagger错误修复
SliverHorn 4 年之前
父節點
當前提交
d2da81e438
共有 7 個文件被更改,包括 2284 次插入124 次删除
  1. 5 5
      .docker-compose/shell/server-handle.sh
  2. 1 1
      docker-compose.yaml
  3. 1 4
      dockerfile_server
  4. 1 1
      server/api/v1/exa_excel.go
  5. 795 30
      server/docs/docs.go
  6. 795 30
      server/docs/swagger.json
  7. 686 53
      server/docs/swagger.yaml

+ 5 - 5
.docker-compose/shell/server-handle.sh

@@ -61,11 +61,11 @@ captcha:
 
 # mysql connect configuration
 mysql:
-  path: '177.7.0.13:3306'
-  config: 'charset=utf8mb4&parseTime=True&loc=Local'
-  db-name: 'qmPlus'
-  username: 'root'
-  password: 'Aa@6447985'
+  path: ''
+  config: ''
+  db-name: ''
+  username: ''
+  password: ''
   max-idle-conns: 10
   max-open-conns: 100
   log-mode: false

+ 1 - 1
docker-compose.yaml

@@ -1,4 +1,4 @@
-version: "3.8"
+version: "3"
 
 networks:
   network:

+ 1 - 4
dockerfile_server

@@ -12,20 +12,17 @@ RUN sh ./server-handle.sh
 RUN rm -f server-handle.sh
 RUN cat ./config.yaml
 
-RUN go build -o gva cmd/main.go
 RUN go env && go build -o server .
 
-
 FROM alpine:latest
 LABEL MAINTAINER="SliverHorn@[email protected]"
 
 WORKDIR /go/src/gin-vue-admin
 
-COPY --from=0 /go/src/gin-vue-admin/gva ./
 COPY --from=0 /go/src/gin-vue-admin/server ./
 COPY --from=0 /go/src/gin-vue-admin/config.yaml ./
 COPY --from=0 /go/src/gin-vue-admin/resource ./resource
 
 EXPOSE 8888
 
-ENTRYPOINT ./gva initdb && ./server
+ENTRYPOINT ./server

+ 1 - 1
server/api/v1/exa_excel.go

@@ -82,7 +82,7 @@ func LoadExcel(c *gin.Context) {
 // @Security ApiKeyAuth
 // @accept multipart/form-data
 // @Produce  application/json
-// @Param fileName query fileName true "模板名称"
+// @Param fileName query string true "模板名称"
 // @Success 200
 // @Router /excel/downloadTemplate [get]
 func DownloadTemplate(c *gin.Context) {

File diff suppressed because it is too large
+ 795 - 30
server/docs/docs.go


File diff suppressed because it is too large
+ 795 - 30
server/docs/swagger.json


+ 686 - 53
server/docs/swagger.yaml

@@ -1,5 +1,18 @@
 basePath: /
 definitions:
+  config.AliyunOSS:
+    properties:
+      accessKeyId:
+        type: string
+      accessKeySecret:
+        type: string
+      bucketName:
+        type: string
+      bucketUrl:
+        type: string
+      endpoint:
+        type: string
+    type: object
   config.Captcha:
     properties:
       imgHeight:
@@ -31,8 +44,17 @@ definitions:
       to:
         type: string
     type: object
+  config.Excel:
+    properties:
+      dir:
+        type: string
+    type: object
   config.JWT:
     properties:
+      bufferTime:
+        type: integer
+      expiresTime:
+        type: integer
       signingKey:
         type: string
     type: object
@@ -49,6 +71,8 @@ definitions:
         type: string
       logMode:
         type: boolean
+      logZap:
+        type: string
       maxIdleConns:
         type: integer
       maxOpenConns:
@@ -88,6 +112,9 @@ definitions:
     type: object
   config.Server:
     properties:
+      aliyunOSS:
+        $ref: '#/definitions/config.AliyunOSS'
+        type: object
       captcha:
         $ref: '#/definitions/config.Captcha'
         type: object
@@ -97,6 +124,9 @@ definitions:
       email:
         $ref: '#/definitions/config.Email'
         type: object
+      excel:
+        $ref: '#/definitions/config.Excel'
+        type: object
       jwt:
         $ref: '#/definitions/config.JWT'
         type: object
@@ -117,6 +147,9 @@ definitions:
       system:
         $ref: '#/definitions/config.System'
         type: object
+      tencentCOS:
+        $ref: '#/definitions/config.TencentCOS'
+        type: object
       zap:
         $ref: '#/definitions/config.Zap'
         type: object
@@ -134,6 +167,21 @@ definitions:
       useMultipoint:
         type: boolean
     type: object
+  config.TencentCOS:
+    properties:
+      baseURL:
+        type: string
+      bucket:
+        type: string
+      pathPrefix:
+        type: string
+      region:
+        type: string
+      secretID:
+        type: string
+      secretKey:
+        type: string
+    type: object
   config.Zap:
     properties:
       director:
@@ -155,6 +203,27 @@ definitions:
       stacktraceKey:
         type: string
     type: object
+  model.AutoCodeStruct:
+    properties:
+      abbreviation:
+        type: string
+      autoCreateApiToSql:
+        type: boolean
+      autoMoveFile:
+        type: boolean
+      description:
+        type: string
+      fields:
+        items:
+          $ref: '#/definitions/model.Field'
+        type: array
+      packageName:
+        type: string
+      structName:
+        type: string
+      tableName:
+        type: string
+    type: object
   model.ExaCustomer:
     properties:
       createdAt:
@@ -192,6 +261,38 @@ definitions:
       url:
         type: string
     type: object
+  model.ExcelInfo:
+    properties:
+      fileName:
+        type: string
+      infoList:
+        items:
+          $ref: '#/definitions/model.SysBaseMenu'
+        type: array
+    type: object
+  model.Field:
+    properties:
+      columnName:
+        type: string
+      comment:
+        type: string
+      dataType:
+        type: string
+      dataTypeLong:
+        type: string
+      dictType:
+        type: string
+      fieldDesc:
+        type: string
+      fieldJson:
+        type: string
+      fieldName:
+        type: string
+      fieldSearchType:
+        type: string
+      fieldType:
+        type: string
+    type: object
   model.SysApi:
     properties:
       apiGroup:
@@ -225,6 +326,8 @@ definitions:
         items:
           $ref: '#/definitions/model.SysAuthority'
         type: array
+      defaultRouter:
+        type: string
       deletedAt:
         type: string
       menus:
@@ -246,6 +349,8 @@ definitions:
         items:
           $ref: '#/definitions/model.SysBaseMenu'
         type: array
+      closeTab:
+        type: boolean
       component:
         type: string
       createdAt:
@@ -388,61 +493,170 @@ definitions:
       uuid:
         type: string
     type: object
-  model.SysWorkflow:
+  model.System:
     properties:
+      config:
+        $ref: '#/definitions/config.Server'
+        type: object
+    type: object
+  model.WorkflowEdge:
+    properties:
+      clazz:
+        type: string
+      conditionExpression:
+        type: string
       createdAt:
         type: string
+      description:
+        type: string
+      endPoint:
+        $ref: '#/definitions/model.WorkflowEndPoint'
+        description: 终点信息
+        type: object
+      hideIcon:
+        type: boolean
       id:
-        type: integer
-      updatedAt:
         type: string
-      workflowDescription:
-        description: 工作流描述
+      label:
         type: string
-      workflowName:
-        description: 工作流英文id
+      reverse:
+        type: boolean
+      seq:
         type: string
-      workflowNickName:
-        description: 工作流名称
+      shape:
+        type: string
+      source:
+        type: string
+      sourceAnchor:
+        type: integer
+      startPoint:
+        $ref: '#/definitions/model.WorkflowStartPoint'
+        description: 起点信息
+        type: object
+      target:
+        type: string
+      targetAnchor:
+        type: integer
+      updatedAt:
         type: string
-      workflowStep:
-        description: 工作流步骤
-        items:
-          $ref: '#/definitions/model.SysWorkflowStepInfo'
-        type: array
     type: object
-  model.SysWorkflowStepInfo:
+  model.WorkflowEndPoint:
     properties:
       createdAt:
         type: string
       id:
         type: integer
-      isEnd:
-        description: 是否是完结流节点
+      index:
+        type: integer
+      updatedAt:
+        type: string
+      workflowEdgeID:
+        type: string
+      x:
+        type: number
+      "y":
+        type: number
+    type: object
+  model.WorkflowNode:
+    properties:
+      assignType:
+        type: string
+      assignValue:
+        type: string
+      clazz:
+        type: string
+      content:
+        type: string
+      createdAt:
+        type: string
+      cycle:
+        type: string
+      description:
+        type: string
+      dueDate:
+        type: string
+      duration:
+        type: string
+      hideIcon:
         type: boolean
-      isStart:
-        description: 是否是开始流节点
+      id:
+        type: string
+      label:
+        type: string
+      shape:
+        type: string
+      stateValue:
+        type: string
+      subject:
+        type: string
+      success:
         type: boolean
-      stepAuthorityID:
-        description: 操作者级别id
+      to:
         type: string
-      stepName:
-        description: 工作流名称
+      type:
+        type: string
+      updatedAt:
+        type: string
+      view:
         type: string
-      stepNo:
-        description: 步骤id (第几步)
+      waitState:
+        type: string
+      workflowProcessID:
+        type: string
+      x:
         type: number
+      "y":
+        type: number
+    type: object
+  model.WorkflowProcess:
+    properties:
+      category:
+        type: string
+      clazz:
+        type: string
+      createdAt:
+        type: string
+      description:
+        type: string
+      edges:
+        description: 流程链接数据
+        items:
+          $ref: '#/definitions/model.WorkflowEdge'
+        type: array
+      hideIcon:
+        type: boolean
+      id:
+        type: string
+      label:
+        type: string
+      name:
+        type: string
+      nodes:
+        description: 流程节点数据
+        items:
+          $ref: '#/definitions/model.WorkflowNode'
+        type: array
       updatedAt:
         type: string
-      workflowID:
-        description: 所属工作流ID
-        type: integer
+      view:
+        type: string
     type: object
-  model.System:
+  model.WorkflowStartPoint:
     properties:
-      config:
-        $ref: '#/definitions/config.Server'
-        type: object
+      createdAt:
+        type: string
+      id:
+        type: integer
+      index:
+        type: integer
+      updatedAt:
+        type: string
+      workflowEdgeID:
+        type: string
+      x:
+        type: number
+      "y":
+        type: number
     type: object
   request.AddMenuAuthorityInfo:
     properties:
@@ -497,6 +711,22 @@ definitions:
           type: integer
         type: array
     type: object
+  request.InitDB:
+    properties:
+      dbName:
+        type: string
+      host:
+        type: string
+      password:
+        type: string
+      port:
+        type: string
+      userName:
+        type: string
+    required:
+    - dbName
+    - userName
+    type: object
   request.Login:
     properties:
       captcha:
@@ -631,6 +861,43 @@ definitions:
       user_id:
         type: integer
     type: object
+  request.WorkflowProcessSearch:
+    properties:
+      category:
+        type: string
+      clazz:
+        type: string
+      createdAt:
+        type: string
+      description:
+        type: string
+      edges:
+        description: 流程链接数据
+        items:
+          $ref: '#/definitions/model.WorkflowEdge'
+        type: array
+      hideIcon:
+        type: boolean
+      id:
+        type: string
+      label:
+        type: string
+      name:
+        type: string
+      nodes:
+        description: 流程节点数据
+        items:
+          $ref: '#/definitions/model.WorkflowNode'
+        type: array
+      page:
+        type: integer
+      pageSize:
+        type: integer
+      updatedAt:
+        type: string
+      view:
+        type: string
+    type: object
   response.SysAuthorityCopyResponse:
     properties:
       authority:
@@ -919,6 +1186,13 @@ paths:
     post:
       consumes:
       - application/json
+      parameters:
+      - description: 创建自动代码
+        in: body
+        name: data
+        required: true
+        schema:
+          $ref: '#/definitions/model.AutoCodeStruct'
       produces:
       - application/json
       responses:
@@ -979,6 +1253,29 @@ paths:
       summary: 获取当前数据库所有表
       tags:
       - AutoCode
+  /autoCode/preview:
+    post:
+      consumes:
+      - application/json
+      parameters:
+      - description: 预览创建代码
+        in: body
+        name: data
+        required: true
+        schema:
+          $ref: '#/definitions/model.AutoCodeStruct'
+      produces:
+      - application/json
+      responses:
+        "200":
+          description: '{"success":true,"data":{},"msg":"创建成功"}'
+          schema:
+            type: string
+      security:
+      - ApiKeyAuth: []
+      summary: 预览创建后的代码
+      tags:
+      - AutoCode
   /base/captcha:
     post:
       consumes:
@@ -1186,6 +1483,83 @@ paths:
       summary: 发送测试邮件
       tags:
       - System
+  /excel/downloadTemplate:
+    get:
+      consumes:
+      - multipart/form-data
+      parameters:
+      - description: 模板名称
+        in: query
+        name: fileName
+        required: true
+        type: string
+      produces:
+      - application/json
+      responses:
+        "200":
+          description: ""
+      security:
+      - ApiKeyAuth: []
+      summary: 下载模板
+      tags:
+      - excel
+  /excel/exportExcel:
+    post:
+      consumes:
+      - application/json
+      parameters:
+      - description: 导出Excel文件信息
+        in: body
+        name: data
+        required: true
+        schema:
+          $ref: '#/definitions/model.ExcelInfo'
+      produces:
+      - application/octet-stream
+      responses:
+        "200":
+          description: ""
+      security:
+      - ApiKeyAuth: []
+      summary: 导出Excel
+      tags:
+      - excel
+  /excel/importExcel:
+    post:
+      consumes:
+      - multipart/form-data
+      parameters:
+      - description: 导入Excel文件
+        in: formData
+        name: file
+        required: true
+        type: file
+      produces:
+      - application/json
+      responses:
+        "200":
+          description: '{"success":true,"data":{},"msg":"导入成功"}'
+          schema:
+            type: string
+      security:
+      - ApiKeyAuth: []
+      summary: 导入Excel文件
+      tags:
+      - excel
+  /excel/loadExcel:
+    get:
+      produces:
+      - application/json
+      responses:
+        "200":
+          description: '{"success":true,"data":{},"msg":"加载数据成功"}'
+          schema:
+            type: string
+      security:
+      - ApiKeyAuth: []
+      summary: 加载Excel数据
+      tags:
+      - excel
   /fileUploadAndDownload/breakpointContinue:
     post:
       consumes:
@@ -1318,6 +1692,37 @@ paths:
       summary: 上传文件示例
       tags:
       - ExaFileUploadAndDownload
+  /init/checkdb:
+    post:
+      produces:
+      - application/json
+      responses:
+        "200":
+          description: '{"code":0,"data":{},"msg":"探测完成"}'
+          schema:
+            type: string
+      summary: 初始化用户数据库
+      tags:
+      - CheckDB
+  /init/initdb:
+    post:
+      parameters:
+      - description: 初始化数据库参数
+        in: body
+        name: data
+        required: true
+        schema:
+          $ref: '#/definitions/request.InitDB'
+      produces:
+      - application/json
+      responses:
+        "200":
+          description: '{"code":0,"data":{},"msg":"自动创建数据库成功"}'
+          schema:
+            type: string
+      summary: 初始化用户数据库
+      tags:
+      - InitDB
   /jwt/jsonInBlacklist:
     post:
       consumes:
@@ -1581,6 +1986,12 @@ paths:
     post:
       consumes:
       - multipart/form-data
+      parameters:
+      - description: 断点续传插件版示例
+        in: formData
+        name: file
+        required: true
+        type: file
       produces:
       - application/json
       responses:
@@ -1938,28 +2349,21 @@ paths:
       summary: 分页获取SysOperationRecord列表
       tags:
       - SysOperationRecord
-  /system/ReloadSystem:
+  /system/getServerInfo:
     post:
-      parameters:
-      - description: 重启系统
-        in: body
-        name: data
-        required: true
-        schema:
-          $ref: '#/definitions/model.System'
       produces:
       - application/json
       responses:
         "200":
-          description: '{"success":true,"data":{},"msg":"重启系统成功"}'
+          description: '{"success":true,"data":{},"msg":"获取成功"}'
           schema:
             type: string
       security:
       - ApiKeyAuth: []
-      summary: 重启系统
+      summary: 获取服务器信息
       tags:
       - System
-  /system/getServerInfo:
+  /system/getSystemConfig:
     post:
       produces:
       - application/json
@@ -1970,21 +2374,21 @@ paths:
             type: string
       security:
       - ApiKeyAuth: []
-      summary: 获取服务器信息
+      summary: 获取配置文件内容
       tags:
       - System
-  /system/getSystemConfig:
+  /system/reloadSystem:
     post:
       produces:
       - application/json
       responses:
         "200":
-          description: '{"success":true,"data":{},"msg":"获取成功"}'
+          description: '{"code":0,"data":{},"msg":"重启系统成功"}'
           schema:
             type: string
       security:
       - ApiKeyAuth: []
-      summary: 获取配置文件内容
+      summary: 重启系统
       tags:
       - System
   /system/setSystemConfig:
@@ -2140,25 +2544,254 @@ paths:
       summary: 设置用户信息
       tags:
       - SysUser
-  /workflow/createWorkFlow:
+  /workflowProcess/completeWorkflowMove:
     post:
+      consumes:
+      - application/json
+      produces:
+      - application/json
+      responses:
+        "200":
+          description: '{"success":true,"data":{},"msg":"获取成功"}'
+          schema:
+            type: string
+      security:
+      - ApiKeyAuth: []
+      summary: 提交工作流
+      tags:
+      - WorkflowProcess
+  /workflowProcess/createWorkflowProcess:
+    post:
+      consumes:
+      - application/json
       parameters:
-      - description: 注册工作流接口
+      - description: 创建WorkflowProcess
         in: body
         name: data
         required: true
         schema:
-          $ref: '#/definitions/model.SysWorkflow'
+          $ref: '#/definitions/model.WorkflowProcess'
       produces:
       - application/json
       responses:
         "200":
-          description: '{"success":true,"data":{},"msg":"注册成功"}'
+          description: '{"success":true,"data":{},"msg":"获取成功"}'
+          schema:
+            type: string
+      security:
+      - ApiKeyAuth: []
+      summary: 创建WorkflowProcess
+      tags:
+      - WorkflowProcess
+  /workflowProcess/deleteWorkflowProcess:
+    delete:
+      consumes:
+      - application/json
+      parameters:
+      - description: 删除WorkflowProcess
+        in: body
+        name: data
+        required: true
+        schema:
+          $ref: '#/definitions/model.WorkflowProcess'
+      produces:
+      - application/json
+      responses:
+        "200":
+          description: '{"success":true,"data":{},"msg":"删除成功"}'
           schema:
             type: string
-      summary: 注册工作流
+      security:
+      - ApiKeyAuth: []
+      summary: 删除WorkflowProcess
+      tags:
+      - WorkflowProcess
+  /workflowProcess/deleteWorkflowProcessByIds:
+    delete:
+      consumes:
+      - application/json
+      parameters:
+      - description: 批量删除WorkflowProcess
+        in: body
+        name: data
+        required: true
+        schema:
+          $ref: '#/definitions/request.IdsReq'
+      produces:
+      - application/json
+      responses:
+        "200":
+          description: '{"success":true,"data":{},"msg":"删除成功"}'
+          schema:
+            type: string
+      security:
+      - ApiKeyAuth: []
+      summary: 批量删除WorkflowProcess
+      tags:
+      - WorkflowProcess
+  /workflowProcess/findWorkflowProcess:
+    get:
+      consumes:
+      - application/json
+      parameters:
+      - description: 用id查询WorkflowProcess
+        in: body
+        name: data
+        required: true
+        schema:
+          $ref: '#/definitions/model.WorkflowProcess'
+      produces:
+      - application/json
+      responses:
+        "200":
+          description: '{"success":true,"data":{},"msg":"查询成功"}'
+          schema:
+            type: string
+      security:
+      - ApiKeyAuth: []
+      summary: 用id查询WorkflowProcess
+      tags:
+      - WorkflowProcess
+  /workflowProcess/findWorkflowStep:
+    get:
+      consumes:
+      - application/json
+      parameters:
+      - description: 用id查询WorkflowProcess
+        in: body
+        name: data
+        required: true
+        schema:
+          $ref: '#/definitions/model.WorkflowProcess'
+      produces:
+      - application/json
+      responses:
+        "200":
+          description: '{"success":true,"data":{},"msg":"查询成功"}'
+          schema:
+            type: string
+      security:
+      - ApiKeyAuth: []
+      summary: 用id查询工作流步骤
+      tags:
+      - WorkflowProcess
+  /workflowProcess/getMyNeed:
+    get:
+      consumes:
+      - application/json
+      produces:
+      - application/json
+      responses:
+        "200":
+          description: '{"success":true,"data":{},"msg":"获取成功"}'
+          schema:
+            type: string
+      security:
+      - ApiKeyAuth: []
+      summary: 我的待办
+      tags:
+      - WorkflowProcess
+  /workflowProcess/getMyStated:
+    get:
+      consumes:
+      - application/json
+      produces:
+      - application/json
+      responses:
+        "200":
+          description: '{"success":true,"data":{},"msg":"获取成功"}'
+          schema:
+            type: string
+      security:
+      - ApiKeyAuth: []
+      summary: 我发起的工作流
+      tags:
+      - WorkflowProcess
+  /workflowProcess/getWorkflowMoveByID:
+    get:
+      consumes:
+      - application/json
+      parameters:
+      - description: 根据id获取当前节点详情和过往
+        in: body
+        name: data
+        required: true
+        schema:
+          $ref: '#/definitions/request.GetById'
+      produces:
+      - application/json
+      responses:
+        "200":
+          description: '{"success":true,"data":{},"msg":"获取成功"}'
+          schema:
+            type: string
+      security:
+      - ApiKeyAuth: []
+      summary: 根据id获取当前节点详情和历史
+      tags:
+      - WorkflowProcess
+  /workflowProcess/getWorkflowProcessList:
+    get:
+      consumes:
+      - application/json
+      parameters:
+      - description: 分页获取WorkflowProcess列表
+        in: body
+        name: data
+        required: true
+        schema:
+          $ref: '#/definitions/request.WorkflowProcessSearch'
+      produces:
+      - application/json
+      responses:
+        "200":
+          description: '{"success":true,"data":{},"msg":"获取成功"}'
+          schema:
+            type: string
+      security:
+      - ApiKeyAuth: []
+      summary: 分页获取WorkflowProcess列表
+      tags:
+      - WorkflowProcess
+  /workflowProcess/startWorkflow:
+    post:
+      consumes:
+      - application/json
+      produces:
+      - application/json
+      responses:
+        "200":
+          description: '{"success":true,"data":{},"msg":"获取成功"}'
+          schema:
+            type: string
+      security:
+      - ApiKeyAuth: []
+      summary: 开启工作流
+      tags:
+      - WorkflowProcess
+  /workflowProcess/updateWorkflowProcess:
+    put:
+      consumes:
+      - application/json
+      parameters:
+      - description: 更新WorkflowProcess
+        in: body
+        name: data
+        required: true
+        schema:
+          $ref: '#/definitions/model.WorkflowProcess'
+      produces:
+      - application/json
+      responses:
+        "200":
+          description: '{"success":true,"data":{},"msg":"更新成功"}'
+          schema:
+            type: string
+      security:
+      - ApiKeyAuth: []
+      summary: 更新WorkflowProcess
       tags:
-      - workflow
+      - WorkflowProcess
 securityDefinitions:
   ApiKeyAuth:
     in: header

Some files were not shown because too many files changed in this diff