chore: 初始开源发布

iotlcm-admin-svr:管理后台服务。

- Go module:iotlcm → git.5iot.com/iotlcm-public/iotlcm-admin-svr(729 文件)
- 凭据与地址脱敏:JWT signingKey(含代码里的 MustGet 默认值)、
  MySQL DSN、Redis 口令、告警邮件发件人邮箱全部改为占位;
  私网 IP → 文档地址段;库名 xiujie_admin → iotlcm
- 真实手机号/邮箱 → 合法 11 位编造号 / example.com
- 移除内部资产:CI 触发器、过时 DDL(sql/db_iotlcm.sql)、
  私有依赖 go get 行、明文 registry 登录口令
- 启动 banner 统一 IOTLCM 方块字 + 社区惯例署名
- Dockerfile 改用公共基础镜像
- 拼错的 RADEME.md → README.md,README 重写
- 需要真实数据库的用例改为可用 IOTLCM_TEST_WITH_DB=1 显式启用
- 补 Apache-2.0 LICENSE,LF 行尾 + .gitattributes

数据库 schema 不随本仓发布(生产 DDL 已过时),README 已说明。
This commit is contained in:
MiFaZhan
2026-10-23 14:46:05 +08:00
commit 59eb34976a
1132 changed files with 138197 additions and 0 deletions
@@ -0,0 +1,123 @@
package system
import (
"context"
v1 "git.5iot.com/iotlcm-public/iotlcm-admin-svr/api/system/v1"
"git.5iot.com/iotlcm-public/iotlcm-admin-svr/internal/model"
"git.5iot.com/iotlcm-public/iotlcm-admin-svr/internal/model/response"
"git.5iot.com/iotlcm-public/iotlcm-admin-svr/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
}