Files
chain33-dtalk/service/group/dao/dbgroupapply.go
2022-03-17 15:59:24 +08:00

85 lines
2.2 KiB
Go

package dao
import (
"gitlab.33.cn/chat/dtalk/pkg/mysql"
"gitlab.33.cn/chat/dtalk/service/group/model/db"
)
const (
_InsertGroupApplysPrefix = `INSERT INTO dtalk_group_apply ( id, group_id, inviter_id, member_id, apply_note,
operator_id, apply_status, reject_reason, create_time, update_time) VALUES `
_InsertGroupApplysSuffix = ``
_GetGroupApplyById = `SELECT * FROM dtalk_group_apply WHERE id=?`
_GetGroupApplys = `SELECT * FROM dtalk_group_apply WHERE group_id=? ORDER BY id desc LIMIT ?,?`
_UpdateGroupApply = `UPDATE dtalk_group_apply SET operator_id=?, apply_status=?, reject_reason=?, update_time=? WHERE id=?`
)
// dtalk_group_apply
// InsertGroupApplys 插入加群审批
func (d *Dao) InsertGroupApplys(tx *mysql.MysqlTx, groupApplys []*db.GroupApply) error {
var vals []interface{}
valSql := ""
for i, groupApply := range groupApplys {
if i == 0 {
valSql += "(?,?,?,?,?,?,?,?,?,?)"
} else {
valSql += ",(?,?,?,?,?,?,?,?,?,?)"
}
vals = append(vals,
groupApply.Id,
groupApply.GroupId,
groupApply.InviterId,
groupApply.MemberId,
groupApply.ApplyNote,
groupApply.OperatorId,
groupApply.ApplyStatus,
groupApply.RejectReason,
groupApply.CreateTime,
groupApply.UpdateTime,
)
}
SQL := _InsertGroupApplysPrefix + valSql + _InsertGroupApplysSuffix
_, _, err := tx.Exec(SQL, vals...)
return err
}
// GetGroupApplyById 通过 ID 获得群审批详情
func (d *Dao) GetGroupApplyById(id int64) (*db.GroupApply, error) {
maps, err := d.conn.Query(_GetGroupApplyById, id)
if err != nil {
return nil, err
}
if len(maps) == 0 {
return nil, nil
}
res := maps[0]
return db.ConvertGroupApply(res), nil
}
func (d *Dao) GetGroupApplys(groupId int64, limit, offset int32) ([]*db.GroupApply, error) {
maps, err := d.conn.Query(_GetGroupApplys, groupId, offset, limit)
if err != nil {
return nil, err
}
res := make([]*db.GroupApply, 0)
for _, m := range maps {
t := db.ConvertGroupApply(m)
res = append(res, t)
}
return res, nil
}
func (d *Dao) UpdateGroupApply(operatorId string, applyStatus int32, rejectReason string, id int64) error {
nowTime := d.getNowTime()
_, _, err := d.conn.Exec(_UpdateGroupApply, operatorId, applyStatus, rejectReason, nowTime, id)
return err
}