chore: 并入 iotlcm-app 历史到 app/(原提交 f40bda9)

This commit is contained in:
MiFaZhan
2026-11-02 13:28:00 +08:00
1107 changed files with 147143 additions and 0 deletions
@@ -0,0 +1,39 @@
package app
import (
"context"
"github.com/gogf/gf/v2/errors/gerror"
"strings"
v1 "git.5iot.com/iotlcm-public/iotlcm-app/api/app/v1"
"git.5iot.com/iotlcm-public/iotlcm-app/internal/library/allocaterequest"
"git.5iot.com/iotlcm-public/iotlcm-app/internal/library/contexts"
"git.5iot.com/iotlcm-public/iotlcm-app/internal/service/executionlog"
)
type AllocateResultController struct{}
func (c *AllocateResultController) Result(ctx context.Context, req *v1.AllocateResultReq) (*v1.AllocateResultRes, error) {
batchNo := strings.TrimSpace(req.BatchNo)
if batchNo == "" {
batch, err := allocaterequest.Find(ctx, contexts.GetTenantId(ctx), contexts.GetUserId(ctx), req.RequestId)
if err != nil {
return nil, err
}
if batch == nil {
return nil, gerror.New("划拨批次不存在或无权查看")
}
batchNo = batch.BatchNo
}
item, err := executionlog.AllocateSummary(ctx, batchNo)
if err != nil {
return nil, err
}
return &v1.AllocateResultRes{AppExecutionLogItem: item}, nil
}
func (c *AllocateResultController) Details(ctx context.Context, req *v1.AllocateDetailsReq) (*v1.AllocateDetailsRes, error) {
items, total, err := executionlog.AllocateDetails(ctx, &req.AppExecutionLogDetailParam)
if err != nil {
return nil, err
}
return &v1.AllocateDetailsRes{Items: items, Total: total}, nil
}
@@ -0,0 +1,9 @@
package app
import apiApp "git.5iot.com/iotlcm-public/iotlcm-app/api/app"
type ControllerV1 struct{}
func NewV1() apiApp.IAppV1 {
return &ControllerV1{}
}
@@ -0,0 +1,89 @@
package app
import (
"context"
v1 "git.5iot.com/iotlcm-public/iotlcm-app/api/app/v1"
"git.5iot.com/iotlcm-public/iotlcm-app/internal/service"
)
func (c *ControllerV1) Captcha(ctx context.Context, req *v1.CaptchaReq) (res *v1.CaptchaRes, err error) {
captchaID, captchaImage, err := service.AppAuth().Captcha(ctx)
if err != nil {
return nil, err
}
return &v1.CaptchaRes{
CaptchaID: captchaID,
CaptchaImage: captchaImage,
}, nil
}
func (c *ControllerV1) SideCaptcha(ctx context.Context, req *v1.SideCaptchaReq) (res *v1.SideCaptchaRes, err error) {
captcha, err := service.AppAuth().SideCaptcha(ctx)
if err != nil {
return nil, err
}
return &v1.SideCaptchaRes{AppSideCaptchaModel: *captcha}, nil
}
func (c *ControllerV1) CheckSideCaptcha(ctx context.Context, req *v1.CheckSideCaptchaReq) (res *v1.CheckSideCaptchaRes, err error) {
if err = service.AppAuth().CheckSideCaptcha(ctx, &req.AppCheckSideCaptchaParam); err != nil {
return nil, err
}
return &v1.CheckSideCaptchaRes{Success: true}, nil
}
func (c *ControllerV1) SendSms(ctx context.Context, req *v1.SendSmsReq) (res *v1.SendSmsRes, err error) {
sms, err := service.AppAuth().SendSms(ctx, &req.AppSendSmsParam)
if err != nil {
return nil, err
}
return &v1.SendSmsRes{AppSendSmsModel: *sms}, nil
}
func (c *ControllerV1) PhoneRegister(ctx context.Context, req *v1.PhoneRegisterReq) (res *v1.PhoneRegisterRes, err error) {
token, err := service.AppAuth().PhoneRegister(ctx, &req.AppPhoneRegisterParam)
if err != nil {
return nil, err
}
return &v1.PhoneRegisterRes{AppAuthTokenModel: *token}, nil
}
func (c *ControllerV1) PhoneLogin(ctx context.Context, req *v1.PhoneLoginReq) (res *v1.PhoneLoginRes, err error) {
token, err := service.AppAuth().PhoneLogin(ctx, &req.AppPhoneLoginParam)
if err != nil {
return nil, err
}
return &v1.PhoneLoginRes{AppAuthTokenModel: *token}, nil
}
func (c *ControllerV1) PhoneSmsLogin(ctx context.Context, req *v1.PhoneSmsLoginReq) (res *v1.PhoneSmsLoginRes, err error) {
token, err := service.AppAuth().PhoneSmsLogin(ctx, &req.AppPhoneSmsLoginParam)
if err != nil {
return nil, err
}
return &v1.PhoneSmsLoginRes{AppAuthTokenModel: *token}, nil
}
func (c *ControllerV1) WechatLogin(ctx context.Context, req *v1.WechatLoginReq) (res *v1.WechatLoginRes, err error) {
data, err := service.AppAuth().WechatLogin(ctx, &req.AppWechatLoginParam)
if err != nil {
return nil, err
}
return &v1.WechatLoginRes{AppWechatLoginModel: *data}, nil
}
func (c *ControllerV1) WechatBindPhone(ctx context.Context, req *v1.WechatBindPhoneReq) (res *v1.WechatBindPhoneRes, err error) {
data, err := service.AppAuth().WechatBindPhone(ctx, &req.AppWechatBindPhoneParam)
if err != nil {
return nil, err
}
return &v1.WechatBindPhoneRes{AppWechatBindPhoneModel: *data}, nil
}
func (c *ControllerV1) ForgotPassword(ctx context.Context, req *v1.ForgotPasswordReq) (res *v1.ForgotPasswordRes, err error) {
if err = service.AppAuth().ForgotPassword(ctx, &req.AppForgotPasswordParam); err != nil {
return nil, err
}
return &v1.ForgotPasswordRes{Success: true}, nil
}
@@ -0,0 +1,89 @@
package app
import (
"context"
v1 "git.5iot.com/iotlcm-public/iotlcm-app/api/app/v1"
"git.5iot.com/iotlcm-public/iotlcm-app/internal/service"
"github.com/gogf/gf/v2/frame/g"
"github.com/gogf/gf/v2/net/ghttp"
)
func (c *ControllerV1) BalanceRechargeSubmit(ctx context.Context, req *v1.BalanceRechargeSubmitReq) (res *v1.BalanceRechargeSubmitRes, err error) {
order, err := service.AppCard().BalanceRechargeSubmit(ctx, &req.AppBalanceRechargeSubmitParam)
if err != nil {
return nil, err
}
return &v1.BalanceRechargeSubmitRes{AppBalanceRechargeSubmitModel: order}, nil
}
func (c *ControllerV1) BalanceRechargeStatus(ctx context.Context, req *v1.BalanceRechargeStatusReq) (res *v1.BalanceRechargeStatusRes, err error) {
status, err := service.AppCard().BalanceRechargeStatus(ctx, &req.AppBalanceRechargeStatusParam)
if err != nil {
return nil, err
}
return &v1.BalanceRechargeStatusRes{AppBalanceRechargeStatusModel: status}, nil
}
func (c *ControllerV1) BalanceRechargeMockPay(ctx context.Context, req *v1.BalanceRechargeMockPayReq) (res *v1.BalanceRechargeMockPayRes, err error) {
status, err := service.AppCard().BalanceRechargeMockPay(ctx, &req.AppBalanceRechargeMockPayParam)
if err != nil {
return nil, err
}
return &v1.BalanceRechargeMockPayRes{AppBalanceRechargeStatusModel: status}, nil
}
func (c *ControllerV1) BalanceRechargeRefund(ctx context.Context, req *v1.BalanceRechargeRefundReq) (res *v1.BalanceRechargeRefundRes, err error) {
order, err := service.AppCard().BalanceRechargeRefund(ctx, &req.AppBalanceRechargeRefundParam)
if err != nil {
return nil, err
}
return &v1.BalanceRechargeRefundRes{AppOrderModel: order}, nil
}
func (c *ControllerV1) BalanceRechargeWechatNotify(ctx context.Context, req *v1.BalanceRechargeWechatNotifyReq) (res *v1.BalanceRechargeWechatNotifyRes, err error) {
r := ghttp.RequestFromCtx(ctx)
if r == nil {
return nil, nil
}
if err = service.AppCard().BalanceRechargeWechatNotify(ctx); err != nil {
g.Log().Errorf(ctx, "微信支付余额充值回调处理失败: %v", err)
r.Response.Status = 500
r.Response.WriteJson(g.Map{
"code": "FAIL",
"message": err.Error(),
})
r.ExitAll()
return nil, nil
}
r.Response.WriteJson(g.Map{
"code": "SUCCESS",
"message": "成功",
})
r.ExitAll()
return nil, nil
}
func (c *ControllerV1) BalanceRechargeWechatRefundNotify(ctx context.Context, req *v1.BalanceRechargeWechatRefundNotifyReq) (res *v1.BalanceRechargeWechatRefundNotifyRes, err error) {
r := ghttp.RequestFromCtx(ctx)
if r == nil {
return nil, nil
}
if err = service.AppCard().BalanceRechargeWechatRefundNotify(ctx); err != nil {
g.Log().Errorf(ctx, "微信支付退款回调处理失败: %v", err)
r.Response.Status = 500
r.Response.WriteJson(g.Map{
"code": "FAIL",
"message": err.Error(),
})
r.ExitAll()
return nil, nil
}
r.Response.WriteJson(g.Map{
"code": "SUCCESS",
"message": "成功",
})
r.ExitAll()
return nil, nil
}
@@ -0,0 +1,180 @@
package app
import (
"context"
v1 "git.5iot.com/iotlcm-public/iotlcm-app/api/app/v1"
"git.5iot.com/iotlcm-public/iotlcm-app/internal/service"
)
func (c *ControllerV1) PublicQueryCard(ctx context.Context, req *v1.PublicQueryCardReq) (res *v1.PublicQueryCardRes, err error) {
card, err := service.AppCard().PublicQuery(ctx, &req.AppCardQueryParam)
if err != nil {
return nil, err
}
return &v1.PublicQueryCardRes{Card: card}, nil
}
func (c *ControllerV1) RecognizeCard(ctx context.Context, req *v1.RecognizeCardReq) (res *v1.RecognizeCardRes, err error) {
result, err := service.AppCard().RecognizeCard(ctx)
if err != nil {
return nil, err
}
return &v1.RecognizeCardRes{AppCardRecognitionModel: result}, nil
}
func (c *ControllerV1) CardList(ctx context.Context, req *v1.CardListReq) (res *v1.CardListRes, err error) {
items, total, err := service.AppCard().List(ctx, &req.AppCardListParam)
if err != nil {
return nil, err
}
hasMore := len(items) >= req.PageSize
if req.IncludeTotal == nil || *req.IncludeTotal {
hasMore = req.Page*req.PageSize < total
}
return &v1.CardListRes{Items: items, Total: total, HasMore: hasMore}, nil
}
func (c *ControllerV1) PackageList(ctx context.Context, req *v1.PackageListReq) (res *v1.PackageListRes, err error) {
items, total, err := service.AppCard().PackageList(ctx, &req.AppPackageListParam)
if err != nil {
return nil, err
}
return &v1.PackageListRes{Items: items, Total: total}, nil
}
func (c *ControllerV1) PublicPackageDetail(ctx context.Context, req *v1.PublicPackageDetailReq) (res *v1.PublicPackageDetailRes, err error) {
pkg, err := service.AppCard().PublicPackageDetail(ctx, &req.AppPackagePublicDetailParam)
if err != nil {
return nil, err
}
return &v1.PublicPackageDetailRes{Package: pkg}, nil
}
func (c *ControllerV1) CardDetail(ctx context.Context, req *v1.CardDetailReq) (res *v1.CardDetailRes, err error) {
card, err := service.AppCard().Detail(ctx, &req.AppCardDetailParam)
if err != nil {
return nil, err
}
return &v1.CardDetailRes{Card: card}, nil
}
func (c *ControllerV1) BindCard(ctx context.Context, req *v1.BindCardReq) (res *v1.BindCardRes, err error) {
card, err := service.AppCard().Bind(ctx, &req.AppCardBindParam)
if err != nil {
return nil, err
}
return &v1.BindCardRes{Card: card}, nil
}
func (c *ControllerV1) RestartCard(ctx context.Context, req *v1.RestartCardReq) (res *v1.RestartCardRes, err error) {
restart, err := service.AppCard().Restart(ctx, &req.AppCardRestartParam)
if err != nil {
return nil, err
}
return &v1.RestartCardRes{AppCardRestartModel: restart}, nil
}
func (c *ControllerV1) StopCard(ctx context.Context, req *v1.StopCardReq) (res *v1.StopCardRes, err error) {
stop, err := service.AppCard().Stop(ctx, &req.AppCardRestartParam)
if err != nil {
return nil, err
}
return &v1.StopCardRes{AppCardLifecycleModel: stop}, nil
}
func (c *ControllerV1) StartCard(ctx context.Context, req *v1.StartCardReq) (res *v1.StartCardRes, err error) {
start, err := service.AppCard().Start(ctx, &req.AppCardRestartParam)
if err != nil {
return nil, err
}
return &v1.StartCardRes{AppCardLifecycleModel: start}, nil
}
func (c *ControllerV1) LifecycleBatchSubmit(ctx context.Context, req *v1.LifecycleBatchSubmitReq) (res *v1.LifecycleBatchSubmitRes, err error) {
submit, err := service.AppCard().LifecycleBatchSubmit(ctx, &req.AppCardLifecycleParam)
if err != nil {
return nil, err
}
return &v1.LifecycleBatchSubmitRes{AppCardLifecycleModel: submit}, nil
}
func (c *ControllerV1) LifecycleBatchStatus(ctx context.Context, req *v1.LifecycleBatchStatusReq) (res *v1.LifecycleBatchStatusRes, err error) {
status, err := service.AppCard().LifecycleBatchStatus(ctx, &req.AppCardLifecycleStatusParam)
if err != nil {
return nil, err
}
return &v1.LifecycleBatchStatusRes{AppCardLifecycleModel: status}, nil
}
func (c *ControllerV1) RenewPrepare(ctx context.Context, req *v1.RenewPrepareReq) (res *v1.RenewPrepareRes, err error) {
prepare, err := service.AppCard().RenewPrepare(ctx, &req.AppCardRenewPrepareParam)
if err != nil {
return nil, err
}
return &v1.RenewPrepareRes{AppCardRenewPrepareModel: prepare}, nil
}
func (c *ControllerV1) RenewBatchPrepare(ctx context.Context, req *v1.RenewBatchPrepareReq) (res *v1.RenewBatchPrepareRes, err error) {
prepare, err := service.AppCard().RenewBatchPrepare(ctx, &req.AppCardRenewBatchPrepareParam)
if err != nil {
return nil, err
}
return &v1.RenewBatchPrepareRes{AppCardRenewPrepareModel: prepare}, nil
}
func (c *ControllerV1) RenewSubmit(ctx context.Context, req *v1.RenewSubmitReq) (res *v1.RenewSubmitRes, err error) {
submit, err := service.AppCard().RenewSubmit(ctx, &req.AppCardRenewSubmitParam)
if err != nil {
return nil, err
}
return &v1.RenewSubmitRes{AppCardRenewSubmitModel: submit}, nil
}
func (c *ControllerV1) RenewBatchSubmit(ctx context.Context, req *v1.RenewBatchSubmitReq) (res *v1.RenewBatchSubmitRes, err error) {
submit, err := service.AppCard().RenewBatchSubmit(ctx, &req.AppCardRenewBatchSubmitParam)
if err != nil {
return nil, err
}
return &v1.RenewBatchSubmitRes{AppCardRenewSubmitModel: submit}, nil
}
func (c *ControllerV1) AllocateTargets(ctx context.Context, req *v1.AllocateTargetsReq) (res *v1.AllocateTargetsRes, err error) {
items, total, err := service.AppCard().AllocateTargets(ctx, &req.AppCardAllocateTargetListParam)
if err != nil {
return nil, err
}
return &v1.AllocateTargetsRes{Items: items, Total: total}, nil
}
func (c *ControllerV1) AllocateBatchPrepare(ctx context.Context, req *v1.AllocateBatchPrepareReq) (res *v1.AllocateBatchPrepareRes, err error) {
prepare, err := service.AppCard().AllocateBatchPrepare(ctx, &req.AppCardAllocateBatchPrepareParam)
if err != nil {
return nil, err
}
return &v1.AllocateBatchPrepareRes{AppCardAllocateBatchModel: prepare}, nil
}
func (c *ControllerV1) AllocateBatchSubmit(ctx context.Context, req *v1.AllocateBatchSubmitReq) (res *v1.AllocateBatchSubmitRes, err error) {
submit, err := service.AppCard().AllocateBatchSubmit(ctx, &req.AppCardAllocateBatchSubmitParam)
if err != nil {
return nil, err
}
return &v1.AllocateBatchSubmitRes{AppCardAllocateBatchModel: submit}, nil
}
func (c *ControllerV1) ChangePrepare(ctx context.Context, req *v1.ChangePrepareReq) (res *v1.ChangePrepareRes, err error) {
prepare, err := service.AppCard().ChangePrepare(ctx, &req.AppCardChangePrepareParam)
if err != nil {
return nil, err
}
return &v1.ChangePrepareRes{AppCardChangePrepareModel: prepare}, nil
}
func (c *ControllerV1) ChangeSubmit(ctx context.Context, req *v1.ChangeSubmitReq) (res *v1.ChangeSubmitRes, err error) {
submit, err := service.AppCard().ChangeSubmit(ctx, &req.AppCardChangeSubmitParam)
if err != nil {
return nil, err
}
return &v1.ChangeSubmitRes{AppCardChangeSubmitModel: submit}, nil
}
@@ -0,0 +1,24 @@
package app
import (
"context"
v1 "git.5iot.com/iotlcm-public/iotlcm-app/api/app/v1"
"git.5iot.com/iotlcm-public/iotlcm-app/internal/service"
)
func (c *ControllerV1) CustomerList(ctx context.Context, req *v1.CustomerListReq) (res *v1.CustomerListRes, err error) {
items, total, summary, err := service.AppUser().CustomerList(ctx, &req.AppCustomerListParam)
if err != nil {
return nil, err
}
return &v1.CustomerListRes{Items: items, Total: total, Summary: summary}, nil
}
func (c *ControllerV1) CustomerDetail(ctx context.Context, req *v1.CustomerDetailReq) (res *v1.CustomerDetailRes, err error) {
customer, err := service.AppUser().CustomerDetail(ctx, &req.AppCustomerDetailParam)
if err != nil {
return nil, err
}
return &v1.CustomerDetailRes{Customer: customer}, nil
}
@@ -0,0 +1,24 @@
package app
import (
"context"
v1 "git.5iot.com/iotlcm-public/iotlcm-app/api/app/v1"
"git.5iot.com/iotlcm-public/iotlcm-app/internal/service"
)
func (c *ControllerV1) DiagnosisInfo(ctx context.Context, req *v1.DiagnosisInfoReq) (res *v1.DiagnosisInfoRes, err error) {
info, err := service.AppDiagnosis().Info(ctx, &req.AppDiagnosisInfoParam)
if err != nil {
return nil, err
}
return &v1.DiagnosisInfoRes{AppDiagnosisInfoModel: info}, nil
}
func (c *ControllerV1) DiagnosisFlow(ctx context.Context, req *v1.DiagnosisFlowReq) (res *v1.DiagnosisFlowRes, err error) {
flow, err := service.AppDiagnosis().Flow(ctx, &req.AppDiagnosisFlowParam)
if err != nil {
return nil, err
}
return &v1.DiagnosisFlowRes{AppDiagnosisFlowModel: flow}, nil
}
@@ -0,0 +1,32 @@
package app
import (
"context"
v1 "git.5iot.com/iotlcm-public/iotlcm-app/api/app/v1"
"git.5iot.com/iotlcm-public/iotlcm-app/internal/service"
)
func (c *ControllerV1) MessageList(ctx context.Context, req *v1.MessageListReq) (res *v1.MessageListRes, err error) {
items, total, err := service.AppMessage().List(ctx, &req.AppMessageListParam)
if err != nil {
return nil, err
}
return &v1.MessageListRes{Items: items, Total: total}, nil
}
func (c *ControllerV1) MessageDetail(ctx context.Context, req *v1.MessageDetailReq) (res *v1.MessageDetailRes, err error) {
message, err := service.AppMessage().Detail(ctx, &req.AppMessageDetailParam)
if err != nil {
return nil, err
}
return &v1.MessageDetailRes{Message: message}, nil
}
func (c *ControllerV1) MessageRead(ctx context.Context, req *v1.MessageReadReq) (res *v1.MessageReadRes, err error) {
err = service.AppMessage().Read(ctx, &req.AppMessageReadParam)
if err != nil {
return nil, err
}
return &v1.MessageReadRes{}, nil
}
@@ -0,0 +1,29 @@
package app
import (
"context"
v1 "git.5iot.com/iotlcm-public/iotlcm-app/api/app/v1"
"git.5iot.com/iotlcm-public/iotlcm-app/internal/service"
)
func (c *ControllerV1) WarningPreference(ctx context.Context, req *v1.WarningPreferenceReq) (*v1.WarningPreferenceRes, error) {
data, err := service.AppUser().WarningPreference(ctx)
if err != nil {
return nil, err
}
return &v1.WarningPreferenceRes{AppWarningPreferenceModel: *data}, nil
}
func (c *ControllerV1) SaveWarningPreference(ctx context.Context, req *v1.SaveWarningPreferenceReq) (*v1.SaveWarningPreferenceRes, error) {
data, err := service.AppUser().SaveWarningPreference(ctx, &req.AppWarningPreferenceParam)
if err != nil {
return nil, err
}
return &v1.SaveWarningPreferenceRes{AppWarningPreferenceModel: *data}, nil
}
func (c *ControllerV1) UnbindWechat(ctx context.Context, req *v1.UnbindWechatReq) (*v1.UnbindWechatRes, error) {
data, err := service.AppUser().UnbindWechat(ctx)
if err != nil {
return nil, err
}
return &v1.UnbindWechatRes{AppWechatBindModel: *data}, nil
}
@@ -0,0 +1,24 @@
package app
import (
"context"
v1 "git.5iot.com/iotlcm-public/iotlcm-app/api/app/v1"
"git.5iot.com/iotlcm-public/iotlcm-app/internal/service"
)
func (c *ControllerV1) OpenDiagnosisInfo(ctx context.Context, req *v1.OpenDiagnosisInfoReq) (res *v1.OpenDiagnosisInfoRes, err error) {
info, err := service.AppDiagnosis().OpenInfo(ctx, &req.AppOpenDiagnosisInfoParam)
if err != nil {
return nil, err
}
return &v1.OpenDiagnosisInfoRes{AppDiagnosisInfoModel: info}, nil
}
func (c *ControllerV1) OpenDiagnosisFlow(ctx context.Context, req *v1.OpenDiagnosisFlowReq) (res *v1.OpenDiagnosisFlowRes, err error) {
flow, err := service.AppDiagnosis().OpenFlow(ctx, &req.AppOpenDiagnosisFlowParam)
if err != nil {
return nil, err
}
return &v1.OpenDiagnosisFlowRes{AppDiagnosisFlowModel: flow}, nil
}
@@ -0,0 +1,24 @@
package app
import (
"context"
v1 "git.5iot.com/iotlcm-public/iotlcm-app/api/app/v1"
"git.5iot.com/iotlcm-public/iotlcm-app/internal/service"
)
func (c *ControllerV1) OrderList(ctx context.Context, req *v1.OrderListReq) (res *v1.OrderListRes, err error) {
items, total, err := service.AppOrder().List(ctx, &req.AppOrderListParam)
if err != nil {
return nil, err
}
return &v1.OrderListRes{Items: items, Total: total}, nil
}
func (c *ControllerV1) OrderDetail(ctx context.Context, req *v1.OrderDetailReq) (res *v1.OrderDetailRes, err error) {
order, err := service.AppOrder().Detail(ctx, &req.AppOrderDetailParam)
if err != nil {
return nil, err
}
return &v1.OrderDetailRes{Order: order}, nil
}
@@ -0,0 +1,32 @@
package app
import (
"context"
v1 "git.5iot.com/iotlcm-public/iotlcm-app/api/app/v1"
"git.5iot.com/iotlcm-public/iotlcm-app/internal/service"
)
func (c *ControllerV1) UserInfo(ctx context.Context, req *v1.UserInfoReq) (res *v1.UserInfoRes, err error) {
user, err := service.AppUser().Info(ctx)
if err != nil {
return nil, err
}
return &v1.UserInfoRes{AppUserInfoModel: *user}, nil
}
func (c *ControllerV1) UpdateUserInfo(ctx context.Context, req *v1.UpdateUserInfoReq) (res *v1.UpdateUserInfoRes, err error) {
user, err := service.AppUser().UpdateInfo(ctx, &req.AppUpdateUserInfoParam)
if err != nil {
return nil, err
}
return &v1.UpdateUserInfoRes{AppUserInfoModel: *user}, nil
}
func (c *ControllerV1) BindWechat(ctx context.Context, req *v1.BindWechatReq) (res *v1.BindWechatRes, err error) {
data, err := service.AppUser().BindWechat(ctx, &req.AppWechatBindParam)
if err != nil {
return nil, err
}
return &v1.BindWechatRes{AppWechatBindModel: *data}, nil
}
@@ -0,0 +1,56 @@
package app
import (
"context"
v1 "git.5iot.com/iotlcm-public/iotlcm-app/api/app/v1"
"git.5iot.com/iotlcm-public/iotlcm-app/internal/service"
)
func (c *ControllerV1) WarningConfigList(ctx context.Context, req *v1.WarningConfigListReq) (res *v1.WarningConfigListRes, err error) {
data, err := service.AppWarning().ConfigList(ctx, &req.AppWarningConfigListParam)
if err != nil {
return nil, err
}
return &v1.WarningConfigListRes{AppWarningConfigListModel: *data}, nil
}
func (c *ControllerV1) WarningConfigSave(ctx context.Context, req *v1.WarningConfigSaveReq) (res *v1.WarningConfigSaveRes, err error) {
data, err := service.AppWarning().ConfigSave(ctx, &req.AppWarningConfigSaveParam)
if err != nil {
return nil, err
}
return &v1.WarningConfigSaveRes{AppWarningConfigSaveModel: *data}, nil
}
func (c *ControllerV1) WarningConfigNotify(ctx context.Context, req *v1.WarningConfigNotifyReq) (res *v1.WarningConfigNotifyRes, err error) {
data, err := service.AppWarning().ConfigNotify(ctx, &req.AppWarningConfigNotifyParam)
if err != nil {
return nil, err
}
return &v1.WarningConfigNotifyRes{AppWarningConfigNotifyModel: *data}, nil
}
func (c *ControllerV1) WarningConfigMeta(ctx context.Context, req *v1.WarningConfigMetaReq) (res *v1.WarningConfigMetaRes, err error) {
data, err := service.AppWarning().ConfigMeta(ctx)
if err != nil {
return nil, err
}
return &v1.WarningConfigMetaRes{AppWarningConfigMetaModel: *data}, nil
}
func (c *ControllerV1) WarningConfigBatchSave(ctx context.Context, req *v1.WarningConfigBatchSaveReq) (res *v1.WarningConfigBatchSaveRes, err error) {
data, err := service.AppWarning().ConfigBatchSave(ctx, &req.AppWarningConfigBatchSaveParam)
if err != nil {
return nil, err
}
return &v1.WarningConfigBatchSaveRes{AppWarningConfigBatchSaveModel: *data}, nil
}
func (c *ControllerV1) WarningConfigBatchNotify(ctx context.Context, req *v1.WarningConfigBatchNotifyReq) (res *v1.WarningConfigBatchNotifyRes, err error) {
data, err := service.AppWarning().ConfigBatchNotify(ctx, &req.AppWarningConfigBatchNotifyParam)
if err != nil {
return nil, err
}
return &v1.WarningConfigBatchNotifyRes{AppWarningConfigBatchNotifyModel: *data}, nil
}
@@ -0,0 +1,47 @@
package app
import (
"context"
v1 "git.5iot.com/iotlcm-public/iotlcm-app/api/app/v1"
"git.5iot.com/iotlcm-public/iotlcm-app/internal/service"
)
func (c *ControllerV1) WorkOrderList(ctx context.Context, req *v1.WorkOrderListReq) (res *v1.WorkOrderListRes, err error) {
items, total, err := service.AppWorkOrder().List(ctx, &req.AppWorkOrderListParam)
if err != nil {
return nil, err
}
return &v1.WorkOrderListRes{Items: items, Total: total}, nil
}
func (c *ControllerV1) WorkOrderDetail(ctx context.Context, req *v1.WorkOrderDetailReq) (res *v1.WorkOrderDetailRes, err error) {
workOrder, err := service.AppWorkOrder().Detail(ctx, &req.AppWorkOrderDetailParam)
if err != nil {
return nil, err
}
return &v1.WorkOrderDetailRes{WorkOrder: workOrder}, nil
}
func (c *ControllerV1) WorkOrderCreate(ctx context.Context, req *v1.WorkOrderCreateReq) (res *v1.WorkOrderCreateRes, err error) {
workOrder, err := service.AppWorkOrder().Create(ctx, &req.AppWorkOrderCreateParam)
if err != nil {
return nil, err
}
return &v1.WorkOrderCreateRes{WorkOrder: workOrder}, nil
}
func (c *ControllerV1) WorkOrderUpload(ctx context.Context, req *v1.WorkOrderUploadReq) (res *v1.WorkOrderUploadRes, err error) {
workOrderFile, err := service.AppWorkOrder().Upload(ctx)
if err != nil {
return nil, err
}
return &v1.WorkOrderUploadRes{SysOssUploadModel: workOrderFile}, nil
}
func (c *ControllerV1) WorkOrderAction(ctx context.Context, req *v1.WorkOrderActionReq) (*v1.WorkOrderActionRes, error) {
if err := service.AppWorkOrder().Action(ctx, &req.AppWorkOrderActionParam); err != nil {
return nil, err
}
return &v1.WorkOrderActionRes{}, nil
}
@@ -0,0 +1,31 @@
package app
import (
"context"
v1 "git.5iot.com/iotlcm-public/iotlcm-app/api/app/v1"
"git.5iot.com/iotlcm-public/iotlcm-app/internal/service/executionlog"
)
type ExecutionLogController struct{}
func (c *ExecutionLogController) List(ctx context.Context, req *v1.ExecutionLogListReq) (*v1.ExecutionLogListRes, error) {
items, total, err := executionlog.List(ctx, &req.AppExecutionLogListParam)
if err != nil {
return nil, err
}
return &v1.ExecutionLogListRes{Items: items, Total: total}, nil
}
func (c *ExecutionLogController) Summary(ctx context.Context, req *v1.ExecutionLogSummaryReq) (*v1.ExecutionLogSummaryRes, error) {
item, err := executionlog.Summary(ctx, req.BatchNo)
if err != nil {
return nil, err
}
return &v1.ExecutionLogSummaryRes{AppExecutionLogItem: item}, nil
}
func (c *ExecutionLogController) Details(ctx context.Context, req *v1.ExecutionLogDetailsReq) (*v1.ExecutionLogDetailsRes, error) {
items, total, err := executionlog.Details(ctx, &req.AppExecutionLogDetailParam)
if err != nil {
return nil, err
}
return &v1.ExecutionLogDetailsRes{Items: items, Total: total}, nil
}
@@ -0,0 +1,5 @@
// =================================================================================
// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.
// =================================================================================
package common
@@ -0,0 +1,15 @@
// =================================================================================
// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.
// =================================================================================
package common
import (
"git.5iot.com/iotlcm-public/iotlcm-app/api/common"
)
type ControllerV1 struct{}
func NewV1() common.ICommonV1 {
return &ControllerV1{}
}
@@ -0,0 +1,31 @@
package common
import (
"context"
v1 "git.5iot.com/iotlcm-public/iotlcm-app/api/common/v1"
"git.5iot.com/iotlcm-public/iotlcm-app/internal/service"
"github.com/gogf/gf/v2/net/ghttp"
)
func (c *ControllerV1) SysOssUpload(ctx context.Context, req *v1.SysOssUploadReq) (res *v1.SysOssUploadRes, err error) {
info, err := service.SysOss().Upload(ctx, req.SysOssUploadParam)
if err != nil {
return nil, err
}
res = &v1.SysOssUploadRes{
SysOssUploadModel: info,
}
return
}
func (c *ControllerV1) SysOssDownload(ctx context.Context, req *v1.SysOssDownloadReq) (res *v1.SysOssDownloadRes, err error) {
if _, err = service.SysOss().Download(ctx, req.SysOssDownloadParam); err != nil {
return nil, err
}
if r := ghttp.RequestFromCtx(ctx); r != nil {
r.ExitAll()
}
return nil, nil
}
@@ -0,0 +1,69 @@
// Package gen
// @Link https://github.com/xiujiecn/xiu-admin
// @Copyright Copyright (c) 2025 LiXiujie
// @Author Lxj <li@example.com>
// @License https://github.com/xiujiecn/xiu-admin/blob/master/LICENSE
// @AutoGenerate Version
package gen
import (
"context"
v1 "git.5iot.com/iotlcm-public/iotlcm-app/api/gen/testdemo/v1"
"git.5iot.com/iotlcm-public/iotlcm-app/internal/model/genin"
"git.5iot.com/iotlcm-public/iotlcm-app/internal/service"
)
var (
TestDemo = cTestDemo{}
)
type cTestDemo struct{}
// List 查看测试单表列表
func (c *cTestDemo) TestDemoList(ctx context.Context, req *v1.TestDemoListReq) (res *v1.TestDemoListRes, err error) {
list, totalCount, err := service.GenTestDemo().List(ctx, &req.TestDemoListParam)
if err != nil {
return
}
if list == nil {
list = []*genin.TestDemoListModel{}
}
res = new(v1.TestDemoListRes)
res.Items = list
res.PageResult.Page = req.Page
res.PageResult.PageSize = req.PageSize
res.PageResult.Total = totalCount
return
}
// Export 导出测试单表列表
func (c *cTestDemo) TestDemoExport(ctx context.Context, req *v1.TestDemoExportReq) (res *v1.TestDemoExportRes, err error) {
err = service.GenTestDemo().Export(ctx, &req.TestDemoListParam)
return
}
// Edit 更新测试单表
func (c *cTestDemo) TestDemoEdit(ctx context.Context, req *v1.TestDemoEditReq) (res *v1.TestDemoEditRes, err error) {
err = service.GenTestDemo().Edit(ctx, &req.TestDemoEditParam)
return
}
// View 获取指定测试单表信息
func (c *cTestDemo) TestDemoView(ctx context.Context, req *v1.TestDemoViewReq) (res *v1.TestDemoViewRes, err error) {
data, err := service.GenTestDemo().View(ctx, &req.TestDemoViewParam)
if err != nil {
return
}
res = new(v1.TestDemoViewRes)
res.TestDemoViewModel = data
return
}
// Delete 删除测试单表
func (c *cTestDemo) TestDemoDelete(ctx context.Context, req *v1.TestDemoDeleteReq) (res *v1.TestDemoDeleteRes, err error) {
err = service.GenTestDemo().Delete(ctx, &req.TestDemoDeleteParam)
return
}
@@ -0,0 +1,85 @@
// Package gen
// @Link https://github.com/xiujiecn/xiu-admin
// @Copyright Copyright (c) 2026 LiXiujie
// @Author Lxj <li@example.com>
// @License https://github.com/xiujiecn/xiu-admin/blob/master/LICENSE
// @AutoGenerate Version
package gen
import (
"context"
v1 "git.5iot.com/iotlcm-public/iotlcm-app/api/gen/testtree/v1"
"git.5iot.com/iotlcm-public/iotlcm-app/internal/model/genin"
"git.5iot.com/iotlcm-public/iotlcm-app/internal/service"
)
var (
TestTree = cTestTree{}
)
type cTestTree struct{}
// List 查看测试树表列表
func (c *cTestTree) TestTreeList(ctx context.Context, req *v1.TestTreeListReq) (res *v1.TestTreeListRes, err error) {
list, totalCount, err := service.GenTestTree().List(ctx, &req.TestTreeListParam)
if err != nil {
return
}
if list == nil {
list = []*genin.TestTreeListModel{}
}
res = new(v1.TestTreeListRes)
res.Items = list
res.PageResult.Page = req.Page
res.PageResult.PageSize = req.PageSize
res.PageResult.Total = totalCount
return
}
// Export 导出测试树表列表
func (c *cTestTree) TestTreeExport(ctx context.Context, req *v1.TestTreeExportReq) (res *v1.TestTreeExportRes, err error) {
err = service.GenTestTree().Export(ctx, &req.TestTreeListParam)
return
}
// Edit 更新测试树表
func (c *cTestTree) TestTreeEdit(ctx context.Context, req *v1.TestTreeEditReq) (res *v1.TestTreeEditRes, err error) {
err = service.GenTestTree().Edit(ctx, &req.TestTreeEditParam)
return
}
// View 获取指定测试树表信息
func (c *cTestTree) TestTreeView(ctx context.Context, req *v1.TestTreeViewReq) (res *v1.TestTreeViewRes, err error) {
data, err := service.GenTestTree().View(ctx, &req.TestTreeViewParam)
if err != nil {
return
}
res = new(v1.TestTreeViewRes)
res.TestTreeViewModel = data
return
}
// Delete 删除测试树表
func (c *cTestTree) TestTreeDelete(ctx context.Context, req *v1.TestTreeDeleteReq) (res *v1.TestTreeDeleteRes, err error) {
err = service.GenTestTree().Delete(ctx, &req.TestTreeDeleteParam)
return
}
// TreeOption 获取测试树表关系树选项
func (c *cTestTree) TestTreeTreeOption(ctx context.Context, req *v1.TestTreeTreeOptionReq) (res *v1.TestTreeTreeOptionRes, err error) {
data, err := service.GenTestTree().TreeOption(ctx)
if err != nil {
return nil, err
}
if len(data) > 0 {
res = (*v1.TestTreeTreeOptionRes)(&data)
} else {
temp := make(v1.TestTreeTreeOptionRes, 0)
res = &temp
}
return
}
@@ -0,0 +1,5 @@
// =================================================================================
// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.
// =================================================================================
package gen_codes
@@ -0,0 +1,15 @@
// =================================================================================
// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.
// =================================================================================
package gen_codes
import (
"git.5iot.com/iotlcm-public/iotlcm-app/api/gen_codes"
)
type ControllerV1 struct{}
func NewV1() gen_codes.IGenCodesV1 {
return &ControllerV1{}
}
@@ -0,0 +1,127 @@
package gen_codes
import (
"context"
v1 "git.5iot.com/iotlcm-public/iotlcm-app/api/gen_codes/v1"
"git.5iot.com/iotlcm-public/iotlcm-app/internal/model/response"
"git.5iot.com/iotlcm-public/iotlcm-app/internal/service"
)
func (c *ControllerV1) SysGenTableList(ctx context.Context, req *v1.SysGenTableListReq) (res *v1.SysGenTableListRes, err error) {
items, total, err := service.SysGenTable().List(ctx, req.SysGenTableListParam)
if err != nil {
return nil, err
}
res = &v1.SysGenTableListRes{
Items: items,
PageResult: response.PageResult{
Page: req.Page,
PageSize: req.PageSize,
Total: total,
},
}
return res, nil
}
func (c *ControllerV1) SysGenTableView(ctx context.Context, req *v1.SysGenTableViewReq) (res *v1.SysGenTableViewRes, err error) {
item, err := service.SysGenTable().View(ctx, req.SysGenTableViewParam)
if err != nil {
return nil, err
}
res = &v1.SysGenTableViewRes{
SysGenTableViewModel: item,
}
return res, nil
}
func (c *ControllerV1) SysGenTableAdd(ctx context.Context, req *v1.SysGenTableAddReq) (res *v1.SysGenTableAddRes, err error) {
output, err := service.SysGenTable().Add(ctx, req.SysGenTableAddParam)
if err != nil {
return nil, err
}
res = &v1.SysGenTableAddRes{
SysGenTableAddModel: output,
}
return res, nil
}
func (c *ControllerV1) SysGenTableDelete(ctx context.Context, req *v1.SysGenTableDeleteReq) (res *v1.SysGenTableDeleteRes, err error) {
output, err := service.SysGenTable().Delete(ctx, req.SysGenTableDeleteParam)
if err != nil {
return nil, err
}
res = &v1.SysGenTableDeleteRes{
SysGenTableDeleteModel: output,
}
return res, nil
}
func (c *ControllerV1) SysGenTableSelects(ctx context.Context, req *v1.SysGenTableSelectsReq) (res *v1.SysGenTableSelectsRes, err error) {
output, err := service.SysGenTable().Selects(ctx)
if err != nil {
return nil, err
}
res = &v1.SysGenTableSelectsRes{
SelectsModel: output,
}
return res, nil
}
func (c *ControllerV1) SysGenTableTableSelect(ctx context.Context, req *v1.SysGenTableTableSelectReq) (res *v1.SysGenTableTableSelectRes, err error) {
output, err := service.SysGenTable().TableSelect(ctx, req.GenCodesTableSelectParam)
if err != nil {
return nil, err
}
res = &v1.SysGenTableTableSelectRes{
Items: output,
}
return res, nil
}
func (c *ControllerV1) SysGenTableColumnSelect(ctx context.Context, req *v1.SysGenTableColumnSelectReq) (res *v1.SysGenTableColumnSelectRes, err error) {
output, err := service.SysGenTable().ColumnSelect(ctx, req.GenCodesColumnSelectParam)
if err != nil {
return nil, err
}
res = &v1.SysGenTableColumnSelectRes{
Items: output,
}
return res, nil
}
func (c *ControllerV1) SysGenTablePreview(ctx context.Context, req *v1.SysGenTablePreviewReq) (res *v1.SysGenTablePreviewRes, err error) {
output, err := service.SysGenTable().Preview(ctx, req.GenCodesPreviewParam)
if err != nil {
return nil, err
}
res = &v1.SysGenTablePreviewRes{
GenCodesPreviewModel: output,
}
return res, nil
}
func (c *ControllerV1) SysGenTableBuild(ctx context.Context, req *v1.SysGenTableBuildReq) (res *v1.SysGenTableBuildRes, err error) {
output, err := service.SysGenTable().Build(ctx, req.GenCodesBuildParam)
if err != nil {
return nil, err
}
res = &v1.SysGenTableBuildRes{
GenCodesBuildModel: output,
}
return res, nil
}
func (c *ControllerV1) SysGenTableColumnList(ctx context.Context, req *v1.SysGenTableColumnListReq) (res *v1.SysGenTableColumnListRes, err error) {
output, err := service.SysGenTable().ColumnList(ctx, req.GenCodesColumnListParam)
if err != nil {
return nil, err
}
res = &v1.SysGenTableColumnListRes{
Items: output,
}
return res, nil
}
func (c *ControllerV1) SysGenTableEdit(ctx context.Context, req *v1.SysGenTableEditReq) (res *v1.SysGenTableEditRes, err error) {
output, err := service.SysGenTable().Edit(ctx, req.SysGenTableEditParam)
if err != nil {
return nil, err
}
res = &v1.SysGenTableEditRes{
SysGenTableEditModel: output,
}
return res, nil
}
@@ -0,0 +1,5 @@
// =================================================================================
// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.
// =================================================================================
package info
@@ -0,0 +1,15 @@
// =================================================================================
// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.
// =================================================================================
package info
import (
"git.5iot.com/iotlcm-public/iotlcm-app/api/info"
)
type ControllerV1 struct{}
func NewV1() info.IInfoV1 {
return &ControllerV1{}
}
@@ -0,0 +1,15 @@
package info
import (
"context"
v1 "git.5iot.com/iotlcm-public/iotlcm-app/api/info/v1"
"git.5iot.com/iotlcm-public/iotlcm-app/internal/service"
)
func (c *ControllerV1) Info(ctx context.Context, req *v1.InfoReq) (res *v1.InfoRes, err error) {
info := service.Info().GetInfo()
return &v1.InfoRes{
InfoModel: info,
}, nil
}
@@ -0,0 +1,5 @@
// =================================================================================
// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.
// =================================================================================
package monitor
@@ -0,0 +1,15 @@
// =================================================================================
// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.
// =================================================================================
package monitor
import (
"git.5iot.com/iotlcm-public/iotlcm-app/api/monitor"
)
type ControllerV1 struct{}
func NewV1() monitor.IMonitorV1 {
return &ControllerV1{}
}
@@ -0,0 +1,57 @@
package monitor
import (
"context"
"strings"
"github.com/gogf/gf/v2/frame/g"
"github.com/gogf/gf/v2/util/gconv"
v1 "git.5iot.com/iotlcm-public/iotlcm-app/api/monitor/v1"
"git.5iot.com/iotlcm-public/iotlcm-app/utility"
)
func (c *ControllerV1) RedisInfo(ctx context.Context, req *v1.RedisInfoReq) (res *v1.RedisInfoRes, err error) {
info, err := g.Redis().Do(ctx, "INFO")
if err != nil {
return nil, err
}
infoMap := make(map[string]string)
for _, line := range strings.Split(info.String(), "\n") {
if strings.HasPrefix(line, "#") {
continue
}
parts := strings.Split(line, ":")
if len(parts) == 2 {
infoMap[parts[0]] = parts[1]
}
}
dbSize := gconv.Int(infoMap["db0"])
info, err = g.Redis().Do(ctx, "INFO", "COMMANDSTATS")
if err != nil {
return nil, err
}
commandStats := make([]*v1.CommandStats, 0)
for _, line := range strings.Split(info.String(), "\n") {
if strings.HasPrefix(line, "#") {
continue
}
parts := strings.Split(line, ":")
if len(parts) == 2 {
if strings.HasPrefix(parts[0], "cmdstat_") {
commandStats = append(commandStats, &v1.CommandStats{
Name: strings.TrimPrefix(parts[0], "cmdstat_"),
Value: utility.GetBetweenStr(parts[1], "calls=", ",usec"),
})
}
}
}
return &v1.RedisInfoRes{
Info: infoMap,
DBSize: dbSize,
CommandStats: commandStats,
}, nil
}
@@ -0,0 +1,75 @@
// Package gen
// @Link https://github.com/xiujiecn/xiu-admin
// @Copyright Copyright (c) 2025 LiXiujie
// @Author Lxj <li@example.com>
// @License https://github.com/xiujiecn/xiu-admin/blob/master/LICENSE
// @AutoGenerate Version
package system
import (
"context"
v1 "git.5iot.com/iotlcm-public/iotlcm-app/api/system/v1"
"git.5iot.com/iotlcm-public/iotlcm-app/internal/model"
"git.5iot.com/iotlcm-public/iotlcm-app/internal/service"
)
// List 查看用户通知公告表列表
func (c *ControllerV1) SysNoticeUserList(ctx context.Context, req *v1.SysNoticeUserListReq) (res *v1.SysNoticeUserListRes, err error) {
list, totalCount, err := service.SysNoticeUser().List(ctx, &req.SysNoticeUserListParam)
if err != nil {
return
}
if list == nil {
list = []*model.SysNoticeUserListModel{}
}
res = new(v1.SysNoticeUserListRes)
res.Items = list
res.PageResult.Page = req.Page
res.PageResult.PageSize = req.PageSize
res.PageResult.Total = totalCount
return
}
// Export 导出用户通知公告表列表
func (c *ControllerV1) SysNoticeUserExport(ctx context.Context, req *v1.SysNoticeUserExportReq) (res *v1.SysNoticeUserExportRes, err error) {
err = service.SysNoticeUser().Export(ctx, &req.SysNoticeUserListParam)
return
}
// Edit 更新用户通知公告表
func (c *ControllerV1) SysNoticeUserEdit(ctx context.Context, req *v1.SysNoticeUserEditReq) (res *v1.SysNoticeUserEditRes, err error) {
err = service.SysNoticeUser().Edit(ctx, &req.SysNoticeUserEditParam)
return
}
// View 获取指定用户通知公告表信息
func (c *ControllerV1) SysNoticeUserView(ctx context.Context, req *v1.SysNoticeUserViewReq) (res *v1.SysNoticeUserViewRes, err error) {
data, err := service.SysNoticeUser().View(ctx, &req.SysNoticeUserViewParam)
if err != nil {
return
}
res = new(v1.SysNoticeUserViewRes)
res.SysNoticeUserViewModel = data
return
}
// Delete 删除用户通知公告表
func (c *ControllerV1) SysNoticeUserDelete(ctx context.Context, req *v1.SysNoticeUserDeleteReq) (res *v1.SysNoticeUserDeleteRes, err error) {
err = service.SysNoticeUser().Delete(ctx, &req.SysNoticeUserDeleteParam)
return
}
// Status 更新用户通知公告表状态
func (c *ControllerV1) SysNoticeUserStatus(ctx context.Context, req *v1.SysNoticeUserStatusReq) (res *v1.SysNoticeUserStatusRes, err error) {
err = service.SysNoticeUser().Status(ctx, &req.SysNoticeUserStatusParam)
return
}
// Read 已读
func (c *ControllerV1) SysNoticeUserRead(ctx context.Context, req *v1.SysNoticeUserReadReq) (res *v1.SysNoticeUserReadRes, err error) {
err = service.SysNoticeUser().Read(ctx, &req.SysNoticeUserReadParam)
return
}
@@ -0,0 +1,5 @@
// =================================================================================
// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.
// =================================================================================
package system
@@ -0,0 +1,15 @@
// =================================================================================
// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.
// =================================================================================
package system
import (
"git.5iot.com/iotlcm-public/iotlcm-app/api/system"
)
type ControllerV1 struct{}
func NewV1() system.ISystemV1 {
return &ControllerV1{}
}
@@ -0,0 +1,94 @@
package system
import (
"context"
"github.com/gogf/gf/v2/errors/gcode"
"github.com/gogf/gf/v2/errors/gerror"
v1 "git.5iot.com/iotlcm-public/iotlcm-app/api/system/v1"
"git.5iot.com/iotlcm-public/iotlcm-app/internal/consts"
"git.5iot.com/iotlcm-public/iotlcm-app/internal/library/contexts"
"git.5iot.com/iotlcm-public/iotlcm-app/internal/library/event"
"git.5iot.com/iotlcm-public/iotlcm-app/internal/library/mcache"
"git.5iot.com/iotlcm-public/iotlcm-app/internal/model"
"git.5iot.com/iotlcm-public/iotlcm-app/internal/service"
)
func (c *ControllerV1) Login(ctx context.Context, req *v1.LoginReq) (res *v1.LoginRes, err error) {
userOut, token, err := service.SysAuth().Login(ctx, &model.LoginParams{
CaptchaID: req.CaptchaID,
CaptchaValue: req.CaptchaValue,
Username: req.Username,
Password: req.Password,
TenantId: req.TenantId,
})
if err != nil {
return nil, err
}
return &v1.LoginRes{
ID: userOut.ID,
Username: userOut.Username,
NickName: userOut.NickName,
Avatar: userOut.Avatar,
AccessToken: token,
}, nil
}
func (c *ControllerV1) RefreshToken(ctx context.Context, req *v1.RefreshTokenReq) (res *v1.RefreshTokenRes, err error) {
return nil, gerror.NewCode(gcode.CodeNotImplemented)
}
func (c *ControllerV1) Logout(ctx context.Context, req *v1.LogoutReq) (res *v1.LogoutRes, err error) {
token, _ := service.SysAuth().GetAccessToken(ctx)
service.SysUserOnline().DeleteByToken(ctx, token)
event.EventsInstance().Emit(ctx, consts.EventKeyUserLogout, contexts.GetUserId(ctx))
return &v1.LogoutRes{
Data: "退出成功",
Status: 200,
}, nil
}
func (c *ControllerV1) GetAccessCodes(ctx context.Context, req *v1.GetAccessCodesReq) (res *v1.GetAccessCodesRes, err error) {
if req.IsCache {
accessCodes, _, err := mcache.GetUserAccessCodeList(ctx, contexts.GetUserId(ctx))
if err != nil {
return nil, err
}
res = &v1.GetAccessCodesRes{
Data: accessCodes,
}
} else {
accessCodes, roleDataAccessCodes, err := service.SysAuth().GetUserAccessCodeList(ctx, contexts.GetUserId(ctx))
if err != nil {
return nil, err
}
mcache.SetUserAccessCodeList(ctx, contexts.GetUserId(ctx), accessCodes)
mcache.SetUserRoleDataAccessCodeList(ctx, contexts.GetUserId(ctx), roleDataAccessCodes)
res = &v1.GetAccessCodesRes{
Data: accessCodes,
}
}
return res, nil
}
func (c *ControllerV1) TenantList(ctx context.Context, req *v1.TenantListReq) (res *v1.TenantListRes, err error) {
tenantList, _, err := service.SysTenant().List(ctx, &model.SysTenantListParam{
Status: consts.SysDeptStatusNormal,
})
if err != nil {
return nil, err
}
tenantEnabled := false
if len(tenantList) > 1 {
tenantEnabled = true
}
voList := make([]v1.TenantListData, 0)
for _, tenant := range tenantList {
voList = append(voList, v1.TenantListData{
CompanyName: tenant.CompanyName,
Domain: tenant.Domain,
TenantId: tenant.TenantId,
})
}
return &v1.TenantListRes{
TenantEnabled: tenantEnabled,
VoList: voList,
}, nil
}
@@ -0,0 +1,17 @@
package system
import (
"context"
v1 "git.5iot.com/iotlcm-public/iotlcm-app/api/system/v1"
"git.5iot.com/iotlcm-public/iotlcm-app/internal/service"
)
func (c *ControllerV1) GetCaptcha(ctx context.Context, req *v1.GetCaptchaReq) (res *v1.GetCaptchaRes, err error) {
key, image, err := service.SysCaptcha().GenerateCaptcha(ctx)
res = &v1.GetCaptchaRes{
CaptchaID: key,
CaptchaImage: image,
}
return
}
@@ -0,0 +1,75 @@
package system
import (
"context"
v1 "git.5iot.com/iotlcm-public/iotlcm-app/api/system/v1"
"git.5iot.com/iotlcm-public/iotlcm-app/internal/model/response"
"git.5iot.com/iotlcm-public/iotlcm-app/internal/service"
)
func (c *ControllerV1) SysClientList(ctx context.Context, req *v1.SysClientListReq) (res *v1.SysClientListRes, err error) {
items, total, err := service.SysClient().List(ctx, &req.SysClientListParam)
if err != nil {
return nil, err
}
res = &v1.SysClientListRes{
Items: items,
PageResult: response.PageResult{
Page: req.Page,
PageSize: req.PageSize,
Total: total,
},
}
return
}
func (c *ControllerV1) SysClientView(ctx context.Context, req *v1.SysClientViewReq) (res *v1.SysClientViewRes, err error) {
info, err := service.SysClient().View(ctx, req.SysClientViewParam)
if err != nil {
return nil, err
}
res = &v1.SysClientViewRes{
SysClientViewModel: info,
}
return
}
func (c *ControllerV1) SysClientAdd(ctx context.Context, req *v1.SysClientAddReq) (res *v1.SysClientAddRes, err error) {
output, err := service.SysClient().Add(ctx, req.SysClientAddParam)
if err != nil {
return nil, err
}
res = &v1.SysClientAddRes{
SysClientAddModel: output,
}
return
}
func (c *ControllerV1) SysClientEdit(ctx context.Context, req *v1.SysClientEditReq) (res *v1.SysClientEditRes, err error) {
output, err := service.SysClient().Edit(ctx, req.SysClientEditParam)
if err != nil {
return nil, err
}
res = &v1.SysClientEditRes{
SysClientEditModel: output,
}
return
}
func (c *ControllerV1) SysClientDelete(ctx context.Context, req *v1.SysClientDeleteReq) (res *v1.SysClientDeleteRes, err error) {
output, err := service.SysClient().Delete(ctx, req.SysClientDeleteParam)
if err != nil {
return nil, err
}
res = &v1.SysClientDeleteRes{
SysClientDeleteModel: output,
}
return
}
func (c *ControllerV1) SysClientStatus(ctx context.Context, req *v1.SysClientStatusReq) (res *v1.SysClientStatusRes, err error) {
output, err := service.SysClient().Status(ctx, req.SysClientStatusParam)
if err != nil {
return nil, err
}
res = &v1.SysClientStatusRes{
SysClientStatusModel: output,
}
return
}
@@ -0,0 +1,63 @@
package system
import (
"context"
v1 "git.5iot.com/iotlcm-public/iotlcm-app/api/system/v1"
"git.5iot.com/iotlcm-public/iotlcm-app/internal/model/response"
"git.5iot.com/iotlcm-public/iotlcm-app/internal/service"
)
func (c *ControllerV1) GetConfigList(ctx context.Context, req *v1.GetConfigListReq) (res *v1.GetConfigListRes, err error) {
items, total, err := service.SysConfig().List(ctx, &req.SysConfigListParam)
res = &v1.GetConfigListRes{
Data: items,
PageResult: response.PageResult{
Total: total,
Page: req.Page,
PageSize: req.PageSize,
},
}
return
}
func (c *ControllerV1) AddConfig(ctx context.Context, req *v1.AddConfigReq) (res *v1.AddConfigRes, err error) {
output, err := service.SysConfig().Add(ctx, &req.SysConfigAddParam)
if err != nil {
return nil, err
}
res = &v1.AddConfigRes{
SysConfigAddModel: *output,
}
return
}
func (c *ControllerV1) EditConfig(ctx context.Context, req *v1.EditConfigReq) (res *v1.EditConfigRes, err error) {
output, err := service.SysConfig().Edit(ctx, &req.SysConfigEditParam)
if err != nil {
return nil, err
}
res = &v1.EditConfigRes{
SysConfigEditModel: *output,
}
return
}
func (c *ControllerV1) DeleteConfig(ctx context.Context, req *v1.DeleteConfigReq) (res *v1.DeleteConfigRes, err error) {
output, err := service.SysConfig().Delete(ctx, &req.SysConfigDeleteParam)
if err != nil {
return nil, err
}
res = &v1.DeleteConfigRes{
SysConfigDeleteModel: *output,
}
return
}
func (c *ControllerV1) GetConfigById(ctx context.Context, req *v1.GetConfigByIdReq) (res *v1.GetConfigByIdRes, err error) {
output, err := service.SysConfig().View(ctx, &req.SysConfigViewParam)
if err != nil {
return nil, err
}
res = &v1.GetConfigByIdRes{
SysConfigViewModel: *output,
}
return
}
@@ -0,0 +1,70 @@
package system
import (
"context"
v1 "git.5iot.com/iotlcm-public/iotlcm-app/api/system/v1"
"git.5iot.com/iotlcm-public/iotlcm-app/internal/model/response"
"git.5iot.com/iotlcm-public/iotlcm-app/internal/service"
)
func (c *ControllerV1) DeptList(ctx context.Context, req *v1.DeptListReq) (res *v1.DeptListRes, err error) {
items, total, err := service.SysDept().GetDeptList(ctx, req.SysDeptListParam)
if err != nil {
return nil, err
}
return &v1.DeptListRes{
PageResult: response.PageResult{
Page: req.Page,
PageSize: req.PageSize,
Total: total,
},
Data: items,
}, nil
}
func (c *ControllerV1) DeptTree(ctx context.Context, req *v1.DeptTreeReq) (res *v1.DeptTreeRes, err error) {
items, err := service.SysDept().GetDeptTree(ctx, req.SysDeptTreeParam)
if err != nil {
return nil, err
}
return &v1.DeptTreeRes{
Data: items,
}, nil
}
func (c *ControllerV1) DeptAdd(ctx context.Context, req *v1.DeptAddReq) (res *v1.DeptAddRes, err error) {
deptId, err := service.SysDept().AddDept(ctx, &req.SysDeptAddModel)
if err != nil {
return nil, err
}
return &v1.DeptAddRes{
DeptId: deptId,
}, nil
}
func (c *ControllerV1) DeptEdit(ctx context.Context, req *v1.DeptEditReq) (res *v1.DeptEditRes, err error) {
deptId, err := service.SysDept().EditDept(ctx, &req.SysDeptEditModel)
if err != nil {
return nil, err
}
return &v1.DeptEditRes{
DeptId: deptId,
}, nil
}
func (c *ControllerV1) DeptDelete(ctx context.Context, req *v1.DeptDeleteReq) (res *v1.DeptDeleteRes, err error) {
deptId, err := service.SysDept().DeleteDept(ctx, &req.SysDeptDeleteModel)
if err != nil {
return nil, err
}
return &v1.DeptDeleteRes{
DeptId: deptId,
}, nil
}
func (c *ControllerV1) DeptView(ctx context.Context, req *v1.DeptViewReq) (res *v1.DeptViewRes, err error) {
dept, err := service.SysDept().GetDeptById(ctx, req.SysDeptViewModel.DeptId)
if err != nil {
return nil, err
}
return &v1.DeptViewRes{
SysDeptViewModel: *dept,
}, nil
}
@@ -0,0 +1,124 @@
package system
import (
"context"
v1 "git.5iot.com/iotlcm-public/iotlcm-app/api/system/v1"
"git.5iot.com/iotlcm-public/iotlcm-app/internal/model"
"git.5iot.com/iotlcm-public/iotlcm-app/internal/model/response"
"git.5iot.com/iotlcm-public/iotlcm-app/internal/service"
)
func (c *ControllerV1) SysDictTypeList(ctx context.Context, req *v1.SysDictTypeListReq) (res *v1.SysDictTypeListRes, err error) {
items, total, err := service.SysDictType().List(ctx, &req.SysDictTypeListParam)
if err != nil {
return nil, err
}
return &v1.SysDictTypeListRes{
Items: items,
PageResult: response.PageResult{
Page: req.Page,
PageSize: req.PageSize,
Total: total,
},
}, nil
}
func (c *ControllerV1) SysDictDataList(ctx context.Context, req *v1.SysDictDataListReq) (res *v1.SysDictDataListRes, err error) {
items, total, err := service.SysDictData().List(ctx, &req.SysDictDataListParam)
if err != nil {
return nil, err
}
typeData, err := service.SysDictType().View(ctx, &model.SysDictTypeViewParam{
DictId: req.SysDictDataListParam.DictId,
DictType: req.SysDictDataListParam.DictType,
})
if err != nil {
return nil, err
}
return &v1.SysDictDataListRes{
Items: items,
Type: typeData,
PageResult: response.PageResult{
Page: req.Page,
PageSize: req.PageSize,
Total: total,
},
}, nil
}
func (c *ControllerV1) SysDictTypeAdd(ctx context.Context, req *v1.SysDictTypeAddReq) (res *v1.SysDictTypeAddRes, err error) {
output, err := service.SysDictType().Add(ctx, &req.SysDictTypeAddParam)
if err != nil {
return nil, err
}
return &v1.SysDictTypeAddRes{
SysDictTypeAddModel: *output,
}, nil
}
func (c *ControllerV1) SysDictTypeEdit(ctx context.Context, req *v1.SysDictTypeEditReq) (res *v1.SysDictTypeEditRes, err error) {
output, err := service.SysDictType().Edit(ctx, &req.SysDictTypeEditParam)
if err != nil {
return nil, err
}
return &v1.SysDictTypeEditRes{
SysDictTypeEditModel: *output,
}, nil
}
func (c *ControllerV1) SysDictTypeDelete(ctx context.Context, req *v1.SysDictTypeDeleteReq) (res *v1.SysDictTypeDeleteRes, err error) {
output, err := service.SysDictType().Delete(ctx, &req.SysDictTypeDeleteParam)
if err != nil {
return nil, err
}
return &v1.SysDictTypeDeleteRes{
SysDictTypeDeleteModel: *output,
}, nil
}
func (c *ControllerV1) SysDictTypeView(ctx context.Context, req *v1.SysDictTypeViewReq) (res *v1.SysDictTypeViewRes, err error) {
output, err := service.SysDictType().View(ctx, &req.SysDictTypeViewParam)
if err != nil {
return nil, err
}
return &v1.SysDictTypeViewRes{
SysDictTypeViewModel: *output,
}, nil
}
func (c *ControllerV1) SysDictDataAdd(ctx context.Context, req *v1.SysDictDataAddReq) (res *v1.SysDictDataAddRes, err error) {
output, err := service.SysDictData().Add(ctx, &req.SysDictDataAddParam)
if err != nil {
return nil, err
}
return &v1.SysDictDataAddRes{
SysDictDataAddModel: *output,
}, nil
}
func (c *ControllerV1) SysDictDataEdit(ctx context.Context, req *v1.SysDictDataEditReq) (res *v1.SysDictDataEditRes, err error) {
output, err := service.SysDictData().Edit(ctx, &req.SysDictDataEditParam)
if err != nil {
return nil, err
}
return &v1.SysDictDataEditRes{
SysDictDataEditModel: *output,
}, nil
}
func (c *ControllerV1) SysDictDataDelete(ctx context.Context, req *v1.SysDictDataDeleteReq) (res *v1.SysDictDataDeleteRes, err error) {
_, err = service.SysDictData().Delete(ctx, &req.SysDictDataDeleteParam)
if err != nil {
return nil, err
}
return &v1.SysDictDataDeleteRes{
SysDictDataDeleteModel: model.SysDictDataDeleteModel{
DictCodes: req.SysDictDataDeleteParam.DictCodes,
},
}, nil
}
func (c *ControllerV1) SysDictDataView(ctx context.Context, req *v1.SysDictDataViewReq) (res *v1.SysDictDataViewRes, err error) {
output, err := service.SysDictData().View(ctx, &req.SysDictDataViewParam)
if err != nil {
return nil, err
}
return &v1.SysDictDataViewRes{
SysDictDataViewModel: *output,
}, nil
}
@@ -0,0 +1,118 @@
package system
import (
"context"
"github.com/gogf/gf/v2/errors/gcode"
"github.com/gogf/gf/v2/errors/gerror"
v1 "git.5iot.com/iotlcm-public/iotlcm-app/api/system/v1"
"git.5iot.com/iotlcm-public/iotlcm-app/internal/model"
"git.5iot.com/iotlcm-public/iotlcm-app/internal/model/response"
"git.5iot.com/iotlcm-public/iotlcm-app/internal/service"
)
func (c *ControllerV1) SysJobList(ctx context.Context, req *v1.SysJobListReq) (res *v1.SysJobListRes, err error) {
data, total, err := service.SysJob().List(ctx, &req.SysJobListParam, &req.PageInfo)
if err != nil {
return nil, err
}
return &v1.SysJobListRes{
Data: data,
PageResult: response.PageResult{
Page: req.Page,
PageSize: req.PageSize,
Total: total,
},
}, nil
}
func (c *ControllerV1) SysJobView(ctx context.Context, req *v1.SysJobViewReq) (res *v1.SysJobViewRes, err error) {
data, err := service.SysJob().View(ctx, req.JobId)
if err != nil {
return nil, err
}
return &v1.SysJobViewRes{
SysJobViewModel: *data,
}, nil
}
func (c *ControllerV1) SysJobAdd(ctx context.Context, req *v1.SysJobAddReq) (res *v1.SysJobAddRes, err error) {
lastInserId, err := service.SysJob().Add(ctx, &req.SysJobAddModel)
if err != nil {
return nil, err
}
data, err := service.SysJob().View(ctx, lastInserId)
if err != nil {
return nil, err
}
return &v1.SysJobAddRes{
SysJobViewModel: *data,
}, nil
}
func (c *ControllerV1) SysJobUpdate(ctx context.Context, req *v1.SysJobUpdateReq) (res *v1.SysJobUpdateRes, err error) {
effectedRow, err := service.SysJob().Update(ctx, &req.SysJobUpdateModel)
if err != nil {
return nil, err
}
if effectedRow == 0 {
return nil, gerror.NewCode(gcode.CodeInvalidParameter, "要更新的数据不存在")
}
data, err := service.SysJob().View(ctx, req.JobId)
if err != nil {
return nil, err
}
return &v1.SysJobUpdateRes{
SysJobViewModel: *data,
}, nil
}
func (c *ControllerV1) SysJobUpdateStatus(ctx context.Context, req *v1.SysJobUpdateStatusReq) (res *v1.SysJobUpdateStatusRes, err error) {
effectedRow, err := service.SysJob().UpdateStatus(ctx, &req.SysJobUpdateStatusModel)
if err != nil {
return nil, err
}
if effectedRow == 0 {
return nil, gerror.NewCode(gcode.CodeInvalidParameter, "要更新的数据不存在")
}
data, err := service.SysJob().View(ctx, req.JobId)
if err != nil {
return nil, err
}
return &v1.SysJobUpdateStatusRes{
SysJobViewModel: *data,
}, nil
}
func (c *ControllerV1) SysJobDelete(ctx context.Context, req *v1.SysJobDeleteReq) (res *v1.SysJobDeleteRes, err error) {
if len(req.JobIds) == 0 {
return nil, gerror.NewCode(gcode.CodeMissingParameter, "参数不能为空")
}
_, err = service.SysJob().Delete(ctx, &model.SysJobDeleteModel{JobIds: req.JobIds})
if err != nil {
return nil, err
}
return &v1.SysJobDeleteRes{
JobIds: req.JobIds,
}, nil
}
func (c *ControllerV1) SysJobExec(ctx context.Context, req *v1.SysJobExecReq) (res *v1.SysJobExecRes, err error) {
err = service.SysJob().Exec(ctx, req.JobId)
if err != nil {
return nil, err
}
return &v1.SysJobExecRes{
JobId: req.JobId,
}, nil
}
@@ -0,0 +1,33 @@
package system
import (
"context"
v1 "git.5iot.com/iotlcm-public/iotlcm-app/api/system/v1"
"git.5iot.com/iotlcm-public/iotlcm-app/internal/model/response"
"git.5iot.com/iotlcm-public/iotlcm-app/internal/service"
)
func (c *ControllerV1) ListLogininfor(ctx context.Context, req *v1.ListLogininforReq) (res *v1.ListLogininforRes, err error) {
items, total, err := service.SysLogininfor().List(ctx, &req.SysLogininforListParam)
if err != nil {
return nil, err
}
return &v1.ListLogininforRes{
Items: items,
PageResult: response.PageResult{
Page: req.Page,
PageSize: req.PageSize,
Total: total,
},
}, nil
}
func (c *ControllerV1) DeleteLogininfor(ctx context.Context, req *v1.DeleteLogininforReq) (res *v1.DeleteLogininforRes, err error) {
out, err := service.SysLogininfor().Delete(ctx, &req.SysLogininforDeleteParam)
if err != nil {
return nil, err
}
return &v1.DeleteLogininforRes{
SysLogininforDeleteModel: *out,
}, nil
}
@@ -0,0 +1,62 @@
package system
import (
"context"
v1 "git.5iot.com/iotlcm-public/iotlcm-app/api/system/v1"
"git.5iot.com/iotlcm-public/iotlcm-app/internal/service"
"github.com/gogf/gf/v2/errors/gcode"
"github.com/gogf/gf/v2/errors/gerror"
)
func (c *ControllerV1) MenuAll(ctx context.Context, req *v1.MenuAllReq) (res *v1.MenuAllRes, err error) {
data, err := service.SysMenu().GetUserMenuTree(ctx)
return &data, err
}
func (c *ControllerV1) MenuList(ctx context.Context, req *v1.MenuListReq) (res *v1.MenuListRes, err error) {
data, total, err := service.SysMenu().GetTenantMenu(ctx, &req.SysMenuListParam)
return &v1.MenuListRes{
Data: data,
Total: total,
}, err
}
func (c *ControllerV1) MenuView(ctx context.Context, req *v1.MenuViewReq) (res *v1.MenuViewRes, err error) {
data, err := service.SysMenu().GetSysMenuView(ctx, req.MenuId)
if err != nil {
return nil, err
}
return &v1.MenuViewRes{
SysMenuViewModel: *data,
}, nil
}
func (c *ControllerV1) MenuAdd(ctx context.Context, req *v1.MenuAddReq) (res *v1.MenuAddRes, err error) {
data, err := service.SysMenu().AddSysMenu(ctx, &req.SysMenuAddModel)
if err != nil {
return nil, err
}
return &v1.MenuAddRes{
SysMenuViewModel: *data,
}, nil
}
func (c *ControllerV1) MenuUpdate(ctx context.Context, req *v1.MenuUpdateReq) (res *v1.MenuUpdateRes, err error) {
data, err := service.SysMenu().UpdateSysMenu(ctx, &req.SysMenuUpdateModel)
if err != nil {
return nil, err
}
return &v1.MenuUpdateRes{
SysMenuViewModel: *data,
}, nil
}
func (c *ControllerV1) MenuDelete(ctx context.Context, req *v1.MenuDeleteReq) (res *v1.MenuDeleteRes, err error) {
err = service.SysMenu().DeleteSysMenu(ctx, req.MenuId)
if err != nil {
return nil, err
}
return &v1.MenuDeleteRes{}, nil
}
func (c *ControllerV1) MenuTree(ctx context.Context, req *v1.MenuTreeReq) (res *v1.MenuTreeRes, err error) {
return nil, gerror.NewCode(gcode.CodeNotImplemented)
}
@@ -0,0 +1,59 @@
package system
import (
"context"
v1 "git.5iot.com/iotlcm-public/iotlcm-app/api/system/v1"
"git.5iot.com/iotlcm-public/iotlcm-app/internal/model/response"
"git.5iot.com/iotlcm-public/iotlcm-app/internal/service"
"github.com/gogf/gf/v2/frame/g"
)
func (c *ControllerV1) SysNoticeList(ctx context.Context, req *v1.SysNoticeListReq) (res *v1.SysNoticeListRes, err error) {
g.Log().Infof(ctx, "SystemControl.SysNoticeList %+v", req)
items, total, err := service.SysNotice().List(ctx, req.SysNoticeListParam)
if err != nil {
return nil, err
}
res = &v1.SysNoticeListRes{
Items: items,
PageResult: response.PageResult{
Total: total,
Page: req.PageInfo.Page,
PageSize: req.PageInfo.PageSize,
},
}
return
}
func (c *ControllerV1) SysNoticeAdd(ctx context.Context, req *v1.SysNoticeAddReq) (res *v1.SysNoticeAddRes, err error) {
err = service.SysNotice().Add(ctx, req.SysNoticeAddParam)
if err != nil {
return nil, err
}
return
}
func (c *ControllerV1) SysNoticeEdit(ctx context.Context, req *v1.SysNoticeEditReq) (res *v1.SysNoticeEditRes, err error) {
err = service.SysNotice().Edit(ctx, req.SysNoticeEditParam)
if err != nil {
return nil, err
}
return
}
func (c *ControllerV1) SysNoticeDelete(ctx context.Context, req *v1.SysNoticeDeleteReq) (res *v1.SysNoticeDeleteRes, err error) {
err = service.SysNotice().Delete(ctx, req.SysNoticeDeleteParam)
if err != nil {
return nil, err
}
return
}
func (c *ControllerV1) SysNoticeView(ctx context.Context, req *v1.SysNoticeViewReq) (res *v1.SysNoticeViewRes, err error) {
data, err := service.SysNotice().View(ctx, req.SysNoticeViewParam)
if err != nil {
return nil, err
}
res = &v1.SysNoticeViewRes{
SysNoticeViewModel: data,
}
return
}
@@ -0,0 +1,36 @@
package system
import (
"context"
"errors"
v1 "git.5iot.com/iotlcm-public/iotlcm-app/api/system/v1"
"git.5iot.com/iotlcm-public/iotlcm-app/internal/model/response"
"git.5iot.com/iotlcm-public/iotlcm-app/internal/service"
)
func (c *ControllerV1) SysUserOnlineList(ctx context.Context, req *v1.SysUserOnlineListReq) (res *v1.SysUserOnlineListRes, err error) {
items, total, err := service.SysUserOnline().List(ctx, &req.SysUserOnlineListParam, &req.PageInfo)
if err != nil {
return nil, err
}
return &v1.SysUserOnlineListRes{
Items: items,
PageResult: response.PageResult{
Page: req.Page,
PageSize: req.PageSize,
Total: total,
},
}, nil
}
func (c *ControllerV1) SysUserOnlineDelete(ctx context.Context, req *v1.SysUserOnlineDeleteReq) (res *v1.SysUserOnlineDeleteRes, err error) {
if len(req.Ids) == 0 {
return nil, errors.New("ids不能为空")
}
err = service.SysUserOnline().Delete(ctx, req.Ids)
if err != nil {
return nil, err
}
return &v1.SysUserOnlineDeleteRes{}, nil
}
@@ -0,0 +1,25 @@
package system
import (
"context"
v1 "git.5iot.com/iotlcm-public/iotlcm-app/api/system/v1"
"git.5iot.com/iotlcm-public/iotlcm-app/internal/model/response"
"git.5iot.com/iotlcm-public/iotlcm-app/internal/service"
)
func (c *ControllerV1) GetOperLogList(ctx context.Context, req *v1.GetOperLogListReq) (res *v1.GetOperLogListRes, err error) {
items, total, err := service.SysOperLog().GetOperLogList(ctx, &req.SysOperLogListParam, &req.PageInfo)
if err != nil {
return nil, err
}
return &v1.GetOperLogListRes{
Items: items,
PageResult: response.PageResult{
Page: req.Page,
PageSize: req.PageSize,
Total: total,
},
}, nil
}
@@ -0,0 +1,43 @@
package system
import (
"context"
v1 "git.5iot.com/iotlcm-public/iotlcm-app/api/system/v1"
"git.5iot.com/iotlcm-public/iotlcm-app/internal/model/response"
"git.5iot.com/iotlcm-public/iotlcm-app/internal/service"
)
func (c *ControllerV1) SysOssList(ctx context.Context, req *v1.SysOssListReq) (res *v1.SysOssListRes, err error) {
items, total, err := service.SysOss().List(ctx, &req.SysOssListParam, &req.PageInfo)
if err != nil {
return nil, err
}
res = &v1.SysOssListRes{
Items: items,
PageResult: response.PageResult{
Page: req.Page,
PageSize: req.PageSize,
Total: total,
},
}
return
}
func (c *ControllerV1) SysOssView(ctx context.Context, req *v1.SysOssViewReq) (res *v1.SysOssViewRes, err error) {
info, err := service.SysOss().View(ctx, req.SysOssViewParam)
if err != nil {
return nil, err
}
res = &v1.SysOssViewRes{
SysOssViewModel: info,
}
return
}
func (c *ControllerV1) SysOssDelete(ctx context.Context, req *v1.SysOssDeleteReq) (res *v1.SysOssDeleteRes, err error) {
_, err = service.SysOss().Delete(ctx, req.SysOssDeleteParam)
if err != nil {
return nil, err
}
res = &v1.SysOssDeleteRes{}
return
}
@@ -0,0 +1,61 @@
package system
import (
"context"
v1 "git.5iot.com/iotlcm-public/iotlcm-app/api/system/v1"
"git.5iot.com/iotlcm-public/iotlcm-app/internal/model/response"
"git.5iot.com/iotlcm-public/iotlcm-app/internal/service"
)
func (c *ControllerV1) SysOssConfigList(ctx context.Context, req *v1.SysOssConfigListReq) (res *v1.SysOssConfigListRes, err error) {
items, total, err := service.SysOssConfig().List(ctx, req.SysOssConfigListParam)
if err != nil {
return nil, err
}
return &v1.SysOssConfigListRes{
Items: items,
PageResult: response.PageResult{
Total: total,
Page: req.Page,
PageSize: req.PageSize,
},
}, nil
}
func (c *ControllerV1) SysOssConfigView(ctx context.Context, req *v1.SysOssConfigViewReq) (res *v1.SysOssConfigViewRes, err error) {
item, err := service.SysOssConfig().View(ctx, req.SysOssConfigViewParam)
if err != nil {
return nil, err
}
return &v1.SysOssConfigViewRes{
SysOssConfigViewModel: item,
}, nil
}
func (c *ControllerV1) SysOssConfigAdd(ctx context.Context, req *v1.SysOssConfigAddReq) (res *v1.SysOssConfigAddRes, err error) {
item, err := service.SysOssConfig().Add(ctx, req.SysOssConfigAddParam)
if err != nil {
return nil, err
}
return &v1.SysOssConfigAddRes{
SysOssConfigAddModel: item,
}, nil
}
func (c *ControllerV1) SysOssConfigEdit(ctx context.Context, req *v1.SysOssConfigEditReq) (res *v1.SysOssConfigEditRes, err error) {
item, err := service.SysOssConfig().Edit(ctx, req.SysOssConfigEditParam)
if err != nil {
return nil, err
}
return &v1.SysOssConfigEditRes{
SysOssConfigEditModel: item,
}, nil
}
func (c *ControllerV1) SysOssConfigDelete(ctx context.Context, req *v1.SysOssConfigDeleteReq) (res *v1.SysOssConfigDeleteRes, err error) {
item, err := service.SysOssConfig().Delete(ctx, req.SysOssConfigDeleteParam)
if err != nil {
return nil, err
}
return &v1.SysOssConfigDeleteRes{
SysOssConfigDeleteModel: item,
}, nil
}
@@ -0,0 +1,67 @@
package system
import (
"context"
v1 "git.5iot.com/iotlcm-public/iotlcm-app/api/system/v1"
"git.5iot.com/iotlcm-public/iotlcm-app/internal/model/response"
"git.5iot.com/iotlcm-public/iotlcm-app/internal/service"
)
func (c *ControllerV1) PostList(ctx context.Context, req *v1.PostListReq) (res *v1.PostListRes, err error) {
items, total, err := service.SysPost().List(ctx, req.SysPostListParam)
if err != nil {
return nil, err
}
return &v1.PostListRes{
PageResult: response.PageResult{
Page: req.Page,
PageSize: req.PageSize,
Total: total,
},
Data: items,
}, nil
}
func (c *ControllerV1) PostAdd(ctx context.Context, req *v1.PostAddReq) (res *v1.PostAddRes, err error) {
post, err := service.SysPost().Add(ctx, req.SysPostAddParam)
if err != nil {
return nil, err
}
return &v1.PostAddRes{
SysPostAddModel: post,
}, nil
}
func (c *ControllerV1) PostEdit(ctx context.Context, req *v1.PostEditReq) (res *v1.PostEditRes, err error) {
post, err := service.SysPost().Edit(ctx, req.SysPostEditParam)
if err != nil {
return nil, err
}
return &v1.PostEditRes{
SysPostEditModel: post,
}, nil
}
func (c *ControllerV1) PostDelete(ctx context.Context, req *v1.PostDeleteReq) (res *v1.PostDeleteRes, err error) {
post, err := service.SysPost().Delete(ctx, req.SysPostDeleteParam)
if err != nil {
return nil, err
}
return &v1.PostDeleteRes{
SysPostDeleteModel: post,
}, nil
}
func (c *ControllerV1) PostView(ctx context.Context, req *v1.PostViewReq) (res *v1.PostViewRes, err error) {
post, err := service.SysPost().View(ctx, req.SysPostViewParam)
if err != nil {
return nil, err
}
return &v1.PostViewRes{
SysPostViewModel: post,
}, nil
}
func (c *ControllerV1) PostExport(ctx context.Context, req *v1.PostExportReq) (res *v1.PostExportRes, err error) {
_, err = service.SysPost().Export(ctx, req.SysPostExportParam)
if err != nil {
return nil, err
}
return &v1.PostExportRes{}, nil
}
@@ -0,0 +1,94 @@
package system
import (
"context"
v1 "git.5iot.com/iotlcm-public/iotlcm-app/api/system/v1"
"git.5iot.com/iotlcm-public/iotlcm-app/internal/service"
)
// 获取登录二维码
func (c *ControllerV1) QrcodeLogin(ctx context.Context, req *v1.QrcodeLoginReq) (res *v1.QrcodeLoginRes, err error) {
qrcodeLoginModel, err := service.SysQrcode().GetQrcodeLogin(ctx)
if err != nil {
return nil, err
}
return &v1.QrcodeLoginRes{
QrcodeLoginModel: *qrcodeLoginModel,
}, nil
}
// 获取登录二维码扫码结果
func (c *ControllerV1) QrcodeLoginStatus(ctx context.Context, req *v1.QrcodeLoginStatusReq) (res *v1.QrcodeLoginStatusRes, err error) {
qrcodeLoginModel, err := service.SysQrcode().GetQrcodeLoginStatus(ctx, req.TempUserId)
if err != nil {
return nil, err
}
return &v1.QrcodeLoginStatusRes{
QrcodeLoginModel: *qrcodeLoginModel,
}, nil
}
// 获取绑定二维码
func (c *ControllerV1) QrcodeBind(ctx context.Context, req *v1.QrcodeBindReq) (res *v1.QrcodeBindRes, err error) {
qrcodeBindModel, err := service.SysQrcode().GetQrcodeBind(ctx)
if err != nil {
return nil, err
}
return &v1.QrcodeBindRes{
QrcodeCacheModel: *qrcodeBindModel,
}, nil
}
// 获取绑定二维码扫码结果
func (c *ControllerV1) QrcodeBindStatus(ctx context.Context, req *v1.QrcodeBindStatusReq) (res *v1.QrcodeBindStatusRes, err error) {
qrcodeBindStatusModel, err := service.SysQrcode().GetQrcodeBindStatus(ctx)
if err != nil {
return nil, err
}
return &v1.QrcodeBindStatusRes{
QrcodeBindStatusModel: *qrcodeBindStatusModel,
}, nil
}
// 扫码成功回调
func (c *ControllerV1) QrcodeScanCallback(ctx context.Context, req *v1.QrcodeScanCallbackReq) (res *v1.QrcodeScanCallbackRes, err error) {
err = service.SysQrcode().QrcodeScanCallback(ctx, &req.QrcodeScanCallbackParam)
if err != nil {
return nil, err
}
return &v1.QrcodeScanCallbackRes{}, nil
}
// 注册并关联OpenId
func (c *ControllerV1) QrcodeRegisterAndBindOpenId(ctx context.Context, req *v1.QrcodeRegisterAndBindOpenIdReq) (res *v1.QrcodeRegisterAndBindOpenIdRes, err error) {
qrcodeLoginAndBindOpenIdModel, err := service.SysQrcode().QrcodeRegisterAndBindOpenId(ctx, &req.QrcodeRegisterAndBindOpenIdParam)
if err != nil {
return nil, err
}
return &v1.QrcodeRegisterAndBindOpenIdRes{
QrcodeLoginAndBindOpenIdModel: *qrcodeLoginAndBindOpenIdModel,
}, nil
}
// 登录并关联OpenId
func (c *ControllerV1) QrcodeLoginAndBindOpenId(ctx context.Context, req *v1.QrcodeLoginAndBindOpenIdReq) (res *v1.QrcodeLoginAndBindOpenIdRes, err error) {
qrcodeLoginAndBindOpenIdModel, err := service.SysQrcode().QrcodeLoginAndBindOpenId(ctx, &req.QrcodeLoginAndBindOpenIdParam)
if err != nil {
return nil, err
}
return &v1.QrcodeLoginAndBindOpenIdRes{
QrcodeLoginAndBindOpenIdModel: *qrcodeLoginAndBindOpenIdModel,
}, nil
}
// 扫码后选择用户登录
func (c *ControllerV1) QrcodeLoginSelectUser(ctx context.Context, req *v1.QrcodeLoginSelectUserReq) (res *v1.QrcodeLoginSelectUserRes, err error) {
qrcodeLoginAndBindOpenIdModel, err := service.SysQrcode().QrcodeLoginSelectUserId(ctx, &req.QrcodeLoginSelectUserIdParam)
if err != nil {
return nil, err
}
return &v1.QrcodeLoginSelectUserRes{
QrcodeLoginAndBindOpenIdModel: *qrcodeLoginAndBindOpenIdModel,
}, nil
}
@@ -0,0 +1,69 @@
package system
import (
"context"
v1 "git.5iot.com/iotlcm-public/iotlcm-app/api/system/v1"
"git.5iot.com/iotlcm-public/iotlcm-app/internal/model/response"
"git.5iot.com/iotlcm-public/iotlcm-app/internal/service"
)
func (c *ControllerV1) RoleList(ctx context.Context, req *v1.RoleListReq) (res *v1.RoleListRes, err error) {
data, total, err := service.SysRole().List(ctx, &req.SysRoleListParam)
if err != nil {
return nil, err
}
return &v1.RoleListRes{
PageResult: response.PageResult{
Page: req.Page,
PageSize: req.PageSize,
Total: total,
},
Data: data,
}, nil
}
func (c *ControllerV1) RoleAdd(ctx context.Context, req *v1.RoleAddReq) (res *v1.RoleAddRes, err error) {
role, err := service.SysRole().Add(ctx, &req.SysRoleAddParam)
if err != nil {
return nil, err
}
return &v1.RoleAddRes{
SysRoleAddModel: *role,
}, nil
}
func (c *ControllerV1) RoleEdit(ctx context.Context, req *v1.RoleEditReq) (res *v1.RoleEditRes, err error) {
role, err := service.SysRole().Edit(ctx, &req.SysRoleEditParam)
if err != nil {
return nil, err
}
return &v1.RoleEditRes{
SysRoleEditModel: *role,
}, nil
}
func (c *ControllerV1) RoleDelete(ctx context.Context, req *v1.RoleDeleteReq) (res *v1.RoleDeleteRes, err error) {
role, err := service.SysRole().Delete(ctx, &req.SysRoleDeleteParam)
if err != nil {
return nil, err
}
return &v1.RoleDeleteRes{
SysRoleDeleteModel: *role,
}, nil
}
func (c *ControllerV1) RoleView(ctx context.Context, req *v1.RoleViewReq) (res *v1.RoleViewRes, err error) {
record, err := service.SysRole().View(ctx, &req.SysRoleViewParam)
if err != nil {
return nil, err
}
return &v1.RoleViewRes{
SysRoleViewModel: *record,
}, nil
}
func (c *ControllerV1) RoleDataScopeEdit(ctx context.Context, req *v1.RoleDataScopeEditReq) (res *v1.RoleDataScopeEditRes, err error) {
err = service.SysRole().EditRoleDataScope(ctx, &req.SysRoleDataScopeEditParam)
if err != nil {
return nil, err
}
return &v1.RoleDataScopeEditRes{}, nil
}
@@ -0,0 +1,34 @@
package system
import (
"context"
v1 "git.5iot.com/iotlcm-public/iotlcm-app/api/system/v1"
"git.5iot.com/iotlcm-public/iotlcm-app/internal/model/response"
"git.5iot.com/iotlcm-public/iotlcm-app/internal/service"
)
func (c *ControllerV1) SysSocialList(ctx context.Context, req *v1.SysSocialListReq) (res *v1.SysSocialListRes, err error) {
items, total, err := service.SysSocial().List(ctx, &req.SysSocialListParam, &req.PageInfo)
if err != nil {
return nil, err
}
res = &v1.SysSocialListRes{
Items: items,
PageResult: response.PageResult{
Page: req.Page,
PageSize: req.PageSize,
Total: total,
},
}
return res, nil
}
// 删除绑定关系
func (c *ControllerV1) SysSocialDelete(ctx context.Context, req *v1.SysSocialDeleteReq) (res *v1.SysSocialDeleteRes, err error) {
err = service.SysSocial().Delete(ctx, req.Id)
if err != nil {
return nil, err
}
return &v1.SysSocialDeleteRes{}, nil
}
@@ -0,0 +1,141 @@
package system
import (
"context"
v1 "git.5iot.com/iotlcm-public/iotlcm-app/api/system/v1"
"git.5iot.com/iotlcm-public/iotlcm-app/internal/model"
"git.5iot.com/iotlcm-public/iotlcm-app/internal/model/response"
"git.5iot.com/iotlcm-public/iotlcm-app/internal/service"
)
func (c *ControllerV1) SysTenantList(ctx context.Context, req *v1.SysTenantListReq) (res *v1.SysTenantListRes, err error) {
items, total, err := service.SysTenant().List(ctx, req.SysTenantListParam)
if err != nil {
return nil, err
}
res = &v1.SysTenantListRes{
PageResult: response.PageResult{
Page: req.Page,
PageSize: req.PageSize,
Total: total,
},
Items: items,
}
return
}
func (c *ControllerV1) SysTenantPackageList(ctx context.Context, req *v1.SysTenantPackageListReq) (res *v1.SysTenantPackageListRes, err error) {
items, total, err := service.SysTenantPackage().List(ctx, &req.SysTenantPackageListParam)
if err != nil {
return nil, err
}
res = &v1.SysTenantPackageListRes{
PageResult: response.PageResult{
Page: req.Page,
PageSize: req.PageSize,
Total: total,
},
Items: items,
}
return
}
func (c *ControllerV1) SysTenantAdd(ctx context.Context, req *v1.SysTenantAddReq) (res *v1.SysTenantAddRes, err error) {
data, err := service.SysTenant().Add(ctx, req.SysTenantAddParam)
if err != nil {
return nil, err
}
return &v1.SysTenantAddRes{
SysTenantAddModel: data,
}, nil
}
func (c *ControllerV1) SysTenantEdit(ctx context.Context, req *v1.SysTenantEditReq) (res *v1.SysTenantEditRes, err error) {
data, err := service.SysTenant().Edit(ctx, req.SysTenantEditParam)
if err != nil {
return nil, err
}
return &v1.SysTenantEditRes{
SysTenantEditModel: data,
}, nil
}
func (c *ControllerV1) SysTenantDelete(ctx context.Context, req *v1.SysTenantDeleteReq) (res *v1.SysTenantDeleteRes, err error) {
data, err := service.SysTenant().Delete(ctx, req.SysTenantDeleteParam)
if err != nil {
return nil, err
}
return &v1.SysTenantDeleteRes{
SysTenantDeleteModel: data,
}, nil
}
func (c *ControllerV1) SysTenantStatus(ctx context.Context, req *v1.SysTenantStatusReq) (res *v1.SysTenantStatusRes, err error) {
data, err := service.SysTenant().Status(ctx, req.SysTenantStatusParam)
if err != nil {
return nil, err
}
return &v1.SysTenantStatusRes{
SysTenantStatusModel: data,
}, nil
}
func (c *ControllerV1) SysTenantView(ctx context.Context, req *v1.SysTenantViewReq) (res *v1.SysTenantViewRes, err error) {
data, err := service.SysTenant().View(ctx, req.SysTenantViewParam)
if err != nil {
return nil, err
}
return &v1.SysTenantViewRes{
SysTenantViewModel: data,
}, nil
}
func (c *ControllerV1) SysTenantPackageView(ctx context.Context, req *v1.SysTenantPackageViewReq) (res *v1.SysTenantPackageViewRes, err error) {
data, err := service.SysTenantPackage().View(ctx, req.SysTenantPackageViewParam)
if err != nil {
return nil, err
}
return &v1.SysTenantPackageViewRes{
SysTenantPackageViewModel: data,
}, nil
}
func (c *ControllerV1) SysTenantPackageStatus(ctx context.Context, req *v1.SysTenantPackageStatusReq) (res *v1.SysTenantPackageStatusRes, err error) {
data, err := service.SysTenantPackage().Status(ctx, req.SysTenantPackageStatusParam)
if err != nil {
return nil, err
}
return &v1.SysTenantPackageStatusRes{
SysTenantPackageStatusModel: data,
}, nil
}
func (c *ControllerV1) SysTenantPackageAdd(ctx context.Context, req *v1.SysTenantPackageAddReq) (res *v1.SysTenantPackageAddRes, err error) {
data, err := service.SysTenantPackage().Add(ctx, req.SysTenantPackageAddParam)
if err != nil {
return nil, err
}
return &v1.SysTenantPackageAddRes{
SysTenantPackageAddModel: data,
}, nil
}
func (c *ControllerV1) SysTenantPackageEdit(ctx context.Context, req *v1.SysTenantPackageEditReq) (res *v1.SysTenantPackageEditRes, err error) {
data, err := service.SysTenantPackage().Edit(ctx, req.SysTenantPackageEditParam)
if err != nil {
return nil, err
}
return &v1.SysTenantPackageEditRes{
SysTenantPackageEditModel: data,
}, nil
}
func (c *ControllerV1) SysTenantPackageDelete(ctx context.Context, req *v1.SysTenantPackageDeleteReq) (res *v1.SysTenantPackageDeleteRes, err error) {
data, err := service.SysTenantPackage().Delete(ctx, req.SysTenantPackageDeleteParam)
if err != nil {
return nil, err
}
return &v1.SysTenantPackageDeleteRes{
SysTenantPackageDeleteModel: data,
}, nil
}
func (c *ControllerV1) SysTenantSyncMenu(ctx context.Context, req *v1.SysTenantSyncMenuReq) (res *v1.SysTenantSyncMenuRes, err error) {
err = service.SysTenant().SyncTenantMenu(ctx, req.TenantId)
if err != nil {
return nil, err
}
return &v1.SysTenantSyncMenuRes{
SysTenantSyncMenuModel: &model.SysTenantSyncMenuModel{},
}, nil
}
@@ -0,0 +1,236 @@
package system
import (
"context"
"github.com/gogf/gf/v2/errors/gcode"
"github.com/gogf/gf/v2/errors/gerror"
"github.com/gogf/gf/v2/frame/g"
"github.com/gogf/gf/v2/util/gconv"
v1 "git.5iot.com/iotlcm-public/iotlcm-app/api/system/v1"
"git.5iot.com/iotlcm-public/iotlcm-app/internal/library/contexts"
"git.5iot.com/iotlcm-public/iotlcm-app/internal/model"
"git.5iot.com/iotlcm-public/iotlcm-app/internal/model/request"
"git.5iot.com/iotlcm-public/iotlcm-app/internal/model/response"
"git.5iot.com/iotlcm-public/iotlcm-app/internal/service"
)
func (c *ControllerV1) UserInfo(ctx context.Context, req *v1.UserInfoReq) (res *v1.UserInfoRes, err error) {
// 获取token
userId := contexts.GetUserId(ctx)
if userId == 0 {
return nil, gerror.NewCode(gcode.CodeSecurityReason)
}
// 获取用户信息
user, err := service.SysUser().GetUserById(ctx, userId)
if err != nil {
return nil, err
}
menus, err := service.SysMenu().GetUserMenuTree(ctx)
if err != nil {
return nil, err
}
homePath := ""
firstMenu := "404"
if len(menus) > 0 {
for _, menu := range menus {
firstMenu = menu.Path
if len(menu.Children) == 0 {
break
}
for _, menu2 := range menu.Children {
firstMenu = firstMenu + "/" + menu2.Path
if len(menu2.Children) == 0 {
break
}
for _, menu3 := range menu2.Children {
firstMenu = firstMenu + "/" + menu3.Path
if len(menu3.Children) == 0 {
break
}
for _, menu4 := range menu3.Children {
firstMenu = firstMenu + "/" + menu4.Path
if len(menu4.Children) == 0 {
break
}
for _, menu5 := range menu4.Children {
firstMenu = firstMenu + "/" + menu5.Path
if len(menu5.Children) == 0 {
break
}
for _, menu6 := range menu5.Children {
firstMenu = firstMenu + "/" + menu6.Path
if len(menu6.Children) == 0 {
break
}
}
}
}
}
}
}
}
g.Log().Debugf(ctx, "firstMenu: %s", firstMenu)
if homePath == "" {
homePath = "/" + firstMenu
}
return &v1.UserInfoRes{
UserInfo: v1.UserInfo{
Id: user.UserId,
Username: user.UserName,
Nickname: user.NickName,
Avatar: user.Avatar,
Email: user.Email,
HomePath: homePath,
},
}, nil
}
func (c *ControllerV1) UserList(ctx context.Context, req *v1.UserListReq) (res *v1.UserListRes, err error) {
// 获取用户列表
users, total, err := service.SysUser().List(ctx, &req.PageInfo, &req.UserListParam)
if err != nil {
return nil, err
}
return &v1.UserListRes{
Data: users,
PageResult: response.PageResult{
Page: req.Page,
PageSize: req.PageSize,
Total: total,
},
}, nil
}
func (c *ControllerV1) AddUser(ctx context.Context, req *v1.AddUserReq) (res *v1.AddUserRes, err error) {
data, err := service.SysUser().AddUser(ctx, &req.SysUserAddModel)
if err != nil {
return nil, err
}
return &v1.AddUserRes{
Data: data,
}, nil
}
func (c *ControllerV1) UserProfile(ctx context.Context, req *v1.UserProfileReq) (res *v1.UserProfileRes, err error) {
user, err := service.SysUser().Profile(ctx)
if err != nil {
return nil, err
}
return &v1.UserProfileRes{
User: user,
}, nil
}
func (c *ControllerV1) UpdateCurrentUser(ctx context.Context, req *v1.UpdateCurrentUserReq) (res *v1.UpdateCurrentUserRes, err error) {
user, err := service.SysUser().UpdateCurrentUser(ctx, &req.UpdateCurrentUserModel)
if err != nil {
return nil, err
}
return &v1.UpdateCurrentUserRes{
UserInfo: v1.UserInfo{
Id: user.UserId,
Username: user.UserName,
Nickname: user.NickName,
Avatar: user.Avatar,
Email: user.Email,
},
}, nil
}
func (c *ControllerV1) UpdateCurrentUserPassword(ctx context.Context, req *v1.UpdateCurrentUserPasswordReq) (res *v1.UpdateCurrentUserPasswordRes, err error) {
err = service.SysUser().UpdateCurrentUserPassword(ctx, &req.UpdateCurrentUserPasswordModel)
if err != nil {
return nil, err
}
return &v1.UpdateCurrentUserPasswordRes{}, nil
}
func (c *ControllerV1) UpdateUser(ctx context.Context, req *v1.UpdateUserReq) (res *v1.UpdateUserRes, err error) {
err = service.SysUser().UpdateUser(ctx, &req.SysUserUpdateModel)
if err != nil {
return nil, err
}
user, err := service.SysUser().GetUserById(ctx, req.UserId)
if err != nil {
return nil, err
}
return &v1.UpdateUserRes{
SysUserViewModel: *user,
}, nil
}
func (c *ControllerV1) DeleteUser(ctx context.Context, req *v1.DeleteUserReq) (res *v1.DeleteUserRes, err error) {
if req.UserId != 0 {
err = service.SysUser().DeleteUser(ctx, []int64{req.UserId})
} else {
err = service.SysUser().DeleteUser(ctx, req.UserIds)
}
if err != nil {
return nil, err
}
return &v1.DeleteUserRes{}, nil
}
func (c *ControllerV1) GetUser(ctx context.Context, req *v1.GetUserReq) (res *v1.GetUserRes, err error) {
// 如果调用方传入 userId == 0,则不返回错误,直接返回空的用户视图结构
if req.UserId == 0 {
return &v1.GetUserRes{
SysUserViewModel: model.SysUserViewModel{},
}, nil
}
user, err := service.SysUser().GetUserById(ctx, req.UserId)
if err != nil {
return nil, err
}
return &v1.GetUserRes{
SysUserViewModel: *user,
}, nil
}
func (c *ControllerV1) ResetPassword(ctx context.Context, req *v1.ResetPasswordReq) (res *v1.ResetPasswordRes, err error) {
err = service.SysUser().ResetPassword(ctx, req.UserId, req.Password)
if err != nil {
return nil, err
}
return &v1.ResetPasswordRes{}, nil
}
func (c *ControllerV1) GetUserListByDeptId(ctx context.Context, req *v1.GetUserListByDeptIdReq) (res *v1.GetUserListByDeptIdRes, err error) {
users, total, err := service.SysUser().List(ctx, &request.PageInfo{
Page: req.Page,
PageSize: req.PageSize,
}, &model.UserListParam{
DeptId: req.DeptId,
})
if err != nil {
return nil, err
}
miniUsers := make([]*model.SysUserMiniModel, 0)
gconv.Structs(users, &miniUsers)
return &v1.GetUserListByDeptIdRes{
Items: miniUsers,
PageResult: response.PageResult{
Page: req.Page,
PageSize: req.PageSize,
Total: total,
},
}, nil
}
// UserRegister 用户注册
func (c *ControllerV1) UserRegister(ctx context.Context, req *v1.UserRegisterReq) (res *v1.UserRegisterRes, err error) {
err = service.SysUser().Register(ctx, &req.SysUserRegisterModel)
if err != nil {
return nil, err
}
return &v1.UserRegisterRes{}, nil
}
// UserStatus 更新用户状态
func (c *ControllerV1) UserStatus(ctx context.Context, req *v1.UserStatusReq) (res *v1.UserStatusRes, err error) {
err = service.SysUser().Status(ctx, &req.SysUserStatusParam)
if err != nil {
return nil, err
}
return &v1.UserStatusRes{}, nil
}