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

72 lines
2.7 KiB

package group
import (
"fmt"
"automatedtesting/usecases_server/models"
"automatedtesting/usecases_server/utils"
"automatedtesting/usecases_server/utils/cyllib/log"
"github.com/gin-gonic/gin"
)
func (s *GroupController) get_input(input []utils.Inputdata) (name, version, s_time string) {
for _, d := range input {
switch d.Name {
case "name":
name = d.Input
case "time":
s_time = d.Input
case "version":
version = d.Input
}
}
return
}
func (s *GroupController) GetGroupData(PageSize, off int, input []utils.Inputdata, c *gin.Context, uid interface{}) (*[]GroupController, int64) {
name, version, s_time := s.get_input(input)
var total int64 = 0
var sqlparam = []interface{}{"%%" + name + "%%", "%%" + version + "%%", uid, "%%" + s_time + "%%"}
var sqlwhere = "name like ? and version like ? and uid = ? and convert(create_time,DATE) like ? "
if err := models.GetDb().Table("groups").Where(sqlwhere, sqlparam...).Count(&total).Error; err != nil {
log.WriteErr(err)
}
// 获取数据
msgs := []GroupController{}
sql := utils.Table("`groups`").Select("id,name,version,create_time createtimecache ").
Where("name like '%%?%%' and version like '%%?%%' and convert(create_time,DATE) like '%%?%%' and uid = ?", name, version, s_time, uid).
OrderBy("id DESC").Page(PageSize, off).Sql()
if err := models.GetDb().Raw(sql).Scan(&msgs).Error; err != nil {
log.WriteErr(err)
}
uname, _ := c.Get("uname")
for i, d := range msgs {
msgs[i].Index = i + off + 1
msgs[i].Createtime = d.Createtimecache.Format("2006-01-02 15:04:05")
msgs[i].Creater = fmt.Sprint(uname)
}
return &msgs, total
}
func (s *GroupController) GetGroupDataAdmin(PageSize, off int, input []utils.Inputdata, c *gin.Context) (*[]GroupController, int64) {
name, version, s_time := s.get_input(input)
var total int64 = 0
var sqlparam = []interface{}{"%%" + name + "%%", "%%" + version + "%%", "%%" + s_time + "%%"}
var sqlwhere = "name like ? and version like ? and convert(create_time,DATE) like ? "
// 获取数量
if err := models.GetDb().Table("groups").Where(sqlwhere, sqlparam...).Count(&total).Error; err != nil {
log.WriteErr(err)
}
msgs := []GroupController{}
sql := utils.Table("users u,`groups` g").Select("g.id,g.name,g.version,u.name creater,g.create_time createtimecache ").
Where("g.name like '%%?%%' and g.version like '%%?%%' and convert(g.create_time,DATE) like '%%?%%' and u.id=g.uid", name, version, s_time).
OrderBy("g.id DESC").Page(PageSize, off).Sql()
if err := models.GetDb().Raw(sql).Scan(&msgs).Error; err != nil {
log.WriteErr(err)
}
for i, d := range msgs {
msgs[i].Index = i + off + 1
msgs[i].Createtime = d.Createtimecache.Format("2006-01-02 15:04:05")
}
return &msgs, total
}