From 9b234774aa4e4fd11659846bcb87529d805fefac Mon Sep 17 00:00:00 2001 From: majun Date: Thu, 9 Apr 2026 17:33:51 +0800 Subject: [PATCH] =?UTF-8?q?2026-04-09=2017:30=20=E5=AE=8C=E6=88=90?= =?UTF-8?q?=E6=B8=AF=E8=82=A1=E5=B8=82=E5=9C=BA=E8=90=BD=E5=9C=B0=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/v1/hk_member.go | 47 +++++++++++++++++++++++++ hack/config.yaml | 3 +- internal/cmd/cmd.go | 7 ++++ internal/controller/hk_member.go | 64 +++++++++++++++++++++++++++++++++++ internal/dao/internal/member_info.go | 52 +++++++++++++++------------- internal/logic/hk_member/hk_member.go | 59 ++++++++++++++++++++++++++++++++ internal/logic/logic.go | 1 + internal/model/do/member_info.go | 28 ++++++++------- internal/model/entity/member_info.go | 26 +++++++------- internal/service/hk_member.go | 34 +++++++++++++++++++ 10 files changed, 271 insertions(+), 50 deletions(-) create mode 100644 api/v1/hk_member.go create mode 100644 internal/controller/hk_member.go create mode 100644 internal/logic/hk_member/hk_member.go create mode 100644 internal/service/hk_member.go diff --git a/api/v1/hk_member.go b/api/v1/hk_member.go new file mode 100644 index 0000000..7667a7a --- /dev/null +++ b/api/v1/hk_member.go @@ -0,0 +1,47 @@ +package v1 + +import "github.com/gogf/gf/v2/os/gtime" + +// GetHKMemberListReq 获取用户信息 +type GetHKMemberListReq struct { + Page int `p:"page" d:"1"` + PageSize int `p:"page_size" d:"20"` +} + +// GetHKMemberListRes 获取用户信息 +type GetHKMemberListRes 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:"邮箱"` + FeedbackType int `json:"feedback_type" orm:"feedback_type" description:"反馈类型(1:功能建议 2:问题反馈 3:体验优化 4:其他建议)"` + FeedbackContent string `json:"feedback_content" orm:"feedback_content" description:"反馈内容"` + IsRelated int `json:"isRelated" orm:"is_related" description:"是否联系"` + Note string `json:"note" orm:"note" description:"备注"` + CreatedAt *gtime.Time `json:"createdAt" orm:"created_at" description:"添加时间"` +} + +// InsertHKMemberReq 用户注册 +type InsertHKMemberReq struct { + Name string `p:"name" v:"required#姓名不可为空!"` + Code string `p:"code" v:"required#请选取国家地区!"` + Tel string `p:"tel" v:"required#电话号码不可为空!"` + WeChat string `p:"weChat"` + Email string `p:"email" v:"required#邮箱号不可为空!"` + FeedbackType int `p:"feedback_type"` + FeedbackContent string `p:"feedback_content" v:"required-with:FeedbackType#请填写反馈内容!"` +} + +// UpdateHKStateReq 更新状态 +type UpdateHKStateReq struct { + Id int `json:"id" v:"required"` + State int `json:"state" v:"required|integer|in:0,1"` +} + +// EditHKNoteReq 修改备注 +type EditHKNoteReq struct { + Id int `json:"id" v:"required"` + Note string `json:"note" v:"required"` +} diff --git a/hack/config.yaml b/hack/config.yaml index 08c5671..a99774d 100644 --- a/hack/config.yaml +++ b/hack/config.yaml @@ -15,4 +15,5 @@ gfcli: dao: - link: "mysql:hcdbqb:xrZthbSyNpcseEsN@tcp(54.255.212.181:3306)/hcdbqb" descriptionTag: true - noModelComment: true \ No newline at end of file + noModelComment: true + tables: "" \ No newline at end of file diff --git a/internal/cmd/cmd.go b/internal/cmd/cmd.go index 0c71ddf..d502dc7 100644 --- a/internal/cmd/cmd.go +++ b/internal/cmd/cmd.go @@ -29,6 +29,13 @@ var ( group.POST("/cover/updateImage", controller.Cover.UpdateCoverImage) //原修改图片 group.POST("/config/get", controller.Cover.GetConfig) //获取配置信息 group.POST("/config/update", controller.Cover.UpdateConfig) //修改配置信息 + + group.Group("/hk", func(group *ghttp.RouterGroup) { + group.POST("/member/getList", controller.HKMember.GetMemberList) //获取用户信息 + group.POST("/member/insert", controller.HKMember.InsertMember) //用户注册 + group.POST("/member/updateState", controller.HKMember.UpdateState) //更新状态 + group.POST("/member/editNote", controller.HKMember.EditNote) //修改备注 + }) }) s.Run() diff --git a/internal/controller/hk_member.go b/internal/controller/hk_member.go new file mode 100644 index 0000000..e5e9d97 --- /dev/null +++ b/internal/controller/hk_member.go @@ -0,0 +1,64 @@ +package controller + +import ( + v1 "UserRegister/api/v1" + "UserRegister/internal/service" + "UserRegister/utility/response" + "github.com/gogf/gf/v2/frame/g" + "github.com/gogf/gf/v2/net/ghttp" +) + +var HKMember = cHKMember{} + +type cHKMember struct{} + +func (c *cHKMember) GetMemberList(r *ghttp.Request) { + var req *v1.GetHKMemberListReq + if err := r.Parse(&req); err != nil { + response.JsonExit(r, 400, err.Error()) + } + res, total, err := service.HKMember().GetMemberList(req) + if err != nil { + response.JsonExit(r, 400, err.Error()) + } + response.JsonExit(r, 200, "success", g.Map{ + "list": res, + "total": total, + }) +} + +func (c *cHKMember) InsertMember(r *ghttp.Request) { + var req *v1.InsertHKMemberReq + if err := r.Parse(&req); err != nil { + response.JsonExit(r, 400, err.Error()) + } + err := service.HKMember().InsertMember(req) + if err != nil { + response.JsonExit(r, 400, err.Error()) + } + response.JsonExit(r, 200, "success") +} + +func (c *cHKMember) UpdateState(r *ghttp.Request) { + var req *v1.UpdateHKStateReq + if err := r.Parse(&req); err != nil { + response.JsonExit(r, 400, err.Error()) + } + err := service.HKMember().UpdateState(req) + if err != nil { + response.JsonExit(r, 400, err.Error()) + } + response.JsonExit(r, 200, "success") +} + +func (c *cHKMember) EditNote(r *ghttp.Request) { + var req *v1.EditHKNoteReq + if err := r.Parse(&req); err != nil { + response.JsonExit(r, 400, err.Error()) + } + err := service.HKMember().EditNote(req) + if err != nil { + response.JsonExit(r, 400, err.Error()) + } + response.JsonExit(r, 200, "success") +} diff --git a/internal/dao/internal/member_info.go b/internal/dao/internal/member_info.go index 6cfbaf0..91fca2d 100644 --- a/internal/dao/internal/member_info.go +++ b/internal/dao/internal/member_info.go @@ -20,34 +20,38 @@ type MemberInfoDao struct { // MemberInfoColumns defines and stores column names for table member_info. type MemberInfoColumns struct { - Id string // 主键id - Name string // 姓名 - Code string // 国家/地区代码 - Telephone string // 电话号码 - Wechat string // 微信ID - Email string // 邮箱 - CreatedAt string // 添加时间 - Type string // 注册来源(0其他,1视频,2直播,3帖子) - Url string // 来源地址 - UrlMd5 string // 来源地址(MD5加密) - IsRelated string // 是否联系 - Note string // 备注 + Id string // 主键id + Name string // 姓名 + Code string // 国家/地区代码 + Telephone string // 电话号码 + Wechat string // 微信ID + Email string // 邮箱 + CreatedAt string // 添加时间 + Type string // 注册来源(0其他,1视频,2直播,3帖子) + Url string // 来源地址 + UrlMd5 string // 来源地址(MD5加密) + IsRelated string // 是否联系 1是 0否 + Note string // 备注 + Source string // 数据来源, 0:原数据,现赢在美股导流部分 1:现DeepChart导流部分 + BenefitIntention string // 用户选择的优先获取的权益意向 1:DeepChart 2:夺宝奇兵 3:专题课 用英文逗号分割 } // memberInfoColumns holds the columns for table member_info. var memberInfoColumns = MemberInfoColumns{ - Id: "id", - Name: "name", - Code: "code", - Telephone: "telephone", - Wechat: "wechat", - Email: "email", - CreatedAt: "created_at", - Type: "type", - Url: "url", - UrlMd5: "url_md5", - IsRelated: "is_related", - Note: "note", + Id: "id", + Name: "name", + Code: "code", + Telephone: "telephone", + Wechat: "wechat", + Email: "email", + CreatedAt: "created_at", + Type: "type", + Url: "url", + UrlMd5: "url_md5", + IsRelated: "is_related", + Note: "note", + Source: "source", + BenefitIntention: "benefit_intention", } // NewMemberInfoDao creates and returns a new DAO object for table data access. diff --git a/internal/logic/hk_member/hk_member.go b/internal/logic/hk_member/hk_member.go new file mode 100644 index 0000000..fc2a8d3 --- /dev/null +++ b/internal/logic/hk_member/hk_member.go @@ -0,0 +1,59 @@ +package hk_member + +import ( + v1 "UserRegister/api/v1" + "UserRegister/internal/service" + "github.com/gogf/gf/v2/frame/g" +) + +type sHKMember struct{} + +func init() { + service.RegisterHKMember(NewHKMember()) +} + +func NewHKMember() *sHKMember { + return &sHKMember{} +} + +func (s *sHKMember) GetMemberList(req *v1.GetHKMemberListReq) (res []v1.GetHKMemberListRes, total int, err error) { + err = g.Model("hk_member_info").OrderDesc("created_at"). + Page(req.Page, req.PageSize).ScanAndCount(&res, &total, false) + return +} + +func (s *sHKMember) InsertMember(req *v1.InsertHKMemberReq) (err error) { + _, err = g.Model("hk_member_info").Data(g.Map{ + "name": req.Name, + "code": req.Code, + "telephone": req.Tel, + "wechat": req.WeChat, + "email": req.Email, + "feedback_type": req.FeedbackType, + "feedback_content": req.FeedbackContent, + }).Insert() + if err != nil { + return + } + return +} + +func (s *sHKMember) UpdateState(req *v1.UpdateHKStateReq) (err error) { + _, err = g.Model("hk_member_info").Data(g.Map{ + "is_related": req.State, + }).WherePri(req.Id).Update() + if err != nil { + return + } + return +} + +func (s *sHKMember) EditNote(req *v1.EditHKNoteReq) (err error) { + _, err = g.Model("hk_member_info").Data(g.Map{ + "note": req.Note, + }).WherePri(req.Id).Update() + if err != nil { + return + } + return +} diff --git a/internal/logic/logic.go b/internal/logic/logic.go index 6f902ac..f406b4c 100644 --- a/internal/logic/logic.go +++ b/internal/logic/logic.go @@ -6,6 +6,7 @@ package logic import ( _ "UserRegister/internal/logic/cover" + _ "UserRegister/internal/logic/hk_member" _ "UserRegister/internal/logic/member" _ "UserRegister/internal/logic/middleware" ) diff --git a/internal/model/do/member_info.go b/internal/model/do/member_info.go index 8859d34..3527a62 100644 --- a/internal/model/do/member_info.go +++ b/internal/model/do/member_info.go @@ -11,17 +11,19 @@ import ( // MemberInfo is the golang structure of table member_info for DAO operations like Where/Data. type MemberInfo struct { - g.Meta `orm:"table:member_info, do:true"` - Id interface{} // 主键id - Name interface{} // 姓名 - Code interface{} // 国家/地区代码 - Telephone interface{} // 电话号码 - Wechat interface{} // 微信ID - Email interface{} // 邮箱 - CreatedAt *gtime.Time // 添加时间 - Type interface{} // 注册来源(0其他,1视频,2直播,3帖子) - Url interface{} // 来源地址 - UrlMd5 interface{} // 来源地址(MD5加密) - IsRelated interface{} // 是否联系 - Note interface{} // 备注 + g.Meta `orm:"table:member_info, do:true"` + Id interface{} // 主键id + Name interface{} // 姓名 + Code interface{} // 国家/地区代码 + Telephone interface{} // 电话号码 + Wechat interface{} // 微信ID + Email interface{} // 邮箱 + CreatedAt *gtime.Time // 添加时间 + Type interface{} // 注册来源(0其他,1视频,2直播,3帖子) + Url interface{} // 来源地址 + UrlMd5 interface{} // 来源地址(MD5加密) + IsRelated interface{} // 是否联系 1是 0否 + Note interface{} // 备注 + Source interface{} // 数据来源, 0:原数据,现赢在美股导流部分 1:现DeepChart导流部分 + BenefitIntention interface{} // 用户选择的优先获取的权益意向 1:DeepChart 2:夺宝奇兵 3:专题课 用英文逗号分割 } diff --git a/internal/model/entity/member_info.go b/internal/model/entity/member_info.go index 420246b..93af039 100644 --- a/internal/model/entity/member_info.go +++ b/internal/model/entity/member_info.go @@ -10,16 +10,18 @@ import ( // MemberInfo is the golang structure for table member_info. type MemberInfo 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:"备注"` + 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:"是否联系 1是 0否"` + Note string `json:"note" orm:"note" description:"备注"` + Source int `json:"source" orm:"source" description:"数据来源, 0:原数据,现赢在美股导流部分 1:现DeepChart导流部分"` + BenefitIntention string `json:"benefitIntention" orm:"benefit_intention" description:"用户选择的优先获取的权益意向 1:DeepChart 2:夺宝奇兵 3:专题课 用英文逗号分割"` } diff --git a/internal/service/hk_member.go b/internal/service/hk_member.go new file mode 100644 index 0000000..9c74d5e --- /dev/null +++ b/internal/service/hk_member.go @@ -0,0 +1,34 @@ +// ================================================================================ +// 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" +) + +type ( + IHKMember interface { + GetMemberList(req *v1.GetHKMemberListReq) (res []v1.GetHKMemberListRes, total int, err error) + InsertMember(req *v1.InsertHKMemberReq) (err error) + UpdateState(req *v1.UpdateHKStateReq) (err error) + EditNote(req *v1.EditHKNoteReq) (err error) + } +) + +var ( + localHKMember IHKMember +) + +func HKMember() IHKMember { + if localHKMember == nil { + panic("implement not found for interface IHKMember, forgot register?") + } + return localHKMember +} + +func RegisterHKMember(i IHKMember) { + localHKMember = i +}