From bf8d85d5f83c2036fb4239d764d33e99c1b62bd3 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期五, 31 五月 2024 14:53:23 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/BookingsServiceImpl.java |   48 ++++++++++++++-
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java   |   10 ++
 server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/ProjectsServiceImpl.java |    2 
 server/meeting/meeting_service/src/main/java/com/doumee/dao/web/response/AccountResponse.java          |    1 
 server/meeting/meeting_service/src/main/java/com/doumee/dao/web/response/MeetingDetailResponse.java    |    4 
 server/meeting/meeting_service/src/main/java/com/doumee/service/business/BookingsService.java          |    4 +
 server/system_service/src/main/java/com/doumee/dao/system/vo/UserResponse.java                         |    6 -
 server/system_service/src/main/java/com/doumee/dao/system/SystemUserMapper.java                        |   25 ++++++++
 server/system_service/src/main/java/com/doumee/service/system/impl/SystemUserServiceImpl.java          |   10 ++
 server/meeting/meeting_admin/src/main/java/com/doumee/cloud/web/MeetingApi.java                        |   12 +--
 server/system_service/src/main/java/com/doumee/service/system/SystemUserService.java                   |    4 +
 server/meeting/meeting_service/src/main/java/com/doumee/dao/business/ProjectsMapper.java               |    1 
 12 files changed, 101 insertions(+), 26 deletions(-)

diff --git a/server/meeting/meeting_admin/src/main/java/com/doumee/cloud/web/MeetingApi.java b/server/meeting/meeting_admin/src/main/java/com/doumee/cloud/web/MeetingApi.java
index 6fbef3f..629e321 100644
--- a/server/meeting/meeting_admin/src/main/java/com/doumee/cloud/web/MeetingApi.java
+++ b/server/meeting/meeting_admin/src/main/java/com/doumee/cloud/web/MeetingApi.java
@@ -2,17 +2,17 @@
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.doumee.api.BaseController;
-import com.doumee.config.Jwt.JwtTokenUtil;
 import com.doumee.core.annotation.trace.Trace;
 import com.doumee.core.model.ApiResponse;
 import com.doumee.core.model.LoginUserInfo;
 import com.doumee.core.model.PageWrap;
 import com.doumee.core.utils.Constants;
 import com.doumee.core.utils.DateUtil;
-import com.doumee.core.utils.QrCodeUtils;
 import com.doumee.dao.business.model.Bookings;
+import com.doumee.dao.system.vo.UserResponse;
 import com.doumee.dao.web.request.BookingsRequest;
 import com.doumee.dao.web.request.MeetingPageRequest;
+import com.doumee.dao.web.request.UserPageRequest;
 import com.doumee.dao.web.response.MeetingDetailResponse;
 import com.doumee.dao.web.response.MeetingListResponse;
 import com.doumee.dao.web.response.MonthDataResponse;
@@ -26,7 +26,6 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
-import javax.servlet.http.HttpServletResponse;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.stream.Collectors;
@@ -50,6 +49,7 @@
 
     @Autowired
     private SystemUserService systemUserService;
+
 
 
     @ApiOperation(value = "褰撴湀浼氳琛�", notes = "褰撴湀浼氳琛�")
@@ -120,18 +120,16 @@
         QrCodeUtils.encode(content,null, response.getOutputStream(), true);
     }*/
 
-/*
-    @LoginRequired
+
     @ApiOperation("鍙備細浜哄憳鍒嗛〉")
     @PostMapping("/userPage")
     @ApiImplicitParams({
             @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
     })
     public ApiResponse<IPage<UserResponse>> userPage(@RequestBody PageWrap<UserPageRequest> pageWrap) {
-        IPage<UserResponse> page = systemUserService.getUserPage(pageWrap);
+        IPage<UserResponse> page = bookingsService.getUserPage(pageWrap);
         return ApiResponse.success("鏌ヨ鎴愬姛", page);
     }
-*/
 
 
     @ApiOperation("浼氳棰勭害")
diff --git a/server/meeting/meeting_service/src/main/java/com/doumee/dao/business/ProjectsMapper.java b/server/meeting/meeting_service/src/main/java/com/doumee/dao/business/ProjectsMapper.java
index 6df40b8..ac02473 100644
--- a/server/meeting/meeting_service/src/main/java/com/doumee/dao/business/ProjectsMapper.java
+++ b/server/meeting/meeting_service/src/main/java/com/doumee/dao/business/ProjectsMapper.java
@@ -5,7 +5,6 @@
 import com.baomidou.mybatisplus.core.toolkit.Constants;
 import com.doumee.dao.business.model.Projects;
 import com.doumee.dao.web.response.ProjectsResponse;
-import com.doumee.dao.web.response.UserResponse;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
 
diff --git a/server/meeting/meeting_service/src/main/java/com/doumee/dao/web/response/AccountResponse.java b/server/meeting/meeting_service/src/main/java/com/doumee/dao/web/response/AccountResponse.java
index 110d9c6..db0de1a 100644
--- a/server/meeting/meeting_service/src/main/java/com/doumee/dao/web/response/AccountResponse.java
+++ b/server/meeting/meeting_service/src/main/java/com/doumee/dao/web/response/AccountResponse.java
@@ -1,6 +1,7 @@
 package com.doumee.dao.web.response;
 
 import com.doumee.dao.system.model.SystemUser;
+import com.doumee.dao.system.vo.UserResponse;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
diff --git a/server/meeting/meeting_service/src/main/java/com/doumee/dao/web/response/MeetingDetailResponse.java b/server/meeting/meeting_service/src/main/java/com/doumee/dao/web/response/MeetingDetailResponse.java
index 41d2f7a..46178bd 100644
--- a/server/meeting/meeting_service/src/main/java/com/doumee/dao/web/response/MeetingDetailResponse.java
+++ b/server/meeting/meeting_service/src/main/java/com/doumee/dao/web/response/MeetingDetailResponse.java
@@ -3,6 +3,7 @@
 import com.doumee.dao.business.model.BookingTime;
 import com.doumee.dao.system.model.Multifile;
 import com.doumee.dao.system.model.SystemUser;
+import com.doumee.dao.system.vo.UserResponse;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -38,8 +39,7 @@
     private String meetingTime;
 
     @ApiModelProperty(value = "鍙備細浜哄憳")
-//    private List<UserResponse> userResponseList;
-    private List<SystemUser> userResponseList;
+    private List<UserResponse> userResponseList;
 
     @ApiModelProperty(value = "浼氳鍐呭")
     private String meetingContent;
diff --git a/server/meeting/meeting_service/src/main/java/com/doumee/service/business/BookingsService.java b/server/meeting/meeting_service/src/main/java/com/doumee/service/business/BookingsService.java
index 035d41f..40450f7 100644
--- a/server/meeting/meeting_service/src/main/java/com/doumee/service/business/BookingsService.java
+++ b/server/meeting/meeting_service/src/main/java/com/doumee/service/business/BookingsService.java
@@ -8,9 +8,11 @@
 import com.doumee.dao.business.model.Bookings;
 import com.doumee.dao.business.vo.RoomStatisticsVo;
 import com.doumee.dao.system.dto.UserStatisticsDTO;
+import com.doumee.dao.system.vo.UserResponse;
 import com.doumee.dao.system.vo.UserStatisticsVo;
 import com.doumee.dao.web.request.BookingsRequest;
 import com.doumee.dao.web.request.MeetingPageRequest;
+import com.doumee.dao.web.request.UserPageRequest;
 import com.doumee.dao.web.response.DateTimeResourceDate;
 import com.doumee.dao.web.response.MeetingDetailResponse;
 import com.doumee.dao.web.response.MeetingListResponse;
@@ -203,4 +205,6 @@
     PageData<UserStatisticsVo> getUserStatistics(PageWrap<UserStatisticsDTO> pageWrap);
 
     void sendBookingsNotice();
+
+    IPage<UserResponse> getUserPage(PageWrap<UserPageRequest> pageWrap);
 }
diff --git a/server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/BookingsServiceImpl.java b/server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/BookingsServiceImpl.java
index 5c36fc8..5c94572 100644
--- a/server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/BookingsServiceImpl.java
+++ b/server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/BookingsServiceImpl.java
@@ -27,9 +27,11 @@
 import com.doumee.dao.system.dto.UserStatisticsDTO;
 import com.doumee.dao.system.join.NoticesJoinMapper;
 import com.doumee.dao.system.model.*;
+import com.doumee.dao.system.vo.UserResponse;
 import com.doumee.dao.system.vo.UserStatisticsVo;
 import com.doumee.dao.web.request.BookingsRequest;
 import com.doumee.dao.web.request.MeetingPageRequest;
+import com.doumee.dao.web.request.UserPageRequest;
 import com.doumee.dao.web.response.*;
 import com.doumee.service.business.BookingsService;
 import com.doumee.service.business.DevicesService;
@@ -72,6 +74,7 @@
     private SystemUserMapper systemUserMapper;
     @Autowired
     private RoomRecordMapper roomRecordMapper;
+
 
     @Autowired
     private BookingsJoinMapper bookingsJoinMapper;
@@ -844,9 +847,10 @@
         ));
 
         //鍙備細浜哄憳鍒楄〃
-        SystemUser param = new SystemUser();
-        List<SystemUser> userResponseList = systemUserService.findList(param);
-        String avatarPath = systemDictDataBiz.queryByCode(MeetConstants.FTP, MeetConstants.FTP_RESOURCE_PATH).getCode() + systemDictDataBiz.queryByCode(MeetConstants.FTP, MeetConstants.MEMBER_IMG).getCode();
+
+        List<UserResponse> userResponseList = systemUserService.getUserList(id);
+        String avatarPath = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode()
+                +systemDictDataBiz.queryByCode(Constants.FTP,Constants.MEMBER_IMG).getCode();
         userResponseList.forEach(i -> {
             if(StringUtils.isNotBlank(i.getAvatar())){
                 i.setAvatar(avatarPath+i.getAvatar());
@@ -854,7 +858,8 @@
         });
         meetingDetailResponse.setUserResponseList(userResponseList);
         //鏈嶅姟椤�
-        String projectsPath = systemDictDataBiz.queryByCode(MeetConstants.FTP, MeetConstants.FTP_RESOURCE_PATH).getCode() + systemDictDataBiz.queryByCode(MeetConstants.FTP, MeetConstants.PROJECTS).getCode();
+        String projectsPath = systemDictDataBiz.queryByCode(MeetConstants.FTP, MeetConstants.FTP_RESOURCE_PATH).getCode()
+                + systemDictDataBiz.queryByCode(MeetConstants.FTP, MeetConstants.PROJECTS).getCode();
         List<ProjectsResponse> projectsResponseList = projectsService.getProjectsList(id, MeetConstants.ONE);
         projectsResponseList.forEach(i -> {
             i.setPrefixUrl(projectsPath);
@@ -1119,5 +1124,40 @@
         return PageData.from(userStatistics);
     }
 
+    /**
+     * 鏌ヨ鍙備細浜哄憳鍒嗛〉
+     * @param pageWrap
+     * @return
+     */
+    @Override
+    public IPage<UserResponse> getUserPage(PageWrap<UserPageRequest> pageWrap) {
+        IPage<UserResponse> page = systemUserMapper.getUserPage(pageWrap.toPage(),new QueryWrapper<UserResponse>()
+                .and(StringUtils.isNotBlank(pageWrap.getModel().getKeyword()), i -> i.like("c.realName", pageWrap.getModel().getKeyword())
+                        .or().like("e.name", pageWrap.getModel().getKeyword())
+                )
+                .eq("c.DELETED",0)
+                .eq("c.status",0)
+                .orderByAsc("c.id")
+        );
+        String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode()
+                +systemDictDataBiz.queryByCode(Constants.FTP,Constants.MEMBER_IMG).getCode();
+        //鏌ヨ鏄惁澶勪簬浼氳涓�
+        page.getRecords().forEach(j->{
+            j.setPrefixUrl(path);
+            if(bookingsMapper.selectCount(new QueryWrapper<Bookings>()
+                    .exists(" select 1 from meeting_user_rel u where u.OBJ_ID = bookings.id and  u.USER_ID = '"+j.getId()+"' and u.OBJ_TYPE = 1    ")
+                    .and(i -> i.between("START_TIME", pageWrap.getModel().getStartTime()+":00",pageWrap.getModel().getEndTime()+":00")
+                            .or().between("END_TIME", pageWrap.getModel().getStartTime()+":00",pageWrap.getModel().getEndTime()+":00")
+                    )
+            )>Constants.ZERO){
+                j.setStatus(Constants.ONE);
+            }else{
+                j.setStatus(Constants.ZERO);
+            }
+        });
+        return page;
+    }
+
+
 
 }
diff --git a/server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/ProjectsServiceImpl.java b/server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/ProjectsServiceImpl.java
index 73988e0..3e90f10 100644
--- a/server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/ProjectsServiceImpl.java
+++ b/server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/ProjectsServiceImpl.java
@@ -3,13 +3,11 @@
 import com.doumee.biz.system.SystemDictDataBiz;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
-import com.doumee.core.utils.Constants;
 import com.doumee.core.utils.Utils;
 import com.doumee.core.wx.MeetConstants;
 import com.doumee.dao.business.ProjectsMapper;
 import com.doumee.dao.business.model.Projects;
 import com.doumee.dao.web.response.ProjectsResponse;
-import com.doumee.dao.web.response.UserResponse;
 import com.doumee.service.business.ProjectsService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
diff --git a/server/system_service/src/main/java/com/doumee/dao/system/SystemUserMapper.java b/server/system_service/src/main/java/com/doumee/dao/system/SystemUserMapper.java
index 4fadb8e..f0ba404 100644
--- a/server/system_service/src/main/java/com/doumee/dao/system/SystemUserMapper.java
+++ b/server/system_service/src/main/java/com/doumee/dao/system/SystemUserMapper.java
@@ -7,6 +7,7 @@
 import com.doumee.dao.system.dto.QuerySystemUserDTO;
 import com.doumee.dao.system.model.SystemUser;
 import com.doumee.dao.system.vo.SystemUserListVO;
+import com.doumee.dao.system.vo.UserResponse;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
 
@@ -26,4 +27,28 @@
 
 
     void insertBatchSomeColumn(List<SystemUser> userList);
+
+
+
+    @Select(" select c.id , c.type , c.REALNAME as realName , c.userName as userName , c.avatar ," +
+            " c.wechat_name as wechatName , c.mobile , c.sex , c.birthday  , c.avatar   ,  d.COMPANY_NAME_PATH as departmentName  " +
+            " from system_user c   " +
+            " INNER JOIN company d on c.COMPANY_ID = d.id  " +
+            " ${ew.customSqlSegment} ")
+    IPage<UserResponse> getUserPage(IPage<UserResponse> page, @Param(Constants.WRAPPER) Wrapper wrapper);
+
+    @Select(" select c.id , c.type , c.REALNAME as realName , c.userName as userName , c.avatar ," +
+            " c.wechat_name as wechatName , c.mobile , c.sex , c.birthday  , c.avatar   ,  d.COMPANY_NAME_PATH as departmentName  " +
+            " from system_user c   " +
+            " INNER JOIN company d on c.COMPANY_ID = d.id  " +
+            " ${ew.customSqlSegment} ")
+    List<UserResponse> getUserList(@Param(Constants.WRAPPER) Wrapper wrapper);
+
+
+    @Select(" select c.id , c.type , c.REALNAME as realName , c.userName as userName , c.avatar ," +
+            " c.wechat_name as wechatName , c.mobile , c.sex , c.birthday  , c.avatar   ,  d.COMPANY_NAME_PATH as departmentName  " +
+            " from system_user c   " +
+            " INNER JOIN company d on c.COMPANY_ID = d.id  " +
+            "  where c.id = #{id} ")
+    UserResponse getUserInfo(@Param("id") Integer id);
 }
diff --git a/server/meeting/meeting_service/src/main/java/com/doumee/dao/web/response/UserResponse.java b/server/system_service/src/main/java/com/doumee/dao/system/vo/UserResponse.java
similarity index 88%
rename from server/meeting/meeting_service/src/main/java/com/doumee/dao/web/response/UserResponse.java
rename to server/system_service/src/main/java/com/doumee/dao/system/vo/UserResponse.java
index f835bdb..d8a657c 100644
--- a/server/meeting/meeting_service/src/main/java/com/doumee/dao/web/response/UserResponse.java
+++ b/server/system_service/src/main/java/com/doumee/dao/system/vo/UserResponse.java
@@ -1,12 +1,8 @@
-package com.doumee.dao.web.response;
+package com.doumee.dao.system.vo;
 
-import com.doumee.core.utils.Date;
-import com.doumee.dao.system.model.SystemUser;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
-
-import java.io.Serializable;
 
 /**
  * Created by IntelliJ IDEA.
diff --git a/server/system_service/src/main/java/com/doumee/service/system/SystemUserService.java b/server/system_service/src/main/java/com/doumee/service/system/SystemUserService.java
index 7f4f04e..37d9ee7 100644
--- a/server/system_service/src/main/java/com/doumee/service/system/SystemUserService.java
+++ b/server/system_service/src/main/java/com/doumee/service/system/SystemUserService.java
@@ -5,6 +5,7 @@
 import com.doumee.dao.system.dto.QuerySystemUserDTO;
 import com.doumee.dao.system.model.SystemUser;
 import com.doumee.dao.system.vo.SystemUserListVO;
+import com.doumee.dao.system.vo.UserResponse;
 
 import java.util.List;
 
@@ -70,7 +71,8 @@
      * @date 2023/03/21 14:49
      */
     List<SystemUser> findList(SystemUser systemUser);
-  
+
+    List<UserResponse> getUserList(Integer bookingsId);
     /**
      * 鍒嗛〉鏌ヨ
      * @author Eva.Caesar Liu
diff --git a/server/system_service/src/main/java/com/doumee/service/system/impl/SystemUserServiceImpl.java b/server/system_service/src/main/java/com/doumee/service/system/impl/SystemUserServiceImpl.java
index 087530c..31d410b 100644
--- a/server/system_service/src/main/java/com/doumee/service/system/impl/SystemUserServiceImpl.java
+++ b/server/system_service/src/main/java/com/doumee/service/system/impl/SystemUserServiceImpl.java
@@ -14,6 +14,7 @@
 import com.doumee.dao.system.model.SystemUser;
 import com.doumee.dao.system.vo.SystemDepartmentListVO;
 import com.doumee.dao.system.vo.SystemUserListVO;
+import com.doumee.dao.system.vo.UserResponse;
 import com.doumee.service.aware.DepartmentDataPermissionAware;
 import com.doumee.service.system.SystemDepartmentService;
 import com.doumee.service.system.SystemPositionService;
@@ -120,6 +121,13 @@
         Wrapper<SystemUser> wrapper = new QueryWrapper<>(systemUser);
         return systemUserMapper.selectList(wrapper);
     }
+
+    @Override
+    public List<UserResponse> getUserList(Integer bookingsId) {
+        return systemUserMapper.getUserList(new QueryWrapper<UserResponse>()
+                .exists(" select 1 from meeting_user_rel u where u.USER_ID = c.id and u.ISDELETED = 0  and u.OBJ_ID = "+bookingsId+" and u.OBJ_TYPE = 1  ")
+        );
+    }
   
     @Override
     public PageData<SystemUserListVO> findPage(PageWrap<QuerySystemUserDTO> pageWrap) {
@@ -209,8 +217,6 @@
                 .or().like(SystemUser::getRealname,pageWrap.getUsername())
         );
         queryWrapper.orderByDesc(SystemUser::getCreateTime);
-
-
 
         List<SystemUser> result = systemUserJoinMapper.selectJoinList( SystemUser.class, queryWrapper);
 
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java
index 43286ff..7e8bffc 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java
@@ -625,8 +625,14 @@
             if((waitList.size()> 0 || otherPassList.size()>0)){
                 Approve waitModel = new Approve();
                 waitModel.setApproveType(Constants.ONE);
-                waitModel.setStatusInfo(passList.size()<=0?StringUtils.defaultString(level.getTitle(),"瀹℃壒浜�"):"鎶勯�佹垨绛惧鎵逛汉");
-                waitModel.setStatus(passList.size()>0?Constants.ONE:Constants.ZERO);
+                if(Constants.equalsInteger(level.getStatus(),Constants.approveStatus.pass)){
+                    waitModel.setStatus(Constants.approveStatus.pass);
+                    waitModel.setStatusInfo("鎶勯�佹垨绛惧鎵逛汉");
+                }else{
+                    waitModel.setStatusInfo(passList.size()<=0?StringUtils.defaultString(level.getTitle(),"瀹℃壒浜�"):"鎶勯�佹垨绛惧鎵逛汉");
+                    waitModel.setStatus(passList.size()>0?Constants.ONE:Constants.ZERO);
+                }
+
                 List<Approve> approveList = new ArrayList<>();
                 approveList.addAll(waitList);
                 //濡傛灉鏄垨绛�

--
Gitblit v1.9.3