1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- package calc
- import (
- "zhiyuan/pkg/db"
- "github.com/gin-gonic/gin"
- )
- type Property struct {
- ID int64 `json:"id" prop:"add:false"`
- CalcId int64 `json:"calcId" type:"int" prop:"add" search:"="`
- ItemId int64 `json:"itemId" type:"int" prop:"add" search:"="`
- Name string `json:"name" label:"属性名称" type:"string" prop:"add edit" search:"like"`
- Type int64 `json:"type" label:"属性类型" type:"int" prop:"add edit" search:"="`
- DataType string `json:"data_type" label:"数据类型" type:"string" prop:"add edit" search:"="`
- Value string `json:"value" label:"属性值" type:"string" prop:"edit" search:"="`
- Unit string `json:"unit" label:"单位" type:"string" prop:"edit" search:"="`
- State int64 `json:"state" label:"状态" type:"int" prop:"edit" default:"0"`
- OrderAt int64 `json:"order_at" prop:"add:false select:false"`
- DeletedAt int64 `json:"deleted_at" prop:"add:false select:false"`
- CreatedAt int64 `json:"created_at" prop:"add:false select:false"`
- UpdatedAt int64 `json:"updated_at" prop:"add:false select:false"`
- db.BaseModel
- }
- func (Property) TableName() string {
- return "zy_calc_property"
- }
- func (Property) ListPrivilege(c *gin.Context, data map[string]interface{}, s *db.Select) bool {
- return true
- }
- func (Property) OnePrivilege(c *gin.Context, id int64) bool {
- return true
- }
- func (Property) AddPrivilege(c *gin.Context, data map[string]interface{}, post map[string]interface{}) error {
- return nil
- }
- func (Property) EditPrivilege(c *gin.Context, id int64, data map[string]interface{}, post map[string]interface{}) error {
- return nil
- }
- func (Property) DelPrivilege(c *gin.Context, id int64) error {
- return nil
- }
- func (Property) OrderField() string {
- return "order_at"
- }
- func (Property) Page() bool {
- return true
- }
- func (Property) Count() bool {
- return true
- }
- func findProps(itemId int64, list []Property) []Property {
- props := make([]Property, 0)
- for _, v := range list {
- if v.ItemId == itemId {
- props = append(props, v)
- }
- }
- return props
- }
- func CopyPropertys(props []Property, calcId int64, itemId int64, order int64) error {
- for i, prop := range props {
- _, err := prop.Copy(prop.Name, calcId, itemId, order+int64(len(props)-i))
- if err != nil {
- return err
- }
- }
- return nil
- }
- func (model Property) Copy(name string, calcId int64, itemId int64, order int64) (int64, error) {
- id, err := db.InsertModel(db.Type(model), map[string]interface{}{
- "calcId": calcId,
- "itemId": itemId,
- "name": name,
- "type": model.Type,
- "data_type": model.DataType,
- "value": model.Value,
- "unit": model.Unit,
- "state": model.State,
- "order_at": order,
- })
- if err != nil {
- return 0, err
- }
- return id, nil
- }
|