Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
黄成意
/
go_sku_server
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
445c7644
authored
Aug 19, 2025
by
杨树贤
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
商品名称问题
parent
f2cf48f9
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
49 additions
and
11 deletions
model/prev_sku.go
pkg/config/mongo.go
service/service_ly.go
model/prev_sku.go
0 → 100644
View file @
445c7644
package
model
import
"gopkg.in/mgo.v2/bson"
// PrevSku 对应prev_sku集合的数据结构
type
PrevSku
struct
{
ID
bson
.
ObjectId
`bson:"_id"`
SkuId
int64
`bson:"sku_id"`
SpuId
int64
`bson:"spu_id"`
}
pkg/config/mongo.go
View file @
445c7644
...
...
@@ -18,11 +18,11 @@ func BuildMongoDbConfgs() map[string]MongoDbDatabase {
MaxPoolSize
:
Get
(
"mongo.maxPoolSize"
)
.
String
(),
},
"pre_sku"
:
{
Host
:
Get
(
"
mongo.pre_sku
.host"
)
.
String
(),
UserName
:
Get
(
"
mongo.pre_sku
.username"
)
.
String
(),
Password
:
Get
(
"
mongo.pre_sku
.password"
)
.
String
(),
Database
:
Get
(
"
mongo.pre_sku
.database"
)
.
String
(),
MaxPoolSize
:
Get
(
"
mongo.pre_sku
.maxPoolSize"
)
.
String
(),
Host
:
Get
(
"
pre_sku_mongo
.host"
)
.
String
(),
UserName
:
Get
(
"
pre_sku_mongo
.username"
)
.
String
(),
Password
:
Get
(
"
pre_sku_mongo
.password"
)
.
String
(),
Database
:
Get
(
"
pre_sku_mongo
.database"
)
.
String
(),
MaxPoolSize
:
Get
(
"
pre_sku_mongo
.maxPoolSize"
)
.
String
(),
},
}
}
service/service_ly.go
View file @
445c7644
...
...
@@ -8,6 +8,7 @@ import (
"go_sku_server/pkg/mongo"
"go_sku_server/service/sorter"
"sort"
"strconv"
"sync"
"gopkg.in/mgo.v2"
...
...
@@ -62,15 +63,43 @@ func (ls *LyService) LyGoodsDetail(ctx *gin.Context, goodsIds []string, ch chan
spuList
:=
spuService
.
getSpuList
(
skuArr
)
GoodsRes
:=
sync
.
Map
{}
// 连接prev_sku MongoDB
prevSkuMongo
:=
mongo
.
Conn
(
"pre_sku"
)
for
goodsId
,
skuStr
:=
range
skuArr
{
if
skuStr
==
""
{
GoodsRes
.
Store
(
goodsId
,
false
)
continue
}
//初始化有序map,拼接data数据,就是从redis取出初始数据
sku
:=
model
.
InitSkuData
(
skuStr
)
var
spu
string
if
skuStr
==
""
{
// 如果redis中找不到sku数据,尝试从prev_sku MongoDB中查找
skuId
,
err
:=
strconv
.
ParseInt
(
goodsId
,
10
,
64
)
if
err
!=
nil
{
GoodsRes
.
Store
(
goodsId
,
false
)
continue
}
var
prevSku
model
.
PrevSku
err
=
prevSkuMongo
.
DB
(
"ichunt"
)
.
C
(
"prev_sku"
)
.
Find
(
bson
.
M
{
"sku_id"
:
skuId
})
.
One
(
&
prevSku
)
prevSkuMongo
.
Close
()
if
err
!=
nil
{
// 如果在prev_sku中也找不到,则保持默认值
GoodsRes
.
Store
(
goodsId
,
false
)
continue
}
// 根据找到的spu_id去spu的redis中查找
spuIdStr
:=
strconv
.
FormatInt
(
prevSku
.
SpuId
,
10
)
spuStr
,
_
:=
redis
.
String
(
redisConnSpu
.
Do
(
"HGET"
,
"spu"
,
spuIdStr
))
if
spuStr
==
""
{
// 如果spu缓存也没有,保持默认值
GoodsRes
.
Store
(
goodsId
,
false
)
continue
}
spu
=
spuStr
}
else
{
spu
=
spuList
[
sku
.
SpuId
]
}
sku
.
GoodsId
=
goodsId
spu
:=
spuList
[
sku
.
SpuId
]
//读取包装字段的缓存(分别是DGK,avnet,mro)
if
sku
.
SupplierId
==
7
||
sku
.
SupplierId
==
13
||
sku
.
SupplierId
==
1688
||
sku
.
SupplierId
==
17
{
//sku_raw_map哪里写入(成意写的)
...
...
@@ -85,7 +114,6 @@ func (ls *LyService) LyGoodsDetail(ctx *gin.Context, goodsIds []string, ch chan
if
sku
.
SupplierId
==
7
&&
sku
.
Packing
==
"Tape & Reel (TR)"
{
sku
.
Multiple
=
sku
.
Moq
}
//获取商品名称
//1688就是mro的sku spuName和GoodsName不是一个东西,不能公用
if
sku
.
GoodsName
!=
""
&&
(
sku
.
SupplierId
==
1688
||
sku
.
OrgId
==
3
)
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment