Sfoglia il codice sorgente

优化单元查询功能

java110 4 anni fa
parent
commit
0d92e6ae6c

+ 9 - 0
java110-bean/src/main/java/com/java110/dto/UnitDto.java

@@ -34,6 +34,7 @@ public class UnitDto extends PageDto implements Serializable {
      * 名称
      */
     private String floorId;
+    private String floorNum;
 
     private String remark;
     private String layerCount;
@@ -151,4 +152,12 @@ public class UnitDto extends PageDto implements Serializable {
     public void setUnitArea(String unitArea) {
         this.unitArea = unitArea;
     }
+
+    public String getFloorNum() {
+        return floorNum;
+    }
+
+    public void setFloorNum(String floorNum) {
+        this.floorNum = floorNum;
+    }
 }

+ 11 - 0
java110-bean/src/main/java/com/java110/vo/api/ApiUnitVo.java

@@ -18,6 +18,9 @@ public class ApiUnitVo implements Serializable {
     //小区楼ID
     private String floorId;
 
+
+    private String floorNum;
+
     //单元编号
     private String unitNum;
 
@@ -110,4 +113,12 @@ public class ApiUnitVo implements Serializable {
     public void setUnitArea(String unitArea) {
         this.unitArea = unitArea;
     }
+
+    public String getFloorNum() {
+        return floorNum;
+    }
+
+    public void setFloorNum(String floorNum) {
+        this.floorNum = floorNum;
+    }
 }

+ 2 - 6
java110-db/src/main/resources/mapper/community/UnitServiceDaoImplMapper.xml

@@ -93,16 +93,12 @@
     <select id="getUnitInfo" parameterType="Map" resultType="Map">
         select t.floor_id,t.floor_id floorId,t.layer_count,t.layer_count layerCount,t.unit_id,t.unit_id
         unitId,t.unit_num,t.unit_num unitNum,t.lift,t.status_cd,t.status_cd statusCd,t.remark,t.b_id,t.b_id
-        bId,t.user_id,t.user_id userId,t.unit_area,t.unit_area unitArea
+        bId,t.user_id,t.user_id userId,t.unit_area,t.unit_area unitArea,ff.floor_num floorNum
         from building_unit t
-        <if test="communityId!=null and communityId != ''">
-            ,f_floor ff
-        </if>
+        left join f_floor ff on t.`floor_id` = ff.`floor_id` and ff.status_cd = '0'
         where 1 =1
         <if test="communityId!=null and communityId != ''">
-            and t.`floor_id` = ff.`floor_id`
             AND ff.community_id = #{communityId}
-            and ff.status_cd = '0'
         </if>
         <if test="floorId !=null and floorId != ''">
             and t.floor_id= #{floorId}

+ 0 - 106
service-api/src/main/java/com/java110/api/listener/unit/QueryUnitsListener.java

@@ -1,106 +0,0 @@
-package com.java110.api.listener.unit;
-
-import com.alibaba.fastjson.JSONObject;
-import com.java110.api.listener.AbstractServiceApiDataFlowListener;
-import com.java110.utils.constant.ServiceCodeConstant;
-import com.java110.utils.util.Assert;
-import com.java110.utils.util.BeanConvertUtil;
-import com.java110.core.annotation.Java110Listener;
-import com.java110.core.context.DataFlowContext;
-import com.java110.intf.community.IFloorInnerServiceSMO;
-import com.java110.intf.community.IUnitInnerServiceSMO;
-import com.java110.dto.FloorDto;
-import com.java110.dto.UnitDto;
-import com.java110.core.event.service.api.ServiceDataFlowEvent;
-import com.java110.vo.api.ApiUnitVo;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpMethod;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.ResponseEntity;
-
-import java.util.List;
-
-/**
- * @ClassName QueryUnitsListener
- * @Description TODO
- * @Author wuxw
- * @Date 2019/5/2 19:57
- * @Version 1.0
- * add by wuxw 2019/5/2
- **/
-@Java110Listener("queryUnitsListener")
-public class QueryUnitsListener extends AbstractServiceApiDataFlowListener {
-
-    @Autowired
-    private IUnitInnerServiceSMO unitInnerServiceSMOImpl;
-
-    @Autowired
-    private IFloorInnerServiceSMO floorInnerServiceSMOImpl;
-
-    @Override
-    public String getServiceCode() {
-        return ServiceCodeConstant.SERVICE_CODE_QUERY_UNITS;
-    }
-
-    @Override
-    public HttpMethod getHttpMethod() {
-        return HttpMethod.GET;
-    }
-
-    @Override
-    public void soService(ServiceDataFlowEvent event) {
-
-        DataFlowContext dataFlowContext = event.getDataFlowContext();
-        //获取请求数据
-        JSONObject reqJson = dataFlowContext.getReqJson();
-        validateUnitData(reqJson);
-
-        UnitDto unitDto = BeanConvertUtil.covertBean(reqJson, UnitDto.class);
-
-        List<UnitDto> unitDtoList = unitInnerServiceSMOImpl.queryUnits(unitDto);
-
-        List<ApiUnitVo> apiUnitVos = BeanConvertUtil.covertBeanList(unitDtoList, ApiUnitVo.class);
-
-        ResponseEntity<String> responseEntity = new ResponseEntity<String>(JSONObject.toJSONString(apiUnitVos), HttpStatus.OK);
-        dataFlowContext.setResponseEntity(responseEntity);
-
-    }
-
-    /**
-     * 校验小区单元查询入参信息
-     *
-     * @param reqJson 请求入参信息
-     */
-    private void validateUnitData(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 int getOrder() {
-        return DEFAULT_ORDER;
-    }
-
-    public IUnitInnerServiceSMO getUnitInnerServiceSMOImpl() {
-        return unitInnerServiceSMOImpl;
-    }
-
-    public void setUnitInnerServiceSMOImpl(IUnitInnerServiceSMO unitInnerServiceSMOImpl) {
-        this.unitInnerServiceSMOImpl = unitInnerServiceSMOImpl;
-    }
-
-    public IFloorInnerServiceSMO getFloorInnerServiceSMOImpl() {
-        return floorInnerServiceSMOImpl;
-    }
-
-    public void setFloorInnerServiceSMOImpl(IFloorInnerServiceSMO floorInnerServiceSMOImpl) {
-        this.floorInnerServiceSMOImpl = floorInnerServiceSMOImpl;
-    }
-}

+ 53 - 0
service-community/src/main/java/com/java110/community/cmd/unit/QueryUnitsCmd.java

@@ -0,0 +1,53 @@
+package com.java110.community.cmd.unit;
+
+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.FloorDto;
+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 = "unit.queryUnits")
+public class QueryUnitsCmd extends AbstractServiceCmdListener {
+    @Autowired
+    private IUnitInnerServiceSMO unitInnerServiceSMOImpl;
+
+    @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);
+
+        List<UnitDto> unitDtoList = unitInnerServiceSMOImpl.queryUnits(unitDto);
+
+        List<ApiUnitVo> apiUnitVos = BeanConvertUtil.covertBeanList(unitDtoList, ApiUnitVo.class);
+
+        ResponseEntity<String> responseEntity = new ResponseEntity<String>(JSONObject.toJSONString(apiUnitVos), HttpStatus.OK);
+        cmdDataFlowContext.setResponseEntity(responseEntity);
+    }
+}