From 0b5b3621f224473cce8308017fb85c9f91a64f1e Mon Sep 17 00:00:00 2001 From: huanghai <10402852@qq.com> Date: Wed, 9 Sep 2020 16:25:50 +0800 Subject: [PATCH] 'commit' --- .../AccessSystemDao/AccessSystemDao.go | 74 ++++++++++++++++++- 1 file changed, 72 insertions(+), 2 deletions(-) diff --git a/dsSupport/MyModel/AccessSystem/AccessSystemDao/AccessSystemDao.go b/dsSupport/MyModel/AccessSystem/AccessSystemDao/AccessSystemDao.go index e4997ecc..ce1b5fef 100644 --- a/dsSupport/MyModel/AccessSystem/AccessSystemDao/AccessSystemDao.go +++ b/dsSupport/MyModel/AccessSystem/AccessSystemDao/AccessSystemDao.go @@ -334,13 +334,83 @@ func SaveAppRange(appId string, rangeCodes []string) error { return nil } +/* +功能:用于返回APP使用范围准备的实体 +*/ +type OrgBean struct { + OrgId string + OrgName string +} +type AppRangeBean struct { + FullFlag int + CityCode string + DistrictList []string + OrgList []OrgBean +} + /** 功能:获取指定APP的使用范围对应信息 */ -func GetAppRange(appId string) ([]map[string]interface{}, error) { +func GetAppRange(appId string) (AppRangeBean, error) { + var bean AppRangeBean + var districtList = make([]string, 0) + var orgList = make([]OrgBean, 0) + sql := `select range_code from t_app_range where app_id=?` list, err := db.SQL(sql, appId).Query().List() - return list, err + if len(list) == 0 { + return bean, errors.New("没有找到此app的接入范围数据!") + } + aCode := list[0]["range_code"].(string) + //1、是不是全市 + if len(aCode) == 6 && aCode[len(aCode)-2:] == "00" { + bean.FullFlag = 1 + //城市code + bean.CityCode = list[0]["range_code"].(string) + //县区列表 + bean.DistrictList = make([]string, 0) + //组织机构列表 + bean.OrgList = make([]OrgBean, 0) + } else { + bean.FullFlag = 0 + //如果是县区 + if len(aCode) == 6 { + //查找对应的城市 + bean.CityCode = aCode[0:4] + "00" + } else { + //如果是单位+查找对应的城市 + sql := `select city_code from t_base_organization where org_id=?` + _list2, err := db.SQL(sql, aCode).Query().List() + if err != nil { + return bean, err + } + if len(_list2) == 0 { + return bean, errors.New("没有找到指定的org_id!") + } + bean.CityCode = _list2[0]["city_code"].(string) + } + //2、填充县区和单位列表 + for i := range list { + c := list[i]["range_code"].(string) + //县区 + if len(c) == 6 { + districtList = append(districtList, c) + } else { //单位 + var o OrgBean + o.OrgId = c + sql = `select org_name from t_base_organization where org_id=?` + list2, err := db.SQL(sql, o.OrgId).Query().List() + if err != nil { + return bean, err + } + o.OrgName = list2[0]["org_name"].(string) + orgList = append(orgList, o) + } + } + } + bean.OrgList = orgList + bean.DistrictList = districtList + return bean, err } /******************************************以下为内部函数***************************/