service apis edit, info, items, status, names
CI / changes (push) Successful in 2s
CI / docker-bff (push) Successful in 1s
CI / docker-product (push) Has been skipped

This commit is contained in:
2026-08-11 10:35:29 +08:00
parent afc8e18635
commit 44c4aed22e
16 changed files with 930 additions and 82 deletions
+2 -2
View File
@@ -103,12 +103,12 @@ func (l *AdminItemsLogic) getRoleInfos(data []dao.AdminInfo) map[string]dao.Role
}
w = modelbase.Params{}
var serversItems []dao.ServicesNameItems
var serversItems []dao.ServicesNames
pErr := model.ServicesModel{}.Init().Items(w, &serversItems)
serverIds := make(map[int]string)
if pErr == nil {
for _, item := range serversItems {
serverIds[item.Id] = item.Name
serverIds[int(item.Id)] = item.Name
}
}
for i := utils.NumberZero; i < len(items); i++ {
+74
View File
@@ -0,0 +1,74 @@
package logic
import (
"admin/internal/dao"
"admin/internal/model"
"admin/validator"
"context"
"strconv"
"admin/admin"
"admin/internal/svc"
"github.com/zeromicro/go-zero/core/logx"
"pkg.local/modelbase"
"pkg.local/utils"
)
type ServiceEditLogic struct {
ctx context.Context
svcCtx *svc.ServiceContext
logx.Logger
BaseLogic
}
func NewServiceEditLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ServiceEditLogic {
return &ServiceEditLogic{
ctx: ctx,
svcCtx: svcCtx,
Logger: logx.WithContext(ctx),
}
}
func (l *ServiceEditLogic) ServiceEdit(in *admin.ServiceEditRequest) (*admin.Response, error) {
var v validator.ServiceEditValidator
if fail := l.checkParams(in, &v); fail != nil {
return fail, nil
}
adminInfo := utils.GetUserFromCtx(l.ctx)
if adminInfo.ID < utils.NumberOne {
return l.fail(utils.ErrorNoLoginInfo), nil
}
edit := dao.Services{
Name: in.Name,
Description: in.Description,
AdminId: adminInfo.ID,
AdminName: adminInfo.Name,
}
modelObj := model.ServicesModel{}.Init()
var err error
if in.Id > utils.NumberZero {
w := modelbase.Params{Eq: map[string]string{"id": strconv.Itoa(int(in.Id))}}
info := dao.Services{}
err = modelObj.GetOne(w, &info)
if err != nil {
l.Logger.Error(err)
return l.fail(utils.Fail), nil
}
if info.Id < utils.NumberOne {
return l.fail(utils.ErrorNotFund), nil
}
edit.Id = info.Id
_, err = modelObj.Edit(w, &edit)
} else {
err = modelObj.Create(&edit)
}
if err != nil {
l.Logger.Error(err)
return l.fail(utils.Fail), nil
}
return l.ok(edit.Id), nil
}
+47
View File
@@ -0,0 +1,47 @@
package logic
import (
"admin/internal/dao"
"admin/internal/model"
"admin/validator"
"context"
"strconv"
"admin/admin"
"admin/internal/svc"
"github.com/zeromicro/go-zero/core/logx"
"pkg.local/modelbase"
"pkg.local/utils"
)
type ServiceInfoLogic struct {
ctx context.Context
svcCtx *svc.ServiceContext
logx.Logger
BaseLogic
}
func NewServiceInfoLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ServiceInfoLogic {
return &ServiceInfoLogic{
ctx: ctx,
svcCtx: svcCtx,
Logger: logx.WithContext(ctx),
}
}
func (l *ServiceInfoLogic) ServiceInfo(in *admin.InfoRequest) (*admin.Response, error) {
var v validator.ServiceInfoValidator
l.Logger.Error(in.Id)
if fail := l.checkParams(in, &v); fail != nil {
return fail, nil
}
info := dao.Services{}
w := modelbase.Params{Eq: map[string]string{"id": strconv.Itoa(int(in.Id))}}
err := model.ServicesModel{}.Init().GetOne(w, &info)
if err != nil {
return l.fail(utils.ErrorNotFund), nil
}
return l.ok(info), nil
}
+51
View File
@@ -0,0 +1,51 @@
package logic
import (
"admin/internal/dao"
"admin/internal/model"
"context"
"strconv"
"admin/admin"
"admin/internal/svc"
"github.com/zeromicro/go-zero/core/logx"
"pkg.local/modelbase"
"pkg.local/utils"
)
type ServiceItemsLogic struct {
ctx context.Context
svcCtx *svc.ServiceContext
logx.Logger
BaseLogic
}
func NewServiceItemsLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ServiceItemsLogic {
return &ServiceItemsLogic{
ctx: ctx,
svcCtx: svcCtx,
Logger: logx.WithContext(ctx),
}
}
func (l *ServiceItemsLogic) ServiceItems(in *admin.ServiceItemsRequest) (*admin.Response, error) {
modelObj := model.ServicesModel{}.Init()
w := modelbase.Params{
Order: "id desc",
}
w.Like = make(map[string]string)
if in.Status > utils.NumberZero {
w.Eq = map[string]string{"status": strconv.Itoa(int(in.Status))}
}
if len(in.Name) > utils.NumberZero {
w.Like["name LIKE ? "] = "%%" + in.Name + "%%"
}
var data []dao.Services
err := modelObj.Items(w, &data)
if err != nil {
l.Logger.Error(err)
return l.fail(utils.Fail), nil
}
return l.ok(data), nil
}
+46
View File
@@ -0,0 +1,46 @@
package logic
import (
"admin/admin"
"admin/internal/dao"
"admin/internal/model"
"admin/internal/svc"
"context"
"github.com/zeromicro/go-zero/core/logx"
"pkg.local/modelbase"
"pkg.local/utils"
)
type ServiceNamesLogic struct {
ctx context.Context
svcCtx *svc.ServiceContext
logx.Logger
BaseLogic
}
func NewServiceNamesLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ServiceNamesLogic {
return &ServiceNamesLogic{
ctx: ctx,
svcCtx: svcCtx,
Logger: logx.WithContext(ctx),
}
}
func (l *ServiceNamesLogic) ServiceNames(in *admin.ServiceNameRequest) (*admin.Response, error) {
var items []dao.ServicesNames
modelObj := model.ServicesModel{}.Init()
w := modelbase.Params{
Eq: map[string]string{"status": utils.StringStatusOk},
}
w.Like = make(map[string]string)
if len(in.Name) > utils.NumberZero {
w.Like["name LIKE ? "] = "%%" + in.Name + "%%"
}
err := modelObj.Items(w, &items)
if err != nil {
l.Logger.Error(err)
return l.fail(utils.Fail), nil
}
return l.ok(items), nil
}
@@ -0,0 +1,65 @@
package logic
import (
"admin/internal/dao"
"admin/internal/model"
"admin/validator"
"context"
"strconv"
"admin/admin"
"admin/internal/svc"
"github.com/zeromicro/go-zero/core/logx"
"pkg.local/modelbase"
"pkg.local/utils"
)
type ServiceStatusLogic struct {
ctx context.Context
svcCtx *svc.ServiceContext
logx.Logger
BaseLogic
}
func NewServiceStatusLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ServiceStatusLogic {
return &ServiceStatusLogic{
ctx: ctx,
svcCtx: svcCtx,
Logger: logx.WithContext(ctx),
}
}
func (l *ServiceStatusLogic) ServiceStatus(in *admin.StatusRequest) (*admin.Response, error) {
var v validator.ServiceStatusValidator
if fail := l.checkParams(in, &v); fail != nil {
return fail, nil
}
adminInfo := utils.GetUserFromCtx(l.ctx)
if adminInfo.ID < utils.NumberOne {
return l.fail(utils.ErrorNoLoginInfo), nil
}
info := dao.ServicesStatus{}
w := modelbase.Params{Eq: map[string]string{"id": strconv.Itoa(int(in.Id))}}
modelObj := model.ServicesModel{}.Init()
err := modelObj.GetOne(w, &info)
if err != nil {
l.Logger.Error(err)
return l.fail(utils.Fail), nil
}
if info.Id < utils.NumberOne {
return l.fail(utils.ErrorNotFund), nil
}
info.Status = uint8(in.Status)
info.Reason = in.Reason
info.AdminName = adminInfo.Name
info.AdminId = adminInfo.ID
_, editErr := modelObj.Edit(w, info)
if editErr != nil {
l.Logger.Error(editErr)
return l.fail(utils.Fail), nil
}
return l.ok(utils.NumberOne), nil
}