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.
69 lines
1.4 KiB
69 lines
1.4 KiB
package member
|
|
|
|
import (
|
|
v1 "UserRegister/api/v1"
|
|
"UserRegister/internal/model/entity"
|
|
"UserRegister/internal/service"
|
|
"crypto/md5"
|
|
"fmt"
|
|
"github.com/gogf/gf/v2/frame/g"
|
|
)
|
|
|
|
type sMember struct{}
|
|
|
|
func init() {
|
|
service.RegisterMember(NewMember())
|
|
}
|
|
|
|
func NewMember() *sMember {
|
|
return &sMember{}
|
|
}
|
|
|
|
func (s *sMember) InsertMember(req *v1.InsertMemberReq) (err error) {
|
|
_, err = g.Model("member_info").Data(g.Map{
|
|
"name": req.Name,
|
|
"code": req.Code,
|
|
"telephone": req.Tel,
|
|
"type": req.Type,
|
|
"url": req.Url,
|
|
"url_md5": fmt.Sprintf("%x", md5.Sum([]byte(req.Url))),
|
|
"wechat": req.WeChat,
|
|
"email": req.Email,
|
|
}).Insert()
|
|
if err != nil {
|
|
return
|
|
}
|
|
return
|
|
}
|
|
|
|
func (s *sMember) GetMemberList(req *v1.GetMemberListReq) (res []entity.MemberInfo, total int, err error) {
|
|
err = g.Model("member_info").OrderDesc("created_at").
|
|
Page(req.Page, req.PageSize).ScanAndCount(&res, &total, false)
|
|
if err != nil {
|
|
return
|
|
}
|
|
if len(res) == 0 {
|
|
return []entity.MemberInfo{}, 0, nil
|
|
}
|
|
return
|
|
}
|
|
|
|
func (s *sMember) UpdateState(req *v1.UpdateStateReq) (err error) {
|
|
_, err = g.Model("member_info").Data(g.Map{
|
|
"is_related": req.State,
|
|
}).WherePri(req.Id).Update()
|
|
if err != nil {
|
|
return
|
|
}
|
|
return
|
|
}
|
|
|
|
func (s *sMember) EditNote(req *v1.EditNoteReq) (err error) {
|
|
_, err = g.Model("member_info").Data(g.Map{
|
|
"note": req.Note,
|
|
}).WherePri(req.Id).Update()
|
|
if err != nil {
|
|
return
|
|
}
|
|
return
|
|
}
|