123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- package goods
-
- import (
- "errors"
- "spaceofcheng/services/models/model"
- "spaceofcheng/services/service"
- "spaceofcheng/services/utils"
- )
-
- // GetGoodsType 获取商品类型
- func (s *GoodsServ) GetGoodsType(caseids string, page int, pageSize int) (map[string]interface{}, error) {
- if pageSize == 0 {
- pageSize = service.PAGENUM
- }
- if page == 0 {
- page = 1
- }
- types, err := s.dao.GetGoodsType(caseids, page, pageSize)
- if err != nil {
- utils.LogError("获取商品类型失败: " + err.Error())
- return nil, errors.New("获取商品类型失败")
- }
- total, err := s.dao.GetGoodsTypeCount(caseids)
- if err != nil {
- utils.LogError("获取商品类型失败: " + err.Error())
- return nil, errors.New("获取商品类型失败")
- }
-
- return map[string]interface{}{
- "list": types,
- "pagesize": pageSize,
- "pagenum": total,
- "page": page,
- }, nil
- }
-
- // GetGoodsTypeByCase 获取商品类型
- func (s *GoodsServ) GetGoodsTypeByCase(caseid string) ([]model.TdGoodsType, error) {
- if caseid == "" {
- return nil, errors.New("请选选择对应案场!")
- }
- types, err := s.dao.GetGoodsTypeByCase(caseid)
- if err != nil {
- utils.LogError("获取商品类型失败: " + err.Error())
- return nil, errors.New("获取商品类型失败")
- }
- return types, nil
- }
-
- // GetGoodsTypeByID 根据商品类型ID获取商品类型
- func (s *GoodsServ) GetGoodsTypeByID(typeid string) (*model.TdGoodsType, error) {
- goodsType, err := s.dao.GetGoodsTypeByID(typeid)
- if err != nil {
- utils.LogError("获取商品类型失败: " + err.Error())
- return nil, errors.New("获取商品类型失败")
- }
- return goodsType, nil
- }
-
- // SaveGoodsType 保存商品类型
- func (s *GoodsServ) SaveGoodsType(goodsType model.TdGoodsType) (*model.TdGoodsType, error) {
- if goodsType.TypeName == "" {
- return nil, errors.New("类型名称不能为空!")
- }
-
- if goodsType.CaseId == "" {
- return nil, errors.New("案场不能为空!")
- }
-
- var err error
- if goodsType.TypeId == "" {
- _, err = s.dao.AddGoodsType(&goodsType)
- } else {
- err = s.dao.UpdateGoodsType(&goodsType)
- }
- if err != nil {
- utils.LogError("保存商品类型失败: " + err.Error())
- return nil, errors.New("保存商品类型失败")
- }
- return &goodsType, nil
- }
-
- // DelGoodsType 删除商品类型
- func (s *GoodsServ) DelGoodsType(typeid string) error {
- goods, err := s.dao.GetGoodsByType(typeid)
- if err != nil {
- utils.LogError("删除商品类型失败: " + err.Error())
- return errors.New("删除商品类型失败")
- }
- if len(goods) > 0 {
- return errors.New("已关联商品。不允许删除")
- }
- err = s.dao.DelGoodsType(typeid)
- if err != nil {
- utils.LogError("删除商品类型失败: " + err.Error())
- return errors.New("删除商品类型失败")
- }
- return err
- }
|