| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126 |
- package service
- import (
- "dashoo.cn/micro_libary/request"
- "github.com/gogf/gf/util/gconv"
- "lims_reservation/dao"
- "lims_reservation/model"
- )
- // MeetingService 会议室服务
- type MeetingService struct {
- Dao *dao.MeetingDao
- }
- // NewSrv 服务初始化
- func NewSrv(tenant string) MeetingService {
- return MeetingService{dao.NewMeetingDao(tenant)}
- }
- // List 会议室列表
- func (m MeetingService) List(req model.ListReq) ([]model.Meeting, error) {
- entityModel := m.Dao.M
- if req.Entity != nil {
- if entity, ok := req.Entity.(model.MeetingReq); ok {
- if entity.Name != "" {
- entityModel = entityModel.WhereLike(m.Dao.Columns.Name, "%"+entity.Name+"%")
- }
- if entity.Code != "" {
- entityModel = entityModel.WhereLike(m.Dao.Columns.Code, "%"+entity.Code+"%")
- }
- if entity.Scale != 0 {
- entityModel = entityModel.Where(m.Dao.Columns.Scale, entity.Scale)
- }
- if entity.Location != "" {
- entityModel = entityModel.WhereLike(m.Dao.Columns.Location, "%"+entity.Location+"%")
- }
- }
- }
- if req.Value != "" {
- entityModel = entityModel.Order(req.Value, req.Type)
- }
- res, err := entityModel.Page(req.Current, req.Size).FindAll()
- if err != nil {
- return nil, err
- }
- if res.IsEmpty() {
- return nil, nil
- }
- list := make([]model.Meeting, 0)
- res.Structs(&list)
- return list, nil
- }
- func (m MeetingService) Add(userInfo request.UserInfo, req model.MeetingReq) error {
- entity := new(model.Meeting)
- // 唯一校验
- count, err := m.Dao.M.Fields(m.Dao.Columns.Id).Where(m.Dao.Columns.Name, req.Name).FindCount()
- if err != nil {
- return err
- }
- if count > 0 {
- return NameExistsErr
- }
- count, err = m.Dao.M.Fields(m.Dao.Columns.Id).Where(m.Dao.Columns.Code, req.Code).FindCount()
- if err != nil {
- return err
- }
- if count > 0 {
- return CodeExistsErr
- }
- gconv.Struct(req, entity)
- SetCreate(&userInfo, entity)
- _, err = m.Dao.M.Insert(entity)
- if err != nil {
- return err
- }
- return nil
- }
- func (m MeetingService) Update(userInfo request.UserInfo, req model.MeetingReq) error {
- entity := new(model.Meeting)
- // 唯一校验
- count, err := m.Dao.M.Fields(m.Dao.Columns.Id).
- Where(m.Dao.Columns.Name, req.Name).WhereNot(m.Dao.Columns.Id, req.Id).
- FindCount()
- if err != nil {
- return err
- }
- if count > 0 {
- return NameExistsErr
- }
- count, err = m.Dao.M.Fields(m.Dao.Columns.Id).
- Where(m.Dao.Columns.Code, req.Code).WhereNot(m.Dao.Columns.Id, req.Id).
- FindCount()
- if err != nil {
- return err
- }
- if count > 0 {
- return CodeExistsErr
- }
- gconv.Struct(req, entity)
- SetCreate(&userInfo, entity)
- _, err = m.Dao.M.WherePri(req.Id).Update(entity)
- if err != nil {
- return err
- }
- return nil
- }
- func (m MeetingService) Get(id int) (*model.Meeting, error) {
- return m.Dao.WherePri(id).FindOne()
- }
- func (m MeetingService) Delete(id int) error {
- _, err := m.Dao.WherePri(id).Delete()
- if err != nil {
- return err
- }
- return nil
- }
|