123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- package booktype
-
- import (
- "errors"
- "spaceofcheng/services/models/booktype"
- "spaceofcheng/services/models/model"
- "spaceofcheng/services/service"
- "spaceofcheng/services/utils"
- )
-
- // BooktypeServ 系统处理
- type BooktypeServ struct {
- ctx *utils.Context
- dao *booktype.BooktypeDAO
- }
-
- // NewBooktypeServ 初始化
- func NewBooktypeServ(ctx *utils.Context) *BooktypeServ {
- return &BooktypeServ{
- ctx: ctx,
- dao: booktype.NewBooktypeDAO(ctx),
- }
- }
-
- func (s *BooktypeServ) GetBookTypeList(caseid string, page, pageSize int) (map[string]interface{}, error) {
- if pageSize == 0 {
- pageSize = service.PAGENUM
- }
- list, err := s.dao.GetBookTypeList(caseid, page, pageSize)
- if err != nil {
- utils.LogError("获取图书分类列表失败: " + err.Error())
- return nil, errors.New("获取图书分类列表失败")
- }
- total, err := s.dao.GetBookTypeListCount(caseid)
- if err != nil {
- utils.LogError("获取图书分类列表失败: " + err.Error())
- return nil, errors.New("获取图书分类列表失败")
- }
- return map[string]interface{}{
- "list": list,
- "pageSize": pageSize,
- "pagenum": total,
- "page": page,
- }, nil
- }
-
- func (s *BooktypeServ) GetBookTypeById(bookTypeId string) (*model.TaBookType, error) {
- bookType, err := s.dao.GetBookTypeById(bookTypeId)
- if err != nil {
- utils.LogError("获取图书分类详情失败: " + err.Error())
- return nil, errors.New("获取图书分类详情失败")
- }
- return bookType, nil
- }
-
- func (s *BooktypeServ) SaveBookType(booktype model.TaBookType) (*model.TaBookType, error) {
-
- if booktype.BookTypeImg == "" {
- return nil, errors.New("类型图片不能为空")
- }
- if booktype.CaseId == "" {
- return nil, errors.New("案场不能为空")
- }
- if booktype.BookTypeName == "" {
- return nil, errors.New("类型名称不能为空")
- }
- if booktype.BookTypeId == "" {
- num, err := s.dao.IsNameExist(booktype.BookTypeName, booktype.CaseId)
- if err != nil {
- utils.LogError("新增图书分类失败: " + err.Error())
- return nil, errors.New("新增图书分类失败")
- }
- if num > 0 {
- return nil, errors.New("已存在分类名称")
- }
- bookType, err := s.dao.AddBookType(booktype)
- if err != nil {
- utils.LogError("新增图书分类失败: " + err.Error())
- return nil, errors.New("新增图书分类失败")
- }
- return bookType, nil
- }
- bookType, err := s.dao.EditBookType(booktype)
- if err != nil {
- utils.LogError("修改图书分类失败: " + err.Error())
- return nil, errors.New("修改图书分类失败")
- }
-
- return bookType, nil
- }
-
- func (s *BooktypeServ) DeleteBookType(bookTypeId string) error {
- num, err := s.dao.IsExistBook(bookTypeId)
- if err != nil {
- utils.LogError("删除图书失败: " + err.Error())
- return errors.New("删除图书失败")
- }
- if num > 0 {
- return errors.New("该类型下有图书,不能删除")
- }
- err = s.dao.DeleteBookType(bookTypeId)
- if err != nil {
- utils.LogError("删除图书失败: " + err.Error())
- return errors.New("删除图书失败")
- }
- return nil
- }
|