Skip to content

Commit 81f3e14

Browse files
committed
加入 根据车牌号查询停车位信息
1 parent 58ac4c0 commit 81f3e14

7 files changed

Lines changed: 102 additions & 9 deletions

File tree

Api/src/main/java/com/java110/api/listener/parkingSpace/QueryParkingSpacesListener.java

Lines changed: 70 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,12 @@
66
import com.java110.common.constant.ServiceCodeConstant;
77
import com.java110.common.util.Assert;
88
import com.java110.common.util.BeanConvertUtil;
9+
import com.java110.common.util.StringUtil;
910
import com.java110.core.annotation.Java110Listener;
1011
import com.java110.core.context.DataFlowContext;
12+
import com.java110.core.smo.owner.IOwnerCarInnerServiceSMO;
1113
import com.java110.core.smo.parkingSpace.IParkingSpaceInnerServiceSMO;
14+
import com.java110.dto.OwnerCarDto;
1215
import com.java110.dto.ParkingSpaceDto;
1316
import com.java110.event.service.api.ServiceDataFlowEvent;
1417
import com.java110.vo.api.ApiParkingSpaceDataVo;
@@ -18,6 +21,7 @@
1821
import org.springframework.http.HttpStatus;
1922
import org.springframework.http.ResponseEntity;
2023

24+
import java.util.ArrayList;
2125
import java.util.List;
2226

2327
/**
@@ -34,6 +38,9 @@ public class QueryParkingSpacesListener extends AbstractServiceApiDataFlowListen
3438
@Autowired
3539
private IParkingSpaceInnerServiceSMO parkingSpaceInnerServiceSMOImpl;
3640

41+
@Autowired
42+
private IOwnerCarInnerServiceSMO ownerCarInnerServiceSMOImpl;
43+
3744
@Override
3845
public String getServiceCode() {
3946
return ServiceCodeConstant.SERVICE_CODE_QUERY_PARKING_SPACE;
@@ -58,6 +65,13 @@ public void soService(ServiceDataFlowEvent event) {
5865

5966
refreshReqJson(reqJson);
6067

68+
//根据车牌号去查询 车位信息
69+
if (reqJson.containsKey("carNum") && !StringUtil.isEmpty("carNum")) {
70+
71+
queryParkingSpaceByCarNum(reqJson, dataFlowContext);
72+
return;
73+
}
74+
6175

6276
int row = reqJson.getInteger("row");
6377

@@ -77,6 +91,51 @@ public void soService(ServiceDataFlowEvent event) {
7791
dataFlowContext.setResponseEntity(responseEntity);
7892
}
7993

94+
/**
95+
* 根据车牌号 查询 停车位
96+
*
97+
* @param reqJson 请求报文
98+
* @param dataFlowContext 上线文对象
99+
*/
100+
private void queryParkingSpaceByCarNum(JSONObject reqJson, DataFlowContext dataFlowContext) {
101+
102+
103+
ApiParkingSpaceVo apiParkingSpaceVo = new ApiParkingSpaceVo();
104+
105+
int row = reqJson.getInteger("row");
106+
//查询总记录数
107+
OwnerCarDto ownerCarDto = BeanConvertUtil.covertBean(reqJson, OwnerCarDto.class);
108+
List<OwnerCarDto> ownerCarDtos = ownerCarInnerServiceSMOImpl.queryOwnerCars(ownerCarDto);
109+
apiParkingSpaceVo.setTotal(ownerCarDtos.size());
110+
111+
if (ownerCarDtos.size() > 0) {
112+
ParkingSpaceDto parkingSpaceDto = new ParkingSpaceDto();
113+
parkingSpaceDto.setPsIds(getPsIds(ownerCarDtos));
114+
List<ParkingSpaceDto> parkingSpaceDtoList = parkingSpaceInnerServiceSMOImpl.queryParkingSpaces(parkingSpaceDto);
115+
apiParkingSpaceVo.setParkingSpaces(BeanConvertUtil.covertBeanList(parkingSpaceDtoList, ApiParkingSpaceDataVo.class));
116+
}
117+
118+
apiParkingSpaceVo.setRecords((int) Math.ceil((double) ownerCarDtos.size() / (double) row));
119+
120+
ResponseEntity<String> responseEntity = new ResponseEntity<String>(JSONObject.toJSONString(apiParkingSpaceVo), HttpStatus.OK);
121+
dataFlowContext.setResponseEntity(responseEntity);
122+
123+
}
124+
125+
/**
126+
* 获取 停车位Ids
127+
* @param ownerCarDtos 业主车位
128+
* @return 停车位Ids
129+
*/
130+
private String[] getPsIds(List<OwnerCarDto> ownerCarDtos){
131+
List<String> psIds = new ArrayList<String>();
132+
for (OwnerCarDto ownerCarDto : ownerCarDtos){
133+
psIds.add(ownerCarDto.getPsId());
134+
}
135+
136+
return psIds.toArray(new String[psIds.size()]);
137+
}
138+
80139
/**
81140
* 请求数据处理
82141
*
@@ -88,8 +147,8 @@ private void refreshReqJson(JSONObject reqJson) {
88147
return;
89148
}
90149

91-
if("SH".equals(reqJson.getString("state"))){
92-
reqJson.put("states", new String[] {"S","H"});
150+
if ("SH".equals(reqJson.getString("state"))) {
151+
reqJson.put("states", new String[]{"S", "H"});
93152
reqJson.remove("state");
94153
}
95154
}
@@ -122,4 +181,13 @@ public IParkingSpaceInnerServiceSMO getParkingSpaceInnerServiceSMOImpl() {
122181
public void setParkingSpaceInnerServiceSMOImpl(IParkingSpaceInnerServiceSMO parkingSpaceInnerServiceSMOImpl) {
123182
this.parkingSpaceInnerServiceSMOImpl = parkingSpaceInnerServiceSMOImpl;
124183
}
184+
185+
186+
public IOwnerCarInnerServiceSMO getOwnerCarInnerServiceSMOImpl() {
187+
return ownerCarInnerServiceSMOImpl;
188+
}
189+
190+
public void setOwnerCarInnerServiceSMOImpl(IOwnerCarInnerServiceSMO ownerCarInnerServiceSMOImpl) {
191+
this.ownerCarInnerServiceSMOImpl = ownerCarInnerServiceSMOImpl;
192+
}
125193
}

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

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
(function(vc,vm){
22

33
vc.extends({
4+
propTypes: {
5+
emitReloadFee:vc.propTypes.string
6+
},
47
data:{
58
propertyPayInfo:{
69
cycles:'',
@@ -116,7 +119,7 @@
116119
//关闭model
117120
$('#propertyPayModel').modal('hide');
118121
vc.emit('propertyFee','listFeeDetail',vc.component.propertyPayInfo);
119-
vc.emit('viewMainFee','reloadFee',vc.component.propertyPayInfo);
122+
vc.emit($props.emitReloadFee,'reloadFee',vc.component.propertyPayInfo);
120123
return ;
121124
}
122125
vc.message(json);

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

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,5 +101,7 @@ <h5>{{mainFeeInfo.feeName}}信息</h5>
101101
emitLoadData="propertyFee"
102102
roomFlag="1"
103103
></vc:create>
104-
<vc:create name="propertyPay"></vc:create>
104+
<vc:create name="propertyPay"
105+
emitReloadFee="viewMainFee"
106+
></vc:create>
105107
</div>

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

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,5 +83,8 @@ <h5>{{mainParkingSpaceFeeInfo.feeName}}信息</h5>
8383
emitLoadData="propertyFee"
8484
parkingSpaceFlag="'SH'"
8585
></vc:create>
86-
<vc:create name="propertyPay"></vc:create>
86+
<vc:create name="propertyPay"
87+
emitReloadFee="viewMainParkingSpaceFee">
88+
89+
</vc:create>
8790
</div>

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

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,10 @@
3232
vc.component.loadMainParkingSpaceFeeInfo(_parkingSPace);
3333
});
3434

35-
vc.on('viewMainFee','reloadFee',function(_room){
36-
if(vc.component.mainParkingSpaceFeeInfo.roomId != ''){
37-
vc.component.loadMainFeeInfo({
38-
roomId:vc.component.mainParkingSpaceFeeInfo.roomId
35+
vc.on('viewMainParkingSpaceFee','reloadFee',function(_parkingSpace){
36+
if(vc.component.mainParkingSpaceFeeInfo.psId != ''){
37+
vc.component.loadMainParkingSpaceFeeInfo({
38+
psId:vc.component.mainParkingSpaceFeeInfo.psId
3939
});
4040

4141
}

java110-bean/src/main/java/com/java110/dto/ParkingSpaceDto.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ public class ParkingSpaceDto extends PageDto implements Serializable {
2222
private String communityId;
2323
private String userId;
2424

25+
private String[] psIds;
26+
2527
private String[] states;
2628

2729

@@ -104,4 +106,13 @@ public String[] getStates() {
104106
public void setStates(String[] states) {
105107
this.states = states;
106108
}
109+
110+
111+
public String[] getPsIds() {
112+
return psIds;
113+
}
114+
115+
public void setPsIds(String[] psIds) {
116+
this.psIds = psIds;
117+
}
107118
}

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

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,12 @@ where 1 =1
127127
#{item}
128128
</foreach>
129129
</if>
130+
<if test="psIds != null and psIds != null">
131+
and t.ps_id in
132+
<foreach collection="psIds" item="item" open="(" close=")" separator=",">
133+
#{item}
134+
</foreach>
135+
</if>
130136
<if test="communityId !=null and communityId != ''">
131137
and t.community_id= #{communityId}
132138
</if>

0 commit comments

Comments
 (0)