修改devProject Internal

This commit is contained in:
2025-10-27 09:40:36 +08:00
parent 73af42f97f
commit d572a89281
13 changed files with 285 additions and 0 deletions

View File

@@ -0,0 +1,50 @@
// 数据模型定义:对应表字段结构
type DevProject {
Id int64 `json:"id"` // 基地开放项目ID主键
BasicDevProjectManagementSystem string `json:"basic_dev_project_management_system"` // 基础开发项目管理制度markdown
BasicDevProjectInitiationResult string `json:"basic_dev_project_initiation_result"` // 基础开发项目立项结果markdown
BasicDevProjectMidtermInspection string `json:"basic_dev_project_midterm_inspection"` // 基础开发项目中期检查markdown
BasicDevProjectAchievements string `json:"basic_dev_project_achievements"` // 基础开发项目成果markdown
}
// 新增/修改请求参数ID存在则更新不存在则新增
type SaveDevProjectReq {
Id int64 `json:"id,omitempty"` // 可选更新时需传入ID
BasicDevProjectManagementSystem string `json:"basic_dev_project_management_system"` // 基础开发项目管理制度
BasicDevProjectInitiationResult string `json:"basic_dev_project_initiation_result"` // 基础开发项目立项结果
BasicDevProjectMidtermInspection string `json:"basic_dev_project_midterm_inspection"` // 基础开发项目中期检查
BasicDevProjectAchievements string `json:"basic_dev_project_achievements"` // 基础开发项目成果
}
// 新增/修改响应结果
type SaveDevProjectResp {
Success bool `json:"success"` // 操作是否成功
Msg string `json:"message"` // 提示信息
Id int64 `json:"id,omitempty"` // 新增时返回生成的ID
}
// 查询请求参数按ID查询
type GetDevProjectReq {
Id int64 `json:"id" form:"id" validate:"required"` // 基地开放项目ID必传
}
// 查询响应结果
type GetDevProjectResp {
DevProject DevProject `json:"dev_project"` // 项目详情
Msg string `json:"message"` // 提示信息
}
@server (
group: devproject // 接口分组:基地开放项目
prefix: /api/devproject
)
service devproject-api {
// 新增或修改项目POST请求支持新增和更新
@handler SaveDevProjectHandler
post /devproject/save (SaveDevProjectReq) returns (SaveDevProjectResp)
// 查询项目详情GET请求按ID查询
@handler GetDevProjectHandler
get /devproject/get (GetDevProjectReq) returns (GetDevProjectResp)
}

View File

@@ -29,6 +29,10 @@ require (
github.com/go-sql-driver/mysql v1.9.0 // indirect github.com/go-sql-driver/mysql v1.9.0 // indirect
github.com/goccy/go-json v0.10.5 // indirect github.com/goccy/go-json v0.10.5 // indirect
github.com/goccy/go-yaml v1.18.0 // indirect github.com/goccy/go-yaml v1.18.0 // indirect
github.com/golang-jwt/jwt/v4 v4.5.2 // indirect
github.com/google/uuid v1.6.0 // indirect
github.com/grafana/pyroscope-go v1.2.7 // indirect
github.com/grafana/pyroscope-go/godeltaprof v0.1.9 // indirect
github.com/grpc-ecosystem/grpc-gateway/v2 v2.20.0 // indirect github.com/grpc-ecosystem/grpc-gateway/v2 v2.20.0 // indirect
github.com/json-iterator/go v1.1.12 // indirect github.com/json-iterator/go v1.1.12 // indirect
github.com/klauspost/compress v1.17.11 // indirect github.com/klauspost/compress v1.17.11 // indirect

View File

@@ -48,11 +48,17 @@ github.com/goccy/go-json v0.10.5 h1:Fq85nIqj+gXn/S5ahsiTlK3TmC85qgirsdTP/+DeaC4=
github.com/goccy/go-json v0.10.5/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M= github.com/goccy/go-json v0.10.5/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M=
github.com/goccy/go-yaml v1.18.0 h1:8W7wMFS12Pcas7KU+VVkaiCng+kG8QiFeFwzFb+rwuw= github.com/goccy/go-yaml v1.18.0 h1:8W7wMFS12Pcas7KU+VVkaiCng+kG8QiFeFwzFb+rwuw=
github.com/goccy/go-yaml v1.18.0/go.mod h1:XBurs7gK8ATbW4ZPGKgcbrY1Br56PdM69F7LkFRi1kA= github.com/goccy/go-yaml v1.18.0/go.mod h1:XBurs7gK8ATbW4ZPGKgcbrY1Br56PdM69F7LkFRi1kA=
github.com/golang-jwt/jwt/v4 v4.5.2 h1:YtQM7lnr8iZ+j5q71MGKkNw9Mn7AjHM68uc9g5fXeUI=
github.com/golang-jwt/jwt/v4 v4.5.2/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0=
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/grafana/pyroscope-go v1.2.7 h1:VWBBlqxjyR0Cwk2W6UrE8CdcdD80GOFNutj0Kb1T8ac=
github.com/grafana/pyroscope-go v1.2.7/go.mod h1:o/bpSLiJYYP6HQtvcoVKiE9s5RiNgjYTj1DhiddP2Pc=
github.com/grafana/pyroscope-go/godeltaprof v0.1.9 h1:c1Us8i6eSmkW+Ez05d3co8kasnuOY813tbMN8i/a3Og=
github.com/grafana/pyroscope-go/godeltaprof v0.1.9/go.mod h1:2+l7K7twW49Ct4wFluZD3tZ6e0SjanjcUUBPVD/UuGU=
github.com/grpc-ecosystem/grpc-gateway/v2 v2.20.0 h1:bkypFPDjIYGfCYD5mRBvpqxfYX1YCS1PXdKYWi8FsN0= github.com/grpc-ecosystem/grpc-gateway/v2 v2.20.0 h1:bkypFPDjIYGfCYD5mRBvpqxfYX1YCS1PXdKYWi8FsN0=
github.com/grpc-ecosystem/grpc-gateway/v2 v2.20.0/go.mod h1:P+Lt/0by1T8bfcF3z737NnSbmxQAppXMRziHUxPOC8k= github.com/grpc-ecosystem/grpc-gateway/v2 v2.20.0/go.mod h1:P+Lt/0by1T8bfcF3z737NnSbmxQAppXMRziHUxPOC8k=
github.com/h2non/parth v0.0.0-20190131123155-b4df798d6542 h1:2VTzZjLZBgl62/EtslCrtky5vbi9dd7HrQPQIx6wqiw= github.com/h2non/parth v0.0.0-20190131123155-b4df798d6542 h1:2VTzZjLZBgl62/EtslCrtky5vbi9dd7HrQPQIx6wqiw=

View File

@@ -0,0 +1,3 @@
Name: devproject-api
Host: 0.0.0.0
Port: 8888

View File

@@ -0,0 +1,10 @@
// Code scaffolded by goctl. Safe to edit.
// goctl 1.9.2
package config
import "github.com/zeromicro/go-zero/rest"
type Config struct {
rest.RestConf
}

View File

@@ -0,0 +1,31 @@
// Code scaffolded by goctl. Safe to edit.
// goctl 1.9.2
package devproject
import (
"net/http"
"github.com/JACKYMYPERSON/hldrCenter/internal/devproject/internal/logic/devproject"
"github.com/JACKYMYPERSON/hldrCenter/internal/devproject/internal/svc"
"github.com/JACKYMYPERSON/hldrCenter/internal/devproject/internal/types"
"github.com/zeromicro/go-zero/rest/httpx"
)
func GetDevProjectHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
var req types.GetDevProjectReq
if err := httpx.Parse(r, &req); err != nil {
httpx.ErrorCtx(r.Context(), w, err)
return
}
l := devproject.NewGetDevProjectLogic(r.Context(), svcCtx)
resp, err := l.GetDevProject(&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 devproject
import (
"net/http"
"github.com/JACKYMYPERSON/hldrCenter/internal/devproject/internal/logic/devproject"
"github.com/JACKYMYPERSON/hldrCenter/internal/devproject/internal/svc"
"github.com/JACKYMYPERSON/hldrCenter/internal/devproject/internal/types"
"github.com/zeromicro/go-zero/rest/httpx"
)
func SaveDevProjectHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
var req types.SaveDevProjectReq
if err := httpx.Parse(r, &req); err != nil {
httpx.ErrorCtx(r.Context(), w, err)
return
}
l := devproject.NewSaveDevProjectLogic(r.Context(), svcCtx)
resp, err := l.SaveDevProject(&req)
if err != nil {
httpx.ErrorCtx(r.Context(), w, err)
} else {
httpx.OkJsonCtx(r.Context(), w, resp)
}
}
}

View File

@@ -0,0 +1,31 @@
// Code generated by goctl. DO NOT EDIT.
// goctl 1.9.2
package handler
import (
"net/http"
devproject "github.com/JACKYMYPERSON/hldrCenter/internal/devproject/internal/handler/devproject"
"github.com/JACKYMYPERSON/hldrCenter/internal/devproject/internal/svc"
"github.com/zeromicro/go-zero/rest"
)
func RegisterHandlers(server *rest.Server, serverCtx *svc.ServiceContext) {
server.AddRoutes(
[]rest.Route{
{
Method: http.MethodGet,
Path: "/devproject/get",
Handler: devproject.GetDevProjectHandler(serverCtx),
},
{
Method: http.MethodPost,
Path: "/devproject/save",
Handler: devproject.SaveDevProjectHandler(serverCtx),
},
},
rest.WithPrefix("/api/devproject"),
)
}

View File

@@ -0,0 +1,33 @@
// Code scaffolded by goctl. Safe to edit.
// goctl 1.9.2
package devproject
import (
"context"
"github.com/JACKYMYPERSON/hldrCenter/internal/devproject/internal/svc"
"github.com/JACKYMYPERSON/hldrCenter/internal/devproject/internal/types"
"github.com/zeromicro/go-zero/core/logx"
)
type GetDevProjectLogic struct {
logx.Logger
ctx context.Context
svcCtx *svc.ServiceContext
}
func NewGetDevProjectLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetDevProjectLogic {
return &GetDevProjectLogic{
Logger: logx.WithContext(ctx),
ctx: ctx,
svcCtx: svcCtx,
}
}
func (l *GetDevProjectLogic) GetDevProject(req *types.GetDevProjectReq) (resp *types.GetDevProjectResp, 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 devproject
import (
"context"
"github.com/JACKYMYPERSON/hldrCenter/internal/devproject/internal/svc"
"github.com/JACKYMYPERSON/hldrCenter/internal/devproject/internal/types"
"github.com/zeromicro/go-zero/core/logx"
)
type SaveDevProjectLogic struct {
logx.Logger
ctx context.Context
svcCtx *svc.ServiceContext
}
func NewSaveDevProjectLogic(ctx context.Context, svcCtx *svc.ServiceContext) *SaveDevProjectLogic {
return &SaveDevProjectLogic{
Logger: logx.WithContext(ctx),
ctx: ctx,
svcCtx: svcCtx,
}
}
func (l *SaveDevProjectLogic) SaveDevProject(req *types.SaveDevProjectReq) (resp *types.SaveDevProjectResp, err error) {
// todo: add your logic here and delete this line
return
}

View File

@@ -0,0 +1,18 @@
// Code scaffolded by goctl. Safe to edit.
// goctl 1.9.2
package svc
import (
"github.com/JACKYMYPERSON/hldrCenter/internal/devproject/internal/config"
)
type ServiceContext struct {
Config config.Config
}
func NewServiceContext(c config.Config) *ServiceContext {
return &ServiceContext{
Config: c,
}
}

View File

@@ -0,0 +1,35 @@
// Code generated by goctl. DO NOT EDIT.
// goctl 1.9.2
package types
type DevProject struct {
Id int64 `json:"id"` // 基地开放项目ID主键
BasicDevProjectManagementSystem string `json:"basic_dev_project_management_system"` // 基础开发项目管理制度markdown
BasicDevProjectInitiationResult string `json:"basic_dev_project_initiation_result"` // 基础开发项目立项结果markdown
BasicDevProjectMidtermInspection string `json:"basic_dev_project_midterm_inspection"` // 基础开发项目中期检查markdown
BasicDevProjectAchievements string `json:"basic_dev_project_achievements"` // 基础开发项目成果markdown
}
type GetDevProjectReq struct {
Id int64 `json:"id" form:"id" validate:"required"` // 基地开放项目ID必传
}
type GetDevProjectResp struct {
DevProject DevProject `json:"dev_project"` // 项目详情
Msg string `json:"message"` // 提示信息
}
type SaveDevProjectReq struct {
Id int64 `json:"id,omitempty"` // 可选更新时需传入ID
BasicDevProjectManagementSystem string `json:"basic_dev_project_management_system"` // 基础开发项目管理制度
BasicDevProjectInitiationResult string `json:"basic_dev_project_initiation_result"` // 基础开发项目立项结果
BasicDevProjectMidtermInspection string `json:"basic_dev_project_midterm_inspection"` // 基础开发项目中期检查
BasicDevProjectAchievements string `json:"basic_dev_project_achievements"` // 基础开发项目成果
}
type SaveDevProjectResp struct {
Success bool `json:"success"` // 操作是否成功
Msg string `json:"message"` // 提示信息
Id int64 `json:"id,omitempty"` // 新增时返回生成的ID
}

View File