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

优化查询楼栋 改为 cmd 模式 方便理解 二开处理

java110 лет назад: 4
Родитель
Сommit
cc6cef820c

+ 0 - 117
service-api/src/main/java/com/java110/api/listener/floor/SaveFloorListener.java

@@ -1,117 +0,0 @@
-package com.java110.api.listener.floor;
-
-import com.alibaba.fastjson.JSONObject;
-import com.java110.api.bmo.floor.IFloorBMO;
-import com.java110.api.listener.AbstractServiceApiPlusListener;
-import com.java110.utils.constant.*;
-import com.java110.utils.exception.ListenerExecuteException;
-import com.java110.utils.util.Assert;
-import com.java110.core.annotation.Java110Listener;
-import com.java110.core.context.DataFlowContext;
-import com.java110.core.factory.GenerateCodeFactory;
-import com.java110.intf.community.IFloorInnerServiceSMO;
-import com.java110.dto.FloorDto;
-import com.java110.core.event.service.api.ServiceDataFlowEvent;
-import org.slf4j.Logger;
-import com.java110.core.log.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpMethod;
-
-/**
- * @ClassName SaveFloorListener
- * @Description 保存小区楼信息
- * @Author wuxw
- * @Date 2019/4/26 14:51
- * @Version 1.0
- * add by wuxw 2019/4/26
- **/
-
-@Java110Listener("saveFloorListener")
-public class SaveFloorListener extends AbstractServiceApiPlusListener {
-
-    @Autowired
-    private IFloorBMO floorBMOImpl;
-
-    @Autowired
-    private IFloorInnerServiceSMO floorInnerServiceSMOImpl;
-
-
-    private static Logger logger = LoggerFactory.getLogger(SaveFloorListener.class);
-
-    @Override
-    public String getServiceCode() {
-        return ServiceCodeConstant.SERVICE_CODE_SAVE_FLOOR;
-    }
-
-    @Override
-    public HttpMethod getHttpMethod() {
-        return HttpMethod.POST;
-    }
-
-    @Override
-    protected void validate(ServiceDataFlowEvent event, JSONObject reqJson) {
-        Assert.jsonObjectHaveKey(reqJson, "name", "请求报文中未包含name");
-        Assert.jsonObjectHaveKey(reqJson, "userId", "请求报文中未包含userId");
-        Assert.jsonObjectHaveKey(reqJson, "floorNum", "请求报文中未包含floorNum");
-        Assert.jsonObjectHaveKey(reqJson, "communityId", "请求报文中未包含communityId");
-
-
-        FloorDto floorDto = new FloorDto();
-        floorDto.setFloorNum(reqJson.getString("floorNum"));
-        floorDto.setCommunityId(reqJson.getString("communityId"));
-
-
-        int floorCount = floorInnerServiceSMOImpl.queryFloorsCount(floorDto);
-
-        if (floorCount > 0) {
-            throw new ListenerExecuteException(ResponseConstant.RESULT_CODE_ERROR, "楼栋编号已经存在");
-        }
-    }
-
-    @Override
-    protected void doSoService(ServiceDataFlowEvent event, DataFlowContext context, JSONObject reqJson) {
-        //生成floorId
-        generateFloorId(reqJson);
-
-        //添加小区楼
-        floorBMOImpl.addFloor(reqJson, context);
-
-        //小区楼添加到小区中
-        floorBMOImpl.addCommunityMember(reqJson, context);
-    }
-
-    /**
-     * 生成小区楼ID
-     *
-     * @param paramObj 请求入参数据
-     */
-    private void generateFloorId(JSONObject paramObj) {
-        String floorId = GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_floorId);
-        paramObj.put("floorId", floorId);
-    }
-
-    /**
-     * 数据校验
-     *
-     * @param paramIn "communityId": "7020181217000001",
-     *                "memberId": "3456789",
-     *                "memberTypeCd": "390001200001"
-     */
-    private void validate(String paramIn) {
-
-    }
-
-
-    @Override
-    public int getOrder() {
-        return 0;
-    }
-
-    public IFloorInnerServiceSMO getFloorInnerServiceSMOImpl() {
-        return floorInnerServiceSMOImpl;
-    }
-
-    public void setFloorInnerServiceSMOImpl(IFloorInnerServiceSMO floorInnerServiceSMOImpl) {
-        this.floorInnerServiceSMOImpl = floorInnerServiceSMOImpl;
-    }
-}

+ 71 - 0
service-community/src/main/java/com/java110/community/cmd/floor/SaveFloorCmd.java

@@ -0,0 +1,71 @@
+package com.java110.community.cmd.floor;
+
+import com.alibaba.fastjson.JSONObject;
+import com.java110.core.annotation.Java110Cmd;
+import com.java110.core.annotation.Java110Transactional;
+import com.java110.core.context.ICmdDataFlowContext;
+import com.java110.core.event.cmd.AbstractServiceCmdListener;
+import com.java110.core.event.cmd.CmdEvent;
+import com.java110.core.factory.GenerateCodeFactory;
+import com.java110.dto.FloorDto;
+import com.java110.intf.community.IFloorInnerServiceSMO;
+import com.java110.intf.community.IFloorV1InnerServiceSMO;
+import com.java110.po.floor.FloorPo;
+import com.java110.utils.constant.ResponseConstant;
+import com.java110.utils.exception.CmdException;
+import com.java110.utils.exception.ListenerExecuteException;
+import com.java110.utils.util.Assert;
+import com.java110.utils.util.BeanConvertUtil;
+import com.java110.vo.ResultVo;
+import org.springframework.beans.factory.annotation.Autowired;
+
+@Java110Cmd(serviceCode = "floor.saveFloor")
+public class SaveFloorCmd extends AbstractServiceCmdListener {
+    @Autowired
+    private IFloorInnerServiceSMO floorInnerServiceSMOImpl;
+
+    @Autowired
+    private IFloorV1InnerServiceSMO floorV1InnerServiceSMOImpl;
+
+    @Override
+    public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
+        Assert.jsonObjectHaveKey(reqJson, "name", "请求报文中未包含name");
+        Assert.jsonObjectHaveKey(reqJson, "userId", "请求报文中未包含userId");
+        Assert.jsonObjectHaveKey(reqJson, "floorNum", "请求报文中未包含floorNum");
+        Assert.jsonObjectHaveKey(reqJson, "communityId", "请求报文中未包含communityId");
+
+
+        FloorDto floorDto = new FloorDto();
+        floorDto.setFloorNum(reqJson.getString("floorNum"));
+        floorDto.setCommunityId(reqJson.getString("communityId"));
+
+
+        int floorCount = floorInnerServiceSMOImpl.queryFloorsCount(floorDto);
+
+        if (floorCount > 0) {
+            throw new ListenerExecuteException(ResponseConstant.RESULT_CODE_ERROR, "楼栋编号已经存在");
+        }
+    }
+
+    @Override
+    @Java110Transactional
+    public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
+        String floorId = GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_floorId);
+        JSONObject businessFloor = new JSONObject();
+        businessFloor.put("floorId", floorId);
+        businessFloor.put("name", reqJson.getString("name"));
+        businessFloor.put("remark", reqJson.getString("remark"));
+        businessFloor.put("userId", reqJson.getString("userId"));
+        businessFloor.put("floorNum", reqJson.getString("floorNum"));
+        businessFloor.put("communityId", reqJson.getString("communityId"));
+        businessFloor.put("floorArea", reqJson.getString("floorArea"));
+        FloorPo floorPo = BeanConvertUtil.covertBean(businessFloor, FloorPo.class);
+        int flag = floorV1InnerServiceSMOImpl.saveFloor(floorPo);
+
+        if (flag < 1) {
+            throw new CmdException("保存楼栋失败");
+        }
+
+        cmdDataFlowContext.setResponseEntity(ResultVo.success());
+    }
+}