用户等级编辑,赠送vip添加分区限制

(cherry picked from commit f921859138)
This commit is contained in:
2025-08-19 15:20:09 +08:00
parent 069a5219c8
commit 56dab0d9cb
4 changed files with 27 additions and 7 deletions

View File

@@ -124,7 +124,7 @@ public class GuildSuperAdminService {
if (!partitionCheck) { if (!partitionCheck) {
throw new AdminServiceException("会长ID Part Error"); throw new AdminServiceException("会长ID Part Error");
} }
vipSendAdminService.send(uid, vipLevel, adminId, days); vipSendAdminService.send(uid, vipLevel, adminId, days, Boolean.FALSE);
} }

View File

@@ -1,6 +1,7 @@
package com.accompany.admin.service.vip; package com.accompany.admin.service.vip;
import com.accompany.admin.model.AdminUser; import com.accompany.admin.model.AdminUser;
import com.accompany.admin.service.system.AdminPartitionService;
import com.accompany.admin.service.system.AdminUserService; import com.accompany.admin.service.system.AdminUserService;
import com.accompany.admin.vo.vip.VipSendRecordVo; import com.accompany.admin.vo.vip.VipSendRecordVo;
import com.accompany.business.model.vip.VipSendRecord; 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.user.UsersService;
import com.accompany.business.service.vip.VipSendService; import com.accompany.business.service.vip.VipSendService;
import com.accompany.common.constant.Constant; 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.common.utils.DateTimeUtil;
import com.accompany.core.exception.AdminServiceException;
import com.accompany.core.model.Users; import com.accompany.core.model.Users;
import com.accompany.core.util.StringUtils; import com.accompany.core.util.StringUtils;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@@ -35,6 +35,8 @@ public class VipSendAdminService {
private AdminUserService adminUserService; private AdminUserService adminUserService;
@Autowired @Autowired
private VipSendService vipSendService; private VipSendService vipSendService;
@Autowired
private AdminPartitionService adminPartitionService;
public Page<VipSendRecordVo> pageRecord(Long erbanNo, Integer current, Integer pageSize, Integer adminId) { public Page<VipSendRecordVo> pageRecord(Long erbanNo, Integer current, Integer pageSize, Integer adminId) {
Page<VipSendRecordVo> voPage = new Page<>(current, pageSize); Page<VipSendRecordVo> voPage = new Page<>(current, pageSize);
@@ -95,7 +97,14 @@ public class VipSendAdminService {
return voPage; 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<Integer> 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); vipSendService.send(uid, vipLevel, days, adminId, Constant.OpenVipSource.ADMIN_SEND, Constant.UserVipRecordType.ADMIN_SEND);
} }
} }

View File

@@ -3,6 +3,7 @@ package com.accompany.admin.controller.user;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.accompany.admin.controller.BaseController; import com.accompany.admin.controller.BaseController;
import com.accompany.admin.service.UserCheckAdminService; import com.accompany.admin.service.UserCheckAdminService;
import com.accompany.admin.service.system.AdminPartitionService;
import com.accompany.admin.vo.UsersAdminVo; import com.accompany.admin.vo.UsersAdminVo;
import com.accompany.business.model.PrivatePhoto; import com.accompany.business.model.PrivatePhoto;
import com.accompany.business.service.user.PrivatePhotoService; 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.result.BusiResult;
import com.accompany.common.status.BusiStatus; import com.accompany.common.status.BusiStatus;
import com.accompany.common.tencent.cos.TencentCosUploadService; import com.accompany.common.tencent.cos.TencentCosUploadService;
import com.accompany.core.exception.AdminServiceException;
import com.accompany.core.model.RegionInfo; import com.accompany.core.model.RegionInfo;
import com.accompany.core.model.Users; import com.accompany.core.model.Users;
import com.accompany.core.model.phone.AreaInfo; import com.accompany.core.model.phone.AreaInfo;
@@ -46,6 +48,8 @@ public class UserCheckAdminController extends BaseController {
private RegionInfoService regionInfoService; private RegionInfoService regionInfoService;
@Autowired @Autowired
private AreaInfoService areaInfoService; private AreaInfoService areaInfoService;
@Autowired
private AdminPartitionService adminPartitionService;
@GetMapping("/list") @GetMapping("/list")
public BusiResult<List<UsersAdminVo>> getList(String erbanNoList, Integer type) { public BusiResult<List<UsersAdminVo>> getList(String erbanNoList, Integer type) {
@@ -84,6 +88,10 @@ public class UserCheckAdminController extends BaseController {
@ResponseBody @ResponseBody
public BusiResult<UserVo> getUser(Long erbanNo) { public BusiResult<UserVo> getUser(Long erbanNo) {
UserVo userVo = userCheckAdminService.getUser(erbanNo); UserVo userVo = userCheckAdminService.getUser(erbanNo);
List<Integer> partitionIds = adminPartitionService.getAllPartitionId(getAdminId());
if (CollectionUtils.isNotEmpty(partitionIds) || !partitionIds.contains(userVo.getPartitionId())) {
throw new AdminServiceException("PARTITION ERROR");
}
return BusiResult.success(userVo); return BusiResult.success(userVo);
} }

View File

@@ -2,6 +2,7 @@ package com.accompany.admin.controller.vip;
import com.accompany.admin.controller.BaseController; import com.accompany.admin.controller.BaseController;
import com.accompany.admin.service.system.AdminLogService; 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.service.vip.VipSendAdminService;
import com.accompany.admin.vo.vip.VipSendRecordVo; import com.accompany.admin.vo.vip.VipSendRecordVo;
import com.accompany.common.result.BusiResult; import com.accompany.common.result.BusiResult;
@@ -27,6 +28,8 @@ public class VipSendAdminController extends BaseController {
private VipSendAdminService vipSendService; private VipSendAdminService vipSendService;
@Autowired @Autowired
private AdminLogService adminLogService; private AdminLogService adminLogService;
@Autowired
private AdminPartitionService adminPartitionService;
@ApiOperation("分页获取赠送记录") @ApiOperation("分页获取赠送记录")
@ApiImplicitParams({ @ApiImplicitParams({
@@ -55,7 +58,7 @@ public class VipSendAdminController extends BaseController {
public BusiResult<Void> pageRecord(long uid, int vipLevel, Integer days) { public BusiResult<Void> pageRecord(long uid, int vipLevel, Integer days) {
int adminId = getAdminId(); int adminId = getAdminId();
adminLogService.insertLog(adminId, getClass().getCanonicalName(),"send vip","params===>>uid:"+uid+",===>>vipLevel:"+vipLevel+",===>>days:"+days ); 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(); return BusiResult.success();
} }
@@ -72,7 +75,7 @@ public class VipSendAdminController extends BaseController {
} }
int adminId = getAdminId(); int adminId = getAdminId();
adminLogService.insertLog(adminId, getClass().getCanonicalName(),"customerSend vip","params===>>uid:"+uid+",===>>vipLevel:"+vipLevel+",===>>days:"+days ); 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(); return BusiResult.success();
} }