Files
jx-callback/business/model/const.go
gazebo 7410da75fd +GetOrderPay
GetOrders添加参数isPurchase
2019-11-27 10:05:26 +08:00

370 lines
12 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package model
import (
"git.rosy.net.cn/baseapi/platformapi/ebaiapi"
"git.rosy.net.cn/baseapi/platformapi/jdapi"
"git.rosy.net.cn/baseapi/platformapi/mtwmapi"
)
var (
PurchaseVendorInfo = map[int]map[string]interface{}{
VendorIDJD: map[string]interface{}{
"chineseName": VendorChineseNames[VendorIDJD],
"userApplyCancelWaitMinute": jdapi.UserApplyCancelWaitMinute,
},
VendorIDMTWM: map[string]interface{}{
"chineseName": VendorChineseNames[VendorIDMTWM],
"userApplyCancelWaitMinute": mtwmapi.UserApplyCancelWaitMinute,
},
VendorIDEBAI: map[string]interface{}{
"chineseName": VendorChineseNames[VendorIDEBAI],
"userApplyCancelWaitMinute": ebaiapi.UserApplyCancelWaitMinute,
},
}
ShopChineseNames = map[int]string{
VendorIDJD: "京西菜市",
VendorIDMTWM: "美好菜市",
VendorIDELM: "好菜鲜生",
VendorIDEBAI: "好菜鲜生",
VendorIDJX: "京西商城",
VendorIDWSC: "微盟微商城",
}
OrderStatusName = map[int]string{
OrderStatusMsg: "通知消息",
OrderStatusRefuseFailedGetGoods: "取货失败审核驳回",
OrderStatusAdjust: "订单调整完成",
OrderStatusWait4Pay: "待付款",
OrderStatusApplyUrgeOrder: "催单",
OrderStatusUnlocked: "解锁",
OrderStatusLocked: "锁定",
// OrderStatusApplyRefund: "申请退款",
OrderStatusUndoApplyCancel: "取消申请取消",
OrderStatusApplyCancel: "申请取消",
OrderStatusUnknown: "一般事件",
OrderStatusCreated: "待支付",
OrderStatusNew: "新订单",
OrderStatusAccepted: "待拣货",
OrderStatusFinishedPickup: "待配送",
OrderStatusApplyFailedGetGoods: "取货失败待审核",
OrderStatusAgreeFailedGetGoods: "取货失败",
OrderStatusDelivering: "配送中",
OrderStatusDeliverFailed: "投递失败",
OrderStatusFinished: "完成",
OrderStatusCanceled: "取消",
AfsOrderStatusWait4Approve: "待审核",
AfsOrderStatusNew: "已审核",
AfsOrderStatusWait4ReceiveGoods: "退货待确认",
AfsOrderStatusReceivedGoods: "退货已收到",
AfsOrderStatusFinished: "售后成功",
AfsOrderStatusFailed: "售后失败",
}
WaybillStatusName = map[int]string{
WaybillStatusUnknown: "一般事件",
WaybillStatusNew: "新运单",
WaybillStatusPending: "压单",
WaybillStatusAcceptCanceled: "取消接受",
WaybillStatusAccepted: "已接单",
WaybillStatusCourierArrived: "已到店",
WaybillStatusApplyFailedGetGoods: "取货失败待审核",
WaybillStatusAgreeFailedGetGoods: "取货失败",
WaybillStatusDelivering: "配送中",
WaybillStatusDeliverFailed: "投递失败",
WaybillStatusDelivered: "送达",
WaybillStatusCanceled: "取消",
WaybillStatusFailed: "失败",
}
OrderTypeName = map[int]string{
OrderTypeOrder: "订单",
OrderTypeWaybill: "运单",
OrderTypeAfsOrder: "售后单",
}
MultiStoresVendorMap = map[int]int{
VendorIDJD: 1,
VendorIDMTWM: 0,
VendorIDELM: 0,
VendorIDEBAI: 0,
}
PrinterVendorInfo = map[int][]string{
VendorIDFeiE: []string{
VendorChineseNames[VendorIDFeiE],
"序列号",
"KEY",
},
VendorIDXiaoWM: []string{
VendorChineseNames[VendorIDXiaoWM],
"打印机编号",
"不填",
},
VendorIDYiLianYun: []string{
VendorChineseNames[VendorIDYiLianYun],
"终端号",
"密钥",
},
VendorIDZhongWu: []string{
VendorChineseNames[VendorIDZhongWu],
"打印机ID",
"打印机密钥",
},
}
AfsReasonTypeName = map[int]string{
AfsReasonTypeGoodsQuality: "商品质量",
AfsReasonTypeWrongGoods: "错误的商品",
AfsReasonTypeMissingGoods: "缺少部分商品",
AfsReasonTypeNoGoods: "全部商品未收到",
AfsReasonTypeDamagedGoods: "商品有损伤",
AfsReasonTypeGoodsQuantity: "缺斤少两",
AfsReasonTypeGoodsAbsent: "商家通知我缺货",
AfsReasonTypeGoodsNoSame: "商品与描述不符",
AfsReasonWrongPurchase: "误购",
AfsReasonNotReceivedIntime: "未在时效内送达",
AfsReasonNotOthers: "其它",
}
AfsAppealTypeName = map[int]string{
AfsAppealTypeRefund: "仅退款",
AfsAppealTypeReturnAndRefund: "退款", // 这个其实是退货退款,强制显示成退款
AfsAppealTypeNewGoods: "退款.", // 这个其实是重发商品,强制显示成退款
}
)
const (
OrderTypeOrder = 1
OrderTypeWaybill = 2
OrderTypeAfsOrder = 3
)
// https://blog.csdn.net/a13570320979/article/details/51366355
// 美团配送:
// 坐标类型0火星坐标高德腾讯地图均采用火星坐标 1百度坐标 默认值为0
// 京东:
// 收货人地址定位类型buyerCoordType值为空或为1时定位类型为gps如为其他值时定位类型为非gps类型。)
// 饿了么:
// 只支持高德坐标
// 达达:
// 只支持高德坐标
// 如下定义与美团配送兼容
const (
CoordinateTypeMars = 0 // 火星坐标高德坐标GCJ02坐标系
CoordinateTypeBaiDu = 1 // 百度坐标bd-09在GCJ02坐标系上再次偏移加密的坐标
CoordinateTypeMapbar = 2
CoordinateTypeGPS = 84 // 真实坐标WGS84原始坐标系
)
const (
OrderStatusMsg = -100
OrderStatusRefuseFailedGetGoods = -70 // 取货失败审核驳回
OrderStatusAdjust = -65 // 原值-35 订单调整完成
OrderStatusWait4Pay = -60 // 原值-30 下单待支付,微盟在这个时间发新订单事件
OrderStatusApplyUrgeOrder = -55 // 原值-15
OrderStatusUnlocked = -25
OrderStatusLocked = -20
// OrderStatusApplyRefund = -10
OrderStatusUndoApplyCancel = -10
OrderStatusApplyCancel = -5
OrderStatusUnknown = 0
OrderStatusCreated = 2 // 已支付
OrderStatusNew = 5 // 新订单,实际是已经支付
OrderStatusAccepted = 10 // 已经接单,也即待出库,待拣货
OrderStatusFinishedPickup = 15 // 拣货完成
OrderStatusApplyFailedGetGoods = 17 // 取货失败待审核
OrderStatusAgreeFailedGetGoods = 18 // 取货失败
OrderStatusDelivering = 20 // 开始配送,配送员已取货,从这里开始就是运单消息了
OrderStatusDeliverFailed = 22 // 投递失败
OrderStatusEndBegin = 100 // 以下的状态就是结束状态
OrderStatusFinished = 110 // 订单已完成
OrderStatusCanceled = 115 // 订单已取消
OrderStatusEndEnd = 120
AfsOrderStatusWait4Approve = 155 // 待审核售后单
AfsOrderStatusNew = 160 // 已审核或不需要审核售后单
AfsOrderStatusWait4ReceiveGoods = 165 // 退款退货的,需要商家确认收到货
AfsOrderStatusReceivedGoods = 167 // 已确认收到货
AfsOrderStatusFinished = 180 // 售后单成功完成
AfsOrderStatusFailed = 190 // 售后单失败
)
const (
LockStatusUnlocked = 0
LockStatusLocked = 1
)
const (
WaybillStatusRefuseFailedGetGoods = -70
WaybillStatusUnknown = 0
WaybillStatusNew = 5
WaybillStatusPending = 7
WaybillStatusAcceptCanceled = 8
WaybillStatusAccepted = 10
WaybillStatusCourierArrived = 15 // 此状态是可选的,明确写出来是因为还是较重要的状态,但业务逻辑不应依赖此状态
WaybillStatusApplyFailedGetGoods = 17 // 取货失败待审核
WaybillStatusAgreeFailedGetGoods = 18 // 取货失败
WaybillStatusDelivering = 20
WaybillStatusDeliverFailed = 22
WaybillStatusEndBegin = 100 // 以下的状态就是结束状态
WaybillStatusDelivered = 105 // todo 这个应该改为110与订单对应
WaybillStatusCanceled = 115
WaybillStatusFailed = 120 // 这个状态存在的意义是区分于WaybillStatusCanceled比如达达平台在这种状态下再次创建运单的方式不一样
)
const (
BusinessTypeImmediate = 1
BusinessTypeDingshida = 2
)
var (
ElmSkuPromotion = map[int]int{
11: 1,
200: 1,
}
)
const (
JdPlatformFeeRate = 10
MtPlatformFeeRate = 10
)
const (
OrderDeliveryFlagMaskScheduleDisabled = 1 // 禁止三方配送调度
OrderDeliveryFlagMaskPurcahseDisabled = 2 // 购物平台已不配送(一般为门店配送类型本身为自配送,或已经转自配送)
OrderDeliveryFlagMaskAutoPickup = 4 // 是否是自动拣货的
OrderDeliveryFlagMaskDada = 16 // 创建达达运单中
OrderDeliveryFlagMaskMtps = 32 // 创建美团配送运单中
)
const (
WaybillDeliveryFlagMaskActiveCancel = 1 // 主动取消
)
const (
OrderFlagMaskPrinted = 1 // 已经打印
OrderFlagMaskUserApplyCancel = 6
OrderFlagAgreeUserApplyCancel = 2
OrderFlagRefuseUserApplyCancel = 6
OrderFlagMaskFailedGetGoods = 24
OrderFlagAgreeFailedGetGoods = 8
OrderFlagRefuseFailedGetGoods = 24
OrderFlagMaskFailedDeliver = 32
OrderFlagMaskCallPMCourier = 64 // 取货失败后召唤平台配送
OrderFlagMaskSetDelivered = 128 // 设置送达
OrderFlagMaskFake = 256 // 假订单,即刷单用的
OrderFlagMaskTempJX = 512 // 临时京西订单
)
const (
AfsOrderFlagMaskUserRefund = 3 // 门店处理售后单申请
AfsOrderFlagAgreeUserRefund = 1 // 门店同意售后单申请
AfsOrderFlagRefuseUserRefund = 3 // 门店拒绝售后单申请
AfsOrderFlagMaskReturnGoods = 4 // 门店确认收到退货
)
const (
AfsAppealTypeRefund = 1 // 仅退款
AfsAppealTypeReturnAndRefund = 2 // 退货退款
AfsAppealTypeNewGoods = 3 // 重发新商品(即京东到家的直赔)
)
const (
AfsReasonTypeGoodsQuality = 1 // 商品质量
AfsReasonTypeWrongGoods = 2 // 错误的商品
AfsReasonTypeMissingGoods = 3 // 缺少部分商品
AfsReasonTypeNoGoods = 4 // 全部商品未收到
AfsReasonTypeDamagedGoods = 5 // 商品有损伤
AfsReasonTypeGoodsQuantity = 6 // 缺斤少两
AfsReasonTypeGoodsAbsent = 7 // 商家通知缺货
AfsReasonTypeGoodsNoSame = 8 // 商品与描述不符
AfsReasonWrongPurchase = 9 // 误购
AfsReasonNotReceivedIntime = 10 // 未在时效内送达
AfsReasonNotOthers = 0 // 其它
)
const (
AfsTypeUnknown = 0 // 未知
AfsTypePartRefund = 1 // 部分退款
AfsTypeFullRefund = 2 // 全额退款
)
const (
DefaultEarningPricePercentage = 70 // 门店缺省结算百分比
MinVendorPricePercentage = 10
DefVendorPricePercentage = 100 // 平台缺省调价比例
MaxVendorPricePercentage = 400
)
func IsPurchaseVendorExist(vendorID int) bool {
_, ok := VendorNames[vendorID]
return ok && vendorID >= VendorIDPurchaseBegin && vendorID <= VendorIDPurchaseEnd
}
func IsDeliveryVendorExist(vendorID int) bool {
_, ok := VendorNames[vendorID]
return ok && vendorID >= VendorIDDeliveryBegin && vendorID <= VendorIDDeliveryEnd
}
func IsPrinterVendorExist(vendorID int) bool {
_, ok := VendorNames[vendorID]
return ok && vendorID >= VendorIDPrinterBegin && vendorID <= VendorIDPrinterEnd
}
func IsOrderLockStatus(status int) bool {
return status == OrderStatusLocked || status == OrderStatusApplyCancel
}
func IsOrderUnlockStatus(status int) bool {
return status == OrderStatusUnlocked || status == OrderStatusUndoApplyCancel
}
func IsOrderMainStatus(status int) bool {
return status > OrderStatusUnknown
}
func IsOrderFinalStatus(status int) bool {
return status >= OrderStatusEndBegin && status <= OrderStatusEndEnd
}
func IsOrderImportantStatus(status int) bool {
return IsOrderMainStatus(status) || IsOrderLockStatus(status) || IsOrderUnlockStatus(status)
}
func IsVendorRemote(vendorID int) bool {
return vendorID >= VendorIDJD && vendorID <= VendorIDEBAI
}
func WaybillVendorID2Mask(vendorID int) (mask int8) {
if vendorID == VendorIDDada {
mask = OrderDeliveryFlagMaskDada
} else if vendorID == VendorIDMTPS {
mask = OrderDeliveryFlagMaskMtps
}
return mask
}
func IsAfsOrderFinalStatus(status int) bool {
return status >= AfsOrderStatusFinished && status <= AfsOrderStatusFailed
}