From 22f8be097363040e12f8f7b96a92dcea132ac7e8 Mon Sep 17 00:00:00 2001
From: wangpengfei <274878379@qq.com>
Date: 星期五, 25 八月 2023 15:11:29 +0800
Subject: [PATCH] add

---
 .gitignore                     |    1 
 api/v1/test/enter.go           |    1 
 router/test/enter.go           |    1 
 config.yaml                    |    2 
 router/test/contract.go        |   26 
 model/test/request/contract.go |   14 
 service/test/contract.go       |   67 
 docs/swagger.yaml              | 1407 +++++++-----
 docs/docs.go                   | 2312 ++++++++++++--------
 docs/swagger.json              | 2312 ++++++++++++--------
 model/test/contract.go         |   19 
 service/test/enter.go          |    1 
 api/v1/test/industry.go        |   12 
 api/v1/test/supplier.go        |   14 
 api/v1/test/supplier_type.go   |   12 
 initialize/router.go           |    1 
 api/v1/test/contract.go        |  205 +
 initialize/gorm.go             |    2 
 18 files changed, 3,891 insertions(+), 2,518 deletions(-)

diff --git a/.gitignore b/.gitignore
index 887c4a3..7d7d97b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -53,3 +53,4 @@
 /log/2023-08-23/info.log
 /log/2023-08-24/info.log
 /log/2023-08-25/info.log
+/log/2023-08-25/error.log
diff --git a/api/v1/test/contract.go b/api/v1/test/contract.go
new file mode 100644
index 0000000..eccd62c
--- /dev/null
+++ b/api/v1/test/contract.go
@@ -0,0 +1,205 @@
+package test
+
+import (
+	"github.com/flipped-aurora/gin-vue-admin/server/global"
+	"github.com/flipped-aurora/gin-vue-admin/server/model/common/request"
+	"github.com/flipped-aurora/gin-vue-admin/server/model/common/response"
+	"github.com/flipped-aurora/gin-vue-admin/server/model/test"
+	testReq "github.com/flipped-aurora/gin-vue-admin/server/model/test/request"
+	"github.com/flipped-aurora/gin-vue-admin/server/service"
+	"github.com/gin-gonic/gin"
+	"go.uber.org/zap"
+)
+
+type ContractApi struct {
+}
+
+var conService = service.ServiceGroupApp.TestServiceGroup.ContractService
+
+// CreateContract 鍒涘缓Contract
+// @Tags Contract
+// @Summary 鍒涘缓Contract
+// @Security ApiKeyAuth
+// @accept multipart/form-data
+// @Produce multipart/form-data
+// @Param		file	formData	file	true	"涓婁紶鏂囦欢"
+// @Param name formData string true "鏂囦欢鍚嶇О"
+// @Success 200 {string} string "{"success":true,"data":{},"msg":"鑾峰彇鎴愬姛"}"
+// @Router /api/con/createContract [post]
+func (conApi *ContractApi) CreateContract(c *gin.Context) {
+	name := c.Param("name")
+	file, err := c.FormFile("file")
+	if err != nil {
+		c.JSON(400, gin.H{"error": err.Error()})
+		return
+	}
+
+	fileContent := make([]byte, file.Size)
+	f, _ := file.Open()
+	defer f.Close()
+	f.Read(fileContent)
+
+	contract := test.Contract{
+		FileName:    name,
+		FileContent: fileContent,
+	}
+
+	if err, id := conService.CreateContract(&contract); err != nil {
+		global.GVA_LOG.Error("鍒涘缓澶辫触!", zap.Error(err))
+		response.FailWithMessage("鍒涘缓澶辫触", c)
+	} else {
+		//response.OkWithMessage("鍒涘缓鎴愬姛", c)
+		response.OkWithData(gin.H{"id": id}, c)
+	}
+}
+
+// DeleteContract 鍒犻櫎Contract
+// @Tags Contract
+// @Summary 鍒犻櫎Contract
+// @Security ApiKeyAuth
+// @accept application/json
+// @Produce application/json
+// @Param data body test.Contract true "鍒犻櫎Contract"
+// @Success 200 {string} string "{"success":true,"data":{},"msg":"鍒犻櫎鎴愬姛"}"
+// @Router /api/con/deleteContract [delete]
+func (conApi *ContractApi) DeleteContract(c *gin.Context) {
+	var con test.Contract
+	err := c.ShouldBindJSON(&con)
+	if err != nil {
+		response.FailWithMessage(err.Error(), c)
+		return
+	}
+	if err := conService.DeleteContract(con); err != nil {
+		global.GVA_LOG.Error("鍒犻櫎澶辫触!", zap.Error(err))
+		response.FailWithMessage("鍒犻櫎澶辫触", c)
+	} else {
+		response.OkWithMessage("鍒犻櫎鎴愬姛", c)
+	}
+}
+
+// DeleteContractByIds 鎵归噺鍒犻櫎Contract
+// @Tags Contract
+// @Summary 鎵归噺鍒犻櫎Contract
+// @Security ApiKeyAuth
+// @accept application/json
+// @Produce application/json
+// @Param data body request.IdsReq true "鎵归噺鍒犻櫎Contract"
+// @Success 200 {string} string "{"success":true,"data":{},"msg":"鎵归噺鍒犻櫎鎴愬姛"}"
+// @Router /api/con/deleteContractByIds [delete]
+func (conApi *ContractApi) DeleteContractByIds(c *gin.Context) {
+	var IDS request.IdsReq
+	err := c.ShouldBindJSON(&IDS)
+	if err != nil {
+		response.FailWithMessage(err.Error(), c)
+		return
+	}
+	if err := conService.DeleteContractByIds(IDS); err != nil {
+		global.GVA_LOG.Error("鎵归噺鍒犻櫎澶辫触!", zap.Error(err))
+		response.FailWithMessage("鎵归噺鍒犻櫎澶辫触", c)
+	} else {
+		response.OkWithMessage("鎵归噺鍒犻櫎鎴愬姛", c)
+	}
+}
+
+// UpdateContract 鏇存柊Contract
+// @Tags Contract
+// @Summary 鏇存柊Contract
+// @Security ApiKeyAuth
+// @accept application/json
+// @Produce application/json
+// @Param data body test.Contract true "鏇存柊Contract"
+// @Success 200 {string} string "{"success":true,"data":{},"msg":"鏇存柊鎴愬姛"}"
+// @Router /api/con/updateContract [put]
+func (conApi *ContractApi) UpdateContract(c *gin.Context) {
+	var con test.Contract
+	err := c.ShouldBindJSON(&con)
+	if err != nil {
+		response.FailWithMessage(err.Error(), c)
+		return
+	}
+	if err := conService.UpdateContract(con); err != nil {
+		global.GVA_LOG.Error("鏇存柊澶辫触!", zap.Error(err))
+		response.FailWithMessage("鏇存柊澶辫触", c)
+	} else {
+		response.OkWithMessage("鏇存柊鎴愬姛", c)
+	}
+}
+
+// FindContract 鐢╥d鏌ヨContract
+// @Tags Contract
+// @Summary 鐢╥d鏌ヨContract
+// @Security ApiKeyAuth
+// @accept application/json
+// @Produce application/json
+// @Param data query test.Contract true "鐢╥d鏌ヨContract"
+// @Success 200 {string} string "{"success":true,"data":{},"msg":"鏌ヨ鎴愬姛"}"
+// @Router /api/con/findContract [get]
+func (conApi *ContractApi) FindContract(c *gin.Context) {
+	var con test.Contract
+	err := c.ShouldBindQuery(&con)
+	if err != nil {
+		response.FailWithMessage(err.Error(), c)
+		return
+	}
+	if recon, err := conService.GetContract(con.ID); err != nil {
+		global.GVA_LOG.Error("鏌ヨ澶辫触!", zap.Error(err))
+		response.FailWithMessage("鏌ヨ澶辫触", c)
+	} else {
+		response.OkWithData(gin.H{"recon": recon}, c)
+	}
+}
+
+// GetContractList 鍒嗛〉鑾峰彇Contract鍒楄〃
+// @Tags Contract
+// @Summary 鍒嗛〉鑾峰彇Contract鍒楄〃
+// @Security ApiKeyAuth
+// @accept application/json
+// @Produce application/json
+// @Param data query testReq.ContractSearch true "鍒嗛〉鑾峰彇Contract鍒楄〃"
+// @Success 200 {string} string "{"success":true,"data":{},"msg":"鑾峰彇鎴愬姛"}"
+// @Router /api/con/getContractList [get]
+func (conApi *ContractApi) GetContractList(c *gin.Context) {
+	var pageInfo testReq.ContractSearch
+	err := c.ShouldBindQuery(&pageInfo)
+	if err != nil {
+		response.FailWithMessage(err.Error(), c)
+		return
+	}
+	if list, total, err := conService.GetContractInfoList(pageInfo); err != nil {
+		global.GVA_LOG.Error("鑾峰彇澶辫触!", zap.Error(err))
+		response.FailWithMessage("鑾峰彇澶辫触", c)
+	} else {
+		response.OkWithDetailed(response.PageResult{
+			List:     list,
+			Total:    total,
+			Page:     pageInfo.Page,
+			PageSize: pageInfo.PageSize,
+		}, "鑾峰彇鎴愬姛", c)
+	}
+}
+
+// PreviewContract 棰勮Contract
+// @Tags Contract
+// @Summary 棰勮Contract
+// @Security ApiKeyAuth
+// @accept application/json
+// @Produce application/json
+// @Param data query testReq.ContractSearch true "棰勮Contract"
+// @Success 200 {string} string "{"success":true,"data":{},"msg":"棰勮鎴愬姛"}"
+// @Router /api/con/previewContract [get]
+func (conApi *ContractApi) PreviewContract(c *gin.Context) {
+	var pageInfo testReq.ContractSearch
+	err := c.ShouldBindQuery(&pageInfo)
+	if err != nil {
+		response.FailWithMessage(err.Error(), c)
+		return
+	}
+	contract, err := conService.GetContract(pageInfo.ID)
+	if err != nil {
+		global.GVA_LOG.Error("鑾峰彇澶辫触!", zap.Error(err))
+		response.FailWithMessage("鑾峰彇澶辫触", c)
+		return
+	} else {
+		c.Data(200, "application/pdf", contract.FileContent)
+	}
+}
diff --git a/api/v1/test/enter.go b/api/v1/test/enter.go
index 1472d6a..4cb543a 100644
--- a/api/v1/test/enter.go
+++ b/api/v1/test/enter.go
@@ -4,4 +4,5 @@
 	SupplierTypeApi
 	IndustryApi
 	SupplierApi
+	ContractApi
 }
diff --git a/api/v1/test/industry.go b/api/v1/test/industry.go
index 6ff455e..8e97898 100644
--- a/api/v1/test/industry.go
+++ b/api/v1/test/industry.go
@@ -24,7 +24,7 @@
 // @Produce application/json
 // @Param data body test.Industry true "鍒涘缓Industry"
 // @Success 200 {string} string "{"success":true,"data":{},"msg":"鑾峰彇鎴愬姛"}"
-// @Router /i/createIndustry [post]
+// @Router /api/i/createIndustry [post]
 func (iApi *IndustryApi) CreateIndustry(c *gin.Context) {
 	var i test.Industry
 	err := c.ShouldBindJSON(&i)
@@ -48,7 +48,7 @@
 // @Produce application/json
 // @Param data body test.Industry true "鍒犻櫎Industry"
 // @Success 200 {string} string "{"success":true,"data":{},"msg":"鍒犻櫎鎴愬姛"}"
-// @Router /i/deleteIndustry [delete]
+// @Router /api/i/deleteIndustry [delete]
 func (iApi *IndustryApi) DeleteIndustry(c *gin.Context) {
 	var i test.Industry
 	err := c.ShouldBindJSON(&i)
@@ -72,7 +72,7 @@
 // @Produce application/json
 // @Param data body request.IdsReq true "鎵归噺鍒犻櫎Industry"
 // @Success 200 {string} string "{"success":true,"data":{},"msg":"鎵归噺鍒犻櫎鎴愬姛"}"
-// @Router /i/deleteIndustryByIds [delete]
+// @Router /api/i/deleteIndustryByIds [delete]
 func (iApi *IndustryApi) DeleteIndustryByIds(c *gin.Context) {
 	var IDS request.IdsReq
 	err := c.ShouldBindJSON(&IDS)
@@ -96,7 +96,7 @@
 // @Produce application/json
 // @Param data body test.Industry true "鏇存柊Industry"
 // @Success 200 {string} string "{"success":true,"data":{},"msg":"鏇存柊鎴愬姛"}"
-// @Router /i/updateIndustry [put]
+// @Router /api/i/updateIndustry [put]
 func (iApi *IndustryApi) UpdateIndustry(c *gin.Context) {
 	var i test.Industry
 	err := c.ShouldBindJSON(&i)
@@ -120,7 +120,7 @@
 // @Produce application/json
 // @Param data query test.Industry true "鐢╥d鏌ヨIndustry"
 // @Success 200 {string} string "{"success":true,"data":{},"msg":"鏌ヨ鎴愬姛"}"
-// @Router /i/findIndustry [get]
+// @Router /api/i/findIndustry [get]
 func (iApi *IndustryApi) FindIndustry(c *gin.Context) {
 	var i test.Industry
 	err := c.ShouldBindQuery(&i)
@@ -144,7 +144,7 @@
 // @Produce application/json
 // @Param data query testReq.IndustrySearch true "鍒嗛〉鑾峰彇Industry鍒楄〃"
 // @Success 200 {string} string "{"success":true,"data":{},"msg":"鑾峰彇鎴愬姛"}"
-// @Router /i/getIndustryList [get]
+// @Router /api/i/getIndustryList [get]
 func (iApi *IndustryApi) GetIndustryList(c *gin.Context) {
 	var pageInfo testReq.IndustrySearch
 	err := c.ShouldBindQuery(&pageInfo)
diff --git a/api/v1/test/supplier.go b/api/v1/test/supplier.go
index 27943a5..6884436 100644
--- a/api/v1/test/supplier.go
+++ b/api/v1/test/supplier.go
@@ -25,7 +25,7 @@
 // @Produce application/json
 // @Param data body test.Supplier true "鍒涘缓Supplier"
 // @Success 200 {string} string "{"success":true,"data":{},"msg":"鑾峰彇鎴愬姛"}"
-// @Router /s/createSupplier [post]
+// @Router /api/s/createSupplier [post]
 func (sApi *SupplierApi) CreateSupplier(c *gin.Context) {
 	var s test.Supplier
 	err := c.ShouldBindJSON(&s)
@@ -57,7 +57,7 @@
 // @Produce application/json
 // @Param data body test.Supplier true "鍒犻櫎Supplier"
 // @Success 200 {string} string "{"success":true,"data":{},"msg":"鍒犻櫎鎴愬姛"}"
-// @Router /s/deleteSupplier [delete]
+// @Router /api/s/deleteSupplier [delete]
 func (sApi *SupplierApi) DeleteSupplier(c *gin.Context) {
 	var s test.Supplier
 	err := c.ShouldBindJSON(&s)
@@ -81,7 +81,7 @@
 // @Produce application/json
 // @Param data body request.IdsReq true "鎵归噺鍒犻櫎Supplier"
 // @Success 200 {string} string "{"success":true,"data":{},"msg":"鎵归噺鍒犻櫎鎴愬姛"}"
-// @Router /s/deleteSupplierByIds [delete]
+// @Router /api/s/deleteSupplierByIds [delete]
 func (sApi *SupplierApi) DeleteSupplierByIds(c *gin.Context) {
 	var IDS request.IdsReq
 	err := c.ShouldBindJSON(&IDS)
@@ -105,7 +105,7 @@
 // @Produce application/json
 // @Param data body test.Supplier true "鏇存柊Supplier"
 // @Success 200 {string} string "{"success":true,"data":{},"msg":"鏇存柊鎴愬姛"}"
-// @Router /s/updateSupplier [put]
+// @Router /api/s/updateSupplier [put]
 func (sApi *SupplierApi) UpdateSupplier(c *gin.Context) {
 	var s test.Supplier
 	err := c.ShouldBindJSON(&s)
@@ -137,7 +137,7 @@
 // @Produce application/json
 // @Param data query test.Supplier true "鐢╥d鏌ヨSupplier"
 // @Success 200 {string} string "{"success":true,"data":{},"msg":"鏌ヨ鎴愬姛"}"
-// @Router /s/findSupplier [get]
+// @Router /api/s/findSupplier [get]
 func (sApi *SupplierApi) FindSupplier(c *gin.Context) {
 	var s test.Supplier
 	err := c.ShouldBindQuery(&s)
@@ -161,7 +161,7 @@
 // @Produce application/json
 // @Param data query testReq.SupplierSearch true "鍒嗛〉鑾峰彇Supplier鍒楄〃"
 // @Success 200 {string} string "{"success":true,"data":{},"msg":"鑾峰彇鎴愬姛"}"
-// @Router /s/getSupplierList [get]
+// @Router /api/s/getSupplierList [get]
 func (sApi *SupplierApi) GetSupplierList(c *gin.Context) {
 	var pageInfo testReq.SupplierSearch
 	err := c.ShouldBindQuery(&pageInfo)
@@ -190,7 +190,7 @@
 // @Produce application/json
 // @Param data body testReq.SupplierStatus true "淇敼Supplier鐘舵��"
 // @Success 200 {string} string "{"success":true,"data":{},"msg":"淇敼鎴愬姛"}"
-// @Router /s/changeSupplierStatus [post]
+// @Router /api/s/changeSupplierStatus [post]
 func (sApi *SupplierApi) ChangeSupplierStatus(c *gin.Context) {
 	var params testReq.SupplierStatus
 	err := c.ShouldBindJSON(&params)
diff --git a/api/v1/test/supplier_type.go b/api/v1/test/supplier_type.go
index 9cd5b4d..7d479b1 100644
--- a/api/v1/test/supplier_type.go
+++ b/api/v1/test/supplier_type.go
@@ -24,7 +24,7 @@
 // @Produce application/json
 // @Param data body test.SupplierType true "鍒涘缓SupplierType"
 // @Success 200 {string} string "{"success":true,"data":{},"msg":"鑾峰彇鎴愬姛"}"
-// @Router /st/createSupplierType [post]
+// @Router /api/st/createSupplierType [post]
 func (stApi *SupplierTypeApi) CreateSupplierType(c *gin.Context) {
 	var st test.SupplierType
 	err := c.ShouldBindJSON(&st)
@@ -48,7 +48,7 @@
 // @Produce application/json
 // @Param data body test.SupplierType true "鍒犻櫎SupplierType"
 // @Success 200 {string} string "{"success":true,"data":{},"msg":"鍒犻櫎鎴愬姛"}"
-// @Router /st/deleteSupplierType [delete]
+// @Router /api/st/deleteSupplierType [delete]
 func (stApi *SupplierTypeApi) DeleteSupplierType(c *gin.Context) {
 	var st test.SupplierType
 	err := c.ShouldBindJSON(&st)
@@ -72,7 +72,7 @@
 // @Produce application/json
 // @Param data body request.IdsReq true "鎵归噺鍒犻櫎SupplierType"
 // @Success 200 {string} string "{"success":true,"data":{},"msg":"鎵归噺鍒犻櫎鎴愬姛"}"
-// @Router /st/deleteSupplierTypeByIds [delete]
+// @Router /api/st/deleteSupplierTypeByIds [delete]
 func (stApi *SupplierTypeApi) DeleteSupplierTypeByIds(c *gin.Context) {
 	var IDS request.IdsReq
 	err := c.ShouldBindJSON(&IDS)
@@ -96,7 +96,7 @@
 // @Produce application/json
 // @Param data body test.SupplierType true "鏇存柊SupplierType"
 // @Success 200 {string} string "{"success":true,"data":{},"msg":"鏇存柊鎴愬姛"}"
-// @Router /st/updateSupplierType [put]
+// @Router /api/st/updateSupplierType [put]
 func (stApi *SupplierTypeApi) UpdateSupplierType(c *gin.Context) {
 	var st test.SupplierType
 	err := c.ShouldBindJSON(&st)
@@ -120,7 +120,7 @@
 // @Produce application/json
 // @Param data query test.SupplierType true "鐢╥d鏌ヨSupplierType"
 // @Success 200 {string} string "{"success":true,"data":{},"msg":"鏌ヨ鎴愬姛"}"
-// @Router /st/findSupplierType [get]
+// @Router /api/st/findSupplierType [get]
 func (stApi *SupplierTypeApi) FindSupplierType(c *gin.Context) {
 	var st test.SupplierType
 	err := c.ShouldBindQuery(&st)
@@ -144,7 +144,7 @@
 // @Produce application/json
 // @Param data query testReq.SupplierTypeSearch true "鍒嗛〉鑾峰彇SupplierType鍒楄〃"
 // @Success 200 {string} string "{"success":true,"data":{},"msg":"鑾峰彇鎴愬姛"}"
-// @Router /st/getSupplierTypeList [get]
+// @Router /api/st/getSupplierTypeList [get]
 func (stApi *SupplierTypeApi) GetSupplierTypeList(c *gin.Context) {
 	var pageInfo testReq.SupplierTypeSearch
 	err := c.ShouldBindQuery(&pageInfo)
diff --git a/config.yaml b/config.yaml
index 2502612..f3af31c 100644
--- a/config.yaml
+++ b/config.yaml
@@ -176,7 +176,7 @@
     env: public
     db-type: mysql
     oss-type: local
-    router-prefix: ""
+    router-prefix: "api"
     addr: 8889
     iplimit-count: 15000
     iplimit-time: 3600
diff --git a/docs/docs.go b/docs/docs.go
index 835bc27..0fdcfa3 100644
--- a/docs/docs.go
+++ b/docs/docs.go
@@ -16,6 +16,381 @@
     "host": "{{.Host}}",
     "basePath": "{{.BasePath}}",
     "paths": {
+        "/api/con/createContract": {
+            "post": {
+                "security": [
+                    {
+                        "ApiKeyAuth": []
+                    }
+                ],
+                "consumes": [
+                    "multipart/form-data"
+                ],
+                "produces": [
+                    "multipart/form-data"
+                ],
+                "tags": [
+                    "Contract"
+                ],
+                "summary": "鍒涘缓Contract",
+                "parameters": [
+                    {
+                        "type": "file",
+                        "description": "涓婁紶鏂囦欢",
+                        "name": "file",
+                        "in": "formData",
+                        "required": true
+                    },
+                    {
+                        "type": "string",
+                        "description": "鏂囦欢鍚嶇О",
+                        "name": "name",
+                        "in": "formData",
+                        "required": true
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鑾峰彇鎴愬姛\"}",
+                        "schema": {
+                            "type": "string"
+                        }
+                    }
+                }
+            }
+        },
+        "/api/con/deleteContract": {
+            "delete": {
+                "security": [
+                    {
+                        "ApiKeyAuth": []
+                    }
+                ],
+                "consumes": [
+                    "application/json"
+                ],
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "Contract"
+                ],
+                "summary": "鍒犻櫎Contract",
+                "parameters": [
+                    {
+                        "description": "鍒犻櫎Contract",
+                        "name": "data",
+                        "in": "body",
+                        "required": true,
+                        "schema": {
+                            "$ref": "#/definitions/test.Contract"
+                        }
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鍒犻櫎鎴愬姛\"}",
+                        "schema": {
+                            "type": "string"
+                        }
+                    }
+                }
+            }
+        },
+        "/api/con/deleteContractByIds": {
+            "delete": {
+                "security": [
+                    {
+                        "ApiKeyAuth": []
+                    }
+                ],
+                "consumes": [
+                    "application/json"
+                ],
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "Contract"
+                ],
+                "summary": "鎵归噺鍒犻櫎Contract",
+                "parameters": [
+                    {
+                        "description": "鎵归噺鍒犻櫎Contract",
+                        "name": "data",
+                        "in": "body",
+                        "required": true,
+                        "schema": {
+                            "$ref": "#/definitions/request.IdsReq"
+                        }
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鎵归噺鍒犻櫎鎴愬姛\"}",
+                        "schema": {
+                            "type": "string"
+                        }
+                    }
+                }
+            }
+        },
+        "/api/con/findContract": {
+            "get": {
+                "security": [
+                    {
+                        "ApiKeyAuth": []
+                    }
+                ],
+                "consumes": [
+                    "application/json"
+                ],
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "Contract"
+                ],
+                "summary": "鐢╥d鏌ヨContract",
+                "parameters": [
+                    {
+                        "type": "array",
+                        "items": {
+                            "type": "integer"
+                        },
+                        "collectionFormat": "csv",
+                        "name": "fileContent",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "name": "fileName",
+                        "in": "query"
+                    },
+                    {
+                        "type": "integer",
+                        "description": "涓婚敭ID",
+                        "name": "id",
+                        "in": "query"
+                    },
+                    {
+                        "type": "integer",
+                        "name": "supplierID",
+                        "in": "query"
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鏌ヨ鎴愬姛\"}",
+                        "schema": {
+                            "type": "string"
+                        }
+                    }
+                }
+            }
+        },
+        "/api/con/getContractList": {
+            "get": {
+                "security": [
+                    {
+                        "ApiKeyAuth": []
+                    }
+                ],
+                "consumes": [
+                    "application/json"
+                ],
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "Contract"
+                ],
+                "summary": "鍒嗛〉鑾峰彇Contract鍒楄〃",
+                "parameters": [
+                    {
+                        "type": "string",
+                        "name": "endCreatedAt",
+                        "in": "query"
+                    },
+                    {
+                        "type": "array",
+                        "items": {
+                            "type": "integer"
+                        },
+                        "collectionFormat": "csv",
+                        "name": "fileContent",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "name": "fileName",
+                        "in": "query"
+                    },
+                    {
+                        "type": "integer",
+                        "description": "涓婚敭ID",
+                        "name": "id",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "description": "鍏抽敭瀛�",
+                        "name": "keyword",
+                        "in": "query"
+                    },
+                    {
+                        "type": "integer",
+                        "description": "椤电爜",
+                        "name": "page",
+                        "in": "query"
+                    },
+                    {
+                        "type": "integer",
+                        "description": "姣忛〉澶у皬",
+                        "name": "pageSize",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "name": "startCreatedAt",
+                        "in": "query"
+                    },
+                    {
+                        "type": "integer",
+                        "name": "supplierID",
+                        "in": "query"
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鑾峰彇鎴愬姛\"}",
+                        "schema": {
+                            "type": "string"
+                        }
+                    }
+                }
+            }
+        },
+        "/api/con/previewContract": {
+            "get": {
+                "security": [
+                    {
+                        "ApiKeyAuth": []
+                    }
+                ],
+                "consumes": [
+                    "application/json"
+                ],
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "Contract"
+                ],
+                "summary": "棰勮Contract",
+                "parameters": [
+                    {
+                        "type": "string",
+                        "name": "endCreatedAt",
+                        "in": "query"
+                    },
+                    {
+                        "type": "array",
+                        "items": {
+                            "type": "integer"
+                        },
+                        "collectionFormat": "csv",
+                        "name": "fileContent",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "name": "fileName",
+                        "in": "query"
+                    },
+                    {
+                        "type": "integer",
+                        "description": "涓婚敭ID",
+                        "name": "id",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "description": "鍏抽敭瀛�",
+                        "name": "keyword",
+                        "in": "query"
+                    },
+                    {
+                        "type": "integer",
+                        "description": "椤电爜",
+                        "name": "page",
+                        "in": "query"
+                    },
+                    {
+                        "type": "integer",
+                        "description": "姣忛〉澶у皬",
+                        "name": "pageSize",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "name": "startCreatedAt",
+                        "in": "query"
+                    },
+                    {
+                        "type": "integer",
+                        "name": "supplierID",
+                        "in": "query"
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "{\"success\":true,\"data\":{},\"msg\":\"棰勮鎴愬姛\"}",
+                        "schema": {
+                            "type": "string"
+                        }
+                    }
+                }
+            }
+        },
+        "/api/con/updateContract": {
+            "put": {
+                "security": [
+                    {
+                        "ApiKeyAuth": []
+                    }
+                ],
+                "consumes": [
+                    "application/json"
+                ],
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "Contract"
+                ],
+                "summary": "鏇存柊Contract",
+                "parameters": [
+                    {
+                        "description": "鏇存柊Contract",
+                        "name": "data",
+                        "in": "body",
+                        "required": true,
+                        "schema": {
+                            "$ref": "#/definitions/test.Contract"
+                        }
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鏇存柊鎴愬姛\"}",
+                        "schema": {
+                            "type": "string"
+                        }
+                    }
+                }
+            }
+        },
         "/api/createApi": {
             "post": {
                 "security": [
@@ -340,6 +715,964 @@
                                     }
                                 }
                             ]
+                        }
+                    }
+                }
+            }
+        },
+        "/api/i/createIndustry": {
+            "post": {
+                "security": [
+                    {
+                        "ApiKeyAuth": []
+                    }
+                ],
+                "consumes": [
+                    "application/json"
+                ],
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "Industry"
+                ],
+                "summary": "鍒涘缓Industry",
+                "parameters": [
+                    {
+                        "description": "鍒涘缓Industry",
+                        "name": "data",
+                        "in": "body",
+                        "required": true,
+                        "schema": {
+                            "$ref": "#/definitions/test.Industry"
+                        }
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鑾峰彇鎴愬姛\"}",
+                        "schema": {
+                            "type": "string"
+                        }
+                    }
+                }
+            }
+        },
+        "/api/i/deleteIndustry": {
+            "delete": {
+                "security": [
+                    {
+                        "ApiKeyAuth": []
+                    }
+                ],
+                "consumes": [
+                    "application/json"
+                ],
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "Industry"
+                ],
+                "summary": "鍒犻櫎Industry",
+                "parameters": [
+                    {
+                        "description": "鍒犻櫎Industry",
+                        "name": "data",
+                        "in": "body",
+                        "required": true,
+                        "schema": {
+                            "$ref": "#/definitions/test.Industry"
+                        }
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鍒犻櫎鎴愬姛\"}",
+                        "schema": {
+                            "type": "string"
+                        }
+                    }
+                }
+            }
+        },
+        "/api/i/deleteIndustryByIds": {
+            "delete": {
+                "security": [
+                    {
+                        "ApiKeyAuth": []
+                    }
+                ],
+                "consumes": [
+                    "application/json"
+                ],
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "Industry"
+                ],
+                "summary": "鎵归噺鍒犻櫎Industry",
+                "parameters": [
+                    {
+                        "description": "鎵归噺鍒犻櫎Industry",
+                        "name": "data",
+                        "in": "body",
+                        "required": true,
+                        "schema": {
+                            "$ref": "#/definitions/request.IdsReq"
+                        }
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鎵归噺鍒犻櫎鎴愬姛\"}",
+                        "schema": {
+                            "type": "string"
+                        }
+                    }
+                }
+            }
+        },
+        "/api/i/findIndustry": {
+            "get": {
+                "security": [
+                    {
+                        "ApiKeyAuth": []
+                    }
+                ],
+                "consumes": [
+                    "application/json"
+                ],
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "Industry"
+                ],
+                "summary": "鐢╥d鏌ヨIndustry",
+                "parameters": [
+                    {
+                        "type": "integer",
+                        "description": "涓婚敭ID",
+                        "name": "id",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "name": "name",
+                        "in": "query"
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鏌ヨ鎴愬姛\"}",
+                        "schema": {
+                            "type": "string"
+                        }
+                    }
+                }
+            }
+        },
+        "/api/i/getIndustryList": {
+            "get": {
+                "security": [
+                    {
+                        "ApiKeyAuth": []
+                    }
+                ],
+                "consumes": [
+                    "application/json"
+                ],
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "Industry"
+                ],
+                "summary": "鍒嗛〉鑾峰彇Industry鍒楄〃",
+                "parameters": [
+                    {
+                        "type": "string",
+                        "name": "endCreatedAt",
+                        "in": "query"
+                    },
+                    {
+                        "type": "integer",
+                        "description": "涓婚敭ID",
+                        "name": "id",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "description": "鍏抽敭瀛�",
+                        "name": "keyword",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "name": "name",
+                        "in": "query"
+                    },
+                    {
+                        "type": "integer",
+                        "description": "椤电爜",
+                        "name": "page",
+                        "in": "query"
+                    },
+                    {
+                        "type": "integer",
+                        "description": "姣忛〉澶у皬",
+                        "name": "pageSize",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "name": "startCreatedAt",
+                        "in": "query"
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鑾峰彇鎴愬姛\"}",
+                        "schema": {
+                            "type": "string"
+                        }
+                    }
+                }
+            }
+        },
+        "/api/i/updateIndustry": {
+            "put": {
+                "security": [
+                    {
+                        "ApiKeyAuth": []
+                    }
+                ],
+                "consumes": [
+                    "application/json"
+                ],
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "Industry"
+                ],
+                "summary": "鏇存柊Industry",
+                "parameters": [
+                    {
+                        "description": "鏇存柊Industry",
+                        "name": "data",
+                        "in": "body",
+                        "required": true,
+                        "schema": {
+                            "$ref": "#/definitions/test.Industry"
+                        }
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鏇存柊鎴愬姛\"}",
+                        "schema": {
+                            "type": "string"
+                        }
+                    }
+                }
+            }
+        },
+        "/api/s/changeSupplierStatus": {
+            "post": {
+                "security": [
+                    {
+                        "ApiKeyAuth": []
+                    }
+                ],
+                "consumes": [
+                    "application/json"
+                ],
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "Supplier"
+                ],
+                "summary": "淇敼Supplier鐘舵��",
+                "parameters": [
+                    {
+                        "description": "淇敼Supplier鐘舵��",
+                        "name": "data",
+                        "in": "body",
+                        "required": true,
+                        "schema": {
+                            "$ref": "#/definitions/request.SupplierStatus"
+                        }
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "{\"success\":true,\"data\":{},\"msg\":\"淇敼鎴愬姛\"}",
+                        "schema": {
+                            "type": "string"
+                        }
+                    }
+                }
+            }
+        },
+        "/api/s/createSupplier": {
+            "post": {
+                "security": [
+                    {
+                        "ApiKeyAuth": []
+                    }
+                ],
+                "consumes": [
+                    "application/json"
+                ],
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "Supplier"
+                ],
+                "summary": "鍒涘缓Supplier",
+                "parameters": [
+                    {
+                        "description": "鍒涘缓Supplier",
+                        "name": "data",
+                        "in": "body",
+                        "required": true,
+                        "schema": {
+                            "$ref": "#/definitions/test.Supplier"
+                        }
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鑾峰彇鎴愬姛\"}",
+                        "schema": {
+                            "type": "string"
+                        }
+                    }
+                }
+            }
+        },
+        "/api/s/deleteSupplier": {
+            "delete": {
+                "security": [
+                    {
+                        "ApiKeyAuth": []
+                    }
+                ],
+                "consumes": [
+                    "application/json"
+                ],
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "Supplier"
+                ],
+                "summary": "鍒犻櫎Supplier",
+                "parameters": [
+                    {
+                        "description": "鍒犻櫎Supplier",
+                        "name": "data",
+                        "in": "body",
+                        "required": true,
+                        "schema": {
+                            "$ref": "#/definitions/test.Supplier"
+                        }
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鍒犻櫎鎴愬姛\"}",
+                        "schema": {
+                            "type": "string"
+                        }
+                    }
+                }
+            }
+        },
+        "/api/s/deleteSupplierByIds": {
+            "delete": {
+                "security": [
+                    {
+                        "ApiKeyAuth": []
+                    }
+                ],
+                "consumes": [
+                    "application/json"
+                ],
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "Supplier"
+                ],
+                "summary": "鎵归噺鍒犻櫎Supplier",
+                "parameters": [
+                    {
+                        "description": "鎵归噺鍒犻櫎Supplier",
+                        "name": "data",
+                        "in": "body",
+                        "required": true,
+                        "schema": {
+                            "$ref": "#/definitions/request.IdsReq"
+                        }
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鎵归噺鍒犻櫎鎴愬姛\"}",
+                        "schema": {
+                            "type": "string"
+                        }
+                    }
+                }
+            }
+        },
+        "/api/s/findSupplier": {
+            "get": {
+                "security": [
+                    {
+                        "ApiKeyAuth": []
+                    }
+                ],
+                "consumes": [
+                    "application/json"
+                ],
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "Supplier"
+                ],
+                "summary": "鐢╥d鏌ヨSupplier",
+                "parameters": [
+                    {
+                        "type": "string",
+                        "name": "account",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "name": "accountName",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "name": "bank",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "name": "contact",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "name": "detailAddress",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "name": "email",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "name": "file",
+                        "in": "query"
+                    },
+                    {
+                        "type": "integer",
+                        "description": "涓婚敭ID",
+                        "name": "id",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "name": "industry",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "name": "name",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "name": "number",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "name": "phone",
+                        "in": "query"
+                    },
+                    {
+                        "type": "integer",
+                        "name": "responsiblePersonId",
+                        "in": "query"
+                    },
+                    {
+                        "type": "integer",
+                        "name": "status",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "name": "supplierType",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "name": "url",
+                        "in": "query"
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鏌ヨ鎴愬姛\"}",
+                        "schema": {
+                            "type": "string"
+                        }
+                    }
+                }
+            }
+        },
+        "/api/s/getSupplierList": {
+            "get": {
+                "security": [
+                    {
+                        "ApiKeyAuth": []
+                    }
+                ],
+                "consumes": [
+                    "application/json"
+                ],
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "Supplier"
+                ],
+                "summary": "鍒嗛〉鑾峰彇Supplier鍒楄〃",
+                "parameters": [
+                    {
+                        "type": "string",
+                        "name": "account",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "name": "accountName",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "name": "bank",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "name": "contact",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "name": "detailAddress",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "name": "email",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "name": "endCreatedAt",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "name": "file",
+                        "in": "query"
+                    },
+                    {
+                        "type": "integer",
+                        "description": "涓婚敭ID",
+                        "name": "id",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "name": "industry",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "description": "鍏抽敭瀛�",
+                        "name": "keyword",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "name": "name",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "name": "number",
+                        "in": "query"
+                    },
+                    {
+                        "type": "integer",
+                        "description": "椤电爜",
+                        "name": "page",
+                        "in": "query"
+                    },
+                    {
+                        "type": "integer",
+                        "description": "姣忛〉澶у皬",
+                        "name": "pageSize",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "name": "phone",
+                        "in": "query"
+                    },
+                    {
+                        "type": "integer",
+                        "name": "responsiblePersonId",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "name": "startCreatedAt",
+                        "in": "query"
+                    },
+                    {
+                        "type": "integer",
+                        "name": "status",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "name": "supplierType",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "name": "url",
+                        "in": "query"
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鑾峰彇鎴愬姛\"}",
+                        "schema": {
+                            "type": "string"
+                        }
+                    }
+                }
+            }
+        },
+        "/api/s/updateSupplier": {
+            "put": {
+                "security": [
+                    {
+                        "ApiKeyAuth": []
+                    }
+                ],
+                "consumes": [
+                    "application/json"
+                ],
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "Supplier"
+                ],
+                "summary": "鏇存柊Supplier",
+                "parameters": [
+                    {
+                        "description": "鏇存柊Supplier",
+                        "name": "data",
+                        "in": "body",
+                        "required": true,
+                        "schema": {
+                            "$ref": "#/definitions/test.Supplier"
+                        }
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鏇存柊鎴愬姛\"}",
+                        "schema": {
+                            "type": "string"
+                        }
+                    }
+                }
+            }
+        },
+        "/api/st/createSupplierType": {
+            "post": {
+                "security": [
+                    {
+                        "ApiKeyAuth": []
+                    }
+                ],
+                "consumes": [
+                    "application/json"
+                ],
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "SupplierType"
+                ],
+                "summary": "鍒涘缓SupplierType",
+                "parameters": [
+                    {
+                        "description": "鍒涘缓SupplierType",
+                        "name": "data",
+                        "in": "body",
+                        "required": true,
+                        "schema": {
+                            "$ref": "#/definitions/test.SupplierType"
+                        }
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鑾峰彇鎴愬姛\"}",
+                        "schema": {
+                            "type": "string"
+                        }
+                    }
+                }
+            }
+        },
+        "/api/st/deleteSupplierType": {
+            "delete": {
+                "security": [
+                    {
+                        "ApiKeyAuth": []
+                    }
+                ],
+                "consumes": [
+                    "application/json"
+                ],
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "SupplierType"
+                ],
+                "summary": "鍒犻櫎SupplierType",
+                "parameters": [
+                    {
+                        "description": "鍒犻櫎SupplierType",
+                        "name": "data",
+                        "in": "body",
+                        "required": true,
+                        "schema": {
+                            "$ref": "#/definitions/test.SupplierType"
+                        }
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鍒犻櫎鎴愬姛\"}",
+                        "schema": {
+                            "type": "string"
+                        }
+                    }
+                }
+            }
+        },
+        "/api/st/deleteSupplierTypeByIds": {
+            "delete": {
+                "security": [
+                    {
+                        "ApiKeyAuth": []
+                    }
+                ],
+                "consumes": [
+                    "application/json"
+                ],
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "SupplierType"
+                ],
+                "summary": "鎵归噺鍒犻櫎SupplierType",
+                "parameters": [
+                    {
+                        "description": "鎵归噺鍒犻櫎SupplierType",
+                        "name": "data",
+                        "in": "body",
+                        "required": true,
+                        "schema": {
+                            "$ref": "#/definitions/request.IdsReq"
+                        }
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鎵归噺鍒犻櫎鎴愬姛\"}",
+                        "schema": {
+                            "type": "string"
+                        }
+                    }
+                }
+            }
+        },
+        "/api/st/findSupplierType": {
+            "get": {
+                "security": [
+                    {
+                        "ApiKeyAuth": []
+                    }
+                ],
+                "consumes": [
+                    "application/json"
+                ],
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "SupplierType"
+                ],
+                "summary": "鐢╥d鏌ヨSupplierType",
+                "parameters": [
+                    {
+                        "type": "integer",
+                        "description": "涓婚敭ID",
+                        "name": "id",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "name": "name",
+                        "in": "query"
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鏌ヨ鎴愬姛\"}",
+                        "schema": {
+                            "type": "string"
+                        }
+                    }
+                }
+            }
+        },
+        "/api/st/getSupplierTypeList": {
+            "get": {
+                "security": [
+                    {
+                        "ApiKeyAuth": []
+                    }
+                ],
+                "consumes": [
+                    "application/json"
+                ],
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "SupplierType"
+                ],
+                "summary": "鍒嗛〉鑾峰彇SupplierType鍒楄〃",
+                "parameters": [
+                    {
+                        "type": "string",
+                        "name": "endCreatedAt",
+                        "in": "query"
+                    },
+                    {
+                        "type": "integer",
+                        "description": "涓婚敭ID",
+                        "name": "id",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "description": "鍏抽敭瀛�",
+                        "name": "keyword",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "name": "name",
+                        "in": "query"
+                    },
+                    {
+                        "type": "integer",
+                        "description": "椤电爜",
+                        "name": "page",
+                        "in": "query"
+                    },
+                    {
+                        "type": "integer",
+                        "description": "姣忛〉澶у皬",
+                        "name": "pageSize",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "name": "startCreatedAt",
+                        "in": "query"
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鑾峰彇鎴愬姛\"}",
+                        "schema": {
+                            "type": "string"
+                        }
+                    }
+                }
+            }
+        },
+        "/api/st/updateSupplierType": {
+            "put": {
+                "security": [
+                    {
+                        "ApiKeyAuth": []
+                    }
+                ],
+                "consumes": [
+                    "application/json"
+                ],
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "SupplierType"
+                ],
+                "summary": "鏇存柊SupplierType",
+                "parameters": [
+                    {
+                        "description": "鏇存柊SupplierType",
+                        "name": "data",
+                        "in": "body",
+                        "required": true,
+                        "schema": {
+                            "$ref": "#/definitions/test.SupplierType"
+                        }
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鏇存柊鎴愬姛\"}",
+                        "schema": {
+                            "type": "string"
                         }
                     }
                 }
@@ -2417,266 +3750,6 @@
                 }
             }
         },
-        "/i/createIndustry": {
-            "post": {
-                "security": [
-                    {
-                        "ApiKeyAuth": []
-                    }
-                ],
-                "consumes": [
-                    "application/json"
-                ],
-                "produces": [
-                    "application/json"
-                ],
-                "tags": [
-                    "Industry"
-                ],
-                "summary": "鍒涘缓Industry",
-                "parameters": [
-                    {
-                        "description": "鍒涘缓Industry",
-                        "name": "data",
-                        "in": "body",
-                        "required": true,
-                        "schema": {
-                            "$ref": "#/definitions/test.Industry"
-                        }
-                    }
-                ],
-                "responses": {
-                    "200": {
-                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鑾峰彇鎴愬姛\"}",
-                        "schema": {
-                            "type": "string"
-                        }
-                    }
-                }
-            }
-        },
-        "/i/deleteIndustry": {
-            "delete": {
-                "security": [
-                    {
-                        "ApiKeyAuth": []
-                    }
-                ],
-                "consumes": [
-                    "application/json"
-                ],
-                "produces": [
-                    "application/json"
-                ],
-                "tags": [
-                    "Industry"
-                ],
-                "summary": "鍒犻櫎Industry",
-                "parameters": [
-                    {
-                        "description": "鍒犻櫎Industry",
-                        "name": "data",
-                        "in": "body",
-                        "required": true,
-                        "schema": {
-                            "$ref": "#/definitions/test.Industry"
-                        }
-                    }
-                ],
-                "responses": {
-                    "200": {
-                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鍒犻櫎鎴愬姛\"}",
-                        "schema": {
-                            "type": "string"
-                        }
-                    }
-                }
-            }
-        },
-        "/i/deleteIndustryByIds": {
-            "delete": {
-                "security": [
-                    {
-                        "ApiKeyAuth": []
-                    }
-                ],
-                "consumes": [
-                    "application/json"
-                ],
-                "produces": [
-                    "application/json"
-                ],
-                "tags": [
-                    "Industry"
-                ],
-                "summary": "鎵归噺鍒犻櫎Industry",
-                "parameters": [
-                    {
-                        "description": "鎵归噺鍒犻櫎Industry",
-                        "name": "data",
-                        "in": "body",
-                        "required": true,
-                        "schema": {
-                            "$ref": "#/definitions/request.IdsReq"
-                        }
-                    }
-                ],
-                "responses": {
-                    "200": {
-                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鎵归噺鍒犻櫎鎴愬姛\"}",
-                        "schema": {
-                            "type": "string"
-                        }
-                    }
-                }
-            }
-        },
-        "/i/findIndustry": {
-            "get": {
-                "security": [
-                    {
-                        "ApiKeyAuth": []
-                    }
-                ],
-                "consumes": [
-                    "application/json"
-                ],
-                "produces": [
-                    "application/json"
-                ],
-                "tags": [
-                    "Industry"
-                ],
-                "summary": "鐢╥d鏌ヨIndustry",
-                "parameters": [
-                    {
-                        "type": "integer",
-                        "description": "涓婚敭ID",
-                        "name": "id",
-                        "in": "query"
-                    },
-                    {
-                        "type": "string",
-                        "name": "name",
-                        "in": "query"
-                    }
-                ],
-                "responses": {
-                    "200": {
-                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鏌ヨ鎴愬姛\"}",
-                        "schema": {
-                            "type": "string"
-                        }
-                    }
-                }
-            }
-        },
-        "/i/getIndustryList": {
-            "get": {
-                "security": [
-                    {
-                        "ApiKeyAuth": []
-                    }
-                ],
-                "consumes": [
-                    "application/json"
-                ],
-                "produces": [
-                    "application/json"
-                ],
-                "tags": [
-                    "Industry"
-                ],
-                "summary": "鍒嗛〉鑾峰彇Industry鍒楄〃",
-                "parameters": [
-                    {
-                        "type": "string",
-                        "name": "endCreatedAt",
-                        "in": "query"
-                    },
-                    {
-                        "type": "integer",
-                        "description": "涓婚敭ID",
-                        "name": "id",
-                        "in": "query"
-                    },
-                    {
-                        "type": "string",
-                        "description": "鍏抽敭瀛�",
-                        "name": "keyword",
-                        "in": "query"
-                    },
-                    {
-                        "type": "string",
-                        "name": "name",
-                        "in": "query"
-                    },
-                    {
-                        "type": "integer",
-                        "description": "椤电爜",
-                        "name": "page",
-                        "in": "query"
-                    },
-                    {
-                        "type": "integer",
-                        "description": "姣忛〉澶у皬",
-                        "name": "pageSize",
-                        "in": "query"
-                    },
-                    {
-                        "type": "string",
-                        "name": "startCreatedAt",
-                        "in": "query"
-                    }
-                ],
-                "responses": {
-                    "200": {
-                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鑾峰彇鎴愬姛\"}",
-                        "schema": {
-                            "type": "string"
-                        }
-                    }
-                }
-            }
-        },
-        "/i/updateIndustry": {
-            "put": {
-                "security": [
-                    {
-                        "ApiKeyAuth": []
-                    }
-                ],
-                "consumes": [
-                    "application/json"
-                ],
-                "produces": [
-                    "application/json"
-                ],
-                "tags": [
-                    "Industry"
-                ],
-                "summary": "鏇存柊Industry",
-                "parameters": [
-                    {
-                        "description": "鏇存柊Industry",
-                        "name": "data",
-                        "in": "body",
-                        "required": true,
-                        "schema": {
-                            "$ref": "#/definitions/test.Industry"
-                        }
-                    }
-                ],
-                "responses": {
-                    "200": {
-                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鏇存柊鎴愬姛\"}",
-                        "schema": {
-                            "type": "string"
-                        }
-                    }
-                }
-            }
-        },
         "/init/checkdb": {
             "post": {
                 "produces": [
@@ -3248,704 +4321,6 @@
                                     }
                                 }
                             ]
-                        }
-                    }
-                }
-            }
-        },
-        "/s/changeSupplierStatus": {
-            "post": {
-                "security": [
-                    {
-                        "ApiKeyAuth": []
-                    }
-                ],
-                "consumes": [
-                    "application/json"
-                ],
-                "produces": [
-                    "application/json"
-                ],
-                "tags": [
-                    "Supplier"
-                ],
-                "summary": "淇敼Supplier鐘舵��",
-                "parameters": [
-                    {
-                        "description": "淇敼Supplier鐘舵��",
-                        "name": "data",
-                        "in": "body",
-                        "required": true,
-                        "schema": {
-                            "$ref": "#/definitions/request.SupplierStatus"
-                        }
-                    }
-                ],
-                "responses": {
-                    "200": {
-                        "description": "{\"success\":true,\"data\":{},\"msg\":\"淇敼鎴愬姛\"}",
-                        "schema": {
-                            "type": "string"
-                        }
-                    }
-                }
-            }
-        },
-        "/s/createSupplier": {
-            "post": {
-                "security": [
-                    {
-                        "ApiKeyAuth": []
-                    }
-                ],
-                "consumes": [
-                    "application/json"
-                ],
-                "produces": [
-                    "application/json"
-                ],
-                "tags": [
-                    "Supplier"
-                ],
-                "summary": "鍒涘缓Supplier",
-                "parameters": [
-                    {
-                        "description": "鍒涘缓Supplier",
-                        "name": "data",
-                        "in": "body",
-                        "required": true,
-                        "schema": {
-                            "$ref": "#/definitions/test.Supplier"
-                        }
-                    }
-                ],
-                "responses": {
-                    "200": {
-                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鑾峰彇鎴愬姛\"}",
-                        "schema": {
-                            "type": "string"
-                        }
-                    }
-                }
-            }
-        },
-        "/s/deleteSupplier": {
-            "delete": {
-                "security": [
-                    {
-                        "ApiKeyAuth": []
-                    }
-                ],
-                "consumes": [
-                    "application/json"
-                ],
-                "produces": [
-                    "application/json"
-                ],
-                "tags": [
-                    "Supplier"
-                ],
-                "summary": "鍒犻櫎Supplier",
-                "parameters": [
-                    {
-                        "description": "鍒犻櫎Supplier",
-                        "name": "data",
-                        "in": "body",
-                        "required": true,
-                        "schema": {
-                            "$ref": "#/definitions/test.Supplier"
-                        }
-                    }
-                ],
-                "responses": {
-                    "200": {
-                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鍒犻櫎鎴愬姛\"}",
-                        "schema": {
-                            "type": "string"
-                        }
-                    }
-                }
-            }
-        },
-        "/s/deleteSupplierByIds": {
-            "delete": {
-                "security": [
-                    {
-                        "ApiKeyAuth": []
-                    }
-                ],
-                "consumes": [
-                    "application/json"
-                ],
-                "produces": [
-                    "application/json"
-                ],
-                "tags": [
-                    "Supplier"
-                ],
-                "summary": "鎵归噺鍒犻櫎Supplier",
-                "parameters": [
-                    {
-                        "description": "鎵归噺鍒犻櫎Supplier",
-                        "name": "data",
-                        "in": "body",
-                        "required": true,
-                        "schema": {
-                            "$ref": "#/definitions/request.IdsReq"
-                        }
-                    }
-                ],
-                "responses": {
-                    "200": {
-                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鎵归噺鍒犻櫎鎴愬姛\"}",
-                        "schema": {
-                            "type": "string"
-                        }
-                    }
-                }
-            }
-        },
-        "/s/findSupplier": {
-            "get": {
-                "security": [
-                    {
-                        "ApiKeyAuth": []
-                    }
-                ],
-                "consumes": [
-                    "application/json"
-                ],
-                "produces": [
-                    "application/json"
-                ],
-                "tags": [
-                    "Supplier"
-                ],
-                "summary": "鐢╥d鏌ヨSupplier",
-                "parameters": [
-                    {
-                        "type": "string",
-                        "name": "account",
-                        "in": "query"
-                    },
-                    {
-                        "type": "string",
-                        "name": "accountName",
-                        "in": "query"
-                    },
-                    {
-                        "type": "string",
-                        "name": "bank",
-                        "in": "query"
-                    },
-                    {
-                        "type": "string",
-                        "name": "contact",
-                        "in": "query"
-                    },
-                    {
-                        "type": "string",
-                        "name": "detailAddress",
-                        "in": "query"
-                    },
-                    {
-                        "type": "string",
-                        "name": "email",
-                        "in": "query"
-                    },
-                    {
-                        "type": "string",
-                        "name": "file",
-                        "in": "query"
-                    },
-                    {
-                        "type": "integer",
-                        "description": "涓婚敭ID",
-                        "name": "id",
-                        "in": "query"
-                    },
-                    {
-                        "type": "string",
-                        "name": "industry",
-                        "in": "query"
-                    },
-                    {
-                        "type": "string",
-                        "name": "name",
-                        "in": "query"
-                    },
-                    {
-                        "type": "string",
-                        "name": "number",
-                        "in": "query"
-                    },
-                    {
-                        "type": "string",
-                        "name": "phone",
-                        "in": "query"
-                    },
-                    {
-                        "type": "integer",
-                        "name": "responsiblePersonId",
-                        "in": "query"
-                    },
-                    {
-                        "type": "integer",
-                        "name": "status",
-                        "in": "query"
-                    },
-                    {
-                        "type": "string",
-                        "name": "supplierType",
-                        "in": "query"
-                    },
-                    {
-                        "type": "string",
-                        "name": "url",
-                        "in": "query"
-                    }
-                ],
-                "responses": {
-                    "200": {
-                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鏌ヨ鎴愬姛\"}",
-                        "schema": {
-                            "type": "string"
-                        }
-                    }
-                }
-            }
-        },
-        "/s/getSupplierList": {
-            "get": {
-                "security": [
-                    {
-                        "ApiKeyAuth": []
-                    }
-                ],
-                "consumes": [
-                    "application/json"
-                ],
-                "produces": [
-                    "application/json"
-                ],
-                "tags": [
-                    "Supplier"
-                ],
-                "summary": "鍒嗛〉鑾峰彇Supplier鍒楄〃",
-                "parameters": [
-                    {
-                        "type": "string",
-                        "name": "account",
-                        "in": "query"
-                    },
-                    {
-                        "type": "string",
-                        "name": "accountName",
-                        "in": "query"
-                    },
-                    {
-                        "type": "string",
-                        "name": "bank",
-                        "in": "query"
-                    },
-                    {
-                        "type": "string",
-                        "name": "contact",
-                        "in": "query"
-                    },
-                    {
-                        "type": "string",
-                        "name": "detailAddress",
-                        "in": "query"
-                    },
-                    {
-                        "type": "string",
-                        "name": "email",
-                        "in": "query"
-                    },
-                    {
-                        "type": "string",
-                        "name": "endCreatedAt",
-                        "in": "query"
-                    },
-                    {
-                        "type": "string",
-                        "name": "file",
-                        "in": "query"
-                    },
-                    {
-                        "type": "integer",
-                        "description": "涓婚敭ID",
-                        "name": "id",
-                        "in": "query"
-                    },
-                    {
-                        "type": "string",
-                        "name": "industry",
-                        "in": "query"
-                    },
-                    {
-                        "type": "string",
-                        "description": "鍏抽敭瀛�",
-                        "name": "keyword",
-                        "in": "query"
-                    },
-                    {
-                        "type": "string",
-                        "name": "name",
-                        "in": "query"
-                    },
-                    {
-                        "type": "string",
-                        "name": "number",
-                        "in": "query"
-                    },
-                    {
-                        "type": "integer",
-                        "description": "椤电爜",
-                        "name": "page",
-                        "in": "query"
-                    },
-                    {
-                        "type": "integer",
-                        "description": "姣忛〉澶у皬",
-                        "name": "pageSize",
-                        "in": "query"
-                    },
-                    {
-                        "type": "string",
-                        "name": "phone",
-                        "in": "query"
-                    },
-                    {
-                        "type": "integer",
-                        "name": "responsiblePersonId",
-                        "in": "query"
-                    },
-                    {
-                        "type": "string",
-                        "name": "startCreatedAt",
-                        "in": "query"
-                    },
-                    {
-                        "type": "integer",
-                        "name": "status",
-                        "in": "query"
-                    },
-                    {
-                        "type": "string",
-                        "name": "supplierType",
-                        "in": "query"
-                    },
-                    {
-                        "type": "string",
-                        "name": "url",
-                        "in": "query"
-                    }
-                ],
-                "responses": {
-                    "200": {
-                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鑾峰彇鎴愬姛\"}",
-                        "schema": {
-                            "type": "string"
-                        }
-                    }
-                }
-            }
-        },
-        "/s/updateSupplier": {
-            "put": {
-                "security": [
-                    {
-                        "ApiKeyAuth": []
-                    }
-                ],
-                "consumes": [
-                    "application/json"
-                ],
-                "produces": [
-                    "application/json"
-                ],
-                "tags": [
-                    "Supplier"
-                ],
-                "summary": "鏇存柊Supplier",
-                "parameters": [
-                    {
-                        "description": "鏇存柊Supplier",
-                        "name": "data",
-                        "in": "body",
-                        "required": true,
-                        "schema": {
-                            "$ref": "#/definitions/test.Supplier"
-                        }
-                    }
-                ],
-                "responses": {
-                    "200": {
-                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鏇存柊鎴愬姛\"}",
-                        "schema": {
-                            "type": "string"
-                        }
-                    }
-                }
-            }
-        },
-        "/st/createSupplierType": {
-            "post": {
-                "security": [
-                    {
-                        "ApiKeyAuth": []
-                    }
-                ],
-                "consumes": [
-                    "application/json"
-                ],
-                "produces": [
-                    "application/json"
-                ],
-                "tags": [
-                    "SupplierType"
-                ],
-                "summary": "鍒涘缓SupplierType",
-                "parameters": [
-                    {
-                        "description": "鍒涘缓SupplierType",
-                        "name": "data",
-                        "in": "body",
-                        "required": true,
-                        "schema": {
-                            "$ref": "#/definitions/test.SupplierType"
-                        }
-                    }
-                ],
-                "responses": {
-                    "200": {
-                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鑾峰彇鎴愬姛\"}",
-                        "schema": {
-                            "type": "string"
-                        }
-                    }
-                }
-            }
-        },
-        "/st/deleteSupplierType": {
-            "delete": {
-                "security": [
-                    {
-                        "ApiKeyAuth": []
-                    }
-                ],
-                "consumes": [
-                    "application/json"
-                ],
-                "produces": [
-                    "application/json"
-                ],
-                "tags": [
-                    "SupplierType"
-                ],
-                "summary": "鍒犻櫎SupplierType",
-                "parameters": [
-                    {
-                        "description": "鍒犻櫎SupplierType",
-                        "name": "data",
-                        "in": "body",
-                        "required": true,
-                        "schema": {
-                            "$ref": "#/definitions/test.SupplierType"
-                        }
-                    }
-                ],
-                "responses": {
-                    "200": {
-                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鍒犻櫎鎴愬姛\"}",
-                        "schema": {
-                            "type": "string"
-                        }
-                    }
-                }
-            }
-        },
-        "/st/deleteSupplierTypeByIds": {
-            "delete": {
-                "security": [
-                    {
-                        "ApiKeyAuth": []
-                    }
-                ],
-                "consumes": [
-                    "application/json"
-                ],
-                "produces": [
-                    "application/json"
-                ],
-                "tags": [
-                    "SupplierType"
-                ],
-                "summary": "鎵归噺鍒犻櫎SupplierType",
-                "parameters": [
-                    {
-                        "description": "鎵归噺鍒犻櫎SupplierType",
-                        "name": "data",
-                        "in": "body",
-                        "required": true,
-                        "schema": {
-                            "$ref": "#/definitions/request.IdsReq"
-                        }
-                    }
-                ],
-                "responses": {
-                    "200": {
-                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鎵归噺鍒犻櫎鎴愬姛\"}",
-                        "schema": {
-                            "type": "string"
-                        }
-                    }
-                }
-            }
-        },
-        "/st/findSupplierType": {
-            "get": {
-                "security": [
-                    {
-                        "ApiKeyAuth": []
-                    }
-                ],
-                "consumes": [
-                    "application/json"
-                ],
-                "produces": [
-                    "application/json"
-                ],
-                "tags": [
-                    "SupplierType"
-                ],
-                "summary": "鐢╥d鏌ヨSupplierType",
-                "parameters": [
-                    {
-                        "type": "integer",
-                        "description": "涓婚敭ID",
-                        "name": "id",
-                        "in": "query"
-                    },
-                    {
-                        "type": "string",
-                        "name": "name",
-                        "in": "query"
-                    }
-                ],
-                "responses": {
-                    "200": {
-                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鏌ヨ鎴愬姛\"}",
-                        "schema": {
-                            "type": "string"
-                        }
-                    }
-                }
-            }
-        },
-        "/st/getSupplierTypeList": {
-            "get": {
-                "security": [
-                    {
-                        "ApiKeyAuth": []
-                    }
-                ],
-                "consumes": [
-                    "application/json"
-                ],
-                "produces": [
-                    "application/json"
-                ],
-                "tags": [
-                    "SupplierType"
-                ],
-                "summary": "鍒嗛〉鑾峰彇SupplierType鍒楄〃",
-                "parameters": [
-                    {
-                        "type": "string",
-                        "name": "endCreatedAt",
-                        "in": "query"
-                    },
-                    {
-                        "type": "integer",
-                        "description": "涓婚敭ID",
-                        "name": "id",
-                        "in": "query"
-                    },
-                    {
-                        "type": "string",
-                        "description": "鍏抽敭瀛�",
-                        "name": "keyword",
-                        "in": "query"
-                    },
-                    {
-                        "type": "string",
-                        "name": "name",
-                        "in": "query"
-                    },
-                    {
-                        "type": "integer",
-                        "description": "椤电爜",
-                        "name": "page",
-                        "in": "query"
-                    },
-                    {
-                        "type": "integer",
-                        "description": "姣忛〉澶у皬",
-                        "name": "pageSize",
-                        "in": "query"
-                    },
-                    {
-                        "type": "string",
-                        "name": "startCreatedAt",
-                        "in": "query"
-                    }
-                ],
-                "responses": {
-                    "200": {
-                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鑾峰彇鎴愬姛\"}",
-                        "schema": {
-                            "type": "string"
-                        }
-                    }
-                }
-            }
-        },
-        "/st/updateSupplierType": {
-            "put": {
-                "security": [
-                    {
-                        "ApiKeyAuth": []
-                    }
-                ],
-                "consumes": [
-                    "application/json"
-                ],
-                "produces": [
-                    "application/json"
-                ],
-                "tags": [
-                    "SupplierType"
-                ],
-                "summary": "鏇存柊SupplierType",
-                "parameters": [
-                    {
-                        "description": "鏇存柊SupplierType",
-                        "name": "data",
-                        "in": "body",
-                        "required": true,
-                        "schema": {
-                            "$ref": "#/definitions/test.SupplierType"
-                        }
-                    }
-                ],
-                "responses": {
-                    "200": {
-                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鏇存柊鎴愬姛\"}",
-                        "schema": {
-                            "type": "string"
                         }
                     }
                 }
@@ -7772,6 +8147,27 @@
                 }
             }
         },
+        "test.Contract": {
+            "type": "object",
+            "properties": {
+                "fileContent": {
+                    "type": "array",
+                    "items": {
+                        "type": "integer"
+                    }
+                },
+                "fileName": {
+                    "type": "string"
+                },
+                "id": {
+                    "description": "涓婚敭ID",
+                    "type": "integer"
+                },
+                "supplierID": {
+                    "type": "integer"
+                }
+            }
+        },
         "test.Industry": {
             "type": "object",
             "properties": {
diff --git a/docs/swagger.json b/docs/swagger.json
index 3a2aadb..8fb82dc 100644
--- a/docs/swagger.json
+++ b/docs/swagger.json
@@ -7,6 +7,381 @@
         "version": "0.0.1"
     },
     "paths": {
+        "/api/con/createContract": {
+            "post": {
+                "security": [
+                    {
+                        "ApiKeyAuth": []
+                    }
+                ],
+                "consumes": [
+                    "multipart/form-data"
+                ],
+                "produces": [
+                    "multipart/form-data"
+                ],
+                "tags": [
+                    "Contract"
+                ],
+                "summary": "鍒涘缓Contract",
+                "parameters": [
+                    {
+                        "type": "file",
+                        "description": "涓婁紶鏂囦欢",
+                        "name": "file",
+                        "in": "formData",
+                        "required": true
+                    },
+                    {
+                        "type": "string",
+                        "description": "鏂囦欢鍚嶇О",
+                        "name": "name",
+                        "in": "formData",
+                        "required": true
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鑾峰彇鎴愬姛\"}",
+                        "schema": {
+                            "type": "string"
+                        }
+                    }
+                }
+            }
+        },
+        "/api/con/deleteContract": {
+            "delete": {
+                "security": [
+                    {
+                        "ApiKeyAuth": []
+                    }
+                ],
+                "consumes": [
+                    "application/json"
+                ],
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "Contract"
+                ],
+                "summary": "鍒犻櫎Contract",
+                "parameters": [
+                    {
+                        "description": "鍒犻櫎Contract",
+                        "name": "data",
+                        "in": "body",
+                        "required": true,
+                        "schema": {
+                            "$ref": "#/definitions/test.Contract"
+                        }
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鍒犻櫎鎴愬姛\"}",
+                        "schema": {
+                            "type": "string"
+                        }
+                    }
+                }
+            }
+        },
+        "/api/con/deleteContractByIds": {
+            "delete": {
+                "security": [
+                    {
+                        "ApiKeyAuth": []
+                    }
+                ],
+                "consumes": [
+                    "application/json"
+                ],
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "Contract"
+                ],
+                "summary": "鎵归噺鍒犻櫎Contract",
+                "parameters": [
+                    {
+                        "description": "鎵归噺鍒犻櫎Contract",
+                        "name": "data",
+                        "in": "body",
+                        "required": true,
+                        "schema": {
+                            "$ref": "#/definitions/request.IdsReq"
+                        }
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鎵归噺鍒犻櫎鎴愬姛\"}",
+                        "schema": {
+                            "type": "string"
+                        }
+                    }
+                }
+            }
+        },
+        "/api/con/findContract": {
+            "get": {
+                "security": [
+                    {
+                        "ApiKeyAuth": []
+                    }
+                ],
+                "consumes": [
+                    "application/json"
+                ],
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "Contract"
+                ],
+                "summary": "鐢╥d鏌ヨContract",
+                "parameters": [
+                    {
+                        "type": "array",
+                        "items": {
+                            "type": "integer"
+                        },
+                        "collectionFormat": "csv",
+                        "name": "fileContent",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "name": "fileName",
+                        "in": "query"
+                    },
+                    {
+                        "type": "integer",
+                        "description": "涓婚敭ID",
+                        "name": "id",
+                        "in": "query"
+                    },
+                    {
+                        "type": "integer",
+                        "name": "supplierID",
+                        "in": "query"
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鏌ヨ鎴愬姛\"}",
+                        "schema": {
+                            "type": "string"
+                        }
+                    }
+                }
+            }
+        },
+        "/api/con/getContractList": {
+            "get": {
+                "security": [
+                    {
+                        "ApiKeyAuth": []
+                    }
+                ],
+                "consumes": [
+                    "application/json"
+                ],
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "Contract"
+                ],
+                "summary": "鍒嗛〉鑾峰彇Contract鍒楄〃",
+                "parameters": [
+                    {
+                        "type": "string",
+                        "name": "endCreatedAt",
+                        "in": "query"
+                    },
+                    {
+                        "type": "array",
+                        "items": {
+                            "type": "integer"
+                        },
+                        "collectionFormat": "csv",
+                        "name": "fileContent",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "name": "fileName",
+                        "in": "query"
+                    },
+                    {
+                        "type": "integer",
+                        "description": "涓婚敭ID",
+                        "name": "id",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "description": "鍏抽敭瀛�",
+                        "name": "keyword",
+                        "in": "query"
+                    },
+                    {
+                        "type": "integer",
+                        "description": "椤电爜",
+                        "name": "page",
+                        "in": "query"
+                    },
+                    {
+                        "type": "integer",
+                        "description": "姣忛〉澶у皬",
+                        "name": "pageSize",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "name": "startCreatedAt",
+                        "in": "query"
+                    },
+                    {
+                        "type": "integer",
+                        "name": "supplierID",
+                        "in": "query"
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鑾峰彇鎴愬姛\"}",
+                        "schema": {
+                            "type": "string"
+                        }
+                    }
+                }
+            }
+        },
+        "/api/con/previewContract": {
+            "get": {
+                "security": [
+                    {
+                        "ApiKeyAuth": []
+                    }
+                ],
+                "consumes": [
+                    "application/json"
+                ],
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "Contract"
+                ],
+                "summary": "棰勮Contract",
+                "parameters": [
+                    {
+                        "type": "string",
+                        "name": "endCreatedAt",
+                        "in": "query"
+                    },
+                    {
+                        "type": "array",
+                        "items": {
+                            "type": "integer"
+                        },
+                        "collectionFormat": "csv",
+                        "name": "fileContent",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "name": "fileName",
+                        "in": "query"
+                    },
+                    {
+                        "type": "integer",
+                        "description": "涓婚敭ID",
+                        "name": "id",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "description": "鍏抽敭瀛�",
+                        "name": "keyword",
+                        "in": "query"
+                    },
+                    {
+                        "type": "integer",
+                        "description": "椤电爜",
+                        "name": "page",
+                        "in": "query"
+                    },
+                    {
+                        "type": "integer",
+                        "description": "姣忛〉澶у皬",
+                        "name": "pageSize",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "name": "startCreatedAt",
+                        "in": "query"
+                    },
+                    {
+                        "type": "integer",
+                        "name": "supplierID",
+                        "in": "query"
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "{\"success\":true,\"data\":{},\"msg\":\"棰勮鎴愬姛\"}",
+                        "schema": {
+                            "type": "string"
+                        }
+                    }
+                }
+            }
+        },
+        "/api/con/updateContract": {
+            "put": {
+                "security": [
+                    {
+                        "ApiKeyAuth": []
+                    }
+                ],
+                "consumes": [
+                    "application/json"
+                ],
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "Contract"
+                ],
+                "summary": "鏇存柊Contract",
+                "parameters": [
+                    {
+                        "description": "鏇存柊Contract",
+                        "name": "data",
+                        "in": "body",
+                        "required": true,
+                        "schema": {
+                            "$ref": "#/definitions/test.Contract"
+                        }
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鏇存柊鎴愬姛\"}",
+                        "schema": {
+                            "type": "string"
+                        }
+                    }
+                }
+            }
+        },
         "/api/createApi": {
             "post": {
                 "security": [
@@ -331,6 +706,964 @@
                                     }
                                 }
                             ]
+                        }
+                    }
+                }
+            }
+        },
+        "/api/i/createIndustry": {
+            "post": {
+                "security": [
+                    {
+                        "ApiKeyAuth": []
+                    }
+                ],
+                "consumes": [
+                    "application/json"
+                ],
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "Industry"
+                ],
+                "summary": "鍒涘缓Industry",
+                "parameters": [
+                    {
+                        "description": "鍒涘缓Industry",
+                        "name": "data",
+                        "in": "body",
+                        "required": true,
+                        "schema": {
+                            "$ref": "#/definitions/test.Industry"
+                        }
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鑾峰彇鎴愬姛\"}",
+                        "schema": {
+                            "type": "string"
+                        }
+                    }
+                }
+            }
+        },
+        "/api/i/deleteIndustry": {
+            "delete": {
+                "security": [
+                    {
+                        "ApiKeyAuth": []
+                    }
+                ],
+                "consumes": [
+                    "application/json"
+                ],
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "Industry"
+                ],
+                "summary": "鍒犻櫎Industry",
+                "parameters": [
+                    {
+                        "description": "鍒犻櫎Industry",
+                        "name": "data",
+                        "in": "body",
+                        "required": true,
+                        "schema": {
+                            "$ref": "#/definitions/test.Industry"
+                        }
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鍒犻櫎鎴愬姛\"}",
+                        "schema": {
+                            "type": "string"
+                        }
+                    }
+                }
+            }
+        },
+        "/api/i/deleteIndustryByIds": {
+            "delete": {
+                "security": [
+                    {
+                        "ApiKeyAuth": []
+                    }
+                ],
+                "consumes": [
+                    "application/json"
+                ],
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "Industry"
+                ],
+                "summary": "鎵归噺鍒犻櫎Industry",
+                "parameters": [
+                    {
+                        "description": "鎵归噺鍒犻櫎Industry",
+                        "name": "data",
+                        "in": "body",
+                        "required": true,
+                        "schema": {
+                            "$ref": "#/definitions/request.IdsReq"
+                        }
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鎵归噺鍒犻櫎鎴愬姛\"}",
+                        "schema": {
+                            "type": "string"
+                        }
+                    }
+                }
+            }
+        },
+        "/api/i/findIndustry": {
+            "get": {
+                "security": [
+                    {
+                        "ApiKeyAuth": []
+                    }
+                ],
+                "consumes": [
+                    "application/json"
+                ],
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "Industry"
+                ],
+                "summary": "鐢╥d鏌ヨIndustry",
+                "parameters": [
+                    {
+                        "type": "integer",
+                        "description": "涓婚敭ID",
+                        "name": "id",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "name": "name",
+                        "in": "query"
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鏌ヨ鎴愬姛\"}",
+                        "schema": {
+                            "type": "string"
+                        }
+                    }
+                }
+            }
+        },
+        "/api/i/getIndustryList": {
+            "get": {
+                "security": [
+                    {
+                        "ApiKeyAuth": []
+                    }
+                ],
+                "consumes": [
+                    "application/json"
+                ],
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "Industry"
+                ],
+                "summary": "鍒嗛〉鑾峰彇Industry鍒楄〃",
+                "parameters": [
+                    {
+                        "type": "string",
+                        "name": "endCreatedAt",
+                        "in": "query"
+                    },
+                    {
+                        "type": "integer",
+                        "description": "涓婚敭ID",
+                        "name": "id",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "description": "鍏抽敭瀛�",
+                        "name": "keyword",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "name": "name",
+                        "in": "query"
+                    },
+                    {
+                        "type": "integer",
+                        "description": "椤电爜",
+                        "name": "page",
+                        "in": "query"
+                    },
+                    {
+                        "type": "integer",
+                        "description": "姣忛〉澶у皬",
+                        "name": "pageSize",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "name": "startCreatedAt",
+                        "in": "query"
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鑾峰彇鎴愬姛\"}",
+                        "schema": {
+                            "type": "string"
+                        }
+                    }
+                }
+            }
+        },
+        "/api/i/updateIndustry": {
+            "put": {
+                "security": [
+                    {
+                        "ApiKeyAuth": []
+                    }
+                ],
+                "consumes": [
+                    "application/json"
+                ],
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "Industry"
+                ],
+                "summary": "鏇存柊Industry",
+                "parameters": [
+                    {
+                        "description": "鏇存柊Industry",
+                        "name": "data",
+                        "in": "body",
+                        "required": true,
+                        "schema": {
+                            "$ref": "#/definitions/test.Industry"
+                        }
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鏇存柊鎴愬姛\"}",
+                        "schema": {
+                            "type": "string"
+                        }
+                    }
+                }
+            }
+        },
+        "/api/s/changeSupplierStatus": {
+            "post": {
+                "security": [
+                    {
+                        "ApiKeyAuth": []
+                    }
+                ],
+                "consumes": [
+                    "application/json"
+                ],
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "Supplier"
+                ],
+                "summary": "淇敼Supplier鐘舵��",
+                "parameters": [
+                    {
+                        "description": "淇敼Supplier鐘舵��",
+                        "name": "data",
+                        "in": "body",
+                        "required": true,
+                        "schema": {
+                            "$ref": "#/definitions/request.SupplierStatus"
+                        }
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "{\"success\":true,\"data\":{},\"msg\":\"淇敼鎴愬姛\"}",
+                        "schema": {
+                            "type": "string"
+                        }
+                    }
+                }
+            }
+        },
+        "/api/s/createSupplier": {
+            "post": {
+                "security": [
+                    {
+                        "ApiKeyAuth": []
+                    }
+                ],
+                "consumes": [
+                    "application/json"
+                ],
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "Supplier"
+                ],
+                "summary": "鍒涘缓Supplier",
+                "parameters": [
+                    {
+                        "description": "鍒涘缓Supplier",
+                        "name": "data",
+                        "in": "body",
+                        "required": true,
+                        "schema": {
+                            "$ref": "#/definitions/test.Supplier"
+                        }
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鑾峰彇鎴愬姛\"}",
+                        "schema": {
+                            "type": "string"
+                        }
+                    }
+                }
+            }
+        },
+        "/api/s/deleteSupplier": {
+            "delete": {
+                "security": [
+                    {
+                        "ApiKeyAuth": []
+                    }
+                ],
+                "consumes": [
+                    "application/json"
+                ],
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "Supplier"
+                ],
+                "summary": "鍒犻櫎Supplier",
+                "parameters": [
+                    {
+                        "description": "鍒犻櫎Supplier",
+                        "name": "data",
+                        "in": "body",
+                        "required": true,
+                        "schema": {
+                            "$ref": "#/definitions/test.Supplier"
+                        }
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鍒犻櫎鎴愬姛\"}",
+                        "schema": {
+                            "type": "string"
+                        }
+                    }
+                }
+            }
+        },
+        "/api/s/deleteSupplierByIds": {
+            "delete": {
+                "security": [
+                    {
+                        "ApiKeyAuth": []
+                    }
+                ],
+                "consumes": [
+                    "application/json"
+                ],
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "Supplier"
+                ],
+                "summary": "鎵归噺鍒犻櫎Supplier",
+                "parameters": [
+                    {
+                        "description": "鎵归噺鍒犻櫎Supplier",
+                        "name": "data",
+                        "in": "body",
+                        "required": true,
+                        "schema": {
+                            "$ref": "#/definitions/request.IdsReq"
+                        }
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鎵归噺鍒犻櫎鎴愬姛\"}",
+                        "schema": {
+                            "type": "string"
+                        }
+                    }
+                }
+            }
+        },
+        "/api/s/findSupplier": {
+            "get": {
+                "security": [
+                    {
+                        "ApiKeyAuth": []
+                    }
+                ],
+                "consumes": [
+                    "application/json"
+                ],
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "Supplier"
+                ],
+                "summary": "鐢╥d鏌ヨSupplier",
+                "parameters": [
+                    {
+                        "type": "string",
+                        "name": "account",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "name": "accountName",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "name": "bank",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "name": "contact",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "name": "detailAddress",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "name": "email",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "name": "file",
+                        "in": "query"
+                    },
+                    {
+                        "type": "integer",
+                        "description": "涓婚敭ID",
+                        "name": "id",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "name": "industry",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "name": "name",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "name": "number",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "name": "phone",
+                        "in": "query"
+                    },
+                    {
+                        "type": "integer",
+                        "name": "responsiblePersonId",
+                        "in": "query"
+                    },
+                    {
+                        "type": "integer",
+                        "name": "status",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "name": "supplierType",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "name": "url",
+                        "in": "query"
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鏌ヨ鎴愬姛\"}",
+                        "schema": {
+                            "type": "string"
+                        }
+                    }
+                }
+            }
+        },
+        "/api/s/getSupplierList": {
+            "get": {
+                "security": [
+                    {
+                        "ApiKeyAuth": []
+                    }
+                ],
+                "consumes": [
+                    "application/json"
+                ],
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "Supplier"
+                ],
+                "summary": "鍒嗛〉鑾峰彇Supplier鍒楄〃",
+                "parameters": [
+                    {
+                        "type": "string",
+                        "name": "account",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "name": "accountName",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "name": "bank",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "name": "contact",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "name": "detailAddress",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "name": "email",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "name": "endCreatedAt",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "name": "file",
+                        "in": "query"
+                    },
+                    {
+                        "type": "integer",
+                        "description": "涓婚敭ID",
+                        "name": "id",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "name": "industry",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "description": "鍏抽敭瀛�",
+                        "name": "keyword",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "name": "name",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "name": "number",
+                        "in": "query"
+                    },
+                    {
+                        "type": "integer",
+                        "description": "椤电爜",
+                        "name": "page",
+                        "in": "query"
+                    },
+                    {
+                        "type": "integer",
+                        "description": "姣忛〉澶у皬",
+                        "name": "pageSize",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "name": "phone",
+                        "in": "query"
+                    },
+                    {
+                        "type": "integer",
+                        "name": "responsiblePersonId",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "name": "startCreatedAt",
+                        "in": "query"
+                    },
+                    {
+                        "type": "integer",
+                        "name": "status",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "name": "supplierType",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "name": "url",
+                        "in": "query"
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鑾峰彇鎴愬姛\"}",
+                        "schema": {
+                            "type": "string"
+                        }
+                    }
+                }
+            }
+        },
+        "/api/s/updateSupplier": {
+            "put": {
+                "security": [
+                    {
+                        "ApiKeyAuth": []
+                    }
+                ],
+                "consumes": [
+                    "application/json"
+                ],
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "Supplier"
+                ],
+                "summary": "鏇存柊Supplier",
+                "parameters": [
+                    {
+                        "description": "鏇存柊Supplier",
+                        "name": "data",
+                        "in": "body",
+                        "required": true,
+                        "schema": {
+                            "$ref": "#/definitions/test.Supplier"
+                        }
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鏇存柊鎴愬姛\"}",
+                        "schema": {
+                            "type": "string"
+                        }
+                    }
+                }
+            }
+        },
+        "/api/st/createSupplierType": {
+            "post": {
+                "security": [
+                    {
+                        "ApiKeyAuth": []
+                    }
+                ],
+                "consumes": [
+                    "application/json"
+                ],
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "SupplierType"
+                ],
+                "summary": "鍒涘缓SupplierType",
+                "parameters": [
+                    {
+                        "description": "鍒涘缓SupplierType",
+                        "name": "data",
+                        "in": "body",
+                        "required": true,
+                        "schema": {
+                            "$ref": "#/definitions/test.SupplierType"
+                        }
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鑾峰彇鎴愬姛\"}",
+                        "schema": {
+                            "type": "string"
+                        }
+                    }
+                }
+            }
+        },
+        "/api/st/deleteSupplierType": {
+            "delete": {
+                "security": [
+                    {
+                        "ApiKeyAuth": []
+                    }
+                ],
+                "consumes": [
+                    "application/json"
+                ],
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "SupplierType"
+                ],
+                "summary": "鍒犻櫎SupplierType",
+                "parameters": [
+                    {
+                        "description": "鍒犻櫎SupplierType",
+                        "name": "data",
+                        "in": "body",
+                        "required": true,
+                        "schema": {
+                            "$ref": "#/definitions/test.SupplierType"
+                        }
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鍒犻櫎鎴愬姛\"}",
+                        "schema": {
+                            "type": "string"
+                        }
+                    }
+                }
+            }
+        },
+        "/api/st/deleteSupplierTypeByIds": {
+            "delete": {
+                "security": [
+                    {
+                        "ApiKeyAuth": []
+                    }
+                ],
+                "consumes": [
+                    "application/json"
+                ],
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "SupplierType"
+                ],
+                "summary": "鎵归噺鍒犻櫎SupplierType",
+                "parameters": [
+                    {
+                        "description": "鎵归噺鍒犻櫎SupplierType",
+                        "name": "data",
+                        "in": "body",
+                        "required": true,
+                        "schema": {
+                            "$ref": "#/definitions/request.IdsReq"
+                        }
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鎵归噺鍒犻櫎鎴愬姛\"}",
+                        "schema": {
+                            "type": "string"
+                        }
+                    }
+                }
+            }
+        },
+        "/api/st/findSupplierType": {
+            "get": {
+                "security": [
+                    {
+                        "ApiKeyAuth": []
+                    }
+                ],
+                "consumes": [
+                    "application/json"
+                ],
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "SupplierType"
+                ],
+                "summary": "鐢╥d鏌ヨSupplierType",
+                "parameters": [
+                    {
+                        "type": "integer",
+                        "description": "涓婚敭ID",
+                        "name": "id",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "name": "name",
+                        "in": "query"
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鏌ヨ鎴愬姛\"}",
+                        "schema": {
+                            "type": "string"
+                        }
+                    }
+                }
+            }
+        },
+        "/api/st/getSupplierTypeList": {
+            "get": {
+                "security": [
+                    {
+                        "ApiKeyAuth": []
+                    }
+                ],
+                "consumes": [
+                    "application/json"
+                ],
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "SupplierType"
+                ],
+                "summary": "鍒嗛〉鑾峰彇SupplierType鍒楄〃",
+                "parameters": [
+                    {
+                        "type": "string",
+                        "name": "endCreatedAt",
+                        "in": "query"
+                    },
+                    {
+                        "type": "integer",
+                        "description": "涓婚敭ID",
+                        "name": "id",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "description": "鍏抽敭瀛�",
+                        "name": "keyword",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "name": "name",
+                        "in": "query"
+                    },
+                    {
+                        "type": "integer",
+                        "description": "椤电爜",
+                        "name": "page",
+                        "in": "query"
+                    },
+                    {
+                        "type": "integer",
+                        "description": "姣忛〉澶у皬",
+                        "name": "pageSize",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "name": "startCreatedAt",
+                        "in": "query"
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鑾峰彇鎴愬姛\"}",
+                        "schema": {
+                            "type": "string"
+                        }
+                    }
+                }
+            }
+        },
+        "/api/st/updateSupplierType": {
+            "put": {
+                "security": [
+                    {
+                        "ApiKeyAuth": []
+                    }
+                ],
+                "consumes": [
+                    "application/json"
+                ],
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "SupplierType"
+                ],
+                "summary": "鏇存柊SupplierType",
+                "parameters": [
+                    {
+                        "description": "鏇存柊SupplierType",
+                        "name": "data",
+                        "in": "body",
+                        "required": true,
+                        "schema": {
+                            "$ref": "#/definitions/test.SupplierType"
+                        }
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鏇存柊鎴愬姛\"}",
+                        "schema": {
+                            "type": "string"
                         }
                     }
                 }
@@ -2408,266 +3741,6 @@
                 }
             }
         },
-        "/i/createIndustry": {
-            "post": {
-                "security": [
-                    {
-                        "ApiKeyAuth": []
-                    }
-                ],
-                "consumes": [
-                    "application/json"
-                ],
-                "produces": [
-                    "application/json"
-                ],
-                "tags": [
-                    "Industry"
-                ],
-                "summary": "鍒涘缓Industry",
-                "parameters": [
-                    {
-                        "description": "鍒涘缓Industry",
-                        "name": "data",
-                        "in": "body",
-                        "required": true,
-                        "schema": {
-                            "$ref": "#/definitions/test.Industry"
-                        }
-                    }
-                ],
-                "responses": {
-                    "200": {
-                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鑾峰彇鎴愬姛\"}",
-                        "schema": {
-                            "type": "string"
-                        }
-                    }
-                }
-            }
-        },
-        "/i/deleteIndustry": {
-            "delete": {
-                "security": [
-                    {
-                        "ApiKeyAuth": []
-                    }
-                ],
-                "consumes": [
-                    "application/json"
-                ],
-                "produces": [
-                    "application/json"
-                ],
-                "tags": [
-                    "Industry"
-                ],
-                "summary": "鍒犻櫎Industry",
-                "parameters": [
-                    {
-                        "description": "鍒犻櫎Industry",
-                        "name": "data",
-                        "in": "body",
-                        "required": true,
-                        "schema": {
-                            "$ref": "#/definitions/test.Industry"
-                        }
-                    }
-                ],
-                "responses": {
-                    "200": {
-                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鍒犻櫎鎴愬姛\"}",
-                        "schema": {
-                            "type": "string"
-                        }
-                    }
-                }
-            }
-        },
-        "/i/deleteIndustryByIds": {
-            "delete": {
-                "security": [
-                    {
-                        "ApiKeyAuth": []
-                    }
-                ],
-                "consumes": [
-                    "application/json"
-                ],
-                "produces": [
-                    "application/json"
-                ],
-                "tags": [
-                    "Industry"
-                ],
-                "summary": "鎵归噺鍒犻櫎Industry",
-                "parameters": [
-                    {
-                        "description": "鎵归噺鍒犻櫎Industry",
-                        "name": "data",
-                        "in": "body",
-                        "required": true,
-                        "schema": {
-                            "$ref": "#/definitions/request.IdsReq"
-                        }
-                    }
-                ],
-                "responses": {
-                    "200": {
-                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鎵归噺鍒犻櫎鎴愬姛\"}",
-                        "schema": {
-                            "type": "string"
-                        }
-                    }
-                }
-            }
-        },
-        "/i/findIndustry": {
-            "get": {
-                "security": [
-                    {
-                        "ApiKeyAuth": []
-                    }
-                ],
-                "consumes": [
-                    "application/json"
-                ],
-                "produces": [
-                    "application/json"
-                ],
-                "tags": [
-                    "Industry"
-                ],
-                "summary": "鐢╥d鏌ヨIndustry",
-                "parameters": [
-                    {
-                        "type": "integer",
-                        "description": "涓婚敭ID",
-                        "name": "id",
-                        "in": "query"
-                    },
-                    {
-                        "type": "string",
-                        "name": "name",
-                        "in": "query"
-                    }
-                ],
-                "responses": {
-                    "200": {
-                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鏌ヨ鎴愬姛\"}",
-                        "schema": {
-                            "type": "string"
-                        }
-                    }
-                }
-            }
-        },
-        "/i/getIndustryList": {
-            "get": {
-                "security": [
-                    {
-                        "ApiKeyAuth": []
-                    }
-                ],
-                "consumes": [
-                    "application/json"
-                ],
-                "produces": [
-                    "application/json"
-                ],
-                "tags": [
-                    "Industry"
-                ],
-                "summary": "鍒嗛〉鑾峰彇Industry鍒楄〃",
-                "parameters": [
-                    {
-                        "type": "string",
-                        "name": "endCreatedAt",
-                        "in": "query"
-                    },
-                    {
-                        "type": "integer",
-                        "description": "涓婚敭ID",
-                        "name": "id",
-                        "in": "query"
-                    },
-                    {
-                        "type": "string",
-                        "description": "鍏抽敭瀛�",
-                        "name": "keyword",
-                        "in": "query"
-                    },
-                    {
-                        "type": "string",
-                        "name": "name",
-                        "in": "query"
-                    },
-                    {
-                        "type": "integer",
-                        "description": "椤电爜",
-                        "name": "page",
-                        "in": "query"
-                    },
-                    {
-                        "type": "integer",
-                        "description": "姣忛〉澶у皬",
-                        "name": "pageSize",
-                        "in": "query"
-                    },
-                    {
-                        "type": "string",
-                        "name": "startCreatedAt",
-                        "in": "query"
-                    }
-                ],
-                "responses": {
-                    "200": {
-                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鑾峰彇鎴愬姛\"}",
-                        "schema": {
-                            "type": "string"
-                        }
-                    }
-                }
-            }
-        },
-        "/i/updateIndustry": {
-            "put": {
-                "security": [
-                    {
-                        "ApiKeyAuth": []
-                    }
-                ],
-                "consumes": [
-                    "application/json"
-                ],
-                "produces": [
-                    "application/json"
-                ],
-                "tags": [
-                    "Industry"
-                ],
-                "summary": "鏇存柊Industry",
-                "parameters": [
-                    {
-                        "description": "鏇存柊Industry",
-                        "name": "data",
-                        "in": "body",
-                        "required": true,
-                        "schema": {
-                            "$ref": "#/definitions/test.Industry"
-                        }
-                    }
-                ],
-                "responses": {
-                    "200": {
-                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鏇存柊鎴愬姛\"}",
-                        "schema": {
-                            "type": "string"
-                        }
-                    }
-                }
-            }
-        },
         "/init/checkdb": {
             "post": {
                 "produces": [
@@ -3239,704 +4312,6 @@
                                     }
                                 }
                             ]
-                        }
-                    }
-                }
-            }
-        },
-        "/s/changeSupplierStatus": {
-            "post": {
-                "security": [
-                    {
-                        "ApiKeyAuth": []
-                    }
-                ],
-                "consumes": [
-                    "application/json"
-                ],
-                "produces": [
-                    "application/json"
-                ],
-                "tags": [
-                    "Supplier"
-                ],
-                "summary": "淇敼Supplier鐘舵��",
-                "parameters": [
-                    {
-                        "description": "淇敼Supplier鐘舵��",
-                        "name": "data",
-                        "in": "body",
-                        "required": true,
-                        "schema": {
-                            "$ref": "#/definitions/request.SupplierStatus"
-                        }
-                    }
-                ],
-                "responses": {
-                    "200": {
-                        "description": "{\"success\":true,\"data\":{},\"msg\":\"淇敼鎴愬姛\"}",
-                        "schema": {
-                            "type": "string"
-                        }
-                    }
-                }
-            }
-        },
-        "/s/createSupplier": {
-            "post": {
-                "security": [
-                    {
-                        "ApiKeyAuth": []
-                    }
-                ],
-                "consumes": [
-                    "application/json"
-                ],
-                "produces": [
-                    "application/json"
-                ],
-                "tags": [
-                    "Supplier"
-                ],
-                "summary": "鍒涘缓Supplier",
-                "parameters": [
-                    {
-                        "description": "鍒涘缓Supplier",
-                        "name": "data",
-                        "in": "body",
-                        "required": true,
-                        "schema": {
-                            "$ref": "#/definitions/test.Supplier"
-                        }
-                    }
-                ],
-                "responses": {
-                    "200": {
-                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鑾峰彇鎴愬姛\"}",
-                        "schema": {
-                            "type": "string"
-                        }
-                    }
-                }
-            }
-        },
-        "/s/deleteSupplier": {
-            "delete": {
-                "security": [
-                    {
-                        "ApiKeyAuth": []
-                    }
-                ],
-                "consumes": [
-                    "application/json"
-                ],
-                "produces": [
-                    "application/json"
-                ],
-                "tags": [
-                    "Supplier"
-                ],
-                "summary": "鍒犻櫎Supplier",
-                "parameters": [
-                    {
-                        "description": "鍒犻櫎Supplier",
-                        "name": "data",
-                        "in": "body",
-                        "required": true,
-                        "schema": {
-                            "$ref": "#/definitions/test.Supplier"
-                        }
-                    }
-                ],
-                "responses": {
-                    "200": {
-                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鍒犻櫎鎴愬姛\"}",
-                        "schema": {
-                            "type": "string"
-                        }
-                    }
-                }
-            }
-        },
-        "/s/deleteSupplierByIds": {
-            "delete": {
-                "security": [
-                    {
-                        "ApiKeyAuth": []
-                    }
-                ],
-                "consumes": [
-                    "application/json"
-                ],
-                "produces": [
-                    "application/json"
-                ],
-                "tags": [
-                    "Supplier"
-                ],
-                "summary": "鎵归噺鍒犻櫎Supplier",
-                "parameters": [
-                    {
-                        "description": "鎵归噺鍒犻櫎Supplier",
-                        "name": "data",
-                        "in": "body",
-                        "required": true,
-                        "schema": {
-                            "$ref": "#/definitions/request.IdsReq"
-                        }
-                    }
-                ],
-                "responses": {
-                    "200": {
-                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鎵归噺鍒犻櫎鎴愬姛\"}",
-                        "schema": {
-                            "type": "string"
-                        }
-                    }
-                }
-            }
-        },
-        "/s/findSupplier": {
-            "get": {
-                "security": [
-                    {
-                        "ApiKeyAuth": []
-                    }
-                ],
-                "consumes": [
-                    "application/json"
-                ],
-                "produces": [
-                    "application/json"
-                ],
-                "tags": [
-                    "Supplier"
-                ],
-                "summary": "鐢╥d鏌ヨSupplier",
-                "parameters": [
-                    {
-                        "type": "string",
-                        "name": "account",
-                        "in": "query"
-                    },
-                    {
-                        "type": "string",
-                        "name": "accountName",
-                        "in": "query"
-                    },
-                    {
-                        "type": "string",
-                        "name": "bank",
-                        "in": "query"
-                    },
-                    {
-                        "type": "string",
-                        "name": "contact",
-                        "in": "query"
-                    },
-                    {
-                        "type": "string",
-                        "name": "detailAddress",
-                        "in": "query"
-                    },
-                    {
-                        "type": "string",
-                        "name": "email",
-                        "in": "query"
-                    },
-                    {
-                        "type": "string",
-                        "name": "file",
-                        "in": "query"
-                    },
-                    {
-                        "type": "integer",
-                        "description": "涓婚敭ID",
-                        "name": "id",
-                        "in": "query"
-                    },
-                    {
-                        "type": "string",
-                        "name": "industry",
-                        "in": "query"
-                    },
-                    {
-                        "type": "string",
-                        "name": "name",
-                        "in": "query"
-                    },
-                    {
-                        "type": "string",
-                        "name": "number",
-                        "in": "query"
-                    },
-                    {
-                        "type": "string",
-                        "name": "phone",
-                        "in": "query"
-                    },
-                    {
-                        "type": "integer",
-                        "name": "responsiblePersonId",
-                        "in": "query"
-                    },
-                    {
-                        "type": "integer",
-                        "name": "status",
-                        "in": "query"
-                    },
-                    {
-                        "type": "string",
-                        "name": "supplierType",
-                        "in": "query"
-                    },
-                    {
-                        "type": "string",
-                        "name": "url",
-                        "in": "query"
-                    }
-                ],
-                "responses": {
-                    "200": {
-                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鏌ヨ鎴愬姛\"}",
-                        "schema": {
-                            "type": "string"
-                        }
-                    }
-                }
-            }
-        },
-        "/s/getSupplierList": {
-            "get": {
-                "security": [
-                    {
-                        "ApiKeyAuth": []
-                    }
-                ],
-                "consumes": [
-                    "application/json"
-                ],
-                "produces": [
-                    "application/json"
-                ],
-                "tags": [
-                    "Supplier"
-                ],
-                "summary": "鍒嗛〉鑾峰彇Supplier鍒楄〃",
-                "parameters": [
-                    {
-                        "type": "string",
-                        "name": "account",
-                        "in": "query"
-                    },
-                    {
-                        "type": "string",
-                        "name": "accountName",
-                        "in": "query"
-                    },
-                    {
-                        "type": "string",
-                        "name": "bank",
-                        "in": "query"
-                    },
-                    {
-                        "type": "string",
-                        "name": "contact",
-                        "in": "query"
-                    },
-                    {
-                        "type": "string",
-                        "name": "detailAddress",
-                        "in": "query"
-                    },
-                    {
-                        "type": "string",
-                        "name": "email",
-                        "in": "query"
-                    },
-                    {
-                        "type": "string",
-                        "name": "endCreatedAt",
-                        "in": "query"
-                    },
-                    {
-                        "type": "string",
-                        "name": "file",
-                        "in": "query"
-                    },
-                    {
-                        "type": "integer",
-                        "description": "涓婚敭ID",
-                        "name": "id",
-                        "in": "query"
-                    },
-                    {
-                        "type": "string",
-                        "name": "industry",
-                        "in": "query"
-                    },
-                    {
-                        "type": "string",
-                        "description": "鍏抽敭瀛�",
-                        "name": "keyword",
-                        "in": "query"
-                    },
-                    {
-                        "type": "string",
-                        "name": "name",
-                        "in": "query"
-                    },
-                    {
-                        "type": "string",
-                        "name": "number",
-                        "in": "query"
-                    },
-                    {
-                        "type": "integer",
-                        "description": "椤电爜",
-                        "name": "page",
-                        "in": "query"
-                    },
-                    {
-                        "type": "integer",
-                        "description": "姣忛〉澶у皬",
-                        "name": "pageSize",
-                        "in": "query"
-                    },
-                    {
-                        "type": "string",
-                        "name": "phone",
-                        "in": "query"
-                    },
-                    {
-                        "type": "integer",
-                        "name": "responsiblePersonId",
-                        "in": "query"
-                    },
-                    {
-                        "type": "string",
-                        "name": "startCreatedAt",
-                        "in": "query"
-                    },
-                    {
-                        "type": "integer",
-                        "name": "status",
-                        "in": "query"
-                    },
-                    {
-                        "type": "string",
-                        "name": "supplierType",
-                        "in": "query"
-                    },
-                    {
-                        "type": "string",
-                        "name": "url",
-                        "in": "query"
-                    }
-                ],
-                "responses": {
-                    "200": {
-                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鑾峰彇鎴愬姛\"}",
-                        "schema": {
-                            "type": "string"
-                        }
-                    }
-                }
-            }
-        },
-        "/s/updateSupplier": {
-            "put": {
-                "security": [
-                    {
-                        "ApiKeyAuth": []
-                    }
-                ],
-                "consumes": [
-                    "application/json"
-                ],
-                "produces": [
-                    "application/json"
-                ],
-                "tags": [
-                    "Supplier"
-                ],
-                "summary": "鏇存柊Supplier",
-                "parameters": [
-                    {
-                        "description": "鏇存柊Supplier",
-                        "name": "data",
-                        "in": "body",
-                        "required": true,
-                        "schema": {
-                            "$ref": "#/definitions/test.Supplier"
-                        }
-                    }
-                ],
-                "responses": {
-                    "200": {
-                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鏇存柊鎴愬姛\"}",
-                        "schema": {
-                            "type": "string"
-                        }
-                    }
-                }
-            }
-        },
-        "/st/createSupplierType": {
-            "post": {
-                "security": [
-                    {
-                        "ApiKeyAuth": []
-                    }
-                ],
-                "consumes": [
-                    "application/json"
-                ],
-                "produces": [
-                    "application/json"
-                ],
-                "tags": [
-                    "SupplierType"
-                ],
-                "summary": "鍒涘缓SupplierType",
-                "parameters": [
-                    {
-                        "description": "鍒涘缓SupplierType",
-                        "name": "data",
-                        "in": "body",
-                        "required": true,
-                        "schema": {
-                            "$ref": "#/definitions/test.SupplierType"
-                        }
-                    }
-                ],
-                "responses": {
-                    "200": {
-                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鑾峰彇鎴愬姛\"}",
-                        "schema": {
-                            "type": "string"
-                        }
-                    }
-                }
-            }
-        },
-        "/st/deleteSupplierType": {
-            "delete": {
-                "security": [
-                    {
-                        "ApiKeyAuth": []
-                    }
-                ],
-                "consumes": [
-                    "application/json"
-                ],
-                "produces": [
-                    "application/json"
-                ],
-                "tags": [
-                    "SupplierType"
-                ],
-                "summary": "鍒犻櫎SupplierType",
-                "parameters": [
-                    {
-                        "description": "鍒犻櫎SupplierType",
-                        "name": "data",
-                        "in": "body",
-                        "required": true,
-                        "schema": {
-                            "$ref": "#/definitions/test.SupplierType"
-                        }
-                    }
-                ],
-                "responses": {
-                    "200": {
-                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鍒犻櫎鎴愬姛\"}",
-                        "schema": {
-                            "type": "string"
-                        }
-                    }
-                }
-            }
-        },
-        "/st/deleteSupplierTypeByIds": {
-            "delete": {
-                "security": [
-                    {
-                        "ApiKeyAuth": []
-                    }
-                ],
-                "consumes": [
-                    "application/json"
-                ],
-                "produces": [
-                    "application/json"
-                ],
-                "tags": [
-                    "SupplierType"
-                ],
-                "summary": "鎵归噺鍒犻櫎SupplierType",
-                "parameters": [
-                    {
-                        "description": "鎵归噺鍒犻櫎SupplierType",
-                        "name": "data",
-                        "in": "body",
-                        "required": true,
-                        "schema": {
-                            "$ref": "#/definitions/request.IdsReq"
-                        }
-                    }
-                ],
-                "responses": {
-                    "200": {
-                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鎵归噺鍒犻櫎鎴愬姛\"}",
-                        "schema": {
-                            "type": "string"
-                        }
-                    }
-                }
-            }
-        },
-        "/st/findSupplierType": {
-            "get": {
-                "security": [
-                    {
-                        "ApiKeyAuth": []
-                    }
-                ],
-                "consumes": [
-                    "application/json"
-                ],
-                "produces": [
-                    "application/json"
-                ],
-                "tags": [
-                    "SupplierType"
-                ],
-                "summary": "鐢╥d鏌ヨSupplierType",
-                "parameters": [
-                    {
-                        "type": "integer",
-                        "description": "涓婚敭ID",
-                        "name": "id",
-                        "in": "query"
-                    },
-                    {
-                        "type": "string",
-                        "name": "name",
-                        "in": "query"
-                    }
-                ],
-                "responses": {
-                    "200": {
-                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鏌ヨ鎴愬姛\"}",
-                        "schema": {
-                            "type": "string"
-                        }
-                    }
-                }
-            }
-        },
-        "/st/getSupplierTypeList": {
-            "get": {
-                "security": [
-                    {
-                        "ApiKeyAuth": []
-                    }
-                ],
-                "consumes": [
-                    "application/json"
-                ],
-                "produces": [
-                    "application/json"
-                ],
-                "tags": [
-                    "SupplierType"
-                ],
-                "summary": "鍒嗛〉鑾峰彇SupplierType鍒楄〃",
-                "parameters": [
-                    {
-                        "type": "string",
-                        "name": "endCreatedAt",
-                        "in": "query"
-                    },
-                    {
-                        "type": "integer",
-                        "description": "涓婚敭ID",
-                        "name": "id",
-                        "in": "query"
-                    },
-                    {
-                        "type": "string",
-                        "description": "鍏抽敭瀛�",
-                        "name": "keyword",
-                        "in": "query"
-                    },
-                    {
-                        "type": "string",
-                        "name": "name",
-                        "in": "query"
-                    },
-                    {
-                        "type": "integer",
-                        "description": "椤电爜",
-                        "name": "page",
-                        "in": "query"
-                    },
-                    {
-                        "type": "integer",
-                        "description": "姣忛〉澶у皬",
-                        "name": "pageSize",
-                        "in": "query"
-                    },
-                    {
-                        "type": "string",
-                        "name": "startCreatedAt",
-                        "in": "query"
-                    }
-                ],
-                "responses": {
-                    "200": {
-                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鑾峰彇鎴愬姛\"}",
-                        "schema": {
-                            "type": "string"
-                        }
-                    }
-                }
-            }
-        },
-        "/st/updateSupplierType": {
-            "put": {
-                "security": [
-                    {
-                        "ApiKeyAuth": []
-                    }
-                ],
-                "consumes": [
-                    "application/json"
-                ],
-                "produces": [
-                    "application/json"
-                ],
-                "tags": [
-                    "SupplierType"
-                ],
-                "summary": "鏇存柊SupplierType",
-                "parameters": [
-                    {
-                        "description": "鏇存柊SupplierType",
-                        "name": "data",
-                        "in": "body",
-                        "required": true,
-                        "schema": {
-                            "$ref": "#/definitions/test.SupplierType"
-                        }
-                    }
-                ],
-                "responses": {
-                    "200": {
-                        "description": "{\"success\":true,\"data\":{},\"msg\":\"鏇存柊鎴愬姛\"}",
-                        "schema": {
-                            "type": "string"
                         }
                     }
                 }
@@ -7763,6 +8138,27 @@
                 }
             }
         },
+        "test.Contract": {
+            "type": "object",
+            "properties": {
+                "fileContent": {
+                    "type": "array",
+                    "items": {
+                        "type": "integer"
+                    }
+                },
+                "fileName": {
+                    "type": "string"
+                },
+                "id": {
+                    "description": "涓婚敭ID",
+                    "type": "integer"
+                },
+                "supplierID": {
+                    "type": "integer"
+                }
+            }
+        },
         "test.Industry": {
             "type": "object",
             "properties": {
diff --git a/docs/swagger.yaml b/docs/swagger.yaml
index a847e17..e0bc5f0 100644
--- a/docs/swagger.yaml
+++ b/docs/swagger.yaml
@@ -1473,6 +1473,20 @@
       config:
         $ref: '#/definitions/config.Server'
     type: object
+  test.Contract:
+    properties:
+      fileContent:
+        items:
+          type: integer
+        type: array
+      fileName:
+        type: string
+      id:
+        description: 涓婚敭ID
+        type: integer
+      supplierID:
+        type: integer
+    type: object
   test.Industry:
     properties:
       id:
@@ -1531,6 +1545,237 @@
   title: Swagger Example API
   version: 0.0.1
 paths:
+  /api/con/createContract:
+    post:
+      consumes:
+      - multipart/form-data
+      parameters:
+      - description: 涓婁紶鏂囦欢
+        in: formData
+        name: file
+        required: true
+        type: file
+      - description: 鏂囦欢鍚嶇О
+        in: formData
+        name: name
+        required: true
+        type: string
+      produces:
+      - multipart/form-data
+      responses:
+        "200":
+          description: '{"success":true,"data":{},"msg":"鑾峰彇鎴愬姛"}'
+          schema:
+            type: string
+      security:
+      - ApiKeyAuth: []
+      summary: 鍒涘缓Contract
+      tags:
+      - Contract
+  /api/con/deleteContract:
+    delete:
+      consumes:
+      - application/json
+      parameters:
+      - description: 鍒犻櫎Contract
+        in: body
+        name: data
+        required: true
+        schema:
+          $ref: '#/definitions/test.Contract'
+      produces:
+      - application/json
+      responses:
+        "200":
+          description: '{"success":true,"data":{},"msg":"鍒犻櫎鎴愬姛"}'
+          schema:
+            type: string
+      security:
+      - ApiKeyAuth: []
+      summary: 鍒犻櫎Contract
+      tags:
+      - Contract
+  /api/con/deleteContractByIds:
+    delete:
+      consumes:
+      - application/json
+      parameters:
+      - description: 鎵归噺鍒犻櫎Contract
+        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: 鎵归噺鍒犻櫎Contract
+      tags:
+      - Contract
+  /api/con/findContract:
+    get:
+      consumes:
+      - application/json
+      parameters:
+      - collectionFormat: csv
+        in: query
+        items:
+          type: integer
+        name: fileContent
+        type: array
+      - in: query
+        name: fileName
+        type: string
+      - description: 涓婚敭ID
+        in: query
+        name: id
+        type: integer
+      - in: query
+        name: supplierID
+        type: integer
+      produces:
+      - application/json
+      responses:
+        "200":
+          description: '{"success":true,"data":{},"msg":"鏌ヨ鎴愬姛"}'
+          schema:
+            type: string
+      security:
+      - ApiKeyAuth: []
+      summary: 鐢╥d鏌ヨContract
+      tags:
+      - Contract
+  /api/con/getContractList:
+    get:
+      consumes:
+      - application/json
+      parameters:
+      - in: query
+        name: endCreatedAt
+        type: string
+      - collectionFormat: csv
+        in: query
+        items:
+          type: integer
+        name: fileContent
+        type: array
+      - in: query
+        name: fileName
+        type: string
+      - description: 涓婚敭ID
+        in: query
+        name: id
+        type: integer
+      - description: 鍏抽敭瀛�
+        in: query
+        name: keyword
+        type: string
+      - description: 椤电爜
+        in: query
+        name: page
+        type: integer
+      - description: 姣忛〉澶у皬
+        in: query
+        name: pageSize
+        type: integer
+      - in: query
+        name: startCreatedAt
+        type: string
+      - in: query
+        name: supplierID
+        type: integer
+      produces:
+      - application/json
+      responses:
+        "200":
+          description: '{"success":true,"data":{},"msg":"鑾峰彇鎴愬姛"}'
+          schema:
+            type: string
+      security:
+      - ApiKeyAuth: []
+      summary: 鍒嗛〉鑾峰彇Contract鍒楄〃
+      tags:
+      - Contract
+  /api/con/previewContract:
+    get:
+      consumes:
+      - application/json
+      parameters:
+      - in: query
+        name: endCreatedAt
+        type: string
+      - collectionFormat: csv
+        in: query
+        items:
+          type: integer
+        name: fileContent
+        type: array
+      - in: query
+        name: fileName
+        type: string
+      - description: 涓婚敭ID
+        in: query
+        name: id
+        type: integer
+      - description: 鍏抽敭瀛�
+        in: query
+        name: keyword
+        type: string
+      - description: 椤电爜
+        in: query
+        name: page
+        type: integer
+      - description: 姣忛〉澶у皬
+        in: query
+        name: pageSize
+        type: integer
+      - in: query
+        name: startCreatedAt
+        type: string
+      - in: query
+        name: supplierID
+        type: integer
+      produces:
+      - application/json
+      responses:
+        "200":
+          description: '{"success":true,"data":{},"msg":"棰勮鎴愬姛"}'
+          schema:
+            type: string
+      security:
+      - ApiKeyAuth: []
+      summary: 棰勮Contract
+      tags:
+      - Contract
+  /api/con/updateContract:
+    put:
+      consumes:
+      - application/json
+      parameters:
+      - description: 鏇存柊Contract
+        in: body
+        name: data
+        required: true
+        schema:
+          $ref: '#/definitions/test.Contract'
+      produces:
+      - application/json
+      responses:
+        "200":
+          description: '{"success":true,"data":{},"msg":"鏇存柊鎴愬姛"}'
+          schema:
+            type: string
+      security:
+      - ApiKeyAuth: []
+      summary: 鏇存柊Contract
+      tags:
+      - Contract
   /api/createApi:
     post:
       consumes:
@@ -1715,6 +1960,587 @@
       summary: 鍒嗛〉鑾峰彇API鍒楄〃
       tags:
       - SysApi
+  /api/i/createIndustry:
+    post:
+      consumes:
+      - application/json
+      parameters:
+      - description: 鍒涘缓Industry
+        in: body
+        name: data
+        required: true
+        schema:
+          $ref: '#/definitions/test.Industry'
+      produces:
+      - application/json
+      responses:
+        "200":
+          description: '{"success":true,"data":{},"msg":"鑾峰彇鎴愬姛"}'
+          schema:
+            type: string
+      security:
+      - ApiKeyAuth: []
+      summary: 鍒涘缓Industry
+      tags:
+      - Industry
+  /api/i/deleteIndustry:
+    delete:
+      consumes:
+      - application/json
+      parameters:
+      - description: 鍒犻櫎Industry
+        in: body
+        name: data
+        required: true
+        schema:
+          $ref: '#/definitions/test.Industry'
+      produces:
+      - application/json
+      responses:
+        "200":
+          description: '{"success":true,"data":{},"msg":"鍒犻櫎鎴愬姛"}'
+          schema:
+            type: string
+      security:
+      - ApiKeyAuth: []
+      summary: 鍒犻櫎Industry
+      tags:
+      - Industry
+  /api/i/deleteIndustryByIds:
+    delete:
+      consumes:
+      - application/json
+      parameters:
+      - description: 鎵归噺鍒犻櫎Industry
+        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: 鎵归噺鍒犻櫎Industry
+      tags:
+      - Industry
+  /api/i/findIndustry:
+    get:
+      consumes:
+      - application/json
+      parameters:
+      - description: 涓婚敭ID
+        in: query
+        name: id
+        type: integer
+      - in: query
+        name: name
+        type: string
+      produces:
+      - application/json
+      responses:
+        "200":
+          description: '{"success":true,"data":{},"msg":"鏌ヨ鎴愬姛"}'
+          schema:
+            type: string
+      security:
+      - ApiKeyAuth: []
+      summary: 鐢╥d鏌ヨIndustry
+      tags:
+      - Industry
+  /api/i/getIndustryList:
+    get:
+      consumes:
+      - application/json
+      parameters:
+      - in: query
+        name: endCreatedAt
+        type: string
+      - description: 涓婚敭ID
+        in: query
+        name: id
+        type: integer
+      - description: 鍏抽敭瀛�
+        in: query
+        name: keyword
+        type: string
+      - in: query
+        name: name
+        type: string
+      - description: 椤电爜
+        in: query
+        name: page
+        type: integer
+      - description: 姣忛〉澶у皬
+        in: query
+        name: pageSize
+        type: integer
+      - in: query
+        name: startCreatedAt
+        type: string
+      produces:
+      - application/json
+      responses:
+        "200":
+          description: '{"success":true,"data":{},"msg":"鑾峰彇鎴愬姛"}'
+          schema:
+            type: string
+      security:
+      - ApiKeyAuth: []
+      summary: 鍒嗛〉鑾峰彇Industry鍒楄〃
+      tags:
+      - Industry
+  /api/i/updateIndustry:
+    put:
+      consumes:
+      - application/json
+      parameters:
+      - description: 鏇存柊Industry
+        in: body
+        name: data
+        required: true
+        schema:
+          $ref: '#/definitions/test.Industry'
+      produces:
+      - application/json
+      responses:
+        "200":
+          description: '{"success":true,"data":{},"msg":"鏇存柊鎴愬姛"}'
+          schema:
+            type: string
+      security:
+      - ApiKeyAuth: []
+      summary: 鏇存柊Industry
+      tags:
+      - Industry
+  /api/s/changeSupplierStatus:
+    post:
+      consumes:
+      - application/json
+      parameters:
+      - description: 淇敼Supplier鐘舵��
+        in: body
+        name: data
+        required: true
+        schema:
+          $ref: '#/definitions/request.SupplierStatus'
+      produces:
+      - application/json
+      responses:
+        "200":
+          description: '{"success":true,"data":{},"msg":"淇敼鎴愬姛"}'
+          schema:
+            type: string
+      security:
+      - ApiKeyAuth: []
+      summary: 淇敼Supplier鐘舵��
+      tags:
+      - Supplier
+  /api/s/createSupplier:
+    post:
+      consumes:
+      - application/json
+      parameters:
+      - description: 鍒涘缓Supplier
+        in: body
+        name: data
+        required: true
+        schema:
+          $ref: '#/definitions/test.Supplier'
+      produces:
+      - application/json
+      responses:
+        "200":
+          description: '{"success":true,"data":{},"msg":"鑾峰彇鎴愬姛"}'
+          schema:
+            type: string
+      security:
+      - ApiKeyAuth: []
+      summary: 鍒涘缓Supplier
+      tags:
+      - Supplier
+  /api/s/deleteSupplier:
+    delete:
+      consumes:
+      - application/json
+      parameters:
+      - description: 鍒犻櫎Supplier
+        in: body
+        name: data
+        required: true
+        schema:
+          $ref: '#/definitions/test.Supplier'
+      produces:
+      - application/json
+      responses:
+        "200":
+          description: '{"success":true,"data":{},"msg":"鍒犻櫎鎴愬姛"}'
+          schema:
+            type: string
+      security:
+      - ApiKeyAuth: []
+      summary: 鍒犻櫎Supplier
+      tags:
+      - Supplier
+  /api/s/deleteSupplierByIds:
+    delete:
+      consumes:
+      - application/json
+      parameters:
+      - description: 鎵归噺鍒犻櫎Supplier
+        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: 鎵归噺鍒犻櫎Supplier
+      tags:
+      - Supplier
+  /api/s/findSupplier:
+    get:
+      consumes:
+      - application/json
+      parameters:
+      - in: query
+        name: account
+        type: string
+      - in: query
+        name: accountName
+        type: string
+      - in: query
+        name: bank
+        type: string
+      - in: query
+        name: contact
+        type: string
+      - in: query
+        name: detailAddress
+        type: string
+      - in: query
+        name: email
+        type: string
+      - in: query
+        name: file
+        type: string
+      - description: 涓婚敭ID
+        in: query
+        name: id
+        type: integer
+      - in: query
+        name: industry
+        type: string
+      - in: query
+        name: name
+        type: string
+      - in: query
+        name: number
+        type: string
+      - in: query
+        name: phone
+        type: string
+      - in: query
+        name: responsiblePersonId
+        type: integer
+      - in: query
+        name: status
+        type: integer
+      - in: query
+        name: supplierType
+        type: string
+      - in: query
+        name: url
+        type: string
+      produces:
+      - application/json
+      responses:
+        "200":
+          description: '{"success":true,"data":{},"msg":"鏌ヨ鎴愬姛"}'
+          schema:
+            type: string
+      security:
+      - ApiKeyAuth: []
+      summary: 鐢╥d鏌ヨSupplier
+      tags:
+      - Supplier
+  /api/s/getSupplierList:
+    get:
+      consumes:
+      - application/json
+      parameters:
+      - in: query
+        name: account
+        type: string
+      - in: query
+        name: accountName
+        type: string
+      - in: query
+        name: bank
+        type: string
+      - in: query
+        name: contact
+        type: string
+      - in: query
+        name: detailAddress
+        type: string
+      - in: query
+        name: email
+        type: string
+      - in: query
+        name: endCreatedAt
+        type: string
+      - in: query
+        name: file
+        type: string
+      - description: 涓婚敭ID
+        in: query
+        name: id
+        type: integer
+      - in: query
+        name: industry
+        type: string
+      - description: 鍏抽敭瀛�
+        in: query
+        name: keyword
+        type: string
+      - in: query
+        name: name
+        type: string
+      - in: query
+        name: number
+        type: string
+      - description: 椤电爜
+        in: query
+        name: page
+        type: integer
+      - description: 姣忛〉澶у皬
+        in: query
+        name: pageSize
+        type: integer
+      - in: query
+        name: phone
+        type: string
+      - in: query
+        name: responsiblePersonId
+        type: integer
+      - in: query
+        name: startCreatedAt
+        type: string
+      - in: query
+        name: status
+        type: integer
+      - in: query
+        name: supplierType
+        type: string
+      - in: query
+        name: url
+        type: string
+      produces:
+      - application/json
+      responses:
+        "200":
+          description: '{"success":true,"data":{},"msg":"鑾峰彇鎴愬姛"}'
+          schema:
+            type: string
+      security:
+      - ApiKeyAuth: []
+      summary: 鍒嗛〉鑾峰彇Supplier鍒楄〃
+      tags:
+      - Supplier
+  /api/s/updateSupplier:
+    put:
+      consumes:
+      - application/json
+      parameters:
+      - description: 鏇存柊Supplier
+        in: body
+        name: data
+        required: true
+        schema:
+          $ref: '#/definitions/test.Supplier'
+      produces:
+      - application/json
+      responses:
+        "200":
+          description: '{"success":true,"data":{},"msg":"鏇存柊鎴愬姛"}'
+          schema:
+            type: string
+      security:
+      - ApiKeyAuth: []
+      summary: 鏇存柊Supplier
+      tags:
+      - Supplier
+  /api/st/createSupplierType:
+    post:
+      consumes:
+      - application/json
+      parameters:
+      - description: 鍒涘缓SupplierType
+        in: body
+        name: data
+        required: true
+        schema:
+          $ref: '#/definitions/test.SupplierType'
+      produces:
+      - application/json
+      responses:
+        "200":
+          description: '{"success":true,"data":{},"msg":"鑾峰彇鎴愬姛"}'
+          schema:
+            type: string
+      security:
+      - ApiKeyAuth: []
+      summary: 鍒涘缓SupplierType
+      tags:
+      - SupplierType
+  /api/st/deleteSupplierType:
+    delete:
+      consumes:
+      - application/json
+      parameters:
+      - description: 鍒犻櫎SupplierType
+        in: body
+        name: data
+        required: true
+        schema:
+          $ref: '#/definitions/test.SupplierType'
+      produces:
+      - application/json
+      responses:
+        "200":
+          description: '{"success":true,"data":{},"msg":"鍒犻櫎鎴愬姛"}'
+          schema:
+            type: string
+      security:
+      - ApiKeyAuth: []
+      summary: 鍒犻櫎SupplierType
+      tags:
+      - SupplierType
+  /api/st/deleteSupplierTypeByIds:
+    delete:
+      consumes:
+      - application/json
+      parameters:
+      - description: 鎵归噺鍒犻櫎SupplierType
+        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: 鎵归噺鍒犻櫎SupplierType
+      tags:
+      - SupplierType
+  /api/st/findSupplierType:
+    get:
+      consumes:
+      - application/json
+      parameters:
+      - description: 涓婚敭ID
+        in: query
+        name: id
+        type: integer
+      - in: query
+        name: name
+        type: string
+      produces:
+      - application/json
+      responses:
+        "200":
+          description: '{"success":true,"data":{},"msg":"鏌ヨ鎴愬姛"}'
+          schema:
+            type: string
+      security:
+      - ApiKeyAuth: []
+      summary: 鐢╥d鏌ヨSupplierType
+      tags:
+      - SupplierType
+  /api/st/getSupplierTypeList:
+    get:
+      consumes:
+      - application/json
+      parameters:
+      - in: query
+        name: endCreatedAt
+        type: string
+      - description: 涓婚敭ID
+        in: query
+        name: id
+        type: integer
+      - description: 鍏抽敭瀛�
+        in: query
+        name: keyword
+        type: string
+      - in: query
+        name: name
+        type: string
+      - description: 椤电爜
+        in: query
+        name: page
+        type: integer
+      - description: 姣忛〉澶у皬
+        in: query
+        name: pageSize
+        type: integer
+      - in: query
+        name: startCreatedAt
+        type: string
+      produces:
+      - application/json
+      responses:
+        "200":
+          description: '{"success":true,"data":{},"msg":"鑾峰彇鎴愬姛"}'
+          schema:
+            type: string
+      security:
+      - ApiKeyAuth: []
+      summary: 鍒嗛〉鑾峰彇SupplierType鍒楄〃
+      tags:
+      - SupplierType
+  /api/st/updateSupplierType:
+    put:
+      consumes:
+      - application/json
+      parameters:
+      - description: 鏇存柊SupplierType
+        in: body
+        name: data
+        required: true
+        schema:
+          $ref: '#/definitions/test.SupplierType'
+      produces:
+      - application/json
+      responses:
+        "200":
+          description: '{"success":true,"data":{},"msg":"鏇存柊鎴愬姛"}'
+          schema:
+            type: string
+      security:
+      - ApiKeyAuth: []
+      summary: 鏇存柊SupplierType
+      tags:
+      - SupplierType
   /api/updateApi:
     post:
       consumes:
@@ -2891,164 +3717,6 @@
       summary: 涓婁紶鏂囦欢绀轰緥
       tags:
       - ExaFileUploadAndDownload
-  /i/createIndustry:
-    post:
-      consumes:
-      - application/json
-      parameters:
-      - description: 鍒涘缓Industry
-        in: body
-        name: data
-        required: true
-        schema:
-          $ref: '#/definitions/test.Industry'
-      produces:
-      - application/json
-      responses:
-        "200":
-          description: '{"success":true,"data":{},"msg":"鑾峰彇鎴愬姛"}'
-          schema:
-            type: string
-      security:
-      - ApiKeyAuth: []
-      summary: 鍒涘缓Industry
-      tags:
-      - Industry
-  /i/deleteIndustry:
-    delete:
-      consumes:
-      - application/json
-      parameters:
-      - description: 鍒犻櫎Industry
-        in: body
-        name: data
-        required: true
-        schema:
-          $ref: '#/definitions/test.Industry'
-      produces:
-      - application/json
-      responses:
-        "200":
-          description: '{"success":true,"data":{},"msg":"鍒犻櫎鎴愬姛"}'
-          schema:
-            type: string
-      security:
-      - ApiKeyAuth: []
-      summary: 鍒犻櫎Industry
-      tags:
-      - Industry
-  /i/deleteIndustryByIds:
-    delete:
-      consumes:
-      - application/json
-      parameters:
-      - description: 鎵归噺鍒犻櫎Industry
-        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: 鎵归噺鍒犻櫎Industry
-      tags:
-      - Industry
-  /i/findIndustry:
-    get:
-      consumes:
-      - application/json
-      parameters:
-      - description: 涓婚敭ID
-        in: query
-        name: id
-        type: integer
-      - in: query
-        name: name
-        type: string
-      produces:
-      - application/json
-      responses:
-        "200":
-          description: '{"success":true,"data":{},"msg":"鏌ヨ鎴愬姛"}'
-          schema:
-            type: string
-      security:
-      - ApiKeyAuth: []
-      summary: 鐢╥d鏌ヨIndustry
-      tags:
-      - Industry
-  /i/getIndustryList:
-    get:
-      consumes:
-      - application/json
-      parameters:
-      - in: query
-        name: endCreatedAt
-        type: string
-      - description: 涓婚敭ID
-        in: query
-        name: id
-        type: integer
-      - description: 鍏抽敭瀛�
-        in: query
-        name: keyword
-        type: string
-      - in: query
-        name: name
-        type: string
-      - description: 椤电爜
-        in: query
-        name: page
-        type: integer
-      - description: 姣忛〉澶у皬
-        in: query
-        name: pageSize
-        type: integer
-      - in: query
-        name: startCreatedAt
-        type: string
-      produces:
-      - application/json
-      responses:
-        "200":
-          description: '{"success":true,"data":{},"msg":"鑾峰彇鎴愬姛"}'
-          schema:
-            type: string
-      security:
-      - ApiKeyAuth: []
-      summary: 鍒嗛〉鑾峰彇Industry鍒楄〃
-      tags:
-      - Industry
-  /i/updateIndustry:
-    put:
-      consumes:
-      - application/json
-      parameters:
-      - description: 鏇存柊Industry
-        in: body
-        name: data
-        required: true
-        schema:
-          $ref: '#/definitions/test.Industry'
-      produces:
-      - application/json
-      responses:
-        "200":
-          description: '{"success":true,"data":{},"msg":"鏇存柊鎴愬姛"}'
-          schema:
-            type: string
-      security:
-      - ApiKeyAuth: []
-      summary: 鏇存柊Industry
-      tags:
-      - Industry
   /init/checkdb:
     post:
       produces:
@@ -3373,429 +4041,6 @@
       summary: 鏇存柊鑿滃崟
       tags:
       - Menu
-  /s/changeSupplierStatus:
-    post:
-      consumes:
-      - application/json
-      parameters:
-      - description: 淇敼Supplier鐘舵��
-        in: body
-        name: data
-        required: true
-        schema:
-          $ref: '#/definitions/request.SupplierStatus'
-      produces:
-      - application/json
-      responses:
-        "200":
-          description: '{"success":true,"data":{},"msg":"淇敼鎴愬姛"}'
-          schema:
-            type: string
-      security:
-      - ApiKeyAuth: []
-      summary: 淇敼Supplier鐘舵��
-      tags:
-      - Supplier
-  /s/createSupplier:
-    post:
-      consumes:
-      - application/json
-      parameters:
-      - description: 鍒涘缓Supplier
-        in: body
-        name: data
-        required: true
-        schema:
-          $ref: '#/definitions/test.Supplier'
-      produces:
-      - application/json
-      responses:
-        "200":
-          description: '{"success":true,"data":{},"msg":"鑾峰彇鎴愬姛"}'
-          schema:
-            type: string
-      security:
-      - ApiKeyAuth: []
-      summary: 鍒涘缓Supplier
-      tags:
-      - Supplier
-  /s/deleteSupplier:
-    delete:
-      consumes:
-      - application/json
-      parameters:
-      - description: 鍒犻櫎Supplier
-        in: body
-        name: data
-        required: true
-        schema:
-          $ref: '#/definitions/test.Supplier'
-      produces:
-      - application/json
-      responses:
-        "200":
-          description: '{"success":true,"data":{},"msg":"鍒犻櫎鎴愬姛"}'
-          schema:
-            type: string
-      security:
-      - ApiKeyAuth: []
-      summary: 鍒犻櫎Supplier
-      tags:
-      - Supplier
-  /s/deleteSupplierByIds:
-    delete:
-      consumes:
-      - application/json
-      parameters:
-      - description: 鎵归噺鍒犻櫎Supplier
-        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: 鎵归噺鍒犻櫎Supplier
-      tags:
-      - Supplier
-  /s/findSupplier:
-    get:
-      consumes:
-      - application/json
-      parameters:
-      - in: query
-        name: account
-        type: string
-      - in: query
-        name: accountName
-        type: string
-      - in: query
-        name: bank
-        type: string
-      - in: query
-        name: contact
-        type: string
-      - in: query
-        name: detailAddress
-        type: string
-      - in: query
-        name: email
-        type: string
-      - in: query
-        name: file
-        type: string
-      - description: 涓婚敭ID
-        in: query
-        name: id
-        type: integer
-      - in: query
-        name: industry
-        type: string
-      - in: query
-        name: name
-        type: string
-      - in: query
-        name: number
-        type: string
-      - in: query
-        name: phone
-        type: string
-      - in: query
-        name: responsiblePersonId
-        type: integer
-      - in: query
-        name: status
-        type: integer
-      - in: query
-        name: supplierType
-        type: string
-      - in: query
-        name: url
-        type: string
-      produces:
-      - application/json
-      responses:
-        "200":
-          description: '{"success":true,"data":{},"msg":"鏌ヨ鎴愬姛"}'
-          schema:
-            type: string
-      security:
-      - ApiKeyAuth: []
-      summary: 鐢╥d鏌ヨSupplier
-      tags:
-      - Supplier
-  /s/getSupplierList:
-    get:
-      consumes:
-      - application/json
-      parameters:
-      - in: query
-        name: account
-        type: string
-      - in: query
-        name: accountName
-        type: string
-      - in: query
-        name: bank
-        type: string
-      - in: query
-        name: contact
-        type: string
-      - in: query
-        name: detailAddress
-        type: string
-      - in: query
-        name: email
-        type: string
-      - in: query
-        name: endCreatedAt
-        type: string
-      - in: query
-        name: file
-        type: string
-      - description: 涓婚敭ID
-        in: query
-        name: id
-        type: integer
-      - in: query
-        name: industry
-        type: string
-      - description: 鍏抽敭瀛�
-        in: query
-        name: keyword
-        type: string
-      - in: query
-        name: name
-        type: string
-      - in: query
-        name: number
-        type: string
-      - description: 椤电爜
-        in: query
-        name: page
-        type: integer
-      - description: 姣忛〉澶у皬
-        in: query
-        name: pageSize
-        type: integer
-      - in: query
-        name: phone
-        type: string
-      - in: query
-        name: responsiblePersonId
-        type: integer
-      - in: query
-        name: startCreatedAt
-        type: string
-      - in: query
-        name: status
-        type: integer
-      - in: query
-        name: supplierType
-        type: string
-      - in: query
-        name: url
-        type: string
-      produces:
-      - application/json
-      responses:
-        "200":
-          description: '{"success":true,"data":{},"msg":"鑾峰彇鎴愬姛"}'
-          schema:
-            type: string
-      security:
-      - ApiKeyAuth: []
-      summary: 鍒嗛〉鑾峰彇Supplier鍒楄〃
-      tags:
-      - Supplier
-  /s/updateSupplier:
-    put:
-      consumes:
-      - application/json
-      parameters:
-      - description: 鏇存柊Supplier
-        in: body
-        name: data
-        required: true
-        schema:
-          $ref: '#/definitions/test.Supplier'
-      produces:
-      - application/json
-      responses:
-        "200":
-          description: '{"success":true,"data":{},"msg":"鏇存柊鎴愬姛"}'
-          schema:
-            type: string
-      security:
-      - ApiKeyAuth: []
-      summary: 鏇存柊Supplier
-      tags:
-      - Supplier
-  /st/createSupplierType:
-    post:
-      consumes:
-      - application/json
-      parameters:
-      - description: 鍒涘缓SupplierType
-        in: body
-        name: data
-        required: true
-        schema:
-          $ref: '#/definitions/test.SupplierType'
-      produces:
-      - application/json
-      responses:
-        "200":
-          description: '{"success":true,"data":{},"msg":"鑾峰彇鎴愬姛"}'
-          schema:
-            type: string
-      security:
-      - ApiKeyAuth: []
-      summary: 鍒涘缓SupplierType
-      tags:
-      - SupplierType
-  /st/deleteSupplierType:
-    delete:
-      consumes:
-      - application/json
-      parameters:
-      - description: 鍒犻櫎SupplierType
-        in: body
-        name: data
-        required: true
-        schema:
-          $ref: '#/definitions/test.SupplierType'
-      produces:
-      - application/json
-      responses:
-        "200":
-          description: '{"success":true,"data":{},"msg":"鍒犻櫎鎴愬姛"}'
-          schema:
-            type: string
-      security:
-      - ApiKeyAuth: []
-      summary: 鍒犻櫎SupplierType
-      tags:
-      - SupplierType
-  /st/deleteSupplierTypeByIds:
-    delete:
-      consumes:
-      - application/json
-      parameters:
-      - description: 鎵归噺鍒犻櫎SupplierType
-        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: 鎵归噺鍒犻櫎SupplierType
-      tags:
-      - SupplierType
-  /st/findSupplierType:
-    get:
-      consumes:
-      - application/json
-      parameters:
-      - description: 涓婚敭ID
-        in: query
-        name: id
-        type: integer
-      - in: query
-        name: name
-        type: string
-      produces:
-      - application/json
-      responses:
-        "200":
-          description: '{"success":true,"data":{},"msg":"鏌ヨ鎴愬姛"}'
-          schema:
-            type: string
-      security:
-      - ApiKeyAuth: []
-      summary: 鐢╥d鏌ヨSupplierType
-      tags:
-      - SupplierType
-  /st/getSupplierTypeList:
-    get:
-      consumes:
-      - application/json
-      parameters:
-      - in: query
-        name: endCreatedAt
-        type: string
-      - description: 涓婚敭ID
-        in: query
-        name: id
-        type: integer
-      - description: 鍏抽敭瀛�
-        in: query
-        name: keyword
-        type: string
-      - in: query
-        name: name
-        type: string
-      - description: 椤电爜
-        in: query
-        name: page
-        type: integer
-      - description: 姣忛〉澶у皬
-        in: query
-        name: pageSize
-        type: integer
-      - in: query
-        name: startCreatedAt
-        type: string
-      produces:
-      - application/json
-      responses:
-        "200":
-          description: '{"success":true,"data":{},"msg":"鑾峰彇鎴愬姛"}'
-          schema:
-            type: string
-      security:
-      - ApiKeyAuth: []
-      summary: 鍒嗛〉鑾峰彇SupplierType鍒楄〃
-      tags:
-      - SupplierType
-  /st/updateSupplierType:
-    put:
-      consumes:
-      - application/json
-      parameters:
-      - description: 鏇存柊SupplierType
-        in: body
-        name: data
-        required: true
-        schema:
-          $ref: '#/definitions/test.SupplierType'
-      produces:
-      - application/json
-      responses:
-        "200":
-          description: '{"success":true,"data":{},"msg":"鏇存柊鎴愬姛"}'
-          schema:
-            type: string
-      security:
-      - ApiKeyAuth: []
-      summary: 鏇存柊SupplierType
-      tags:
-      - SupplierType
   /sysDictionary/createSysDictionary:
     post:
       consumes:
diff --git a/initialize/gorm.go b/initialize/gorm.go
index 57d3be0..e6cfc0a 100644
--- a/initialize/gorm.go
+++ b/initialize/gorm.go
@@ -51,7 +51,7 @@
 		example.ExaFile{},
 		example.ExaCustomer{},
 		example.ExaFileChunk{},
-		example.ExaFileUploadAndDownload{}, test.Industry{}, test.SupplierType{}, test.Supplier{},
+		example.ExaFileUploadAndDownload{}, test.Industry{}, test.SupplierType{}, test.Supplier{}, test.Contract{},
 	)
 	if err != nil {
 		global.GVA_LOG.Error("register table failed", zap.Error(err))
diff --git a/initialize/router.go b/initialize/router.go
index ff9022c..1890b45 100644
--- a/initialize/router.go
+++ b/initialize/router.go
@@ -76,6 +76,7 @@
 		testRouter.InitIndustryRouter(PrivateGroup)
 		testRouter.InitSupplierTypeRouter(PrivateGroup)
 		testRouter.InitSupplierRouter(PrivateGroup)
+		testRouter.InitContractRouter(PrivateGroup)
 	}
 
 	global.GVA_LOG.Info("router register success")
diff --git a/model/test/contract.go b/model/test/contract.go
new file mode 100644
index 0000000..89c2f2b
--- /dev/null
+++ b/model/test/contract.go
@@ -0,0 +1,19 @@
+// 鑷姩鐢熸垚妯℃澘Contract
+package test
+
+import (
+	"github.com/flipped-aurora/gin-vue-admin/server/global"
+)
+
+// Contract 缁撴瀯浣�
+type Contract struct {
+	global.GVA_MODEL
+	SupplierID  *int   `json:"supplierID" form:"supplierID" gorm:"column:supplier_id;comment:渚涘簲鍟唅d;"`
+	FileName    string `json:"fileName" form:"fileName" gorm:"column:file_name;comment:鏂囦欢鍚嶇О;size:255;"`
+	FileContent []byte `json:"fileContent" form:"fileContent" gorm:"type:mediumblob;column:file_content;comment:鏂囦欢鍐呭;"`
+}
+
+// TableName Contract 琛ㄥ悕
+func (Contract) TableName() string {
+	return "contract"
+}
diff --git a/model/test/request/contract.go b/model/test/request/contract.go
new file mode 100644
index 0000000..9a1d948
--- /dev/null
+++ b/model/test/request/contract.go
@@ -0,0 +1,14 @@
+package request
+
+import (
+	"github.com/flipped-aurora/gin-vue-admin/server/model/common/request"
+	"github.com/flipped-aurora/gin-vue-admin/server/model/test"
+	"time"
+)
+
+type ContractSearch struct {
+	test.Contract
+	StartCreatedAt *time.Time `json:"startCreatedAt" form:"startCreatedAt"`
+	EndCreatedAt   *time.Time `json:"endCreatedAt" form:"endCreatedAt"`
+	request.PageInfo
+}
diff --git a/router/test/contract.go b/router/test/contract.go
new file mode 100644
index 0000000..3a7845c
--- /dev/null
+++ b/router/test/contract.go
@@ -0,0 +1,26 @@
+package test
+
+import (
+	"github.com/flipped-aurora/gin-vue-admin/server/api/v1"
+	"github.com/gin-gonic/gin"
+)
+
+type ContractRouter struct {
+}
+
+// InitContractRouter 鍒濆鍖� Contract 璺敱淇℃伅
+func (s *ContractRouter) InitContractRouter(Router *gin.RouterGroup) {
+	conRouter := Router.Group("con")
+	conRouterWithoutRecord := Router.Group("con")
+	var conApi = v1.ApiGroupApp.TestApiGroup.ContractApi
+	{
+		conRouter.POST("createContract", conApi.CreateContract)             // 鏂板缓Contract
+		conRouter.DELETE("deleteContract", conApi.DeleteContract)           // 鍒犻櫎Contract
+		conRouter.DELETE("deleteContractByIds", conApi.DeleteContractByIds) // 鎵归噺鍒犻櫎Contract
+		conRouter.PUT("updateContract", conApi.UpdateContract)              // 鏇存柊Contract
+	}
+	{
+		conRouterWithoutRecord.GET("findContract", conApi.FindContract)       // 鏍规嵁ID鑾峰彇Contract
+		conRouterWithoutRecord.GET("getContractList", conApi.GetContractList) // 鑾峰彇Contract鍒楄〃
+	}
+}
diff --git a/router/test/enter.go b/router/test/enter.go
index d39a90e..e7e1919 100644
--- a/router/test/enter.go
+++ b/router/test/enter.go
@@ -4,4 +4,5 @@
 	SupplierTypeRouter
 	IndustryRouter
 	SupplierRouter
+	ContractRouter
 }
diff --git a/service/test/contract.go b/service/test/contract.go
new file mode 100644
index 0000000..939c7eb
--- /dev/null
+++ b/service/test/contract.go
@@ -0,0 +1,67 @@
+package test
+
+import (
+	"github.com/flipped-aurora/gin-vue-admin/server/global"
+	"github.com/flipped-aurora/gin-vue-admin/server/model/common/request"
+	"github.com/flipped-aurora/gin-vue-admin/server/model/test"
+	testReq "github.com/flipped-aurora/gin-vue-admin/server/model/test/request"
+)
+
+type ContractService struct {
+}
+
+// CreateContract 鍒涘缓Contract璁板綍
+// Author [piexlmax](https://github.com/piexlmax)
+func (conService *ContractService) CreateContract(con *test.Contract) (err error, uid uint) {
+	err = global.GVA_DB.Create(&con).Error
+	return err, con.ID
+}
+
+// DeleteContract 鍒犻櫎Contract璁板綍
+// Author [piexlmax](https://github.com/piexlmax)
+func (conService *ContractService) DeleteContract(con test.Contract) (err error) {
+	err = global.GVA_DB.Delete(&con).Error
+	return err
+}
+
+// DeleteContractByIds 鎵归噺鍒犻櫎Contract璁板綍
+// Author [piexlmax](https://github.com/piexlmax)
+func (conService *ContractService) DeleteContractByIds(ids request.IdsReq) (err error) {
+	err = global.GVA_DB.Delete(&[]test.Contract{}, "id in ?", ids.Ids).Error
+	return err
+}
+
+// UpdateContract 鏇存柊Contract璁板綍
+// Author [piexlmax](https://github.com/piexlmax)
+func (conService *ContractService) UpdateContract(con test.Contract) (err error) {
+	err = global.GVA_DB.Save(&con).Error
+	return err
+}
+
+// GetContract 鏍规嵁id鑾峰彇Contract璁板綍
+// Author [piexlmax](https://github.com/piexlmax)
+func (conService *ContractService) GetContract(id uint) (con test.Contract, err error) {
+	err = global.GVA_DB.Where("id = ?", id).First(&con).Error
+	return
+}
+
+// GetContractInfoList 鍒嗛〉鑾峰彇Contract璁板綍
+// Author [piexlmax](https://github.com/piexlmax)
+func (conService *ContractService) GetContractInfoList(info testReq.ContractSearch) (list []test.Contract, total int64, err error) {
+	limit := info.PageSize
+	offset := info.PageSize * (info.Page - 1)
+	// 鍒涘缓db
+	db := global.GVA_DB.Model(&test.Contract{})
+	var cons []test.Contract
+	// 濡傛灉鏈夋潯浠舵悳绱� 涓嬫柟浼氳嚜鍔ㄥ垱寤烘悳绱㈣鍙�
+	if info.StartCreatedAt != nil && info.EndCreatedAt != nil {
+		db = db.Where("created_at BETWEEN ? AND ?", info.StartCreatedAt, info.EndCreatedAt)
+	}
+	err = db.Count(&total).Error
+	if err != nil {
+		return
+	}
+
+	err = db.Limit(limit).Offset(offset).Find(&cons).Error
+	return cons, total, err
+}
diff --git a/service/test/enter.go b/service/test/enter.go
index e87c320..75a514f 100644
--- a/service/test/enter.go
+++ b/service/test/enter.go
@@ -4,4 +4,5 @@
 	SupplierTypeService
 	IndustryService
 	SupplierService
+	ContractService
 }

--
Gitblit v1.8.0