feat:完善项目信息

This commit is contained in:
henry
2022-01-10 17:43:43 +08:00
parent 4b5acca5c3
commit 6712feec35
19 changed files with 1169 additions and 38 deletions

View File

@ -28,6 +28,13 @@ type (
ID string `json:"id"`
*model2.SysTenant
}
// InstanceSelectInfo 租户筛选信息
InstanceSelectInfo struct {
ID string `json:"id"`
Code string `json:"code"`
Name string `json:"name"`
Children []*InstanceSelectInfo `json:"children"`
}
// InstanceParams 参数信息
InstanceParams struct {
ID uint64
@ -64,6 +71,39 @@ func (c *Instance) Index(name string, page, pageSize int) (*controller.ReturnPag
return &controller.ReturnPages{Data: list, Count: count}, nil
}
func (c *Instance) Select() (map[string]*InstanceSelectInfo, error) {
mSysTenant := model.NewSysTenant()
out := make([]*model2.SysTenant, 0)
if err := model2.ScanFields(mSysTenant.SysTenant, &out, []string{"id", "name", "province", "city"}, &model2.ModelWhereOrder{
Order: model2.NewOrder("province", model2.OrderModeToAsc),
}, &model2.ModelWhereOrder{
Order: model2.NewOrder("city", model2.OrderModeToAsc),
}); err != nil {
return nil, err
}
res := make(map[string]*InstanceSelectInfo, 0)
for _, v := range out {
data := &InstanceSelectInfo{
ID: v.GetEncodeID(),
Code: v.City,
Name: config.MemoryForAreaInfo[v.Province][v.City],
Children: nil,
}
if _, has := res[v.Province]; !has {
res[v.Province] = &InstanceSelectInfo{
Code: v.Province,
Name: config.MemoryForAreaInfo[config2.DefaultChinaAreaCode][v.Province],
Children: []*InstanceSelectInfo{data},
}
continue
}
res[v.Province].Children = append(res[v.Province].Children, data)
}
return res, nil
}
// Form 数据操作
func (c *Instance) Form(params *InstanceParams) error {
mSysTenant := model.NewSysTenant()
@ -78,6 +118,10 @@ func (c *Instance) Form(params *InstanceParams) error {
} else if !isExist {
return errors.New("操作错误,平台信息不存在或已被删除")
}
if mSysTenant.Province != params.Area.Province || mSysTenant.City != params.Area.City {
// TODO:查询区域是否存在租户平台
}
}
mSysTenant.Name = params.Name
mSysTenant.Area = model2.Area{