Compare commits

...

3 Commits

  1. 20
      api/v1/cover.go
  2. 42
      api/v1/member.go
  3. 15
      internal/cmd/cmd.go
  4. 28
      internal/controller/cover.go
  5. 6
      internal/controller/member.go
  6. 24
      internal/logic/cover/cover.go
  7. 46
      internal/logic/member/member.go
  8. 15
      internal/service/cover.go
  9. 12
      internal/service/member.go

20
api/v1/cover.go

@ -1,10 +1,30 @@
package v1
// GetCoverImageReq 原获取图片
type GetCoverImageReq struct {
Id int `json:"id" v:"required"`
}
// UpdateCoverImageReq 原修改图片
type UpdateCoverImageReq struct {
Id int `json:"id" v:"required"`
Url string `json:"url" v:"required"`
}
// GetConfigReq 获取配置信息
type GetConfigReq struct {
Id int `json:"id" v:"required"`
}
// GetConfigRes 获取配置信息
type GetConfigRes struct {
ImgUrl string `json:"img_url"`
Video string `json:"video"`
}
// UpdateConfigReq 更新配置信息
type UpdateConfigReq struct {
Id int `json:"id" v:"required"`
Url string `json:"url" v:"required"`
Video string `json:"video"`
}

42
api/v1/member.go

@ -1,25 +1,53 @@
package v1
import "github.com/gogf/gf/v2/os/gtime"
// InsertMemberReq 用户注册
type InsertMemberReq struct {
Name string `json:"name" v:"required#姓名不可为空!"`
Code string `json:"code" v:"required#国家/地区代码不可为空!"`
Tel string `json:"tel" v:"required#电话号码不可为空!"`
Type int `json:"type"`
Url string `json:"url"`
WeChat string `json:"weChat" v:"required#微信ID不可为空!"`
Email string `json:"email" v:"required#邮箱号不可为空!"`
Name string `json:"name" v:"required#姓名不可为空!"`
Code string `json:"code"`
Tel string `json:"tel" v:"required#电话号码不可为空!"`
Type int `json:"type"`
Url string `json:"url"`
WeChat string `json:"weChat"`
Email string `json:"email" v:"required#邮箱号不可为空!"`
Source int `json:"source" d:"0" dc:"数据来源, 0:原数据,现赢在美股导流部分 1:现DeepChart导流部分"`
BenefitIntention string `json:"benefit_intention" dc:"用户选择的优先获取的权益意向 1:DeepChart 2:夺宝奇兵 3:专题课 用英文逗号分割,不要带空格"`
}
// GetMemberListReq 获取用户信息
type GetMemberListReq struct {
Source int `json:"source" d:"0" dc:"数据来源, 0:原数据,现赢在美股导流部分 1:现DeepChart导流部分"`
Page int `p:"page" d:"1"`
PageSize int `p:"page_size" d:"20"`
}
// GetMemberListRes 获取用户信息
type GetMemberListRes struct {
Id int `json:"id" orm:"id" description:"主键id"`
Name string `json:"name" orm:"name" description:"姓名"`
Code string `json:"code" orm:"code" description:"国家/地区代码"`
Telephone string `json:"telephone" orm:"telephone" description:"电话号码"`
Wechat string `json:"wechat" orm:"wechat" description:"微信ID"`
Email string `json:"email" orm:"email" description:"邮箱"`
CreatedAt *gtime.Time `json:"createdAt" orm:"created_at" description:"添加时间"`
Type int `json:"type" orm:"type" description:"注册来源(0其他,1视频,2直播,3帖子)"`
Url string `json:"url" orm:"url" description:"来源地址"`
UrlMd5 string `json:"urlMd5" orm:"url_md5" description:"来源地址(MD5加密)"`
IsRelated int `json:"isRelated" orm:"is_related" description:"是否联系"`
Note string `json:"note" orm:"note" description:"备注"`
Source int `json:"source" orm:"source" description:"数据来源, 0:原数据,现赢在美股导流部分 1:现DeepChart导流部分"`
BenefitIntention string `json:"benefit_intention" orm:"benefit_intention" description:"用户选择的优先获取的权益意向 1:DeepChart 2:夺宝奇兵 3:专题课 用英文逗号分割,不要带空格"`
RegistrationIntention string `json:"registration_intention" dc:"用户报名意向"`
}
// UpdateStateReq 更新状态
type UpdateStateReq struct {
Id int `json:"id" v:"required"`
State int `json:"state" v:"required|integer|in:0,1"`
}
// EditNoteReq 修改备注
type EditNoteReq struct {
Id int `json:"id" v:"required"`
Note string `json:"note"`

15
internal/cmd/cmd.go

@ -21,13 +21,16 @@ var (
group.Middleware(
service.Middleware().CORS,
)
group.POST("/member/getList", controller.Member.GetMmberList)
group.POST("/member/insert", controller.Member.InsertMember)
group.POST("/member/updateState", controller.Member.UpdateState)
group.POST("/member/editNote", controller.Member.EditNote)
group.POST("/cover/getImage", controller.Cover.GetCoverImage)
group.POST("/cover/updateImage", controller.Cover.UpdateCoverImage)
group.POST("/member/getList", controller.Member.GetMemberList) //获取用户信息
group.POST("/member/insert", controller.Member.InsertMember) //用户注册
group.POST("/member/updateState", controller.Member.UpdateState) //更新状态
group.POST("/member/editNote", controller.Member.EditNote) //修改备注
group.POST("/cover/getImage", controller.Cover.GetCoverImage) //原获取图片
group.POST("/cover/updateImage", controller.Cover.UpdateCoverImage) //原修改图片
group.POST("/config/get", controller.Cover.GetConfig) //获取配置信息
group.POST("/config/update", controller.Cover.UpdateConfig) //修改配置信息
})
s.Run()
return nil
},

28
internal/controller/cover.go

@ -11,6 +11,7 @@ var Cover = cCover{}
type cCover struct{}
// GetCoverImage 原获取图片
func (c *cCover) GetCoverImage(r *ghttp.Request) {
var req *v1.GetCoverImageReq
if err := r.Parse(&req); err != nil {
@ -23,6 +24,7 @@ func (c *cCover) GetCoverImage(r *ghttp.Request) {
response.JsonExit(r, 200, "success", res)
}
// UpdateCoverImage 原修改图片
func (c *cCover) UpdateCoverImage(r *ghttp.Request) {
var req *v1.UpdateCoverImageReq
if err := r.Parse(&req); err != nil {
@ -34,3 +36,29 @@ func (c *cCover) UpdateCoverImage(r *ghttp.Request) {
}
response.JsonExit(r, 200, "success")
}
// GetConfig 获取配置信息
func (c *cCover) GetConfig(r *ghttp.Request) {
var req *v1.GetConfigReq
if err := r.Parse(&req); err != nil {
response.JsonExit(r, 400, err.Error())
}
res, err := service.Cover().GetConfig(req)
if err != nil {
response.JsonExit(r, 400, err.Error())
}
response.JsonExit(r, 200, "success", res)
}
// UpdateConfig 更新配置信息
func (c *cCover) UpdateConfig(r *ghttp.Request) {
var req *v1.UpdateConfigReq
if err := r.Parse(&req); err != nil {
response.JsonExit(r, 400, err.Error())
}
err := service.Cover().UpdateConfig(req)
if err != nil {
response.JsonExit(r, 400, err.Error())
}
response.JsonExit(r, 200, "success")
}

6
internal/controller/member.go

@ -12,6 +12,7 @@ var Member = cMember{}
type cMember struct{}
// InsertMember 用户注册
func (c *cMember) InsertMember(r *ghttp.Request) {
var req *v1.InsertMemberReq
if err := r.Parse(&req); err != nil {
@ -24,7 +25,8 @@ func (c *cMember) InsertMember(r *ghttp.Request) {
response.JsonExit(r, 200, "success")
}
func (c *cMember) GetMmberList(r *ghttp.Request) {
// GetMemberList 获取用户信息
func (c *cMember) GetMemberList(r *ghttp.Request) {
var req *v1.GetMemberListReq
if err := r.Parse(&req); err != nil {
response.JsonExit(r, 400, err.Error())
@ -39,6 +41,7 @@ func (c *cMember) GetMmberList(r *ghttp.Request) {
})
}
// UpdateState 更新状态
func (c *cMember) UpdateState(r *ghttp.Request) {
var req *v1.UpdateStateReq
if err := r.Parse(&req); err != nil {
@ -51,6 +54,7 @@ func (c *cMember) UpdateState(r *ghttp.Request) {
response.JsonExit(r, 200, "success")
}
// EditNote 修改备注
func (c *cMember) EditNote(r *ghttp.Request) {
var req *v1.EditNoteReq
if err := r.Parse(&req); err != nil {

24
internal/logic/cover/cover.go

@ -17,6 +17,7 @@ func NewCover() *sCover {
return &sCover{}
}
// GetCoverImage 原获取图片
func (s *sCover) GetCoverImage(req *v1.GetCoverImageReq) (res string, err error) {
result, err := g.Model("cover_img").Fields("url").
WherePri(req.Id).Value()
@ -27,6 +28,7 @@ func (s *sCover) GetCoverImage(req *v1.GetCoverImageReq) (res string, err error)
return
}
// UpdateCoverImage 原修改图片
func (s *sCover) UpdateCoverImage(req *v1.UpdateCoverImageReq) (err error) {
_, err = g.Model("cover_img").Data(g.Map{
"url": req.Url,
@ -36,3 +38,25 @@ func (s *sCover) UpdateCoverImage(req *v1.UpdateCoverImageReq) (err error) {
}
return
}
// GetConfig 获取配置信息
func (s *sCover) GetConfig(req *v1.GetConfigReq) (res v1.GetConfigRes, err error) {
err = g.Model("lp_config").Fields("img_url", "video").
WherePri(req.Id).Scan(&res)
if err != nil {
return
}
return
}
// UpdateConfig 更新配置信息
func (s *sCover) UpdateConfig(req *v1.UpdateConfigReq) (err error) {
_, err = g.Model("lp_config").Data(g.Map{
"img_url": req.Url,
"video": req.Video,
}).WherePri(req.Id).Update()
if err != nil {
return
}
return
}

46
internal/logic/member/member.go

@ -2,11 +2,11 @@ package member
import (
v1 "UserRegister/api/v1"
"UserRegister/internal/model/entity"
"UserRegister/internal/service"
"crypto/md5"
"fmt"
"github.com/gogf/gf/v2/frame/g"
"strings"
)
type sMember struct{}
@ -19,16 +19,19 @@ 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,
"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
@ -36,18 +39,36 @@ func (s *sMember) InsertMember(req *v1.InsertMemberReq) (err error) {
return
}
func (s *sMember) GetMemberList(req *v1.GetMemberListReq) (res []entity.MemberInfo, total int, err error) {
err = g.Model("member_info").OrderDesc("created_at").
// 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 []entity.MemberInfo{}, 0, nil
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,
@ -58,6 +79,7 @@ func (s *sMember) UpdateState(req *v1.UpdateStateReq) (err error) {
return
}
// EditNote 修改备注
func (s *sMember) EditNote(req *v1.EditNoteReq) (err error) {
_, err = g.Model("member_info").Data(g.Map{
"note": req.Note,

15
internal/service/cover.go

@ -1,11 +1,24 @@
// ================================================================================
// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.
// You can delete these comments if you wish manually maintain this interface file.
// ================================================================================
package service
import v1 "UserRegister/api/v1"
import (
v1 "UserRegister/api/v1"
)
type (
ICover interface {
// GetCoverImage 原获取图片
GetCoverImage(req *v1.GetCoverImageReq) (res string, err error)
// UpdateCoverImage 原修改图片
UpdateCoverImage(req *v1.UpdateCoverImageReq) (err error)
// GetConfig 获取配置信息
GetConfig(req *v1.GetConfigReq) (res v1.GetConfigRes, err error)
// UpdateConfig 更新配置信息
UpdateConfig(req *v1.UpdateConfigReq) (err error)
}
)

12
internal/service/member.go

@ -1,15 +1,23 @@
// ================================================================================
// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.
// You can delete these comments if you wish manually maintain this interface file.
// ================================================================================
package service
import (
v1 "UserRegister/api/v1"
"UserRegister/internal/model/entity"
)
type (
IMember interface {
// InsertMember 用户注册
InsertMember(req *v1.InsertMemberReq) (err error)
GetMemberList(req *v1.GetMemberListReq) (res []entity.MemberInfo, total int, err error)
// GetMemberList 获取用户信息
GetMemberList(req *v1.GetMemberListReq) (res []v1.GetMemberListRes, total int, err error)
// UpdateState 更新状态
UpdateState(req *v1.UpdateStateReq) (err error)
// EditNote 修改备注
EditNote(req *v1.EditNoteReq) (err error)
}
)

Loading…
Cancel
Save