支持客服主动发起申诉
This commit is contained in:
@@ -14,7 +14,7 @@ import (
|
||||
func (r *Repository) CancelByOrder(ctx context.Context, userID uint64, orderID uint64) (*DisputeDTO, error) {
|
||||
var row model.Dispute
|
||||
if err := r.db.WithContext(ctx).
|
||||
Where("order_id = ? AND initiator_id = ? AND status IN ?", orderID, userID, []string{"open", "processing"}).
|
||||
Where("order_id = ? AND initiator_type = ? AND initiator_id = ? AND status IN ?", orderID, disputeInitiatorUser, userID, []string{"open", "processing"}).
|
||||
Order("id DESC").
|
||||
First(&row).Error; err != nil {
|
||||
return nil, err
|
||||
@@ -28,7 +28,7 @@ func (r *Repository) Cancel(ctx context.Context, userID uint64, id uint64) (*Dis
|
||||
if err := tx.Clauses(clause.Locking{Strength: "UPDATE"}).First(&row, id).Error; err != nil {
|
||||
return err
|
||||
}
|
||||
if row.InitiatorID != userID {
|
||||
if effectiveInitiatorType(row) != disputeInitiatorUser || row.InitiatorID != userID {
|
||||
return ErrPermissionDenied
|
||||
}
|
||||
if row.Status != "open" && row.Status != "processing" {
|
||||
|
||||
Reference in New Issue
Block a user