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.
 
 
 
 

91 lines
2.1 KiB

package member
import (
v1 "UserRegister/api/v1"
"UserRegister/internal/service"
"crypto/md5"
"fmt"
"github.com/gogf/gf/v2/frame/g"
"strings"
)
type sMember struct{}
func init() {
service.RegisterMember(NewMember())
}
func NewMember() *sMember {
return &sMember{}
}
// InsertMember 用户注册
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,
"source": req.Source,
"benefit_intention": req.BenefitIntention,
}).Insert()
if err != nil {
return
}
return
}
// GetMemberList 获取用户信息
func (s *sMember) GetMemberList(req *v1.GetMemberListReq) (res []v1.GetMemberListRes, total int, err error) {
err = g.Model("member_info").Where("source", req.Source).OrderDesc("created_at").
Page(req.Page, req.PageSize).ScanAndCount(&res, &total, false)
if err != nil {
return
}
if len(res) == 0 {
return []v1.GetMemberListRes{}, 0, nil
}
//! 处理RegistrationIntention
for i := range res {
str := ""
if res[i].BenefitIntention != "" {
if strings.Contains(res[i].BenefitIntention, "1") {
str = str + "DeepChart,"
}
if strings.Contains(res[i].BenefitIntention, "2") {
str = str + "夺宝奇兵,"
}
if strings.Contains(res[i].BenefitIntention, "3") {
str = str + "专题课"
}
}
res[i].RegistrationIntention = str
}
return
}
// UpdateState 更新状态
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
}
// EditNote 修改备注
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
}