Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
杨树贤
/
search_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
e7fc6f26
authored
Jul 21, 2020
by
huangchengyi
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
1.0
parent
76f0856b
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
262 additions
and
74 deletions
cmd/test1.go
conf/rabmq_key.ini
conf/redis_key.ini
controller/mouser_controller.go
controller/quote_controller.go
model/ly.go
pkg/common/function.go
pkg/logger/mylog.go
service/common_ly_service.go → service/ly/common.go
service/mouser_service.go → service/ly/mouser.go
cmd/test1.go
View file @
e7fc6f26
package
main
import
(
"encoding/json"
"flag"
"fmt"
"github.com/tidwall/gjson"
"os"
"search_server/boot"
"search_server/service"
)
func
main
()
{
...
...
@@ -33,15 +34,39 @@ func main() {
//fmt.Println(attrName)
//os.Exit(1)
ss
:=
"LM358"
mouserRes
:=
service
.
OutLink
(
&
ss
,
"-1"
)
for
k
,
mouseItem
:=
range
mouserRes
{
fmt
.
Println
(
k
)
fmt
.
Println
(
mouseItem
.
PriceTemp
)
//ss := "LM358"
//mouserRes := service.OutLink(&ss,"-1")
//for k, mouseItem := range mouserRes {
// fmt.Println(k)
// fmt.Println(mouseItem.PriceTemp)
// os.Exit(1)
//}
//fmt.Errorf()
jsonstr
:=
`{"goods_id":1156147221172418504,"goods_sn":"","spu_id":"2156147221162468806","update_time":1561472211,"goods_status":3,"goods_name":"RC0603FR-07100KL","goods_type":2,"supplier_id":17,"encoded":"10059","batch_sn":"1148","moq":27961,"mpq":1,"stock":1765,"hk_delivery_time":"","cn_delivery_time":"4\u4e2a\u5de5\u4f5c\u65e5","goods_details":"","ladder_price":[{"purchases":2765,"price_cn":0.01072951425,"price_us":0},{"purchases":45654,"price_cn":0.343434,"price_us":6666}],"goods_images":"","canal":"L0000110","cp_time":0}`
m
,
ok
:=
gjson
.
Parse
(
jsonstr
)
.
Value
()
.
(
map
[
string
]
interface
{})
if
!
ok
{
fmt
.
Println
(
ok
)
os
.
Exit
(
1
)
}
//fmt.Errorf()
goods_id
:=
gjson
.
Get
(
jsonstr
,
"goods_id"
)
.
String
()
ladder
:=
gjson
.
Get
(
jsonstr
,
"ladder_price"
)
.
Array
()
temp1
:=
[]
map
[
string
]
float64
{};
for
_
,
value
:=
range
ladder
{
b
:=
value
.
Map
()
temp1
=
append
(
temp1
,
map
[
string
]
float64
{
"purchases"
:
b
[
"purchases"
]
.
Float
(),
"price_cn"
:
b
[
"price_cn"
]
.
Float
(),
"price_us"
:
b
[
"price_us"
]
.
Float
(),
})
}
//fmt.Println(ladder)
//
m
[
"goods_id"
]
=
goods_id
m
[
"ladder_price"
]
=
temp1
dd
,
_
:=
json
.
Marshal
(
m
)
fmt
.
Println
(
string
(
dd
))
//lines := []string{
// `{"index":{"_index":"hcy1","_type":"goods","_id":"s1"} }`,
...
...
@@ -73,7 +98,6 @@ func main() {
os
.
Exit
(
1
)
}
//xml := strings.NewReader(resp)
//json, err := xj.Convert(xml)
//if err != nil {
...
...
@@ -83,4 +107,4 @@ func main() {
//json_str := json.String();
////ss := gjson.Get(json_str,"hello").String()
//
//fmt.Println(json_str)
\ No newline at end of file
//fmt.Println(json_str)
conf/rabmq_key.ini
View file @
e7fc6f26
...
...
@@ -6,8 +6,10 @@ url = amqp:;guest:guest@192.168.2.232:5672/
MQ_BOM_ITEMS_LIST
=
bom_items_list
; bom更新数据队列
MQ_BOM_SKU_LIST
=
bom_sku_list
;联营数据推送入队列-》go后台任务消费(斌哥脚本)
;联营数据
更新-
推送入队列-》go后台任务消费(斌哥脚本)
SEARCH_SKU_UPDATE_LIST
=
search_sku_update_list
;联营数据新增-推送入队列-》go后台任务消费(斌哥脚本)
SEARCH_SKU_LIST
=
search_sku_list
; bom任务id
ZIYING_MQ_BOM_ITEMS_LIST
=
ziying_bom_items_list
; bom更新数据队列
...
...
conf/redis_key.ini
View file @
e7fc6f26
...
...
@@ -22,6 +22,8 @@ SEARCH_API_ERORR_PRE=search_api_overtime_
SEARCH_SHOW_SKU_TIME
=
search_show_sku_time
;获取关税信息,根据goods_name,brand_name获取
TAX_CUSTOMS_INFO
=
tax_customs_info
;存放联营外链原始映射
SKU_RAW_MAP
=
sku_raw_map
[redis_ziyin]
AGG_TABLE
=
sz_ziying_class_aggs
...
...
controller/mouser_controller.go
View file @
e7fc6f26
...
...
@@ -4,29 +4,29 @@ import (
"github.com/gin-gonic/gin"
"search_server/model"
"search_server/pkg/common"
"search_server/service"
"search_server/service
/ly
"
)
//搜索型号
func
GetMouserData
(
c
*
gin
.
Context
)
{
goodsName
,
_
:=
c
.
GetPostForm
(
"goods_name"
)
lycon
:=
new
(
service
.
CommonLyService
)
lycon
:=
new
(
ly
.
CommonLyService
)
//调外链拿数据
apiData
:=
service
.
OutLink
(
&
goodsName
,
"1"
)
apiData
:=
ly
.
OutLink
(
&
goodsName
,
"1"
)
//供应商详情
supplierInfo
:=
model
.
SUPPLIER_REDIS_INFO_
{
SupplierId
:
14
,
SupplierNickname
:
"mouser"
,
}
goods
:=
lycon
.
GetSkuByGoodsSn
(
apiData
,
&
supplierInfo
)
err
:=
lycon
.
GetSkuByGoodsSn
(
apiData
,
&
supplierInfo
)
var
errCode
int
if
len
(
goods
)
==
0
{
if
!
err
{
errCode
=
1
}
res
:=
common
.
BomResponse
{
ErrCode
:
errCode
,
ErrMsg
:
""
,
Data
:
goods
,
Data
:
""
,
}
c
.
JSON
(
200
,
res
)
}
controller/quote_controller.go
View file @
e7fc6f26
...
...
@@ -11,6 +11,7 @@ import (
"search_server/pkg/gredis"
"search_server/requests"
"search_server/service"
"search_server/service/ly"
"search_server/service/transformer"
"strings"
)
...
...
@@ -61,7 +62,7 @@ func QuoteIndex(c *gin.Context) {
}
func
mouserOrg
(
keyword
,
suppliedId
string
)
(
result
map
[
string
]
interface
{},
err
error
)
{
mouserRes
:=
service
.
OutLink
(
&
keyword
,
"-1"
)
mouserRes
:=
ly
.
OutLink
(
&
keyword
,
"-1"
)
redisCon
:=
gredis
.
Conn
(
"search_r"
)
defer
redisCon
.
Close
()
skuMouser
:=
make
(
map
[
string
]
string
)
...
...
model/ly.go
View file @
e7fc6f26
...
...
@@ -2,28 +2,35 @@ package model
//联营请求外链后格式化数据
type
LyClearGoodsList
struct
{
GoodsId
string
`json:"goods_name"`
//型号id
GoodsName
string
`json:"goods_name"`
//型号名称
BrandName
string
`json:"brand_name"`
//品牌名称
Desc
string
`json:"desc"`
//描述
GoodsSn
string
`json:"goods_sn"`
//api唯一编码
Docurl
string
`json:"docurl"`
//sku对应供应商的文档路径
Url
string
`json:"url"`
//sku对应供应商的商品详情
GoodsImg
string
`json:"goods_img"`
//sku图片
Cat
string
`json:"cat"`
//分类
Encoded
string
`json:"encoded"`
//内部编码
RestrictionMessage
string
`json:"RestrictionMessage"`
//额外购买限制内容,如 ‘当前商品不在本地区销售’
Increment
int64
`json:"increment"`
//最小包装量、倍数 =Mpq
SinglePrice
float64
`json:"single_price"`
//最小单价
Stock
int64
`json:"increment"`
//库存
Moq
int64
`json:"moq"`
//最小起订量、起订量
Tiered
[]
*
TierItem
//价格梯度数量
PriceTemp
[]
interface
{}
//拼接梯度,目前只有联营推送队列用
SkuId
string
`json:"sku_id"`
//平台型号id (非必填)
SpuId
string
`json:"spu_id"`
//平台spuId (非必填)
BrandId
string
`json:"brand_id"`
//平台品牌id (非必填)
GoodsName
string
`json:"goods_name"`
//型号名称
BrandName
string
`json:"brand_name"`
//品牌名称
Desc
string
`json:"desc"`
//描述
BatchSn
string
`json:"batch_sn"`
//批次号
GoodsSn
string
`json:"goods_sn"`
//api唯一编码
Docurl
string
`json:"docurl"`
//sku对应供应商的文档路径
Url
string
`json:"url"`
//sku对应供应商的商品详情
GoodsImg
string
`json:"goods_img"`
//sku图片
Cat
string
`json:"cat"`
//分类
Encap
string
`json:"encap"`
//包装
Canal
string
`json:"canal"`
//渠道标签
Encoded
string
`json:"encoded"`
//内部编码
RestrictionMessage
string
`json:"RestrictionMessage"`
//额外购买限制内容,如 ‘当前商品不在本地区销售’
Increment
int64
`json:"increment"`
//最小包装量、倍数 =Mpq
SinglePrice
float64
`json:"single_price"`
//最小单价
Stock
int64
`json:"increment"`
//库存
Moq
int64
`json:"moq"`
//最小起订量、起订量
RawGoodsId
string
`json:"raw_goods_id"`
//外链原始goods_sn,如digikey:{'raw_goods_id': 'AT28C64X-25PC-ND', 'raw_brand_name': 'Microchip Technology'}
RawBrandName
string
`json:"raw_brand_name"`
//外链原始品牌名称,如digikey:{'raw_goods_id': 'AT28C64X-25PC-ND', 'raw_brand_name': 'Microchip Technology'}
Tiered
[]
*
TierItem
//价格梯度数量
PriceTemp
[]
interface
{}
//拼接梯度,目前只有联营推送队列用
}
type
TierItem
struct
{
Purchases
uint64
//购买数量
PriceUs
float64
//数量对应的英文价格
PriceCn
float64
//数量对应的中文价格
Purchases
uint64
`json:"purchases"`
//购买数量
PriceUs
float64
`json:"price_us"`
//数量对应的英文价格
PriceCn
float64
`json:"price_cn"`
//数量对应的中文价格
PriceAc
float64
`json:"price_ac"`
}
...
...
pkg/common/function.go
View file @
e7fc6f26
...
...
@@ -126,7 +126,6 @@ func NumberToHtml(number int) (html string) {
}
return
}
/**
* 生成纯小写字母的字符串
* 返回形式如下 : yuiopkdsi rnvewjeil xmiqplmza
...
...
pkg/logger/mylog.go
0 → 100644
View file @
e7fc6f26
package
logger
import
(
"io"
"os"
"time"
"strings"
)
func
check
(
e
error
)
{
if
e
!=
nil
{
panic
(
e
)
}
}
/**
* 判断文件是否存在 存在返回 true 不存在返回false
*/
func
checkFileIsExist
(
filename
string
)
bool
{
var
exist
=
true
if
_
,
err
:=
os
.
Stat
(
filename
);
os
.
IsNotExist
(
err
)
{
exist
=
false
}
return
exist
}
/*
@param writeString 写入文件字符串
@param file_pre 附加文件前缀
eg: logic.Loginfo("逾期统计开始","_yuqilv_");
*/
func
Log
(
writeString
string
,
log_file_pre
string
)
{
log_file_pre
=
"_"
+
log_file_pre
date
:=
time
.
Now
()
.
Format
(
"2006-01-02"
)
date2
:=
time
.
Now
()
.
Format
(
"2006-01-02 15:04:05"
)
var
filename
=
"./logs/"
+
date
+
log_file_pre
+
".txt"
var
f
*
os
.
File
var
err1
error
if
checkFileIsExist
(
filename
)
{
//如果文件存在
f
,
err1
=
os
.
OpenFile
(
filename
,
os
.
O_APPEND
,
0666
)
//打开文件
}
else
{
f
,
err1
=
os
.
Create
(
filename
)
//创建文件
}
check
(
err1
)
ss
:=
StrReplace
(
"
\r\n
"
,
""
,
writeString
,
1
)
//替换多余换行
io
.
WriteString
(
f
,
"
\r\n
"
+
date2
+
"----"
+
ss
)
//写入文件(字符串)
//fmt.Print(err)
}
// StrReplace str_replace()
func
StrReplace
(
search
,
replace
,
subject
string
,
count
int
)
string
{
return
strings
.
Replace
(
subject
,
search
,
replace
,
count
)
}
service/
common_ly_service
.go
→
service/
ly/common
.go
View file @
e7fc6f26
package
service
package
ly
/*
等同于 php.search_server.middleBaseController
联营请求外链后 更新或者新增到平台 (es,redis,rabmq)
*/
import
(
"encoding/json"
"fmt"
"github.com/gin-gonic/gin"
"github.com/gomodule/redigo/redis"
"github.com/syyongx/php2go"
"github.com/tidwall/gjson"
"search_server/middleware"
"search_server/model"
"search_server/pkg/common"
"search_server/pkg/config"
"search_server/pkg/es"
"search_server/pkg/gredis"
"search_server/pkg/logger"
"search_server/pkg/mq"
"search_server/pkg/mysql"
"strconv"
"strings"
"fmt"
"encoding/json"
)
//定义类名
type
CommonLyService
struct
{
...
...
@@ -51,52 +53,110 @@ func (t *CommonLyService) LyServerRun(){
}
/*
联营
公共类
联营
入口
联营大类,包括修改新增 sku es redis ,推送数据到队列让其他go服务更新数据到mysql
@param goods_list 请求联营格式化后的数据
@param supplier_info 供应商商品详情
*/
func
(
t
*
CommonLyService
)
GetSkuByGoodsSn
(
goodsList
map
[
string
]
*
model
.
LyClearGoodsList
,
supplierInfo
*
model
.
SUPPLIER_REDIS_INFO_
)
map
[
string
]
interface
{}
{
func
(
t
*
CommonLyService
)
GetSkuByGoodsSn
(
goodsList
map
[
string
]
*
model
.
LyClearGoodsList
,
supplierInfo
*
model
.
SUPPLIER_REDIS_INFO_
)
bool
{
t
.
LyServerRun
();
//初始化变量
redis
Read
:=
gredis
.
Conn
(
"search_r
"
)
defer
redis
Read
.
Close
()
redis
Write
:=
gredis
.
Conn
(
"search_w
"
)
defer
redis
Write
.
Close
()
t
.
supplierId
=
supplierInfo
.
SupplierId
t
.
supplierName
=
supplierInfo
.
SupplierNickname
_
,
haveLimitTime
:=
t
.
supplier_over_time
[
supplierInfo
.
SupplierNickname
]
//获取当前供应商更新周期
originGoods
:=
make
(
map
[
string
]
interface
{},
0
)
for
goodsSn
,
info
:=
range
goodsList
{
for
goods_sn
,
info
:=
range
goodsList
{
snSku
:=
php2go
.
Md5
(
strings
.
ToLower
(
goodsSn
))
skuId
,
_
:=
gredis
.
String
(
redisWrite
.
Do
(
"HGET"
,
config
.
Get
(
"redis_all.SKU_UNIQUE_JUDGE"
)
.
String
(),
snSku
))
//查询唯一值,反查sku_id
snSku
:=
php2go
.
Md5
(
strings
.
ToLower
(
goods_sn
))
skuId
,
_
:=
gredis
.
String
(
redisRead
.
Do
(
"HGET"
,
config
.
Get
(
"redis_all.SKU_UNIQUE_JUDGE"
)
.
String
(),
snSku
))
//查询唯一值,反查sku_id
var
sku_flag
bool
=
false
;
//是否新增或者更新db+redis,为true则新增
if
skuId
==
""
{
//为空,先创建sku
/**********新增sku**************/
skuFlag
:=
false
;
//是否新增或者更新db+redis,为true则新增
if
skuId
==
""
{
//redis没有此sku,创建
lock_key
:=
"searchapi_"
+
snSku
;
flag
,
_
:=
redis
.
Bool
(
redisRead
.
Do
(
"SETNX"
,
lock_key
,
php2go
.
Time
()
+
2
))
if
flag
{
//不存在锁,直接新增
sku_flag
=
true
redisRead
.
Do
(
"EXP"
,
lock_key
,
2
)
//给锁有效时间2秒
//sku_id = t.writeSkuInfo(info)
}
else
{
//存在锁
flag
,
_
:=
redis
.
Bool
(
redisWrite
.
Do
(
"SETNX"
,
lock_key
,
php2go
.
Time
()
+
2
))
if
!
flag
{
//防止并发
continue
;
}
//新增操作
skuFlag
=
true
//新增标志
redisWrite
.
Do
(
"EXP"
,
lock_key
,
2
)
//给锁有效时间2秒
skuId
=
t
.
writeSkuInfo
(
info
,
""
)
//新增redis+sku+spu+brand
redisWrite
.
Do
(
"del"
,
lock_key
)
//删除锁
}
info
.
SkuId
=
skuId
;
//获取sku存在redis的详情
redisData
,
_
:=
redis
.
String
(
redisWrite
.
Do
(
"HGET"
,
config
.
Get
(
"redis_all.SKU"
)
.
String
(),
skuId
))
if
redisData
==
""
{
logger
.
Log
(
"此sku不存在redis"
+
skuId
,
"redis_get_sku_error"
)
continue
;
}
redisArr
,
ok
:=
gjson
.
Parse
(
redisData
)
.
Value
()
.
(
map
[
string
]
interface
{})
//redis取值转成map
if
!
ok
{
logger
.
Log
(
"此sku不是正确json格式"
+
redisData
,
"redis_get_sku_error"
)
continue
;
}
//获取spu详情
spuId
:=
gjson
.
Get
(
redisData
,
"spu_id"
)
.
String
();
spuStr
,
_
:=
redis
.
String
(
redisWrite
.
Do
(
"HGET"
,
config
.
Get
(
"redis_all.SPU"
)
.
String
(),
spuId
))
info
.
SpuId
=
spuId
//平台spuid
info
.
BrandId
=
gjson
.
Get
(
spuStr
,
"brand_id"
)
.
String
();
//平台品牌id
if
skuFlag
{
//如果是新增
t
.
createSkuDB
(
info
)
//推入队列->(斌队列消费写redis+go+mongodb)
t
.
esSkuInfo
(
info
)
//新增es数据
}
/**********更新sku**************/
//计算更新周期
var
isUpdate
int64
//是否到时间更新sku
if
haveLimitTime
{
isUpdate
=
php2go
.
Time
()
-
gjson
.
Get
(
redisData
,
"update_time"
)
.
Int
()
-
t
.
supplier_over_time
[
supplierInfo
.
SupplierNickname
]
}
if
isUpdate
>
0
&&
!
skuFlag
{
//需要更新
//更新redis->sku
redisArr
[
"moq"
]
=
info
.
Moq
redisArr
[
"stock"
]
=
info
.
Stock
redisArr
[
"mpq"
]
=
info
.
Moq
redisArr
[
"goods_status"
]
=
1
redisArr
[
"is_expire"
]
=
0
redisArr
[
"ladder"
]
=
info
.
Tiered
redisArr
[
"update_time"
]
=
php2go
.
Time
()
if
supplierInfo
.
SupplierId
==
14
{
redisArr
[
"cp_time"
]
=
0
}
redisJson
,
_
:=
json
.
Marshal
(
redisArr
)
redisWrite
.
Do
(
"HSET"
,
config
.
Get
(
"redis_all.SKU"
)
.
String
(),
redisJson
)
//更新redis->商品映射
if
supplierInfo
.
SupplierId
==
7
{
skuMapJson
,
_
:=
json
.
Marshal
(
map
[
string
]
string
{
"raw_goods_id"
:
info
.
RawGoodsId
,
//原始goods_sn
"raw_brand_name"
:
info
.
RawBrandName
,
//原始品牌名称
})
redisWrite
.
Do
(
"HSET"
,
config
.
Get
(
"redis_all.SKU_RAW_MAP"
)
.
String
(),
skuMapJson
)
}
//更新db
t
.
updateSkuDB
(
info
)
//更新es
t
.
esSkuInfo
(
info
)
}
print
(
info
)
print
(
sku_flag
)
//productList[goodsSn] = &LyClearGoodsList
}
fmt
.
Println
(
originGoods
)
return
originGoods
t
.
pushEs
();
//最后推送ES
return
true
}
/*
生成或者更新 sku信息
*/
func
(
t
*
CommonLyService
)
writeSkuInfo
(
skuInfo
*
model
.
LyClearGoodsList
,
skuId
string
,)
{
func
(
t
*
CommonLyService
)
writeSkuInfo
(
skuInfo
*
model
.
LyClearGoodsList
,
skuId
string
)
string
{
redisWrite
:=
gredis
.
Conn
(
"search_w"
)
defer
redisWrite
.
Close
()
...
...
@@ -139,7 +199,7 @@ func (t *CommonLyService) writeSkuInfo(skuInfo *model.LyClearGoodsList,skuId str
if
t
.
supplierId
==
7
{
redisWrite
.
Do
(
"HSET"
,
config
.
Get
(
"redis_all.SKU_RAW_MAP"
)
.
String
(),
skuKey
,
skuId
)
}
return
skuId
}
/*
...
...
@@ -217,7 +277,7 @@ func (t *CommonLyService) writeBrandInfo(skuInfo *model.LyClearGoodsList) int64
/*
组装推送到es数据
*/
func
(
t
*
CommonLyService
)
EsSkuInfo
(
skuInfo
*
model
.
LyClearGoodsList
,
spuId
*
string
,
brandId
*
string
)
{
func
(
t
*
CommonLyService
)
esSkuInfo
(
skuInfo
*
model
.
LyClearGoodsList
)
{
sort
:=
1
;
//排序
if
skuInfo
.
SinglePrice
>
0
&&
skuInfo
.
Stock
>
0
&&
skuInfo
.
Stock
>=
skuInfo
.
Increment
&&
skuInfo
.
Stock
>=
skuInfo
.
Moq
{
sort
=
31
;
...
...
@@ -240,16 +300,16 @@ func (t * CommonLyService) EsSkuInfo(skuInfo *model.LyClearGoodsList,spuId * str
nowTime
:=
php2go
.
Time
()
param
:=
map
[
string
]
interface
{}{
"goods_id"
:
skuInfo
.
Goods
Id
,
"goods_id"
:
skuInfo
.
Sku
Id
,
"goods_name"
:
skuInfo
.
GoodsName
,
"auto_goods_name"
:
php2go
.
Strtoupper
(
skuInfo
.
GoodsName
),
"brand_id"
:
*
b
randId
,
"brand_id"
:
skuInfo
.
B
randId
,
"brand_name"
:
skuInfo
.
BrandName
,
"supplier_name"
:
t
.
supplierName
,
"class_id1"
:
0
,
"class_id2"
:
0
,
"class_id3"
:
0
,
"spu_id"
:
*
s
puId
,
"spu_id"
:
skuInfo
.
S
puId
,
"sale_time"
:
nowTime
,
"create_time"
:
nowTime
,
"update_time"
:
nowTime
,
...
...
@@ -266,7 +326,7 @@ func (t * CommonLyService) EsSkuInfo(skuInfo *model.LyClearGoodsList,spuId * str
}
paramjson
,
_
:=
json
.
Marshal
(
param
)
t
.
skuEsUpdataList
=
append
(
t
.
skuEsUpdataList
,
`{"index":{"_index":"`
+
t
.
supplierName
+
`","_type":"goods","_id":"`
+
skuInfo
.
Goods
Id
+
`"}}`
)
t
.
skuEsUpdataList
=
append
(
t
.
skuEsUpdataList
,
`{"index":{"_index":"`
+
t
.
supplierName
+
`","_type":"goods","_id":"`
+
skuInfo
.
Sku
Id
+
`"}}`
)
t
.
skuEsUpdataList
=
append
(
t
.
skuEsUpdataList
,
string
(
paramjson
))
}
...
...
@@ -275,7 +335,7 @@ func (t * CommonLyService) EsSkuInfo(skuInfo *model.LyClearGoodsList,spuId * str
推入队列=》(斌 go队列去消费更新db+mongodb..等操作)
*/
func
(
t
*
CommonLyService
)
updateSkuDB
(
skuInfo
*
model
.
LyClearGoodsList
)
{
if
skuInfo
.
Goods
Id
==
""
{
if
skuInfo
.
Sku
Id
==
""
{
return
}
param
:=
map
[
string
]
interface
{}{
...
...
@@ -283,7 +343,7 @@ func (t * CommonLyService) updateSkuDB(skuInfo *model.LyClearGoodsList) {
"stock"
:
skuInfo
.
Stock
,
"tiered"
:
skuInfo
.
PriceTemp
,
"increment"
:
skuInfo
.
Increment
,
"sku_id"
:
skuInfo
.
Goods
Id
,
"sku_id"
:
skuInfo
.
Sku
Id
,
"brand_name"
:
skuInfo
.
BrandName
,
"goods_name"
:
skuInfo
.
GoodsName
,
"goods_sn"
:
skuInfo
.
GoodsSn
,
...
...
@@ -317,3 +377,44 @@ func (t *CommonLyService) pushEs() {
t
.
flagStr
+=
result
}
}
/*
新增sku,组装好数据推送到db(斌哥队列消费后 更新 mongodb+mysql 等)
*/
func
(
t
*
CommonLyService
)
createSkuDB
(
skuInfo
*
model
.
LyClearGoodsList
)
{
if
skuInfo
.
SkuId
==
""
{
return
}
param
:=
map
[
string
]
interface
{}{
"desc"
:
skuInfo
.
Desc
,
"docurl"
:
skuInfo
.
Docurl
,
"goods_img"
:
skuInfo
.
GoodsImg
,
"url"
:
skuInfo
.
Url
,
"spu_id"
:
skuInfo
.
SpuId
,
"brand_id"
:
skuInfo
.
BrandId
,
"batch_sn"
:
skuInfo
.
BatchSn
,
"canal"
:
skuInfo
.
Canal
,
"encoded"
:
skuInfo
.
Encoded
,
"encap"
:
skuInfo
.
Encap
,
"pn"
:
t
.
supplierName
,
"stock"
:
skuInfo
.
Stock
,
"tiered"
:
skuInfo
.
PriceTemp
,
"increment"
:
skuInfo
.
Increment
,
"sku_id"
:
skuInfo
.
SkuId
,
"brand_name"
:
skuInfo
.
BrandName
,
"goods_name"
:
skuInfo
.
GoodsName
,
"goods_sn"
:
skuInfo
.
GoodsSn
,
}
paramjson
,
_
:=
json
.
Marshal
(
param
)
paramStr
:=
string
(
paramjson
)
if
t
.
flag
==
"101"
{
t
.
flagStr
=
"<br/><br/>"
;
t
.
flagStr
=
"推送到go新增db:"
;
t
.
flagStr
=
paramStr
;
t
.
flagStr
=
"<br/><br/>"
;
}
mq
.
PushMsg
(
config
.
Get
(
"rabmq_all.SEARCH_SKU_LIST"
)
.
String
(),
paramStr
)
//推送队列
//记录日志
logger
.
Log
(
paramStr
,
"sku_create"
)
}
service/
mouser_service
.go
→
service/
ly/mouser
.go
View file @
e7fc6f26
package
service
package
ly
import
(
"github.com/imroc/req"
...
...
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