Bläddra i källkod

优化车位费用

java110 5 år sedan
förälder
incheckning
19faea716d

+ 7 - 0
java110-db/src/main/resources/mapper/user/OwnerCarServiceDaoImplMapper.xml

@@ -153,6 +153,9 @@
         <if test="ownerId !=null and ownerId != ''">
             and t.owner_id= #{ownerId}
         </if>
+        <if test="ownerName !=null and ownerName != ''">
+            and bow.name= #{ownerName}
+        </if>
         <if test="bId !=null and bId != ''">
             and t.b_id= #{bId}
         </if>
@@ -235,6 +238,7 @@
     <select id="queryOwnerCarsCount" parameterType="Map" resultType="Map">
         select count(1) count
         from owner_car t
+        left join building_owner bow on t.owner_id = bow.member_id and bow.status_cd = '0' and bow.community_id = t.community_id
         where 1 =1
         <if test="carColor !=null and carColor != ''">
             and t.car_color= #{carColor}
@@ -260,6 +264,9 @@
         <if test="ownerId !=null and ownerId != ''">
             and t.owner_id= #{ownerId}
         </if>
+        <if test="ownerName !=null and ownerName != ''">
+            and bow.name= #{ownerName}
+        </if>
         <if test="bId !=null and bId != ''">
             and t.b_id= #{bId}
         </if>

+ 20 - 4
service-api/src/main/java/com/java110/api/listener/owner/QueryOwnerCarsListener.java

@@ -1,6 +1,7 @@
 package com.java110.api.listener.owner;
 
 
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.java110.api.listener.AbstractServiceApiDataFlowListener;
 import com.java110.core.annotation.Java110Listener;
@@ -64,6 +65,21 @@ public class QueryOwnerCarsListener extends AbstractServiceApiDataFlowListener {
 
         int row = reqJson.getInteger("row");
 
+        if (reqJson.containsKey("num") && !StringUtil.isEmpty(reqJson.getString("num"))) {
+            ParkingSpaceDto parkingSpaceDto = new ParkingSpaceDto();
+            parkingSpaceDto.setAreaNum(reqJson.getString("areaNum"));
+            parkingSpaceDto.setNum(reqJson.getString("num"));
+            parkingSpaceDto.setCommunityId(reqJson.getString("communityId"));
+            List<ParkingSpaceDto> parkingSpaceDtos = parkingSpaceInnerServiceSMOImpl.queryParkingSpaces(parkingSpaceDto);
+            if (parkingSpaceDtos == null || parkingSpaceDtos.size() < 1) {
+                ResponseEntity<String> responseEntity = ResultVo.createResponseEntity(1, 1, new JSONArray());
+                dataFlowContext.setResponseEntity(responseEntity);
+                return;
+            }
+
+            reqJson.put("psId", parkingSpaceDtos.get(0).getPsId());
+        }
+
         //查询总记录数
         int total = ownerCarInnerServiceSMOImpl.queryOwnerCarsCount(BeanConvertUtil.covertBean(reqJson, OwnerCarDto.class));
         List<OwnerCarDto> ownerCarDtoList = null;
@@ -88,7 +104,7 @@ public class QueryOwnerCarsListener extends AbstractServiceApiDataFlowListener {
 
         List<String> psIds = new ArrayList<>();
         for (OwnerCarDto ownerCarDto : ownerCarDtoList) {
-            if(StringUtil.isEmpty(ownerCarDto.getPsId())){
+            if (StringUtil.isEmpty(ownerCarDto.getPsId())) {
                 continue;
             }
             psIds.add(ownerCarDto.getPsId());
@@ -99,9 +115,9 @@ public class QueryOwnerCarsListener extends AbstractServiceApiDataFlowListener {
         parkingSpaceDto.setPsIds(psIds.toArray(new String[psIds.size()]));
         List<ParkingSpaceDto> parkingSpaceDtos = parkingSpaceInnerServiceSMOImpl.queryParkingSpaces(parkingSpaceDto);
 
-        for(ParkingSpaceDto tmpParkingSpaceDto : parkingSpaceDtos){
-            for (OwnerCarDto ownerCarDto : ownerCarDtoList){
-                if(tmpParkingSpaceDto.getPsId().equals(ownerCarDto.getPsId())){
+        for (ParkingSpaceDto tmpParkingSpaceDto : parkingSpaceDtos) {
+            for (OwnerCarDto ownerCarDto : ownerCarDtoList) {
+                if (tmpParkingSpaceDto.getPsId().equals(ownerCarDto.getPsId())) {
                     ownerCarDto.setAreaNum(tmpParkingSpaceDto.getAreaNum());
                     ownerCarDto.setNum(tmpParkingSpaceDto.getNum());
                 }