|
|
@ -8,6 +8,7 @@ using Microsoft.Extensions.Options; |
|
|
|
using System; |
|
|
|
using System.Collections.Generic; |
|
|
|
using System.IO; |
|
|
|
using System.Linq; |
|
|
|
|
|
|
|
namespace BBWY.Server.Business |
|
|
|
{ |
|
|
@ -86,6 +87,48 @@ namespace BBWY.Server.Business |
|
|
|
var filePath = Path.Combine(AppContext.BaseDirectory, "result.csv"); |
|
|
|
File.WriteAllLines(filePath, list, System.Text.Encoding.UTF8); |
|
|
|
} |
|
|
|
|
|
|
|
public void XiuFu() |
|
|
|
{ |
|
|
|
var st = DateTime.Parse("2023-09-01"); |
|
|
|
var orderList = fsql.Select<OrderCoupon, Order>().InnerJoin((oc, o) => oc.OrderId == o.Id) |
|
|
|
.Where((oc, o) => o.OrderState != Enums.OrderState.已取消 && o.StartTime >= st && o.PreferentialAmount == 0) |
|
|
|
.GroupBy((oc, o) => oc.OrderId) |
|
|
|
.ToList(g => new Order |
|
|
|
{ |
|
|
|
Id = g.Key, |
|
|
|
PreferentialAmount = g.Sum(g.Value.Item1.CouponPrice) |
|
|
|
}); |
|
|
|
|
|
|
|
List<IUpdate<Order>> updateOrderList = new List<IUpdate<Order>>(); |
|
|
|
var totalCount = orderList.Count(); |
|
|
|
for (var i = 0; i < totalCount; i++) |
|
|
|
{ |
|
|
|
var order = orderList[i]; |
|
|
|
updateOrderList.Add(fsql.Update<Order>(order.Id).Set(o => o.PreferentialAmount, order.PreferentialAmount)); |
|
|
|
if (updateOrderList.Count() == 50) |
|
|
|
{ |
|
|
|
Console.WriteLine($"执行数据库更新 {i}/{totalCount}"); |
|
|
|
fsql.Transaction(() => |
|
|
|
{ |
|
|
|
foreach (var update in updateOrderList) |
|
|
|
update.ExecuteAffrows(); |
|
|
|
}); |
|
|
|
updateOrderList.Clear(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
if (updateOrderList.Count() > 0) |
|
|
|
{ |
|
|
|
fsql.Transaction(() => |
|
|
|
{ |
|
|
|
foreach (var update in updateOrderList) |
|
|
|
update.ExecuteAffrows(); |
|
|
|
}); |
|
|
|
updateOrderList.Clear(); |
|
|
|
} |
|
|
|
Console.WriteLine("更新完毕"); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
public class JPCount |
|
|
|