diff --git a/dsDataexV1.1/Config/Config.ini b/dsDataexV1.1/Config/Config.ini
index dd672246..50f4ae2b 100644
--- a/dsDataexV1.1/Config/Config.ini
+++ b/dsDataexV1.1/Config/Config.ini
@@ -12,7 +12,7 @@ db = 1
expireTime = 86400
enable = 0
-[maria]
+[maria_ypt]
ip = 10.10.14.199
port = 22066
database = dsideal_db
@@ -20,6 +20,14 @@ user = root
pwd = DsideaL147258369
enable = 0
+[maria_xpt]
+ip = 10.10.14.175
+port = 22066
+database = platform_base
+user = root
+pwd = DsideaL147258369
+enable = 0
+
;ip = 10.10.14.187
;port = 18890
;db = 0
diff --git a/dsDataexV1.1/Html/hyper_test.html b/dsDataexV1.1/Html/hyper_test.html
new file mode 100644
index 00000000..77c38c5d
--- /dev/null
+++ b/dsDataexV1.1/Html/hyper_test.html
@@ -0,0 +1,928 @@
+
+
+
+ My Page
+
+
+
+
+
+
+
+
+
+
+
+
+
基础数据超融合
+
+
+
+
+
+
Hello world
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dsDataexV1.1/MyHyper/DataHyper/DatahyperController/DatahyperController.go b/dsDataexV1.1/MyHyper/DataHyper/DatahyperController/DatahyperController.go
index 4e343fd2..bda96270 100644
--- a/dsDataexV1.1/MyHyper/DataHyper/DatahyperController/DatahyperController.go
+++ b/dsDataexV1.1/MyHyper/DataHyper/DatahyperController/DatahyperController.go
@@ -7,16 +7,16 @@ import (
//Gin 路由配置
func Routers(r *gin.RouterGroup) {
- rr := r.Group("/hyper")
+ rr := r.Group("/hyper_:platform")
+ {
+ rr.POST("/Query", DatahyperOpenapi.Query)
+ rr.POST("/QueryByID", DatahyperOpenapi.QueryByID)
+ rr.POST("/QueryFE", DatahyperOpenapi.QueryFE)
+ rr.OPTIONS("/QueryFE", HandleOptions)
+ rr.POST("/QueryFEByID", DatahyperOpenapi.QueryFEByID)
+ rr.OPTIONS("/QueryFEByID", HandleOptions)
+ }
- rr.POST("/Query", DatahyperOpenapi.Query)
- rr.OPTIONS("/Query", HandleOptions)
- rr.POST("/QueryByID", DatahyperOpenapi.QueryByID)
- //rr.OPTIONS("/QueryByID", HandleOptions)
- rr.POST("/QueryFE", DatahyperOpenapi.QueryFE)
- rr.OPTIONS("/QueryFE", HandleOptions)
- rr.POST("/QueryFEByID", DatahyperOpenapi.QueryFEByID)
- rr.OPTIONS("/QueryFEByID", HandleOptions)
}
diff --git a/dsDataexV1.1/MyHyper/DataHyper/DatahyperDAO/DatahyperDAO.go b/dsDataexV1.1/MyHyper/DataHyper/DatahyperDAO/DatahyperDAO.go
index 2cef8dc6..06ac957c 100644
--- a/dsDataexV1.1/MyHyper/DataHyper/DatahyperDAO/DatahyperDAO.go
+++ b/dsDataexV1.1/MyHyper/DataHyper/DatahyperDAO/DatahyperDAO.go
@@ -6,15 +6,22 @@ import (
"dsDataex/Utils/MariaDbUtil"
"encoding/json"
"fmt"
+ "github.com/xormplus/xorm"
+ "strconv"
)
// 基础数据库
var baseDb = DbUtil.Engine
// Maria数据库
-var mariaDb = MariaDbUtil.Engine
+var mariaYPTDb = MariaDbUtil.EngineYPT
+var mariaXPTDb = MariaDbUtil.EngineXPT
-func GetQuerySQL(queryID string) (bool, string, string, error) {
- sql := "SELECT * FROM t_report_sqlquery WHERE query_code='" + queryID + "'"
+func GetQuerySQL(platform string, queryID string) (bool, string, string, error) {
+ var platforms map[string]int
+ platforms = map[string]int{"ypt": 3, "xpt": 4}
+ queryType := platforms[platform]
+
+ sql := "SELECT * FROM t_report_sqlquery_old WHERE query_type='" + strconv.Itoa(queryType) + "' AND query_code='" + queryID + "'"
var sqlQuery models.TReportSqlquery
has, _ := baseDb.SQL(sql).Get(&sqlQuery)
@@ -30,32 +37,62 @@ func GetQuerySQL(queryID string) (bool, string, string, error) {
}
}
-func GetRow(sql string, dataID string) (bool, string, map[string]interface{}, error) {
+func SelectDB(db string) *xorm.Engine {
+ var engin *xorm.Engine
+ switch db {
+ case "ypt":
+ engin = mariaYPTDb
+ break
+ case "xpt":
+ engin = mariaXPTDb
+ break
+ default:
+ engin = mariaYPTDb
+ }
+
+ return engin
+}
+
+func GetRow(db string, sql string, dataID string) (bool, string, map[string]interface{}, error) {
+ mariaDb := SelectDB(db)
result, err := mariaDb.SQL(sql, dataID).Query().List()
//result = result[4 : len(result) - 2]
- if err == nil {
+ if result != nil {
return true, "数据查询成功", result[0], nil
} else {
- return false, "数据查询失败", nil, err
+ if err == nil {
+ return false, "数据获取失败,数据不存在", nil, nil
+ } else {
+ return false, err.Error(), nil, nil
+ }
}
}
-func GetResults(sql string, limit int, offset int) (bool, string, int, []map[string]interface{}, error) {
+func GetResults(db string, sql string, params []interface{}, limit int, offset int) (bool, string, int, []map[string]interface{}, error) {
+ mariaDb := SelectDB(db)
+
//条件查询语句
conditionSql := fmt.Sprintf("%s", " limit ? offset ? ")
//分页的语句
pageSql := fmt.Sprintf("%s %s", sql, conditionSql)
//数据条数
- count, _ := mariaDb.SQL(sql).Query().Count()
+ count, err := mariaDb.SQL(sql, params...).Query().Count()
if count > 0 {
+ params = append(params, limit)
+ params = append(params, offset)
+
//分页数据
- list, err := mariaDb.SQL(pageSql, limit, offset).Query().List()
+ list, err := mariaDb.SQL(pageSql, params...).Query().List()
if err == nil {
return true, "数据获取成功", count, list, nil
} else {
return false, "数据获取失败,数据不存在", count, nil, nil
}
} else {
- return false, "数据获取失败,数据不存在", count, nil, nil
+ if err == nil {
+ return false, "数据获取失败,数据不存在", count, nil, nil
+ } else {
+ return false, err.Error(), count, nil, nil
+ }
}
}
diff --git a/dsDataexV1.1/MyHyper/DataHyper/DatahyperOpenapi/DatahyperOpenapi.go b/dsDataexV1.1/MyHyper/DataHyper/DatahyperOpenapi/DatahyperOpenapi.go
index eccaa740..6c9f967c 100644
--- a/dsDataexV1.1/MyHyper/DataHyper/DatahyperOpenapi/DatahyperOpenapi.go
+++ b/dsDataexV1.1/MyHyper/DataHyper/DatahyperOpenapi/DatahyperOpenapi.go
@@ -3,11 +3,15 @@ package DatahyperOpenapi
import (
"dsDataex/MyHyper/DataHyper/DatahyperService"
"dsDataex/MyHyper/MySwagger"
+ "dsDataex/Utils/CommonUtil"
"github.com/gin-gonic/gin"
"net/http"
"strings"
)
+// 接入系统
+var platforms = []string{"xpt", "ypt"}
+
// @Summary 超融合数据查询(后台)
// @Description 【超融合服务】超融合数据查询接口,使用自定义的查询,返回查询结果数据。
// @Tags hyper
@@ -16,9 +20,10 @@ import (
// @Param input body MySwagger.DatahyperQuery true "查询参数"
// @Success 200 {object} MySwagger.DatahyperGetResult
// @Failure 400 {object} MySwagger.DatahyperGetResult
-// @Router /dataex/hyper/Query [post]
+// @Router /dataex/hyper_ypt/Query [post]
func Query(c *gin.Context) {
var input MySwagger.DatahyperQuery
+ platform := c.Param("platform")
if err := c.ShouldBindJSON(&input); err != nil {
c.JSON(http.StatusOK, MySwagger.DatahyperGetResult{Success: false, Message: "查询数据JSON格式错误"})
@@ -52,8 +57,13 @@ func Query(c *gin.Context) {
// //return
//}
+ // 接入系统URL后缀校验
+ if ! CommonUtil.StringArrayContain(platforms, platform) {
+ c.JSON(http.StatusOK, MySwagger.DatahyperGetResult{Success: false, Message: "接入系统请求URL后缀错误"})
+ return
+ }
- res, msg, count, data, _ := DatahyperService.GetResults(input)
+ res, msg, count, data, _ := DatahyperService.GetResults(platform, input)
if res {
c.JSON(http.StatusOK, MySwagger.DatahyperGetResult{
Success: true,
@@ -78,9 +88,10 @@ func Query(c *gin.Context) {
// @Param input body MySwagger.DatahyperQueryByID true "查询参数"
// @Success 200 {object} MySwagger.DatahyperGet
// @Failure 400 {object} MySwagger.DatahyperGet
-// @Router /dataex/hyper/QueryByID [post]
+// @Router /dataex/hyper_ypt/QueryByID [post]
func QueryByID(c *gin.Context) {
var input MySwagger.DatahyperQueryByID
+ platform := c.Param("platform")
if err := c.ShouldBindJSON(&input); err != nil {
c.JSON(http.StatusOK, MySwagger.DatahyperGetResult{Success: false, Message: "查询数据JSON格式错误"})
@@ -114,7 +125,13 @@ func QueryByID(c *gin.Context) {
// //return
//}
- res, msg, data, _ := DatahyperService.GetRow(input)
+ // 接入系统URL后缀校验
+ if ! CommonUtil.StringArrayContain(platforms, platform) {
+ c.JSON(http.StatusOK, MySwagger.DatahyperGetResult{Success: false, Message: "接入系统请求URL后缀错误"})
+ return
+ }
+
+ res, msg, data, _ := DatahyperService.GetRow(platform, input)
if res {
c.JSON(http.StatusOK, MySwagger.DatahyperGet{
Success: true,
@@ -137,9 +154,10 @@ func QueryByID(c *gin.Context) {
// @Param input body MySwagger.DatahyperQueryFE true "查询参数"
// @Success 200 {object} MySwagger.DatahyperGetResult
// @Failure 400 {object} MySwagger.DatahyperGetResult
-// @Router /dataex/hyper/QueryFE [post]
+// @Router /dataex/hyper_ypt/QueryFE [post]
func QueryFE(c *gin.Context) {
var input MySwagger.DatahyperQueryFE
+ platform := c.Param("platform")
if err := c.ShouldBindJSON(&input); err != nil {
c.JSON(http.StatusOK, MySwagger.DatahyperGetResult{Success: false, Message: "查询数据JSON格式错误"})
@@ -173,8 +191,13 @@ func QueryFE(c *gin.Context) {
// //return
//}
+ // 接入系统URL后缀校验
+ if ! CommonUtil.StringArrayContain(platforms, platform) {
+ c.JSON(http.StatusOK, MySwagger.DatahyperGetResult{Success: false, Message: "接入系统请求URL后缀错误"})
+ return
+ }
- res, msg, count, data, _ := DatahyperService.GetResultsFE(input)
+ res, msg, count, data, _ := DatahyperService.GetResultsFE(platform, input)
if res {
c.JSON(http.StatusOK, MySwagger.DatahyperGetResult{
Success: true,
@@ -199,9 +222,10 @@ func QueryFE(c *gin.Context) {
// @Param input body MySwagger.DatahyperQueryFEByID true "查询参数"
// @Success 200 {object} MySwagger.DatahyperGet
// @Failure 400 {object} MySwagger.DatahyperGet
-// @Router /dataex/hyper/QueryFEByID [post]
+// @Router /dataex/hyper_ypt/QueryFEByID [post]
func QueryFEByID(c *gin.Context) {
var input MySwagger.DatahyperQueryFEByID
+ platform := c.Param("platform")
if err := c.ShouldBindJSON(&input); err != nil {
c.JSON(http.StatusOK, MySwagger.DatahyperGetResult{Success: false, Message: "查询数据JSON格式错误"})
@@ -235,7 +259,12 @@ func QueryFEByID(c *gin.Context) {
// //return
//}
- res, msg, data, _ := DatahyperService.GetRowFE(input)
+ // 接入系统URL后缀校验
+ if ! CommonUtil.StringArrayContain(platforms, platform) {
+ c.JSON(http.StatusOK, MySwagger.DatahyperGetResult{Success: false, Message: "接入系统请求URL后缀错误"})
+ return
+ }
+ res, msg, data, _ := DatahyperService.GetRowFE(platform, input)
if res {
c.JSON(http.StatusOK, MySwagger.DatahyperGet{
Success: true,
diff --git a/dsDataexV1.1/MyHyper/DataHyper/DatahyperService/DatahyperService.go b/dsDataexV1.1/MyHyper/DataHyper/DatahyperService/DatahyperService.go
index 9e318632..99a052a3 100644
--- a/dsDataexV1.1/MyHyper/DataHyper/DatahyperService/DatahyperService.go
+++ b/dsDataexV1.1/MyHyper/DataHyper/DatahyperService/DatahyperService.go
@@ -4,29 +4,67 @@ import (
"dsDataex/MyHyper/DataHyper/DatahyperDAO"
"dsDataex/MyHyper/MySwagger"
"dsDataex/Utils/CommonUtil"
+ "regexp"
+ //"strconv"
"strings"
)
-func GetResults(raw MySwagger.DatahyperQuery) (bool, string, int, []map[string]interface{}, error) {
+func GetResults(platform string, raw MySwagger.DatahyperQuery) (bool, string, int, []map[string]interface{}, error) {
queryID := raw.QueryID
- res, msg, sql, _ := DatahyperDAO.GetQuerySQL(queryID)
+ var params []interface{}
+
+ res, msg, sql, _ := DatahyperDAO.GetQuerySQL(platform, queryID)
if res {
- if len(raw.QueryCondition) > 0 {
- condition := strings.Join(raw.QueryCondition, " AND ")
- sql += " WHERE " + condition
+ //reg := regexp.MustCompile(`(WHERE|where)`)
+ //if !reg.MatchString(sql) {
+ // sql += " WHERE "
+ //}
+
+ for no := 0; no < len(raw.QueryCondition); no++ {
+ params = append(params, raw.QueryCondition[no])
}
- if raw.QueryCombination != "" && len(raw.QueryCondition) > 0 {
- sql += " AND " + raw.QueryCombination
+ /*
+ if len(raw.QueryCondition) > 0 {
+ if find := strings.Contains(sql, "?"); find {
+ for _, v := range raw.QueryCondition {
+ var new string
+ switch v.(type) {
+ case int, int32, int64:
+ new = strconv.Itoa(int(v.(int64)))
+ break
+ case float64:
+ new = strconv.FormatFloat(v.(float64), 'f', -1, 64)
+ break
+ default:
+ new = v.(string)
+ }
+ sql = strings.Replace(sql, `?`, `'` + new + `'`, 1 )
+ }
+ }
}
- if raw.QueryCombination != "" && len(raw.QueryCondition) == 0 {
- sql += " WHERE " + raw.QueryCombination
+ */
+
+ if raw.QueryCombination != "" {
+ if find := strings.Contains(strings.ToUpper(sql), "WHERE"); find {
+ sql += " AND " + raw.QueryCombination
+ } else {
+ sql += " WHERE " + raw.QueryCombination
+ }
}
if len(raw.QueryOrder) > 0 {
- orderby := strings.Join(raw.QueryOrder, ", ")
- sql += " ORDER BY " + orderby
+ orderBy := strings.Join(raw.QueryOrder, ", ")
+
+ reg2 := regexp.MustCompile(`(ORDER|order)`)
+ prefix := ""
+ if !reg2.MatchString(sql) {
+ prefix = " ORDER BY "
+ } else {
+ prefix = ", "
+ }
+ sql += prefix + orderBy
}
//接收传入参数
@@ -35,7 +73,7 @@ func GetResults(raw MySwagger.DatahyperQuery) (bool, string, int, []map[string]i
switch raw.QueryFormat {
case "json":
- res1, msg1, count, data, _ := DatahyperDAO.GetResults(sql, limit, offset)
+ res1, msg1, count, data, _ := DatahyperDAO.GetResults(platform, sql, params, limit, offset)
if res1 {
if len(raw.QueryCols) > 0 {
for k, v := range data {
@@ -45,6 +83,7 @@ func GetResults(raw MySwagger.DatahyperQuery) (bool, string, int, []map[string]i
}
}
}
+
}
return res1, msg1, count, data, nil
} else {
@@ -60,13 +99,13 @@ func GetResults(raw MySwagger.DatahyperQuery) (bool, string, int, []map[string]i
}
}
-func GetRow(raw MySwagger.DatahyperQueryByID) (bool, string, map[string]interface{}, error) {
+func GetRow(platform string, raw MySwagger.DatahyperQueryByID) (bool, string, map[string]interface{}, error) {
queryID := raw.QueryID
- res, msg, sql, _ := DatahyperDAO.GetQuerySQL(queryID)
+ res, msg, sql, _ := DatahyperDAO.GetQuerySQL(platform, queryID)
if res {
switch raw.QueryFormat {
case "json":
- res1, msg1, data, _ := DatahyperDAO.GetRow(sql, raw.DataID)
+ res1, msg1, data, _ := DatahyperDAO.GetRow(platform, sql, raw.DataID)
if res1 {
if len(raw.QueryCols) > 0 {
for kk, _ := range data {
@@ -89,21 +128,47 @@ func GetRow(raw MySwagger.DatahyperQueryByID) (bool, string, map[string]interfac
}
}
-func GetResultsFE(raw MySwagger.DatahyperQueryFE) (bool, string, int, []map[string]interface{}, error) {
+func GetResultsFE(platform string, raw MySwagger.DatahyperQueryFE) (bool, string, int, []map[string]interface{}, error) {
queryID := raw.QueryID
- res, msg, sql, _ := DatahyperDAO.GetQuerySQL(queryID)
+ var params []interface{}
+
+ res, msg, sql, _ := DatahyperDAO.GetQuerySQL(platform, queryID)
if res {
+ //reg := regexp.MustCompile(`(WHERE|where)`)
+ //if !reg.MatchString(sql) {
+ // sql += " WHERE " + sql
+ //}
+
+ for no := 0; no < len(raw.QueryCondition); no++ {
+ params = append(params, raw.QueryCondition[no])
+ }
+ /*
if len(raw.QueryCondition) > 0 {
- condition := strings.Join(raw.QueryCondition, " AND ")
- sql += " WHERE " + condition
+ if find := strings.Contains(sql, "?"); find {
+ for _, v := range raw.QueryCondition {
+ var new string
+ switch v.(type) {
+ case int, int32, int64:
+ new = strconv.Itoa(int(v.(int64)))
+ case float64:
+ new = strconv.FormatFloat(v.(float64), 'f', -1, 64)
+ default:
+ new = v.(string)
+ }
+ sql = strings.Replace(sql, `?`, `'` + new + `'`, 1 )
+ }
+ }
+ //condition := strings.Join(raw.QueryCondition, " AND ")
}
- if raw.QueryCombination != "" && len(raw.QueryCondition) > 0 {
- sql += " AND " + raw.QueryCombination
- }
+ */
- if raw.QueryCombination != "" && len(raw.QueryCondition) == 0 {
- sql += " WHERE " + raw.QueryCombination
+ if raw.QueryCombination != "" {
+ if find := strings.Contains(strings.ToUpper(sql), "WHERE"); find {
+ sql += " AND " + raw.QueryCombination
+ } else {
+ sql += " WHERE " + raw.QueryCombination
+ }
}
if len(raw.QueryOrder) > 0 {
@@ -117,7 +182,7 @@ func GetResultsFE(raw MySwagger.DatahyperQueryFE) (bool, string, int, []map[stri
switch raw.QueryFormat {
case "json":
- res1, msg1, count, data, _ := DatahyperDAO.GetResults(sql, limit, offset)
+ res1, msg1, count, data, _ := DatahyperDAO.GetResults(platform, sql, params, limit, offset)
if res1 {
if len(raw.QueryCols) > 0 {
for k, v := range data {
@@ -142,13 +207,13 @@ func GetResultsFE(raw MySwagger.DatahyperQueryFE) (bool, string, int, []map[stri
}
}
-func GetRowFE(raw MySwagger.DatahyperQueryFEByID) (bool, string, map[string]interface{}, error) {
+func GetRowFE(platform string, raw MySwagger.DatahyperQueryFEByID) (bool, string, map[string]interface{}, error) {
queryID := raw.QueryID
- res, msg, sql, _ := DatahyperDAO.GetQuerySQL(queryID)
+ res, msg, sql, _ := DatahyperDAO.GetQuerySQL(platform, queryID)
if res {
switch raw.QueryFormat {
case "json":
- res1, msg1, data, _ := DatahyperDAO.GetRow(sql, raw.DataID)
+ res1, msg1, data, _ := DatahyperDAO.GetRow(platform, sql, raw.DataID)
if res1 {
if len(raw.QueryCols) > 0 {
for kk, _ := range data { //map[string]interface{}
diff --git a/dsDataexV1.1/MyHyper/MySwagger/DatahyperQuery.go b/dsDataexV1.1/MyHyper/MySwagger/DatahyperQuery.go
index c7fbb1a7..e01042a5 100644
--- a/dsDataexV1.1/MyHyper/MySwagger/DatahyperQuery.go
+++ b/dsDataexV1.1/MyHyper/MySwagger/DatahyperQuery.go
@@ -7,7 +7,7 @@ type DatahyperQuery struct {
// 查询ID
QueryID string `json:"query_id" example:"test002"`
// 条件查询
- QueryCondition []string `json:"query_conditions" example:"subject_code='22',subject_name='aa'"`
+ QueryCondition []interface{} `json:"query_conditions" swaggertype:"array,string" example:"22,33"`
// 组合条件查询
QueryCombination string `json:"query_combinations" example:"subject_code='22' AND a='1' AND b='2'"`
// 每页数量
diff --git a/dsDataexV1.1/MyHyper/MySwagger/DatahyperQueryFE.go b/dsDataexV1.1/MyHyper/MySwagger/DatahyperQueryFE.go
index 1d157d7f..d1cec4bb 100644
--- a/dsDataexV1.1/MyHyper/MySwagger/DatahyperQueryFE.go
+++ b/dsDataexV1.1/MyHyper/MySwagger/DatahyperQueryFE.go
@@ -7,7 +7,7 @@ type DatahyperQueryFE struct {
// 查询ID
QueryID string `json:"query_id" example:"test002"`
// 条件查询
- QueryCondition []string `json:"query_conditions" example:"subject_code='22',subject_name='aa'"`
+ QueryCondition []interface{} `json:"query_conditions" swaggertype:"array,string" example:"22,33"`
// 组合条件查询
QueryCombination string `json:"query_combinations" example:"subject_code='22' AND a='1' AND b='2'"`
// 每页数量
diff --git a/dsDataexV1.1/Utils/ConfigUtil/ConfigUtil.go b/dsDataexV1.1/Utils/ConfigUtil/ConfigUtil.go
index 44842f6e..9f792613 100644
--- a/dsDataexV1.1/Utils/ConfigUtil/ConfigUtil.go
+++ b/dsDataexV1.1/Utils/ConfigUtil/ConfigUtil.go
@@ -15,12 +15,19 @@ var (
MysqlPwd string
MysqlDataBase string
- // maria数据库服务器配置
- MariaIp string
- MariaPort string
- MariaUser string
- MariaPwd string
- MariaDataBase string
+ // 云平台maria数据库服务器配置
+ MariaYPTIp string
+ MariaYPTPort string
+ MariaYPTUser string
+ MariaYPTPwd string
+ MariaYPTDataBase string
+
+ // 新平台maria数据库服务器配置
+ MariaXPTIp string
+ MariaXPTPort string
+ MariaXPTUser string
+ MariaXPTPwd string
+ MariaXPTDataBase string
// GreenPlum数据库服务器配置
GreenPlumIp string
@@ -127,16 +134,27 @@ func init() {
//密码
MysqlPwd = iniParser.GetString("mysql", "pwd")
- //maria主机
- MariaIp = iniParser.GetString("maria", "ip")
- //端口
- MariaPort = iniParser.GetString("maria", "port")
- //数据库名称
- MariaDataBase = iniParser.GetString("maria", "database")
- //用户
- MariaUser = iniParser.GetString("maria", "user")
- //密码
- MariaPwd = iniParser.GetString("maria", "pwd")
+ // 云平台maria主机
+ MariaYPTIp = iniParser.GetString("maria_ypt", "ip")
+ // 端口
+ MariaYPTPort = iniParser.GetString("maria_ypt", "port")
+ // 数据库名称
+ MariaYPTDataBase = iniParser.GetString("maria_ypt", "database")
+ // 用户
+ MariaYPTUser = iniParser.GetString("maria_ypt", "user")
+ // 密码
+ MariaYPTPwd = iniParser.GetString("maria_ypt", "pwd")
+
+ // 新平台maria主机
+ MariaXPTIp = iniParser.GetString("maria_xpt", "ip")
+ // 端口
+ MariaXPTPort = iniParser.GetString("maria_xpt", "port")
+ // 数据库名称
+ MariaXPTDataBase = iniParser.GetString("maria_xpt", "database")
+ // 用户
+ MariaXPTUser = iniParser.GetString("maria_xpt", "user")
+ // 密码
+ MariaXPTPwd = iniParser.GetString("maria_xpt", "pwd")
//主机
GreenPlumIp = iniParser.GetString("greenplum", "ip")
diff --git a/dsDataexV1.1/Utils/MariaDbUtil/MariaDbUtil.go b/dsDataexV1.1/Utils/MariaDbUtil/MariaDbUtil.go
index 5aa0104b..19b7eaae 100644
--- a/dsDataexV1.1/Utils/MariaDbUtil/MariaDbUtil.go
+++ b/dsDataexV1.1/Utils/MariaDbUtil/MariaDbUtil.go
@@ -12,28 +12,28 @@ import (
"time"
)
-var Engine *xorm.Engine
+var EngineYPT, EngineXPT *xorm.Engine
func init() {
- host := ConfigUtil.MariaIp
- port := ConfigUtil.MariaPort
- user := ConfigUtil.MariaUser
- dbname := ConfigUtil.MariaDataBase
- password := ConfigUtil.MariaPwd
+ host := ConfigUtil.MariaYPTIp
+ port := ConfigUtil.MariaYPTPort
+ user := ConfigUtil.MariaYPTUser
+ dbname := ConfigUtil.MariaYPTDataBase
+ password := ConfigUtil.MariaYPTPwd
//mysql
master := fmt.Sprintf("%s:%s@%s(%s:%s)/%s?charset=utf8", user, password, "tcp", host, port, dbname)
var err error
- Engine, err = xorm.NewEngine("mysql", master)
+ EngineYPT, err = xorm.NewEngine("mysql", master)
if err != nil {
fmt.Println(err)
}
//设置数据库连接池
- Engine.SetMaxOpenConns(100) //设置打开数据库的最大连接数,包含正在使用的连接和连接池的连接。
- Engine.SetMaxIdleConns(10) //设置连接池中的保持连接的最大连接数。
- Engine.SetConnMaxLifetime(time.Second * 5)
+ EngineYPT.SetMaxOpenConns(100) //设置打开数据库的最大连接数,包含正在使用的连接和连接池的连接。
+ EngineYPT.SetMaxIdleConns(10) //设置连接池中的保持连接的最大连接数。
+ EngineYPT.SetConnMaxLifetime(time.Second * 5)
//调用第一次
- err = Engine.Ping()
+ err = EngineYPT.Ping()
if err != nil {
fmt.Println("Maria Err :", err.Error())
}
@@ -55,14 +55,67 @@ func init() {
//设置数据时区
var location *time.Location
location, err = time.LoadLocation("Asia/Shanghai")
- Engine.TZLocation = location
+ EngineYPT.TZLocation = location
//与 struct的映射方式,这里采用蛇型方法,默认是蛇形
- Engine.SetTableMapper(core.SnakeMapper{})
+ EngineYPT.SetTableMapper(core.SnakeMapper{})
//显示+记录SQL日志
f, _ := os.Create("./Logs/sql.log")
- Engine.SetLogger(log.NewSimpleLogger(f))
+ EngineYPT.SetLogger(log.NewSimpleLogger(f))
- Engine.ShowSQL(true) // 则会在控制台打印出生成的SQL语句
- Engine.Logger().SetLevel(log.LOG_DEBUG) //则会在控制台打印info及以上的信息
+ EngineYPT.ShowSQL(true) // 则会在控制台打印出生成的SQL语句
+ EngineYPT.Logger().SetLevel(log.LOG_DEBUG) //则会在控制台打印info及以上的信息
+}
+
+func init() {
+ host := ConfigUtil.MariaXPTIp
+ port := ConfigUtil.MariaXPTPort
+ user := ConfigUtil.MariaXPTUser
+ dbname := ConfigUtil.MariaXPTDataBase
+ password := ConfigUtil.MariaXPTPwd
+ //mysql
+ master := fmt.Sprintf("%s:%s@%s(%s:%s)/%s?charset=utf8", user, password, "tcp", host, port, dbname)
+ var err error
+ EngineXPT, err = xorm.NewEngine("mysql", master)
+ if err != nil {
+ fmt.Println(err)
+ }
+ //设置数据库连接池
+ EngineXPT.SetMaxOpenConns(100) //设置打开数据库的最大连接数,包含正在使用的连接和连接池的连接。
+ EngineXPT.SetMaxIdleConns(10) //设置连接池中的保持连接的最大连接数。
+ EngineXPT.SetConnMaxLifetime(time.Second * 5)
+
+ //调用第一次
+ err = EngineXPT.Ping()
+ if err != nil {
+ fmt.Println("Maria Err :", err.Error())
+ }
+
+ //这段代码是黄海后加上的 2020-04-16
+ //通过定时ping保持鲜活
+ go func() {
+ for{
+ //https://studygolang.com/articles/12617
+ time.Sleep(time.Duration(60)*time.Second)
+ if err != nil {
+ fmt.Println("\n[xorm] [error] " + CommonUtil.GetCurrentTime() + err.Error())
+ } else {
+ fmt.Println("\n[xorm] [info] "+CommonUtil.GetCurrentTime()+" PING DATABASE Maria")
+ }
+ }
+ }()
+
+ //设置数据时区
+ var location *time.Location
+ location, err = time.LoadLocation("Asia/Shanghai")
+ EngineXPT.TZLocation = location
+ //与 struct的映射方式,这里采用蛇型方法,默认是蛇形
+ EngineXPT.SetTableMapper(core.SnakeMapper{})
+
+ //显示+记录SQL日志
+ f, _ := os.Create("./Logs/sql.log")
+ EngineXPT.SetLogger(log.NewSimpleLogger(f))
+
+ EngineXPT.ShowSQL(true) // 则会在控制台打印出生成的SQL语句
+ EngineXPT.Logger().SetLevel(log.LOG_DEBUG) //则会在控制台打印info及以上的信息
}
diff --git a/dsDataexV1.1/docs/docs.go b/dsDataexV1.1/docs/docs.go
index 0aab3c4f..4e74e98b 100644
--- a/dsDataexV1.1/docs/docs.go
+++ b/dsDataexV1.1/docs/docs.go
@@ -273,7 +273,7 @@ var doc = `{
}
}
},
- "/dataex/hyper/Query": {
+ "/dataex/hyper_ypt/Query": {
"post": {
"description": "【超融合服务】超融合数据查询接口,使用自定义的查询,返回查询结果数据。",
"consumes": [
@@ -313,7 +313,7 @@ var doc = `{
}
}
},
- "/dataex/hyper/QueryByID": {
+ "/dataex/hyper_ypt/QueryByID": {
"post": {
"description": "【超融合服务】超融合数据详情查询接口,使用自定义的查询,返回查询详情数据。",
"consumes": [
@@ -353,7 +353,7 @@ var doc = `{
}
}
},
- "/dataex/hyper/QueryFE": {
+ "/dataex/hyper_ypt/QueryFE": {
"post": {
"description": "【超融合服务】超融合数据查询接口,使用自定义的查询,返回查询结果数据。",
"consumes": [
@@ -393,7 +393,7 @@ var doc = `{
}
}
},
- "/dataex/hyper/QueryFEByID": {
+ "/dataex/hyper_ypt/QueryFEByID": {
"post": {
"description": "【超融合服务】超融合数据详情查询接口,使用自定义的查询,返回查询详情数据。",
"consumes": [
@@ -914,8 +914,8 @@ var doc = `{
"type": "string"
},
"example": [
- "subject_code='22'",
- "subject_name='aa'"
+ "22",
+ "33"
]
},
"query_format": {
@@ -1020,8 +1020,8 @@ var doc = `{
"type": "string"
},
"example": [
- "subject_code='22'",
- "subject_name='aa'"
+ "22",
+ "33"
]
},
"query_format": {
diff --git a/dsDataexV1.1/docs/swagger.json b/dsDataexV1.1/docs/swagger.json
index d04cc273..81925fd7 100644
--- a/dsDataexV1.1/docs/swagger.json
+++ b/dsDataexV1.1/docs/swagger.json
@@ -258,7 +258,7 @@
}
}
},
- "/dataex/hyper/Query": {
+ "/dataex/hyper_ypt/Query": {
"post": {
"description": "【超融合服务】超融合数据查询接口,使用自定义的查询,返回查询结果数据。",
"consumes": [
@@ -298,7 +298,7 @@
}
}
},
- "/dataex/hyper/QueryByID": {
+ "/dataex/hyper_ypt/QueryByID": {
"post": {
"description": "【超融合服务】超融合数据详情查询接口,使用自定义的查询,返回查询详情数据。",
"consumes": [
@@ -338,7 +338,7 @@
}
}
},
- "/dataex/hyper/QueryFE": {
+ "/dataex/hyper_ypt/QueryFE": {
"post": {
"description": "【超融合服务】超融合数据查询接口,使用自定义的查询,返回查询结果数据。",
"consumes": [
@@ -378,7 +378,7 @@
}
}
},
- "/dataex/hyper/QueryFEByID": {
+ "/dataex/hyper_ypt/QueryFEByID": {
"post": {
"description": "【超融合服务】超融合数据详情查询接口,使用自定义的查询,返回查询详情数据。",
"consumes": [
@@ -899,8 +899,8 @@
"type": "string"
},
"example": [
- "subject_code='22'",
- "subject_name='aa'"
+ "22",
+ "33"
]
},
"query_format": {
@@ -1005,8 +1005,8 @@
"type": "string"
},
"example": [
- "subject_code='22'",
- "subject_name='aa'"
+ "22",
+ "33"
]
},
"query_format": {
diff --git a/dsDataexV1.1/docs/swagger.yaml b/dsDataexV1.1/docs/swagger.yaml
index 8132a470..4a385d12 100644
--- a/dsDataexV1.1/docs/swagger.yaml
+++ b/dsDataexV1.1/docs/swagger.yaml
@@ -227,8 +227,8 @@ definitions:
query_conditions:
description: 条件查询
example:
- - subject_code='22'
- - subject_name='aa'
+ - "22"
+ - "33"
items:
type: string
type: array
@@ -307,8 +307,8 @@ definitions:
query_conditions:
description: 条件查询
example:
- - subject_code='22'
- - subject_name='aa'
+ - "22"
+ - "33"
items:
type: string
type: array
@@ -738,7 +738,7 @@ paths:
summary: 接入系统鉴权
tags:
- dataex
- /dataex/hyper/Query:
+ /dataex/hyper_ypt/Query:
post:
consumes:
- application/json
@@ -764,7 +764,7 @@ paths:
summary: 超融合数据查询(后台)
tags:
- hyper
- /dataex/hyper/QueryByID:
+ /dataex/hyper_ypt/QueryByID:
post:
consumes:
- application/json
@@ -790,7 +790,7 @@ paths:
summary: 超融合数据详情查询(后台)
tags:
- hyper
- /dataex/hyper/QueryFE:
+ /dataex/hyper_ypt/QueryFE:
post:
consumes:
- application/json
@@ -816,7 +816,7 @@ paths:
summary: 超融合数据查询(前端)
tags:
- hyper
- /dataex/hyper/QueryFEByID:
+ /dataex/hyper_ypt/QueryFEByID:
post:
consumes:
- application/json