123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961 |
- package controllers
- import (
- "database/sql"
- "fmt"
- "net/http"
- "sort"
- "strconv"
- "strings"
- "xugu_license/internal/api"
- "xugu_license/internal/global"
- middlewares "xugu_license/internal/middleware"
- "xugu_license/internal/models"
- "xugu_license/internal/module/capture"
- "xugu_license/internal/module/email"
- "xugu_license/internal/utils"
- "github.com/gin-gonic/gin"
- "github.com/pkg/errors"
- )
- func getLoginInfo(c *gin.Context) (*middlewares.UserAuthInfo, error) {
-
- userAny, exists := c.Get("userInfo")
- if !exists {
- global.Logger.Errorln("GetLicenseInfo: 用户信息不存在")
- return nil, errors.New("GetLicenseInfo: 用户信息不存在")
-
-
- }
- userInfo := userAny.(*middlewares.UserAuthInfo)
- return userInfo, nil
- }
- func GetSingleLicenseInfoController(c *gin.Context) {
-
-
-
-
-
-
- page, _ := strconv.Atoi(c.DefaultQuery("page", "1"))
- pageSize, _ := strconv.Atoi(c.DefaultQuery("pageSize", "10"))
- LicUniqueID := c.DefaultQuery("LicUniqueID", "10")
-
- applications, total, err := models.GetOALicenseInfo(page, pageSize, "", LicUniqueID, "", "")
- if err != nil {
- global.Logger.Errorln("指定UniqueID查询错误:", err.Error())
- c.JSON(http.StatusBadRequest, gin.H{"error": fmt.Sprintf("指定UniqueID查询错误: ", err.Error())})
- return
- }
- c.JSON(http.StatusOK, gin.H{
- "data": *applications,
- "page": 1,
- "pageSize": 1,
- "total": total,
- })
- }
- func GetAllLicenseInfoController(c *gin.Context) {
-
- page, _ := strconv.Atoi(c.DefaultQuery("page", "1"))
- pageSize, _ := strconv.Atoi(c.DefaultQuery("pageSize", "10"))
-
- userInfo, err := getLoginInfo(c)
- if err != nil {
- c.JSON(http.StatusUnauthorized, gin.H{"error": "用户信息不存在"})
- c.Abort()
- }
-
-
- var datas [][]api.AllLicenseInfoResponse
- var Total int
-
- oaRequestIDMap := make(map[int64][]api.AllLicenseInfoResponse)
- if userInfo.Permission[middlewares.ReadAllLicense] == middlewares.ReadAllLicense {
- datas1, total, err := models.GetOALicenseInfo(pageSize, page, "read_all_license", "", "", "")
- if err != nil {
- global.Logger.Errorln("error", err.Error())
- c.JSON(http.StatusNotFound, gin.H{"error": err.Error()})
- return
- }
- Total = total
-
- for _, data := range *datas1 {
- ApiLicenseInfo := api.AllLicenseInfoResponse{
- UniqueID: utils.ToString(data.LicInfo.UniqueID),
- OARequestID: utils.ToInt64(data.LicInfo.OARequestID),
- OARequestName: utils.ToString(data.LicInfo.OARequestName),
- OARequestNameNew: utils.ToString(data.LicInfo.OARequestNameNew),
- OARequestNameHTMLNew: utils.ToString(data.LicInfo.OARequestNameHTMLNew),
- OAGLXMId: utils.ToInt64(data.LicInfo.OAGLXMID),
- OAGLXMName: utils.ToString(data.LicInfo.OAGLXMName),
- OASQSJ: utils.ToString(data.LicInfo.OASQSJ),
- OASalespersonName: utils.ToString(data.LicInfo.OASalespersonName),
- OAXSJSYX: utils.ToString(data.LicInfo.OAXSJSYX),
- OAOperationsPersonName: utils.ToString(data.LicInfo.OAOperationsPersonName),
- OAJFJSYX: utils.ToString(data.LicInfo.OAJFJSYX),
- OASYDW: utils.ToString(data.LicInfo.OASYDW),
- OAXMXXMS: utils.ToString(data.LicInfo.OAXMXXMS),
- OAJDS: utils.ToInt64(data.LicInfo.OAJDS),
- OANodeCount: utils.ToInt64(data.LicInfo.OANodeCount),
- OAProductCode: utils.ToString(data.LicInfo.OAProductCode),
- OAProductName: utils.ToString(data.LicInfo.OAProductName),
- OAProductVersion: utils.ToString(data.LicInfo.OAProductVersion),
- OACPU: utils.ToString(data.LicInfo.OACPU),
- OAOperatingSystem: utils.ToString(data.LicInfo.OAOperatingSystem),
- OAMainMAC: utils.ToString(data.LicInfo.OAMainMAC),
- OASecondMAC: utils.ToString(data.LicInfo.OASecondMAC),
- OACreationDate: utils.ToString(data.LicInfo.OACreationDate),
- OACreationTime: utils.ToString(data.LicInfo.OACreationTime),
- OALastOperateDate: utils.ToString(data.LicInfo.OALastOperateDate),
- OALastOperateTime: utils.ToString(data.LicInfo.OALastOperateTime),
- CaptureTime: utils.ToTimeString(data.LicInfo.CaptureTime),
- DelTime: utils.ToTimeString(data.LicInfo.DelTime),
- LastOperateTime: utils.ToTimeString(data.LicInfo.LastOperateTime),
- LicenseFlage: utils.ToString(data.GenrateInfo.LicenseFlage),
- Lic1: utils.ToString(data.GenrateInfo.Lic1),
- Lic2: utils.ToString(data.GenrateInfo.Lic2),
- CreatorGenerate: utils.ToTimeString(data.GenrateInfo.CreatorGenerate),
- }
-
- oaRequestID := utils.ToInt64(data.LicInfo.OARequestID)
- oaRequestIDMap[oaRequestID] = append(oaRequestIDMap[oaRequestID], ApiLicenseInfo)
- }
- } else if userInfo.Permission[middlewares.ReadLicense] == middlewares.ReadLicense {
- datas1, total, err := models.GetOALicenseInfo(pageSize, page, "", "", userInfo.UniqueID, "")
- if err != nil {
- global.Logger.Errorln("error", err.Error())
- c.JSON(http.StatusNotFound, gin.H{"error": err.Error()})
- return
- }
- Total = total
-
- for _, data := range *datas1 {
- ApiLicenseInfo := api.AllLicenseInfoResponse{
- UniqueID: utils.ToString(data.LicInfo.UniqueID),
- OARequestID: utils.ToInt64(data.LicInfo.OARequestID),
- OARequestName: utils.ToString(data.LicInfo.OARequestName),
- OARequestNameNew: utils.ToString(data.LicInfo.OARequestNameNew),
- OARequestNameHTMLNew: utils.ToString(data.LicInfo.OARequestNameHTMLNew),
- OAGLXMId: utils.ToInt64(data.LicInfo.OAGLXMID),
- OAGLXMName: utils.ToString(data.LicInfo.OAGLXMName),
- OASQSJ: utils.ToString(data.LicInfo.OASQSJ),
- OASalespersonName: utils.ToString(data.LicInfo.OASalespersonName),
- OAXSJSYX: utils.ToString(data.LicInfo.OAXSJSYX),
- OAOperationsPersonName: utils.ToString(data.LicInfo.OAOperationsPersonName),
- OAJFJSYX: utils.ToString(data.LicInfo.OAJFJSYX),
- OASYDW: utils.ToString(data.LicInfo.OASYDW),
- OAXMXXMS: utils.ToString(data.LicInfo.OAXMXXMS),
- OAJDS: utils.ToInt64(data.LicInfo.OAJDS),
- OANodeCount: utils.ToInt64(data.LicInfo.OANodeCount),
- OAProductCode: utils.ToString(data.LicInfo.OAProductCode),
- OAProductName: utils.ToString(data.LicInfo.OAProductName),
- OAProductVersion: utils.ToString(data.LicInfo.OAProductVersion),
- OACPU: utils.ToString(data.LicInfo.OACPU),
- OAOperatingSystem: utils.ToString(data.LicInfo.OAOperatingSystem),
- OAMainMAC: utils.ToString(data.LicInfo.OAMainMAC),
- OASecondMAC: utils.ToString(data.LicInfo.OASecondMAC),
- OACreationDate: utils.ToString(data.LicInfo.OACreationDate),
- OACreationTime: utils.ToString(data.LicInfo.OACreationTime),
- OALastOperateDate: utils.ToString(data.LicInfo.OALastOperateDate),
- OALastOperateTime: utils.ToString(data.LicInfo.OALastOperateTime),
- CaptureTime: utils.ToTimeString(data.LicInfo.CaptureTime),
- DelTime: utils.ToTimeString(data.LicInfo.DelTime),
- LastOperateTime: utils.ToTimeString(data.LicInfo.LastOperateTime),
- LicenseFlage: utils.ToString(data.GenrateInfo.LicenseFlage),
- Lic1: utils.ToString(data.GenrateInfo.Lic1),
- Lic2: utils.ToString(data.GenrateInfo.Lic2),
- CreatorGenerate: utils.ToTimeString(data.GenrateInfo.CreatorGenerate),
- }
-
- oaRequestID := utils.ToInt64(data.LicInfo.OARequestID)
- oaRequestIDMap[oaRequestID] = append(oaRequestIDMap[oaRequestID], ApiLicenseInfo)
- }
- }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- for _, apiLicenseInfoTemp := range oaRequestIDMap {
- datas = append(datas, apiLicenseInfoTemp)
- }
-
- sort.Slice(datas, func(i, j int) bool {
-
- if datas[i][0].OACreationDate == datas[j][0].OACreationDate {
- return datas[i][0].OACreationTime > datas[j][0].OACreationTime
- }
- return datas[i][0].OACreationDate > datas[j][0].OACreationDate
- })
- c.JSON(http.StatusOK, gin.H{
- "data": datas,
- "page": page,
- "pageSize": pageSize,
- "total": Total,
- })
- }
- func GenerateOALicenseStrController(c *gin.Context) {
- var request api.GenerateLicenseStrRequest
- if err := c.ShouldBindJSON(&request); err != nil {
- global.Logger.Errorln("解析request失败 : ", err.Error())
- c.JSON(400, gin.H{
- "error": fmt.Sprintf("解析请求失败: ", err.Error()),
- })
- return
- }
-
- if request.UniqueID != "" {
- if err := generateLicenseStrSub(request.UniqueID); err != nil {
- global.Logger.Errorf("请联系管理员, LicenseInfo%v生成失败: %v\n", request.UniqueID, err.Error())
- c.JSON(http.StatusBadRequest, gin.H{"error": fmt.Sprintf("请联系管理员, LicenseInfo%v生成失败: %v", request.UniqueID, err.Error())})
- return
- }
- } else if request.OARequestId != "" {
-
- OALics, _, err := models.GetOALicenseInfo(0, 0, "", "", "", request.OARequestId)
- if err != nil || OALics == nil {
- global.Logger.Errorln("LicenseInfo数据查询失败: ", err.Error())
- c.JSON(http.StatusBadRequest, gin.H{"error": fmt.Sprintf("数据查询失败: ", err.Error())})
- return
- }
-
- for _, v := range *OALics {
- if v.GenrateInfo.LicenseFlage.String == "未生成" {
- err := generateLicenseStrSub(utils.ToString(v.LicInfo.UniqueID))
- if err != nil {
- global.Logger.Errorf("请联系管理员, LicenseInfo%v生成失败: %v\n", v.LicInfo.UniqueID, err.Error())
- c.JSON(http.StatusBadRequest, gin.H{"error": fmt.Sprintf("请联系管理员, LicenseInfo%v生成失败: %v", v.LicInfo.UniqueID, err.Error())})
- return
- }
- }
- }
- } else {
- global.Logger.Errorln("未指定明确License行 ")
- c.JSON(http.StatusBadRequest, gin.H{"error": fmt.Sprintf("未指定明确License行 ")})
- return
- }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- c.JSON(http.StatusOK, gin.H{
- "success": true,
- "message": "License生成成功!",
- })
-
- }
- func generateLicenseStrSub(UniqueID string) error {
- var applications *[]models.OALicenseInfo
- var err error
- if UniqueID != "" {
- applications, _, err = models.GetOALicenseInfo(0, 1, "", UniqueID, "", "")
- if err != nil {
- global.Logger.Errorln("LicenseInfo数据查询失败: ", err.Error())
-
- return errors.Errorf("LicenseInfo数据查询失败:: %v", err.Error())
- }
- }
-
-
-
-
- fmt.Printf("applications%#v\n", applications)
-
- isCheck, err := models.CheckLicenseInfoInOADB(&(*applications)[0].LicInfo)
- if err != nil {
- global.Logger.Errorln("LicenseInfo数据对比oa库 查询失败: ", err.Error())
-
- return errors.Errorf("LicenseInfo数据对比oa库 查询失败 %v", err.Error())
- }
- if !isCheck {
- global.Logger.Errorln("LicenseInfo数据对比oa库 不一致")
- return errors.Errorf("LicenseInfo数据对比oa库 数据不一致 \n")
- }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- if applications == nil {
- global.Logger.Errorln("LicenseInfo数据生成失败 ,数据查询为空 ")
-
- return errors.Errorf("LicenseInfo数据生成失败 ,数据查询为空 ")
- }
- if (*applications)[0].LicInfo.OASecondMAC.String != "" {
-
-
-
- err = models.UpdateOALicenseStr(utils.ToString((*applications)[0].LicInfo.UniqueID), []byte("b4j6z4rE2IfG1av0wIPT7YnvyGZFHxwIBikMGjgCLQILR0xsT1NHiuzoi+Dqq+bmiNDEiuPyitDVgdvlRmYbFAk+MAAGASlPTkdMbE9"), []byte("b4j6z4rE2IfG1av0wIPT7YnvyGZFHxwIBikMGjgCLQILR0xsT1NHiuzoi+Dqq+bmiNDEiuPyitDVgdvlRmYbFAk+MAAGASlPTkdMbE9"))
- if err != nil {
- global.Logger.Errorln("LicenseInfo生成插入失败: ", err.Error())
-
- return errors.Errorf("LicenseInfo生成插入失败:: ", err.Error())
- }
- } else {
-
-
- err = models.UpdateOALicenseStr(utils.ToString((*applications)[0].LicInfo.UniqueID), []byte("b4j6z4rE2IfG1av0wIPT7YnvyGZFHxwIBikMGjgCLQILR0xsT1NHiuzoi+Dqq+bmiNDEiuPyitDVgdvlRmYbFAk+MAAGASlPTkdMbE9"), nil)
- if err != nil {
- global.Logger.Errorln("LicenseInfo2生成插入失败: ", err.Error())
-
- return errors.Errorf("LicenseInfo2生成插入失败:: ", err.Error())
- }
- }
- return nil
- }
- func DistributeOALicenseController(c *gin.Context) {
-
-
- var request api.DistributeLicenseRequest
- if err := c.ShouldBindJSON(&request); err != nil {
- global.Logger.Errorln("license分发请求解析失败 %s", err.Error())
- c.JSON(400, gin.H{
- "error": fmt.Sprintf("license分发请求解析失败 %s", err.Error()),
- })
- return
- }
- var licToUser []string
- if request.OaRequestId != "" {
-
- datas, _, err := models.GetOALicenseInfo(0, 0, "", "", "", request.OaRequestId)
- if err != nil {
- global.Logger.Errorln("license分发请求查询license申请单的所有子信息失败 %s", err.Error())
- c.JSON(400, gin.H{
- "error": fmt.Sprintf("license分发请求解析失败 %s", err.Error()),
- })
- return
- }
- for _, oaLicInfo := range *datas {
- users, err := checkDistributeToUser(&oaLicInfo, request.UserUniqueIDs, request.UserNames)
- if err != nil {
- global.Logger.Errorln("license分发请求检测是否已发放给用户失败 %s", err.Error())
- c.JSON(400, gin.H{
- "error": fmt.Sprintf("license分发请求解析失败 %s", err.Error()),
- })
- return
- }
- if len(users) != 0 {
- c.JSON(400, gin.H{
- "success": false,
- "error": fmt.Sprintf("该license已经分发给了该用户: %s\n", licToUser),
- })
- return
- }
- }
- } else if request.LicenseUniqueID != "" {
-
- for i, v := range request.UserUniqueIDs {
- fmt.Println("request.UserUniqueIDs", request.LicenseUniqueID, v)
- if isTurn, err := models.CheckLicenseToUser(request.LicenseUniqueID, v); err != nil {
- global.Logger.Errorln("该license查询是否分发给用户失败 ", v, err.Error())
- c.JSON(400, gin.H{
- "success": false,
- "error": fmt.Sprintf("该license查询是否分发给用户失败: %s", v, err.Error()),
- })
- return
- } else if isTurn {
- global.Logger.Info("该license已经分发给了该用户 ", v)
- licToUser = append(licToUser, request.UserNames[i])
- }
- }
- }
- applications, _, err := models.GetOALicenseInfo(1, 1, "", request.LicenseUniqueID, "", "")
- if err != nil {
- c.JSON(http.StatusBadRequest, gin.H{"success": false,
- "error": err.Error()})
- return
- }
-
- if (*applications)[0].GenrateInfo.Lic1.String == "" {
- global.Logger.Errorln("license未生成 ")
- c.JSON(http.StatusBadRequest, gin.H{"success": false,
- "error": "license未生成"})
- return
- }
-
- var EmailArray []string
- if request.Emails != "" {
- fmt.Println("request.Emails", request.Emails)
- EmailArray = strings.Split(request.Emails, ",")
- fmt.Println("EmailArray", EmailArray)
- em, err := email.BuildEmail(&(*applications)[0], EmailArray, (*applications)[0].GenrateInfo.Lic1.String, (*applications)[0].GenrateInfo.Lic2.String)
- if err != nil {
- global.Logger.Errorln("邮件生成失败", err.Error())
- c.JSON(400, gin.H{
- "success": false,
- "error": fmt.Sprintf("邮件生成失败: ", err.Error()),
- })
- return
- }
- err = email.SendEmail(em)
- if err != nil {
- global.Logger.Errorln("邮件发送失败", err.Error())
- c.JSON(400, gin.H{
- "success": false,
- "error": fmt.Sprintf("邮件发送失败: ", err.Error()),
- })
- return
- }
- }
- for i, v := range request.UserUniqueIDs {
- err = models.InsertlicenseRecordByUserRow((*applications)[0].LicInfo.UniqueID.String, v, request.UserAccounts[i], request.OperatorUniqueID)
- if err != nil {
- global.Logger.Errorln("数据库插入失败: ", err.Error())
- c.JSON(400, gin.H{
- "success": false,
- "error": fmt.Sprintf("插入失败: ", err.Error()),
- })
- return
- }
- }
- if len(EmailArray) != 0 {
- for _, v := range EmailArray {
- err = models.InsertlicenseRecordByEmailRow((*applications)[0].LicInfo.UniqueID.String, v, request.OperatorUniqueID)
- if err != nil {
- global.Logger.Errorln("数据库插入失败: ", err.Error())
- c.JSON(400, gin.H{
- "error": fmt.Sprintf("插入失败: ", err.Error()),
- })
- return
- }
- }
- }
-
-
-
-
-
-
-
-
-
- c.JSON(http.StatusOK, gin.H{
- "success": true,
- "data": "分发成功!",
- })
- }
- func GetlicenseRecordInfo(c *gin.Context) {
-
-
-
-
- var request api.GetDistributeHistoryRequest
- if err := c.ShouldBindJSON(&request); err != nil {
- global.Logger.Errorln("解析请求失败 ", err.Error())
- c.JSON(400, gin.H{
- "error": fmt.Sprintf("解析请求失败: ", err.Error()),
- })
- return
- }
- LicUers, err := models.GetlicenseRecordByUser(request.UniqueID)
- if err != nil {
- global.Logger.Errorln("数据查询失败 ", err.Error())
- c.JSON(400, gin.H{
- "error": fmt.Sprintf("数据查询失败: ", err.Error()),
- })
- return
- }
- LicEmails, err := models.GetlicenseRecordByEmail(request.UniqueID)
- if err != nil {
- global.Logger.Errorln("数据查询失败 ", err.Error())
- c.JSON(400, gin.H{
- "error": fmt.Sprintf("数据查询失败: ", err.Error()),
- })
- return
- }
- licR := models.LicenseRecord{
- LicenseRecordToUser: LicUers,
- LicenseRecordToEmails: LicEmails,
- }
- fmt.Println("分发历史applications", licR)
- c.JSON(http.StatusOK, gin.H{
- "success": true,
- "data": licR,
- })
- }
- func UpdateLicense(c *gin.Context) {
- var license api.UpdateLicenseInfoRequest
-
- if err := c.ShouldBindJSON(&license); err != nil {
- c.JSON(http.StatusBadRequest, gin.H{
- "success": false,
- "error": err.Error(),
- })
- return
- }
-
- err := models.UpdatelicenseInfoRow(models.OALicenseInfo{
- LicInfo: models.TargetOALicenseInfo{
- UniqueID: sql.NullString{
- String: license.UniqueID,
- Valid: true,
- },
- OARequestName: sql.NullString{
- String: license.Creator,
- Valid: true,
- },
- OACreationDate: sql.NullString{
- String: license.ApplicationDate,
- Valid: true,
- },
- OAGLXMName: sql.NullString{
- String: license.AssociatedProject,
- Valid: true,
- },
- OANodeCount: sql.NullInt64{
- Int64: license.NodeCount,
- Valid: true,
- },
- OASalespersonName: sql.NullString{
- String: license.SalesPerson,
- Valid: true,
- },
- OAOperationsPersonName: sql.NullString{
- String: license.SupportPerson,
- Valid: true,
- },
- OAXSJSYX: sql.NullString{
- String: license.SalesEmail,
- Valid: true,
- },
- OAJFJSYX: sql.NullString{
- String: license.SupportEmail,
- Valid: true,
- },
- OAJDS: sql.NullInt64{
- Int64: license.TotalNodes,
- Valid: true,
- },
- OAProductName: sql.NullString{
- String: license.ProductName,
- Valid: true,
- },
- OAProductVersion: sql.NullString{
- String: license.Version,
- Valid: true,
- },
- OASYDW: sql.NullString{
- String: license.Company,
- Valid: true,
- },
- },
- })
- if err != nil {
- global.Logger.Errorln("数据插入失败 ", err.Error())
- c.JSON(http.StatusBadRequest, gin.H{"success": false, "error": fmt.Sprintf("数据插入失败: ", err.Error())})
- return
- }
-
-
-
-
-
-
-
-
-
- c.JSON(http.StatusOK, gin.H{
- "success": true,
- })
- }
- func DelLicenseInfoRow(c *gin.Context) {
-
- var request UniqueIDRequest
- if err := c.ShouldBindJSON(&request); err != nil {
- c.JSON(400, gin.H{
- "error": err.Error(),
- })
- return
- }
- err := models.DelLicenseInfoRow(request.UniqueID)
- if err != nil {
- global.Logger.Errorln("删除一行License信息失败 ", err.Error())
- c.JSON(http.StatusBadRequest, gin.H{"error": fmt.Sprintf("删除失败: ", err.Error())})
- return
- }
-
-
-
-
-
-
-
-
-
- c.JSON(http.StatusOK, gin.H{
- "success": true,
- "data": "删除成功",
- })
- }
- func CaptureLicenseOnceToDb(c *gin.Context) {
- if err := capture.CaptureOnce(global.OaDB, global.XuguDB); err != nil {
- global.Logger.Errorln("主动抓取license信息到支撑库失败: ", err.Error())
- c.JSON(http.StatusBadRequest, gin.H{"error": fmt.Sprintf("主动抓取license信息数据失败: %s", err.Error())})
- return
- }
- c.JSON(http.StatusOK, gin.H{
- "success": true,
- })
- }
- func SearchLicInfoToDb(c *gin.Context) {
-
-
-
-
-
-
-
- request := c.Param("data")
- if datas, err := models.SearchLicInfoToDb(request); err != nil {
- global.Logger.Errorln("搜索license信息失败: ", err.Error())
- c.JSON(http.StatusBadRequest, gin.H{"error": fmt.Sprintf("搜索license信息失败失败: %s", err.Error())})
- return
- } else {
- c.JSON(http.StatusOK, gin.H{
- "success": true,
- "data": datas,
- })
- }
- }
|