package grmi
|
|
|
|
import (
|
|
"github.com/kataras/iris/v12"
|
|
"leit.com/LAPP_GAAS_GFrame/utils"
|
|
"leit.com/LAPP_GAAS_GFrame/web/models"
|
|
"strings"
|
|
"time"
|
|
)
|
|
|
|
const PageSize = "pageSize"
|
|
const PageIndex = "pageIndex"
|
|
|
|
func Log(user *models.Usertab, codeFile string, function string, message string) {
|
|
|
|
logs := new(models.LeitServerLog)
|
|
logs.File = codeFile
|
|
logs.Level = "info"
|
|
logs.Function = function
|
|
logs.Message = message
|
|
logs.Operator = user.Userid
|
|
logs.TimeStamp = utils.TimeFormat(time.Now(), "yyyyMMddHHmmss")
|
|
logs.InsertRecord()
|
|
}
|
|
|
|
func GetPageSize(ctx iris.Context) int {
|
|
if value := ctx.URLParam(PageSize); value != "" {
|
|
return utils.ValueToInt(value, 0)
|
|
}
|
|
return 10
|
|
}
|
|
|
|
func GetPageIndex(ctx iris.Context) int {
|
|
if index := ctx.URLParam(PageIndex); index != "" {
|
|
return utils.ValueToInt(index, 0)
|
|
}
|
|
return 1
|
|
}
|
|
|
|
func BuildCondtion(meta map[string]Field, ctx iris.Context) ([]Predicate, error) {
|
|
|
|
predicates := make([]Predicate, 0, 10)
|
|
for name, value := range ctx.URLParams() {
|
|
if field, ok := meta[strings.ToLower(name)]; ok {
|
|
var predicateValue interface{} = value
|
|
var err error
|
|
switch field.GoType {
|
|
case "int":
|
|
{
|
|
predicateValue, err = ctx.URLParamInt64(name)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
}
|
|
case "int8":
|
|
{
|
|
predicateValue, err = ctx.URLParamInt64(name)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
}
|
|
case "int16":
|
|
{
|
|
predicateValue, err = ctx.URLParamInt64(name)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
}
|
|
case "int32":
|
|
{
|
|
predicateValue, err = ctx.URLParamInt64(name)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
}
|
|
case "int64":
|
|
{
|
|
predicateValue, err = ctx.URLParamInt64(name)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
}
|
|
case "uint":
|
|
{
|
|
predicateValue, err = ctx.URLParamInt64(name)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
}
|
|
case "uint8":
|
|
{
|
|
predicateValue, err = ctx.URLParamInt64(name)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
}
|
|
case "uint16":
|
|
{
|
|
predicateValue, err = ctx.URLParamInt64(name)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
}
|
|
case "uint32":
|
|
{
|
|
predicateValue, err = ctx.URLParamInt64(name)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
}
|
|
case "uint64":
|
|
{
|
|
continue
|
|
}
|
|
case "float32":
|
|
{
|
|
predicateValue, err = ctx.URLParamFloat64(name)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
}
|
|
case "float64":
|
|
{
|
|
predicateValue, err = ctx.URLParamFloat64(name)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
}
|
|
case "grmi.DateTime":
|
|
{
|
|
continue
|
|
}
|
|
case "bool":
|
|
{
|
|
predicateValue, err = ctx.URLParamBool(name)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
}
|
|
case "string":
|
|
{
|
|
predicateValue = ctx.URLParamTrim(name)
|
|
}
|
|
}
|
|
predicates = append(predicates, Predicate{field.Name, "", predicateValue})
|
|
}
|
|
}
|
|
return predicates, nil
|
|
}
|