wuxw před 6 roky
rodič
revize
d66b6f0aa5

+ 110 - 0
Api/src/main/java/com/java110/api/listener/fee/QueryFeeByCarInoutListener.java

@@ -0,0 +1,110 @@
+package com.java110.api.listener.fee;
+
+
+import com.alibaba.fastjson.JSONObject;
+import com.java110.api.listener.AbstractServiceApiDataFlowListener;
+import com.java110.core.annotation.Java110Listener;
+import com.java110.core.context.DataFlowContext;
+import com.java110.core.smo.fee.IFeeInnerServiceSMO;
+import com.java110.core.smo.owner.IOwnerCarInnerServiceSMO;
+import com.java110.core.smo.parkingSpace.IParkingSpaceInnerServiceSMO;
+import com.java110.dto.FeeDto;
+import com.java110.dto.owner.OwnerCarDto;
+import com.java110.dto.parking.ParkingSpaceDto;
+import com.java110.event.service.api.ServiceDataFlowEvent;
+import com.java110.utils.constant.FeeTypeConstant;
+import com.java110.utils.constant.ServiceCodeConstant;
+import com.java110.utils.util.Assert;
+import com.java110.utils.util.BeanConvertUtil;
+import com.java110.vo.api.ApiMainFeeVo;
+import com.java110.vo.api.ApiParkingSpaceFeeVo;
+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 FloorDto
+ * @Description 小区楼数据层侦听类
+ * @Author wuxw
+ * @Date 2019/4/24 8:52
+ * @Version 1.0
+ * add by wuxw 2019/4/24
+ **/
+@Java110Listener("queryFeeByCarInout")
+public class QueryFeeByCarInoutListener extends AbstractServiceApiDataFlowListener {
+
+    @Autowired
+    private IFeeInnerServiceSMO feeInnerServiceSMOImpl;
+
+    @Override
+    public String getServiceCode() {
+        return ServiceCodeConstant.SERVICE_CODE_QUERY_FEE_BY_CAR_INOUT;
+    }
+
+    @Override
+    public HttpMethod getHttpMethod() {
+        return HttpMethod.GET;
+    }
+
+    /**
+     * 业务层数据处理
+     *
+     * @param event 时间对象
+     */
+    @Override
+    public void soService(ServiceDataFlowEvent event) {
+        DataFlowContext dataFlowContext = event.getDataFlowContext();
+        //获取请求数据
+        JSONObject reqJson = dataFlowContext.getReqJson();
+        validateFeeData(reqJson);
+        FeeDto feeDtoParamIn = BeanConvertUtil.covertBean(reqJson, FeeDto.class);
+        feeDtoParamIn.setPayerObjId(reqJson.getString("inoutId"));
+        feeDtoParamIn.setState(reqJson.getString("state"));
+        feeDtoParamIn.setState(FeeTypeConstant.FEE_TYPE_TEMP_DOWN_PARKING_SPACE);
+        feeDtoParamIn.setFeeFlag("2006012");
+
+        List<FeeDto> feeDtos = feeInnerServiceSMOImpl.queryFees(feeDtoParamIn);
+        ResponseEntity<String> responseEntity = null;
+        if (feeDtos == null || feeDtos.size() == 0) {
+            responseEntity = new ResponseEntity<String>("{}", HttpStatus.OK);
+            dataFlowContext.setResponseEntity(responseEntity);
+            return ;
+        }
+
+        FeeDto feeDto = feeDtos.get(0);
+
+        ApiMainFeeVo apiFeeVo = BeanConvertUtil.covertBean(feeDto, ApiMainFeeVo.class);
+
+        responseEntity = new ResponseEntity<String>(JSONObject.toJSONString(apiFeeVo), HttpStatus.OK);
+
+
+        dataFlowContext.setResponseEntity(responseEntity);
+    }
+
+    /**
+     * 校验查询条件是否满足条件
+     *
+     * @param reqJson 包含查询条件
+     */
+    private void validateFeeData(JSONObject reqJson) {
+        Assert.jsonObjectHaveKey(reqJson, "communityId", "请求中未包含communityId信息");
+        Assert.jsonObjectHaveKey(reqJson, "inoutId", "请求中未包含inoutId信息");
+        Assert.jsonObjectHaveKey(reqJson, "state", "请求中未包含state信息");
+    }
+
+    @Override
+    public int getOrder() {
+        return super.DEFAULT_ORDER;
+    }
+
+    public IFeeInnerServiceSMO getFeeInnerServiceSMOImpl() {
+        return feeInnerServiceSMOImpl;
+    }
+
+    public void setFeeInnerServiceSMOImpl(IFeeInnerServiceSMO feeInnerServiceSMOImpl) {
+        this.feeInnerServiceSMOImpl = feeInnerServiceSMOImpl;
+    }
+}

+ 3 - 0
java110-utils/src/main/java/com/java110/utils/constant/ServiceCodeConstant.java

@@ -485,6 +485,9 @@ public class ServiceCodeConstant {
     //查询费用配置 根据停车位
     public static final String SERVICE_CODE_QUERY_FEE_BY_PARKING_SPACE = "fee.queryFeeByParkingSpace";
 
+    //查询费用配置 根据车辆进出场
+    public static final String SERVICE_CODE_QUERY_FEE_BY_CAR_INOUT = "fee.queryFeeByCarInout";
+
     //保存费用配置
     public static final String SERVICE_CODE_SAVE_FEE_CONFIG = "fee.saveFeeConfig";