超管赠送VIP

超管赠送VIP
This commit is contained in:
2025-05-26 17:53:27 +08:00
parent bf6a5b8880
commit f5cd335f37
5 changed files with 76 additions and 22 deletions

View File

@@ -1,25 +1,32 @@
package com.accompany.admin.service.superadminrole;
import com.accompany.admin.model.AdminUser;
import com.accompany.admin.service.family.FamilyManageAdminService;
import com.accompany.admin.service.headwear.HeadwearAdminService;
import com.accompany.admin.service.system.AdminUserService;
import com.accompany.admin.service.vip.VipSendAdminService;
import com.accompany.admin.vo.AdminUserVo;
import com.accompany.admin.vo.family.FamilyAdminVo;
import com.accompany.admin.vo.vip.VipSendRecordVo;
import com.accompany.business.model.Headwear;
import com.accompany.business.model.HeadwearExample;
import com.accompany.business.model.family.Family;
import com.accompany.business.service.family.FamilyService;
import com.accompany.business.service.user.UsersService;
import com.accompany.common.constant.Constant;
import com.accompany.common.result.BusiResult;
import com.accompany.common.result.PageResult;
import com.accompany.common.status.BusiStatus;
import com.accompany.core.enumeration.PartitionEnum;
import com.accompany.core.exception.AdminServiceException;
import com.accompany.core.model.Users;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.google.common.collect.Maps;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
@Service
public class SuperAdminService {
@@ -33,7 +40,9 @@ public class SuperAdminService {
@Autowired
private AdminGuildRefService adminGuildRefService;
@Autowired
private FamilyService familyService;
private VipSendAdminService vipSendAdminService;
@Autowired
private HeadwearAdminService headwearAdminService;
public void createFamily(Long erbanNo, Long inviteErbanNo, Integer adminId) {
AdminUserVo adminUserVo = adminUserService.getByAdminId(adminId);
@@ -68,7 +77,26 @@ public class SuperAdminService {
if (CollectionUtils.isEmpty(guildIdsByAdminId)) {
return new Page<>(pageNum, pageSize);
}
return familyManageAdminService.pageFamily(familyId, erbanNo, null, pageNum, pageSize, guildIdsByAdminId);
}
public Page<VipSendRecordVo> pageRecord(Long erbanNo, int current, int size, Integer adminId) {
return vipSendAdminService.pageRecord(erbanNo, current, size, adminId);
}
public void send(long uid, int vipLevel, int adminId, Integer days) {
AdminUserVo adminUserVo = adminUserService.getByAdminId(adminId);
Users u = usersService.getUsersByUid(uid);
if (null == u){
throw new AdminServiceException(BusiStatus.USERNOTEXISTS);
}
if (vipLevel >= 3) {
throw new AdminServiceException("vipLevel error");
}
boolean partitionCheck = adminUserVo.getPartitionIds().contains(u.getPartitionId());
if (!partitionCheck) {
throw new AdminServiceException("会长ID Part Error");
}
vipSendAdminService.send(uid, vipLevel, adminId, days);
}
}

View File

@@ -31,6 +31,7 @@ public class AdminGuildRefServiceImpl extends ServiceImpl<AdminGuildRefMapper, A
adminGuildRef.setGuildId(guildId);
adminGuildRef.setCreateTime(new Date());
adminGuildRef.setPartiitionId(partitionId);
baseMapper.insert(adminGuildRef);
}
@Override

View File

@@ -8,6 +8,8 @@ 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.model.Users;
import com.accompany.core.util.StringUtils;
@@ -34,7 +36,7 @@ public class VipSendAdminService {
@Autowired
private VipSendService vipSendService;
public Page<VipSendRecordVo> pageRecord(Long erbanNo, Integer current, Integer pageSize) {
public Page<VipSendRecordVo> pageRecord(Long erbanNo, Integer current, Integer pageSize, Integer adminId) {
Page<VipSendRecordVo> voPage = new Page<>(current, pageSize);
Long uid = null;
@@ -50,6 +52,10 @@ public class VipSendAdminService {
LambdaQueryWrapper<VipSendRecord> queryWrapper = Wrappers.<VipSendRecord>lambdaQuery()
.eq(null != uid, VipSendRecord::getUid, uid)
.orderByDesc(VipSendRecord::getId);
if (adminId != null) {
queryWrapper.eq(VipSendRecord::getAdminId, adminId);
}
vipSendRecordMapper.selectPage(poPage, queryWrapper);
if (CollectionUtils.isEmpty(poPage.getRecords())){
return voPage;

View File

@@ -1,12 +1,10 @@
package com.accompany.admin.controller.superadminrole;
import com.accompany.admin.controller.BaseController;
import com.accompany.admin.controller.family.FamilyManageAdminController;
import com.accompany.admin.service.superadminrole.SuperAdminService;
import com.accompany.admin.service.system.AdminLogService;
import com.accompany.admin.service.system.AdminUserService;
import com.accompany.admin.vo.AdminUserVo;
import com.accompany.admin.vo.family.FamilyAdminVo;
import com.accompany.admin.vo.vip.VipSendRecordVo;
import com.accompany.common.result.BusiResult;
import com.accompany.common.result.PageResult;
import com.accompany.common.status.BusiStatus;
@@ -17,10 +15,9 @@ import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import java.util.Map;
@Api(tags = "超管中心")
@RestController
@@ -28,12 +25,10 @@ import org.springframework.web.bind.annotation.RestController;
public class SuperAdminController extends BaseController {
@Autowired
private AdminLogService adminLogService;
@Autowired
private SuperAdminService superAdminService;
@ApiOperation("创建家族,修改家族用已有接口:/admin/family/manage/update")
@ApiOperation(value = "创建公会,对应前端页面GuildInfo修改家族用已有接口/admin/family/manage/update", httpMethod = "POST")
@ApiImplicitParams({
@ApiImplicitParam(name = "erbanNo", value = "erbanNo", required = true),
@ApiImplicitParam(name = "inviteErbanNo", value = "邀请人ID")
@@ -50,7 +45,7 @@ public class SuperAdminController extends BaseController {
return BusiResult.success();
}
@ApiOperation("查询公会信息")
@ApiOperation(value = "查询公会信息",httpMethod = "GET")
@ApiImplicitParams({
@ApiImplicitParam(name = "family", value = "家族id"),
@ApiImplicitParam(name = "erbanNo", value = "家族长erbanNo"),
@@ -63,4 +58,31 @@ public class SuperAdminController extends BaseController {
Page<FamilyAdminVo> page = superAdminService.pageFamily(familyId, erbanNo, pageNum, pageSize, getAdminId());
return BusiResult.success(new PageResult<>(page));
}
@ApiOperation("赠送VIP(同页面VipGive)")
@ApiImplicitParams({
@ApiImplicitParam(name = "uid", value = "uid", required = true),
@ApiImplicitParam(name = "vipLevel", value = "vip等级", required = true),
@ApiImplicitParam(name = "days", value = "days", required = true)
})
@PostMapping("/vipSend")
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 );
superAdminService.send(uid, vipLevel, adminId, days);
return BusiResult.success();
}
@ApiOperation(value = "分页获取VIP赠送记录", httpMethod = "GET")
@ApiImplicitParams({
@ApiImplicitParam(name = "erbanNo", value = "id"),
@ApiImplicitParam(name = "current", value = "页码", required = true),
@ApiImplicitParam(name = "size", value = "页长", required = true)
})
@GetMapping("/vipSendRecord")
public BusiResult<PageResult<VipSendRecordVo>> pageRecord(Long erbanNo,
int current, int size) {
Page<VipSendRecordVo> pageInfo = superAdminService.pageRecord(erbanNo, current, size, getAdminId());
return BusiResult.success(new PageResult<>(pageInfo));
}
}

View File

@@ -12,10 +12,7 @@ import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
@Api(tags = "赠送vip")
@RequestMapping("/vipSend")
@@ -36,7 +33,7 @@ public class VipSendAdminController extends BaseController {
@GetMapping("/pageRecord")
public BusiResult<PageResult<VipSendRecordVo>> pageRecord(Long erbanNo,
int current, int size) {
Page<VipSendRecordVo> pageInfo = vipSendService.pageRecord(erbanNo, current, size);
Page<VipSendRecordVo> pageInfo = vipSendService.pageRecord(erbanNo, current, size, null);
return BusiResult.success(new PageResult<>(pageInfo));
}