添加基地后端handler和logic

This commit is contained in:
2025-10-24 11:58:59 +08:00
parent 294c9ccf4c
commit 35cc0aa8b6
13 changed files with 426 additions and 1 deletions

View File

@@ -0,0 +1,31 @@
// Code scaffolded by goctl. Safe to edit.
// goctl 1.9.2
package baseOverview
import (
"net/http"
"github.com/JACKYMYPERSON/hldrCenter/config"
"github.com/JACKYMYPERSON/hldrCenter/internal/baseoverview/internal/logic/baseOverview"
"github.com/JACKYMYPERSON/hldrCenter/internal/baseoverview/internal/types"
"github.com/zeromicro/go-zero/rest/httpx"
)
func GetBaseOverviewHandler(cfg *config.Config) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
var req types.GetBaseOverviewReq
if err := httpx.Parse(r, &req); err != nil {
httpx.ErrorCtx(r.Context(), w, err)
return
}
l := baseOverview.NewGetBaseOverviewLogic(r.Context(), cfg)
resp, err := l.GetBaseOverview(&req)
if err != nil {
httpx.ErrorCtx(r.Context(), w, err)
} else {
httpx.OkJsonCtx(r.Context(), w, resp)
}
}
}

View File

@@ -0,0 +1,31 @@
// Code scaffolded by goctl. Safe to edit.
// goctl 1.9.2
package baseOverview
import (
"net/http"
"github.com/JACKYMYPERSON/hldrCenter/config"
"github.com/JACKYMYPERSON/hldrCenter/internal/baseoverview/internal/logic/baseOverview"
"github.com/JACKYMYPERSON/hldrCenter/internal/baseoverview/internal/types"
"github.com/zeromicro/go-zero/rest/httpx"
)
func UpdateBaseOverviewPartialHandler(cfg *config.Config) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
var req types.UpdateBaseOverviewPartialReq
if err := httpx.Parse(r, &req); err != nil {
httpx.ErrorCtx(r.Context(), w, err)
return
}
l := baseOverview.NewUpdateBaseOverviewPartialLogic(r.Context(), cfg)
resp, err := l.UpdateBaseOverviewPartial(&req)
if err != nil {
httpx.ErrorCtx(r.Context(), w, err)
} else {
httpx.OkJsonCtx(r.Context(), w, resp)
}
}
}

View File

@@ -0,0 +1,31 @@
// Code scaffolded by goctl. Safe to edit.
// goctl 1.9.2
package baseOverview
import (
"net/http"
"github.com/JACKYMYPERSON/hldrCenter/config"
"github.com/JACKYMYPERSON/hldrCenter/internal/baseoverview/internal/logic/baseOverview"
"github.com/JACKYMYPERSON/hldrCenter/internal/baseoverview/internal/types"
"github.com/zeromicro/go-zero/rest/httpx"
)
func GetBaseOverviewHandler(cfg *config.Config) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
var req types.GetBaseOverviewReq
if err := httpx.Parse(r, &req); err != nil {
httpx.ErrorCtx(r.Context(), w, err)
return
}
l := baseOverview.NewGetBaseOverviewLogic(r.Context(), cfg)
resp, err := l.GetBaseOverview(&req)
if err != nil {
httpx.ErrorCtx(r.Context(), w, err)
} else {
httpx.OkJsonCtx(r.Context(), w, resp)
}
}
}

View File

@@ -0,0 +1,31 @@
// Code scaffolded by goctl. Safe to edit.
// goctl 1.9.2
package baseOverview
import (
"net/http"
"github.com/JACKYMYPERSON/hldrCenter/config"
"github.com/JACKYMYPERSON/hldrCenter/internal/baseoverview/internal/logic/baseOverview"
"github.com/JACKYMYPERSON/hldrCenter/internal/baseoverview/internal/types"
"github.com/zeromicro/go-zero/rest/httpx"
)
func UpdateBaseOverviewPartialHandler(cfg *config.Config) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
var req types.UpdateBaseOverviewPartialReq
if err := httpx.Parse(r, &req); err != nil {
httpx.ErrorCtx(r.Context(), w, err)
return
}
l := baseOverview.NewUpdateBaseOverviewPartialLogic(r.Context(), cfg)
resp, err := l.UpdateBaseOverviewPartial(&req)
if err != nil {
httpx.ErrorCtx(r.Context(), w, err)
} else {
httpx.OkJsonCtx(r.Context(), w, resp)
}
}
}

View File

@@ -0,0 +1,33 @@
// Code scaffolded by goctl. Safe to edit.
// goctl 1.9.2
package baseOverview
import (
"context"
"github.com/JACKYMYPERSON/hldrCenter/config"
"github.com/JACKYMYPERSON/hldrCenter/internal/baseoverview/internal/types"
"github.com/zeromicro/go-zero/core/logx"
)
type GetBaseOverviewLogic struct {
logx.Logger
ctx context.Context
cfg *config.Config
}
func NewGetBaseOverviewLogic(ctx context.Context, cfg *config.Config) *GetBaseOverviewLogic {
return &GetBaseOverviewLogic{
Logger: logx.WithContext(ctx),
ctx: ctx,
cfg: cfg,
}
}
func (l *GetBaseOverviewLogic) GetBaseOverview(req *types.GetBaseOverviewReq) (resp *types.GetBaseOverviewResp, err error) {
// todo: add your logic here and delete this line
return
}

View File

@@ -0,0 +1,33 @@
// Code scaffolded by goctl. Safe to edit.
// goctl 1.9.2
package baseOverview
import (
"context"
"github.com/JACKYMYPERSON/hldrCenter/config"
"github.com/JACKYMYPERSON/hldrCenter/internal/baseoverview/internal/types"
"github.com/zeromicro/go-zero/core/logx"
)
type UpdateBaseOverviewPartialLogic struct {
logx.Logger
ctx context.Context
cfg *config.Config
}
func NewUpdateBaseOverviewPartialLogic(ctx context.Context, cfg *config.Config) *UpdateBaseOverviewPartialLogic {
return &UpdateBaseOverviewPartialLogic{
Logger: logx.WithContext(ctx),
ctx: ctx,
cfg: cfg,
}
}
func (l *UpdateBaseOverviewPartialLogic) UpdateBaseOverviewPartial(req *types.UpdateBaseOverviewPartialReq) (resp *types.UpdateBaseOverviewPartialResp, err error) {
// todo: add your logic here and delete this line
return
}

View File

@@ -0,0 +1,29 @@
package model
import "github.com/zeromicro/go-zero/core/stores/sqlx"
var _ BaseoverviewModel = (*customBaseoverviewModel)(nil)
type (
// BaseoverviewModel is an interface to be customized, add more methods here,
// and implement the added methods in customBaseoverviewModel.
BaseoverviewModel interface {
baseoverviewModel
withSession(session sqlx.Session) BaseoverviewModel
}
customBaseoverviewModel struct {
*defaultBaseoverviewModel
}
)
// NewBaseoverviewModel returns a model for the database table.
func NewBaseoverviewModel(conn sqlx.SqlConn) BaseoverviewModel {
return &customBaseoverviewModel{
defaultBaseoverviewModel: newBaseoverviewModel(conn),
}
}
func (m *customBaseoverviewModel) withSession(session sqlx.Session) BaseoverviewModel {
return NewBaseoverviewModel(sqlx.NewSqlConnFromSession(session))
}

View File

@@ -0,0 +1,93 @@
// Code generated by goctl. DO NOT EDIT.
// versions:
// goctl version: 1.9.2
package model
import (
"context"
"database/sql"
"fmt"
"strings"
"github.com/zeromicro/go-zero/core/stores/builder"
"github.com/zeromicro/go-zero/core/stores/sqlx"
"github.com/zeromicro/go-zero/core/stringx"
)
var (
baseoverviewFieldNames = builder.RawFieldNames(&Baseoverview{})
baseoverviewRows = strings.Join(baseoverviewFieldNames, ",")
baseoverviewRowsExpectAutoSet = strings.Join(stringx.Remove(baseoverviewFieldNames, "`id`", "`create_at`", "`create_time`", "`created_at`", "`update_at`", "`update_time`", "`updated_at`"), ",")
baseoverviewRowsWithPlaceHolder = strings.Join(stringx.Remove(baseoverviewFieldNames, "`id`", "`create_at`", "`create_time`", "`created_at`", "`update_at`", "`update_time`", "`updated_at`"), "=?,") + "=?"
)
type (
baseoverviewModel interface {
Insert(ctx context.Context, data *Baseoverview) (sql.Result, error)
FindOne(ctx context.Context, id int64) (*Baseoverview, error)
Update(ctx context.Context, data *Baseoverview) error
Delete(ctx context.Context, id int64) error
}
defaultBaseoverviewModel struct {
conn sqlx.SqlConn
table string
}
Baseoverview struct {
Id int64 `db:"id"`
Introduction sql.NullString `db:"introduction"`
Regulations sql.NullString `db:"regulations"`
Address sql.NullString `db:"address"`
Phone sql.NullString `db:"phone"`
Email sql.NullString `db:"email"`
Website sql.NullString `db:"website"`
Director sql.NullString `db:"director"`
DeputyDirector sql.NullString `db:"deputy_director"`
Researchers sql.NullString `db:"researchers"`
}
)
func newBaseoverviewModel(conn sqlx.SqlConn) *defaultBaseoverviewModel {
return &defaultBaseoverviewModel{
conn: conn,
table: "`baseoverview`",
}
}
func (m *defaultBaseoverviewModel) Delete(ctx context.Context, id int64) error {
query := fmt.Sprintf("delete from %s where `id` = ?", m.table)
_, err := m.conn.ExecCtx(ctx, query, id)
return err
}
func (m *defaultBaseoverviewModel) FindOne(ctx context.Context, id int64) (*Baseoverview, error) {
query := fmt.Sprintf("select %s from %s where `id` = ? limit 1", baseoverviewRows, m.table)
var resp Baseoverview
err := m.conn.QueryRowCtx(ctx, &resp, query, id)
switch err {
case nil:
return &resp, nil
case sqlx.ErrNotFound:
return nil, ErrNotFound
default:
return nil, err
}
}
func (m *defaultBaseoverviewModel) Insert(ctx context.Context, data *Baseoverview) (sql.Result, error) {
query := fmt.Sprintf("insert into %s (%s) values (?, ?, ?, ?, ?, ?, ?, ?, ?)", m.table, baseoverviewRowsExpectAutoSet)
ret, err := m.conn.ExecCtx(ctx, query, data.Introduction, data.Regulations, data.Address, data.Phone, data.Email, data.Website, data.Director, data.DeputyDirector, data.Researchers)
return ret, err
}
func (m *defaultBaseoverviewModel) Update(ctx context.Context, data *Baseoverview) error {
query := fmt.Sprintf("update %s set %s where `id` = ?", m.table, baseoverviewRowsWithPlaceHolder)
_, err := m.conn.ExecCtx(ctx, query, data.Introduction, data.Regulations, data.Address, data.Phone, data.Email, data.Website, data.Director, data.DeputyDirector, data.Researchers, data.Id)
return err
}
func (m *defaultBaseoverviewModel) tableName() string {
return m.table
}

View File

@@ -0,0 +1,5 @@
package model
import "github.com/zeromicro/go-zero/core/stores/sqlx"
var ErrNotFound = sqlx.ErrNotFound

View File

@@ -0,0 +1,43 @@
// Code generated by goctl. DO NOT EDIT.
// goctl 1.9.2
package types
type BaseOverview struct {
Id int64 `json:"id"`
Introduction string `json:"introduction"` // 基地简介
Regulations string `json:"regulations"` // 规章制度
Address string `json:"address"` // 联系地址
Phone string `json:"phone"` // 联系电话
Email string `json:"email"` // 联系邮箱
Website string `json:"website"` // 官方网站
Director string `json:"director"` // 主任姓名
DeputyDirector string `json:"deputy_director"` // 副主任姓名
Researchers string `json:"researchers"` // 研究人员(逗号分隔)
}
type GetBaseOverviewReq struct {
}
type GetBaseOverviewResp struct {
Data BaseOverview `json:"data"` // 基地概况详情
Success bool `json:"success"` // 操作是否成功
}
type UpdateBaseOverviewPartialReq struct {
Id int64 `json:"id"`
Introduction string `json:"introduction,optional"` // 可选更新
Regulations string `json:"regulations,optional"` // 可选更新
Address string `json:"address,optional"` // 可选更新
Phone string `json:"phone,optional"` // 可选更新
Email string `json:"email,optional"` // 可选更新
Website string `json:"website,optional"` // 可选更新
Director string `json:"director,optional"` // 可选更新
DeputyDirector string `json:"deputy_director,optional"` // 可选更新
Researchers string `json:"researchers,optional"` // 可选更新
}
type UpdateBaseOverviewPartialResp struct {
Success bool `json:"success"`
Msg string `json:"msg,omitempty"`
}