From d17bd13e7ba8d781d55020999d0bcfc000562c20 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期一, 19 五月 2025 15:47:49 +0800
Subject: [PATCH] 最新版本541200007

---
 server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/BookingsServiceImpl.java           |   28 ++++++++++++++++++++--------
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java         |    3 ---
 server/meeting/meeting_service/src/main/java/com/doumee/dao/admin/request/BusinessOverDTO.java                   |    3 +++
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/InoutRecordServiceImpl.java         |    4 ----
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java   |    6 +++---
 server/meeting/meeting_admin/src/main/java/com/doumee/cloud/admin/MeetingCloudController.java                    |    1 +
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncDeviceServiceImpl.java |    2 --
 7 files changed, 27 insertions(+), 20 deletions(-)

diff --git a/server/meeting/meeting_admin/src/main/java/com/doumee/cloud/admin/MeetingCloudController.java b/server/meeting/meeting_admin/src/main/java/com/doumee/cloud/admin/MeetingCloudController.java
index f72e362..3612a3d 100644
--- a/server/meeting/meeting_admin/src/main/java/com/doumee/cloud/admin/MeetingCloudController.java
+++ b/server/meeting/meeting_admin/src/main/java/com/doumee/cloud/admin/MeetingCloudController.java
@@ -139,6 +139,7 @@
     public ApiResponse reservationCancel(@RequestBody BusinessOverDTO businessOverDTO, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
         LoginUserInfo user = getLoginUser(token);
         businessOverDTO.setUserId(user.getId());
+        businessOverDTO.setLoginUser(user);
         bookingsService.reservationCancel(businessOverDTO);
         return ApiResponse.success("鎿嶄綔鎴愬姛");
     }
diff --git a/server/meeting/meeting_service/src/main/java/com/doumee/dao/admin/request/BusinessOverDTO.java b/server/meeting/meeting_service/src/main/java/com/doumee/dao/admin/request/BusinessOverDTO.java
index bd19d57..9438e49 100644
--- a/server/meeting/meeting_service/src/main/java/com/doumee/dao/admin/request/BusinessOverDTO.java
+++ b/server/meeting/meeting_service/src/main/java/com/doumee/dao/admin/request/BusinessOverDTO.java
@@ -4,6 +4,7 @@
 import com.doumee.core.exception.BusinessException;
 import com.doumee.core.utils.DESUtil;
 import com.doumee.dao.admin.response.DevWgResponseParam;
+import com.doumee.service.business.third.model.LoginUserInfo;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -21,4 +22,6 @@
     @ApiModelProperty(value = "寮�濮嬬被鍨� 0 鎻愬墠寮�濮� 1 姝e父寮�濮�",required = true)
     private  Integer startType  ;
 
+    private LoginUserInfo loginUser ;
+
 }
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 666174e..fd048af 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
@@ -644,11 +644,11 @@
             s.setSysList(userrelList);
             //浼氳瀹ょ鐞嗗憳
             MPJLambdaWrapper<UserRel> param = new MPJLambdaWrapper<>();
-            urquery.selectAll(UserRel.class);
-            urquery.eq(UserRel::getObjType, MeetConstants.ZERO);
-            urquery.eq(UserRel::getIsdeleted, MeetConstants.ZERO);
-            urquery.eq(UserRel::getObjId, s.getRoomId());
-            List<UserRel> adminList = userRelJoinMapper.selectJoinList(UserRel.class, urquery);
+            param.selectAll(UserRel.class);
+            param.eq(UserRel::getObjType, MeetConstants.ZERO);
+            param.eq(UserRel::getIsdeleted, MeetConstants.ZERO);
+            param.eq(UserRel::getObjId, s.getRoomId());
+            List<UserRel> adminList = userRelJoinMapper.selectJoinList(UserRel.class, param);
             s.setAdminList(adminList);
 
             //鏌ヨ鏄惁鏈夋潈闄�
@@ -674,7 +674,7 @@
         if(Constants.equalsInteger(userInfo.getId(),s.getCreator())  ){
               return 1;
         }
-        if(adminList!=null){
+        if(adminList!=null && userInfo!=null){
             for(UserRel u : adminList){
                 if(Constants.equalsInteger(userInfo.getId(),u.getUserId())  ){
                     return 1;
@@ -1210,8 +1210,20 @@
         if (Objects.isNull(bookings)) {
             throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(), "鏈煡璇㈠埌棰勭害璁板綍");
         }
-        if (!bookings.getCreator().equals(businessOverDTO.getUserId())) {
-            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "闈炰綘鐨勯绾﹁褰�,鏃犳硶杩涜鍙栨秷");
+
+//        LoginUserInfo user =(LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+        //浼氳瀹ょ鐞嗗憳
+        MPJLambdaWrapper<UserRel> param = new MPJLambdaWrapper<>();
+        param.selectAll(UserRel.class);
+        param.eq(UserRel::getObjType, MeetConstants.ZERO);
+        param.eq(UserRel::getIsdeleted, MeetConstants.ZERO);
+        param.eq(UserRel::getObjId, bookings.getRoomId());
+        List<UserRel> adminList = userRelJoinMapper.selectJoinList(UserRel.class, param);
+        Integer hasRole =getHasRoleByParam(bookings,businessOverDTO.getLoginUser(),adminList);
+
+//        if (!bookings.getCreator().equals(businessOverDTO.getUserId())) {
+        if (!Constants.equalsInteger(hasRole,Constants.ONE)) {
+            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "瀵逛笉璧凤紝鍙湁浼氳瀹ょ鐞嗗憳鍜岀敵璇蜂汉鎵嶈兘杩涜璇ユ搷浣滃摝锛�");
         }
         if (Objects.nonNull(bookings.getStartTimeReal()) && System.currentTimeMillis() > bookings.getStartTimeReal().getTime()) {
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "浼氳宸插紑濮�,鏃犳硶杩涜鍙栨秷");
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/InoutRecordServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/InoutRecordServiceImpl.java
index f447bfc..c8a1819 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/InoutRecordServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/InoutRecordServiceImpl.java
@@ -463,10 +463,6 @@
     }
 
 
-
-
-
-
     public List<InoutRecord> getListByType(List<InoutRecord> list,Integer type){
         return Constants.equalsInteger(type,Constants.ONE)?this.getDataByMemberPhoneSize(list):this.getDataByCarCodeSize(list);
     }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java
index e3577c4..9dbe3a6 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java
@@ -1154,14 +1154,12 @@
         }
     }
 
-
     @Override
     public void cancelInPark(PlatformJob platformJob){
         if(Constants.equalsInteger(platformJob.getType(),Constants.TWO)
                 || Constants.equalsInteger(platformJob.getType(),Constants.THREE)
                 || StringUtils.isBlank(platformJob.getCarCodeFront())
                 || Constants.equalsInteger(platformJob.getType(),Constants.FOUR)){
-
             List<VisitPark> visitParkList = visitParkMapper.selectList(new QueryWrapper<VisitPark>().lambda()
                     .eq(VisitPark::getCarCode,platformJob.getCarCodeFront())
                     .eq(VisitPark::getObjType,Constants.ONE)
@@ -1186,7 +1184,6 @@
             }
         }
     }
-
     /**
      * 鏈堝彴鍙彿
      */
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncDeviceServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncDeviceServiceImpl.java
index bb11d7b..be1567d 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncDeviceServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncDeviceServiceImpl.java
@@ -30,10 +30,8 @@
  */
 @Service
 public class HkSyncDeviceServiceImpl extends HkSyncBaseServiceImpl {
-
     @Autowired
     private DeviceMapper deviceMapper;
-
     /**
      * 鍚屾娴峰悍闂ㄧ璁惧鏁版嵁
      * @param param
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java
index 4390f95..38f9329 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java
@@ -263,7 +263,6 @@
                     delRetentionLis.add(member.getId());
                     if( Constants.formatIntegerNum(request.getData().getExtEventInOut()) == Constants.ONE){
                         //濡傛灉鏄繘闂紝褰曞叆浜哄憳鐨勫湪鍦烘暟鎹褰�
-                        retentionList.add(getRetentionModelByRequest(member,request));
                         if(Constants.equalsInteger(member.getCompanyType(),Constants.ONE)){
                             record.setMemberType(Constants.RetentionMemberType.internalMember);
                             inoutDayCount.setInSelfMemberNum(Constants.formatIntegerNum(inoutDayCount.getInSelfMemberNum())+1);//鍐呴儴浜哄憳鍏ュ満浜烘
@@ -271,6 +270,7 @@
                             record.setMemberType(Constants.RetentionMemberType.relMember);
                             inoutDayCount.setInOtherMemberNum(Constants.formatIntegerNum(inoutDayCount.getInOtherMemberNum())+1);//鐩稿叧鏂瑰叆鍦轰汉娆�
                         }
+                        retentionList.add(getRetentionModelByRequest(member,request,record.getMemberType()));
                     }else{
                         if(Constants.equalsInteger(member.getCompanyType(),Constants.ONE)){
                             record.setMemberType(Constants.RetentionMemberType.internalMember);
@@ -372,7 +372,7 @@
      * @param request
      * @return
      */
-    private Retention getRetentionModelByRequest(Member member, EventAcsInfoRequest request) {
+    private Retention getRetentionModelByRequest(Member member, EventAcsInfoRequest request,int memberType) {
         Retention retention = new Retention();
         retention.setIsdeleted(Constants.ZERO);
         retention.setCreateDate(DateUtil.getISO8601DateByStr(request.getHappenTime()));
@@ -382,7 +382,7 @@
         retention.setIdcardDecode(member.getIdcardDecode());
         retention.setName(member.getName());
         retention.setBirthday(member.getBirthday());
-        retention.setType(member.getType());
+        retention.setType(memberType);
         retention.setCompanyId(member.getCompanyId());
         retention.setCompanyName(member.getCompanyName());
         retention.setEventCode(request.getData().getExtEventCode()+"");

--
Gitblit v1.9.3