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

This commit is contained in:
2025-08-19 15:20:09 +08:00
parent d509e2a589
commit f921859138
4 changed files with 27 additions and 7 deletions

View File

@@ -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);
}

View File

@@ -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<VipSendRecordVo> pageRecord(Long erbanNo, Integer current, Integer pageSize, Integer adminId) {
Page<VipSendRecordVo> 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<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);
}
}

View File

@@ -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<List<UsersAdminVo>> getList(String erbanNoList, Integer type) {
@@ -84,6 +88,10 @@ public class UserCheckAdminController extends BaseController {
@ResponseBody
public BusiResult<UserVo> getUser(Long 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);
}

View File

@@ -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<Void> 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();
}