32121
This commit is contained in:
parent
15107da6d8
commit
dafb12299e
|
|
@ -309,7 +309,7 @@ export default {
|
|||
async pay(type) {
|
||||
|
||||
var pri = this.orderData.goods.price * 100;
|
||||
if (this.orderData.use_integral < pri) {
|
||||
if (this.orderData.score < pri) {
|
||||
uni.showToast({
|
||||
title: this.$config.getAppSetting("currency2_name") + '不足',
|
||||
icon: 'none',
|
||||
|
|
|
|||
|
|
@ -2342,7 +2342,71 @@ public class OrderService : IOrderService
|
|||
userEntity.UpdatedAt = DateTime.Now;
|
||||
}
|
||||
|
||||
// 11. 标记订单为已支付
|
||||
// 11. 执行商城抽奖 - 查找奖品并发放
|
||||
// 商城类型(type=10)的奖品 num=1
|
||||
var prizeItem = await _dbContext.GoodsItems
|
||||
.Where(g => g.GoodsId == request.GoodsId && g.Num == num && g.SurplusStock > 0)
|
||||
.FirstOrDefaultAsync();
|
||||
|
||||
if (prizeItem == null)
|
||||
{
|
||||
throw new InvalidOperationException("暂无奖品信息");
|
||||
}
|
||||
|
||||
// 12. 扣减奖品库存
|
||||
prizeItem.SurplusStock -= 1;
|
||||
prizeItem.UpdatedAt = DateTime.Now;
|
||||
|
||||
// 13. 获取当前奖品的luck_no
|
||||
var luckNo = await _dbContext.OrderItems
|
||||
.Where(o => o.GoodsId == request.GoodsId && o.Num == num && o.OrderType == goods.Type)
|
||||
.OrderByDescending(o => o.Id)
|
||||
.Select(o => o.LuckNo)
|
||||
.FirstOrDefaultAsync();
|
||||
luckNo++;
|
||||
|
||||
// 14. 创建中奖记录 (OrderList/OrderItem)
|
||||
var saleTimeStamp = prizeItem.SaleTime.HasValue
|
||||
? (int)new DateTimeOffset(prizeItem.SaleTime.Value).ToUnixTimeSeconds()
|
||||
: 0;
|
||||
|
||||
var orderItem = new OrderItem
|
||||
{
|
||||
OrderId = order.Id,
|
||||
UserId = userId,
|
||||
Status = 0, // 0-未操作
|
||||
GoodsId = request.GoodsId,
|
||||
Num = num,
|
||||
ShangId = prizeItem.ShangId ?? 0,
|
||||
GoodslistId = prizeItem.Id,
|
||||
GoodslistTitle = prizeItem.Title,
|
||||
GoodslistImgurl = prizeItem.ImgUrl,
|
||||
GoodslistPrice = prizeItem.Price,
|
||||
GoodslistMoney = prizeItem.Money,
|
||||
GoodslistType = prizeItem.GoodsType,
|
||||
GoodslistSaleTime = saleTimeStamp,
|
||||
Addtime = (int)currentTimestamp,
|
||||
PrizeCode = prizeItem.PrizeCode ?? "",
|
||||
OrderType = goods.Type,
|
||||
LuckNo = luckNo,
|
||||
ParentGoodsListId = 0,
|
||||
ChoiceTime = 0,
|
||||
FhStatus = 0,
|
||||
IsChong = 0,
|
||||
IsLingzhu = 0
|
||||
};
|
||||
|
||||
_dbContext.OrderItems.Add(orderItem);
|
||||
|
||||
// 15. 扣减商品库存(增加已售数量)
|
||||
var goodsEntity = await _dbContext.Goods.FindAsync(request.GoodsId);
|
||||
if (goodsEntity != null)
|
||||
{
|
||||
goodsEntity.SaleStock += 1;
|
||||
goodsEntity.UpdatedAt = DateTime.Now;
|
||||
}
|
||||
|
||||
// 16. 标记订单为已支付
|
||||
order.Status = 1;
|
||||
order.PayTime = (int)currentTimestamp;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user