CIS房间钻石
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -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());
|
||||
}
|
||||
}
|
||||
|
@@ -51,6 +51,10 @@ public class GuildMemberSovietAdminVo {
|
||||
@ApiModelProperty("额外收益")
|
||||
private BigDecimal extraDiamondNum;
|
||||
|
||||
@ExcelProperty("主播额外收益发放状态0-未发放,1-已发放")
|
||||
@ApiModelProperty("主播额外收益发放状态0-未发放,1-已发放")
|
||||
private Byte anchorSendStatus;
|
||||
|
||||
@ExcelProperty("公会长额外收益")
|
||||
@ApiModelProperty("公会长额外收益")
|
||||
private BigDecimal guildExtraDiamondNum;
|
||||
|
@@ -30,7 +30,7 @@ public class RoomSovietAdminVo {
|
||||
|
||||
@ExcelProperty("房主昵称")
|
||||
@ApiModelProperty("房主昵称")
|
||||
private String nicks;
|
||||
private String nick;
|
||||
|
||||
@ExcelProperty("房间基础收益")
|
||||
@ApiModelProperty("房间基础收益")
|
||||
@@ -40,4 +40,8 @@ public class RoomSovietAdminVo {
|
||||
@ApiModelProperty("房主额外收益")
|
||||
private BigDecimal extraDiamondNum;
|
||||
|
||||
@ExcelProperty("额外收益发放状态0-未发放,1-已发放")
|
||||
@ApiModelProperty("额外收益发放状态0-未发放,1-已发放")
|
||||
private Byte sendStatus;
|
||||
|
||||
}
|
||||
|
@@ -1,7 +1,9 @@
|
||||
package com.accompany.business.mybatismapper.guildsoviet;
|
||||
|
||||
import com.accompany.business.model.guildsoviet.RoomExtraDiamondDay;
|
||||
import com.accompany.business.vo.guildsoviet.RoomSovietAdminVo;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
@@ -21,4 +23,7 @@ public interface RoomExtraDiamondDayMapper extends BaseMapper<RoomExtraDiamondDa
|
||||
@Param("normalDiamondNum") Double normalDiamondNum, @Param("luckyDiamondNum") Double luckyDiamondNum,
|
||||
@Param("roomDiamondNum") BigDecimal roomDiamondNum, @Param("roomLuckyDiamond") BigDecimal roomLuckyDiamond,
|
||||
@Param("time") Date time);
|
||||
|
||||
Page<RoomSovietAdminVo> pageRoomSovietAdminVo(@Param("page") Page<RoomSovietAdminVo> page, @Param("partitionId") Integer partitionId, @Param("uid") Long uid,
|
||||
@Param("regionId") Integer regionId, @Param("cycleDate") String cycleDate);
|
||||
}
|
||||
|
@@ -2,8 +2,10 @@ package com.accompany.business.service.guildsoviet;
|
||||
|
||||
import com.accompany.business.model.guildsoviet.RoomExtraDiamondDay;
|
||||
import com.accompany.business.mybatismapper.guildsoviet.RoomExtraDiamondDayMapper;
|
||||
import com.accompany.business.vo.guildsoviet.RoomSovietAdminVo;
|
||||
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.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@@ -14,7 +16,7 @@ import java.util.List;
|
||||
/**
|
||||
* 房间钻石流水额外收入记录 服务实现类
|
||||
*
|
||||
* @author
|
||||
* @author
|
||||
* @since 2025-09-16
|
||||
*/
|
||||
@Service
|
||||
@@ -34,4 +36,9 @@ public class RoomExtraDiamondDayService extends ServiceImpl<RoomExtraDiamondDayM
|
||||
.eq(RoomExtraDiamondDay::getSendStatus, 0);
|
||||
return list(queryWrapper);
|
||||
}
|
||||
|
||||
public Page<RoomSovietAdminVo> pageRoomSovietAdminVo(Page<RoomSovietAdminVo> page, Integer partitionId, Long uid,
|
||||
Integer regionId, String cycleDate) {
|
||||
return baseMapper.pageRoomSovietAdminVo(page, partitionId, uid, regionId, cycleDate);
|
||||
}
|
||||
}
|
||||
|
@@ -133,6 +133,7 @@
|
||||
u.nick nick,
|
||||
r.`name` regionName,
|
||||
gm.`enable` enbale,
|
||||
ge.anchor_send_status anchorSendStatus,
|
||||
sum(diamond_num + lucky_diamond_num) diamondNum,
|
||||
sum(anchor_extra_num + anchor_extra_lucky_num) extraDiamondNum,
|
||||
sum(owner_extra_num + owner_extra_lucky_num) guildExtraDiamondNum
|
||||
|
@@ -15,4 +15,30 @@
|
||||
values (room_extra_lucky_num), update_time =
|
||||
values (update_time)
|
||||
</update>
|
||||
|
||||
<select id="pageRoomSovietAdminVo" resultType="com.accompany.business.vo.guildsoviet.RoomSovietAdminVo">
|
||||
select
|
||||
redd.partition_id partitionId,
|
||||
redd.stat_date statDate,
|
||||
redd.uid uid,
|
||||
u.erban_no erbanNo,
|
||||
u.nick nick,
|
||||
min(send_status) sendStatus,
|
||||
sum(redd.diamond_num + redd.lucky_diamond_num) diamondNum,
|
||||
sum(redd.room_extra_num + redd.room_extra_lucky_num) extraDiamondNum
|
||||
from room_extra_diamond_day redd
|
||||
left join users u on redd.room_uid = u.uid
|
||||
left join region_info r on u.region_id = r.id
|
||||
where redd.partition_id = #{partitionId}
|
||||
<if test="uid != null">
|
||||
and redd.room_uid = #{uid}
|
||||
</if>
|
||||
<if test="regionId != null and regionId != 0">
|
||||
and u.region_id = #{regionId}
|
||||
</if>
|
||||
<if test="cycleDate != null and cycleDate != ''">
|
||||
and redd.cycle_date = #{cycleDate}
|
||||
</if>
|
||||
group by redd.partition_id, redd.stat_date, redd.room_uid
|
||||
</select>
|
||||
</mapper>
|
||||
|
Reference in New Issue
Block a user