CIS房间钻石

This commit is contained in:
2025-09-20 18:26:08 +08:00
parent 14ef00e5d9
commit 58aeb8485d
8 changed files with 140 additions and 8 deletions

View File

@@ -5,6 +5,7 @@ import com.accompany.business.service.guildsoviet.RoomExtraDiamondDayService;
import com.accompany.business.service.user.UsersService;
import com.accompany.business.vo.guildsoviet.GuildMemberSovietAdminVo;
import com.accompany.business.vo.guildsoviet.GuildSovietAdminVo;
import com.accompany.business.vo.guildsoviet.RoomSovietAdminVo;
import com.accompany.common.result.PageResult;
import com.accompany.core.exception.AdminServiceException;
import com.accompany.core.model.Users;
@@ -38,7 +39,8 @@ public class GuildSovietAdminService {
}
public PageResult<GuildMemberSovietAdminVo> listGuildMemberSovietAdminVo(Integer partitionId, Byte ebable, Long erbanNo, Integer regionId, String startDate, String endDate,
public PageResult<GuildMemberSovietAdminVo> listGuildMemberSovietAdminVo(Integer partitionId, Byte ebable, Long erbanNo, Integer regionId,
String startDate, String endDate,
Integer pageNo, Integer pageSize) {
Long uid = null;
if (erbanNo != null) {
@@ -52,4 +54,18 @@ public class GuildSovietAdminService {
guildExtraDiamondDayService.pageGuildMemberSovietAdminVo(new Page<>(pageNo, pageSize), partitionId, uid, regionId, ebable, startDate, endDate);
return new PageResult<>(guildSovietAdminVoPage);
}
public PageResult<RoomSovietAdminVo> listRoomSovietAdminVo(Integer partitionId, Long erbanNo,Integer regionId, String cycleDate,
Integer pageNo, Integer pageSize) {
Long uid = null;
if (erbanNo != null) {
Users user = usersService.getUserByErbanNo(erbanNo);
if (user == null) {}
uid = user.getUid();
}
Page<RoomSovietAdminVo> guildSovietAdminVoPage =
roomExtraDiamondDayService.pageRoomSovietAdminVo(new Page<>(pageNo, pageSize), partitionId, uid, regionId, cycleDate);
return new PageResult<>(guildSovietAdminVoPage);
}
}

View File

@@ -1,9 +1,13 @@
package com.accompany.admin.controller.guildsoviet;
import cn.hutool.core.date.DateUtil;
import com.accompany.admin.service.guildsoviet.GuildSovietAdminService;
import com.accompany.business.vo.guild.CycleDateVo;
import com.accompany.business.vo.guildsoviet.GuildMemberSovietAdminVo;
import com.accompany.business.vo.guildsoviet.GuildSovietAdminVo;
import com.accompany.business.vo.guildsoviet.RoomSovietAdminVo;
import com.accompany.common.result.PageResult;
import com.accompany.common.utils.DateTimeUtil;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.support.ExcelTypeEnum;
import io.swagger.annotations.Api;
@@ -17,10 +21,13 @@ import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@Api(tags = "CIS公会/主播" , value = "CIS公会/主播")
@RestController
@RequestMapping(value = "/admin/guildSoviet")
@RequestMapping(value = "/admin/soviet")
public class GuildSovietAdminController {
@Autowired
@@ -53,8 +60,8 @@ public class GuildSovietAdminController {
response.setContentType("application/vnd.ms-excel");
response.setCharacterEncoding("utf-8");
// 这里URLEncoder.encode可以防止中文乱码
String excelName = URLEncoder.encode("CIS公会钻石", StandardCharsets.UTF_8);
response.setHeader("Content-disposition", "attachment;filename=" + excelName + ExcelTypeEnum.XLSX.getValue());
String excelName = URLEncoder.encode("CIS公会钻石" , StandardCharsets.UTF_8);
response.setHeader("Content-disposition" , "attachment;filename=" + excelName + ExcelTypeEnum.XLSX.getValue());
EasyExcel.write(response.getOutputStream(), GuildSovietAdminVo.class).sheet("CIS公会钻石").doWrite(pageResult.getRows());
}
@@ -86,8 +93,70 @@ public class GuildSovietAdminController {
response.setContentType("application/vnd.ms-excel");
response.setCharacterEncoding("utf-8");
// 这里URLEncoder.encode可以防止中文乱码
String excelName = URLEncoder.encode("CIS公会成员钻石", StandardCharsets.UTF_8);
response.setHeader("Content-disposition", "attachment;filename=" + excelName + ExcelTypeEnum.XLSX.getValue());
String excelName = URLEncoder.encode("CIS公会成员钻石" , StandardCharsets.UTF_8);
response.setHeader("Content-disposition" , "attachment;filename=" + excelName + ExcelTypeEnum.XLSX.getValue());
EasyExcel.write(response.getOutputStream(), GuildMemberSovietAdminVo.class).sheet("CIS公会成员钻石").doWrite(pageResult.getRows());
}
@ApiOperation(value = "CIS房主钻石-周期" , httpMethod = "GET")
@ApiImplicitParams({
@ApiImplicitParam(name = "erbanNo" , value = "用户ID" , required = true, dataType = "Long"),
@ApiImplicitParam(name = "regionId" , value = "用户国家" , required = true, dataType = "Integer"),
@ApiImplicitParam(name = "cycleDate" , value = "周期" , required = true, dataType = "String"),
@ApiImplicitParam(name = "pageNo" , value = "页码" , required = true, dataType = "Integer"),
@ApiImplicitParam(name = "pageSize" , value = "每页条数" , required = true, dataType = "Integer")
})
@GetMapping("/roomCycleDateList")
public List<CycleDateVo> roomCycleDateList() {
List<CycleDateVo> cycleDateVoList = new ArrayList<>();
Date now = new Date();
Date beginOfWeek = DateUtil.beginOfWeek(now);
Date endOfWeek = DateUtil.endOfWeek(now);
Date offectWeek = DateUtil.parseDateTime("2025-09-01 00:00:00");
while (offectWeek.before(beginOfWeek)) {
CycleDateVo cycleDateVo = new CycleDateVo();
cycleDateVo.setCycleDate(DateUtil.format(beginOfWeek, DateTimeUtil.dateFormatter));
cycleDateVo.setIntervalFormatter(DateUtil.format(beginOfWeek, DateTimeUtil.dateFormatter)
+ "~" + DateUtil.format(endOfWeek , DateTimeUtil.dateFormatter));
cycleDateVo.setStartDate(cycleDateVo.getCycleDate());
cycleDateVo.setEndDate(DateUtil.format(endOfWeek, DateTimeUtil.dateFormatter));
beginOfWeek = DateUtil.offsetWeek(beginOfWeek, -1);
endOfWeek = DateUtil.offsetWeek(endOfWeek, -1);
cycleDateVoList.add(cycleDateVo);
}
return cycleDateVoList;
}
@ApiOperation(value = "CIS房主钻石" , httpMethod = "GET")
@ApiImplicitParams({
@ApiImplicitParam(name = "erbanNo" , value = "用户ID" , required = true, dataType = "Long"),
@ApiImplicitParam(name = "regionId" , value = "用户国家" , required = true, dataType = "Integer"),
@ApiImplicitParam(name = "cycleDate" , value = "周期" , required = true, dataType = "String"),
@ApiImplicitParam(name = "pageNo" , value = "页码" , required = true, dataType = "Integer"),
@ApiImplicitParam(name = "pageSize" , value = "每页条数" , required = true, dataType = "Integer")
})
@GetMapping("/roomList")
public PageResult<RoomSovietAdminVo> listRoomSovietAdminVo(@RequestParam(defaultValue = "32") Integer partitionId, Long erbanNo, Integer regionId,
String cycleDate, Integer pageNo, Integer pageSize) {
return guildSovietAdminService.listRoomSovietAdminVo(partitionId, erbanNo, regionId, cycleDate, pageNo, pageSize);
}
@ApiOperation(value = "CIS房主钻石-导出" , httpMethod = "POST")
@PostMapping("/roomExport")
public void exportRoomSovietAdminVo(HttpServletResponse response, @RequestParam(defaultValue = "32") Integer partitionId,
Long erbanNo, Integer regionId, String cycleDate) throws IOException {
Integer pageNo = -1;
Integer pageSize = -1;
PageResult<RoomSovietAdminVo> pageResult = guildSovietAdminService.listRoomSovietAdminVo(partitionId, erbanNo, regionId, cycleDate, pageNo, pageSize);
response.setContentType("application/vnd.ms-excel");
response.setCharacterEncoding("utf-8");
// 这里URLEncoder.encode可以防止中文乱码
String excelName = URLEncoder.encode("CIS房主钻石" , StandardCharsets.UTF_8);
response.setHeader("Content-disposition" , "attachment;filename=" + excelName + ExcelTypeEnum.XLSX.getValue());
EasyExcel.write(response.getOutputStream(), RoomSovietAdminVo.class).sheet("CIS房主钻石").doWrite(pageResult.getRows());
}
}