添加包装费

This commit is contained in:
邹宗楠
2023-06-06 14:47:09 +08:00
parent ec78459d1d
commit fa64398eaf
9 changed files with 45 additions and 57 deletions

View File

@@ -909,6 +909,10 @@ func UpdateStore(ctx *jxcontext.Context, storeID int, payload map[string]interfa
}
}
if payload["packageSetting"] != nil {
valid["packageSetting"] = payload["packageSetting"].(int64)
}
if valid["originalName"] != nil {
delete(valid, "originalName")
}

View File

@@ -147,22 +147,22 @@ type GoodsOrder struct {
OrderFinishedAt time.Time `orm:"type(datetime)" json:"orderFinishedAt"`
StatusTime time.Time `orm:"type(datetime)" json:"statusTime"` // last status time
PickDeadline time.Time `orm:"type(datetime);null" json:"pickDeadline"`
DeliveryFeeFrom *time.Time `orm:"type(datetime);null" json:"deliveryFeeFrom,omitempty"` // 三方配置费计算的开始基准时间
Flag int `json:"flag"` // 非运单调整相关的其它状态
InvoiceTitle string `orm:"size(64)" json:"invoiceTitle"` // 发票抬头
InvoiceTaxerID string `orm:"size(32);column(invoice_taxer_id)" json:"invoiceTaxerID"` // 发票纳税人识别码
InvoiceEmail string `orm:"size(64)" json:"invoiceEmail"` // 发票邮箱
VendorOrgCode string `orm:"size(64)" json:"vendorOrgCode"` // 同一平台下不同的商户代码,如果只有一个,可以为空
FromStoreID int `orm:"column(from_store_id)" json:"fromStoreID"` // 物料配送门店
EclpOutID string `orm:"column(eclp_out_id)" json:"eclpOutID"` // 物料配送的出库单号
AddressID int64 `orm:"column(address_id)" json:"addressID"` // 配送地址ID
EarningType int `json:"earningType"` // 订单结算方式2为扣点1为报价
OrderType int `json:"orderType"` // 订单类型0为普通订单1为物料订单2为进货订单
OrderPayPercentage int `json:"orderPayPercentage"` // 调价包?
CouponIDs string `orm:"column(coupon_ids)" json:"couponIDs"` // 优惠券IDs京西商城
NotifyType int `json:"notifyType"` // 0表示没有通知1表示发的短信2表示发的语音
PhoneAscription string `orm:"column(phone_ascription)" json:"phoneAscription"` // 电话号码归属地,{代表抖音号码归宿地[yes-四川成都]}
PackagePrice int64 `orm:"size(8);column(package_price)" json:"packagePrice"` // 门店包装袋金额
DeliveryFeeFrom *time.Time `orm:"type(datetime);null" json:"deliveryFeeFrom,omitempty"` // 三方配置费计算的开始基准时间
Flag int `json:"flag"` // 非运单调整相关的其它状态
InvoiceTitle string `orm:"size(64)" json:"invoiceTitle"` // 发票抬头
InvoiceTaxerID string `orm:"size(32);column(invoice_taxer_id)" json:"invoiceTaxerID"` // 发票纳税人识别码
InvoiceEmail string `orm:"size(64)" json:"invoiceEmail"` // 发票邮箱
VendorOrgCode string `orm:"size(64)" json:"vendorOrgCode"` // 同一平台下不同的商户代码,如果只有一个,可以为空
FromStoreID int `orm:"column(from_store_id)" json:"fromStoreID"` // 物料配送门店
EclpOutID string `orm:"column(eclp_out_id)" json:"eclpOutID"` // 物料配送的出库单号
AddressID int64 `orm:"column(address_id)" json:"addressID"` // 配送地址ID
EarningType int `json:"earningType"` // 订单结算方式2为扣点1为报价
OrderType int `json:"orderType"` // 订单类型0为普通订单1为物料订单2为进货订单
OrderPayPercentage int `json:"orderPayPercentage"` // 调价包?
CouponIDs string `orm:"column(coupon_ids)" json:"couponIDs"` // 优惠券IDs京西商城
NotifyType int `json:"notifyType"` // 0表示没有通知1表示发的短信2表示发的语音
PhoneAscription string `orm:"column(phone_ascription)" json:"phoneAscription"` // 电话号码归属地,{代表抖音号码归宿地[yes-四川成都]}
PackagePrice int64 `orm:"size(8);column(package_price);default(0)" json:"packagePrice"` // 门店包装袋金额
// 以下只是用于传递数据
OriginalData string `orm:"-" json:"-"`
Skus []*OrderSku `orm:"-" json:"-"`

View File

@@ -393,14 +393,15 @@ type Store struct {
OperatorPhone3 string `orm:"size(16)" json:"operatorPhone3"` // 饿百运营人电话
OperatorRole3 string `orm:"size(32)" json:"operatorRole3"` // 饿百运营人组(角色)
PromoteInfo string `orm:"size(255)" json:"promoteInfo"` //门店公告(所有平台统一的公告)
IsBoughtMatter int `json:"isBoughtMatter"` //这周是否申请过物料
SoundPercentage int `json:"soundPercentage"` //打印机声音大小比例
Banner string `orm:"size(9999)" json:"banner"` //门店商城bannar图
BrandID int `orm:"column(brand_id)" json:"brandID"` //品牌ID
IsPrintCancelOrder int `orm:"column(is_print_cancel_order)" json:"isPrintCancelOrder"` //是否打印取消订单1是/-1否
IsPrintRefundOrder int `orm:"column(is_print_refund_order)" json:"isPrintRefundOrder"` //是否打印退款订单1是/-1否
IDCardHandBack string `orm:"size(255);column(id_card_hand_back)" json:"idCardHandBack"` // 手持身份证背面
PromoteInfo string `orm:"size(255)" json:"promoteInfo"` //门店公告(所有平台统一的公告)
IsBoughtMatter int `json:"isBoughtMatter"` //这周是否申请过物料
SoundPercentage int `json:"soundPercentage"` //打印机声音大小比例
Banner string `orm:"size(9999)" json:"banner"` //门店商城bannar图
BrandID int `orm:"column(brand_id)" json:"brandID"` //品牌ID
IsPrintCancelOrder int `orm:"column(is_print_cancel_order)" json:"isPrintCancelOrder"` //是否打印取消订单1是/-1否
IsPrintRefundOrder int `orm:"column(is_print_refund_order)" json:"isPrintRefundOrder"` //是否打印退款订单1是/-1否
IDCardHandBack string `orm:"size(255);column(id_card_hand_back)" json:"idCardHandBack"` // 手持身份证背面
PackageSetting int64 `orm:"size(8);column(package_setting);default(0)" json:"packageSetting"` // 门店包装袋扣费设置
}
func (*Store) TableUnique() [][]string {

View File

@@ -310,6 +310,10 @@ func (p *PurchaseHandler) Map2Order(orderData map[string]interface{}) (order *mo
giftSkus, discountMoney := getZengSkus(vendorOrderID, orderData)
order.DiscountMoney = discountMoney
order.Skus = append(order.Skus, giftSkus...)
// 包装袋金额设置
store, _ := dao.GetStoreDetail(dao.GetDB(), order.JxStoreID, order.VendorID, order.VendorOrgCode)
order.PackagePrice = store.PackageSetting
jxutils.RefreshOrderSkuRelated(order)
return order
}

View File

@@ -350,6 +350,9 @@ func Map2Order(orderData map[string]interface{}) (order *model.GoodsOrder) {
}
order.Skus = append(order.Skus, sku)
}
// 包装袋金额设置
store, _ := dao.GetStoreDetail(dao.GetDB(), order.JxStoreID, order.VendorID, order.VendorOrgCode)
order.PackagePrice = store.PackageSetting
jxutils.RefreshOrderSkuRelated(order)
return order
}

View File

@@ -323,7 +323,7 @@ func result2Orders(msg *jdshopapi.CallBackResult) (order *model.GoodsOrder, err
if order.ExpectedDeliveredTime.Sub(order.OrderCreatedAt) <= time.Hour+time.Minute {
order.BusinessType = model.BusinessTypeImmediate
}
// buildOrderTo102919(order)
order.PackagePrice = store.PackageSetting
return order, err
}

View File

@@ -1228,6 +1228,9 @@ func jxOrder2GoodsOrder(ctx *jxcontext.Context, jxOrder *JxOrderInfo, deliveryAd
if IsDeliverySelf {
order.DeliveryType = model.OrderDeliveryTypeSelfTake
}
store, _ := dao.GetStoreDetail(dao.GetDB(), order.JxStoreID, order.VendorID, order.VendorOrgCode)
order.PackagePrice = store.PackageSetting
return order, err
}

View File

@@ -245,10 +245,8 @@ func (p *PurchaseHandler) Map2Order(orderData map[string]interface{}) (order *mo
}
}
ignoreSkuMap := make(map[int]int)
// detail := result["detail"].([]interface{})
multiSkuMap := make(map[int]int)
for _, product := range detail {
// product := product2.(map[string]interface{})
skuName := product["food_name"].(string)
skuID := utils.Interface2String(product["sku_id"])
sku := &model.OrderSku{
@@ -296,9 +294,6 @@ func (p *PurchaseHandler) Map2Order(orderData map[string]interface{}) (order *mo
if sku.SalePrice < 0 {
sku.SalePrice = jxutils.StandardPrice2Int(utils.MustInterface2Float64(product["price"]))
}
// if product["isGift"].(bool) {
// sku.SkuType = 1
// }
order.Skus = append(order.Skus, sku)
multiSkuMap[sku.SkuID]++
}
@@ -308,6 +303,9 @@ func (p *PurchaseHandler) Map2Order(orderData map[string]interface{}) (order *mo
}
}
// 包装袋金额设置
store, _ := dao.GetStoreDetail(dao.GetDB(), order.JxStoreID, order.VendorID, order.VendorOrgCode)
order.PackagePrice = store.PackageSetting
jxutils.RefreshOrderSkuRelated(order)
return order
}

View File

@@ -174,9 +174,7 @@ func (p *PurchaseHandler) getOrder(vendorOrgCode, vendorOrderID, vendorStoreID s
salePrice += sku.SalePrice
}
}
//order.TotalShopMoney = utils.Float64TwoInt64(float64(salePrice) * 0.95) // 抖音平台扣点金额0.05
//order.DeliveryType = model.OrderDeliveryTypeStoreSelf
autoTransport, err := GetStoreAutoCallRiderInfo(vendorOrgCode, []int64{utils.Str2Int64(vendorStoreIdRelly)})
if err != nil || len(autoTransport) == 0 {
order.DeliveryType = model.OrderDeliveryTypePlatform
@@ -195,20 +193,6 @@ func (p *PurchaseHandler) getOrder(vendorOrgCode, vendorOrderID, vendorStoreID s
return nil, nil, err
}
// 订单不在门店营业时间来的订单,
//openTime := localStore.OpenTime1 // 门店开始营业时间
//closeTime := localStore.CloseTime1 // 门店结束营业时间
//if localStore.CloseTime2 != 0 {
// closeTime = localStore.CloseTime2
//}
//
//h, m, _ := order.ExpectedDeliveredTime.Clock()
//if order.ExpectedDeliveredTime.Day() == time.Now().Day() && utils.Str2Int16(fmt.Sprintf("%d%d", h, m)) >= openTime && utils.Str2Int16(fmt.Sprintf("%d%d", h, m)) < closeTime && localStore.Status == model.StoreStatusOpened {
// order.BusinessType = model.BusinessTypeImmediate
//} else {
// order.BusinessType = model.BusinessTypeDingshida
//}
if result.EarlyArrival { // 立即达
order.BusinessType = model.BusinessTypeImmediate
order.ExpectedDeliveredTime = getTimeFromTimestamp(result.TargetArrivalTime + 30*60) // 预计最晚送达时间
@@ -239,7 +223,6 @@ func (p *PurchaseHandler) getOrder(vendorOrgCode, vendorOrderID, vendorStoreID s
// 抖音订单手机号和收货地址是否同城
order.PhoneAscription = ""
//ascription, err := phonedata.Find(order.ConsigneeMobile)
ascription, err := ascription_place.Find(order.ConsigneeMobile)
if err != nil {
order.PhoneAscription = model.PhoneAscriptionAddressNo + "-" + err.Error()
@@ -250,7 +233,8 @@ func (p *PurchaseHandler) getOrder(vendorOrgCode, vendorOrderID, vendorStoreID s
order.PhoneAscription = model.PhoneAscriptionAddressNo + "-" + "归属信息不匹配:" + ascription.Province + ascription.City
}
}
store, _ := dao.GetStoreDetail(dao.GetDB(), order.JxStoreID, order.VendorID, order.VendorOrgCode)
order.PackagePrice = store.PackageSetting
jxutils.RefreshOrderSkuRelated(order)
return order, orderMap, nil
}
@@ -310,15 +294,6 @@ func (c *PurchaseHandler) onOrderMsg(msgId, orderId string, msg interface{}) (re
return tiktokShop.Err2CallbackResponse(nil, "")
}
// 取消订单:可能未支付取消订单,不做处理
//if msgId == tiktokShop.CallbackCancelOrderMsgTagId {
// if _, err := partner.CurOrderManager.LoadOrder(orderId, model.VendorIDDD); err != nil && strings.Contains(err.Error(), "找不到相应订单") {
// return tiktokShop.Err2CallbackResponse(nil, "")
// } else {
// return tiktokShop.Err2CallbackResponse(err, "")
// }
//}
// 组装订单状态变化
status, appOrgCode := c.callbackMsg2Status(msgId, orderId, msg)
// 校验重复消息