This commit is contained in:
2023-11-02 04:34:46 +08:00
commit c4548fe498
369 changed files with 40208 additions and 0 deletions

18
model/app/favorite.go Normal file
View File

@@ -0,0 +1,18 @@
package app
import "miniapp/global"
type Favorite struct {
global.GVA_MODEL
UserId int `json:"userId" gorm:"not null;column:user_id;comment:'用户id'"` // 用户id
FavoriteId int `json:"favoriteId" gorm:"not null;comment:收藏id"` // 收藏id
Cover string `json:"cover" gorm:"size:50;comment:封面"`
Titte string `json:"title" comment:"收藏商品名称"` // 收藏商品名称
Introduction string `json:"introduction" comment:"简介"` // 简介
}
// TableName 表名
func (Favorite) TableName() string {
return "sys_favorite"
}

View File

@@ -0,0 +1,18 @@
package app
import (
"miniapp/global"
)
// OAuth2Client OAuth2客户端信息
type OAuth2Client struct {
global.GVA_MODEL
ClientId string `gorm:"type:varchar(255) not null"`
ClientSecret string `gorm:"type:varchar(255) not null"`
Grant string `gorm:"type:varchar(255) not null"` // 允许的授权范围,支持类型: oauth2.GrantType
Domain string `gorm:"type:varchar(255)"`
}
func (OAuth2Client) TableName() string {
return "t_oauth2_client"
}

View File

@@ -0,0 +1,8 @@
package request
import "miniapp/model/common/request"
type GetFavoriteList struct {
request.PageInfo
UserId int `json:"userId" form:"userId" binding:"required"`
}

View File

@@ -0,0 +1,25 @@
package request
import "miniapp/model/common/constant"
type Login struct {
Username string `json:"username" form:"username" binding:"required"` // 邮箱或手机号
Password string `json:"password" form:"password"` // 密码
TypeCode constant.LoginType `json:"type" form:"type" binding:"required"` // 登录方式,默认为空,可选值参见自定义类型
UserIdentity constant.UserIdentity `json:"identity" form:"identity" binding:"required"` // 用户身份,默认为空,可选值参见自定义类型
NickName string `json:"nickName" form:"nickName"` // 微信昵称
AvatarUrl string `json:"avatarUrl" form:"avatarUrl"` // 微信头像
}
// RefreshToken 刷新Token入参
type RefreshToken struct {
RefreshToken string `json:"refresh_token" form:"refresh_token" binding:"required"` // 刷新Token
GrantType string `json:"grant_type" form:"grant_type" binding:"required"` // 授权类型,写refresh_token
}
// DecryptMobile 解密用户手机号入参
type DecryptMobile struct {
SessionKey string `json:"sessionKey" form:"sessionKey"` // sessionKey
EncryptedData string `json:"encryptedData" form:"encryptedData" binding:"required"` // 加密数据
Iv string `json:"iv" form:"iv" binding:"required"` // 加密算法的初始向量
}

54
model/app/request/user.go Normal file
View File

@@ -0,0 +1,54 @@
package request
import (
"miniapp/model/common/constant"
"miniapp/model/common/request"
"miniapp/model/types"
)
type BindingWeChat struct {
Code string `json:"code" form:"code" binding:"required"` // 微信code
}
// GetUserList 获取普通用户
type GetUserList struct {
request.PageInfo
Phone string `json:"phone" form:"phone"` // 手机号
Status string `json:"status" form:"status" binding:"oneof='' NORMAL DISABLE"` // 用户状态
StartAt string `json:"startAt" form:"startAt"` // 开始时间
EndAt string `json:"endAt" form:"endAt"` // 结束时间
Name string `json:"name" form:"name"` //用户名
}
// ChangeUserInfo 修改普通用户信息
type ChangeUserInfo struct {
Nickname string `json:"nickname" form:"nickname"` // 昵称
Avatar string `json:"avatar" form:"avatar"` // 头像
Phone string `json:"phone" form:"phone"` // 手机号
}
// ChangePassword 修改密码
type ChangePassword struct {
OldPassword string `json:"oldPassword" form:"oldPassword" binding:"required"` // 旧密码
NewPassword string `json:"newPassword" form:"oldPassword" binding:"required"` // 新密码
ConfirmPassword string `json:"confirmPassword" form:"oldPassword" binding:"required,eqcsfield=NewPassword"` // 确认新密码
}
// SaveUser 保存用户信息
type SaveUser struct {
Id int `json:"id" form:"id"` // 用户ID
Username string `json:"username" form:"username"` // 用户名
Nickname string `json:"nickname" form:"nickname"` // 昵称
Password string `json:"password" form:"password"` // 密码
Email string `json:"email" form:"email"` // 邮箱
Phone string `json:"phone" form:"phone"`
Status constant.UserStatus `json:"status" form:"status" binding:"oneof=NORMAL DISABLE"` // 用户状态
RoleId string `json:"role_id" form:"role_id"` //角色id
}
type ChangeUserHospital struct {
UserId int `json:"userId" form:"userId" binding:"required"` // 用户ID
HospitalId int `json:"hospitalId" form:"hospitalId" binding:"required"` // 医院ID
IsSurgery int `json:"isSurgery" form:"isSurgery"` // 是否已经手术 0未手术 1已手术
SurgeryTime *types.DateTime `json:"surgeryTime" form:"surgeryTime"` // 手术时间
}

View File

@@ -0,0 +1,8 @@
package request
import "miniapp/model/common/request"
type VisionListRequest struct {
request.PageInfo
UserId int `json:"userId" form:"userId"`
}

View File

@@ -0,0 +1,50 @@
package response
import (
"miniapp/model/app"
"miniapp/model/common/constant"
"miniapp/model/types"
"miniapp/utils"
"strconv"
)
type UserItem struct {
Id string `json:"id"`
Phone string `json:"phone"` // 手机号
Nickname string `json:"nickname"` // 用户名
CreateAt string `json:"createAt"` // 创建时间
Avatar string `json:"avatar"` // 头像
LastLoginAt string `json:"lastLoginAt"` // 最后登录时间
Status constant.UserStatus `json:"status"` // 状态1-正常2-禁用
}
type UserVO struct {
Id string `json:"id"`
Nickname string `json:"nickname"`
Email string `json:"email"`
Username string `json:"username"`
Phone string `json:"phone"`
Status constant.UserStatus `json:"status"`
Birthday string `json:"birthday"`
Avatar string `json:"avatar"`
LastLoginAt *types.DateTime `json:"lastLoginAt"`
LastLoginIp *string `json:"lastLoginIp"`
CreatedAt types.DateTime `json:"createdAt"`
TimeNote string `json:"timeNote"`
}
func (auv *UserVO) ParseOrdinary(u app.User) {
auv.Id = strconv.Itoa(int(u.ID))
auv.Phone = utils.Desensitization().Phone(u.Phone)
auv.Nickname = u.Nickname
auv.Status = u.Status
auv.LastLoginAt = u.LastLoginAt
auv.Avatar = u.Avatar
auv.CreatedAt = types.DateTime(u.CreatedAt)
if u.IsSurgery == 1 {
auv.TimeNote = "距离下次复查时间还剩:"
} else {
auv.TimeNote = "距离手术时间还剩:"
}
}

26
model/app/user.go Normal file
View File

@@ -0,0 +1,26 @@
package app
import (
"miniapp/global"
"miniapp/model/common/constant"
"miniapp/model/types"
)
type User struct {
global.GVA_MODEL
Phone string `json:"phone" gorm:"index:deleted;type:varchar(255) not null comment '手机号'"`
WechatUnionId *string `json:"wechat_union_id" gorm:"type:varchar(255) comment '微信UnionId'"`
WechatOpenId *string `json:"wechat_open_id" gorm:"type:varchar(255) comment '微信OpenId'"`
Nickname string `json:"nickname" gorm:"type:varchar(255) comment '昵称'"`
Avatar string `json:"avatar" gorm:"type:varchar(255) comment '头像'"`
Status constant.UserStatus `json:"status" gorm:"type:enum('NORMAL','DISABLE'); default:'NORMAL'; not null; comment:'状态 NORMAL-正常DISABLE-禁用'"`
IsSurgery int `json:"isSurgery" gorm:"default:0;comment:是否已经手术 0未手术 1已手术"`
IsInfo int `json:"isInfo" gorm:"default:0;comment:是否已经填写信息 0未填写 1已填写"`
HospitalId int `json:"hospital_id" gorm:"comment:手术医院"`
SurgeryTime *types.DateTime `json:"surgery_time" gorm:"comment:手术时间"`
LastLoginAt *types.DateTime `json:"last_login_at" gorm:"comment:'最后登录时间'"`
}
func (User) TableName() string {
return "t_user"
}

16
model/app/vision.go Normal file
View File

@@ -0,0 +1,16 @@
package app
import "miniapp/global"
type Vision struct {
global.GVA_MODEL
UserId int `json:"userId" form:"userId" gorm:"not null;column:user_id;comment:'用户id'"` // 用户id
//左眼视力
LeftEyeVision string `json:"leftEyeVision" from:"leftEyeVision" gorm:"not null;comment:左眼视力"` // 左眼视力
//右眼视力
RightEyeVision string `json:"rightEyeVision" from:"rightEyeVision" gorm:"not null;comment:右眼视力"` // 右眼视力
}
func (v Vision) TableName() string {
return "t_vision"
}