Преглед изворни кода

优化 报修 功能为cmd方式

java110 пре 3 година
родитељ
комит
d6dd883acc

+ 0 - 93
service-api/src/main/java/com/java110/api/listener/ownerRepair/CloseRepairDispatchListener.java

@@ -1,93 +0,0 @@
-package com.java110.api.listener.ownerRepair;
-
-import com.alibaba.fastjson.JSONObject;
-import com.java110.api.bmo.ownerRepair.IOwnerRepairBMO;
-import com.java110.api.listener.AbstractServiceApiPlusListener;
-import com.java110.core.annotation.Java110Listener;
-import com.java110.core.context.DataFlowContext;
-import com.java110.intf.community.IRepairInnerServiceSMO;
-import com.java110.intf.community.IRepairUserInnerServiceSMO;
-import com.java110.core.event.service.api.ServiceDataFlowEvent;
-import com.java110.utils.constant.ServiceCodeRepairDispatchStepConstant;
-import com.java110.utils.util.Assert;
-import org.slf4j.Logger;
-import com.java110.core.log.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpMethod;
-
-/**
- * 保存小区侦听
- * add by wuxw 2019-06-30
- */
-@Java110Listener("closeRepairDispatchListener")
-public class CloseRepairDispatchListener extends AbstractServiceApiPlusListener {
-
-    private static Logger logger = LoggerFactory.getLogger(CloseRepairDispatchListener.class);
-
-    @Autowired
-    private IOwnerRepairBMO ownerRepairBMOImpl;
-
-
-    @Autowired
-    private IRepairInnerServiceSMO repairInnerServiceSMOImpl;
-
-    @Autowired
-    private IRepairUserInnerServiceSMO repairUserInnerServiceSMOImpl;
-
-    @Override
-    protected void validate(ServiceDataFlowEvent event, JSONObject reqJson) {
-        //Assert.hasKeyAndValue(reqJson, "xxx", "xxx");
-
-
-        Assert.hasKeyAndValue(reqJson, "state", "未包含处理信息");
-        Assert.hasKeyAndValue(reqJson, "context", "未包含处理内容");
-        Assert.hasKeyAndValue(reqJson, "repairId", "未包含报修单信息");
-        Assert.hasKeyAndValue(reqJson, "communityId", "未包含小区信息");
-        Assert.hasKeyAndValue(reqJson, "staffId", "未包含员工ID");
-
-
-    }
-
-    @Override
-    protected void doSoService(ServiceDataFlowEvent event, DataFlowContext context, JSONObject reqJson) {
-
-
-        //添加派单员工关联关系
-        ownerRepairBMOImpl.modifyBusinessRepairUser(reqJson, context);
-
-        //修改报修单状态
-        ownerRepairBMOImpl.modifyBusinessRepair(reqJson, context);
-
-    }
-
-    @Override
-    public String getServiceCode() {
-        return ServiceCodeRepairDispatchStepConstant.CLOSE_REPAIR_DISPATCH;
-    }
-
-    @Override
-    public HttpMethod getHttpMethod() {
-        return HttpMethod.POST;
-    }
-
-    @Override
-    public int getOrder() {
-        return DEFAULT_ORDER;
-    }
-
-    public IRepairInnerServiceSMO getRepairInnerServiceSMOImpl() {
-        return repairInnerServiceSMOImpl;
-    }
-
-    public void setRepairInnerServiceSMOImpl(IRepairInnerServiceSMO repairInnerServiceSMOImpl) {
-        this.repairInnerServiceSMOImpl = repairInnerServiceSMOImpl;
-    }
-
-    public IRepairUserInnerServiceSMO getRepairUserInnerServiceSMOImpl() {
-        return repairUserInnerServiceSMOImpl;
-    }
-
-    public void setRepairUserInnerServiceSMOImpl(IRepairUserInnerServiceSMO repairUserInnerServiceSMOImpl) {
-        this.repairUserInnerServiceSMOImpl = repairUserInnerServiceSMOImpl;
-    }
-}

+ 0 - 74
service-api/src/main/java/com/java110/api/listener/ownerRepair/RepairDispatchStepListener.java

@@ -1,74 +0,0 @@
-package com.java110.api.listener.ownerRepair;
-
-import com.alibaba.fastjson.JSONObject;
-import com.java110.api.bmo.ownerRepair.IOwnerRepairBMO;
-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.community.IRepairInnerServiceSMO;
-import com.java110.dto.repair.RepairDto;
-import com.java110.utils.constant.ServiceCodeRepairDispatchStepConstant;
-import com.java110.utils.util.Assert;
-import org.slf4j.Logger;
-import com.java110.core.log.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpMethod;
-
-/**
- * 保存小区侦听
- * add by wuxw 2019-06-30
- */
-@Java110Listener("repairDispatchStepListener")
-public class RepairDispatchStepListener extends AbstractServiceApiPlusListener {
-
-    private static Logger logger = LoggerFactory.getLogger(RepairDispatchStepListener.class);
-
-    @Autowired
-    private IOwnerRepairBMO ownerRepairBMOImpl;
-
-    @Autowired
-    private IRepairInnerServiceSMO repairInnerServiceSMOImpl;
-
-    @Override
-    protected void validate(ServiceDataFlowEvent event, JSONObject reqJson) {
-        //Assert.hasKeyAndValue(reqJson, "xxx", "xxx");
-
-        Assert.hasKeyAndValue(reqJson, "userId", "未包含员工信息");
-        Assert.hasKeyAndValue(reqJson, "repairId", "未包含报修单信息");
-        Assert.hasKeyAndValue(reqJson, "communityId", "未包含小区信息");
-
-
-    }
-
-    @Override
-    protected void doSoService(ServiceDataFlowEvent event, DataFlowContext context, JSONObject reqJson) {
-
-        ownerRepairBMOImpl.addBusinessRepairUser(reqJson, context);
-
-        ownerRepairBMOImpl.modifyBusinessRepairDispatch(reqJson, context, RepairDto.STATE_TAKING);
-    }
-
-    @Override
-    public String getServiceCode() {
-        return ServiceCodeRepairDispatchStepConstant.BINDING_REPAIRDISPATCHSTEP;
-    }
-
-    @Override
-    public HttpMethod getHttpMethod() {
-        return HttpMethod.POST;
-    }
-
-    @Override
-    public int getOrder() {
-        return DEFAULT_ORDER;
-    }
-
-    public IRepairInnerServiceSMO getRepairInnerServiceSMOImpl() {
-        return repairInnerServiceSMOImpl;
-    }
-
-    public void setRepairInnerServiceSMOImpl(IRepairInnerServiceSMO repairInnerServiceSMOImpl) {
-        this.repairInnerServiceSMOImpl = repairInnerServiceSMOImpl;
-    }
-}

+ 99 - 0
service-community/src/main/java/com/java110/community/cmd/ownerRepair/CloseRepairDispatchCmd.java

@@ -0,0 +1,99 @@
+package com.java110.community.cmd.ownerRepair;
+
+import com.alibaba.fastjson.JSONObject;
+import com.java110.core.annotation.Java110Cmd;
+import com.java110.core.context.DataFlowContext;
+import com.java110.core.context.ICmdDataFlowContext;
+import com.java110.core.event.cmd.Cmd;
+import com.java110.core.event.cmd.CmdEvent;
+import com.java110.dto.repair.RepairDto;
+import com.java110.dto.repair.RepairUserDto;
+import com.java110.intf.community.IRepairInnerServiceSMO;
+import com.java110.intf.community.IRepairPoolV1InnerServiceSMO;
+import com.java110.intf.community.IRepairUserInnerServiceSMO;
+import com.java110.intf.community.IRepairUserV1InnerServiceSMO;
+import com.java110.po.owner.RepairPoolPo;
+import com.java110.po.owner.RepairUserPo;
+import com.java110.utils.constant.BusinessTypeConstant;
+import com.java110.utils.constant.StateConstant;
+import com.java110.utils.exception.CmdException;
+import com.java110.utils.util.Assert;
+import com.java110.utils.util.BeanConvertUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import java.text.ParseException;
+import java.util.List;
+
+@Java110Cmd(serviceCode = "ownerRepair.closeRepairDispatch")
+public class CloseRepairDispatchCmd extends Cmd {
+
+    @Autowired
+    private IRepairInnerServiceSMO repairInnerServiceSMOImpl;
+
+    @Autowired
+    private IRepairUserInnerServiceSMO repairUserInnerServiceSMOImpl;
+
+    @Autowired
+    private IRepairUserV1InnerServiceSMO repairUserV1InnerServiceSMOImpl;
+
+
+    @Autowired
+    private IRepairPoolV1InnerServiceSMO repairPoolV1InnerServiceSMOImpl;
+
+    @Override
+    public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException {
+
+        Assert.hasKeyAndValue(reqJson, "state", "未包含处理信息");
+        Assert.hasKeyAndValue(reqJson, "context", "未包含处理内容");
+        Assert.hasKeyAndValue(reqJson, "repairId", "未包含报修单信息");
+        Assert.hasKeyAndValue(reqJson, "communityId", "未包含小区信息");
+        Assert.hasKeyAndValue(reqJson, "staffId", "未包含员工ID");
+    }
+
+    @Override
+    public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException {
+        modifyBusinessRepairUser(reqJson);
+
+        modifyBusinessRepair(reqJson);
+    }
+
+    public void modifyBusinessRepairUser(JSONObject paramInJson) {
+
+        RepairUserDto repairUserDto = new RepairUserDto();
+        repairUserDto.setRepairId(paramInJson.getString("repairId"));
+        repairUserDto.setUserId(paramInJson.getString("staffId"));
+        List<RepairUserDto> repairUserDtos = repairUserInnerServiceSMOImpl.queryRepairUsers(repairUserDto);
+        Assert.isOne(repairUserDtos, "查询到多条数据,repairId=" + repairUserDto.getRepairId() + " userId = " + repairUserDto.getUserId());
+        JSONObject businessObj = new JSONObject();
+        businessObj.putAll(BeanConvertUtil.beanCovertMap(repairUserDtos.get(0)));
+        businessObj.put("state", paramInJson.getString("state"));
+        businessObj.put("context", paramInJson.getString("context"));
+
+        RepairUserPo repairUserPo = BeanConvertUtil.covertBean(businessObj, RepairUserPo.class);
+        int flag = repairUserV1InnerServiceSMOImpl.updateRepairUserNew(repairUserPo);
+        if (flag < 1) {
+            throw new CmdException("修改用户失败");
+        }
+    }
+
+    public void modifyBusinessRepair(JSONObject paramInJson) {
+        //查询报修单
+        RepairDto repairDto = new RepairDto();
+        repairDto.setRepairId(paramInJson.getString("repairId"));
+
+        List<RepairDto> repairDtos = repairInnerServiceSMOImpl.queryRepairs(repairDto);
+
+        Assert.isOne(repairDtos, "查询到多条数据,repairId=" + repairDto.getRepairId());
+
+
+        JSONObject businessOwnerRepair = new JSONObject();
+        businessOwnerRepair.putAll(BeanConvertUtil.beanCovertMap(repairDtos.get(0)));
+        businessOwnerRepair.put("state", "10002".equals(paramInJson.getString("state")) ? StateConstant.REPAIR_DISPATCH_FINISH : StateConstant.REPAIR_NO_DISPATCH);
+
+        RepairPoolPo repairPoolPo = BeanConvertUtil.covertBean(businessOwnerRepair, RepairPoolPo.class);
+        int flag = repairPoolV1InnerServiceSMOImpl.updateRepairPoolNew(repairPoolPo);
+        if (flag < 1) {
+            throw new CmdException("修改失败");
+        }
+    }
+}

+ 44 - 50
service-api/src/main/java/com/java110/api/listener/ownerRepair/GrabbingRepairListener.java

@@ -1,45 +1,35 @@
-package com.java110.api.listener.ownerRepair;
+package com.java110.community.cmd.ownerRepair;
 
 import com.alibaba.fastjson.JSONObject;
-import com.java110.api.bmo.ownerRepair.IOwnerRepairBMO;
-import com.java110.api.listener.AbstractServiceApiPlusListener;
-import com.java110.core.annotation.Java110Listener;
+import com.java110.core.annotation.Java110Cmd;
 import com.java110.core.context.DataFlowContext;
-import com.java110.core.event.service.api.ServiceDataFlowEvent;
+import com.java110.core.context.ICmdDataFlowContext;
+import com.java110.core.event.cmd.Cmd;
+import com.java110.core.event.cmd.CmdEvent;
+import com.java110.core.factory.GenerateCodeFactory;
 import com.java110.dto.repair.RepairDto;
 import com.java110.dto.repair.RepairTypeUserDto;
 import com.java110.dto.repair.RepairUserDto;
-import com.java110.intf.community.IRepairInnerServiceSMO;
-import com.java110.intf.community.IRepairTypeUserInnerServiceSMO;
-import com.java110.intf.community.IRepairUserInnerServiceSMO;
+import com.java110.intf.community.*;
+import com.java110.po.owner.RepairPoolPo;
 import com.java110.po.owner.RepairUserPo;
 import com.java110.utils.cache.MappingCache;
 import com.java110.utils.constant.BusinessTypeConstant;
-import com.java110.utils.constant.ServiceCodeRepairDispatchStepConstant;
+import com.java110.utils.exception.CmdException;
 import com.java110.utils.lock.DistributedLock;
 import com.java110.utils.util.Assert;
+import com.java110.utils.util.BeanConvertUtil;
 import com.java110.utils.util.DateUtil;
 import com.java110.utils.util.StringUtil;
 import com.java110.vo.ResultVo;
-import org.slf4j.Logger;
-import com.java110.core.log.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpMethod;
 import org.springframework.http.ResponseEntity;
 
+import java.text.ParseException;
 import java.util.List;
 
-/**
- * 完成报修
- * add by wuxw 2019-06-30
- */
-@Java110Listener("grabbingRepairListener")
-public class GrabbingRepairListener extends AbstractServiceApiPlusListener {
-
-    private static Logger logger = LoggerFactory.getLogger(GrabbingRepairListener.class);
-
-    @Autowired
-    private IOwnerRepairBMO ownerRepairBMOImpl;
+@Java110Cmd(serviceCode = "ownerRepair.grabbingRepair")
+public class GrabbingRepairCmd extends Cmd {
 
     @Autowired
     private IRepairUserInnerServiceSMO repairUserInnerServiceSMOImpl;
@@ -53,6 +43,13 @@ public class GrabbingRepairListener extends AbstractServiceApiPlusListener {
     @Autowired
     private IRepairTypeUserInnerServiceSMO repairTypeUserInnerServiceSMO;
 
+    @Autowired
+    private IRepairPoolV1InnerServiceSMO repairPoolV1InnerServiceSMOImpl;
+
+    @Autowired
+    private IRepairUserV1InnerServiceSMO repairUserV1InnerServiceSMOImpl;
+
+
     //域
     public static final String DOMAIN_COMMON = "DOMAIN.COMMON";
 
@@ -60,7 +57,7 @@ public class GrabbingRepairListener extends AbstractServiceApiPlusListener {
     public static final String REPAIR_NUMBER = "REPAIR_NUMBER";
 
     @Override
-    protected void validate(ServiceDataFlowEvent event, JSONObject reqJson) {
+    public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException {
         Assert.hasKeyAndValue(reqJson, "repairId", "未包含报修单信息");
         Assert.hasKeyAndValue(reqJson, "communityId", "未包含小区信息");
         Assert.hasKeyAndValue(reqJson, "userId", "未包含用户ID");
@@ -68,7 +65,8 @@ public class GrabbingRepairListener extends AbstractServiceApiPlusListener {
     }
 
     @Override
-    protected void doSoService(ServiceDataFlowEvent event, DataFlowContext context, JSONObject reqJson) {
+    public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException {
+        int flag = 0;
         String requestId = DistributedLock.getLockUUID();
         String key = this.getClass().getSimpleName() + reqJson.getString("repairId");
         try {
@@ -149,7 +147,7 @@ public class GrabbingRepairListener extends AbstractServiceApiPlusListener {
                     String userId = reqJson.getString("userId");
                     String userName = reqJson.getString("userName");
                     RepairUserPo repairUserPo = new RepairUserPo();
-                    repairUserPo.setRuId("-1");
+                    repairUserPo.setRuId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_ruId));
                     repairUserPo.setStartTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
                     repairUserPo.setState(RepairUserDto.STATE_DOING);
                     repairUserPo.setRepairId(reqJson.getString("repairId"));
@@ -161,8 +159,11 @@ public class GrabbingRepairListener extends AbstractServiceApiPlusListener {
                     repairUserPo.setRepairEvent(RepairUserDto.REPAIR_EVENT_AUDIT_USER);
                     repairUserPo.setContext("");
                     repairUserPo.setCommunityId(reqJson.getString("communityId"));
-                    super.insert(context, repairUserPo, BusinessTypeConstant.BUSINESS_TYPE_SAVE_REPAIR_USER);
-                    ownerRepairBMOImpl.modifyBusinessRepairDispatch(reqJson, context, RepairDto.STATE_TAKING);
+                    flag = repairUserV1InnerServiceSMOImpl.saveRepairUserNew(repairUserPo);
+                    if (flag < 1) {
+                        throw new CmdException("修改用户失败");
+                    }
+                    modifyBusinessRepairDispatch(reqJson, RepairDto.STATE_TAKING);
                     ResponseEntity<String> responseEntity = ResultVo.createResponseEntity(ResultVo.CODE_OK, ResultVo.MSG_OK);
                     context.setResponseEntity(responseEntity);
                 } else if (state.equals("1100")) {   //1100表示接单
@@ -178,26 +179,19 @@ public class GrabbingRepairListener extends AbstractServiceApiPlusListener {
         }
     }
 
-    @Override
-    public String getServiceCode() {
-        return ServiceCodeRepairDispatchStepConstant.BINDING_GRABBING_REPAIR;
-    }
-
-    @Override
-    public HttpMethod getHttpMethod() {
-        return HttpMethod.POST;
-    }
-
-    @Override
-    public int getOrder() {
-        return DEFAULT_ORDER;
-    }
-
-    public IRepairInnerServiceSMO getRepairInnerServiceSMOImpl() {
-        return repairInnerServiceSMOImpl;
-    }
-
-    public void setRepairInnerServiceSMOImpl(IRepairInnerServiceSMO repairInnerServiceSMOImpl) {
-        this.repairInnerServiceSMOImpl = repairInnerServiceSMOImpl;
-    }
+    public void modifyBusinessRepairDispatch(JSONObject paramInJson, String state) {
+        //查询报修单
+        RepairDto repairDto = new RepairDto();
+        repairDto.setRepairId(paramInJson.getString("repairId"));
+        List<RepairDto> repairDtos = repairInnerServiceSMOImpl.queryRepairs(repairDto);
+        Assert.isOne(repairDtos, "查询到多条数据,repairId=" + repairDto.getRepairId());
+        JSONObject businessOwnerRepair = new JSONObject();
+        businessOwnerRepair.putAll(BeanConvertUtil.beanCovertMap(repairDtos.get(0)));
+        businessOwnerRepair.put("state", state);
+        //计算 应收金额
+        RepairPoolPo repairPoolPo = BeanConvertUtil.covertBean(businessOwnerRepair, RepairPoolPo.class);
+        int flag = repairPoolV1InnerServiceSMOImpl.updateRepairPoolNew(repairPoolPo);
+        if (flag < 1) {
+            throw new CmdException("修改工单失败");
+        }    }
 }

+ 97 - 72
service-api/src/main/java/com/java110/api/listener/ownerRepair/RepairDispatchListener.java

@@ -1,48 +1,43 @@
-package com.java110.api.listener.ownerRepair;
+package com.java110.community.cmd.ownerRepair;
 
 import com.alibaba.fastjson.JSONObject;
-import com.java110.api.bmo.ownerRepair.IOwnerRepairBMO;
-import com.java110.api.listener.AbstractServiceApiPlusListener;
 import com.java110.config.properties.code.Java110Properties;
-import com.java110.core.annotation.Java110Listener;
-import com.java110.core.context.DataFlowContext;
+import com.java110.core.annotation.Java110Cmd;
 import com.java110.core.context.Environment;
-import com.java110.core.event.service.api.ServiceDataFlowEvent;
+import com.java110.core.context.ICmdDataFlowContext;
+import com.java110.core.event.cmd.Cmd;
+import com.java110.core.event.cmd.CmdEvent;
 import com.java110.core.factory.GenerateCodeFactory;
 import com.java110.dto.fee.FeeAttrDto;
 import com.java110.dto.fee.FeeDto;
 import com.java110.dto.repair.RepairDto;
 import com.java110.dto.repair.RepairUserDto;
 import com.java110.intf.community.IRepairInnerServiceSMO;
+import com.java110.intf.community.IRepairPoolV1InnerServiceSMO;
 import com.java110.intf.community.IRepairUserInnerServiceSMO;
+import com.java110.intf.community.IRepairUserV1InnerServiceSMO;
 import com.java110.intf.fee.IFeeAttrInnerServiceSMO;
 import com.java110.intf.fee.IFeeInnerServiceSMO;
-import com.java110.po.fee.FeeAttrPo;
+import com.java110.intf.fee.IPayFeeV1InnerServiceSMO;
 import com.java110.po.fee.PayFeePo;
+import com.java110.po.owner.RepairPoolPo;
 import com.java110.po.owner.RepairUserPo;
 import com.java110.utils.cache.MappingCache;
-import com.java110.utils.constant.BusinessTypeConstant;
-import com.java110.utils.constant.ServiceCodeRepairDispatchStepConstant;
+import com.java110.utils.exception.CmdException;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.BeanConvertUtil;
 import com.java110.utils.util.DateUtil;
 import com.java110.vo.ResultVo;
-import org.slf4j.Logger;
-import com.java110.core.log.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpMethod;
 import org.springframework.http.ResponseEntity;
 
+import java.text.ParseException;
 import java.util.Calendar;
 import java.util.Date;
 import java.util.List;
 
-/**
- * 保存小区侦听
- * add by wuxw 2019-06-30
- */
-@Java110Listener("repairDispatchListener")
-public class RepairDispatchListener extends AbstractServiceApiPlusListener {
+@Java110Cmd(serviceCode = "ownerRepair.repairDispatch")
+public class RepairDispatchCmd extends Cmd {
 
     //派单
     public static final String ACTION_DISPATCH = "DISPATCH";
@@ -53,11 +48,6 @@ public class RepairDispatchListener extends AbstractServiceApiPlusListener {
     //退单
     public static final String ACTION_BACK = "BACK";
 
-    private static Logger logger = LoggerFactory.getLogger(RepairDispatchListener.class);
-
-    @Autowired
-    private IOwnerRepairBMO ownerRepairBMOImpl;
-
     @Autowired
     private IRepairUserInnerServiceSMO repairUserInnerServiceSMOImpl;
 
@@ -73,6 +63,16 @@ public class RepairDispatchListener extends AbstractServiceApiPlusListener {
     @Autowired
     private Java110Properties java110Properties;
 
+    @Autowired
+    private IPayFeeV1InnerServiceSMO payFeeV1InnerServiceSMOImpl;
+
+    @Autowired
+    private IRepairPoolV1InnerServiceSMO repairPoolV1InnerServiceSMOImpl;
+
+    @Autowired
+    private IRepairUserV1InnerServiceSMO repairUserV1InnerServiceSMOImpl;
+
+
     //域
     public static final String DOMAIN_COMMON = "DOMAIN.COMMON";
 
@@ -80,18 +80,21 @@ public class RepairDispatchListener extends AbstractServiceApiPlusListener {
     public static final String REPAIR_NUMBER = "REPAIR_NUMBER";
 
     @Override
-    protected void validate(ServiceDataFlowEvent event, JSONObject reqJson) {
-        //Assert.hasKeyAndValue(reqJson, "xxx", "xxx");
+    public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException {
         Assert.hasKeyAndValue(reqJson, "staffId", "未包含员工ID信息");
         Assert.hasKeyAndValue(reqJson, "staffName", "未包含员工名称信息");
         Assert.hasKeyAndValue(reqJson, "repairId", "未包含报修单信息");
         Assert.hasKeyAndValue(reqJson, "context", "未包含派单内容");
         Assert.hasKeyAndValue(reqJson, "communityId", "未包含小区信息");
         Assert.hasKeyAndValue(reqJson, "action", "未包含处理动作");
+
+        if(!reqJson.containsKey("userId")){
+            reqJson.put("userId",context.getReqHeaders().get("user-id"));
+        }
     }
 
     @Override
-    protected void doSoService(ServiceDataFlowEvent event, DataFlowContext context, JSONObject reqJson) {
+    public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException {
         RepairUserPo repairUserPo = BeanConvertUtil.covertBean(reqJson, RepairUserPo.class);
 
         String action = reqJson.getString("action");
@@ -110,13 +113,14 @@ public class RepairDispatchListener extends AbstractServiceApiPlusListener {
         }
     }
 
-    private void backRepair(DataFlowContext context, JSONObject reqJson) {
+    private void backRepair(ICmdDataFlowContext context, JSONObject reqJson) {
         //查询订单状态
         RepairDto repairDto = new RepairDto();
         repairDto.setRepairId(reqJson.getString("repairId"));
         repairDto.setCommunityId(reqJson.getString("communityId"));
         List<RepairDto> repairDtos = repairInnerServiceSMOImpl.queryRepairs(repairDto);
         Assert.listOnlyOne(repairDtos, "当前用户没有需要处理订单或存在多条");
+        int flag = 0;
 
         //待评价
         if (RepairDto.STATE_APPRAISE.equals(repairDtos.get(0).getState())) {
@@ -141,13 +145,19 @@ public class RepairDispatchListener extends AbstractServiceApiPlusListener {
                 payFeePo.setCommunityId(feeDtos.get(0).getCommunityId());
                 payFeePo.setFeeId(feeDtos.get(0).getFeeId());
                 //删除费用
-                super.delete(context, payFeePo, BusinessTypeConstant.BUSINESS_TYPE_DELETE_FEE_INFO);
-
+                flag = payFeeV1InnerServiceSMOImpl.deletePayFee(payFeePo);
+                if (flag < 1) {
+                    throw new CmdException("删除费用失败");
+                }
                 //删除费用属性
-                FeeAttrPo feeAttrPo = new FeeAttrPo();
-                feeAttrPo.setAttrId(feeAttrDtos.get(0).getAttrId());
-                feeAttrPo.setCommunityId(feeAttrDtos.get(0).getCommunityId());
-                super.delete(context, feeAttrPo, BusinessTypeConstant.BUSINESS_TYPE_DELETE_FEE_INFO);
+//                FeeAttrPo feeAttrPo = new FeeAttrPo();
+//                feeAttrPo.setAttrId(feeAttrDtos.get(0).getAttrId());
+//                feeAttrPo.setCommunityId(feeAttrDtos.get(0).getCommunityId());
+//                super.delete(context, feeAttrPo, BusinessTypeConstant.BUSINESS_TYPE_DELETE_FEE_INFO);
+//                flag = feeAttrInnerServiceSMOImpl.d(payFeePo);
+//                if (flag < 1) {
+//                    throw new CmdException("删除费用失败");
+//                }
 
             }
 
@@ -191,14 +201,14 @@ public class RepairDispatchListener extends AbstractServiceApiPlusListener {
         repairUserDto.setStaffId(reqJson.getString("staffId"));
         repairUserDto.setCommunityId(reqJson.getString("communityId"));
         repairUserDto.setRuId(repairUserDtos.get(0).getPreRuId());
-        repairUserDto.setStates(new String[]{RepairUserDto.STATE_TRANSFER, RepairUserDto.STATE_CLOSE,RepairUserDto.STATE_STOP});
+        repairUserDto.setStates(new String[]{RepairUserDto.STATE_TRANSFER, RepairUserDto.STATE_CLOSE, RepairUserDto.STATE_STOP});
         repairUserDtos = repairUserInnerServiceSMOImpl.queryRepairUsers(repairUserDto);
 
         if (repairUserDtos == null || repairUserDtos.size() < 1) {
             if (RepairDto.REPAIR_WAY_GRABBING.equals(repairDtos.get(0).getRepairWay())
                     || RepairDto.REPAIR_WAY_TRAINING.equals(repairDtos.get(0).getRepairWay())
             ) {
-                ownerRepairBMOImpl.modifyBusinessRepairDispatch(reqJson, context, RepairDto.STATE_WAIT);
+                modifyBusinessRepairDispatch(reqJson, RepairDto.STATE_WAIT);
                 //把自己改成退单
                 RepairUserPo repairUser = new RepairUserPo();
                 repairUser.setRuId(ruId);
@@ -206,7 +216,10 @@ public class RepairDispatchListener extends AbstractServiceApiPlusListener {
                 repairUser.setState(RepairUserDto.STATE_BACK);
                 repairUser.setContext(reqJson.getString("context"));
                 repairUser.setCommunityId(reqJson.getString("communityId"));
-                super.update(context, repairUser, BusinessTypeConstant.BUSINESS_TYPE_UPDATE_REPAIR_USER);
+                flag = repairUserV1InnerServiceSMOImpl.updateRepairUserNew(repairUserPo);
+                if (flag < 1) {
+                    throw new CmdException("修改用户失败");
+                }
                 return;
             } else {
                 ResponseEntity<String> responseEntity = ResultVo.createResponseEntity(ResultVo.CODE_BUSINESS_VERIFICATION, "非常抱歉当前不能退单!");
@@ -222,16 +235,21 @@ public class RepairDispatchListener extends AbstractServiceApiPlusListener {
         repairUser.setState(RepairUserDto.STATE_BACK);
         repairUser.setContext(reqJson.getString("context"));
         repairUser.setCommunityId(reqJson.getString("communityId"));
-        super.update(context, repairUser, BusinessTypeConstant.BUSINESS_TYPE_UPDATE_REPAIR_USER);
-
+        flag = repairUserV1InnerServiceSMOImpl.updateRepairUserNew(repairUserPo);
+        if (flag < 1) {
+            throw new CmdException("修改用户失败");
+        }
         repairUserPo.setPreStaffId(repairUserDtos.get(0).getPreStaffId());
         repairUserPo.setPreStaffName(repairUserDtos.get(0).getPreStaffName());
         repairUserPo.setPreRuId(repairUserDtos.get(0).getPreRuId());
         repairUserPo.setRepairEvent(RepairUserDto.REPAIR_EVENT_AUDIT_USER);
         repairUserPo.setContext("");
         repairUserPo.setCommunityId(reqJson.getString("communityId"));
-        super.insert(context, repairUserPo, BusinessTypeConstant.BUSINESS_TYPE_SAVE_REPAIR_USER);
-        ownerRepairBMOImpl.modifyBusinessRepairDispatch(reqJson, context, RepairDto.STATE_BACK);
+        flag = repairUserV1InnerServiceSMOImpl.saveRepairUserNew(repairUserPo);
+        if (flag < 1) {
+            throw new CmdException("修改用户失败");
+        }
+        modifyBusinessRepairDispatch(reqJson, RepairDto.STATE_BACK);
     }
 
     /**
@@ -240,9 +258,10 @@ public class RepairDispatchListener extends AbstractServiceApiPlusListener {
      * @param context
      * @param reqJson
      */
-    private void transferRepair(DataFlowContext context, JSONObject reqJson) {
+    private void transferRepair(ICmdDataFlowContext context, JSONObject reqJson) {
         //获取接受转单的员工
         String staffId = reqJson.getString("staffId");
+        int flag = 0;
         RepairDto repair = new RepairDto();
         repair.setStaffId(staffId);
         repair.setState("10001"); //处理中
@@ -274,10 +293,12 @@ public class RepairDispatchListener extends AbstractServiceApiPlusListener {
         repairUserPo.setState(RepairUserDto.STATE_TRANSFER);
         repairUserPo.setContext(reqJson.getString("context"));
         repairUserPo.setCommunityId(reqJson.getString("communityId"));
-        super.update(context, repairUserPo, BusinessTypeConstant.BUSINESS_TYPE_UPDATE_REPAIR_USER);
-        //处理人信息
+        flag = repairUserV1InnerServiceSMOImpl.updateRepairUserNew(repairUserPo);
+        if (flag < 1) {
+            throw new CmdException("修改用户失败");
+        }        //处理人信息
         repairUserPo = new RepairUserPo();
-        repairUserPo.setRuId("-1");
+        repairUserPo.setRuId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_ruId));
         repairUserPo.setState(RepairUserDto.STATE_DOING);
         repairUserPo.setRepairId(reqJson.getString("repairId"));
         repairUserPo.setStaffId(reqJson.getString("staffId"));
@@ -289,8 +310,11 @@ public class RepairDispatchListener extends AbstractServiceApiPlusListener {
         repairUserPo.setRepairEvent(RepairUserDto.REPAIR_EVENT_AUDIT_USER);
         repairUserPo.setContext("");
         repairUserPo.setCommunityId(reqJson.getString("communityId"));
-        super.insert(context, repairUserPo, BusinessTypeConstant.BUSINESS_TYPE_SAVE_REPAIR_USER);
-        ownerRepairBMOImpl.modifyBusinessRepairDispatch(reqJson, context, RepairDto.STATE_TRANSFER);
+        flag = repairUserV1InnerServiceSMOImpl.saveRepairUserNew(repairUserPo);
+        if (flag < 1) {
+            throw new CmdException("修改用户失败");
+        }
+        modifyBusinessRepairDispatch(reqJson, RepairDto.STATE_TRANSFER);
 
         ResponseEntity<String> responseEntity = ResultVo.createResponseEntity(ResultVo.CODE_OK, ResultVo.MSG_OK);
 
@@ -303,7 +327,8 @@ public class RepairDispatchListener extends AbstractServiceApiPlusListener {
      * @param context
      * @param reqJson
      */
-    private void dispacthRepair(DataFlowContext context, JSONObject reqJson) {
+    private void dispacthRepair(ICmdDataFlowContext context, JSONObject reqJson) {
+        int flag = 0;
         //获取接受派单的员工
         String staffId = reqJson.getString("staffId");
         RepairDto repair = new RepairDto();
@@ -320,7 +345,7 @@ public class RepairDispatchListener extends AbstractServiceApiPlusListener {
 
         //手机端处理
         if (Environment.isOwnerPhone(java110Properties)) {
-            ownerRepairBMOImpl.modifyBusinessRepairDispatch(reqJson, context, RepairDto.STATE_TAKING);
+            modifyBusinessRepairDispatch(reqJson, RepairDto.STATE_TAKING);
             return;
         }
         //获取报修id
@@ -352,7 +377,10 @@ public class RepairDispatchListener extends AbstractServiceApiPlusListener {
                 repairUserPo.setRepairEvent(RepairUserDto.REPAIR_EVENT_AUDIT_USER);
                 repairUserPo.setContext(reqJson.getString("context"));
                 repairUserPo.setCommunityId(reqJson.getString("communityId"));
-                super.insert(context, repairUserPo, BusinessTypeConstant.BUSINESS_TYPE_SAVE_REPAIR_USER);
+                flag = repairUserV1InnerServiceSMOImpl.saveRepairUserNew(repairUserPo);
+                if (flag < 1) {
+                    throw new CmdException("修改用户失败");
+                }
                 //处理人信息
                 repairUserPo = new RepairUserPo();
                 repairUserPo.setRuId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_ruId));
@@ -370,8 +398,11 @@ public class RepairDispatchListener extends AbstractServiceApiPlusListener {
                 repairUserPo.setRepairEvent(RepairUserDto.REPAIR_EVENT_AUDIT_USER);
                 repairUserPo.setContext("");
                 repairUserPo.setCommunityId(reqJson.getString("communityId"));
-                super.insert(context, repairUserPo, BusinessTypeConstant.BUSINESS_TYPE_SAVE_REPAIR_USER);
-                ownerRepairBMOImpl.modifyBusinessRepairDispatch(reqJson, context, RepairDto.STATE_TAKING);
+                flag = repairUserV1InnerServiceSMOImpl.saveRepairUserNew(repairUserPo);
+                if (flag < 1) {
+                    throw new CmdException("修改用户失败");
+                }
+                modifyBusinessRepairDispatch(reqJson, RepairDto.STATE_TAKING);
                 ResponseEntity<String> responseEntity = ResultVo.createResponseEntity(ResultVo.CODE_OK, ResultVo.MSG_OK);
                 context.setResponseEntity(responseEntity);
             } else if (state.equals("1100")) {   //1100表示接单
@@ -409,26 +440,20 @@ public class RepairDispatchListener extends AbstractServiceApiPlusListener {
         }
     }
 
-    @Override
-    public String getServiceCode() {
-        return ServiceCodeRepairDispatchStepConstant.BINDING_REPAIR_DISPATCH;
-    }
-
-    @Override
-    public HttpMethod getHttpMethod() {
-        return HttpMethod.POST;
-    }
-
-    @Override
-    public int getOrder() {
-        return DEFAULT_ORDER;
-    }
-
-    public IRepairInnerServiceSMO getRepairInnerServiceSMOImpl() {
-        return repairInnerServiceSMOImpl;
-    }
-
-    public void setRepairInnerServiceSMOImpl(IRepairInnerServiceSMO repairInnerServiceSMOImpl) {
-        this.repairInnerServiceSMOImpl = repairInnerServiceSMOImpl;
+    public void modifyBusinessRepairDispatch(JSONObject paramInJson, String state) {
+        //查询报修单
+        RepairDto repairDto = new RepairDto();
+        repairDto.setRepairId(paramInJson.getString("repairId"));
+        List<RepairDto> repairDtos = repairInnerServiceSMOImpl.queryRepairs(repairDto);
+        Assert.isOne(repairDtos, "查询到多条数据,repairId=" + repairDto.getRepairId());
+        JSONObject businessOwnerRepair = new JSONObject();
+        businessOwnerRepair.putAll(BeanConvertUtil.beanCovertMap(repairDtos.get(0)));
+        businessOwnerRepair.put("state", state);
+        //计算 应收金额
+        RepairPoolPo repairPoolPo = BeanConvertUtil.covertBean(businessOwnerRepair, RepairPoolPo.class);
+        int flag = repairPoolV1InnerServiceSMOImpl.updateRepairPoolNew(repairPoolPo);
+        if (flag < 1) {
+            throw new CmdException("修改工单失败");
+        }
     }
 }

+ 85 - 0
service-community/src/main/java/com/java110/community/cmd/ownerRepair/RepairDispatchStepCmd.java

@@ -0,0 +1,85 @@
+package com.java110.community.cmd.ownerRepair;
+
+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.core.factory.GenerateCodeFactory;
+import com.java110.dto.repair.RepairDto;
+import com.java110.intf.community.IRepairInnerServiceSMO;
+import com.java110.intf.community.IRepairPoolV1InnerServiceSMO;
+import com.java110.intf.community.IRepairUserV1InnerServiceSMO;
+import com.java110.po.owner.RepairPoolPo;
+import com.java110.po.owner.RepairUserPo;
+import com.java110.utils.constant.StateConstant;
+import com.java110.utils.exception.CmdException;
+import com.java110.utils.util.Assert;
+import com.java110.utils.util.BeanConvertUtil;
+import com.java110.utils.util.DateUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import java.text.ParseException;
+import java.util.List;
+
+@Java110Cmd(serviceCode = "ownerRepair.repairDispatchStep")
+public class RepairDispatchStepCmd extends Cmd {
+
+
+    @Autowired
+    private IRepairInnerServiceSMO repairInnerServiceSMOImpl;
+
+    @Autowired
+    private IRepairUserV1InnerServiceSMO repairUserV1InnerServiceSMOImpl;
+
+
+    @Autowired
+    private IRepairPoolV1InnerServiceSMO repairPoolV1InnerServiceSMOImpl;
+
+    @Override
+    public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException {
+
+        Assert.hasKeyAndValue(reqJson, "userId", "未包含员工信息");
+        Assert.hasKeyAndValue(reqJson, "repairId", "未包含报修单信息");
+        Assert.hasKeyAndValue(reqJson, "communityId", "未包含小区信息");
+    }
+
+    @Override
+    public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException {
+        addBusinessRepairUser(reqJson);
+
+        modifyBusinessRepairDispatch(reqJson, RepairDto.STATE_TAKING);
+    }
+
+    public void addBusinessRepairUser(JSONObject paramInJson) {
+
+        JSONObject businessObj = new JSONObject();
+        businessObj.putAll(paramInJson);
+        businessObj.put("state", StateConstant.STAFF_NO_FINISH_ORDER);
+        businessObj.put("ruId", GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_ruId));
+        RepairUserPo repairUserPo = BeanConvertUtil.covertBean(businessObj, RepairUserPo.class);
+        repairUserPo.setStartTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
+        int flag = repairUserV1InnerServiceSMOImpl.saveRepairUserNew(repairUserPo);
+
+        if (flag < 1) {
+            throw new CmdException("保存失败");
+        }
+    }
+
+    public void modifyBusinessRepairDispatch(JSONObject paramInJson, String state) {
+        //查询报修单
+        RepairDto repairDto = new RepairDto();
+        repairDto.setRepairId(paramInJson.getString("repairId"));
+        List<RepairDto> repairDtos = repairInnerServiceSMOImpl.queryRepairs(repairDto);
+        Assert.isOne(repairDtos, "查询到多条数据,repairId=" + repairDto.getRepairId());
+        JSONObject businessOwnerRepair = new JSONObject();
+        businessOwnerRepair.putAll(BeanConvertUtil.beanCovertMap(repairDtos.get(0)));
+        businessOwnerRepair.put("state", state);
+        //计算 应收金额
+        RepairPoolPo repairPoolPo = BeanConvertUtil.covertBean(businessOwnerRepair, RepairPoolPo.class);
+        int flag = repairPoolV1InnerServiceSMOImpl.updateRepairPoolNew(repairPoolPo);
+        if (flag < 1) {
+            throw new CmdException("修改失败");
+        }
+    }
+}

+ 2 - 0
service-community/src/main/java/com/java110/community/cmd/ownerRepair/RepairFinishCmd.java

@@ -3,6 +3,7 @@ package com.java110.community.cmd.ownerRepair;
 import com.alibaba.fastjson.JSONArray;
 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.Cmd;
 import com.java110.core.event.cmd.CmdEvent;
@@ -112,6 +113,7 @@ public class RepairFinishCmd extends Cmd {
     }
 
     @Override
+    @Java110Transactional
     public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException {
         String userId = context.getReqHeaders().get("user-id");
         String userName = context.getReqHeaders().get("user-name");

+ 36 - 37
service-api/src/main/java/com/java110/api/listener/ownerRepair/SaveOwnerRepairListener.java

@@ -1,11 +1,11 @@
-package com.java110.api.listener.ownerRepair;
+package com.java110.community.cmd.ownerRepair;
 
 import com.alibaba.fastjson.JSONArray;
 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.core.factory.GenerateCodeFactory;
 import com.java110.dto.fee.FeeConfigDto;
 import com.java110.dto.fee.FeeDto;
@@ -14,15 +14,17 @@ import com.java110.dto.file.FileRelDto;
 import com.java110.dto.repair.RepairDto;
 import com.java110.dto.repair.RepairUserDto;
 import com.java110.intf.common.IFileInnerServiceSMO;
+import com.java110.intf.common.IFileRelInnerServiceSMO;
+import com.java110.intf.community.IRepairPoolV1InnerServiceSMO;
+import com.java110.intf.community.IRepairUserV1InnerServiceSMO;
 import com.java110.intf.fee.IFeeConfigInnerServiceSMO;
 import com.java110.intf.fee.IFeeInnerServiceSMO;
 import com.java110.po.file.FileRelPo;
 import com.java110.po.owner.RepairPoolPo;
 import com.java110.po.owner.RepairUserPo;
 import com.java110.utils.cache.MappingCache;
-import com.java110.utils.constant.BusinessTypeConstant;
 import com.java110.utils.constant.FeeTypeConstant;
-import com.java110.utils.constant.ServiceCodeOwnerRepairConstant;
+import com.java110.utils.exception.CmdException;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.BeanConvertUtil;
 import com.java110.utils.util.DateUtil;
@@ -30,17 +32,13 @@ import com.java110.utils.util.StringUtil;
 import com.java110.vo.ResultVo;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpMethod;
 import org.springframework.http.ResponseEntity;
 
+import java.text.ParseException;
 import java.util.List;
 
-/**
- * 保存小区侦听
- * add by wuxw 2019-06-30
- */
-@Java110Listener("saveOwnerRepairListener")
-public class SaveOwnerRepairListener extends AbstractServiceApiPlusListener {
+@Java110Cmd(serviceCode = "ownerRepair.saveOwnerRepair")
+public class SaveOwnerRepairCmd extends Cmd {
 
     @Autowired
     private IFileInnerServiceSMO fileInnerServiceSMOImpl;
@@ -51,6 +49,15 @@ public class SaveOwnerRepairListener extends AbstractServiceApiPlusListener {
     @Autowired
     private IFeeInnerServiceSMO feeInnerServiceSMOImpl;
 
+    @Autowired
+    private IRepairPoolV1InnerServiceSMO repairPoolV1InnerServiceSMOImpl;
+
+    @Autowired
+    private IRepairUserV1InnerServiceSMO repairUserV1InnerServiceSMOImpl;
+
+    @Autowired
+    private IFileRelInnerServiceSMO fileRelInnerServiceSMOImpl;
+
     //域
     public static final String DOMAIN_COMMON = "DOMAIN.COMMON";
 
@@ -58,7 +65,7 @@ public class SaveOwnerRepairListener extends AbstractServiceApiPlusListener {
     public static final String REPAIR_FEE_NUMBER = "REPAIR_FEE_NUMBER";
 
     @Override
-    protected void validate(ServiceDataFlowEvent event, JSONObject reqJson) {
+    public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException {
         //Assert.hasKeyAndValue(reqJson, "xxx", "xxx");
         Assert.hasKeyAndValue(reqJson, "repairType", "必填,请选择报修类型");
         Assert.hasKeyAndValue(reqJson, "repairName", "必填,请填写报修人名称");
@@ -74,7 +81,7 @@ public class SaveOwnerRepairListener extends AbstractServiceApiPlusListener {
     }
 
     @Override
-    protected void doSoService(ServiceDataFlowEvent event, DataFlowContext context, JSONObject reqJson) {
+    public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException {
         //获取当前小区id
         String communityId = reqJson.getString("communityId");
         //查询默认费用项
@@ -106,8 +113,10 @@ public class SaveOwnerRepairListener extends AbstractServiceApiPlusListener {
         businessOwnerRepair.put("repairId", GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_repairId));
         businessOwnerRepair.put("state", RepairDto.STATE_WAIT);
         RepairPoolPo repairPoolPo = BeanConvertUtil.covertBean(businessOwnerRepair, RepairPoolPo.class);
-        super.insert(context, repairPoolPo, BusinessTypeConstant.BUSINESS_TYPE_SAVE_REPAIR);
-
+        int flag = repairPoolV1InnerServiceSMOImpl.saveRepairPoolNew(repairPoolPo);
+        if (flag < 1) {
+            throw new CmdException("修改失败");
+        }
         RepairUserPo repairUserPo = BeanConvertUtil.covertBean(reqJson, RepairUserPo.class);
         repairUserPo.setContext("订单提交");
         repairUserPo.setPreStaffId("-1");
@@ -120,8 +129,11 @@ public class SaveOwnerRepairListener extends AbstractServiceApiPlusListener {
         repairUserPo.setRepairId(businessOwnerRepair.getString("repairId"));
         repairUserPo.setState(RepairUserDto.STATE_SUBMIT);
         repairUserPo.setEndTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
-        repairUserPo.setRuId("-1");
-        super.insert(context, repairUserPo, BusinessTypeConstant.BUSINESS_TYPE_SAVE_REPAIR_USER);
+        repairUserPo.setRuId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_ruId));
+        flag = repairUserV1InnerServiceSMOImpl.saveRepairUserNew(repairUserPo);
+        if (flag < 1) {
+            throw new CmdException("修改用户失败");
+        }
         if (reqJson.containsKey("photos") && !StringUtils.isEmpty(reqJson.getString("photos"))) {
             JSONArray photos = reqJson.getJSONArray("photos");
             for (int _photoIndex = 0; _photoIndex < photos.size(); _photoIndex++) {
@@ -142,24 +154,11 @@ public class SaveOwnerRepairListener extends AbstractServiceApiPlusListener {
                 businessUnit.put("fileRealName", fileName);
                 businessUnit.put("fileSaveName", fileName);
                 FileRelPo fileRelPo = BeanConvertUtil.covertBean(businessUnit, FileRelPo.class);
-                super.insert(context, fileRelPo, BusinessTypeConstant.BUSINESS_TYPE_SAVE_FILE_REL);
+                flag = fileRelInnerServiceSMOImpl.saveFileRel(fileRelPo);
+                if (flag < 1) {
+                    throw new CmdException("保存图片失败");
+                }
             }
         }
     }
-
-    @Override
-    public String getServiceCode() {
-        return ServiceCodeOwnerRepairConstant.ADD_OWNERREPAIR;
-    }
-
-    @Override
-    public HttpMethod getHttpMethod() {
-        return HttpMethod.POST;
-    }
-
-    @Override
-    public int getOrder() {
-        return DEFAULT_ORDER;
-    }
-
 }