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() {
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 {
return
}
globals.SugarLogger.Debugf("GetStoresMapList ========== %s", utils.Format4Output(storeMaps, false))
timeStart := time.Now().Add(-72 * time.Hour)
timeStart := time.Now().Add(-24 * 90 * time.Hour)
startTime := time.Date(timeStart.Year(), timeStart.Month(), timeStart.Day(), 0, 0, 0, 0, timeStart.Location())
timeEnd := time.Now()
endTiem := time.Date(timeEnd.Year(), timeEnd.Month(), timeEnd.Day()-1, 23, 59, 59, 0, timeStart.Location())
for _, v := range storeMaps {
globals.SugarLogger.Debugf("=============UpdateTaoSettleInfo := %s", utils.Format4Output(v, false))
settleInfo, err := tao.GetOrderTotalShopMoney(v.VendorOrgCode, v.VendorStoreID, startTime, endTiem)
if err != nil {
globals.SugarLogger.Errorf("获取淘鲜达结算信息异常 := %v", err)
@@ -2708,7 +2707,6 @@ func UpdateTaoSettleInfo() {
}
for orderId2, settle := range settleInfo {
globals.SugarLogger.Debugf("=============settleInfo := %s,%s", utils.Format4Output(orderId2, false), settle)
goodsOrder, err := partner.CurOrderManager.LoadOrder2(orderId2, model.VendorIDTaoVegetable)
if err != nil || goodsOrder == nil {
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)
continue
}

View File

@@ -676,78 +676,78 @@ var beijin = []int{
//669094,
//669093,
//669092,
669091,
669087,
669086,
669085,
669084, // zheer
669083,
669082,
669079,
669078,
669077,
669075,
669074,
669072,
669070,
669067,
669064,
669063,
669062,
669060,
669059,
669056,
669055,
669054,
669050,
669049,
669047,
669046,
669045,
669042,
669041,
669038,
669036,
669035,
669033,
669032,
669031,
669027,
669025,
669024,
669022,
669021,
669020,
669017,
669015,
669014,
669012,
669009,
669007,
669002,
669000,
668999,
668997,
668996,
668993,
668988,
668986,
668984,
668966,
668963,
668961,
668958,
668954,
668950,
668948,
668946,
668943,
668938,
668928,
668910,
668907,
668900,
668897,
//669091,
//669087,
//669086,
//669085,
//669084, // zheer
//669083,
//669082,
//669079,
//669078,
//669077,
//669075,
//669074,
//669072,
//669070,
//669067,
//669064,
//669063,
//669062,
//669060,
//669059,
//669056,
//669055,
//669054,
//669050,
//669049,
//669047, //
//669046,
//669045,
//669042,
//669041,
//669038,
//669036,
//669035,
//669033,
//669032, // zher
//669031,
//669027,
//669025,
//669024,
//669022,
//669021,
//669020,
//669017,
//669015, /// zher
//669014,
//669012,
//669009,
//669007,
//669002,
//669000,
//668999,
//668997,
//668996,
//668993, //
//668988,
//668986,
//668984,
//668966,
//668963,
//668961,
//668958,
//668954,
//668950,
//668948,
//668946,
//668943, ///
//668938,
//668928,
//668910,
//668907,
//668900,
//668897,
668896,
668891,
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"`
ExPrefixEnd *time.Time `orm:"null" json:"exPrefixEnd"`
ExVendorID int `orm:"column(ex_vendor_id)" json:"exVendorID"`
BrandID int `orm:"column(brand_id);default(0)" json:"brandID"` // todo此属性暂时没有使用且有问题应该是不同平台都有一个brandid
CategoryID int `orm:"column(category_id);index" json:"categoryID"` // 标准类别
JdCategoryID int64 `orm:"column(jd_category_id)" json:"jdCategoryID"` // 这个是指对应的京东商品类别
IsGlobal int8 `orm:"default(1)" json:"isGlobal"` // 是否是全部全国可见如果否的话可见性由SkuPlace决定
Unit string `orm:"size(8)" json:"unit"`
SpecQuality float32 `json:"-"` // 为份必然为500这个主要作用只是用于确保SkuName的唯一性
SpecUnit string `orm:"size(8)" json:"-"` // 为份必然为克这个主要作用只是用于确保SkuName的唯一性
Price int `json:"price"` // 单位为分标准价不为份的就为实际标准价为份的为每市斤价实际还要乘质量。todo 为份的确定必须有质量
Img string `orm:"size(512)" json:"img"`
BrandID int `orm:"column(brand_id);default(0)" json:"brandID"` // todo此属性暂时没有使用且有问题应该是不同平台都有一个brandid
CategoryID int `orm:"column(category_id);index" json:"categoryID"` // 标准类别
JdCategoryID int64 `orm:"column(jd_category_id)" json:"jdCategoryID"` // 这个是指对应的京东商品类别
IsGlobal int8 `orm:"default(1)" json:"isGlobal"` // 是否是全部全国可见如果否的话可见性由SkuPlace决定
Unit string `orm:"size(8)" json:"unit"` //
SpecQuality float32 `json:"-"` // 为份必然为500这个主要作用只是用于确保SkuName的唯一性
SpecUnit string `orm:"size(8)" json:"-"` // 为份必然为克这个主要作用只是用于确保SkuName的唯一性
Price int `json:"price"` // 单位为分标准价不为份的就为实际标准价为份的为每市斤价实际还要乘质量。todo 为份的确定必须有质量
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"` //第三张图片

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.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 {
continue
}
@@ -323,7 +323,7 @@ func createTaoVegetable(ctx *jxcontext.Context, api *tao_vegetable.API, storeSku
RichText: utils.String2Pointer(storeSku.Name),
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 {
continue
}
@@ -441,34 +441,81 @@ func checkNameLength(name string, weight int, uint string) string {
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)
for _, v := range imgs {
if v == "" {
continue
}
inputTitle := strings.LastIndex(v, "/")
title := strings.LastIndex(v, ".")
resp, err := http.Get(v)
if err != nil {
continue
}
body, _ := ioutil.ReadAll(resp.Body)
// 图片失效
if strings.Contains(string(body), "Document not found") || len(body) == 0 {
continue
}
isCreate := false
if vendorImg == nil || (vendorImg.Img == "" && vendorImg.Img2 == "" && vendorImg.Img3 == "" && vendorImg.Img4 == "" && vendorImg.Img5 == "" && vendorImg.DescImg == "") {
isCreate = true
for i := 0; i < len(imgs); i++ {
if imgs[i] == "" {
continue
}
if newImg, _ := api.UploadImg(&request1475.AlibabaWdkPictureUploadRequest{
PictureCategoryId: utils.Int64ToPointer(0),
Img: &body,
ImgInputTitle: utils.String2Pointer(v[inputTitle:]),
Title: utils.String2Pointer(v[inputTitle:title]),
}); newImg != "" {
result = append(result, newImg)
inputTitle := strings.LastIndex(imgs[i], "/")
title := strings.LastIndex(imgs[i], ".")
resp, err := http.Get(imgs[i])
if err != nil {
continue
}
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 {
return utils.String2Pointer(strings.Join(result[1:], ","))

View File

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