This commit is contained in:
邹宗楠
2026-06-24 16:17:43 +08:00
parent c4717ecec7
commit 5bbc71a47f
20 changed files with 61039 additions and 60687 deletions

View File

@@ -6786,3 +6786,26 @@ func GetStoreSettlementList(storeId []int, start, end time.Time, vendorId []int,
func GetCityCodeSettlementList(cityCode []string, start, end time.Time, vendorId []int, size, offset int, rank string) (*model.PagedInfo, error) { func GetCityCodeSettlementList(cityCode []string, start, end time.Time, vendorId []int, size, offset int, rank string) (*model.PagedInfo, error) {
return dao.StatisticsSettlementByCity(dao.GetDB(), cityCode, start, end, vendorId, size, offset, rank) return dao.StatisticsSettlementByCity(dao.GetDB(), cityCode, start, end, vendorId, size, offset, rank)
} }
func DeleteOrderUploadImg() error {
var (
db = dao.GetDB()
data = make([]*model.GoodsOrderImg, 0, 0)
)
if err := dao.GetRows(db, &data, `SELECT * FROM goods_order_img WHERE created_at <= ? `, time.Now().AddDate(0, 0, -7)); err != nil {
return err
}
for _, v := range data {
var imgList []string
if err := jxutils.Strings2Objs(v.OriginalData, &imgList); err != nil {
return err
}
for _, il := range imgList {
jxutils.DeleteExportContent(strings.Split(il, "/")[3])
}
dao.DeleteEntity(db, v, "ID")
}
return nil
}

View File

@@ -504,6 +504,10 @@ func Init() {
ScheduleTimerFunc("AutoSaleStoreSku", func() { ScheduleTimerFunc("AutoSaleStoreSku", func() {
cms.AutoSaleStoreSku(jxcontext.AdminCtx, nil, true) cms.AutoSaleStoreSku(jxcontext.AdminCtx, nil, true)
}, autoSaleStoreSkuTimeList) }, autoSaleStoreSkuTimeList)
// 删除图片(定时任务删除门店老板上传美团订单拣货图片)
ScheduleTimerFunc("DeleteOrderUploadImg", func() {
cms.DeleteOrderUploadImg()
}, createStorePriceTimeList)
// 菜市无聊信息同步到果园 // 菜市无聊信息同步到果园
if beego.BConfig.RunMode == model.ServerTypeFruits { if beego.BConfig.RunMode == model.ServerTypeFruits {

View File

@@ -193,6 +193,21 @@ func (o *GoodsOrderOriginal) TableUnique() [][]string {
} }
} }
// GoodsOrderImg 订单图片上传记录
type GoodsOrderImg struct {
ID int64 `orm:"column(id)" json:"-"`
CreatedAt time.Time `orm:"auto_now_add;type(datetime)" json:"createdAt"`
VendorOrderID string `orm:"column(vendor_order_id);size(48)" json:"vendorOrderID"`
VendorID int `orm:"column(vendor_id)" json:"vendorID"`
OriginalData string `orm:"type(text)" json:"-"`
}
func (o *GoodsOrderImg) TableIndex() [][]string {
return [][]string{
[]string{"CreatedAt"},
}
}
type OrderSku struct { type OrderSku struct {
ID int64 `orm:"column(id)" json:"id"` ID int64 `orm:"column(id)" json:"id"`
VendorOrderID string `orm:"column(vendor_order_id);size(48)" json:"vendorOrderID"` VendorOrderID string `orm:"column(vendor_order_id);size(48)" json:"vendorOrderID"`

View File

@@ -173,6 +173,8 @@ type IPurchasePlatformStoreSkuHandler interface {
// UploadInvoice 发票回复 // UploadInvoice 发票回复
UploadInvoice(param *model.InvoiceMsg, base64 string) ([]string, []string, error) UploadInvoice(param *model.InvoiceMsg, base64 string) ([]string, []string, error)
// UploadPickingImg 上传订单拣货图片
UploadPickingImg(order *model.GoodsOrder, imgList []string) error
} }
type ISingleStoreStoreSkuHandler interface { type ISingleStoreStoreSkuHandler interface {

View File

@@ -1093,3 +1093,8 @@ func (c *PurchaseHandler) UploadInvoice(param *model.InvoiceMsg, base64 string)
} }
return result.SuccessfulApplicationNoList, result.FailedApplicationNoList, nil return result.SuccessfulApplicationNoList, result.FailedApplicationNoList, nil
} }
// UploadPickingImg 上传拣货图片
func (c *PurchaseHandler) UploadPickingImg(order *model.GoodsOrder, imgList []string) error {
return nil
}

View File

@@ -359,3 +359,8 @@ func (c *PurchaseHandler) ApplyCompensationOrder(order *model.GoodsOrder) (strin
func (c *PurchaseHandler) UploadInvoice(param *model.InvoiceMsg) ([]string, []string, error) { func (c *PurchaseHandler) UploadInvoice(param *model.InvoiceMsg) ([]string, []string, error) {
return nil, nil, nil return nil, nil, nil
} }
// UploadPickingImg 上传拣货图片
func (c *PurchaseHandler) UploadPickingImg(order *model.GoodsOrder, imgList []string) error {
return nil
}

View File

@@ -734,3 +734,8 @@ func (c *PurchaseHandler) UploadInvoice(param *model.InvoiceMsg, base64 string)
return nil, nil, getAPI(order.VendorOrgCode).UploadBlueTicket(blue) return nil, nil, getAPI(order.VendorOrgCode).UploadBlueTicket(blue)
} }
// UploadPickingImg 上传拣货图片
func (c *PurchaseHandler) UploadPickingImg(order *model.GoodsOrder, imgList []string) error {
return nil
}

View File

@@ -348,3 +348,8 @@ func (c *PurchaseHandler) ApplyCompensationOrder(order *model.GoodsOrder) (strin
func (c *PurchaseHandler) UploadInvoice(param *model.InvoiceMsg, base64 string) ([]string, []string, error) { func (c *PurchaseHandler) UploadInvoice(param *model.InvoiceMsg, base64 string) ([]string, []string, error) {
return nil, nil, nil return nil, nil, nil
} }
// UploadPickingImg 上传拣货图片
func (c *PurchaseHandler) UploadPickingImg(order *model.GoodsOrder, imgList []string) error {
return nil
}

View File

@@ -176,3 +176,8 @@ func (c *PurchaseHandler) ApplyCompensationOrder(order *model.GoodsOrder) (strin
func (c *PurchaseHandler) UploadInvoice(param *model.InvoiceMsg) ([]string, []string, error) { func (c *PurchaseHandler) UploadInvoice(param *model.InvoiceMsg) ([]string, []string, error) {
return nil, nil, nil return nil, nil, nil
} }
// UploadPickingImg 上传拣货图片
func (c *PurchaseHandler) UploadPickingImg(order *model.GoodsOrder, imgList []string) error {
return nil
}

View File

@@ -1075,3 +1075,8 @@ func (c *PurchaseHandler) UploadInvoice(param *model.InvoiceMsg, base64 string)
return nil, nil, getAPI(goodsOrder.VendorOrgCode, jxutils.GetSaleStoreIDFromOrder(goodsOrder), goodsOrder.VendorStoreID).UploadInvoice(param.OrderId, param.InvoiceUrl, param.InvoiceId, param.InvoiceTaskId) return nil, nil, getAPI(goodsOrder.VendorOrgCode, jxutils.GetSaleStoreIDFromOrder(goodsOrder), goodsOrder.VendorStoreID).UploadInvoice(param.OrderId, param.InvoiceUrl, param.InvoiceId, param.InvoiceTaskId)
} }
// UploadPickingImg 上传拣货图片
func (c *PurchaseHandler) UploadPickingImg(order *model.GoodsOrder, imgList []string) error {
return getAPI(order.VendorOrgCode, jxutils.GetSaleStoreIDFromOrder(order), order.VendorStoreID).UploadMediaToOrder(order.VendorOrderID, imgList)
}

View File

@@ -1003,3 +1003,8 @@ func (c *PurchaseHandler) ApplyCompensationOrder(order *model.GoodsOrder) (strin
func (c *PurchaseHandler) UploadInvoice(param *model.InvoiceMsg, base64 string) ([]string, []string, error) { func (c *PurchaseHandler) UploadInvoice(param *model.InvoiceMsg, base64 string) ([]string, []string, error) {
return nil, nil, nil return nil, nil, nil
} }
// UploadPickingImg 上传拣货图片
func (c *PurchaseHandler) UploadPickingImg(order *model.GoodsOrder, imgList []string) error {
return nil
}

View File

@@ -1121,3 +1121,8 @@ func (c *PurchaseHandler) ApplyCompensationOrder(order *model.GoodsOrder) (strin
func (c *PurchaseHandler) UploadInvoice(param *model.InvoiceMsg, base64 string) ([]string, []string, error) { func (c *PurchaseHandler) UploadInvoice(param *model.InvoiceMsg, base64 string) ([]string, []string, error) {
return nil, nil, nil return nil, nil, nil
} }
// UploadPickingImg 上传拣货图片
func (c *PurchaseHandler) UploadPickingImg(order *model.GoodsOrder, imgList []string) error {
return nil
}

View File

@@ -322,3 +322,8 @@ func (c *PurchaseHandler) GetOrderSettleAccounts(order *model.GoodsOrder) (int64
func (c *PurchaseHandler) ApplyCompensationOrder(order *model.GoodsOrder) (string, error) { func (c *PurchaseHandler) ApplyCompensationOrder(order *model.GoodsOrder) (string, error) {
return "", nil return "", nil
} }
// UploadPickingImg 上传拣货图片
func (c *PurchaseHandler) UploadPickingImg(order *model.GoodsOrder, imgList []string) error {
return nil
}

View File

@@ -127,3 +127,8 @@ func (c *PurchaseHandler) ApplyCompensationOrder(order *model.GoodsOrder) (strin
func (c *PurchaseHandler) UploadInvoice(param *model.InvoiceMsg, base64 string) ([]string, []string, error) { func (c *PurchaseHandler) UploadInvoice(param *model.InvoiceMsg, base64 string) ([]string, []string, error) {
return nil, nil, nil return nil, nil, nil
} }
// UploadPickingImg 上传拣货图片
func (c *PurchaseHandler) UploadPickingImg(order *model.GoodsOrder, imgList []string) error {
return nil
}

View File

@@ -3,13 +3,16 @@ package controllers
import ( import (
"encoding/json" "encoding/json"
"errors" "errors"
"fmt"
"git.rosy.net.cn/baseapi/utils" "git.rosy.net.cn/baseapi/utils"
"git.rosy.net.cn/jx-callback/business/jxutils" "git.rosy.net.cn/jx-callback/business/jxutils"
"git.rosy.net.cn/jx-callback/business/model" "git.rosy.net.cn/jx-callback/business/model"
"git.rosy.net.cn/jx-callback/business/model/dao" "git.rosy.net.cn/jx-callback/business/model/dao"
"git.rosy.net.cn/jx-callback/business/partner"
"git.rosy.net.cn/jx-callback/business/partner/purchase/jx/localjx" "git.rosy.net.cn/jx-callback/business/partner/purchase/jx/localjx"
"github.com/astaxie/beego/server/web" "github.com/astaxie/beego/server/web"
"net" "net"
"strings"
"time" "time"
) )
@@ -587,3 +590,46 @@ func (c *JxOrderController) CreateBrandOrder() {
return retVal, "", err return retVal, "", err
}) })
} }
// @Title 上传订单拣货图片
// @Description 上传订单拣货图片
// @Param token header string true "认证token"
// @Param orderId formData string true "订单ID"
// @Param vendorID formData int false "平台ID"
// @Param imgs formData string true "图片url,图片大小限制为10M长宽比例需要限制为4:3[1,3,2]"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /UploadOrderPicking [post]
func (c *JxOrderController) UploadOrderPicking() {
c.callUploadOrderPicking(func(params *tJxorderUploadOrderPickingParams) (retVal interface{}, errCode string, err error) {
var imgList []string
if err = jxutils.Strings2Objs(params.Imgs, &imgList); err != nil {
return retVal, "", err
}
localOrder, err := partner.CurOrderManager.LoadOrder(params.OrderId, params.VendorID)
if err != nil {
return retVal, "", err
}
handler, _ := partner.GetPurchasePlatformFromVendorID(params.VendorID).(partner.IPurchasePlatformStoreSkuHandler)
if handler == nil {
return retVal, "", fmt.Errorf("不存在的厂商ID:%d", params.VendorID)
}
err = handler.UploadPickingImg(localOrder, imgList)
if err == nil {
originalOrder := &model.GoodsOrderImg{
VendorOrderID: localOrder.VendorOrderID,
VendorID: localOrder.VendorID,
OriginalData: params.Imgs,
CreatedAt: time.Now(),
}
dao.CreateEntity(dao.GetDB(), originalOrder)
} else {
for _, v := range imgList {
aa := strings.Split(v, "/")[3]
jxutils.DeleteExportContent(aa)
}
}
return retVal, "", err
})
}

View File

@@ -31,6 +31,7 @@ func Init() {
// } // }
orm.RegisterModel(new(model.GoodsOrder)) orm.RegisterModel(new(model.GoodsOrder))
orm.RegisterModel(new(model.GoodsOrderOriginal)) orm.RegisterModel(new(model.GoodsOrderOriginal))
orm.RegisterModel(new(model.GoodsOrderImg))
orm.RegisterModel(new(model.TempGoodsOrderMobile)) orm.RegisterModel(new(model.TempGoodsOrderMobile))
orm.RegisterModel(new(model.OrderSku)) orm.RegisterModel(new(model.OrderSku))
orm.RegisterModel(new(model.Waybill)) orm.RegisterModel(new(model.Waybill))

View File

@@ -927,6 +927,15 @@ func init() {
MethodParams: param.Make(), MethodParams: param.Make(),
Filters: nil, Filters: nil,
Params: nil}) Params: nil})
// 上传订单拣货图
web.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:JxOrderController"] = append(web.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:JxOrderController"],
web.ControllerComments{
Method: "UploadOrderPicking",
Router: `/UploadOrderPicking`,
AllowHTTPMethods: []string{"post"},
MethodParams: param.Make(),
Filters: nil,
Params: nil})
web.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:JxOrderController"] = append(web.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:JxOrderController"], web.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:JxOrderController"] = append(web.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:JxOrderController"],
web.ControllerComments{ web.ControllerComments{

File diff suppressed because it is too large Load Diff

View File

@@ -6436,6 +6436,50 @@
} }
} }
}, },
"/jxorder/UploadOrderPicking": {
"post": {
"tags": [
"jxorder"
],
"description": "上传订单拣货图片",
"operationId": "JxOrderController.上传订单拣货图片",
"parameters": [
{
"in": "header",
"name": "token",
"description": "认证token",
"required": true,
"type": "string"
},
{
"in": "formData",
"name": "orderId",
"description": "订单ID",
"required": true,
"type": "string"
},
{
"in": "formData",
"name": "vendorID",
"description": "平台ID",
"type": "integer",
"format": "int64"
},
{
"in": "formData",
"name": "imgs",
"description": "图片url,图片大小限制为10M长宽比例需要限制为4:3[1,3,2]",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "{object} controllers.CallResult"
}
}
}
},
"/jxshop/JxMsg": { "/jxshop/JxMsg": {
"post": { "post": {
"tags": [ "tags": [

View File

@@ -4360,6 +4360,36 @@ paths:
responses: responses:
"200": "200":
description: '{object} controllers.CallResult' description: '{object} controllers.CallResult'
/jxorder/UploadOrderPicking:
post:
tags:
- jxorder
description: 上传订单拣货图片
operationId: JxOrderController.上传订单拣货图片
parameters:
- in: header
name: token
description: 认证token
required: true
type: string
- in: formData
name: orderId
description: 订单ID
required: true
type: string
- in: formData
name: vendorID
description: 平台ID
type: integer
format: int64
- in: formData
name: imgs
description: 图片url,图片大小限制为10M长宽比例需要限制为4:3[1,3,2]
required: true
type: string
responses:
"200":
description: '{object} controllers.CallResult'
/jxshop/JxMsg: /jxshop/JxMsg:
post: post:
tags: tags: