Explorar el Código

优化查询楼栋单元功能

wuxw hace 3 años
padre
commit
f9885337a9

+ 32 - 0
java110-db/src/main/resources/mapper/community/FloorServiceDaoImplMapper.xml

@@ -240,4 +240,36 @@
         </if>
     </select>
 
+    <!-- 查询小区单元信息 add by wuxw 2018-07-03 -->
+    <select id="queryFloorAndUnits" parameterType="Map" resultType="Map">
+        select bu.floor_id,bu.floor_id floorId,bu.layer_count,bu.layer_count layerCount,bu.unit_id,bu.unit_id
+        unitId,bu.unit_num,bu.unit_num unitNum,bu.lift,bu.remark,bu.unit_area,bu.unit_area unitArea,t.floor_num floorNum
+        from f_floor t
+        left join building_unit bu on t.`floor_id` = bu.`floor_id` and bu.status_cd = '0'
+        where 1 =1
+        <if test="communityId!=null and communityId != ''">
+            AND t.community_id = #{communityId}
+        </if>
+        <if test="floorId !=null and floorId != ''">
+            and t.floor_id= #{floorId}
+        </if>
+        <if test="layerCount !=null and layerCount != ''">
+            and bu.layer_count= #{layerCount}
+        </if>
+        <if test="unitId !=null and unitId != ''">
+            and bu.unit_id= #{unitId}
+        </if>
+        <if test="unitNum !=null and unitNum != ''">
+            and bu.unit_num= #{unitNum}
+        </if>
+        <if test="lift !=null and lift != ''">
+            and bu.lift= #{lift}
+        </if>
+        order by unitNum asc
+        <!-- <if test="page != -1 and page != null ">
+             limit #{page}, #{row}
+         </if>limit 10;-->
+
+    </select>
+
 </mapper>

+ 4 - 0
java110-interface/src/main/java/com/java110/intf/community/IFloorInnerServiceSMO.java

@@ -2,6 +2,7 @@ package com.java110.intf.community;
 
 import com.java110.config.feign.FeignConfiguration;
 import com.java110.dto.FloorDto;
+import com.java110.dto.UnitDto;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -62,4 +63,7 @@ public interface IFloorInnerServiceSMO {
      */
     @RequestMapping(value = "/queryFloorsCount", method = RequestMethod.POST)
     int queryFloorsCount(@RequestBody FloorDto floorDto);
+
+    @RequestMapping(value = "/queryFloorAndUnits", method = RequestMethod.POST)
+    List<UnitDto> queryFloorAndUnits(@RequestBody UnitDto unitDto);
 }

+ 51 - 0
service-community/src/main/java/com/java110/community/cmd/floor/QueryFloorAndUnitsCmd.java

@@ -0,0 +1,51 @@
+package com.java110.community.cmd.floor;
+
+import com.alibaba.fastjson.JSONObject;
+import com.java110.core.annotation.Java110Cmd;
+import com.java110.core.context.ICmdDataFlowContext;
+import com.java110.core.event.cmd.AbstractServiceCmdListener;
+import com.java110.core.event.cmd.CmdEvent;
+import com.java110.dto.UnitDto;
+import com.java110.intf.community.IFloorInnerServiceSMO;
+import com.java110.intf.community.IUnitInnerServiceSMO;
+import com.java110.utils.exception.CmdException;
+import com.java110.utils.util.Assert;
+import com.java110.utils.util.BeanConvertUtil;
+import com.java110.vo.api.ApiUnitVo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+
+import java.util.List;
+
+@Java110Cmd(serviceCode = "floor.queryFloorAndUnits")
+public class QueryFloorAndUnitsCmd extends AbstractServiceCmdListener {
+
+    @Autowired
+    private IFloorInnerServiceSMO floorInnerServiceSMOImpl;
+
+    @Override
+    public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
+        Assert.jsonObjectHaveKey(reqJson, "communityId", "请求中未包含communityId信息");
+        //Assert.jsonObjectHaveKey(reqJson, "floorId", "请求中未包含floorId信息");
+        //校验小区楼ID和小区是否有对应关系
+//        int total = floorInnerServiceSMOImpl.queryFloorsCount(BeanConvertUtil.covertBean(reqJson, FloorDto.class));
+//
+//        if (total < 1) {
+//            throw new IllegalArgumentException("传入小区楼ID不是该小区的楼");
+//        }
+    }
+
+    @Override
+    public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
+        UnitDto unitDto = BeanConvertUtil.covertBean(reqJson, UnitDto.class);
+        unitDto.setUserId("");
+
+        List<UnitDto> unitDtoList = floorInnerServiceSMOImpl.queryFloorAndUnits(unitDto);
+
+        List<ApiUnitVo> apiUnitVos = BeanConvertUtil.covertBeanList(unitDtoList, ApiUnitVo.class);
+
+        ResponseEntity<String> responseEntity = new ResponseEntity<String>(JSONObject.toJSONString(apiUnitVos), HttpStatus.OK);
+        cmdDataFlowContext.setResponseEntity(responseEntity);
+    }
+}

+ 2 - 1
service-community/src/main/java/com/java110/community/dao/IFloorServiceDao.java

@@ -1,6 +1,7 @@
 package com.java110.community.dao;
 
 
+import com.java110.dto.UnitDto;
 import com.java110.utils.exception.DAOException;
 
 
@@ -93,5 +94,5 @@ public interface IFloorServiceDao {
     int queryFloorsCount(Map info) throws DAOException;
 
 
-
+    List<Map> queryFloorAndUnits(Map info);
 }

+ 10 - 0
service-community/src/main/java/com/java110/community/dao/impl/FloorServiceDaoImpl.java

@@ -1,6 +1,7 @@
 package com.java110.community.dao.impl;
 
 import com.alibaba.fastjson.JSONObject;
+import com.java110.dto.UnitDto;
 import com.java110.utils.constant.ResponseConstant;
 import com.java110.utils.exception.DAOException;
 import com.java110.utils.util.DateUtil;
@@ -147,5 +148,14 @@ public class FloorServiceDaoImpl extends BaseServiceDao implements IFloorService
         return Integer.parseInt(businessFloorInfos.get(0).get("count").toString());
     }
 
+    @Override
+    public List<Map> queryFloorAndUnits(Map info) {
+        logger.debug("查询queryFloorAndUnits信息 入参 floorMap : {}", info);
+
+        List<Map> businessFloorInfos = sqlSessionTemplate.selectList("floorServiceDaoImpl.queryFloorAndUnits", info);
+
+        return businessFloorInfos;
+    }
+
 
 }

+ 7 - 0
service-community/src/main/java/com/java110/community/smo/impl/FloorInnerServiceSMOImpl.java

@@ -1,6 +1,7 @@
 package com.java110.community.smo.impl;
 
 import com.java110.community.dao.IFloorAttrServiceDao;
+import com.java110.dto.UnitDto;
 import com.java110.dto.floorAttr.FloorAttrDto;
 import com.java110.intf.community.IFloorAttrInnerServiceSMO;
 import com.java110.utils.util.BeanConvertUtil;
@@ -144,6 +145,12 @@ public class FloorInnerServiceSMOImpl extends BaseServiceSMO implements IFloorIn
         return floorServiceDaoImpl.queryFloorsCount(BeanConvertUtil.beanCovertMap(floorDto));
     }
 
+    @Override
+    public List<UnitDto> queryFloorAndUnits(@RequestBody UnitDto unitDto) {
+
+        return BeanConvertUtil.covertBeanList(floorServiceDaoImpl.queryFloorAndUnits(BeanConvertUtil.beanCovertMap(unitDto)),UnitDto.class);
+    }
+
 
     /**
      * 从用户列表中查询用户,将用户中的信息 刷新到 floor对象中