Browse Source

优化小区信息

wuxw 6 years ago
parent
commit
723b1a36a0

+ 43 - 0
Api/src/main/java/com/java110/api/listener/community/ListCommunitysListener.java

@@ -2,6 +2,8 @@ package com.java110.api.listener.community;
 
 import com.alibaba.fastjson.JSONObject;
 import com.java110.api.listener.AbstractServiceApiListener;
+import com.java110.core.smo.common.IAreaInnerServiceSMO;
+import com.java110.dto.area.AreaDto;
 import com.java110.utils.constant.ServiceCodeConstant;
 import com.java110.utils.util.BeanConvertUtil;
 import com.java110.core.annotation.Java110Listener;
@@ -26,6 +28,9 @@ import java.util.List;
 @Java110Listener("listCommunitysListener")
 public class ListCommunitysListener extends AbstractServiceApiListener {
 
+    @Autowired
+    private IAreaInnerServiceSMO areaInnerServiceSMOImpl;
+
     @Autowired
     private ICommunityInnerServiceSMO communityInnerServiceSMOImpl;
 
@@ -70,10 +75,13 @@ public class ListCommunitysListener extends AbstractServiceApiListener {
 
         if (count > 0) {
             communitys = BeanConvertUtil.covertBeanList(communityInnerServiceSMOImpl.queryCommunitys(communityDto), ApiCommunityDataVo.class);
+
+            refreshCommunityCity(communitys);
         } else {
             communitys = new ArrayList<>();
         }
 
+
         ApiCommunityVo apiCommunityVo = new ApiCommunityVo();
 
         apiCommunityVo.setTotal(count);
@@ -85,4 +93,39 @@ public class ListCommunitysListener extends AbstractServiceApiListener {
         context.setResponseEntity(responseEntity);
 
     }
+
+    /**
+     * 刷新cityName
+     *
+     * @param communitys
+     */
+    private void refreshCommunityCity(List<ApiCommunityDataVo> communitys) {
+        List<String> areaCodes = new ArrayList<>();
+        for (ApiCommunityDataVo communityDataVo : communitys) {
+            areaCodes.add(communityDataVo.getCityCode());
+        }
+
+        AreaDto areaDto = new AreaDto();
+        areaDto.setAreaCodes(areaCodes.toArray(new String[areaCodes.size()]));
+
+        List<AreaDto> areaDtos = areaInnerServiceSMOImpl.getProvCityArea(areaDto);
+
+        for (ApiCommunityDataVo communityDataVo : communitys) {
+            for (AreaDto tmpAreaDto : areaDtos) {
+                if (communityDataVo.getCityCode().equals(tmpAreaDto.getAreaCode())) {
+                    communityDataVo.setCityName(tmpAreaDto.getProvName() + tmpAreaDto.getCityName() + tmpAreaDto.getAreaName());
+                    continue;
+                }
+                communityDataVo.setCityName("未知");
+            }
+        }
+    }
+
+    public IAreaInnerServiceSMO getAreaInnerServiceSMOImpl() {
+        return areaInnerServiceSMOImpl;
+    }
+
+    public void setAreaInnerServiceSMOImpl(IAreaInnerServiceSMO areaInnerServiceSMOImpl) {
+        this.areaInnerServiceSMOImpl = areaInnerServiceSMOImpl;
+    }
 }

+ 8 - 0
CommonService/src/main/java/com/java110/common/dao/IAreaServiceDao.java

@@ -14,4 +14,12 @@ public interface IAreaServiceDao {
      * @throws DAOException DAO异常
      */
     List<Map> getAreas(Map info) throws DAOException;
+
+    /**
+     * 查询省份 城市 区域
+     * @param info bId 信息
+     * @return 应用信息
+     * @throws DAOException DAO异常
+     */
+    public List<Map> getProvCityArea(Map info) throws DAOException;
 }

+ 16 - 0
CommonService/src/main/java/com/java110/common/dao/impl/AreaServiceDaoImpl.java

@@ -37,6 +37,22 @@ public class AreaServiceDaoImpl extends BaseServiceDao implements IAreaServiceDa
         return businessAppInfos;
     }
 
+    /**
+     * 查询省份 城市 区域
+     * @param info bId 信息
+     * @return 应用信息
+     * @throws DAOException DAO异常
+     */
+    @Override
+    public List<Map> getProvCityArea(Map info) throws DAOException {
+
+        logger.debug("getProvCityArea 入参 info : {}",info);
+
+        List<Map> businessAppInfos = sqlSessionTemplate.selectList("areaServiceDaoImpl.getProvCityArea",info);
+
+        return businessAppInfos;
+    }
+
 
 
 }

+ 8 - 0
CommonService/src/main/java/com/java110/common/smo/impl/AreaInnerServiceSMOImpl.java

@@ -27,4 +27,12 @@ public class AreaInnerServiceSMOImpl extends BaseServiceSMO implements IAreaInne
 
         return areas;
     }
+
+    @Override
+    public List<AreaDto> getProvCityArea(@RequestBody AreaDto areaDto) {
+
+        List<AreaDto> areas = BeanConvertUtil.covertBeanList(areaServiceDaoImpl.getProvCityArea(BeanConvertUtil.beanCovertMap(areaDto)), AreaDto.class);
+
+        return areas;
+    }
 }

+ 1 - 5
WebService/src/main/resources/components/communityPackage/community-manage/communityManage.html

@@ -21,8 +21,6 @@
                             <th>小区地址</th>
                             <th>附近地标</th>
                             <th>城市编码</th>
-                            <th>小区维度</th>
-                            <th>小区经度</th>
                             <th>状态</th>
                             <th class="text-right">操作</th>
                         </tr>
@@ -33,9 +31,7 @@
                             <td>{{community.name}}</td>
                             <td>{{community.address}}</td>
                             <td>{{community.nearbyLandmarks}}</td>
-                            <td>{{community.cityCode}}</td>
-                            <td>{{community.mapX}}</td>
-                            <td>{{community.mapY}}</td>
+                            <td>{{community.cityName}}</td>
                             <td>{{community.stateName}}</td>
                             <td>
                                 <div class="btn-group">

+ 45 - 0
java110-bean/src/main/java/com/java110/dto/area/AreaDto.java

@@ -17,6 +17,7 @@ public class AreaDto extends PageDto implements Serializable {
 
     private int id;
     private String areaCode;
+    private String[] areaCodes;
     private String areaName;
     private String areaLevel;
     private String parentAreaCode;
@@ -24,6 +25,10 @@ public class AreaDto extends PageDto implements Serializable {
     private String lon;
     private String lat;
     private String statusCd = "0";
+    private String provCode;
+    private String provName;
+    private String cityCode;
+    private String cityName;
 
 
     public int getId() {
@@ -97,4 +102,44 @@ public class AreaDto extends PageDto implements Serializable {
     public void setStatusCd(String statusCd) {
         this.statusCd = statusCd;
     }
+
+    public String getProvCode() {
+        return provCode;
+    }
+
+    public void setProvCode(String provCode) {
+        this.provCode = provCode;
+    }
+
+    public String getProvName() {
+        return provName;
+    }
+
+    public void setProvName(String provName) {
+        this.provName = provName;
+    }
+
+    public String getCityCode() {
+        return cityCode;
+    }
+
+    public void setCityCode(String cityCode) {
+        this.cityCode = cityCode;
+    }
+
+    public String getCityName() {
+        return cityName;
+    }
+
+    public void setCityName(String cityName) {
+        this.cityName = cityName;
+    }
+
+    public String[] getAreaCodes() {
+        return areaCodes;
+    }
+
+    public void setAreaCodes(String[] areaCodes) {
+        this.areaCodes = areaCodes;
+    }
 }

+ 9 - 0
java110-bean/src/main/java/com/java110/vo/api/community/ApiCommunityDataVo.java

@@ -11,6 +11,7 @@ public class ApiCommunityDataVo  implements Serializable {
     private String address;
     private String nearbyLandmarks;
     private String cityCode;
+    private String cityName;
     private String mapX;
     private String mapY;
     private String state;
@@ -140,4 +141,12 @@ public class ApiCommunityDataVo  implements Serializable {
     public void setCommunityMemberId(String communityMemberId) {
         this.communityMemberId = communityMemberId;
     }
+
+    public String getCityName() {
+        return cityName;
+    }
+
+    public void setCityName(String cityName) {
+        this.cityName = cityName;
+    }
 }

+ 3 - 0
java110-core/src/main/java/com/java110/core/smo/common/IAreaInnerServiceSMO.java

@@ -24,5 +24,8 @@ public interface IAreaInnerServiceSMO {
     @RequestMapping(value = "/getArea", method = RequestMethod.POST)
     public List<AreaDto> getArea(@RequestBody AreaDto areaDto);
 
+    @RequestMapping(value = "/getProvCityArea", method = RequestMethod.POST)
+    public List<AreaDto> getProvCityArea(@RequestBody AreaDto areaDto);
+
 
 }

+ 29 - 0
java110-db/src/main/resources/mapper/common/AreaServiceDaoImplMapper.xml

@@ -16,6 +16,7 @@
             t.create_time createTime
         from city_area t
         where 1=1
+        and t.status_cd = '0'
         <if test="areaCode != null and areaCode !=''">
             and t.area_code = #{areaCode}
         </if>
@@ -33,5 +34,33 @@
         </if>
     </select>
 
+    <select id="getProvCityArea" parameterType="Map" resultType="Map">
+        SELECT
+            par.parent_area_code provCode,
+            par.parent_area_name provName,
+            par.area_code cityCode,
+            par.area_name cityName,
+            chil.area_code areaCode,
+            chil.area_name areaName
+        FROM
+            city_area par,
+            city_area chil
+        WHERE
+            chil.parent_area_code = par.area_code
+        AND chil.area_level = '303'
+        and chil.status_cd = '0'
+        and par.status_cd = '0'
+        <if test="areaCode != null and areaCode !=''">
+            and chil.area_code = #{areaCode}
+        </if>
+        <if test="areaCodes != null">
+            and chil.area_code in
+            <foreach collection="areaCodes" open="(" close=")"
+                     separator=","  item="item">
+                #{item}
+            </foreach>
+        </if>
+    </select>
+
 
 </mapper>