Explorar o código

加入删除房屋信息

wuxw %!s(int64=7) %!d(string=hai) anos
pai
achega
c00d6527ee

+ 143 - 0
Api/src/main/java/com/java110/api/listener/room/DeleteRoomListener.java

@@ -0,0 +1,143 @@
+package com.java110.api.listener.room;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.java110.api.listener.AbstractServiceApiDataFlowListener;
+import com.java110.common.constant.BusinessTypeConstant;
+import com.java110.common.constant.CommonConstant;
+import com.java110.common.constant.ServiceCodeConstant;
+import com.java110.common.util.Assert;
+import com.java110.core.annotation.Java110Listener;
+import com.java110.core.context.DataFlowContext;
+import com.java110.core.smo.unit.IUnitInnerServiceSMO;
+import com.java110.dto.UnitDto;
+import com.java110.entity.center.AppService;
+import com.java110.event.service.api.ServiceDataFlowEvent;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpHeaders;
+import org.springframework.http.HttpMethod;
+import org.springframework.http.ResponseEntity;
+
+import java.util.List;
+
+/**
+ * @ClassName SaveUnitListener
+ * @Description TODO 删除房屋信息
+ * @Author wuxw
+ * @Date 2019/5/3 11:54
+ * @Version 1.0
+ * add by wuxw 2019/5/3
+ **/
+@Java110Listener("deleteRoomListener")
+public class DeleteRoomListener extends AbstractServiceApiDataFlowListener {
+    private static Logger logger = LoggerFactory.getLogger(DeleteRoomListener.class);
+
+
+    @Autowired
+    private IUnitInnerServiceSMO unitInnerServiceSMOImpl;
+
+    @Override
+    public String getServiceCode() {
+        return ServiceCodeConstant.SERVICE_CODE_DELETE_ROOMS;
+    }
+
+    @Override
+    public HttpMethod getHttpMethod() {
+        return HttpMethod.POST;
+    }
+
+    @Override
+    public void soService(ServiceDataFlowEvent event) {
+
+        logger.debug("ServiceDataFlowEvent : {}", event);
+
+        DataFlowContext dataFlowContext = event.getDataFlowContext();
+        AppService service = event.getAppService();
+
+        String paramIn = dataFlowContext.getReqData();
+
+        //校验数据
+        validate(paramIn);
+        JSONObject paramObj = JSONObject.parseObject(paramIn);
+
+        HttpHeaders header = new HttpHeaders();
+        dataFlowContext.getRequestCurrentHeaders().put(CommonConstant.HTTP_ORDER_TYPE_CD, "D");
+        JSONArray businesses = new JSONArray();
+
+        //添加单元信息
+        businesses.add(deleteRoom(paramObj, dataFlowContext));
+
+        JSONObject paramInObj = super.restToCenterProtocol(businesses, dataFlowContext.getRequestCurrentHeaders());
+
+        //将 rest header 信息传递到下层服务中去
+        super.freshHttpHeader(header, dataFlowContext.getRequestCurrentHeaders());
+
+        ResponseEntity<String> responseEntity = this.callService(dataFlowContext, service.getServiceCode(), paramInObj);
+
+        dataFlowContext.setResponseEntity(responseEntity);
+
+    }
+
+    /**
+     * 添加小区楼信息
+     *
+     * @param paramInJson     接口调用放传入入参
+     * @param dataFlowContext 数据上下文
+     * @return 订单服务能够接受的报文
+     */
+    private JSONObject deleteRoom(JSONObject paramInJson, DataFlowContext dataFlowContext) {
+
+
+        JSONObject business = JSONObject.parseObject("{\"datas\":{}}");
+        business.put(CommonConstant.HTTP_BUSINESS_TYPE_CD, BusinessTypeConstant.BUSINESS_TYPE_DELETE_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(paramInJson);
+        businessUnit.put("userId", dataFlowContext.getRequestCurrentHeaders().get(CommonConstant.HTTP_USER_ID));
+        business.getJSONObject(CommonConstant.HTTP_BUSINESS_DATAS).put("businessRoom", businessUnit);
+
+        return business;
+    }
+
+    /**
+     * 数据校验
+     *
+     * @param paramIn "communityId": "7020181217000001",
+     *                "memberId": "3456789",
+     *                "memberTypeCd": "390001200001"
+     */
+    private void validate(String paramIn) {
+        Assert.jsonObjectHaveKey(paramIn, "roomId", "请求报文中未包含roomId节点");
+        Assert.jsonObjectHaveKey(paramIn, "communityId", "请求报文中未包含communityId节点");
+        Assert.jsonObjectHaveKey(paramIn, "unitId", "请求报文中未包含unitId节点");
+
+        JSONObject reqJson = JSONObject.parseObject(paramIn);
+
+        UnitDto unitDto = new UnitDto();
+        unitDto.setCommunityId(reqJson.getString("communityId"));
+        unitDto.setUnitId(reqJson.getString("unitId"));
+        //校验小区楼ID和小区是否有对应关系
+        List<UnitDto> units = unitInnerServiceSMOImpl.queryUnitsByCommunityId(unitDto);
+
+        if (units == null || units.size() < 1) {
+            throw new IllegalArgumentException("传入单元ID不是该小区的单元");
+        }
+
+    }
+
+    @Override
+    public int getOrder() {
+        return DEFAULT_ORDER;
+    }
+
+    public IUnitInnerServiceSMO getUnitInnerServiceSMOImpl() {
+        return unitInnerServiceSMOImpl;
+    }
+
+    public void setUnitInnerServiceSMOImpl(IUnitInnerServiceSMO unitInnerServiceSMOImpl) {
+        this.unitInnerServiceSMOImpl = unitInnerServiceSMOImpl;
+    }
+}

+ 32 - 0
WebService/src/main/java/com/java110/web/components/room/DeleteRoomComponent.java

@@ -0,0 +1,32 @@
+package com.java110.web.components.room;
+
+import com.java110.core.context.IPageData;
+import com.java110.web.smo.IRoomServiceSMO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.ResponseEntity;
+import org.springframework.stereotype.Component;
+
+/**
+ * @ClassName DeleteRoomComponent
+ * @Description TODO
+ * @Author wuxw
+ * @Date 2019/5/8 18:22
+ * @Version 1.0
+ * add by wuxw 2019/5/8
+ **/
+@Component("deleteRoom")
+public class DeleteRoomComponent {
+
+    @Autowired
+    private IRoomServiceSMO roomServiceSMOImpl;
+
+    /**
+     * 删除房屋信息
+     *
+     * @param pd 页面数据信息
+     * @return ResponseEntity 对象
+     */
+    public ResponseEntity<String> delete(IPageData pd) {
+        return roomServiceSMOImpl.deleteRoom(pd);
+    }
+}

+ 7 - 0
WebService/src/main/java/com/java110/web/smo/IRoomServiceSMO.java

@@ -32,4 +32,11 @@ public interface IRoomServiceSMO {
      * @return 返回 ResponseEntity对象包含 http状态 信息 body信息
      * @return 返回 ResponseEntity对象包含 http状态 信息 body信息
      */
      */
     ResponseEntity<String> updateRoom(IPageData pd);
     ResponseEntity<String> updateRoom(IPageData pd);
+
+    /**
+     * 删除房屋信息
+     * @param pd 页面数据封装对象
+     * @return 返回 ResponseEntity对象包含 http状态 信息 body信息
+     */
+    ResponseEntity<String> deleteRoom(IPageData pd);
 }
 }

+ 47 - 0
WebService/src/main/java/com/java110/web/smo/impl/RoomServiceSMOImpl.java

@@ -117,6 +117,34 @@ public class RoomServiceSMOImpl extends BaseComponentSMO implements IRoomService
         return responseEntity;
         return responseEntity;
     }
     }
 
 
+    @Override
+    public ResponseEntity<String> deleteRoom(IPageData pd) {
+        validateDeleteRoom(pd);
+
+        //校验员工是否有权限操作
+        super.checkUserHasPrivilege(pd, restTemplate, PrivilegeCodeConstant.PRIVILEGE_ROOM);
+
+        JSONObject paramIn = JSONObject.parseObject(pd.getReqData());
+        String communityId = paramIn.getString("communityId");
+        ResponseEntity responseEntity = super.getStoreInfo(pd, restTemplate);
+        if (responseEntity.getStatusCode() != HttpStatus.OK) {
+            return responseEntity;
+        }
+        Assert.jsonObjectHaveKey(responseEntity.getBody().toString(), "storeId", "根据用户ID查询商户ID失败,未包含storeId节点");
+        Assert.jsonObjectHaveKey(responseEntity.getBody().toString(), "storeTypeCd", "根据用户ID查询商户类型失败,未包含storeTypeCd节点");
+
+        String storeId = JSONObject.parseObject(responseEntity.getBody().toString()).getString("storeId");
+        String storeTypeCd = JSONObject.parseObject(responseEntity.getBody().toString()).getString("storeTypeCd");
+        //数据校验是否 商户是否入驻该小区
+        super.checkStoreEnterCommunity(pd, storeId, storeTypeCd, communityId, restTemplate);
+        paramIn.put("userId", pd.getUserId());
+        responseEntity = this.callCenterService(restTemplate, pd, paramIn.toJSONString(),
+                ServiceConstant.SERVICE_API_URL + "/api/room.deleteRoom",
+                HttpMethod.POST);
+
+        return responseEntity;
+    }
+
 
 
     /**
     /**
      * 小区房屋查询数据校验
      * 小区房屋查询数据校验
@@ -186,6 +214,25 @@ public class RoomServiceSMOImpl extends BaseComponentSMO implements IRoomService
         Assert.hasLength(reqJson.getString("roomId"), "房屋roomId不能为空");
         Assert.hasLength(reqJson.getString("roomId"), "房屋roomId不能为空");
 
 
 
 
+    }
+
+    /**
+     * 校验前台传入房屋信息
+     *
+     * @param pd 页面数据封装
+     */
+    private void validateDeleteRoom(IPageData pd) {
+
+        Assert.jsonObjectHaveKey(pd.getReqData(), "communityId", "请求报文中未包含communityId节点");
+        Assert.jsonObjectHaveKey(pd.getReqData(), "roomId", "请求报文中未包含roomId节点");
+        Assert.jsonObjectHaveKey(pd.getReqData(), "unitId", "请求报文中未包含unitId节点");
+        JSONObject reqJson = JSONObject.parseObject(pd.getReqData());
+
+        Assert.hasLength(reqJson.getString("communityId"), "小区ID不能为空");
+        Assert.hasLength(reqJson.getString("roomId"), "房屋roomId不能为空");
+        Assert.hasLength(reqJson.getString("unitId"), "房屋unitId不能为空");
+
+
     }
     }
 
 
 
 

+ 19 - 0
WebService/src/main/resources/components/delete-room/deleteRoom.html

@@ -0,0 +1,19 @@
+<div class="modal fade" id="deleteRoomModel" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
+    <div class="modal-dialog" role="document">
+        <div class="modal-content">
+            <div class="modal-header">
+                <h5 class="modal-title" id="exampleModalLabel">请确认您的操作!</h5>
+                <button type="button" class="close" data-dismiss="modal" aria-label="Close">
+                    <span aria-hidden="true">&times;</span>
+                </button>
+            </div>
+            <div class="modal-body">
+                <tr align="center"><th>确认是否删除!</th></tr>
+            </div>
+            <div class="modal-footer">
+                <button type="button" class="btn btn-secondary" data-dismiss="modal" >点错了</button>
+                <button type="button" class="btn btn-primary" v-on:click="deleteRoom()">确认删除</button>
+            </div>
+        </div>
+    </div>
+</div>

+ 46 - 0
WebService/src/main/resources/components/delete-room/deleteRoom.js

@@ -0,0 +1,46 @@
+(function(vc){
+    vc.extends({
+        data:{
+            deleteRoomInfo:{}
+        },
+        _initEvent:function(){
+             vc.on('deleteRoom','openRoomModel',function(_roomInfo){
+                    vc.component.deleteRoomInfo = _roomInfo;
+                    $('#deleteRoomModel').modal('show');
+                });
+        },
+        methods:{
+            closeDeleteRoomModel:function(){
+                $('#deleteRoomModel').modal('hide');
+            },
+            deleteRoom:function(){
+
+                vc.component.deleteRoomInfo.communityId = vc.getCurrentCommunity().communityId;
+                vc.http.post(
+                    'deleteRoom',
+                    'delete',
+                    JSON.stringify(vc.component.deleteRoomInfo),
+                    {
+                        emulateJSON:true
+                     },
+                     function(json,res){
+                        //vm.menus = vm.refreshMenuActive(JSON.parse(json),0);
+                        if(res.status == 200){
+                            //关闭model
+                            $('#deleteRoomModel').modal('hide');
+                            vc.emit('room','loadData',{
+                                floorId:vc.component.editRoomInfo.floorId
+                            });
+                            return ;
+                        }
+                        vc.message(json);
+                     },
+                     function(errInfo,error){
+                        console.log('请求失败处理');
+
+                        vc.message(errInfo);
+                     });
+            }
+        }
+    });
+})(window.vc);

+ 1 - 0
WebService/src/main/resources/components/edit-room/editRoom.js

@@ -4,6 +4,7 @@
         data:{
         data:{
             editRoomUnits:[],
             editRoomUnits:[],
             editRoomInfo:{
             editRoomInfo:{
+                roomId:'',
                 unitId:'',
                 unitId:'',
                 roomNum:'',
                 roomNum:'',
                 layer:'',
                 layer:'',

+ 1 - 1
WebService/src/main/resources/components/room/room.html

@@ -83,5 +83,5 @@
     </div>
     </div>
     <!-- 删除员工权限 -->
     <!-- 删除员工权限 -->
     <vc:create name="editRoom"></vc:create>
     <vc:create name="editRoom"></vc:create>
-    <!--<vc:create name="deleteRoom"></vc:create>-->
+    <vc:create name="deleteRoom"></vc:create>
 </div>
 </div>

+ 1 - 1
WebService/src/main/resources/components/room/room.js

@@ -64,7 +64,7 @@
             },
             },
             _openDelRoomModel:function(_room){
             _openDelRoomModel:function(_room){
                  _room.floorId = vc.component.roomInfo.floorId;
                  _room.floorId = vc.component.roomInfo.floorId;
-                 vc.emit('editRoom','openDeleteRoomModal',_room);
+                 vc.emit('deleteRoom','openRoomModel',_room);
             }
             }
         }
         }
     });
     });

+ 1 - 1
WebService/src/main/resources/views/roomFlow.html

@@ -9,7 +9,7 @@
     <vc:create name="commonTop"></vc:create>
     <vc:create name="commonTop"></vc:create>
 </head>
 </head>
 <body>
 <body>
-<vc:create name="loading"></vc:create>
+<vc:create name="bodyTop"></vc:create>
 <div id="wrapper">
 <div id="wrapper">
     <vc:create name="menu"></vc:create>
     <vc:create name="menu"></vc:create>
 
 

+ 3 - 0
java110-common/src/main/java/com/java110/common/constant/ServiceCodeConstant.java

@@ -390,4 +390,7 @@ public class ServiceCodeConstant {
 
 
     //修改房屋信息
     //修改房屋信息
     public static final String SERVICE_CODE_UPDATE_ROOMS = "room.updateRoom";
     public static final String SERVICE_CODE_UPDATE_ROOMS = "room.updateRoom";
+
+    //修改房屋信息
+    public static final String SERVICE_CODE_DELETE_ROOMS = "room.deleteRoom";
 }
 }