feat:完善项目
This commit is contained in:
86
app/controller/manage/equipment_material.go
Normal file
86
app/controller/manage/equipment_material.go
Normal file
@ -0,0 +1,86 @@
|
||||
package manage
|
||||
|
||||
import (
|
||||
model2 "ArmedPolice/app/common/model"
|
||||
"ArmedPolice/app/controller/basic"
|
||||
"ArmedPolice/app/model"
|
||||
"ArmedPolice/app/service"
|
||||
"ArmedPolice/serve/orm"
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
type EquipmentMaterial struct{ *service.Session }
|
||||
|
||||
type EquipmentMaterialHandle func(session *service.Session) *EquipmentMaterial
|
||||
|
||||
type (
|
||||
// EquipmentMaterialInfo 装备器材信息
|
||||
EquipmentMaterialInfo struct {
|
||||
*model.ManageMaterialBasic
|
||||
basic.CommonIDString
|
||||
}
|
||||
EquipmentMaterialBindParams struct {
|
||||
EquipmentID uint64
|
||||
MaterialIDs []uint64
|
||||
}
|
||||
)
|
||||
|
||||
// List 列表信息
|
||||
func (c *EquipmentMaterial) List(equipmentID uint64) ([]*EquipmentMaterialInfo, error) {
|
||||
mManageEquipmentMaterial := model.NewManageEquipmentMaterial()
|
||||
|
||||
out, err := mManageEquipmentMaterial.Materials(equipmentID)
|
||||
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
list := make([]*EquipmentMaterialInfo, 0)
|
||||
|
||||
for _, v := range out {
|
||||
mManageEquipmentMaterial.ID = v.ID
|
||||
|
||||
list = append(list, &EquipmentMaterialInfo{
|
||||
CommonIDString: basic.CommonIDString{ID: mManageEquipmentMaterial.GetEncodeID()},
|
||||
ManageMaterialBasic: v,
|
||||
})
|
||||
}
|
||||
return list, nil
|
||||
}
|
||||
|
||||
// Bind 绑定操作
|
||||
func (c *EquipmentMaterial) Bind(params *EquipmentMaterialBindParams) error {
|
||||
mManageEquipmentMaterial := model.NewManageEquipmentMaterial()
|
||||
|
||||
return orm.GetDB().Transaction(func(tx *gorm.DB) error {
|
||||
err := model2.DeleteWhere(mManageEquipmentMaterial.ManageEquipmentMaterial, []*model2.ModelWhere{
|
||||
model2.NewWhere("equipment_id", params.EquipmentID),
|
||||
})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
list := make([]*model2.ManageEquipmentMaterial, 0)
|
||||
|
||||
for _, v := range params.MaterialIDs {
|
||||
list = append(list, &model2.ManageEquipmentMaterial{
|
||||
EquipmentID: params.EquipmentID,
|
||||
MaterialID: v,
|
||||
})
|
||||
}
|
||||
if len(list) > 0 {
|
||||
return model2.Creates(mManageEquipmentMaterial.ManageEquipmentMaterial, list)
|
||||
}
|
||||
return nil
|
||||
})
|
||||
}
|
||||
|
||||
func (c *EquipmentMaterial) Delete(id uint64) error {
|
||||
mManageEquipmentMaterial := model.NewManageEquipmentMaterial()
|
||||
mManageEquipmentMaterial.ID = id
|
||||
return model2.Delete(mManageEquipmentMaterial.ManageEquipmentMaterial)
|
||||
}
|
||||
|
||||
func NewEquipmentMaterial() EquipmentMaterialHandle {
|
||||
return func(session *service.Session) *EquipmentMaterial {
|
||||
return &EquipmentMaterial{session}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user