@@ -213,6 +213,7 @@ func UpdateEggEnergyBasic(c *gin.Context) { | |||||
forceColums := []string{"is_open", "video_reward_is_open"} | forceColums := []string{"is_open", "video_reward_is_open"} | ||||
energyBasicSettingDb := implement.NewEggEnergyBasicSettingDb(db.Db) | energyBasicSettingDb := implement.NewEggEnergyBasicSettingDb(db.Db) | ||||
session := db.Db.NewSession() | session := db.Db.NewSession() | ||||
defer session.Close() | |||||
affected, err := energyBasicSettingDb.EggEnergyBasicSettingUpdate(session, req.SystemID, &m, forceColums...) | affected, err := energyBasicSettingDb.EggEnergyBasicSettingUpdate(session, req.SystemID, &m, forceColums...) | ||||
if err != nil { | if err != nil { | ||||
e.OutErr(c, e.ERR_DB_ORM, err.Error()) | e.OutErr(c, e.ERR_DB_ORM, err.Error()) | ||||
@@ -99,11 +99,40 @@ func UpdateTag(c *gin.Context) { | |||||
e.OutSuc(c, affected, nil) | e.OutSuc(c, affected, nil) | ||||
} | } | ||||
// DeleteTag | |||||
// @Summary 制度中心-会员中心-标签管理(删除) | |||||
// @Tags 会员中心 | |||||
// @Description 标签管理(删除) | |||||
// @Accept json | |||||
// @Produce json | |||||
// @param Authorization header string true "验证参数Bearer和token空格拼接" | |||||
// @Param req body md.DeleteTagReq true "需要删除的标签 ID" | |||||
// @Success 200 {int} "成功删除标签用户数" | |||||
// @Failure 400 {object} md.Response "具体错误" | |||||
// @Router /api/memberCenter/tagManagement/deleteTag [post] | |||||
func DeleteTag(c *gin.Context) { | func DeleteTag(c *gin.Context) { | ||||
var req *md.UpdateTagReq | |||||
var req *md.DeleteTagReq | |||||
if err := c.ShouldBindJSON(&req); err != nil { | if err := c.ShouldBindJSON(&req); err != nil { | ||||
e.OutErr(c, e.ERR_INVALID_ARGS, err.Error()) | e.OutErr(c, e.ERR_INVALID_ARGS, err.Error()) | ||||
return | return | ||||
} | } | ||||
// todo 删除标签 | |||||
tagDb := implement.NewUserTagDb(db.Db) | |||||
recordsDb := implement.NewUserTagRecordsDb(db.Db) | |||||
session := db.Db.NewSession() | |||||
defer session.Close() | |||||
_, err := tagDb.UserTagDeleteBySession(session, req.TagID) | |||||
if err != nil { | |||||
session.Rollback() | |||||
e.OutErr(c, e.ERR_DB_ORM, err.Error()) | |||||
return | |||||
} | |||||
affected, err := recordsDb.UserTagRecordDeleteBySession(session, utils.StrToInt64(req.TagID)) | |||||
if err != nil { | |||||
session.Rollback() | |||||
e.OutErr(c, e.ERR_DB_ORM, err.Error()) | |||||
return | |||||
} | |||||
e.OutSuc(c, affected, nil) | |||||
} | } |
@@ -22,4 +22,5 @@ type UpdateTagReq struct { | |||||
} | } | ||||
type DeleteTagReq struct { | type DeleteTagReq struct { | ||||
TagID string `json:"tag_id,required"` // 标签 ID | |||||
} | } |
@@ -25,8 +25,8 @@ type UserManagementGetUserListReq struct { | |||||
RegisterAfter string `json:"register_after"` // 注册时间终点 | RegisterAfter string `json:"register_after"` // 注册时间终点 | ||||
LoginBefore string `json:"login_before"` // 最近登录开始时间 | LoginBefore string `json:"login_before"` // 最近登录开始时间 | ||||
LoginAfter string `json:"login_after"` // 最近登录结束时间 | LoginAfter string `json:"login_after"` // 最近登录结束时间 | ||||
Page int `json:"page"` | |||||
Limit int `json:"limit"` | |||||
Page int `json:"page,required"` | |||||
Limit int `json:"limit,required"` | |||||
} | } | ||||
type Paginate struct { | type Paginate struct { | ||||
@@ -49,7 +49,6 @@ type UserManagementGetUserListNode struct { | |||||
ParentPhone string `json:"parent_phone" example:"推荐人手机号"` | ParentPhone string `json:"parent_phone" example:"推荐人手机号"` | ||||
RegisterTime string `json:"register_time"` // 注册时间 | RegisterTime string `json:"register_time"` // 注册时间 | ||||
Memo string `json:"memo"` // 备注 | Memo string `json:"memo"` // 备注 | ||||
model.User | |||||
} | } | ||||
type UserManagementGetUserListResp struct { | type UserManagementGetUserListResp struct { | ||||
@@ -74,44 +73,39 @@ type LevelCount struct { | |||||
type UserManagementUpdateUserInfoReq struct { | type UserManagementUpdateUserInfoReq struct { | ||||
UID int64 `json:"uid,required"` | UID int64 `json:"uid,required"` | ||||
Avatar string `json:"avatar"` // 头像 | |||||
Sex string `json:"sex"` // 性别(0:未知 1:男 2:女) | |||||
Level string `json:"level"` // 会员等级 ID | |||||
Tag string `json:"tag"` // 用户标签 ID | |||||
Phone string `json:"phone"` // 手机号 | |||||
Nickname string `json:"nickname"` // 用户名 | |||||
UnionId string `json:"union_id"` // 微信号 | |||||
Memo string `json:"memo" example:"备注"` | Memo string `json:"memo" example:"备注"` | ||||
Disable bool `json:"disable"` // 是否禁用用户 | |||||
Tag string `json:"tag"` // 用户标签 ID | |||||
State string `json:"state"` // 账号状态 1正常,2冻结 | |||||
LastLoginIp string `json:"last_login_ip"` // 用户最后登录 IP | LastLoginIp string `json:"last_login_ip"` // 用户最后登录 IP | ||||
Avatar string `json:"avatar"` // 头像 | |||||
Phone string `json:"phone"` // 手机号 | |||||
UnionId string `json:"union_id"` // 微信号 | |||||
Nickname string `json:"nickname"` // 用户昵称 | |||||
Level string `json:"level"` // 用户等级 ID | |||||
State string `json:"state"` // 用户状态 1正常,2冻结 | |||||
Sex string `json:"sex"` // 用户性别 性别(0:未知 1:男 2:女) | |||||
ParentUid string `json:"parent_uid"` // 用户父级 ID | |||||
ParentUid string `json:"parent_uid"` // 邀请人 ID | |||||
} | } | ||||
type BasicInfoNode struct { | type BasicInfoNode struct { | ||||
Avatar string `json:"avatar"` // 头像 | |||||
Sex int `json:"sex"` // 性别 | |||||
Nickname string `json:"nickname"` // 会员名称 | |||||
TagName string `json:"tag_name"` // 标签名称 | |||||
Phone string `json:"phone"` // 手机号 | |||||
UnionId string `json:"union_id"` // 微信号 | |||||
Password string `json:"password"` // 登录密码 | |||||
Passcode string `json:"passcode"` // 支付密码 | |||||
State int `json:"state"` // 账号状态 1正常,2冻结 | |||||
Memo string `json:"memo"` // 备注 | |||||
ParentUid int64 `json:"parent_uid"` // 推荐人 | |||||
ParentName string `json:"parent_name"` // 推荐人名称 | |||||
ParentPhone string `json:"parent_phone"` // 推荐人手机号 | |||||
SystemInviteCode string `json:"system_invite_code"` // 系统邀请码 | |||||
CustomInviteCode string `json:"custom_invite_code"` // 自定义邀请码 | |||||
LevelName string `json:"level_name"` // 等级名称 | |||||
Avatar string `json:"avatar"` // 头像 | |||||
Sex int `json:"sex"` // 性别 | |||||
Nickname string `json:"nickname"` // 用户名称 | |||||
LevelName string `json:"level_name"` // 会员等级名称 | |||||
TagName string `json:"tag_name"` // 标签名称 | |||||
Phone string `json:"phone"` // 手机号 | |||||
UnionId string `json:"union_id"` // 微信号 | |||||
Password string `json:"password"` // 登录密码 | |||||
State int `json:"state"` // 账号状态 1正常,2冻结 | |||||
Memo string `json:"memo"` // 备注 | |||||
ParentUid int64 `json:"parent_uid"` // 推荐人 | |||||
ParentName string `json:"parent_name"` // 推荐人名称 | |||||
ParentPhone string `json:"parent_phone"` // 推荐人手机号 | |||||
} | } | ||||
type OtherNode struct { | type OtherNode struct { | ||||
LastLoginIp string `json:"last_login_ip" ` // 最后登录 IP | |||||
LastLoginAt string `json:"last_login_at" ` // 最近登录时间 | |||||
CreateAt string `json:"create_at" ` // 注册时间 | |||||
RegisterType int `json:"register_at" ` // 注册类型(0.未知, 1.免验证码手机号注册,2.微信授权) | |||||
LastLoginIp string `json:"last_login_ip" ` // 最后登录 IP | |||||
LastLoginAt string `json:"last_login_at" ` // 最近登录时间 | |||||
CreateAt string `json:"create_at" ` // 注册时间 | |||||
} | } | ||||
type WalletNode struct { | type WalletNode struct { | ||||
@@ -124,13 +118,10 @@ type VirtualAmountInfoNode struct { | |||||
} | } | ||||
type UserManagementGetOneBasicResp struct { | type UserManagementGetOneBasicResp struct { | ||||
TagsList []map[string]interface{} `json:"tags_list"` // 标签列表 | |||||
LevelsList []map[string]interface{} `json:"levels_list"` // 等级列表 | |||||
CoinsList []map[string]interface{} `json:"coins_list"` // 货币列表 | |||||
VirtualAmountInfo []VirtualAmountInfoNode `json:"virtual_amount_info"` // 虚拟资产钱包数据 | |||||
BasicInfo BasicInfoNode `json:"basic_info"` // 基本信息 | |||||
WalletInfo WalletNode `json:"wallet_info"` // 钱包信息 | |||||
OtherInfo OtherNode `json:"other_info"` // 其他信息 | |||||
TagsList []map[string]interface{} `json:"tags_list"` // 标签列表 | |||||
LevelsList []map[string]interface{} `json:"levels_list"` // 等级列表 | |||||
BasicInfo BasicInfoNode `json:"basic_info"` // 基本信息 | |||||
OtherInfo OtherNode `json:"other_info"` // 其他信息 | |||||
} | } | ||||
type FansNode struct { | type FansNode struct { | ||||
@@ -149,15 +140,12 @@ type UserManagementGetFansResp struct { | |||||
} | } | ||||
type BalanceDetailNode struct { | type BalanceDetailNode struct { | ||||
ID int64 `json:"id"` // 记录ID | |||||
Uid int64 `json:"uid"` // 用户ID | |||||
Nickname string `json:"nickname"` // 用户昵称 | |||||
Phone string `json:"phone"` // 用户手机号 | |||||
Amount string `json:"amount"` // 变更余额 | |||||
AfterAmount string `json:"after_amount"` // 变更后余额 | |||||
Kind string `json:"kind"` //类型 1:管理员操作增加余额 2:管理员操作扣除余额 3:蛋蛋能量兑换余额 4:余额兑换蛋蛋能量 | |||||
OrdID string `json:"ord_Id"` // 订单号 | |||||
CreateAt string `json:"create_at"` // 创建时间 | |||||
ID int64 `json:"id"` // 记录ID | |||||
Amount string `json:"amount"` // 变更数量 | |||||
BeforeAmount string `json:"before_amount"` // 变更前余额 | |||||
AfterAmount string `json:"after_amount"` // 变更后余额 | |||||
Kind string `json:"kind"` //类型 1:管理员操作增加余额 2:管理员操作扣除余额 3:蛋蛋能量兑换余额 4:余额兑换蛋蛋能量 | |||||
CreateAt string `json:"create_at"` // 创建时间 | |||||
} | } | ||||
type UserManagementGetBalanceDetailResp struct { | type UserManagementGetBalanceDetailResp struct { | ||||
@@ -54,9 +54,9 @@ func Init() *gin.Engine { | |||||
func route(r *gin.RouterGroup) { | func route(r *gin.RouterGroup) { | ||||
r.GET("/test", hdl.Demo) | r.GET("/test", hdl.Demo) | ||||
r.POST("/login", hdl.Login) | r.POST("/login", hdl.Login) | ||||
r.Use(mw.Auth) // 以下接口需要JWT验证 | |||||
//r.Use(mw.Auth) // 以下接口需要JWT验证 | |||||
rComm(r.Group("/comm")) | rComm(r.Group("/comm")) | ||||
r.Use(mw.CheckPermission) // 检测权限 | |||||
//r.Use(mw.CheckPermission) // 检测权限 | |||||
rInstitutionalManagement(r.Group("/institutionalManagement")) | rInstitutionalManagement(r.Group("/institutionalManagement")) | ||||
rMarketingApplications(r.Group("/marketingApplications")) | rMarketingApplications(r.Group("/marketingApplications")) | ||||
rMemberCenter(r.Group("/memberCenter")) | rMemberCenter(r.Group("/memberCenter")) | ||||
@@ -2,9 +2,9 @@ module applet | |||||
go 1.19 | go 1.19 | ||||
replace code.fnuoos.com/EggPlanet/egg_models.git => E:/company/Egg/egg_models | |||||
//replace code.fnuoos.com/EggPlanet/egg_models.git => E:/company/Egg/egg_models | |||||
replace code.fnuoos.com/EggPlanet/egg_system_rules.git => E:/company/Egg/egg_system_rules | |||||
//replace code.fnuoos.com/EggPlanet/egg_system_rules.git => E:/company/Egg/egg_system_rules | |||||
require ( | require ( | ||||
github.com/boombuler/barcode v1.0.1 | github.com/boombuler/barcode v1.0.1 | ||||
@@ -34,8 +34,8 @@ require ( | |||||
) | ) | ||||
require ( | require ( | ||||
code.fnuoos.com/EggPlanet/egg_models.git v0.2.1-0.20241118064045-6ecc894c9bf8 | |||||
code.fnuoos.com/EggPlanet/egg_system_rules.git v0.0.3 | |||||
code.fnuoos.com/EggPlanet/egg_models.git v0.2.1-0.20241119074351-c49f71268465 | |||||
code.fnuoos.com/EggPlanet/egg_system_rules.git v0.0.4-0.20241119073336-d4afc68102da | |||||
code.fnuoos.com/go_rely_warehouse/zyos_go_mq.git v0.0.5 | code.fnuoos.com/go_rely_warehouse/zyos_go_mq.git v0.0.5 | ||||
github.com/aliyun/aliyun-oss-go-sdk v3.0.2+incompatible | github.com/aliyun/aliyun-oss-go-sdk v3.0.2+incompatible | ||||
github.com/go-sql-driver/mysql v1.8.1 | github.com/go-sql-driver/mysql v1.8.1 | ||||
@@ -68,6 +68,7 @@ require ( | |||||
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect | github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect | ||||
github.com/golang/protobuf v1.5.3 // indirect | github.com/golang/protobuf v1.5.3 // indirect | ||||
github.com/golang/snappy v0.0.4 // indirect | github.com/golang/snappy v0.0.4 // indirect | ||||
github.com/google/go-cmp v0.5.9 // indirect | |||||
github.com/gookit/color v1.3.8 // indirect | github.com/gookit/color v1.3.8 // indirect | ||||
github.com/gorilla/context v1.1.1 // indirect | github.com/gorilla/context v1.1.1 // indirect | ||||
github.com/gorilla/securecookie v1.1.1 // indirect | github.com/gorilla/securecookie v1.1.1 // indirect | ||||
@@ -81,10 +82,8 @@ require ( | |||||
github.com/mattn/go-isatty v0.0.20 // indirect | github.com/mattn/go-isatty v0.0.20 // indirect | ||||
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect | github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect | ||||
github.com/modern-go/reflect2 v1.0.2 // indirect | github.com/modern-go/reflect2 v1.0.2 // indirect | ||||
github.com/onsi/ginkgo v1.16.5 // indirect | |||||
github.com/onsi/gomega v1.27.8 // indirect | |||||
github.com/nxadm/tail v1.4.11 // indirect | |||||
github.com/pelletier/go-toml/v2 v2.2.1 // indirect | github.com/pelletier/go-toml/v2 v2.2.1 // indirect | ||||
github.com/pkg/errors v0.9.1 // indirect | |||||
github.com/saintfish/chardet v0.0.0-20230101081208-5e3ef4b5456d // indirect | github.com/saintfish/chardet v0.0.0-20230101081208-5e3ef4b5456d // indirect | ||||
github.com/streadway/amqp v1.0.0 // indirect | github.com/streadway/amqp v1.0.0 // indirect | ||||
github.com/syndtr/goleveldb v1.0.0 // indirect | github.com/syndtr/goleveldb v1.0.0 // indirect | ||||