unionorder

This commit is contained in:
suyl
2021-05-07 11:03:24 +08:00
parent c24f179edc
commit 4c5e825990
10 changed files with 307 additions and 136 deletions

View File

@@ -90,6 +90,15 @@ var (
OrderTypeAfsOrder: "售后单",
}
UnionOrderStatusName = map[int]string{
UnionOrderStatusNew: "新订单",
UnionOrderStatusPay: "已支付",
UnionOrderStatusTakeOver: "已确认收货",
UnionOrderStatusAuditOver: "已审核",
UnionOrderStatusFinish: "已结算",
UnionOrderStatusFail: "结算失败",
}
ComplaintReasons = map[int]string{
ComplaintReasons1: "骑手态度恶劣",
ComplaintReasons2: "骑手接单后未取货",
@@ -269,9 +278,15 @@ const (
AfsOrderStatusFailed = 190 // 售后单失败
)
//联盟订单状态
const (
LockStatusUnlocked = 0
LockStatusLocked = 1
UnionOrderStatusNew = 10 //已领券?还未支付
UnionOrderStatusPay = 15 //已支付
UnionOrderStatusTakeOver = 20 //确认收货,已收到货
UnionOrderStatusAuditOver = 25 //审核成功,待结算
UnionOrderStatusFinish = 110 //已结算
UnionOrderStatusFail = 115 //审核失败,结算失败
)
//投诉原因
@@ -322,11 +337,6 @@ const (
WaybillStatusEndEnd = 120
)
const (
BusinessTypeImmediate = 1
BusinessTypeDingshida = 2
)
var (
ElmSkuPromotion = map[int]int{
11: 1,
@@ -334,52 +344,6 @@ var (
}
)
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 // 退货退款
@@ -400,12 +364,6 @@ const (
AfsReasonNotOthers = 0 // 其它
)
const (
AfsTypeUnknown = 0 // 未知
AfsTypePartRefund = 1 // 部分退款
AfsTypeFullRefund = 2 // 全额退款
)
const (
DefaultEarningPricePercentage = 70 // 门店缺省结算百分比
@@ -420,21 +378,6 @@ const (
DISABLED = -1
)
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
}
@@ -459,15 +402,6 @@ 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
}

View File

@@ -1,7 +1,6 @@
package dao
import (
"fmt"
"time"
"git.rosy.net.cn/baseapi/utils"
@@ -77,8 +76,6 @@ func GetDeliveryOrders(db *DaoDB, userIDs []string, statuss []int, fromTime, toT
sqlParams = append(sqlParams, pageSize, offset)
txDB, _ := Begin(db)
defer Commit(db, txDB)
fmt.Println(sql)
fmt.Println(sqlParams)
if err = GetRowsTx(txDB, &dOrders, sql, sqlParams...); err == nil {
pagedInfo = &model.PagedInfo{
TotalCount: GetLastTotalRowCountTx(txDB),
@@ -517,3 +514,60 @@ func GetManageStatisticsJob(db *DaoDB, cityCodes []int, fromTime, toTime time.Ti
}
return pageInfo, err
}
func GetUnionOrdersByIDs(db *DaoDB, vendorOrderIDs []string, vendorID int) (orders []*model.UnionOrder, err error) {
if len(vendorOrderIDs) == 0 {
return nil, err
}
sql := `
SELECT *
FROM union_order
WHERE 1 = 1
`
sqlParams := []interface{}{}
if len(vendorOrderIDs) > 0 {
sql += ` AND vendor_order_id IN (` + GenQuestionMarks(len(vendorOrderIDs)) + `)`
sqlParams = append(sqlParams, vendorOrderIDs)
}
if vendorID != 0 {
sql += ` AND vendor_id = ?`
sqlParams = append(sqlParams, vendorID)
}
err = GetRows(db, &orders, sql, sqlParams)
return orders, err
}
func GetMyUnionOrders(db *DaoDB, userID string, statuss []int, vendorID, offset, pageSize int) (page *model.PagedInfo, err error) {
var orders []*model.UnionOrder
sql := `
SELECT SQL_CALC_FOUND_ROWS a.*
FROM union_order a
WHERE 1 = 1
`
sqlParams := []interface{}{}
if vendorID != -1 {
sql += ` AND a.vendor_id = ?`
sqlParams = append(sqlParams, vendorID)
}
if len(statuss) > 0 {
sql += ` AND a.status IN (` + GenQuestionMarks(len(statuss)) + `)`
sqlParams = append(sqlParams, statuss)
}
if userID != "" {
sql += ` AND a.user_id = ?`
sqlParams = append(sqlParams, userID)
}
sql += " ORDER BY a.created_at DESC"
sql += " LIMIT ? OFFSET ?"
pageSize = jxutils.FormalizePageSize(pageSize)
sqlParams = append(sqlParams, pageSize, offset)
txDB, _ := Begin(db)
defer Commit(db, txDB)
if err = GetRowsTx(txDB, &orders, sql, sqlParams...); err == nil {
page = &model.PagedInfo{
TotalCount: GetLastTotalRowCountTx(txDB),
Data: orders,
}
}
return page, err
}

View File

@@ -153,6 +153,7 @@ type UnionOrder struct {
OrderReceiveAt time.Time `json:"orderReceiveAt"` //收货时间
OrderSettleAt time.Time `json:"orderSettleAt"` //结算时间
PID string `orm:"column(p_id)" json:"pID"` //推广位ID
IsEarning int `json:"isEarning"` //是否结算此订单1表示已结算了
Comment string `orm:"size(255)" json:"comment"` //备注
}