1
This commit is contained in:
@@ -578,32 +578,62 @@ func (c *PurchaseHandler) GetOrderRealMobile(ctx *jxcontext.Context, order *mode
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (c *PurchaseHandler) AgreeOrRefuseCancel(ctx *jxcontext.Context, order *model.GoodsOrder, isAgree bool, reason string) (err error) {
|
func (c *PurchaseHandler) AgreeOrRefuseCancel(ctx *jxcontext.Context, order *model.GoodsOrder, isAgree bool, reason string) (err error) {
|
||||||
|
|
||||||
|
db := dao.GetDB()
|
||||||
|
afsOrder, err := partner.CurOrderManager.LoadAfsOrder(order.VendorOrderID, order.VendorID)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
if isAgree {
|
if isAgree {
|
||||||
|
// 加载子订单号
|
||||||
|
orderDetail, _ := partner.CurOrderManager.LoadOrder(order.VendorOrderID, model.VendorIDTaoVegetable)
|
||||||
|
// 加载退款商品
|
||||||
|
afsSkuOrder, _ := dao.GetOrderRefundSkuList(db, []string{order.VendorOrderID})
|
||||||
param := &request3156.AlibabaTclsAelophyRefundAgreeRequest{
|
param := &request3156.AlibabaTclsAelophyRefundAgreeRequest{
|
||||||
StoreId: utils.String2Pointer(order.VendorStoreID),
|
StoreId: utils.String2Pointer(order.VendorStoreID),
|
||||||
OutOrderId: utils.String2Pointer(order.VendorOrderID),
|
OutOrderId: utils.String2Pointer(orderDetail.VendorOrderID2),
|
||||||
|
RefundId: utils.String2Pointer(afsOrder.AfsOrderID),
|
||||||
OrderFrom: utils.Int64ToPointer(utils.Str2Int64(tao_vegetable.TaoVegetableChannelCode)),
|
OrderFrom: utils.Int64ToPointer(utils.Str2Int64(tao_vegetable.TaoVegetableChannelCode)),
|
||||||
}
|
}
|
||||||
|
// 加载购买商品
|
||||||
|
sku, _ := dao.GetSimpleOrderSkus(db, order.VendorOrderID, nil)
|
||||||
|
skuCount := 0
|
||||||
|
for _, v := range sku {
|
||||||
|
skuCount += v.Count
|
||||||
|
}
|
||||||
|
|
||||||
|
refundSkuCount := 0
|
||||||
|
subRefundList := make([]domain3156.AlibabaTclsAelophyRefundAgreeSubrefundlist, 0, len(afsSkuOrder))
|
||||||
|
for _, v := range afsSkuOrder {
|
||||||
|
subRefundList = append(subRefundList, domain3156.AlibabaTclsAelophyRefundAgreeSubrefundlist{
|
||||||
|
OutSubOrderId: utils.String2Pointer(v.VendorSubOrderID),
|
||||||
|
RefundFee: utils.Int64ToPointer(v.UserMoney),
|
||||||
|
})
|
||||||
|
refundSkuCount += v.Count
|
||||||
|
}
|
||||||
|
|
||||||
|
// 全退退运费
|
||||||
|
if skuCount == refundSkuCount {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
param.SubRefundList = &subRefundList
|
||||||
param.AuditMemo = utils.String2Pointer(fmt.Sprintf("商户同意退款"))
|
param.AuditMemo = utils.String2Pointer(fmt.Sprintf("商户同意退款"))
|
||||||
if reason != "" {
|
if reason != "" {
|
||||||
param.AuditMemo = utils.String2Pointer(*param.AuditMemo + fmt.Sprintf(",%s", reason))
|
param.AuditMemo = utils.String2Pointer(*param.AuditMemo + fmt.Sprintf(",%s", reason))
|
||||||
}
|
}
|
||||||
err = getAPI(order.VendorOrgCode, jxutils.GetSaleStoreIDFromOrder(order), "").AgreeUserCancel(param)
|
err = getAPI(order.VendorOrgCode, jxutils.GetSaleStoreIDFromAfsOrder(afsOrder), order.VendorStoreID).AgreeUserCancel(param)
|
||||||
} else {
|
} else {
|
||||||
afsOrder, err := partner.CurOrderManager.LoadAfsOrder(order.VendorOrderID, order.VendorID)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
param := &request3156.AlibabaTclsAelophyRefundDisagreeRequest{
|
param := &request3156.AlibabaTclsAelophyRefundDisagreeRequest{
|
||||||
RefundId: utils.String2Pointer(afsOrder.AfsOrderID),
|
RefundId: utils.String2Pointer(afsOrder.AfsOrderID),
|
||||||
RejectReason: utils.String2Pointer(reason),
|
RejectReason: utils.String2Pointer(reason),
|
||||||
OrderFrom: utils.Int64ToPointer(utils.Str2Int64(tao_vegetable.TaoVegetableChannelCode)),
|
OrderFrom: utils.Int64ToPointer(utils.Str2Int64(tao_vegetable.TaoVegetableChannelCode)),
|
||||||
}
|
}
|
||||||
err = getAPI(order.VendorOrgCode, jxutils.GetSaleStoreIDFromOrder(order), "").DisAgreeUserCancel(param)
|
err = getAPI(order.VendorOrgCode, jxutils.GetSaleStoreIDFromAfsOrder(afsOrder), order.VendorStoreID).DisAgreeUserCancel(param)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
afsOrder.Status = model.AfsOrderStatusFailed
|
afsOrder.Status = model.AfsOrderStatusFailed
|
||||||
afsOrder.VendorStatus = "老板拒绝"
|
afsOrder.VendorStatus = "老板拒绝"
|
||||||
afsOrder.ReasonDesc += reason + ","
|
afsOrder.ReasonDesc += "," + reason
|
||||||
dao.UpdateEntity(dao.GetDB(), afsOrder, "Status", "ReasonDesc", "VendorStatus")
|
dao.UpdateEntity(dao.GetDB(), afsOrder, "Status", "ReasonDesc", "VendorStatus")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -260,24 +260,40 @@ func (c *PurchaseHandler) GetAfsStatusFromVendorStatus(notifyType string) int {
|
|||||||
|
|
||||||
// 审核售后单申请
|
// 审核售后单申请
|
||||||
func (c *PurchaseHandler) AgreeOrRefuseRefund(ctx *jxcontext.Context, order *model.AfsOrder, approveType int, reason string) (err error) {
|
func (c *PurchaseHandler) AgreeOrRefuseRefund(ctx *jxcontext.Context, order *model.AfsOrder, approveType int, reason string) (err error) {
|
||||||
|
db := dao.GetDB()
|
||||||
if approveType == partner.AfsApproveTypeRefused {
|
if approveType == partner.AfsApproveTypeRefused {
|
||||||
// 加载子订单号
|
// 加载子订单号
|
||||||
orderDetail, _ := partner.CurOrderManager.LoadOrder(order.VendorOrderID, model.VendorIDTaoVegetable)
|
orderDetail, _ := partner.CurOrderManager.LoadOrder(order.VendorOrderID, model.VendorIDTaoVegetable)
|
||||||
// 加载退款商品
|
// 加载退款商品
|
||||||
afsSkuOrder, _ := dao.GetOrderRefundSkuList(dao.GetDB(), []string{order.VendorOrderID})
|
afsSkuOrder, _ := dao.GetOrderRefundSkuList(db, []string{order.VendorOrderID})
|
||||||
param := &request3156.AlibabaTclsAelophyRefundAgreeRequest{
|
param := &request3156.AlibabaTclsAelophyRefundAgreeRequest{
|
||||||
StoreId: utils.String2Pointer(order.VendorStoreID),
|
StoreId: utils.String2Pointer(order.VendorStoreID),
|
||||||
OutOrderId: utils.String2Pointer(orderDetail.VendorOrderID2),
|
OutOrderId: utils.String2Pointer(orderDetail.VendorOrderID2),
|
||||||
RefundId: utils.String2Pointer(order.AfsOrderID),
|
RefundId: utils.String2Pointer(order.AfsOrderID),
|
||||||
OrderFrom: utils.Int64ToPointer(utils.Str2Int64(tao_vegetable.TaoVegetableChannelCode)),
|
OrderFrom: utils.Int64ToPointer(utils.Str2Int64(tao_vegetable.TaoVegetableChannelCode)),
|
||||||
}
|
}
|
||||||
|
// 加载购买商品
|
||||||
|
sku, _ := dao.GetSimpleOrderSkus(db, order.VendorOrderID, nil)
|
||||||
|
skuCount := 0
|
||||||
|
for _, v := range sku {
|
||||||
|
skuCount += v.Count
|
||||||
|
}
|
||||||
|
|
||||||
|
refundSkuCount := 0
|
||||||
subRefundList := make([]domain3156.AlibabaTclsAelophyRefundAgreeSubrefundlist, 0, len(afsSkuOrder))
|
subRefundList := make([]domain3156.AlibabaTclsAelophyRefundAgreeSubrefundlist, 0, len(afsSkuOrder))
|
||||||
for _, v := range afsSkuOrder {
|
for _, v := range afsSkuOrder {
|
||||||
subRefundList = append(subRefundList, domain3156.AlibabaTclsAelophyRefundAgreeSubrefundlist{
|
subRefundList = append(subRefundList, domain3156.AlibabaTclsAelophyRefundAgreeSubrefundlist{
|
||||||
OutSubOrderId: utils.String2Pointer(v.VendorSubOrderID),
|
OutSubOrderId: utils.String2Pointer(v.VendorSubOrderID),
|
||||||
RefundFee: utils.Int64ToPointer(v.UserMoney),
|
RefundFee: utils.Int64ToPointer(v.UserMoney),
|
||||||
})
|
})
|
||||||
|
refundSkuCount += v.Count
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 全退退运费
|
||||||
|
if skuCount == refundSkuCount {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
param.SubRefundList = &subRefundList
|
param.SubRefundList = &subRefundList
|
||||||
param.AuditMemo = utils.String2Pointer(fmt.Sprintf("商户同意退款"))
|
param.AuditMemo = utils.String2Pointer(fmt.Sprintf("商户同意退款"))
|
||||||
if reason != "" {
|
if reason != "" {
|
||||||
@@ -296,7 +312,7 @@ func (c *PurchaseHandler) AgreeOrRefuseRefund(ctx *jxcontext.Context, order *mod
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
order.Status = model.AfsOrderStatusFailed
|
order.Status = model.AfsOrderStatusFailed
|
||||||
order.VendorStatus = "老板拒绝"
|
order.VendorStatus = "老板拒绝"
|
||||||
order.ReasonDesc += reason + ","
|
order.ReasonDesc += "," + reason
|
||||||
dao.UpdateEntity(dao.GetDB(), order, "Status", "ReasonDesc", "VendorStatus")
|
dao.UpdateEntity(dao.GetDB(), order, "Status", "ReasonDesc", "VendorStatus")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -31,12 +31,19 @@ func orderStatusChangeNotice(order *model.GoodsOrder, orderStatus string) (*requ
|
|||||||
if len(skuList) == model.NO {
|
if len(skuList) == model.NO {
|
||||||
return nil, fmt.Errorf("订单商品列表为零,请管理员检查")
|
return nil, fmt.Errorf("订单商品列表为零,请管理员检查")
|
||||||
}
|
}
|
||||||
for _, v := range skuList {
|
orderDetail, err := getAPI(order.VendorOrgCode, 0, "").QueryOrderDetail(&request591.AlibabaAelophyOrderGetRequest{OrderGetRequest: &domain591.AlibabaAelophyOrderGetOrderGetRequest{
|
||||||
|
StoreId: utils.String2Pointer(order.VendorStoreID),
|
||||||
|
BizOrderId: utils.Int64ToPointer(utils.Str2Int64(order.VendorOrderID)),
|
||||||
|
}})
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
for _, v := range *orderDetail.SubOrderResponseList {
|
||||||
workCallbackSubOrderInfo := domain591.AlibabaAelophyOrderWorkCallbackWorkCallbackSubOrderInfo{
|
workCallbackSubOrderInfo := domain591.AlibabaAelophyOrderWorkCallbackWorkCallbackSubOrderInfo{
|
||||||
BizSubOrderId: utils.Int64ToPointer(utils.Str2Int64(v.VendorSubOrderID)),
|
BizSubOrderId: v.BizSubOrderId,
|
||||||
SkuCode: utils.String2Pointer(v.VendorSkuID),
|
SkuCode: v.SkuCode,
|
||||||
PickSaleQuantity: utils.String2Pointer(utils.Int2Str(v.Count)),
|
PickSaleQuantity: utils.String2Pointer(utils.Float64ToStr(*v.BuySaleQuantity)),
|
||||||
PickStockQuantity: utils.String2Pointer(utils.Int2Str(v.Count)),
|
PickStockQuantity: utils.String2Pointer(utils.Float64ToStr(*v.BuyStockQuantity)),
|
||||||
}
|
}
|
||||||
workCallbackSubOrderInfoList = append(workCallbackSubOrderInfoList, workCallbackSubOrderInfo)
|
workCallbackSubOrderInfoList = append(workCallbackSubOrderInfoList, workCallbackSubOrderInfo)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -699,7 +699,7 @@ func (c *OrderController) ConfirmReceiveGoods() {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// @Title 同意或拒绝用户取消订单申请
|
// @Title 同意或拒绝用户取消订单申请 (饿百)
|
||||||
// @Description 同意或拒绝用户取消订单申请
|
// @Description 同意或拒绝用户取消订单申请
|
||||||
// @Param token header string true "认证token"
|
// @Param token header string true "认证token"
|
||||||
// @Param vendorOrderID formData string true "订单ID"
|
// @Param vendorOrderID formData string true "订单ID"
|
||||||
|
|||||||
Reference in New Issue
Block a user