公会-后台-公会信息-查询-开始结束时间
This commit is contained in:
@@ -10,6 +10,7 @@ import com.accompany.business.event.GuildMemberStatusChangeEvent;
|
||||
import com.accompany.business.event.NewGuildEvent;
|
||||
import com.accompany.business.message.NewGuildMessage;
|
||||
import com.accompany.business.model.guild.*;
|
||||
import com.accompany.business.mybatismapper.guild.GuildMapper;
|
||||
import com.accompany.business.service.UploadAvatarService;
|
||||
import com.accompany.business.service.guild.*;
|
||||
import com.accompany.business.service.user.UsersService;
|
||||
@@ -51,6 +52,8 @@ public class GuildManageAdminService {
|
||||
@Autowired
|
||||
private PartitionInfoService partitionInfoService;
|
||||
@Autowired
|
||||
private GuildMapper guildMapper;
|
||||
@Autowired
|
||||
private GuildService guildService;
|
||||
@Autowired
|
||||
private GuildMemberService guildMemberService;
|
||||
@@ -284,7 +287,7 @@ public class GuildManageAdminService {
|
||||
|
||||
Set<Integer> regionGuildIdSet = new HashSet<>();
|
||||
if (null != regionId){
|
||||
List<GuildMember> guildOwnerList =guildMemberService.listGuildOwnerByPartitionIdRegionId(partitionId, regionId);
|
||||
List<GuildMember> guildOwnerList = guildMemberService.listGuildOwnerByPartitionIdRegionId(partitionId, regionId);
|
||||
if (CollectionUtils.isEmpty(guildOwnerList)){
|
||||
return voPage;
|
||||
}
|
||||
@@ -303,34 +306,36 @@ public class GuildManageAdminService {
|
||||
.eq(Guild::getPartitionId, partitionId)
|
||||
.orderByDesc(Guild::getEnable, Guild::getId);
|
||||
|
||||
Long ownerUid = null;
|
||||
if (null != erbanNo){
|
||||
Users u = usersService.getUserByErbanNo(erbanNo);
|
||||
if (null == u || u.getPartitionId() != partitionId){
|
||||
return voPage;
|
||||
}
|
||||
queryWrapper.eq(Guild::getOwnerUid, u.getUid());
|
||||
ownerUid = u.getUid();
|
||||
}
|
||||
|
||||
Date sTime = null;
|
||||
if (StringUtils.isNotBlank(startTime)){
|
||||
Date sTime = DateTimeUtil.convertStrToDate(startTime, DateTimeUtil.DEFAULT_DATETIME_PATTERN);
|
||||
queryWrapper.ge(Guild::getCreateTime, sTime);
|
||||
sTime = DateTimeUtil.convertStrToDate(startTime, DateTimeUtil.DEFAULT_DATETIME_PATTERN);
|
||||
}
|
||||
|
||||
Date eTime = null;
|
||||
if (StringUtils.isNotBlank(endTime)){
|
||||
Date eTime = DateTimeUtil.convertStrToDate(endTime, DateTimeUtil.DEFAULT_DATETIME_PATTERN);
|
||||
queryWrapper.le(Guild::getCreateTime, eTime);
|
||||
eTime = DateTimeUtil.convertStrToDate(endTime, DateTimeUtil.DEFAULT_DATETIME_PATTERN);
|
||||
}
|
||||
|
||||
Long inviteUid = null;
|
||||
if (null != inviteErbanNo){
|
||||
Users inviteUser = usersService.getUserByErbanNo(inviteErbanNo);
|
||||
if (null == inviteUser || inviteUser.getPartitionId() != partitionId){
|
||||
return voPage;
|
||||
}
|
||||
queryWrapper.eq(Guild::getInviteUid, inviteUser.getUid());
|
||||
inviteUid = inviteUser.getUid();
|
||||
}
|
||||
|
||||
Page<Guild> page = new Page<>(pageNum, pageSize);
|
||||
guildService.page(page, queryWrapper);
|
||||
guildMapper.pageGuild(page, regionGuildIdSet.stream().toList(), partitionId, ownerUid, sTime, eTime, inviteUid);
|
||||
if (page.getRecords().isEmpty()){
|
||||
return voPage;
|
||||
}
|
||||
|
@@ -6,6 +6,7 @@ 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;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
@@ -13,13 +14,21 @@ public interface GuildMapper extends BaseMapper<Guild> {
|
||||
|
||||
List<Guild> listVaildGuildByPartitionId(@Param("partitionId") Integer partitionId);
|
||||
|
||||
Page<Guild> pageGuildByPartitionId(Page<Guild> page,
|
||||
@Param("uid") Long uid,
|
||||
Page<Guild> pageGuild(Page<Guild> page,
|
||||
@Param("guildIdList") List<Integer> guildIdList,
|
||||
@Param("partitionId") Integer partitionId,
|
||||
@Param("guildName") String familyName);
|
||||
@Param("ownerUid") Long ownerUid,
|
||||
@Param("startTime") Date startTime,
|
||||
@Param("endTime") Date endTime,
|
||||
@Param("inviteUid") Long inviteUid);
|
||||
|
||||
List<AgencyOwnerVo> getAgencyOwnerByGuildIds(@Param("guildIds") Set<Integer> guildIds);
|
||||
|
||||
List<AgencyOwnerVo> getGuildMemberNumMapByGuildIds(@Param("guildIds") Set<Integer> guildIds);
|
||||
|
||||
Page<Guild> pageGuildByPartitionId(Page<Guild> page,
|
||||
@Param("uid") Long uid,
|
||||
@Param("partitionId") Integer partitionId,
|
||||
@Param("guildName") String familyName);
|
||||
|
||||
}
|
@@ -61,4 +61,34 @@
|
||||
</if>
|
||||
GROUP BY guild_id
|
||||
</select>
|
||||
|
||||
<select id="pageGuild" resultType="com.accompany.business.model.guild.Guild">
|
||||
select g.*
|
||||
from guild g
|
||||
<if test="startTime != null or endTime != null">
|
||||
left join (select guild_id, count(*) `member_count` from guild_member gm where gm.enable = 1 group by gm.guild_id) gm on g.id = gm.guild_id
|
||||
</if>
|
||||
where 1 = 1
|
||||
<if test="guildIdList != null and guildIdList.size() > 0">
|
||||
and g.id in <foreach collection="guildIdList" open="(" close=")" item="id">#{id}</foreach>
|
||||
</if>
|
||||
<if test="partitionId != null">
|
||||
and g.partition_id = #{partitionId}
|
||||
</if>
|
||||
<if test="ownerUid != null">
|
||||
and g.owner_uid = #{ownerUid}
|
||||
</if>
|
||||
<if test="startTime != null">
|
||||
and g.create_time >= #{startTime}
|
||||
</if>
|
||||
<if test="endTime != null">
|
||||
and g.create_time <= #{endTime}
|
||||
</if>
|
||||
<if test="startTime != null or endTime != null">
|
||||
order by gm.member_count desc
|
||||
</if>
|
||||
<if test="startTime == null and endTime == null">
|
||||
order by g.id desc
|
||||
</if>
|
||||
</select>
|
||||
</mapper>
|
Reference in New Issue
Block a user