Browse Source

新增SQL控制器,去掉采购单取消接口冗余参数

AddValidOverTime
shanji 2 years ago
parent
commit
bcff61aee5
  1. 13
      BBWY.Client/APIServices/BatchPurchaseService.cs
  2. 2
      BBWY.Client/ViewModels/BatchPurchase/BatchPurchaseOrderListViewModel.cs
  3. 85
      BBWY.Common/Extensions/EncryptionExtension.cs
  4. 32
      BBWY.Server.API/Controllers/SqlController.cs
  5. 10
      BBWY.Server.Business/PlatformSDK/QuanTanBusiness.cs
  6. 10
      BBWY.Server.Business/PurchaseOrderV2/BatchPurchase/BatchPurchaseBusiness.cs
  7. 33
      BBWY.Server.Business/SQL/SqlBusiness.cs
  8. 14
      BBWY.Server.Model/Dto/Request/PurchaseOrderV2/BatchPurchase/CancelPurchaseOrderRequest.cs

13
BBWY.Client/APIServices/BatchPurchaseService.cs

@ -154,20 +154,17 @@ namespace BBWY.Client.APIServices
}, null, HttpMethod.Post); }, null, HttpMethod.Post);
} }
public ApiResponse<PayPurchaseOrderResponse> CancelOrder(string orderId,Platform PurchasePlatform, PurchaseAccount purchaseAccount, string remark="") public ApiResponse<PayPurchaseOrderResponse> CancelOrder(string orderId, PurchaseAccount purchaseAccount, string remark="")
{ {
return SendRequest<PayPurchaseOrderResponse>(globalContext.BBYWApiHost, "api/BatchPurchase/CancelPurchaseOrder", new return SendRequest<PayPurchaseOrderResponse>(globalContext.BBYWApiHost, "api/BatchPurchase/CancelPurchaseOrder", new
{ {
orderId, orderId,
PurchasePlatform, Platform = purchaseAccount.PurchasePlatformId,
purchaseAccount, purchaseAccount.AppKey,
purchaseAccount.AppSecret,
purchaseAccount.AppToken,
remark, remark,
globalContext.User.Shop.ShopId,
globalContext.User.Shop.ShopName,
globalContext.User.Shop.AppKey,
globalContext.User.Shop.AppSecret,
globalContext.User.Shop.AppToken
}, null, HttpMethod.Post); }, null, HttpMethod.Post);
} }

2
BBWY.Client/ViewModels/BatchPurchase/BatchPurchaseOrderListViewModel.cs

@ -96,7 +96,7 @@ namespace BBWY.Client.ViewModels
var purchaseAccount = globalContext.User.Shop.PurchaseAccountList.FirstOrDefault(p => p.PurchasePlatformId == PurchasePlatform); var purchaseAccount = globalContext.User.Shop.PurchaseAccountList.FirstOrDefault(p => p.PurchasePlatformId == PurchasePlatform);
var res = batchPurchaseService.CancelOrder(parameters[1].ToString(), PurchasePlatform, purchaseAccount, ""); var res = batchPurchaseService.CancelOrder(parameters[1].ToString(), purchaseAccount, "");
if (res.Success) if (res.Success)
{ {
Task.Factory.StartNew(() => QueryPurchaseOrder(PageIndex)); Task.Factory.StartNew(() => QueryPurchaseOrder(PageIndex));

85
BBWY.Common/Extensions/EncryptionExtension.cs

@ -0,0 +1,85 @@
using System;
using System.IO;
using System.Linq;
using System.Security.Cryptography;
using System.Text;
namespace BBWY.Common.Extensions
{
public static class EncryptionExtension
{
public static string Md5Encrypt(this string originStr)
{
using (var md5 = MD5.Create())
{
return string.Join(string.Empty, md5.ComputeHash(Encoding.UTF8.GetBytes(originStr)).Select(x => x.ToString("x2")));
}
}
//AES加密 传入,要加密的串和, 解密key
public static string AESEncrypt(this string input)
{
var key = "dataplatform2019";
var ivStr = "1012132405963708";
var encryptKey = Encoding.UTF8.GetBytes(key);
var iv = Encoding.UTF8.GetBytes(ivStr); //偏移量,最小为16
using (var aesAlg = Aes.Create())
{
using (var encryptor = aesAlg.CreateEncryptor(encryptKey, iv))
{
using (var msEncrypt = new MemoryStream())
{
using (var csEncrypt = new CryptoStream(msEncrypt, encryptor,
CryptoStreamMode.Write))
using (var swEncrypt = new StreamWriter(csEncrypt))
{
swEncrypt.Write(input);
}
var decryptedContent = msEncrypt.ToArray();
return Convert.ToBase64String(decryptedContent);
}
}
}
}
public static string AESDecrypt(this string cipherText)
{
var fullCipher = Convert.FromBase64String(cipherText);
var ivStr = "1012132405963708";
var key = "dataplatform2019";
var iv = Encoding.UTF8.GetBytes(ivStr);
var decryptKey = Encoding.UTF8.GetBytes(key);
using (var aesAlg = Aes.Create())
{
using (var decryptor = aesAlg.CreateDecryptor(decryptKey, iv))
{
string result;
using (var msDecrypt = new MemoryStream(fullCipher))
{
using (var csDecrypt = new CryptoStream(msDecrypt, decryptor, CryptoStreamMode.Read))
{
using (var srDecrypt = new StreamReader(csDecrypt))
{
result = srDecrypt.ReadToEnd();
}
}
}
return result;
}
}
}
public static string Base64Encrypt(this string originStr)
{
return Convert.ToBase64String(Encoding.UTF8.GetBytes(originStr));
}
}
}

32
BBWY.Server.API/Controllers/SqlController.cs

@ -0,0 +1,32 @@
using BBWY.Server.Business;
using Microsoft.AspNetCore.Authentication.JwtBearer;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using System.Data;
namespace BBWY.Server.API.Controllers
{
[Authorize(AuthenticationSchemes = JwtBearerDefaults.AuthenticationScheme)]
public class SqlController : BaseApiController
{
private SqlBusiness sqlBusiness;
public SqlController(IHttpContextAccessor httpContextAccessor, SqlBusiness sqlBusiness) : base(httpContextAccessor)
{
this.sqlBusiness = sqlBusiness;
}
[HttpPost]
public int ExecuteNonQuery([FromBody]BaseSqlData baseSqlData)
{
return sqlBusiness.ExecuteNonQuery(baseSqlData);
}
[HttpPost]
public DataTable ExecuteDataTable([FromBody] BaseSqlData baseSqlData)
{
return sqlBusiness.ExecuteDataTable(baseSqlData);
}
}
}

10
BBWY.Server.Business/PlatformSDK/QuanTanBusiness.cs

@ -78,20 +78,14 @@ namespace BBWY.Server.Business
} }
public override CancelPurchaseOrderResponse CancelPurchaseOrder(CancelPurchaseOrderRequest request) public override CancelPurchaseOrderResponse CancelPurchaseOrder(CancelPurchaseOrderRequest request)
{ {
var data = request.PurchaseAccount;
var qtResponse = quanTanOrderClient.CancelOrder(new QuanTanCancelOrderRequest var qtResponse = quanTanOrderClient.CancelOrder(new QuanTanCancelOrderRequest
{ {
orderId = request.OrderId, orderId = request.OrderId,
userAccount = data.AccountName, userAccount = request.AppToken,
remark = request.Remark, remark = request.Remark,
}, request.PurchaseAccount.AppKey, request.PurchaseAccount.AppSecret); }, request.AppKey, request.AppSecret);
if (qtResponse.Status == 200) return new CancelPurchaseOrderResponse { Success = true }; if (qtResponse.Status == 200) return new CancelPurchaseOrderResponse { Success = true };
if (qtResponse.Message != null&&qtResponse.Message.Contains("已删除")) if (qtResponse.Message != null&&qtResponse.Message.Contains("已删除"))
{ {
return new CancelPurchaseOrderResponse { Success = true }; return new CancelPurchaseOrderResponse { Success = true };

10
BBWY.Server.Business/PurchaseOrderV2/BatchPurchase/BatchPurchaseBusiness.cs

@ -454,15 +454,15 @@ namespace BBWY.Server.Business
public CancelPurchaseOrderResponse CancelPurchaseOrder(CancelPurchaseOrderRequest request) public CancelPurchaseOrderResponse CancelPurchaseOrder(CancelPurchaseOrderRequest request)
{ {
var platformSDKBusiness = platformSDKBusinessList.FirstOrDefault(p => p.Platform == request.PurchasePlatform); var platformSDKBusiness = platformSDKBusinessList.FirstOrDefault(p => p.Platform == request.Platform);
var payOrderResponse = platformSDKBusiness.CancelPurchaseOrder(request); var payOrderResponse = platformSDKBusiness.CancelPurchaseOrder(request);
if (payOrderResponse.Success) if (payOrderResponse.Success)
{ {
var order = fsql.Select<PurchaseOrderV2>().Where(p => p.Id == request.OrderId).ToOne(); //var order = fsql.Select<PurchaseOrderV2>().Where(p => p.Id == request.OrderId).ToOne();
fsql.Update<PurchaseOrderV2>(order) fsql.Update<PurchaseOrderV2>(request.OrderId)
.Set(a => a.OrderState, Enums.PurchaseOrderState.) .Set(po => po.OrderState, Enums.PurchaseOrderState.)
.ExecuteAffrows(); .ExecuteAffrows();
} }

33
BBWY.Server.Business/SQL/SqlBusiness.cs

@ -0,0 +1,33 @@
using BBWY.Common.Extensions;
using BBWY.Common.Models;
using System.Data;
using Yitter.IdGenerator;
namespace BBWY.Server.Business
{
/// <summary>
/// SQL业务类,仅适用内部系统之间调用
/// </summary>
public class SqlBusiness : BaseBusiness, IDenpendency
{
public SqlBusiness(IFreeSql fsql, NLogManager nLogManager, IIdGenerator idGenerator) : base(fsql, nLogManager, idGenerator)
{
}
public int ExecuteNonQuery(BaseSqlData baseSqlData)
{
return fsql.Ado.ExecuteNonQuery(baseSqlData.Sql.AESDecrypt());
}
public DataTable ExecuteDataTable(BaseSqlData baseSqlData)
{
return fsql.Ado.ExecuteDataTable(baseSqlData.Sql.AESDecrypt());
}
}
public class BaseSqlData
{
public string Sql { get; set; }
}
}

14
BBWY.Server.Model/Dto/Request/PurchaseOrderV2/BatchPurchase/CancelPurchaseOrderRequest.cs

@ -1,9 +1,4 @@
using BBWY.Server.Model.Db; namespace BBWY.Server.Model.Dto
using System;
using System.Collections.Generic;
using System.Text;
namespace BBWY.Server.Model.Dto
{ {
public class CancelPurchaseOrderRequest: PlatformRequest public class CancelPurchaseOrderRequest: PlatformRequest
{ {
@ -11,12 +6,5 @@ namespace BBWY.Server.Model.Dto
public string Remark { get; set; } public string Remark { get; set; }
public PurchaseAccount PurchaseAccount { get; set; }
/// <summary>
/// 采购平台
/// </summary>
public Enums.Platform PurchasePlatform { get; set; }
} }
} }

Loading…
Cancel
Save