order bug fixed

develop
old易 2024-01-22 14:24:36 +08:00
parent cf386707bc
commit fc669a9e87
5 changed files with 181 additions and 7 deletions

View File

@ -39,5 +39,12 @@ namespace New_College.Api.Controllers.Back
{
return await v_OrderInfoServices.GetOrderInfoByPage(query);
}
[HttpGet]
public async Task<MessageModel<PageModel<OrderInfoQuery>>> GetFrontOrderInfoList([FromQuery] FrontOrderQuery query)
{
return await v_OrderInfoServices.GetFrontOrderInfoPage(query);
}
}
}

View File

@ -4740,6 +4740,41 @@
根据out_trade_no号查询
</summary>
</member>
<member name="T:New_College.Model.ViewModels.FrontOrderQuery">
<summary>
</summary>
</member>
<member name="P:New_College.Model.ViewModels.FrontOrderQuery.CardNo">
<summary>
根据卡号查询
</summary>
</member>
<member name="P:New_College.Model.ViewModels.FrontOrderQuery.CardTypeId">
<summary>
根据VIP类别查询
</summary>
</member>
<member name="P:New_College.Model.ViewModels.FrontOrderQuery.PayType">
<summary>
根据支付方式查询
</summary>
</member>
<member name="P:New_College.Model.ViewModels.FrontOrderQuery.Status">
<summary>
根据支付状态查询
</summary>
</member>
<member name="P:New_College.Model.ViewModels.FrontOrderQuery.CustomerId">
<summary>
根据CustomerId
</summary>
</member>
<member name="P:New_College.Model.ViewModels.FrontOrderQuery.out_trade_no">
<summary>
根据out_trade_no号查询
</summary>
</member>
<member name="P:New_College.Model.ViewModels.UniOrderQuery.total_fee">
<summary>
微信浏览器(标价金额)

View File

@ -23,7 +23,12 @@ namespace New_College.IServices
Task<bool> UpdateOrderStatus(string orderNo, EnumPayType payType, string trade_no);
/// <summary>
///
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
Task<MessageModel<PageModel<OrderInfoQuery>>> GetFrontOrderInfoPage(FrontOrderQuery query);
/// <summary>

View File

@ -130,4 +130,43 @@ namespace New_College.Model.ViewModels
}
/// <summary>
///
/// </summary>
public class FrontOrderQuery : BasePageRequest
{
/// <summary>
/// 根据卡号查询
/// </summary>
public string CardNo { get; set; }
/// <summary>
/// 根据VIP类别查询
/// </summary>
public int? CardTypeId { get; set; }
/// <summary>
/// 根据支付方式查询
/// </summary>
public int? PayType { get; set; }
/// <summary>
/// 根据支付状态查询
/// </summary>
public int? Status { get; set; }
/// <summary>
/// 根据CustomerId
/// </summary>
public int CustomerId { get; set; }
/// <summary>
/// 根据out_trade_no号查询
/// </summary>
public string out_trade_no { get; set; }
}
}

View File

@ -18,6 +18,8 @@ using System.Collections.Generic;
using LinqKit;
using System.IO;
using Microsoft.AspNetCore.Mvc;
using SqlSugar;
using System.Linq.Expressions;
namespace New_College.Services
{
@ -32,7 +34,7 @@ namespace New_College.Services
private readonly ILogger<V_OrderInfo> logger;
public int Nums = 10;
public V_OrderInfoServices( IBaseRepository<V_OrderInfo> dal
public V_OrderInfoServices(IBaseRepository<V_OrderInfo> dal
, IUnitOfWork IUnitOfWork
, IV_CustomerInfoRepository IV_CustomerInfoRepository
, IV_VipCardInfoRepository IV_VipCardInfoRepository
@ -58,11 +60,11 @@ namespace New_College.Services
{
viewModel.OutTradeNo = OrderGenerateHelper.GenerateOrderNo("ZY");
viewModel.Total = 99 * 100;
return await WeChatPayV3.QrCodePay(viewModel.Total.Value,"demo");
return await WeChatPayV3.QrCodePay(viewModel.Total.Value, "demo");
}
/// <summary>
@ -213,6 +215,85 @@ namespace New_College.Services
};
}
public async Task<MessageModel<PageModel<OrderInfoQuery>>> GetFrontOrderInfoPage(FrontOrderQuery query)
{
if (query.CustomerId <= 0)
{
return new MessageModel<PageModel<OrderInfoQuery>>()
{
msg = "customerId is null",
};
}
var payType = query.PayType.HasValue ? (EnumPayType)query.PayType.Value : 0;
var payStatus = query.Status.HasValue ? (EnumOrderType)query.Status.Value : 0;
Expression<Func<V_OrderInfo, bool>> wheres = Expressionable.Create<V_OrderInfo>()
.And(x => x.IsDelete == false)
.And(x => x.CustomerId == query.CustomerId)
.AndIF(!string.IsNullOrWhiteSpace(query.CardNo), x => x.CardNo.Contains(query.CardNo))//根据卡号查询
.And(x => x.Status == payStatus) //根据支付状态查询
.And(x => x.PayType == payType)
.AndIF(!string.IsNullOrWhiteSpace(query.out_trade_no), x => x.out_trade_no.Contains(query.out_trade_no))
.AndIF(query.CardTypeId > 0, x => x.CardTypeId == query.CardTypeId) //根据卡片类别查询
.ToExpression();
var info = await _dal.QueryPage(wheres, query.PageIndex, query.PageSize);
if (info.data.Count <= 0)
return new MessageModel<PageModel<OrderInfoQuery>>()
{
success = false,
msg = "获取失败"
};
var idsCard = info.data.Select(x => x.CardTypeId).ToList();
var idsCoustomer = info.data.Select(x => x.CustomerId).ToList();
var listCard = await v_VipCardTypeRepository.Query(x => idsCard.Contains(x.Id) && x.IsDelete == false);
var listCoustomer = await v_CustomerInfoRepository.Query(x => idsCoustomer.Contains(x.Id) && x.IsDelete == false);
PageModel<OrderInfoQuery> pageModel = new PageModel<OrderInfoQuery>() { };
List<OrderInfoQuery> list = new List<OrderInfoQuery>() { };
foreach (var item in info.data)
{
var CardOne = listCard.Where(x => x.Id == item.CardTypeId).FirstOrDefault();
if (CardOne == null)
continue;
var CoustomerOne = listCoustomer.Where(x => x.Id == item.CustomerId).FirstOrDefault();
if (CoustomerOne == null)
continue;
list.Add(new OrderInfoQuery()
{
CardId = item.Id,
PayPrice = item.PayPrice,
Price = item.Price,
CardNo = item.CardNo,
CardTypeName = CardOne.Name,
OrderId = item.OrderId,
CustomerName = CoustomerOne.NickName,
Name = item.Name,
//支付状态
StatusName = item.Status.GetDescription(),
out_trade_no = item.out_trade_no,
//支付方式
PayTypeName = item.PayType.GetDescription(),
Phone = CoustomerOne.Phone,
});
}
pageModel.data = list;
pageModel.dataCount = info.dataCount;
pageModel.page = info.page;
pageModel.pageCount = info.pageCount;
pageModel.PageSize = info.PageSize;
return new MessageModel<PageModel<OrderInfoQuery>>()
{
success = true,
msg = "获取成功",
response = pageModel
};
}
//public async Task<MessageModel<>>
/// <summary>
@ -254,6 +335,13 @@ namespace New_College.Services
var cc = await _dal.Update(model);
if (cc)
{
var oldorderlist = await _dal.Query(c => c.Id != model.Id && c.CustomerId == model.CustomerId);
oldorderlist.ForEach(c =>
{
c.Status = EnumOrderType.Cancel;
});
await _dal.Update(oldorderlist);
_unitOfWork.CommitTran();
status = true;
}
@ -383,7 +471,7 @@ namespace New_College.Services
return code;
}
}