business_team.go 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. package proj
  2. import (
  3. "context"
  4. projDao "dashoo.cn/micro/app/dao/proj"
  5. projModel "dashoo.cn/micro/app/model/proj"
  6. "dashoo.cn/micro/app/service"
  7. )
  8. type businessTeamService struct {
  9. *service.ContextService
  10. Dao *projDao.ProjBusinessTeamDao
  11. }
  12. func NewBusinessTeamService(ctx context.Context) (svc *businessTeamService, err error) {
  13. svc = new(businessTeamService)
  14. if svc.ContextService, err = svc.Init(ctx); err != nil {
  15. return nil, err
  16. }
  17. svc.Dao = projDao.NewProjBusinessTeamDao(svc.Tenant)
  18. return svc, nil
  19. }
  20. func (p *businessTeamService) GetList(busId int64) (teamList []*projModel.BusinessTeam, err error) {
  21. err = p.Dao.As("team").LeftJoin("sys_user", "user", "team.user_id=user.id").
  22. LeftJoin("sys_dept", "dept", "user.dept_id=dept.id").
  23. Where(p.Dao.C.BusId, busId).Fields("team.id AS id, team.*, user.user_name, dept.dept_name").Scan(&teamList)
  24. return
  25. }
  26. func (p *businessTeamService) Create(req *projModel.BusinessTeamReq) (err error) {
  27. teamList := make([]*projModel.ProjBusinessTeam, 0)
  28. for _, v := range req.UserIds {
  29. data := new(projModel.ProjBusinessTeam)
  30. data.BusId = req.BusId
  31. data.UserId = v
  32. data.Role = req.Role
  33. data.Permission = req.Permission
  34. data.DeadlineTime = req.DeadlineTime
  35. data.Remark = req.Remark
  36. service.SetCreatedInfo(data, p.GetCxtUserId(), p.GetCxtUserName())
  37. teamList = append(teamList, data)
  38. }
  39. _, err = p.Dao.Insert(&teamList)
  40. return
  41. }
  42. func (p *businessTeamService) DeleteByIds(ids []int64) (err error) {
  43. _, err = p.Dao.WhereIn(projDao.ProjBusinessTeam.C.Id, ids).Delete()
  44. return
  45. }