This commit is contained in:
邹宗楠
2026-01-28 14:16:47 +08:00
parent 175dc47c60
commit 22b18f1e02
9 changed files with 67886 additions and 67469 deletions

View File

@@ -49,8 +49,7 @@ func (s *DefScheduler) OnAfsOrderNew(order *model.AfsOrder, isPending bool) (err
storeDetail, err := partner.CurOrderManager.LoadStoreDetail(order.StoreID, order.VendorID)
if err == nil {
afsList, _ := dao.GetAfsOrders(dao.GetDB(), order.VendorID, order.VendorOrderID, "")
if storeDetail.IsPrintRefundOrder == model.YES && len(afsList) == model.YES { // 打印退款订单
if storeDetail.IsPrintRefundOrder == model.YES { // 打印退款订单
order2, _ := partner.CurOrderManager.LoadOrder(order.VendorOrderID, order.VendorID)
_, err = netprinter.PrintRefundOrCancelOrder(jxcontext.AdminCtx, model.NO, order2, order2.JxStoreID)
}

View File

@@ -4,6 +4,7 @@ import (
"encoding/json"
"errors"
"fmt"
"git.rosy.net.cn/jx-callback/business/partner/purchase/mtwm"
"io"
"math"
"mime/multipart"
@@ -3042,6 +3043,89 @@ func UpdateSkuExinfoMap(ctx *jxcontext.Context, nameIDs []int, imgWaterMark stri
return hint, err
}
func UpdateVendorImg(ctx *jxcontext.Context, storeId int, imgWaterMark string, vendorID int, exPrefix string, fromTime, toTime string, isAsync, isContinueWhenError bool) (hint string, err error) {
var (
fromTimeP time.Time
toTimeP time.Time
db = dao.GetDB()
i = 0
// skuIDs []int
)
if fromTime != "" {
fromTimeP = utils.Time2Date(utils.Str2Time(fromTime))
}
if toTime != "" {
toTimeP = utils.Time2Date(utils.Str2Time(toTime))
}
if toTimeP.Before(fromTimeP) {
return "", fmt.Errorf("结束时间不可以小于开始时间!开始时间:[%v],结束时间:[%v]", fromTimeP, toTimeP)
}
task := tasksch.NewParallelTask("刷新商品前缀水印图", tasksch.NewParallelConfig().SetParallelCount(1).SetIsContinueWhenError(isContinueWhenError), ctx,
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
switch vendorID {
case model.VendorIDMTWM:
storeDetail, err := dao.GetStoreDetail(db, storeId, vendorID, "")
if err != nil {
return nil, err
}
api := mtwm.GetAPI(storeDetail.VendorOrgCode, storeId, storeDetail.VendorStoreID)
for {
foodList, _ := api.RetailListAll(storeDetail.VendorStoreID, i)
for _, v := range foodList {
if v.AppFoodCode == "mtcode_2005129131042222122" { // 测试
skuEx := &model.SkuExinfoMap{
NameID: 0,
ImgWatermark: v.PictureList[0], // 原图
ImgWatermarkMix: v.AppFoodCode, // 商品ID
ExPrefix: exPrefix,
VendorID: vendorID,
BeginAt: fromTimeP,
EndAt: toTimeP,
BrandID: 0,
}
dao.WrapAddIDCULDEntity(skuEx, ctx.GetUserName())
dao.CreateEntity(db, skuEx)
param := map[string]interface{}{}
if imgWaterMark != "" {
if ImgMix := jxutils.MixWatermarkImg(imgWaterMark, v.PictureList[0], &fromTimeP, &toTimeP); ImgMix != "" {
picture := make([]string, 0, len(v.PictureList))
picture = append(picture, ImgMix)
if len(v.PictureList) > 1 {
picture = append(picture, v.PictureList[1:]...)
}
param["picture"] = strings.Join(picture, ",")
}
}
if exPrefix != "" {
param["name"] = fmt.Sprintf("%s %s", exPrefix, v.Name)
}
api.RetailInitData(utils.GetUUID(), storeDetail.VendorStoreID, v.AppFoodCode, param)
return nil, err
}
}
if len(foodList) < 100 {
break
}
i++
}
}
return retVal, err
}, nil)
tasksch.HandleTask(task, nil, true).Run()
if isAsync {
hint = task.GetID()
} else {
_, err = task.GetResult(0)
hint = "1"
}
return hint, err
}
func GetVendorCategoryMap(ctx *jxcontext.Context, parentID, level, vendorID int, vendorOrgCode string) (vendorMaps []*model.VendorCategoryMap, err error) {
db := dao.GetDB()
vendorMaps, err = dao.GetVendorCategoryMap(db, parentID, level, vendorID, vendorOrgCode, 0)

View File

@@ -132,6 +132,10 @@ func PrintStoreStatus(ctx *jxcontext.Context, storeDetail *dao.StoreDetail, vend
// PrintRefundOrCancelOrder 打印退单或取消订单信息
func PrintRefundOrCancelOrder(ctx *jxcontext.Context, printType int, order *model.GoodsOrder, storeID int) (printResult *partner.PrinterStatus, err error) {
db := dao.GetDB()
list, _ := dao.GetOrderStatusList(order.VendorOrderID, model.OrderTypeAfsOrder, order.VendorID)
if len(list) > 1 {
return nil, nil
}
store, err := getStore4Print(db, storeID)
if err == nil {
handler, err := GetHandlerFromStore(store)

View File

@@ -2105,3 +2105,15 @@ type StoreOrderRank struct {
OrderCount int `json:"order_count"`
TotalOrders int `json:"total_orders"`
}
func GetOrderStatusList(vendorOrderId string, orderType, vendorId int) ([]*model.OrderStatus, error) {
sql := ` SELECT * FROM order_status WHERE ref_vendor_order_id = ? AND vendor_id = ? AND order_type = ? `
param := []interface{}{vendorOrderId, vendorId, orderType}
orderStatus := make([]*model.OrderStatus, 0, 0)
if err := GetRows(GetDB(), &orderStatus, sql, param); err != nil {
return nil, err
}
return orderStatus, nil
}