From bb198fb66045329b6dc47a031f202aabc6b8a1dd Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期日, 31 五月 2020 21:33:01 +0800
Subject: [PATCH] 优化代码

---
 Api/src/main/java/com/java110/api/bmo/room/impl/RoomBMOImpl.java |  233 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 225 insertions(+), 8 deletions(-)

diff --git a/Api/src/main/java/com/java110/api/bmo/room/impl/RoomBMOImpl.java b/Api/src/main/java/com/java110/api/bmo/room/impl/RoomBMOImpl.java
index ace1202..34aa209 100644
--- a/Api/src/main/java/com/java110/api/bmo/room/impl/RoomBMOImpl.java
+++ b/Api/src/main/java/com/java110/api/bmo/room/impl/RoomBMOImpl.java
@@ -4,12 +4,30 @@
 import com.java110.api.bmo.ApiBaseBMO;
 import com.java110.api.bmo.room.IRoomBMO;
 import com.java110.core.context.DataFlowContext;
+import com.java110.core.smo.fee.IFeeConfigInnerServiceSMO;
+import com.java110.core.smo.fee.IFeeInnerServiceSMO;
+import com.java110.core.smo.owner.IOwnerRoomRelInnerServiceSMO;
 import com.java110.core.smo.room.IRoomInnerServiceSMO;
 import com.java110.dto.RoomDto;
+import com.java110.dto.fee.FeeConfigDto;
+import com.java110.dto.fee.FeeDto;
+import com.java110.dto.owner.OwnerRoomRelDto;
+import com.java110.po.community.CommunityMemberPo;
+import com.java110.po.fee.PayFeePo;
+import com.java110.po.floor.FloorPo;
+import com.java110.po.owner.OwnerRoomRelPo;
+import com.java110.po.room.RoomPo;
+import com.java110.po.unit.UnitPo;
 import com.java110.utils.constant.BusinessTypeConstant;
 import com.java110.utils.constant.CommonConstant;
+import com.java110.utils.constant.CommunityMemberTypeConstant;
+import com.java110.utils.constant.FeeTypeConstant;
+import com.java110.utils.constant.ResponseConstant;
+import com.java110.utils.constant.StateConstant;
+import com.java110.utils.exception.ListenerExecuteException;
 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 org.springframework.stereotype.Service;
 
@@ -29,6 +47,14 @@
 
     @Autowired
     private IRoomInnerServiceSMO roomInnerServiceSMOImpl;
+    @Autowired
+    private IOwnerRoomRelInnerServiceSMO ownerRoomRelInnerServiceSMOImpl;
+
+    @Autowired
+    private IFeeInnerServiceSMO feeInnerServiceSMOImpl;
+
+    @Autowired
+    private IFeeConfigInnerServiceSMO feeConfigInnerServiceSMO;
 
     /**
      * 淇敼鎴垮眿
@@ -37,7 +63,7 @@
      * @param dataFlowContext 鏁版嵁涓婁笅鏂�
      * @return 璁㈠崟鏈嶅姟鑳藉鎺ュ彈鐨勬姤鏂�
      */
-    public JSONObject updateRoom(JSONObject paramInJson, DataFlowContext dataFlowContext) {
+    public void updateRoom(JSONObject paramInJson, DataFlowContext dataFlowContext) {
 
         RoomDto roomDto = new RoomDto();
         roomDto.setCommunityId(paramInJson.getString("communityId"));
@@ -46,16 +72,207 @@
 
         Assert.listOnlyOne(roomDtos, "瀛樺湪" + roomDtos.size() + "鏉℃埧灞嬩俊鎭�");
 
-        JSONObject business = JSONObject.parseObject("{\"datas\":{}}");
-        business.put(CommonConstant.HTTP_BUSINESS_TYPE_CD, BusinessTypeConstant.BUSINESS_TYPE_UPDATE_ROOM_INFO);
-        business.put(CommonConstant.HTTP_SEQ, DEFAULT_SEQ);
-        business.put(CommonConstant.HTTP_INVOKE_MODEL, CommonConstant.HTTP_INVOKE_MODEL_S);
         JSONObject businessUnit = new JSONObject();
         businessUnit.putAll(BeanConvertUtil.beanCovertMap(roomDtos.get(0)));
         businessUnit.putAll(paramInJson);
         businessUnit.put("userId", dataFlowContext.getRequestCurrentHeaders().get(CommonConstant.HTTP_USER_ID));
-        business.getJSONObject(CommonConstant.HTTP_BUSINESS_DATAS).put("businessRoom", businessUnit);
-
-        return business;
+        RoomPo roomPo = BeanConvertUtil.covertBean(businessUnit, RoomPo.class);
+        super.update(dataFlowContext, roomPo, BusinessTypeConstant.BUSINESS_TYPE_UPDATE_ROOM_INFO);
     }
+
+
+    public void addBusinessFloor(JSONObject paramInJson, DataFlowContext dataFlowContext) {
+
+        FloorPo floorPo = BeanConvertUtil.covertBean(paramInJson, FloorPo.class);
+        super.insert(dataFlowContext, floorPo, BusinessTypeConstant.BUSINESS_TYPE_SAVE_FLOOR_INFO);
+    }
+
+    /**
+     * 娣诲姞灏忓尯鎴愬憳
+     *
+     * @param paramInJson 缁勮 妤煎皬鍖哄叧绯�
+     * @return 灏忓尯鎴愬憳淇℃伅
+     */
+    public void addCommunityMember(JSONObject paramInJson, DataFlowContext dataFlowContext) {
+
+        JSONObject businessCommunityMember = new JSONObject();
+        businessCommunityMember.put("communityMemberId", "-1");
+        businessCommunityMember.put("communityId", paramInJson.getString("communityId"));
+        businessCommunityMember.put("memberId", paramInJson.getString("floorId"));
+        businessCommunityMember.put("memberTypeCd", CommunityMemberTypeConstant.FLOOR);
+        businessCommunityMember.put("auditStatusCd", StateConstant.AGREE_AUDIT);
+        CommunityMemberPo communityMemberPo = BeanConvertUtil.covertBean(businessCommunityMember, CommunityMemberPo.class);
+        super.insert(dataFlowContext, communityMemberPo, BusinessTypeConstant.BUSINESS_TYPE_MEMBER_JOINED_COMMUNITY);
+    }
+
+    public void addBusinessUnit(JSONObject paramInJson, DataFlowContext dataFlowContext) {
+
+        UnitPo unitPo = BeanConvertUtil.covertBean(paramInJson, UnitPo.class);
+        super.insert(dataFlowContext, unitPo, BusinessTypeConstant.BUSINESS_TYPE_SAVE_UNIT_INFO);
+    }
+
+    public void addBusinessRoom(JSONObject paramInJson, DataFlowContext dataFlowContext) {
+
+        RoomPo roomPo = BeanConvertUtil.covertBean(paramInJson, RoomPo.class);
+        super.insert(dataFlowContext, roomPo, BusinessTypeConstant.BUSINESS_TYPE_SAVE_ROOM_INFO);
+    }
+
+    /**
+     * 娣诲姞灏忓尯妤间俊鎭�
+     *
+     * @param paramInJson     鎺ュ彛璋冪敤鏀句紶鍏ュ叆鍙�
+     * @param dataFlowContext 鏁版嵁涓婁笅鏂�
+     * @return 璁㈠崟鏈嶅姟鑳藉鎺ュ彈鐨勬姤鏂�
+     */
+    public void deleteRoom(JSONObject paramInJson, DataFlowContext dataFlowContext) {
+
+
+        JSONObject businessUnit = new JSONObject();
+        businessUnit.putAll(paramInJson);
+        businessUnit.put("userId", dataFlowContext.getRequestCurrentHeaders().get(CommonConstant.HTTP_USER_ID));
+        RoomPo roomPo = BeanConvertUtil.covertBean(businessUnit, RoomPo.class);
+        super.delete(dataFlowContext, roomPo, BusinessTypeConstant.BUSINESS_TYPE_DELETE_ROOM_INFO);
+    }
+
+    /**
+     * 鍞崠鎴垮眿淇℃伅
+     *
+     * @param paramInJson     鎺ュ彛璋冪敤鏀句紶鍏ュ叆鍙�
+     * @param dataFlowContext 鏁版嵁涓婁笅鏂�
+     * @return 璁㈠崟鏈嶅姟鑳藉鎺ュ彈鐨勬姤鏂�
+     */
+    public void exitRoom(JSONObject paramInJson, DataFlowContext dataFlowContext) {
+
+        //鏍规嵁ownerId 鍜� roomId 鏌ヨrelId 鍒犻櫎
+        OwnerRoomRelDto ownerRoomRelDto = BeanConvertUtil.covertBean(paramInJson, OwnerRoomRelDto.class);
+        List<OwnerRoomRelDto> ownerRoomRelDtos = ownerRoomRelInnerServiceSMOImpl.queryOwnerRoomRels(ownerRoomRelDto);
+
+        if (ownerRoomRelDtos == null || ownerRoomRelDtos.size() != 1) {
+            throw new ListenerExecuteException(ResponseConstant.RESULT_CODE_ERROR, "鏁版嵁瀛樺湪闂锛屼笟涓诲拰鎴垮眿瀵瑰簲鍏崇郴涓嶆槸涓�鏉�");
+        }
+
+
+        JSONObject businessUnit = new JSONObject();
+        //businessUnit.putAll(paramInJson);
+        businessUnit.put("relId", ownerRoomRelDtos.get(0).getRelId());
+        //businessUnit.put("userId", dataFlowContext.getRequestCurrentHeaders().get(CommonConstant.HTTP_USER_ID));
+        OwnerRoomRelPo roomPo = BeanConvertUtil.covertBean(businessUnit, OwnerRoomRelPo.class);
+        super.delete(dataFlowContext, roomPo, BusinessTypeConstant.BUSINESS_TYPE_DELETE_OWNER_ROOM_REL);
+    }
+
+
+    /**
+     * 鍒犻櫎鐗╀笟璐圭敤淇℃伅
+     *
+     * @param paramInJson     鎺ュ彛璋冪敤鏀句紶鍏ュ叆鍙�
+     * @param dataFlowContext 鏁版嵁涓婁笅鏂�
+     * @return 璁㈠崟鏈嶅姟鑳藉鎺ュ彈鐨勬姤鏂�
+     */
+    public void exitPropertyFee(JSONObject paramInJson, DataFlowContext dataFlowContext) {
+
+
+        //鏍¢獙鐗╀笟璐规槸鍚﹀凡缁忎氦娓�
+        FeeDto feeDto = new FeeDto();
+        feeDto.setCommunityId(paramInJson.getString("communityId"));
+        feeDto.setIncomeObjId(paramInJson.getString("storeId"));
+        feeDto.setPayerObjId(paramInJson.getString("roomId"));
+        feeDto.setFeeTypeCd(FeeTypeConstant.FEE_TYPE_PROPERTY);
+        List<FeeDto> feeDtos = feeInnerServiceSMOImpl.queryFees(feeDto);
+
+        if (feeDtos == null || feeDtos.size() != 1) {
+            throw new ListenerExecuteException(ResponseConstant.RESULT_CODE_ERROR, "鏁版嵁瀛樺湪闂锛岀墿涓氳垂瀵瑰簲鍏崇郴涓嶆槸涓�鏉�");
+        }
+
+        JSONObject businessFee = new JSONObject();
+        //businessUnit.putAll(paramInJson);
+        businessFee.put("feeId", feeDtos.get(0).getFeeId());
+        //businessUnit.put("userId", dataFlowContext.getRequestCurrentHeaders().get(CommonConstant.HTTP_USER_ID));
+        PayFeePo payFeePo = BeanConvertUtil.covertBean(businessFee, PayFeePo.class);
+        super.delete(dataFlowContext, payFeePo, BusinessTypeConstant.BUSINESS_TYPE_DELETE_FEE_INFO);
+    }
+
+    /**
+     * 娣诲姞灏忓尯妤间俊鎭�
+     *
+     * @param paramInJson     鎺ュ彛璋冪敤鏀句紶鍏ュ叆鍙�
+     * @param dataFlowContext 鏁版嵁涓婁笅鏂�
+     * @return 璁㈠崟鏈嶅姟鑳藉鎺ュ彈鐨勬姤鏂�
+     */
+    public void addRoom(JSONObject paramInJson, DataFlowContext dataFlowContext) {
+
+        JSONObject businessUnit = new JSONObject();
+        businessUnit.putAll(paramInJson);
+        businessUnit.put("roomId", "-1");
+        businessUnit.put("userId", dataFlowContext.getRequestCurrentHeaders().get(CommonConstant.HTTP_USER_ID));
+        RoomPo roomPo = BeanConvertUtil.covertBean(businessUnit, RoomPo.class);
+        super.delete(dataFlowContext, roomPo, BusinessTypeConstant.BUSINESS_TYPE_SAVE_ROOM_INFO);
+    }
+
+    /**
+     * 鍞崠鎴垮眿淇℃伅
+     *
+     * @param paramInJson     鎺ュ彛璋冪敤鏀句紶鍏ュ叆鍙�
+     * @param dataFlowContext 鏁版嵁涓婁笅鏂�
+     * @return 璁㈠崟鏈嶅姟鑳藉鎺ュ彈鐨勬姤鏂�
+     */
+    public void sellRoom(JSONObject paramInJson, DataFlowContext dataFlowContext) {
+
+        JSONObject businessUnit = new JSONObject();
+        businessUnit.putAll(paramInJson);
+        businessUnit.put("relId", "-1");
+        businessUnit.put("userId", dataFlowContext.getRequestCurrentHeaders().get(CommonConstant.HTTP_USER_ID));
+        OwnerRoomRelPo ownerRoomRelPo = BeanConvertUtil.covertBean(businessUnit, OwnerRoomRelPo.class);
+        super.insert(dataFlowContext, ownerRoomRelPo, BusinessTypeConstant.BUSINESS_TYPE_SAVE_OWNER_ROOM_REL);
+    }
+
+    /**
+     * 娣诲姞鐗╀笟璐圭敤
+     *
+     * @param paramInJson     鎺ュ彛璋冪敤鏀句紶鍏ュ叆鍙�
+     * @param dataFlowContext 鏁版嵁涓婁笅鏂�
+     * @return 璁㈠崟鏈嶅姟鑳藉鎺ュ彈鐨勬姤鏂�
+     */
+    public void addPropertyFee(JSONObject paramInJson, DataFlowContext dataFlowContext) {
+        FeeConfigDto feeConfigDto = new FeeConfigDto();
+        feeConfigDto.setCommunityId(paramInJson.getString("communityId"));
+        feeConfigDto.setIsDefault("T");
+        feeConfigDto.setFeeTypeCd(FeeTypeConstant.FEE_TYPE_PROPERTY);
+        List<FeeConfigDto> feeConfigDtos = feeConfigInnerServiceSMO.queryFeeConfigs(feeConfigDto);
+
+        Assert.listOnlyOne(feeConfigDtos, "鐗╀笟璐归粯璁ら厤缃笉瀛樺湪鎴栧瓨鍦ㄥ鏉¤妫�鏌�");
+        JSONObject businessUnit = new JSONObject();
+        businessUnit.put("feeId", "-1");
+        businessUnit.put("configId", feeConfigDtos.get(0).getConfigId());
+        businessUnit.put("feeTypeCd", FeeTypeConstant.FEE_TYPE_PROPERTY);
+        businessUnit.put("incomeObjId", paramInJson.getString("storeId"));
+        businessUnit.put("amount", "-1.00");
+        businessUnit.put("startTime", DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
+        businessUnit.put("endTime", DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
+        businessUnit.put("communityId", paramInJson.getString("communityId"));
+        businessUnit.put("payerObjId", paramInJson.getString("roomId"));
+        businessUnit.put("payerObjType", "3333");
+        businessUnit.put("feeFlag", "1003006");
+        businessUnit.put("state", "2008001");
+        businessUnit.put("userId", dataFlowContext.getRequestCurrentHeaders().get(CommonConstant.HTTP_USER_ID));
+        PayFeePo payFeePo = BeanConvertUtil.covertBean(businessUnit, PayFeePo.class);
+        super.delete(dataFlowContext, payFeePo, BusinessTypeConstant.BUSINESS_TYPE_SAVE_FEE_INFO);
+    }
+
+    /**
+     * 娣诲姞灏忓尯妤间俊鎭�
+     *
+     * @param paramInJson     鎺ュ彛璋冪敤鏀句紶鍏ュ叆鍙�
+     * @param dataFlowContext 鏁版嵁涓婁笅鏂�
+     * @return 璁㈠崟鏈嶅姟鑳藉鎺ュ彈鐨勬姤鏂�
+     */
+    public void updateShellRoom(JSONObject paramInJson, DataFlowContext dataFlowContext) {
+
+        JSONObject businessUnit = new JSONObject();
+        businessUnit.putAll(paramInJson);
+        businessUnit.put("userId", dataFlowContext.getRequestCurrentHeaders().get(CommonConstant.HTTP_USER_ID));
+        RoomPo roomPo = BeanConvertUtil.covertBean(businessUnit, RoomPo.class);
+        super.update(dataFlowContext, roomPo, BusinessTypeConstant.BUSINESS_TYPE_UPDATE_ROOM_INFO);
+    }
+
+
 }

--
Gitblit v1.8.0