拒收退款逻辑

This commit is contained in:
wule committed 2026-08-21 17:05:34 +08:00
1 parent ae9e8ea312
commit dc33aeaf31
6 files changed
+229 -32

No files matched your search

@@ -947,12 +947,14 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls
currentReadBuyer = "";
//return;
}
//{\"error_code\":50000,\"error_msg\":\"http error:504\"}
if (data.Contains("\"error_code\":40001") || data.Contains("\"error_code\":50000"))
//{\"error_code\":50000,\"error_msg\":\"http error:504\"}
//{"errorCode":72004,"errorMsg":"","error_code":72004,"error_msg":"","result":null}
if (data.Contains("\"error_code\":40001") || data.Contains("\"error_code\":50000") || data.Contains("\"error_code\":72004"))
{
currentReadBuyer = "";
PddMobileLoginForm.CheckBuyerLogin(new List<BuyerLoginInfo> { buyer }, false);
return;
if (buyer.status == "掉线")
currentReadBuyer = "";
return;
}
Dispatcher.Invoke(new Action(() =>
@@ -1185,24 +1187,31 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls
// 如果中转仓表买手售后状态不等于买手售后单售后,更新仓库买手售后状态
else if (afterSale.TransitBuyerOrderRefundStatus != "买手退款成功" && afterSale.TransitBuyerOrderRefundStatus != afterSale.AfterSaleStatusStr)
{
if (afterSale.AfterSaleStatusStr == "退款失败" && lstPddBuyerAfterSaleInfoLite.Any(a => a.orderSn == afterSale.orderSn && a.AfterSaleStatusStr != afterSale.AfterSaleStatusStr))
if (afterSale.ShopOrderIdStr == "3738552208766960384")
{
}
var afterSaleExistList = lstPddBuyerAfterSaleInfoLite.Where(a => a.orderSn == afterSale.orderSn).ToList();
if ((afterSale.AfterSaleStatusStr == "退款失败" || afterSale.AfterSaleStatusStr == "申请已撤销") &&
afterSaleExistList.Any(a => a.AfterSaleStatusStr != "退款失败" && a.AfterSaleStatusStr != "申请已撤销"))
{
}
else
{
//if (!afterSale.AfterSaleStatusStr.Contains("关闭") && !afterSale.AfterSaleStatusStr.Contains("撤销") && !afterSale.AfterSaleStatusStr.Contains("失败"))
var orderTmp = new PddBuyerOrderLiteInfo() { ShopOrderIdStr = afterSale.ShopOrderIdStr, order_sn = afterSale.orderSn };
var refundRst = SendTransitAfterSaleE57(orderTmp, afterSale.AfterSaleStatusStr);
if (refundRst.Contains("<code>0</code>") || refundRst.Contains("<code>200</code>"))
{
afterSale.afterSaleSendStatus = "买手退款信息更新成功";
}
else
{
var msg = BaseRegex.GetStringXml(ref refundRst, "msg");
afterSale.afterSaleSendStatus = "买手退款信息更新失败,服务端返回 " + msg;
}
}
else
{
//if (!afterSale.AfterSaleStatusStr.Contains("关闭") && !afterSale.AfterSaleStatusStr.Contains("撤销") && !afterSale.AfterSaleStatusStr.Contains("失败"))
var orderTmp = new PddBuyerOrderLiteInfo() { ShopOrderIdStr = afterSale.ShopOrderIdStr, order_sn = afterSale.orderSn };
var refundRst = SendTransitAfterSaleE57(orderTmp, afterSale.AfterSaleStatusStr);
if (refundRst.Contains("<code>0</code>") || refundRst.Contains("<code>200</code>"))
{
afterSale.afterSaleSendStatus = "买手退款信息更新成功";
}
else
{
var msg = BaseRegex.GetStringXml(ref refundRst, "msg");
afterSale.afterSaleSendStatus = "买手退款信息更新失败,服务端返回 " + msg;
}
}
}
}
}
@@ -2236,7 +2245,12 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls
}
}
/// <summary>
/// 未发货直接退款
/// </summary>
/// <param name="buyer"></param>
/// <param name="order"></param>
/// <returns></returns>
public static string SimPddAfterSale(BuyerLoginInfo buyer, PddBuyerOrderLiteInfo order)
{
var rst = YkdBuyerOrder.GetInitAfterSale(buyer, order.order_sn);
@@ -2267,7 +2281,52 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls
return afterSaleRst;
}
public static string SimPddAfterSaleWithReturnGoods(BuyerLoginInfo buyer, PddBuyerOrderLiteInfo order, order_pdd_buyer_after_sale pddBuyerAfterSale = null)
/// <summary>
/// 拒收后申请退款
/// </summary>
/// <param name="buyer"></param>
/// <param name="order"></param>
/// <param name="pddBuyerAfterSale"></param>
/// <returns></returns>
public static string SimPddAfterSaleWithRejected(BuyerLoginInfo buyer, PddBuyerOrderLiteInfo order, order_pdd_buyer_after_sale pddBuyerAfterSale = null)
{
var rst = YkdBuyerOrder.GetInitAfterSale(buyer, order.order_sn);
//<script>window.rawData={"store":{"errorRedirectUrl":"\u002F","abMap":{"allowPerItemAs":false,"allowPercentAs":true,"isSpringOn":false,"applyPlatformJoinText":false,"newResendEntrance":true,"newExchangeEntrance":true,"shippingTicketOcr":true,"applyAfterSalesChoose":true,"inSpringFestival":false,"openSpringFestival":false,"shippingTipsView":true,"expressRejectShowContact":true,"newApplyPage":true,"newApplyDetailPage":false,"newFeeDetailGray":true,"qualityReasonNoticeProof":true,"newQualityReasonNoticeProof":true,"freeNoCouponOrder":false,"userShippingStatusReject":false,"applyAmountDisplayAsCompensateAmount":false,"compensateAmountChoosePopUp":false,"maintainDescOptimize":true},"goodsInfo":{"skuId":1884196560652,"catId1":6398,"goodsId":936888997232,"goodsName":"【三只松鼠新疆灰枣】免洗红枣150g新疆特产枣子干货休闲零食","goodsPrice":1350,"goodsNumber":1,"goodsSpec":"新疆灰枣150g*5袋","goodsType":1,"goodsImage":"https:\u002F\u002Fimg.pddpic.com\u002Fmms-goods-image\u002F2026-04-11\u002F336d9a71-d957-4121-a84b-f70f084226c9.jpeg"},"reasonData":{"map1":[{"type":220003,"desc":"重量\u002F数量\u002F大小等描述不符","subDesc":null,"url":"https:\u002F\u002Ffunimg.pddpic.com\u002F200702_Food_and_Health_Category\u002F21_Weight_quantity_size_mismatch.png","reasonType":2200},{"type":220005,"desc":"图片\u002F品种\u002F口味\u002F标签等描述不符","subDesc":null,"url":"https:\u002F\u002Ffunimg.pddpic.com\u002F200702_Food_and_Health_Category\u002F23_Picture_mismatch.png","reasonType":2200},{"type":220001,"desc":"包装\u002F商品破损","subDesc":null,"url":"https:\u002F\u002Ffunimg.pddpic.com\u002F200702_Food_and_Health_Category\u002F28_Damaged_packaging9.png","reasonType":2100},{"type":220004,"desc":"少件\u002F漏发","subDesc":null,"url":"https:\u002F\u002Ffunimg.pddpic.com\u002F20_Quantity_mismatch.png","reasonType":2400},{"type":294,"desc":"商品变质\u002F发霉\u002F有异物","subDesc":null,"url":"https:\u002F\u002Ffunimg.pddpic.com\u002F200702_Food_and_Health_Category\u002F25_Spoiled_food.png","reasonType":2100},{"type":292,"desc":"生产日期\u002F保质期与商品描述不符","subDesc":null,"url":"https:\u002F\u002Ffunimg.pddpic.com\u002F22_Expired_food.png","reasonType":2200},{"type":81,"desc":"质量问题","subDesc":null,"url":null,"reasonType":2100},{"type":83,"desc":"商家发错货","subDesc":null,"url":"https:\u002F\u002Ffunimg.pddpic.com\u002F30_Inconsistent_product.png","reasonType":2200},{"type":262,"desc":"空包裹","subDesc":null,"url":null,"reasonType":2400},{"type":86,"desc":"假冒品牌","subDesc":null,"url":null,"reasonType":2500},{"type":95,"desc":"其他原因","subDesc":null,"url":null,"reasonType":1200}],"map2":[{"type":197,"desc":"不想要了","subDesc":null,"url":null,"reasonType":1100},{"type":194,"desc":"快递无跟踪记录","subDesc":null,"url":null,"reasonType":2300},{"type":4008,"desc":"发货慢\u002F未按承诺时间发货","subDesc":null,"url":null,"reasonType":2300},{"type":220001,"desc":"包装\u002F商品破损","subDesc":null,"url":null,"reasonType":2100},{"type":220002,"desc":"未收到货\u002F签收地址错误","subDesc":null,"url":null,"reasonType":2300},{"type":207,"desc":"其他原因","subDesc":null,"url":null,"reasonType":1200}],"map3":[{"type":88,"desc":"不想要了","subDesc":null,"url":null,"reasonType":1100},{"type":220003,"desc":"重量\u002F数量\u002F大小等描述不符","subDesc":null,"url":"https:\u002F\u002Ffunimg.pddpic.com\u002F200702_Food_and_Health_Category\u002F21_Weight_quantity_size_mismatch.png","reasonType":2200},{"type":220005,"desc":"图片\u002F品种\u002F口味\u002F标签等描述不符","subDesc":null,"url":"https:\u002F\u002Ffunimg.pddpic.com\u002F200702_Food_and_Health_Category\u002F23_Picture_mismatch.png","reasonType":2200},{"type":220001,"desc":"包装\u002F商品破损","subDesc":null,"url":"https:\u002F\u002Ffunimg.pddpic.com\u002F200702_Food_and_Health_Category\u002F28_Damaged_packaging9.png","reasonType":2100},{"type":220004,"desc":"少件\u002F漏发","subDesc":null,"url":"https:\u002F\u002Ffunimg.pddpic.com\u002F20_Quantity_mismatch.png","reasonType":2400},{"type":294,"desc":"商品变质\u002F发霉\u002F有异物","subDesc":null,"url":"https:\u002F\u002Ffunimg.pddpic.com\u002F200702_Food_and_Health_Category\u002F25_Spoiled_food.png","reasonType":2100},{"type":292,"desc":"生产日期\u002F保质期与商品描述不符","subDesc":null,"url":"https:\u002F\u002Ffunimg.pddpic.com\u002F22_Expired_food.png","reasonType":2200},{"type":81,"desc":"质量问题","subDesc":null,"url":null,"reasonType":2100},{"type":83,"desc":"商家发错货","subDesc":null,"url":"https:\u002F\u002Ffunimg.pddpic.com\u002F30_Inconsistent_product.png","reasonType":2200},{"type":86,"desc":"假冒品牌","subDesc":null,"url":null,"reasonType":2500},{"type":95,"desc":"其他原因","subDesc":null,"url":null,"reasonType":1200}],"map4":[{"type":66,"desc":"不想要了","subDesc":null,"url":null,Line truncated
var mobile = BaseRegex.GetStringJson(ref rst, "userReceivePhone");
var applyAmount = BaseRegex.GetIntJson(ref rst, "applyAmount");
var refundAmount = BaseRegex.GetIntJson(ref rst, "refundAmount");
var newMaxApplyAmount = BaseRegex.GetIntJson(ref rst, "newMaxApplyAmount");
var shippingStatus = BaseRegex.GetIntJson(ref rst, "shippingStatus");
var afterSalesId = BaseRegex.GetIntJson(ref rst, "afterSalesId");
if (shippingStatus == -1)
return "{\"success\":false,\"msg\":\"订单未付款,无法拒收退款\"}";
if (shippingStatus == 0)
return "{\"success\":false,\"msg\":\"订单未发货,无法拒收退款\"}";
if (applyAmount == 0) applyAmount = order.order_amount.ParseToInt();
if (refundAmount == 0) refundAmount = order.order_amount.ParseToInt();
if (newMaxApplyAmount == 0) newMaxApplyAmount = order.order_amount.ParseToInt();
if (string.IsNullOrEmpty(mobile))
{
return "{\"success\":false,\"msg\":\"退货信息获取失败,请检查买手是否掉线\"}";
}
if (pddBuyerAfterSale != null)
{
pddBuyerAfterSale.refundAmount = refundAmount;
}
Thread.Sleep(Randomx.GetId(1000, 2000));
var afterSaleRst = YkdBuyerOrder.SetOrderAfterSaleWithRejected(buyer, mobile, order.order_sn, applyAmount, refundAmount, newMaxApplyAmount);
return afterSaleRst;
}
/// <summary>
/// 申请拼多多买手退货退款
/// </summary>
/// <param name="buyer"></param>
/// <param name="order"></param>
/// <param name="pddBuyerAfterSale"></param>
/// <returns></returns>
public static string SimPddAfterSaleWithReturnGoods(BuyerLoginInfo buyer, PddBuyerOrderLiteInfo order, order_pdd_buyer_after_sale pddBuyerAfterSale = null)
{
var rst = YkdBuyerOrder.GetInitAfterSale(buyer, order.order_sn);
//<script>window.rawData={"store":{"errorRedirectUrl":"\u002F","abMap":{"allowPerItemAs":false,"allowPercentAs":true,"isSpringOn":false,"applyPlatformJoinText":false,"newResendEntrance":true,"newExchangeEntrance":true,"shippingTicketOcr":true,"applyAfterSalesChoose":true,"inSpringFestival":false,"openSpringFestival":false,"shippingTipsView":true,"expressRejectShowContact":true,"newApplyPage":true,"newApplyDetailPage":false,"newFeeDetailGray":true,"qualityReasonNoticeProof":true,"newQualityReasonNoticeProof":true,"freeNoCouponOrder":false,"userShippingStatusReject":false,"applyAmountDisplayAsCompensateAmount":false,"compensateAmountChoosePopUp":false,"maintainDescOptimize":true},"goodsInfo":{"skuId":1884196560652,"catId1":6398,"goodsId":936888997232,"goodsName":"【三只松鼠新疆灰枣】免洗红枣150g新疆特产枣子干货休闲零食","goodsPrice":1350,"goodsNumber":1,"goodsSpec":"新疆灰枣150g*5袋","goodsType":1,"goodsImage":"https:\u002F\u002Fimg.pddpic.com\u002Fmms-goods-image\u002F2026-04-11\u002F336d9a71-d957-4121-a84b-f70f084226c9.jpeg"},"reasonData":{"map1":[{"type":220003,"desc":"重量\u002F数量\u002F大小等描述不符","subDesc":null,"url":"https:\u002F\u002Ffunimg.pddpic.com\u002F200702_Food_and_Health_Category\u002F21_Weight_quantity_size_mismatch.png","reasonType":2200},{"type":220005,"desc":"图片\u002F品种\u002F口味\u002F标签等描述不符","subDesc":null,"url":"https:\u002F\u002Ffunimg.pddpic.com\u002F200702_Food_and_Health_Category\u002F23_Picture_mismatch.png","reasonType":2200},{"type":220001,"desc":"包装\u002F商品破损","subDesc":null,"url":"https:\u002F\u002Ffunimg.pddpic.com\u002F200702_Food_and_Health_Category\u002F28_Damaged_packaging9.png","reasonType":2100},{"type":220004,"desc":"少件\u002F漏发","subDesc":null,"url":"https:\u002F\u002Ffunimg.pddpic.com\u002F20_Quantity_mismatch.png","reasonType":2400},{"type":294,"desc":"商品变质\u002F发霉\u002F有异物","subDesc":null,"url":"https:\u002F\u002Ffunimg.pddpic.com\u002F200702_Food_and_Health_Category\u002F25_Spoiled_food.png","reasonType":2100},{"type":292,"desc":"生产日期\u002F保质期与商品描述不符","subDesc":null,"url":"https:\u002F\u002Ffunimg.pddpic.com\u002F22_Expired_food.png","reasonType":2200},{"type":81,"desc":"质量问题","subDesc":null,"url":null,"reasonType":2100},{"type":83,"desc":"商家发错货","subDesc":null,"url":"https:\u002F\u002Ffunimg.pddpic.com\u002F30_Inconsistent_product.png","reasonType":2200},{"type":262,"desc":"空包裹","subDesc":null,"url":null,"reasonType":2400},{"type":86,"desc":"假冒品牌","subDesc":null,"url":null,"reasonType":2500},{"type":95,"desc":"其他原因","subDesc":null,"url":null,"reasonType":1200}],"map2":[{"type":197,"desc":"不想要了","subDesc":null,"url":null,"reasonType":1100},{"type":194,"desc":"快递无跟踪记录","subDesc":null,"url":null,"reasonType":2300},{"type":4008,"desc":"发货慢\u002F未按承诺时间发货","subDesc":null,"url":null,"reasonType":2300},{"type":220001,"desc":"包装\u002F商品破损","subDesc":null,"url":null,"reasonType":2100},{"type":220002,"desc":"未收到货\u002F签收地址错误","subDesc":null,"url":null,"reasonType":2300},{"type":207,"desc":"其他原因","subDesc":null,"url":null,"reasonType":1200}],"map3":[{"type":88,"desc":"不想要了","subDesc":null,"url":null,"reasonType":1100},{"type":220003,"desc":"重量\u002F数量\u002F大小等描述不符","subDesc":null,"url":"https:\u002F\u002Ffunimg.pddpic.com\u002F200702_Food_and_Health_Category\u002F21_Weight_quantity_size_mismatch.png","reasonType":2200},{"type":220005,"desc":"图片\u002F品种\u002F口味\u002F标签等描述不符","subDesc":null,"url":"https:\u002F\u002Ffunimg.pddpic.com\u002F200702_Food_and_Health_Category\u002F23_Picture_mismatch.png","reasonType":2200},{"type":220001,"desc":"包装\u002F商品破损","subDesc":null,"url":"https:\u002F\u002Ffunimg.pddpic.com\u002F200702_Food_and_Health_Category\u002F28_Damaged_packaging9.png","reasonType":2100},{"type":220004,"desc":"少件\u002F漏发","subDesc":null,"url":"https:\u002F\u002Ffunimg.pddpic.com\u002F20_Quantity_mismatch.png","reasonType":2400},{"type":294,"desc":"商品变质\u002F发霉\u002F有异物","subDesc":null,"url":"https:\u002F\u002Ffunimg.pddpic.com\u002F200702_Food_and_Health_Category\u002F25_Spoiled_food.png","reasonType":2100},{"type":292,"desc":"生产日期\u002F保质期与商品描述不符","subDesc":null,"url":"https:\u002F\u002Ffunimg.pddpic.com\u002F22_Expired_food.png","reasonType":2200},{"type":81,"desc":"质量问题","subDesc":null,"url":null,"reasonType":2100},{"type":83,"desc":"商家发错货","subDesc":null,"url":"https:\u002F\u002Ffunimg.pddpic.com\u002F30_Inconsistent_product.png","reasonType":2200},{"type":86,"desc":"假冒品牌","subDesc":null,"url":null,"reasonType":2500},{"type":95,"desc":"其他原因","subDesc":null,"url":null,"reasonType":1200}],"map4":[{"type":66,"desc":"不想要了","subDesc":null,"uLine truncated
@@ -2460,7 +2519,9 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls
}
// 仅退款
/// <summary>
/// 仅退款
/// </summary>
public static string SetOrderAfterSale(BuyerLoginInfo buyer, string user_phone, string order_sn, int apply_amount, int refund_amount, int new_refund_amount)
{
string url = "https://mobile.yangkeduo.com/proxy/api/after_sales/create?pdduid=" + buyer.buyer_id;
@@ -2476,7 +2537,29 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls
return rst;
}
// 退货退款
/// <summary>
/// 已收货仅退款(拒收退款)
/// </summary>
public static string SetOrderAfterSaleWithRejected(BuyerLoginInfo buyer, string user_phone, string order_sn, int apply_amount, int refund_amount, int new_refund_amount)
{
string url = "https://mobile.yangkeduo.com/proxy/api/after_sales/create?pdduid=" + buyer.buyer_id;
string body = @"{""order_sn"":""260819-346491491930090"",""coupon_return_control_type"":0,""after_sales_type"":1,""user_ship_status"":1,""user_phone"":""17567817029"",""images"":[],""return_coupon_amount"":0,""question_type"":197,""question_desc"":""已拒收快递"",""apply_amount"":623,""refund_amount"":623,""new_refund_amount"":623,""is_lite"":true}";
body = @"{""order_sn"":""" + order_sn + @""",""coupon_return_control_type"":0,""after_sales_type"":1,""user_ship_status"":1,""user_phone"":""" + user_phone +
@""",""images"":[],""return_coupon_amount"":0,""question_type"":197,""question_desc"":""已拒收快递"",""apply_amount"":" + apply_amount +
@",""refund_amount"":" + refund_amount + @",""new_refund_amount"":" + new_refund_amount + @",""is_lite"":true}";
string referer = "https://mobile.yangkeduo.com/complaint.html?mode=64&after_sales_id=22198198961472&order_sn=260819-346491491930090&refer_page_name=complaints_new_detail&refer_page_id=82697_1787286043220_qillb14kr1&refer_page_sn=82697&after_sales_reason=197&after_sales_type=1&after_sales_code=1001&user_ship_status=1";
referer = "https://mobile.yangkeduo.com/complaint.html?order_sn=" + order_sn + "&refer_page_name=order_detail&after_sales_reason=197&after_sales_type=1&after_sales_code=1001&user_ship_status=1";
var rst = HttpResponseYkdBLL.YangkeduoPostResponse(buyer, url, body, referer);
return rst;
}
/// <summary>
/// 退货退款
/// </summary>
public static string SetOrderAfterSaleWithReturnGoods(BuyerLoginInfo buyer, string user_phone, string order_sn, int apply_amount, int refund_amount, int new_refund_amount)
{
string url = "https://mobile.yangkeduo.com/proxy/api/after_sales/create?pdduid=" + buyer.buyer_id;
@@ -962,6 +962,11 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
var buyer = GlobalConfig.PDDBuyerLoginList.ToList().FirstOrDefault(b => b.buyer_nick == buyerNickName);
if (buyer == null)
continue;
if (buyer.status == "掉线")
{
BaseMsgWindow.ShowAnimateMessage("买手号 " + buyer.buyer_nick + " 掉线,跳过自动退货", "Msg", 5);
continue;
}
var afterSalesId = orderItem.PddBuyerAfterSale?.afterSalesId;
if (string.IsNullOrEmpty(afterSalesId))
continue;
@@ -1703,7 +1708,7 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
}
/// <summary>
/// 中转仓拦截退货包裹
/// 中转仓拦截退货包裹申请买手退货退款并获取总店地址,暂时不使用此功能防止需交涉或者可拦截的订单被自动申请退货退款
/// </summary>
/// <returns></returns>
public async Task DoReturnPackageBuyerRefendSlient()
@@ -1787,7 +1792,7 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
}
/// <summary>
/// 退货仓买手申请退货
/// 退货仓买手申请退货退款获取总店地址
/// </summary>
/// <returns></returns>
public async Task DoReturnOrderBuyerRefendSlient()
@@ -2022,6 +2027,7 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
}
}
}
// 更新Pdd总店退货地址
if (isSimPddAfterSaleSuccess)
{
var addressRst = YkdBuyerOrder.GetAfterSaleAddress(buyer, pddOrderSn, pddBuyerAfterSale.afterSalesId.ParseToString());
@@ -1507,7 +1507,7 @@
IsReadOnly="True"
Text=""
TextWrapping="Wrap"
WaterMark="中转仓拒收占位" />
WaterMark="中转仓拒收" />
<Button
x:Name="btnAddEditTransitWarehouseReject"
Grid.Row="2"
@@ -1521,6 +1521,20 @@
Content="{Binding AddEditTransitWarehouseRejectStr}"
Cursor="Hand"
Foreground="{StaticResource PageLinkBrush}" />
<Button
x:Name="btnPddRefundTransitWarehouseRejectOrder"
Grid.Row="2"
Grid.Column="1"
Margin="2,0,0,0"
HorizontalAlignment="Center"
d:Visibility="Visible"
Background="Transparent"
BorderBrush="Transparent"
Click="btnPddRefundTransitWarehouseRejectOrder_Click"
Content="测试退货"
Cursor="Hand"
Foreground="{StaticResource PageLinkBrush}"
Visibility="Collapsed" />
</WrapPanel>
<WrapPanel
Grid.Row="5"
@@ -1071,8 +1071,9 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
BaseMsgWindow.ShowError("商品未出单,请直接去拼多多买手申请退款");
return;
}
if (orderItem.ItemTransitOrder?.has_reject == 1)
if (orderItem.ItemTransitOrder?.has_reject == 1 || orderItem.ItemTransitOrder?.has_reject == 3)
{
BaseMsgWindow.ShowAnimateMessage("已申请拒收", "Msg", 3);
return;
}
@@ -1442,6 +1443,97 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
});
}
private void btnPddRefundTransitWarehouseRejectOrder_Click(object sender, RoutedEventArgs e)
{
if (this.DataContext is oms_wei_order_item_info orderItem && orderItem.ItemTransitOrderWithVoid != null)
{
var pddOrderSn = orderItem.ItemTransitOrderWithVoid.out_order_no;
BuyerLoginInfo buyer = null;
buyer = GlobalConfig.PDDBuyerLoginList.FirstOrDefault(b => b.buyer_nick == orderItem.ItemTransitOrderWithVoid.buyer_account);
// 检测一下买手号
if (buyer.status == "在线")
{
PddMobileLoginForm.CheckBuyerLogin(buyer);
}
if (buyer.status != "在线")
{
BaseMsgWindow.ShowAnimateMessage("买手单:" + pddOrderSn + " 买手号掉线,跳过", "Error", 3);
return;
}
// 拒收一定是云仓
string refundStatusStr = (orderItem.TransitRefundStatusStr).ParseToString();
PddBuyerOrderLiteInfo pddBuyerOrderLiteInfo = new PddBuyerOrderLiteInfo();
pddBuyerOrderLiteInfo.ShopOrderIdStr = orderItem.order_id;
pddBuyerOrderLiteInfo.order_sn = pddOrderSn;
pddBuyerOrderLiteInfo.order_amount = orderItem.ItemTransitOrderWithVoid?.out_amount;
order_pdd_buyer_after_sale pddBuyerAfterSale = new order_pdd_buyer_after_sale()
{
wx_order_id = orderItem.order_id,
wx_sku_id = orderItem.sku_id,
TransitCreateTime = orderItem.ItemTransitOrderWithVoid?.created_time == null ? DateTime.MinValue : orderItem.ItemTransitOrderWithVoid.created_time,
pre_allocated_order_no = orderItem.ItemTransitOrderWithVoid?.pre_allocated_order_no,
buyerId = buyer.buyer_id,
buyerName = buyer.buyer_name,
orderSn = pddOrderSn,
orderAmount = pddBuyerOrderLiteInfo.order_amount,
refundAmount = pddBuyerOrderLiteInfo.order_amount,
orderDate = pddOrderSn.ParseToString().Split('-').FirstOrDefault().ParseToInt(),
};
if (orderItem.PddBuyerAfterSale != null)
pddBuyerAfterSale = orderItem.PddBuyerAfterSale;
if (refundStatusStr.Contains("需手动申请售后")) // 退款失败 // 申请已撤销
{
// {\"after_sales_id\":22312641041100,\"after_sales_status\":11,\"after_sales_type\":2,\"not_really_created\":true}
var rst = PDDBuyerOrderReadCtrl.SimPddAfterSaleWithRejected(buyer, pddBuyerOrderLiteInfo, pddBuyerAfterSale);
var afterSalesStatus = BaseRegex.GetIntJson(ref rst, "after_sales_status");
var afterSalesId = BaseRegex.GetLongJson(ref rst, "after_sales_id");
pddBuyerAfterSale.afterSalesId = afterSalesId.ToString();
pddBuyerAfterSale.statusText = "商家处理中";
if (afterSalesStatus == 0)
{
var msg = BaseRegex.GetStringJsonByRegs(ref rst, rst, "msg", "err_msg", "error_msg", "errorMsg", "errMsg");
BaseMsgWindow.ShowAnimateMessage(msg, "Error", 5);
Thread.Sleep(5000);
if (msg == "已超过可申请售后的时间")
{
var e57Rst = PDDBuyerOrderReadCtrl.SendTransitAfterSaleE57(pddBuyerOrderLiteInfo, "已超过可申请售后的时间");
if (e57Rst.Contains("<code>0</code>") || e57Rst.Contains("<code>200</code>"))
{
BaseMsgWindow.ShowAnimateMessage("买手退款信息更新成功", "Msg", 3);
Thread.Sleep(Randomx.GetId(10000, 12001));
}
else
{
msg = BaseRegex.GetStringXml(ref e57Rst, "msg");
BaseMsgWindow.ShowAnimateMessage("买手退款信息更新失败,服务端返回 " + msg, "Error", 3);
}
}
}
else
{
var e57Rst = PDDBuyerOrderReadCtrl.SendTransitAfterSaleE57(pddBuyerOrderLiteInfo, "商家处理中");
if (e57Rst.Contains("<code>0</code>") || e57Rst.Contains("<code>200</code>"))
{
BaseMsgWindow.ShowAnimateMessage("买手退款信息更新成功" + orderItem.order_id, "Msg", 3);
Thread.Sleep(Randomx.GetId(10000, 12001));
}
else
{
var msg = BaseRegex.GetStringXml(ref e57Rst, "msg");
BaseMsgWindow.ShowAnimateMessage("买手退款信息更新失败,服务端返回 " + msg, "Error", 3);
}
}
}
}
}
}
}
+1 -1
View File
@@ -230,7 +230,7 @@ namespace _29WxOrderWpf
if (isReadShop)
return;
var tList = new List<Task>();
var tList = new ConcurrentList<Task>();
List<ShopLoginInfo> list = new List<ShopLoginInfo>();
Dispatcher.Invoke(new Action(() =>
{
@@ -229,7 +229,7 @@ namespace AllBase.Model.DBModel
public void SetTransitOrder()
{
if (order_id == "3738110521481264129")
if (order_id == "3738552208766960384")
{
}
@@ -239,7 +239,7 @@ namespace AllBase.Model.DBModel
this.PddBuyerOrder = PddBuyerOrders?.FirstOrDefault();
// 优先找非撤销买手退款单
this.PddBuyerAfterSale = PddBuyerAfterSales?.FirstOrDefault(p => p.orderSn == this.ItemTransitOrderWithVoid.out_order_no && p.statusText == "退款成功") ??
PddBuyerAfterSales?.FirstOrDefault(p => p.orderSn == this.ItemTransitOrderWithVoid.out_order_no && p.statusText != "申请已撤销");
PddBuyerAfterSales?.FirstOrDefault(p => p.orderSn == this.ItemTransitOrderWithVoid.out_order_no && !p.statusText.Contains("申请已撤销"));
if (PddBuyerAfterSale == null)
PddBuyerAfterSale = PddBuyerAfterSales?.FirstOrDefault(p => p.orderSn == this.ItemTransitOrderWithVoid.out_order_no);
@@ -281,6 +281,8 @@ namespace AllBase.Model.DBModel
{
if (AddEditTransitWarehouseRejectStr == "申请")
AddEditTransitWarehouseRejectStr = "";
else if (this.ItemTransitOrderWithVoid.platform == "XDYYWC") // 义务仓已申请拒收的全部显示失败
AddEditTransitWarehouseRejectStr = "申请拒收失败*";
}
if (order_id == "3738396781943865344")
@@ -296,7 +298,7 @@ namespace AllBase.Model.DBModel
!(this.ItemRefund?.return_waybill_id).IsNullOrEmpty() || !(this.ItemRefund?.return_detail).IsNullOrEmpty() ||
(!this.ItemOrder.IsEmergency && !this.ItemOrder.isAbnormal && !this.ItemOrder.IsRefund) ||
this.ItemTransitOrderWithVoid.warehouse_status == 0 ||
(this.ItemTransitOrderWithVoid.warehouse_status == 1 && !AddEditTransitWarehouseRejectStr.IsNullOrEmpty() && AddEditTransitWarehouseRejectStr != "申请拒收失败"))
(this.ItemTransitOrderWithVoid.warehouse_status == 1 && !AddEditTransitWarehouseRejectStr.IsNullOrEmpty() && !AddEditTransitWarehouseRejectStr.StartsWith("申请拒收失败")))
{
if (AddEditTransitWarehouseAfterSaleStr != "已添加")
AddEditTransitWarehouseAfterSaleStr = "";