| | |
| | | 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.doc.annotation.*; |
| | | import com.java110.dto.room.RoomDto; |
| | | import com.java110.dto.unit.UnitDto; |
| | | import com.java110.intf.community.IFloorInnerServiceSMO; |
| | | import com.java110.intf.community.IFloorV1InnerServiceSMO; |
| | | import com.java110.intf.community.IRoomV1InnerServiceSMO; |
| | | import com.java110.intf.community.IUnitV1InnerServiceSMO; |
| | | import com.java110.po.floor.FloorPo; |
| | | import com.java110.po.unit.UnitPo; |
| | | import com.java110.utils.exception.CmdException; |
| | | import com.java110.utils.util.Assert; |
| | | import com.java110.utils.util.BeanConvertUtil; |
| | | import com.java110.vo.ResultVo; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | |
| | | import java.util.List; |
| | | |
| | | |
| | | @Java110CmdDoc(title = "删除楼栋", |
| | | description = "用于外系统删除楼栋信息功能", |
| | | httpMethod = "post", |
| | | url = "http://{ip}:{port}/app/floor.deleteFloor", |
| | | resource = "communityDoc", |
| | | author = "吴学文", |
| | | serviceCode = "floor.deleteFloor", |
| | | seq = 7 |
| | | ) |
| | | |
| | | @Java110ParamsDoc(params = { |
| | | @Java110ParamDoc(name = "communityId", length = 30, remark = "小区ID"), |
| | | @Java110ParamDoc(name = "floorId", length = 30, remark = "楼栋ID"), |
| | | }) |
| | | |
| | | @Java110ResponseDoc( |
| | | params = { |
| | | @Java110ParamDoc(name = "code", type = "int", length = 11, defaultValue = "0", remark = "返回编号,0 成功 其他失败"), |
| | | @Java110ParamDoc(name = "msg", type = "String", length = 250, defaultValue = "成功", remark = "描述"), |
| | | } |
| | | ) |
| | | |
| | | @Java110ExampleDoc( |
| | | reqBody = "{\"floorId\":\"123123\",\"communityId\":\"2022081539020475\"}", |
| | | resBody = "{'code':0,'msg':'成功'}" |
| | | ) |
| | | |
| | | @Java110Cmd(serviceCode = "floor.deleteFloor") |
| | | public class DeleteFloorCmd extends AbstractServiceCmdListener { |
| | | public class DeleteFloorCmd extends Cmd { |
| | | @Autowired |
| | | private IFloorInnerServiceSMO floorInnerServiceSMOImpl; |
| | | |
| | | @Autowired |
| | | private IFloorV1InnerServiceSMO floorV1InnerServiceSMOImpl; |
| | | |
| | | @Autowired |
| | | private IUnitV1InnerServiceSMO unitV1InnerServiceSMOImpl; |
| | | |
| | | @Autowired |
| | | private IRoomV1InnerServiceSMO roomV1InnerServiceSMOImpl; |
| | | |
| | | @Override |
| | | public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) { |
| | | Assert.jsonObjectHaveKey(reqJson, "floorId", "请求报文中未包含floorId"); |
| | | Assert.jsonObjectHaveKey(reqJson, "communityId", "请求报文中未包含communityId"); |
| | | |
| | | // UnitDto unitDto = new UnitDto(); |
| | | // unitDto.setFloorId(reqJson.getString("floorId")); |
| | | // unitDto.setCommunityId(reqJson.getString("communityId")); |
| | | //// unitDto.setRoomUnit(UnitDto.ROOM_UNIT_Y); |
| | | // int count = unitV1InnerServiceSMOImpl.queryUnitsCount(unitDto); |
| | | // if (count > 0) { |
| | | // throw new IllegalArgumentException("请先删除单元 再删除楼栋"); |
| | | // } |
| | | |
| | | //todo 校验 楼栋下是否有 房屋或者商铺 |
| | | RoomDto roomDto = new RoomDto(); |
| | | roomDto.setFloorId(reqJson.getString("floorId")); |
| | | roomDto.setCommunityId(reqJson.getString("communityId")); |
| | | int count = roomV1InnerServiceSMOImpl.queryRoomsCount(roomDto); |
| | | if (count > 0) { |
| | | throw new IllegalArgumentException("请先删除楼栋下的房屋或者商铺"); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | |
| | | throw new CmdException("删除楼栋失败"); |
| | | } |
| | | |
| | | //todo 删除楼栋下的单元 |
| | | UnitDto unitDto = new UnitDto(); |
| | | unitDto.setFloorId(reqJson.getString("floorId")); |
| | | unitDto.setCommunityId(reqJson.getString("communityId")); |
| | | List<UnitDto> unitDtos = unitV1InnerServiceSMOImpl.queryUnits(unitDto); |
| | | |
| | | if (unitDtos == null || unitDtos.size() < 1) { |
| | | return; |
| | | } |
| | | |
| | | UnitPo unitPo = null; |
| | | for (UnitDto tmpUnitDto : unitDtos) { |
| | | unitPo = new UnitPo(); |
| | | unitPo.setUnitId(tmpUnitDto.getUnitId()); |
| | | unitV1InnerServiceSMOImpl.deleteUnit(unitPo); |
| | | } |
| | | |
| | | |
| | | cmdDataFlowContext.setResponseEntity(ResultVo.success()); |
| | | } |
| | | } |