feat: sync tax

master
howell 3 years ago
parent 32da0606b2
commit 02fbcfdd59

@ -341,7 +341,7 @@ func UserDestroy(c *gin.Context) {
var userInfo user.Information
dbc.DB.First(&userInfo, p.UserId)
if err = dbc.DB.Model(&userInfo).Updates(user.Information{
Phone: "2" + userInfo.Phone,
Mobile: "2" + userInfo.Mobile,

@ -262,6 +262,11 @@ func (g *Goods) AttrSync(c *gin.Context) {
c.String(200, "suc")
}
func (g *Goods) TaxSync(c *gin.Context) {
SyncTax()
c.String(200, "suc")
}
func (g *Goods) Publish(c *gin.Context) {
go func() {
var gs []goods.RecookGoodsInfoModel

@ -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")

@ -16,6 +16,7 @@ func routerTask(taskRouter *gin.RouterGroup) {
taskRouter.GET("goods/publish", goodsController.Publish) // 更新商品上下级状态
taskRouter.GET("goods/openSearchV2", goodsController.OpenSearchV2)
taskRouter.GET("goods/attr", goodsController.AttrSync) // jcook规格修复
taskRouter.GET("goods/tax", goodsController.TaxSync) // jcook tax修复
taskRouter.GET("weibo/sync", goodsController.WeiboSync) // 微博数据同步

Loading…
Cancel
Save