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
0e1a7e0a
authored
Nov 11, 2025
by
hcy
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
并发问题
parent
d1cfe9f1
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
51 additions
and
23 deletions
controller/sku_controller.go
service/service_ly.go
service/service_spu.go
controller/sku_controller.go
View file @
0e1a7e0a
...
...
@@ -99,7 +99,9 @@ func CommonController(ctx *gin.Context) map[string]interface{} {
if
len
(
preSkuIds
)
==
0
{
var
prevSkuArr
[]
bson
.
M
prevSkuMongo
:=
mongo
.
Conn
(
"pre_sku"
)
defer
func
()
{
prevSkuMongo
.
Close
()
}()
query
:=
bson
.
M
{
"sku_id"
:
bson
.
M
{
"$in"
:
preSkuIds
,
...
...
service/service_ly.go
View file @
0e1a7e0a
...
...
@@ -37,13 +37,6 @@ type Power struct {
func
(
ls
*
LyService
)
LyGoodsDetail
(
ctx
context
.
Context
,
params
RequestParams
,
skuStr
,
goodsId
,
spuStr
string
,
ch
chan
sync
.
Map
,
tag
int
)
{
start_time
:=
common
.
ProTime
()
//redisConn := gredis.Conn("search_r")
//redisConnSpu := gredis.Conn("spu")
//// 连接prev_sku MongoDB
//defer func() {
// //redisConn.Close()
// //redisConnSpu.Close()
//}()
//各种展示条件(从参数中获取,而不是从 gin.Context)
//是否快速展示
...
...
service/service_spu.go
View file @
0e1a7e0a
...
...
@@ -13,20 +13,21 @@ import (
)
var
(
UsdRate
float64
//美金匯率
AllCurrencyRate
map
[
string
]
string
//所有汇率
AllLyBrand
map
[
string
]
string
//所有联营品牌
AllSkuRawMap
map
[
string
]
string
//所有原始编码 sku_raw_map 数据
AllSkuLockMap
map
[
string
]
string
//自营锁库库存
AllExtendFee
map
[
string
]
interface
{}
//所有附加费
AllDelivery
map
[
string
]
map
[
string
]
string
//所有货期,下标:专卖是 canl ,代购 供应商id
AllLyGoodsTag
map
[
string
]
model
.
GoodsTag
//所有联营标签
GoodsSourceTags
map
[
string
]
string
//标签a {"system_tags":["oyr","新品推荐","可议价","可替代","爆款"]}
GoodsLabelTags
map
[
string
]
string
//标签b{"system_tags":["新品推荐","可替代"]}
GoodsClassName
map
[
string
]
string
//分类名称
AllStandardBrands
map
[
string
]
model
.
StandardBrand
//标准品牌
AllErpTax
map
[
string
]
interface
{}
//获取税务信息,对接税务系统
AllSupplierName
map
[
string
]
string
//供应商名称
UsdRate
float64
//美金匯率
AllCurrencyRate
map
[
string
]
string
//所有汇率
AllLyBrand
map
[
string
]
string
//所有联营品牌
AllSkuRawMap
map
[
string
]
string
//所有原始编码 sku_raw_map 数据
AllSkuLockMap
map
[
string
]
string
//自营锁库库存
AllExtendFee
map
[
string
]
interface
{}
//所有附加费
AllDelivery
map
[
string
]
map
[
string
]
string
//所有货期,下标:专卖是 canl ,代购 供应商id
AllLyGoodsTag
map
[
string
]
model
.
GoodsTag
//所有联营标签
GoodsSourceTags
map
[
string
]
string
//标签a {"system_tags":["oyr","新品推荐","可议价","可替代","爆款"]}
GoodsLabelTags
map
[
string
]
string
//标签b{"system_tags":["新品推荐","可替代"]}
GoodsClassName
map
[
string
]
string
//分类名称
AllStandardBrands
map
[
string
]
model
.
StandardBrand
//标准品牌
AllErpTax
map
[
string
]
interface
{}
//获取税务信息,对接税务系统
AllSupplierName
map
[
string
]
string
//供应商名称
AllScmBrands
map
[
string
]
map
[
string
]
interface
{}
//所有scm品牌,普通品牌=>scm品牌
)
// 币种中文
...
...
@@ -166,7 +167,13 @@ func (ss *SpuService) SetInit(redisLySkuArr, redisLySpuArr map[string]string, zy
GoodsLabelTags
=
gredis
.
Hmget
(
"default_r"
,
"goods_label_tags"
,
[]
string
{
"0"
,
"1"
,
"2"
,
"3"
,
"4"
,
"5"
,
"6"
})
var
wg
sync
.
WaitGroup
//
wg
.
Add
(
1
)
go
func
()
{
defer
wg
.
Done
()
BatchScmBrand
(
brandIds
)
//批量H获取供应链标准品牌
}()
wg
.
Add
(
1
)
go
func
()
{
defer
wg
.
Done
()
...
...
@@ -225,6 +232,32 @@ func (ss *SpuService) SetInit(redisLySkuArr, redisLySpuArr map[string]string, zy
}
// 批量H获取供应链标准品牌
func
BatchScmBrand
(
brandIds
[]
string
)
{
brandIds
=
removeDuplicateString
(
brandIds
)
ScmBrandMapping
:=
gredis
.
Hmget
(
"default_r"
,
"pool_scm_brand_mapping"
,
brandIds
)
//批量查询普通品牌
scmBrandIds
:=
make
([]
string
,
0
)
for
_
,
scmBrandId
:=
range
ScmBrandMapping
{
if
scmBrandId
!=
""
{
scmBrandIds
=
append
(
scmBrandIds
,
scmBrandId
)
}
}
standardBrandArr
:=
gredis
.
Hmget
(
"default_r"
,
"pool_scm_brand"
,
removeDuplicateString
(
scmBrandIds
))
//查询品牌映射品牌
AllScmBrands
=
make
(
map
[
string
]
map
[
string
]
interface
{})
for
brandId
,
scmBrandId
:=
range
ScmBrandMapping
{
//普通品牌id=>标品
scmBrandData
:=
standardBrandArr
[
scmBrandId
]
scmBrand
:=
make
(
map
[
string
]
interface
{})
if
scmBrandData
!=
""
{
scmBrand
[
"erp_brand_name"
]
=
gjson
.
Get
(
scmBrandData
,
"erp_brand_name"
)
.
String
()
scmBrand
[
"erp_brand_id"
]
=
gjson
.
Get
(
scmBrandData
,
"erp_brand_id"
)
.
String
()
scmBrand
[
"scm_brand_id"
]
=
gconv
.
String
(
scmBrandId
)
AllScmBrands
[
brandId
]
=
scmBrand
}
}
}
// 获取税务信息,对接税务系统
func
BatchErpTax
(
upmd5Str
[]
string
)
{
taxArr
:=
gredis
.
Hmget
(
"default_r"
,
"tax_customs_info"
,
removeDuplicateString
(
upmd5Str
))
//批量查询品牌
...
...
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