| | |
| | | import cn.huge.module.ctuser.dto.CtUnitTreeDTO; |
| | | import org.apache.commons.collections.CollectionUtils; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.Set; |
| | | import java.util.*; |
| | | |
| | | /** |
| | | * @author zhouxiantao |
| | |
| | | List<CtUnitTreeDTO> termsList = new ArrayList<>(); |
| | | if(ObjectUtils.isNotEmpty(termsSet)){ |
| | | for (CtUnitTreeDTO selectTermDTO : termsSet) { |
| | | termsList.add(selectTermDTO); |
| | | } |
| | | termsList.sort((o1, o2)->{ |
| | | String s1 = o1.getValue().replaceAll("[^0-9]", ""); |
| | | String s1 = selectTermDTO.getValue().replaceAll("[^0-9]", ""); |
| | | if(ObjectUtils.isEmpty(s1)){ |
| | | s1 = "0"; |
| | | } |
| | | String s2 = o2.getValue().replaceAll("[^0-9]", ""); |
| | | if(ObjectUtils.isEmpty(s2)){ |
| | | s2 = "0"; |
| | | } |
| | | Double totalScore1 = Double.valueOf(s1); |
| | | Double totalScore2 = Double.valueOf(s2); |
| | | if(totalScore1 < totalScore2) { |
| | | selectTermDTO.setSort(totalScore1); |
| | | String area = getArea(selectTermDTO.getLabel()); |
| | | if(ObjectUtils.isNotEmpty(area)){ |
| | | selectTermDTO.setSort(Double.valueOf(area)); |
| | | } |
| | | termsList.add(selectTermDTO); |
| | | } |
| | | termsList.sort((o1, o2)->{ |
| | | Double totalScore1 = o1.getSort(); |
| | | Double totalScore2 = o2.getSort(); |
| | | if(totalScore1 > totalScore2) { |
| | | return 1; |
| | | }else if (totalScore1.equals(totalScore2)) { |
| | | return 0; |
| | |
| | | return termsList; |
| | | } |
| | | |
| | | public static String getArea(String areaName) { |
| | | Map<String, String> map = new HashMap<>(); |
| | | map.put("越秀区", "2"); |
| | | map.put("海珠区", "3"); |
| | | map.put("荔湾区", "4"); |
| | | map.put("天河区", "5"); |
| | | map.put("白云区", "6"); |
| | | map.put("黄埔区", "7"); |
| | | map.put("花都区", "8"); |
| | | map.put("番禺区", "9"); |
| | | map.put("南沙区", "10"); |
| | | map.put("从化区", "11"); |
| | | map.put("增城区", "12"); |
| | | for (String s : map.keySet()) { |
| | | if(areaName.contains(s)){ |
| | | return map.get(s); |
| | | } |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | } |