BD列表-公会列表
This commit is contained in:
@@ -11,11 +11,14 @@ import com.accompany.business.service.guild.BdGuildService;
|
||||
import com.accompany.business.service.guild.BdInfoService;
|
||||
import com.accompany.business.service.invite.UserInviteFissionRecordService;
|
||||
import com.accompany.business.service.user.UsersService;
|
||||
import com.accompany.business.vo.guild.GuildInfoVo;
|
||||
import com.accompany.common.constant.Constant;
|
||||
import com.accompany.common.result.BusiResult;
|
||||
import com.accompany.common.result.PageResult;
|
||||
import com.accompany.core.enumeration.PartitionEnum;
|
||||
import com.accompany.core.exception.AdminServiceException;
|
||||
import com.accompany.core.model.Users;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
@@ -151,8 +154,16 @@ public class BdInfoAdminService {
|
||||
log.info("bindBdGuild error, bdGuild exist");
|
||||
return;
|
||||
}
|
||||
Users users = usersService.getUsersByUid(guild.getOwnerUid());
|
||||
Users bdUser = usersService.getUsersByUid(bdInfo.getUid());
|
||||
if (!users.getPartitionId().equals(bdUser.getPartitionId())) {
|
||||
log.info("bindBdGuild error, partitionId not equal,guild:{},bd:{}",
|
||||
JSONObject.toJSONString(guild), JSONObject.toJSONString(bdInfo));
|
||||
return;
|
||||
}
|
||||
BdGuild bdGuild = new BdGuild();
|
||||
bdGuild.setGuildId(guild.getId());
|
||||
bdGuild.setPartitionId(users.getPartitionId());
|
||||
bdGuild.setBdId(bdInfo.getId());
|
||||
bdGuild.setCreateTime(new Date());
|
||||
bdGuild.setStatus(Constant.status.valid);
|
||||
@@ -162,4 +173,27 @@ public class BdInfoAdminService {
|
||||
public void inValidBdGuildByGuild(Integer guildId) {
|
||||
bdGuildService.inValidByGuildId(guildId);
|
||||
}
|
||||
|
||||
public BusiResult<PageResult<GuildInfoVo>> guilds(Long bdId, Integer pageNo, Integer pageSize) {
|
||||
BdInfo info = bdInfoService.getById(bdId);
|
||||
Users users = usersService.getUsersByUid(info.getUid());
|
||||
IPage<GuildInfoVo> guilds = null;
|
||||
//旧英文区公会数据表在不同表,需要单独处理
|
||||
if (PartitionEnum.ENGLISH.getId() == users.getPartitionId()) {
|
||||
guilds = bdGuildService.familysByBdId(bdId, pageNo, pageSize);
|
||||
} else {
|
||||
guilds = bdGuildService.guildsByBdId(bdId, pageNo, pageSize);
|
||||
}
|
||||
PageResult<GuildInfoVo> pageResult = new PageResult<>(guilds);
|
||||
return BusiResult.success(pageResult);
|
||||
}
|
||||
|
||||
public BusiResult<Void> guildUnBound(Long bdGuildId, Integer adminId) {
|
||||
BdGuild byId = bdGuildService.getById(bdGuildId);
|
||||
byId.setAdminId(adminId);
|
||||
byId.setStatus(Constant.status.invalid);
|
||||
byId.setUpdateTime(new Date());
|
||||
bdGuildService.updateById(byId);
|
||||
return BusiResult.success();
|
||||
}
|
||||
}
|
||||
|
@@ -4,6 +4,7 @@ import com.accompany.admin.controller.BaseController;
|
||||
import com.accompany.admin.params.BdInfoParam;
|
||||
import com.accompany.admin.service.guild.BdInfoAdminService;
|
||||
import com.accompany.business.param.BdInfoAdminVO;
|
||||
import com.accompany.business.vo.guild.GuildInfoVo;
|
||||
import com.accompany.common.result.BusiResult;
|
||||
import com.accompany.common.result.PageResult;
|
||||
import io.swagger.annotations.Api;
|
||||
@@ -45,4 +46,25 @@ public class BdInfoAdminController extends BaseController {
|
||||
return bdInfoAdminService.bdRemove(id, getAdminId());
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation(value = "bd公会列表", httpMethod = "GET")
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "bdId", value = "bdId", required = true),
|
||||
@ApiImplicitParam(name = "pageNo", value = "页码", required = true),
|
||||
@ApiImplicitParam(name = "pageSize", value = "页长", required = true),
|
||||
})
|
||||
@GetMapping("/guilds")
|
||||
public BusiResult<PageResult<GuildInfoVo>> guilds(@RequestParam Long bdId, @RequestParam(defaultValue = "1") Integer pageNo, @RequestParam(defaultValue = "10") Integer pageSize) {
|
||||
return bdInfoAdminService.guilds(bdId, pageNo, pageSize);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "bd公会列表-解绑", httpMethod = "POST")
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "bdGuildId", value = "bdGuildId-列表有传", required = true),
|
||||
})
|
||||
@PostMapping("/guildUnBound")
|
||||
public BusiResult<Void> guildUnBound(@RequestParam Long bdGuildId) {
|
||||
return bdInfoAdminService.guildUnBound(bdGuildId, getAdminId());
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -38,6 +38,10 @@ public class BdGuild implements Serializable {
|
||||
* 状态(1: 有效 2:无效)
|
||||
*/
|
||||
private Byte status;
|
||||
/**
|
||||
* 分区ID
|
||||
*/
|
||||
private Integer partitionId;
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@@ -47,5 +51,6 @@ public class BdGuild implements Serializable {
|
||||
*/
|
||||
private Date updateTime;
|
||||
|
||||
private Integer adminId;
|
||||
|
||||
}
|
||||
|
@@ -1,18 +1,32 @@
|
||||
package com.accompany.business.vo.guild;
|
||||
|
||||
import com.accompany.business.model.guild.Guild;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
@ApiModel
|
||||
@Data
|
||||
public class GuildInfoVo extends Guild {
|
||||
|
||||
@ApiModelProperty("公会长ID")
|
||||
private Long ownerErbanNo;
|
||||
|
||||
private String createTimeStr;
|
||||
|
||||
@ApiModelProperty("")
|
||||
private BigDecimal diamondNum;
|
||||
|
||||
@ApiModelProperty("公会ID")
|
||||
private Long guildId;
|
||||
@ApiModelProperty("公会昵称")
|
||||
private String guildName;
|
||||
@ApiModelProperty("公会长昵称")
|
||||
private String nick;
|
||||
@ApiModelProperty("公会成员数(不包括公会长")
|
||||
private Integer memberNum;
|
||||
@ApiModelProperty("绑定状态 1-有效,2-无效")
|
||||
private Byte status;
|
||||
@ApiModelProperty("操作人")
|
||||
private String operator;
|
||||
@ApiModelProperty("记录ID,解绑的时候传")
|
||||
private Long bdGuildId;
|
||||
}
|
||||
|
@@ -1,7 +1,10 @@
|
||||
package com.accompany.business.mybatismapper.guild;
|
||||
|
||||
import com.accompany.business.model.guild.BdGuild;
|
||||
import com.accompany.business.vo.guild.GuildInfoVo;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
/**
|
||||
* BD-公会中心 Mapper 接口
|
||||
@@ -11,4 +14,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
*/
|
||||
public interface BdGuildMapper extends BaseMapper<BdGuild> {
|
||||
|
||||
IPage<GuildInfoVo> guildsByBdId(@Param("page") IPage<GuildInfoVo> page, @Param("bdId") Long bdId);
|
||||
IPage<GuildInfoVo> familysByBdId(@Param("page") IPage<GuildInfoVo> page, @Param("bdId") Long bdId);
|
||||
}
|
||||
|
@@ -1,6 +1,8 @@
|
||||
package com.accompany.business.service.guild;
|
||||
|
||||
import com.accompany.business.model.guild.BdGuild;
|
||||
import com.accompany.business.vo.guild.GuildInfoVo;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
import java.util.Date;
|
||||
@@ -23,4 +25,8 @@ public interface BdGuildService extends IService<BdGuild> {
|
||||
void inValidByGuildId(Integer guildId);
|
||||
|
||||
Long countValidGuildNum(Long bdId, Date beginTime, Date endTime);
|
||||
|
||||
IPage<GuildInfoVo> guildsByBdId(Long bdId, Integer pageNo, Integer pageSize);
|
||||
|
||||
IPage<GuildInfoVo> familysByBdId(Long bdId, Integer pageNo, Integer pageSize);
|
||||
}
|
||||
|
@@ -2,13 +2,14 @@ package com.accompany.business.service.guild;
|
||||
|
||||
import com.accompany.business.model.guild.BdGuild;
|
||||
import com.accompany.business.mybatismapper.guild.BdGuildMapper;
|
||||
import com.accompany.business.service.user.UsersService;
|
||||
import com.accompany.business.vo.guild.GuildInfoVo;
|
||||
import com.accompany.common.constant.Constant;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
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.apache.commons.collections.CollectionUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Date;
|
||||
@@ -26,9 +27,6 @@ import java.util.stream.Collectors;
|
||||
@Service
|
||||
public class BdGuildServiceImpl extends ServiceImpl<BdGuildMapper, BdGuild> implements BdGuildService {
|
||||
|
||||
@Autowired
|
||||
private UsersService usersService;
|
||||
|
||||
@Override
|
||||
public Map<Long, Long> getBdGuildNumMap(List<Long> bdIds) {
|
||||
LambdaQueryWrapper<BdGuild> wrapper = Wrappers.lambdaQuery();
|
||||
@@ -77,4 +75,16 @@ public class BdGuildServiceImpl extends ServiceImpl<BdGuildMapper, BdGuild> impl
|
||||
}
|
||||
return baseMapper.selectCount(wrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
public IPage<GuildInfoVo> guildsByBdId(Long bdId, Integer pageNo, Integer pageSize) {
|
||||
IPage<GuildInfoVo> page = new Page<>(pageNo, pageSize);
|
||||
return baseMapper.guildsByBdId(page, bdId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public IPage<GuildInfoVo> familysByBdId(Long bdId, Integer pageNo, Integer pageSize) {
|
||||
IPage<GuildInfoVo> page = new Page<>(pageNo, pageSize);
|
||||
return baseMapper.familysByBdId(page, bdId);
|
||||
}
|
||||
}
|
||||
|
@@ -2,4 +2,50 @@
|
||||
<!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.BdGuildMapper">
|
||||
|
||||
<select id="guildsByBdId" resultType="com.accompany.business.vo.guild.GuildInfoVo">
|
||||
SELECT
|
||||
b.id bdGuildId,
|
||||
b.guild_id guildId,
|
||||
g.create_time createTime,
|
||||
g.avatar avatar,
|
||||
g.`name` guildName,
|
||||
g.owner_uid ownerUid,
|
||||
ifnull(a.memberNum, 0) memberNum,
|
||||
u.erban_no ownerErbanNo,
|
||||
u.nick nick,
|
||||
b.admin_id adminId,
|
||||
b.`status` `status`,
|
||||
au.username operator
|
||||
FROM
|
||||
bd_guild b
|
||||
LEFT JOIN guild g ON b.guild_id = g.id
|
||||
left join users u on g.`owner_uid` = u.uid
|
||||
LEFT JOIN admin_user au ON au.id = b.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 b.bd_id = #{bdId} and b.partition_id != 1
|
||||
order by b.`status` asc, b.create_time desc
|
||||
</select>
|
||||
|
||||
<select id="familysByBdId" resultType="com.accompany.business.vo.guild.GuildInfoVo">
|
||||
SELECT
|
||||
b.guild_id guildId,
|
||||
g.create_time createTime,
|
||||
g.avatar avatar,
|
||||
g.`name` guildName,
|
||||
g.owner_uid ownerUid,
|
||||
ifnull(a.memberNum, 0) memberNum,
|
||||
u.erban_no ownerErbanNo,
|
||||
u.nick nick,
|
||||
b.admin_id adminId,
|
||||
b.`status` `status`,
|
||||
au.username operator
|
||||
FROM
|
||||
bd_guild b
|
||||
LEFT JOIN guild g ON b.guild_id = g.id
|
||||
left join users u on g.`owner_uid` = u.uid
|
||||
LEFT JOIN admin_user au ON au.id = b.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 b.bd_id = #{bdId} and b.partition_id = 1
|
||||
order by b.`status` asc, b.create_time desc
|
||||
</select>
|
||||
</mapper>
|
||||
|
@@ -96,6 +96,7 @@
|
||||
b.guild_id guildId,
|
||||
g.create_time createTime,
|
||||
g.avatar avatar,
|
||||
g.`name` guildName,
|
||||
g.owner_uid ownerUid,
|
||||
ifnull(sum(gd.diamond_num), 0) diamondNum
|
||||
FROM
|
||||
@@ -112,6 +113,7 @@
|
||||
b.guild_id guildId,
|
||||
g.create_time createTime,
|
||||
g.avatar avatar,
|
||||
g.`name` guildName,
|
||||
g.owner_uid ownerUid
|
||||
FROM
|
||||
bd_guild b
|
||||
|
Reference in New Issue
Block a user