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

  1. package member
  2. import (
  3. v1 "UserRegister/api/v1"
  4. "UserRegister/internal/model/entity"
  5. "UserRegister/internal/service"
  6. "crypto/md5"
  7. "fmt"
  8. "github.com/gogf/gf/v2/frame/g"
  9. )
  10. type sMember struct{}
  11. func init() {
  12. service.RegisterMember(NewMember())
  13. }
  14. func NewMember() *sMember {
  15. return &sMember{}
  16. }
  17. func (s *sMember) InsertMember(req *v1.InsertMemberReq) (err error) {
  18. _, err = g.Model("member_info").Data(g.Map{
  19. "name": req.Name,
  20. "code": req.Code,
  21. "telephone": req.Tel,
  22. "type": req.Type,
  23. "url": req.Url,
  24. "url_md5": fmt.Sprintf("%x", md5.Sum([]byte(req.Url))),
  25. "wechat": req.WeChat,
  26. "email": req.Email,
  27. }).Insert()
  28. if err != nil {
  29. return
  30. }
  31. return
  32. }
  33. func (s *sMember) GetMemberList(req *v1.GetMemberListReq) (res []entity.MemberInfo, total int, err error) {
  34. err = g.Model("member_info").OrderDesc("created_at").
  35. Page(req.Page, req.PageSize).ScanAndCount(&res, &total, false)
  36. if err != nil {
  37. return
  38. }
  39. if len(res) == 0 {
  40. return []entity.MemberInfo{}, 0, nil
  41. }
  42. return
  43. }
  44. func (s *sMember) UpdateState(req *v1.UpdateStateReq) (err error) {
  45. _, err = g.Model("member_info").Data(g.Map{
  46. "is_related": req.State,
  47. }).WherePri(req.Id).Update()
  48. if err != nil {
  49. return
  50. }
  51. return
  52. }
  53. func (s *sMember) EditNote(req *v1.EditNoteReq) (err error) {
  54. _, err = g.Model("member_info").Data(g.Map{
  55. "note": req.Note,
  56. }).WherePri(req.Id).Update()
  57. if err != nil {
  58. return
  59. }
  60. return
  61. }