12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- package item
- import (
- "zhiyuan/models"
- "zhiyuan/pkg/app"
- "zhiyuan/pkg/db"
- itemParam "zhiyuan/pkg/param/material/item"
- "zhiyuan/services/form"
- )
- var Params = itemParam.Params
- var MatItem models.MatItem
- func GetList(where map[string]interface{}, fields []string, page app.Page, retVal interface{}) ([]*models.MatItem, error) {
- if page.PageNum > 0 && page.PageSize > 0 {
- where["_limit"] = db.GetOffset(uint(page.PageNum), uint(page.PageSize))
- }
- return MatItem.GetMulti(where, fields, retVal)
- }
- func Count(where map[string]interface{}) (int64, error) {
- return db.Count(MatItem.TableName(), where)
- }
- func GetOne(where map[string]interface{}, fields []string, dest interface{}) (*models.MatItem, error) {
- return MatItem.GetOne(where, fields, dest)
- }
- func Del(id int) error {
- _, err := db.DeleteSoft(MatItem.TableName(), map[string]interface{}{"id": id})
- return err
- }
- func GetTypeMapByIds(typeIDs []int) map[int]string {
- typeListMap := make(map[int]string)
- if len(typeIDs) > 0 {
- if itemList, err := GetTypeList(nil, []string{"id, type_name"}, app.Page{}, nil); err == nil {
- for _, v := range itemList {
- typeListMap[v.ID] = v.TypeName
- }
- }
- }
- return typeListMap
- }
- func Add(form form.MaterialItemAdd) (int64, error) {
- itemMap := map[string]interface{}{
- "item_name": form.ItemName,
- "brand_id": form.BrandID,
- "type_id": form.TypeID,
- "unit": form.Unit,
- "level": form.Level,
- "pic": form.Pic,
- }
- itemID, err := db.InsertOne(MatItem.TableName(), itemMap)
- if err != nil {
- return 0, err
- }
- detailMap := map[string]interface{}{
- "item_id": itemID,
- "content": form.Content,
- }
- if detail, _ := GetDetailOne(map[string]interface{}{"item_id": itemID}, nil, nil); detail == nil {
- db.InsertOne(MatItemDetail.TableName(), detailMap)
- } else {
- db.Update(MatItemDetail.TableName(), map[string]interface{}{"id": detail.ID}, detailMap)
- }
- if len(form.Colors) > 0 {
- BatchAdd(form.Colors, int(itemID))
- }
- return itemID, nil
- }
- func Edit(form form.MaterialItemAdd, id int) (int64, error) {
- itemMap := map[string]interface{}{
- "item_name": form.ItemName,
- "brand_id": form.BrandID,
- "type_id": form.TypeID,
- "unit": form.Unit,
- "level": form.Level,
- "pic": form.Pic,
- }
- detailMap := map[string]interface{}{
- "item_id": id,
- "content": form.Content,
- }
- if detail, _ := GetDetailOne(map[string]interface{}{"item_id": id}, nil, nil); detail == nil {
- db.InsertOne(MatItemDetail.TableName(), detailMap)
- } else {
- db.Update(MatItemDetail.TableName(), map[string]interface{}{"id": detail.ID}, detailMap)
- }
- DelOptionsByItem(id)
- if len(form.Colors) > 0 {
- BatchAdd(form.Colors, id)
- }
- return db.Update(MatItem.TableName(), map[string]interface{}{"id": id}, itemMap)
- }
|