Explorar el Código

报文DEMO功能实现

shiyj hace 6 años
padre
commit
d0dd0fc151

+ 138 - 0
Api/src/main/java/com/java110/api/listener/demo/SaveDemoConfigListener.java

@@ -0,0 +1,138 @@
+package com.java110.api.listener.demo;
+
+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.demo.IDemoInnerServiceSMO;
+import com.java110.core.smo.fee.IFeeConfigInnerServiceSMO;
+import com.java110.dto.FeeConfigDto;
+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;
+
+import java.util.List;
+
+/**
+ * @ClassName SaveFeeConfigListener
+ * @Description TODO
+ * @Author wuxw
+ * @Date 2019/6/1 20:51
+ * @Version 1.0
+ * add by wuxw 2019/6/1
+ **/
+@Java110Listener("saveDemoConfigListener")
+public class SaveDemoConfigListener extends AbstractServiceApiDataFlowListener {
+    private static Logger logger = LoggerFactory.getLogger(SaveDemoConfigListener.class);
+
+
+    @Autowired
+    private IDemoInnerServiceSMO demoInnerServiceSMOImpl;
+
+    @Override
+    public String getServiceCode() {
+        return ServiceCodeConstant.SERVICE_CODE_SAVE_DEMO_CONFIG;
+    }
+
+    @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(addFeeConfig(paramObj, dataFlowContext));
+
+        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     接口调用放传入入参
+     * @param dataFlowContext 数据上下文
+     * @return 订单服务能够接受的报文
+     */
+    private JSONObject addFeeConfig(JSONObject paramInJson, DataFlowContext dataFlowContext) {
+
+
+        JSONObject business = JSONObject.parseObject("{\"datas\":{}}");
+        business.put(CommonConstant.HTTP_BUSINESS_TYPE_CD, BusinessTypeConstant.BUSINESS_TYPE_SAVE_FEE_CONFIG);
+        business.put(CommonConstant.HTTP_SEQ, DEFAULT_SEQ);
+        business.put(CommonConstant.HTTP_INVOKE_MODEL, CommonConstant.HTTP_INVOKE_MODEL_S);
+        JSONObject businessFeeConfig = new JSONObject();
+        businessFeeConfig.putAll(paramInJson);
+        businessFeeConfig.put("configId", "-1");
+        business.getJSONObject(CommonConstant.HTTP_BUSINESS_DATAS).put("businessFeeConfig", businessFeeConfig);
+
+        return business;
+    }
+
+    /**
+     * 数据校验
+     *
+     * @param paramIn "communityId": "7020181217000001",
+     *                "memberId": "3456789",
+     *                "memberTypeCd": "390001200001"
+     */
+    private void validate(String paramIn) {
+        Assert.jsonObjectHaveKey(paramIn, "demoName", "请求报文中未包含demoName节点");
+        Assert.jsonObjectHaveKey(paramIn, "demoValue", "请求报文中未包含demoValue节点");
+
+        //校验小区楼ID和小区是否有对应关系
+        //List<FeeConfigDto> configDtos = feeConfigInnerServiceSMOImpl.queryFeeConfigs(feeConfigDto);
+
+       /* if (configDtos != null && configDtos.size() > 0) {
+            throw new IllegalArgumentException("已经存在费用配置信息");
+        }*/
+
+    }
+
+    @Override
+    public int getOrder() {
+        return DEFAULT_ORDER;
+    }
+
+    public IDemoInnerServiceSMO getDemoInnerServiceSMOImpl() {
+        return demoInnerServiceSMOImpl;
+    }
+
+    public void setDemoInnerServiceSMOImpl(IDemoInnerServiceSMO demoInnerServiceSMOImpl) {
+        this.demoInnerServiceSMOImpl = demoInnerServiceSMOImpl;
+    }
+}

+ 36 - 0
WebService/src/main/java/com/java110/web/components/demo/AddDemoComponent.java

@@ -0,0 +1,36 @@
+package com.java110.web.components.demo;
+
+import com.java110.core.context.IPageData;
+import com.java110.web.smo.IDemoServiceSMO;
+import com.java110.web.smo.IFloorServiceSMO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.ResponseEntity;
+import org.springframework.stereotype.Component;
+
+/**
+ * 添加小区楼组件
+ */
+@Component("addDemo")
+public class AddDemoComponent {
+
+    @Autowired
+    private IDemoServiceSMO demoServiceSMOImpl;
+
+    /**
+     * 查询小区楼信息
+     * @param pd 页面封装对象 包含页面请求数据
+     * @return ResponseEntity对象返回给页面
+     */
+    public ResponseEntity<String> saveDemo(IPageData pd) {
+
+        return demoServiceSMOImpl.saveDemo(pd);
+    }
+
+    public IDemoServiceSMO getDemoServiceSMOImpl() {
+        return demoServiceSMOImpl;
+    }
+
+    public void setDemoServiceSMOImpl(IDemoServiceSMO demoServiceSMOImpl) {
+        this.demoServiceSMOImpl = demoServiceSMOImpl;
+    }
+}

+ 1 - 1
WebService/src/main/java/com/java110/web/smo/impl/DemoServiceSMOImpl.java

@@ -98,7 +98,7 @@ public class DemoServiceSMOImpl extends BaseComponentSMO implements IDemoService
         paramIn.put("userId", pd.getUserId());
         paramIn.put("storeId", storeId);
         responseEntity = this.callCenterService(restTemplate, pd, paramIn.toJSONString(),
-                ServiceConstant.SERVICE_API_URL + "/api/parkingSpace.sellParkingSpace",
+                ServiceConstant.SERVICE_API_URL + "/api/demo.saveDemoConfig",
                 HttpMethod.POST);
 
         return responseEntity;

+ 1 - 1
WebService/src/main/resources/components/add-demo/addDemo.js

@@ -75,7 +75,7 @@
                             //关闭model
                             $('#addDemoModel').modal('hide');
                             vc.component.clearAddFloorInfo();
-                            vc.emit('listFloor','listFloorData',{});
+                            vc.emit('listDemo','listDemoData',{});
 
                             return ;
                         }

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

@@ -478,4 +478,7 @@ public class ServiceCodeConstant {
     //查询用例配置
     public static final String SERVICE_CODE_QUERY_DEMO_CONFIG = "demo.queryDemoConfig";
 
+    //保存用例配置
+    public static final String SERVICE_CODE_SAVE_DEMO_CONFIG = "demo.saveDemoConfig";
+
 }