|
- package svc
-
- import (
- enum2 "applet/app/admin/enum"
- "applet/app/admin/md"
- "applet/app/db"
- "applet/app/db/model"
- )
-
- func EnterpriseList(admin model.Admin, req md.EnterpriseListReq) (m []model.Enterprise, total int64, err error) {
- sess := db.Db.Desc("id")
- if admin.IsSuperAdministrator != enum2.IsSuperAdministratorTure {
- adminWithEnterpriseDb := db.AdminWithEnterpriseDb{}
- adminWithEnterpriseDb.Set()
- adminWithEnterprise, err1 := adminWithEnterpriseDb.FindAdminWithEnterprise(admin.AdmId)
- if err1 != nil {
- return nil, 0, err1
- }
- var enterPriseIds []int
- for _, v1 := range *adminWithEnterprise {
- enterPriseIds = append(enterPriseIds, v1.EnterpriseId)
- }
- if len(enterPriseIds) == 0 {
- return
- }
- sess.In("id", enterPriseIds)
- }
- sess.Limit(req.Limit, (req.Page-1)*req.Limit)
- if req.Name != "" {
- sess.And("name like ?", "%"+req.Name+"%")
- }
- if req.Kind != 0 {
- sess.And("kind = ?", req.Kind)
- }
- if req.Pvd != 0 {
- sess.And("pvd = ?", req.Pvd)
- }
- if req.Mode != 0 {
- sess.And("mode = ?", req.Mode)
- }
- total, err = sess.FindAndCount(&m)
- if err != nil {
- return
- }
- return
- }
-
- func EnterpriseDetail(enterpriseId int) (data md.EnterpriseDetailResp, err error) {
- //1、查找所在单位
- enterpriseDb := db.EnterpriseDb{}
- enterpriseDb.Set()
- enterprise, err := enterpriseDb.GetEnterprise(enterpriseId)
- if err != nil {
- return
- }
- data.Enterprise = *enterprise
-
- //2、查找对应学段
- periodDb := db.PeriodDb{}
- periodDb.Set(enterpriseId)
- gradeDb := db.GradeDb{}
- gradeDb.Set(enterpriseId)
- classDb := db.ClassDb{}
-
- periodList, err := periodDb.FindPeriod()
- if err != nil {
- return
- }
-
- for _, v := range *periodList {
- //3、查找对应年级
- gradeList, err1 := gradeDb.FindGradeByPeriodId(v.Id)
- if err1 != nil {
- return
- }
-
- var tmpGradeListStruct []md.GradeListStruct
- for _, v1 := range *gradeList {
- //3、查找对应班级
- classDb.Set(v1.Id)
- classes, err2 := classDb.FindClass()
- if err2 != nil {
- err = err2
- return
- }
- tmpGradeListStruct = append(tmpGradeListStruct, md.GradeListStruct{
- Grade: v1,
- ClassList: *classes,
- })
- }
-
- data.PeriodList = append(data.PeriodList, md.PeriodListStruct{
- Period: v,
- GradeList: tmpGradeListStruct,
- })
- }
-
- return
- }
-
- func EnterpriseDetailV2(enterpriseId int) (data md.EnterpriseDetailRespV2, err error) {
- //1、查找所在单位
- enterpriseDb := db.EnterpriseDb{}
- enterpriseDb.Set()
- enterprise, err := enterpriseDb.GetEnterprise(enterpriseId)
- if err != nil {
- return
- }
- data.Enterprise = *enterprise
-
- //2、查找对应年级
- gradeDb := db.GradeDb{}
- gradeDb.Set(enterpriseId)
- gradeList, err := gradeDb.FindGrade()
- if err != nil {
- return
- }
-
- for _, v := range *gradeList {
- //3、查找对应班级
- classDb := db.ClassDb{}
- classDb.Set(v.Id)
- classes, err1 := classDb.FindClass()
- if err1 != nil {
- err = err1
- return
- }
- data.GradeList = append(data.GradeList, md.GradeListStructV2{
- Grade: v,
- ClassList: *classes,
- })
- }
- return
- }
-
- func EnterpriseDelete(enterpriseIds []int) (err error) {
- session := db.Db.NewSession()
- defer session.Close()
- session.Begin()
- //1、删除所在单位
- enterpriseDb := db.EnterpriseDb{}
- enterpriseDb.Set()
- _, err = enterpriseDb.EnterpriseDeleteBySession(session, enterpriseIds)
- if err != nil {
- _ = session.Rollback()
- return
- }
-
- //2、删除年级
- gradeDb := db.GradeDb{}
- gradeDb.Set(0)
- _, err = gradeDb.ClassDeleteBySessionForEnterprise(session, enterpriseIds)
- if err != nil {
- _ = session.Rollback()
- return
- }
-
- //3、删除班级
- classDb := db.ClassDb{}
- classDb.Set(0)
- _, err = classDb.ClassDeleteBySessionForEnterprise(session, enterpriseIds)
- if err != nil {
- _ = session.Rollback()
- return
- }
-
- return session.Commit()
- }
|