diff --git a/models/request/book.go b/models/request/book.go index 77eb7c2..201c03c 100644 --- a/models/request/book.go +++ b/models/request/book.go @@ -25,6 +25,7 @@ type AddBookRequest struct { PageCount int64 `form:"page_count"` // 页数 WordCount int64 `form:"word_count"` // 字数 BookFormat int64 `form:"book_format"` // 图书格式 + CatID string `form:"cat_id"` // 类目ID JSON字符串 LiveImage []string `form:"live_image"` // 图片 } diff --git a/service/book.go b/service/book.go index 758f1ec..16ea0be 100644 --- a/service/book.go +++ b/service/book.go @@ -143,6 +143,21 @@ func (s *BookService) doBook(data systemReq.AddBookRequest) (int64, error) { liveImage = datatypes.JSON("[]") } catIdByJson := datatypes.JSON(`{"xian_yu_cat_id": "", "kong_fu_zi_cat_id": "", "pin_duo_duo_cat_id": ""}`) + if data.CatID != "" { + var catObj map[string]string + if err := json.Unmarshal([]byte(data.CatID), &catObj); err == nil { + filtered := make(map[string]string) + for k, v := range catObj { + if strings.TrimSpace(v) != "" { + filtered[k] = v + } + } + if len(filtered) > 0 { + filteredBytes, _ := json.Marshal(filtered) + catIdByJson = filteredBytes + } + } + } book := models.BookInfo{ Fid: data.Fid,