注释旧批量
This commit is contained in:
parent
ad3d48eeba
commit
82daef6bb8
@ -6,6 +6,7 @@ import (
|
||||
"centerBook/image"
|
||||
"centerBook/kongfz"
|
||||
"centerBook/tail"
|
||||
"centerBook/util/redisClient"
|
||||
"context"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
@ -1446,7 +1447,7 @@ func (svc *ESSearchService) BatchGetBookBaseInfoES(c *gin.Context) ([]ESBook, in
|
||||
}
|
||||
|
||||
// ===== saleSelect 对应字段映射 =====
|
||||
saleSelect := c.DefaultQuery("saleSelect", "")
|
||||
saleSelect := c.DefaultQuery("saleSelect", "2")
|
||||
saleField := map[string]string{
|
||||
"7": "day_sale_7",
|
||||
"15": "day_sale_15",
|
||||
@ -1848,6 +1849,8 @@ func (svc *ESSearchService) BatchGetBookBaseInfoES(c *gin.Context) ([]ESBook, in
|
||||
svc.ES.Client.Search.WithTrackTotalHits(true),
|
||||
)
|
||||
|
||||
fmt.Printf("[DEBUG] ES Query Response:\n%s\n", res)
|
||||
|
||||
if err != nil {
|
||||
fmt.Printf("[ERROR] ES.Client.Search error: %v\n", err)
|
||||
return nil, 0, err
|
||||
@ -1867,6 +1870,7 @@ func (svc *ESSearchService) BatchGetBookBaseInfoES(c *gin.Context) ([]ESBook, in
|
||||
if err != nil {
|
||||
return nil, 0, fmt.Errorf("读取响应失败: %v", err)
|
||||
}
|
||||
|
||||
// 检查是否有数据
|
||||
if len(rawData) == 0 {
|
||||
return nil, 0, fmt.Errorf("ES返回空响应")
|
||||
@ -1969,13 +1973,33 @@ func (svc *ESSearchService) SearchBooksHandler(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
|
||||
ctx := context.Background()
|
||||
|
||||
db4Client, err := redisClient.GetClientByName("db4")
|
||||
if err == nil {
|
||||
val, err := db4Client.Get(ctx, isbn).Result()
|
||||
if err == nil && val != "" {
|
||||
log.Printf("[SearchBooksHandler] 从 Redis db4 查询到数据: %s", isbn)
|
||||
var esBook ESBook
|
||||
if err := json.Unmarshal([]byte(val), &esBook); err == nil {
|
||||
responseList := []ESBookResponse{esBook.ConvertToResponse()}
|
||||
c.JSON(200, gin.H{
|
||||
"count": 1,
|
||||
"data": responseList,
|
||||
})
|
||||
return
|
||||
} else {
|
||||
log.Printf("[SearchBooksHandler] Redis 数据解析失败: %v", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
result, err := svc.SearchBooks(isbn)
|
||||
if err != nil {
|
||||
c.JSON(500, gin.H{"error": "ES 查询失败", "details": err.Error()})
|
||||
return
|
||||
}
|
||||
|
||||
// 转换为Java兼容的响应格式
|
||||
responseList := make([]ESBookResponse, 0, len(result))
|
||||
for _, book := range result {
|
||||
responseList = append(responseList, book.ConvertToResponse())
|
||||
@ -1987,14 +2011,6 @@ func (svc *ESSearchService) SearchBooksHandler(c *gin.Context) {
|
||||
})
|
||||
}
|
||||
func (svc *ESSearchService) SearchBookByISBNHandler(c *gin.Context) {
|
||||
// 访问 http://localhost:8095 连接
|
||||
//resp, err := http.Get("http://localhost:8095")
|
||||
//if err != nil {
|
||||
// // 请求失败时处理错误
|
||||
// fmt.Println("Error:", err)
|
||||
// return
|
||||
//}
|
||||
//defer resp.Body.Close() // 确保响应体被关闭
|
||||
|
||||
isbn := c.Query("isbn")
|
||||
if isbn == "" {
|
||||
@ -2005,7 +2021,32 @@ func (svc *ESSearchService) SearchBookByISBNHandler(c *gin.Context) {
|
||||
|
||||
log.Printf("[SearchBookByISBNHandler] 查询 ISBN: %s", isbn)
|
||||
|
||||
// 1. 先从 ES 查询
|
||||
ctx := context.Background()
|
||||
|
||||
db4Client, err := redisClient.GetClientByName("db4")
|
||||
fmt.Println(db4Client)
|
||||
|
||||
if err != nil {
|
||||
log.Printf("[SearchBookByISBNHandler] 获取 Redis db4 客户端失败: %v", err)
|
||||
} else {
|
||||
val, err := db4Client.Get(ctx, isbn).Result()
|
||||
if err == nil && val != "" {
|
||||
log.Printf("[SearchBookByISBNHandler] 从 Redis db4 查询到数据: %s", isbn)
|
||||
var esBook ESBook
|
||||
if err := json.Unmarshal([]byte(val), &esBook); err == nil {
|
||||
responseData := esBook.ConvertToResponse()
|
||||
c.JSON(200, gin.H{
|
||||
"data": responseData,
|
||||
})
|
||||
return
|
||||
} else {
|
||||
log.Printf("[SearchBookByISBNHandler] Redis 数据解析失败: %v", err)
|
||||
}
|
||||
} else {
|
||||
log.Printf("[SearchBookByISBNHandler] Redis db4 中未找到 ISBN: %s", isbn)
|
||||
}
|
||||
}
|
||||
|
||||
result, err := svc.SearchBookByISBN(isbn)
|
||||
if err != nil {
|
||||
log.Printf("[SearchBookByISBNHandler] ES 查询失败: %v", err)
|
||||
@ -2016,7 +2057,6 @@ func (svc *ESSearchService) SearchBookByISBNHandler(c *gin.Context) {
|
||||
if result == nil {
|
||||
log.Printf("[SearchBookByISBNHandler] ES 中未找到 ISBN: %s,从孔夫子抓取", isbn)
|
||||
|
||||
// 2. ES 没有,从孔夫子获取
|
||||
apiBook, err := kongfz.GetBookImageByISBN(isbn, "CALF_ELEPHANT_PROXY", "1297757178467602432", "QgQBvP7f")
|
||||
if err != nil {
|
||||
log.Printf("[SearchBookByISBNHandler] 孔夫子 API 查询失败: %v", err)
|
||||
@ -2031,7 +2071,6 @@ func (svc *ESSearchService) SearchBookByISBNHandler(c *gin.Context) {
|
||||
|
||||
log.Printf("[SearchBookByISBNHandler] 获取到图书信息: %+v", apiBook.Data)
|
||||
|
||||
// 3. 下载并上传 book_pic
|
||||
pddBookPicURL := ""
|
||||
if apiBook.Data.BookPic != "" {
|
||||
url, err := image.DownloadAndUploadBookImage(apiBook.Data.BookPic, isbn, "true", apiBook.Data.BookName, "true")
|
||||
@ -2043,7 +2082,6 @@ func (svc *ESSearchService) SearchBookByISBNHandler(c *gin.Context) {
|
||||
}
|
||||
}
|
||||
|
||||
// 4. 下载并上传 book_pic_s
|
||||
pddBookPicSURL := ""
|
||||
if apiBook.Data.BookPicS != "" {
|
||||
url, err := image.DownloadAndUploadBookImage(apiBook.Data.BookPicS, isbn, "true", apiBook.Data.BookName, "true")
|
||||
@ -2055,15 +2093,12 @@ func (svc *ESSearchService) SearchBookByISBNHandler(c *gin.Context) {
|
||||
}
|
||||
}
|
||||
|
||||
// 5. 转换为 ESBook
|
||||
esBook := ConvertKongfzToESBook(apiBook)
|
||||
|
||||
// 替换 BookPicS 和 BookPic 的 PDD URL
|
||||
esBook.BookPicS.PddResponse = pddBookPicSURL
|
||||
esBook.BookPic.PddPath = pddBookPicURL
|
||||
//log.Printf("[SearchBookByISBNHandler] 写入 ES: %+v", esBook)
|
||||
|
||||
// 6. 写入 ES
|
||||
result, err = svc.AddBookToES(c.Request.Context(), esBook)
|
||||
if err != nil {
|
||||
log.Printf("[SearchBookByISBNHandler] 写入 ES 失败: %v", err)
|
||||
@ -2076,7 +2111,6 @@ func (svc *ESSearchService) SearchBookByISBNHandler(c *gin.Context) {
|
||||
//log.Printf("[SearchBookByISBNHandler] 从 ES 查询到图书: %+v", result)
|
||||
}
|
||||
|
||||
// 转换为Java兼容的响应格式
|
||||
responseData := result.ConvertToResponse()
|
||||
c.JSON(200, gin.H{
|
||||
"data": responseData,
|
||||
|
||||
20
main.go
20
main.go
@ -27,6 +27,7 @@ import (
|
||||
"github.com/go-redis/redis/v8"
|
||||
|
||||
"centerBook/es"
|
||||
"centerBook/util/redisClient"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
_ "github.com/go-sql-driver/mysql"
|
||||
@ -174,22 +175,25 @@ func main() {
|
||||
//)
|
||||
|
||||
/** 新ES,任务2 **/
|
||||
//esClient, err := es.NewESClient(
|
||||
// []string{"http://localhost:9200"},
|
||||
// "elastic",
|
||||
// "zDzSXel3PFwx9=6Ybmqv",
|
||||
//)
|
||||
/** ES2 本地测试 **/
|
||||
esClient, err := es.NewESClient(
|
||||
[]string{"http://36.212.1.63:9200"},
|
||||
[]string{"http://localhost:9200"},
|
||||
"elastic",
|
||||
"zDzSXel3PFwx9=6Ybmqv",
|
||||
)
|
||||
///** ES2 本地测试 **/
|
||||
//esClient, err := es.NewESClient(
|
||||
// []string{"http://36.212.1.63:9200"},
|
||||
// "elastic",
|
||||
// "zDzSXel3PFwx9=6Ybmqv",
|
||||
//)
|
||||
|
||||
if err != nil {
|
||||
log.Fatalf("初始化 ES 客户端失败: %s", err)
|
||||
}
|
||||
|
||||
esService := es.NewESSearchService(esClient)
|
||||
|
||||
redisClient.AddClient("db4", "36.212.20.113:7963", "j8nZ4jra2E", 4)
|
||||
// ===================================================================
|
||||
|
||||
// 3. 初始化IP日志路径
|
||||
@ -295,7 +299,7 @@ func main() {
|
||||
// 全字段搜索
|
||||
r.GET("/api/es/searchAll", esService.SearchBooksAllFieldsHandler)
|
||||
// 根据条件查询 ES 图书信息
|
||||
r.GET("/api/es/getBookBaseInfoES", esService.SearchBookBaseInfoESHandler)
|
||||
//r.GET("/api/es/getBookBaseInfoES", esService.SearchBookBaseInfoESHandler)
|
||||
// 新:核价软件用批量获取
|
||||
r.GET("/api/es/batchGetBookBaseInfoES", esService.BatchGetBookBaseInfoESHandler)
|
||||
// 多条件高级搜索
|
||||
|
||||
Loading…
Reference in New Issue
Block a user