Commit eb10bb4b authored by 吴春's avatar 吴春

提交

parent 07f2c83a
......@@ -423,6 +423,32 @@ namespace Mall.Common
return decrypt;
}
/// <summary>
/// AES 解密
/// </summary>
/// <param name="str">明文(待解密)</param>
/// <param name="key">密文</param>
/// <returns></returns>
public static string AesDecrypt(string str, string key)
{
if (string.IsNullOrEmpty(str)) return null;
Byte[] toEncryptArray = Convert.FromBase64String(str);
RijndaelManaged rm = new RijndaelManaged
{
Key = Encoding.UTF8.GetBytes(key),
Mode = CipherMode.ECB,
Padding = PaddingMode.PKCS7
};
ICryptoTransform cTransform = rm.CreateDecryptor();
Byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);
return Encoding.UTF8.GetString(resultArray);
}
#endregion
#region RC2加密算法
......
......@@ -1440,6 +1440,79 @@ namespace Mall.WebApi.Controllers.MallBase
return ApiResult.Failed();
}
/// <summary>
/// 根据财务单据退款
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult SetOrderAfterSaleByFinance()
{
var req = RequestParm;
JObject parms = JObject.Parse(req.msg.ToString());
int ReOrderId = parms.GetInt("ReOrderId", 0);
decimal Refund = parms.GetDecimal("Refund");
if (ReOrderId <= 0)
{
return ApiResult.ParamIsNull();
}
if (Refund <= 0)
{
return ApiResult.ParamIsNull("请传递金额");
}
var ReModel = orderModule.GetOrderAfterSaleEntity(ReOrderId);
if (ReModel == null)
{
return ApiResult.Failed("未查询到售后订单信息");
}
if (ReModel == null)
{
return ApiResult.Failed("售后订单不存在");
}
if (ReModel.ReOrderStatus != OrderAfterSaleStatusEnum.RefundedBySeller)
{
return ApiResult.Failed("状态不正确");
}
if (ReModel.Refund < Refund)
{
return ApiResult.Failed("退款金额不能大于" + ReModel.Refund);
}
var orderModel = orderModule.GetOrderInfo(ReModel.OrderId ?? 0);
if (orderModel == null)
{
return ApiResult.Failed("未查询到订单信息");
}
//获取小程序信息
var mallModel = orderModule.GetMiniProgramExtend(req.MallBaseId);
int RefundNum = orderModule.GetOrderRefundOnlineTradeNum(ReModel.OrderId ?? 0, req.TenantId, req.MallBaseId);
string RefundOrderNo = orderModel.OrderNo + (RefundNum + 1);
var pram = new Common.Pay.WeChatPat.PayParam()
{
TotalFee = Convert.ToInt32(Refund * 100),
RefundFee = Refund,
OrderNumber = orderModel.MerchantsNo,
RefundNumber = RefundOrderNo
};
var Robj = new App_Code.PayUtil().Refund(pram, mallModel, _accessor);
if (Robj.IsSuccess)
{
bool flag = orderModule.SetOrderAfterSaleForRefunds(ReOrderId, Refund, req.TenantId, req.MallBaseId);
if (flag == false)
{
//日志记录
LogHelper.Write("售后订单:" + ReOrderId + ",金额:" + Refund + " 退款记录失败");
}
return ApiResult.Success("");
}
return ApiResult.Failed();
}
/// <summary>
/// 售后订单发货
/// </summary>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment