自动化测试
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.
 
 
 
 

67 lines
1.8 KiB

package group
import (
"net/http"
"time"
"automatedtesting/usecases_server/models"
"automatedtesting/usecases_server/utils"
"automatedtesting/usecases_server/utils/cyllib/log"
"github.com/gin-gonic/gin"
"gorm.io/gorm"
)
type GroupController struct {
Id int `json:"id"`
Index int `json:"index"`
Name string `json:"name"`
Creater string `json:"creater"`
Createtime string `json:"createtime"`
Createtimecache time.Time `json:"_"`
Version string `json:"version"`
}
func (s *GroupController) GetData(c *gin.Context) {
var total int64 = 0
var msg *[]GroupController
uid, _ := c.Get("uid")
power, _ := c.Get("power")
// 获取页码
pages := c.Query("page")
CurrentPage, PageSize := utils.GetPage(pages)
off := (CurrentPage - 1) * PageSize
ipt := c.Query("input")
input := utils.GetInputData(ipt)
if power.(bool) {
msg, total = s.GetGroupDataAdmin(PageSize, off, input, c)
} else {
msg, total = s.GetGroupData(PageSize, off, input, c, uid)
}
c.JSON(http.StatusOK, &gin.H{"msg": *msg, "total": total})
}
func (s *GroupController) Delete(c *gin.Context) {
flag := true
id := c.Query("id")
er := models.GetDb().Transaction(func(tx *gorm.DB) error {
var err error
if err = models.GetDb().Table("waittime").Where("gid = ?", id).Delete(models.WaitTime{}).Error; err != nil {
log.WriteErr(err)
return err
}
if err = models.GetDb().Table("cases").Where("gid = ?", id).Delete(models.Cases{}).Error; err != nil {
log.WriteErr(err)
return err
}
if err = models.GetDb().Table("groups").Where("id = ?", id).Delete(models.Groups{}).Error; err != nil {
log.WriteErr(err)
return err
}
return err
})
if er != nil {
flag = false
}
c.JSON(http.StatusOK, &gin.H{"flag": flag})
}