|
|
package SchoolController
|
|
|
|
|
|
import (
|
|
|
"dsBigData/Business/Area/AreaService"
|
|
|
"dsBigData/Business/Dict/DictService"
|
|
|
"dsBigData/Business/School/SchoolDao"
|
|
|
"dsBigData/Business/School/SchoolModel"
|
|
|
"dsBigData/Business/School/SchoolService"
|
|
|
"dsBigData/Business/Student/StudentService"
|
|
|
"dsBigData/Business/Teacher/TeacherService"
|
|
|
"dsBigData/Model"
|
|
|
"dsBigData/Utils/CommonUtil"
|
|
|
"encoding/json"
|
|
|
"github.com/gin-gonic/gin"
|
|
|
"net/http"
|
|
|
)
|
|
|
|
|
|
//模块的路由配置
|
|
|
func Routers(r *gin.RouterGroup) {
|
|
|
rr := r.Group("/school")
|
|
|
|
|
|
rr.GET("/GetSchoolCountByCity", GetSchoolCountByCity)
|
|
|
rr.GET("/GetEduAssistCountByCity", GetEduAssistCountByCity)
|
|
|
rr.GET("/PageStageBySchoolId", PageStageBySchoolId)
|
|
|
|
|
|
rr.GET("/GetCityBaseInfo", GetCityBaseInfo)
|
|
|
rr.GET("/GetDistrictBaseInfo", GetDistrictBaseInfo)
|
|
|
rr.GET("/GetSchoolBaseInfo", GetSchoolBaseInfo)
|
|
|
|
|
|
rr.GET("/GetBaseAccessTopByAreaCode", GetBaseAccessTopByAreaCode)
|
|
|
|
|
|
return
|
|
|
}
|
|
|
|
|
|
func test(c *gin.Context) {
|
|
|
count, _ := SchoolDao.GetOrgInfoByOrgIds([]string{"e2d0131a-b906-11ea-8315-f48e38f73cf7", "e2d01323-b906-11ea-8315-f48e38f73cf7", "e2d013b9-b906-11ea-8315-f48e38f73cf7", "e2d0147c-b906-11ea-8315-f48e38f73cf7", "e2d01485-b906-11ea-8315-f48e38f73cf7", "e2d01509-b906-11ea-8315-f48e38f73cf7", "e2d0151b-b906-11ea-8315-f48e38f73cf7", "e2d01524-b906-11ea-8315-f48e38f73cf7", "e2d01536-b906-11ea-8315-f48e38f73cf7", "e2d01549-b906-11ea-8315-f48e38f73cf7"})
|
|
|
|
|
|
c.JSON(http.StatusOK, Model.Res{
|
|
|
Success: true,
|
|
|
List: count,
|
|
|
})
|
|
|
}
|
|
|
|
|
|
func GetBaseAccessTopByAreaCode(c *gin.Context) {
|
|
|
areaCode := c.Query("areaCode")
|
|
|
topNum := c.Query("topNum")
|
|
|
|
|
|
resArr, err := SchoolService.GetBaseAccessTop(areaCode, topNum)
|
|
|
if err != nil {
|
|
|
c.JSON(http.StatusOK, Model.Res{
|
|
|
Success: false,
|
|
|
Message: err.Error(),
|
|
|
})
|
|
|
return
|
|
|
}
|
|
|
resArrByte, _ := json.Marshal(resArr)
|
|
|
resList := CommonUtil.ConvertJsonStringToMapArray(string(resArrByte))
|
|
|
resMap := make(map[string]int)
|
|
|
orgArr := make([]string, 0)
|
|
|
for i := 0; i < len(resList); i++ {
|
|
|
orgId := resList[i]["org_id"].(string)
|
|
|
count := int(resList[i]["count"].(float64))
|
|
|
resMap[orgId] = count
|
|
|
orgArr = append(orgArr, orgId)
|
|
|
}
|
|
|
|
|
|
orgInfo, err := SchoolService.GetOrgInfoByOrgIds(orgArr)
|
|
|
if err != nil {
|
|
|
c.JSON(http.StatusOK, Model.Res{
|
|
|
Success: false,
|
|
|
Message: err.Error(),
|
|
|
})
|
|
|
return
|
|
|
}
|
|
|
|
|
|
baseAccessTopArr := make([]SchoolModel.BaseAccessTop, 0)
|
|
|
for i := range orgInfo {
|
|
|
var baseAccessTop SchoolModel.BaseAccessTop
|
|
|
orgId := orgInfo[i].OrgId
|
|
|
orgName := orgInfo[i].OrgName
|
|
|
baseAccessTop.OrgId = orgId
|
|
|
baseAccessTop.OrgName = orgName
|
|
|
if _, ok := resMap[orgId]; ok {
|
|
|
baseAccessTop.Count = resMap[orgId]
|
|
|
}
|
|
|
baseAccessTopArr = append(baseAccessTopArr, baseAccessTop)
|
|
|
}
|
|
|
|
|
|
CommonUtil.SortItems(baseAccessTopArr, "Count", "desc")
|
|
|
|
|
|
c.JSON(http.StatusOK, Model.Res{
|
|
|
Success: true,
|
|
|
List: baseAccessTopArr,
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
功能:获取市级的基本信息统计
|
|
|
*/
|
|
|
func GetCityBaseInfo(c *gin.Context) {
|
|
|
cityCode := c.Query("cityCode")
|
|
|
|
|
|
TotalCountAndCurrentTermCountArr := make([]SchoolModel.TotalCountAndCurrentTermCount, 0)
|
|
|
|
|
|
var schoolTotalCountAndCurrentTermCount SchoolModel.TotalCountAndCurrentTermCount
|
|
|
schoolTotalCount, err := SchoolService.GetOrgTotalCount(cityCode, "2")
|
|
|
if err != nil {
|
|
|
c.JSON(http.StatusOK, Model.Res{
|
|
|
Success: false,
|
|
|
Message: err.Error(),
|
|
|
})
|
|
|
return
|
|
|
}
|
|
|
schoolCurrentTermCount, err := SchoolService.GetOrgCurrentTermAddCount(cityCode, "2")
|
|
|
if err != nil {
|
|
|
c.JSON(http.StatusOK, Model.Res{
|
|
|
Success: false,
|
|
|
Message: err.Error(),
|
|
|
})
|
|
|
return
|
|
|
}
|
|
|
schoolTotalCountAndCurrentTermCount.Title = "学校数量"
|
|
|
schoolTotalCountAndCurrentTermCount.TotalCount = schoolTotalCount
|
|
|
schoolTotalCountAndCurrentTermCount.CurrentTermAddCount = schoolCurrentTermCount
|
|
|
TotalCountAndCurrentTermCountArr = append(TotalCountAndCurrentTermCountArr, schoolTotalCountAndCurrentTermCount)
|
|
|
|
|
|
var eduAssistTotalCountAndCurrentTermCount SchoolModel.TotalCountAndCurrentTermCount
|
|
|
eduAssistTotalCount, err := SchoolService.GetOrgTotalCount(cityCode, "7")
|
|
|
if err != nil {
|
|
|
c.JSON(http.StatusOK, Model.Res{
|
|
|
Success: false,
|
|
|
Message: err.Error(),
|
|
|
})
|
|
|
return
|
|
|
}
|
|
|
eduAssistCurrentTermCount, err := SchoolService.GetOrgCurrentTermAddCount(cityCode, "7")
|
|
|
if err != nil {
|
|
|
c.JSON(http.StatusOK, Model.Res{
|
|
|
Success: false,
|
|
|
Message: err.Error(),
|
|
|
})
|
|
|
return
|
|
|
}
|
|
|
eduAssistTotalCountAndCurrentTermCount.Title = "教辅单位数量"
|
|
|
eduAssistTotalCountAndCurrentTermCount.TotalCount = eduAssistTotalCount
|
|
|
eduAssistTotalCountAndCurrentTermCount.CurrentTermAddCount = eduAssistCurrentTermCount
|
|
|
TotalCountAndCurrentTermCountArr = append(TotalCountAndCurrentTermCountArr, eduAssistTotalCountAndCurrentTermCount)
|
|
|
|
|
|
var teacherTotalCountAndCurrentTermCount SchoolModel.TotalCountAndCurrentTermCount
|
|
|
teacherTotalCount, err := TeacherService.GetTeacherTotalCount(cityCode)
|
|
|
if err != nil {
|
|
|
c.JSON(http.StatusOK, Model.Res{
|
|
|
Success: false,
|
|
|
Message: err.Error(),
|
|
|
})
|
|
|
return
|
|
|
}
|
|
|
teacherCurrentTermCount, err := TeacherService.GetTeacherCurrentTermAddCount(cityCode)
|
|
|
if err != nil {
|
|
|
c.JSON(http.StatusOK, Model.Res{
|
|
|
Success: false,
|
|
|
Message: err.Error(),
|
|
|
})
|
|
|
return
|
|
|
}
|
|
|
teacherTotalCountAndCurrentTermCount.Title = "教职工数量"
|
|
|
teacherTotalCountAndCurrentTermCount.TotalCount = teacherTotalCount
|
|
|
teacherTotalCountAndCurrentTermCount.CurrentTermAddCount = teacherCurrentTermCount
|
|
|
TotalCountAndCurrentTermCountArr = append(TotalCountAndCurrentTermCountArr, teacherTotalCountAndCurrentTermCount)
|
|
|
|
|
|
var studentTotalCountAndCurrentTermCount SchoolModel.TotalCountAndCurrentTermCount
|
|
|
studentTotalCount, err := StudentService.GetStudentTotalCount(cityCode)
|
|
|
if err != nil {
|
|
|
c.JSON(http.StatusOK, Model.Res{
|
|
|
Success: false,
|
|
|
Message: err.Error(),
|
|
|
})
|
|
|
return
|
|
|
}
|
|
|
studentCurrentTermCount, err := StudentService.GetStudentCurrentTermAddCount(cityCode)
|
|
|
if err != nil {
|
|
|
c.JSON(http.StatusOK, Model.Res{
|
|
|
Success: false,
|
|
|
Message: err.Error(),
|
|
|
})
|
|
|
return
|
|
|
}
|
|
|
studentTotalCountAndCurrentTermCount.Title = "学生数量"
|
|
|
studentTotalCountAndCurrentTermCount.TotalCount = studentTotalCount
|
|
|
studentTotalCountAndCurrentTermCount.CurrentTermAddCount = studentCurrentTermCount
|
|
|
TotalCountAndCurrentTermCountArr = append(TotalCountAndCurrentTermCountArr, studentTotalCountAndCurrentTermCount)
|
|
|
|
|
|
c.JSON(http.StatusOK, Model.Res{
|
|
|
Success: true,
|
|
|
List: TotalCountAndCurrentTermCountArr,
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
功能:获取区级的基本信息统计
|
|
|
*/
|
|
|
func GetDistrictBaseInfo(c *gin.Context) {
|
|
|
districtCode := c.Query("districtCode")
|
|
|
|
|
|
TotalCountAndCurrentTermCountArr := make([]SchoolModel.TotalCountAndCurrentTermCount, 0)
|
|
|
|
|
|
var schoolTotalCountAndCurrentTermCount SchoolModel.TotalCountAndCurrentTermCount
|
|
|
schoolTotalCount, err := SchoolService.GetOrgTotalCount(districtCode, "2")
|
|
|
if err != nil {
|
|
|
c.JSON(http.StatusOK, Model.Res{
|
|
|
Success: false,
|
|
|
Message: err.Error(),
|
|
|
})
|
|
|
return
|
|
|
}
|
|
|
schoolCurrentTermCount, err := SchoolService.GetOrgCurrentTermAddCount(districtCode, "2")
|
|
|
if err != nil {
|
|
|
c.JSON(http.StatusOK, Model.Res{
|
|
|
Success: false,
|
|
|
Message: err.Error(),
|
|
|
})
|
|
|
return
|
|
|
}
|
|
|
schoolTotalCountAndCurrentTermCount.Title = "学校数量"
|
|
|
schoolTotalCountAndCurrentTermCount.TotalCount = schoolTotalCount
|
|
|
schoolTotalCountAndCurrentTermCount.CurrentTermAddCount = schoolCurrentTermCount
|
|
|
TotalCountAndCurrentTermCountArr = append(TotalCountAndCurrentTermCountArr, schoolTotalCountAndCurrentTermCount)
|
|
|
|
|
|
var eduAssistTotalCountAndCurrentTermCount SchoolModel.TotalCountAndCurrentTermCount
|
|
|
eduAssistTotalCount, err := SchoolService.GetOrgTotalCount(districtCode, "7")
|
|
|
if err != nil {
|
|
|
c.JSON(http.StatusOK, Model.Res{
|
|
|
Success: false,
|
|
|
Message: err.Error(),
|
|
|
})
|
|
|
return
|
|
|
}
|
|
|
eduAssistCurrentTermCount, err := SchoolService.GetOrgCurrentTermAddCount(districtCode, "7")
|
|
|
if err != nil {
|
|
|
c.JSON(http.StatusOK, Model.Res{
|
|
|
Success: false,
|
|
|
Message: err.Error(),
|
|
|
})
|
|
|
return
|
|
|
}
|
|
|
eduAssistTotalCountAndCurrentTermCount.Title = "教辅单位数量"
|
|
|
eduAssistTotalCountAndCurrentTermCount.TotalCount = eduAssistTotalCount
|
|
|
eduAssistTotalCountAndCurrentTermCount.CurrentTermAddCount = eduAssistCurrentTermCount
|
|
|
TotalCountAndCurrentTermCountArr = append(TotalCountAndCurrentTermCountArr, eduAssistTotalCountAndCurrentTermCount)
|
|
|
|
|
|
var teacherTotalCountAndCurrentTermCount SchoolModel.TotalCountAndCurrentTermCount
|
|
|
teacherTotalCount, err := TeacherService.GetTeacherTotalCount(districtCode)
|
|
|
if err != nil {
|
|
|
c.JSON(http.StatusOK, Model.Res{
|
|
|
Success: false,
|
|
|
Message: err.Error(),
|
|
|
})
|
|
|
return
|
|
|
}
|
|
|
teacherCurrentTermCount, err := TeacherService.GetTeacherCurrentTermAddCount(districtCode)
|
|
|
if err != nil {
|
|
|
c.JSON(http.StatusOK, Model.Res{
|
|
|
Success: false,
|
|
|
Message: err.Error(),
|
|
|
})
|
|
|
return
|
|
|
}
|
|
|
teacherTotalCountAndCurrentTermCount.Title = "教职工数量"
|
|
|
teacherTotalCountAndCurrentTermCount.TotalCount = teacherTotalCount
|
|
|
teacherTotalCountAndCurrentTermCount.CurrentTermAddCount = teacherCurrentTermCount
|
|
|
TotalCountAndCurrentTermCountArr = append(TotalCountAndCurrentTermCountArr, teacherTotalCountAndCurrentTermCount)
|
|
|
|
|
|
var studentTotalCountAndCurrentTermCount SchoolModel.TotalCountAndCurrentTermCount
|
|
|
studentTotalCount, err := StudentService.GetStudentTotalCount(districtCode)
|
|
|
if err != nil {
|
|
|
c.JSON(http.StatusOK, Model.Res{
|
|
|
Success: false,
|
|
|
Message: err.Error(),
|
|
|
})
|
|
|
return
|
|
|
}
|
|
|
studentCurrentTermCount, err := StudentService.GetStudentCurrentTermAddCount(districtCode)
|
|
|
if err != nil {
|
|
|
c.JSON(http.StatusOK, Model.Res{
|
|
|
Success: false,
|
|
|
Message: err.Error(),
|
|
|
})
|
|
|
return
|
|
|
}
|
|
|
studentTotalCountAndCurrentTermCount.Title = "学生数量"
|
|
|
studentTotalCountAndCurrentTermCount.TotalCount = studentTotalCount
|
|
|
studentTotalCountAndCurrentTermCount.CurrentTermAddCount = studentCurrentTermCount
|
|
|
TotalCountAndCurrentTermCountArr = append(TotalCountAndCurrentTermCountArr, studentTotalCountAndCurrentTermCount)
|
|
|
|
|
|
c.JSON(http.StatusOK, Model.Res{
|
|
|
Success: true,
|
|
|
List: TotalCountAndCurrentTermCountArr,
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
功能:获取校级的基本信息统计
|
|
|
*/
|
|
|
func GetSchoolBaseInfo(c *gin.Context) {
|
|
|
schoolId := c.Query("schoolId")
|
|
|
|
|
|
TotalCountAndCurrentTermCountArr := make([]SchoolModel.TotalCountAndCurrentTermCount, 0)
|
|
|
|
|
|
var classTotalCountAndCurrentTermCount SchoolModel.TotalCountAndCurrentTermCount
|
|
|
classTotalCount, err := SchoolService.GetClassTotalCount(schoolId)
|
|
|
if err != nil {
|
|
|
c.JSON(http.StatusOK, Model.Res{
|
|
|
Success: false,
|
|
|
Message: err.Error(),
|
|
|
})
|
|
|
return
|
|
|
}
|
|
|
classCurrentTermCount, err := SchoolService.GetClassCurrentTermAddCount(schoolId)
|
|
|
if err != nil {
|
|
|
c.JSON(http.StatusOK, Model.Res{
|
|
|
Success: false,
|
|
|
Message: err.Error(),
|
|
|
})
|
|
|
return
|
|
|
}
|
|
|
classTotalCountAndCurrentTermCount.Title = "班级数量"
|
|
|
classTotalCountAndCurrentTermCount.TotalCount = classTotalCount
|
|
|
classTotalCountAndCurrentTermCount.CurrentTermAddCount = classCurrentTermCount
|
|
|
TotalCountAndCurrentTermCountArr = append(TotalCountAndCurrentTermCountArr, classTotalCountAndCurrentTermCount)
|
|
|
|
|
|
var orgTotalCountAndCurrentTermCount SchoolModel.TotalCountAndCurrentTermCount
|
|
|
orgTotalCount, err := SchoolService.GetOrgTotalCount(schoolId, "3")
|
|
|
if err != nil {
|
|
|
c.JSON(http.StatusOK, Model.Res{
|
|
|
Success: false,
|
|
|
Message: err.Error(),
|
|
|
})
|
|
|
return
|
|
|
}
|
|
|
orgCurrentTermCount, err := SchoolService.GetOrgCurrentTermAddCount(schoolId, "3")
|
|
|
if err != nil {
|
|
|
c.JSON(http.StatusOK, Model.Res{
|
|
|
Success: false,
|
|
|
Message: err.Error(),
|
|
|
})
|
|
|
return
|
|
|
}
|
|
|
orgTotalCountAndCurrentTermCount.Title = "部门数量"
|
|
|
orgTotalCountAndCurrentTermCount.TotalCount = orgTotalCount
|
|
|
orgTotalCountAndCurrentTermCount.CurrentTermAddCount = orgCurrentTermCount
|
|
|
TotalCountAndCurrentTermCountArr = append(TotalCountAndCurrentTermCountArr, orgTotalCountAndCurrentTermCount)
|
|
|
|
|
|
var teacherTotalCountAndCurrentTermCount SchoolModel.TotalCountAndCurrentTermCount
|
|
|
teacherTotalCount, err := TeacherService.GetTeacherTotalCount(schoolId)
|
|
|
if err != nil {
|
|
|
c.JSON(http.StatusOK, Model.Res{
|
|
|
Success: false,
|
|
|
Message: err.Error(),
|
|
|
})
|
|
|
return
|
|
|
}
|
|
|
teacherCurrentTermCount, err := TeacherService.GetTeacherCurrentTermAddCount(schoolId)
|
|
|
if err != nil {
|
|
|
c.JSON(http.StatusOK, Model.Res{
|
|
|
Success: false,
|
|
|
Message: err.Error(),
|
|
|
})
|
|
|
return
|
|
|
}
|
|
|
teacherTotalCountAndCurrentTermCount.Title = "教职工数量"
|
|
|
teacherTotalCountAndCurrentTermCount.TotalCount = teacherTotalCount
|
|
|
teacherTotalCountAndCurrentTermCount.CurrentTermAddCount = teacherCurrentTermCount
|
|
|
TotalCountAndCurrentTermCountArr = append(TotalCountAndCurrentTermCountArr, teacherTotalCountAndCurrentTermCount)
|
|
|
|
|
|
var studentTotalCountAndCurrentTermCount SchoolModel.TotalCountAndCurrentTermCount
|
|
|
studentTotalCount, err := StudentService.GetStudentTotalCount(schoolId)
|
|
|
if err != nil {
|
|
|
c.JSON(http.StatusOK, Model.Res{
|
|
|
Success: false,
|
|
|
Message: err.Error(),
|
|
|
})
|
|
|
return
|
|
|
}
|
|
|
studentCurrentTermCount, err := StudentService.GetStudentCurrentTermAddCount(schoolId)
|
|
|
if err != nil {
|
|
|
c.JSON(http.StatusOK, Model.Res{
|
|
|
Success: false,
|
|
|
Message: err.Error(),
|
|
|
})
|
|
|
return
|
|
|
}
|
|
|
studentTotalCountAndCurrentTermCount.Title = "学生数量"
|
|
|
studentTotalCountAndCurrentTermCount.TotalCount = studentTotalCount
|
|
|
studentTotalCountAndCurrentTermCount.CurrentTermAddCount = studentCurrentTermCount
|
|
|
TotalCountAndCurrentTermCountArr = append(TotalCountAndCurrentTermCountArr, studentTotalCountAndCurrentTermCount)
|
|
|
|
|
|
c.JSON(http.StatusOK, Model.Res{
|
|
|
Success: true,
|
|
|
List: TotalCountAndCurrentTermCountArr,
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
功能:根据学校ID获取该学校有哪些学段
|
|
|
*/
|
|
|
func PageStageBySchoolId(c *gin.Context) {
|
|
|
schoolId := c.Query("schoolId")
|
|
|
|
|
|
resArr, err := SchoolService.PageStageBySchoolId(schoolId)
|
|
|
if err != nil {
|
|
|
c.JSON(http.StatusOK, Model.Res{
|
|
|
Success: false,
|
|
|
Message: err.Error(),
|
|
|
})
|
|
|
return
|
|
|
}
|
|
|
|
|
|
c.JSON(http.StatusOK, Model.Res{
|
|
|
Success: true,
|
|
|
List: resArr,
|
|
|
})
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
功能:根据市获取各区的教辅单位个数
|
|
|
*/
|
|
|
func GetEduAssistCountByCity(c *gin.Context) {
|
|
|
areaType := c.Query("areaType")
|
|
|
cityCode := c.Query("cityCode")
|
|
|
|
|
|
//获取区信息
|
|
|
areaInfo, err := AreaService.PageDistrictByCityCode(cityCode, areaType)
|
|
|
if err != nil {
|
|
|
c.JSON(http.StatusOK, Model.Res{
|
|
|
Success: false,
|
|
|
Message: err.Error(),
|
|
|
})
|
|
|
return
|
|
|
}
|
|
|
//生成区信息的数组
|
|
|
areaCodeArr := make([]string, 0)
|
|
|
for i := range areaInfo {
|
|
|
areaCodeArr = append(areaCodeArr, areaInfo[i].AreaCode)
|
|
|
}
|
|
|
|
|
|
resArr, err := SchoolService.AggsDistrictStatEduAssist(areaCodeArr)
|
|
|
if err != nil {
|
|
|
c.JSON(http.StatusOK, Model.Res{
|
|
|
Success: false,
|
|
|
Message: err.Error(),
|
|
|
})
|
|
|
return
|
|
|
}
|
|
|
resArrByte, _ := json.Marshal(resArr)
|
|
|
resList := CommonUtil.ConvertJsonStringToMapArray(string(resArrByte))
|
|
|
resMap := make(map[string]int)
|
|
|
for i := 0; i < len(resList); i++ {
|
|
|
areaCode := resList[i]["area_code"].(string)
|
|
|
count := CommonUtil.ConvertStringToInt(resList[i]["count"].(string))
|
|
|
resMap[areaCode] = count
|
|
|
}
|
|
|
|
|
|
eduAssistCountArr := make([]SchoolModel.EduAssistCount, 0)
|
|
|
for i := range areaInfo {
|
|
|
var eduAssistCount SchoolModel.EduAssistCount
|
|
|
areaCode := areaInfo[i].AreaCode
|
|
|
areaName := areaInfo[i].AreaName
|
|
|
eduAssistCount.AreaCode = areaCode
|
|
|
eduAssistCount.AreaName = areaName
|
|
|
if _, ok := resMap[areaCode]; ok {
|
|
|
eduAssistCount.Count = resMap[areaCode]
|
|
|
}
|
|
|
eduAssistCountArr = append(eduAssistCountArr, eduAssistCount)
|
|
|
}
|
|
|
|
|
|
c.JSON(http.StatusOK, Model.Res{
|
|
|
Success: true,
|
|
|
List: eduAssistCountArr,
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
功能:根据市获取各区的学校个数
|
|
|
*/
|
|
|
func GetSchoolCountByCity(c *gin.Context) {
|
|
|
areaType := c.Query("areaType")
|
|
|
cityCode := c.Query("cityCode")
|
|
|
xxbxlx := c.Query("xxbxlx")
|
|
|
aggsXxbxlx := false
|
|
|
if xxbxlx == "1" {
|
|
|
aggsXxbxlx = true
|
|
|
}
|
|
|
|
|
|
//获取区信息
|
|
|
areaInfo, err := AreaService.PageDistrictByCityCode(cityCode, areaType)
|
|
|
if err != nil {
|
|
|
c.JSON(http.StatusOK, Model.Res{
|
|
|
Success: false,
|
|
|
Message: err.Error(),
|
|
|
})
|
|
|
return
|
|
|
}
|
|
|
//生成区信息的数组
|
|
|
areaCodeArr := make([]string, 0)
|
|
|
for i := range areaInfo {
|
|
|
areaCodeArr = append(areaCodeArr, areaInfo[i].AreaCode)
|
|
|
}
|
|
|
|
|
|
resArr, err := SchoolService.AggsDistrictStatSchoolCount(areaCodeArr)
|
|
|
if err != nil {
|
|
|
c.JSON(http.StatusOK, Model.Res{
|
|
|
Success: false,
|
|
|
Message: err.Error(),
|
|
|
})
|
|
|
return
|
|
|
}
|
|
|
resArrByte, _ := json.Marshal(resArr)
|
|
|
resList := CommonUtil.ConvertJsonStringToMapArray(string(resArrByte))
|
|
|
resMap := make(map[string]int)
|
|
|
for i := 0; i < len(resList); i++ {
|
|
|
areaCode := resList[i]["area_code"].(string)
|
|
|
count := CommonUtil.ConvertStringToInt(resList[i]["count"].(string))
|
|
|
resMap[areaCode] = count
|
|
|
}
|
|
|
|
|
|
//获取办学类型信息
|
|
|
xxbxlxInfo, err := DictService.GetDictInfo("xxbxlxm")
|
|
|
if err != nil {
|
|
|
c.JSON(http.StatusOK, Model.Res{
|
|
|
Success: false,
|
|
|
Message: err.Error(),
|
|
|
})
|
|
|
return
|
|
|
}
|
|
|
|
|
|
schoolCountArr := make([]SchoolModel.SchoolCount, 0)
|
|
|
for i := range areaInfo {
|
|
|
var schoolCount SchoolModel.SchoolCount
|
|
|
areaCode := areaInfo[i].AreaCode
|
|
|
areaName := areaInfo[i].AreaName
|
|
|
schoolCount.AreaCode = areaCode
|
|
|
schoolCount.AreaName = areaName
|
|
|
if _, ok := resMap[areaCode]; ok {
|
|
|
schoolCount.Count = resMap[areaCode]
|
|
|
}
|
|
|
xxbxlxArr := make([]SchoolModel.Xxbxlx, 0)
|
|
|
if aggsXxbxlx {
|
|
|
resArr, err := SchoolService.AggsXxbxlxStatSchoolCountByDistrictCode(areaCode)
|
|
|
if err != nil {
|
|
|
c.JSON(http.StatusOK, Model.Res{
|
|
|
Success: false,
|
|
|
Message: err.Error(),
|
|
|
})
|
|
|
return
|
|
|
}
|
|
|
resArrByte, _ := json.Marshal(resArr)
|
|
|
resList := CommonUtil.ConvertJsonStringToMapArray(string(resArrByte))
|
|
|
resMap := make(map[string]int)
|
|
|
for i := 0; i < len(resList); i++ {
|
|
|
areaCode := resList[i]["xxbxlxm"].(string)
|
|
|
count := CommonUtil.ConvertStringToInt(resList[i]["count"].(string))
|
|
|
resMap[areaCode] = count
|
|
|
}
|
|
|
|
|
|
for j := range xxbxlxInfo {
|
|
|
var xxbxlx SchoolModel.Xxbxlx
|
|
|
dictCode := xxbxlxInfo[j].DictCode
|
|
|
dictValue := xxbxlxInfo[j].DictValue
|
|
|
xxbxlx.XxbxlxCode = dictCode
|
|
|
xxbxlx.XxbxlxName = dictValue
|
|
|
if _, ok := resMap[dictCode]; ok {
|
|
|
xxbxlx.Count = resMap[dictCode]
|
|
|
}
|
|
|
xxbxlxArr = append(xxbxlxArr, xxbxlx)
|
|
|
}
|
|
|
}
|
|
|
schoolCount.Xxbxlx = xxbxlxArr
|
|
|
schoolCountArr = append(schoolCountArr, schoolCount)
|
|
|
}
|
|
|
|
|
|
if areaType == "1" {
|
|
|
cityDirectlyCount, err := SchoolService.GetCityDirectlySchoolCount(cityCode)
|
|
|
if err != nil {
|
|
|
c.JSON(http.StatusOK, Model.Res{
|
|
|
Success: false,
|
|
|
Message: err.Error(),
|
|
|
})
|
|
|
return
|
|
|
}
|
|
|
|
|
|
var schoolCount SchoolModel.SchoolCount
|
|
|
schoolCount.AreaCode = cityCode
|
|
|
schoolCount.AreaName = "市直属"
|
|
|
schoolCount.Count = cityDirectlyCount
|
|
|
schoolCountArr = append(schoolCountArr, schoolCount)
|
|
|
}
|
|
|
|
|
|
schoolCountArrByte, _ := json.Marshal(schoolCountArr)
|
|
|
schoolCountArrStr := string(schoolCountArrByte)
|
|
|
|
|
|
if !aggsXxbxlx {
|
|
|
schoolCountArrStr = CommonUtil.RemoveArrKey(schoolCountArrStr, "xxbxlx")
|
|
|
}
|
|
|
|
|
|
c.JSON(http.StatusOK, Model.Res{
|
|
|
Success: true,
|
|
|
List: CommonUtil.ConvertJsonStringToMapArray(schoolCountArrStr),
|
|
|
})
|
|
|
|
|
|
}
|