This commit is contained in:
邹宗楠
2022-07-13 16:22:38 +08:00
parent 3e351aa96a
commit de01caba12
4 changed files with 77 additions and 8 deletions

View File

@@ -446,10 +446,53 @@ func filterOrderInfo(order *model.GoodsOrder) {
func resetCreateWaybillFee(db *dao.DaoDB, order *model.GoodsOrder) (err error) {
store, _ := dao.GetStoreDetail(db, jxutils.GetSaleStoreIDFromOrder(order), order.VendorID, order.VendorOrgCode)
if store != nil && store.CreateDeliveryType == model.YES {
if expend, lastFee, err := partner.CurStoreAcctManager.GetStoreAcctExpendLastCreateWayBillFee(order.VendorOrderID); err == nil && expend != nil {
partner.CurStoreAcctManager.InsertStoreAcctIncomeAndUpdateStoreAcctBalance(jxcontext.AdminCtx, jxutils.GetSaleStoreIDFromOrder(order), lastFee, partner.StoreAcctTypeIncomeCancelReal, order.VendorOrderID, expend.ID)
if store != nil && store.CreateDeliveryType == model.YES { // 门店发单(非京西品牌)
// 无运单不参与退款
if order.VendorWaybillID == "" {
return err
}
// 自配送不参与退款
if order.VendorOrderID == order.VendorWaybillID {
return err
}
// 获取运单记录
orderStatusList, err := GetOrderStatusList2(order.VendorOrderID, order.VendorWaybillID, 2, order.WaybillVendorID)
if err != nil {
globals.SugarLogger.Debug("获取订单操作流程错误:", err)
return err
}
isRefund := true // 默认可以退费
for _, v := range orderStatusList {
if order.WaybillVendorID == model.VendorIDMTPS && v.VendorStatus == "30" {
isRefund = false
break
}
if order.WaybillVendorID == model.VendorIDFengNiao && v.VendorStatus == "80" {
isRefund = false
break
}
if order.WaybillVendorID == model.VendorIDDada && v.VendorStatus == "3" {
isRefund = false
break
}
}
if !isRefund {
return err
}
// 获取品牌的支付记录
orderBill, _ := dao.GetBrandBill(dao.GetDB(), store.BrandID, order.VendorOrderID, model.BrandBillTypeExpend, model.BrandBillFeeTypeDelivery)
if len(orderBill) != model.YES {
return errors.New("订单支出数据异常,应该为一条数据")
}
// 将支出记录修改为退款记录,支付类型为收入,且类型为三方配送时:退费
orderBill[0].BillType = model.BrandBillTypeIncome
newBill := orderBill[0]
_, err = dao.UpdateEntity(dao.GetDB(), newBill)
}
return err
}

View File

@@ -346,7 +346,7 @@ func (c *OrderManager) GetOrders(ctx *jxcontext.Context, isIncludeFake bool, fro
}
}
}
//if isJxIncomeArea {
//if isJxIncomeArea {
// begin = utils.MustInterface2Int64(params["jxIncomeBegin"])
// end = utils.MustInterface2Int64(params["jxIncomeEnd"])
// pageSize = math.MaxInt32
@@ -712,6 +712,31 @@ func (c *OrderManager) GetOrderStatusList(ctx *jxcontext.Context, vendorOrderID
return statusList, nil
}
// GetOrderStatusList2 查询订单流程 refVendorOrderID 订单Id
func GetOrderStatusList2(refVendorOrderID string, wayBillId string, orderType int, vendorID int) (statusList []*model.OrderStatus, err error) {
sql := `
SELECT *
FROM order_status t1
WHERE t1.ref_vendor_order_id = ? AND t1.vendor_order_id = ? AND t1.vendor_id = ?
`
sqlParams := []interface{}{
refVendorOrderID,
wayBillId,
vendorID,
}
if orderType > 0 {
sql += " AND t1.order_type = ?"
sqlParams = append(sqlParams, orderType)
}
sql += " ORDER BY t1.status_time, t1.order_type DESC, t1.status"
db := dao.GetDB()
if err = dao.GetRows(db, &statusList, sql, sqlParams...); err != nil {
return nil, err
}
return statusList, nil
}
func (c *OrderManager) GetOrdersFinancial(ctx *jxcontext.Context, fromDateStr, toDateStr string, params map[string]interface{}, offset, pageSize int) (pagedInfo *model.PagedInfo, err error) {
globals.SugarLogger.Debugf("GetOrdersFinancial from:%s to:%s", fromDateStr, toDateStr)
pageSize = jxutils.FormalizePageSize(pageSize)

View File

@@ -172,7 +172,7 @@ func NotifyPickOrder(order *model.GoodsOrder) (err error) {
return err
}
func NotifyOrderCanceled(order *model.GoodsOrder) (err error) {
func NotifyO2019110769024042(order *model.GoodsOrder) (err error) {
err = SendSMSMsg(getOrderNotifyPhone(order), globals.SMSSignName, globals.SMSOrderCanceledTemplate, map[string]interface{}{
"vendorName": model.VendorChineseNames[order.VendorID],
"seq": order.OrderSeq,

View File

@@ -93,12 +93,12 @@ func (p *PurchaseHandler) getOrder(vendorOrgCode, vendorOrderID, vendorStoreID s
return order, result, err
}
func (p *PurchaseHandler) getOrderRider(vendorOrgCode, vendorStoreID string,param map[string]interface{}) ( err error) {
func (p *PurchaseHandler) getOrderRider(vendorOrgCode, vendorStoreID string, param map[string]interface{}) (err error) {
return getAPI(vendorOrgCode, 0, vendorStoreID).OrderStatusAndPsInfo(param)
}
func (p *PurchaseHandler) GetOrderRider(vendorOrgCode, vendorStoreID string, param map[string]interface{}) ( err error) {
return p.getOrderRider(vendorOrgCode, vendorStoreID, param)
func (p *PurchaseHandler) GetOrderRider(vendorOrgCode, vendorStoreID string, param map[string]interface{}) (err error) {
return p.getOrderRider(vendorOrgCode, vendorStoreID, param)
}
func (p *PurchaseHandler) GetOrder(vendorOrgCode, vendorOrderID, vendorStoreID string) (order *model.GoodsOrder, err error) {
@@ -392,6 +392,7 @@ func (c *PurchaseHandler) onOrderMsg(msg *mtwmapi.CallbackMsg) (response *mtwmap
}
})
}
}
}
}