51 lines
1.9 KiB
Go
51 lines
1.9 KiB
Go
package dao
|
|
|
|
import (
|
|
"context"
|
|
|
|
"go-common/app/service/main/member/model"
|
|
|
|
"github.com/pkg/errors"
|
|
)
|
|
|
|
const (
|
|
_addUserMonitor = "INSERT INTO user_monitor(mid, operator, remark) VALUES(?,?,?) ON DUPLICATE KEY UPDATE operator=VALUES(operator), remark=VALUES(remark), is_deleted=0"
|
|
_isInUserMonitor = "SELECT count(1) FROM user_monitor WHERE mid=? and is_deleted=0"
|
|
_addPropertyReview = "INSERT INTO user_property_review(mid, old, new, state, property, is_monitor, extra) VALUES (?,?,?,?,?,?,?)"
|
|
_archivePropertyReview = "UPDATE user_property_review SET state=?, operator=?, remark=? WHERE mid=? AND property=? AND state=0"
|
|
)
|
|
|
|
// AddUserMonitor is.
|
|
func (d *Dao) AddUserMonitor(ctx context.Context, mid int64, operator, remark string) error {
|
|
if _, err := d.db.Exec(ctx, _addUserMonitor, mid, operator, remark); err != nil {
|
|
return errors.Wrapf(err, "dao add user monitor")
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// IsInUserMonitor is.
|
|
func (d *Dao) IsInUserMonitor(ctx context.Context, mid int64) (bool, error) {
|
|
row := d.db.QueryRow(ctx, _isInUserMonitor, mid)
|
|
inMonitor := false
|
|
if err := row.Scan(&inMonitor); err != nil {
|
|
return false, errors.Wrapf(err, "dao is in user monitor")
|
|
}
|
|
return inMonitor, nil
|
|
}
|
|
|
|
// AddPropertyReview is.
|
|
func (d *Dao) AddPropertyReview(ctx context.Context, r *model.UserPropertyReview) error {
|
|
if _, err := d.db.Exec(ctx, _addPropertyReview, r.Mid, r.Old, r.New, r.State, r.Property, r.IsMonitor, r.Extra); err != nil {
|
|
return errors.Wrapf(err, "dao add user property review")
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// ArchivePropertyReview is.
|
|
func (d *Dao) ArchivePropertyReview(ctx context.Context, mid int64, property int8) error {
|
|
if _, err := d.db.Exec(ctx, _archivePropertyReview, model.ReviewStateArchived, "system", "已存在待审核单,本条归档处理", mid, property); err != nil {
|
|
return errors.Wrapf(err, "dao archive property review")
|
|
}
|
|
return nil
|
|
}
|