Browse Source

'开发会议室表-会议室下拉框信息、会议室表-新增、会议室表-修改和会议室表-删除四个接口'

james 1 year ago
parent
commit
80055185f1
16 changed files with 214 additions and 30 deletions
  1. 3 2
      service-meeting/service-meeting-biz/src/main/java/com/usky/meeting/annotation/aspect/FaceAspect.java
  2. 6 3
      service-meeting/service-meeting-biz/src/main/java/com/usky/meeting/controller/web/MeetingFaceController.java
  3. 2 1
      service-meeting/service-meeting-biz/src/main/java/com/usky/meeting/controller/web/MeetingInfoController.java
  4. 42 0
      service-meeting/service-meeting-biz/src/main/java/com/usky/meeting/controller/web/MeetingRoomController.java
  5. 7 0
      service-meeting/service-meeting-biz/src/main/java/com/usky/meeting/domain/MeetingDevice.java
  6. 2 0
      service-meeting/service-meeting-biz/src/main/java/com/usky/meeting/domain/MeetingRoom.java
  7. 2 0
      service-meeting/service-meeting-biz/src/main/java/com/usky/meeting/mapper/MeetingRoomMapper.java
  8. 4 4
      service-meeting/service-meeting-biz/src/main/java/com/usky/meeting/repository/MeetingInfoRepository.java
  9. 2 2
      service-meeting/service-meeting-biz/src/main/java/com/usky/meeting/repository/MeetingRoomRepository.java
  10. 3 2
      service-meeting/service-meeting-biz/src/main/java/com/usky/meeting/service/MeetingInfoService.java
  11. 10 0
      service-meeting/service-meeting-biz/src/main/java/com/usky/meeting/service/MeetingRoomService.java
  12. 34 0
      service-meeting/service-meeting-biz/src/main/java/com/usky/meeting/service/impl/MeetingDeviceServiceImpl.java
  13. 10 5
      service-meeting/service-meeting-biz/src/main/java/com/usky/meeting/service/impl/MeetingFaceServiceImpl.java
  14. 4 4
      service-meeting/service-meeting-biz/src/main/java/com/usky/meeting/service/impl/MeetingInfoServiceImpl.java
  15. 62 7
      service-meeting/service-meeting-biz/src/main/java/com/usky/meeting/service/impl/MeetingRoomServiceImpl.java
  16. 21 0
      service-meeting/service-meeting-biz/src/main/java/com/usky/meeting/service/vo/MeetingFaceVO.java

+ 3 - 2
service-meeting/service-meeting-biz/src/main/java/com/usky/meeting/annotation/aspect/FaceAspect.java

@@ -5,6 +5,7 @@ package com.usky.meeting.annotation.aspect;
 import com.usky.meeting.domain.MeetingFaceVefLog;
 import com.usky.meeting.service.MeetingFaceVefLogService;
 import com.usky.meeting.service.vo.FaceResultVO;
+import com.usky.meeting.service.vo.MeetingFaceVO;
 import org.aspectj.lang.JoinPoint;
 import org.aspectj.lang.annotation.AfterReturning;
 import org.aspectj.lang.annotation.Aspect;
@@ -26,12 +27,12 @@ public class FaceAspect {
 
     @AfterReturning(value = "@annotation(com.usky.meeting.annotation.FaceLog)",returning = "res")
     public void addLog(JoinPoint joinPoint ,Object res){
-        FaceResultVO result = (FaceResultVO)res;
+        MeetingFaceVO result = (MeetingFaceVO)res;
         MeetingFaceVefLog faceVefLog = new MeetingFaceVefLog();
         faceVefLog.setVefTime(LocalDateTime.now());
         faceVefLog.setVefCode(result.getCode());
         faceVefLog.setVefMsg(result.getMsg());
-        faceVefLog.setLoginName(result.getName());
+        faceVefLog.setLoginName(result.getFaceName());
         faceVefLogService.save(faceVefLog);
     }
 

+ 6 - 3
service-meeting/service-meeting-biz/src/main/java/com/usky/meeting/controller/web/MeetingFaceController.java

@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.usky.common.core.bean.ApiResult;
 import com.usky.common.core.bean.CommonPage;
+import com.usky.common.security.utils.SecurityUtils;
 import com.usky.meeting.annotation.FaceLog;
 import com.usky.meeting.domain.MeetingFace;
 import com.usky.meeting.service.MeetingFaceService;
@@ -41,8 +42,8 @@ public class MeetingFaceController {
     @PostMapping("/vef")
     @ApiOperation(value="人脸验证", notes="根据传入的base64编码和数据的base64编码进行对比")
     @FaceLog
-    public ApiResult<MeetingFaceVO> faceVef(@RequestBody String imageBase){
-        return ApiResult.success(faceService.vef(imageBase));
+    public MeetingFaceVO faceVef(@RequestBody String imageBase){
+        return faceService.vef(imageBase);
     }
 
     @GetMapping("/faceList")
@@ -55,7 +56,8 @@ public class MeetingFaceController {
     ){
         IPage<MeetingFace> page = faceService.page(new Page(current, size), new QueryWrapper<MeetingFace>()
                 .like(StrUtil.isNotBlank(faceName),"face_name",faceName)
-                .like(StrUtil.isNotBlank(faceStatus),"face_status",faceStatus));
+                .like(StrUtil.isNotBlank(faceStatus),"face_status",faceStatus)
+                .eq("tenant_id", SecurityUtils.getTenantId()));
         return ApiResult.success(new CommonPage<>(page.getRecords(),page.getTotal(),size,current));
     }
 
@@ -78,6 +80,7 @@ public class MeetingFaceController {
     public FaceResultVO save(@RequestBody MeetingFace face){
         face.setVefNum(0);
         face.setCreateTime(LocalDateTime.now());
+        face.setTenantId(SecurityUtils.getTenantId());
         faceService.save(face);
         return FaceResultVO.success("添加成功");
     }

+ 2 - 1
service-meeting/service-meeting-biz/src/main/java/com/usky/meeting/controller/web/MeetingInfoController.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("/meetingInfo")
 public class MeetingInfoController {
 

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

@@ -10,6 +10,7 @@ import lombok.RequiredArgsConstructor;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -49,5 +50,46 @@ public class MeetingRoomController {
 
     }
 
+    /**
+     * 会议室下拉框信息
+     * @return
+     */
+    @PostMapping("MeetingRoomList")
+    public ApiResult<List<MeetingRoom>> MeetingRoomList(){
+        return ApiResult.success(meetingRoomService.MeetingRoomList());
+    }
+
+    /**
+     * 新增
+     * @param meetingRoom
+     * @return
+     */
+    @PostMapping
+    public ApiResult<Void> add(@RequestBody MeetingRoom meetingRoom){
+        meetingRoomService.add(meetingRoom);
+        return ApiResult.success();
+    }
+
+    /**
+     * 修改
+     * @param meetingRoom
+     * @return
+     */
+    @PutMapping
+    public ApiResult<Void> edit(@RequestBody MeetingRoom meetingRoom){
+        meetingRoomService.edit(meetingRoom);
+        return ApiResult.success();
+    }
+
+    /**
+     * 删除
+     * @param roomId
+     * @return
+     */
+    @DeleteMapping
+    public ApiResult<Void> remove(@RequestParam Long roomId){
+        meetingRoomService.remove(roomId);
+        return ApiResult.success();
+    }
 }
 

+ 7 - 0
service-meeting/service-meeting-biz/src/main/java/com/usky/meeting/domain/MeetingDevice.java

@@ -3,6 +3,7 @@ package com.usky.meeting.domain;
 import java.time.LocalDateTime;
 import java.io.Serializable;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.fasterxml.jackson.annotation.JsonFormat;
@@ -108,5 +109,11 @@ public class MeetingDevice implements Serializable {
      */
     private Integer tenantId;
 
+    /**
+     * 会议室名称
+     */
+    @TableField(exist = false)
+    private String roomName;
+
 
 }

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

@@ -4,6 +4,7 @@ import java.time.LocalDateTime;
 import java.io.Serializable;
 
 import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
@@ -28,6 +29,7 @@ public class MeetingRoom implements Serializable {
     private static final long serialVersionUID = 1L;
 
     @Id
+    @TableId
     private Long roomId;
 
     /**

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

@@ -2,6 +2,7 @@ package com.usky.meeting.mapper;
 
 import com.usky.meeting.domain.MeetingRoom;
 import com.usky.common.mybatis.core.CrudMapper;
+import org.springframework.stereotype.Repository;
 
 /**
  * <p>
@@ -11,6 +12,7 @@ import com.usky.common.mybatis.core.CrudMapper;
  * @author zyj
  * @since 2024-03-08
  */
+@Repository
 public interface MeetingRoomMapper extends CrudMapper<MeetingRoom> {
 
 }

+ 4 - 4
service-meeting/service-meeting-biz/src/main/java/com/usky/meeting/repository/MeetingInfoRepository.java

@@ -489,11 +489,11 @@ public interface MeetingInfoRepository extends JpaRepository<MeetingInfo, Long>,
 //    @Query(value = "insert into dm_meeting_attendee (meeting_id, user_id) values (:meetingId,:userId) ",nativeQuery = true)
 //    void createMeetingAttendee(@Param("meetingId") Long meetingId, @Param("userId") String userId);
 
-    @Query(value = "select count(a.meeting_id) as total,if(ISNULL(sum(if(a.meeting_status=0,1,0))),0,sum(if(a.meeting_status=0,1,0))) as notStarted,if(ISNULL(sum(if(a.meeting_status=1,1,0))),0,sum(if(a.meeting_status=1,1,0))) as haveInHand,if(ISNULL(sum(if(a.meeting_status=2,1,0))),0,sum(if(a.meeting_status=2,1,0))) as `end` from meeting_info as a where to_days(a.start_date) = to_days(now()) and a.approve_status=1 and is_cancel != 1" ,nativeQuery = true)
-    Map<String,Object> meetingSummary();
+    @Query(value = "select count(a.meeting_id) as total,if(ISNULL(sum(if(a.meeting_status=0,1,0))),0,sum(if(a.meeting_status=0,1,0))) as notStarted,if(ISNULL(sum(if(a.meeting_status=1,1,0))),0,sum(if(a.meeting_status=1,1,0))) as haveInHand,if(ISNULL(sum(if(a.meeting_status=2,1,0))),0,sum(if(a.meeting_status=2,1,0))) as `end` from meeting_info as a where a.tenant_id=:tenantId and to_days(a.start_date) = to_days(now()) and a.approve_status=1 and is_cancel != 1" ,nativeQuery = true)
+    Map<String,Object> meetingSummary(@Param("tenantId") Integer tenantId);
 
-    @Query(value = "select sum(MONTH(start_date)=1) as one,sum(MONTH(start_date)=2) as two,sum(MONTH(start_date)=3) as three,sum(MONTH(start_date)=4) as four,sum(MONTH(start_date)=5) as five,sum(MONTH(start_date)=6) as six,sum(MONTH(start_date)=7) as seven,sum(MONTH(start_date)=8) as eight,sum(MONTH(start_date)=9) as nine,sum(MONTH(start_date)=10) as ten,sum(MONTH(start_date)=11) as eleven,sum(MONTH(start_date)=12) as twelve from meeting_info where YEAR(start_date)=:year and approve_status=1 and is_cancel != 1" ,nativeQuery = true)
-    Map<String,Object> meetingSummaryByYear(@Param("year") String year);
+    @Query(value = "select sum(MONTH(start_date)=1) as one,sum(MONTH(start_date)=2) as two,sum(MONTH(start_date)=3) as three,sum(MONTH(start_date)=4) as four,sum(MONTH(start_date)=5) as five,sum(MONTH(start_date)=6) as six,sum(MONTH(start_date)=7) as seven,sum(MONTH(start_date)=8) as eight,sum(MONTH(start_date)=9) as nine,sum(MONTH(start_date)=10) as ten,sum(MONTH(start_date)=11) as eleven,sum(MONTH(start_date)=12) as twelve from meeting_info where tenant_id=:tenantId and YEAR(start_date)=:year and approve_status=1 and is_cancel != 1" ,nativeQuery = true)
+    Map<String,Object> meetingSummaryByYear(@Param("year") String year,@Param("tenantId") Integer tenantId);
 
 //    @Query(value = "select meeting_id as meetingId from dm_meeting_attendee where user_id = :userId" , nativeQuery = true)
 //    List<BigInteger> queryMeetingIdsByUserId(@Param("userId") String userId);

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

@@ -56,8 +56,8 @@ 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" ,nativeQuery = true)
-    Map<String,Object> roomSummary();
+            " from meeting_room as a where a.tenant_id=:tenantId and" ,nativeQuery = true)
+    Map<String,Object> roomSummary(@Param("tenantId") Integer tenantId);
 
 //    //查询所有参会人和签到人数
 //    @Query(value = "select count(m.user_id) as attendeeTotal,sum(if(m.is_sign=1,1,0)) as attendeeInUse from dm_meeting_attendee as m" ,nativeQuery = true)

+ 3 - 2
service-meeting/service-meeting-biz/src/main/java/com/usky/meeting/service/MeetingInfoService.java

@@ -2,6 +2,7 @@ package com.usky.meeting.service;
 
 import com.usky.meeting.domain.MeetingInfo;
 import com.usky.common.mybatis.core.CrudService;
+import org.springframework.data.repository.query.Param;
 
 import java.util.Map;
 
@@ -19,11 +20,11 @@ public interface MeetingInfoService extends CrudService<MeetingInfo> {
      * 获取当日会议预约数量
      * @return  Map<String,Object>
      */
-    Map<String,Object> meetingSummary();
+    Map<String,Object> meetingSummary(Integer tenantId);
 
     /**
      * 获取当年会议预约数量
      * @return  Map<String,Object>
      */
-    Map<String,Object> meetingSummaryByYear(String year);
+    Map<String,Object> meetingSummaryByYear(String year, Integer tenantId);
 }

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

@@ -4,7 +4,9 @@ import com.usky.common.core.bean.CommonPage;
 import com.usky.meeting.domain.MeetingRoom;
 import com.usky.common.mybatis.core.CrudService;
 import com.usky.meeting.service.vo.MeetingRoomRequestVO;
+import org.springframework.web.bind.annotation.RequestBody;
 
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -21,4 +23,12 @@ public interface MeetingRoomService extends CrudService<MeetingRoom> {
     Map<String,Object> FirstPageStatistic(String year);
 
     CommonPage<MeetingRoom> dmMeetingRoomList(MeetingRoomRequestVO requestVO);
+
+    List<MeetingRoom> MeetingRoomList();
+
+    void add(MeetingRoom meetingRoom);
+
+    void edit(MeetingRoom meetingRoom);
+
+    void remove(Long roomId);
 }

+ 34 - 0
service-meeting/service-meeting-biz/src/main/java/com/usky/meeting/service/impl/MeetingDeviceServiceImpl.java

@@ -4,6 +4,7 @@ import cn.hutool.core.lang.Snowflake;
 import cn.hutool.core.util.IdUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -12,19 +13,27 @@ import com.usky.common.core.exception.BusinessException;
 import com.usky.common.security.utils.SecurityUtils;
 import com.usky.meeting.domain.MeetingDevice;
 import com.usky.meeting.domain.MeetingFloor;
+import com.usky.meeting.domain.MeetingRoom;
 import com.usky.meeting.mapper.MeetingDeviceMapper;
+import com.usky.meeting.mapper.MeetingRoomMapper;
 import com.usky.meeting.service.MeetingDeviceService;
 import com.usky.common.mybatis.core.AbstractCrudService;
+import com.usky.meeting.service.MeetingRoomService;
 import com.usky.meeting.service.vo.MeetingDeviceRequestVO;
 import net.bytebuddy.implementation.bytecode.Throw;
 import org.aspectj.weaver.patterns.ThisOrTargetAnnotationPointcut;
 import org.bouncycastle.jcajce.provider.symmetric.AES;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.util.Optionals;
+import org.springframework.stereotype.Repository;
 import org.springframework.stereotype.Service;
 
 import java.time.LocalDateTime;
+import java.util.ArrayList;
+import java.util.List;
 import java.util.Objects;
 import java.util.Optional;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -36,6 +45,8 @@ import java.util.Optional;
  */
 @Service
 public class MeetingDeviceServiceImpl extends AbstractCrudService<MeetingDeviceMapper, MeetingDevice> implements MeetingDeviceService {
+    @Autowired
+    private MeetingRoomMapper meetingRoomMapper;
 
     @Override
     public CommonPage<MeetingDevice> meetingDeviceList(MeetingDeviceRequestVO requestVO){
@@ -48,8 +59,31 @@ public class MeetingDeviceServiceImpl extends AbstractCrudService<MeetingDeviceM
                 .like(StringUtils.isNotBlank(requestVO.getMaintainer()),MeetingDevice::getMaintainer,requestVO.getMaintainer())
                 .like(StringUtils.isNotBlank(requestVO.getContacts()),MeetingDevice::getContacts,requestVO.getContacts())
                 .like(StringUtils.isNotBlank(requestVO.getRemark()),MeetingDevice::getRemark,requestVO.getRemark())
+                .eq(MeetingDevice::getTenantId,SecurityUtils.getTenantId())
                 .orderByAsc(MeetingDevice::getDeviceId);
         page = this.page(page,queryWrapper);
+        if(page.getRecords().size()>0){
+            List<Long> roomIdList = new ArrayList<>();
+            for (int i = 0; i < page.getRecords().size(); i++) {
+                roomIdList.add(Long.valueOf(page.getRecords().get(i).getRoomId()));
+            }
+            List<Long> list = roomIdList.stream().distinct().collect(Collectors.toList());
+
+            LambdaQueryWrapper<MeetingRoom> queryWrapper1 = Wrappers.lambdaQuery();
+            queryWrapper1.in(MeetingRoom::getRoomId,list).eq(MeetingRoom::getTenantId,SecurityUtils.getTenantId());
+            List<MeetingRoom> meetingRoomList = meetingRoomMapper.selectList(queryWrapper1);
+            if(CollectionUtils.isNotEmpty(meetingRoomList)){
+                for (int i = 0; i < page.getRecords().size(); i++) {
+                    Long RId = Long.valueOf(page.getRecords().get(i).getRoomId());
+                    for (int j = 0; j < meetingRoomList.size(); j++) {
+                        if(RId.equals(meetingRoomList.get(j).getRoomId())){
+                            page.getRecords().get(i).setRoomName(meetingRoomList.get(j).getRoomName());
+                            break;
+                        }
+                    }
+                }
+            }
+        }
 
         return new CommonPage<>(page.getRecords(),page.getTotal(),size,current);
     }

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

@@ -47,22 +47,24 @@ public class MeetingFaceServiceImpl extends AbstractCrudService<MeetingFaceMappe
             for (MeetingFace face : faceList) {
                 FaceResultVO faceResult = faceContrastServer.faceContrast(face.getFaceBase(), imageBase);
                 // 是否比对成功
-                if (faceResult.getCode() == FaceResultVO.SUCCESS_CODE ){
+                if (faceResult.getCode() == MeetingFaceVO.SUCCESS_CODE ){
                     // 相似度是否大于80
-                    if (faceResult.getScore() > FaceResultVO.SATISFY_SCORE){
+                    if (faceResult.getScore() > MeetingFaceVO.SATISFY_SCORE){
                         if (face.getFaceStatus() == 0){
                             // 成功
                             lambdaUpdate().set(MeetingFace::getVefNum,face.getVefNum()+1).eq(MeetingFace::getFid,face.getFid()).update();
                             faceState.setMsg(TimeUtils.timeQuantum()+"好,"+face.getFaceName());
                             faceState.setFaceName(face.getFaceName());
                             faceState.setUserId(face.getUserId());
+                            faceState.setCode(MeetingFaceVO.SUCCESS_CODE);
                             return faceState;
                         }else {
                             // 失败 人脸被禁用
                             lambdaUpdate().set(MeetingFace::getVefNum,face.getVefNum()+1).eq(MeetingFace::getFid,face.getFid()).update();
-                            faceState1.setMsg(face.getFaceName()+FaceResultVO.FORBIDDEN_FACE+"当前人脸被禁用");
+                            faceState1.setMsg(face.getFaceName()+MeetingFaceVO.FORBIDDEN_FACE+"当前人脸被禁用");
                             faceState1.setFaceName(face.getFaceName());
                             faceState1.setUserId(face.getUserId());
+                            faceState1.setCode(MeetingFaceVO.SUCCESS_CODE);
                             // 就算上一张人脸被禁用还得往下执行
                             // 可能当前用户存在多张人脸,
                             if (faceLength == 1){
@@ -75,7 +77,8 @@ public class MeetingFaceServiceImpl extends AbstractCrudService<MeetingFaceMappe
                         if (faceLength == 1){
                             // 判断当前人脸是否被禁用,如被禁用,提示被禁用
                             // 禁用优先级大于 没有检测到人脸
-                            faceState.setMsg(FaceResultVO.NOT_FOUND_FACE+"人脸库不存在该人脸");
+                            faceState.setMsg(MeetingFaceVO.NOT_FOUND_FACE+"人脸库不存在该人脸");
+                            faceState.setCode(MeetingFaceVO.SUCCESS_CODE);
                             return faceState;
                         }
                         faceLength --;
@@ -83,12 +86,14 @@ public class MeetingFaceServiceImpl extends AbstractCrudService<MeetingFaceMappe
                 }else {
                     // 接口返回异常
                     faceState.setMsg("人脸验证接口返回异常");
+                    faceState.setCode(MeetingFaceVO.FACE_ERROR);
                     return faceState;
                 }
             }
         }
         // 空异常
-        faceState.setMsg(FaceResultVO.NULL_ERROR+"空指针异常");
+        faceState.setMsg(MeetingFaceVO.NULL_ERROR+"空指针异常");
+        faceState.setCode(MeetingFaceVO.NULL_ERROR);
         return faceState;
     }
 

+ 4 - 4
service-meeting/service-meeting-biz/src/main/java/com/usky/meeting/service/impl/MeetingInfoServiceImpl.java

@@ -27,12 +27,12 @@ public class MeetingInfoServiceImpl extends AbstractCrudService<MeetingInfoMappe
     private MeetingInfoRepository dmMeetingRepository;
 
     @Override
-    public Map<String, Object> meetingSummary() {
-        return dmMeetingRepository.meetingSummary();
+    public Map<String, Object> meetingSummary(Integer tenantId) {
+        return dmMeetingRepository.meetingSummary(tenantId);
     }
 
     @Override
-    public Map<String, Object> meetingSummaryByYear(String year) {
-        return dmMeetingRepository.meetingSummaryByYear(year);
+    public Map<String, Object> meetingSummaryByYear(String year,Integer tenantId) {
+        return dmMeetingRepository.meetingSummaryByYear(year,tenantId);
     }
 }

+ 62 - 7
service-meeting/service-meeting-biz/src/main/java/com/usky/meeting/service/impl/MeetingRoomServiceImpl.java

@@ -8,6 +8,8 @@ import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 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.MeetingFloor;
 import com.usky.meeting.domain.MeetingRoom;
 import com.usky.meeting.mapper.MeetingRoomMapper;
@@ -18,14 +20,13 @@ import com.usky.meeting.service.MeetingRoomService;
 import com.usky.common.mybatis.core.AbstractCrudService;
 import com.usky.meeting.service.vo.MeetingRoomRequestVO;
 import lombok.RequiredArgsConstructor;
+import org.apache.tomcat.jni.Local;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.math.BigInteger;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.time.LocalDateTime;
+import java.util.*;
 
 /**
  * <p>
@@ -49,11 +50,12 @@ public class MeetingRoomServiceImpl extends AbstractCrudService<MeetingRoomMappe
     @Override
     public Map<String,Object> FirstPageStatistic(String year){
         Map<String,Object> map = new HashMap<>();
-        Map<String,Object> roomSummary = dmMeetingRoomRepository.roomSummary();
+        Integer tenantId = SecurityUtils.getTenantId();
+        Map<String,Object> roomSummary = dmMeetingRoomRepository.roomSummary(tenantId);
         map.put("roomSummary",roomSummary);
-        Map<String,Object> meetingSummary = dmMeetingService.meetingSummary();
+        Map<String,Object> meetingSummary = dmMeetingService.meetingSummary(tenantId);
         map.put("meetingSummary",meetingSummary);
-        Map<String,Object> meetingSummaryByYear = dmMeetingService.meetingSummaryByYear(year);
+        Map<String,Object> meetingSummaryByYear = dmMeetingService.meetingSummaryByYear(year,tenantId);
         map.put("meetingSummaryByYear",meetingSummaryByYear);
 
         return map;
@@ -78,6 +80,7 @@ public class MeetingRoomServiceImpl extends AbstractCrudService<MeetingRoomMappe
                 .eq(StringUtils.isNotBlank(floorId),MeetingRoom::getFloorId,floorId)
                 .eq(StringUtils.isNotBlank(requestVO.getStatus()),MeetingRoom::getStatus,requestVO.getStatus())
                 .eq(null != requestVO.getRoomStatus(),MeetingRoom::getRoomStatus,requestVO.getRoomStatus())
+                .eq(MeetingRoom::getTenantId, SecurityUtils.getTenantId())
                 .orderByDesc(MeetingRoom::getRoomId);
         page = this.page(page,queryWrapper);
         if(CollectionUtils.isNotEmpty(page.getRecords())){
@@ -115,4 +118,56 @@ public class MeetingRoomServiceImpl extends AbstractCrudService<MeetingRoomMappe
 
         return new CommonPage<>(page.getRecords(),page.getTotal(),requestVO.getSize(),requestVO.getCurrent());
     }
+
+    @Override
+    public List<MeetingRoom> MeetingRoomList(){
+        LambdaQueryWrapper<MeetingRoom> queryWrapper = Wrappers.lambdaQuery();
+        queryWrapper.eq(MeetingRoom::getTenantId, SecurityUtils.getTenantId());
+        List<MeetingRoom> list = this.list(queryWrapper);
+
+        return list;
+    }
+
+    @Override
+    public void add(MeetingRoom meetingRoom){
+        if(checkNameUnique(meetingRoom)){
+            throw new BusinessException("新增会议室房间失败,"+meetingRoom.getRoomName()+"已经存在");
+        }
+        meetingRoom.setRoomStatus(0L);
+        meetingRoom.setReserveStatus(0L);
+        meetingRoom.setCreateBy(SecurityUtils.getUsername());
+        meetingRoom.setCreateTime(LocalDateTime.now());
+        meetingRoom.setIsApprove(0L);
+        meetingRoom.setTenantId(SecurityUtils.getTenantId());
+        this.save(meetingRoom);
+    }
+
+    @Override
+    public void edit(MeetingRoom meetingRoom){
+        if(checkNameUnique(meetingRoom)){
+            throw new BusinessException("修改会议室房间失败,"+meetingRoom.getRoomName()+"已经存在");
+        }
+        meetingRoom.setUpdateBy(SecurityUtils.getUsername());
+        meetingRoom.setUpdateTime(LocalDateTime.now());
+
+        this.updateById(meetingRoom);
+    }
+
+    @Override
+    public void remove(Long roomId){
+        MeetingRoom one = this.getById(roomId);
+        Optional.ofNullable(one).orElseThrow(() -> new BusinessException("该会议室房间不存在"));
+
+        this.removeById(roomId);
+    }
+
+    public boolean checkNameUnique(MeetingRoom meetingRoom){
+        Long id = null == meetingRoom.getRoomId()?-1:meetingRoom.getRoomId();
+        LambdaQueryWrapper<MeetingRoom> queryWrapper = Wrappers.lambdaQuery();
+        queryWrapper.eq(MeetingRoom::getRoomName,meetingRoom.getRoomName())
+                .eq(MeetingRoom::getTenantId, SecurityUtils.getTenantId());
+        MeetingRoom one = this.getOne(queryWrapper);
+        return null != one && !Objects.equals(one.getRoomId(),id);
+
+    }
 }

+ 21 - 0
service-meeting/service-meeting-biz/src/main/java/com/usky/meeting/service/vo/MeetingFaceVO.java

@@ -19,4 +19,25 @@ public class MeetingFaceVO {
      * 用户ID
      */
     private Long userId;
+
+    /**
+     * 状态码
+     */
+    private int code;
+
+
+    /*成功*/
+    public static final Integer SUCCESS_CODE = 200;
+    /*相似匹配度*/
+    public static final Integer SATISFY_SCORE = 80;
+    /*调用腾讯云接口发生的异常*/
+    public static final Integer FACE_ERROR = -1;
+    /*数据库没有该人脸*/
+    public static final Integer NOT_FOUND_FACE = -2;
+    /*人脸数据为空*/
+    public static final Integer NULL_ERROR = -3;
+    /*当前人脸被禁用*/
+    public static final Integer FORBIDDEN_FACE = -4;
+    /*初始化人脸*/
+    public static final Integer INIT_FACE = 201;
 }