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

Merge branch 'usky-zyj' of uskycloud/usky-modules into server-165

James 1 год назад
Родитель
Сommit
7a36b32558

+ 2 - 1
service-meeting/service-meeting-biz/src/main/java/com/usky/meeting/controller/web/MeetingAttendeeController.java

@@ -4,6 +4,7 @@ package com.usky.meeting.controller.web;
 import org.springframework.web.bind.annotation.RequestMapping;
 
 import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RestController;
 
 /**
  * <p>
@@ -13,7 +14,7 @@ import org.springframework.stereotype.Controller;
  * @author zyj
  * @since 2024-03-08
  */
-@Controller
+@RestController
 @RequestMapping("/meetingAttendee")
 public class MeetingAttendeeController {
 

+ 12 - 0
service-meeting/service-meeting-biz/src/main/java/com/usky/meeting/controller/web/MeetingRoomController.java

@@ -91,5 +91,17 @@ public class MeetingRoomController {
         meetingRoomService.remove(roomId);
         return ApiResult.success();
     }
+
+    /**
+     * 会议人员权限审核
+     * @param meetingId
+     * @param userId
+     * @param userName
+     * @return
+     */
+    @GetMapping("attendee")
+    public ApiResult<Map<String,Object>> attendee(Long meetingId, Long userId, String userName){
+        return ApiResult.success(meetingRoomService.attendee(meetingId,userId,userName));
+    }
 }
 

+ 9 - 1
service-meeting/service-meeting-biz/src/main/java/com/usky/meeting/domain/MeetingAttendee.java

@@ -4,9 +4,14 @@ import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import java.time.LocalDateTime;
 import java.io.Serializable;
+
+import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
+import javax.persistence.Entity;
+import javax.persistence.Id;
+
 /**
  * <p>
  * 会议参会人员关联表
@@ -16,11 +21,14 @@ import lombok.EqualsAndHashCode;
  * @since 2024-03-08
  */
 @Data
+@Entity
+@TableName("meeting_attendee")
 @EqualsAndHashCode(callSuper = false)
 public class MeetingAttendee implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
+    @Id
     @TableId(value = "id", type = IdType.AUTO)
     private Long id;
 
@@ -32,7 +40,7 @@ public class MeetingAttendee implements Serializable {
     /**
      * 参与人id
      */
-    private String userId;
+    private Long userId;
 
     /**
      * 是否签到(0-否 1-是)

+ 0 - 5
service-meeting/service-meeting-biz/src/main/java/com/usky/meeting/domain/MeetingFace.java

@@ -57,11 +57,6 @@ public class MeetingFace implements Serializable {
      */
     private Integer faceStatus;
 
-    /**
-     * 扩展字段1(user_id)
-     */
-    private String updateExtend1;
-
     /**
      * 扩展字段2
      */

+ 7 - 10
service-meeting/service-meeting-biz/src/main/java/com/usky/meeting/domain/MeetingRoom.java

@@ -11,6 +11,7 @@ import lombok.EqualsAndHashCode;
 
 import javax.persistence.Entity;
 import javax.persistence.Id;
+import javax.persistence.ManyToOne;
 
 /**
  * <p>
@@ -47,11 +48,6 @@ public class MeetingRoom implements Serializable {
      */
     private String description;
 
-    /**
-     * 文件存储id(tool_local_storage)
-     */
-    private String storageId;
-
     /**
      * 会议室图片
      */
@@ -85,17 +81,17 @@ public class MeetingRoom implements Serializable {
     /**
      * 会议室使用状态(0-未使用 1-使用中)
      */
-    private Long roomStatus;
+    private Integer roomStatus;
 
     /**
      * 会议室预约状态(0-未预约 1-已预约)
      */
-    private Long reserveStatus;
+    private Integer reserveStatus;
 
     /**
-     * 会议室状态(00.启用 01.停用)
+     * 会议室状态(0.启用 1.停用)
      */
-    private String status;
+    private Integer status;
 
     /**
      * 会议室环境
@@ -130,11 +126,12 @@ public class MeetingRoom implements Serializable {
     /**
      * 是否需要审批(0-否 1-是)
      */
-    private Long isApprove;
+    private Integer isApprove;
 
     /**
      * 楼层信息
      */
+    @ManyToOne
     @TableField(exist = false)
     private MeetingFloor meetingFloor;
 

+ 17 - 9
service-meeting/service-meeting-biz/src/main/java/com/usky/meeting/repository/MeetingAttendeeRepository.java

@@ -1,14 +1,22 @@
 
 package com.usky.meeting.repository;
 
+import com.usky.meeting.domain.MeetingAttendee;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.repository.query.Param;
+
+import java.util.List;
+
 /**
-* @website https://el-admin.vip
-* @author shiguangji
-* @date 2021-03-17
+*
+* @author zyj
+* @date 2024-03-13
 **/
-//public interface DmMeetingAttendeeRepository extends JpaRepository<DmMeetingAttendee, String>, JpaSpecificationExecutor<DmMeetingAttendee> {
-//    @Query(value = "SELECT a.* FROM dm_meeting_attendee a WHERE " +
-//            "if(:meetingId != '',a.meeting_id = :meetingId,1=1)" + "and if(:userId != '',a.user_id = :userId,1=1)",nativeQuery = true)
-//    List<DmMeetingAttendee> findMeetingAttendeeList(@Param("meetingId") Long meetingId, @Param("userId") String userId);
-//
-//}
+public interface MeetingAttendeeRepository extends JpaRepository<MeetingAttendee, String>, JpaSpecificationExecutor<MeetingAttendee> {
+    @Query(value = "SELECT a.* FROM meeting_attendee a WHERE a.tenant_id = :tenantId " +
+            "and if(:meetingId != '',a.meeting_id = :meetingId,1=1)" + "and if(:userId != '',a.user_id = :userId,1=1)",nativeQuery = true)
+    List<MeetingAttendee> findMeetingAttendeeList(@Param("meetingId") Long meetingId, @Param("userId") Long userId, @Param("tenantId") Integer tenantId);
+
+}

+ 1 - 1
service-meeting/service-meeting-biz/src/main/java/com/usky/meeting/repository/MeetingRoomRepository.java

@@ -56,7 +56,7 @@ public interface MeetingRoomRepository extends JpaRepository<MeetingRoom, Long>,
             " count(a.room_id) as total," +
             " sum(if(a.room_status=0,1,0)) as idle," +
             " sum(if(a.room_status=1,1,0)) as in_use " +
-            " from meeting_room as a where a.tenant_id=:tenantId and" ,nativeQuery = true)
+            " from meeting_room as a where a.tenant_id=:tenantId" ,nativeQuery = true)
     Map<String,Object> roomSummary(@Param("tenantId") Integer tenantId);
 
 //    //查询所有参会人和签到人数

+ 2 - 0
service-meeting/service-meeting-biz/src/main/java/com/usky/meeting/service/MeetingRoomService.java

@@ -31,4 +31,6 @@ public interface MeetingRoomService extends CrudService<MeetingRoom> {
     void edit(MeetingRoom meetingRoom);
 
     void remove(Long roomId);
+
+    Map<String,Object> attendee(Long meetingId, Long userId, String userName);
 }

+ 1 - 1
service-meeting/service-meeting-biz/src/main/java/com/usky/meeting/service/impl/MeetingFaceServiceImpl.java

@@ -36,7 +36,7 @@ public class MeetingFaceServiceImpl extends AbstractCrudService<MeetingFaceMappe
     @Override
     public MeetingFaceVO vef(String imageBase) {
         imageBase = JSONUtil.parseObj(imageBase).getStr("imageBase");
-        List<MeetingFace> faceList = lambdaQuery().orderByDesc(MeetingFace::getVefNum).list();
+        List<MeetingFace> faceList = lambdaQuery().eq(MeetingFace::getTenantId,SecurityUtils.getTenantId()).orderByDesc(MeetingFace::getVefNum).list();
         MeetingFaceVO faceState = new MeetingFaceVO();
         MeetingFaceVO faceState1 = new MeetingFaceVO();
         // 如果人脸库为空,则第一次登录为录入人脸

+ 21 - 8
service-meeting/service-meeting-biz/src/main/java/com/usky/meeting/service/impl/MeetingRoomServiceImpl.java

@@ -10,9 +10,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.usky.common.core.bean.CommonPage;
 import com.usky.common.core.exception.BusinessException;
 import com.usky.common.security.utils.SecurityUtils;
+import com.usky.meeting.domain.MeetingAttendee;
 import com.usky.meeting.domain.MeetingFloor;
 import com.usky.meeting.domain.MeetingRoom;
 import com.usky.meeting.mapper.MeetingRoomMapper;
+import com.usky.meeting.repository.MeetingAttendeeRepository;
 import com.usky.meeting.repository.MeetingRoomRepository;
 import com.usky.meeting.service.MeetingFloorService;
 import com.usky.meeting.service.MeetingInfoService;
@@ -43,6 +45,8 @@ public class MeetingRoomServiceImpl extends AbstractCrudService<MeetingRoomMappe
     @Autowired
     private MeetingRoomRepository dmMeetingRoomRepository;
     @Autowired
+    private MeetingAttendeeRepository meetingAttendeeRepository;
+    @Autowired
     private MeetingInfoService dmMeetingService;
     @Autowired
     private MeetingFloorService dmFloorService;
@@ -86,16 +90,11 @@ public class MeetingRoomServiceImpl extends AbstractCrudService<MeetingRoomMappe
         if(CollectionUtils.isNotEmpty(page.getRecords())){
             //查询楼层信息和本地存储信息
             List<BigInteger> floorIdList = new ArrayList<>();
-            List<BigInteger> storageIdList = new ArrayList<>();
             for (int i = 0; i < page.getRecords().size(); i++) {
                 BigInteger floorId1 = new BigInteger(page.getRecords().get(i).getFloorId());
-                BigInteger storageId = new BigInteger(page.getRecords().get(i).getStorageId());
                 if(!floorIdList.contains(floorId1)){
                     floorIdList.add(floorId1);
                 }
-                if(!storageIdList.contains(storageId)){
-                    storageIdList.add(storageId);
-                }
             }
             LambdaQueryWrapper<MeetingFloor> floorQuery = Wrappers.lambdaQuery();
             floorQuery.in(CollectionUtils.isNotEmpty(floorIdList), MeetingFloor::getFloorId,floorIdList);
@@ -133,11 +132,11 @@ public class MeetingRoomServiceImpl extends AbstractCrudService<MeetingRoomMappe
         if(checkNameUnique(meetingRoom)){
             throw new BusinessException("新增会议室房间失败,"+meetingRoom.getRoomName()+"已经存在");
         }
-        meetingRoom.setRoomStatus(0L);
-        meetingRoom.setReserveStatus(0L);
+        meetingRoom.setRoomStatus(0);
+        meetingRoom.setReserveStatus(0);
         meetingRoom.setCreateBy(SecurityUtils.getUsername());
         meetingRoom.setCreateTime(LocalDateTime.now());
-        meetingRoom.setIsApprove(0L);
+        meetingRoom.setIsApprove(0);
         meetingRoom.setTenantId(SecurityUtils.getTenantId());
         this.save(meetingRoom);
     }
@@ -161,6 +160,20 @@ public class MeetingRoomServiceImpl extends AbstractCrudService<MeetingRoomMappe
         this.removeById(roomId);
     }
 
+    @Override
+    public Map<String,Object> attendee(Long meetingId, Long userId, String userName){
+        Map<String, Object> map = new HashMap<>();
+        Integer tenantId = SecurityUtils.getTenantId();
+        map.put("userName",userName);
+        List<MeetingAttendee> list = meetingAttendeeRepository.findMeetingAttendeeList(meetingId,userId,tenantId);
+        if(org.springframework.util.CollectionUtils.isEmpty(list)){
+            map.put("msg","没有会议");
+        }else{
+            map.put("msg","验证成功");
+        }
+        return map;
+    }
+
     public boolean checkNameUnique(MeetingRoom meetingRoom){
         Long id = null == meetingRoom.getRoomId()?-1:meetingRoom.getRoomId();
         LambdaQueryWrapper<MeetingRoom> queryWrapper = Wrappers.lambdaQuery();

+ 0 - 1
service-meeting/service-meeting-biz/src/main/resources/mapper/meeting/MeetingFaceMapper.xml

@@ -11,7 +11,6 @@
         <result column="face_name" property="faceName" />
         <result column="remark" property="remark" />
         <result column="face_status" property="faceStatus" />
-        <result column="update_extend1" property="updateExtend1" />
         <result column="update_extend2" property="updateExtend2" />
         <result column="update_extend3" property="updateExtend3" />
         <result column="dept_id" property="deptId" />

+ 0 - 1
service-meeting/service-meeting-biz/src/main/resources/mapper/meeting/MeetingRoomMapper.xml

@@ -8,7 +8,6 @@
         <result column="room_name" property="roomName" />
         <result column="floor_id" property="floorId" />
         <result column="description" property="description" />
-        <result column="storage_id" property="storageId" />
         <result column="img_path" property="imgPath" />
         <result column="capacity" property="capacity" />
         <result column="position" property="position" />