Parcourir la source

优化派单代码

java110 il y a 5 ans
Parent
commit
b3d920f8db

+ 5 - 0
java110-utils/src/main/java/com/java110/utils/constant/ServiceCodeRepairDispatchStepConstant.java

@@ -11,6 +11,11 @@ public class ServiceCodeRepairDispatchStepConstant {
      */
     public static final String BINDING_REPAIRDISPATCHSTEP = "ownerRepair.repairDispatchStep";
 
+    /**
+     * 添加 报修派单
+     */
+    public static final String BINDING_REPAIR_DISPATCH = "ownerRepair.repairDispatch";
+
 
     /**
      * 报修结单

+ 1 - 1
service-api/src/main/java/com/java110/api/bmo/ownerRepair/IOwnerRepairBMO.java

@@ -27,7 +27,7 @@ public interface IOwnerRepairBMO extends IApiBaseBMO {
      */
     public void deleteOwnerRepair(JSONObject paramInJson, DataFlowContext dataFlowContext);
     public void addBusinessRepairUser(JSONObject paramInJson, DataFlowContext dataFlowContext);
-    public void modifyBusinessRepairDispatch(JSONObject paramInJson, DataFlowContext dataFlowContext);
+    public void modifyBusinessRepairDispatch(JSONObject paramInJson, DataFlowContext dataFlowContext,String state);
     /**
      * 添加小区信息
      *

+ 2 - 2
service-api/src/main/java/com/java110/api/bmo/ownerRepair/impl/OwnerRepairBMOImpl.java

@@ -101,7 +101,7 @@ public class OwnerRepairBMOImpl extends ApiBaseBMO implements IOwnerRepairBMO {
         super.insert(dataFlowContext, repairUserPo, BusinessTypeConstant.BUSINESS_TYPE_SAVE_REPAIR_USER);
     }
 
-    public void modifyBusinessRepairDispatch(JSONObject paramInJson, DataFlowContext dataFlowContext) {
+    public void modifyBusinessRepairDispatch(JSONObject paramInJson, DataFlowContext dataFlowContext,String state) {
         //查询报修单
         RepairDto repairDto = new RepairDto();
         repairDto.setRepairId(paramInJson.getString("repairId"));
@@ -115,7 +115,7 @@ public class OwnerRepairBMOImpl extends ApiBaseBMO implements IOwnerRepairBMO {
 
         JSONObject businessOwnerRepair = new JSONObject();
         businessOwnerRepair.putAll(BeanConvertUtil.beanCovertMap(repairDtos.get(0)));
-        businessOwnerRepair.put("state", StateConstant.REPAIR_DISPATCHING);
+        businessOwnerRepair.put("state", state);
         //计算 应收金额
         RepairPoolPo repairPoolPo = BeanConvertUtil.covertBean(businessOwnerRepair, RepairPoolPo.class);
         super.update(dataFlowContext, repairPoolPo, BusinessTypeConstant.BUSINESS_TYPE_UPDATE_REPAIR);

+ 105 - 0
service-api/src/main/java/com/java110/api/listener/ownerRepair/RepairDispatchListener.java

@@ -0,0 +1,105 @@
+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.core.smo.community.IRepairInnerServiceSMO;
+import com.java110.core.smo.community.IRepairUserInnerServiceSMO;
+import com.java110.dto.repair.RepairDto;
+import com.java110.dto.repair.RepairUserDto;
+import com.java110.po.owner.RepairUserPo;
+import com.java110.utils.constant.BusinessTypeConstant;
+import com.java110.utils.constant.ServiceCodeRepairDispatchStepConstant;
+import com.java110.utils.util.Assert;
+import com.java110.utils.util.BeanConvertUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpMethod;
+
+import java.util.List;
+
+/**
+ * 保存小区侦听
+ * add by wuxw 2019-06-30
+ */
+@Java110Listener("repairDispatchStepListener")
+public class RepairDispatchListener extends AbstractServiceApiPlusListener {
+
+    private static Logger logger = LoggerFactory.getLogger(RepairDispatchListener.class);
+
+    @Autowired
+    private IOwnerRepairBMO ownerRepairBMOImpl;
+
+    @Autowired
+    private IRepairUserInnerServiceSMO repairUserInnerServiceSMOImpl;
+
+    @Autowired
+    private IRepairInnerServiceSMO repairInnerServiceSMOImpl;
+
+    @Override
+    protected void validate(ServiceDataFlowEvent event, JSONObject reqJson) {
+        //Assert.hasKeyAndValue(reqJson, "xxx", "xxx");
+
+        Assert.hasKeyAndValue(reqJson, "staffId", "未包含员工ID信息");
+        Assert.hasKeyAndValue(reqJson, "staffName", "未包含员工名称信息");
+        Assert.hasKeyAndValue(reqJson, "repairId", "未包含报修单信息");
+        Assert.hasKeyAndValue(reqJson, "context", "未包含派单内容");
+        Assert.hasKeyAndValue(reqJson, "communityId", "未包含小区信息");
+
+
+    }
+
+    @Override
+    protected void doSoService(ServiceDataFlowEvent event, DataFlowContext context, JSONObject reqJson) {
+        RepairUserPo repairUserPo = BeanConvertUtil.covertBean(reqJson, RepairUserPo.class);
+
+        RepairUserDto repairUserDto = new RepairUserDto();
+        repairUserDto.setRepairId(reqJson.getString("repairId"));
+        repairUserDto.setCommunityId(reqJson.getString("communityId"));
+        repairUserDto.setRepairEvent(RepairUserDto.REPAIR_EVENT_START_USER);
+        List<RepairUserDto> repairUserDtos = repairUserInnerServiceSMOImpl.queryRepairUsers(repairUserDto);
+
+        if (repairUserDtos == null || repairUserDtos.size() < 1) {
+            repairUserPo.setPreStaffId("-1");
+            repairUserPo.setPreStaffName("-1");
+        } else {
+            repairUserPo.setPreStaffId(repairUserDtos.get(0).getStaffId());
+            repairUserPo.setPreStaffName(repairUserDtos.get(0).getStaffName());
+        }
+
+        repairUserPo.setRepairEvent(RepairUserDto.REPAIR_EVENT_AUDIT_USER);
+        repairUserPo.setRuId("-1");
+        repairUserPo.setState(RepairUserDto.STATE_DOING);
+
+        super.insert(context, repairUserPo, BusinessTypeConstant.BUSINESS_TYPE_SAVE_REPAIR_USER);
+
+        ownerRepairBMOImpl.modifyBusinessRepairDispatch(reqJson, context, RepairDto.STATE_TAKING);
+    }
+
+    @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;
+    }
+}

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

@@ -3,14 +3,13 @@ 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.smo.community.IRepairInnerServiceSMO;
-import com.java110.utils.util.Assert;
+import com.java110.core.annotation.Java110Listener;
 import com.java110.core.context.DataFlowContext;
 import com.java110.core.event.service.api.ServiceDataFlowEvent;
+import com.java110.core.smo.community.IRepairInnerServiceSMO;
+import com.java110.dto.repair.RepairDto;
 import com.java110.utils.constant.ServiceCodeRepairDispatchStepConstant;
-
-
-import com.java110.core.annotation.Java110Listener;
+import com.java110.utils.util.Assert;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -30,6 +29,7 @@ public class RepairDispatchStepListener extends AbstractServiceApiPlusListener {
 
     @Autowired
     private IRepairInnerServiceSMO repairInnerServiceSMOImpl;
+
     @Override
     protected void validate(ServiceDataFlowEvent event, JSONObject reqJson) {
         //Assert.hasKeyAndValue(reqJson, "xxx", "xxx");
@@ -46,7 +46,7 @@ public class RepairDispatchStepListener extends AbstractServiceApiPlusListener {
 
         ownerRepairBMOImpl.addBusinessRepairUser(reqJson, context);
 
-        ownerRepairBMOImpl.modifyBusinessRepairDispatch(reqJson, context);
+        ownerRepairBMOImpl.modifyBusinessRepairDispatch(reqJson, context, RepairDto.STATE_TAKING);
     }
 
     @Override