package proj import ( "context" projDao "dashoo.cn/micro/app/dao/proj" projModel "dashoo.cn/micro/app/model/proj" "dashoo.cn/micro/app/service" ) type businessTeamService struct { *service.ContextService Dao *projDao.ProjBusinessTeamDao } func NewBusinessTeamService(ctx context.Context) (svc *businessTeamService, err error) { svc = new(businessTeamService) if svc.ContextService, err = svc.Init(ctx); err != nil { return nil, err } svc.Dao = projDao.NewProjBusinessTeamDao(svc.Tenant) return svc, nil } func (p *businessTeamService) GetList(busId int64) (teamList []*projModel.BusinessTeam, err error) { err = p.Dao.As("team").LeftJoin("sys_user", "user", "team.user_id=user.id"). LeftJoin("sys_dept", "dept", "user.dept_id=dept.id"). Where(p.Dao.Columns.BusId, busId).Fields("team.id AS id, team.*, user.user_name, dept.dept_name").Scan(&teamList) return } func (p *businessTeamService) Create(req *projModel.BusinessTeamReq) (err error) { teamList := make([]*projModel.ProjBusinessTeam, 0) for _, v := range req.UserIds { data := new(projModel.ProjBusinessTeam) data.BusId = req.BusId data.UserId = v data.Role = req.Role data.Permission = req.Permission data.DeadlineTime = req.DeadlineTime data.Remark = req.Remark service.SetCreatedInfo(data, p.GetCxtUserId(), p.GetCxtUserName()) teamList = append(teamList, data) } _, err = p.Dao.Insert(&teamList) return } func (p *businessTeamService) DeleteByIds(ids []int64) (err error) { _, err = p.Dao.WhereIn(projDao.ProjBusinessTeam.Columns.Id, ids).Delete() return }