|
@@ -13,6 +13,7 @@ import (
|
|
|
"fmt"
|
|
|
"jy/src/jfw/config"
|
|
|
"math/rand"
|
|
|
+ "sort"
|
|
|
"strconv"
|
|
|
"strings"
|
|
|
"sync"
|
|
@@ -85,8 +86,44 @@ func (l *ClaimProject) NzjConditions() {
|
|
|
FROM
|
|
|
Jianyu_subjectdb.d_area_code where level = 1 and name != '其它'`)
|
|
|
if area != nil && len(*area) > 0 {
|
|
|
- for _, m := range *area {
|
|
|
- areaArr = append(areaArr, common.InterfaceToStr(m["name"]))
|
|
|
+ type ai struct {
|
|
|
+ name string
|
|
|
+ sort int
|
|
|
+ }
|
|
|
+ var (
|
|
|
+ areaInfo []ai
|
|
|
+ areaMap = map[string]bool{}
|
|
|
+ )
|
|
|
+ if len(config.AreaCity.Area) > 0 {
|
|
|
+ for k, v := range config.AreaCity.Area {
|
|
|
+ areaMap[v] = true
|
|
|
+ areaInfo = append(areaInfo, ai{
|
|
|
+ name: v,
|
|
|
+ sort: k,
|
|
|
+ })
|
|
|
+ }
|
|
|
+ if len(*area) != len(config.AreaCity.Area) {
|
|
|
+ for _, m := range *area {
|
|
|
+ name := common.InterfaceToStr(m["name"])
|
|
|
+ if !areaMap[name] {
|
|
|
+ areaMap[name] = true
|
|
|
+ areaInfo = append(areaInfo, ai{
|
|
|
+ name: name,
|
|
|
+ sort: len(areaInfo) + 1,
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ sort.Slice(areaInfo, func(i, j int) bool {
|
|
|
+ return areaInfo[i].sort < areaInfo[j].sort
|
|
|
+ })
|
|
|
+ for _, m := range areaInfo {
|
|
|
+ areaArr = append(areaArr, m.name)
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ for _, m := range *area {
|
|
|
+ areaArr = append(areaArr, common.InterfaceToStr(m["name"]))
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
data = append(data, map[string]interface{}{"地区": areaArr})
|