| New file |
| | |
| | | package com.java110.api.listener.parkingSpace; |
| | | |
| | | import com.alibaba.fastjson.JSONArray; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.java110.api.listener.AbstractServiceApiDataFlowListener; |
| | | import com.java110.common.constant.BusinessTypeConstant; |
| | | import com.java110.common.constant.CommonConstant; |
| | | import com.java110.common.constant.ServiceCodeConstant; |
| | | import com.java110.common.util.Assert; |
| | | import com.java110.core.annotation.Java110Listener; |
| | | import com.java110.core.context.DataFlowContext; |
| | | import com.java110.core.smo.community.ICommunityInnerServiceSMO; |
| | | import com.java110.entity.center.AppService; |
| | | import com.java110.event.service.api.ServiceDataFlowEvent; |
| | | import org.slf4j.Logger; |
| | | import org.slf4j.LoggerFactory; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.http.HttpHeaders; |
| | | import org.springframework.http.HttpMethod; |
| | | import org.springframework.http.ResponseEntity; |
| | | |
| | | /** |
| | | * 删除小区楼信息 |
| | | */ |
| | | @Java110Listener("deleteParkingSpaceListener") |
| | | public class DeleteParkingSpaceListener extends AbstractServiceApiDataFlowListener { |
| | | |
| | | private static Logger logger = LoggerFactory.getLogger(DeleteParkingSpaceListener.class); |
| | | |
| | | @Autowired |
| | | private ICommunityInnerServiceSMO communityInnerServiceSMOImpl; |
| | | |
| | | @Override |
| | | public String getServiceCode() { |
| | | return ServiceCodeConstant.SERVICE_CODE_DELETE_PARKING_SPACE; |
| | | } |
| | | |
| | | @Override |
| | | public HttpMethod getHttpMethod() { |
| | | return HttpMethod.POST; |
| | | } |
| | | |
| | | @Override |
| | | public void soService(ServiceDataFlowEvent event) { |
| | | logger.debug("ServiceDataFlowEvent : {}", event); |
| | | |
| | | DataFlowContext dataFlowContext = event.getDataFlowContext(); |
| | | AppService service = event.getAppService(); |
| | | |
| | | String paramIn = dataFlowContext.getReqData(); |
| | | |
| | | //校验数据 |
| | | validate(paramIn); |
| | | JSONObject paramObj = JSONObject.parseObject(paramIn); |
| | | |
| | | HttpHeaders header = new HttpHeaders(); |
| | | //dataFlowContext.getRequestCurrentHeaders().put(CommonConstant.HTTP_USER_ID, "-1"); |
| | | dataFlowContext.getRequestCurrentHeaders().put(CommonConstant.HTTP_ORDER_TYPE_CD, "D"); |
| | | JSONArray businesses = new JSONArray(); |
| | | |
| | | |
| | | //添加小区楼 |
| | | businesses.add(deleteParkingSpace(paramObj)); |
| | | |
| | | |
| | | JSONObject paramInObj = super.restToCenterProtocol(businesses, dataFlowContext.getRequestCurrentHeaders()); |
| | | |
| | | //将 rest header 信息传递到下层服务中去 |
| | | super.freshHttpHeader(header, dataFlowContext.getRequestCurrentHeaders()); |
| | | |
| | | ResponseEntity<String> responseEntity = this.callService(dataFlowContext, service.getServiceCode(), paramInObj); |
| | | |
| | | dataFlowContext.setResponseEntity(responseEntity); |
| | | } |
| | | |
| | | /** |
| | | * 添加小区楼信息 |
| | | * |
| | | * @param paramInJson 接口调用放传入入参 |
| | | * @return 订单服务能够接受的报文 |
| | | */ |
| | | private JSONObject deleteParkingSpace(JSONObject paramInJson) { |
| | | |
| | | |
| | | JSONObject business = JSONObject.parseObject("{\"datas\":{}}"); |
| | | business.put(CommonConstant.HTTP_BUSINESS_TYPE_CD, BusinessTypeConstant.BUSINESS_TYPE_DELETE_PARKING_SPACE); |
| | | business.put(CommonConstant.HTTP_SEQ, DEFAULT_SEQ); |
| | | business.put(CommonConstant.HTTP_INVOKE_MODEL, CommonConstant.HTTP_INVOKE_MODEL_S); |
| | | JSONObject businessParkingSpace = new JSONObject(); |
| | | businessParkingSpace.put("psId", paramInJson.getString("psId")); |
| | | business.getJSONObject(CommonConstant.HTTP_BUSINESS_DATAS).put("businessParkingSpace", businessParkingSpace); |
| | | |
| | | return business; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 校验数据 |
| | | * |
| | | * @param paramIn 接口请求数据 |
| | | */ |
| | | private void validate(String paramIn) { |
| | | Assert.jsonObjectHaveKey(paramIn, "psId", "请求报文中未包含psId"); |
| | | Assert.jsonObjectHaveKey(paramIn, "communityId", "请求报文中未包含communityId"); |
| | | } |
| | | |
| | | @Override |
| | | public int getOrder() { |
| | | return DEFAULT_ORDER; |
| | | } |
| | | |
| | | public ICommunityInnerServiceSMO getCommunityInnerServiceSMOImpl() { |
| | | return communityInnerServiceSMOImpl; |
| | | } |
| | | |
| | | public void setCommunityInnerServiceSMOImpl(ICommunityInnerServiceSMO communityInnerServiceSMOImpl) { |
| | | this.communityInnerServiceSMOImpl = communityInnerServiceSMOImpl; |
| | | } |
| | | } |
| New file |
| | |
| | | |
| | | package com.java110.api.listener.parkingSpace; |
| | | |
| | | import com.alibaba.fastjson.JSONArray; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.java110.api.listener.AbstractServiceApiDataFlowListener; |
| | | import com.java110.common.constant.BusinessTypeConstant; |
| | | import com.java110.common.constant.CommonConstant; |
| | | import com.java110.common.constant.ResponseConstant; |
| | | import com.java110.common.constant.ServiceCodeConstant; |
| | | import com.java110.common.exception.ListenerExecuteException; |
| | | import com.java110.common.util.Assert; |
| | | import com.java110.core.annotation.Java110Listener; |
| | | import com.java110.core.context.DataFlowContext; |
| | | import com.java110.entity.center.AppService; |
| | | import com.java110.event.service.api.ServiceDataFlowEvent; |
| | | import org.slf4j.Logger; |
| | | import org.slf4j.LoggerFactory; |
| | | import org.springframework.http.HttpHeaders; |
| | | import org.springframework.http.HttpMethod; |
| | | import org.springframework.http.ResponseEntity; |
| | | |
| | | /** |
| | | * @ClassName EditParkingSpaceListener |
| | | * @Description TODO 编辑小区楼信息 |
| | | * @Author wuxw |
| | | * @Date 2019/4/28 15:19 |
| | | * @Version 1.0 |
| | | * add by wuxw 2019/4/28 |
| | | **/ |
| | | @Java110Listener("editParkingSpaceListener") |
| | | public class EditParkingSpaceListener extends AbstractServiceApiDataFlowListener { |
| | | |
| | | private static Logger logger = LoggerFactory.getLogger(EditParkingSpaceListener.class); |
| | | |
| | | @Override |
| | | public String getServiceCode() { |
| | | return ServiceCodeConstant.SERVICE_CODE_EDIT_PARKING_SPACE; |
| | | } |
| | | |
| | | @Override |
| | | public HttpMethod getHttpMethod() { |
| | | return HttpMethod.POST; |
| | | } |
| | | |
| | | @Override |
| | | public void soService(ServiceDataFlowEvent event) { |
| | | |
| | | logger.debug("ServiceDataFlowEvent : {}", event); |
| | | |
| | | DataFlowContext dataFlowContext = event.getDataFlowContext(); |
| | | AppService service = event.getAppService(); |
| | | |
| | | String paramIn = dataFlowContext.getReqData(); |
| | | |
| | | //校验数据 |
| | | validate(paramIn); |
| | | JSONObject paramObj = JSONObject.parseObject(paramIn); |
| | | |
| | | HttpHeaders header = new HttpHeaders(); |
| | | //dataFlowContext.getRequestCurrentHeaders().put(CommonConstant.HTTP_USER_ID, "-1"); |
| | | dataFlowContext.getRequestCurrentHeaders().put(CommonConstant.HTTP_ORDER_TYPE_CD, "D"); |
| | | JSONArray businesses = new JSONArray(); |
| | | |
| | | //添加小区楼 |
| | | businesses.add(editParkingSpace(paramObj)); |
| | | |
| | | |
| | | JSONObject paramInObj = super.restToCenterProtocol(businesses, dataFlowContext.getRequestCurrentHeaders()); |
| | | |
| | | //将 rest header 信息传递到下层服务中去 |
| | | super.freshHttpHeader(header, dataFlowContext.getRequestCurrentHeaders()); |
| | | |
| | | ResponseEntity<String> responseEntity = this.callService(dataFlowContext, service.getServiceCode(), paramInObj); |
| | | |
| | | dataFlowContext.setResponseEntity(responseEntity); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 数据校验 |
| | | * |
| | | * @param paramIn "communityId": "7020181217000001", |
| | | * "memberId": "3456789", |
| | | * "memberTypeCd": "390001200001" |
| | | */ |
| | | private void validate(String paramIn) { |
| | | Assert.jsonObjectHaveKey(paramIn, "communityId", "未包含小区ID"); |
| | | Assert.jsonObjectHaveKey(paramIn, "psId", "未包含停车位ID"); |
| | | Assert.jsonObjectHaveKey(paramIn, "num", "请求报文中未包含age"); |
| | | Assert.jsonObjectHaveKey(paramIn, "area", "请求报文中未包含name"); |
| | | Assert.jsonObjectHaveKey(paramIn, "typeCd", "请求报文中未包含link"); |
| | | |
| | | JSONObject paramObj = JSONObject.parseObject(paramIn); |
| | | |
| | | Assert.hasLength(paramObj.getString("psId"), "停车位ID不能为空"); |
| | | |
| | | if (paramObj.getString("psId").startsWith("-")) { |
| | | throw new ListenerExecuteException(ResponseConstant.RESULT_CODE_ERROR, "停车位ID必须为已有ID"); |
| | | } |
| | | |
| | | |
| | | if (!"1001".equals(paramObj.getString("typeCd")) && !"2001".equals(paramObj.getString("typeCd"))) { |
| | | throw new ListenerExecuteException(ResponseConstant.RESULT_CODE_ERROR, "传入typeCd 非法"); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 添加小区楼信息 |
| | | * |
| | | * @param paramInJson 接口调用放传入入参 |
| | | * @return 订单服务能够接受的报文 |
| | | */ |
| | | private JSONObject editParkingSpace(JSONObject paramInJson) { |
| | | |
| | | |
| | | JSONObject business = JSONObject.parseObject("{\"datas\":{}}"); |
| | | business.put(CommonConstant.HTTP_BUSINESS_TYPE_CD, BusinessTypeConstant.BUSINESS_TYPE_UPDATE_PARKING_SPACE); |
| | | business.put(CommonConstant.HTTP_SEQ, DEFAULT_SEQ); |
| | | business.put(CommonConstant.HTTP_INVOKE_MODEL, CommonConstant.HTTP_INVOKE_MODEL_S); |
| | | JSONObject businessParkingSpace = new JSONObject(); |
| | | |
| | | businessParkingSpace.putAll(paramInJson); |
| | | business.getJSONObject(CommonConstant.HTTP_BUSINESS_DATAS).put("businessParkingSpace", businessParkingSpace); |
| | | |
| | | return business; |
| | | } |
| | | |
| | | @Override |
| | | public int getOrder() { |
| | | return DEFAULT_ORDER; |
| | | } |
| | | } |
| New file |
| | |
| | | package com.java110.api.listener.parkingSpace; |
| | | |
| | | |
| | | import com.alibaba.fastjson.JSONObject; |
| | | 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.core.annotation.Java110Listener; |
| | | import com.java110.core.context.DataFlowContext; |
| | | import com.java110.core.smo.parkingSpace.IParkingSpaceInnerServiceSMO; |
| | | import com.java110.dto.ParkingSpaceDto; |
| | | import com.java110.event.service.api.ServiceDataFlowEvent; |
| | | import com.java110.vo.api.ApiParkingSpaceDataVo; |
| | | import com.java110.vo.api.ApiParkingSpaceVo; |
| | | 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 ParkingSpaceDto |
| | | * @Description 小区楼数据层侦听类 |
| | | * @Author wuxw |
| | | * @Date 2019/4/24 8:52 |
| | | * @Version 1.0 |
| | | * add by wuxw 2019/4/24 |
| | | **/ |
| | | @Java110Listener("queryParkingSpacesListener") |
| | | public class QueryParkingSpacesListener extends AbstractServiceApiDataFlowListener { |
| | | |
| | | @Autowired |
| | | private IParkingSpaceInnerServiceSMO parkingSpaceInnerServiceSMOImpl; |
| | | |
| | | @Override |
| | | public String getServiceCode() { |
| | | return ServiceCodeConstant.SERVICE_CODE_QUERY_PARKING_SPACE; |
| | | } |
| | | |
| | | @Override |
| | | public HttpMethod getHttpMethod() { |
| | | return HttpMethod.GET; |
| | | } |
| | | |
| | | /** |
| | | * 业务层数据处理 |
| | | * |
| | | * @param event 时间对象 |
| | | */ |
| | | @Override |
| | | public void soService(ServiceDataFlowEvent event) { |
| | | DataFlowContext dataFlowContext = event.getDataFlowContext(); |
| | | //获取请求数据 |
| | | JSONObject reqJson = dataFlowContext.getReqJson(); |
| | | validateParkingSpaceData(reqJson); |
| | | |
| | | |
| | | int row = reqJson.getInteger("row"); |
| | | |
| | | ApiParkingSpaceVo apiParkingSpaceVo = new ApiParkingSpaceVo(); |
| | | |
| | | //查询总记录数 |
| | | int total = parkingSpaceInnerServiceSMOImpl.queryParkingSpacesCount(BeanConvertUtil.covertBean(reqJson, ParkingSpaceDto.class)); |
| | | apiParkingSpaceVo.setTotal(total); |
| | | if (total > 0) { |
| | | List<ParkingSpaceDto> parkingSpaceDtoList = parkingSpaceInnerServiceSMOImpl.queryParkingSpaces(BeanConvertUtil.covertBean(reqJson, ParkingSpaceDto.class)); |
| | | apiParkingSpaceVo.setParkingSpaces(BeanConvertUtil.covertBeanList(parkingSpaceDtoList, ApiParkingSpaceDataVo.class)); |
| | | } |
| | | |
| | | apiParkingSpaceVo.setRecords((int) Math.ceil((double) total / (double) row)); |
| | | |
| | | ResponseEntity<String> responseEntity = new ResponseEntity<String>(JSONObject.toJSONString(apiParkingSpaceVo), HttpStatus.OK); |
| | | dataFlowContext.setResponseEntity(responseEntity); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 校验查询条件是否满足条件 |
| | | * |
| | | * @param reqJson 包含查询条件 |
| | | */ |
| | | private void validateParkingSpaceData(JSONObject reqJson) { |
| | | Assert.jsonObjectHaveKey(reqJson, "page", "请求中未包含page信息"); |
| | | Assert.jsonObjectHaveKey(reqJson, "row", "请求中未包含row信息"); |
| | | Assert.jsonObjectHaveKey(reqJson, "communityId", "请求中未包含communityId信息"); |
| | | Assert.isInteger(reqJson.getString("page"), "不是有效数字"); |
| | | Assert.isInteger(reqJson.getString("row"), "不是有效数字"); |
| | | |
| | | } |
| | | |
| | | @Override |
| | | public int getOrder() { |
| | | return super.DEFAULT_ORDER; |
| | | } |
| | | |
| | | |
| | | public IParkingSpaceInnerServiceSMO getParkingSpaceInnerServiceSMOImpl() { |
| | | return parkingSpaceInnerServiceSMOImpl; |
| | | } |
| | | |
| | | public void setParkingSpaceInnerServiceSMOImpl(IParkingSpaceInnerServiceSMO parkingSpaceInnerServiceSMOImpl) { |
| | | this.parkingSpaceInnerServiceSMOImpl = parkingSpaceInnerServiceSMOImpl; |
| | | } |
| | | } |
| New file |
| | |
| | | package com.java110.api.listener.parkingSpace; |
| | | |
| | | import com.alibaba.fastjson.JSONArray; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.java110.api.listener.AbstractServiceApiDataFlowListener; |
| | | import com.java110.common.constant.BusinessTypeConstant; |
| | | import com.java110.common.constant.CommonConstant; |
| | | import com.java110.common.constant.ResponseConstant; |
| | | import com.java110.common.constant.ServiceCodeConstant; |
| | | import com.java110.common.exception.ListenerExecuteException; |
| | | import com.java110.common.util.Assert; |
| | | import com.java110.core.annotation.Java110Listener; |
| | | import com.java110.core.context.DataFlowContext; |
| | | import com.java110.core.factory.GenerateCodeFactory; |
| | | import com.java110.entity.center.AppService; |
| | | import com.java110.event.service.api.ServiceDataFlowEvent; |
| | | import org.slf4j.Logger; |
| | | import org.slf4j.LoggerFactory; |
| | | import org.springframework.http.HttpHeaders; |
| | | import org.springframework.http.HttpMethod; |
| | | import org.springframework.http.ResponseEntity; |
| | | |
| | | /** |
| | | * @ClassName SaveParkingSpaceListener |
| | | * @Description 保存小区楼信息 |
| | | * @Author wuxw |
| | | * @Date 2019/4/26 14:51 |
| | | * @Version 1.0 |
| | | * add by wuxw 2019/4/26 |
| | | **/ |
| | | |
| | | @Java110Listener("saveParkingSpaceListener") |
| | | public class SaveParkingSpaceListener extends AbstractServiceApiDataFlowListener { |
| | | |
| | | |
| | | private static Logger logger = LoggerFactory.getLogger(SaveParkingSpaceListener.class); |
| | | |
| | | @Override |
| | | public String getServiceCode() { |
| | | return ServiceCodeConstant.SERVICE_CODE_SAVE_PARKING_SPACE; |
| | | } |
| | | |
| | | @Override |
| | | public HttpMethod getHttpMethod() { |
| | | return HttpMethod.POST; |
| | | } |
| | | |
| | | @Override |
| | | public void soService(ServiceDataFlowEvent event) { |
| | | |
| | | logger.debug("ServiceDataFlowEvent : {}", event); |
| | | |
| | | DataFlowContext dataFlowContext = event.getDataFlowContext(); |
| | | AppService service = event.getAppService(); |
| | | |
| | | String paramIn = dataFlowContext.getReqData(); |
| | | |
| | | //校验数据 |
| | | validate(paramIn); |
| | | JSONObject paramObj = JSONObject.parseObject(paramIn); |
| | | |
| | | HttpHeaders header = new HttpHeaders(); |
| | | dataFlowContext.getRequestCurrentHeaders().put(CommonConstant.HTTP_ORDER_TYPE_CD, "D"); |
| | | JSONArray businesses = new JSONArray(); |
| | | |
| | | |
| | | //添加小区楼 |
| | | businesses.add(addParkingSpace(paramObj)); |
| | | |
| | | JSONObject paramInObj = super.restToCenterProtocol(businesses, dataFlowContext.getRequestCurrentHeaders()); |
| | | |
| | | //将 rest header 信息传递到下层服务中去 |
| | | super.freshHttpHeader(header, dataFlowContext.getRequestCurrentHeaders()); |
| | | |
| | | ResponseEntity<String> responseEntity = this.callService(dataFlowContext, service.getServiceCode(), paramInObj); |
| | | |
| | | dataFlowContext.setResponseEntity(responseEntity); |
| | | |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 添加小区楼信息 |
| | | * <p> |
| | | * * name:'', |
| | | * * age:'', |
| | | * * link:'', |
| | | * * sex:'', |
| | | * * remark:'' |
| | | * |
| | | * @param paramInJson 接口调用放传入入参 |
| | | * @return 订单服务能够接受的报文 |
| | | */ |
| | | private JSONObject addParkingSpace(JSONObject paramInJson) { |
| | | |
| | | |
| | | JSONObject business = JSONObject.parseObject("{\"datas\":{}}"); |
| | | business.put(CommonConstant.HTTP_BUSINESS_TYPE_CD, BusinessTypeConstant.BUSINESS_TYPE_SAVE_PARKING_SPACE); |
| | | business.put(CommonConstant.HTTP_SEQ, DEFAULT_SEQ); |
| | | business.put(CommonConstant.HTTP_INVOKE_MODEL, CommonConstant.HTTP_INVOKE_MODEL_S); |
| | | JSONObject businessParkingSpace = new JSONObject(); |
| | | businessParkingSpace.putAll(paramInJson); |
| | | businessParkingSpace.put("state", "F"); |
| | | businessParkingSpace.put("psId", "-1"); |
| | | business.getJSONObject(CommonConstant.HTTP_BUSINESS_DATAS).put("businessParkingSpace", businessParkingSpace); |
| | | |
| | | return business; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 数据校验 |
| | | * <p> |
| | | * name:'', |
| | | * age:'', |
| | | * link:'', |
| | | * sex:'', |
| | | * remark:'' |
| | | * |
| | | * @param paramIn "communityId": "7020181217000001", |
| | | * "memberId": "3456789", |
| | | * "memberTypeCd": "390001200001" |
| | | */ |
| | | private void validate(String paramIn) { |
| | | Assert.jsonObjectHaveKey(paramIn, "communityId", "未包含小区ID"); |
| | | Assert.jsonObjectHaveKey(paramIn, "num", "请求报文中未包含age"); |
| | | Assert.jsonObjectHaveKey(paramIn, "area", "请求报文中未包含name"); |
| | | Assert.jsonObjectHaveKey(paramIn, "typeCd", "请求报文中未包含link"); |
| | | |
| | | JSONObject paramObj = JSONObject.parseObject(paramIn); |
| | | |
| | | if (!"1001".equals(paramObj.getString("typeCd")) && !"2001".equals(paramObj.getString("typeCd"))) { |
| | | throw new ListenerExecuteException(ResponseConstant.RESULT_CODE_ERROR, "传入typeCd 非法"); |
| | | } |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public int getOrder() { |
| | | return 0; |
| | | } |
| | | |
| | | } |
| New file |
| | |
| | | package com.java110.web.components.parkingSpace; |
| | | |
| | | import com.java110.core.context.IPageData; |
| | | import com.java110.web.smo.IParkingSpaceServiceSMO; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.http.ResponseEntity; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | /** |
| | | * 添加停车位组件 |
| | | */ |
| | | @Component("addParkingSpace") |
| | | public class AddParkingSpaceComponent { |
| | | |
| | | @Autowired |
| | | private IParkingSpaceServiceSMO parkingSpaceServiceSMOImpl; |
| | | |
| | | /** |
| | | * 查询小区楼信息 |
| | | * @param pd 页面封装对象 包含页面请求数据 |
| | | * @return ResponseEntity对象返回给页面 |
| | | */ |
| | | public ResponseEntity<String> saveParkingSpace(IPageData pd) { |
| | | |
| | | return parkingSpaceServiceSMOImpl.saveParkingSpace(pd); |
| | | } |
| | | |
| | | |
| | | public IParkingSpaceServiceSMO getParkingSpaceServiceSMOImpl() { |
| | | return parkingSpaceServiceSMOImpl; |
| | | } |
| | | |
| | | public void setParkingSpaceServiceSMOImpl(IParkingSpaceServiceSMO parkingSpaceServiceSMOImpl) { |
| | | this.parkingSpaceServiceSMOImpl = parkingSpaceServiceSMOImpl; |
| | | } |
| | | } |
| New file |
| | |
| | | package com.java110.web.components.parkingSpace; |
| | | |
| | | import com.java110.core.context.IPageData; |
| | | import com.java110.web.smo.IParkingSpaceServiceSMO; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.http.ResponseEntity; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | /** |
| | | * 删除小区楼信息 |
| | | */ |
| | | @Component("deleteParkingSpace") |
| | | public class DeleteParkingSpaceComponent { |
| | | |
| | | @Autowired |
| | | private IParkingSpaceServiceSMO parkingSpaceServiceSMOImpl; |
| | | |
| | | /** |
| | | * 删除小区楼 |
| | | * |
| | | * @param pd 页面数据封装 |
| | | * @return 对象ResponseEntity |
| | | */ |
| | | public ResponseEntity<String> delete(IPageData pd) { |
| | | return parkingSpaceServiceSMOImpl.deleteParkingSpace(pd); |
| | | } |
| | | |
| | | |
| | | public IParkingSpaceServiceSMO getParkingSpaceServiceSMOImpl() { |
| | | return parkingSpaceServiceSMOImpl; |
| | | } |
| | | |
| | | public void setParkingSpaceServiceSMOImpl(IParkingSpaceServiceSMO parkingSpaceServiceSMOImpl) { |
| | | this.parkingSpaceServiceSMOImpl = parkingSpaceServiceSMOImpl; |
| | | } |
| | | } |
| New file |
| | |
| | | package com.java110.web.components.parkingSpace; |
| | | |
| | | import com.java110.core.context.IPageData; |
| | | import com.java110.web.smo.IParkingSpaceServiceSMO; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.http.ResponseEntity; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | /** |
| | | * @ClassName EditParkingSpaceComponent |
| | | * @Description TODO 编辑小区楼信息 |
| | | * @Author wuxw |
| | | * @Date 2019/4/28 15:10 |
| | | * @Version 1.0 |
| | | * add by wuxw 2019/4/28 |
| | | **/ |
| | | |
| | | @Component("editParkingSpace") |
| | | public class EditParkingSpaceComponent { |
| | | @Autowired |
| | | private IParkingSpaceServiceSMO parkingSpaceServiceSMOImpl; |
| | | |
| | | /** |
| | | * 修改小区楼信息 |
| | | * |
| | | * @param pd 页面数据封装 |
| | | * @return 返回ResponseEntity对象 |
| | | */ |
| | | public ResponseEntity<String> changeParkingSpace(IPageData pd) { |
| | | return parkingSpaceServiceSMOImpl.editParkingSpace(pd); |
| | | } |
| | | |
| | | |
| | | public IParkingSpaceServiceSMO getParkingSpaceServiceSMOImpl() { |
| | | return parkingSpaceServiceSMOImpl; |
| | | } |
| | | |
| | | public void setParkingSpaceServiceSMOImpl(IParkingSpaceServiceSMO parkingSpaceServiceSMOImpl) { |
| | | this.parkingSpaceServiceSMOImpl = parkingSpaceServiceSMOImpl; |
| | | } |
| | | } |
| New file |
| | |
| | | |
| | | package com.java110.web.components.parkingSpace; |
| | | |
| | | |
| | | import com.java110.core.context.IPageData; |
| | | import com.java110.web.smo.IParkingSpaceServiceSMO; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.http.ResponseEntity; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | /** |
| | | * 停车位 组件处理类 |
| | | */ |
| | | @Component("listParkingSpace") |
| | | public class ListParkingSpaceComponent { |
| | | |
| | | |
| | | @Autowired |
| | | private IParkingSpaceServiceSMO ownerServiceSMOImpl; |
| | | |
| | | /** |
| | | * 显示 停车位 |
| | | * |
| | | * @param pd 页面数据封装对象 |
| | | * @return 停车位信息 |
| | | */ |
| | | public ResponseEntity<String> list(IPageData pd) { |
| | | |
| | | return ownerServiceSMOImpl.listParkingSpace(pd); |
| | | } |
| | | |
| | | |
| | | public IParkingSpaceServiceSMO getParkingSpaceServiceSMOImpl() { |
| | | return ownerServiceSMOImpl; |
| | | } |
| | | |
| | | public void setParkingSpaceServiceSMOImpl(IParkingSpaceServiceSMO ownerServiceSMOImpl) { |
| | | this.ownerServiceSMOImpl = ownerServiceSMOImpl; |
| | | } |
| | | } |
| New file |
| | |
| | | package com.java110.web.components.parkingSpace; |
| | | |
| | | import com.java110.core.context.IPageData; |
| | | import com.java110.web.smo.IParkingSpaceServiceSMO; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.http.ResponseEntity; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | /** |
| | | * 选择业主 |
| | | */ |
| | | @Component("searchParkingSpace") |
| | | public class SearchParkingSpaceComponent { |
| | | @Autowired |
| | | private IParkingSpaceServiceSMO parkingSpaceServiceSMOImpl; |
| | | |
| | | /** |
| | | * 查询小区楼信息 |
| | | * |
| | | * @param pd 页面封装对象 包含页面请求数据 |
| | | * @return ResponseEntity对象返回给页面 |
| | | */ |
| | | public ResponseEntity<String> listParkingSpace(IPageData pd) { |
| | | |
| | | return parkingSpaceServiceSMOImpl.listParkingSpace(pd); |
| | | } |
| | | |
| | | |
| | | public IParkingSpaceServiceSMO getParkingSpaceServiceSMOImpl() { |
| | | return parkingSpaceServiceSMOImpl; |
| | | } |
| | | |
| | | public void setParkingSpaceServiceSMOImpl(IParkingSpaceServiceSMO parkingSpaceServiceSMOImpl) { |
| | | this.parkingSpaceServiceSMOImpl = parkingSpaceServiceSMOImpl; |
| | | } |
| | | } |
| New file |
| | |
| | | package com.java110.web.smo; |
| | | |
| | | import com.java110.core.context.IPageData; |
| | | import org.springframework.http.ResponseEntity; |
| | | |
| | | /** |
| | | * 小区楼接口类 |
| | | */ |
| | | public interface IParkingSpaceServiceSMO { |
| | | |
| | | /** |
| | | * 查询小区楼信息 |
| | | * |
| | | * @param pd 页面数据封装对象 |
| | | * @return 返回 ResponseEntity对象包含 http状态 信息 body信息 |
| | | */ |
| | | ResponseEntity<String> listParkingSpace(IPageData pd); |
| | | |
| | | |
| | | /** |
| | | * 添加小区楼信息 |
| | | * |
| | | * @param pd 页面数据封装对象 |
| | | * @return 返回 ResponseEntity对象包含 http状态 信息 body信息 |
| | | */ |
| | | ResponseEntity<String> saveParkingSpace(IPageData pd); |
| | | |
| | | /** |
| | | * 编辑小区楼信息 |
| | | * |
| | | * @param pd 页面数据封装对象 |
| | | * @return 返回 ResponseEntity对象包含 http状态 信息 body信息 |
| | | */ |
| | | ResponseEntity<String> editParkingSpace(IPageData pd); |
| | | |
| | | /** |
| | | * 删除小区楼 |
| | | * |
| | | * @param pd 页面数据封装对象 |
| | | * @return 返回 ResponseEntity对象包含 http状态 信息 body信息 |
| | | */ |
| | | ResponseEntity<String> deleteParkingSpace(IPageData pd); |
| | | } |
| New file |
| | |
| | | package com.java110.web.smo.impl; |
| | | |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.java110.common.constant.PrivilegeCodeConstant; |
| | | import com.java110.common.constant.ResponseConstant; |
| | | import com.java110.common.constant.ServiceConstant; |
| | | import com.java110.common.exception.SMOException; |
| | | import com.java110.common.util.Assert; |
| | | import com.java110.core.context.IPageData; |
| | | import com.java110.web.core.BaseComponentSMO; |
| | | import com.java110.web.smo.IParkingSpaceServiceSMO; |
| | | import org.slf4j.Logger; |
| | | import org.slf4j.LoggerFactory; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.http.HttpMethod; |
| | | import org.springframework.http.HttpStatus; |
| | | import org.springframework.http.ResponseEntity; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.web.client.RestTemplate; |
| | | |
| | | /** |
| | | * 小区楼实现类 |
| | | * <p> |
| | | * add by wuxw 2019-04-22 |
| | | */ |
| | | |
| | | @Service("parkingSpaceServiceSMOImpl") |
| | | public class PackingSpaceServiceSMOImpl extends BaseComponentSMO implements IParkingSpaceServiceSMO { |
| | | |
| | | private static Logger logger = LoggerFactory.getLogger(PackingSpaceServiceSMOImpl.class); |
| | | |
| | | |
| | | @Autowired |
| | | private RestTemplate restTemplate; |
| | | |
| | | /** |
| | | * 查询小区楼 |
| | | * |
| | | * @param pd 页面数据封装对象 |
| | | * @return 返回 ResponseEntity对象包含 http状态 信息 body信息 |
| | | */ |
| | | @Override |
| | | public ResponseEntity<String> listParkingSpace(IPageData pd) { |
| | | |
| | | validateListParkingSpace(pd); |
| | | |
| | | JSONObject paramIn = JSONObject.parseObject(pd.getReqData()); |
| | | int page = Integer.parseInt(paramIn.getString("page")); |
| | | int row = Integer.parseInt(paramIn.getString("row")); |
| | | String communityId = paramIn.getString("communityId"); |
| | | |
| | | |
| | | //校验用户是否有权限 |
| | | super.checkUserHasPrivilege(pd, restTemplate, PrivilegeCodeConstant.PRIVILEGE_PARKING_SPACE); |
| | | |
| | | ResponseEntity responseEntity = super.getStoreInfo(pd, restTemplate); |
| | | if (responseEntity.getStatusCode() != HttpStatus.OK) { |
| | | return responseEntity; |
| | | } |
| | | Assert.jsonObjectHaveKey(responseEntity.getBody().toString(), "storeId", "根据用户ID查询商户ID失败,未包含storeId节点"); |
| | | Assert.jsonObjectHaveKey(responseEntity.getBody().toString(), "storeTypeCd", "根据用户ID查询商户类型失败,未包含storeTypeCd节点"); |
| | | |
| | | String storeId = JSONObject.parseObject(responseEntity.getBody().toString()).getString("storeId"); |
| | | String storeTypeCd = JSONObject.parseObject(responseEntity.getBody().toString()).getString("storeTypeCd"); |
| | | //数据校验是否 商户是否入驻该小区 |
| | | super.checkStoreEnterCommunity(pd, storeId, storeTypeCd, communityId, restTemplate); |
| | | String apiUrl = ServiceConstant.SERVICE_API_URL + "/api/parkingSpace.queryParkingSpaces" + mapToUrlParam(paramIn); |
| | | |
| | | |
| | | responseEntity = this.callCenterService(restTemplate, pd, "", |
| | | apiUrl, |
| | | HttpMethod.GET); |
| | | |
| | | if (responseEntity.getStatusCode() != HttpStatus.OK) { |
| | | return responseEntity; |
| | | } |
| | | |
| | | JSONObject resultObjs = JSONObject.parseObject(responseEntity.getBody().toString()); |
| | | resultObjs.put("row", row); |
| | | resultObjs.put("page", page); |
| | | return responseEntity; |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public ResponseEntity<String> saveParkingSpace(IPageData pd) { |
| | | |
| | | validateSaveParkingSpace(pd); |
| | | |
| | | //校验员工是否有权限操作 |
| | | super.checkUserHasPrivilege(pd, restTemplate, PrivilegeCodeConstant.PRIVILEGE_PARKING_SPACE); |
| | | |
| | | JSONObject paramIn = JSONObject.parseObject(pd.getReqData()); |
| | | String communityId = paramIn.getString("communityId"); |
| | | ResponseEntity responseEntity = super.getStoreInfo(pd, restTemplate); |
| | | if (responseEntity.getStatusCode() != HttpStatus.OK) { |
| | | return responseEntity; |
| | | } |
| | | Assert.jsonObjectHaveKey(responseEntity.getBody().toString(), "storeId", "根据用户ID查询商户ID失败,未包含storeId节点"); |
| | | Assert.jsonObjectHaveKey(responseEntity.getBody().toString(), "storeTypeCd", "根据用户ID查询商户类型失败,未包含storeTypeCd节点"); |
| | | |
| | | String storeId = JSONObject.parseObject(responseEntity.getBody().toString()).getString("storeId"); |
| | | String storeTypeCd = JSONObject.parseObject(responseEntity.getBody().toString()).getString("storeTypeCd"); |
| | | //数据校验是否 商户是否入驻该小区 |
| | | super.checkStoreEnterCommunity(pd, storeId, storeTypeCd, communityId, restTemplate); |
| | | paramIn.put("userId", pd.getUserId()); |
| | | responseEntity = this.callCenterService(restTemplate, pd, paramIn.toJSONString(), |
| | | ServiceConstant.SERVICE_API_URL + "/api/parkingSpace.saveParkingSpace", |
| | | HttpMethod.POST); |
| | | |
| | | return responseEntity; |
| | | } |
| | | |
| | | /** |
| | | * 编辑小区楼信息 |
| | | * |
| | | * @param pd 页面数据封装对象 |
| | | * @return |
| | | */ |
| | | @Override |
| | | public ResponseEntity<String> editParkingSpace(IPageData pd) { |
| | | |
| | | validateEditParkingSpace(pd); |
| | | |
| | | //校验员工是否有权限操作 |
| | | super.checkUserHasPrivilege(pd, restTemplate, PrivilegeCodeConstant.PRIVILEGE_PARKING_SPACE); |
| | | |
| | | JSONObject paramIn = JSONObject.parseObject(pd.getReqData()); |
| | | String communityId = paramIn.getString("communityId"); |
| | | ResponseEntity responseEntity = super.getStoreInfo(pd, restTemplate); |
| | | if (responseEntity.getStatusCode() != HttpStatus.OK) { |
| | | return responseEntity; |
| | | } |
| | | Assert.jsonObjectHaveKey(responseEntity.getBody().toString(), "storeId", "根据用户ID查询商户ID失败,未包含storeId节点"); |
| | | Assert.jsonObjectHaveKey(responseEntity.getBody().toString(), "storeTypeCd", "根据用户ID查询商户类型失败,未包含storeTypeCd节点"); |
| | | |
| | | String storeId = JSONObject.parseObject(responseEntity.getBody().toString()).getString("storeId"); |
| | | String storeTypeCd = JSONObject.parseObject(responseEntity.getBody().toString()).getString("storeTypeCd"); |
| | | //数据校验是否 商户是否入驻该小区 |
| | | super.checkStoreEnterCommunity(pd, storeId, storeTypeCd, communityId, restTemplate); |
| | | paramIn.put("userId", pd.getUserId()); |
| | | responseEntity = this.callCenterService(restTemplate, pd, paramIn.toJSONString(), |
| | | ServiceConstant.SERVICE_API_URL + "/api/parkingSpace.editParkingSpace", |
| | | HttpMethod.POST); |
| | | |
| | | return responseEntity; |
| | | } |
| | | |
| | | @Override |
| | | public ResponseEntity<String> deleteParkingSpace(IPageData pd) { |
| | | validateDeleteParkingSpace(pd); |
| | | //校验员工是否有权限操作 |
| | | super.checkUserHasPrivilege(pd, restTemplate, PrivilegeCodeConstant.PRIVILEGE_PARKING_SPACE); |
| | | JSONObject paramIn = JSONObject.parseObject(pd.getReqData()); |
| | | |
| | | String communityId = paramIn.getString("communityId"); |
| | | ResponseEntity responseEntity = super.getStoreInfo(pd, restTemplate); |
| | | if (responseEntity.getStatusCode() != HttpStatus.OK) { |
| | | return responseEntity; |
| | | } |
| | | Assert.jsonObjectHaveKey(responseEntity.getBody().toString(), "storeId", "根据用户ID查询商户ID失败,未包含storeId节点"); |
| | | Assert.jsonObjectHaveKey(responseEntity.getBody().toString(), "storeTypeCd", "根据用户ID查询商户类型失败,未包含storeTypeCd节点"); |
| | | |
| | | String storeId = JSONObject.parseObject(responseEntity.getBody().toString()).getString("storeId"); |
| | | String storeTypeCd = JSONObject.parseObject(responseEntity.getBody().toString()).getString("storeTypeCd"); |
| | | //数据校验是否 商户是否入驻该小区 |
| | | super.checkStoreEnterCommunity(pd, storeId, storeTypeCd, communityId, restTemplate); |
| | | |
| | | responseEntity = this.callCenterService(restTemplate, pd, paramIn.toJSONString(), |
| | | ServiceConstant.SERVICE_API_URL + "/api/parkingSpace.deleteParkingSpace", |
| | | HttpMethod.POST); |
| | | |
| | | return responseEntity; |
| | | } |
| | | |
| | | /** |
| | | * 删除小区楼 校验 |
| | | * |
| | | * @param pd 页面数据封装 |
| | | */ |
| | | private void validateDeleteParkingSpace(IPageData pd) { |
| | | |
| | | Assert.jsonObjectHaveKey(pd.getReqData(), "communityId", "未包含小区ID"); |
| | | Assert.jsonObjectHaveKey(pd.getReqData(), "psId", "未包含停车位ID"); |
| | | //Assert.jsonObjectHaveKey(pd.getReqData(), "parkingSpaceTypeCd", "请求报文中未包含parkingSpaceTypeCd节点"); |
| | | |
| | | } |
| | | |
| | | /** |
| | | * 校验保存小区楼 信息 |
| | | * |
| | | * @param pd 页面数据封装 |
| | | */ |
| | | private void validateEditParkingSpace(IPageData pd) { |
| | | Assert.jsonObjectHaveKey(pd.getReqData(), "communityId", "未包含小区ID"); |
| | | Assert.jsonObjectHaveKey(pd.getReqData(), "psId", "未包含psId"); |
| | | Assert.jsonObjectHaveKey(pd.getReqData(), "num", "请求报文中未包含age"); |
| | | Assert.jsonObjectHaveKey(pd.getReqData(), "area", "请求报文中未包含name"); |
| | | Assert.jsonObjectHaveKey(pd.getReqData(), "typeCd", "请求报文中未包含link"); |
| | | } |
| | | |
| | | /** |
| | | * 校验保存小区楼 信息 |
| | | * |
| | | * @param pd 页面数据封装 |
| | | */ |
| | | private void validateSaveParkingSpace(IPageData pd) { |
| | | Assert.jsonObjectHaveKey(pd.getReqData(), "communityId", "未包含小区ID"); |
| | | Assert.jsonObjectHaveKey(pd.getReqData(), "num", "请求报文中未包含age"); |
| | | Assert.jsonObjectHaveKey(pd.getReqData(), "area", "请求报文中未包含name"); |
| | | Assert.jsonObjectHaveKey(pd.getReqData(), "typeCd", "请求报文中未包含link"); |
| | | } |
| | | |
| | | /** |
| | | * 校验查询小区楼信息 |
| | | * |
| | | * @param pd 页面封装对象 |
| | | */ |
| | | private void validateListParkingSpace(IPageData pd) { |
| | | Assert.jsonObjectHaveKey(pd.getReqData(), "page", "请求报文中未包含page节点"); |
| | | Assert.jsonObjectHaveKey(pd.getReqData(), "row", "请求报文中未包含row节点"); |
| | | Assert.jsonObjectHaveKey(pd.getReqData(), "communityId", "请求报文中未包含communityId节点"); |
| | | JSONObject paramIn = JSONObject.parseObject(pd.getReqData()); |
| | | Assert.isInteger(paramIn.getString("page"), "page不是数字"); |
| | | Assert.isInteger(paramIn.getString("row"), "rows不是数字"); |
| | | Assert.hasLength(paramIn.getString("communityId"), "小区ID不能为空"); |
| | | int row = Integer.parseInt(paramIn.getString("row")); |
| | | |
| | | |
| | | if (row > MAX_ROW) { |
| | | throw new SMOException(ResponseConstant.RESULT_CODE_ERROR, "row 数量不能大于50"); |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | public RestTemplate getRestTemplate() { |
| | | return restTemplate; |
| | | } |
| | | |
| | | public void setRestTemplate(RestTemplate restTemplate) { |
| | | this.restTemplate = restTemplate; |
| | | } |
| | | } |
| New file |
| | |
| | | <div id = "addParkingSpaceModel" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true" > |
| | | <div class="modal-dialog modal-lg"> |
| | | <div class="modal-content"> |
| | | <div class="modal-body"> |
| | | <h3 class="m-t-none m-b ">添加停车位</h3> |
| | | <div class="ibox-content"> |
| | | <div> |
| | | <div> |
| | | <div class="form-group row"> |
| | | <label class="col-sm-2 col-form-label">车位编码</label> |
| | | <div class="col-sm-10"><input v-model="addParkingSpaceInfo.num" type="text" placeholder="必填,请填写车位编码" class="form-control"></div> |
| | | </div> |
| | | <div class="form-group row"> |
| | | <label class="col-sm-2 col-form-label">车位类型</label> |
| | | <div class="col-sm-10"> |
| | | <select class="custom-select" v-model="addParkingSpaceInfo.typeCd"> |
| | | <option selected disabled value="">必填,请选择车位类型</option> |
| | | <option value="1001">地上停车位</option> |
| | | <option value="2001">地下停车位</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | <div class="form-group row"> |
| | | <label class="col-sm-2 col-form-label">面积</label> |
| | | <div class="col-sm-10"><input v-model="addParkingSpaceInfo.area" type="number" placeholder="必填,请填写面积,如30.09" class="form-control"></div> |
| | | </div> |
| | | <div class="form-group row"> |
| | | <label class="col-sm-2 col-form-label">备注</label> |
| | | <div class="col-sm-10"><input v-model="addParkingSpaceInfo.remark" type="tel" placeholder="可填,请填写备注" class="form-control"></div> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <button class="btn btn-primary float-right" type="button" v-on:click="saveParkingSpaceInfo()" ><i class="fa fa-check"></i> 保存</button> |
| | | <button type="button" class="btn btn-warning float-right" style="margin-right:20px;" data-dismiss="modal">取消</button> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| New file |
| | |
| | | (function(vc){ |
| | | |
| | | vc.extends({ |
| | | propTypes: { |
| | | notifyLoadDataComponentName:vc.propTypes.string |
| | | }, |
| | | data:{ |
| | | addParkingSpaceInfo:{ |
| | | num:'', |
| | | typeCd:'', |
| | | area:'', |
| | | remark:'', |
| | | psId:'' |
| | | } |
| | | }, |
| | | _initMethod:function(){ |
| | | |
| | | }, |
| | | _initEvent:function(){ |
| | | vc.on('addParkingSpace','openAddParkingSpaceModal',function(_parkingSpaceId){ |
| | | if(_parkingSpaceId != null || _parkingSpaceId != -1){ |
| | | vc.component.addParkingSpaceInfo.parkingSpaceId = _parkingSpaceId; |
| | | } |
| | | $('#addParkingSpaceModel').modal('show'); |
| | | }); |
| | | }, |
| | | methods:{ |
| | | addParkingSpaceValidate(){ |
| | | return vc.validate.validate({ |
| | | addParkingSpaceInfo:vc.component.addParkingSpaceInfo |
| | | },{ |
| | | 'addParkingSpaceInfo.num':[ |
| | | { |
| | | limit:"required", |
| | | param:"", |
| | | errInfo:"车位编号不能为空" |
| | | }, |
| | | { |
| | | limit:"maxLength", |
| | | param:"12", |
| | | errInfo:"车位编号长度不能超过12位" |
| | | }, |
| | | ], |
| | | 'addParkingSpaceInfo.typeCd':[ |
| | | { |
| | | limit:"required", |
| | | param:"", |
| | | errInfo:"车位类型不能为空" |
| | | } |
| | | ], |
| | | 'addParkingSpaceInfo.area':[ |
| | | { |
| | | limit:"required", |
| | | param:"", |
| | | errInfo:"车位面积不能为空" |
| | | }, |
| | | { |
| | | limit:"money", |
| | | param:"", |
| | | errInfo:"车位面积格式错误,如3.09" |
| | | } |
| | | ], |
| | | 'addParkingSpaceInfo.remark':[ |
| | | |
| | | { |
| | | limit:"maxLength", |
| | | param:"200", |
| | | errInfo:"备注长度不能超过200位" |
| | | } |
| | | ] |
| | | |
| | | }); |
| | | }, |
| | | saveParkingSpaceInfo:function(){ |
| | | if(!vc.component.addParkingSpaceValidate()){ |
| | | vc.message(vc.validate.errInfo); |
| | | |
| | | return ; |
| | | } |
| | | |
| | | vc.component.addParkingSpaceInfo.communityId = vc.getCurrentCommunity().communityId; |
| | | vc.http.post( |
| | | 'addParkingSpace', |
| | | 'saveParkingSpace', |
| | | JSON.stringify(vc.component.addParkingSpaceInfo), |
| | | { |
| | | emulateJSON:true |
| | | }, |
| | | function(json,res){ |
| | | //vm.menus = vm.refreshMenuActive(JSON.parse(json),0); |
| | | if(res.status == 200){ |
| | | //关闭model |
| | | $('#addParkingSpaceModel').modal('hide'); |
| | | vc.component.clearAddParkingSpaceInfo(); |
| | | vc.emit($props.notifyLoadDataComponentName,'listParkingSpaceData',{}); |
| | | |
| | | return ; |
| | | } |
| | | vc.message(json); |
| | | |
| | | }, |
| | | function(errInfo,error){ |
| | | console.log('请求失败处理'); |
| | | |
| | | vc.message(errInfo); |
| | | |
| | | }); |
| | | }, |
| | | clearAddParkingSpaceInfo:function(){ |
| | | vc.component.addParkingSpaceInfo = { |
| | | num:'', |
| | | typeCd:'', |
| | | area:'', |
| | | remark:'' |
| | | }; |
| | | } |
| | | } |
| | | }); |
| | | |
| | | })(window.vc); |
| New file |
| | |
| | | <div class="modal fade" id="deleteParkingSpaceModel" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true"> |
| | | <div class="modal-dialog" role="document"> |
| | | <div class="modal-content"> |
| | | <div class="modal-header"> |
| | | <h5 class="modal-title" id="exampleModalLabel">请确认您的操作!</h5> |
| | | <button type="button" class="close" data-dismiss="modal" aria-label="Close"> |
| | | <span aria-hidden="true">×</span> |
| | | </button> |
| | | </div> |
| | | <div class="modal-body"> |
| | | <tr align="center"><th>确认是否删除!</th></tr> |
| | | </div> |
| | | <div class="modal-footer"> |
| | | <button type="button" class="btn btn-secondary" data-dismiss="modal" >点错了</button> |
| | | <button type="button" class="btn btn-primary" v-on:click="deleteParkingSpace()">确认删除</button> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| New file |
| | |
| | | (function(vc){ |
| | | vc.extends({ |
| | | propTypes: { |
| | | notifyLoadDataComponentName:vc.propTypes.string |
| | | }, |
| | | data:{ |
| | | deleteParkingSpaceInfo:{} |
| | | }, |
| | | _initEvent:function(){ |
| | | vc.on('deleteParkingSpace','openParkingSpaceModel',function(_parkingSpaceInfo){ |
| | | vc.component.deleteParkingSpaceInfo = _parkingSpaceInfo; |
| | | $('#deleteParkingSpaceModel').modal('show'); |
| | | }); |
| | | }, |
| | | methods:{ |
| | | closeDeleteParkingSpaceModel:function(){ |
| | | $('#deleteParkingSpaceModel').modal('hide'); |
| | | }, |
| | | deleteParkingSpace:function(){ |
| | | |
| | | vc.component.deleteParkingSpaceInfo.communityId = vc.getCurrentCommunity().communityId; |
| | | vc.http.post( |
| | | 'deleteParkingSpace', |
| | | 'delete', |
| | | JSON.stringify(vc.component.deleteParkingSpaceInfo), |
| | | { |
| | | emulateJSON:true |
| | | }, |
| | | function(json,res){ |
| | | //vm.menus = vm.refreshMenuActive(JSON.parse(json),0); |
| | | if(res.status == 200){ |
| | | //关闭model |
| | | $('#deleteParkingSpaceModel').modal('hide'); |
| | | vc.emit($props.notifyLoadDataComponentName,'listParkingSpaceData',{}); |
| | | return ; |
| | | } |
| | | vc.component.deleteParkingSpacenfo.errorInfo = json; |
| | | }, |
| | | function(errInfo,error){ |
| | | console.log('请求失败处理'); |
| | | |
| | | vc.component.deleteParkingSpacenfo.errorInfo = errInfo; |
| | | }); |
| | | } |
| | | } |
| | | }); |
| | | })(window.vc); |
| New file |
| | |
| | | <div id = "editParkingSpaceModel" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true" > |
| | | <div class="modal-dialog modal-lg"> |
| | | <div class="modal-content"> |
| | | <div class="modal-body"> |
| | | <h3 class="m-t-none m-b ">修改小区楼</h3> |
| | | <div class="ibox-content"> |
| | | <div> |
| | | <div> |
| | | <div class="form-group row"> |
| | | <label class="col-sm-2 col-form-label">车位编码</label> |
| | | <div class="col-sm-10"><input v-model="editParkingSpaceInfo.num" type="text" placeholder="必填,请填写车位编码" class="form-control"></div> |
| | | </div> |
| | | <div class="form-group row"> |
| | | <label class="col-sm-2 col-form-label">车位类型</label> |
| | | <div class="col-sm-10"> |
| | | <select class="custom-select" v-model="editParkingSpaceInfo.typeCd"> |
| | | <option selected disabled value="">必填,请选择车位类型</option> |
| | | <option value="1001">地上停车位</option> |
| | | <option value="2001">地下停车位</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | <div class="form-group row"> |
| | | <label class="col-sm-2 col-form-label">面积</label> |
| | | <div class="col-sm-10"><input v-model="editParkingSpaceInfo.area" type="number" placeholder="必填,请填写面积,如30.09" class="form-control"></div> |
| | | </div> |
| | | <div class="form-group row"> |
| | | <label class="col-sm-2 col-form-label">备注</label> |
| | | <div class="col-sm-10"><input v-model="editParkingSpaceInfo.remark" type="tel" placeholder="可填,请填写备注" class="form-control"></div> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <button class="btn btn-primary float-right" type="button" v-on:click="editParkingSpaceMethod()" ><i class="fa fa-check"></i> 保存</button> |
| | | <button type="button" class="btn btn-warning float-right" style="margin-right:20px;" data-dismiss="modal">取消</button> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| New file |
| | |
| | | (function(vc){ |
| | | |
| | | vc.extends({ |
| | | propTypes: { |
| | | notifyLoadDataComponentName:vc.propTypes.string |
| | | }, |
| | | data:{ |
| | | editParkingSpaceInfo:{ |
| | | psId:'', |
| | | num:'', |
| | | typeCd:'', |
| | | area:'', |
| | | remark:'' |
| | | } |
| | | }, |
| | | _initMethod:function(){ |
| | | |
| | | }, |
| | | _initEvent:function(){ |
| | | vc.on('editParkingSpace','openEditParkingSpaceModal',function(_parkingSpace){ |
| | | vc.copyObject(_parkingSpace,vc.component.editParkingSpaceInfo); |
| | | $('#editParkingSpaceModel').modal('show'); |
| | | }); |
| | | }, |
| | | methods:{ |
| | | editParkingSpaceValidate(){ |
| | | return vc.validate.validate({ |
| | | editParkingSpaceInfo:vc.component.editParkingSpaceInfo |
| | | },{ |
| | | 'editParkingSpaceInfo.num':[ |
| | | { |
| | | limit:"required", |
| | | param:"", |
| | | errInfo:"车位编号不能为空" |
| | | }, |
| | | { |
| | | limit:"maxLength", |
| | | param:"12", |
| | | errInfo:"车位编号长度不能超过12位" |
| | | }, |
| | | ], |
| | | 'editParkingSpaceInfo.typeCd':[ |
| | | { |
| | | limit:"required", |
| | | param:"", |
| | | errInfo:"车位类型不能为空" |
| | | } |
| | | ], |
| | | 'editParkingSpaceInfo.area':[ |
| | | { |
| | | limit:"required", |
| | | param:"", |
| | | errInfo:"车位面积不能为空" |
| | | }, |
| | | { |
| | | limit:"money", |
| | | param:"", |
| | | errInfo:"车位面积格式错误,如3.09" |
| | | } |
| | | ], |
| | | 'editParkingSpaceInfo.remark':[ |
| | | |
| | | { |
| | | limit:"maxLength", |
| | | param:"200", |
| | | errInfo:"备注长度不能超过200位" |
| | | } |
| | | ] |
| | | |
| | | }); |
| | | }, |
| | | editParkingSpaceMethod:function(){ |
| | | |
| | | if(!vc.component.editParkingSpaceValidate()){ |
| | | vc.message(vc.validate.errInfo); |
| | | |
| | | return ; |
| | | } |
| | | |
| | | vc.component.editParkingSpaceInfo.communityId = vc.getCurrentCommunity().communityId; |
| | | vc.http.post( |
| | | 'editParkingSpace', |
| | | 'changeParkingSpace', |
| | | JSON.stringify(vc.component.editParkingSpaceInfo), |
| | | { |
| | | emulateJSON:true |
| | | }, |
| | | function(json,res){ |
| | | //vm.menus = vm.refreshMenuActive(JSON.parse(json),0); |
| | | if(res.status == 200){ |
| | | //关闭model |
| | | $('#editParkingSpaceModel').modal('hide'); |
| | | vc.component.clearEditParkingSpaceInfo(); |
| | | vc.emit($props.notifyLoadDataComponentName,'listParkingSpaceData',{}); |
| | | |
| | | return ; |
| | | } |
| | | vc.message(json); |
| | | |
| | | }, |
| | | function(errInfo,error){ |
| | | console.log('请求失败处理'); |
| | | vc.message(errInfo); |
| | | }); |
| | | }, |
| | | clearEditParkingSpaceInfo:function(){ |
| | | vc.component.editParkingSpaceInfo = { |
| | | psId:'', |
| | | num:'', |
| | | typeCd:'', |
| | | area:'', |
| | | remark:'' |
| | | }; |
| | | } |
| | | } |
| | | }); |
| | | |
| | | })(window.vc); |
| New file |
| | |
| | | <div id="component" class="wrapper wrapper-content animated fadeInRight ecommerce"> |
| | | <div class="row"> |
| | | <div class="col-lg-12"> |
| | | <div class="ibox"> |
| | | <div class="ibox-title"> |
| | | <h5>停车位信息</h5> |
| | | <div class="ibox-tools" style="top:10px;"> |
| | | <button type="button" class="btn btn-primary btn-sm" v-on:click="_openAddParkingSpaceModal(-1)"> |
| | | <i class="glyphicon glyphicon-plus"></i> |
| | | 添加车位 |
| | | </button> |
| | | </div> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | |
| | | <table class="footable table table-stripped toggle-arrow-tiny" data-page-size="15"> |
| | | <thead> |
| | | <tr> |
| | | <th>车位ID</th> |
| | | <th data-hide="phone">车位编码</th> |
| | | <th data-hide="phone">车位类型</th> |
| | | <th data-hide="phone">车位状态</th> |
| | | <th data-hide="phone">面积</th> |
| | | <th data-hide="phone">创建员工</th> |
| | | <th data-hide="phone">备注</th> |
| | | <th class="text-right">操作</th> |
| | | |
| | | </tr> |
| | | </thead> |
| | | <tbody> |
| | | <tr v-for="parkingSpace in listParkingSpaceInfo.parkingSpaces"> |
| | | <td> |
| | | {{parkingSpace.psId}} |
| | | </td> |
| | | |
| | | <td> |
| | | {{parkingSpace.num}} |
| | | </td> |
| | | <td> |
| | | {{parkingSpace.typeCd}} |
| | | </td> |
| | | <td> |
| | | {{parkingSpace.state}} |
| | | </td> |
| | | <td> |
| | | {{parkingSpace.area}} |
| | | </td> |
| | | <td> |
| | | {{parkingSpace.userName}} |
| | | </td> |
| | | <td> |
| | | {{parkingSpace.remark}} |
| | | </td> |
| | | <td class="text-right"> |
| | | <div class="btn-group"> |
| | | <button class="btn-white btn btn-xs" v-on:click="_openEditParkingSpaceModel(parkingSpace)">修改</button> |
| | | </div> |
| | | <div class="btn-group"> |
| | | <button class="btn-white btn btn-xs" v-on:click="_openDelParkingSpaceModel(parkingSpace)">删除</button> |
| | | </div> |
| | | </td> |
| | | </tr> |
| | | </tbody> |
| | | <tfoot> |
| | | <tr> |
| | | <td colspan="7"> |
| | | <ul class="pagination float-right"></ul> |
| | | </td> |
| | | </tr> |
| | | </tfoot> |
| | | </table> |
| | | <!-- 分页 --> |
| | | <vc:create name="pagination"></vc:create> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <vc:create |
| | | name="addParkingSpace" |
| | | notifyLoadDataComponentName="listParkingSpace" |
| | | ></vc:create> |
| | | <vc:create |
| | | name="editParkingSpace" |
| | | notifyLoadDataComponentName="listParkingSpace" |
| | | |
| | | ></vc:create> |
| | | <vc:create name="deleteParkingSpace" |
| | | notifyLoadDataComponentName="listParkingSpace" |
| | | ></vc:create> |
| | | |
| | | </div> |
| New file |
| | |
| | | (function(vc){ |
| | | var DEFAULT_PAGE = 1; |
| | | var DEFAULT_ROWS = 10; |
| | | vc.extends({ |
| | | data:{ |
| | | listParkingSpaceInfo:{ |
| | | parkingSpaces:[], |
| | | total:0, |
| | | records:1 |
| | | } |
| | | }, |
| | | _initMethod:function(){ |
| | | vc.component._listParkingSpaceData(DEFAULT_PAGE,DEFAULT_ROWS); |
| | | }, |
| | | _initEvent:function(){ |
| | | vc.on('listParkingSpace','listParkingSpaceData',function(){ |
| | | vc.component._listParkingSpaceData(DEFAULT_PAGE,DEFAULT_ROWS); |
| | | }); |
| | | vc.on('pagination','page_event',function(_currentPage){ |
| | | vc.component._listParkingSpaceData(_currentPage,DEFAULT_ROWS); |
| | | }); |
| | | }, |
| | | methods:{ |
| | | _listParkingSpaceData:function(_page,_row){ |
| | | var param = { |
| | | params:{ |
| | | page:_page, |
| | | row:_row, |
| | | communityId:vc.getCurrentCommunity().communityId |
| | | } |
| | | } |
| | | |
| | | //发送get请求 |
| | | vc.http.get('listParkingSpace', |
| | | 'list', |
| | | param, |
| | | function(json,res){ |
| | | var listParkingSpaceData =JSON.parse(json); |
| | | |
| | | vc.component.listParkingSpaceInfo.total = listParkingSpaceData.total; |
| | | vc.component.listParkingSpaceInfo.records = listParkingSpaceData.records; |
| | | vc.component.listParkingSpaceInfo.parkingSpaces = listParkingSpaceData.parkingSpaces; |
| | | |
| | | vc.emit('pagination','init',{ |
| | | total:vc.component.listParkingSpaceInfo.records, |
| | | currentPage:_page |
| | | }); |
| | | },function(errInfo,error){ |
| | | console.log('请求失败处理'); |
| | | } |
| | | ); |
| | | |
| | | }, |
| | | _openAddParkingSpaceModal:function(){ //打开添加框 |
| | | vc.emit('addParkingSpace','openAddParkingSpaceModal',-1); |
| | | }, |
| | | _openDelParkingSpaceModel:function(_parkingSpace){ // 打开删除对话框 |
| | | vc.emit('deleteParkingSpace','openParkingSpaceModel',_parkingSpace); |
| | | }, |
| | | _openEditParkingSpaceModel:function(_parkingSpace){ |
| | | vc.emit('editParkingSpace','openEditParkingSpaceModal',_parkingSpace); |
| | | } |
| | | } |
| | | }) |
| | | })(window.vc); |
| New file |
| | |
| | | <!DOCTYPE html> |
| | | <html lang="en" |
| | | xmlns="http://www.w3.org/1999/xhtml" |
| | | xmlns:th="http://www.thymeleaf.org" |
| | | xmlns:vc="http://www.thymeleaf.org"> |
| | | <head> |
| | | <meta charset="UTF-8"/> |
| | | <title>添加停车位|java110</title> |
| | | <vc:create name="commonTop"></vc:create> |
| | | </head> |
| | | <body> |
| | | <vc:create name="bodyTop"></vc:create> |
| | | <div id="wrapper"> |
| | | <vc:create name="menu"></vc:create> |
| | | |
| | | |
| | | <div id="page-wrapper" class="gray-bg dashbard-1"> |
| | | <div class="row border-bottom"> |
| | | <vc:create name="nav"></vc:create> |
| | | </div> |
| | | <!-- id="component" --> |
| | | <div class="wrapper wrapper-content animated fadeInRight"> |
| | | <vc:create name="listOwner"></vc:create> |
| | | </div> |
| | | |
| | | <vc:create name="copyright"></vc:create> |
| | | |
| | | </div> |
| | | </div> |
| | | |
| | | <vc:create name="commonBottom"></vc:create> |
| | | </body> |
| | | </html> |
| New file |
| | |
| | | package com.java110.vo.api; |
| | | |
| | | import com.java110.vo.Vo; |
| | | |
| | | /** |
| | | * @ClassName ApiFloorDataVo |
| | | * @Description TODO |
| | | * @Author wuxw |
| | | * @Date 2019/4/24 11:18 |
| | | * @Version 1.0 |
| | | * add by wuxw 2019/4/24 |
| | | **/ |
| | | public class ApiParkingSpaceDataVo extends Vo { |
| | | /** |
| | | * floorId |
| | | */ |
| | | private String area; |
| | | private String typeCd; |
| | | private String num; |
| | | private String psId; |
| | | private String state; |
| | | private String communityId; |
| | | private String userId; |
| | | |
| | | private String remark; |
| | | |
| | | private String userName; |
| | | |
| | | private String createTime; |
| | | |
| | | public String getArea() { |
| | | return area; |
| | | } |
| | | |
| | | public void setArea(String area) { |
| | | this.area = area; |
| | | } |
| | | |
| | | public String getTypeCd() { |
| | | return typeCd; |
| | | } |
| | | |
| | | public void setTypeCd(String typeCd) { |
| | | this.typeCd = typeCd; |
| | | } |
| | | |
| | | public String getNum() { |
| | | return num; |
| | | } |
| | | |
| | | public void setNum(String num) { |
| | | this.num = num; |
| | | } |
| | | |
| | | public String getPsId() { |
| | | return psId; |
| | | } |
| | | |
| | | public void setPsId(String psId) { |
| | | this.psId = psId; |
| | | } |
| | | |
| | | public String getState() { |
| | | return state; |
| | | } |
| | | |
| | | public void setState(String state) { |
| | | this.state = state; |
| | | } |
| | | |
| | | public String getCommunityId() { |
| | | return communityId; |
| | | } |
| | | |
| | | public void setCommunityId(String communityId) { |
| | | this.communityId = communityId; |
| | | } |
| | | |
| | | public String getUserId() { |
| | | return userId; |
| | | } |
| | | |
| | | public void setUserId(String userId) { |
| | | this.userId = userId; |
| | | } |
| | | |
| | | public String getRemark() { |
| | | return remark; |
| | | } |
| | | |
| | | public void setRemark(String remark) { |
| | | this.remark = remark; |
| | | } |
| | | |
| | | public String getUserName() { |
| | | return userName; |
| | | } |
| | | |
| | | public void setUserName(String userName) { |
| | | this.userName = userName; |
| | | } |
| | | |
| | | public String getCreateTime() { |
| | | return createTime; |
| | | } |
| | | |
| | | public void setCreateTime(String createTime) { |
| | | this.createTime = createTime; |
| | | } |
| | | } |
| New file |
| | |
| | | package com.java110.vo.api; |
| | | |
| | | import com.java110.vo.MorePageVo; |
| | | |
| | | import java.io.Serializable; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * API 查询小区楼返回对象 |
| | | */ |
| | | public class ApiParkingSpaceVo extends MorePageVo implements Serializable { |
| | | |
| | | |
| | | private List<ApiParkingSpaceDataVo> parkingSpaces; |
| | | |
| | | |
| | | public List<ApiParkingSpaceDataVo> getParkingSpaces() { |
| | | return parkingSpaces; |
| | | } |
| | | |
| | | public void setParkingSpaces(List<ApiParkingSpaceDataVo> parkingSpaces) { |
| | | this.parkingSpaces = parkingSpaces; |
| | | } |
| | | } |
| | |
| | | |
| | | //物业费用权限 |
| | | public static final String PRIVILEGE_PROPERTY_FEE = "500201904004"; |
| | | |
| | | |
| | | //物业停车位权限 |
| | | public static final String PRIVILEGE_PARKING_SPACE = "500201906017"; |
| | | } |
| | |
| | | |
| | | //缴费 |
| | | public static final String SERVICE_CODE_PAY_FEE = "fee.payFee"; |
| | | |
| | | |
| | | //查询停车位 |
| | | public static final String SERVICE_CODE_QUERY_PARKING_SPACE = "parkingSpace.queryParkingSpaces"; |
| | | |
| | | |
| | | // 保存停车位信息 |
| | | public static final String SERVICE_CODE_SAVE_PARKING_SPACE = "parkingSpace.saveParkingSpace"; |
| | | |
| | | // 编辑停车位信息 |
| | | public static final String SERVICE_CODE_EDIT_PARKING_SPACE = "parkingSpace.editParkingSpace"; |
| | | |
| | | //删除停车位信息 |
| | | public static final String SERVICE_CODE_DELETE_PARKING_SPACE = "parkingSpace.deleteParkingSpace"; |
| | | |
| | | } |