GAAS GFrame项目web后台
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

208 lines
5.4 KiB

  1. package controllers
  2. import (
  3. "LAPP_GAAS_GFrame_BACKEND/utils"
  4. "LAPP_GAAS_GFrame_BACKEND/web/middleware/glog"
  5. "LAPP_GAAS_GFrame_BACKEND/web/middleware/jwts"
  6. "LAPP_GAAS_GFrame_BACKEND/web/models"
  7. "LAPP_GAAS_GFrame_BACKEND/web/supports"
  8. "github.com/kataras/iris/v12"
  9. "strings"
  10. "time"
  11. )
  12. func GetEtcdtabList(ctx iris.Context) {
  13. user, ok := jwts.ParseToken(ctx)
  14. utils.TrimStruct(user,*user)
  15. if !ok {
  16. supports.Error(ctx, iris.StatusBadRequest, supports.ParseParamsFailur, nil)
  17. return
  18. }
  19. //日志
  20. logs := new(models.LeitServerLog)
  21. logs.File = "/controllers/Etcdtab_controller.go"
  22. logs.Level = "info"
  23. logs.Function = "GetEtcdtabList"
  24. logs.Message = "Etcd查看"
  25. logs.Operator = user.Userid
  26. logs.TimeStamp = utils.TimeFormat(time.Now(),"yyyyMMddHHmmss")
  27. logs.InsertRecord()
  28. var data models.Etcdtab
  29. var err error
  30. var pageSize = 10
  31. var pageIndex = 1
  32. if size := ctx.URLParam("pageSize"); size != "" {
  33. pageSize = utils.ValueToInt(size, 0)
  34. }
  35. if index := ctx.URLParam("pageIndex"); index != "" {
  36. pageIndex = utils.ValueToInt(index, 0)
  37. }
  38. result, count, err := data.GetPage(pageSize, pageIndex)
  39. if err != nil {
  40. supports.Error(ctx, iris.StatusBadRequest, "抱歉未找到相关信息", nil)
  41. return
  42. }
  43. res := make(map[string]interface{})
  44. res["data"] = result
  45. res["count"] = count
  46. res["pageIndex"] = pageIndex
  47. res["pageSize"] = pageSize
  48. supports.Ok(ctx, supports.OptionSuccess, res)
  49. }
  50. func GetEtcdtab(ctx iris.Context) {
  51. var me models.Etcdtab
  52. id, _ := ctx.URLParamInt("id")
  53. me.Id = id
  54. result, err := me.SelectOne()
  55. if err !=nil{
  56. supports.Error(ctx, iris.StatusBadRequest, "抱歉未找到相关信息", nil)
  57. return
  58. }
  59. result.Clipped()
  60. supports.Ok(ctx, supports.OptionSuccess, result)
  61. }
  62. func InsertEtcdtab(ctx iris.Context) {
  63. user, ok := jwts.ParseToken(ctx)
  64. utils.TrimStruct(user,*user)
  65. if !ok {
  66. supports.Error(ctx, iris.StatusBadRequest, supports.ParseParamsFailur, nil)
  67. return
  68. }
  69. //日志
  70. logs := new(models.LeitServerLog)
  71. logs.File = "/controllers/Etcdtab_controller.go"
  72. logs.Level = "info"
  73. logs.Function = "InsertEtcdtab"
  74. logs.Message = "添加Etcd"
  75. logs.Operator = user.Userid
  76. logs.TimeStamp = utils.TimeFormat(time.Now(),"yyyyMMddHHmmss")
  77. logs.InsertRecord()
  78. data := new(models.Etcdtab)
  79. data.Lastuser = user.Userid
  80. data.Credatuz = utils.TimeFormat(time.Now(),"yyyyMMddHHmmss")
  81. data.Lastmodif = utils.TimeFormat(time.Now(),"yyyyMMddHHmmss")
  82. if err := ctx.ReadJSON(data); err != nil {
  83. logs := new(models.LeitServerLog)
  84. logs.File = "/controllers/Etcdtab_controller.go"
  85. logs.Level = "debug"
  86. logs.Function = "InsertEtcdtab"
  87. logs.Message = error.Error(err)
  88. logs.Operator = user.Userid
  89. logs.TimeStamp = utils.TimeFormat(time.Now(),"yyyyMMddHHmmss")
  90. logs.InsertRecord()
  91. supports.Error(ctx, iris.StatusBadRequest, "json解析错误", nil)
  92. return
  93. }
  94. err := data.Add()
  95. if err != nil{
  96. supports.Error(ctx, iris.StatusBadRequest,"添加失败!", nil)
  97. return
  98. }
  99. supports.Ok(ctx, supports.OptionSuccess, data)
  100. }
  101. func UpdateEtcdtab(ctx iris.Context) {
  102. user, ok := jwts.ParseToken(ctx)
  103. utils.TrimStruct(user,*user)
  104. if !ok {
  105. supports.Error(ctx, iris.StatusBadRequest, supports.ParseParamsFailur, nil)
  106. return
  107. }
  108. //日志
  109. logs := new(models.LeitServerLog)
  110. logs.File = "/controllers/Etcdtab_controller.go"
  111. logs.Level = "info"
  112. logs.Function = "UpdateEtcdtab"
  113. logs.Message = "更新Etcd"
  114. logs.Operator = user.Userid
  115. logs.TimeStamp = utils.TimeFormat(time.Now(),"yyyyMMddHHmmss")
  116. logs.InsertRecord()
  117. data := new(models.Etcdtab)
  118. if err := ctx.ReadJSON(data); err != nil {
  119. supports.Error(ctx, iris.StatusBadRequest, "抱歉未找到相关信息", nil)
  120. return
  121. }
  122. data.Lastuser = user.Userid
  123. health := strings.Trim(data.Health," ")
  124. switch health {
  125. case "install":
  126. //安装
  127. path := data.Path + " install"
  128. glog.InfoExt("cmd启动日志","path is :",path)
  129. err := data.CheckExe2(path)
  130. if err !=nil{
  131. supports.Error(ctx, iris.StatusBadRequest, "cmd启动失败", nil)
  132. return
  133. }
  134. case "remove":
  135. //卸载
  136. path := data.Path + " remove"
  137. glog.InfoExt("cmd启动日志","path is :",path)
  138. err := data.CheckExe2(path)
  139. if err !=nil{
  140. supports.Error(ctx, iris.StatusBadRequest, "cmd启动失败", nil)
  141. return
  142. }
  143. case "start":
  144. //启动
  145. path := data.Path + " start"
  146. glog.InfoExt("cmd启动日志","path is :",path)
  147. err := data.CheckExe2(path)
  148. if err !=nil{
  149. supports.Error(ctx, iris.StatusBadRequest, "cmd启动失败", nil)
  150. return
  151. }
  152. case "stop":
  153. //暂停
  154. path := data.Path + " stop"
  155. glog.InfoExt("cmd启动日志","path is :",path)
  156. err := data.CheckExe2(path)
  157. if err !=nil{
  158. supports.Error(ctx, iris.StatusBadRequest, "cmd启动失败", nil)
  159. return
  160. }
  161. }
  162. res:= data.Update()
  163. if !res{
  164. supports.Error(ctx, iris.StatusBadRequest, "更新失败", nil)
  165. return
  166. }
  167. supports.Ok(ctx, "修改成功", "")
  168. }
  169. func DeleteEtcdtab(ctx iris.Context) {
  170. user, ok := jwts.ParseToken(ctx)
  171. utils.TrimStruct(user,*user)
  172. if !ok {
  173. supports.Error(ctx, iris.StatusBadRequest, supports.ParseParamsFailur, nil)
  174. return
  175. }
  176. //日志
  177. logs := new(models.LeitServerLog)
  178. logs.File = "/controllers/Etcdtab_controller.go"
  179. logs.Level = "info"
  180. logs.Function = "DeleteEtcdtab"
  181. logs.Message = "删除Etcd"
  182. logs.Operator = user.Userid
  183. logs.TimeStamp = utils.TimeFormat(time.Now(),"yyyyMMddHHmmss")
  184. logs.InsertRecord()
  185. me:=new(models.Etcdtab)
  186. id,_ := ctx.URLParamInt("id")
  187. me.Id = id
  188. res := me.Del()
  189. if !res {
  190. supports.Error(ctx, iris.StatusBadRequest, "删除失败", nil)
  191. return
  192. }
  193. supports.Ok(ctx, "删除成功", "")
  194. }