You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

42 lines
920 B

package dao
import (
"context"
"fmt"
"strings"
"go-common/library/xstr"
)
const (
_addAuthoritySQL = "INSERT INTO up_white_list(mid) VALUES %s ON DUPLICATE KEY UPDATE is_deleted=0"
_rmAuthoritySQL = "UPDATE up_white_list SET is_deleted = 1 WHERE mid IN (%s)"
)
// AddAuthority .
func (d *Dao) AddAuthority(c context.Context, mids []int64) (int64, error) {
if len(mids) == 0 {
return 0, nil
}
s := make([]string, 0)
for _, v := range mids {
s = append(s, fmt.Sprintf("(%d)", v))
}
res, err := d.db.Exec(c, fmt.Sprintf(_addAuthoritySQL, strings.Join(s, ",")))
if err != nil {
return 0, err
}
return res.RowsAffected()
}
// RmAuthority .
func (d *Dao) RmAuthority(c context.Context, mids []int64) (int64, error) {
if len(mids) == 0 {
return 0, nil
}
res, err := d.db.Exec(c, fmt.Sprintf(_rmAuthoritySQL, xstr.JoinInts(mids)))
if err != nil {
return 0, err
}
return res.RowsAffected()
}