This commit is contained in:
邹宗楠
2023-08-07 16:45:40 +08:00
parent f1199a54d7
commit 0c4a8ac828
7 changed files with 193 additions and 112 deletions

View File

@@ -2686,17 +2686,16 @@ func UpdateTiktokShopTotalMoney() {
func UpdateTaoSettleInfo() { func UpdateTaoSettleInfo() {
db := dao.GetDB() db := dao.GetDB()
storeMaps, err := dao.GetStoresMapList(db, []int{model.VendorIDTaoVegetable}, []int{667321}, nil, -9, -1, "", "", "") storeMaps, err := dao.GetStoresMapList(db, []int{model.VendorIDTaoVegetable}, nil, nil, -9, -1, "", "", "")
if err != nil { if err != nil {
return return
} }
globals.SugarLogger.Debugf("GetStoresMapList ========== %s", utils.Format4Output(storeMaps, false)) timeStart := time.Now().Add(-24 * 90 * time.Hour)
timeStart := time.Now().Add(-72 * time.Hour)
startTime := time.Date(timeStart.Year(), timeStart.Month(), timeStart.Day(), 0, 0, 0, 0, timeStart.Location()) startTime := time.Date(timeStart.Year(), timeStart.Month(), timeStart.Day(), 0, 0, 0, 0, timeStart.Location())
timeEnd := time.Now() timeEnd := time.Now()
endTiem := time.Date(timeEnd.Year(), timeEnd.Month(), timeEnd.Day()-1, 23, 59, 59, 0, timeStart.Location()) endTiem := time.Date(timeEnd.Year(), timeEnd.Month(), timeEnd.Day()-1, 23, 59, 59, 0, timeStart.Location())
for _, v := range storeMaps { for _, v := range storeMaps {
globals.SugarLogger.Debugf("=============UpdateTaoSettleInfo := %s", utils.Format4Output(v, false))
settleInfo, err := tao.GetOrderTotalShopMoney(v.VendorOrgCode, v.VendorStoreID, startTime, endTiem) settleInfo, err := tao.GetOrderTotalShopMoney(v.VendorOrgCode, v.VendorStoreID, startTime, endTiem)
if err != nil { if err != nil {
globals.SugarLogger.Errorf("获取淘鲜达结算信息异常 := %v", err) globals.SugarLogger.Errorf("获取淘鲜达结算信息异常 := %v", err)
@@ -2708,7 +2707,6 @@ func UpdateTaoSettleInfo() {
} }
for orderId2, settle := range settleInfo { for orderId2, settle := range settleInfo {
globals.SugarLogger.Debugf("=============settleInfo := %s,%s", utils.Format4Output(orderId2, false), settle)
goodsOrder, err := partner.CurOrderManager.LoadOrder2(orderId2, model.VendorIDTaoVegetable) goodsOrder, err := partner.CurOrderManager.LoadOrder2(orderId2, model.VendorIDTaoVegetable)
if err != nil || goodsOrder == nil { if err != nil || goodsOrder == nil {
globals.SugarLogger.Debugf("门店[%d:%s],订单查询异常[%s:%v]", v.StoreID, v.StoreName, orderId2, err) globals.SugarLogger.Debugf("门店[%d:%s],订单查询异常[%s:%v]", v.StoreID, v.StoreName, orderId2, err)
@@ -2728,7 +2726,8 @@ func UpdateTaoSettleInfo() {
} }
} }
} }
if _, err := dao.UpdateEntity(db, v, "TotalShopMoney", "NewEarningPrice"); err != nil { globals.SugarLogger.Debugf("更新本地订单结算信息 := %s,%d", goodsOrder.VendorOrderID, goodsOrder.TotalShopMoney)
if _, err := dao.UpdateEntity(db, goodsOrder, "TotalShopMoney", "NewEarningPrice"); err != nil {
globals.SugarLogger.Errorf("更新本地订单结算信息错误 : %s", err) globals.SugarLogger.Errorf("更新本地订单结算信息错误 : %s", err)
continue continue
} }

View File

@@ -676,78 +676,78 @@ var beijin = []int{
//669094, //669094,
//669093, //669093,
//669092, //669092,
669091, //669091,
669087, //669087,
669086, //669086,
669085, //669085,
669084, // zheer //669084, // zheer
669083, //669083,
669082, //669082,
669079, //669079,
669078, //669078,
669077, //669077,
669075, //669075,
669074, //669074,
669072, //669072,
669070, //669070,
669067, //669067,
669064, //669064,
669063, //669063,
669062, //669062,
669060, //669060,
669059, //669059,
669056, //669056,
669055, //669055,
669054, //669054,
669050, //669050,
669049, //669049,
669047, //669047, //
669046, //669046,
669045, //669045,
669042, //669042,
669041, //669041,
669038, //669038,
669036, //669036,
669035, //669035,
669033, //669033,
669032, //669032, // zher
669031, //669031,
669027, //669027,
669025, //669025,
669024, //669024,
669022, //669022,
669021, //669021,
669020, //669020,
669017, //669017,
669015, //669015, /// zher
669014, //669014,
669012, //669012,
669009, //669009,
669007, //669007,
669002, //669002,
669000, //669000,
668999, //668999,
668997, //668997,
668996, //668996,
668993, //668993, //
668988, //668988,
668986, //668986,
668984, //668984,
668966, //668966,
668963, //668963,
668961, //668961,
668958, //668958,
668954, //668954,
668950, //668950,
668948, //668948,
668946, //668946,
668943, //668943, ///
668938, //668938,
668928, //668928,
668910, //668910,
668907, //668907,
668900, //668900,
668897, //668897,
668896, 668896,
668891, 668891,
668889, 668889,

View File

@@ -0,0 +1,16 @@
package dao
import "git.rosy.net.cn/jx-callback/business/model"
func GetVendorImg(skuId, vendorId int) (*model.TaoSkuImg, error) {
result := &model.TaoSkuImg{}
sql := ` SELECT * FROM tao_sku_img WHERE sku_id = ? AND vendor_id = ?`
parma := []interface{}{skuId, vendorId}
if err := GetRow(GetDB(), result, sql, parma); err != nil {
return nil, err
}
return result, nil
}

View File

@@ -162,15 +162,15 @@ type SkuName struct {
ExPrefixBegin *time.Time `orm:"null" json:"exPrefixBegin"` ExPrefixBegin *time.Time `orm:"null" json:"exPrefixBegin"`
ExPrefixEnd *time.Time `orm:"null" json:"exPrefixEnd"` ExPrefixEnd *time.Time `orm:"null" json:"exPrefixEnd"`
ExVendorID int `orm:"column(ex_vendor_id)" json:"exVendorID"` ExVendorID int `orm:"column(ex_vendor_id)" json:"exVendorID"`
BrandID int `orm:"column(brand_id);default(0)" json:"brandID"` // todo此属性暂时没有使用且有问题应该是不同平台都有一个brandid BrandID int `orm:"column(brand_id);default(0)" json:"brandID"` // todo此属性暂时没有使用且有问题应该是不同平台都有一个brandid
CategoryID int `orm:"column(category_id);index" json:"categoryID"` // 标准类别 CategoryID int `orm:"column(category_id);index" json:"categoryID"` // 标准类别
JdCategoryID int64 `orm:"column(jd_category_id)" json:"jdCategoryID"` // 这个是指对应的京东商品类别 JdCategoryID int64 `orm:"column(jd_category_id)" json:"jdCategoryID"` // 这个是指对应的京东商品类别
IsGlobal int8 `orm:"default(1)" json:"isGlobal"` // 是否是全部全国可见如果否的话可见性由SkuPlace决定 IsGlobal int8 `orm:"default(1)" json:"isGlobal"` // 是否是全部全国可见如果否的话可见性由SkuPlace决定
Unit string `orm:"size(8)" json:"unit"` Unit string `orm:"size(8)" json:"unit"` //
SpecQuality float32 `json:"-"` // 为份必然为500这个主要作用只是用于确保SkuName的唯一性 SpecQuality float32 `json:"-"` // 为份必然为500这个主要作用只是用于确保SkuName的唯一性
SpecUnit string `orm:"size(8)" json:"-"` // 为份必然为克这个主要作用只是用于确保SkuName的唯一性 SpecUnit string `orm:"size(8)" json:"-"` // 为份必然为克这个主要作用只是用于确保SkuName的唯一性
Price int `json:"price"` // 单位为分标准价不为份的就为实际标准价为份的为每市斤价实际还要乘质量。todo 为份的确定必须有质量 Price int `json:"price"` // 单位为分标准价不为份的就为实际标准价为份的为每市斤价实际还要乘质量。todo 为份的确定必须有质量
Img string `orm:"size(512)" json:"img"` Img string `orm:"size(512)" json:"img"` //
Img2 string `orm:"size(512)" json:"img2"` // 第二张图片 Img2 string `orm:"size(512)" json:"img2"` // 第二张图片
Img3 string `orm:"size(512)" json:"img3"` //第三张图片 Img3 string `orm:"size(512)" json:"img3"` //第三张图片
Img4 string `orm:"size(512)" json:"img4"` //第三张图片 Img4 string `orm:"size(512)" json:"img4"` //第三张图片

View File

@@ -0,0 +1,18 @@
package model
type TaoSkuImg struct {
SkuID int `orm:"column(sku_id)"`
VendorID int `orm:"column(vendor_id)" json:"vendorID"`
Img string `orm:"size(512)" json:"img"`
Img2 string `orm:"size(512)" json:"img2"` // 第二张图片
Img3 string `orm:"size(512)" json:"img3"` //第三张图片
Img4 string `orm:"size(512)" json:"img4"` //第三张图片
Img5 string `orm:"size(512)" json:"img5"` //第三张图片
DescImg string `orm:"size(512)" json:"descImg"` // 商品详情图片描述
}
func (*TaoSkuImg) TableUnique() [][]string {
return [][]string{
[]string{"SkuID", "VendorID"},
}
}

View File

@@ -253,7 +253,7 @@ func UpdateTaoVegetable(api *tao_vegetable.API, storeSkuList []*dao.StoreSkuSync
updateSku.PurchaseQuantity = utils.Int64ToPointer(int64(v.MinOrderCount)) // 起购单位 updateSku.PurchaseQuantity = utils.Int64ToPointer(int64(v.MinOrderCount)) // 起购单位
} }
// 修改暂时不修改图片,保持效率 // 修改暂时不修改图片,保持效率
updateSku.SkuPicUrls = uploadImg(api, []string{v.Img, v.Img2, v.Img3, v.Img4, v.Img5, v.DescImg}) updateSku.SkuPicUrls = uploadImg(api, v.SkuID, model.VendorIDTaoVegetable, []string{v.Img, v.Img2, v.Img3, v.Img4, v.Img5, v.DescImg})
if updateSku.SkuPicUrls == nil { if updateSku.SkuPicUrls == nil {
continue continue
} }
@@ -323,7 +323,7 @@ func createTaoVegetable(ctx *jxcontext.Context, api *tao_vegetable.API, storeSku
RichText: utils.String2Pointer(storeSku.Name), RichText: utils.String2Pointer(storeSku.Name),
AllowAppSale: utils.Int64ToPointer(tao_vegetable.IsAllowAppSale), AllowAppSale: utils.Int64ToPointer(tao_vegetable.IsAllowAppSale),
} }
sku.SkuPicUrls = uploadImg(api, []string{storeSku.Img, storeSku.Img2, storeSku.Img3, storeSku.Img4, storeSku.Img5, storeSku.DescImg}) sku.SkuPicUrls = uploadImg(api, storeSku.SkuID, model.VendorIDTaoVegetable, []string{storeSku.Img, storeSku.Img2, storeSku.Img3, storeSku.Img4, storeSku.Img5, storeSku.DescImg})
if sku.SkuPicUrls == nil { if sku.SkuPicUrls == nil {
continue continue
} }
@@ -441,34 +441,81 @@ func checkNameLength(name string, weight int, uint string) string {
return lastName[0:60] return lastName[0:60]
} }
func uploadImg(api *tao_vegetable.API, imgs []string) *string { func uploadImg(api *tao_vegetable.API, skuId, vendorId int, imgs []string) *string {
vendorImg, _ := dao.GetVendorImg(skuId, vendorId)
result := make([]string, 0, 0) result := make([]string, 0, 0)
for _, v := range imgs {
if v == "" {
continue
}
inputTitle := strings.LastIndex(v, "/") isCreate := false
title := strings.LastIndex(v, ".") if vendorImg == nil || (vendorImg.Img == "" && vendorImg.Img2 == "" && vendorImg.Img3 == "" && vendorImg.Img4 == "" && vendorImg.Img5 == "" && vendorImg.DescImg == "") {
resp, err := http.Get(v) isCreate = true
if err != nil { for i := 0; i < len(imgs); i++ {
continue if imgs[i] == "" {
} continue
body, _ := ioutil.ReadAll(resp.Body) }
// 图片失效
if strings.Contains(string(body), "Document not found") || len(body) == 0 {
continue
}
if newImg, _ := api.UploadImg(&request1475.AlibabaWdkPictureUploadRequest{ inputTitle := strings.LastIndex(imgs[i], "/")
PictureCategoryId: utils.Int64ToPointer(0), title := strings.LastIndex(imgs[i], ".")
Img: &body, resp, err := http.Get(imgs[i])
ImgInputTitle: utils.String2Pointer(v[inputTitle:]), if err != nil {
Title: utils.String2Pointer(v[inputTitle:title]), continue
}); newImg != "" { }
result = append(result, newImg) body, _ := ioutil.ReadAll(resp.Body)
// 图片失效
if strings.Contains(string(body), "Document not found") || len(body) == 0 {
continue
}
newImg, _ := api.UploadImg(&request1475.AlibabaWdkPictureUploadRequest{
PictureCategoryId: utils.Int64ToPointer(0),
Img: &body,
ImgInputTitle: utils.String2Pointer(imgs[i][inputTitle:]),
Title: utils.String2Pointer(imgs[i][inputTitle:title]),
})
if newImg != "" {
result = append(result, newImg)
}
switch i {
case 0:
vendorImg.Img = newImg
case 1:
vendorImg.Img2 = newImg
case 2:
vendorImg.Img3 = newImg
case 3:
vendorImg.Img4 = newImg
case 4:
vendorImg.Img5 = newImg
case 5:
vendorImg.DescImg = newImg
}
}
} else {
if vendorImg.Img != "" {
result = append(result, vendorImg.Img)
}
if vendorImg.Img2 != "" {
result = append(result, vendorImg.Img2)
}
if vendorImg.Img3 != "" {
result = append(result, vendorImg.Img3)
}
if vendorImg.Img4 != "" {
result = append(result, vendorImg.Img4)
}
if vendorImg.Img5 != "" {
result = append(result, vendorImg.Img5)
}
if vendorImg.DescImg != "" {
result = append(result, vendorImg.DescImg)
} }
} }
if isCreate {
vendorImg.SkuID = skuId
vendorImg.VendorID = vendorId
dao.CreateEntity(dao.GetDB(), &vendorImg)
}
// 商品图片最多五张 // 商品图片最多五张
if len(result) > 5 { if len(result) > 5 {
return utils.String2Pointer(strings.Join(result[1:], ",")) return utils.String2Pointer(strings.Join(result[1:], ","))

View File

@@ -67,6 +67,7 @@ func Init() {
orm.RegisterModel(&model.Brand{}, &model.BrandCategoryMap{}) orm.RegisterModel(&model.Brand{}, &model.BrandCategoryMap{})
orm.RegisterModel(&model.BrandStore{}) orm.RegisterModel(&model.BrandStore{})
orm.RegisterModel(&model.BrandBill{}, &model.BrandOrder{}, &model.BrandUser{}) orm.RegisterModel(&model.BrandBill{}, &model.BrandOrder{}, &model.BrandUser{})
orm.RegisterModel(&model.TaoSkuImg{})
orm.RegisterModel(&model.AuthBind{}, &model.User{}) orm.RegisterModel(&model.AuthBind{}, &model.User{})