From e62a227ec48c9ee1f738a469480c6e59d436ed3d Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期二, 21 六月 2022 09:02:21 +0800
Subject: [PATCH] 业主相关 功能 从listener 迁移为 cmd 模式

---
 service-user/src/main/java/com/java110/user/cmd/owner/DeleteOwnerCarCmd.java |   84 +++++++++++++++++++++++-------------------
 1 files changed, 46 insertions(+), 38 deletions(-)

diff --git a/service-api/src/main/java/com/java110/api/listener/owner/DeleteOwnerCarListener.java b/service-user/src/main/java/com/java110/user/cmd/owner/DeleteOwnerCarCmd.java
old mode 100755
new mode 100644
similarity index 61%
rename from service-api/src/main/java/com/java110/api/listener/owner/DeleteOwnerCarListener.java
rename to service-user/src/main/java/com/java110/user/cmd/owner/DeleteOwnerCarCmd.java
index 4691dd8..8a29bf8
--- a/service-api/src/main/java/com/java110/api/listener/owner/DeleteOwnerCarListener.java
+++ b/service-user/src/main/java/com/java110/user/cmd/owner/DeleteOwnerCarCmd.java
@@ -1,34 +1,30 @@
-package com.java110.api.listener.owner;
+package com.java110.user.cmd.owner;
 
 import com.alibaba.fastjson.JSONObject;
-import com.java110.api.bmo.parkingSpace.IParkingSpaceBMO;
-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.fee.FeeDto;
 import com.java110.dto.owner.OwnerCarDto;
 import com.java110.dto.parking.ParkingSpaceDto;
 import com.java110.intf.community.IParkingSpaceInnerServiceSMO;
+import com.java110.intf.community.IParkingSpaceV1InnerServiceSMO;
 import com.java110.intf.fee.IFeeInnerServiceSMO;
 import com.java110.intf.user.IOwnerCarInnerServiceSMO;
+import com.java110.intf.user.IOwnerCarV1InnerServiceSMO;
 import com.java110.po.car.OwnerCarPo;
-import com.java110.utils.constant.BusinessTypeConstant;
-import com.java110.utils.constant.ServiceCodeConstant;
+import com.java110.po.parking.ParkingSpacePo;
+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 org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpMethod;
 
 import java.util.List;
 
-/**
- * 淇濆瓨灏忓尯渚﹀惉
- * add by wuxw 2019-06-30
- */
-@Java110Listener("deleteOwnerCarListener")
-public class DeleteOwnerCarListener extends AbstractServiceApiPlusListener {
-
+@Java110Cmd(serviceCode = "owner.deleteOwnerCars")
+public class DeleteOwnerCarCmd extends Cmd {
     @Autowired
     private IFeeInnerServiceSMO feeInnerServiceSMOImpl;
 
@@ -36,14 +32,17 @@
     private IOwnerCarInnerServiceSMO ownerCarInnerServiceSMOImpl;
 
     @Autowired
-    private IParkingSpaceBMO parkingSpaceBMOImpl;
-
-    @Autowired
     private IParkingSpaceInnerServiceSMO parkingSpaceInnerServiceSMOImpl;
 
+    @Autowired
+    private IParkingSpaceV1InnerServiceSMO parkingSpaceV1InnerServiceSMOImpl;
+
+    @Autowired
+    private IOwnerCarV1InnerServiceSMO ownerCarV1InnerServiceSMOImpl;
+
     @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, "xxx", "xxx");
 
         Assert.hasKeyAndValue(reqJson, "carId", "carId涓嶈兘涓虹┖");
         Assert.hasKeyAndValue(reqJson, "memberId", "memberId涓嶈兘涓虹┖");
@@ -69,12 +68,10 @@
 
         Assert.listOnlyOne(ownerCarDtos, "褰撳墠鏈壘鍒伴渶瑕佸垹闄よ溅杈�");
         reqJson.put("psId", ownerCarDtos.get(0).getPsId());
-
     }
 
     @Override
-    protected void doSoService(ServiceDataFlowEvent event, DataFlowContext context, JSONObject reqJson) {
-
+    public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException {
         if (reqJson.containsKey("psId") && !StringUtil.isEmpty(reqJson.getString("psId"))) {
             ParkingSpaceDto parkingSpaceDto = new ParkingSpaceDto();
             parkingSpaceDto.setPsId(reqJson.getString("psId"));
@@ -97,26 +94,37 @@
         ownerCarPo.setCommunityId(reqJson.getString("communityId"));
         ownerCarPo.setCarId(reqJson.getString("carId"));
         ownerCarPo.setMemberId(reqJson.getString("memberId"));
-        super.delete(context, ownerCarPo, BusinessTypeConstant.BUSINESS_TYPE_DELETE_OWNER_CAR);
-
+        int flag = ownerCarV1InnerServiceSMOImpl.deleteOwnerCar(ownerCarPo);
+        if (flag < 1) {
+            throw new IllegalArgumentException("鍒犻櫎杞﹁締鍑洪敊");
+        }
         if (StringUtil.isEmpty(reqJson.getString("psId")) || "-1".equals(reqJson.getString("psId"))) {
             return;
         }
         //閲婃斁杞︿綅
         if (reqJson.getString("carId").equals(reqJson.getString("memberId"))) {
             reqJson.put("carNumType", ParkingSpaceDto.STATE_FREE);//淇敼涓虹┖闂�
-            parkingSpaceBMOImpl.modifySellParkingSpaceState(reqJson, context);
+            ParkingSpaceDto parkingSpaceDto = new ParkingSpaceDto();
+            parkingSpaceDto.setCommunityId(reqJson.getString("communityId"));
+            parkingSpaceDto.setPsId(reqJson.getString("psId"));
+            List<ParkingSpaceDto> parkingSpaceDtos = parkingSpaceInnerServiceSMOImpl.queryParkingSpaces(parkingSpaceDto);
+
+            if (parkingSpaceDtos == null || parkingSpaceDtos.size() != 1) {
+                //throw new ListenerExecuteException(ResponseConstant.RESULT_CODE_ERROR, "鏈煡璇㈠埌鍋滆溅浣嶄俊鎭�" + JSONObject.toJSONString(parkingSpaceDto));
+                return;
+            }
+
+            parkingSpaceDto = parkingSpaceDtos.get(0);
+
+            JSONObject businessParkingSpace = new JSONObject();
+
+            businessParkingSpace.putAll(BeanConvertUtil.beanCovertMap(parkingSpaceDto));
+            businessParkingSpace.put("state", reqJson.getString("carNumType"));
+            ParkingSpacePo parkingSpacePo = BeanConvertUtil.covertBean(businessParkingSpace, ParkingSpacePo.class);
+            flag = parkingSpaceV1InnerServiceSMOImpl.updateParkingSpace(parkingSpacePo);
+            if (flag < 1) {
+                throw new IllegalArgumentException("淇敼杞﹁締鍑洪敊");
+            }
         }
     }
-
-    @Override
-    public String getServiceCode() {
-        return ServiceCodeConstant.SERVICE_CODE_DELETE_OWNER_CAR;
-    }
-
-    @Override
-    public HttpMethod getHttpMethod() {
-        return HttpMethod.POST;
-    }
-
 }

--
Gitblit v1.8.0