From 56dab0d9cbe8c73a5185fdc1568ac7d7799ce0d3 Mon Sep 17 00:00:00 2001 From: hokli <2629910752@qq.com> Date: Tue, 19 Aug 2025 15:20:09 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=A8=E6=88=B7=E7=AD=89=E7=BA=A7=E7=BC=96?= =?UTF-8?q?=E8=BE=91=EF=BC=8C=E8=B5=A0=E9=80=81vip=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E5=88=86=E5=8C=BA=E9=99=90=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit (cherry picked from commit f921859138f1c51e1813ee54a039bb1bc19d1800) --- .../service/guild/GuildSuperAdminService.java | 2 +- .../admin/service/vip/VipSendAdminService.java | 17 +++++++++++++---- .../user/UserCheckAdminController.java | 8 ++++++++ .../controller/vip/VipSendAdminController.java | 7 +++++-- 4 files changed, 27 insertions(+), 7 deletions(-) diff --git a/accompany-admin/accompany-admin-service/src/main/java/com/accompany/admin/service/guild/GuildSuperAdminService.java b/accompany-admin/accompany-admin-service/src/main/java/com/accompany/admin/service/guild/GuildSuperAdminService.java index a29b0084f..ca0caa636 100644 --- a/accompany-admin/accompany-admin-service/src/main/java/com/accompany/admin/service/guild/GuildSuperAdminService.java +++ b/accompany-admin/accompany-admin-service/src/main/java/com/accompany/admin/service/guild/GuildSuperAdminService.java @@ -124,7 +124,7 @@ public class GuildSuperAdminService { if (!partitionCheck) { throw new AdminServiceException("会长ID Part Error"); } - vipSendAdminService.send(uid, vipLevel, adminId, days); + vipSendAdminService.send(uid, vipLevel, adminId, days, Boolean.FALSE); } diff --git a/accompany-admin/accompany-admin-service/src/main/java/com/accompany/admin/service/vip/VipSendAdminService.java b/accompany-admin/accompany-admin-service/src/main/java/com/accompany/admin/service/vip/VipSendAdminService.java index 4bf8f0c80..38ec011e8 100644 --- a/accompany-admin/accompany-admin-service/src/main/java/com/accompany/admin/service/vip/VipSendAdminService.java +++ b/accompany-admin/accompany-admin-service/src/main/java/com/accompany/admin/service/vip/VipSendAdminService.java @@ -1,6 +1,7 @@ package com.accompany.admin.service.vip; import com.accompany.admin.model.AdminUser; +import com.accompany.admin.service.system.AdminPartitionService; import com.accompany.admin.service.system.AdminUserService; import com.accompany.admin.vo.vip.VipSendRecordVo; import com.accompany.business.model.vip.VipSendRecord; @@ -8,17 +9,16 @@ import com.accompany.business.mybatismapper.vip.VipSendRecordMapper; import com.accompany.business.service.user.UsersService; import com.accompany.business.service.vip.VipSendService; import com.accompany.common.constant.Constant; -import com.accompany.common.result.BusiResult; -import com.accompany.common.result.PageResult; import com.accompany.common.utils.DateTimeUtil; +import com.accompany.core.exception.AdminServiceException; import com.accompany.core.model.Users; import com.accompany.core.util.StringUtils; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.commons.collections.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import org.springframework.util.CollectionUtils; import java.util.List; import java.util.Map; @@ -35,6 +35,8 @@ public class VipSendAdminService { private AdminUserService adminUserService; @Autowired private VipSendService vipSendService; + @Autowired + private AdminPartitionService adminPartitionService; public Page pageRecord(Long erbanNo, Integer current, Integer pageSize, Integer adminId) { Page voPage = new Page<>(current, pageSize); @@ -95,7 +97,14 @@ public class VipSendAdminService { return voPage; } - public void send(long uid, int vipLevel, int adminId, Integer days) { + public void send(long uid, int vipLevel, int adminId, Integer days, boolean checkPartitionId) { + if (checkPartitionId) { + Users users = usersService.getUsersByUid(uid); + List partitionIds = adminPartitionService.getAllPartitionId(adminId); + if (CollectionUtils.isNotEmpty(partitionIds) && !partitionIds.contains(users.getPartitionId())) { + throw new AdminServiceException("PARTITION ERROR"); + } + } vipSendService.send(uid, vipLevel, days, adminId, Constant.OpenVipSource.ADMIN_SEND, Constant.UserVipRecordType.ADMIN_SEND); } } diff --git a/accompany-admin/accompany-admin-web/src/main/java/com/accompany/admin/controller/user/UserCheckAdminController.java b/accompany-admin/accompany-admin-web/src/main/java/com/accompany/admin/controller/user/UserCheckAdminController.java index 98a13106b..a5ca819eb 100644 --- a/accompany-admin/accompany-admin-web/src/main/java/com/accompany/admin/controller/user/UserCheckAdminController.java +++ b/accompany-admin/accompany-admin-web/src/main/java/com/accompany/admin/controller/user/UserCheckAdminController.java @@ -3,6 +3,7 @@ package com.accompany.admin.controller.user; import cn.hutool.core.util.StrUtil; import com.accompany.admin.controller.BaseController; import com.accompany.admin.service.UserCheckAdminService; +import com.accompany.admin.service.system.AdminPartitionService; import com.accompany.admin.vo.UsersAdminVo; import com.accompany.business.model.PrivatePhoto; import com.accompany.business.service.user.PrivatePhotoService; @@ -10,6 +11,7 @@ import com.accompany.common.constant.Constant; import com.accompany.common.result.BusiResult; import com.accompany.common.status.BusiStatus; import com.accompany.common.tencent.cos.TencentCosUploadService; +import com.accompany.core.exception.AdminServiceException; import com.accompany.core.model.RegionInfo; import com.accompany.core.model.Users; import com.accompany.core.model.phone.AreaInfo; @@ -46,6 +48,8 @@ public class UserCheckAdminController extends BaseController { private RegionInfoService regionInfoService; @Autowired private AreaInfoService areaInfoService; + @Autowired + private AdminPartitionService adminPartitionService; @GetMapping("/list") public BusiResult> getList(String erbanNoList, Integer type) { @@ -84,6 +88,10 @@ public class UserCheckAdminController extends BaseController { @ResponseBody public BusiResult getUser(Long erbanNo) { UserVo userVo = userCheckAdminService.getUser(erbanNo); + List partitionIds = adminPartitionService.getAllPartitionId(getAdminId()); + if (CollectionUtils.isNotEmpty(partitionIds) || !partitionIds.contains(userVo.getPartitionId())) { + throw new AdminServiceException("PARTITION ERROR"); + } return BusiResult.success(userVo); } diff --git a/accompany-admin/accompany-admin-web/src/main/java/com/accompany/admin/controller/vip/VipSendAdminController.java b/accompany-admin/accompany-admin-web/src/main/java/com/accompany/admin/controller/vip/VipSendAdminController.java index 3d4eb050f..34027cbb4 100644 --- a/accompany-admin/accompany-admin-web/src/main/java/com/accompany/admin/controller/vip/VipSendAdminController.java +++ b/accompany-admin/accompany-admin-web/src/main/java/com/accompany/admin/controller/vip/VipSendAdminController.java @@ -2,6 +2,7 @@ package com.accompany.admin.controller.vip; import com.accompany.admin.controller.BaseController; import com.accompany.admin.service.system.AdminLogService; +import com.accompany.admin.service.system.AdminPartitionService; import com.accompany.admin.service.vip.VipSendAdminService; import com.accompany.admin.vo.vip.VipSendRecordVo; import com.accompany.common.result.BusiResult; @@ -27,6 +28,8 @@ public class VipSendAdminController extends BaseController { private VipSendAdminService vipSendService; @Autowired private AdminLogService adminLogService; + @Autowired + private AdminPartitionService adminPartitionService; @ApiOperation("分页获取赠送记录") @ApiImplicitParams({ @@ -55,7 +58,7 @@ public class VipSendAdminController extends BaseController { public BusiResult pageRecord(long uid, int vipLevel, Integer days) { int adminId = getAdminId(); adminLogService.insertLog(adminId, getClass().getCanonicalName(),"send vip","params===>>uid:"+uid+",===>>vipLevel:"+vipLevel+",===>>days:"+days ); - vipSendService.send(uid, vipLevel, adminId, days); + vipSendService.send(uid, vipLevel, adminId, days, Boolean.FALSE); return BusiResult.success(); } @@ -72,7 +75,7 @@ public class VipSendAdminController extends BaseController { } int adminId = getAdminId(); adminLogService.insertLog(adminId, getClass().getCanonicalName(),"customerSend vip","params===>>uid:"+uid+",===>>vipLevel:"+vipLevel+",===>>days:"+days ); - vipSendService.send(uid, vipLevel, adminId, days); + vipSendService.send(uid, vipLevel, adminId, days, Boolean.TRUE); return BusiResult.success(); }