Просмотр исходного кода

房间类型批量设置功能

bing 1 год назад
Родитель
Сommit
33910b4447

+ 16 - 1
ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/basics/controller/PtRoomController.java

@@ -10,6 +10,7 @@ import jakarta.servlet.http.HttpServletResponse;
 import jakarta.validation.constraints.*;
 import cn.dev33.satoken.annotation.SaCheckPermission;
 import org.apache.commons.collections4.CollectionUtils;
+import org.dromara.backstage.basics.domain.bo.PtRoomBatchSetBo;
 import org.dromara.backstage.basics.domain.vo.PtRoomTempImportVo;
 import org.dromara.backstage.basics.listener.PtRoomImportListener;
 import org.dromara.common.excel.core.ExcelResult;
@@ -81,7 +82,7 @@ public class PtRoomController extends BaseController {
      * 导出房间定义的导入模板
      */
     @SaCheckPermission("room:ptRoom:import")
-    @Log(title = "房间定义的导入模板", businessType = BusinessType.IMPORT)
+    @Log(title = "房间定义的导入", businessType = BusinessType.IMPORT)
     @PostMapping(value="/importData",consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
     public R<Void> importData(@RequestPart("file") MultipartFile file, boolean updateSupport) throws Exception{
         ExcelResult<PtRoomTempImportVo> rs = ExcelUtil.importExcel(file.getInputStream(), PtRoomTempImportVo.class, new PtRoomImportListener(updateSupport));
@@ -112,6 +113,20 @@ public class PtRoomController extends BaseController {
         return toAjax(ptRoomService.insertByBo(bo));
     }
 
+    /**
+     * 批量设置房间类型
+     */
+    @SaCheckPermission("room:ptRoom:set")
+    @Log(title = "批量设置房间类型", businessType = BusinessType.OTHER)
+    @RepeatSubmit()
+    @PostMapping("/batchSet")
+    public R<Void> batchSet(@Validated @RequestBody PtRoomBatchSetBo bo) {
+        return toAjax(ptRoomService.batchSet(bo));
+    }
+
+
+
+
     /**
      * 修改房间定义
      */

+ 44 - 0
ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/basics/domain/bo/PtRoomBatchSetBo.java

@@ -0,0 +1,44 @@
+package org.dromara.backstage.basics.domain.bo;
+
+import io.github.linpeilie.annotations.AutoMapper;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.dromara.backstage.basics.domain.PtRoom;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * 房间定义业务对象 t_pt_room
+ *
+ * @author bing
+ * @date 2024-08-09
+ */
+@Data
+public class PtRoomBatchSetBo implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 5953463621208429125L;
+    /**
+     * 房间Id,主键
+     */
+    @NotEmpty(message = "房间roomIds,主键不能为空")
+    private List<Long> roomIds;
+
+    /**
+     * 房间类型,见FJLX字典类型
+     */
+//    @NotBlank(message = "房间类型,见FJLX字典类型不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String roomType;
+
+
+
+
+}

+ 1 - 1
ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/basics/domain/bo/PtRoomBo.java

@@ -47,7 +47,7 @@ public class PtRoomBo extends BaseEntity {
     /**
      * 房间类型,见FJLX字典类型
      */
-    @NotBlank(message = "房间类型,见FJLX字典类型不能为空", groups = { AddGroup.class, EditGroup.class })
+//    @NotBlank(message = "房间类型,见FJLX字典类型不能为空", groups = { AddGroup.class, EditGroup.class })
     private String roomType;
 
     /**

+ 3 - 0
ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/basics/service/IPtRoomService.java

@@ -1,6 +1,7 @@
 package org.dromara.backstage.basics.service;
 
 import org.dromara.backstage.basics.domain.PtRoom;
+import org.dromara.backstage.basics.domain.bo.PtRoomBatchSetBo;
 import org.dromara.backstage.basics.domain.vo.PtRoomVo;
 import org.dromara.backstage.basics.domain.bo.PtRoomBo;
 import org.dromara.common.mybatis.core.page.TableDataInfo;
@@ -50,6 +51,8 @@ public interface IPtRoomService {
      */
     Boolean insertByBo(PtRoomBo bo);
 
+    Boolean batchSet(PtRoomBatchSetBo bo);
+
     /**
      * 修改房间定义
      *

+ 13 - 0
ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/basics/service/impl/PtRoomServiceImpl.java

@@ -1,6 +1,8 @@
 package org.dromara.backstage.basics.service.impl;
 
 import cn.hutool.core.collection.CollectionUtil;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import org.dromara.backstage.basics.domain.bo.PtRoomBatchSetBo;
 import org.dromara.backstage.basics.domain.vo.PtAreaVo;
 import org.dromara.common.core.utils.MapstructUtils;
 import org.dromara.common.core.utils.StringUtils;
@@ -141,6 +143,17 @@ public class PtRoomServiceImpl implements IPtRoomService {
         return flag;
     }
 
+    @Override
+    public Boolean batchSet(PtRoomBatchSetBo bo) {
+        LambdaUpdateWrapper<PtRoom> lambdaUpdate = Wrappers.lambdaUpdate();
+        lambdaUpdate.set(StringUtils.isNotBlank(bo.getRoomType()),PtRoom::getRoomType, bo.getRoomType())
+            .set(StringUtils.isBlank(bo.getRoomType()),PtRoom::getRoomType, null)
+            .in(PtRoom::getRoomId, bo.getRoomIds());
+        int update = baseMapper.update(lambdaUpdate);
+        return update>0;
+    }
+
+
     /**
      * 修改房间定义
      *