修改了退款相关接口,新增了退款回调
This commit is contained in:
@@ -62,7 +62,7 @@ func (r *OrderMemberService) AddOrderMember(tx *gorm.DB, UserId, SystemMemberId
|
||||
diffDays := int(diff.Hours() / 24)
|
||||
totalDays := diffDays + int(systemMember.MemberDays)
|
||||
if totalDays > 180 {
|
||||
return nil, errors.New("超出会员有效期")
|
||||
return nil, errors.New("超出会员最大购买天数")
|
||||
}
|
||||
}
|
||||
|
||||
@@ -241,6 +241,8 @@ func (r *OrderMemberService) CancelOrderSingle(tx *gorm.DB, orderMember *model.O
|
||||
}
|
||||
|
||||
// 修改订单为取消
|
||||
orderMemberDao := dao.OrderMemberDao{}
|
||||
|
||||
orderMemberData := make(map[string]interface{})
|
||||
orderMemberData["order_status"] = 3
|
||||
if cancelReason == 3 {
|
||||
@@ -250,19 +252,19 @@ func (r *OrderMemberService) CancelOrderSingle(tx *gorm.DB, orderMember *model.O
|
||||
orderMemberData["cancel_status"] = 1
|
||||
orderMemberData["cancel_time"] = time.Now().Format("2006-01-02 15:04:05")
|
||||
orderMemberData["cancel_remarks"] = utils.OrderCancelReasonToString(cancelReason)
|
||||
orderMemberData["updated_at"] = time.Now().Format("2006-01-02 15:04:05")
|
||||
|
||||
orderMemberDao := dao.OrderMemberDao{}
|
||||
err = orderMemberDao.EditOrderMemberById(tx, orderMember.OrderId, orderMemberData)
|
||||
if err != nil {
|
||||
return false, errors.New("订单取消失败")
|
||||
}
|
||||
|
||||
// 退还订单优惠卷
|
||||
err = r.OrderCouponRefund(tx, orderMember)
|
||||
if err != nil {
|
||||
tx.Rollback()
|
||||
return false, err
|
||||
// 处理支付金额为0时退还优惠卷问题
|
||||
if orderMember.PaymentAmountTotal == 0 {
|
||||
// 退还订单优惠卷
|
||||
err = r.OrderCouponRefund(tx, orderMember)
|
||||
if err != nil {
|
||||
tx.Rollback()
|
||||
return false, err
|
||||
}
|
||||
}
|
||||
|
||||
return true, nil
|
||||
|
||||
@@ -274,6 +274,8 @@ func (r *OrderSingleService) CancelOrderSingle(tx *gorm.DB, orderSingle *model.O
|
||||
}
|
||||
|
||||
// 修改订单为取消
|
||||
orderSingleDao := dao.OrderSingleDao{}
|
||||
|
||||
orderSingleData := make(map[string]interface{})
|
||||
orderSingleData["order_status"] = 3
|
||||
if cancelReason == 3 {
|
||||
@@ -283,19 +285,19 @@ func (r *OrderSingleService) CancelOrderSingle(tx *gorm.DB, orderSingle *model.O
|
||||
orderSingleData["cancel_status"] = 1
|
||||
orderSingleData["cancel_time"] = time.Now().Format("2006-01-02 15:04:05")
|
||||
orderSingleData["cancel_remarks"] = utils.OrderCancelReasonToString(cancelReason)
|
||||
orderSingleData["updated_at"] = time.Now().Format("2006-01-02 15:04:05")
|
||||
|
||||
orderSingleDao := dao.OrderSingleDao{}
|
||||
err = orderSingleDao.EditOrderSingleById(tx, orderSingle.OrderId, orderSingleData)
|
||||
if err != nil {
|
||||
return false, errors.New("订单取消失败")
|
||||
}
|
||||
|
||||
// 退还订单优惠卷
|
||||
err = r.OrderCouponRefund(tx, orderSingle)
|
||||
if err != nil {
|
||||
tx.Rollback()
|
||||
return false, err
|
||||
// 处理支付金额为0时退还优惠卷问题
|
||||
if orderSingle.PaymentAmountTotal == 0 {
|
||||
// 退还订单优惠卷
|
||||
err = r.OrderCouponRefund(tx, orderSingle)
|
||||
if err != nil {
|
||||
tx.Rollback()
|
||||
return false, err
|
||||
}
|
||||
}
|
||||
|
||||
return true, nil
|
||||
@@ -385,6 +387,13 @@ func (r *OrderSingleService) CompleteUnPayOrderSingle(tx *gorm.DB, userId int64)
|
||||
return false, err
|
||||
}
|
||||
|
||||
systemSingleDao := dao.SystemSingleDao{}
|
||||
maps = make(map[string]interface{})
|
||||
systemSingle, err := systemSingleDao.GetSystemSingle(maps)
|
||||
if err != nil {
|
||||
return false, err
|
||||
}
|
||||
|
||||
for _, single := range orderSingles {
|
||||
// 生成第三方支付流水号
|
||||
escrowTradeNo := "GD" + global.Snowflake.Generate().String()
|
||||
@@ -395,6 +404,7 @@ func (r *OrderSingleService) CompleteUnPayOrderSingle(tx *gorm.DB, userId int64)
|
||||
orderSingleData["pay_time"] = time.Now().Format("2006-01-02 15:04:05")
|
||||
orderSingleData["escrow_trade_no"] = escrowTradeNo
|
||||
orderSingleData["updated_at"] = time.Now().Format("2006-01-02 15:04:05")
|
||||
orderSingleData["valid_date"] = time.Now().Add(time.Duration(systemSingle.ValidDays) * 24 * time.Hour) //有效时间
|
||||
err = orderSingleDao.EditOrderSingleById(tx, single.OrderId, orderSingleData)
|
||||
if err != nil {
|
||||
return false, err
|
||||
|
||||
Reference in New Issue
Block a user