From 12969ed9738bf0c905f228ae844e2bbf78575152 Mon Sep 17 00:00:00 2001 From: lishiwei <3230787218@qq.com> Date: Mon, 13 Jul 2026 16:16:02 +0800 Subject: [PATCH] =?UTF-8?q?feat():=20=E5=88=9D=E5=A7=8B=E5=8C=96=20?= =?UTF-8?q?=E6=B6=88=E9=98=B2=E6=8A=A5=E8=AD=A6=E5=9B=BA=E5=AE=9A=E4=BC=9A?= =?UTF-8?q?=E8=AE=AE=E5=AE=A4=20=E5=92=8C=20=E6=B6=88=E9=98=B2=E6=8A=A5?= =?UTF-8?q?=E8=AD=A6=E4=B8=89=E6=96=B9=E4=BC=9A=E8=AE=AE=E7=94=A8=E6=88=B7?= =?UTF-8?q?=20=E5=9F=BA=E7=A1=80=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/FireAlarmMeetingRoomController.java | 56 ++++++++ .../web/FireAlarmMeetingUserController.java | 56 ++++++++ .../FireAlarmMeetingRoomCoConvertor.java | 15 +++ .../FireAlarmMeetingUserCoConvertor.java | 15 +++ .../FireAlarmMeetingRoomServiceImpl.java | 110 +++++++++++++++ .../FireAlarmMeetingUserServiceImpl.java | 126 ++++++++++++++++++ .../service/FireBrigadeServiceImpl.java | 24 +--- .../api/FireAlarmMeetingRoomServiceI.java | 21 +++ .../api/FireAlarmMeetingUserServiceI.java | 21 +++ .../dto/FireAlarmMeetingRoomAddCmd.java | 36 +++++ .../dto/FireAlarmMeetingRoomPageQry.java | 18 +++ .../dto/FireAlarmMeetingRoomUpdateCmd.java | 14 ++ .../dto/FireAlarmMeetingUserAddCmd.java | 66 +++++++++ .../dto/FireAlarmMeetingUserPageQry.java | 24 ++++ .../dto/FireAlarmMeetingUserUpdateCmd.java | 14 ++ .../clientobject/FireAlarmMeetingRoomCO.java | 27 ++++ .../clientobject/FireAlarmMeetingUserCO.java | 32 +++++ .../dataobject/FireAlarmMeetingRoomDO.java | 29 ++++ .../dataobject/FireAlarmMeetingUserDO.java | 34 +++++ .../mapper/FireAlarmMeetingRoomMapper.java | 9 ++ .../mapper/FireAlarmMeetingUserMapper.java | 9 ++ .../FireAlarmMeetingRoomRepository.java | 16 +++ .../FireAlarmMeetingUserRepository.java | 18 +++ .../FireAlarmMeetingRoomRepositoryImpl.java | 78 +++++++++++ .../FireAlarmMeetingUserRepositoryImpl.java | 94 +++++++++++++ 25 files changed, 944 insertions(+), 18 deletions(-) create mode 100644 web-adapter/src/main/java/com/zcloud/zcGbsServicer/web/FireAlarmMeetingRoomController.java create mode 100644 web-adapter/src/main/java/com/zcloud/zcGbsServicer/web/FireAlarmMeetingUserController.java create mode 100644 web-app/src/main/java/com/zcloud/zcGbsServicer/command/convertor/FireAlarmMeetingRoomCoConvertor.java create mode 100644 web-app/src/main/java/com/zcloud/zcGbsServicer/command/convertor/FireAlarmMeetingUserCoConvertor.java create mode 100644 web-app/src/main/java/com/zcloud/zcGbsServicer/service/FireAlarmMeetingRoomServiceImpl.java create mode 100644 web-app/src/main/java/com/zcloud/zcGbsServicer/service/FireAlarmMeetingUserServiceImpl.java create mode 100644 web-client/src/main/java/com/zcloud/zcGbsServicer/api/FireAlarmMeetingRoomServiceI.java create mode 100644 web-client/src/main/java/com/zcloud/zcGbsServicer/api/FireAlarmMeetingUserServiceI.java create mode 100644 web-client/src/main/java/com/zcloud/zcGbsServicer/dto/FireAlarmMeetingRoomAddCmd.java create mode 100644 web-client/src/main/java/com/zcloud/zcGbsServicer/dto/FireAlarmMeetingRoomPageQry.java create mode 100644 web-client/src/main/java/com/zcloud/zcGbsServicer/dto/FireAlarmMeetingRoomUpdateCmd.java create mode 100644 web-client/src/main/java/com/zcloud/zcGbsServicer/dto/FireAlarmMeetingUserAddCmd.java create mode 100644 web-client/src/main/java/com/zcloud/zcGbsServicer/dto/FireAlarmMeetingUserPageQry.java create mode 100644 web-client/src/main/java/com/zcloud/zcGbsServicer/dto/FireAlarmMeetingUserUpdateCmd.java create mode 100644 web-client/src/main/java/com/zcloud/zcGbsServicer/dto/clientobject/FireAlarmMeetingRoomCO.java create mode 100644 web-client/src/main/java/com/zcloud/zcGbsServicer/dto/clientobject/FireAlarmMeetingUserCO.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/zcGbsServicer/persistence/dataobject/FireAlarmMeetingRoomDO.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/zcGbsServicer/persistence/dataobject/FireAlarmMeetingUserDO.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/zcGbsServicer/persistence/mapper/FireAlarmMeetingRoomMapper.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/zcGbsServicer/persistence/mapper/FireAlarmMeetingUserMapper.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/zcGbsServicer/persistence/repository/FireAlarmMeetingRoomRepository.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/zcGbsServicer/persistence/repository/FireAlarmMeetingUserRepository.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/zcGbsServicer/persistence/repository/impl/FireAlarmMeetingRoomRepositoryImpl.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/zcGbsServicer/persistence/repository/impl/FireAlarmMeetingUserRepositoryImpl.java diff --git a/web-adapter/src/main/java/com/zcloud/zcGbsServicer/web/FireAlarmMeetingRoomController.java b/web-adapter/src/main/java/com/zcloud/zcGbsServicer/web/FireAlarmMeetingRoomController.java new file mode 100644 index 0000000..522bc11 --- /dev/null +++ b/web-adapter/src/main/java/com/zcloud/zcGbsServicer/web/FireAlarmMeetingRoomController.java @@ -0,0 +1,56 @@ +package com.zcloud.zcGbsServicer.web; + +import com.alibaba.cola.dto.PageResponse; +import com.alibaba.cola.dto.Response; +import com.alibaba.cola.dto.SingleResponse; +import com.zcloud.zcGbsServicer.api.FireAlarmMeetingRoomServiceI; +import com.zcloud.zcGbsServicer.dto.FireAlarmMeetingRoomAddCmd; +import com.zcloud.zcGbsServicer.dto.FireAlarmMeetingRoomPageQry; +import com.zcloud.zcGbsServicer.dto.FireAlarmMeetingRoomUpdateCmd; +import com.zcloud.zcGbsServicer.dto.clientobject.FireAlarmMeetingRoomCO; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +@Api(tags = "消防报警固定会议室") +@RestController +@AllArgsConstructor +@RequestMapping("/${application.gateway}/meetingRoom") +public class FireAlarmMeetingRoomController { + + private final FireAlarmMeetingRoomServiceI fireAlarmMeetingRoomService; + + @ApiOperation("分页查询") + @PostMapping("/list") + public PageResponse list(@RequestBody FireAlarmMeetingRoomPageQry qry) { + return fireAlarmMeetingRoomService.listPage(qry); + } + + @ApiOperation("新增") + @PostMapping("/save") + public SingleResponse save(@Validated @RequestBody FireAlarmMeetingRoomAddCmd cmd) { + return fireAlarmMeetingRoomService.add(cmd); + } + + @ApiOperation("编辑") + @PutMapping("/edit") + public Response edit(@Validated @RequestBody FireAlarmMeetingRoomUpdateCmd cmd) { + fireAlarmMeetingRoomService.edit(cmd); + return Response.buildSuccess(); + } + + @ApiOperation("详情") + @GetMapping("/{id}") + public SingleResponse get(@PathVariable Long id) { + return SingleResponse.of(fireAlarmMeetingRoomService.get(id)); + } + + @ApiOperation("删除") + @DeleteMapping("/{id}") + public Response remove(@PathVariable Long id) { + fireAlarmMeetingRoomService.remove(id); + return Response.buildSuccess(); + } +} diff --git a/web-adapter/src/main/java/com/zcloud/zcGbsServicer/web/FireAlarmMeetingUserController.java b/web-adapter/src/main/java/com/zcloud/zcGbsServicer/web/FireAlarmMeetingUserController.java new file mode 100644 index 0000000..ff25d07 --- /dev/null +++ b/web-adapter/src/main/java/com/zcloud/zcGbsServicer/web/FireAlarmMeetingUserController.java @@ -0,0 +1,56 @@ +package com.zcloud.zcGbsServicer.web; + +import com.alibaba.cola.dto.PageResponse; +import com.alibaba.cola.dto.Response; +import com.alibaba.cola.dto.SingleResponse; +import com.zcloud.zcGbsServicer.api.FireAlarmMeetingUserServiceI; +import com.zcloud.zcGbsServicer.dto.FireAlarmMeetingUserAddCmd; +import com.zcloud.zcGbsServicer.dto.FireAlarmMeetingUserPageQry; +import com.zcloud.zcGbsServicer.dto.FireAlarmMeetingUserUpdateCmd; +import com.zcloud.zcGbsServicer.dto.clientobject.FireAlarmMeetingUserCO; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +@Api(tags = "消防报警会议用户") +@RestController +@AllArgsConstructor +@RequestMapping("/${application.gateway}/meetingUser") +public class FireAlarmMeetingUserController { + + private final FireAlarmMeetingUserServiceI fireAlarmMeetingUserService; + + @ApiOperation("分页查询") + @PostMapping("/list") + public PageResponse list(@RequestBody FireAlarmMeetingUserPageQry qry) { + return fireAlarmMeetingUserService.listPage(qry); + } + + @ApiOperation("新增") + @PostMapping("/save") + public SingleResponse save(@Validated @RequestBody FireAlarmMeetingUserAddCmd cmd) { + return fireAlarmMeetingUserService.add(cmd); + } + + @ApiOperation("编辑") + @PutMapping("/edit") + public Response edit(@Validated @RequestBody FireAlarmMeetingUserUpdateCmd cmd) { + fireAlarmMeetingUserService.edit(cmd); + return Response.buildSuccess(); + } + + @ApiOperation("详情") + @GetMapping("/{id}") + public SingleResponse get(@PathVariable Long id) { + return SingleResponse.of(fireAlarmMeetingUserService.get(id)); + } + + @ApiOperation("删除") + @DeleteMapping("/{id}") + public Response remove(@PathVariable Long id) { + fireAlarmMeetingUserService.remove(id); + return Response.buildSuccess(); + } +} diff --git a/web-app/src/main/java/com/zcloud/zcGbsServicer/command/convertor/FireAlarmMeetingRoomCoConvertor.java b/web-app/src/main/java/com/zcloud/zcGbsServicer/command/convertor/FireAlarmMeetingRoomCoConvertor.java new file mode 100644 index 0000000..f1e30c5 --- /dev/null +++ b/web-app/src/main/java/com/zcloud/zcGbsServicer/command/convertor/FireAlarmMeetingRoomCoConvertor.java @@ -0,0 +1,15 @@ +package com.zcloud.zcGbsServicer.command.convertor; + +import com.zcloud.zcGbsServicer.dto.clientobject.FireAlarmMeetingRoomCO; +import com.zcloud.zcGbsServicer.persistence.dataobject.FireAlarmMeetingRoomDO; +import org.mapstruct.Mapper; + +import java.util.List; + +@Mapper(componentModel = "spring") +public interface FireAlarmMeetingRoomCoConvertor { + + List converDOsToCOs(List fireAlarmMeetingRoomDOs); + + FireAlarmMeetingRoomCO converDOToCO(FireAlarmMeetingRoomDO fireAlarmMeetingRoomDO); +} diff --git a/web-app/src/main/java/com/zcloud/zcGbsServicer/command/convertor/FireAlarmMeetingUserCoConvertor.java b/web-app/src/main/java/com/zcloud/zcGbsServicer/command/convertor/FireAlarmMeetingUserCoConvertor.java new file mode 100644 index 0000000..664574f --- /dev/null +++ b/web-app/src/main/java/com/zcloud/zcGbsServicer/command/convertor/FireAlarmMeetingUserCoConvertor.java @@ -0,0 +1,15 @@ +package com.zcloud.zcGbsServicer.command.convertor; + +import com.zcloud.zcGbsServicer.dto.clientobject.FireAlarmMeetingUserCO; +import com.zcloud.zcGbsServicer.persistence.dataobject.FireAlarmMeetingUserDO; +import org.mapstruct.Mapper; + +import java.util.List; + +@Mapper(componentModel = "spring") +public interface FireAlarmMeetingUserCoConvertor { + + List converDOsToCOs(List fireAlarmMeetingUserDOs); + + FireAlarmMeetingUserCO converDOToCO(FireAlarmMeetingUserDO fireAlarmMeetingUserDO); +} diff --git a/web-app/src/main/java/com/zcloud/zcGbsServicer/service/FireAlarmMeetingRoomServiceImpl.java b/web-app/src/main/java/com/zcloud/zcGbsServicer/service/FireAlarmMeetingRoomServiceImpl.java new file mode 100644 index 0000000..d97d324 --- /dev/null +++ b/web-app/src/main/java/com/zcloud/zcGbsServicer/service/FireAlarmMeetingRoomServiceImpl.java @@ -0,0 +1,110 @@ +package com.zcloud.zcGbsServicer.service; + +import cn.hutool.core.util.IdUtil; +import com.alibaba.cola.dto.PageResponse; +import com.alibaba.cola.dto.SingleResponse; +import com.alibaba.cola.exception.BizException; +import com.zcloud.zcGbsServicer.api.FireAlarmMeetingRoomServiceI; +import com.zcloud.zcGbsServicer.command.convertor.FireAlarmMeetingRoomCoConvertor; +import com.zcloud.zcGbsServicer.dto.FireAlarmMeetingRoomAddCmd; +import com.zcloud.zcGbsServicer.dto.FireAlarmMeetingRoomPageQry; +import com.zcloud.zcGbsServicer.dto.FireAlarmMeetingRoomUpdateCmd; +import com.zcloud.zcGbsServicer.dto.clientobject.FireAlarmMeetingRoomCO; +import com.zcloud.zcGbsServicer.persistence.dataobject.FireAlarmMeetingRoomDO; +import com.zcloud.zcGbsServicer.persistence.repository.FireAlarmMeetingRoomRepository; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.HashMap; +import java.util.Map; +import java.util.UUID; + +@Service +@RequiredArgsConstructor +public class FireAlarmMeetingRoomServiceImpl extends FireAlarmServiceSupport implements FireAlarmMeetingRoomServiceI { + + private final FireAlarmMeetingRoomRepository fireAlarmMeetingRoomRepository; + private final FireAlarmMeetingRoomCoConvertor fireAlarmMeetingRoomCoConvertor; + + @Override + public PageResponse listPage(FireAlarmMeetingRoomPageQry qry) { + Map params = new HashMap<>(); + params.put("pageIndex", qry.getPageIndex()); + params.put("pageSize", qry.getPageSize()); + params.put("roomCode", qry.getRoomCode()); + params.put("roomName", qry.getRoomName()); + params.put("roomStatus", qry.getRoomStatus()); + PageResponse page = fireAlarmMeetingRoomRepository.listPage(params); + return PageResponse.of(fireAlarmMeetingRoomCoConvertor.converDOsToCOs(page.getData()), + page.getTotalCount(), page.getPageSize(), page.getPageIndex()); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public SingleResponse add(FireAlarmMeetingRoomAddCmd cmd) { + if (fireAlarmMeetingRoomRepository.existsByRoomCode(cmd.getRoomCode(), null)) { + throw new BizException("会议室编码已存在"); + } + FireAlarmMeetingRoomDO room = new FireAlarmMeetingRoomDO(); + room.setId(nextId()); + room.setFireAlarmMeetingRoomId(nextBizId()); + room.setRebuildCount(0); + fillCreateAudit(room); + fillRoom(room, cmd); + fireAlarmMeetingRoomRepository.save(room); + return SingleResponse.of(fireAlarmMeetingRoomCoConvertor.converDOToCO(room)); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void edit(FireAlarmMeetingRoomUpdateCmd cmd) { + FireAlarmMeetingRoomDO room = fireAlarmMeetingRoomRepository.getById(cmd.getId()); + if (room == null) { + throw new BizException("会议室不存在"); + } + if (fireAlarmMeetingRoomRepository.existsByRoomCode(cmd.getRoomCode(), cmd.getId())) { + throw new BizException("会议室编码已存在"); + } + fillUpdateAudit(room); + fillRoom(room, cmd); + fireAlarmMeetingRoomRepository.updateById(room); + } + + @Override + public FireAlarmMeetingRoomCO get(Long id) { + FireAlarmMeetingRoomDO room = fireAlarmMeetingRoomRepository.getById(id); + if (room == null) { + throw new BizException("会议室不存在"); + } + return fireAlarmMeetingRoomCoConvertor.converDOToCO(room); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void remove(Long id) { + FireAlarmMeetingRoomDO room = fireAlarmMeetingRoomRepository.getById(id); + if (room == null) { + throw new BizException("会议室不存在"); + } + fireAlarmMeetingRoomRepository.removeById(id); + } + + private void fillRoom(FireAlarmMeetingRoomDO room, FireAlarmMeetingRoomAddCmd cmd) { + room.setRoomCode(cmd.getRoomCode()); + room.setRoomName(cmd.getRoomName()); + room.setThirdRoomId(cmd.getThirdRoomId()); + room.setThirdRoomNo(cmd.getThirdRoomNo()); + room.setRoomPasswordCipher(cmd.getRoomPasswordCipher()); + room.setRoomStatus(cmd.getRoomStatus()); + room.setRemarks(cmd.getRemarks()); + } + + private long nextId() { + return IdUtil.getSnowflake(1, 1).nextId(); + } + + private String nextBizId() { + return UUID.randomUUID().toString().replace("-", ""); + } +} diff --git a/web-app/src/main/java/com/zcloud/zcGbsServicer/service/FireAlarmMeetingUserServiceImpl.java b/web-app/src/main/java/com/zcloud/zcGbsServicer/service/FireAlarmMeetingUserServiceImpl.java new file mode 100644 index 0000000..e295a78 --- /dev/null +++ b/web-app/src/main/java/com/zcloud/zcGbsServicer/service/FireAlarmMeetingUserServiceImpl.java @@ -0,0 +1,126 @@ +package com.zcloud.zcGbsServicer.service; + +import cn.hutool.core.util.IdUtil; +import com.alibaba.cola.dto.PageResponse; +import com.alibaba.cola.dto.SingleResponse; +import com.alibaba.cola.exception.BizException; +import com.zcloud.zcGbsServicer.command.convertor.FireAlarmMeetingUserCoConvertor; +import com.zcloud.zcGbsServicer.api.FireAlarmMeetingUserServiceI; +import com.zcloud.zcGbsServicer.dto.FireAlarmMeetingUserAddCmd; +import com.zcloud.zcGbsServicer.dto.FireAlarmMeetingUserPageQry; +import com.zcloud.zcGbsServicer.dto.FireAlarmMeetingUserUpdateCmd; +import com.zcloud.zcGbsServicer.dto.clientobject.FireAlarmMeetingUserCO; +import com.zcloud.zcGbsServicer.persistence.dataobject.FireAlarmMeetingUserDO; +import com.zcloud.zcGbsServicer.persistence.dataobject.FireBrigadeDO; +import com.zcloud.zcGbsServicer.persistence.repository.FireAlarmMeetingUserRepository; +import com.zcloud.zcGbsServicer.persistence.repository.FireBrigadeRepository; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.HashMap; +import java.util.Map; +import java.util.UUID; +import java.util.stream.Collectors; + +@Service +@RequiredArgsConstructor +public class FireAlarmMeetingUserServiceImpl extends FireAlarmServiceSupport implements FireAlarmMeetingUserServiceI { + + private final FireAlarmMeetingUserRepository fireAlarmMeetingUserRepository; + private final FireBrigadeRepository fireBrigadeRepository; + private final FireAlarmMeetingUserCoConvertor fireAlarmMeetingUserCoConvertor; + + @Override + public PageResponse listPage(FireAlarmMeetingUserPageQry qry) { + Map params = new HashMap<>(); + params.put("pageIndex", qry.getPageIndex()); + params.put("pageSize", qry.getPageSize()); + params.put("localUserName", qry.getLocalUserName()); + params.put("fireBrigadeName", qry.getFireBrigadeName()); + params.put("userType", qry.getUserType()); + params.put("authStatus", qry.getAuthStatus()); + params.put("syncStatus", qry.getSyncStatus()); + PageResponse page = fireAlarmMeetingUserRepository.listPage(params); + return PageResponse.of(fireAlarmMeetingUserCoConvertor.converDOsToCOs(page.getData()), + page.getTotalCount(), page.getPageSize(), page.getPageIndex()); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public SingleResponse add(FireAlarmMeetingUserAddCmd cmd) { + if (fireAlarmMeetingUserRepository.existsByLocalUserId(cmd.getLocalUserId(), null)) { + throw new BizException("会议用户已存在"); + } + FireAlarmMeetingUserDO user = new FireAlarmMeetingUserDO(); + user.setId(nextId()); + user.setFireAlarmMeetingUserId(nextBizId()); + fillCreateAudit(user); + fillMeetingUser(user, cmd); + fireAlarmMeetingUserRepository.save(user); + return SingleResponse.of(fireAlarmMeetingUserCoConvertor.converDOToCO(user)); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void edit(FireAlarmMeetingUserUpdateCmd cmd) { + FireAlarmMeetingUserDO user = fireAlarmMeetingUserRepository.getById(cmd.getId()); + if (user == null) { + throw new BizException("会议用户不存在"); + } + if (fireAlarmMeetingUserRepository.existsByLocalUserId(cmd.getLocalUserId(), cmd.getId())) { + throw new BizException("会议用户已存在"); + } + fillUpdateAudit(user); + fillMeetingUser(user, cmd); + fireAlarmMeetingUserRepository.updateById(user); + } + + @Override + public FireAlarmMeetingUserCO get(Long id) { + FireAlarmMeetingUserDO user = fireAlarmMeetingUserRepository.getById(id); + if (user == null) { + throw new BizException("会议用户不存在"); + } + return fireAlarmMeetingUserCoConvertor.converDOToCO(user); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void remove(Long id) { + FireAlarmMeetingUserDO user = fireAlarmMeetingUserRepository.getById(id); + if (user == null) { + throw new BizException("会议用户不存在"); + } + fireAlarmMeetingUserRepository.removeById(id); + } + + private void fillMeetingUser(FireAlarmMeetingUserDO user, FireAlarmMeetingUserAddCmd cmd) { + user.setLocalUserId(cmd.getLocalUserId()); + user.setLocalUserName(cmd.getLocalUserName()); + user.setLocalPhone(cmd.getLocalPhone()); + user.setUserType(cmd.getUserType()); + FireBrigadeDO brigade = cmd.getFireBrigadePkId() == null ? null : fireBrigadeRepository.getById(cmd.getFireBrigadePkId()); + user.setFireBrigadeId(brigade == null ? null : brigade.getFireBrigadeId()); + user.setFireBrigadeName(brigade == null ? cmd.getFireBrigadeName() : brigade.getBrigadeName()); + user.setThirdUserId(cmd.getThirdUserId()); + user.setThirdUserName(cmd.getThirdUserName()); + user.setThirdNickName(cmd.getThirdNickName()); + user.setThirdDepartId(cmd.getThirdDepartId()); + user.setThirdDepartName(cmd.getThirdDepartName()); + user.setAuthRoomId(cmd.getAuthRoomId()); + user.setAuthRoomName(cmd.getAuthRoomName()); + user.setAuthStatus(cmd.getAuthStatus()); + user.setSyncStatus(cmd.getSyncStatus()); + user.setSyncMsg(cmd.getSyncMsg()); + user.setRemarks(cmd.getRemarks()); + } + + private long nextId() { + return IdUtil.getSnowflake(1, 1).nextId(); + } + + private String nextBizId() { + return UUID.randomUUID().toString().replace("-", ""); + } +} diff --git a/web-app/src/main/java/com/zcloud/zcGbsServicer/service/FireBrigadeServiceImpl.java b/web-app/src/main/java/com/zcloud/zcGbsServicer/service/FireBrigadeServiceImpl.java index 3071881..259ffb3 100644 --- a/web-app/src/main/java/com/zcloud/zcGbsServicer/service/FireBrigadeServiceImpl.java +++ b/web-app/src/main/java/com/zcloud/zcGbsServicer/service/FireBrigadeServiceImpl.java @@ -12,10 +12,8 @@ import com.zcloud.zcGbsServicer.dto.FireBrigadeAddCmd; import com.zcloud.zcGbsServicer.dto.FireBrigadePageQry; import com.zcloud.zcGbsServicer.dto.FireBrigadeUpdateCmd; import com.zcloud.zcGbsServicer.dto.clientobject.FireBrigadeCO; -import com.zcloud.zcGbsServicer.persistence.dataobject.FireAlarmMeetingMemberStatusDO; import com.zcloud.zcGbsServicer.persistence.dataobject.FireBrigadeDO; import com.zcloud.zcGbsServicer.persistence.dataobject.FireBrigadeUserDO; -import com.zcloud.zcGbsServicer.persistence.repository.FireAlarmMeetingMemberStatusRepository; import com.zcloud.zcGbsServicer.persistence.repository.FireBrigadeRepository; import com.zcloud.zcGbsServicer.persistence.repository.FireBrigadeUserRepository; import lombok.RequiredArgsConstructor; @@ -36,7 +34,6 @@ public class FireBrigadeServiceImpl extends FireAlarmServiceSupport implements F private final FireBrigadeRepository fireBrigadeRepository; private final FireBrigadeUserRepository fireBrigadeUserRepository; - private final FireAlarmMeetingMemberStatusRepository fireAlarmMeetingMemberStatusRepository; private final FireAlarmUserResolver fireAlarmUserResolver; private final FireBrigadeCoConvertor fireBrigadeCoConvertor; @@ -48,9 +45,8 @@ public class FireBrigadeServiceImpl extends FireAlarmServiceSupport implements F params.put("brigadeName", qry.getName()); PageResponse page = fireBrigadeRepository.listPage(params); Map userMap = getLeaderUserMap(page.getData()); - Set onlineBrigadeIdSet = getOnlineBrigadeIdSet(); List data = page.getData().stream() - .map(item -> buildCO(item, userMap, onlineBrigadeIdSet)) + .map(item -> buildCO(item, userMap)) .collect(Collectors.toList()); return PageResponse.of(data, page.getTotalCount(), page.getPageSize(), page.getPageIndex()); } @@ -71,7 +67,7 @@ public class FireBrigadeServiceImpl extends FireAlarmServiceSupport implements F fillBrigade(brigade, cmd); fireBrigadeRepository.save(brigade); ensureLeaderRelation(brigade); - return SingleResponse.of(buildCO(brigade, getLeaderUserMap(Collections.singletonList(brigade)), getOnlineBrigadeIdSet())); + return SingleResponse.of(buildCO(brigade, getLeaderUserMap(Collections.singletonList(brigade)))); } @Override @@ -99,7 +95,7 @@ public class FireBrigadeServiceImpl extends FireAlarmServiceSupport implements F if (brigade == null) { throw new BizException("消防队伍不存在"); } - return buildCO(brigade, getLeaderUserMap(Collections.singletonList(brigade)), getOnlineBrigadeIdSet()); + return buildCO(brigade, getLeaderUserMap(Collections.singletonList(brigade))); } @Override @@ -163,26 +159,18 @@ public class FireBrigadeServiceImpl extends FireAlarmServiceSupport implements F relation.setOrgName(brigade.getLeaderDeptName()); } - private FireBrigadeCO buildCO(FireBrigadeDO brigade, Map userMap, Set onlineBrigadeIdSet) { + private FireBrigadeCO buildCO(FireBrigadeDO brigade, Map userMap) { FireBrigadeCO co = fireBrigadeCoConvertor.converDOToCO(brigade); ZcloudUserCo leader = brigade.getLeaderUserId() == null ? null : userMap.get(brigade.getLeaderUserId()); co.setLeaderDeptName(selectText(leader == null ? null : leader.getDepartmentName(), co.getLeaderDeptName())); co.setLeaderName(selectText(leader == null ? null : leader.getName(), co.getLeaderName())); co.setLeaderPhone(selectText(leader == null ? null : leader.getPhone(), co.getLeaderPhone())); co.setMemberCount(fireBrigadeUserRepository.listByFireBrigadeId(brigade.getFireBrigadeId()).size()); - boolean online = onlineBrigadeIdSet.contains(brigade.getFireBrigadeId()); - co.setOnline(online); - co.setOnlineText(online ? "在线" : "未在线"); + co.setOnline(Boolean.FALSE); + co.setOnlineText("未统计"); return co; } - private Set getOnlineBrigadeIdSet() { - return fireAlarmMeetingMemberStatusRepository.listOnlineList().stream() - .map(FireAlarmMeetingMemberStatusDO::getFireBrigadeId) - .filter(StrUtil::isNotBlank) - .collect(Collectors.toSet()); - } - private String selectText(String preferred, String fallback) { return StrUtil.isNotBlank(preferred) ? preferred : fallback; } diff --git a/web-client/src/main/java/com/zcloud/zcGbsServicer/api/FireAlarmMeetingRoomServiceI.java b/web-client/src/main/java/com/zcloud/zcGbsServicer/api/FireAlarmMeetingRoomServiceI.java new file mode 100644 index 0000000..40885aa --- /dev/null +++ b/web-client/src/main/java/com/zcloud/zcGbsServicer/api/FireAlarmMeetingRoomServiceI.java @@ -0,0 +1,21 @@ +package com.zcloud.zcGbsServicer.api; + +import com.alibaba.cola.dto.PageResponse; +import com.alibaba.cola.dto.SingleResponse; +import com.zcloud.zcGbsServicer.dto.FireAlarmMeetingRoomAddCmd; +import com.zcloud.zcGbsServicer.dto.FireAlarmMeetingRoomPageQry; +import com.zcloud.zcGbsServicer.dto.FireAlarmMeetingRoomUpdateCmd; +import com.zcloud.zcGbsServicer.dto.clientobject.FireAlarmMeetingRoomCO; + +public interface FireAlarmMeetingRoomServiceI { + + PageResponse listPage(FireAlarmMeetingRoomPageQry qry); + + SingleResponse add(FireAlarmMeetingRoomAddCmd cmd); + + void edit(FireAlarmMeetingRoomUpdateCmd cmd); + + FireAlarmMeetingRoomCO get(Long id); + + void remove(Long id); +} diff --git a/web-client/src/main/java/com/zcloud/zcGbsServicer/api/FireAlarmMeetingUserServiceI.java b/web-client/src/main/java/com/zcloud/zcGbsServicer/api/FireAlarmMeetingUserServiceI.java new file mode 100644 index 0000000..9fa5cb5 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/zcGbsServicer/api/FireAlarmMeetingUserServiceI.java @@ -0,0 +1,21 @@ +package com.zcloud.zcGbsServicer.api; + +import com.alibaba.cola.dto.PageResponse; +import com.alibaba.cola.dto.SingleResponse; +import com.zcloud.zcGbsServicer.dto.FireAlarmMeetingUserAddCmd; +import com.zcloud.zcGbsServicer.dto.FireAlarmMeetingUserPageQry; +import com.zcloud.zcGbsServicer.dto.FireAlarmMeetingUserUpdateCmd; +import com.zcloud.zcGbsServicer.dto.clientobject.FireAlarmMeetingUserCO; + +public interface FireAlarmMeetingUserServiceI { + + PageResponse listPage(FireAlarmMeetingUserPageQry qry); + + SingleResponse add(FireAlarmMeetingUserAddCmd cmd); + + void edit(FireAlarmMeetingUserUpdateCmd cmd); + + FireAlarmMeetingUserCO get(Long id); + + void remove(Long id); +} diff --git a/web-client/src/main/java/com/zcloud/zcGbsServicer/dto/FireAlarmMeetingRoomAddCmd.java b/web-client/src/main/java/com/zcloud/zcGbsServicer/dto/FireAlarmMeetingRoomAddCmd.java new file mode 100644 index 0000000..3c157e1 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/zcGbsServicer/dto/FireAlarmMeetingRoomAddCmd.java @@ -0,0 +1,36 @@ +package com.zcloud.zcGbsServicer.dto; + +import com.alibaba.cola.dto.Command; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; + +@Data +public class FireAlarmMeetingRoomAddCmd extends Command { + + @NotBlank + @ApiModelProperty("房间编码") + private String roomCode; + + @NotBlank + @ApiModelProperty("房间名称") + private String roomName; + + @ApiModelProperty("三方会议室ID") + private String thirdRoomId; + + @ApiModelProperty("三方会议室号") + private String thirdRoomNo; + + @ApiModelProperty("会议室密码密文") + private String roomPasswordCipher; + + @NotNull + @ApiModelProperty("房间状态") + private Integer roomStatus; + + @ApiModelProperty("备注") + private String remarks; +} diff --git a/web-client/src/main/java/com/zcloud/zcGbsServicer/dto/FireAlarmMeetingRoomPageQry.java b/web-client/src/main/java/com/zcloud/zcGbsServicer/dto/FireAlarmMeetingRoomPageQry.java new file mode 100644 index 0000000..4838ecb --- /dev/null +++ b/web-client/src/main/java/com/zcloud/zcGbsServicer/dto/FireAlarmMeetingRoomPageQry.java @@ -0,0 +1,18 @@ +package com.zcloud.zcGbsServicer.dto; + +import com.alibaba.cola.dto.PageQuery; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class FireAlarmMeetingRoomPageQry extends PageQuery { + + @ApiModelProperty("房间编码") + private String roomCode; + + @ApiModelProperty("房间名称") + private String roomName; + + @ApiModelProperty("房间状态") + private Integer roomStatus; +} diff --git a/web-client/src/main/java/com/zcloud/zcGbsServicer/dto/FireAlarmMeetingRoomUpdateCmd.java b/web-client/src/main/java/com/zcloud/zcGbsServicer/dto/FireAlarmMeetingRoomUpdateCmd.java new file mode 100644 index 0000000..76e66b4 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/zcGbsServicer/dto/FireAlarmMeetingRoomUpdateCmd.java @@ -0,0 +1,14 @@ +package com.zcloud.zcGbsServicer.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +@Data +public class FireAlarmMeetingRoomUpdateCmd extends FireAlarmMeetingRoomAddCmd { + + @NotNull + @ApiModelProperty("主键ID") + private Long id; +} diff --git a/web-client/src/main/java/com/zcloud/zcGbsServicer/dto/FireAlarmMeetingUserAddCmd.java b/web-client/src/main/java/com/zcloud/zcGbsServicer/dto/FireAlarmMeetingUserAddCmd.java new file mode 100644 index 0000000..44fc748 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/zcGbsServicer/dto/FireAlarmMeetingUserAddCmd.java @@ -0,0 +1,66 @@ +package com.zcloud.zcGbsServicer.dto; + +import com.alibaba.cola.dto.Command; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; + +@Data +public class FireAlarmMeetingUserAddCmd extends Command { + + @NotNull + @ApiModelProperty("本地用户ID") + private Long localUserId; + + @NotBlank + @ApiModelProperty("本地用户名称") + private String localUserName; + + @ApiModelProperty("本地手机号") + private String localPhone; + + @NotNull + @ApiModelProperty("用户类型") + private Integer userType; + + @ApiModelProperty("消防队伍主键ID") + private Long fireBrigadePkId; + + @ApiModelProperty("消防队伍名称") + private String fireBrigadeName; + + @ApiModelProperty("三方用户ID") + private String thirdUserId; + + @ApiModelProperty("三方用户账号") + private String thirdUserName; + + @ApiModelProperty("三方用户昵称") + private String thirdNickName; + + @ApiModelProperty("三方部门ID") + private String thirdDepartId; + + @ApiModelProperty("三方部门名称") + private String thirdDepartName; + + @ApiModelProperty("最近授权会议室ID") + private String authRoomId; + + @ApiModelProperty("最近授权会议室名称") + private String authRoomName; + + @ApiModelProperty("授权状态") + private Integer authStatus; + + @ApiModelProperty("同步状态") + private Integer syncStatus; + + @ApiModelProperty("同步结果") + private String syncMsg; + + @ApiModelProperty("备注") + private String remarks; +} diff --git a/web-client/src/main/java/com/zcloud/zcGbsServicer/dto/FireAlarmMeetingUserPageQry.java b/web-client/src/main/java/com/zcloud/zcGbsServicer/dto/FireAlarmMeetingUserPageQry.java new file mode 100644 index 0000000..25d69ad --- /dev/null +++ b/web-client/src/main/java/com/zcloud/zcGbsServicer/dto/FireAlarmMeetingUserPageQry.java @@ -0,0 +1,24 @@ +package com.zcloud.zcGbsServicer.dto; + +import com.alibaba.cola.dto.PageQuery; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class FireAlarmMeetingUserPageQry extends PageQuery { + + @ApiModelProperty("本地用户名称") + private String localUserName; + + @ApiModelProperty("消防队伍名称") + private String fireBrigadeName; + + @ApiModelProperty("用户类型") + private Integer userType; + + @ApiModelProperty("授权状态") + private Integer authStatus; + + @ApiModelProperty("同步状态") + private Integer syncStatus; +} diff --git a/web-client/src/main/java/com/zcloud/zcGbsServicer/dto/FireAlarmMeetingUserUpdateCmd.java b/web-client/src/main/java/com/zcloud/zcGbsServicer/dto/FireAlarmMeetingUserUpdateCmd.java new file mode 100644 index 0000000..a264a28 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/zcGbsServicer/dto/FireAlarmMeetingUserUpdateCmd.java @@ -0,0 +1,14 @@ +package com.zcloud.zcGbsServicer.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +@Data +public class FireAlarmMeetingUserUpdateCmd extends FireAlarmMeetingUserAddCmd { + + @NotNull + @ApiModelProperty("主键ID") + private Long id; +} diff --git a/web-client/src/main/java/com/zcloud/zcGbsServicer/dto/clientobject/FireAlarmMeetingRoomCO.java b/web-client/src/main/java/com/zcloud/zcGbsServicer/dto/clientobject/FireAlarmMeetingRoomCO.java new file mode 100644 index 0000000..84b1c9e --- /dev/null +++ b/web-client/src/main/java/com/zcloud/zcGbsServicer/dto/clientobject/FireAlarmMeetingRoomCO.java @@ -0,0 +1,27 @@ +package com.zcloud.zcGbsServicer.dto.clientobject; + +import com.alibaba.cola.dto.ClientObject; +import lombok.Data; + +import java.time.LocalDateTime; + +@Data +public class FireAlarmMeetingRoomCO extends ClientObject { + + private Long id; + private String fireAlarmMeetingRoomId; + private String roomCode; + private String roomName; + private String thirdRoomId; + private String thirdRoomNo; + private String roomPasswordCipher; + private Integer roomStatus; + private LocalDateTime lastCheckTime; + private Integer lastCheckStatus; + private String lastCheckMsg; + private LocalDateTime lastRebuildTime; + private Integer lastRebuildStatus; + private String lastRebuildMsg; + private Integer rebuildCount; + private String remarks; +} diff --git a/web-client/src/main/java/com/zcloud/zcGbsServicer/dto/clientobject/FireAlarmMeetingUserCO.java b/web-client/src/main/java/com/zcloud/zcGbsServicer/dto/clientobject/FireAlarmMeetingUserCO.java new file mode 100644 index 0000000..522f690 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/zcGbsServicer/dto/clientobject/FireAlarmMeetingUserCO.java @@ -0,0 +1,32 @@ +package com.zcloud.zcGbsServicer.dto.clientobject; + +import com.alibaba.cola.dto.ClientObject; +import lombok.Data; + +import java.time.LocalDateTime; + +@Data +public class FireAlarmMeetingUserCO extends ClientObject { + + private Long id; + private String fireAlarmMeetingUserId; + private Long localUserId; + private String localUserName; + private String localPhone; + private Integer userType; + private String fireBrigadeId; + private String fireBrigadeName; + private String thirdUserId; + private String thirdUserName; + private String thirdNickName; + private String thirdDepartId; + private String thirdDepartName; + private String authRoomId; + private String authRoomName; + private Integer authStatus; + private LocalDateTime authTime; + private Integer syncStatus; + private String syncMsg; + private LocalDateTime lastSyncTime; + private String remarks; +} diff --git a/web-infrastructure/src/main/java/com/zcloud/zcGbsServicer/persistence/dataobject/FireAlarmMeetingRoomDO.java b/web-infrastructure/src/main/java/com/zcloud/zcGbsServicer/persistence/dataobject/FireAlarmMeetingRoomDO.java new file mode 100644 index 0000000..574ce19 --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/zcGbsServicer/persistence/dataobject/FireAlarmMeetingRoomDO.java @@ -0,0 +1,29 @@ +package com.zcloud.zcGbsServicer.persistence.dataobject; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.jjb.saas.framework.repository.basedo.BaseDO; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.time.LocalDateTime; + +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("fire_alarm_meeting_room") +public class FireAlarmMeetingRoomDO extends BaseDO { + + private String fireAlarmMeetingRoomId; + private String roomCode; + private String roomName; + private String thirdRoomId; + private String thirdRoomNo; + private String roomPasswordCipher; + private Integer roomStatus; + private LocalDateTime lastCheckTime; + private Integer lastCheckStatus; + private String lastCheckMsg; + private LocalDateTime lastRebuildTime; + private Integer lastRebuildStatus; + private String lastRebuildMsg; + private Integer rebuildCount; +} diff --git a/web-infrastructure/src/main/java/com/zcloud/zcGbsServicer/persistence/dataobject/FireAlarmMeetingUserDO.java b/web-infrastructure/src/main/java/com/zcloud/zcGbsServicer/persistence/dataobject/FireAlarmMeetingUserDO.java new file mode 100644 index 0000000..5b39259 --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/zcGbsServicer/persistence/dataobject/FireAlarmMeetingUserDO.java @@ -0,0 +1,34 @@ +package com.zcloud.zcGbsServicer.persistence.dataobject; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.jjb.saas.framework.repository.basedo.BaseDO; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.time.LocalDateTime; + +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("fire_alarm_meeting_user") +public class FireAlarmMeetingUserDO extends BaseDO { + + private String fireAlarmMeetingUserId; + private Long localUserId; + private String localUserName; + private String localPhone; + private Integer userType; + private String fireBrigadeId; + private String fireBrigadeName; + private String thirdUserId; + private String thirdUserName; + private String thirdNickName; + private String thirdDepartId; + private String thirdDepartName; + private String authRoomId; + private String authRoomName; + private Integer authStatus; + private LocalDateTime authTime; + private Integer syncStatus; + private String syncMsg; + private LocalDateTime lastSyncTime; +} diff --git a/web-infrastructure/src/main/java/com/zcloud/zcGbsServicer/persistence/mapper/FireAlarmMeetingRoomMapper.java b/web-infrastructure/src/main/java/com/zcloud/zcGbsServicer/persistence/mapper/FireAlarmMeetingRoomMapper.java new file mode 100644 index 0000000..fdfc106 --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/zcGbsServicer/persistence/mapper/FireAlarmMeetingRoomMapper.java @@ -0,0 +1,9 @@ +package com.zcloud.zcGbsServicer.persistence.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.zcloud.zcGbsServicer.persistence.dataobject.FireAlarmMeetingRoomDO; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface FireAlarmMeetingRoomMapper extends BaseMapper { +} diff --git a/web-infrastructure/src/main/java/com/zcloud/zcGbsServicer/persistence/mapper/FireAlarmMeetingUserMapper.java b/web-infrastructure/src/main/java/com/zcloud/zcGbsServicer/persistence/mapper/FireAlarmMeetingUserMapper.java new file mode 100644 index 0000000..e99d51b --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/zcGbsServicer/persistence/mapper/FireAlarmMeetingUserMapper.java @@ -0,0 +1,9 @@ +package com.zcloud.zcGbsServicer.persistence.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.zcloud.zcGbsServicer.persistence.dataobject.FireAlarmMeetingUserDO; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface FireAlarmMeetingUserMapper extends BaseMapper { +} diff --git a/web-infrastructure/src/main/java/com/zcloud/zcGbsServicer/persistence/repository/FireAlarmMeetingRoomRepository.java b/web-infrastructure/src/main/java/com/zcloud/zcGbsServicer/persistence/repository/FireAlarmMeetingRoomRepository.java new file mode 100644 index 0000000..10eb22b --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/zcGbsServicer/persistence/repository/FireAlarmMeetingRoomRepository.java @@ -0,0 +1,16 @@ +package com.zcloud.zcGbsServicer.persistence.repository; + +import com.alibaba.cola.dto.PageResponse; +import com.jjb.saas.framework.repository.repo.BaseRepository; +import com.zcloud.zcGbsServicer.persistence.dataobject.FireAlarmMeetingRoomDO; + +import java.util.Map; + +public interface FireAlarmMeetingRoomRepository extends BaseRepository { + + PageResponse listPage(Map params); + + boolean existsByRoomCode(String roomCode, Long excludeId); + + FireAlarmMeetingRoomDO getByRoomCode(String roomCode); +} diff --git a/web-infrastructure/src/main/java/com/zcloud/zcGbsServicer/persistence/repository/FireAlarmMeetingUserRepository.java b/web-infrastructure/src/main/java/com/zcloud/zcGbsServicer/persistence/repository/FireAlarmMeetingUserRepository.java new file mode 100644 index 0000000..fcd496f --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/zcGbsServicer/persistence/repository/FireAlarmMeetingUserRepository.java @@ -0,0 +1,18 @@ +package com.zcloud.zcGbsServicer.persistence.repository; + +import com.alibaba.cola.dto.PageResponse; +import com.jjb.saas.framework.repository.repo.BaseRepository; +import com.zcloud.zcGbsServicer.persistence.dataobject.FireAlarmMeetingUserDO; + +import java.util.Map; + +public interface FireAlarmMeetingUserRepository extends BaseRepository { + + PageResponse listPage(Map params); + + boolean existsByLocalUserId(Long localUserId, Long excludeId); + + FireAlarmMeetingUserDO getByLocalUserId(Long localUserId); + + java.util.List listAll(); +} diff --git a/web-infrastructure/src/main/java/com/zcloud/zcGbsServicer/persistence/repository/impl/FireAlarmMeetingRoomRepositoryImpl.java b/web-infrastructure/src/main/java/com/zcloud/zcGbsServicer/persistence/repository/impl/FireAlarmMeetingRoomRepositoryImpl.java new file mode 100644 index 0000000..92fde85 --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/zcGbsServicer/persistence/repository/impl/FireAlarmMeetingRoomRepositoryImpl.java @@ -0,0 +1,78 @@ +package com.zcloud.zcGbsServicer.persistence.repository.impl; + +import cn.hutool.core.util.StrUtil; +import com.alibaba.cola.dto.PageResponse; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.jjb.saas.framework.auth.utils.AuthContext; +import com.jjb.saas.framework.repository.common.PageHelper; +import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl; +import com.zcloud.gbscommon.utils.Query; +import com.zcloud.zcGbsServicer.persistence.dataobject.FireAlarmMeetingRoomDO; +import com.zcloud.zcGbsServicer.persistence.mapper.FireAlarmMeetingRoomMapper; +import com.zcloud.zcGbsServicer.persistence.repository.FireAlarmMeetingRoomRepository; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +import java.util.Map; + +@Service +@RequiredArgsConstructor +public class FireAlarmMeetingRoomRepositoryImpl extends BaseRepositoryImpl implements FireAlarmMeetingRoomRepository { + + @Override + public PageResponse listPage(Map params) { + IPage page = new Query().getPage(params); + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("delete_enum", "FALSE"); + if (AuthContext.getTenantId() != null) { + wrapper.eq("tenant_id", AuthContext.getTenantId()); + } + if (params != null) { + String roomCode = (String) params.get("roomCode"); + String roomName = (String) params.get("roomName"); + Integer roomStatus = (Integer) params.get("roomStatus"); + if (StrUtil.isNotBlank(roomCode)) { + wrapper.like("room_code", roomCode.trim()); + } + if (StrUtil.isNotBlank(roomName)) { + wrapper.like("room_name", roomName.trim()); + } + if (roomStatus != null) { + wrapper.eq("room_status", roomStatus); + } + } + wrapper.orderByDesc("create_time"); + IPage result = this.page(page, wrapper); + return PageHelper.pageToResponse(result, result.getRecords()); + } + + @Override + public boolean existsByRoomCode(String roomCode, Long excludeId) { + if (StrUtil.isBlank(roomCode)) { + return false; + } + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("room_code", roomCode.trim()).eq("delete_enum", "FALSE"); + if (AuthContext.getTenantId() != null) { + wrapper.eq("tenant_id", AuthContext.getTenantId()); + } + if (excludeId != null) { + wrapper.ne("id", excludeId); + } + return this.count(wrapper) > 0; + } + + @Override + public FireAlarmMeetingRoomDO getByRoomCode(String roomCode) { + if (StrUtil.isBlank(roomCode)) { + return null; + } + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("room_code", roomCode.trim()).eq("delete_enum", "FALSE").last("limit 1"); + if (AuthContext.getTenantId() != null) { + wrapper.eq("tenant_id", AuthContext.getTenantId()); + } + return this.getOne(wrapper); + } +} diff --git a/web-infrastructure/src/main/java/com/zcloud/zcGbsServicer/persistence/repository/impl/FireAlarmMeetingUserRepositoryImpl.java b/web-infrastructure/src/main/java/com/zcloud/zcGbsServicer/persistence/repository/impl/FireAlarmMeetingUserRepositoryImpl.java new file mode 100644 index 0000000..0a62145 --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/zcGbsServicer/persistence/repository/impl/FireAlarmMeetingUserRepositoryImpl.java @@ -0,0 +1,94 @@ +package com.zcloud.zcGbsServicer.persistence.repository.impl; + +import cn.hutool.core.util.StrUtil; +import com.alibaba.cola.dto.PageResponse; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.jjb.saas.framework.auth.utils.AuthContext; +import com.jjb.saas.framework.repository.common.PageHelper; +import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl; +import com.zcloud.gbscommon.utils.Query; +import com.zcloud.zcGbsServicer.persistence.dataobject.FireAlarmMeetingUserDO; +import com.zcloud.zcGbsServicer.persistence.mapper.FireAlarmMeetingUserMapper; +import com.zcloud.zcGbsServicer.persistence.repository.FireAlarmMeetingUserRepository; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +import java.util.Map; + +@Service +@RequiredArgsConstructor +public class FireAlarmMeetingUserRepositoryImpl extends BaseRepositoryImpl implements FireAlarmMeetingUserRepository { + + @Override + public PageResponse listPage(Map params) { + IPage page = new Query().getPage(params); + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("delete_enum", "FALSE"); + if (AuthContext.getTenantId() != null) { + wrapper.eq("tenant_id", AuthContext.getTenantId()); + } + if (params != null) { + String localUserName = (String) params.get("localUserName"); + String fireBrigadeName = (String) params.get("fireBrigadeName"); + Integer userType = (Integer) params.get("userType"); + Integer authStatus = (Integer) params.get("authStatus"); + Integer syncStatus = (Integer) params.get("syncStatus"); + if (StrUtil.isNotBlank(localUserName)) { + wrapper.like("local_user_name", localUserName.trim()); + } + if (StrUtil.isNotBlank(fireBrigadeName)) { + wrapper.like("fire_brigade_name", fireBrigadeName.trim()); + } + if (userType != null) { + wrapper.eq("user_type", userType); + } + if (authStatus != null) { + wrapper.eq("auth_status", authStatus); + } + if (syncStatus != null) { + wrapper.eq("sync_status", syncStatus); + } + } + wrapper.orderByDesc("create_time"); + IPage result = this.page(page, wrapper); + return PageHelper.pageToResponse(result, result.getRecords()); + } + + @Override + public boolean existsByLocalUserId(Long localUserId, Long excludeId) { + if (localUserId == null) { + return false; + } + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("local_user_id", localUserId).eq("delete_enum", "FALSE"); + if (AuthContext.getTenantId() != null) { + wrapper.eq("tenant_id", AuthContext.getTenantId()); + } + if (excludeId != null) { + wrapper.ne("id", excludeId); + } + return this.count(wrapper) > 0; + } + + @Override + public FireAlarmMeetingUserDO getByLocalUserId(Long localUserId) { + if (localUserId == null) { + return null; + } + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("local_user_id", localUserId).eq("delete_enum", "FALSE").last("limit 1"); + if (AuthContext.getTenantId() != null) { + wrapper.eq("tenant_id", AuthContext.getTenantId()); + } + return this.getOne(wrapper); + } + + @Override + public java.util.List listAll() { + return this.list(new LambdaQueryWrapper() + .eq(FireAlarmMeetingUserDO::getTenantId, AuthContext.getTenantId()) + .eq(FireAlarmMeetingUserDO::getDeleteEnum, "FALSE")); + } +}