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

开发完成费用配置查询功能

wuxw лет назад: 7
Родитель
Сommit
b69a9910dc

+ 92 - 0
Api/src/main/java/com/java110/api/listener/fee/QueryFeeConfigListener.java

@@ -0,0 +1,92 @@
+package com.java110.api.listener.fee;
+
+
+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.fee.IFeeConfigInnerServiceSMO;
+import com.java110.core.smo.floor.IFloorInnerServiceSMO;
+import com.java110.dto.FeeConfigDto;
+import com.java110.dto.FloorDto;
+import com.java110.event.service.api.ServiceDataFlowEvent;
+import com.java110.vo.api.ApiFloorDataVo;
+import com.java110.vo.api.ApiFloorVo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Bean;
+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("queryFeeConfig")
+public class QueryFeeConfigListener extends AbstractServiceApiDataFlowListener {
+
+    @Autowired
+    private IFeeConfigInnerServiceSMO feeConfigInnerServiceSMOImpl;
+
+    @Override
+    public String getServiceCode() {
+        return ServiceCodeConstant.SERVICE_CODE_QUERY_FEE_CONFIG;
+    }
+
+    @Override
+    public HttpMethod getHttpMethod() {
+        return HttpMethod.GET;
+    }
+
+    /**
+     * 业务层数据处理
+     *
+     * @param event 时间对象
+     */
+    @Override
+    public void soService(ServiceDataFlowEvent event) {
+        DataFlowContext dataFlowContext = event.getDataFlowContext();
+        //获取请求数据
+        JSONObject reqJson = dataFlowContext.getReqJson();
+        validateFeeConfigData(reqJson);
+
+        List<FeeConfigDto> feeConfigDtos = feeConfigInnerServiceSMOImpl.queryFeeConfigs(BeanConvertUtil.covertBean(reqJson, FeeConfigDto.class));
+        ResponseEntity<String> responseEntity = new ResponseEntity<String>(JSONObject.toJSONString(feeConfigDtos), HttpStatus.BAD_REQUEST);
+
+        dataFlowContext.setResponseEntity(responseEntity);
+    }
+
+    /**
+     * 校验查询条件是否满足条件
+     *
+     * @param reqJson 包含查询条件
+     */
+    private void validateFeeConfigData(JSONObject reqJson) {
+        Assert.jsonObjectHaveKey(reqJson, "communityId", "请求中未包含communityId信息");
+        Assert.jsonObjectHaveKey(reqJson, "feeTypeCd", "请求中未包含feeTypeCd信息");
+
+
+    }
+
+    @Override
+    public int getOrder() {
+        return super.DEFAULT_ORDER;
+    }
+
+    public IFeeConfigInnerServiceSMO getFeeConfigInnerServiceSMOImpl() {
+        return feeConfigInnerServiceSMOImpl;
+    }
+
+    public void setFeeConfigInnerServiceSMOImpl(IFeeConfigInnerServiceSMO feeConfigInnerServiceSMOImpl) {
+        this.feeConfigInnerServiceSMOImpl = feeConfigInnerServiceSMOImpl;
+    }
+}

+ 18 - 6
WebService/src/main/java/com/java110/web/smo/impl/FeeServiceSMOImpl.java

@@ -1,6 +1,8 @@
 package com.java110.web.smo.impl;
 
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.java110.common.constant.FeeTypeConstant;
 import com.java110.common.constant.PrivilegeCodeConstant;
 import com.java110.common.constant.ResponseConstant;
 import com.java110.common.constant.ServiceConstant;
@@ -51,15 +53,27 @@ public class FeeServiceSMOImpl extends BaseComponentSMO implements IFeeServiceSM
         String storeTypeCd = JSONObject.parseObject(responseEntity.getBody().toString()).getString("storeTypeCd");
         //数据校验是否 商户是否入驻该小区
         super.checkStoreEnterCommunity(pd, storeId, storeTypeCd, communityId, restTemplate);
-        paramIn.put("userId", pd.getUserId());
+        paramIn.put("feeTypeCd", FeeTypeConstant.FEE_TYPE_PROPERTY);
         responseEntity = this.callCenterService(restTemplate, pd, paramIn.toJSONString(),
-                ServiceConstant.SERVICE_API_URL + "/api/room.saveRoom",
+                ServiceConstant.SERVICE_API_URL + "/api/fee.queryFeeConfig",
                 HttpMethod.POST);
 
-        return responseEntity;
-    }
+        JSONArray feeConfigs = JSONArray.parseArray(responseEntity.getBody().toString());
+        if(feeConfigs != null && feeConfigs.size() > 1){
+            responseEntity = new ResponseEntity<String>("数据异常,请检查配置数据", HttpStatus.BAD_REQUEST);
+            return responseEntity;
+        }
 
+        if(feeConfigs != null) {
+            responseEntity = new ResponseEntity<String>(JSONObject.toJSONString(feeConfigs.get(0)), HttpStatus.OK);
+        }else{
+            responseEntity = new ResponseEntity<String>("{}", HttpStatus.OK);
 
+        }
+
+
+        return responseEntity;
+    }
 
 
     /**
@@ -111,8 +125,6 @@ public class FeeServiceSMOImpl extends BaseComponentSMO implements IFeeServiceSM
     }
 
 
-
-
     public RestTemplate getRestTemplate() {
         return restTemplate;
     }

+ 32 - 0
java110-common/src/main/java/com/java110/common/constant/FeeTypeConstant.java

@@ -0,0 +1,32 @@
+package com.java110.common.constant;
+
+/**
+ * @author wux
+ * @create 2019-02-05 下午11:28
+ * @desc 业务类型
+ *
+ * 用户为1001 开头
+ * 商户为2001 开头
+ * 商品为3001 开头
+ * 评论为4001 开头
+ * 小区为5001 开头
+ * 物业为6001 开头
+ * 代理商为7001 开头
+ * 第八位 3 代表保存 4代表修改 5 代表删除
+ * 第八位之后 为相应业务序列
+ **/
+public class FeeTypeConstant {
+
+    /**
+     * 物业费
+     */
+    public final static String FEE_TYPE_PROPERTY = "888800010001";
+
+
+
+
+
+
+
+
+}

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

@@ -421,4 +421,7 @@ public class ServiceCodeConstant {
 
     //删除业主信息
     public static final String SERVICE_CODE_DELETE_OWNER = "owner.deleteOwner";
+
+    //查询费用配置
+    public static final String SERVICE_CODE_QUERY_FEE_CONFIG = "fee.queryFeeConfig";
 }