Просмотр исходного кода

加入 根据车牌号查询停车位信息

wuxw лет назад: 6
Родитель
Сommit
81f3e14af5

+ 70 - 2
Api/src/main/java/com/java110/api/listener/parkingSpace/QueryParkingSpacesListener.java

@@ -6,9 +6,12 @@ import com.java110.api.listener.AbstractServiceApiDataFlowListener;
 import com.java110.common.constant.ServiceCodeConstant;
 import com.java110.common.util.Assert;
 import com.java110.common.util.BeanConvertUtil;
+import com.java110.common.util.StringUtil;
 import com.java110.core.annotation.Java110Listener;
 import com.java110.core.context.DataFlowContext;
+import com.java110.core.smo.owner.IOwnerCarInnerServiceSMO;
 import com.java110.core.smo.parkingSpace.IParkingSpaceInnerServiceSMO;
+import com.java110.dto.OwnerCarDto;
 import com.java110.dto.ParkingSpaceDto;
 import com.java110.event.service.api.ServiceDataFlowEvent;
 import com.java110.vo.api.ApiParkingSpaceDataVo;
@@ -18,6 +21,7 @@ import org.springframework.http.HttpMethod;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
 
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -34,6 +38,9 @@ public class QueryParkingSpacesListener extends AbstractServiceApiDataFlowListen
     @Autowired
     private IParkingSpaceInnerServiceSMO parkingSpaceInnerServiceSMOImpl;
 
+    @Autowired
+    private IOwnerCarInnerServiceSMO ownerCarInnerServiceSMOImpl;
+
     @Override
     public String getServiceCode() {
         return ServiceCodeConstant.SERVICE_CODE_QUERY_PARKING_SPACE;
@@ -58,6 +65,13 @@ public class QueryParkingSpacesListener extends AbstractServiceApiDataFlowListen
 
         refreshReqJson(reqJson);
 
+        //根据车牌号去查询 车位信息
+        if (reqJson.containsKey("carNum") && !StringUtil.isEmpty("carNum")) {
+
+            queryParkingSpaceByCarNum(reqJson, dataFlowContext);
+            return;
+        }
+
 
         int row = reqJson.getInteger("row");
 
@@ -77,6 +91,51 @@ public class QueryParkingSpacesListener extends AbstractServiceApiDataFlowListen
         dataFlowContext.setResponseEntity(responseEntity);
     }
 
+    /**
+     * 根据车牌号 查询 停车位
+     *
+     * @param reqJson         请求报文
+     * @param dataFlowContext 上线文对象
+     */
+    private void queryParkingSpaceByCarNum(JSONObject reqJson, DataFlowContext dataFlowContext) {
+
+
+        ApiParkingSpaceVo apiParkingSpaceVo = new ApiParkingSpaceVo();
+
+        int row = reqJson.getInteger("row");
+        //查询总记录数
+        OwnerCarDto ownerCarDto = BeanConvertUtil.covertBean(reqJson, OwnerCarDto.class);
+        List<OwnerCarDto> ownerCarDtos = ownerCarInnerServiceSMOImpl.queryOwnerCars(ownerCarDto);
+        apiParkingSpaceVo.setTotal(ownerCarDtos.size());
+
+        if (ownerCarDtos.size() > 0) {
+            ParkingSpaceDto parkingSpaceDto = new ParkingSpaceDto();
+            parkingSpaceDto.setPsIds(getPsIds(ownerCarDtos));
+            List<ParkingSpaceDto> parkingSpaceDtoList = parkingSpaceInnerServiceSMOImpl.queryParkingSpaces(parkingSpaceDto);
+            apiParkingSpaceVo.setParkingSpaces(BeanConvertUtil.covertBeanList(parkingSpaceDtoList, ApiParkingSpaceDataVo.class));
+        }
+
+        apiParkingSpaceVo.setRecords((int) Math.ceil((double) ownerCarDtos.size() / (double) row));
+
+        ResponseEntity<String> responseEntity = new ResponseEntity<String>(JSONObject.toJSONString(apiParkingSpaceVo), HttpStatus.OK);
+        dataFlowContext.setResponseEntity(responseEntity);
+
+    }
+
+    /**
+     * 获取 停车位Ids
+     * @param ownerCarDtos 业主车位
+     * @return 停车位Ids
+     */
+    private String[] getPsIds(List<OwnerCarDto> ownerCarDtos){
+        List<String> psIds = new ArrayList<String>();
+        for (OwnerCarDto ownerCarDto : ownerCarDtos){
+            psIds.add(ownerCarDto.getPsId());
+        }
+
+        return psIds.toArray(new String[psIds.size()]);
+    }
+
     /**
      * 请求数据处理
      *
@@ -88,8 +147,8 @@ public class QueryParkingSpacesListener extends AbstractServiceApiDataFlowListen
             return;
         }
 
-        if("SH".equals(reqJson.getString("state"))){
-            reqJson.put("states", new String[] {"S","H"});
+        if ("SH".equals(reqJson.getString("state"))) {
+            reqJson.put("states", new String[]{"S", "H"});
             reqJson.remove("state");
         }
     }
@@ -122,4 +181,13 @@ public class QueryParkingSpacesListener extends AbstractServiceApiDataFlowListen
     public void setParkingSpaceInnerServiceSMOImpl(IParkingSpaceInnerServiceSMO parkingSpaceInnerServiceSMOImpl) {
         this.parkingSpaceInnerServiceSMOImpl = parkingSpaceInnerServiceSMOImpl;
     }
+
+
+    public IOwnerCarInnerServiceSMO getOwnerCarInnerServiceSMOImpl() {
+        return ownerCarInnerServiceSMOImpl;
+    }
+
+    public void setOwnerCarInnerServiceSMOImpl(IOwnerCarInnerServiceSMO ownerCarInnerServiceSMOImpl) {
+        this.ownerCarInnerServiceSMOImpl = ownerCarInnerServiceSMOImpl;
+    }
 }

+ 4 - 1
WebService/src/main/resources/components/property-pay/propertyPay.js

@@ -1,6 +1,9 @@
 (function(vc,vm){
 
     vc.extends({
+        propTypes: {
+            emitReloadFee:vc.propTypes.string
+        },
         data:{
             propertyPayInfo:{
                 cycles:'',
@@ -116,7 +119,7 @@
                             //关闭model
                             $('#propertyPayModel').modal('hide');
                             vc.emit('propertyFee','listFeeDetail',vc.component.propertyPayInfo);
-                            vc.emit('viewMainFee','reloadFee',vc.component.propertyPayInfo);
+                            vc.emit($props.emitReloadFee,'reloadFee',vc.component.propertyPayInfo);
                             return ;
                         }
                         vc.message(json);

+ 3 - 1
WebService/src/main/resources/components/view-main-fee/viewMainFee.html

@@ -101,5 +101,7 @@
                emitLoadData="propertyFee"
                roomFlag="1"
     ></vc:create>
-    <vc:create name="propertyPay"></vc:create>
+    <vc:create name="propertyPay"
+               emitReloadFee="viewMainFee"
+    ></vc:create>
 </div>

+ 4 - 1
WebService/src/main/resources/components/view-main-parkingSpace-fee/viewMainParkingSpaceFee.html

@@ -83,5 +83,8 @@
                emitLoadData="propertyFee"
                parkingSpaceFlag="'SH'"
     ></vc:create>
-    <vc:create name="propertyPay"></vc:create>
+    <vc:create name="propertyPay"
+               emitReloadFee="viewMainParkingSpaceFee">
+
+    </vc:create>
 </div>

+ 4 - 4
WebService/src/main/resources/components/view-main-parkingSpace-fee/viewMainParkingSpaceFee.js

@@ -32,10 +32,10 @@
                   vc.component.loadMainParkingSpaceFeeInfo(_parkingSPace);
             });
 
-            vc.on('viewMainFee','reloadFee',function(_room){
-                if(vc.component.mainParkingSpaceFeeInfo.roomId != ''){
-                      vc.component.loadMainFeeInfo({
-                            roomId:vc.component.mainParkingSpaceFeeInfo.roomId
+            vc.on('viewMainParkingSpaceFee','reloadFee',function(_parkingSpace){
+                if(vc.component.mainParkingSpaceFeeInfo.psId != ''){
+                      vc.component.loadMainParkingSpaceFeeInfo({
+                            psId:vc.component.mainParkingSpaceFeeInfo.psId
                       });
 
                 }

+ 11 - 0
java110-bean/src/main/java/com/java110/dto/ParkingSpaceDto.java

@@ -22,6 +22,8 @@ private String state;
 private String communityId;
 private String userId;
 
+private String[] psIds;
+
 private String[] states;
 
 
@@ -104,4 +106,13 @@ public void setUserId(String userId) {
     public void setStates(String[] states) {
         this.states = states;
     }
+
+
+    public String[] getPsIds() {
+        return psIds;
+    }
+
+    public void setPsIds(String[] psIds) {
+        this.psIds = psIds;
+    }
 }

+ 6 - 0
java110-db/src/main/resources/mapper/parkingSpace/ParkingSpaceServiceDaoImplMapper.xml

@@ -127,6 +127,12 @@ where 1 =1
         #{item}
     </foreach>
 </if>
+<if test="psIds != null and psIds != null">
+    and t.ps_id in
+    <foreach collection="psIds" item="item" open="(" close=")" separator=",">
+        #{item}
+    </foreach>
+</if>
 <if test="communityId !=null and communityId != ''">
    and t.community_id= #{communityId}
 </if>