Forráskód Böngészése

1、会议室信息管理接口

dongpo 7 hónapja
szülő
commit
ea3364aaeb

+ 11 - 3
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/meeting/room/OaMeetingRoomController.java

@@ -14,7 +14,7 @@ import cn.iocoder.yudao.module.bpm.service.meeting.room.OaMeetingRoomService;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.Parameter;
 import io.swagger.v3.oas.annotations.tags.Tag;
-import org.springframework.security.access.prepost.PreAuthorize;
+import org.springdoc.api.annotations.ParameterObject;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
@@ -72,16 +72,24 @@ public class OaMeetingRoomController {
     @GetMapping("/page")
     @Operation(summary = "获得会议室信息管理分页")
     // @PreAuthorize("@ss.hasPermission('bpm:oa-meeting-room:query')")
-    public CommonResult<PageResult<OaMeetingRoomRespVO>> getOaMeetingRoomPage(@Valid OaMeetingRoomPageReqVO pageReqVO) {
+    public CommonResult<PageResult<OaMeetingRoomRespVO>> getOaMeetingRoomPage(@Valid @ParameterObject OaMeetingRoomPageReqVO pageReqVO) {
         PageResult<OaMeetingRoomDO> pageResult = oaMeetingRoomService.getOaMeetingRoomPage(pageReqVO);
         return success(BeanUtils.toBean(pageResult, OaMeetingRoomRespVO.class));
     }
 
+    @GetMapping("/list")
+    @Operation(summary = "获得会议室信息管理列表")
+    // @PreAuthorize("@ss.hasPermission('bpm:oa-meeting-room:list')")
+    public CommonResult<List<OaMeetingRoomRespVO>> getOaMeetingRoomList() {
+        List<OaMeetingRoomDO> listResult = oaMeetingRoomService.getOaMeetingRoomList();
+        return success(BeanUtils.toBean(listResult, OaMeetingRoomRespVO.class));
+    }
+
     @GetMapping("/export-excel")
     @Operation(summary = "导出会议室信息管理 Excel")
     // @PreAuthorize("@ss.hasPermission('bpm:oa-meeting-room:export')")
     @ApiAccessLog(operateType = EXPORT)
-    public void exportOaMeetingRoomExcel(@Valid OaMeetingRoomPageReqVO pageReqVO,
+    public void exportOaMeetingRoomExcel(@ParameterObject OaMeetingRoomPageReqVO pageReqVO,
               HttpServletResponse response) throws IOException {
         pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
         List<OaMeetingRoomDO> list = oaMeetingRoomService.getOaMeetingRoomPage(pageReqVO).getList();

+ 1 - 29
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/meeting/room/vo/OaMeetingRoomPageReqVO.java

@@ -5,11 +5,6 @@ import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.ToString;
-import org.springframework.format.annotation.DateTimeFormat;
-
-import java.time.LocalDateTime;
-
-import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
 
 @Schema(description = "管理后台 - 会议室信息管理分页 Request VO")
 @Data
@@ -17,29 +12,6 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_
 @ToString(callSuper = true)
 public class OaMeetingRoomPageReqVO extends PageParam {
 
-    @Schema(description = "会议室uuid", example = "3660")
-    private String roomUuid;
-
-    @Schema(description = "会议室名称", example = "张三")
+    @Schema(description = "会议室名称", example = "上海会议室")
     private String name;
-
-    @Schema(description = "可容纳人数")
-    private String size;
-
-    @Schema(description = "管理员id", example = "30682")
-    private Long managerId;
-
-    @Schema(description = "管理员uuid", example = "29079")
-    private String managerUuid;
-
-    @Schema(description = "管理员姓名", example = "赵六")
-    private String managerName;
-
-    @Schema(description = "备注")
-    private String remarks;
-
-    @Schema(description = "创建时间")
-    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
-    private LocalDateTime[] createTime;
-
 }

+ 6 - 10
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/meeting/room/vo/OaMeetingRoomRespVO.java

@@ -12,15 +12,15 @@ import java.time.LocalDateTime;
 @ExcelIgnoreUnannotated
 public class OaMeetingRoomRespVO {
 
-    @Schema(description = "主键id", requiredMode = Schema.RequiredMode.REQUIRED, example = "28863")
+    @Schema(description = "主键id", example = "2")
     @ExcelProperty("主键id")
     private Long id;
 
-    @Schema(description = "会议室uuid", example = "3660")
+    @Schema(description = "会议室uuid", example = "788dcb3483d54782bc71875e523e8deb")
     @ExcelProperty("会议室uuid")
     private String roomUuid;
 
-    @Schema(description = "会议室名称", example = "张三")
+    @Schema(description = "会议室名称", example = "上海会议室")
     @ExcelProperty("会议室名称")
     private String name;
 
@@ -28,15 +28,11 @@ public class OaMeetingRoomRespVO {
     @ExcelProperty("可容纳人数")
     private String size;
 
-    @Schema(description = "管理员id", example = "30682")
+    @Schema(description = "管理员id", example = "1")
     @ExcelProperty("管理员id")
     private Long managerId;
 
-    @Schema(description = "管理员uuid", example = "29079")
-    @ExcelProperty("管理员uuid")
-    private String managerUuid;
-
-    @Schema(description = "管理员姓名", example = "赵六")
+    @Schema(description = "管理员姓名")
     @ExcelProperty("管理员姓名")
     private String managerName;
 
@@ -44,7 +40,7 @@ public class OaMeetingRoomRespVO {
     @ExcelProperty("备注")
     private String remarks;
 
-    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
+    @Schema(description = "创建时间")
     @ExcelProperty("创建时间")
     private LocalDateTime createTime;
 

+ 0 - 7
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/meeting/room/OaMeetingRoomMapper.java

@@ -17,14 +17,7 @@ public interface OaMeetingRoomMapper extends BaseMapperX<OaMeetingRoomDO> {
 
     default PageResult<OaMeetingRoomDO> selectPage(OaMeetingRoomPageReqVO reqVO) {
         return selectPage(reqVO, new LambdaQueryWrapperX<OaMeetingRoomDO>()
-                .eqIfPresent(OaMeetingRoomDO::getRoomUuid, reqVO.getRoomUuid())
                 .likeIfPresent(OaMeetingRoomDO::getName, reqVO.getName())
-                .eqIfPresent(OaMeetingRoomDO::getSize, reqVO.getSize())
-                .eqIfPresent(OaMeetingRoomDO::getManagerId, reqVO.getManagerId())
-                .eqIfPresent(OaMeetingRoomDO::getManagerUuid, reqVO.getManagerUuid())
-                .likeIfPresent(OaMeetingRoomDO::getManagerName, reqVO.getManagerName())
-                .eqIfPresent(OaMeetingRoomDO::getRemarks, reqVO.getRemarks())
-                .betweenIfPresent(OaMeetingRoomDO::getCreateTime, reqVO.getCreateTime())
                 .orderByDesc(OaMeetingRoomDO::getId));
     }
 

+ 7 - 0
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/meeting/room/OaMeetingRoomService.java

@@ -6,6 +6,7 @@ import cn.iocoder.yudao.module.bpm.controller.admin.meeting.room.vo.OaMeetingRoo
 import cn.iocoder.yudao.module.bpm.dal.dataobject.meeting.room.OaMeetingRoomDO;
 
 import javax.validation.Valid;
+import java.util.List;
 
 /**
  * 会议室信息管理 Service 接口
@@ -52,4 +53,10 @@ public interface OaMeetingRoomService {
      */
     PageResult<OaMeetingRoomDO> getOaMeetingRoomPage(OaMeetingRoomPageReqVO pageReqVO);
 
+    /**
+     * 获得会议室信息管理列表
+     *
+     * @return 会议室信息管理列表
+     */
+    List<OaMeetingRoomDO> getOaMeetingRoomList();
 }

+ 28 - 0
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/meeting/room/OaMeetingRoomServiceImpl.java

@@ -1,16 +1,21 @@
 package cn.iocoder.yudao.module.bpm.service.meeting.room;
 
+import cn.hutool.core.util.IdUtil;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
 import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
 import cn.iocoder.yudao.module.bpm.controller.admin.meeting.room.vo.OaMeetingRoomPageReqVO;
 import cn.iocoder.yudao.module.bpm.controller.admin.meeting.room.vo.OaMeetingRoomSaveReqVO;
 import cn.iocoder.yudao.module.bpm.dal.dataobject.meeting.room.OaMeetingRoomDO;
 import cn.iocoder.yudao.module.bpm.dal.mysql.meeting.room.OaMeetingRoomMapper;
+import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
+import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
 import org.springframework.stereotype.Service;
 import org.springframework.validation.annotation.Validated;
 
 import javax.annotation.Resource;
 
+import java.util.List;
+
 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
 import static cn.iocoder.yudao.module.bpm.enums.ErrorCodeConstants.OA_MEETING_ROOM_NOT_EXISTS;
 
@@ -26,10 +31,21 @@ public class OaMeetingRoomServiceImpl implements OaMeetingRoomService {
     @Resource
     private OaMeetingRoomMapper oaMeetingRoomMapper;
 
+    @Resource
+    private AdminUserApi adminUserApi;
+
     @Override
     public Long createOaMeetingRoom(OaMeetingRoomSaveReqVO createReqVO) {
         // 插入
         OaMeetingRoomDO oaMeetingRoom = BeanUtils.toBean(createReqVO, OaMeetingRoomDO.class);
+        oaMeetingRoom.setRoomUuid(IdUtil.fastSimpleUUID());
+        Long managerId = createReqVO.getManagerId();
+        if (managerId != null) {
+            AdminUserRespDTO user = adminUserApi.getUser(managerId);
+            if (user != null) {
+                oaMeetingRoom.setManagerName(user.getNickname());
+            }
+        }
         oaMeetingRoomMapper.insert(oaMeetingRoom);
         // 返回
         return oaMeetingRoom.getId();
@@ -41,6 +57,13 @@ public class OaMeetingRoomServiceImpl implements OaMeetingRoomService {
         validateOaMeetingRoomExists(updateReqVO.getId());
         // 更新
         OaMeetingRoomDO updateObj = BeanUtils.toBean(updateReqVO, OaMeetingRoomDO.class);
+        Long managerId = updateObj.getManagerId();
+        if (managerId != null) {
+            AdminUserRespDTO user = adminUserApi.getUser(managerId);
+            if (user != null) {
+                updateObj.setManagerName(user.getNickname());
+            }
+        }
         oaMeetingRoomMapper.updateById(updateObj);
     }
 
@@ -68,4 +91,9 @@ public class OaMeetingRoomServiceImpl implements OaMeetingRoomService {
         return oaMeetingRoomMapper.selectPage(pageReqVO);
     }
 
+    @Override
+    public List<OaMeetingRoomDO> getOaMeetingRoomList() {
+        return oaMeetingRoomMapper.selectList();
+    }
+
 }