|
|
|
@ -40,6 +40,54 @@ func (o RecookShaMaCategory) TableName() string {
|
|
|
|
|
return "recook_shama_category"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func SyncTax() {
|
|
|
|
|
fmt.Println("start")
|
|
|
|
|
c := jcook.GetClient()
|
|
|
|
|
fmt.Println("start")
|
|
|
|
|
var OutputReg, _ = regexp.Compile("outputVAT:(?s:(\\d+))")
|
|
|
|
|
page := 0
|
|
|
|
|
for {
|
|
|
|
|
fmt.Println("start")
|
|
|
|
|
var gs []goods.RecookGoodsInfoModel
|
|
|
|
|
err := mysql2.Db.Preload("SkuPath").Limit(1000).Offset(page*1000).Find(&gs, "third_party_type = 3").Error
|
|
|
|
|
fmt.Println(err)
|
|
|
|
|
if len(gs) == 0 {
|
|
|
|
|
fmt.Println("end")
|
|
|
|
|
break
|
|
|
|
|
}
|
|
|
|
|
for _, v := range gs {
|
|
|
|
|
for _, j := range v.SkuPath {
|
|
|
|
|
skuID, _ := strconv.Atoi(j.ThirdPartySkuId)
|
|
|
|
|
rq := jcook.SkuDetailReq{
|
|
|
|
|
SkuIDSet: []uint{uint(skuID)},
|
|
|
|
|
}
|
|
|
|
|
var res []jcook.SkuDetailResp
|
|
|
|
|
if err := c.Exec(rq, &res); err != nil {
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
data := res[0]
|
|
|
|
|
r1 := OutputReg.FindAllStringSubmatch(data.SkuDetailBase.Tax, -1)
|
|
|
|
|
tax := r1[0][1]
|
|
|
|
|
tax1, _ := decimal.NewFromString(tax)
|
|
|
|
|
mysql2.Db.Create(&goods.RecookSkuInvoiceModel{
|
|
|
|
|
SkuId: v.SkuPath[0].Id,
|
|
|
|
|
GoodsId: v.SkuPath[0].GoodsId,
|
|
|
|
|
GoodsName: "jcook商品",
|
|
|
|
|
TaxSn: "",
|
|
|
|
|
TaxName: "",
|
|
|
|
|
Unit: "",
|
|
|
|
|
TaxRate: tax1,
|
|
|
|
|
PlatformRate: tax1,
|
|
|
|
|
DeductionRate: tax1,
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
page += 1
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func AttrSync() {
|
|
|
|
|
var sk []goods.RecookGoodsSkuModel
|
|
|
|
|
mysql2.Db.Find(&sk, "third_party_type = 3")
|
|
|
|
|