feat(app): 新增小程序管理功能

- 添加小程序相关错误码定义
- 实现小程序创建、删除、修改和列表查询接口
- 新增小程序管理路由和拦截器配置
- 移除不再使用的模型和DAO文件
- 更新swagger文档
This commit is contained in:
邹方成 2025-10-16 14:28:24 +08:00
commit 14ec80da70
41 changed files with 1442 additions and 5421 deletions

View File

@ -15,6 +15,212 @@ const docTemplate = `{
"host": "{{.Host}}",
"basePath": "{{.BasePath}}",
"paths": {
"/admin/app/create": {
"post": {
"security": [
{
"LoginVerifyToken": []
}
],
"description": "新增小程序",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"管理端.小程序"
],
"summary": "新增小程序",
"parameters": [
{
"description": "请求参数",
"name": "RequestBody",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/app.createAppRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/app.createAppResponse"
}
},
"400": {
"description": "Bad Request",
"schema": {
"$ref": "#/definitions/code.Failure"
}
}
}
}
},
"/admin/app/delete": {
"post": {
"security": [
{
"LoginVerifyToken": []
}
],
"description": "删除小程序",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"管理端.小程序"
],
"summary": "删除小程序",
"parameters": [
{
"description": "请求参数",
"name": "RequestBody",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/app.deleteAppRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/app.deleteAppResponse"
}
},
"400": {
"description": "Bad Request",
"schema": {
"$ref": "#/definitions/code.Failure"
}
}
}
}
},
"/admin/app/{id}": {
"put": {
"security": [
{
"LoginVerifyToken": []
}
],
"description": "编辑小程序",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"管理端.小程序"
],
"summary": "编辑小程序",
"parameters": [
{
"type": "string",
"description": "编号ID",
"name": "id",
"in": "path",
"required": true
},
{
"description": "请求参数",
"name": "RequestBody",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/app.modifyAppRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/app.modifyAppResponse"
}
},
"400": {
"description": "Bad Request",
"schema": {
"$ref": "#/definitions/code.Failure"
}
}
}
}
},
"/admin/apps": {
"get": {
"security": [
{
"LoginVerifyToken": []
}
],
"description": "小程序列表",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"管理端.小程序"
],
"summary": "小程序列表",
"parameters": [
{
"type": "string",
"description": "小程序名称",
"name": "name",
"in": "query"
},
{
"type": "string",
"description": "小程序ID",
"name": "app_id",
"in": "query"
},
{
"type": "integer",
"default": 1,
"description": "当前页码",
"name": "page",
"in": "query",
"required": true
},
{
"type": "integer",
"default": 20,
"description": "每页返回的数据量,最多 100 条",
"name": "page_size",
"in": "query",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/app.listResponse"
}
},
"400": {
"description": "Bad Request",
"schema": {
"$ref": "#/definitions/code.Failure"
}
}
}
}
},
"/admin/login": {
"post": {
"description": "管理员登录",
@ -83,6 +289,151 @@ const docTemplate = `{
}
}
},
"app.createAppRequest": {
"type": "object",
"required": [
"app_id",
"name"
],
"properties": {
"app_id": {
"description": "小程序ID",
"type": "string"
},
"avatar": {
"description": "头像",
"type": "string"
},
"description": {
"description": "描述",
"type": "string"
},
"name": {
"description": "名称",
"type": "string"
}
}
},
"app.createAppResponse": {
"type": "object",
"properties": {
"message": {
"description": "提示信息",
"type": "string"
}
}
},
"app.deleteAppRequest": {
"type": "object",
"required": [
"ids"
],
"properties": {
"ids": {
"description": "小程序编号(多个用,分割)",
"type": "string"
}
}
},
"app.deleteAppResponse": {
"type": "object",
"properties": {
"message": {
"description": "提示信息",
"type": "string"
}
}
},
"app.listData": {
"type": "object",
"properties": {
"app_id": {
"description": "小程序ID",
"type": "string"
},
"avatar": {
"description": "小程序头像",
"type": "string"
},
"created_at": {
"description": "创建时间",
"type": "string"
},
"description": {
"description": "小程序描述",
"type": "string"
},
"id": {
"description": "小程序编号",
"type": "integer"
},
"name": {
"description": "小程序名称",
"type": "string"
},
"updated_at": {
"description": "更新时间",
"type": "string"
}
}
},
"app.listResponse": {
"type": "object",
"properties": {
"list": {
"type": "array",
"items": {
"$ref": "#/definitions/app.listData"
}
},
"page": {
"description": "当前页码",
"type": "integer"
},
"page_size": {
"description": "每页返回的数据量",
"type": "integer"
},
"total": {
"description": "符合查询条件的总记录数",
"type": "integer"
}
}
},
"app.modifyAppRequest": {
"type": "object",
"required": [
"app_id",
"name"
],
"properties": {
"app_id": {
"description": "小程序ID",
"type": "string"
},
"avatar": {
"description": "头像",
"type": "string"
},
"description": {
"description": "描述",
"type": "string"
},
"name": {
"description": "名称",
"type": "string"
}
}
},
"app.modifyAppResponse": {
"type": "object",
"properties": {
"message": {
"description": "提示信息",
"type": "string"
}
}
},
"code.Failure": {
"type": "object",
"properties": {

View File

@ -7,6 +7,212 @@
},
"basePath": "/",
"paths": {
"/admin/app/create": {
"post": {
"security": [
{
"LoginVerifyToken": []
}
],
"description": "新增小程序",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"管理端.小程序"
],
"summary": "新增小程序",
"parameters": [
{
"description": "请求参数",
"name": "RequestBody",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/app.createAppRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/app.createAppResponse"
}
},
"400": {
"description": "Bad Request",
"schema": {
"$ref": "#/definitions/code.Failure"
}
}
}
}
},
"/admin/app/delete": {
"post": {
"security": [
{
"LoginVerifyToken": []
}
],
"description": "删除小程序",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"管理端.小程序"
],
"summary": "删除小程序",
"parameters": [
{
"description": "请求参数",
"name": "RequestBody",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/app.deleteAppRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/app.deleteAppResponse"
}
},
"400": {
"description": "Bad Request",
"schema": {
"$ref": "#/definitions/code.Failure"
}
}
}
}
},
"/admin/app/{id}": {
"put": {
"security": [
{
"LoginVerifyToken": []
}
],
"description": "编辑小程序",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"管理端.小程序"
],
"summary": "编辑小程序",
"parameters": [
{
"type": "string",
"description": "编号ID",
"name": "id",
"in": "path",
"required": true
},
{
"description": "请求参数",
"name": "RequestBody",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/app.modifyAppRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/app.modifyAppResponse"
}
},
"400": {
"description": "Bad Request",
"schema": {
"$ref": "#/definitions/code.Failure"
}
}
}
}
},
"/admin/apps": {
"get": {
"security": [
{
"LoginVerifyToken": []
}
],
"description": "小程序列表",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"管理端.小程序"
],
"summary": "小程序列表",
"parameters": [
{
"type": "string",
"description": "小程序名称",
"name": "name",
"in": "query"
},
{
"type": "string",
"description": "小程序ID",
"name": "app_id",
"in": "query"
},
{
"type": "integer",
"default": 1,
"description": "当前页码",
"name": "page",
"in": "query",
"required": true
},
{
"type": "integer",
"default": 20,
"description": "每页返回的数据量,最多 100 条",
"name": "page_size",
"in": "query",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/app.listResponse"
}
},
"400": {
"description": "Bad Request",
"schema": {
"$ref": "#/definitions/code.Failure"
}
}
}
}
},
"/admin/login": {
"post": {
"description": "管理员登录",
@ -75,6 +281,151 @@
}
}
},
"app.createAppRequest": {
"type": "object",
"required": [
"app_id",
"name"
],
"properties": {
"app_id": {
"description": "小程序ID",
"type": "string"
},
"avatar": {
"description": "头像",
"type": "string"
},
"description": {
"description": "描述",
"type": "string"
},
"name": {
"description": "名称",
"type": "string"
}
}
},
"app.createAppResponse": {
"type": "object",
"properties": {
"message": {
"description": "提示信息",
"type": "string"
}
}
},
"app.deleteAppRequest": {
"type": "object",
"required": [
"ids"
],
"properties": {
"ids": {
"description": "小程序编号(多个用,分割)",
"type": "string"
}
}
},
"app.deleteAppResponse": {
"type": "object",
"properties": {
"message": {
"description": "提示信息",
"type": "string"
}
}
},
"app.listData": {
"type": "object",
"properties": {
"app_id": {
"description": "小程序ID",
"type": "string"
},
"avatar": {
"description": "小程序头像",
"type": "string"
},
"created_at": {
"description": "创建时间",
"type": "string"
},
"description": {
"description": "小程序描述",
"type": "string"
},
"id": {
"description": "小程序编号",
"type": "integer"
},
"name": {
"description": "小程序名称",
"type": "string"
},
"updated_at": {
"description": "更新时间",
"type": "string"
}
}
},
"app.listResponse": {
"type": "object",
"properties": {
"list": {
"type": "array",
"items": {
"$ref": "#/definitions/app.listData"
}
},
"page": {
"description": "当前页码",
"type": "integer"
},
"page_size": {
"description": "每页返回的数据量",
"type": "integer"
},
"total": {
"description": "符合查询条件的总记录数",
"type": "integer"
}
}
},
"app.modifyAppRequest": {
"type": "object",
"required": [
"app_id",
"name"
],
"properties": {
"app_id": {
"description": "小程序ID",
"type": "string"
},
"avatar": {
"description": "头像",
"type": "string"
},
"description": {
"description": "描述",
"type": "string"
},
"name": {
"description": "名称",
"type": "string"
}
}
},
"app.modifyAppResponse": {
"type": "object",
"properties": {
"message": {
"description": "提示信息",
"type": "string"
}
}
},
"code.Failure": {
"type": "object",
"properties": {

View File

@ -18,6 +18,108 @@ definitions:
description: 登录成功后颁发的 Token
type: string
type: object
app.createAppRequest:
properties:
app_id:
description: 小程序ID
type: string
avatar:
description: 头像
type: string
description:
description: 描述
type: string
name:
description: 名称
type: string
required:
- app_id
- name
type: object
app.createAppResponse:
properties:
message:
description: 提示信息
type: string
type: object
app.deleteAppRequest:
properties:
ids:
description: 小程序编号(多个用,分割)
type: string
required:
- ids
type: object
app.deleteAppResponse:
properties:
message:
description: 提示信息
type: string
type: object
app.listData:
properties:
app_id:
description: 小程序ID
type: string
avatar:
description: 小程序头像
type: string
created_at:
description: 创建时间
type: string
description:
description: 小程序描述
type: string
id:
description: 小程序编号
type: integer
name:
description: 小程序名称
type: string
updated_at:
description: 更新时间
type: string
type: object
app.listResponse:
properties:
list:
items:
$ref: '#/definitions/app.listData'
type: array
page:
description: 当前页码
type: integer
page_size:
description: 每页返回的数据量
type: integer
total:
description: 符合查询条件的总记录数
type: integer
type: object
app.modifyAppRequest:
properties:
app_id:
description: 小程序ID
type: string
avatar:
description: 头像
type: string
description:
description: 描述
type: string
name:
description: 名称
type: string
required:
- app_id
- name
type: object
app.modifyAppResponse:
properties:
message:
description: 提示信息
type: string
type: object
code.Failure:
properties:
code:
@ -32,6 +134,137 @@ info:
title: mini-chat 接口文档
version: v0.0.1
paths:
/admin/app/{id}:
put:
consumes:
- application/json
description: 编辑小程序
parameters:
- description: 编号ID
in: path
name: id
required: true
type: string
- description: 请求参数
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/app.modifyAppRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/app.modifyAppResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 编辑小程序
tags:
- 管理端.小程序
/admin/app/create:
post:
consumes:
- application/json
description: 新增小程序
parameters:
- description: 请求参数
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/app.createAppRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/app.createAppResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 新增小程序
tags:
- 管理端.小程序
/admin/app/delete:
post:
consumes:
- application/json
description: 删除小程序
parameters:
- description: 请求参数
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/app.deleteAppRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/app.deleteAppResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 删除小程序
tags:
- 管理端.小程序
/admin/apps:
get:
consumes:
- application/json
description: 小程序列表
parameters:
- description: 小程序名称
in: query
name: name
type: string
- description: 小程序ID
in: query
name: app_id
type: string
- default: 1
description: 当前页码
in: query
name: page
required: true
type: integer
- default: 20
description: 每页返回的数据量,最多 100 条
in: query
name: page_size
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/app.listResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 小程序列表
tags:
- 管理端.小程序
/admin/login:
post:
consumes:

21
internal/api/app/app.go Normal file
View File

@ -0,0 +1,21 @@
package app
import (
"mini-chat/internal/pkg/logger"
"mini-chat/internal/repository/mysql"
"mini-chat/internal/repository/mysql/dao"
)
type handler struct {
logger logger.CustomLogger
writeDB *dao.Query
readDB *dao.Query
}
func New(logger logger.CustomLogger, db mysql.Repo) *handler {
return &handler{
logger: logger,
writeDB: dao.Use(db.GetDbW()),
readDB: dao.Use(db.GetDbR()),
}
}

91
internal/api/app/func_create.go Executable file
View File

@ -0,0 +1,91 @@
package app
import (
"fmt"
"net/http"
"time"
"mini-chat/internal/code"
"mini-chat/internal/pkg/core"
"mini-chat/internal/pkg/validation"
"mini-chat/internal/repository/mysql/model"
"gorm.io/gorm"
)
type createAppRequest struct {
AppID string `json:"app_id" binding:"required"` // 小程序ID
Name string `json:"name" binding:"required"` // 名称
Description string `json:"description"` // 描述
Avatar string `json:"avatar"` // 头像
}
type createAppResponse struct {
Message string `json:"message"` // 提示信息
}
// CreateApp 新增小程序
// @Summary 新增小程序
// @Description 新增小程序
// @Tags 管理端.小程序
// @Accept json
// @Produce json
// @Param RequestBody body createAppRequest true "请求参数"
// @Success 200 {object} createAppResponse
// @Failure 400 {object} code.Failure
// @Router /admin/app/create [post]
// @Security LoginVerifyToken
func (h *handler) CreateApp() core.HandlerFunc {
return func(ctx core.Context) {
req := new(createAppRequest)
res := new(createAppResponse)
if err := ctx.ShouldBindJSON(req); err != nil {
ctx.AbortWithError(core.Error(
http.StatusBadRequest,
code.ParamBindError,
validation.Error(err)),
)
return
}
info, err := h.readDB.MiniProgram.WithContext(ctx.RequestContext()).
Where(h.readDB.MiniProgram.AppID.Eq(req.AppID)).
First()
if err != nil && err != gorm.ErrRecordNotFound {
ctx.AbortWithError(core.Error(
http.StatusBadRequest,
code.CreateAppError,
fmt.Sprintf("%s: %s", code.Text(code.CreateAppError), err.Error())),
)
return
}
if info != nil {
ctx.AbortWithError(core.Error(
http.StatusBadRequest,
code.CreateAppError,
fmt.Sprintf("%s: %s", code.Text(code.CreateAppError), "该小程序已存在")),
)
return
}
App := new(model.MiniProgram)
App.AppID = req.AppID
App.Name = req.Name
App.Description = req.Description
App.Avatar = req.Avatar
App.CreatedUser = ctx.SessionUserInfo().UserName
App.CreatedAt = time.Now()
if err := h.writeDB.MiniProgram.WithContext(ctx.RequestContext()).Create(App); err != nil {
ctx.AbortWithError(core.Error(
http.StatusBadRequest,
code.CreateAppError,
fmt.Sprintf("%s: %s", code.Text(code.CreateAppError), err.Error())),
)
return
}
res.Message = "操作成功"
ctx.Payload(res)
}
}

99
internal/api/app/func_delete.go Executable file
View File

@ -0,0 +1,99 @@
package app
import (
"fmt"
"net/http"
"strconv"
"strings"
"mini-chat/internal/code"
"mini-chat/internal/pkg/core"
"mini-chat/internal/pkg/validation"
"mini-chat/internal/repository/mysql/model"
)
type deleteAppRequest struct {
Ids string `json:"ids" binding:"required"` // 小程序编号(多个用,分割)
}
type deleteAppResponse struct {
Message string `json:"message"` // 提示信息
}
// DeleteApp 删除小程序
// @Summary 删除小程序
// @Description 删除小程序
// @Tags 管理端.小程序
// @Accept json
// @Produce json
// @Param RequestBody body deleteAppRequest true "请求参数"
// @Success 200 {object} deleteAppResponse
// @Failure 400 {object} code.Failure
// @Router /admin/app/delete [post]
// @Security LoginVerifyToken
func (h *handler) DeleteApp() core.HandlerFunc {
return func(ctx core.Context) {
req := new(deleteAppRequest)
res := new(deleteAppResponse)
if err := ctx.ShouldBindJSON(req); err != nil {
ctx.AbortWithError(core.Error(
http.StatusBadRequest,
code.ParamBindError,
validation.Error(err)),
)
return
}
idList := strings.Split(req.Ids, ",")
if len(idList) == 0 || (len(idList) == 1 && idList[0] == "") {
ctx.AbortWithError(core.Error(
http.StatusBadRequest,
code.ParamBindError,
"小程序编号不能为空"),
)
return
}
var ids []int32
for _, strID := range idList {
if strID == "" {
continue
}
id, err := strconv.Atoi(strID)
if err != nil {
ctx.AbortWithError(core.Error(
http.StatusBadRequest,
code.ParamBindError,
fmt.Sprintf("无效的小程序编号: %s", strID)),
)
return
}
ids = append(ids, int32(id))
}
if len(ids) == 0 {
ctx.AbortWithError(core.Error(
http.StatusBadRequest,
code.ParamBindError,
"小程序编号不能为空"),
)
return
}
if _, err := h.writeDB.MiniProgram.WithContext(ctx.RequestContext()).
Where(h.writeDB.MiniProgram.ID.In(ids...)).
Delete(&model.MiniProgram{}); err != nil {
ctx.AbortWithError(core.Error(
http.StatusBadRequest,
code.DeleteAppError,
fmt.Sprintf("%s: %s", code.Text(code.DeleteAppError), err.Error())),
)
return
}
res.Message = "操作成功"
ctx.Payload(res)
}
}

138
internal/api/app/func_list.go Executable file
View File

@ -0,0 +1,138 @@
package app
import (
"fmt"
"net/http"
"mini-chat/internal/code"
"mini-chat/internal/pkg/core"
"mini-chat/internal/pkg/validation"
"gorm.io/gorm"
)
type listRequest struct {
AppID string `form:"app_id"` // 小程序ID
Name string `form:"name"` // 小程序名称
Page int `form:"page"` // 当前页码,默认为第一页
PageSize int `form:"page_size"` // 每页返回的数据量
}
type listData struct {
ID int32 `json:"id"` // 小程序编号
AppID string `json:"app_id"` // 小程序ID
Name string `json:"name"` // 小程序名称
Description string `json:"description"` // 小程序描述
Avatar string `json:"avatar"` // 小程序头像
CreatedAt string `json:"created_at"` // 创建时间
UpdatedAt string `json:"updated_at"` // 更新时间
}
type listResponse struct {
Page int `json:"page"` // 当前页码
PageSize int `json:"page_size"` // 每页返回的数据量
Total int64 `json:"total"` // 符合查询条件的总记录数
List []listData `json:"list"`
}
// PageList 小程序列表
// @Summary 小程序列表
// @Description 小程序列表
// @Tags 管理端.小程序
// @Accept json
// @Produce json
// @Param name query string false "小程序名称"
// @Param app_id query string false "小程序ID"
// @Param page query int true "当前页码" default(1)
// @Param page_size query int true "每页返回的数据量,最多 100 条" default(20)
// @Success 200 {object} listResponse
// @Failure 400 {object} code.Failure
// @Router /admin/apps [get]
// @Security LoginVerifyToken
func (h *handler) PageList() core.HandlerFunc {
return func(ctx core.Context) {
req := new(listRequest)
res := new(listResponse)
if err := ctx.ShouldBindForm(req); err != nil {
ctx.AbortWithError(core.Error(
http.StatusBadRequest,
code.ParamBindError,
validation.Error(err)),
)
return
}
if req.Page == 0 {
req.Page = 1
}
if req.PageSize == 0 {
req.PageSize = 20
}
if req.PageSize > 100 {
ctx.AbortWithError(core.Error(
http.StatusBadRequest,
code.ListAppError,
fmt.Sprintf("%s: 一次最多只能查询 100 条", code.Text(code.ListAppError)),
))
return
}
query := h.readDB.MiniProgram.WithContext(ctx.RequestContext())
if req.AppID != "" {
query = query.Where(h.readDB.MiniProgram.AppID.Eq(req.AppID))
}
if req.Name != "" {
query = query.Where(h.readDB.MiniProgram.Name.Like(fmt.Sprintf("%%%s%%", req.Name)))
}
listQueryDB := query.Session(&gorm.Session{})
countQueryDB := query.Session(&gorm.Session{})
resultData, err := listQueryDB.
Order(h.readDB.MiniProgram.ID.Desc()).
Limit(req.PageSize).
Offset((req.Page - 1) * req.PageSize).Find()
if err != nil {
ctx.AbortWithError(core.Error(
http.StatusBadRequest,
code.ListAppError,
fmt.Sprintf("%s%s", code.Text(code.ListAppError), err.Error())),
)
return
}
count, err := countQueryDB.Count()
if err != nil {
ctx.AbortWithError(core.Error(
http.StatusBadRequest,
code.ListAppError,
fmt.Sprintf("%s%s", code.Text(code.ListAppError), err.Error())),
)
return
}
res.Page = req.Page
res.PageSize = req.PageSize
res.Total = count
res.List = make([]listData, len(resultData))
for k, v := range resultData {
res.List[k] = listData{
ID: v.ID,
AppID: v.AppID,
Name: v.Name,
Description: v.Description,
Avatar: v.Avatar,
CreatedAt: v.CreatedAt.Format("2006-01-02 15:04:05"),
UpdatedAt: v.UpdatedAt.Format("2006-01-02 15:04:05"),
}
}
ctx.Payload(res)
}
}

View File

@ -0,0 +1,132 @@
package app
import (
"fmt"
"net/http"
"strconv"
"time"
"mini-chat/internal/code"
"mini-chat/internal/pkg/core"
"mini-chat/internal/pkg/validation"
"gorm.io/gorm"
)
type modifyAppRequest struct {
AppID string `json:"app_id" binding:"required"` // 小程序ID
Name string `json:"name" binding:"required"` // 名称
Description string `json:"description"` // 描述
Avatar string `json:"avatar"` // 头像
}
type modifyAppResponse struct {
Message string `json:"message"` // 提示信息
}
// ModifyApp 编辑小程序
// @Summary 编辑小程序
// @Description 编辑小程序
// @Tags 管理端.小程序
// @Accept json
// @Produce json
// @Param id path string true "编号ID"
// @Param RequestBody body modifyAppRequest true "请求参数"
// @Success 200 {object} modifyAppResponse
// @Failure 400 {object} code.Failure
// @Router /admin/app/{id} [put]
// @Security LoginVerifyToken
func (h *handler) ModifyApp() core.HandlerFunc {
return func(ctx core.Context) {
req := new(modifyAppRequest)
res := new(modifyAppResponse)
if err := ctx.ShouldBindJSON(req); err != nil {
ctx.AbortWithError(core.Error(
http.StatusBadRequest,
code.ParamBindError,
validation.Error(err)),
)
return
}
if req.AppID == "" && req.Name == "" {
ctx.AbortWithError(core.Error(
http.StatusBadRequest,
code.ParamBindError,
"小程序ID和标题不能为空"),
)
return
}
id, err := strconv.Atoi(ctx.Param("id"))
if err != nil {
ctx.AbortWithError(core.Error(
http.StatusBadRequest,
code.ParamBindError,
"未传递编号ID"),
)
return
}
checkIdInfo, err := h.readDB.MiniProgram.WithContext(ctx.RequestContext()).
Where(h.readDB.MiniProgram.ID.Eq(int32(id))).
First()
if err != nil && err != gorm.ErrRecordNotFound {
ctx.AbortWithError(core.Error(
http.StatusBadRequest,
code.ModifyAppError,
fmt.Sprintf("%s: %s", code.Text(code.ModifyAppError), err.Error())),
)
return
}
if checkIdInfo == nil {
ctx.AbortWithError(core.Error(
http.StatusBadRequest,
code.ModifyAppError,
fmt.Sprintf("%s: %s", code.Text(code.ModifyAppError), "该小程序不存在")),
)
return
}
checkAppIDInfo, err := h.readDB.MiniProgram.WithContext(ctx.RequestContext()).
Where(h.readDB.MiniProgram.ID.Neq(int32(id))).
Where(h.readDB.MiniProgram.AppID.Eq(req.AppID)).
First()
if err != nil && err != gorm.ErrRecordNotFound {
ctx.AbortWithError(core.Error(
http.StatusBadRequest,
code.ModifyAppError,
fmt.Sprintf("%s: %s", code.Text(code.ModifyAppError), err.Error())),
)
return
}
if checkAppIDInfo != nil {
ctx.AbortWithError(core.Error(
http.StatusBadRequest,
code.ModifyAppError,
fmt.Sprintf("%s: %s", code.Text(code.ModifyAppError), "该小程序ID已存在")),
)
return
}
checkIdInfo.AppID = req.AppID
checkIdInfo.Name = req.Name
checkIdInfo.Description = req.Description
checkIdInfo.Avatar = req.Avatar
checkIdInfo.UpdatedUser = ctx.SessionUserInfo().UserName
checkIdInfo.UpdatedAt = time.Now()
if err := h.writeDB.MiniProgram.WithContext(ctx.RequestContext()).Save(checkIdInfo); err != nil {
ctx.AbortWithError(core.Error(
http.StatusBadRequest,
code.ModifyAppError,
fmt.Sprintf("%s%s", code.Text(code.ModifyAppError), err.Error())),
)
return
}
res.Message = "操作成功"
ctx.Payload(res)
}
}

View File

@ -21,6 +21,10 @@ const (
JWTAuthVerifyError = 10103
AdminLoginError = 20101
CreateAppError = 20201
DeleteAppError = 20202
ListAppError = 20203
ModifyAppError = 20204
)
func Text(code int) string {

View File

@ -6,4 +6,9 @@ var zhCNText = map[int]string{
JWTAuthVerifyError: "JWT 授权验证错误",
AdminLoginError: "登录失败",
CreateAppError: "关联小程序失败",
DeleteAppError: "删除小程序失败",
ListAppError: "获取小程序列表失败",
ModifyAppError: "修改小程序失败",
}

View File

@ -7,7 +7,6 @@ import (
"mini-chat/internal/pkg/errors"
"mini-chat/internal/pkg/logger"
"mini-chat/internal/repository/mysql"
"mini-chat/internal/repository/mysql/model"
"github.com/jakecoffman/cron"
)
@ -59,10 +58,10 @@ type Server interface {
Stop()
// AddTask 增加定时任务
AddTask(task *model.PatientMedicineTask)
AddTask()
// AddJob 增加定时任务执行的工作内容
AddJob(task *model.PatientMedicineTask, execUser string) cron.FuncJob
AddJob() cron.FuncJob
// StopJob 停止定时任务
StopJob(taskCode string)

View File

@ -1,33 +1,14 @@
package cron
import (
"context"
"fmt"
"mini-chat/internal/repository/mysql/model"
"github.com/jakecoffman/cron"
)
func (s *server) AddJob(task *model.PatientMedicineTask, execUser string) cron.FuncJob {
_, cancel := context.WithCancel(context.Background())
s.mu.Lock()
s.taskContext[task.Code] = cancel
s.mu.Unlock()
func (s *server) AddJob() cron.FuncJob {
return func() {
s.taskCount.Add()
defer func() {
s.taskCount.Done()
s.mu.Lock()
delete(s.taskContext, task.Code) // 清理任务上下文
s.mu.Unlock()
if err := recover(); err != nil {
s.logger.Error(fmt.Sprintf("[定时任务] 任务编码:%s, 执行异常: %+v", task.Code, err))
}
}()
// 执行任务

View File

@ -1,21 +1,4 @@
package cron
import (
"fmt"
"strings"
"mini-chat/internal/repository/mysql/model"
)
func (s *server) AddTask(task *model.PatientMedicineTask) {
defer func() {
if err := recover(); err != nil {
s.logger.Error(fmt.Sprintf("[定时任务] 任务编号: %s, 添加异常: %+v", task.Code, err))
}
}()
spec := "0 " + strings.TrimSpace(task.Spec)
name := fmt.Sprintf("cron_task_%s", task.Code)
s.cron.AddFunc(spec, s.AddJob(task, "定时任务"), name)
func (s *server) AddTask() {
}

View File

@ -1,348 +0,0 @@
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
package dao
import (
"context"
"gorm.io/gorm"
"gorm.io/gorm/clause"
"gorm.io/gorm/schema"
"gorm.io/gen"
"gorm.io/gen/field"
"gorm.io/plugin/dbresolver"
"mini-chat/internal/repository/mysql/model"
)
func newArticle(db *gorm.DB, opts ...gen.DOOption) article {
_article := article{}
_article.articleDo.UseDB(db, opts...)
_article.articleDo.UseModel(&model.Article{})
tableName := _article.articleDo.TableName()
_article.ALL = field.NewAsterisk(tableName)
_article.ID = field.NewInt32(tableName, "id")
_article.Title = field.NewString(tableName, "title")
_article.CoverImage = field.NewString(tableName, "cover_image")
_article.Content = field.NewString(tableName, "content")
_article.CreatedUser = field.NewString(tableName, "created_user")
_article.CreatedAt = field.NewTime(tableName, "created_at")
_article.UpdatedUser = field.NewString(tableName, "updated_user")
_article.UpdatedAt = field.NewTime(tableName, "updated_at")
_article.fillFieldMap()
return _article
}
// article 文章表
type article struct {
articleDo
ALL field.Asterisk
ID field.Int32 // 主键
Title field.String // 文章标题
CoverImage field.String // 文章封面图
Content field.String // 文章内容
CreatedUser field.String // 创建人
CreatedAt field.Time // 创建时间
UpdatedUser field.String // 更新人
UpdatedAt field.Time // 更新时间
fieldMap map[string]field.Expr
}
func (a article) Table(newTableName string) *article {
a.articleDo.UseTable(newTableName)
return a.updateTableName(newTableName)
}
func (a article) As(alias string) *article {
a.articleDo.DO = *(a.articleDo.As(alias).(*gen.DO))
return a.updateTableName(alias)
}
func (a *article) updateTableName(table string) *article {
a.ALL = field.NewAsterisk(table)
a.ID = field.NewInt32(table, "id")
a.Title = field.NewString(table, "title")
a.CoverImage = field.NewString(table, "cover_image")
a.Content = field.NewString(table, "content")
a.CreatedUser = field.NewString(table, "created_user")
a.CreatedAt = field.NewTime(table, "created_at")
a.UpdatedUser = field.NewString(table, "updated_user")
a.UpdatedAt = field.NewTime(table, "updated_at")
a.fillFieldMap()
return a
}
func (a *article) GetFieldByName(fieldName string) (field.OrderExpr, bool) {
_f, ok := a.fieldMap[fieldName]
if !ok || _f == nil {
return nil, false
}
_oe, ok := _f.(field.OrderExpr)
return _oe, ok
}
func (a *article) fillFieldMap() {
a.fieldMap = make(map[string]field.Expr, 8)
a.fieldMap["id"] = a.ID
a.fieldMap["title"] = a.Title
a.fieldMap["cover_image"] = a.CoverImage
a.fieldMap["content"] = a.Content
a.fieldMap["created_user"] = a.CreatedUser
a.fieldMap["created_at"] = a.CreatedAt
a.fieldMap["updated_user"] = a.UpdatedUser
a.fieldMap["updated_at"] = a.UpdatedAt
}
func (a article) clone(db *gorm.DB) article {
a.articleDo.ReplaceConnPool(db.Statement.ConnPool)
return a
}
func (a article) replaceDB(db *gorm.DB) article {
a.articleDo.ReplaceDB(db)
return a
}
type articleDo struct{ gen.DO }
func (a articleDo) Debug() *articleDo {
return a.withDO(a.DO.Debug())
}
func (a articleDo) WithContext(ctx context.Context) *articleDo {
return a.withDO(a.DO.WithContext(ctx))
}
func (a articleDo) ReadDB() *articleDo {
return a.Clauses(dbresolver.Read)
}
func (a articleDo) WriteDB() *articleDo {
return a.Clauses(dbresolver.Write)
}
func (a articleDo) Session(config *gorm.Session) *articleDo {
return a.withDO(a.DO.Session(config))
}
func (a articleDo) Clauses(conds ...clause.Expression) *articleDo {
return a.withDO(a.DO.Clauses(conds...))
}
func (a articleDo) Returning(value interface{}, columns ...string) *articleDo {
return a.withDO(a.DO.Returning(value, columns...))
}
func (a articleDo) Not(conds ...gen.Condition) *articleDo {
return a.withDO(a.DO.Not(conds...))
}
func (a articleDo) Or(conds ...gen.Condition) *articleDo {
return a.withDO(a.DO.Or(conds...))
}
func (a articleDo) Select(conds ...field.Expr) *articleDo {
return a.withDO(a.DO.Select(conds...))
}
func (a articleDo) Where(conds ...gen.Condition) *articleDo {
return a.withDO(a.DO.Where(conds...))
}
func (a articleDo) Order(conds ...field.Expr) *articleDo {
return a.withDO(a.DO.Order(conds...))
}
func (a articleDo) Distinct(cols ...field.Expr) *articleDo {
return a.withDO(a.DO.Distinct(cols...))
}
func (a articleDo) Omit(cols ...field.Expr) *articleDo {
return a.withDO(a.DO.Omit(cols...))
}
func (a articleDo) Join(table schema.Tabler, on ...field.Expr) *articleDo {
return a.withDO(a.DO.Join(table, on...))
}
func (a articleDo) LeftJoin(table schema.Tabler, on ...field.Expr) *articleDo {
return a.withDO(a.DO.LeftJoin(table, on...))
}
func (a articleDo) RightJoin(table schema.Tabler, on ...field.Expr) *articleDo {
return a.withDO(a.DO.RightJoin(table, on...))
}
func (a articleDo) Group(cols ...field.Expr) *articleDo {
return a.withDO(a.DO.Group(cols...))
}
func (a articleDo) Having(conds ...gen.Condition) *articleDo {
return a.withDO(a.DO.Having(conds...))
}
func (a articleDo) Limit(limit int) *articleDo {
return a.withDO(a.DO.Limit(limit))
}
func (a articleDo) Offset(offset int) *articleDo {
return a.withDO(a.DO.Offset(offset))
}
func (a articleDo) Scopes(funcs ...func(gen.Dao) gen.Dao) *articleDo {
return a.withDO(a.DO.Scopes(funcs...))
}
func (a articleDo) Unscoped() *articleDo {
return a.withDO(a.DO.Unscoped())
}
func (a articleDo) Create(values ...*model.Article) error {
if len(values) == 0 {
return nil
}
return a.DO.Create(values)
}
func (a articleDo) CreateInBatches(values []*model.Article, batchSize int) error {
return a.DO.CreateInBatches(values, batchSize)
}
// Save : !!! underlying implementation is different with GORM
// The method is equivalent to executing the statement: db.Clauses(clause.OnConflict{UpdateAll: true}).Create(values)
func (a articleDo) Save(values ...*model.Article) error {
if len(values) == 0 {
return nil
}
return a.DO.Save(values)
}
func (a articleDo) First() (*model.Article, error) {
if result, err := a.DO.First(); err != nil {
return nil, err
} else {
return result.(*model.Article), nil
}
}
func (a articleDo) Take() (*model.Article, error) {
if result, err := a.DO.Take(); err != nil {
return nil, err
} else {
return result.(*model.Article), nil
}
}
func (a articleDo) Last() (*model.Article, error) {
if result, err := a.DO.Last(); err != nil {
return nil, err
} else {
return result.(*model.Article), nil
}
}
func (a articleDo) Find() ([]*model.Article, error) {
result, err := a.DO.Find()
return result.([]*model.Article), err
}
func (a articleDo) FindInBatch(batchSize int, fc func(tx gen.Dao, batch int) error) (results []*model.Article, err error) {
buf := make([]*model.Article, 0, batchSize)
err = a.DO.FindInBatches(&buf, batchSize, func(tx gen.Dao, batch int) error {
defer func() { results = append(results, buf...) }()
return fc(tx, batch)
})
return results, err
}
func (a articleDo) FindInBatches(result *[]*model.Article, batchSize int, fc func(tx gen.Dao, batch int) error) error {
return a.DO.FindInBatches(result, batchSize, fc)
}
func (a articleDo) Attrs(attrs ...field.AssignExpr) *articleDo {
return a.withDO(a.DO.Attrs(attrs...))
}
func (a articleDo) Assign(attrs ...field.AssignExpr) *articleDo {
return a.withDO(a.DO.Assign(attrs...))
}
func (a articleDo) Joins(fields ...field.RelationField) *articleDo {
for _, _f := range fields {
a = *a.withDO(a.DO.Joins(_f))
}
return &a
}
func (a articleDo) Preload(fields ...field.RelationField) *articleDo {
for _, _f := range fields {
a = *a.withDO(a.DO.Preload(_f))
}
return &a
}
func (a articleDo) FirstOrInit() (*model.Article, error) {
if result, err := a.DO.FirstOrInit(); err != nil {
return nil, err
} else {
return result.(*model.Article), nil
}
}
func (a articleDo) FirstOrCreate() (*model.Article, error) {
if result, err := a.DO.FirstOrCreate(); err != nil {
return nil, err
} else {
return result.(*model.Article), nil
}
}
func (a articleDo) FindByPage(offset int, limit int) (result []*model.Article, count int64, err error) {
result, err = a.Offset(offset).Limit(limit).Find()
if err != nil {
return
}
if size := len(result); 0 < limit && 0 < size && size < limit {
count = int64(size + offset)
return
}
count, err = a.Offset(-1).Limit(-1).Count()
return
}
func (a articleDo) ScanByPage(result interface{}, offset int, limit int) (count int64, err error) {
count, err = a.Count()
if err != nil {
return
}
err = a.Offset(offset).Limit(limit).Scan(result)
return
}
func (a articleDo) Scan(result interface{}) (err error) {
return a.DO.Scan(result)
}
func (a articleDo) Delete(models ...*model.Article) (result gen.ResultInfo, err error) {
return a.DO.Delete(models)
}
func (a *articleDo) withDO(do gen.Dao) *articleDo {
a.DO = *do.(*gen.DO)
return a
}

View File

@ -1,364 +0,0 @@
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
package dao
import (
"context"
"gorm.io/gorm"
"gorm.io/gorm/clause"
"gorm.io/gorm/schema"
"gorm.io/gen"
"gorm.io/gen/field"
"gorm.io/plugin/dbresolver"
"mini-chat/internal/repository/mysql/model"
)
func newDiagnosticRecord(db *gorm.DB, opts ...gen.DOOption) diagnosticRecord {
_diagnosticRecord := diagnosticRecord{}
_diagnosticRecord.diagnosticRecordDo.UseDB(db, opts...)
_diagnosticRecord.diagnosticRecordDo.UseModel(&model.DiagnosticRecord{})
tableName := _diagnosticRecord.diagnosticRecordDo.TableName()
_diagnosticRecord.ALL = field.NewAsterisk(tableName)
_diagnosticRecord.ID = field.NewInt32(tableName, "id")
_diagnosticRecord.UserID = field.NewString(tableName, "user_id")
_diagnosticRecord.Username = field.NewString(tableName, "username")
_diagnosticRecord.Mobile = field.NewString(tableName, "mobile")
_diagnosticRecord.Mmp7 = field.NewString(tableName, "mmp_7")
_diagnosticRecord.Day = field.NewInt32(tableName, "day")
_diagnosticRecord.GallbladderImage = field.NewString(tableName, "gallbladder_image")
_diagnosticRecord.PortalVeinBranchImage = field.NewString(tableName, "portal_vein_branch_image")
_diagnosticRecord.PortalVeinCrossImage = field.NewString(tableName, "portal_vein_cross_image")
_diagnosticRecord.IdentifyResult = field.NewString(tableName, "identify_result")
_diagnosticRecord.CreatedUser = field.NewString(tableName, "created_user")
_diagnosticRecord.CreatedAt = field.NewTime(tableName, "created_at")
_diagnosticRecord.fillFieldMap()
return _diagnosticRecord
}
// diagnosticRecord 诊断记录表
type diagnosticRecord struct {
diagnosticRecordDo
ALL field.Asterisk
ID field.Int32 // 主键
UserID field.String // 用户ID(openid)
Username field.String // 姓名
Mobile field.String // 手机号
Mmp7 field.String // MMP-7检测值
Day field.Int32 // 日龄(天)
GallbladderImage field.String // 胆囊照片
PortalVeinBranchImage field.String // 门静脉左右分支照片
PortalVeinCrossImage field.String // 门静脉右支横截照片
IdentifyResult field.String // 识别结果
CreatedUser field.String // 创建人
CreatedAt field.Time // 创建时间
fieldMap map[string]field.Expr
}
func (d diagnosticRecord) Table(newTableName string) *diagnosticRecord {
d.diagnosticRecordDo.UseTable(newTableName)
return d.updateTableName(newTableName)
}
func (d diagnosticRecord) As(alias string) *diagnosticRecord {
d.diagnosticRecordDo.DO = *(d.diagnosticRecordDo.As(alias).(*gen.DO))
return d.updateTableName(alias)
}
func (d *diagnosticRecord) updateTableName(table string) *diagnosticRecord {
d.ALL = field.NewAsterisk(table)
d.ID = field.NewInt32(table, "id")
d.UserID = field.NewString(table, "user_id")
d.Username = field.NewString(table, "username")
d.Mobile = field.NewString(table, "mobile")
d.Mmp7 = field.NewString(table, "mmp_7")
d.Day = field.NewInt32(table, "day")
d.GallbladderImage = field.NewString(table, "gallbladder_image")
d.PortalVeinBranchImage = field.NewString(table, "portal_vein_branch_image")
d.PortalVeinCrossImage = field.NewString(table, "portal_vein_cross_image")
d.IdentifyResult = field.NewString(table, "identify_result")
d.CreatedUser = field.NewString(table, "created_user")
d.CreatedAt = field.NewTime(table, "created_at")
d.fillFieldMap()
return d
}
func (d *diagnosticRecord) GetFieldByName(fieldName string) (field.OrderExpr, bool) {
_f, ok := d.fieldMap[fieldName]
if !ok || _f == nil {
return nil, false
}
_oe, ok := _f.(field.OrderExpr)
return _oe, ok
}
func (d *diagnosticRecord) fillFieldMap() {
d.fieldMap = make(map[string]field.Expr, 12)
d.fieldMap["id"] = d.ID
d.fieldMap["user_id"] = d.UserID
d.fieldMap["username"] = d.Username
d.fieldMap["mobile"] = d.Mobile
d.fieldMap["mmp_7"] = d.Mmp7
d.fieldMap["day"] = d.Day
d.fieldMap["gallbladder_image"] = d.GallbladderImage
d.fieldMap["portal_vein_branch_image"] = d.PortalVeinBranchImage
d.fieldMap["portal_vein_cross_image"] = d.PortalVeinCrossImage
d.fieldMap["identify_result"] = d.IdentifyResult
d.fieldMap["created_user"] = d.CreatedUser
d.fieldMap["created_at"] = d.CreatedAt
}
func (d diagnosticRecord) clone(db *gorm.DB) diagnosticRecord {
d.diagnosticRecordDo.ReplaceConnPool(db.Statement.ConnPool)
return d
}
func (d diagnosticRecord) replaceDB(db *gorm.DB) diagnosticRecord {
d.diagnosticRecordDo.ReplaceDB(db)
return d
}
type diagnosticRecordDo struct{ gen.DO }
func (d diagnosticRecordDo) Debug() *diagnosticRecordDo {
return d.withDO(d.DO.Debug())
}
func (d diagnosticRecordDo) WithContext(ctx context.Context) *diagnosticRecordDo {
return d.withDO(d.DO.WithContext(ctx))
}
func (d diagnosticRecordDo) ReadDB() *diagnosticRecordDo {
return d.Clauses(dbresolver.Read)
}
func (d diagnosticRecordDo) WriteDB() *diagnosticRecordDo {
return d.Clauses(dbresolver.Write)
}
func (d diagnosticRecordDo) Session(config *gorm.Session) *diagnosticRecordDo {
return d.withDO(d.DO.Session(config))
}
func (d diagnosticRecordDo) Clauses(conds ...clause.Expression) *diagnosticRecordDo {
return d.withDO(d.DO.Clauses(conds...))
}
func (d diagnosticRecordDo) Returning(value interface{}, columns ...string) *diagnosticRecordDo {
return d.withDO(d.DO.Returning(value, columns...))
}
func (d diagnosticRecordDo) Not(conds ...gen.Condition) *diagnosticRecordDo {
return d.withDO(d.DO.Not(conds...))
}
func (d diagnosticRecordDo) Or(conds ...gen.Condition) *diagnosticRecordDo {
return d.withDO(d.DO.Or(conds...))
}
func (d diagnosticRecordDo) Select(conds ...field.Expr) *diagnosticRecordDo {
return d.withDO(d.DO.Select(conds...))
}
func (d diagnosticRecordDo) Where(conds ...gen.Condition) *diagnosticRecordDo {
return d.withDO(d.DO.Where(conds...))
}
func (d diagnosticRecordDo) Order(conds ...field.Expr) *diagnosticRecordDo {
return d.withDO(d.DO.Order(conds...))
}
func (d diagnosticRecordDo) Distinct(cols ...field.Expr) *diagnosticRecordDo {
return d.withDO(d.DO.Distinct(cols...))
}
func (d diagnosticRecordDo) Omit(cols ...field.Expr) *diagnosticRecordDo {
return d.withDO(d.DO.Omit(cols...))
}
func (d diagnosticRecordDo) Join(table schema.Tabler, on ...field.Expr) *diagnosticRecordDo {
return d.withDO(d.DO.Join(table, on...))
}
func (d diagnosticRecordDo) LeftJoin(table schema.Tabler, on ...field.Expr) *diagnosticRecordDo {
return d.withDO(d.DO.LeftJoin(table, on...))
}
func (d diagnosticRecordDo) RightJoin(table schema.Tabler, on ...field.Expr) *diagnosticRecordDo {
return d.withDO(d.DO.RightJoin(table, on...))
}
func (d diagnosticRecordDo) Group(cols ...field.Expr) *diagnosticRecordDo {
return d.withDO(d.DO.Group(cols...))
}
func (d diagnosticRecordDo) Having(conds ...gen.Condition) *diagnosticRecordDo {
return d.withDO(d.DO.Having(conds...))
}
func (d diagnosticRecordDo) Limit(limit int) *diagnosticRecordDo {
return d.withDO(d.DO.Limit(limit))
}
func (d diagnosticRecordDo) Offset(offset int) *diagnosticRecordDo {
return d.withDO(d.DO.Offset(offset))
}
func (d diagnosticRecordDo) Scopes(funcs ...func(gen.Dao) gen.Dao) *diagnosticRecordDo {
return d.withDO(d.DO.Scopes(funcs...))
}
func (d diagnosticRecordDo) Unscoped() *diagnosticRecordDo {
return d.withDO(d.DO.Unscoped())
}
func (d diagnosticRecordDo) Create(values ...*model.DiagnosticRecord) error {
if len(values) == 0 {
return nil
}
return d.DO.Create(values)
}
func (d diagnosticRecordDo) CreateInBatches(values []*model.DiagnosticRecord, batchSize int) error {
return d.DO.CreateInBatches(values, batchSize)
}
// Save : !!! underlying implementation is different with GORM
// The method is equivalent to executing the statement: db.Clauses(clause.OnConflict{UpdateAll: true}).Create(values)
func (d diagnosticRecordDo) Save(values ...*model.DiagnosticRecord) error {
if len(values) == 0 {
return nil
}
return d.DO.Save(values)
}
func (d diagnosticRecordDo) First() (*model.DiagnosticRecord, error) {
if result, err := d.DO.First(); err != nil {
return nil, err
} else {
return result.(*model.DiagnosticRecord), nil
}
}
func (d diagnosticRecordDo) Take() (*model.DiagnosticRecord, error) {
if result, err := d.DO.Take(); err != nil {
return nil, err
} else {
return result.(*model.DiagnosticRecord), nil
}
}
func (d diagnosticRecordDo) Last() (*model.DiagnosticRecord, error) {
if result, err := d.DO.Last(); err != nil {
return nil, err
} else {
return result.(*model.DiagnosticRecord), nil
}
}
func (d diagnosticRecordDo) Find() ([]*model.DiagnosticRecord, error) {
result, err := d.DO.Find()
return result.([]*model.DiagnosticRecord), err
}
func (d diagnosticRecordDo) FindInBatch(batchSize int, fc func(tx gen.Dao, batch int) error) (results []*model.DiagnosticRecord, err error) {
buf := make([]*model.DiagnosticRecord, 0, batchSize)
err = d.DO.FindInBatches(&buf, batchSize, func(tx gen.Dao, batch int) error {
defer func() { results = append(results, buf...) }()
return fc(tx, batch)
})
return results, err
}
func (d diagnosticRecordDo) FindInBatches(result *[]*model.DiagnosticRecord, batchSize int, fc func(tx gen.Dao, batch int) error) error {
return d.DO.FindInBatches(result, batchSize, fc)
}
func (d diagnosticRecordDo) Attrs(attrs ...field.AssignExpr) *diagnosticRecordDo {
return d.withDO(d.DO.Attrs(attrs...))
}
func (d diagnosticRecordDo) Assign(attrs ...field.AssignExpr) *diagnosticRecordDo {
return d.withDO(d.DO.Assign(attrs...))
}
func (d diagnosticRecordDo) Joins(fields ...field.RelationField) *diagnosticRecordDo {
for _, _f := range fields {
d = *d.withDO(d.DO.Joins(_f))
}
return &d
}
func (d diagnosticRecordDo) Preload(fields ...field.RelationField) *diagnosticRecordDo {
for _, _f := range fields {
d = *d.withDO(d.DO.Preload(_f))
}
return &d
}
func (d diagnosticRecordDo) FirstOrInit() (*model.DiagnosticRecord, error) {
if result, err := d.DO.FirstOrInit(); err != nil {
return nil, err
} else {
return result.(*model.DiagnosticRecord), nil
}
}
func (d diagnosticRecordDo) FirstOrCreate() (*model.DiagnosticRecord, error) {
if result, err := d.DO.FirstOrCreate(); err != nil {
return nil, err
} else {
return result.(*model.DiagnosticRecord), nil
}
}
func (d diagnosticRecordDo) FindByPage(offset int, limit int) (result []*model.DiagnosticRecord, count int64, err error) {
result, err = d.Offset(offset).Limit(limit).Find()
if err != nil {
return
}
if size := len(result); 0 < limit && 0 < size && size < limit {
count = int64(size + offset)
return
}
count, err = d.Offset(-1).Limit(-1).Count()
return
}
func (d diagnosticRecordDo) ScanByPage(result interface{}, offset int, limit int) (count int64, err error) {
count, err = d.Count()
if err != nil {
return
}
err = d.Offset(offset).Limit(limit).Scan(result)
return
}
func (d diagnosticRecordDo) Scan(result interface{}) (err error) {
return d.DO.Scan(result)
}
func (d diagnosticRecordDo) Delete(models ...*model.DiagnosticRecord) (result gen.ResultInfo, err error) {
return d.DO.Delete(models)
}
func (d *diagnosticRecordDo) withDO(do gen.Dao) *diagnosticRecordDo {
d.DO = *do.(*gen.DO)
return d
}

View File

@ -1,368 +0,0 @@
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
package dao
import (
"context"
"gorm.io/gorm"
"gorm.io/gorm/clause"
"gorm.io/gorm/schema"
"gorm.io/gen"
"gorm.io/gen/field"
"gorm.io/plugin/dbresolver"
"mini-chat/internal/repository/mysql/model"
)
func newDoctor(db *gorm.DB, opts ...gen.DOOption) doctor {
_doctor := doctor{}
_doctor.doctorDo.UseDB(db, opts...)
_doctor.doctorDo.UseModel(&model.Doctor{})
tableName := _doctor.doctorDo.TableName()
_doctor.ALL = field.NewAsterisk(tableName)
_doctor.ID = field.NewInt32(tableName, "id")
_doctor.Username = field.NewString(tableName, "username")
_doctor.Nickname = field.NewString(tableName, "nickname")
_doctor.Mobile = field.NewString(tableName, "mobile")
_doctor.Password = field.NewString(tableName, "password")
_doctor.LoginStatus = field.NewInt32(tableName, "login_status")
_doctor.LastLoginTime = field.NewTime(tableName, "last_login_time")
_doctor.LastLoginIP = field.NewString(tableName, "last_login_ip")
_doctor.LastLoginHash = field.NewString(tableName, "last_login_hash")
_doctor.CreatedUser = field.NewString(tableName, "created_user")
_doctor.CreatedAt = field.NewTime(tableName, "created_at")
_doctor.UpdatedUser = field.NewString(tableName, "updated_user")
_doctor.UpdatedAt = field.NewTime(tableName, "updated_at")
_doctor.fillFieldMap()
return _doctor
}
// doctor 医生表
type doctor struct {
doctorDo
ALL field.Asterisk
ID field.Int32 // 主键
Username field.String // 用户名
Nickname field.String // 昵称
Mobile field.String // 手机号
Password field.String // 密码
LoginStatus field.Int32 // 登录状态(1:启用 0:禁用)
LastLoginTime field.Time // 最后一次登录时间
LastLoginIP field.String // 最后一次登录IP
LastLoginHash field.String // 最后一次登录 Hash
CreatedUser field.String // 创建人
CreatedAt field.Time // 创建时间
UpdatedUser field.String // 更新人
UpdatedAt field.Time // 更新时间
fieldMap map[string]field.Expr
}
func (d doctor) Table(newTableName string) *doctor {
d.doctorDo.UseTable(newTableName)
return d.updateTableName(newTableName)
}
func (d doctor) As(alias string) *doctor {
d.doctorDo.DO = *(d.doctorDo.As(alias).(*gen.DO))
return d.updateTableName(alias)
}
func (d *doctor) updateTableName(table string) *doctor {
d.ALL = field.NewAsterisk(table)
d.ID = field.NewInt32(table, "id")
d.Username = field.NewString(table, "username")
d.Nickname = field.NewString(table, "nickname")
d.Mobile = field.NewString(table, "mobile")
d.Password = field.NewString(table, "password")
d.LoginStatus = field.NewInt32(table, "login_status")
d.LastLoginTime = field.NewTime(table, "last_login_time")
d.LastLoginIP = field.NewString(table, "last_login_ip")
d.LastLoginHash = field.NewString(table, "last_login_hash")
d.CreatedUser = field.NewString(table, "created_user")
d.CreatedAt = field.NewTime(table, "created_at")
d.UpdatedUser = field.NewString(table, "updated_user")
d.UpdatedAt = field.NewTime(table, "updated_at")
d.fillFieldMap()
return d
}
func (d *doctor) GetFieldByName(fieldName string) (field.OrderExpr, bool) {
_f, ok := d.fieldMap[fieldName]
if !ok || _f == nil {
return nil, false
}
_oe, ok := _f.(field.OrderExpr)
return _oe, ok
}
func (d *doctor) fillFieldMap() {
d.fieldMap = make(map[string]field.Expr, 13)
d.fieldMap["id"] = d.ID
d.fieldMap["username"] = d.Username
d.fieldMap["nickname"] = d.Nickname
d.fieldMap["mobile"] = d.Mobile
d.fieldMap["password"] = d.Password
d.fieldMap["login_status"] = d.LoginStatus
d.fieldMap["last_login_time"] = d.LastLoginTime
d.fieldMap["last_login_ip"] = d.LastLoginIP
d.fieldMap["last_login_hash"] = d.LastLoginHash
d.fieldMap["created_user"] = d.CreatedUser
d.fieldMap["created_at"] = d.CreatedAt
d.fieldMap["updated_user"] = d.UpdatedUser
d.fieldMap["updated_at"] = d.UpdatedAt
}
func (d doctor) clone(db *gorm.DB) doctor {
d.doctorDo.ReplaceConnPool(db.Statement.ConnPool)
return d
}
func (d doctor) replaceDB(db *gorm.DB) doctor {
d.doctorDo.ReplaceDB(db)
return d
}
type doctorDo struct{ gen.DO }
func (d doctorDo) Debug() *doctorDo {
return d.withDO(d.DO.Debug())
}
func (d doctorDo) WithContext(ctx context.Context) *doctorDo {
return d.withDO(d.DO.WithContext(ctx))
}
func (d doctorDo) ReadDB() *doctorDo {
return d.Clauses(dbresolver.Read)
}
func (d doctorDo) WriteDB() *doctorDo {
return d.Clauses(dbresolver.Write)
}
func (d doctorDo) Session(config *gorm.Session) *doctorDo {
return d.withDO(d.DO.Session(config))
}
func (d doctorDo) Clauses(conds ...clause.Expression) *doctorDo {
return d.withDO(d.DO.Clauses(conds...))
}
func (d doctorDo) Returning(value interface{}, columns ...string) *doctorDo {
return d.withDO(d.DO.Returning(value, columns...))
}
func (d doctorDo) Not(conds ...gen.Condition) *doctorDo {
return d.withDO(d.DO.Not(conds...))
}
func (d doctorDo) Or(conds ...gen.Condition) *doctorDo {
return d.withDO(d.DO.Or(conds...))
}
func (d doctorDo) Select(conds ...field.Expr) *doctorDo {
return d.withDO(d.DO.Select(conds...))
}
func (d doctorDo) Where(conds ...gen.Condition) *doctorDo {
return d.withDO(d.DO.Where(conds...))
}
func (d doctorDo) Order(conds ...field.Expr) *doctorDo {
return d.withDO(d.DO.Order(conds...))
}
func (d doctorDo) Distinct(cols ...field.Expr) *doctorDo {
return d.withDO(d.DO.Distinct(cols...))
}
func (d doctorDo) Omit(cols ...field.Expr) *doctorDo {
return d.withDO(d.DO.Omit(cols...))
}
func (d doctorDo) Join(table schema.Tabler, on ...field.Expr) *doctorDo {
return d.withDO(d.DO.Join(table, on...))
}
func (d doctorDo) LeftJoin(table schema.Tabler, on ...field.Expr) *doctorDo {
return d.withDO(d.DO.LeftJoin(table, on...))
}
func (d doctorDo) RightJoin(table schema.Tabler, on ...field.Expr) *doctorDo {
return d.withDO(d.DO.RightJoin(table, on...))
}
func (d doctorDo) Group(cols ...field.Expr) *doctorDo {
return d.withDO(d.DO.Group(cols...))
}
func (d doctorDo) Having(conds ...gen.Condition) *doctorDo {
return d.withDO(d.DO.Having(conds...))
}
func (d doctorDo) Limit(limit int) *doctorDo {
return d.withDO(d.DO.Limit(limit))
}
func (d doctorDo) Offset(offset int) *doctorDo {
return d.withDO(d.DO.Offset(offset))
}
func (d doctorDo) Scopes(funcs ...func(gen.Dao) gen.Dao) *doctorDo {
return d.withDO(d.DO.Scopes(funcs...))
}
func (d doctorDo) Unscoped() *doctorDo {
return d.withDO(d.DO.Unscoped())
}
func (d doctorDo) Create(values ...*model.Doctor) error {
if len(values) == 0 {
return nil
}
return d.DO.Create(values)
}
func (d doctorDo) CreateInBatches(values []*model.Doctor, batchSize int) error {
return d.DO.CreateInBatches(values, batchSize)
}
// Save : !!! underlying implementation is different with GORM
// The method is equivalent to executing the statement: db.Clauses(clause.OnConflict{UpdateAll: true}).Create(values)
func (d doctorDo) Save(values ...*model.Doctor) error {
if len(values) == 0 {
return nil
}
return d.DO.Save(values)
}
func (d doctorDo) First() (*model.Doctor, error) {
if result, err := d.DO.First(); err != nil {
return nil, err
} else {
return result.(*model.Doctor), nil
}
}
func (d doctorDo) Take() (*model.Doctor, error) {
if result, err := d.DO.Take(); err != nil {
return nil, err
} else {
return result.(*model.Doctor), nil
}
}
func (d doctorDo) Last() (*model.Doctor, error) {
if result, err := d.DO.Last(); err != nil {
return nil, err
} else {
return result.(*model.Doctor), nil
}
}
func (d doctorDo) Find() ([]*model.Doctor, error) {
result, err := d.DO.Find()
return result.([]*model.Doctor), err
}
func (d doctorDo) FindInBatch(batchSize int, fc func(tx gen.Dao, batch int) error) (results []*model.Doctor, err error) {
buf := make([]*model.Doctor, 0, batchSize)
err = d.DO.FindInBatches(&buf, batchSize, func(tx gen.Dao, batch int) error {
defer func() { results = append(results, buf...) }()
return fc(tx, batch)
})
return results, err
}
func (d doctorDo) FindInBatches(result *[]*model.Doctor, batchSize int, fc func(tx gen.Dao, batch int) error) error {
return d.DO.FindInBatches(result, batchSize, fc)
}
func (d doctorDo) Attrs(attrs ...field.AssignExpr) *doctorDo {
return d.withDO(d.DO.Attrs(attrs...))
}
func (d doctorDo) Assign(attrs ...field.AssignExpr) *doctorDo {
return d.withDO(d.DO.Assign(attrs...))
}
func (d doctorDo) Joins(fields ...field.RelationField) *doctorDo {
for _, _f := range fields {
d = *d.withDO(d.DO.Joins(_f))
}
return &d
}
func (d doctorDo) Preload(fields ...field.RelationField) *doctorDo {
for _, _f := range fields {
d = *d.withDO(d.DO.Preload(_f))
}
return &d
}
func (d doctorDo) FirstOrInit() (*model.Doctor, error) {
if result, err := d.DO.FirstOrInit(); err != nil {
return nil, err
} else {
return result.(*model.Doctor), nil
}
}
func (d doctorDo) FirstOrCreate() (*model.Doctor, error) {
if result, err := d.DO.FirstOrCreate(); err != nil {
return nil, err
} else {
return result.(*model.Doctor), nil
}
}
func (d doctorDo) FindByPage(offset int, limit int) (result []*model.Doctor, count int64, err error) {
result, err = d.Offset(offset).Limit(limit).Find()
if err != nil {
return
}
if size := len(result); 0 < limit && 0 < size && size < limit {
count = int64(size + offset)
return
}
count, err = d.Offset(-1).Limit(-1).Count()
return
}
func (d doctorDo) ScanByPage(result interface{}, offset int, limit int) (count int64, err error) {
count, err = d.Count()
if err != nil {
return
}
err = d.Offset(offset).Limit(limit).Scan(result)
return
}
func (d doctorDo) Scan(result interface{}) (err error) {
return d.DO.Scan(result)
}
func (d doctorDo) Delete(models ...*model.Doctor) (result gen.ResultInfo, err error) {
return d.DO.Delete(models)
}
func (d *doctorDo) withDO(do gen.Dao) *doctorDo {
d.DO = *do.(*gen.DO)
return d
}

View File

@ -1,332 +0,0 @@
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
package dao
import (
"context"
"gorm.io/gorm"
"gorm.io/gorm/clause"
"gorm.io/gorm/schema"
"gorm.io/gen"
"gorm.io/gen/field"
"gorm.io/plugin/dbresolver"
"mini-chat/internal/repository/mysql/model"
)
func newMiniprogramAccessToken(db *gorm.DB, opts ...gen.DOOption) miniprogramAccessToken {
_miniprogramAccessToken := miniprogramAccessToken{}
_miniprogramAccessToken.miniprogramAccessTokenDo.UseDB(db, opts...)
_miniprogramAccessToken.miniprogramAccessTokenDo.UseModel(&model.MiniprogramAccessToken{})
tableName := _miniprogramAccessToken.miniprogramAccessTokenDo.TableName()
_miniprogramAccessToken.ALL = field.NewAsterisk(tableName)
_miniprogramAccessToken.ID = field.NewInt32(tableName, "id")
_miniprogramAccessToken.AccessToken = field.NewString(tableName, "access_token")
_miniprogramAccessToken.CreatedAt = field.NewTime(tableName, "created_at")
_miniprogramAccessToken.ExpiredAt = field.NewTime(tableName, "expired_at")
_miniprogramAccessToken.fillFieldMap()
return _miniprogramAccessToken
}
// miniprogramAccessToken 小程序 access_token 表
type miniprogramAccessToken struct {
miniprogramAccessTokenDo
ALL field.Asterisk
ID field.Int32 // 主键
AccessToken field.String // access_token
CreatedAt field.Time // 创建时间
ExpiredAt field.Time // 过期时间
fieldMap map[string]field.Expr
}
func (m miniprogramAccessToken) Table(newTableName string) *miniprogramAccessToken {
m.miniprogramAccessTokenDo.UseTable(newTableName)
return m.updateTableName(newTableName)
}
func (m miniprogramAccessToken) As(alias string) *miniprogramAccessToken {
m.miniprogramAccessTokenDo.DO = *(m.miniprogramAccessTokenDo.As(alias).(*gen.DO))
return m.updateTableName(alias)
}
func (m *miniprogramAccessToken) updateTableName(table string) *miniprogramAccessToken {
m.ALL = field.NewAsterisk(table)
m.ID = field.NewInt32(table, "id")
m.AccessToken = field.NewString(table, "access_token")
m.CreatedAt = field.NewTime(table, "created_at")
m.ExpiredAt = field.NewTime(table, "expired_at")
m.fillFieldMap()
return m
}
func (m *miniprogramAccessToken) GetFieldByName(fieldName string) (field.OrderExpr, bool) {
_f, ok := m.fieldMap[fieldName]
if !ok || _f == nil {
return nil, false
}
_oe, ok := _f.(field.OrderExpr)
return _oe, ok
}
func (m *miniprogramAccessToken) fillFieldMap() {
m.fieldMap = make(map[string]field.Expr, 4)
m.fieldMap["id"] = m.ID
m.fieldMap["access_token"] = m.AccessToken
m.fieldMap["created_at"] = m.CreatedAt
m.fieldMap["expired_at"] = m.ExpiredAt
}
func (m miniprogramAccessToken) clone(db *gorm.DB) miniprogramAccessToken {
m.miniprogramAccessTokenDo.ReplaceConnPool(db.Statement.ConnPool)
return m
}
func (m miniprogramAccessToken) replaceDB(db *gorm.DB) miniprogramAccessToken {
m.miniprogramAccessTokenDo.ReplaceDB(db)
return m
}
type miniprogramAccessTokenDo struct{ gen.DO }
func (m miniprogramAccessTokenDo) Debug() *miniprogramAccessTokenDo {
return m.withDO(m.DO.Debug())
}
func (m miniprogramAccessTokenDo) WithContext(ctx context.Context) *miniprogramAccessTokenDo {
return m.withDO(m.DO.WithContext(ctx))
}
func (m miniprogramAccessTokenDo) ReadDB() *miniprogramAccessTokenDo {
return m.Clauses(dbresolver.Read)
}
func (m miniprogramAccessTokenDo) WriteDB() *miniprogramAccessTokenDo {
return m.Clauses(dbresolver.Write)
}
func (m miniprogramAccessTokenDo) Session(config *gorm.Session) *miniprogramAccessTokenDo {
return m.withDO(m.DO.Session(config))
}
func (m miniprogramAccessTokenDo) Clauses(conds ...clause.Expression) *miniprogramAccessTokenDo {
return m.withDO(m.DO.Clauses(conds...))
}
func (m miniprogramAccessTokenDo) Returning(value interface{}, columns ...string) *miniprogramAccessTokenDo {
return m.withDO(m.DO.Returning(value, columns...))
}
func (m miniprogramAccessTokenDo) Not(conds ...gen.Condition) *miniprogramAccessTokenDo {
return m.withDO(m.DO.Not(conds...))
}
func (m miniprogramAccessTokenDo) Or(conds ...gen.Condition) *miniprogramAccessTokenDo {
return m.withDO(m.DO.Or(conds...))
}
func (m miniprogramAccessTokenDo) Select(conds ...field.Expr) *miniprogramAccessTokenDo {
return m.withDO(m.DO.Select(conds...))
}
func (m miniprogramAccessTokenDo) Where(conds ...gen.Condition) *miniprogramAccessTokenDo {
return m.withDO(m.DO.Where(conds...))
}
func (m miniprogramAccessTokenDo) Order(conds ...field.Expr) *miniprogramAccessTokenDo {
return m.withDO(m.DO.Order(conds...))
}
func (m miniprogramAccessTokenDo) Distinct(cols ...field.Expr) *miniprogramAccessTokenDo {
return m.withDO(m.DO.Distinct(cols...))
}
func (m miniprogramAccessTokenDo) Omit(cols ...field.Expr) *miniprogramAccessTokenDo {
return m.withDO(m.DO.Omit(cols...))
}
func (m miniprogramAccessTokenDo) Join(table schema.Tabler, on ...field.Expr) *miniprogramAccessTokenDo {
return m.withDO(m.DO.Join(table, on...))
}
func (m miniprogramAccessTokenDo) LeftJoin(table schema.Tabler, on ...field.Expr) *miniprogramAccessTokenDo {
return m.withDO(m.DO.LeftJoin(table, on...))
}
func (m miniprogramAccessTokenDo) RightJoin(table schema.Tabler, on ...field.Expr) *miniprogramAccessTokenDo {
return m.withDO(m.DO.RightJoin(table, on...))
}
func (m miniprogramAccessTokenDo) Group(cols ...field.Expr) *miniprogramAccessTokenDo {
return m.withDO(m.DO.Group(cols...))
}
func (m miniprogramAccessTokenDo) Having(conds ...gen.Condition) *miniprogramAccessTokenDo {
return m.withDO(m.DO.Having(conds...))
}
func (m miniprogramAccessTokenDo) Limit(limit int) *miniprogramAccessTokenDo {
return m.withDO(m.DO.Limit(limit))
}
func (m miniprogramAccessTokenDo) Offset(offset int) *miniprogramAccessTokenDo {
return m.withDO(m.DO.Offset(offset))
}
func (m miniprogramAccessTokenDo) Scopes(funcs ...func(gen.Dao) gen.Dao) *miniprogramAccessTokenDo {
return m.withDO(m.DO.Scopes(funcs...))
}
func (m miniprogramAccessTokenDo) Unscoped() *miniprogramAccessTokenDo {
return m.withDO(m.DO.Unscoped())
}
func (m miniprogramAccessTokenDo) Create(values ...*model.MiniprogramAccessToken) error {
if len(values) == 0 {
return nil
}
return m.DO.Create(values)
}
func (m miniprogramAccessTokenDo) CreateInBatches(values []*model.MiniprogramAccessToken, batchSize int) error {
return m.DO.CreateInBatches(values, batchSize)
}
// Save : !!! underlying implementation is different with GORM
// The method is equivalent to executing the statement: db.Clauses(clause.OnConflict{UpdateAll: true}).Create(values)
func (m miniprogramAccessTokenDo) Save(values ...*model.MiniprogramAccessToken) error {
if len(values) == 0 {
return nil
}
return m.DO.Save(values)
}
func (m miniprogramAccessTokenDo) First() (*model.MiniprogramAccessToken, error) {
if result, err := m.DO.First(); err != nil {
return nil, err
} else {
return result.(*model.MiniprogramAccessToken), nil
}
}
func (m miniprogramAccessTokenDo) Take() (*model.MiniprogramAccessToken, error) {
if result, err := m.DO.Take(); err != nil {
return nil, err
} else {
return result.(*model.MiniprogramAccessToken), nil
}
}
func (m miniprogramAccessTokenDo) Last() (*model.MiniprogramAccessToken, error) {
if result, err := m.DO.Last(); err != nil {
return nil, err
} else {
return result.(*model.MiniprogramAccessToken), nil
}
}
func (m miniprogramAccessTokenDo) Find() ([]*model.MiniprogramAccessToken, error) {
result, err := m.DO.Find()
return result.([]*model.MiniprogramAccessToken), err
}
func (m miniprogramAccessTokenDo) FindInBatch(batchSize int, fc func(tx gen.Dao, batch int) error) (results []*model.MiniprogramAccessToken, err error) {
buf := make([]*model.MiniprogramAccessToken, 0, batchSize)
err = m.DO.FindInBatches(&buf, batchSize, func(tx gen.Dao, batch int) error {
defer func() { results = append(results, buf...) }()
return fc(tx, batch)
})
return results, err
}
func (m miniprogramAccessTokenDo) FindInBatches(result *[]*model.MiniprogramAccessToken, batchSize int, fc func(tx gen.Dao, batch int) error) error {
return m.DO.FindInBatches(result, batchSize, fc)
}
func (m miniprogramAccessTokenDo) Attrs(attrs ...field.AssignExpr) *miniprogramAccessTokenDo {
return m.withDO(m.DO.Attrs(attrs...))
}
func (m miniprogramAccessTokenDo) Assign(attrs ...field.AssignExpr) *miniprogramAccessTokenDo {
return m.withDO(m.DO.Assign(attrs...))
}
func (m miniprogramAccessTokenDo) Joins(fields ...field.RelationField) *miniprogramAccessTokenDo {
for _, _f := range fields {
m = *m.withDO(m.DO.Joins(_f))
}
return &m
}
func (m miniprogramAccessTokenDo) Preload(fields ...field.RelationField) *miniprogramAccessTokenDo {
for _, _f := range fields {
m = *m.withDO(m.DO.Preload(_f))
}
return &m
}
func (m miniprogramAccessTokenDo) FirstOrInit() (*model.MiniprogramAccessToken, error) {
if result, err := m.DO.FirstOrInit(); err != nil {
return nil, err
} else {
return result.(*model.MiniprogramAccessToken), nil
}
}
func (m miniprogramAccessTokenDo) FirstOrCreate() (*model.MiniprogramAccessToken, error) {
if result, err := m.DO.FirstOrCreate(); err != nil {
return nil, err
} else {
return result.(*model.MiniprogramAccessToken), nil
}
}
func (m miniprogramAccessTokenDo) FindByPage(offset int, limit int) (result []*model.MiniprogramAccessToken, count int64, err error) {
result, err = m.Offset(offset).Limit(limit).Find()
if err != nil {
return
}
if size := len(result); 0 < limit && 0 < size && size < limit {
count = int64(size + offset)
return
}
count, err = m.Offset(-1).Limit(-1).Count()
return
}
func (m miniprogramAccessTokenDo) ScanByPage(result interface{}, offset int, limit int) (count int64, err error) {
count, err = m.Count()
if err != nil {
return
}
err = m.Offset(offset).Limit(limit).Scan(result)
return
}
func (m miniprogramAccessTokenDo) Scan(result interface{}) (err error) {
return m.DO.Scan(result)
}
func (m miniprogramAccessTokenDo) Delete(models ...*model.MiniprogramAccessToken) (result gen.ResultInfo, err error) {
return m.DO.Delete(models)
}
func (m *miniprogramAccessTokenDo) withDO(do gen.Dao) *miniprogramAccessTokenDo {
m.DO = *do.(*gen.DO)
return m
}

View File

@ -1,440 +0,0 @@
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
package dao
import (
"context"
"gorm.io/gorm"
"gorm.io/gorm/clause"
"gorm.io/gorm/schema"
"gorm.io/gen"
"gorm.io/gen/field"
"gorm.io/plugin/dbresolver"
"mini-chat/internal/repository/mysql/model"
)
func newPatient(db *gorm.DB, opts ...gen.DOOption) patient {
_patient := patient{}
_patient.patientDo.UseDB(db, opts...)
_patient.patientDo.UseModel(&model.Patient{})
tableName := _patient.patientDo.TableName()
_patient.ALL = field.NewAsterisk(tableName)
_patient.ID = field.NewInt32(tableName, "id")
_patient.Mobile = field.NewString(tableName, "mobile")
_patient.Username = field.NewString(tableName, "username")
_patient.Sex = field.NewInt32(tableName, "sex")
_patient.Password = field.NewString(tableName, "password")
_patient.Avatar = field.NewString(tableName, "avatar")
_patient.IDNumber = field.NewString(tableName, "id_number")
_patient.Birthday = field.NewTime(tableName, "birthday")
_patient.BirthWeight = field.NewInt32(tableName, "birth_weight")
_patient.OperativeDate = field.NewTime(tableName, "operative_date")
_patient.NextFollowDate = field.NewTime(tableName, "next_follow_date")
_patient.ParityNumber = field.NewInt32(tableName, "parity_number")
_patient.BirthNumber = field.NewInt32(tableName, "birth_number")
_patient.ConceptionType = field.NewInt32(tableName, "conception_type")
_patient.GestationalWeek = field.NewInt32(tableName, "gestational_week")
_patient.PrenatalCheckType = field.NewInt32(tableName, "prenatal_check_type")
_patient.PrenatalCheckRemark = field.NewString(tableName, "prenatal_check_remark")
_patient.DeliveryType = field.NewInt32(tableName, "delivery_type")
_patient.RiskType = field.NewInt32(tableName, "risk_type")
_patient.RiskValue = field.NewString(tableName, "risk_value")
_patient.HeightGenerateCurveType = field.NewInt32(tableName, "height_generate_curve_type")
_patient.WeightGenerateCurveType = field.NewInt32(tableName, "weight_generate_curve_type")
_patient.LoginStatus = field.NewInt32(tableName, "login_status")
_patient.LastLoginTime = field.NewTime(tableName, "last_login_time")
_patient.LastLoginIP = field.NewString(tableName, "last_login_ip")
_patient.LastLoginHash = field.NewString(tableName, "last_login_hash")
_patient.WxUserID = field.NewString(tableName, "wx_user_id")
_patient.CreatedUser = field.NewString(tableName, "created_user")
_patient.CreatedAt = field.NewTime(tableName, "created_at")
_patient.UpdatedUser = field.NewString(tableName, "updated_user")
_patient.UpdatedAt = field.NewTime(tableName, "updated_at")
_patient.fillFieldMap()
return _patient
}
// patient 患者表
type patient struct {
patientDo
ALL field.Asterisk
ID field.Int32 // 主键
Mobile field.String // 手机号
Username field.String // 姓名
Sex field.Int32 // 性别(1:男 2:女)
Password field.String // 密码
Avatar field.String // 头像地址
IDNumber field.String // 身份证号
Birthday field.Time // 出生日期
BirthWeight field.Int32 // 出生体重(克)
OperativeDate field.Time // 手术日期
NextFollowDate field.Time // 下次随访时间
ParityNumber field.Int32 // 胎次(0:未知 1:1胎 2:胎 3:胎 4:≥4胎)
BirthNumber field.Int32 // 产次(0:未知 1:1产 2:2产 3:≥3产)
ConceptionType field.Int32 // 受孕方式(0:未知 1:自然受孕 2:辅助生殖技术)
GestationalWeek field.Int32 // 孕周
PrenatalCheckType field.Int32 // 产检是否异常(0:未知 1:有 2:无)
PrenatalCheckRemark field.String // 产检异常备注
DeliveryType field.Int32 // 分娩方式(0:未知 1:顺产 2:剖宫产)
RiskType field.Int32 // 风险类型(0:未知 1:低危 2:中危 3:高危)
RiskValue field.String // 风险值
HeightGenerateCurveType field.Int32 // 身高生长曲线类型(0:未知 1:轻度偏离 2:正常 3:重度偏离)
WeightGenerateCurveType field.Int32 // 体重生长曲线类型(0:未知 1:轻度偏离 2:正常 3:重度偏离)
LoginStatus field.Int32 // 登录状态(1:启用 0:禁用)
LastLoginTime field.Time // 最后一次登录时间
LastLoginIP field.String // 最后一次登录IP
LastLoginHash field.String // 最后一次登录 Hash
WxUserID field.String // 微信ID
CreatedUser field.String // 创建人
CreatedAt field.Time // 创建时间
UpdatedUser field.String // 更新人
UpdatedAt field.Time // 更新时间
fieldMap map[string]field.Expr
}
func (p patient) Table(newTableName string) *patient {
p.patientDo.UseTable(newTableName)
return p.updateTableName(newTableName)
}
func (p patient) As(alias string) *patient {
p.patientDo.DO = *(p.patientDo.As(alias).(*gen.DO))
return p.updateTableName(alias)
}
func (p *patient) updateTableName(table string) *patient {
p.ALL = field.NewAsterisk(table)
p.ID = field.NewInt32(table, "id")
p.Mobile = field.NewString(table, "mobile")
p.Username = field.NewString(table, "username")
p.Sex = field.NewInt32(table, "sex")
p.Password = field.NewString(table, "password")
p.Avatar = field.NewString(table, "avatar")
p.IDNumber = field.NewString(table, "id_number")
p.Birthday = field.NewTime(table, "birthday")
p.BirthWeight = field.NewInt32(table, "birth_weight")
p.OperativeDate = field.NewTime(table, "operative_date")
p.NextFollowDate = field.NewTime(table, "next_follow_date")
p.ParityNumber = field.NewInt32(table, "parity_number")
p.BirthNumber = field.NewInt32(table, "birth_number")
p.ConceptionType = field.NewInt32(table, "conception_type")
p.GestationalWeek = field.NewInt32(table, "gestational_week")
p.PrenatalCheckType = field.NewInt32(table, "prenatal_check_type")
p.PrenatalCheckRemark = field.NewString(table, "prenatal_check_remark")
p.DeliveryType = field.NewInt32(table, "delivery_type")
p.RiskType = field.NewInt32(table, "risk_type")
p.RiskValue = field.NewString(table, "risk_value")
p.HeightGenerateCurveType = field.NewInt32(table, "height_generate_curve_type")
p.WeightGenerateCurveType = field.NewInt32(table, "weight_generate_curve_type")
p.LoginStatus = field.NewInt32(table, "login_status")
p.LastLoginTime = field.NewTime(table, "last_login_time")
p.LastLoginIP = field.NewString(table, "last_login_ip")
p.LastLoginHash = field.NewString(table, "last_login_hash")
p.WxUserID = field.NewString(table, "wx_user_id")
p.CreatedUser = field.NewString(table, "created_user")
p.CreatedAt = field.NewTime(table, "created_at")
p.UpdatedUser = field.NewString(table, "updated_user")
p.UpdatedAt = field.NewTime(table, "updated_at")
p.fillFieldMap()
return p
}
func (p *patient) GetFieldByName(fieldName string) (field.OrderExpr, bool) {
_f, ok := p.fieldMap[fieldName]
if !ok || _f == nil {
return nil, false
}
_oe, ok := _f.(field.OrderExpr)
return _oe, ok
}
func (p *patient) fillFieldMap() {
p.fieldMap = make(map[string]field.Expr, 31)
p.fieldMap["id"] = p.ID
p.fieldMap["mobile"] = p.Mobile
p.fieldMap["username"] = p.Username
p.fieldMap["sex"] = p.Sex
p.fieldMap["password"] = p.Password
p.fieldMap["avatar"] = p.Avatar
p.fieldMap["id_number"] = p.IDNumber
p.fieldMap["birthday"] = p.Birthday
p.fieldMap["birth_weight"] = p.BirthWeight
p.fieldMap["operative_date"] = p.OperativeDate
p.fieldMap["next_follow_date"] = p.NextFollowDate
p.fieldMap["parity_number"] = p.ParityNumber
p.fieldMap["birth_number"] = p.BirthNumber
p.fieldMap["conception_type"] = p.ConceptionType
p.fieldMap["gestational_week"] = p.GestationalWeek
p.fieldMap["prenatal_check_type"] = p.PrenatalCheckType
p.fieldMap["prenatal_check_remark"] = p.PrenatalCheckRemark
p.fieldMap["delivery_type"] = p.DeliveryType
p.fieldMap["risk_type"] = p.RiskType
p.fieldMap["risk_value"] = p.RiskValue
p.fieldMap["height_generate_curve_type"] = p.HeightGenerateCurveType
p.fieldMap["weight_generate_curve_type"] = p.WeightGenerateCurveType
p.fieldMap["login_status"] = p.LoginStatus
p.fieldMap["last_login_time"] = p.LastLoginTime
p.fieldMap["last_login_ip"] = p.LastLoginIP
p.fieldMap["last_login_hash"] = p.LastLoginHash
p.fieldMap["wx_user_id"] = p.WxUserID
p.fieldMap["created_user"] = p.CreatedUser
p.fieldMap["created_at"] = p.CreatedAt
p.fieldMap["updated_user"] = p.UpdatedUser
p.fieldMap["updated_at"] = p.UpdatedAt
}
func (p patient) clone(db *gorm.DB) patient {
p.patientDo.ReplaceConnPool(db.Statement.ConnPool)
return p
}
func (p patient) replaceDB(db *gorm.DB) patient {
p.patientDo.ReplaceDB(db)
return p
}
type patientDo struct{ gen.DO }
func (p patientDo) Debug() *patientDo {
return p.withDO(p.DO.Debug())
}
func (p patientDo) WithContext(ctx context.Context) *patientDo {
return p.withDO(p.DO.WithContext(ctx))
}
func (p patientDo) ReadDB() *patientDo {
return p.Clauses(dbresolver.Read)
}
func (p patientDo) WriteDB() *patientDo {
return p.Clauses(dbresolver.Write)
}
func (p patientDo) Session(config *gorm.Session) *patientDo {
return p.withDO(p.DO.Session(config))
}
func (p patientDo) Clauses(conds ...clause.Expression) *patientDo {
return p.withDO(p.DO.Clauses(conds...))
}
func (p patientDo) Returning(value interface{}, columns ...string) *patientDo {
return p.withDO(p.DO.Returning(value, columns...))
}
func (p patientDo) Not(conds ...gen.Condition) *patientDo {
return p.withDO(p.DO.Not(conds...))
}
func (p patientDo) Or(conds ...gen.Condition) *patientDo {
return p.withDO(p.DO.Or(conds...))
}
func (p patientDo) Select(conds ...field.Expr) *patientDo {
return p.withDO(p.DO.Select(conds...))
}
func (p patientDo) Where(conds ...gen.Condition) *patientDo {
return p.withDO(p.DO.Where(conds...))
}
func (p patientDo) Order(conds ...field.Expr) *patientDo {
return p.withDO(p.DO.Order(conds...))
}
func (p patientDo) Distinct(cols ...field.Expr) *patientDo {
return p.withDO(p.DO.Distinct(cols...))
}
func (p patientDo) Omit(cols ...field.Expr) *patientDo {
return p.withDO(p.DO.Omit(cols...))
}
func (p patientDo) Join(table schema.Tabler, on ...field.Expr) *patientDo {
return p.withDO(p.DO.Join(table, on...))
}
func (p patientDo) LeftJoin(table schema.Tabler, on ...field.Expr) *patientDo {
return p.withDO(p.DO.LeftJoin(table, on...))
}
func (p patientDo) RightJoin(table schema.Tabler, on ...field.Expr) *patientDo {
return p.withDO(p.DO.RightJoin(table, on...))
}
func (p patientDo) Group(cols ...field.Expr) *patientDo {
return p.withDO(p.DO.Group(cols...))
}
func (p patientDo) Having(conds ...gen.Condition) *patientDo {
return p.withDO(p.DO.Having(conds...))
}
func (p patientDo) Limit(limit int) *patientDo {
return p.withDO(p.DO.Limit(limit))
}
func (p patientDo) Offset(offset int) *patientDo {
return p.withDO(p.DO.Offset(offset))
}
func (p patientDo) Scopes(funcs ...func(gen.Dao) gen.Dao) *patientDo {
return p.withDO(p.DO.Scopes(funcs...))
}
func (p patientDo) Unscoped() *patientDo {
return p.withDO(p.DO.Unscoped())
}
func (p patientDo) Create(values ...*model.Patient) error {
if len(values) == 0 {
return nil
}
return p.DO.Create(values)
}
func (p patientDo) CreateInBatches(values []*model.Patient, batchSize int) error {
return p.DO.CreateInBatches(values, batchSize)
}
// Save : !!! underlying implementation is different with GORM
// The method is equivalent to executing the statement: db.Clauses(clause.OnConflict{UpdateAll: true}).Create(values)
func (p patientDo) Save(values ...*model.Patient) error {
if len(values) == 0 {
return nil
}
return p.DO.Save(values)
}
func (p patientDo) First() (*model.Patient, error) {
if result, err := p.DO.First(); err != nil {
return nil, err
} else {
return result.(*model.Patient), nil
}
}
func (p patientDo) Take() (*model.Patient, error) {
if result, err := p.DO.Take(); err != nil {
return nil, err
} else {
return result.(*model.Patient), nil
}
}
func (p patientDo) Last() (*model.Patient, error) {
if result, err := p.DO.Last(); err != nil {
return nil, err
} else {
return result.(*model.Patient), nil
}
}
func (p patientDo) Find() ([]*model.Patient, error) {
result, err := p.DO.Find()
return result.([]*model.Patient), err
}
func (p patientDo) FindInBatch(batchSize int, fc func(tx gen.Dao, batch int) error) (results []*model.Patient, err error) {
buf := make([]*model.Patient, 0, batchSize)
err = p.DO.FindInBatches(&buf, batchSize, func(tx gen.Dao, batch int) error {
defer func() { results = append(results, buf...) }()
return fc(tx, batch)
})
return results, err
}
func (p patientDo) FindInBatches(result *[]*model.Patient, batchSize int, fc func(tx gen.Dao, batch int) error) error {
return p.DO.FindInBatches(result, batchSize, fc)
}
func (p patientDo) Attrs(attrs ...field.AssignExpr) *patientDo {
return p.withDO(p.DO.Attrs(attrs...))
}
func (p patientDo) Assign(attrs ...field.AssignExpr) *patientDo {
return p.withDO(p.DO.Assign(attrs...))
}
func (p patientDo) Joins(fields ...field.RelationField) *patientDo {
for _, _f := range fields {
p = *p.withDO(p.DO.Joins(_f))
}
return &p
}
func (p patientDo) Preload(fields ...field.RelationField) *patientDo {
for _, _f := range fields {
p = *p.withDO(p.DO.Preload(_f))
}
return &p
}
func (p patientDo) FirstOrInit() (*model.Patient, error) {
if result, err := p.DO.FirstOrInit(); err != nil {
return nil, err
} else {
return result.(*model.Patient), nil
}
}
func (p patientDo) FirstOrCreate() (*model.Patient, error) {
if result, err := p.DO.FirstOrCreate(); err != nil {
return nil, err
} else {
return result.(*model.Patient), nil
}
}
func (p patientDo) FindByPage(offset int, limit int) (result []*model.Patient, count int64, err error) {
result, err = p.Offset(offset).Limit(limit).Find()
if err != nil {
return
}
if size := len(result); 0 < limit && 0 < size && size < limit {
count = int64(size + offset)
return
}
count, err = p.Offset(-1).Limit(-1).Count()
return
}
func (p patientDo) ScanByPage(result interface{}, offset int, limit int) (count int64, err error) {
count, err = p.Count()
if err != nil {
return
}
err = p.Offset(offset).Limit(limit).Scan(result)
return
}
func (p patientDo) Scan(result interface{}) (err error) {
return p.DO.Scan(result)
}
func (p patientDo) Delete(models ...*model.Patient) (result gen.ResultInfo, err error) {
return p.DO.Delete(models)
}
func (p *patientDo) withDO(do gen.Dao) *patientDo {
p.DO = *do.(*gen.DO)
return p
}

View File

@ -1,348 +0,0 @@
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
package dao
import (
"context"
"gorm.io/gorm"
"gorm.io/gorm/clause"
"gorm.io/gorm/schema"
"gorm.io/gen"
"gorm.io/gen/field"
"gorm.io/plugin/dbresolver"
"mini-chat/internal/repository/mysql/model"
)
func newPatientEmergencySymptom(db *gorm.DB, opts ...gen.DOOption) patientEmergencySymptom {
_patientEmergencySymptom := patientEmergencySymptom{}
_patientEmergencySymptom.patientEmergencySymptomDo.UseDB(db, opts...)
_patientEmergencySymptom.patientEmergencySymptomDo.UseModel(&model.PatientEmergencySymptom{})
tableName := _patientEmergencySymptom.patientEmergencySymptomDo.TableName()
_patientEmergencySymptom.ALL = field.NewAsterisk(tableName)
_patientEmergencySymptom.ID = field.NewInt32(tableName, "id")
_patientEmergencySymptom.PatientID = field.NewInt32(tableName, "patient_id")
_patientEmergencySymptom.Symptom = field.NewString(tableName, "symptom")
_patientEmergencySymptom.Conclusion = field.NewString(tableName, "conclusion")
_patientEmergencySymptom.CreatedUser = field.NewString(tableName, "created_user")
_patientEmergencySymptom.CreatedAt = field.NewTime(tableName, "created_at")
_patientEmergencySymptom.UpdatedUser = field.NewString(tableName, "updated_user")
_patientEmergencySymptom.UpdatedAt = field.NewTime(tableName, "updated_at")
_patientEmergencySymptom.fillFieldMap()
return _patientEmergencySymptom
}
// patientEmergencySymptom 患者紧急症状表
type patientEmergencySymptom struct {
patientEmergencySymptomDo
ALL field.Asterisk
ID field.Int32 // 主键
PatientID field.Int32 // 患者ID
Symptom field.String // 症状信息(JSON格式)
Conclusion field.String // 结论
CreatedUser field.String // 创建人
CreatedAt field.Time // 创建时间
UpdatedUser field.String // 更新人
UpdatedAt field.Time // 更新时间
fieldMap map[string]field.Expr
}
func (p patientEmergencySymptom) Table(newTableName string) *patientEmergencySymptom {
p.patientEmergencySymptomDo.UseTable(newTableName)
return p.updateTableName(newTableName)
}
func (p patientEmergencySymptom) As(alias string) *patientEmergencySymptom {
p.patientEmergencySymptomDo.DO = *(p.patientEmergencySymptomDo.As(alias).(*gen.DO))
return p.updateTableName(alias)
}
func (p *patientEmergencySymptom) updateTableName(table string) *patientEmergencySymptom {
p.ALL = field.NewAsterisk(table)
p.ID = field.NewInt32(table, "id")
p.PatientID = field.NewInt32(table, "patient_id")
p.Symptom = field.NewString(table, "symptom")
p.Conclusion = field.NewString(table, "conclusion")
p.CreatedUser = field.NewString(table, "created_user")
p.CreatedAt = field.NewTime(table, "created_at")
p.UpdatedUser = field.NewString(table, "updated_user")
p.UpdatedAt = field.NewTime(table, "updated_at")
p.fillFieldMap()
return p
}
func (p *patientEmergencySymptom) GetFieldByName(fieldName string) (field.OrderExpr, bool) {
_f, ok := p.fieldMap[fieldName]
if !ok || _f == nil {
return nil, false
}
_oe, ok := _f.(field.OrderExpr)
return _oe, ok
}
func (p *patientEmergencySymptom) fillFieldMap() {
p.fieldMap = make(map[string]field.Expr, 8)
p.fieldMap["id"] = p.ID
p.fieldMap["patient_id"] = p.PatientID
p.fieldMap["symptom"] = p.Symptom
p.fieldMap["conclusion"] = p.Conclusion
p.fieldMap["created_user"] = p.CreatedUser
p.fieldMap["created_at"] = p.CreatedAt
p.fieldMap["updated_user"] = p.UpdatedUser
p.fieldMap["updated_at"] = p.UpdatedAt
}
func (p patientEmergencySymptom) clone(db *gorm.DB) patientEmergencySymptom {
p.patientEmergencySymptomDo.ReplaceConnPool(db.Statement.ConnPool)
return p
}
func (p patientEmergencySymptom) replaceDB(db *gorm.DB) patientEmergencySymptom {
p.patientEmergencySymptomDo.ReplaceDB(db)
return p
}
type patientEmergencySymptomDo struct{ gen.DO }
func (p patientEmergencySymptomDo) Debug() *patientEmergencySymptomDo {
return p.withDO(p.DO.Debug())
}
func (p patientEmergencySymptomDo) WithContext(ctx context.Context) *patientEmergencySymptomDo {
return p.withDO(p.DO.WithContext(ctx))
}
func (p patientEmergencySymptomDo) ReadDB() *patientEmergencySymptomDo {
return p.Clauses(dbresolver.Read)
}
func (p patientEmergencySymptomDo) WriteDB() *patientEmergencySymptomDo {
return p.Clauses(dbresolver.Write)
}
func (p patientEmergencySymptomDo) Session(config *gorm.Session) *patientEmergencySymptomDo {
return p.withDO(p.DO.Session(config))
}
func (p patientEmergencySymptomDo) Clauses(conds ...clause.Expression) *patientEmergencySymptomDo {
return p.withDO(p.DO.Clauses(conds...))
}
func (p patientEmergencySymptomDo) Returning(value interface{}, columns ...string) *patientEmergencySymptomDo {
return p.withDO(p.DO.Returning(value, columns...))
}
func (p patientEmergencySymptomDo) Not(conds ...gen.Condition) *patientEmergencySymptomDo {
return p.withDO(p.DO.Not(conds...))
}
func (p patientEmergencySymptomDo) Or(conds ...gen.Condition) *patientEmergencySymptomDo {
return p.withDO(p.DO.Or(conds...))
}
func (p patientEmergencySymptomDo) Select(conds ...field.Expr) *patientEmergencySymptomDo {
return p.withDO(p.DO.Select(conds...))
}
func (p patientEmergencySymptomDo) Where(conds ...gen.Condition) *patientEmergencySymptomDo {
return p.withDO(p.DO.Where(conds...))
}
func (p patientEmergencySymptomDo) Order(conds ...field.Expr) *patientEmergencySymptomDo {
return p.withDO(p.DO.Order(conds...))
}
func (p patientEmergencySymptomDo) Distinct(cols ...field.Expr) *patientEmergencySymptomDo {
return p.withDO(p.DO.Distinct(cols...))
}
func (p patientEmergencySymptomDo) Omit(cols ...field.Expr) *patientEmergencySymptomDo {
return p.withDO(p.DO.Omit(cols...))
}
func (p patientEmergencySymptomDo) Join(table schema.Tabler, on ...field.Expr) *patientEmergencySymptomDo {
return p.withDO(p.DO.Join(table, on...))
}
func (p patientEmergencySymptomDo) LeftJoin(table schema.Tabler, on ...field.Expr) *patientEmergencySymptomDo {
return p.withDO(p.DO.LeftJoin(table, on...))
}
func (p patientEmergencySymptomDo) RightJoin(table schema.Tabler, on ...field.Expr) *patientEmergencySymptomDo {
return p.withDO(p.DO.RightJoin(table, on...))
}
func (p patientEmergencySymptomDo) Group(cols ...field.Expr) *patientEmergencySymptomDo {
return p.withDO(p.DO.Group(cols...))
}
func (p patientEmergencySymptomDo) Having(conds ...gen.Condition) *patientEmergencySymptomDo {
return p.withDO(p.DO.Having(conds...))
}
func (p patientEmergencySymptomDo) Limit(limit int) *patientEmergencySymptomDo {
return p.withDO(p.DO.Limit(limit))
}
func (p patientEmergencySymptomDo) Offset(offset int) *patientEmergencySymptomDo {
return p.withDO(p.DO.Offset(offset))
}
func (p patientEmergencySymptomDo) Scopes(funcs ...func(gen.Dao) gen.Dao) *patientEmergencySymptomDo {
return p.withDO(p.DO.Scopes(funcs...))
}
func (p patientEmergencySymptomDo) Unscoped() *patientEmergencySymptomDo {
return p.withDO(p.DO.Unscoped())
}
func (p patientEmergencySymptomDo) Create(values ...*model.PatientEmergencySymptom) error {
if len(values) == 0 {
return nil
}
return p.DO.Create(values)
}
func (p patientEmergencySymptomDo) CreateInBatches(values []*model.PatientEmergencySymptom, batchSize int) error {
return p.DO.CreateInBatches(values, batchSize)
}
// Save : !!! underlying implementation is different with GORM
// The method is equivalent to executing the statement: db.Clauses(clause.OnConflict{UpdateAll: true}).Create(values)
func (p patientEmergencySymptomDo) Save(values ...*model.PatientEmergencySymptom) error {
if len(values) == 0 {
return nil
}
return p.DO.Save(values)
}
func (p patientEmergencySymptomDo) First() (*model.PatientEmergencySymptom, error) {
if result, err := p.DO.First(); err != nil {
return nil, err
} else {
return result.(*model.PatientEmergencySymptom), nil
}
}
func (p patientEmergencySymptomDo) Take() (*model.PatientEmergencySymptom, error) {
if result, err := p.DO.Take(); err != nil {
return nil, err
} else {
return result.(*model.PatientEmergencySymptom), nil
}
}
func (p patientEmergencySymptomDo) Last() (*model.PatientEmergencySymptom, error) {
if result, err := p.DO.Last(); err != nil {
return nil, err
} else {
return result.(*model.PatientEmergencySymptom), nil
}
}
func (p patientEmergencySymptomDo) Find() ([]*model.PatientEmergencySymptom, error) {
result, err := p.DO.Find()
return result.([]*model.PatientEmergencySymptom), err
}
func (p patientEmergencySymptomDo) FindInBatch(batchSize int, fc func(tx gen.Dao, batch int) error) (results []*model.PatientEmergencySymptom, err error) {
buf := make([]*model.PatientEmergencySymptom, 0, batchSize)
err = p.DO.FindInBatches(&buf, batchSize, func(tx gen.Dao, batch int) error {
defer func() { results = append(results, buf...) }()
return fc(tx, batch)
})
return results, err
}
func (p patientEmergencySymptomDo) FindInBatches(result *[]*model.PatientEmergencySymptom, batchSize int, fc func(tx gen.Dao, batch int) error) error {
return p.DO.FindInBatches(result, batchSize, fc)
}
func (p patientEmergencySymptomDo) Attrs(attrs ...field.AssignExpr) *patientEmergencySymptomDo {
return p.withDO(p.DO.Attrs(attrs...))
}
func (p patientEmergencySymptomDo) Assign(attrs ...field.AssignExpr) *patientEmergencySymptomDo {
return p.withDO(p.DO.Assign(attrs...))
}
func (p patientEmergencySymptomDo) Joins(fields ...field.RelationField) *patientEmergencySymptomDo {
for _, _f := range fields {
p = *p.withDO(p.DO.Joins(_f))
}
return &p
}
func (p patientEmergencySymptomDo) Preload(fields ...field.RelationField) *patientEmergencySymptomDo {
for _, _f := range fields {
p = *p.withDO(p.DO.Preload(_f))
}
return &p
}
func (p patientEmergencySymptomDo) FirstOrInit() (*model.PatientEmergencySymptom, error) {
if result, err := p.DO.FirstOrInit(); err != nil {
return nil, err
} else {
return result.(*model.PatientEmergencySymptom), nil
}
}
func (p patientEmergencySymptomDo) FirstOrCreate() (*model.PatientEmergencySymptom, error) {
if result, err := p.DO.FirstOrCreate(); err != nil {
return nil, err
} else {
return result.(*model.PatientEmergencySymptom), nil
}
}
func (p patientEmergencySymptomDo) FindByPage(offset int, limit int) (result []*model.PatientEmergencySymptom, count int64, err error) {
result, err = p.Offset(offset).Limit(limit).Find()
if err != nil {
return
}
if size := len(result); 0 < limit && 0 < size && size < limit {
count = int64(size + offset)
return
}
count, err = p.Offset(-1).Limit(-1).Count()
return
}
func (p patientEmergencySymptomDo) ScanByPage(result interface{}, offset int, limit int) (count int64, err error) {
count, err = p.Count()
if err != nil {
return
}
err = p.Offset(offset).Limit(limit).Scan(result)
return
}
func (p patientEmergencySymptomDo) Scan(result interface{}) (err error) {
return p.DO.Scan(result)
}
func (p patientEmergencySymptomDo) Delete(models ...*model.PatientEmergencySymptom) (result gen.ResultInfo, err error) {
return p.DO.Delete(models)
}
func (p *patientEmergencySymptomDo) withDO(do gen.Dao) *patientEmergencySymptomDo {
p.DO = *do.(*gen.DO)
return p
}

View File

@ -1,352 +0,0 @@
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
package dao
import (
"context"
"gorm.io/gorm"
"gorm.io/gorm/clause"
"gorm.io/gorm/schema"
"gorm.io/gen"
"gorm.io/gen/field"
"gorm.io/plugin/dbresolver"
"mini-chat/internal/repository/mysql/model"
)
func newPatientFollowPlan(db *gorm.DB, opts ...gen.DOOption) patientFollowPlan {
_patientFollowPlan := patientFollowPlan{}
_patientFollowPlan.patientFollowPlanDo.UseDB(db, opts...)
_patientFollowPlan.patientFollowPlanDo.UseModel(&model.PatientFollowPlan{})
tableName := _patientFollowPlan.patientFollowPlanDo.TableName()
_patientFollowPlan.ALL = field.NewAsterisk(tableName)
_patientFollowPlan.ID = field.NewInt32(tableName, "id")
_patientFollowPlan.PatientID = field.NewInt32(tableName, "patient_id")
_patientFollowPlan.PlanName = field.NewString(tableName, "plan_name")
_patientFollowPlan.PlanDate = field.NewTime(tableName, "plan_date")
_patientFollowPlan.Status = field.NewInt32(tableName, "status")
_patientFollowPlan.CreatedUser = field.NewString(tableName, "created_user")
_patientFollowPlan.CreatedAt = field.NewTime(tableName, "created_at")
_patientFollowPlan.UpdatedUser = field.NewString(tableName, "updated_user")
_patientFollowPlan.UpdatedAt = field.NewTime(tableName, "updated_at")
_patientFollowPlan.fillFieldMap()
return _patientFollowPlan
}
// patientFollowPlan 患者随访计划表
type patientFollowPlan struct {
patientFollowPlanDo
ALL field.Asterisk
ID field.Int32 // 主键
PatientID field.Int32 // 患者ID
PlanName field.String // 计划名称
PlanDate field.Time // 计划时间
Status field.Int32 // 完成状态(1:未完成 2:已完成)
CreatedUser field.String // 创建人
CreatedAt field.Time // 创建时间
UpdatedUser field.String // 更新人
UpdatedAt field.Time // 更新时间
fieldMap map[string]field.Expr
}
func (p patientFollowPlan) Table(newTableName string) *patientFollowPlan {
p.patientFollowPlanDo.UseTable(newTableName)
return p.updateTableName(newTableName)
}
func (p patientFollowPlan) As(alias string) *patientFollowPlan {
p.patientFollowPlanDo.DO = *(p.patientFollowPlanDo.As(alias).(*gen.DO))
return p.updateTableName(alias)
}
func (p *patientFollowPlan) updateTableName(table string) *patientFollowPlan {
p.ALL = field.NewAsterisk(table)
p.ID = field.NewInt32(table, "id")
p.PatientID = field.NewInt32(table, "patient_id")
p.PlanName = field.NewString(table, "plan_name")
p.PlanDate = field.NewTime(table, "plan_date")
p.Status = field.NewInt32(table, "status")
p.CreatedUser = field.NewString(table, "created_user")
p.CreatedAt = field.NewTime(table, "created_at")
p.UpdatedUser = field.NewString(table, "updated_user")
p.UpdatedAt = field.NewTime(table, "updated_at")
p.fillFieldMap()
return p
}
func (p *patientFollowPlan) GetFieldByName(fieldName string) (field.OrderExpr, bool) {
_f, ok := p.fieldMap[fieldName]
if !ok || _f == nil {
return nil, false
}
_oe, ok := _f.(field.OrderExpr)
return _oe, ok
}
func (p *patientFollowPlan) fillFieldMap() {
p.fieldMap = make(map[string]field.Expr, 9)
p.fieldMap["id"] = p.ID
p.fieldMap["patient_id"] = p.PatientID
p.fieldMap["plan_name"] = p.PlanName
p.fieldMap["plan_date"] = p.PlanDate
p.fieldMap["status"] = p.Status
p.fieldMap["created_user"] = p.CreatedUser
p.fieldMap["created_at"] = p.CreatedAt
p.fieldMap["updated_user"] = p.UpdatedUser
p.fieldMap["updated_at"] = p.UpdatedAt
}
func (p patientFollowPlan) clone(db *gorm.DB) patientFollowPlan {
p.patientFollowPlanDo.ReplaceConnPool(db.Statement.ConnPool)
return p
}
func (p patientFollowPlan) replaceDB(db *gorm.DB) patientFollowPlan {
p.patientFollowPlanDo.ReplaceDB(db)
return p
}
type patientFollowPlanDo struct{ gen.DO }
func (p patientFollowPlanDo) Debug() *patientFollowPlanDo {
return p.withDO(p.DO.Debug())
}
func (p patientFollowPlanDo) WithContext(ctx context.Context) *patientFollowPlanDo {
return p.withDO(p.DO.WithContext(ctx))
}
func (p patientFollowPlanDo) ReadDB() *patientFollowPlanDo {
return p.Clauses(dbresolver.Read)
}
func (p patientFollowPlanDo) WriteDB() *patientFollowPlanDo {
return p.Clauses(dbresolver.Write)
}
func (p patientFollowPlanDo) Session(config *gorm.Session) *patientFollowPlanDo {
return p.withDO(p.DO.Session(config))
}
func (p patientFollowPlanDo) Clauses(conds ...clause.Expression) *patientFollowPlanDo {
return p.withDO(p.DO.Clauses(conds...))
}
func (p patientFollowPlanDo) Returning(value interface{}, columns ...string) *patientFollowPlanDo {
return p.withDO(p.DO.Returning(value, columns...))
}
func (p patientFollowPlanDo) Not(conds ...gen.Condition) *patientFollowPlanDo {
return p.withDO(p.DO.Not(conds...))
}
func (p patientFollowPlanDo) Or(conds ...gen.Condition) *patientFollowPlanDo {
return p.withDO(p.DO.Or(conds...))
}
func (p patientFollowPlanDo) Select(conds ...field.Expr) *patientFollowPlanDo {
return p.withDO(p.DO.Select(conds...))
}
func (p patientFollowPlanDo) Where(conds ...gen.Condition) *patientFollowPlanDo {
return p.withDO(p.DO.Where(conds...))
}
func (p patientFollowPlanDo) Order(conds ...field.Expr) *patientFollowPlanDo {
return p.withDO(p.DO.Order(conds...))
}
func (p patientFollowPlanDo) Distinct(cols ...field.Expr) *patientFollowPlanDo {
return p.withDO(p.DO.Distinct(cols...))
}
func (p patientFollowPlanDo) Omit(cols ...field.Expr) *patientFollowPlanDo {
return p.withDO(p.DO.Omit(cols...))
}
func (p patientFollowPlanDo) Join(table schema.Tabler, on ...field.Expr) *patientFollowPlanDo {
return p.withDO(p.DO.Join(table, on...))
}
func (p patientFollowPlanDo) LeftJoin(table schema.Tabler, on ...field.Expr) *patientFollowPlanDo {
return p.withDO(p.DO.LeftJoin(table, on...))
}
func (p patientFollowPlanDo) RightJoin(table schema.Tabler, on ...field.Expr) *patientFollowPlanDo {
return p.withDO(p.DO.RightJoin(table, on...))
}
func (p patientFollowPlanDo) Group(cols ...field.Expr) *patientFollowPlanDo {
return p.withDO(p.DO.Group(cols...))
}
func (p patientFollowPlanDo) Having(conds ...gen.Condition) *patientFollowPlanDo {
return p.withDO(p.DO.Having(conds...))
}
func (p patientFollowPlanDo) Limit(limit int) *patientFollowPlanDo {
return p.withDO(p.DO.Limit(limit))
}
func (p patientFollowPlanDo) Offset(offset int) *patientFollowPlanDo {
return p.withDO(p.DO.Offset(offset))
}
func (p patientFollowPlanDo) Scopes(funcs ...func(gen.Dao) gen.Dao) *patientFollowPlanDo {
return p.withDO(p.DO.Scopes(funcs...))
}
func (p patientFollowPlanDo) Unscoped() *patientFollowPlanDo {
return p.withDO(p.DO.Unscoped())
}
func (p patientFollowPlanDo) Create(values ...*model.PatientFollowPlan) error {
if len(values) == 0 {
return nil
}
return p.DO.Create(values)
}
func (p patientFollowPlanDo) CreateInBatches(values []*model.PatientFollowPlan, batchSize int) error {
return p.DO.CreateInBatches(values, batchSize)
}
// Save : !!! underlying implementation is different with GORM
// The method is equivalent to executing the statement: db.Clauses(clause.OnConflict{UpdateAll: true}).Create(values)
func (p patientFollowPlanDo) Save(values ...*model.PatientFollowPlan) error {
if len(values) == 0 {
return nil
}
return p.DO.Save(values)
}
func (p patientFollowPlanDo) First() (*model.PatientFollowPlan, error) {
if result, err := p.DO.First(); err != nil {
return nil, err
} else {
return result.(*model.PatientFollowPlan), nil
}
}
func (p patientFollowPlanDo) Take() (*model.PatientFollowPlan, error) {
if result, err := p.DO.Take(); err != nil {
return nil, err
} else {
return result.(*model.PatientFollowPlan), nil
}
}
func (p patientFollowPlanDo) Last() (*model.PatientFollowPlan, error) {
if result, err := p.DO.Last(); err != nil {
return nil, err
} else {
return result.(*model.PatientFollowPlan), nil
}
}
func (p patientFollowPlanDo) Find() ([]*model.PatientFollowPlan, error) {
result, err := p.DO.Find()
return result.([]*model.PatientFollowPlan), err
}
func (p patientFollowPlanDo) FindInBatch(batchSize int, fc func(tx gen.Dao, batch int) error) (results []*model.PatientFollowPlan, err error) {
buf := make([]*model.PatientFollowPlan, 0, batchSize)
err = p.DO.FindInBatches(&buf, batchSize, func(tx gen.Dao, batch int) error {
defer func() { results = append(results, buf...) }()
return fc(tx, batch)
})
return results, err
}
func (p patientFollowPlanDo) FindInBatches(result *[]*model.PatientFollowPlan, batchSize int, fc func(tx gen.Dao, batch int) error) error {
return p.DO.FindInBatches(result, batchSize, fc)
}
func (p patientFollowPlanDo) Attrs(attrs ...field.AssignExpr) *patientFollowPlanDo {
return p.withDO(p.DO.Attrs(attrs...))
}
func (p patientFollowPlanDo) Assign(attrs ...field.AssignExpr) *patientFollowPlanDo {
return p.withDO(p.DO.Assign(attrs...))
}
func (p patientFollowPlanDo) Joins(fields ...field.RelationField) *patientFollowPlanDo {
for _, _f := range fields {
p = *p.withDO(p.DO.Joins(_f))
}
return &p
}
func (p patientFollowPlanDo) Preload(fields ...field.RelationField) *patientFollowPlanDo {
for _, _f := range fields {
p = *p.withDO(p.DO.Preload(_f))
}
return &p
}
func (p patientFollowPlanDo) FirstOrInit() (*model.PatientFollowPlan, error) {
if result, err := p.DO.FirstOrInit(); err != nil {
return nil, err
} else {
return result.(*model.PatientFollowPlan), nil
}
}
func (p patientFollowPlanDo) FirstOrCreate() (*model.PatientFollowPlan, error) {
if result, err := p.DO.FirstOrCreate(); err != nil {
return nil, err
} else {
return result.(*model.PatientFollowPlan), nil
}
}
func (p patientFollowPlanDo) FindByPage(offset int, limit int) (result []*model.PatientFollowPlan, count int64, err error) {
result, err = p.Offset(offset).Limit(limit).Find()
if err != nil {
return
}
if size := len(result); 0 < limit && 0 < size && size < limit {
count = int64(size + offset)
return
}
count, err = p.Offset(-1).Limit(-1).Count()
return
}
func (p patientFollowPlanDo) ScanByPage(result interface{}, offset int, limit int) (count int64, err error) {
count, err = p.Count()
if err != nil {
return
}
err = p.Offset(offset).Limit(limit).Scan(result)
return
}
func (p patientFollowPlanDo) Scan(result interface{}) (err error) {
return p.DO.Scan(result)
}
func (p patientFollowPlanDo) Delete(models ...*model.PatientFollowPlan) (result gen.ResultInfo, err error) {
return p.DO.Delete(models)
}
func (p *patientFollowPlanDo) withDO(do gen.Dao) *patientFollowPlanDo {
p.DO = *do.(*gen.DO)
return p
}

View File

@ -1,568 +0,0 @@
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
package dao
import (
"context"
"gorm.io/gorm"
"gorm.io/gorm/clause"
"gorm.io/gorm/schema"
"gorm.io/gen"
"gorm.io/gen/field"
"gorm.io/plugin/dbresolver"
"mini-chat/internal/repository/mysql/model"
)
func newPatientFollowQuestionnaire(db *gorm.DB, opts ...gen.DOOption) patientFollowQuestionnaire {
_patientFollowQuestionnaire := patientFollowQuestionnaire{}
_patientFollowQuestionnaire.patientFollowQuestionnaireDo.UseDB(db, opts...)
_patientFollowQuestionnaire.patientFollowQuestionnaireDo.UseModel(&model.PatientFollowQuestionnaire{})
tableName := _patientFollowQuestionnaire.patientFollowQuestionnaireDo.TableName()
_patientFollowQuestionnaire.ALL = field.NewAsterisk(tableName)
_patientFollowQuestionnaire.ID = field.NewInt32(tableName, "id")
_patientFollowQuestionnaire.PatientID = field.NewInt32(tableName, "patient_id")
_patientFollowQuestionnaire.PlanID = field.NewInt32(tableName, "plan_id")
_patientFollowQuestionnaire.FollowName = field.NewString(tableName, "follow_name")
_patientFollowQuestionnaire.FollowDate = field.NewTime(tableName, "follow_date")
_patientFollowQuestionnaire.FollowHospital = field.NewString(tableName, "follow_hospital")
_patientFollowQuestionnaire.Height = field.NewString(tableName, "height")
_patientFollowQuestionnaire.Weight = field.NewString(tableName, "weight")
_patientFollowQuestionnaire.HeadCircumference = field.NewString(tableName, "head_circumference")
_patientFollowQuestionnaire.HighHip = field.NewString(tableName, "high_hip")
_patientFollowQuestionnaire.LiverFunctionImage = field.NewString(tableName, "liver_function_image")
_patientFollowQuestionnaire.TotalBilirubin = field.NewString(tableName, "total_bilirubin")
_patientFollowQuestionnaire.DirectBilirubin = field.NewString(tableName, "direct_bilirubin")
_patientFollowQuestionnaire.TotalBileAcid = field.NewString(tableName, "total_bile_acid")
_patientFollowQuestionnaire.Albumin = field.NewString(tableName, "albumin")
_patientFollowQuestionnaire.GrainGrass = field.NewString(tableName, "grain_grass")
_patientFollowQuestionnaire.GuBing = field.NewString(tableName, "gu_bing")
_patientFollowQuestionnaire.Ggt = field.NewString(tableName, "ggt")
_patientFollowQuestionnaire.Alp = field.NewString(tableName, "alp")
_patientFollowQuestionnaire.CoagulationFunctionImage = field.NewString(tableName, "coagulation_function_image")
_patientFollowQuestionnaire.Crp = field.NewString(tableName, "crp")
_patientFollowQuestionnaire.Ddr = field.NewString(tableName, "ddr")
_patientFollowQuestionnaire.Inr = field.NewString(tableName, "inr")
_patientFollowQuestionnaire.Pt = field.NewString(tableName, "pt")
_patientFollowQuestionnaire.Pta = field.NewString(tableName, "pta")
_patientFollowQuestionnaire.Aptt = field.NewString(tableName, "aptt")
_patientFollowQuestionnaire.Tt = field.NewString(tableName, "tt")
_patientFollowQuestionnaire.Fib = field.NewString(tableName, "fib")
_patientFollowQuestionnaire.Npdp = field.NewString(tableName, "npdp")
_patientFollowQuestionnaire.Mmp7 = field.NewString(tableName, "mmp_7")
_patientFollowQuestionnaire.BloodRoutineImage = field.NewString(tableName, "blood_routine_image")
_patientFollowQuestionnaire.Platelets = field.NewString(tableName, "platelets")
_patientFollowQuestionnaire.Hemoglobin = field.NewString(tableName, "hemoglobin")
_patientFollowQuestionnaire.WhiteBloodCells = field.NewString(tableName, "white_blood_cells")
_patientFollowQuestionnaire.RedBloodCells = field.NewString(tableName, "red_blood_cells")
_patientFollowQuestionnaire.NutritionalIndicatorImage = field.NewString(tableName, "nutritional_indicator_image")
_patientFollowQuestionnaire.OhD3 = field.NewString(tableName, "oh_d3")
_patientFollowQuestionnaire.OhD2 = field.NewString(tableName, "oh_d2")
_patientFollowQuestionnaire.OhD = field.NewString(tableName, "oh_d")
_patientFollowQuestionnaire.VitaminA = field.NewString(tableName, "vitamin_a")
_patientFollowQuestionnaire.VitaminK = field.NewString(tableName, "vitamin_k")
_patientFollowQuestionnaire.VitaminE = field.NewString(tableName, "vitamin_e")
_patientFollowQuestionnaire.BModeImage = field.NewString(tableName, "b_mode_image")
_patientFollowQuestionnaire.UnderTheLiverRib = field.NewString(tableName, "under_the_liver_rib")
_patientFollowQuestionnaire.UnderTheXiphoidLiver = field.NewString(tableName, "under_the_xiphoid_liver")
_patientFollowQuestionnaire.SpleenRibArea = field.NewString(tableName, "spleen_rib_area")
_patientFollowQuestionnaire.MainPortalVein = field.NewString(tableName, "main_portal_vein")
_patientFollowQuestionnaire.LiverEcho = field.NewString(tableName, "liver_echo")
_patientFollowQuestionnaire.GallbladderSize = field.NewString(tableName, "gallbladder_size")
_patientFollowQuestionnaire.CommonBileDuct = field.NewString(tableName, "common_bile_duct")
_patientFollowQuestionnaire.FiberBlockSize = field.NewString(tableName, "fiber_block_size")
_patientFollowQuestionnaire.Pvv = field.NewString(tableName, "pvv")
_patientFollowQuestionnaire.LiverElasticityValue = field.NewString(tableName, "liver_elasticity_value")
_patientFollowQuestionnaire.IsHaveCyst = field.NewInt32(tableName, "is_have_cyst")
_patientFollowQuestionnaire.IsHaveAscites = field.NewInt32(tableName, "is_have_ascites")
_patientFollowQuestionnaire.ElastographyMinimum = field.NewString(tableName, "elastography_minimum")
_patientFollowQuestionnaire.ElastographyMaximum = field.NewString(tableName, "elastography_maximum")
_patientFollowQuestionnaire.ElastographyMedian = field.NewString(tableName, "elastography_median")
_patientFollowQuestionnaire.MdtImage = field.NewString(tableName, "mdt_image")
_patientFollowQuestionnaire.CreatedUser = field.NewString(tableName, "created_user")
_patientFollowQuestionnaire.CreatedAt = field.NewTime(tableName, "created_at")
_patientFollowQuestionnaire.UpdatedUser = field.NewString(tableName, "updated_user")
_patientFollowQuestionnaire.UpdatedAt = field.NewTime(tableName, "updated_at")
_patientFollowQuestionnaire.fillFieldMap()
return _patientFollowQuestionnaire
}
// patientFollowQuestionnaire 患者随访问卷表
type patientFollowQuestionnaire struct {
patientFollowQuestionnaireDo
ALL field.Asterisk
ID field.Int32 // 主键
PatientID field.Int32 // 患者ID
PlanID field.Int32 // 随访计划ID
FollowName field.String // 随访名称
FollowDate field.Time // 随访日期
FollowHospital field.String // 随访医院
Height field.String // 身高(CM)
Weight field.String // 体重(KG)
HeadCircumference field.String // 头围(CM)
HighHip field.String // 上臀围(CM)
LiverFunctionImage field.String // 肝功能检查报告(多张用,分割)
TotalBilirubin field.String // 总胆红素µmol/L)
DirectBilirubin field.String // 直接胆红素µmol/L)
TotalBileAcid field.String // 总胆汁酸g/L
Albumin field.String // 白蛋白g/L
GrainGrass field.String // 谷草U/L
GuBing field.String // 谷丙U/L
Ggt field.String // GGTU/L
Alp field.String // ALPU/L
CoagulationFunctionImage field.String // 凝血功能检查报告(多张用,分割)
Crp field.String // CRPmg/L
Ddr field.String // DDR
Inr field.String // INR
Pt field.String // PTs
Pta field.String // PTA%
Aptt field.String // APTTs
Tt field.String // TTs
Fib field.String // FIBg/L
Npdp field.String // NPDPmg/L
Mmp7 field.String // MMP-7ng/mL
BloodRoutineImage field.String // 血常规检查报告(多张用,分割)
Platelets field.String // 血小板10^9/L)
Hemoglobin field.String // 血红蛋白 (g/L)
WhiteBloodCells field.String // 白细胞 (10^9/L)
RedBloodCells field.String // 红细胞 (10^9/L)
NutritionalIndicatorImage field.String // 营养指标检查报告(多张用,分割)
OhD3 field.String // 25OHD3 (ng/ml)
OhD2 field.String // 25OHD2 (ng/ml)
OhD field.String // 25OHD (ng/ml)
VitaminA field.String // 维生素A (ng/ml)
VitaminK field.String // 维生素K (ng/ml)
VitaminE field.String // 维生素E (ng/ml)
BModeImage field.String // B超报告(多张用,分割)
UnderTheLiverRib field.String // 肝肋下(mm)
UnderTheXiphoidLiver field.String // 肝剑突下(mm)
SpleenRibArea field.String // 脾肋下(mm)
MainPortalVein field.String // 门静脉主干内径(mm)
LiverEcho field.String // 肝回声
GallbladderSize field.String // 胆囊大小(mm)
CommonBileDuct field.String // 胆总管(mm)
FiberBlockSize field.String // 纤维块大小(mm)
Pvv field.String // 门静脉流速
LiverElasticityValue field.String // 肝弹性值
IsHaveCyst field.Int32 // 有无肝囊肿(1:是 2:否)
IsHaveAscites field.Int32 // 有无腹水(1:是 2:否)
ElastographyMinimum field.String // 弹性成像最小值(kPa)
ElastographyMaximum field.String // 弹性成像最大值(kPa)
ElastographyMedian field.String // 弹性成像中位数(kPa)
MdtImage field.String // MDT电子病历(多张用,分割)
CreatedUser field.String // 创建人
CreatedAt field.Time // 创建时间
UpdatedUser field.String // 更新人
UpdatedAt field.Time // 更新时间
fieldMap map[string]field.Expr
}
func (p patientFollowQuestionnaire) Table(newTableName string) *patientFollowQuestionnaire {
p.patientFollowQuestionnaireDo.UseTable(newTableName)
return p.updateTableName(newTableName)
}
func (p patientFollowQuestionnaire) As(alias string) *patientFollowQuestionnaire {
p.patientFollowQuestionnaireDo.DO = *(p.patientFollowQuestionnaireDo.As(alias).(*gen.DO))
return p.updateTableName(alias)
}
func (p *patientFollowQuestionnaire) updateTableName(table string) *patientFollowQuestionnaire {
p.ALL = field.NewAsterisk(table)
p.ID = field.NewInt32(table, "id")
p.PatientID = field.NewInt32(table, "patient_id")
p.PlanID = field.NewInt32(table, "plan_id")
p.FollowName = field.NewString(table, "follow_name")
p.FollowDate = field.NewTime(table, "follow_date")
p.FollowHospital = field.NewString(table, "follow_hospital")
p.Height = field.NewString(table, "height")
p.Weight = field.NewString(table, "weight")
p.HeadCircumference = field.NewString(table, "head_circumference")
p.HighHip = field.NewString(table, "high_hip")
p.LiverFunctionImage = field.NewString(table, "liver_function_image")
p.TotalBilirubin = field.NewString(table, "total_bilirubin")
p.DirectBilirubin = field.NewString(table, "direct_bilirubin")
p.TotalBileAcid = field.NewString(table, "total_bile_acid")
p.Albumin = field.NewString(table, "albumin")
p.GrainGrass = field.NewString(table, "grain_grass")
p.GuBing = field.NewString(table, "gu_bing")
p.Ggt = field.NewString(table, "ggt")
p.Alp = field.NewString(table, "alp")
p.CoagulationFunctionImage = field.NewString(table, "coagulation_function_image")
p.Crp = field.NewString(table, "crp")
p.Ddr = field.NewString(table, "ddr")
p.Inr = field.NewString(table, "inr")
p.Pt = field.NewString(table, "pt")
p.Pta = field.NewString(table, "pta")
p.Aptt = field.NewString(table, "aptt")
p.Tt = field.NewString(table, "tt")
p.Fib = field.NewString(table, "fib")
p.Npdp = field.NewString(table, "npdp")
p.Mmp7 = field.NewString(table, "mmp_7")
p.BloodRoutineImage = field.NewString(table, "blood_routine_image")
p.Platelets = field.NewString(table, "platelets")
p.Hemoglobin = field.NewString(table, "hemoglobin")
p.WhiteBloodCells = field.NewString(table, "white_blood_cells")
p.RedBloodCells = field.NewString(table, "red_blood_cells")
p.NutritionalIndicatorImage = field.NewString(table, "nutritional_indicator_image")
p.OhD3 = field.NewString(table, "oh_d3")
p.OhD2 = field.NewString(table, "oh_d2")
p.OhD = field.NewString(table, "oh_d")
p.VitaminA = field.NewString(table, "vitamin_a")
p.VitaminK = field.NewString(table, "vitamin_k")
p.VitaminE = field.NewString(table, "vitamin_e")
p.BModeImage = field.NewString(table, "b_mode_image")
p.UnderTheLiverRib = field.NewString(table, "under_the_liver_rib")
p.UnderTheXiphoidLiver = field.NewString(table, "under_the_xiphoid_liver")
p.SpleenRibArea = field.NewString(table, "spleen_rib_area")
p.MainPortalVein = field.NewString(table, "main_portal_vein")
p.LiverEcho = field.NewString(table, "liver_echo")
p.GallbladderSize = field.NewString(table, "gallbladder_size")
p.CommonBileDuct = field.NewString(table, "common_bile_duct")
p.FiberBlockSize = field.NewString(table, "fiber_block_size")
p.Pvv = field.NewString(table, "pvv")
p.LiverElasticityValue = field.NewString(table, "liver_elasticity_value")
p.IsHaveCyst = field.NewInt32(table, "is_have_cyst")
p.IsHaveAscites = field.NewInt32(table, "is_have_ascites")
p.ElastographyMinimum = field.NewString(table, "elastography_minimum")
p.ElastographyMaximum = field.NewString(table, "elastography_maximum")
p.ElastographyMedian = field.NewString(table, "elastography_median")
p.MdtImage = field.NewString(table, "mdt_image")
p.CreatedUser = field.NewString(table, "created_user")
p.CreatedAt = field.NewTime(table, "created_at")
p.UpdatedUser = field.NewString(table, "updated_user")
p.UpdatedAt = field.NewTime(table, "updated_at")
p.fillFieldMap()
return p
}
func (p *patientFollowQuestionnaire) GetFieldByName(fieldName string) (field.OrderExpr, bool) {
_f, ok := p.fieldMap[fieldName]
if !ok || _f == nil {
return nil, false
}
_oe, ok := _f.(field.OrderExpr)
return _oe, ok
}
func (p *patientFollowQuestionnaire) fillFieldMap() {
p.fieldMap = make(map[string]field.Expr, 63)
p.fieldMap["id"] = p.ID
p.fieldMap["patient_id"] = p.PatientID
p.fieldMap["plan_id"] = p.PlanID
p.fieldMap["follow_name"] = p.FollowName
p.fieldMap["follow_date"] = p.FollowDate
p.fieldMap["follow_hospital"] = p.FollowHospital
p.fieldMap["height"] = p.Height
p.fieldMap["weight"] = p.Weight
p.fieldMap["head_circumference"] = p.HeadCircumference
p.fieldMap["high_hip"] = p.HighHip
p.fieldMap["liver_function_image"] = p.LiverFunctionImage
p.fieldMap["total_bilirubin"] = p.TotalBilirubin
p.fieldMap["direct_bilirubin"] = p.DirectBilirubin
p.fieldMap["total_bile_acid"] = p.TotalBileAcid
p.fieldMap["albumin"] = p.Albumin
p.fieldMap["grain_grass"] = p.GrainGrass
p.fieldMap["gu_bing"] = p.GuBing
p.fieldMap["ggt"] = p.Ggt
p.fieldMap["alp"] = p.Alp
p.fieldMap["coagulation_function_image"] = p.CoagulationFunctionImage
p.fieldMap["crp"] = p.Crp
p.fieldMap["ddr"] = p.Ddr
p.fieldMap["inr"] = p.Inr
p.fieldMap["pt"] = p.Pt
p.fieldMap["pta"] = p.Pta
p.fieldMap["aptt"] = p.Aptt
p.fieldMap["tt"] = p.Tt
p.fieldMap["fib"] = p.Fib
p.fieldMap["npdp"] = p.Npdp
p.fieldMap["mmp_7"] = p.Mmp7
p.fieldMap["blood_routine_image"] = p.BloodRoutineImage
p.fieldMap["platelets"] = p.Platelets
p.fieldMap["hemoglobin"] = p.Hemoglobin
p.fieldMap["white_blood_cells"] = p.WhiteBloodCells
p.fieldMap["red_blood_cells"] = p.RedBloodCells
p.fieldMap["nutritional_indicator_image"] = p.NutritionalIndicatorImage
p.fieldMap["oh_d3"] = p.OhD3
p.fieldMap["oh_d2"] = p.OhD2
p.fieldMap["oh_d"] = p.OhD
p.fieldMap["vitamin_a"] = p.VitaminA
p.fieldMap["vitamin_k"] = p.VitaminK
p.fieldMap["vitamin_e"] = p.VitaminE
p.fieldMap["b_mode_image"] = p.BModeImage
p.fieldMap["under_the_liver_rib"] = p.UnderTheLiverRib
p.fieldMap["under_the_xiphoid_liver"] = p.UnderTheXiphoidLiver
p.fieldMap["spleen_rib_area"] = p.SpleenRibArea
p.fieldMap["main_portal_vein"] = p.MainPortalVein
p.fieldMap["liver_echo"] = p.LiverEcho
p.fieldMap["gallbladder_size"] = p.GallbladderSize
p.fieldMap["common_bile_duct"] = p.CommonBileDuct
p.fieldMap["fiber_block_size"] = p.FiberBlockSize
p.fieldMap["pvv"] = p.Pvv
p.fieldMap["liver_elasticity_value"] = p.LiverElasticityValue
p.fieldMap["is_have_cyst"] = p.IsHaveCyst
p.fieldMap["is_have_ascites"] = p.IsHaveAscites
p.fieldMap["elastography_minimum"] = p.ElastographyMinimum
p.fieldMap["elastography_maximum"] = p.ElastographyMaximum
p.fieldMap["elastography_median"] = p.ElastographyMedian
p.fieldMap["mdt_image"] = p.MdtImage
p.fieldMap["created_user"] = p.CreatedUser
p.fieldMap["created_at"] = p.CreatedAt
p.fieldMap["updated_user"] = p.UpdatedUser
p.fieldMap["updated_at"] = p.UpdatedAt
}
func (p patientFollowQuestionnaire) clone(db *gorm.DB) patientFollowQuestionnaire {
p.patientFollowQuestionnaireDo.ReplaceConnPool(db.Statement.ConnPool)
return p
}
func (p patientFollowQuestionnaire) replaceDB(db *gorm.DB) patientFollowQuestionnaire {
p.patientFollowQuestionnaireDo.ReplaceDB(db)
return p
}
type patientFollowQuestionnaireDo struct{ gen.DO }
func (p patientFollowQuestionnaireDo) Debug() *patientFollowQuestionnaireDo {
return p.withDO(p.DO.Debug())
}
func (p patientFollowQuestionnaireDo) WithContext(ctx context.Context) *patientFollowQuestionnaireDo {
return p.withDO(p.DO.WithContext(ctx))
}
func (p patientFollowQuestionnaireDo) ReadDB() *patientFollowQuestionnaireDo {
return p.Clauses(dbresolver.Read)
}
func (p patientFollowQuestionnaireDo) WriteDB() *patientFollowQuestionnaireDo {
return p.Clauses(dbresolver.Write)
}
func (p patientFollowQuestionnaireDo) Session(config *gorm.Session) *patientFollowQuestionnaireDo {
return p.withDO(p.DO.Session(config))
}
func (p patientFollowQuestionnaireDo) Clauses(conds ...clause.Expression) *patientFollowQuestionnaireDo {
return p.withDO(p.DO.Clauses(conds...))
}
func (p patientFollowQuestionnaireDo) Returning(value interface{}, columns ...string) *patientFollowQuestionnaireDo {
return p.withDO(p.DO.Returning(value, columns...))
}
func (p patientFollowQuestionnaireDo) Not(conds ...gen.Condition) *patientFollowQuestionnaireDo {
return p.withDO(p.DO.Not(conds...))
}
func (p patientFollowQuestionnaireDo) Or(conds ...gen.Condition) *patientFollowQuestionnaireDo {
return p.withDO(p.DO.Or(conds...))
}
func (p patientFollowQuestionnaireDo) Select(conds ...field.Expr) *patientFollowQuestionnaireDo {
return p.withDO(p.DO.Select(conds...))
}
func (p patientFollowQuestionnaireDo) Where(conds ...gen.Condition) *patientFollowQuestionnaireDo {
return p.withDO(p.DO.Where(conds...))
}
func (p patientFollowQuestionnaireDo) Order(conds ...field.Expr) *patientFollowQuestionnaireDo {
return p.withDO(p.DO.Order(conds...))
}
func (p patientFollowQuestionnaireDo) Distinct(cols ...field.Expr) *patientFollowQuestionnaireDo {
return p.withDO(p.DO.Distinct(cols...))
}
func (p patientFollowQuestionnaireDo) Omit(cols ...field.Expr) *patientFollowQuestionnaireDo {
return p.withDO(p.DO.Omit(cols...))
}
func (p patientFollowQuestionnaireDo) Join(table schema.Tabler, on ...field.Expr) *patientFollowQuestionnaireDo {
return p.withDO(p.DO.Join(table, on...))
}
func (p patientFollowQuestionnaireDo) LeftJoin(table schema.Tabler, on ...field.Expr) *patientFollowQuestionnaireDo {
return p.withDO(p.DO.LeftJoin(table, on...))
}
func (p patientFollowQuestionnaireDo) RightJoin(table schema.Tabler, on ...field.Expr) *patientFollowQuestionnaireDo {
return p.withDO(p.DO.RightJoin(table, on...))
}
func (p patientFollowQuestionnaireDo) Group(cols ...field.Expr) *patientFollowQuestionnaireDo {
return p.withDO(p.DO.Group(cols...))
}
func (p patientFollowQuestionnaireDo) Having(conds ...gen.Condition) *patientFollowQuestionnaireDo {
return p.withDO(p.DO.Having(conds...))
}
func (p patientFollowQuestionnaireDo) Limit(limit int) *patientFollowQuestionnaireDo {
return p.withDO(p.DO.Limit(limit))
}
func (p patientFollowQuestionnaireDo) Offset(offset int) *patientFollowQuestionnaireDo {
return p.withDO(p.DO.Offset(offset))
}
func (p patientFollowQuestionnaireDo) Scopes(funcs ...func(gen.Dao) gen.Dao) *patientFollowQuestionnaireDo {
return p.withDO(p.DO.Scopes(funcs...))
}
func (p patientFollowQuestionnaireDo) Unscoped() *patientFollowQuestionnaireDo {
return p.withDO(p.DO.Unscoped())
}
func (p patientFollowQuestionnaireDo) Create(values ...*model.PatientFollowQuestionnaire) error {
if len(values) == 0 {
return nil
}
return p.DO.Create(values)
}
func (p patientFollowQuestionnaireDo) CreateInBatches(values []*model.PatientFollowQuestionnaire, batchSize int) error {
return p.DO.CreateInBatches(values, batchSize)
}
// Save : !!! underlying implementation is different with GORM
// The method is equivalent to executing the statement: db.Clauses(clause.OnConflict{UpdateAll: true}).Create(values)
func (p patientFollowQuestionnaireDo) Save(values ...*model.PatientFollowQuestionnaire) error {
if len(values) == 0 {
return nil
}
return p.DO.Save(values)
}
func (p patientFollowQuestionnaireDo) First() (*model.PatientFollowQuestionnaire, error) {
if result, err := p.DO.First(); err != nil {
return nil, err
} else {
return result.(*model.PatientFollowQuestionnaire), nil
}
}
func (p patientFollowQuestionnaireDo) Take() (*model.PatientFollowQuestionnaire, error) {
if result, err := p.DO.Take(); err != nil {
return nil, err
} else {
return result.(*model.PatientFollowQuestionnaire), nil
}
}
func (p patientFollowQuestionnaireDo) Last() (*model.PatientFollowQuestionnaire, error) {
if result, err := p.DO.Last(); err != nil {
return nil, err
} else {
return result.(*model.PatientFollowQuestionnaire), nil
}
}
func (p patientFollowQuestionnaireDo) Find() ([]*model.PatientFollowQuestionnaire, error) {
result, err := p.DO.Find()
return result.([]*model.PatientFollowQuestionnaire), err
}
func (p patientFollowQuestionnaireDo) FindInBatch(batchSize int, fc func(tx gen.Dao, batch int) error) (results []*model.PatientFollowQuestionnaire, err error) {
buf := make([]*model.PatientFollowQuestionnaire, 0, batchSize)
err = p.DO.FindInBatches(&buf, batchSize, func(tx gen.Dao, batch int) error {
defer func() { results = append(results, buf...) }()
return fc(tx, batch)
})
return results, err
}
func (p patientFollowQuestionnaireDo) FindInBatches(result *[]*model.PatientFollowQuestionnaire, batchSize int, fc func(tx gen.Dao, batch int) error) error {
return p.DO.FindInBatches(result, batchSize, fc)
}
func (p patientFollowQuestionnaireDo) Attrs(attrs ...field.AssignExpr) *patientFollowQuestionnaireDo {
return p.withDO(p.DO.Attrs(attrs...))
}
func (p patientFollowQuestionnaireDo) Assign(attrs ...field.AssignExpr) *patientFollowQuestionnaireDo {
return p.withDO(p.DO.Assign(attrs...))
}
func (p patientFollowQuestionnaireDo) Joins(fields ...field.RelationField) *patientFollowQuestionnaireDo {
for _, _f := range fields {
p = *p.withDO(p.DO.Joins(_f))
}
return &p
}
func (p patientFollowQuestionnaireDo) Preload(fields ...field.RelationField) *patientFollowQuestionnaireDo {
for _, _f := range fields {
p = *p.withDO(p.DO.Preload(_f))
}
return &p
}
func (p patientFollowQuestionnaireDo) FirstOrInit() (*model.PatientFollowQuestionnaire, error) {
if result, err := p.DO.FirstOrInit(); err != nil {
return nil, err
} else {
return result.(*model.PatientFollowQuestionnaire), nil
}
}
func (p patientFollowQuestionnaireDo) FirstOrCreate() (*model.PatientFollowQuestionnaire, error) {
if result, err := p.DO.FirstOrCreate(); err != nil {
return nil, err
} else {
return result.(*model.PatientFollowQuestionnaire), nil
}
}
func (p patientFollowQuestionnaireDo) FindByPage(offset int, limit int) (result []*model.PatientFollowQuestionnaire, count int64, err error) {
result, err = p.Offset(offset).Limit(limit).Find()
if err != nil {
return
}
if size := len(result); 0 < limit && 0 < size && size < limit {
count = int64(size + offset)
return
}
count, err = p.Offset(-1).Limit(-1).Count()
return
}
func (p patientFollowQuestionnaireDo) ScanByPage(result interface{}, offset int, limit int) (count int64, err error) {
count, err = p.Count()
if err != nil {
return
}
err = p.Offset(offset).Limit(limit).Scan(result)
return
}
func (p patientFollowQuestionnaireDo) Scan(result interface{}) (err error) {
return p.DO.Scan(result)
}
func (p patientFollowQuestionnaireDo) Delete(models ...*model.PatientFollowQuestionnaire) (result gen.ResultInfo, err error) {
return p.DO.Delete(models)
}
func (p *patientFollowQuestionnaireDo) withDO(do gen.Dao) *patientFollowQuestionnaireDo {
p.DO = *do.(*gen.DO)
return p
}

View File

@ -1,368 +0,0 @@
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
package dao
import (
"context"
"gorm.io/gorm"
"gorm.io/gorm/clause"
"gorm.io/gorm/schema"
"gorm.io/gen"
"gorm.io/gen/field"
"gorm.io/plugin/dbresolver"
"mini-chat/internal/repository/mysql/model"
)
func newPatientMedicineRecord(db *gorm.DB, opts ...gen.DOOption) patientMedicineRecord {
_patientMedicineRecord := patientMedicineRecord{}
_patientMedicineRecord.patientMedicineRecordDo.UseDB(db, opts...)
_patientMedicineRecord.patientMedicineRecordDo.UseModel(&model.PatientMedicineRecord{})
tableName := _patientMedicineRecord.patientMedicineRecordDo.TableName()
_patientMedicineRecord.ALL = field.NewAsterisk(tableName)
_patientMedicineRecord.ID = field.NewInt32(tableName, "id")
_patientMedicineRecord.PatientID = field.NewInt32(tableName, "patient_id")
_patientMedicineRecord.SchemeID = field.NewInt32(tableName, "scheme_id")
_patientMedicineRecord.MedicineDate = field.NewTime(tableName, "medicine_date")
_patientMedicineRecord.MedicineTimeType = field.NewInt32(tableName, "medicine_time_type")
_patientMedicineRecord.MedicineTime = field.NewString(tableName, "medicine_time")
_patientMedicineRecord.Detail = field.NewString(tableName, "detail")
_patientMedicineRecord.Status = field.NewInt32(tableName, "status")
_patientMedicineRecord.StatusAt = field.NewTime(tableName, "status_at")
_patientMedicineRecord.CreatedUser = field.NewString(tableName, "created_user")
_patientMedicineRecord.CreatedAt = field.NewTime(tableName, "created_at")
_patientMedicineRecord.UpdatedUser = field.NewString(tableName, "updated_user")
_patientMedicineRecord.UpdatedAt = field.NewTime(tableName, "updated_at")
_patientMedicineRecord.fillFieldMap()
return _patientMedicineRecord
}
// patientMedicineRecord 患者用药记录表
type patientMedicineRecord struct {
patientMedicineRecordDo
ALL field.Asterisk
ID field.Int32 // 主键
PatientID field.Int32 // 患者ID
SchemeID field.Int32 // 用药方案ID
MedicineDate field.Time // 用药日期
MedicineTimeType field.Int32 // 用药时间类型(1:早上 2:中午 3:晚上)
MedicineTime field.String // 用药时间
Detail field.String // 药品信息(JSON格式)
Status field.Int32 // 用药状态(1:未完成 2:已完成)
StatusAt field.Time // 已完成时间(打卡时间)
CreatedUser field.String // 创建人
CreatedAt field.Time // 创建时间
UpdatedUser field.String // 更新人
UpdatedAt field.Time // 更新时间
fieldMap map[string]field.Expr
}
func (p patientMedicineRecord) Table(newTableName string) *patientMedicineRecord {
p.patientMedicineRecordDo.UseTable(newTableName)
return p.updateTableName(newTableName)
}
func (p patientMedicineRecord) As(alias string) *patientMedicineRecord {
p.patientMedicineRecordDo.DO = *(p.patientMedicineRecordDo.As(alias).(*gen.DO))
return p.updateTableName(alias)
}
func (p *patientMedicineRecord) updateTableName(table string) *patientMedicineRecord {
p.ALL = field.NewAsterisk(table)
p.ID = field.NewInt32(table, "id")
p.PatientID = field.NewInt32(table, "patient_id")
p.SchemeID = field.NewInt32(table, "scheme_id")
p.MedicineDate = field.NewTime(table, "medicine_date")
p.MedicineTimeType = field.NewInt32(table, "medicine_time_type")
p.MedicineTime = field.NewString(table, "medicine_time")
p.Detail = field.NewString(table, "detail")
p.Status = field.NewInt32(table, "status")
p.StatusAt = field.NewTime(table, "status_at")
p.CreatedUser = field.NewString(table, "created_user")
p.CreatedAt = field.NewTime(table, "created_at")
p.UpdatedUser = field.NewString(table, "updated_user")
p.UpdatedAt = field.NewTime(table, "updated_at")
p.fillFieldMap()
return p
}
func (p *patientMedicineRecord) GetFieldByName(fieldName string) (field.OrderExpr, bool) {
_f, ok := p.fieldMap[fieldName]
if !ok || _f == nil {
return nil, false
}
_oe, ok := _f.(field.OrderExpr)
return _oe, ok
}
func (p *patientMedicineRecord) fillFieldMap() {
p.fieldMap = make(map[string]field.Expr, 13)
p.fieldMap["id"] = p.ID
p.fieldMap["patient_id"] = p.PatientID
p.fieldMap["scheme_id"] = p.SchemeID
p.fieldMap["medicine_date"] = p.MedicineDate
p.fieldMap["medicine_time_type"] = p.MedicineTimeType
p.fieldMap["medicine_time"] = p.MedicineTime
p.fieldMap["detail"] = p.Detail
p.fieldMap["status"] = p.Status
p.fieldMap["status_at"] = p.StatusAt
p.fieldMap["created_user"] = p.CreatedUser
p.fieldMap["created_at"] = p.CreatedAt
p.fieldMap["updated_user"] = p.UpdatedUser
p.fieldMap["updated_at"] = p.UpdatedAt
}
func (p patientMedicineRecord) clone(db *gorm.DB) patientMedicineRecord {
p.patientMedicineRecordDo.ReplaceConnPool(db.Statement.ConnPool)
return p
}
func (p patientMedicineRecord) replaceDB(db *gorm.DB) patientMedicineRecord {
p.patientMedicineRecordDo.ReplaceDB(db)
return p
}
type patientMedicineRecordDo struct{ gen.DO }
func (p patientMedicineRecordDo) Debug() *patientMedicineRecordDo {
return p.withDO(p.DO.Debug())
}
func (p patientMedicineRecordDo) WithContext(ctx context.Context) *patientMedicineRecordDo {
return p.withDO(p.DO.WithContext(ctx))
}
func (p patientMedicineRecordDo) ReadDB() *patientMedicineRecordDo {
return p.Clauses(dbresolver.Read)
}
func (p patientMedicineRecordDo) WriteDB() *patientMedicineRecordDo {
return p.Clauses(dbresolver.Write)
}
func (p patientMedicineRecordDo) Session(config *gorm.Session) *patientMedicineRecordDo {
return p.withDO(p.DO.Session(config))
}
func (p patientMedicineRecordDo) Clauses(conds ...clause.Expression) *patientMedicineRecordDo {
return p.withDO(p.DO.Clauses(conds...))
}
func (p patientMedicineRecordDo) Returning(value interface{}, columns ...string) *patientMedicineRecordDo {
return p.withDO(p.DO.Returning(value, columns...))
}
func (p patientMedicineRecordDo) Not(conds ...gen.Condition) *patientMedicineRecordDo {
return p.withDO(p.DO.Not(conds...))
}
func (p patientMedicineRecordDo) Or(conds ...gen.Condition) *patientMedicineRecordDo {
return p.withDO(p.DO.Or(conds...))
}
func (p patientMedicineRecordDo) Select(conds ...field.Expr) *patientMedicineRecordDo {
return p.withDO(p.DO.Select(conds...))
}
func (p patientMedicineRecordDo) Where(conds ...gen.Condition) *patientMedicineRecordDo {
return p.withDO(p.DO.Where(conds...))
}
func (p patientMedicineRecordDo) Order(conds ...field.Expr) *patientMedicineRecordDo {
return p.withDO(p.DO.Order(conds...))
}
func (p patientMedicineRecordDo) Distinct(cols ...field.Expr) *patientMedicineRecordDo {
return p.withDO(p.DO.Distinct(cols...))
}
func (p patientMedicineRecordDo) Omit(cols ...field.Expr) *patientMedicineRecordDo {
return p.withDO(p.DO.Omit(cols...))
}
func (p patientMedicineRecordDo) Join(table schema.Tabler, on ...field.Expr) *patientMedicineRecordDo {
return p.withDO(p.DO.Join(table, on...))
}
func (p patientMedicineRecordDo) LeftJoin(table schema.Tabler, on ...field.Expr) *patientMedicineRecordDo {
return p.withDO(p.DO.LeftJoin(table, on...))
}
func (p patientMedicineRecordDo) RightJoin(table schema.Tabler, on ...field.Expr) *patientMedicineRecordDo {
return p.withDO(p.DO.RightJoin(table, on...))
}
func (p patientMedicineRecordDo) Group(cols ...field.Expr) *patientMedicineRecordDo {
return p.withDO(p.DO.Group(cols...))
}
func (p patientMedicineRecordDo) Having(conds ...gen.Condition) *patientMedicineRecordDo {
return p.withDO(p.DO.Having(conds...))
}
func (p patientMedicineRecordDo) Limit(limit int) *patientMedicineRecordDo {
return p.withDO(p.DO.Limit(limit))
}
func (p patientMedicineRecordDo) Offset(offset int) *patientMedicineRecordDo {
return p.withDO(p.DO.Offset(offset))
}
func (p patientMedicineRecordDo) Scopes(funcs ...func(gen.Dao) gen.Dao) *patientMedicineRecordDo {
return p.withDO(p.DO.Scopes(funcs...))
}
func (p patientMedicineRecordDo) Unscoped() *patientMedicineRecordDo {
return p.withDO(p.DO.Unscoped())
}
func (p patientMedicineRecordDo) Create(values ...*model.PatientMedicineRecord) error {
if len(values) == 0 {
return nil
}
return p.DO.Create(values)
}
func (p patientMedicineRecordDo) CreateInBatches(values []*model.PatientMedicineRecord, batchSize int) error {
return p.DO.CreateInBatches(values, batchSize)
}
// Save : !!! underlying implementation is different with GORM
// The method is equivalent to executing the statement: db.Clauses(clause.OnConflict{UpdateAll: true}).Create(values)
func (p patientMedicineRecordDo) Save(values ...*model.PatientMedicineRecord) error {
if len(values) == 0 {
return nil
}
return p.DO.Save(values)
}
func (p patientMedicineRecordDo) First() (*model.PatientMedicineRecord, error) {
if result, err := p.DO.First(); err != nil {
return nil, err
} else {
return result.(*model.PatientMedicineRecord), nil
}
}
func (p patientMedicineRecordDo) Take() (*model.PatientMedicineRecord, error) {
if result, err := p.DO.Take(); err != nil {
return nil, err
} else {
return result.(*model.PatientMedicineRecord), nil
}
}
func (p patientMedicineRecordDo) Last() (*model.PatientMedicineRecord, error) {
if result, err := p.DO.Last(); err != nil {
return nil, err
} else {
return result.(*model.PatientMedicineRecord), nil
}
}
func (p patientMedicineRecordDo) Find() ([]*model.PatientMedicineRecord, error) {
result, err := p.DO.Find()
return result.([]*model.PatientMedicineRecord), err
}
func (p patientMedicineRecordDo) FindInBatch(batchSize int, fc func(tx gen.Dao, batch int) error) (results []*model.PatientMedicineRecord, err error) {
buf := make([]*model.PatientMedicineRecord, 0, batchSize)
err = p.DO.FindInBatches(&buf, batchSize, func(tx gen.Dao, batch int) error {
defer func() { results = append(results, buf...) }()
return fc(tx, batch)
})
return results, err
}
func (p patientMedicineRecordDo) FindInBatches(result *[]*model.PatientMedicineRecord, batchSize int, fc func(tx gen.Dao, batch int) error) error {
return p.DO.FindInBatches(result, batchSize, fc)
}
func (p patientMedicineRecordDo) Attrs(attrs ...field.AssignExpr) *patientMedicineRecordDo {
return p.withDO(p.DO.Attrs(attrs...))
}
func (p patientMedicineRecordDo) Assign(attrs ...field.AssignExpr) *patientMedicineRecordDo {
return p.withDO(p.DO.Assign(attrs...))
}
func (p patientMedicineRecordDo) Joins(fields ...field.RelationField) *patientMedicineRecordDo {
for _, _f := range fields {
p = *p.withDO(p.DO.Joins(_f))
}
return &p
}
func (p patientMedicineRecordDo) Preload(fields ...field.RelationField) *patientMedicineRecordDo {
for _, _f := range fields {
p = *p.withDO(p.DO.Preload(_f))
}
return &p
}
func (p patientMedicineRecordDo) FirstOrInit() (*model.PatientMedicineRecord, error) {
if result, err := p.DO.FirstOrInit(); err != nil {
return nil, err
} else {
return result.(*model.PatientMedicineRecord), nil
}
}
func (p patientMedicineRecordDo) FirstOrCreate() (*model.PatientMedicineRecord, error) {
if result, err := p.DO.FirstOrCreate(); err != nil {
return nil, err
} else {
return result.(*model.PatientMedicineRecord), nil
}
}
func (p patientMedicineRecordDo) FindByPage(offset int, limit int) (result []*model.PatientMedicineRecord, count int64, err error) {
result, err = p.Offset(offset).Limit(limit).Find()
if err != nil {
return
}
if size := len(result); 0 < limit && 0 < size && size < limit {
count = int64(size + offset)
return
}
count, err = p.Offset(-1).Limit(-1).Count()
return
}
func (p patientMedicineRecordDo) ScanByPage(result interface{}, offset int, limit int) (count int64, err error) {
count, err = p.Count()
if err != nil {
return
}
err = p.Offset(offset).Limit(limit).Scan(result)
return
}
func (p patientMedicineRecordDo) Scan(result interface{}) (err error) {
return p.DO.Scan(result)
}
func (p patientMedicineRecordDo) Delete(models ...*model.PatientMedicineRecord) (result gen.ResultInfo, err error) {
return p.DO.Delete(models)
}
func (p *patientMedicineRecordDo) withDO(do gen.Dao) *patientMedicineRecordDo {
p.DO = *do.(*gen.DO)
return p
}

View File

@ -1,356 +0,0 @@
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
package dao
import (
"context"
"gorm.io/gorm"
"gorm.io/gorm/clause"
"gorm.io/gorm/schema"
"gorm.io/gen"
"gorm.io/gen/field"
"gorm.io/plugin/dbresolver"
"mini-chat/internal/repository/mysql/model"
)
func newPatientMedicineScheme(db *gorm.DB, opts ...gen.DOOption) patientMedicineScheme {
_patientMedicineScheme := patientMedicineScheme{}
_patientMedicineScheme.patientMedicineSchemeDo.UseDB(db, opts...)
_patientMedicineScheme.patientMedicineSchemeDo.UseModel(&model.PatientMedicineScheme{})
tableName := _patientMedicineScheme.patientMedicineSchemeDo.TableName()
_patientMedicineScheme.ALL = field.NewAsterisk(tableName)
_patientMedicineScheme.ID = field.NewInt32(tableName, "id")
_patientMedicineScheme.PatientID = field.NewInt32(tableName, "patient_id")
_patientMedicineScheme.StartDate = field.NewTime(tableName, "start_date")
_patientMedicineScheme.EndDate = field.NewTime(tableName, "end_date")
_patientMedicineScheme.Detail = field.NewString(tableName, "detail")
_patientMedicineScheme.Reminder = field.NewString(tableName, "reminder")
_patientMedicineScheme.CreatedUser = field.NewString(tableName, "created_user")
_patientMedicineScheme.CreatedAt = field.NewTime(tableName, "created_at")
_patientMedicineScheme.UpdatedUser = field.NewString(tableName, "updated_user")
_patientMedicineScheme.UpdatedAt = field.NewTime(tableName, "updated_at")
_patientMedicineScheme.fillFieldMap()
return _patientMedicineScheme
}
// patientMedicineScheme 患者用药方案表
type patientMedicineScheme struct {
patientMedicineSchemeDo
ALL field.Asterisk
ID field.Int32 // 主键
PatientID field.Int32 // 患者ID
StartDate field.Time // 用药开始日期
EndDate field.Time // 用药结束日期
Detail field.String // 药品信息(JSON格式)
Reminder field.String // 用药提醒(JSON格式)
CreatedUser field.String // 创建人
CreatedAt field.Time // 创建时间
UpdatedUser field.String // 更新人
UpdatedAt field.Time // 更新时间
fieldMap map[string]field.Expr
}
func (p patientMedicineScheme) Table(newTableName string) *patientMedicineScheme {
p.patientMedicineSchemeDo.UseTable(newTableName)
return p.updateTableName(newTableName)
}
func (p patientMedicineScheme) As(alias string) *patientMedicineScheme {
p.patientMedicineSchemeDo.DO = *(p.patientMedicineSchemeDo.As(alias).(*gen.DO))
return p.updateTableName(alias)
}
func (p *patientMedicineScheme) updateTableName(table string) *patientMedicineScheme {
p.ALL = field.NewAsterisk(table)
p.ID = field.NewInt32(table, "id")
p.PatientID = field.NewInt32(table, "patient_id")
p.StartDate = field.NewTime(table, "start_date")
p.EndDate = field.NewTime(table, "end_date")
p.Detail = field.NewString(table, "detail")
p.Reminder = field.NewString(table, "reminder")
p.CreatedUser = field.NewString(table, "created_user")
p.CreatedAt = field.NewTime(table, "created_at")
p.UpdatedUser = field.NewString(table, "updated_user")
p.UpdatedAt = field.NewTime(table, "updated_at")
p.fillFieldMap()
return p
}
func (p *patientMedicineScheme) GetFieldByName(fieldName string) (field.OrderExpr, bool) {
_f, ok := p.fieldMap[fieldName]
if !ok || _f == nil {
return nil, false
}
_oe, ok := _f.(field.OrderExpr)
return _oe, ok
}
func (p *patientMedicineScheme) fillFieldMap() {
p.fieldMap = make(map[string]field.Expr, 10)
p.fieldMap["id"] = p.ID
p.fieldMap["patient_id"] = p.PatientID
p.fieldMap["start_date"] = p.StartDate
p.fieldMap["end_date"] = p.EndDate
p.fieldMap["detail"] = p.Detail
p.fieldMap["reminder"] = p.Reminder
p.fieldMap["created_user"] = p.CreatedUser
p.fieldMap["created_at"] = p.CreatedAt
p.fieldMap["updated_user"] = p.UpdatedUser
p.fieldMap["updated_at"] = p.UpdatedAt
}
func (p patientMedicineScheme) clone(db *gorm.DB) patientMedicineScheme {
p.patientMedicineSchemeDo.ReplaceConnPool(db.Statement.ConnPool)
return p
}
func (p patientMedicineScheme) replaceDB(db *gorm.DB) patientMedicineScheme {
p.patientMedicineSchemeDo.ReplaceDB(db)
return p
}
type patientMedicineSchemeDo struct{ gen.DO }
func (p patientMedicineSchemeDo) Debug() *patientMedicineSchemeDo {
return p.withDO(p.DO.Debug())
}
func (p patientMedicineSchemeDo) WithContext(ctx context.Context) *patientMedicineSchemeDo {
return p.withDO(p.DO.WithContext(ctx))
}
func (p patientMedicineSchemeDo) ReadDB() *patientMedicineSchemeDo {
return p.Clauses(dbresolver.Read)
}
func (p patientMedicineSchemeDo) WriteDB() *patientMedicineSchemeDo {
return p.Clauses(dbresolver.Write)
}
func (p patientMedicineSchemeDo) Session(config *gorm.Session) *patientMedicineSchemeDo {
return p.withDO(p.DO.Session(config))
}
func (p patientMedicineSchemeDo) Clauses(conds ...clause.Expression) *patientMedicineSchemeDo {
return p.withDO(p.DO.Clauses(conds...))
}
func (p patientMedicineSchemeDo) Returning(value interface{}, columns ...string) *patientMedicineSchemeDo {
return p.withDO(p.DO.Returning(value, columns...))
}
func (p patientMedicineSchemeDo) Not(conds ...gen.Condition) *patientMedicineSchemeDo {
return p.withDO(p.DO.Not(conds...))
}
func (p patientMedicineSchemeDo) Or(conds ...gen.Condition) *patientMedicineSchemeDo {
return p.withDO(p.DO.Or(conds...))
}
func (p patientMedicineSchemeDo) Select(conds ...field.Expr) *patientMedicineSchemeDo {
return p.withDO(p.DO.Select(conds...))
}
func (p patientMedicineSchemeDo) Where(conds ...gen.Condition) *patientMedicineSchemeDo {
return p.withDO(p.DO.Where(conds...))
}
func (p patientMedicineSchemeDo) Order(conds ...field.Expr) *patientMedicineSchemeDo {
return p.withDO(p.DO.Order(conds...))
}
func (p patientMedicineSchemeDo) Distinct(cols ...field.Expr) *patientMedicineSchemeDo {
return p.withDO(p.DO.Distinct(cols...))
}
func (p patientMedicineSchemeDo) Omit(cols ...field.Expr) *patientMedicineSchemeDo {
return p.withDO(p.DO.Omit(cols...))
}
func (p patientMedicineSchemeDo) Join(table schema.Tabler, on ...field.Expr) *patientMedicineSchemeDo {
return p.withDO(p.DO.Join(table, on...))
}
func (p patientMedicineSchemeDo) LeftJoin(table schema.Tabler, on ...field.Expr) *patientMedicineSchemeDo {
return p.withDO(p.DO.LeftJoin(table, on...))
}
func (p patientMedicineSchemeDo) RightJoin(table schema.Tabler, on ...field.Expr) *patientMedicineSchemeDo {
return p.withDO(p.DO.RightJoin(table, on...))
}
func (p patientMedicineSchemeDo) Group(cols ...field.Expr) *patientMedicineSchemeDo {
return p.withDO(p.DO.Group(cols...))
}
func (p patientMedicineSchemeDo) Having(conds ...gen.Condition) *patientMedicineSchemeDo {
return p.withDO(p.DO.Having(conds...))
}
func (p patientMedicineSchemeDo) Limit(limit int) *patientMedicineSchemeDo {
return p.withDO(p.DO.Limit(limit))
}
func (p patientMedicineSchemeDo) Offset(offset int) *patientMedicineSchemeDo {
return p.withDO(p.DO.Offset(offset))
}
func (p patientMedicineSchemeDo) Scopes(funcs ...func(gen.Dao) gen.Dao) *patientMedicineSchemeDo {
return p.withDO(p.DO.Scopes(funcs...))
}
func (p patientMedicineSchemeDo) Unscoped() *patientMedicineSchemeDo {
return p.withDO(p.DO.Unscoped())
}
func (p patientMedicineSchemeDo) Create(values ...*model.PatientMedicineScheme) error {
if len(values) == 0 {
return nil
}
return p.DO.Create(values)
}
func (p patientMedicineSchemeDo) CreateInBatches(values []*model.PatientMedicineScheme, batchSize int) error {
return p.DO.CreateInBatches(values, batchSize)
}
// Save : !!! underlying implementation is different with GORM
// The method is equivalent to executing the statement: db.Clauses(clause.OnConflict{UpdateAll: true}).Create(values)
func (p patientMedicineSchemeDo) Save(values ...*model.PatientMedicineScheme) error {
if len(values) == 0 {
return nil
}
return p.DO.Save(values)
}
func (p patientMedicineSchemeDo) First() (*model.PatientMedicineScheme, error) {
if result, err := p.DO.First(); err != nil {
return nil, err
} else {
return result.(*model.PatientMedicineScheme), nil
}
}
func (p patientMedicineSchemeDo) Take() (*model.PatientMedicineScheme, error) {
if result, err := p.DO.Take(); err != nil {
return nil, err
} else {
return result.(*model.PatientMedicineScheme), nil
}
}
func (p patientMedicineSchemeDo) Last() (*model.PatientMedicineScheme, error) {
if result, err := p.DO.Last(); err != nil {
return nil, err
} else {
return result.(*model.PatientMedicineScheme), nil
}
}
func (p patientMedicineSchemeDo) Find() ([]*model.PatientMedicineScheme, error) {
result, err := p.DO.Find()
return result.([]*model.PatientMedicineScheme), err
}
func (p patientMedicineSchemeDo) FindInBatch(batchSize int, fc func(tx gen.Dao, batch int) error) (results []*model.PatientMedicineScheme, err error) {
buf := make([]*model.PatientMedicineScheme, 0, batchSize)
err = p.DO.FindInBatches(&buf, batchSize, func(tx gen.Dao, batch int) error {
defer func() { results = append(results, buf...) }()
return fc(tx, batch)
})
return results, err
}
func (p patientMedicineSchemeDo) FindInBatches(result *[]*model.PatientMedicineScheme, batchSize int, fc func(tx gen.Dao, batch int) error) error {
return p.DO.FindInBatches(result, batchSize, fc)
}
func (p patientMedicineSchemeDo) Attrs(attrs ...field.AssignExpr) *patientMedicineSchemeDo {
return p.withDO(p.DO.Attrs(attrs...))
}
func (p patientMedicineSchemeDo) Assign(attrs ...field.AssignExpr) *patientMedicineSchemeDo {
return p.withDO(p.DO.Assign(attrs...))
}
func (p patientMedicineSchemeDo) Joins(fields ...field.RelationField) *patientMedicineSchemeDo {
for _, _f := range fields {
p = *p.withDO(p.DO.Joins(_f))
}
return &p
}
func (p patientMedicineSchemeDo) Preload(fields ...field.RelationField) *patientMedicineSchemeDo {
for _, _f := range fields {
p = *p.withDO(p.DO.Preload(_f))
}
return &p
}
func (p patientMedicineSchemeDo) FirstOrInit() (*model.PatientMedicineScheme, error) {
if result, err := p.DO.FirstOrInit(); err != nil {
return nil, err
} else {
return result.(*model.PatientMedicineScheme), nil
}
}
func (p patientMedicineSchemeDo) FirstOrCreate() (*model.PatientMedicineScheme, error) {
if result, err := p.DO.FirstOrCreate(); err != nil {
return nil, err
} else {
return result.(*model.PatientMedicineScheme), nil
}
}
func (p patientMedicineSchemeDo) FindByPage(offset int, limit int) (result []*model.PatientMedicineScheme, count int64, err error) {
result, err = p.Offset(offset).Limit(limit).Find()
if err != nil {
return
}
if size := len(result); 0 < limit && 0 < size && size < limit {
count = int64(size + offset)
return
}
count, err = p.Offset(-1).Limit(-1).Count()
return
}
func (p patientMedicineSchemeDo) ScanByPage(result interface{}, offset int, limit int) (count int64, err error) {
count, err = p.Count()
if err != nil {
return
}
err = p.Offset(offset).Limit(limit).Scan(result)
return
}
func (p patientMedicineSchemeDo) Scan(result interface{}) (err error) {
return p.DO.Scan(result)
}
func (p patientMedicineSchemeDo) Delete(models ...*model.PatientMedicineScheme) (result gen.ResultInfo, err error) {
return p.DO.Delete(models)
}
func (p *patientMedicineSchemeDo) withDO(do gen.Dao) *patientMedicineSchemeDo {
p.DO = *do.(*gen.DO)
return p
}

View File

@ -1,376 +0,0 @@
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
package dao
import (
"context"
"gorm.io/gorm"
"gorm.io/gorm/clause"
"gorm.io/gorm/schema"
"gorm.io/gen"
"gorm.io/gen/field"
"gorm.io/plugin/dbresolver"
"mini-chat/internal/repository/mysql/model"
)
func newPatientMedicineTask(db *gorm.DB, opts ...gen.DOOption) patientMedicineTask {
_patientMedicineTask := patientMedicineTask{}
_patientMedicineTask.patientMedicineTaskDo.UseDB(db, opts...)
_patientMedicineTask.patientMedicineTaskDo.UseModel(&model.PatientMedicineTask{})
tableName := _patientMedicineTask.patientMedicineTaskDo.TableName()
_patientMedicineTask.ALL = field.NewAsterisk(tableName)
_patientMedicineTask.ID = field.NewInt32(tableName, "id")
_patientMedicineTask.Code = field.NewString(tableName, "code")
_patientMedicineTask.Title = field.NewString(tableName, "title")
_patientMedicineTask.Spec = field.NewString(tableName, "spec")
_patientMedicineTask.Status = field.NewInt32(tableName, "status")
_patientMedicineTask.IsRunning = field.NewInt32(tableName, "is_running")
_patientMedicineTask.RunTime = field.NewTime(tableName, "run_time")
_patientMedicineTask.RunStartTime = field.NewTime(tableName, "run_start_time")
_patientMedicineTask.RunEndTime = field.NewTime(tableName, "run_end_time")
_patientMedicineTask.PatientID = field.NewInt32(tableName, "patient_id")
_patientMedicineTask.MedicineRecordID = field.NewInt32(tableName, "medicine_record_id")
_patientMedicineTask.CreatedUser = field.NewString(tableName, "created_user")
_patientMedicineTask.CreatedAt = field.NewTime(tableName, "created_at")
_patientMedicineTask.UpdatedUser = field.NewString(tableName, "updated_user")
_patientMedicineTask.UpdatedAt = field.NewTime(tableName, "updated_at")
_patientMedicineTask.fillFieldMap()
return _patientMedicineTask
}
// patientMedicineTask 患者用药提醒(任务)表
type patientMedicineTask struct {
patientMedicineTaskDo
ALL field.Asterisk
ID field.Int32 // 主键ID
Code field.String // 任务编码
Title field.String // 标题
Spec field.String // 时间表达式
Status field.Int32 // 状态(1:禁用 2:启用)
IsRunning field.Int32 // 执行中(0:未执行 1:执行中 2:执行完毕)
RunTime field.Time // 预期执行时间
RunStartTime field.Time // 执行开始时间
RunEndTime field.Time // 执行结束时间
PatientID field.Int32 // 患者ID
MedicineRecordID field.Int32 // 用药记录ID
CreatedUser field.String // 创建人
CreatedAt field.Time // 创建时间
UpdatedUser field.String // 更新人
UpdatedAt field.Time // 更新时间
fieldMap map[string]field.Expr
}
func (p patientMedicineTask) Table(newTableName string) *patientMedicineTask {
p.patientMedicineTaskDo.UseTable(newTableName)
return p.updateTableName(newTableName)
}
func (p patientMedicineTask) As(alias string) *patientMedicineTask {
p.patientMedicineTaskDo.DO = *(p.patientMedicineTaskDo.As(alias).(*gen.DO))
return p.updateTableName(alias)
}
func (p *patientMedicineTask) updateTableName(table string) *patientMedicineTask {
p.ALL = field.NewAsterisk(table)
p.ID = field.NewInt32(table, "id")
p.Code = field.NewString(table, "code")
p.Title = field.NewString(table, "title")
p.Spec = field.NewString(table, "spec")
p.Status = field.NewInt32(table, "status")
p.IsRunning = field.NewInt32(table, "is_running")
p.RunTime = field.NewTime(table, "run_time")
p.RunStartTime = field.NewTime(table, "run_start_time")
p.RunEndTime = field.NewTime(table, "run_end_time")
p.PatientID = field.NewInt32(table, "patient_id")
p.MedicineRecordID = field.NewInt32(table, "medicine_record_id")
p.CreatedUser = field.NewString(table, "created_user")
p.CreatedAt = field.NewTime(table, "created_at")
p.UpdatedUser = field.NewString(table, "updated_user")
p.UpdatedAt = field.NewTime(table, "updated_at")
p.fillFieldMap()
return p
}
func (p *patientMedicineTask) GetFieldByName(fieldName string) (field.OrderExpr, bool) {
_f, ok := p.fieldMap[fieldName]
if !ok || _f == nil {
return nil, false
}
_oe, ok := _f.(field.OrderExpr)
return _oe, ok
}
func (p *patientMedicineTask) fillFieldMap() {
p.fieldMap = make(map[string]field.Expr, 15)
p.fieldMap["id"] = p.ID
p.fieldMap["code"] = p.Code
p.fieldMap["title"] = p.Title
p.fieldMap["spec"] = p.Spec
p.fieldMap["status"] = p.Status
p.fieldMap["is_running"] = p.IsRunning
p.fieldMap["run_time"] = p.RunTime
p.fieldMap["run_start_time"] = p.RunStartTime
p.fieldMap["run_end_time"] = p.RunEndTime
p.fieldMap["patient_id"] = p.PatientID
p.fieldMap["medicine_record_id"] = p.MedicineRecordID
p.fieldMap["created_user"] = p.CreatedUser
p.fieldMap["created_at"] = p.CreatedAt
p.fieldMap["updated_user"] = p.UpdatedUser
p.fieldMap["updated_at"] = p.UpdatedAt
}
func (p patientMedicineTask) clone(db *gorm.DB) patientMedicineTask {
p.patientMedicineTaskDo.ReplaceConnPool(db.Statement.ConnPool)
return p
}
func (p patientMedicineTask) replaceDB(db *gorm.DB) patientMedicineTask {
p.patientMedicineTaskDo.ReplaceDB(db)
return p
}
type patientMedicineTaskDo struct{ gen.DO }
func (p patientMedicineTaskDo) Debug() *patientMedicineTaskDo {
return p.withDO(p.DO.Debug())
}
func (p patientMedicineTaskDo) WithContext(ctx context.Context) *patientMedicineTaskDo {
return p.withDO(p.DO.WithContext(ctx))
}
func (p patientMedicineTaskDo) ReadDB() *patientMedicineTaskDo {
return p.Clauses(dbresolver.Read)
}
func (p patientMedicineTaskDo) WriteDB() *patientMedicineTaskDo {
return p.Clauses(dbresolver.Write)
}
func (p patientMedicineTaskDo) Session(config *gorm.Session) *patientMedicineTaskDo {
return p.withDO(p.DO.Session(config))
}
func (p patientMedicineTaskDo) Clauses(conds ...clause.Expression) *patientMedicineTaskDo {
return p.withDO(p.DO.Clauses(conds...))
}
func (p patientMedicineTaskDo) Returning(value interface{}, columns ...string) *patientMedicineTaskDo {
return p.withDO(p.DO.Returning(value, columns...))
}
func (p patientMedicineTaskDo) Not(conds ...gen.Condition) *patientMedicineTaskDo {
return p.withDO(p.DO.Not(conds...))
}
func (p patientMedicineTaskDo) Or(conds ...gen.Condition) *patientMedicineTaskDo {
return p.withDO(p.DO.Or(conds...))
}
func (p patientMedicineTaskDo) Select(conds ...field.Expr) *patientMedicineTaskDo {
return p.withDO(p.DO.Select(conds...))
}
func (p patientMedicineTaskDo) Where(conds ...gen.Condition) *patientMedicineTaskDo {
return p.withDO(p.DO.Where(conds...))
}
func (p patientMedicineTaskDo) Order(conds ...field.Expr) *patientMedicineTaskDo {
return p.withDO(p.DO.Order(conds...))
}
func (p patientMedicineTaskDo) Distinct(cols ...field.Expr) *patientMedicineTaskDo {
return p.withDO(p.DO.Distinct(cols...))
}
func (p patientMedicineTaskDo) Omit(cols ...field.Expr) *patientMedicineTaskDo {
return p.withDO(p.DO.Omit(cols...))
}
func (p patientMedicineTaskDo) Join(table schema.Tabler, on ...field.Expr) *patientMedicineTaskDo {
return p.withDO(p.DO.Join(table, on...))
}
func (p patientMedicineTaskDo) LeftJoin(table schema.Tabler, on ...field.Expr) *patientMedicineTaskDo {
return p.withDO(p.DO.LeftJoin(table, on...))
}
func (p patientMedicineTaskDo) RightJoin(table schema.Tabler, on ...field.Expr) *patientMedicineTaskDo {
return p.withDO(p.DO.RightJoin(table, on...))
}
func (p patientMedicineTaskDo) Group(cols ...field.Expr) *patientMedicineTaskDo {
return p.withDO(p.DO.Group(cols...))
}
func (p patientMedicineTaskDo) Having(conds ...gen.Condition) *patientMedicineTaskDo {
return p.withDO(p.DO.Having(conds...))
}
func (p patientMedicineTaskDo) Limit(limit int) *patientMedicineTaskDo {
return p.withDO(p.DO.Limit(limit))
}
func (p patientMedicineTaskDo) Offset(offset int) *patientMedicineTaskDo {
return p.withDO(p.DO.Offset(offset))
}
func (p patientMedicineTaskDo) Scopes(funcs ...func(gen.Dao) gen.Dao) *patientMedicineTaskDo {
return p.withDO(p.DO.Scopes(funcs...))
}
func (p patientMedicineTaskDo) Unscoped() *patientMedicineTaskDo {
return p.withDO(p.DO.Unscoped())
}
func (p patientMedicineTaskDo) Create(values ...*model.PatientMedicineTask) error {
if len(values) == 0 {
return nil
}
return p.DO.Create(values)
}
func (p patientMedicineTaskDo) CreateInBatches(values []*model.PatientMedicineTask, batchSize int) error {
return p.DO.CreateInBatches(values, batchSize)
}
// Save : !!! underlying implementation is different with GORM
// The method is equivalent to executing the statement: db.Clauses(clause.OnConflict{UpdateAll: true}).Create(values)
func (p patientMedicineTaskDo) Save(values ...*model.PatientMedicineTask) error {
if len(values) == 0 {
return nil
}
return p.DO.Save(values)
}
func (p patientMedicineTaskDo) First() (*model.PatientMedicineTask, error) {
if result, err := p.DO.First(); err != nil {
return nil, err
} else {
return result.(*model.PatientMedicineTask), nil
}
}
func (p patientMedicineTaskDo) Take() (*model.PatientMedicineTask, error) {
if result, err := p.DO.Take(); err != nil {
return nil, err
} else {
return result.(*model.PatientMedicineTask), nil
}
}
func (p patientMedicineTaskDo) Last() (*model.PatientMedicineTask, error) {
if result, err := p.DO.Last(); err != nil {
return nil, err
} else {
return result.(*model.PatientMedicineTask), nil
}
}
func (p patientMedicineTaskDo) Find() ([]*model.PatientMedicineTask, error) {
result, err := p.DO.Find()
return result.([]*model.PatientMedicineTask), err
}
func (p patientMedicineTaskDo) FindInBatch(batchSize int, fc func(tx gen.Dao, batch int) error) (results []*model.PatientMedicineTask, err error) {
buf := make([]*model.PatientMedicineTask, 0, batchSize)
err = p.DO.FindInBatches(&buf, batchSize, func(tx gen.Dao, batch int) error {
defer func() { results = append(results, buf...) }()
return fc(tx, batch)
})
return results, err
}
func (p patientMedicineTaskDo) FindInBatches(result *[]*model.PatientMedicineTask, batchSize int, fc func(tx gen.Dao, batch int) error) error {
return p.DO.FindInBatches(result, batchSize, fc)
}
func (p patientMedicineTaskDo) Attrs(attrs ...field.AssignExpr) *patientMedicineTaskDo {
return p.withDO(p.DO.Attrs(attrs...))
}
func (p patientMedicineTaskDo) Assign(attrs ...field.AssignExpr) *patientMedicineTaskDo {
return p.withDO(p.DO.Assign(attrs...))
}
func (p patientMedicineTaskDo) Joins(fields ...field.RelationField) *patientMedicineTaskDo {
for _, _f := range fields {
p = *p.withDO(p.DO.Joins(_f))
}
return &p
}
func (p patientMedicineTaskDo) Preload(fields ...field.RelationField) *patientMedicineTaskDo {
for _, _f := range fields {
p = *p.withDO(p.DO.Preload(_f))
}
return &p
}
func (p patientMedicineTaskDo) FirstOrInit() (*model.PatientMedicineTask, error) {
if result, err := p.DO.FirstOrInit(); err != nil {
return nil, err
} else {
return result.(*model.PatientMedicineTask), nil
}
}
func (p patientMedicineTaskDo) FirstOrCreate() (*model.PatientMedicineTask, error) {
if result, err := p.DO.FirstOrCreate(); err != nil {
return nil, err
} else {
return result.(*model.PatientMedicineTask), nil
}
}
func (p patientMedicineTaskDo) FindByPage(offset int, limit int) (result []*model.PatientMedicineTask, count int64, err error) {
result, err = p.Offset(offset).Limit(limit).Find()
if err != nil {
return
}
if size := len(result); 0 < limit && 0 < size && size < limit {
count = int64(size + offset)
return
}
count, err = p.Offset(-1).Limit(-1).Count()
return
}
func (p patientMedicineTaskDo) ScanByPage(result interface{}, offset int, limit int) (count int64, err error) {
count, err = p.Count()
if err != nil {
return
}
err = p.Offset(offset).Limit(limit).Scan(result)
return
}
func (p patientMedicineTaskDo) Scan(result interface{}) (err error) {
return p.DO.Scan(result)
}
func (p patientMedicineTaskDo) Delete(models ...*model.PatientMedicineTask) (result gen.ResultInfo, err error) {
return p.DO.Delete(models)
}
func (p *patientMedicineTaskDo) withDO(do gen.Dao) *patientMedicineTaskDo {
p.DO = *do.(*gen.DO)
return p
}

View File

@ -1,344 +0,0 @@
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
package dao
import (
"context"
"gorm.io/gorm"
"gorm.io/gorm/clause"
"gorm.io/gorm/schema"
"gorm.io/gen"
"gorm.io/gen/field"
"gorm.io/plugin/dbresolver"
"mini-chat/internal/repository/mysql/model"
)
func newSmsVerificationCode(db *gorm.DB, opts ...gen.DOOption) smsVerificationCode {
_smsVerificationCode := smsVerificationCode{}
_smsVerificationCode.smsVerificationCodeDo.UseDB(db, opts...)
_smsVerificationCode.smsVerificationCodeDo.UseModel(&model.SmsVerificationCode{})
tableName := _smsVerificationCode.smsVerificationCodeDo.TableName()
_smsVerificationCode.ALL = field.NewAsterisk(tableName)
_smsVerificationCode.ID = field.NewInt32(tableName, "id")
_smsVerificationCode.PhoneNumber = field.NewString(tableName, "phone_number")
_smsVerificationCode.VerificationCode = field.NewString(tableName, "verification_code")
_smsVerificationCode.Type = field.NewInt32(tableName, "type")
_smsVerificationCode.IsUsed = field.NewInt32(tableName, "is_used")
_smsVerificationCode.CreatedUser = field.NewString(tableName, "created_user")
_smsVerificationCode.CreatedAt = field.NewTime(tableName, "created_at")
_smsVerificationCode.fillFieldMap()
return _smsVerificationCode
}
// smsVerificationCode 短信验证码表
type smsVerificationCode struct {
smsVerificationCodeDo
ALL field.Asterisk
ID field.Int32 // 主键
PhoneNumber field.String // 手机号码
VerificationCode field.String // 验证码
Type field.Int32 // 类型(1=登录 2=忘记密码)
IsUsed field.Int32 // 是否已使用(0:未使用,1:已使用)
CreatedUser field.String // 创建人
CreatedAt field.Time // 创建时间
fieldMap map[string]field.Expr
}
func (s smsVerificationCode) Table(newTableName string) *smsVerificationCode {
s.smsVerificationCodeDo.UseTable(newTableName)
return s.updateTableName(newTableName)
}
func (s smsVerificationCode) As(alias string) *smsVerificationCode {
s.smsVerificationCodeDo.DO = *(s.smsVerificationCodeDo.As(alias).(*gen.DO))
return s.updateTableName(alias)
}
func (s *smsVerificationCode) updateTableName(table string) *smsVerificationCode {
s.ALL = field.NewAsterisk(table)
s.ID = field.NewInt32(table, "id")
s.PhoneNumber = field.NewString(table, "phone_number")
s.VerificationCode = field.NewString(table, "verification_code")
s.Type = field.NewInt32(table, "type")
s.IsUsed = field.NewInt32(table, "is_used")
s.CreatedUser = field.NewString(table, "created_user")
s.CreatedAt = field.NewTime(table, "created_at")
s.fillFieldMap()
return s
}
func (s *smsVerificationCode) GetFieldByName(fieldName string) (field.OrderExpr, bool) {
_f, ok := s.fieldMap[fieldName]
if !ok || _f == nil {
return nil, false
}
_oe, ok := _f.(field.OrderExpr)
return _oe, ok
}
func (s *smsVerificationCode) fillFieldMap() {
s.fieldMap = make(map[string]field.Expr, 7)
s.fieldMap["id"] = s.ID
s.fieldMap["phone_number"] = s.PhoneNumber
s.fieldMap["verification_code"] = s.VerificationCode
s.fieldMap["type"] = s.Type
s.fieldMap["is_used"] = s.IsUsed
s.fieldMap["created_user"] = s.CreatedUser
s.fieldMap["created_at"] = s.CreatedAt
}
func (s smsVerificationCode) clone(db *gorm.DB) smsVerificationCode {
s.smsVerificationCodeDo.ReplaceConnPool(db.Statement.ConnPool)
return s
}
func (s smsVerificationCode) replaceDB(db *gorm.DB) smsVerificationCode {
s.smsVerificationCodeDo.ReplaceDB(db)
return s
}
type smsVerificationCodeDo struct{ gen.DO }
func (s smsVerificationCodeDo) Debug() *smsVerificationCodeDo {
return s.withDO(s.DO.Debug())
}
func (s smsVerificationCodeDo) WithContext(ctx context.Context) *smsVerificationCodeDo {
return s.withDO(s.DO.WithContext(ctx))
}
func (s smsVerificationCodeDo) ReadDB() *smsVerificationCodeDo {
return s.Clauses(dbresolver.Read)
}
func (s smsVerificationCodeDo) WriteDB() *smsVerificationCodeDo {
return s.Clauses(dbresolver.Write)
}
func (s smsVerificationCodeDo) Session(config *gorm.Session) *smsVerificationCodeDo {
return s.withDO(s.DO.Session(config))
}
func (s smsVerificationCodeDo) Clauses(conds ...clause.Expression) *smsVerificationCodeDo {
return s.withDO(s.DO.Clauses(conds...))
}
func (s smsVerificationCodeDo) Returning(value interface{}, columns ...string) *smsVerificationCodeDo {
return s.withDO(s.DO.Returning(value, columns...))
}
func (s smsVerificationCodeDo) Not(conds ...gen.Condition) *smsVerificationCodeDo {
return s.withDO(s.DO.Not(conds...))
}
func (s smsVerificationCodeDo) Or(conds ...gen.Condition) *smsVerificationCodeDo {
return s.withDO(s.DO.Or(conds...))
}
func (s smsVerificationCodeDo) Select(conds ...field.Expr) *smsVerificationCodeDo {
return s.withDO(s.DO.Select(conds...))
}
func (s smsVerificationCodeDo) Where(conds ...gen.Condition) *smsVerificationCodeDo {
return s.withDO(s.DO.Where(conds...))
}
func (s smsVerificationCodeDo) Order(conds ...field.Expr) *smsVerificationCodeDo {
return s.withDO(s.DO.Order(conds...))
}
func (s smsVerificationCodeDo) Distinct(cols ...field.Expr) *smsVerificationCodeDo {
return s.withDO(s.DO.Distinct(cols...))
}
func (s smsVerificationCodeDo) Omit(cols ...field.Expr) *smsVerificationCodeDo {
return s.withDO(s.DO.Omit(cols...))
}
func (s smsVerificationCodeDo) Join(table schema.Tabler, on ...field.Expr) *smsVerificationCodeDo {
return s.withDO(s.DO.Join(table, on...))
}
func (s smsVerificationCodeDo) LeftJoin(table schema.Tabler, on ...field.Expr) *smsVerificationCodeDo {
return s.withDO(s.DO.LeftJoin(table, on...))
}
func (s smsVerificationCodeDo) RightJoin(table schema.Tabler, on ...field.Expr) *smsVerificationCodeDo {
return s.withDO(s.DO.RightJoin(table, on...))
}
func (s smsVerificationCodeDo) Group(cols ...field.Expr) *smsVerificationCodeDo {
return s.withDO(s.DO.Group(cols...))
}
func (s smsVerificationCodeDo) Having(conds ...gen.Condition) *smsVerificationCodeDo {
return s.withDO(s.DO.Having(conds...))
}
func (s smsVerificationCodeDo) Limit(limit int) *smsVerificationCodeDo {
return s.withDO(s.DO.Limit(limit))
}
func (s smsVerificationCodeDo) Offset(offset int) *smsVerificationCodeDo {
return s.withDO(s.DO.Offset(offset))
}
func (s smsVerificationCodeDo) Scopes(funcs ...func(gen.Dao) gen.Dao) *smsVerificationCodeDo {
return s.withDO(s.DO.Scopes(funcs...))
}
func (s smsVerificationCodeDo) Unscoped() *smsVerificationCodeDo {
return s.withDO(s.DO.Unscoped())
}
func (s smsVerificationCodeDo) Create(values ...*model.SmsVerificationCode) error {
if len(values) == 0 {
return nil
}
return s.DO.Create(values)
}
func (s smsVerificationCodeDo) CreateInBatches(values []*model.SmsVerificationCode, batchSize int) error {
return s.DO.CreateInBatches(values, batchSize)
}
// Save : !!! underlying implementation is different with GORM
// The method is equivalent to executing the statement: db.Clauses(clause.OnConflict{UpdateAll: true}).Create(values)
func (s smsVerificationCodeDo) Save(values ...*model.SmsVerificationCode) error {
if len(values) == 0 {
return nil
}
return s.DO.Save(values)
}
func (s smsVerificationCodeDo) First() (*model.SmsVerificationCode, error) {
if result, err := s.DO.First(); err != nil {
return nil, err
} else {
return result.(*model.SmsVerificationCode), nil
}
}
func (s smsVerificationCodeDo) Take() (*model.SmsVerificationCode, error) {
if result, err := s.DO.Take(); err != nil {
return nil, err
} else {
return result.(*model.SmsVerificationCode), nil
}
}
func (s smsVerificationCodeDo) Last() (*model.SmsVerificationCode, error) {
if result, err := s.DO.Last(); err != nil {
return nil, err
} else {
return result.(*model.SmsVerificationCode), nil
}
}
func (s smsVerificationCodeDo) Find() ([]*model.SmsVerificationCode, error) {
result, err := s.DO.Find()
return result.([]*model.SmsVerificationCode), err
}
func (s smsVerificationCodeDo) FindInBatch(batchSize int, fc func(tx gen.Dao, batch int) error) (results []*model.SmsVerificationCode, err error) {
buf := make([]*model.SmsVerificationCode, 0, batchSize)
err = s.DO.FindInBatches(&buf, batchSize, func(tx gen.Dao, batch int) error {
defer func() { results = append(results, buf...) }()
return fc(tx, batch)
})
return results, err
}
func (s smsVerificationCodeDo) FindInBatches(result *[]*model.SmsVerificationCode, batchSize int, fc func(tx gen.Dao, batch int) error) error {
return s.DO.FindInBatches(result, batchSize, fc)
}
func (s smsVerificationCodeDo) Attrs(attrs ...field.AssignExpr) *smsVerificationCodeDo {
return s.withDO(s.DO.Attrs(attrs...))
}
func (s smsVerificationCodeDo) Assign(attrs ...field.AssignExpr) *smsVerificationCodeDo {
return s.withDO(s.DO.Assign(attrs...))
}
func (s smsVerificationCodeDo) Joins(fields ...field.RelationField) *smsVerificationCodeDo {
for _, _f := range fields {
s = *s.withDO(s.DO.Joins(_f))
}
return &s
}
func (s smsVerificationCodeDo) Preload(fields ...field.RelationField) *smsVerificationCodeDo {
for _, _f := range fields {
s = *s.withDO(s.DO.Preload(_f))
}
return &s
}
func (s smsVerificationCodeDo) FirstOrInit() (*model.SmsVerificationCode, error) {
if result, err := s.DO.FirstOrInit(); err != nil {
return nil, err
} else {
return result.(*model.SmsVerificationCode), nil
}
}
func (s smsVerificationCodeDo) FirstOrCreate() (*model.SmsVerificationCode, error) {
if result, err := s.DO.FirstOrCreate(); err != nil {
return nil, err
} else {
return result.(*model.SmsVerificationCode), nil
}
}
func (s smsVerificationCodeDo) FindByPage(offset int, limit int) (result []*model.SmsVerificationCode, count int64, err error) {
result, err = s.Offset(offset).Limit(limit).Find()
if err != nil {
return
}
if size := len(result); 0 < limit && 0 < size && size < limit {
count = int64(size + offset)
return
}
count, err = s.Offset(-1).Limit(-1).Count()
return
}
func (s smsVerificationCodeDo) ScanByPage(result interface{}, offset int, limit int) (count int64, err error) {
count, err = s.Count()
if err != nil {
return
}
err = s.Offset(offset).Limit(limit).Scan(result)
return
}
func (s smsVerificationCodeDo) Scan(result interface{}) (err error) {
return s.DO.Scan(result)
}
func (s smsVerificationCodeDo) Delete(models ...*model.SmsVerificationCode) (result gen.ResultInfo, err error) {
return s.DO.Delete(models)
}
func (s *smsVerificationCodeDo) withDO(do gen.Dao) *smsVerificationCodeDo {
s.DO = *do.(*gen.DO)
return s
}

View File

@ -1,344 +0,0 @@
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
package dao
import (
"context"
"gorm.io/gorm"
"gorm.io/gorm/clause"
"gorm.io/gorm/schema"
"gorm.io/gen"
"gorm.io/gen/field"
"gorm.io/plugin/dbresolver"
"mini-chat/internal/repository/mysql/model"
)
func newSymptom(db *gorm.DB, opts ...gen.DOOption) symptom {
_symptom := symptom{}
_symptom.symptomDo.UseDB(db, opts...)
_symptom.symptomDo.UseModel(&model.Symptom{})
tableName := _symptom.symptomDo.TableName()
_symptom.ALL = field.NewAsterisk(tableName)
_symptom.ID = field.NewInt32(tableName, "id")
_symptom.Title = field.NewString(tableName, "title")
_symptom.Description = field.NewString(tableName, "description")
_symptom.CreatedUser = field.NewString(tableName, "created_user")
_symptom.CreatedAt = field.NewTime(tableName, "created_at")
_symptom.UpdatedUser = field.NewString(tableName, "updated_user")
_symptom.UpdatedAt = field.NewTime(tableName, "updated_at")
_symptom.fillFieldMap()
return _symptom
}
// symptom 症状表
type symptom struct {
symptomDo
ALL field.Asterisk
ID field.Int32 // 主键
Title field.String // 症状
Description field.String // 描述
CreatedUser field.String // 创建人
CreatedAt field.Time // 创建时间
UpdatedUser field.String // 更新人
UpdatedAt field.Time // 更新时间
fieldMap map[string]field.Expr
}
func (s symptom) Table(newTableName string) *symptom {
s.symptomDo.UseTable(newTableName)
return s.updateTableName(newTableName)
}
func (s symptom) As(alias string) *symptom {
s.symptomDo.DO = *(s.symptomDo.As(alias).(*gen.DO))
return s.updateTableName(alias)
}
func (s *symptom) updateTableName(table string) *symptom {
s.ALL = field.NewAsterisk(table)
s.ID = field.NewInt32(table, "id")
s.Title = field.NewString(table, "title")
s.Description = field.NewString(table, "description")
s.CreatedUser = field.NewString(table, "created_user")
s.CreatedAt = field.NewTime(table, "created_at")
s.UpdatedUser = field.NewString(table, "updated_user")
s.UpdatedAt = field.NewTime(table, "updated_at")
s.fillFieldMap()
return s
}
func (s *symptom) GetFieldByName(fieldName string) (field.OrderExpr, bool) {
_f, ok := s.fieldMap[fieldName]
if !ok || _f == nil {
return nil, false
}
_oe, ok := _f.(field.OrderExpr)
return _oe, ok
}
func (s *symptom) fillFieldMap() {
s.fieldMap = make(map[string]field.Expr, 7)
s.fieldMap["id"] = s.ID
s.fieldMap["title"] = s.Title
s.fieldMap["description"] = s.Description
s.fieldMap["created_user"] = s.CreatedUser
s.fieldMap["created_at"] = s.CreatedAt
s.fieldMap["updated_user"] = s.UpdatedUser
s.fieldMap["updated_at"] = s.UpdatedAt
}
func (s symptom) clone(db *gorm.DB) symptom {
s.symptomDo.ReplaceConnPool(db.Statement.ConnPool)
return s
}
func (s symptom) replaceDB(db *gorm.DB) symptom {
s.symptomDo.ReplaceDB(db)
return s
}
type symptomDo struct{ gen.DO }
func (s symptomDo) Debug() *symptomDo {
return s.withDO(s.DO.Debug())
}
func (s symptomDo) WithContext(ctx context.Context) *symptomDo {
return s.withDO(s.DO.WithContext(ctx))
}
func (s symptomDo) ReadDB() *symptomDo {
return s.Clauses(dbresolver.Read)
}
func (s symptomDo) WriteDB() *symptomDo {
return s.Clauses(dbresolver.Write)
}
func (s symptomDo) Session(config *gorm.Session) *symptomDo {
return s.withDO(s.DO.Session(config))
}
func (s symptomDo) Clauses(conds ...clause.Expression) *symptomDo {
return s.withDO(s.DO.Clauses(conds...))
}
func (s symptomDo) Returning(value interface{}, columns ...string) *symptomDo {
return s.withDO(s.DO.Returning(value, columns...))
}
func (s symptomDo) Not(conds ...gen.Condition) *symptomDo {
return s.withDO(s.DO.Not(conds...))
}
func (s symptomDo) Or(conds ...gen.Condition) *symptomDo {
return s.withDO(s.DO.Or(conds...))
}
func (s symptomDo) Select(conds ...field.Expr) *symptomDo {
return s.withDO(s.DO.Select(conds...))
}
func (s symptomDo) Where(conds ...gen.Condition) *symptomDo {
return s.withDO(s.DO.Where(conds...))
}
func (s symptomDo) Order(conds ...field.Expr) *symptomDo {
return s.withDO(s.DO.Order(conds...))
}
func (s symptomDo) Distinct(cols ...field.Expr) *symptomDo {
return s.withDO(s.DO.Distinct(cols...))
}
func (s symptomDo) Omit(cols ...field.Expr) *symptomDo {
return s.withDO(s.DO.Omit(cols...))
}
func (s symptomDo) Join(table schema.Tabler, on ...field.Expr) *symptomDo {
return s.withDO(s.DO.Join(table, on...))
}
func (s symptomDo) LeftJoin(table schema.Tabler, on ...field.Expr) *symptomDo {
return s.withDO(s.DO.LeftJoin(table, on...))
}
func (s symptomDo) RightJoin(table schema.Tabler, on ...field.Expr) *symptomDo {
return s.withDO(s.DO.RightJoin(table, on...))
}
func (s symptomDo) Group(cols ...field.Expr) *symptomDo {
return s.withDO(s.DO.Group(cols...))
}
func (s symptomDo) Having(conds ...gen.Condition) *symptomDo {
return s.withDO(s.DO.Having(conds...))
}
func (s symptomDo) Limit(limit int) *symptomDo {
return s.withDO(s.DO.Limit(limit))
}
func (s symptomDo) Offset(offset int) *symptomDo {
return s.withDO(s.DO.Offset(offset))
}
func (s symptomDo) Scopes(funcs ...func(gen.Dao) gen.Dao) *symptomDo {
return s.withDO(s.DO.Scopes(funcs...))
}
func (s symptomDo) Unscoped() *symptomDo {
return s.withDO(s.DO.Unscoped())
}
func (s symptomDo) Create(values ...*model.Symptom) error {
if len(values) == 0 {
return nil
}
return s.DO.Create(values)
}
func (s symptomDo) CreateInBatches(values []*model.Symptom, batchSize int) error {
return s.DO.CreateInBatches(values, batchSize)
}
// Save : !!! underlying implementation is different with GORM
// The method is equivalent to executing the statement: db.Clauses(clause.OnConflict{UpdateAll: true}).Create(values)
func (s symptomDo) Save(values ...*model.Symptom) error {
if len(values) == 0 {
return nil
}
return s.DO.Save(values)
}
func (s symptomDo) First() (*model.Symptom, error) {
if result, err := s.DO.First(); err != nil {
return nil, err
} else {
return result.(*model.Symptom), nil
}
}
func (s symptomDo) Take() (*model.Symptom, error) {
if result, err := s.DO.Take(); err != nil {
return nil, err
} else {
return result.(*model.Symptom), nil
}
}
func (s symptomDo) Last() (*model.Symptom, error) {
if result, err := s.DO.Last(); err != nil {
return nil, err
} else {
return result.(*model.Symptom), nil
}
}
func (s symptomDo) Find() ([]*model.Symptom, error) {
result, err := s.DO.Find()
return result.([]*model.Symptom), err
}
func (s symptomDo) FindInBatch(batchSize int, fc func(tx gen.Dao, batch int) error) (results []*model.Symptom, err error) {
buf := make([]*model.Symptom, 0, batchSize)
err = s.DO.FindInBatches(&buf, batchSize, func(tx gen.Dao, batch int) error {
defer func() { results = append(results, buf...) }()
return fc(tx, batch)
})
return results, err
}
func (s symptomDo) FindInBatches(result *[]*model.Symptom, batchSize int, fc func(tx gen.Dao, batch int) error) error {
return s.DO.FindInBatches(result, batchSize, fc)
}
func (s symptomDo) Attrs(attrs ...field.AssignExpr) *symptomDo {
return s.withDO(s.DO.Attrs(attrs...))
}
func (s symptomDo) Assign(attrs ...field.AssignExpr) *symptomDo {
return s.withDO(s.DO.Assign(attrs...))
}
func (s symptomDo) Joins(fields ...field.RelationField) *symptomDo {
for _, _f := range fields {
s = *s.withDO(s.DO.Joins(_f))
}
return &s
}
func (s symptomDo) Preload(fields ...field.RelationField) *symptomDo {
for _, _f := range fields {
s = *s.withDO(s.DO.Preload(_f))
}
return &s
}
func (s symptomDo) FirstOrInit() (*model.Symptom, error) {
if result, err := s.DO.FirstOrInit(); err != nil {
return nil, err
} else {
return result.(*model.Symptom), nil
}
}
func (s symptomDo) FirstOrCreate() (*model.Symptom, error) {
if result, err := s.DO.FirstOrCreate(); err != nil {
return nil, err
} else {
return result.(*model.Symptom), nil
}
}
func (s symptomDo) FindByPage(offset int, limit int) (result []*model.Symptom, count int64, err error) {
result, err = s.Offset(offset).Limit(limit).Find()
if err != nil {
return
}
if size := len(result); 0 < limit && 0 < size && size < limit {
count = int64(size + offset)
return
}
count, err = s.Offset(-1).Limit(-1).Count()
return
}
func (s symptomDo) ScanByPage(result interface{}, offset int, limit int) (count int64, err error) {
count, err = s.Count()
if err != nil {
return
}
err = s.Offset(offset).Limit(limit).Scan(result)
return
}
func (s symptomDo) Scan(result interface{}) (err error) {
return s.DO.Scan(result)
}
func (s symptomDo) Delete(models ...*model.Symptom) (result gen.ResultInfo, err error) {
return s.DO.Delete(models)
}
func (s *symptomDo) withDO(do gen.Dao) *symptomDo {
s.DO = *do.(*gen.DO)
return s
}

View File

@ -1,28 +0,0 @@
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
package model
import (
"time"
)
const TableNameArticle = "article"
// Article 文章表
type Article struct {
ID int32 `gorm:"column:id;primaryKey;autoIncrement:true;comment:主键" json:"id"` // 主键
Title string `gorm:"column:title;not null;comment:文章标题" json:"title"` // 文章标题
CoverImage string `gorm:"column:cover_image;not null;comment:文章封面图" json:"cover_image"` // 文章封面图
Content string `gorm:"column:content;not null;comment:文章内容" json:"content"` // 文章内容
CreatedUser string `gorm:"column:created_user;not null;comment:创建人" json:"created_user"` // 创建人
CreatedAt time.Time `gorm:"column:created_at;not null;default:CURRENT_TIMESTAMP;comment:创建时间" json:"created_at"` // 创建时间
UpdatedUser string `gorm:"column:updated_user;not null;comment:更新人" json:"updated_user"` // 更新人
UpdatedAt time.Time `gorm:"column:updated_at;not null;default:CURRENT_TIMESTAMP;comment:更新时间" json:"updated_at"` // 更新时间
}
// TableName Article's table name
func (*Article) TableName() string {
return TableNameArticle
}

View File

@ -1,32 +0,0 @@
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
package model
import (
"time"
)
const TableNameDiagnosticRecord = "diagnostic_record"
// DiagnosticRecord 诊断记录表
type DiagnosticRecord struct {
ID int32 `gorm:"column:id;primaryKey;autoIncrement:true;comment:主键" json:"id"` // 主键
UserID string `gorm:"column:user_id;not null;comment:用户ID(openid)" json:"user_id"` // 用户ID(openid)
Username string `gorm:"column:username;not null;comment:姓名" json:"username"` // 姓名
Mobile string `gorm:"column:mobile;not null;comment:手机号" json:"mobile"` // 手机号
Mmp7 string `gorm:"column:mmp_7;not null;comment:MMP-7检测值" json:"mmp_7"` // MMP-7检测值
Day int32 `gorm:"column:day;not null;comment:日龄(天)" json:"day"` // 日龄(天)
GallbladderImage string `gorm:"column:gallbladder_image;not null;comment:胆囊照片" json:"gallbladder_image"` // 胆囊照片
PortalVeinBranchImage string `gorm:"column:portal_vein_branch_image;not null;comment:门静脉左右分支照片" json:"portal_vein_branch_image"` // 门静脉左右分支照片
PortalVeinCrossImage string `gorm:"column:portal_vein_cross_image;not null;comment:门静脉右支横截照片" json:"portal_vein_cross_image"` // 门静脉右支横截照片
IdentifyResult string `gorm:"column:identify_result;not null;comment:识别结果" json:"identify_result"` // 识别结果
CreatedUser string `gorm:"column:created_user;not null;comment:创建人" json:"created_user"` // 创建人
CreatedAt time.Time `gorm:"column:created_at;not null;default:CURRENT_TIMESTAMP;comment:创建时间" json:"created_at"` // 创建时间
}
// TableName DiagnosticRecord's table name
func (*DiagnosticRecord) TableName() string {
return TableNameDiagnosticRecord
}

View File

@ -1,33 +0,0 @@
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
package model
import (
"time"
)
const TableNameDoctor = "doctor"
// Doctor 医生表
type Doctor struct {
ID int32 `gorm:"column:id;primaryKey;autoIncrement:true;comment:主键" json:"id"` // 主键
Username string `gorm:"column:username;not null;comment:用户名" json:"username"` // 用户名
Nickname string `gorm:"column:nickname;not null;comment:昵称" json:"nickname"` // 昵称
Mobile string `gorm:"column:mobile;not null;comment:手机号" json:"mobile"` // 手机号
Password string `gorm:"column:password;not null;comment:密码" json:"password"` // 密码
LoginStatus int32 `gorm:"column:login_status;not null;default:1;comment:登录状态(1:启用 0:禁用)" json:"login_status"` // 登录状态(1:启用 0:禁用)
LastLoginTime time.Time `gorm:"column:last_login_time;not null;default:CURRENT_TIMESTAMP;comment:最后一次登录时间" json:"last_login_time"` // 最后一次登录时间
LastLoginIP string `gorm:"column:last_login_ip;not null;comment:最后一次登录IP" json:"last_login_ip"` // 最后一次登录IP
LastLoginHash string `gorm:"column:last_login_hash;not null;comment:最后一次登录 Hash" json:"last_login_hash"` // 最后一次登录 Hash
CreatedUser string `gorm:"column:created_user;not null;comment:创建人" json:"created_user"` // 创建人
CreatedAt time.Time `gorm:"column:created_at;not null;default:CURRENT_TIMESTAMP;comment:创建时间" json:"created_at"` // 创建时间
UpdatedUser string `gorm:"column:updated_user;not null;comment:更新人" json:"updated_user"` // 更新人
UpdatedAt time.Time `gorm:"column:updated_at;not null;default:CURRENT_TIMESTAMP;comment:更新时间" json:"updated_at"` // 更新时间
}
// TableName Doctor's table name
func (*Doctor) TableName() string {
return TableNameDoctor
}

View File

@ -1,24 +0,0 @@
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
package model
import (
"time"
)
const TableNameMiniprogramAccessToken = "miniprogram_access_token"
// MiniprogramAccessToken 小程序 access_token 表
type MiniprogramAccessToken struct {
ID int32 `gorm:"column:id;primaryKey;autoIncrement:true;comment:主键" json:"id"` // 主键
AccessToken string `gorm:"column:access_token;not null;comment:access_token" json:"access_token"` // access_token
CreatedAt time.Time `gorm:"column:created_at;not null;default:CURRENT_TIMESTAMP;comment:创建时间" json:"created_at"` // 创建时间
ExpiredAt time.Time `gorm:"column:expired_at;not null;default:CURRENT_TIMESTAMP;comment:过期时间" json:"expired_at"` // 过期时间
}
// TableName MiniprogramAccessToken's table name
func (*MiniprogramAccessToken) TableName() string {
return TableNameMiniprogramAccessToken
}

View File

@ -1,51 +0,0 @@
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
package model
import (
"time"
)
const TableNamePatient = "patient"
// Patient 患者表
type Patient struct {
ID int32 `gorm:"column:id;primaryKey;autoIncrement:true;comment:主键" json:"id"` // 主键
Mobile string `gorm:"column:mobile;not null;comment:手机号" json:"mobile"` // 手机号
Username string `gorm:"column:username;not null;comment:姓名" json:"username"` // 姓名
Sex int32 `gorm:"column:sex;not null;comment:性别(1:男 2:女)" json:"sex"` // 性别(1:男 2:女)
Password string `gorm:"column:password;not null;comment:密码" json:"password"` // 密码
Avatar string `gorm:"column:avatar;not null;comment:头像地址" json:"avatar"` // 头像地址
IDNumber string `gorm:"column:id_number;not null;comment:身份证号" json:"id_number"` // 身份证号
Birthday time.Time `gorm:"column:birthday;comment:出生日期" json:"birthday"` // 出生日期
BirthWeight int32 `gorm:"column:birth_weight;not null;comment:出生体重(克)" json:"birth_weight"` // 出生体重(克)
OperativeDate time.Time `gorm:"column:operative_date;comment:手术日期" json:"operative_date"` // 手术日期
NextFollowDate time.Time `gorm:"column:next_follow_date;comment:下次随访时间" json:"next_follow_date"` // 下次随访时间
ParityNumber int32 `gorm:"column:parity_number;not null;comment:胎次(0:未知 1:1胎 2:胎 3:胎 4:≥4胎)" json:"parity_number"` // 胎次(0:未知 1:1胎 2:胎 3:胎 4:≥4胎)
BirthNumber int32 `gorm:"column:birth_number;not null;comment:产次(0:未知 1:1产 2:2产 3:≥3产)" json:"birth_number"` // 产次(0:未知 1:1产 2:2产 3:≥3产)
ConceptionType int32 `gorm:"column:conception_type;not null;comment:受孕方式(0:未知 1:自然受孕 2:辅助生殖技术)" json:"conception_type"` // 受孕方式(0:未知 1:自然受孕 2:辅助生殖技术)
GestationalWeek int32 `gorm:"column:gestational_week;not null;comment:孕周" json:"gestational_week"` // 孕周
PrenatalCheckType int32 `gorm:"column:prenatal_check_type;not null;comment:产检是否异常(0:未知 1:有 2:无)" json:"prenatal_check_type"` // 产检是否异常(0:未知 1:有 2:无)
PrenatalCheckRemark string `gorm:"column:prenatal_check_remark;not null;comment:产检异常备注" json:"prenatal_check_remark"` // 产检异常备注
DeliveryType int32 `gorm:"column:delivery_type;not null;comment:分娩方式(0:未知 1:顺产 2:剖宫产)" json:"delivery_type"` // 分娩方式(0:未知 1:顺产 2:剖宫产)
RiskType int32 `gorm:"column:risk_type;not null;comment:风险类型(0:未知 1:低危 2:中危 3:高危)" json:"risk_type"` // 风险类型(0:未知 1:低危 2:中危 3:高危)
RiskValue string `gorm:"column:risk_value;not null;comment:风险值" json:"risk_value"` // 风险值
HeightGenerateCurveType int32 `gorm:"column:height_generate_curve_type;not null;comment:身高生长曲线类型(0:未知 1:轻度偏离 2:正常 3:重度偏离)" json:"height_generate_curve_type"` // 身高生长曲线类型(0:未知 1:轻度偏离 2:正常 3:重度偏离)
WeightGenerateCurveType int32 `gorm:"column:weight_generate_curve_type;not null;comment:体重生长曲线类型(0:未知 1:轻度偏离 2:正常 3:重度偏离)" json:"weight_generate_curve_type"` // 体重生长曲线类型(0:未知 1:轻度偏离 2:正常 3:重度偏离)
LoginStatus int32 `gorm:"column:login_status;not null;default:1;comment:登录状态(1:启用 0:禁用)" json:"login_status"` // 登录状态(1:启用 0:禁用)
LastLoginTime time.Time `gorm:"column:last_login_time;not null;default:CURRENT_TIMESTAMP;comment:最后一次登录时间" json:"last_login_time"` // 最后一次登录时间
LastLoginIP string `gorm:"column:last_login_ip;not null;comment:最后一次登录IP" json:"last_login_ip"` // 最后一次登录IP
LastLoginHash string `gorm:"column:last_login_hash;not null;comment:最后一次登录 Hash" json:"last_login_hash"` // 最后一次登录 Hash
WxUserID string `gorm:"column:wx_user_id;not null;comment:微信ID" json:"wx_user_id"` // 微信ID
CreatedUser string `gorm:"column:created_user;not null;comment:创建人" json:"created_user"` // 创建人
CreatedAt time.Time `gorm:"column:created_at;not null;default:CURRENT_TIMESTAMP;comment:创建时间" json:"created_at"` // 创建时间
UpdatedUser string `gorm:"column:updated_user;not null;comment:更新人" json:"updated_user"` // 更新人
UpdatedAt time.Time `gorm:"column:updated_at;not null;default:CURRENT_TIMESTAMP;comment:更新时间" json:"updated_at"` // 更新时间
}
// TableName Patient's table name
func (*Patient) TableName() string {
return TableNamePatient
}

View File

@ -1,28 +0,0 @@
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
package model
import (
"time"
)
const TableNamePatientEmergencySymptom = "patient_emergency_symptom"
// PatientEmergencySymptom 患者紧急症状表
type PatientEmergencySymptom struct {
ID int32 `gorm:"column:id;primaryKey;autoIncrement:true;comment:主键" json:"id"` // 主键
PatientID int32 `gorm:"column:patient_id;not null;comment:患者ID" json:"patient_id"` // 患者ID
Symptom string `gorm:"column:symptom;not null;comment:症状信息(JSON格式)" json:"symptom"` // 症状信息(JSON格式)
Conclusion string `gorm:"column:conclusion;not null;comment:结论" json:"conclusion"` // 结论
CreatedUser string `gorm:"column:created_user;not null;comment:创建人" json:"created_user"` // 创建人
CreatedAt time.Time `gorm:"column:created_at;not null;default:CURRENT_TIMESTAMP;comment:创建时间" json:"created_at"` // 创建时间
UpdatedUser string `gorm:"column:updated_user;not null;comment:更新人" json:"updated_user"` // 更新人
UpdatedAt time.Time `gorm:"column:updated_at;not null;default:CURRENT_TIMESTAMP;comment:更新时间" json:"updated_at"` // 更新时间
}
// TableName PatientEmergencySymptom's table name
func (*PatientEmergencySymptom) TableName() string {
return TableNamePatientEmergencySymptom
}

View File

@ -1,29 +0,0 @@
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
package model
import (
"time"
)
const TableNamePatientFollowPlan = "patient_follow_plan"
// PatientFollowPlan 患者随访计划表
type PatientFollowPlan struct {
ID int32 `gorm:"column:id;primaryKey;autoIncrement:true;comment:主键" json:"id"` // 主键
PatientID int32 `gorm:"column:patient_id;not null;comment:患者ID" json:"patient_id"` // 患者ID
PlanName string `gorm:"column:plan_name;not null;default:0;comment:计划名称" json:"plan_name"` // 计划名称
PlanDate time.Time `gorm:"column:plan_date;comment:计划时间" json:"plan_date"` // 计划时间
Status int32 `gorm:"column:status;not null;comment:完成状态(1:未完成 2:已完成)" json:"status"` // 完成状态(1:未完成 2:已完成)
CreatedUser string `gorm:"column:created_user;not null;default:0;comment:创建人" json:"created_user"` // 创建人
CreatedAt time.Time `gorm:"column:created_at;not null;default:CURRENT_TIMESTAMP;comment:创建时间" json:"created_at"` // 创建时间
UpdatedUser string `gorm:"column:updated_user;not null;default:0;comment:更新人" json:"updated_user"` // 更新人
UpdatedAt time.Time `gorm:"column:updated_at;not null;default:CURRENT_TIMESTAMP;comment:更新时间" json:"updated_at"` // 更新时间
}
// TableName PatientFollowPlan's table name
func (*PatientFollowPlan) TableName() string {
return TableNamePatientFollowPlan
}

View File

@ -1,83 +0,0 @@
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
package model
import (
"time"
)
const TableNamePatientFollowQuestionnaire = "patient_follow_questionnaire"
// PatientFollowQuestionnaire 患者随访问卷表
type PatientFollowQuestionnaire struct {
ID int32 `gorm:"column:id;primaryKey;autoIncrement:true;comment:主键" json:"id"` // 主键
PatientID int32 `gorm:"column:patient_id;not null;comment:患者ID" json:"patient_id"` // 患者ID
PlanID int32 `gorm:"column:plan_id;not null;comment:随访计划ID" json:"plan_id"` // 随访计划ID
FollowName string `gorm:"column:follow_name;not null;comment:随访名称" json:"follow_name"` // 随访名称
FollowDate time.Time `gorm:"column:follow_date;comment:随访日期" json:"follow_date"` // 随访日期
FollowHospital string `gorm:"column:follow_hospital;not null;comment:随访医院" json:"follow_hospital"` // 随访医院
Height string `gorm:"column:height;not null;comment:身高(CM)" json:"height"` // 身高(CM)
Weight string `gorm:"column:weight;not null;comment:体重(KG)" json:"weight"` // 体重(KG)
HeadCircumference string `gorm:"column:head_circumference;not null;comment:头围(CM)" json:"head_circumference"` // 头围(CM)
HighHip string `gorm:"column:high_hip;not null;comment:上臀围(CM)" json:"high_hip"` // 上臀围(CM)
LiverFunctionImage string `gorm:"column:liver_function_image;comment:肝功能检查报告(多张用,分割)" json:"liver_function_image"` // 肝功能检查报告(多张用,分割)
TotalBilirubin string `gorm:"column:total_bilirubin;not null;comment:总胆红素µmol/L)" json:"total_bilirubin"` // 总胆红素µmol/L)
DirectBilirubin string `gorm:"column:direct_bilirubin;not null;comment:直接胆红素µmol/L)" json:"direct_bilirubin"` // 直接胆红素µmol/L)
TotalBileAcid string `gorm:"column:total_bile_acid;not null;comment:总胆汁酸g/L" json:"total_bile_acid"` // 总胆汁酸g/L
Albumin string `gorm:"column:albumin;not null;comment:白蛋白g/L" json:"albumin"` // 白蛋白g/L
GrainGrass string `gorm:"column:grain_grass;not null;comment:谷草U/L" json:"grain_grass"` // 谷草U/L
GuBing string `gorm:"column:gu_bing;not null;comment:谷丙U/L" json:"gu_bing"` // 谷丙U/L
Ggt string `gorm:"column:ggt;not null;comment:GGTU/L" json:"ggt"` // GGTU/L
Alp string `gorm:"column:alp;not null;comment:ALPU/L" json:"alp"` // ALPU/L
CoagulationFunctionImage string `gorm:"column:coagulation_function_image;comment:凝血功能检查报告(多张用,分割)" json:"coagulation_function_image"` // 凝血功能检查报告(多张用,分割)
Crp string `gorm:"column:crp;not null;comment:CRPmg/L" json:"crp"` // CRPmg/L
Ddr string `gorm:"column:ddr;not null;comment:DDR" json:"ddr"` // DDR
Inr string `gorm:"column:inr;not null;comment:INR" json:"inr"` // INR
Pt string `gorm:"column:pt;not null;comment:PTs" json:"pt"` // PTs
Pta string `gorm:"column:pta;not null;comment:PTA%" json:"pta"` // PTA%
Aptt string `gorm:"column:aptt;not null;comment:APTTs" json:"aptt"` // APTTs
Tt string `gorm:"column:tt;not null;comment:TTs" json:"tt"` // TTs
Fib string `gorm:"column:fib;not null;comment:FIBg/L" json:"fib"` // FIBg/L
Npdp string `gorm:"column:npdp;not null;comment:NPDPmg/L" json:"npdp"` // NPDPmg/L
Mmp7 string `gorm:"column:mmp_7;not null;comment:MMP-7ng/mL" json:"mmp_7"` // MMP-7ng/mL
BloodRoutineImage string `gorm:"column:blood_routine_image;comment:血常规检查报告(多张用,分割)" json:"blood_routine_image"` // 血常规检查报告(多张用,分割)
Platelets string `gorm:"column:platelets;not null;comment:血小板10^9/L)" json:"platelets"` // 血小板10^9/L)
Hemoglobin string `gorm:"column:hemoglobin;not null;comment:血红蛋白 (g/L)" json:"hemoglobin"` // 血红蛋白 (g/L)
WhiteBloodCells string `gorm:"column:white_blood_cells;not null;comment:白细胞 (10^9/L)" json:"white_blood_cells"` // 白细胞 (10^9/L)
RedBloodCells string `gorm:"column:red_blood_cells;not null;comment:红细胞 (10^9/L)" json:"red_blood_cells"` // 红细胞 (10^9/L)
NutritionalIndicatorImage string `gorm:"column:nutritional_indicator_image;comment:营养指标检查报告(多张用,分割)" json:"nutritional_indicator_image"` // 营养指标检查报告(多张用,分割)
OhD3 string `gorm:"column:oh_d3;not null;comment:25OHD3 (ng/ml)" json:"oh_d3"` // 25OHD3 (ng/ml)
OhD2 string `gorm:"column:oh_d2;not null;comment:25OHD2 (ng/ml)" json:"oh_d2"` // 25OHD2 (ng/ml)
OhD string `gorm:"column:oh_d;not null;comment:25OHD (ng/ml)" json:"oh_d"` // 25OHD (ng/ml)
VitaminA string `gorm:"column:vitamin_a;not null;comment:维生素A (ng/ml)" json:"vitamin_a"` // 维生素A (ng/ml)
VitaminK string `gorm:"column:vitamin_k;not null;comment:维生素K (ng/ml)" json:"vitamin_k"` // 维生素K (ng/ml)
VitaminE string `gorm:"column:vitamin_e;not null;comment:维生素E (ng/ml)" json:"vitamin_e"` // 维生素E (ng/ml)
BModeImage string `gorm:"column:b_mode_image;comment:B超报告(多张用,分割)" json:"b_mode_image"` // B超报告(多张用,分割)
UnderTheLiverRib string `gorm:"column:under_the_liver_rib;not null;comment:肝肋下(mm)" json:"under_the_liver_rib"` // 肝肋下(mm)
UnderTheXiphoidLiver string `gorm:"column:under_the_xiphoid_liver;not null;comment:肝剑突下(mm)" json:"under_the_xiphoid_liver"` // 肝剑突下(mm)
SpleenRibArea string `gorm:"column:spleen_rib_area;not null;comment:脾肋下(mm)" json:"spleen_rib_area"` // 脾肋下(mm)
MainPortalVein string `gorm:"column:main_portal_vein;not null;comment:门静脉主干内径(mm)" json:"main_portal_vein"` // 门静脉主干内径(mm)
LiverEcho string `gorm:"column:liver_echo;not null;comment:肝回声" json:"liver_echo"` // 肝回声
GallbladderSize string `gorm:"column:gallbladder_size;not null;comment:胆囊大小(mm)" json:"gallbladder_size"` // 胆囊大小(mm)
CommonBileDuct string `gorm:"column:common_bile_duct;not null;comment:胆总管(mm)" json:"common_bile_duct"` // 胆总管(mm)
FiberBlockSize string `gorm:"column:fiber_block_size;not null;comment:纤维块大小(mm)" json:"fiber_block_size"` // 纤维块大小(mm)
Pvv string `gorm:"column:pvv;not null;comment:门静脉流速" json:"pvv"` // 门静脉流速
LiverElasticityValue string `gorm:"column:liver_elasticity_value;not null;comment:肝弹性值" json:"liver_elasticity_value"` // 肝弹性值
IsHaveCyst int32 `gorm:"column:is_have_cyst;not null;comment:有无肝囊肿(1:是 2:否)" json:"is_have_cyst"` // 有无肝囊肿(1:是 2:否)
IsHaveAscites int32 `gorm:"column:is_have_ascites;not null;comment:有无腹水(1:是 2:否)" json:"is_have_ascites"` // 有无腹水(1:是 2:否)
ElastographyMinimum string `gorm:"column:elastography_minimum;not null;comment:弹性成像最小值(kPa)" json:"elastography_minimum"` // 弹性成像最小值(kPa)
ElastographyMaximum string `gorm:"column:elastography_maximum;not null;comment:弹性成像最大值(kPa)" json:"elastography_maximum"` // 弹性成像最大值(kPa)
ElastographyMedian string `gorm:"column:elastography_median;not null;comment:弹性成像中位数(kPa)" json:"elastography_median"` // 弹性成像中位数(kPa)
MdtImage string `gorm:"column:mdt_image;comment:MDT电子病历(多张用,分割)" json:"mdt_image"` // MDT电子病历(多张用,分割)
CreatedUser string `gorm:"column:created_user;not null;comment:创建人" json:"created_user"` // 创建人
CreatedAt time.Time `gorm:"column:created_at;not null;default:CURRENT_TIMESTAMP;comment:创建时间" json:"created_at"` // 创建时间
UpdatedUser string `gorm:"column:updated_user;not null;comment:更新人" json:"updated_user"` // 更新人
UpdatedAt time.Time `gorm:"column:updated_at;not null;default:CURRENT_TIMESTAMP;comment:更新时间" json:"updated_at"` // 更新时间
}
// TableName PatientFollowQuestionnaire's table name
func (*PatientFollowQuestionnaire) TableName() string {
return TableNamePatientFollowQuestionnaire
}

View File

@ -1,33 +0,0 @@
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
package model
import (
"time"
)
const TableNamePatientMedicineRecord = "patient_medicine_record"
// PatientMedicineRecord 患者用药记录表
type PatientMedicineRecord struct {
ID int32 `gorm:"column:id;primaryKey;autoIncrement:true;comment:主键" json:"id"` // 主键
PatientID int32 `gorm:"column:patient_id;not null;comment:患者ID" json:"patient_id"` // 患者ID
SchemeID int32 `gorm:"column:scheme_id;not null;comment:用药方案ID" json:"scheme_id"` // 用药方案ID
MedicineDate time.Time `gorm:"column:medicine_date;comment:用药日期" json:"medicine_date"` // 用药日期
MedicineTimeType int32 `gorm:"column:medicine_time_type;not null;comment:用药时间类型(1:早上 2:中午 3:晚上)" json:"medicine_time_type"` // 用药时间类型(1:早上 2:中午 3:晚上)
MedicineTime string `gorm:"column:medicine_time;not null;comment:用药时间" json:"medicine_time"` // 用药时间
Detail string `gorm:"column:detail;not null;comment:药品信息(JSON格式)" json:"detail"` // 药品信息(JSON格式)
Status int32 `gorm:"column:status;not null;default:1;comment:用药状态(1:未完成 2:已完成)" json:"status"` // 用药状态(1:未完成 2:已完成)
StatusAt time.Time `gorm:"column:status_at;comment:已完成时间(打卡时间)" json:"status_at"` // 已完成时间(打卡时间)
CreatedUser string `gorm:"column:created_user;not null;comment:创建人" json:"created_user"` // 创建人
CreatedAt time.Time `gorm:"column:created_at;not null;default:CURRENT_TIMESTAMP;comment:创建时间" json:"created_at"` // 创建时间
UpdatedUser string `gorm:"column:updated_user;not null;comment:更新人" json:"updated_user"` // 更新人
UpdatedAt time.Time `gorm:"column:updated_at;not null;default:CURRENT_TIMESTAMP;comment:更新时间" json:"updated_at"` // 更新时间
}
// TableName PatientMedicineRecord's table name
func (*PatientMedicineRecord) TableName() string {
return TableNamePatientMedicineRecord
}

View File

@ -1,30 +0,0 @@
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
package model
import (
"time"
)
const TableNamePatientMedicineScheme = "patient_medicine_scheme"
// PatientMedicineScheme 患者用药方案表
type PatientMedicineScheme struct {
ID int32 `gorm:"column:id;primaryKey;autoIncrement:true;comment:主键" json:"id"` // 主键
PatientID int32 `gorm:"column:patient_id;not null;comment:患者ID" json:"patient_id"` // 患者ID
StartDate time.Time `gorm:"column:start_date;comment:用药开始日期" json:"start_date"` // 用药开始日期
EndDate time.Time `gorm:"column:end_date;comment:用药结束日期" json:"end_date"` // 用药结束日期
Detail string `gorm:"column:detail;not null;comment:药品信息(JSON格式)" json:"detail"` // 药品信息(JSON格式)
Reminder string `gorm:"column:reminder;not null;comment:用药提醒(JSON格式)" json:"reminder"` // 用药提醒(JSON格式)
CreatedUser string `gorm:"column:created_user;not null;comment:创建人" json:"created_user"` // 创建人
CreatedAt time.Time `gorm:"column:created_at;not null;default:CURRENT_TIMESTAMP;comment:创建时间" json:"created_at"` // 创建时间
UpdatedUser string `gorm:"column:updated_user;not null;comment:更新人" json:"updated_user"` // 更新人
UpdatedAt time.Time `gorm:"column:updated_at;not null;default:CURRENT_TIMESTAMP;comment:更新时间" json:"updated_at"` // 更新时间
}
// TableName PatientMedicineScheme's table name
func (*PatientMedicineScheme) TableName() string {
return TableNamePatientMedicineScheme
}

View File

@ -1,35 +0,0 @@
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
package model
import (
"time"
)
const TableNamePatientMedicineTask = "patient_medicine_task"
// PatientMedicineTask 患者用药提醒(任务)表
type PatientMedicineTask struct {
ID int32 `gorm:"column:id;primaryKey;autoIncrement:true;comment:主键ID" json:"id"` // 主键ID
Code string `gorm:"column:code;not null;comment:任务编码" json:"code"` // 任务编码
Title string `gorm:"column:title;not null;comment:标题" json:"title"` // 标题
Spec string `gorm:"column:spec;not null;comment:时间表达式" json:"spec"` // 时间表达式
Status int32 `gorm:"column:status;not null;comment:状态(1:禁用 2:启用)" json:"status"` // 状态(1:禁用 2:启用)
IsRunning int32 `gorm:"column:is_running;not null;comment:执行中(0:未执行 1:执行中 2:执行完毕)" json:"is_running"` // 执行中(0:未执行 1:执行中 2:执行完毕)
RunTime time.Time `gorm:"column:run_time;comment:预期执行时间" json:"run_time"` // 预期执行时间
RunStartTime time.Time `gorm:"column:run_start_time;comment:执行开始时间" json:"run_start_time"` // 执行开始时间
RunEndTime time.Time `gorm:"column:run_end_time;comment:执行结束时间" json:"run_end_time"` // 执行结束时间
PatientID int32 `gorm:"column:patient_id;not null;comment:患者ID" json:"patient_id"` // 患者ID
MedicineRecordID int32 `gorm:"column:medicine_record_id;not null;comment:用药记录ID" json:"medicine_record_id"` // 用药记录ID
CreatedUser string `gorm:"column:created_user;not null;comment:创建人" json:"created_user"` // 创建人
CreatedAt time.Time `gorm:"column:created_at;not null;default:CURRENT_TIMESTAMP;comment:创建时间" json:"created_at"` // 创建时间
UpdatedUser string `gorm:"column:updated_user;not null;comment:更新人" json:"updated_user"` // 更新人
UpdatedAt time.Time `gorm:"column:updated_at;not null;default:CURRENT_TIMESTAMP;comment:更新时间" json:"updated_at"` // 更新时间
}
// TableName PatientMedicineTask's table name
func (*PatientMedicineTask) TableName() string {
return TableNamePatientMedicineTask
}

View File

@ -1,27 +0,0 @@
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
package model
import (
"time"
)
const TableNameSmsVerificationCode = "sms_verification_code"
// SmsVerificationCode 短信验证码表
type SmsVerificationCode struct {
ID int32 `gorm:"column:id;primaryKey;autoIncrement:true;comment:主键" json:"id"` // 主键
PhoneNumber string `gorm:"column:phone_number;not null;comment:手机号码" json:"phone_number"` // 手机号码
VerificationCode string `gorm:"column:verification_code;not null;comment:验证码" json:"verification_code"` // 验证码
Type int32 `gorm:"column:type;not null;comment:类型(1=登录 2=忘记密码)" json:"type"` // 类型(1=登录 2=忘记密码)
IsUsed int32 `gorm:"column:is_used;not null;comment:是否已使用(0:未使用,1:已使用)" json:"is_used"` // 是否已使用(0:未使用,1:已使用)
CreatedUser string `gorm:"column:created_user;not null;comment:创建人" json:"created_user"` // 创建人
CreatedAt time.Time `gorm:"column:created_at;not null;default:CURRENT_TIMESTAMP;comment:创建时间" json:"created_at"` // 创建时间
}
// TableName SmsVerificationCode's table name
func (*SmsVerificationCode) TableName() string {
return TableNameSmsVerificationCode
}

View File

@ -1,27 +0,0 @@
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
package model
import (
"time"
)
const TableNameSymptom = "symptom"
// Symptom 症状表
type Symptom struct {
ID int32 `gorm:"column:id;primaryKey;autoIncrement:true;comment:主键" json:"id"` // 主键
Title string `gorm:"column:title;not null;comment:症状" json:"title"` // 症状
Description string `gorm:"column:description;not null;comment:描述" json:"description"` // 描述
CreatedUser string `gorm:"column:created_user;not null;comment:创建人" json:"created_user"` // 创建人
CreatedAt time.Time `gorm:"column:created_at;not null;default:CURRENT_TIMESTAMP;comment:创建时间" json:"created_at"` // 创建时间
UpdatedUser string `gorm:"column:updated_user;not null;comment:更新人" json:"updated_user"` // 更新人
UpdatedAt time.Time `gorm:"column:updated_at;not null;default:CURRENT_TIMESTAMP;comment:更新时间" json:"updated_at"` // 更新时间
}
// TableName Symptom's table name
func (*Symptom) TableName() string {
return TableNameSymptom
}

View File

@ -13,12 +13,6 @@ type Interceptor interface {
// AdminTokenAuthVerify 管理端授权验证
AdminTokenAuthVerify(ctx core.Context) (sessionUserInfo proposal.SessionUserInfo, err core.BusinessError)
// DoctorTokenAuthVerify 医生端授权验证
DoctorTokenAuthVerify(ctx core.Context) (sessionUserInfo proposal.SessionUserInfo, err core.BusinessError)
// PatientTokenAuthVerify 患者端授权验证
PatientTokenAuthVerify(ctx core.Context) (sessionUserInfo proposal.SessionUserInfo, err core.BusinessError)
// i 为了避免被其他包实现
i()
}

View File

@ -1,15 +1,18 @@
package router
import (
"github.com/pkg/errors"
"mini-chat/internal/alert"
"mini-chat/internal/api/admin"
"mini-chat/internal/api/app"
"mini-chat/internal/cron"
"mini-chat/internal/dblogger"
"mini-chat/internal/pkg/core"
"mini-chat/internal/pkg/logger"
"mini-chat/internal/pkg/startup"
"mini-chat/internal/repository/mysql"
"mini-chat/internal/router/interceptor"
"github.com/pkg/errors"
)
func NewHTTPMux(logger logger.CustomLogger, db mysql.Repo, cron cron.Server) (core.Mux, error) {
@ -34,9 +37,10 @@ func NewHTTPMux(logger logger.CustomLogger, db mysql.Repo, cron cron.Server) (co
}
// 实例化拦截器
// interceptorHandler := interceptor.New(logger, db)
interceptorHandler := interceptor.New(logger, db)
adminHandler := admin.New(logger, db)
appHandler := app.New(logger, db)
// 管理端非认证接口路由组
adminNonAuthApiRouter := mux.Group("/admin")
@ -49,10 +53,13 @@ func NewHTTPMux(logger logger.CustomLogger, db mysql.Repo, cron cron.Server) (co
}
// 管理端认证接口路由组
//adminAuthApiRouter := mux.Group("/admin", core.WrapAuthHandler(interceptorHandler.AdminTokenAuthVerify))
//{
//
//}
adminAuthApiRouter := mux.Group("/admin", core.WrapAuthHandler(interceptorHandler.AdminTokenAuthVerify))
{
adminAuthApiRouter.POST("/app/create", appHandler.CreateApp()) // 关联小程序
adminAuthApiRouter.POST("/app/delete", appHandler.DeleteApp()) // 删除小程序
adminAuthApiRouter.PUT("/app/:id", appHandler.ModifyApp()) // 修改小程序
adminAuthApiRouter.GET("/app", appHandler.PageList()) // 小程序列表
}
return mux, nil
}