1、商城订单微信支付回调代码同步;

This commit is contained in:
chenlin 2025-01-15 16:19:14 +08:00
parent 85439ff6f2
commit 04090fba93

View File

@ -960,21 +960,78 @@ func PushWXPayNotice(c *gin.Context) {
logger.Error("err:", err)
}
err = model.UserVmUpdate(goodsOrder.Uid, int(goodsOrder.Vm)*-1, model.VmEventBuyGoods, "购买商品积分抵扣")
// 商品是否存在
var goods model.Goods
err = model.NewGoodsQuerySet(model.DB).GoodsIdEq(goodsOrder.GoodsId).One(&goods)
if err != nil {
logger.Error("err:", err)
RespJson(c, status.BadRequest, nil)
return
}
sub := model.DeliverTaskSub{
Uid: uint32(goodsOrder.Uid),
UserAddressId: uint32(goodsOrder.AddressId),
OrderType: 2,
OrderId: goodsOrder.OrderId,
StoreId: 13,
// 如果订单使用了优惠券,则更新为已使用
if goodsOrder.CouponCode != "" {
model.NewUserCouponQuerySet(model.DB).CodeEq(goodsOrder.CouponCode).GetUpdater().SetState(2).Update()
}
err = sub.Add()
if err != nil {
logger.Error("deliver task sub add err:", err)
if strings.Contains(goods.Name, "预售") { // 主机预售券,需要发放优惠券;默认为已收货
model.NewGoodsOrderQuerySet(model.DB).IDEq(goodsOrder.ID).GetUpdater().
SetState(model.GoodsOrderStateReceived).Update()
var couponInfo model.Coupon
err = model.NewCouponQuerySet(model.DB).ActivityIdEq(model.NewMachineActivityId).One(&couponInfo)
if err != nil {
logger.Error("coupons err:", err)
RespJson(c, status.InternalServerError, nil)
return
}
couponCode, err := utils.GenerateRandomNumber19()
if err != nil {
logger.Error("GenerateRandomNumber19err:", err)
}
userCoupon := &model.UserCoupon{
Uid: goodsOrder.Uid,
CouponId: couponInfo.ID,
CouponType: couponInfo.CouponType,
ActivityType: couponInfo.ActivityType,
ActivityId: couponInfo.ActivityId,
Value: uint32(notifyInfo.TotalFee),
State: 1,
ActiveStart: time.Now(),
ActiveEnd: time.Now().AddDate(0, 0, 180),
UseTime: time.Time{},
MemberLevel: couponInfo.MemberLevel,
Approach: 0,
PromotionalSales: 0,
RedeemCode: "",
CategoryNumber: couponInfo.CategoryNumber,
CommodityNumber: couponInfo.CommodityNumber,
Code: couponCode,
}
err = model.DB.Create(userCoupon).Error
if err != nil {
logger.Error("user coupon err:", err)
}
} else {
err = model.UserVmUpdate(goodsOrder.Uid, int(goodsOrder.Vm)*-1, model.VmEventBuyGoods, "购买商品积分抵扣")
if err != nil {
logger.Error("err:", err)
}
sub := model.DeliverTaskSub{
Uid: uint32(goodsOrder.Uid),
UserAddressId: uint32(goodsOrder.AddressId),
OrderType: 2,
OrderId: goodsOrder.OrderId,
StoreId: 13,
}
err = sub.Add()
if err != nil {
logger.Error("deliver task sub add err:", err)
}
}
fundRecord.Uid = uint32(goodsOrder.Uid)
fundRecord.FundType = model.FundTypeBuyGoods
fundRecord.Remark = "商城购买"