Commit 0e1a7e0a by hcy

并发问题

parent d1cfe9f1
......@@ -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,
......
......@@ -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)
//是否快速展示
......
......@@ -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)) //批量查询品牌
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment