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
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
|
|
}
|
|
|