From cab3425bb92d01f3494eb25c1f299038dc634c65 Mon Sep 17 00:00:00 2001
From: Your Name <you@example.com>
Date: 星期三, 15 三月 2023 23:43:48 +0800
Subject: [PATCH] 优化保养转单功能

---
 service-user/src/main/java/com/java110/user/cmd/owner/SaveHandoverCmd.java |   59 ++++++++++++++++++++++++++++++++++-------------------------
 1 files changed, 34 insertions(+), 25 deletions(-)

diff --git a/service-user/src/main/java/com/java110/user/cmd/owner/SaveHandoverCmd.java b/service-user/src/main/java/com/java110/user/cmd/owner/SaveHandoverCmd.java
index e19f10f..6824dd9 100644
--- a/service-user/src/main/java/com/java110/user/cmd/owner/SaveHandoverCmd.java
+++ b/service-user/src/main/java/com/java110/user/cmd/owner/SaveHandoverCmd.java
@@ -5,19 +5,20 @@
 import com.java110.core.annotation.Java110Cmd;
 import com.java110.core.annotation.Java110Transactional;
 import com.java110.core.context.ICmdDataFlowContext;
-import com.java110.core.event.cmd.AbstractServiceCmdListener;
+import com.java110.core.event.cmd.Cmd;
 import com.java110.core.event.cmd.CmdEvent;
 import com.java110.core.factory.GenerateCodeFactory;
 import com.java110.dto.RoomDto;
 import com.java110.dto.fee.FeeAttrDto;
 import com.java110.dto.fee.FeeConfigDto;
+import com.java110.dto.fee.FeeDto;
 import com.java110.dto.owner.OwnerDto;
-import com.java110.dto.owner.OwnerRoomRelDto;
 import com.java110.dto.payFeeBatch.PayFeeBatchDto;
 import com.java110.dto.user.UserDto;
-import com.java110.intf.community.IOwnerRoomRelV1InnerServiceSMO;
-import com.java110.intf.community.IOwnerV1InnerServiceSMO;
+import com.java110.intf.user.IOwnerRoomRelV1InnerServiceSMO;
+import com.java110.intf.user.IOwnerV1InnerServiceSMO;
 import com.java110.intf.community.IRoomInnerServiceSMO;
+import com.java110.intf.community.IRoomV1InnerServiceSMO;
 import com.java110.intf.fee.*;
 import com.java110.intf.user.IUserInnerServiceSMO;
 import com.java110.po.fee.FeeAttrPo;
@@ -25,7 +26,7 @@
 import com.java110.po.owner.OwnerPo;
 import com.java110.po.owner.OwnerRoomRelPo;
 import com.java110.po.payFeeBatch.PayFeeBatchPo;
-import com.java110.utils.constant.CommonConstant;
+import com.java110.po.room.RoomPo;
 import com.java110.utils.exception.CmdException;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.BeanConvertUtil;
@@ -34,11 +35,10 @@
 import com.java110.vo.ResultVo;
 import org.springframework.beans.factory.annotation.Autowired;
 
-import java.util.ArrayList;
 import java.util.List;
 
 @Java110Cmd(serviceCode = "owner.saveHandover")
-public class SaveHandoverCmd extends AbstractServiceCmdListener {
+public class SaveHandoverCmd extends Cmd {
 
     @Autowired
     private IOwnerV1InnerServiceSMO ownerV1InnerServiceSMOImpl;
@@ -63,6 +63,9 @@
 
     @Autowired
     private IRoomInnerServiceSMO roomInnerServiceSMOImpl;
+
+    @Autowired
+    private IRoomV1InnerServiceSMO roomV1InnerServiceSMOImpl;
 
     @Override
     public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
@@ -90,6 +93,9 @@
     public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
         OwnerPo ownerPo = BeanConvertUtil.covertBean(reqJson, OwnerPo.class);
         int flag = 0;
+        if (ownerPo.getAge().equals("")) {
+            ownerPo.setAge(null);
+        }
         if (reqJson.containsKey("ownerId") && !StringUtil.isEmpty(reqJson.getString("ownerId"))) {
             ownerPo.setMemberId(ownerPo.getOwnerId());
             flag = ownerV1InnerServiceSMOImpl.updateOwner(ownerPo);
@@ -102,12 +108,9 @@
             flag = ownerV1InnerServiceSMOImpl.saveOwner(ownerPo);
             reqJson.put("ownerId", ownerPo.getOwnerId());
         }
-
         if (flag < 1) {
             throw new CmdException("鎿嶄綔涓氫富澶辫触");
         }
-
-
         JSONArray rooms = reqJson.getJSONArray("rooms");
         OwnerRoomRelPo ownerRoomRelPo = null;
         for (int roomIndex = 0; roomIndex < rooms.size(); roomIndex++) {
@@ -125,36 +128,37 @@
             if (flag < 1) {
                 throw new CmdException("鎿嶄綔涓氫富澶辫触");
             }
+            RoomPo roomPo = new RoomPo();
+            roomPo.setRoomId(rooms.getJSONObject(roomIndex).getString("roomId"));
+            roomPo.setCommunityId(reqJson.getString("communityId"));
+            roomPo.setState(RoomDto.STATE_SELL);
+            flag = roomV1InnerServiceSMOImpl.updateRoom(roomPo);
+            if (flag < 1) {
+                throw new CmdException("鎿嶄綔涓氫富澶辫触");
+            }
         }
-
         if (!reqJson.containsKey("fees")) {
             cmdDataFlowContext.setResponseEntity(ResultVo.success());
             return;
         }
-
         JSONArray fees = reqJson.getJSONArray("fees");
         if (fees.size() < 1) {
             cmdDataFlowContext.setResponseEntity(ResultVo.success());
             return;
         }
-
         generatorBatch(reqJson);
-
         JSONObject paramInJson = null;
         PayFeePo payFeePo = null;
-
         FeeAttrPo feeAttrPo = null;
-
         List<RoomDto> roomDtos = null;
         RoomDto roomDto = null;
-
         for (int roomIndex = 0; roomIndex < rooms.size(); roomIndex++) {
 
             roomDto = new RoomDto();
             roomDto.setRoomId(rooms.getJSONObject(roomIndex).getString("roomId"));
             roomDtos = roomInnerServiceSMOImpl.queryRooms(roomDto);
 
-            Assert.listOnlyOne(roomDtos,"鎴垮眿涓嶅瓨鍦�");
+            Assert.listOnlyOne(roomDtos, "鎴垮眿涓嶅瓨鍦�");
 
             for (int feeIndex = 0; feeIndex < fees.size(); feeIndex++) {
 
@@ -162,9 +166,7 @@
 
                 String time = DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A);
 
-                if (paramInJson.containsKey("endTime")) {
-                    time = paramInJson.getString("endTime");
-                } else if (paramInJson.containsKey("startTime")) {
+                if (paramInJson.containsKey("startTime")) {
                     time = paramInJson.getString("startTime");
                 }
 
@@ -191,6 +193,7 @@
                 businessUnit.put("state", "2008001");
                 businessUnit.put("batchId", reqJson.getString("batchId"));
                 businessUnit.put("userId", "-1");
+                businessUnit.put("bId", "-1");
 
                 payFeePo = BeanConvertUtil.covertBean(businessUnit, PayFeePo.class);
 
@@ -223,6 +226,15 @@
                 if (flag < 1) {
                     throw new CmdException("淇濆瓨璐圭敤澶辫触");
                 }
+
+                if (!FeeDto.FEE_FLAG_CYCLE.equals(businessUnit.getString("feeFlag"))) {
+                    feeAttrPo = addFeeAttr(businessUnit, FeeAttrDto.SPEC_CD_ONCE_FEE_DEADLINE_TIME,
+                            paramInJson.containsKey("endTime") ? paramInJson.getString("endTime") : feeConfigDtos.get(0).getEndTime());
+                    flag = feeAttrInnerServiceSMOImpl.saveFeeAttr(feeAttrPo);
+                    if (flag < 1) {
+                        throw new CmdException("淇濆瓨璐圭敤澶辫触");
+                    }
+                }
             }
         }
 
@@ -241,17 +253,14 @@
         UserDto userDto = new UserDto();
         userDto.setUserId(reqJson.getString("userId"));
         List<UserDto> userDtos = userInnerServiceSMOImpl.getUsers(userDto);
-
         Assert.listOnlyOne(userDtos, "鐢ㄦ埛涓嶅瓨鍦�");
         payFeeBatchPo.setCreateUserName(userDtos.get(0).getUserName());
         payFeeBatchPo.setState(PayFeeBatchDto.STATE_NORMAL);
         payFeeBatchPo.setMsg("姝e父");
         int flag = payFeeBatchV1InnerServiceSMOImpl.savePayFeeBatch(payFeeBatchPo);
-
         if (flag < 1) {
             throw new IllegalArgumentException("鐢熸垚鎵规澶辫触");
         }
-
         reqJson.put("batchId", payFeeBatchPo.getBatchId());
     }
 
@@ -265,4 +274,4 @@
         feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId));
         return feeAttrPo;
     }
-}
+}
\ No newline at end of file

--
Gitblit v1.8.0