Przeglądaj źródła

优化工作流

java110 4 lat temu
rodzic
commit
5420fa0d52

+ 1 - 1
service-api/src/main/java/com/java110/api/bmo/owner/impl/OwnerBMOImpl.java

@@ -343,7 +343,7 @@ public class OwnerBMOImpl extends ApiBaseBMO implements IOwnerBMO {
     public void addOwnerPhoto(JSONObject paramInJson, DataFlowContext dataFlowContext) {
 
         JSONObject businessUnit = new JSONObject();
-        businessUnit.put("fileRelId", "-1");
+        businessUnit.put("fileRelId", GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_fileRelId));
         businessUnit.put("relTypeCd", "10000");
         businessUnit.put("saveWay", "table");
         businessUnit.put("objId", paramInJson.getString("memberId"));

+ 0 - 49
service-api/src/main/java/com/java110/api/listener/workflow/DeleteWorkflowListener.java

@@ -1,49 +0,0 @@
-package com.java110.api.listener.workflow;
-
-import com.alibaba.fastjson.JSONObject;
-import com.java110.api.bmo.workflow.IWorkflowBMO;
-import com.java110.api.listener.AbstractServiceApiPlusListener;
-import com.java110.core.annotation.Java110Listener;
-import com.java110.core.context.DataFlowContext;
-import com.java110.core.event.service.api.ServiceDataFlowEvent;
-import com.java110.utils.constant.ServiceCodeWorkflowConstant;
-import com.java110.utils.util.Assert;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpMethod;
-
-
-/**
- * 保存小区侦听
- * add by wuxw 2019-06-30
- */
-@Java110Listener("deleteWorkflowListener")
-public class DeleteWorkflowListener extends AbstractServiceApiPlusListener {
-
-    @Autowired
-    private IWorkflowBMO workflowBMOImpl;
-
-    @Override
-    protected void validate(ServiceDataFlowEvent event, JSONObject reqJson) {
-        //Assert.hasKeyAndValue(reqJson, "xxx", "xxx");
-
-        Assert.hasKeyAndValue(reqJson, "flowId", "flowId不能为空");
-
-    }
-
-    @Override
-    protected void doSoService(ServiceDataFlowEvent event, DataFlowContext context, JSONObject reqJson) {
-
-        workflowBMOImpl.deleteWorkflow(reqJson, context);
-    }
-
-    @Override
-    public String getServiceCode() {
-        return ServiceCodeWorkflowConstant.DELETE_WORKFLOW;
-    }
-
-    @Override
-    public HttpMethod getHttpMethod() {
-        return HttpMethod.POST;
-    }
-
-}

+ 0 - 59
service-api/src/main/java/com/java110/api/listener/workflow/ListRunWorkflowImageListener.java

@@ -1,59 +0,0 @@
-package com.java110.api.listener.workflow;
-
-import com.alibaba.fastjson.JSONObject;
-import com.java110.api.listener.AbstractServiceApiPlusListener;
-import com.java110.core.annotation.Java110Listener;
-import com.java110.core.context.DataFlowContext;
-import com.java110.core.event.service.api.ServiceDataFlowEvent;
-import com.java110.intf.common.IWorkflowInnerServiceSMO;
-import com.java110.utils.constant.ServiceCodeWorkflowConstant;
-import com.java110.utils.util.Assert;
-import com.java110.vo.ResultVo;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpMethod;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.ResponseEntity;
-
-/**
- * 查询小区侦听类
- */
-@Java110Listener("listRunWorkflowImageListener")
-public class ListRunWorkflowImageListener extends AbstractServiceApiPlusListener {
-
-    @Autowired
-    private IWorkflowInnerServiceSMO workflowInnerServiceSMOImpl;
-
-    @Override
-    public String getServiceCode() {
-        return ServiceCodeWorkflowConstant.LIST_RUN_WORKFLOW_IMAGE;
-    }
-
-    @Override
-    public HttpMethod getHttpMethod() {
-        return HttpMethod.GET;
-    }
-
-
-    public IWorkflowInnerServiceSMO getWorkflowInnerServiceSMOImpl() {
-        return workflowInnerServiceSMOImpl;
-    }
-
-    public void setWorkflowInnerServiceSMOImpl(IWorkflowInnerServiceSMO workflowInnerServiceSMOImpl) {
-        this.workflowInnerServiceSMOImpl = workflowInnerServiceSMOImpl;
-    }
-
-    @Override
-    protected void validate(ServiceDataFlowEvent event, JSONObject reqJson) {
-        Assert.hasKeyAndValue(reqJson, "businessKey", "请求报文中请包含业主Key");
-    }
-
-    @Override
-    protected void doSoService(ServiceDataFlowEvent event, DataFlowContext context, JSONObject reqJson) {
-        String image = workflowInnerServiceSMOImpl.getRunWorkflowImage(reqJson.getString("businessKey"));
-        ResultVo resultVo = new ResultVo(ResultVo.CODE_OK, ResultVo.MSG_OK, image);
-        ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
-        context.setResponseEntity(responseEntity);
-
-
-    }
-}

+ 0 - 50
service-api/src/main/java/com/java110/api/listener/workflow/SaveWorkflowListener.java

@@ -1,50 +0,0 @@
-package com.java110.api.listener.workflow;
-
-import com.alibaba.fastjson.JSONObject;
-import com.java110.api.bmo.workflow.IWorkflowBMO;
-import com.java110.api.listener.AbstractServiceApiPlusListener;
-import com.java110.core.annotation.Java110Listener;
-import com.java110.core.context.DataFlowContext;
-import com.java110.core.event.service.api.ServiceDataFlowEvent;
-import com.java110.utils.constant.ServiceCodeWorkflowConstant;
-import com.java110.utils.util.Assert;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpMethod;
-
-/**
- * 保存商户侦听
- * add by wuxw 2019-06-30
- */
-@Java110Listener("saveWorkflowListener")
-public class SaveWorkflowListener extends AbstractServiceApiPlusListener {
-
-    @Autowired
-    private IWorkflowBMO workflowBMOImpl;
-
-    @Override
-    protected void validate(ServiceDataFlowEvent event, JSONObject reqJson) {
-        //Assert.hasKeyAndValue(reqJson, "xxx", "xxx");
-
-        Assert.hasKeyAndValue(reqJson, "flowName", "请求报文中未包含flowName");
-        Assert.hasKeyAndValue(reqJson, "communityId", "请求报文中未包含communityId");
-        Assert.hasKeyAndValue(reqJson, "flowType", "请求报文中未包含flowType");
-        Assert.hasKeyAndValue(reqJson, "storeId", "请求报文中未包含storeId");
-
-    }
-
-    @Override
-    protected void doSoService(ServiceDataFlowEvent event, DataFlowContext context, JSONObject reqJson) {
-        workflowBMOImpl.addWorkflow(reqJson, context);
-    }
-
-    @Override
-    public String getServiceCode() {
-        return ServiceCodeWorkflowConstant.ADD_WORKFLOW;
-    }
-
-    @Override
-    public HttpMethod getHttpMethod() {
-        return HttpMethod.POST;
-    }
-
-}

+ 35 - 0
service-common/src/main/java/com/java110/common/cmd/workflow/ListRunWorkflowImageCmd.java

@@ -0,0 +1,35 @@
+package com.java110.common.cmd.workflow;
+
+import com.alibaba.fastjson.JSONObject;
+import com.java110.core.annotation.Java110Cmd;
+import com.java110.core.context.ICmdDataFlowContext;
+import com.java110.core.event.cmd.Cmd;
+import com.java110.core.event.cmd.CmdEvent;
+import com.java110.intf.common.IWorkflowInnerServiceSMO;
+import com.java110.utils.exception.CmdException;
+import com.java110.utils.util.Assert;
+import com.java110.vo.ResultVo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+
+@Java110Cmd(serviceCode = "workflow.listRunWorkflowImage")
+public class ListRunWorkflowImageCmd extends Cmd {
+
+    @Autowired
+    private IWorkflowInnerServiceSMO workflowInnerServiceSMOImpl;
+
+
+    @Override
+    public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException {
+        Assert.hasKeyAndValue(reqJson, "businessKey", "请求报文中请包含业主Key");
+    }
+
+    @Override
+    public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException {
+        String image = workflowInnerServiceSMOImpl.getRunWorkflowImage(reqJson.getString("businessKey"));
+        ResultVo resultVo = new ResultVo(ResultVo.CODE_OK, ResultVo.MSG_OK, image);
+        ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
+        context.setResponseEntity(responseEntity);
+    }
+}

+ 11 - 33
service-api/src/main/java/com/java110/api/listener/workflow/ListWorkflowAuditInfoListener.java

@@ -1,32 +1,29 @@
-package com.java110.api.listener.workflow;
+package com.java110.common.cmd.workflow;
 
 import com.alibaba.fastjson.JSONObject;
-import com.java110.api.listener.AbstractServiceApiPlusListener;
-import com.java110.core.annotation.Java110Listener;
-import com.java110.core.context.DataFlowContext;
-import com.java110.core.event.service.api.ServiceDataFlowEvent;
+import com.java110.core.annotation.Java110Cmd;
+import com.java110.core.context.ICmdDataFlowContext;
+import com.java110.core.event.cmd.Cmd;
+import com.java110.core.event.cmd.CmdEvent;
 import com.java110.dto.user.UserDto;
 import com.java110.dto.workflow.WorkflowAuditInfoDto;
 import com.java110.intf.common.IWorkflowInnerServiceSMO;
 import com.java110.intf.user.IUserInnerServiceSMO;
-import com.java110.utils.constant.ServiceCodeWorkflowConstant;
+import com.java110.utils.exception.CmdException;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.BeanConvertUtil;
 import com.java110.utils.util.StringUtil;
 import com.java110.vo.ResultVo;
 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.ArrayList;
 import java.util.List;
 
-/**
- * 查询小区侦听类
- */
-@Java110Listener("listWorkflowAuditInfoListener")
-public class ListWorkflowAuditInfoListener extends AbstractServiceApiPlusListener {
+@Java110Cmd(serviceCode = "workflow.listWorkflowAuditInfo")
+public class ListWorkflowAuditInfoCmd extends Cmd {
+
 
     @Autowired
     private IWorkflowInnerServiceSMO workflowInnerServiceSMOImpl;
@@ -34,34 +31,15 @@ public class ListWorkflowAuditInfoListener extends AbstractServiceApiPlusListene
     @Autowired
     private IUserInnerServiceSMO userInnerServiceSMOImpl;
 
-    @Override
-    public String getServiceCode() {
-        return ServiceCodeWorkflowConstant.LIST_WORKFLOW_AUDIT_INFO;
-    }
-
-    @Override
-    public HttpMethod getHttpMethod() {
-        return HttpMethod.GET;
-    }
-
-
-    public IWorkflowInnerServiceSMO getWorkflowInnerServiceSMOImpl() {
-        return workflowInnerServiceSMOImpl;
-    }
-
-    public void setWorkflowInnerServiceSMOImpl(IWorkflowInnerServiceSMO workflowInnerServiceSMOImpl) {
-        this.workflowInnerServiceSMOImpl = workflowInnerServiceSMOImpl;
-    }
 
     @Override
-    protected void validate(ServiceDataFlowEvent event, JSONObject reqJson) {
+    public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException {
         Assert.hasKeyAndValue(reqJson, "communityId", "请求报文中请包含小区ID");
         Assert.hasKeyAndValue(reqJson, "businessKey", "请求报文中未包含业务ID");
     }
 
     @Override
-    protected void doSoService(ServiceDataFlowEvent event, DataFlowContext context, JSONObject reqJson) {
-
+    public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException {
 
         WorkflowAuditInfoDto workflowAuditInfoDto = BeanConvertUtil.covertBean(reqJson, WorkflowAuditInfoDto.class);
         List<WorkflowAuditInfoDto> workflowAuditInfoDtos = workflowInnerServiceSMOImpl.queryWorkflowAuditHistory(workflowAuditInfoDto);

+ 11 - 38
service-api/src/main/java/com/java110/api/listener/workflow/ListWorkflowImageListener.java

@@ -1,61 +1,35 @@
-package com.java110.api.listener.workflow;
+package com.java110.common.cmd.workflow;
 
 import com.alibaba.fastjson.JSONObject;
-import com.java110.api.listener.AbstractServiceApiPlusListener;
-import com.java110.core.annotation.Java110Listener;
-import com.java110.core.context.DataFlowContext;
-import com.java110.core.event.service.api.ServiceDataFlowEvent;
-import com.java110.intf.common.IWorkflowInnerServiceSMO;
+import com.java110.core.annotation.Java110Cmd;
+import com.java110.core.context.ICmdDataFlowContext;
+import com.java110.core.event.cmd.Cmd;
+import com.java110.core.event.cmd.CmdEvent;
 import com.java110.dto.workflow.WorkflowDto;
-import com.java110.utils.constant.ServiceCodeWorkflowConstant;
+import com.java110.intf.common.IWorkflowInnerServiceSMO;
+import com.java110.utils.exception.CmdException;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.BeanConvertUtil;
 import com.java110.utils.util.StringUtil;
 import com.java110.vo.ResultVo;
 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;
 
-/**
- * 查询小区侦听类
- */
-@Java110Listener("listWorkflowImageListener")
-public class ListWorkflowImageListener extends AbstractServiceApiPlusListener {
-
+@Java110Cmd(serviceCode = "workflow.listWorkflowImage")
+public class ListWorkflowImageCmd extends Cmd {
     @Autowired
     private IWorkflowInnerServiceSMO workflowInnerServiceSMOImpl;
-
     @Override
-    public String getServiceCode() {
-        return ServiceCodeWorkflowConstant.LIST_WORKFLOW_IMAGE;
-    }
-
-    @Override
-    public HttpMethod getHttpMethod() {
-        return HttpMethod.GET;
-    }
-
-
-    public IWorkflowInnerServiceSMO getWorkflowInnerServiceSMOImpl() {
-        return workflowInnerServiceSMOImpl;
-    }
-
-    public void setWorkflowInnerServiceSMOImpl(IWorkflowInnerServiceSMO workflowInnerServiceSMOImpl) {
-        this.workflowInnerServiceSMOImpl = workflowInnerServiceSMOImpl;
-    }
-
-    @Override
-    protected void validate(ServiceDataFlowEvent event, JSONObject reqJson) {
+    public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException {
         Assert.hasKeyAndValue(reqJson, "communityId", "请求报文中请包含小区ID");
         Assert.hasKeyAndValue(reqJson, "flowId", "请求报文中请包含商户ID");
     }
 
     @Override
-    protected void doSoService(ServiceDataFlowEvent event, DataFlowContext context, JSONObject reqJson) {
-
+    public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException {
         WorkflowDto workflowDto = BeanConvertUtil.covertBean(reqJson, WorkflowDto.class);
 
 
@@ -84,6 +58,5 @@ public class ListWorkflowImageListener extends AbstractServiceApiPlusListener {
         ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
         context.setResponseEntity(responseEntity);
 
-
     }
 }

+ 11 - 41
service-api/src/main/java/com/java110/api/listener/workflow/ListWorkflowStepStaffsListener.java

@@ -1,66 +1,37 @@
-package com.java110.api.listener.workflow;
+package com.java110.common.cmd.workflow;
 
 import com.alibaba.fastjson.JSONObject;
-import com.java110.api.listener.AbstractServiceApiListener;
-import com.java110.core.annotation.Java110Listener;
-import com.java110.core.context.DataFlowContext;
-import com.java110.core.event.service.api.ServiceDataFlowEvent;
+import com.java110.core.annotation.Java110Cmd;
+import com.java110.core.context.ICmdDataFlowContext;
+import com.java110.core.event.cmd.Cmd;
+import com.java110.core.event.cmd.CmdEvent;
 import com.java110.dto.workflow.WorkflowDto;
-import com.java110.intf.common.IWorkflowStepStaffInnerServiceSMO;
 import com.java110.dto.workflow.WorkflowStepStaffDto;
-import com.java110.utils.constant.ServiceCodeWorkflowStepStaffConstant;
+import com.java110.intf.common.IWorkflowStepStaffInnerServiceSMO;
+import com.java110.utils.exception.CmdException;
 import com.java110.utils.util.BeanConvertUtil;
 import com.java110.utils.util.StringUtil;
 import com.java110.vo.ResultVo;
 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.ArrayList;
 import java.util.List;
 
-/**
- * 查询小区侦听类
- */
-@Java110Listener("listWorkflowStepStaffsListener")
-public class ListWorkflowStepStaffsListener extends AbstractServiceApiListener {
+@Java110Cmd(serviceCode = "workflow.listWorkflowStepStaffs")
+public class ListWorkflowStepStaffsCmd extends Cmd {
 
     @Autowired
     private IWorkflowStepStaffInnerServiceSMO workflowStepStaffInnerServiceSMOImpl;
 
     @Override
-    public String getServiceCode() {
-        return ServiceCodeWorkflowStepStaffConstant.LIST_WORKFLOWSTEPSTAFFS;
-    }
-
-    @Override
-    public HttpMethod getHttpMethod() {
-        return HttpMethod.GET;
-    }
-
-
-    @Override
-    public int getOrder() {
-        return DEFAULT_ORDER;
-    }
-
-
-    public IWorkflowStepStaffInnerServiceSMO getWorkflowStepStaffInnerServiceSMOImpl() {
-        return workflowStepStaffInnerServiceSMOImpl;
-    }
-
-    public void setWorkflowStepStaffInnerServiceSMOImpl(IWorkflowStepStaffInnerServiceSMO workflowStepStaffInnerServiceSMOImpl) {
-        this.workflowStepStaffInnerServiceSMOImpl = workflowStepStaffInnerServiceSMOImpl;
-    }
-
-    @Override
-    protected void validate(ServiceDataFlowEvent event, JSONObject reqJson) {
+    public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException {
         super.validatePageInfo(reqJson);
     }
 
     @Override
-    protected void doSoService(ServiceDataFlowEvent event, DataFlowContext context, JSONObject reqJson) {
+    public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException {
         WorkflowStepStaffDto workflowStepStaffDto = BeanConvertUtil.covertBean(reqJson, WorkflowStepStaffDto.class);
         if (!StringUtil.isEmpty(reqJson.getString("requestType")) && "purchaseHandle".equals(reqJson.getString("requestType"))) {//采购
             workflowStepStaffDto.setFlowType(WorkflowDto.FLOW_TYPE_PURCHASE);
@@ -89,6 +60,5 @@ public class ListWorkflowStepStaffsListener extends AbstractServiceApiListener {
         ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
 
         context.setResponseEntity(responseEntity);
-
     }
 }

+ 13 - 56
service-api/src/main/java/com/java110/api/listener/workflow/ListWorkflowStepsListener.java

@@ -1,32 +1,28 @@
-package com.java110.api.listener.workflow;
+package com.java110.common.cmd.workflow;
 
 import com.alibaba.fastjson.JSONObject;
-import com.java110.api.listener.AbstractServiceApiListener;
-import com.java110.core.annotation.Java110Listener;
-import com.java110.core.context.DataFlowContext;
-import com.java110.core.event.service.api.ServiceDataFlowEvent;
-import com.java110.intf.common.IWorkflowInnerServiceSMO;
-import com.java110.intf.common.IWorkflowStepInnerServiceSMO;
-import com.java110.intf.common.IWorkflowStepStaffInnerServiceSMO;
+import com.java110.core.annotation.Java110Cmd;
+import com.java110.core.context.ICmdDataFlowContext;
+import com.java110.core.event.cmd.Cmd;
+import com.java110.core.event.cmd.CmdEvent;
 import com.java110.dto.workflow.WorkflowDto;
 import com.java110.dto.workflow.WorkflowStepDto;
 import com.java110.dto.workflow.WorkflowStepStaffDto;
-import com.java110.utils.constant.ServiceCodeWorkflowStepConstant;
+import com.java110.intf.common.IWorkflowInnerServiceSMO;
+import com.java110.intf.common.IWorkflowStepInnerServiceSMO;
+import com.java110.intf.common.IWorkflowStepStaffInnerServiceSMO;
+import com.java110.utils.exception.CmdException;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.BeanConvertUtil;
 import com.java110.vo.ResultVo;
 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;
 
-/**
- * 查询小区侦听类
- */
-@Java110Listener("listWorkflowStepsListener")
-public class ListWorkflowStepsListener extends AbstractServiceApiListener {
+@Java110Cmd(serviceCode = "workflow.listWorkflowSteps")
+public class ListWorkflowStepsCmd extends Cmd {
 
     @Autowired
     private IWorkflowStepInnerServiceSMO workflowStepInnerServiceSMOImpl;
@@ -38,52 +34,14 @@ public class ListWorkflowStepsListener extends AbstractServiceApiListener {
     private IWorkflowStepStaffInnerServiceSMO workflowStepStaffInnerServiceSMOImpl;
 
     @Override
-    public String getServiceCode() {
-        return ServiceCodeWorkflowStepConstant.LIST_WORKFLOWSTEPS;
-    }
-
-    @Override
-    public HttpMethod getHttpMethod() {
-        return HttpMethod.GET;
-    }
-
-
-    @Override
-    public int getOrder() {
-        return DEFAULT_ORDER;
-    }
-
-
-    public IWorkflowStepInnerServiceSMO getWorkflowStepInnerServiceSMOImpl() {
-        return workflowStepInnerServiceSMOImpl;
-    }
-
-    public void setWorkflowStepInnerServiceSMOImpl(IWorkflowStepInnerServiceSMO workflowStepInnerServiceSMOImpl) {
-        this.workflowStepInnerServiceSMOImpl = workflowStepInnerServiceSMOImpl;
-    }
-
-    @Override
-    protected void validate(ServiceDataFlowEvent event, JSONObject reqJson) {
+    public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException {
 
         Assert.hasKeyAndValue(reqJson, "flowId", "未包含流程ID");
         Assert.hasKeyAndValue(reqJson, "communityId", "未包含小区ID");
-
-
     }
 
-    /**
-     * {"flowId":"752020061762800001","flowName":"投诉建议流程","describle":"xxxx",
-     * * "steps":[{"seq":0,"staffId":"302020060983230118","staffName":"孙印玉测试","type":"1",
-     * * "subStaff":[{"id":"d1aa0277-ff10-480e-855c-c90a1789909b","staffId":"302020061069500135","staffName":"天宫妹"}]},
-     * * {"seq":1,"staffId":"302020042299500115","staffName":"阿光","type":"2","subStaff":[]}]}"
-     *
-     * @param event   事件对象
-     * @param context 数据上文对象
-     * @param reqJson 请求报文
-     */
     @Override
-    protected void doSoService(ServiceDataFlowEvent event, DataFlowContext context, JSONObject reqJson) {
-
+    public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException {
         WorkflowDto workflowDto = BeanConvertUtil.covertBean(reqJson, WorkflowDto.class);
         List<WorkflowDto> workflowDtos = workflowInnerServiceSMOImpl.queryWorkflows(workflowDto);
 
@@ -111,6 +69,5 @@ public class ListWorkflowStepsListener extends AbstractServiceApiListener {
         ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
 
         context.setResponseEntity(responseEntity);
-
     }
 }

+ 10 - 34
service-api/src/main/java/com/java110/api/listener/workflow/ListWorkflowsListener.java

@@ -1,60 +1,36 @@
-package com.java110.api.listener.workflow;
+package com.java110.common.cmd.workflow;
 
 import com.alibaba.fastjson.JSONObject;
-import com.java110.api.listener.AbstractServiceApiPlusListener;
-import com.java110.core.annotation.Java110Listener;
-import com.java110.core.context.DataFlowContext;
-import com.java110.core.event.service.api.ServiceDataFlowEvent;
+import com.java110.core.annotation.Java110Cmd;
+import com.java110.core.context.ICmdDataFlowContext;
+import com.java110.core.event.cmd.Cmd;
+import com.java110.core.event.cmd.CmdEvent;
 import com.java110.dto.workflow.WorkflowDto;
 import com.java110.intf.common.IWorkflowInnerServiceSMO;
-import com.java110.utils.constant.ServiceCodeWorkflowConstant;
+import com.java110.utils.exception.CmdException;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.BeanConvertUtil;
 import com.java110.vo.ResultVo;
 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;
 
-/**
- * 查询小区侦听类
- */
-@Java110Listener("listWorkflowsListener")
-public class ListWorkflowsListener extends AbstractServiceApiPlusListener {
+@Java110Cmd(serviceCode = "workflow.listWorkflows")
+public class ListWorkflowsCmd extends Cmd {
 
     @Autowired
     private IWorkflowInnerServiceSMO workflowInnerServiceSMOImpl;
-
-    @Override
-    public String getServiceCode() {
-        return ServiceCodeWorkflowConstant.LIST_WORKFLOWS;
-    }
-
-    @Override
-    public HttpMethod getHttpMethod() {
-        return HttpMethod.GET;
-    }
-
-
-    public IWorkflowInnerServiceSMO getWorkflowInnerServiceSMOImpl() {
-        return workflowInnerServiceSMOImpl;
-    }
-
-    public void setWorkflowInnerServiceSMOImpl(IWorkflowInnerServiceSMO workflowInnerServiceSMOImpl) {
-        this.workflowInnerServiceSMOImpl = workflowInnerServiceSMOImpl;
-    }
-
     @Override
-    protected void validate(ServiceDataFlowEvent event, JSONObject reqJson) {
+    public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException {
         super.validatePageInfo(reqJson);
         Assert.hasKeyAndValue(reqJson, "communityId", "请求报文中请包含小区ID");
         Assert.hasKeyAndValue(reqJson, "storeId", "请求报文中请包含商户ID");
     }
 
     @Override
-    protected void doSoService(ServiceDataFlowEvent event, DataFlowContext context, JSONObject reqJson) {
+    public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException {
         WorkflowDto workflowDto = BeanConvertUtil.covertBean(reqJson, WorkflowDto.class);
         int count = workflowInnerServiceSMOImpl.queryWorkflowsCount(workflowDto);
         List<WorkflowDto> workflowDtos = null;

+ 47 - 43
service-job/src/main/java/com/java110/job/task/wechat/FeeCollectionPushMessageTemplate.java

@@ -209,6 +209,9 @@ public class FeeCollectionPushMessageTemplate extends TaskSystemQuartz {
                 feeCollectionDetailPo.setCollectionWay(FeeCollectionOrderDto.COLLECTION_WAY_SMS);
                 break;
             case FeeCollectionOrderDto.COLLECTION_WAY_WECHAT:
+                if(StringUtil.isEmpty(reportOweFeeDo.getOwnerId())  || "-1".equals(reportOweFeeDo.getOwnerId())){
+                    return;
+                }
                 if (!StringUtil.isEmpty(reportOweFeeDo.getOwnerId())) {
                     Map paramInfo = getOwnerAppUserDto(feeCollectionOrderDto.getCommunityId(), reportOweFeeDo.getOwnerId());
                     resultVo = doSendWechat(reportOweFeeDo, feeCollectionOrderDto, paramInfo);//微信
@@ -296,53 +299,53 @@ public class FeeCollectionPushMessageTemplate extends TaskSystemQuartz {
                 roomName = itemDto.getPayerObjName().split("-");
             }
             for (OwnerAppUserDto appUserDto : ownerAppUserDtos) {
-                    try {
-                        //获取用户缴费到期时间
-                        Date endTime = itemDto.getEndTime();
-                        Calendar calendar = Calendar.getInstance();
-                        calendar.setTime(endTime);
-                        calendar.add(Calendar.DATE, -1);
-                        endTime = calendar.getTime();
-
-                        Data data = new Data();
-                        PropertyFeeTemplateMessage templateMessage = new PropertyFeeTemplateMessage();
-                        templateMessage.setTemplate_id(templateId);
-                        templateMessage.setTouser(appUserDto.getOpenId());
-                        data.setFirst(new Content(itemDto.getFeeName() + "提醒"));
-                        if ("3333".equals(reportOweFeeDo.getPayerObjType())) {
-                            data.setKeyword1(new Content(roomName[0] + "栋" + roomName[1] + "单元" + roomName[2] + "室"));
+                try {
+                    //获取用户缴费到期时间
+                    Date endTime = itemDto.getEndTime();
+                    Calendar calendar = Calendar.getInstance();
+                    calendar.setTime(endTime);
+                    calendar.add(Calendar.DATE, -1);
+                    endTime = calendar.getTime();
+
+                    Data data = new Data();
+                    PropertyFeeTemplateMessage templateMessage = new PropertyFeeTemplateMessage();
+                    templateMessage.setTemplate_id(templateId);
+                    templateMessage.setTouser(appUserDto.getOpenId());
+                    data.setFirst(new Content(itemDto.getFeeName() + "提醒"));
+                    if ("3333".equals(reportOweFeeDo.getPayerObjType())) {
+                        data.setKeyword1(new Content(roomName[0] + "栋" + roomName[1] + "单元" + roomName[2] + "室"));
+                    } else {
+                        data.setKeyword1(new Content(itemDto.getPayerObjName()));
+                    }
+                    DecimalFormat df = new DecimalFormat("0.00");
+                    data.setKeyword2(new Content(df.format(amountOwed) + "元"));
+                    data.setKeyword3(new Content(
+                            DateUtil.getFormatTimeString(itemDto.getStartTime(), DateUtil.DATE_FORMATE_STRING_B)
+                                    + "至"
+                                    + DateUtil.getFormatTimeString(endTime, DateUtil.DATE_FORMATE_STRING_B)));
+                    data.setRemark(new Content("请您及时缴费,如有疑问请联系相关物业人员!"));
+
+                    if (!StringUtil.isEmpty(oweUrl)) {
+                        if (miniprogram == null) {
+                            templateMessage.setUrl(oweUrl + itemDto.getPayerObjId() + "&wAppId=" + weChatDto.getAppId());
                         } else {
-                            data.setKeyword1(new Content(itemDto.getPayerObjName()));
+                            miniprogram.setPagepath(oweUrl.split("@@")[1] + itemDto.getPayerObjId() + "&wAppId=" + weChatDto.getAppId());
+                            templateMessage.setMiniprogram(miniprogram);
                         }
-                        DecimalFormat df = new DecimalFormat("0.00");
-                        data.setKeyword2(new Content(df.format(amountOwed) + "元"));
-                        data.setKeyword3(new Content(
-                                DateUtil.getFormatTimeString(itemDto.getStartTime(), DateUtil.DATE_FORMATE_STRING_B)
-                                        + "至"
-                                        + DateUtil.getFormatTimeString(endTime, DateUtil.DATE_FORMATE_STRING_B)));
-                        data.setRemark(new Content("请您及时缴费,如有疑问请联系相关物业人员!"));
-
-                        if (!StringUtil.isEmpty(oweUrl)) {
-                            if (miniprogram == null) {
-                                templateMessage.setUrl(oweUrl + itemDto.getPayerObjId() + "&wAppId=" + weChatDto.getAppId());
-                            } else {
-                                miniprogram.setPagepath(oweUrl.split("@@")[1] + itemDto.getPayerObjId() + "&wAppId=" + weChatDto.getAppId());
-                                templateMessage.setMiniprogram(miniprogram);
-                            }
-                        }
-                        templateMessage.setData(data);
-                        logger.info("发送模板消息内容:{}", JSON.toJSONString(templateMessage));
-                        ResponseEntity<String> responseEntity = outRestTemplate.postForEntity(url, JSON.toJSONString(templateMessage), String.class);
-                        logger.info("微信模板返回内容:{}", responseEntity);
-                    } catch (Exception e) {
-                        LogSystemErrorPo logSystemErrorPo = new LogSystemErrorPo();
-                        logSystemErrorPo.setErrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_errId));
-                        logSystemErrorPo.setErrType(LogSystemErrorDto.ERR_TYPE_OWE_FEE);
-                        logSystemErrorPo.setMsg(ExceptionUtil.getStackTrace(e));
-                        saveSystemErrorSMOImpl.saveLog(logSystemErrorPo);
-                        logger.error("欠费推送失败" + feeCollectionOrderDto.getCollectionName(), e);
                     }
+                    templateMessage.setData(data);
+                    logger.info("发送模板消息内容:{}", JSON.toJSONString(templateMessage));
+                    ResponseEntity<String> responseEntity = outRestTemplate.postForEntity(url, JSON.toJSONString(templateMessage), String.class);
+                    logger.info("微信模板返回内容:{}", responseEntity);
+                } catch (Exception e) {
+                    LogSystemErrorPo logSystemErrorPo = new LogSystemErrorPo();
+                    logSystemErrorPo.setErrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_errId));
+                    logSystemErrorPo.setErrType(LogSystemErrorDto.ERR_TYPE_OWE_FEE);
+                    logSystemErrorPo.setMsg(ExceptionUtil.getStackTrace(e));
+                    saveSystemErrorSMOImpl.saveLog(logSystemErrorPo);
+                    logger.error("欠费推送失败" + feeCollectionOrderDto.getCollectionName(), e);
                 }
+            }
         }
 
         return new ResultVo(ResultVo.CODE_OK, ResultVo.MSG_OK);
@@ -408,6 +411,7 @@ public class FeeCollectionPushMessageTemplate extends TaskSystemQuartz {
     }
 
     private Map getOwnerAppUserDto(String communityId, String memberId) {
+
         SmallWeChatDto smallWeChatDto = new SmallWeChatDto();
         smallWeChatDto.setWeChatType("1100");
         smallWeChatDto.setObjType(SmallWeChatDto.OBJ_TYPE_COMMUNITY);