Explorar o código

解决reflect问题

yuliang1112 %!s(int64=3) %!d(string=hai) anos
pai
achega
7ee1982436
Modificáronse 2 ficheiros con 6 adicións e 5 borrados
  1. 5 3
      db/project.go
  2. 1 2
      handler/project_list.go

+ 5 - 3
db/project.go

@@ -22,15 +22,17 @@ func GetFullProjectList(ctx context.Context, enterpriseID int64, pageSize, pageN
 	db := GetReadDB(ctx)
 	db := GetReadDB(ctx)
 	// 根据企业id过滤
 	// 根据企业id过滤
 	db = db.Debug().Model(gorm_model.ProjectInfo{}).Where("enterprise_id = ?", enterpriseID)
 	db = db.Debug().Model(gorm_model.ProjectInfo{}).Where("enterprise_id = ?", enterpriseID)
+	logrus.Printf("db:%V",db)
 	// 根据Project条件过滤
 	// 根据Project条件过滤
-	conditionType := reflect.TypeOf(condition)
-	conditionValue := reflect.ValueOf(condition)
-	for i := 0; i < conditionValue.NumField(); i++ {
+	conditionType := reflect.TypeOf(condition).Elem()
+	conditionValue := reflect.ValueOf(condition).Elem()
+	for i := 0; i < conditionType.NumField(); i++ {
 		field := conditionType.Field(i)
 		field := conditionType.Field(i)
 		tag := field.Tag.Get("condition")
 		tag := field.Tag.Get("condition")
 		value := conditionValue.FieldByName(field.Name)
 		value := conditionValue.FieldByName(field.Name)
 		db = db.Where(fmt.Sprintf("%s = ?", tag), value)
 		db = db.Where(fmt.Sprintf("%s = ?", tag), value)
 	}
 	}
+	logrus.Printf("db:%V",db)
 	// 查询总数
 	// 查询总数
 	var total int64
 	var total int64
 	var fullProjects []*gorm_model.ProjectInfo
 	var fullProjects []*gorm_model.ProjectInfo

+ 1 - 2
handler/project_list.go

@@ -26,7 +26,7 @@ import (
 // @Param Authorization header string true "登录TOKEN信息"
 // @Param Authorization header string true "登录TOKEN信息"
 // @Param req body http_model.FullProjectListRequest true "创建全部商品请求结构体"
 // @Param req body http_model.FullProjectListRequest true "创建全部商品请求结构体"
 // @Success 200 {object} http_model.CommonResponse{data=http_model.FullProjectListData} "创建全部商品列表相应结构体"
 // @Success 200 {object} http_model.CommonResponse{data=http_model.FullProjectListData} "创建全部商品列表相应结构体"
-// @Router /product/list [get]
+// @Router /product/list [post]
 func WrapFullProjectListHandler(ctx *gin.Context) {
 func WrapFullProjectListHandler(ctx *gin.Context) {
 	handler := newFullProjectListHandler(ctx)
 	handler := newFullProjectListHandler(ctx)
 	baseRun(handler)
 	baseRun(handler)
@@ -68,7 +68,6 @@ func (h *FullProjectListHandler) run() {
 }
 }
 func (h *FullProjectListHandler) checkParam() error {
 func (h *FullProjectListHandler) checkParam() error {
 	var errs []error
 	var errs []error
-	logrus.Printf("pagesize:%+v",h.req.PageSize)
 	if h.req.PageNum <= 0 || h.req.PageSize <= 0 {
 	if h.req.PageNum <= 0 || h.req.PageSize <= 0 {
 		errs = append(errs, errors.New("page param error"))
 		errs = append(errs, errors.New("page param error"))
 	}
 	}