chore: 初始开源发布

iotlcm-app:小程序端 + 用户端服务。

- app/:uni-app 小程序前端(基于 unibest,MIT)
  - 微信 AppID → YOUR_WX_APPID,uni-app AppID → __UNI__YOURAPPID
  - 内网后端地址 → admin.iotlcm.example.com
  - 应用标题与 unibest 模板 README 重写(保留上游致谢与 MIT 声明)
- server/:GoFrame 用户端服务(基于 XiuAdmin,Apache-2.0)
  - module xiuadmin → git.5iot.com/iotlcm-public/iotlcm-app(360 文件)
  - 支付回调地址 → app.iotlcm.example.com,商户名与应用名泛化
  - 真实手机号 → 合法 11 位编造号(保留号段前 3 位 + 后 4 位)
  - 依赖号码尾部的断言同步更新
  - 补 server/LICENSE(Apache-2.0)
- 移除内部资产:CI 触发器
- 补根 README,LF 行尾 + .gitattributes

已知:TestSysDept_RefreshDeptAncestors 在源仓同一提交上同样失败,属既有缺陷。
This commit is contained in:
MiFaZhan
2026-10-26 14:01:25 +08:00
commit 2ed5dfa6a1
1013 changed files with 138466 additions and 0 deletions
@@ -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,81 @@
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) 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, err := service.AppUser().CustomerList(ctx, &req.AppCustomerListParam)
if err != nil {
return nil, err
}
return &v1.CustomerListRes{Items: items, Total: total}, 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,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,40 @@
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
}