Files
zmkgC/internal/app/system/controller/user_registration.go
2025-07-07 20:11:59 +08:00

88 lines
3.0 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2024-07-26 15:32:12
// 生成路径: internal/app/system/controller/user_registration.go
// 生成人gfast
// desc:极光推送
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"errors"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/dao"
ct "github.com/tiger1103/gfast/v3/internal/app/system/logic/context"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
)
type userRegistrationController struct {
BaseController
}
var UserRegistration = new(userRegistrationController)
// List 列表
func (c *userRegistrationController) List(ctx context.Context, req *system.UserRegistrationSearchReq) (res *system.UserRegistrationSearchRes, err error) {
res, err = service.UserRegistration().List(ctx, req)
return
}
// Get 获取极光推送
func (c *userRegistrationController) Get(ctx context.Context, req *system.UserRegistrationGetReq) (res *system.UserRegistrationGetRes, err error) {
res = new(system.UserRegistrationGetRes)
res.UserRegistrationInfoRes, err = service.UserRegistration().GetById(ctx, req.Id)
return
}
// Add 添加极光推送
func (c *userRegistrationController) Add(ctx context.Context, req *system.UserRegistrationAddReq) (res *system.UserRegistrationAddRes, err error) {
err = service.UserRegistration().Add(ctx, req)
return
}
// Edit 修改极光推送
func (c *userRegistrationController) Edit(ctx context.Context, req *system.UserRegistrationEditReq) (res *system.UserRegistrationEditRes, err error) {
err = service.UserRegistration().Edit(ctx, req)
return
}
// Delete 删除极光推送
func (c *userRegistrationController) Delete(ctx context.Context, req *system.UserRegistrationDeleteReq) (res *system.UserRegistrationDeleteRes, err error) {
err = service.UserRegistration().Delete(ctx, req.Ids)
return
}
// 为当前用户设备绑定极光推送
func (c *userRegistrationController) BindRegistration(ctx context.Context, req *system.UserRegistrationRegisterReq) (res *system.UserRegistrationRegisterRes, err error) {
// 获取用户信息
userInfo := ct.New().GetLoginUser(ctx)
if userInfo == nil {
return nil, errors.New("用户未登录")
}
// 极光推送设备唯一标识
registrationID := req.RegistrationId
// sys_user 表中的用户 ID
userID := int(userInfo.Id)
openID := userInfo.OpenId
// 如果用户已经绑定过了则更新,否则添加
if service.UserRegistration().IsBind(ctx, userID) {
_, err = dao.UserRegistration.Ctx(ctx).Data(dao.UserRegistration.Columns().RegistrationId, registrationID).
Where(dao.UserRegistration.Columns().UserId, userID).Update()
} else {
err = service.UserRegistration().Add(ctx, &system.UserRegistrationAddReq{
UserId: userID,
OpenId: openID,
RegistrationId: registrationID,
})
}
return
}