Compare commits
2 Commits
feature/20
...
master
Author | SHA1 | Date | |
---|---|---|---|
4eb1d55b1b | |||
a4768691bb |
@@ -1,61 +0,0 @@
|
||||
package com.accompany.admin.service.guild;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.accompany.business.model.guild.Guild;
|
||||
import com.accompany.business.service.guild.GuildDiamondStatisticsHourService;
|
||||
import com.accompany.business.service.guild.GuildService;
|
||||
import com.accompany.business.service.user.UsersService;
|
||||
import com.accompany.business.vo.guild.GuildDiamondStatisticsHourVo;
|
||||
import com.accompany.common.status.BusiStatus;
|
||||
import com.accompany.core.enumeration.PartitionEnum;
|
||||
import com.accompany.core.exception.ServiceException;
|
||||
import com.accompany.core.model.Users;
|
||||
import com.accompany.core.util.StringUtils;
|
||||
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 java.util.Date;
|
||||
|
||||
@Service
|
||||
public class GuildDiamondStatisticsHourAdminService {
|
||||
@Autowired
|
||||
private GuildService guildService;
|
||||
@Autowired
|
||||
private UsersService usersService;
|
||||
@Autowired
|
||||
private GuildDiamondStatisticsHourService guildDiamondStatisticsHourService;
|
||||
|
||||
public Page<GuildDiamondStatisticsHourVo> list(String startDate, String endDate,
|
||||
Integer partitionId, Integer regionId,
|
||||
Integer guildId, Long ownerErbanNo,
|
||||
Integer pageNo, Integer pageSize, Long inviteUid) {
|
||||
if (StringUtils.isEmpty(startDate) || StringUtils.isEmpty(endDate)) {
|
||||
Date date = new Date();
|
||||
startDate = DateUtil.formatDate(DateUtil.offsetDay(date, -30));
|
||||
endDate = DateUtil.formatDate(date);
|
||||
}
|
||||
if (guildId == null && ownerErbanNo != null) {
|
||||
Users users = usersService.getUserByErbanNo(ownerErbanNo);
|
||||
if (users == null) {
|
||||
throw new ServiceException(BusiStatus.SERVERERROR,"公会长信息不存在");
|
||||
}
|
||||
Long ownerUid = users.getUid();
|
||||
Guild guild = guildService.getVaildGuildByOwnerUid(ownerUid);
|
||||
if (guild == null) {
|
||||
throw new ServiceException(BusiStatus.SERVERERROR,"公会不存在");
|
||||
}
|
||||
guildId = guild.getId();
|
||||
}
|
||||
Page<GuildDiamondStatisticsHourVo> guildDiamondStatisticsHourVoPage =
|
||||
guildDiamondStatisticsHourService.listGuildByStatDate(startDate, endDate, partitionId, regionId, guildId, pageNo, pageSize, inviteUid);
|
||||
if (!CollectionUtils.isEmpty(guildDiamondStatisticsHourVoPage.getRecords())) {
|
||||
for (GuildDiamondStatisticsHourVo vo: guildDiamondStatisticsHourVoPage.getRecords()) {
|
||||
vo.setPartitionDesc(PartitionEnum.getByPartitionId(vo.getPartitionId()).getDesc());
|
||||
}
|
||||
}
|
||||
return guildDiamondStatisticsHourVoPage;
|
||||
}
|
||||
|
||||
}
|
@@ -1,74 +0,0 @@
|
||||
package com.accompany.admin.controller.guild;
|
||||
|
||||
import com.accompany.admin.service.guild.GuildDiamondStatisticsHourAdminService;
|
||||
import com.accompany.business.param.BasePageParams;
|
||||
import com.accompany.business.vo.guild.GuildDiamondStatisticsHourVo;
|
||||
import com.accompany.core.vo.BaseResponseVO;
|
||||
import com.alibaba.excel.EasyExcel;
|
||||
import com.alibaba.excel.support.ExcelTypeEnum;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import io.swagger.annotations.Api;
|
||||
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.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
import java.net.URLEncoder;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
|
||||
@Api(tags = "公会小时钻石流水")
|
||||
@RestController
|
||||
@RequestMapping("/admin/guild/hourDiamondStatistics")
|
||||
public class GuildDiamondStatisticsHourAdminController {
|
||||
|
||||
@Autowired
|
||||
private GuildDiamondStatisticsHourAdminService guildDiamondStatisticsHourAdminService;
|
||||
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "partitionId", value = "分区id", required = true),
|
||||
@ApiImplicitParam(name = "ownerErbanNo", value = "公会长id"),
|
||||
@ApiImplicitParam(name = "guildId", value = "公会id"),
|
||||
@ApiImplicitParam(name = "startTime", value = "开始时间 yyyy-mm-dd", dataType = "string"),
|
||||
@ApiImplicitParam(name = "endTime", value = "结束时间 yyyy-mm-dd", dataType = "string"),
|
||||
@ApiImplicitParam(name = "pageNo", value = "页码", required = true),
|
||||
@ApiImplicitParam(name = "pageSize", value = "页长", required = true)
|
||||
})
|
||||
@ApiOperation(value = "公会小时钻石流水列表", httpMethod = "GET")
|
||||
@GetMapping("")
|
||||
public BaseResponseVO<Page<GuildDiamondStatisticsHourVo>> list(BasePageParams basePageParams,
|
||||
int partitionId, Integer regionId,
|
||||
Integer guildId, Long ownerErbanNo) {
|
||||
return new BaseResponseVO<>(guildDiamondStatisticsHourAdminService.list(basePageParams.getStartTime(), basePageParams.getEndTime(),
|
||||
partitionId, regionId, guildId, ownerErbanNo, basePageParams.getPageNo(), basePageParams.getPageSize(), null));
|
||||
}
|
||||
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "partitionId", value = "分区id", required = true),
|
||||
@ApiImplicitParam(name = "ownerErbanNo", value = "公会长id"),
|
||||
@ApiImplicitParam(name = "guildId", value = "公会id"),
|
||||
@ApiImplicitParam(name = "startTime", value = "开始时间 yyyy-mm-dd", dataType = "string"),
|
||||
@ApiImplicitParam(name = "endTime", value = "结束时间 yyyy-mm-dd", dataType = "string"),
|
||||
@ApiImplicitParam(name = "pageNo", value = "页码", required = true),
|
||||
@ApiImplicitParam(name = "pageSize", value = "页长", required = true)
|
||||
})
|
||||
@ApiOperation(value = "公会小时钻石流水列表-导出", httpMethod = "GET")
|
||||
@GetMapping("/export")
|
||||
public void export(HttpServletResponse response, BasePageParams basePageParams,
|
||||
Integer regionId,
|
||||
Integer guildId, Long ownerErbanNo) throws IOException {
|
||||
response.setContentType("application/vnd.ms-excel");
|
||||
response.setCharacterEncoding("utf-8");
|
||||
// 这里URLEncoder.encode可以防止中文乱码
|
||||
String excelName = URLEncoder.encode("公会小时钻石流水列表", StandardCharsets.UTF_8);
|
||||
Page<GuildDiamondStatisticsHourVo> list = guildDiamondStatisticsHourAdminService.list(basePageParams.getStartTime(), basePageParams.getEndTime(),
|
||||
basePageParams.getPartitionId(), regionId, guildId, ownerErbanNo, 1, -1, null);
|
||||
response.setHeader("Content-disposition", "attachment;filename=" + excelName + ExcelTypeEnum.XLSX.getValue());
|
||||
EasyExcel.write(response.getOutputStream(), GuildDiamondStatisticsHourVo.class).sheet("公会小时钻石流水列表").doWrite(list.getRecords());
|
||||
}
|
||||
|
||||
}
|
@@ -1894,7 +1894,7 @@ public class Constant {
|
||||
public static final Byte invalid = 0; //无效
|
||||
}
|
||||
|
||||
public static String DEFAULT_DOMAIN = "https://img.molistar.xyz";
|
||||
public static String DEFAULT_DOMAIN = "https://cdn.moliparty.com";
|
||||
public static String DEFAULT_NICK = "Platform New User";
|
||||
public static String DEFAULT_AVATAR = DEFAULT_DOMAIN + "/default_avatar_molistar.png";
|
||||
public static String DEFAULT_CAR = DEFAULT_DOMAIN + "/default_car.png";
|
||||
|
@@ -38,7 +38,6 @@ public class DateTimeUtil {
|
||||
public static final String DEFAULT_DATE_PATTERN__ = "yyyyMMddHHmmss";
|
||||
public static final String DEFAULT_TIME_PATTERN = "HH:mm:ss";
|
||||
public static final String DEFAULT_DATE_MINUTE_PATTERN = "yyyy-MM-dd HH:mm";
|
||||
public static final String DEFAULT_DATE_HOUR_PATTERN = "yyyy-MM-dd HH";
|
||||
public static final String SIMPLE_MONTH_DATE_PATTERN = "M月d日";
|
||||
public static final String DATE_HOUR_PATTERN = "yyyyMMddHH";
|
||||
public static final String DATE_FORMAT_YEAR_MONTH = "yyyyMM";
|
||||
@@ -66,7 +65,6 @@ public class DateTimeUtil {
|
||||
public static final DateTimeFormatter hoursFormatter = DateTimeFormatter.ofPattern(DateTimeUtil.DATE_HOUR_PATTERN);
|
||||
public static final DateTimeFormatter monthWithoutZeroDateFormatter = DateTimeFormatter.ofPattern(DateTimeUtil.MONTH_WITHOUT_ZERO_DATE_PATTERN);
|
||||
public static final DateTimeFormatter datetimeReverseFormatter = DateTimeFormatter.ofPattern(DateTimeUtil.ZONE_DATETIME_REVERSE_PATTERN);
|
||||
public static final DateTimeFormatter dayHourFormatter = DateTimeFormatter.ofPattern(DateTimeUtil.DEFAULT_DATE_HOUR_PATTERN);
|
||||
|
||||
public static final DateTimeFormatter yyyyMMdd = DateTimeFormatter.ofPattern("yyyyMMdd");
|
||||
|
||||
@@ -1150,9 +1148,4 @@ public class DateTimeUtil {
|
||||
return Date.from(eastEightZonedDateTime.toInstant());
|
||||
}
|
||||
|
||||
public static String getDayHourDate(Date time, String zoneId) {
|
||||
ZonedDateTime zdt = DateTimeUtil.convertWithZoneId(time, zoneId);
|
||||
return zdt.format(dayHourFormatter);
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -1,44 +0,0 @@
|
||||
package com.accompany.business.model.guild;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 公会钻石流水统计按小时实体类
|
||||
*
|
||||
* @author
|
||||
* @since 2025-10-17
|
||||
*/
|
||||
@Data
|
||||
public class GuildDiamondStatisticsHour implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@TableId(value = "id" , type = IdType.AUTO)
|
||||
private Long id;
|
||||
private String statDate;
|
||||
private Integer partitionId;
|
||||
/**
|
||||
* 统计日期yyyy--MM-dd HH
|
||||
*/
|
||||
private String statHour;
|
||||
private Long guildMemberId;
|
||||
private Long uid;
|
||||
/**
|
||||
* 所属厅id
|
||||
*/
|
||||
private Integer guildId;
|
||||
private BigDecimal diamondNum;
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private Date createTime;
|
||||
private Date updateTime;
|
||||
|
||||
|
||||
}
|
@@ -1,27 +0,0 @@
|
||||
package com.accompany.business.vo.guild;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelIgnore;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class GuildDiamondStatisticsHourVo {
|
||||
@ExcelProperty("分区")
|
||||
private String partitionDesc;
|
||||
@ExcelProperty("公会id")
|
||||
private Integer guildId;
|
||||
@ExcelProperty("公会昵称")
|
||||
private String guildName;
|
||||
@ExcelProperty("公会长id")
|
||||
private Long ownerErbanNo;
|
||||
@ExcelProperty("公会长地区")
|
||||
private String ownerRegionDesc;
|
||||
@ExcelProperty("公会操作人")
|
||||
private String adminUsername;
|
||||
@ExcelProperty("主播人数")
|
||||
private Integer memberNum;
|
||||
@ExcelIgnore
|
||||
private Integer partitionId;
|
||||
@ExcelProperty("钻石流水")
|
||||
private Double diamondNum;
|
||||
}
|
@@ -3,7 +3,10 @@ package com.accompany.business.event.listener;
|
||||
import com.accompany.business.event.SuperLuckyGiftDiamondIncomeMessageEvent;
|
||||
import com.accompany.business.message.SuperLuckyGiftDiamondIncomeMessage;
|
||||
import com.accompany.business.model.guild.GuildMember;
|
||||
import com.accompany.business.service.guild.*;
|
||||
import com.accompany.business.service.guild.GuildDiamondStatisticsDayService;
|
||||
import com.accompany.business.service.guild.GuildMemberDiamondStatisticsService;
|
||||
import com.accompany.business.service.guild.GuildMemberService;
|
||||
import com.accompany.business.service.guild.GuildRankService;
|
||||
import com.accompany.business.service.guildpolicy2.GuildDiamondStatisticsPolicy2Service;
|
||||
import com.accompany.business.service.guildsoviet.ExtraDiamondDayService;
|
||||
import com.accompany.business.service.user.UsersService;
|
||||
@@ -42,8 +45,6 @@ public class SuperLuckyGiftDiamondIncomeListener implements ApplicationListener<
|
||||
private GuildDiamondStatisticsPolicy2Service guildDiamondStatisticsPolicy2Service;
|
||||
@Autowired
|
||||
private ExtraDiamondDayService extraDiamondDayService;
|
||||
@Autowired
|
||||
private GuildDiamondStatisticsHourService guildDiamondStatisticsHourService;
|
||||
|
||||
@Async
|
||||
@Override
|
||||
@@ -83,9 +84,6 @@ public class SuperLuckyGiftDiamondIncomeListener implements ApplicationListener<
|
||||
}
|
||||
//todo 时区 zoneId
|
||||
guildRankService.updateRank(guildMember.getGuildId(), guildMember.getUid(), totalDiamondNum, receiver.getPartitionId());
|
||||
|
||||
String dayHourDate = DateTimeUtil.getDayHourDate(time, partitionInfo.getZoneId());
|
||||
guildDiamondStatisticsHourService.updateHourDiamondStatistics(statDate, dayHourDate, guildMember, totalDiamondNum);
|
||||
}
|
||||
|
||||
if (Constant.ClanMode.SOVIET.equals(partitionInfo.getClanMode()) && roomUid != null && roomUid > 0L) {
|
||||
|
@@ -1,29 +0,0 @@
|
||||
package com.accompany.business.mybatismapper.guild;
|
||||
|
||||
import com.accompany.business.model.guild.GuildDiamondStatisticsHour;
|
||||
import com.accompany.business.vo.guild.GuildDiamondStatisticsHourVo;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 公会钻石流水统计按小时 Mapper 接口
|
||||
*
|
||||
* @author
|
||||
* @since 2025-10-17
|
||||
*/
|
||||
public interface GuildDiamondStatisticsHourMapper extends BaseMapper<GuildDiamondStatisticsHour> {
|
||||
|
||||
int updateHourDiamondStatistics(@Param("statDate")String statDate, @Param("hourDate")String hourDate,
|
||||
@Param("guildMemberId")Long guildMemberId, @Param("partitionId") Integer partitionId, @Param("guildId")Integer guildId, @Param("uid")Long uid,
|
||||
@Param("diamond")Double diamond, @Param("time") Date time);
|
||||
|
||||
Page<GuildDiamondStatisticsHourVo> listGuildByStatDate(@Param("ipage") Page<GuildDiamondStatisticsHourVo> ipage,
|
||||
@Param("startDate")String startDate, @Param("endDate")String endDate,
|
||||
@Param("guildId") Integer guildId,
|
||||
@Param("partitionId") Integer partitionId,
|
||||
@Param("regionId") Integer regionId,
|
||||
@Param("inviteUid") Long inviteUid);
|
||||
}
|
@@ -1,33 +0,0 @@
|
||||
package com.accompany.business.service.guild;
|
||||
|
||||
import com.accompany.business.model.guild.GuildDiamondStatisticsHour;
|
||||
import com.accompany.business.model.guild.GuildMember;
|
||||
import com.accompany.business.mybatismapper.guild.GuildDiamondStatisticsHourMapper;
|
||||
import com.accompany.business.vo.guild.GuildDiamondStatisticsHourVo;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 公会钻石流水统计按小时 服务实现类
|
||||
*
|
||||
* @author
|
||||
* @since 2025-10-17
|
||||
*/
|
||||
@Service
|
||||
public class GuildDiamondStatisticsHourService extends ServiceImpl<GuildDiamondStatisticsHourMapper, GuildDiamondStatisticsHour> {
|
||||
|
||||
public int updateHourDiamondStatistics(String statDate, String hourDate, GuildMember guildMember, double diamond) {
|
||||
Date time = new Date();
|
||||
int updated = baseMapper.updateHourDiamondStatistics(statDate, hourDate, guildMember.getId(), guildMember.getPartitionId(), guildMember.getGuildId(), guildMember.getUid(), diamond, time);
|
||||
return updated;
|
||||
}
|
||||
|
||||
public Page<GuildDiamondStatisticsHourVo> listGuildByStatDate(String statDate, String endDate, Integer partitionId, Integer regionId,
|
||||
Integer guildId, Integer pageNo, Integer pageSize, Long inviteUid) {
|
||||
Page<GuildDiamondStatisticsHourVo> page = new Page<>(pageNo, pageSize);
|
||||
return baseMapper.listGuildByStatDate(page, statDate, endDate, guildId, partitionId, regionId, inviteUid);
|
||||
}
|
||||
}
|
@@ -52,8 +52,6 @@ public class GuildGiftRecordService extends ServiceImpl<GuildGiftRecordMapper, G
|
||||
private GuildDiamondStatisticsPolicy2Service guildDiamondStatisticsPolicy2Service;
|
||||
@Autowired
|
||||
private ExtraDiamondDayService extraDiamondDayService;
|
||||
@Autowired
|
||||
private GuildDiamondStatisticsHourService guildDiamondStatisticsHourService;
|
||||
|
||||
@Async
|
||||
public void insertGuildGiftRecord(GiftSendRecord giftSendRecord) {
|
||||
@@ -99,10 +97,8 @@ public class GuildGiftRecordService extends ServiceImpl<GuildGiftRecordMapper, G
|
||||
statDate = CycleTimeUtil.getCycleDay(createTime, partitionInfo.getZoneId());
|
||||
extraDiamondDayService.updateGuildExtraDiamond(guildMember, cycleDate, statDate, totalDiamondNum, 0D, createTime);
|
||||
}
|
||||
guildRankService.updateRank(guildGiftRecord);
|
||||
|
||||
String dayHourDate = DateTimeUtil.getDayHourDate(createTime, partitionInfo.getZoneId());
|
||||
guildDiamondStatisticsHourService.updateHourDiamondStatistics(statDate, dayHourDate, guildMember, totalDiamondNum);
|
||||
guildRankService.updateRank(guildGiftRecord);
|
||||
|
||||
Date zoneTime = DateTimeUtil.withZoneSameInstant(giftSendRecord.getCreateTime(), partitionInfo.getZoneId());
|
||||
String monday = DateTimeUtil.convertDate(DateTimeUtil.getMondayDate(zoneTime), DateTimeUtil.DEFAULT_DATE_PATTERN);
|
||||
|
@@ -547,15 +547,12 @@ public class GuildManagerService {
|
||||
Collections.shuffle(guildList);
|
||||
guildList = guildList.subList(0, 10);
|
||||
}
|
||||
List<Integer> guildIds = guildList.stream().map(Guild::getId).collect(Collectors.toList());
|
||||
Map<Integer, GuildSSRankDetailVo> ssMarkMap = ssGuildService.getSSMarkByGuildId(partitionInfo.getId(), guildIds);
|
||||
Map<Integer, Integer> memberNumMap = guildService.getGuildMemberNumMapByGuildIds(guildIds);
|
||||
for (Guild guild: guildList){
|
||||
SimpleGuildVo vo = new SimpleGuildVo();
|
||||
vo.setGuildId(guild.getId());
|
||||
vo.setGuildName(guild.getName());
|
||||
vo.setMemberNumLimit(guild.getMemberNumLimit());
|
||||
|
||||
vo.setOwnerUid(guild.getOwnerUid());
|
||||
vo.setWeekIncome(weekIncomeMap.getOrDefault(guild.getId(), 0D));
|
||||
voList.add(vo);
|
||||
}
|
||||
|
@@ -1,48 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.accompany.business.mybatismapper.guild.GuildDiamondStatisticsHourMapper">
|
||||
|
||||
<update id="updateHourDiamondStatistics">
|
||||
INSERT INTO `guild_diamond_statistics_hour` (`stat_date`, `stat_hour`, `guild_member_id`, `partition_id`, `uid`,
|
||||
`guild_id`, `diamond_num`, `create_time`, `update_time`)
|
||||
VALUES (#{statDate}, #{hourDate}, #{guildMemberId}, #{partitionId}, #{uid}, #{guildId}, #{diamond}, #{time},
|
||||
#{time}) ON DUPLICATE KEY
|
||||
UPDATE
|
||||
diamond_num = diamond_num +
|
||||
values (diamond_num), update_time =
|
||||
values (update_time)
|
||||
</update>
|
||||
|
||||
<select id="listGuildByStatDate" resultType="com.accompany.business.vo.guild.GuildDiamondStatisticsHourVo">
|
||||
select gd.guild_id guildId,
|
||||
ANY_VALUE(g.name) guildName,
|
||||
sum(gd.diamond_num) diamondNum,
|
||||
ANY_VALUE(u.erban_no) ownerErbanNo,
|
||||
ANY_VALUE(ri.name) ownerRegionDesc,
|
||||
ANY_VALUE(au.username) adminUsername,
|
||||
ifnull(a.memberNum, 0) memberNum,
|
||||
gd.partition_id partitionId
|
||||
from guild_diamond_statistics_hour gd
|
||||
inner join guild g on g.id = gd.guild_id
|
||||
inner join users u on u.uid = g.owner_uid
|
||||
left join region_info ri on ri.id = u.region_id
|
||||
left join admin_user au on au.id = g.admin_id
|
||||
left join (select guild_id, count(distinct uid) memberNum from guild_member where `enable` = 1 and role_type != 1 GROUP BY guild_id) a on a.guild_id = g.id
|
||||
where gd.stat_hour >= #{startDate}
|
||||
and gd.stat_hour <= #{endDate}
|
||||
<if test="partitionId != null and partitionId != 0">
|
||||
and gd.partition_id = #{partitionId}
|
||||
</if>
|
||||
<if test="regionId != null and regionId != 0">
|
||||
and u.region_id = #{regionId}
|
||||
</if>
|
||||
<if test="guildId != null">
|
||||
and gd.guild_id = #{guildId}
|
||||
</if>
|
||||
<if test="inviteUid != null">
|
||||
and g.invite_uid = #{inviteUid}
|
||||
</if>
|
||||
group by gd.guild_id
|
||||
ORDER BY diamondNum desc,memberNum desc, gd.guild_id desc
|
||||
</select>
|
||||
</mapper>
|
Reference in New Issue
Block a user