diff --git a/dsBigData/Business/School/SchoolController/SchoolController.go b/dsBigData/Business/School/SchoolController/SchoolController.go index 896d3c5f..abd30618 100644 --- a/dsBigData/Business/School/SchoolController/SchoolController.go +++ b/dsBigData/Business/School/SchoolController/SchoolController.go @@ -583,6 +583,23 @@ func GetSchoolCountByCity(c *gin.Context) { 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) diff --git a/dsBigData/Business/School/SchoolDao/SchoolDao.go b/dsBigData/Business/School/SchoolDao/SchoolDao.go index 6439a3bb..1e9a007e 100644 --- a/dsBigData/Business/School/SchoolDao/SchoolDao.go +++ b/dsBigData/Business/School/SchoolDao/SchoolDao.go @@ -511,10 +511,13 @@ func GetBaseAccessTop(areaCode string, topNum string) ([]SchoolModel.BaseAccessT } func GetOrgInfoByOrgIds(orgIds []string) ([]SchoolModel.Org, error) { + enableFlagTerm := elastic.NewTermQuery("enable_flag", 1) + delFlagTerm := elastic.NewTermQuery("del_flag", 0) + bUseTerm := elastic.NewTermQuery("data_content.b_use", 1) interfaceArr := CommonUtil.ConvertStringArrToInterfaceArr(orgIds) orgIdTerms := elastic.NewTermsQuery("org_id", interfaceArr...) - boolQuery := elastic.NewBoolQuery().Must(orgIdTerms) + boolQuery := elastic.NewBoolQuery().Must(enableFlagTerm, delFlagTerm, bUseTerm, orgIdTerms) result, err := esClient.Search(). Index("org_school"). @@ -540,3 +543,29 @@ func GetOrgInfoByOrgIds(orgIds []string) ([]SchoolModel.Org, error) { } return orgArr, nil } + +/** +功能:根据市编码获取学校数量 +*/ +func GetCityDirectlySchoolCount(cityCode string) (int, error) { + enableFlagTerm := elastic.NewTermQuery("enable_flag", 1) + delFlagTerm := elastic.NewTermQuery("del_flag", 0) + bUseTerm := elastic.NewTermQuery("data_content.b_use", 1) + districtCodeTerm := elastic.NewTermQuery("district_code", cityCode) + orgTypeTerm := elastic.NewTermQuery("org_type", "2") + + boolQuery := elastic.NewBoolQuery().Must(districtCodeTerm, orgTypeTerm, enableFlagTerm, delFlagTerm, bUseTerm) + + result, err := esClient.Search(). + Index("org_school"). + Query(boolQuery). + Size(0). + Do(CTX) + + if err != nil { + return 0, err + } + + return int(result.TotalHits()), nil + +} diff --git a/dsBigData/Business/School/SchoolService/SchoolService.go b/dsBigData/Business/School/SchoolService/SchoolService.go index 3792fa2c..c62ce5d9 100644 --- a/dsBigData/Business/School/SchoolService/SchoolService.go +++ b/dsBigData/Business/School/SchoolService/SchoolService.go @@ -82,3 +82,8 @@ func GetOrgInfoByOrgIds(orgIds []string) ([]SchoolModel.Org, error) { arr, err := SchoolDao.GetOrgInfoByOrgIds(orgIds) return arr, err } + +func GetCityDirectlySchoolCount(cityCode string) (int, error) { + count, err := SchoolDao.GetCityDirectlySchoolCount(cityCode) + return count, err +} diff --git a/dsBigData/WinBuild/Distribute.exe b/dsBigData/WinBuild/Distribute.exe index a58f3c83..3ab47630 100644 Binary files a/dsBigData/WinBuild/Distribute.exe and b/dsBigData/WinBuild/Distribute.exe differ diff --git a/dsBigData/build/dsBigData b/dsBigData/build/dsBigData index 6ce1767f..e33d2a1d 100644 Binary files a/dsBigData/build/dsBigData and b/dsBigData/build/dsBigData differ