公会-运营负责人-调整业务模型

This commit is contained in:
khalil
2025-07-15 17:34:03 +08:00
parent 58daa3ded1
commit 2398dd1afb
19 changed files with 304 additions and 131 deletions

View File

@@ -22,8 +22,6 @@ public class GuildOperatorAdminVo {
private List<Integer> regionIds; private List<Integer> regionIds;
@ApiModelProperty("地区映射字典") @ApiModelProperty("地区映射字典")
private Map<Integer, String> regionMap; private Map<Integer, String> regionMap;
@ApiModelProperty("是否启用")
private Boolean enable;
@ApiModelProperty("更新时间") @ApiModelProperty("更新时间")
private Date updateTime; private Date updateTime;
@ApiModelProperty("后台操作人id") @ApiModelProperty("后台操作人id")

View File

@@ -0,0 +1,38 @@
package com.accompany.admin.vo.guild;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
import java.util.List;
import java.util.Map;
@Data
public class GuildOperatorHistoryAdminVo {
@ApiModelProperty("id")
private Integer id;
@ApiModelProperty("分区id")
private Integer partitionId;
@ApiModelProperty("分区描述")
private String partitionDesc;
@ApiModelProperty("公会id")
private Integer guildId;
@ApiModelProperty("公会昵称")
private String guildName;
@ApiModelProperty("原负责人id")
private Integer oldOperatorId;
@ApiModelProperty("原负责人名称")
private String oldOperatorName;
@ApiModelProperty("新负责人id")
private Integer newOperatorId;
@ApiModelProperty("新负责人名称")
private String newOperatorName;
@ApiModelProperty("更新时间")
private String updateTime;
@ApiModelProperty("后台操作人id")
private Integer adminId;
@ApiModelProperty("后台操作人名称")
private String adminName;
}

View File

@@ -1,10 +0,0 @@
package com.accompany.admin.mapper.guild;
import com.accompany.admin.model.guild.GuildOperatorRef;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface GuildOperatorRefMapper extends BaseMapper<GuildOperatorRef> {
// You can add custom SQL methods here if needed
}

View File

@@ -231,7 +231,7 @@ public class GuildApplyAdminService {
applyServiceById.setAdminId(admindId); applyServiceById.setAdminId(admindId);
boolean b = guildApplyService.updateById(applyServiceById); boolean b = guildApplyService.updateById(applyServiceById);
if (b) { if (b) {
Integer guildId = guildManageAdminService.addGuildInfo(users, applyServiceById.getApplyTime(), admindId, null, null, applyServiceById.getInviteUid(), applyServiceById); Integer guildId = guildManageAdminService.addGuildInfo(users, applyServiceById.getApplyTime(), admindId, null, null, applyServiceById.getInviteUid(), applyServiceById, null);
applyServiceById.setGuildId(guildId); applyServiceById.setGuildId(guildId);
guildApplyService.updateById(applyServiceById); guildApplyService.updateById(applyServiceById);
String rejectSys = I18NMessageSourceUtil.getMessage(I18nAlertEnum.GUILD_APPLY_PASS, users.getPartitionId()); String rejectSys = I18NMessageSourceUtil.getMessage(I18nAlertEnum.GUILD_APPLY_PASS, users.getPartitionId());

View File

@@ -2,8 +2,8 @@ package com.accompany.admin.service.guild;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import com.accompany.admin.model.AdminUser; import com.accompany.admin.model.AdminUser;
import com.accompany.admin.model.guild.GuildOperator; import com.accompany.business.model.guild.GuildOperator;
import com.accompany.admin.model.guild.GuildOperatorRef; import com.accompany.business.model.guild.GuildOperatorHistory;
import com.accompany.admin.service.system.AdminUserService; import com.accompany.admin.service.system.AdminUserService;
import com.accompany.admin.vo.guild.GuildAdminVo; import com.accompany.admin.vo.guild.GuildAdminVo;
import com.accompany.admin.vo.guild.GuildMemberAdminVo; import com.accompany.admin.vo.guild.GuildMemberAdminVo;
@@ -82,7 +82,7 @@ public class GuildManageAdminService {
@Autowired @Autowired
private GuildManagerService guildManagerService; private GuildManagerService guildManagerService;
@Autowired @Autowired
private GuildOperatorRefAdminService guildOperatorRefAdminService; private GuildOperatorHistoryAdminService guildOperatorHistoryAdminService;
@Autowired @Autowired
private GuildOperatorAdminService guildOperatorAdminService; private GuildOperatorAdminService guildOperatorAdminService;
@@ -112,15 +112,15 @@ public class GuildManageAdminService {
inviteUid = inviteUser.getUid(); inviteUid = inviteUser.getUid();
} }
if (null != operatorId){ if (null != operatorId){
guildOperatorRefAdminService.validGuildRef(u, operatorId); guildOperatorAdminService.validGuildRef(u, operatorId);
} }
if (null != guildMemberService.getVaildGuildMemberByUid(u.getUid())){ if (null != guildMemberService.getVaildGuildMemberByUid(u.getUid())){
throw new AdminServiceException(BusiStatus.FAMILY_MEMBER_ALREADY_IN_OTHER_FAMILY); throw new AdminServiceException(BusiStatus.FAMILY_MEMBER_ALREADY_IN_OTHER_FAMILY);
} }
Date now = new Date(); Date now = new Date();
int guildId = addGuildInfo(u, now, adminId, guildContactType, guildContact, inviteUid,null); int guildId = addGuildInfo(u, now, adminId, guildContactType, guildContact, inviteUid,null, operatorId);
guildOperatorRefAdminService.addGuildRef(guildId, operatorId, adminId); guildOperatorHistoryAdminService.addGuildRef(guildId, u.getPartitionId(), operatorId, adminId);
} }
/** /**
@@ -132,11 +132,12 @@ public class GuildManageAdminService {
* @param guildContactType * @param guildContactType
* @param guildContact * @param guildContact
* @param guildApply * @param guildApply
* @param operatorId
* @return * @return
*/ */
public Integer addGuildInfo(Users u, Date now, Integer adminId, public Integer addGuildInfo(Users u, Date now, Integer adminId,
String guildContactType, String guildContact, String guildContactType, String guildContact,
Long inviteUid, GuildApply guildApply) { Long inviteUid, GuildApply guildApply, Integer operatorId) {
Guild guild = new Guild(); Guild guild = new Guild();
guild.setPartitionId(u.getPartitionId()); guild.setPartitionId(u.getPartitionId());
guild.setOwnerUid(u.getUid()); guild.setOwnerUid(u.getUid());
@@ -162,6 +163,7 @@ public class GuildManageAdminService {
GuildConstant.DefaultInfo.DEFAULT_NAME_SUFFIX, u.getPartitionId())); GuildConstant.DefaultInfo.DEFAULT_NAME_SUFFIX, u.getPartitionId()));
guild.setAvatar(u.getAvatar()); guild.setAvatar(u.getAvatar());
} }
guild.setOperatorId(operatorId);
guildService.save(guild); guildService.save(guild);
@@ -219,6 +221,7 @@ public class GuildManageAdminService {
.set(StringUtils.isNotBlank(guildContact), Guild::getGuildContact, guildContact) .set(StringUtils.isNotBlank(guildContact), Guild::getGuildContact, guildContact)
.set(inviteUid != null, Guild::getInviteUid, inviteUid) .set(inviteUid != null, Guild::getInviteUid, inviteUid)
.set(null != memberNumLimit, Guild::getMemberNumLimit, memberNumLimit) .set(null != memberNumLimit, Guild::getMemberNumLimit, memberNumLimit)
.set(Guild::getOperatorId, operatorId)
.update(); .update();
boolean avatarUpdate = !guild.getAvatar().equals(avatar); boolean avatarUpdate = !guild.getAvatar().equals(avatar);
@@ -228,7 +231,10 @@ public class GuildManageAdminService {
uploadAvatarService.delReviewAvatar(RedisKey.guild_avatar_under_review.getKey(), guild.getOwnerUid().toString()); uploadAvatarService.delReviewAvatar(RedisKey.guild_avatar_under_review.getKey(), guild.getOwnerUid().toString());
guildOperatorRefAdminService.updateOperatorRef(guild.getId(), operatorId, adminId); if (null != guild.getOperatorId() && guild.getOperatorId().equals(operatorId)){
return;
}
guildOperatorHistoryAdminService.addGuildRef(guild.getId(), guild.getOperatorId(), operatorId, adminId);
} }
private Long bdBound(Guild guild, Long inviteErbanNo) { private Long bdBound(Guild guild, Long inviteErbanNo) {
@@ -342,10 +348,10 @@ public class GuildManageAdminService {
Map<Integer, String> partitionNameMap = partitionInfoService.listAll().stream().collect(Collectors.toMap(PartitionInfo::getId, PartitionInfo::getDesc)); Map<Integer, String> partitionNameMap = partitionInfoService.listAll().stream().collect(Collectors.toMap(PartitionInfo::getId, PartitionInfo::getDesc));
Map<Integer, String> regionNameMap = regionInfoService.getRegionName(); Map<Integer, String> regionNameMap = regionInfoService.getRegionName();
Map<Integer, Integer> guildOperatorIdMap = guildOperatorRefAdminService.listByGuildId(guildIdList).stream()
.collect(Collectors.toMap(GuildOperatorRef::getGuildId, GuildOperatorRef::getOperatorId)); List<Integer> operatorIdList = poList.stream().map(Guild::getOperatorId).distinct().toList();
Map<Integer, String> guildOperatorNameMap = guildOperatorAdminService.list().stream() Map<Integer, String> guildOperatorNameMap = !CollectionUtils.isEmpty(operatorIdList)? guildOperatorAdminService.listByOperatorId(operatorIdList).stream()
.collect(Collectors.toMap(GuildOperator::getId, GuildOperator::getName)); .collect(Collectors.toMap(GuildOperator::getId, GuildOperator::getName)) : Collections.emptyMap();
Date now = new Date(); Date now = new Date();
for (Guild guild: poList){ for (Guild guild: poList){
@@ -387,10 +393,9 @@ public class GuildManageAdminService {
} }
} }
Integer operatorId = guildOperatorIdMap.get(guild.getId()); vo.setGuildOperatorId(guild.getOperatorId());
if (null != operatorId){ if (null != guild.getOperatorId()){
vo.setGuildOperatorId(operatorId); vo.setGuildOperatorName(guildOperatorNameMap.get(guild.getOperatorId()));
vo.setGuildOperatorName(guildOperatorNameMap.get(operatorId));
} }
voList.add(vo); voList.add(vo);

View File

@@ -1,15 +1,19 @@
package com.accompany.admin.service.guild; package com.accompany.admin.service.guild;
import com.accompany.admin.mapper.guild.GuildOperatorMapper; import com.accompany.business.model.guild.GuildOperator;
import com.accompany.admin.model.guild.GuildOperator;
import com.accompany.admin.service.RegionInfoAdminService; import com.accompany.admin.service.RegionInfoAdminService;
import com.accompany.admin.service.system.AdminUserService; import com.accompany.admin.service.system.AdminUserService;
import com.accompany.admin.vo.guild.GuildOperatorAdminVo; import com.accompany.admin.vo.guild.GuildOperatorAdminVo;
import com.accompany.business.param.BasePageParams;
import com.accompany.business.service.guild.GuildOperatorService;
import com.accompany.core.exception.AdminServiceException;
import com.accompany.core.model.PartitionInfo; import com.accompany.core.model.PartitionInfo;
import com.accompany.core.model.Users;
import com.accompany.core.service.partition.PartitionInfoService; import com.accompany.core.service.partition.PartitionInfoService;
import com.accompany.core.service.region.RegionInfoService;
import com.accompany.core.vo.RegionInfoVo; import com.accompany.core.vo.RegionInfoVo;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
@@ -20,8 +24,10 @@ import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@Service @Service
public class GuildOperatorAdminService extends ServiceImpl<GuildOperatorMapper, GuildOperator> { public class GuildOperatorAdminService {
@Autowired
private GuildOperatorService guildOperatorService;
@Autowired @Autowired
private PartitionInfoService partitionInfoService; private PartitionInfoService partitionInfoService;
@Autowired @Autowired
@@ -29,8 +35,31 @@ public class GuildOperatorAdminService extends ServiceImpl<GuildOperatorMapper,
@Autowired @Autowired
private AdminUserService adminUserService; private AdminUserService adminUserService;
public GuildOperator getById(Integer id){
return guildOperatorService.getById(id);
}
public void validGuildRef(Users owner, Integer operatorId) {
GuildOperator guildOperator = guildOperatorService.getById(operatorId);
if (null == guildOperator){
String tip = String.format("找不到id为%d的公会运营负责人", operatorId);
throw new AdminServiceException(tip);
} else if (!guildOperator.getPartitionId().equals(owner.getPartitionId())) {
String tip = String.format("id为%d的公会运营负责人与公会长不在同一个分区", operatorId);
throw new AdminServiceException(tip);
} else if (CollectionUtils.isEmpty(guildOperator.getRegionIds()) || null == owner.getRegionId()
|| !guildOperator.getRegionIds().contains(owner.getRegionId())) {
String tip = String.format("id为%d的公会运营负责人与公会长不在同一个国家/地区", operatorId);
throw new AdminServiceException(tip);
}
}
public List<GuildOperator> listByOperatorId(List<Integer> operatorIdList){
return guildOperatorService.lambdaQuery().in(GuildOperator::getId, operatorIdList).list();
}
public List<GuildOperatorAdminVo> listAll(){ public List<GuildOperatorAdminVo> listAll(){
List<GuildOperator> list = lambdaQuery().eq(GuildOperator::getEnable, true).list(); List<GuildOperator> list = guildOperatorService.listAll();
if (CollectionUtils.isEmpty(list)){ if (CollectionUtils.isEmpty(list)){
return Collections.emptyList(); return Collections.emptyList();
} }
@@ -49,7 +78,6 @@ public class GuildOperatorAdminService extends ServiceImpl<GuildOperatorMapper,
vo.setPartitionDesc(partitionDescMap.get(item.getPartitionId())); vo.setPartitionDesc(partitionDescMap.get(item.getPartitionId()));
vo.setRegionIds(item.getRegionIds()); vo.setRegionIds(item.getRegionIds());
vo.setRegionMap(item.getRegionIds().stream().collect(Collectors.toMap(v -> v, regionDescMap::get))); vo.setRegionMap(item.getRegionIds().stream().collect(Collectors.toMap(v -> v, regionDescMap::get)));
vo.setEnable(item.getEnable());
vo.setPartitionId(item.getPartitionId()); vo.setPartitionId(item.getPartitionId());
vo.setAdminName(adminUserMap.get(item.getAdminId())); vo.setAdminName(adminUserMap.get(item.getAdminId()));
return vo; return vo;
@@ -57,4 +85,14 @@ public class GuildOperatorAdminService extends ServiceImpl<GuildOperatorMapper,
} }
public Page<GuildOperator> page(BasePageParams pageParams) {
Page<GuildOperator> page = new Page<>(pageParams.getPageNo(), pageParams.getPageSize());
Wrapper<GuildOperator> wrapper = Wrappers.<GuildOperator>lambdaQuery().orderByDesc(GuildOperator::getId);
guildOperatorService.page(page, wrapper);
return page;
}
public void saveOrUpdate(GuildOperator guildOperator) {
guildOperatorService.saveOrUpdate(guildOperator);
}
} }

View File

@@ -0,0 +1,108 @@
package com.accompany.admin.service.guild;
import com.accompany.admin.service.system.AdminUserService;
import com.accompany.admin.vo.guild.GuildOperatorHistoryAdminVo;
import com.accompany.business.model.guild.Guild;
import com.accompany.business.model.guild.GuildOperator;
import com.accompany.business.mybatismapper.guild.GuildOperatorHistoryMapper;
import com.accompany.business.model.guild.GuildOperatorHistory;
import com.accompany.business.param.BasePageParams;
import com.accompany.business.service.guild.GuildOperatorService;
import com.accompany.business.service.guild.GuildService;
import com.accompany.common.utils.DateTimeUtil;
import com.accompany.core.enumeration.PartitionEnum;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
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.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@Service
public class GuildOperatorHistoryAdminService extends ServiceImpl<GuildOperatorHistoryMapper, GuildOperatorHistory> {
@Autowired
private GuildService guildService;
@Autowired
private GuildOperatorService guildOperatorService;
@Autowired
private AdminUserService adminUserService;
public void addGuildRef(int guildId, int partitionId, Integer newOperatorId, int adminId) {
addGuildRef(guildId, partitionId, null, newOperatorId, adminId);
}
public void addGuildRef(int guildId, int partitionId, Integer oldOperatorId, Integer newOperatorId, int adminId) {
GuildOperatorHistory ref = new GuildOperatorHistory();
ref.setGuildId(guildId);
ref.setPartitionId(partitionId);
ref.setOldOperatorId(oldOperatorId);
ref.setNewOperatorId(newOperatorId);
ref.setUpdateTime(new Date());
ref.setAdminId(adminId);
save(ref);
}
public Page<GuildOperatorHistoryAdminVo> page(Integer partitionId, Integer guildId, BasePageParams pageParam) {
Page<GuildOperatorHistoryAdminVo> voPage = new Page<>(pageParam.getPageNo(), pageParam.getPageSize());
Page<GuildOperatorHistory> poPage = new Page<>(pageParam.getPageNo(), pageParam.getPageSize());
LambdaQueryWrapper<GuildOperatorHistory> queryWrapper = Wrappers.<GuildOperatorHistory>lambdaQuery()
.eq(null != guildId, GuildOperatorHistory::getGuildId, guildId)
.eq(null != partitionId, GuildOperatorHistory::getPartitionId, partitionId)
.orderByDesc(GuildOperatorHistory::getId);
page(poPage, queryWrapper);
if (CollectionUtils.isEmpty(poPage.getRecords())){
return voPage;
}
List<Integer> guildIdList = poPage.getRecords().stream().map(GuildOperatorHistory::getGuildId).distinct().toList();
Map<Integer, String> guildNameMap = guildService.listByIds(guildIdList).stream().collect(Collectors.toMap(Guild::getId, Guild::getName));
Map<Integer, String> operatorNameMap = guildOperatorService.listAll().stream().collect(Collectors.toMap(GuildOperator::getId, GuildOperator::getName));
Map<Integer, String> adminNameMap = adminUserService.adminUserMap();
List<GuildOperatorHistoryAdminVo> voList = poPage.getRecords().stream()
.map(po -> {
GuildOperatorHistoryAdminVo vo = new GuildOperatorHistoryAdminVo();
vo.setId(po.getId());
vo.setPartitionId(po.getPartitionId());
vo.setPartitionDesc(PartitionEnum.getByPartitionId(po.getPartitionId()).getDesc());
vo.setGuildId(po.getGuildId());
vo.setGuildName(guildNameMap.get(po.getGuildId()));
if (null != po.getOldOperatorId()){
vo.setOldOperatorId(po.getOldOperatorId());
vo.setOldOperatorName(operatorNameMap.get(po.getOldOperatorId()));
}
if (null != po.getNewOperatorId()){
vo.setNewOperatorId(po.getNewOperatorId());
vo.setNewOperatorName(operatorNameMap.get(po.getNewOperatorId()));
}
vo.setUpdateTime(DateTimeUtil.convertDateTime(po.getUpdateTime()));
if (null != po.getAdminId()){
vo.setAdminId(po.getAdminId());
vo.setAdminName(adminNameMap.get(po.getAdminId()));
}
return vo;
}).toList();
voPage.setRecords(voList);
voPage.setTotal(poPage.getTotal());
return voPage;
}
}

View File

@@ -1,82 +0,0 @@
package com.accompany.admin.service.guild;
import com.accompany.admin.mapper.guild.GuildOperatorRefMapper;
import com.accompany.admin.model.guild.GuildOperator;
import com.accompany.admin.model.guild.GuildOperatorRef;
import com.accompany.core.exception.AdminServiceException;
import com.accompany.core.model.Users;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.Collection;
import java.util.Date;
import java.util.List;
import java.util.Optional;
@Service
public class GuildOperatorRefAdminService extends ServiceImpl<GuildOperatorRefMapper, GuildOperatorRef> {
@Autowired
private GuildOperatorAdminService guildOperatorAdminService;
public void validGuildRef(Users owner, Integer operatorId) {
GuildOperator guildOperator = guildOperatorAdminService.getById(operatorId);
if (null == guildOperator){
String tip = String.format("找不到id为%d的公会运营负责人", operatorId);
throw new AdminServiceException(tip);
} else if (!guildOperator.getEnable()){
String tip = String.format("id为%d的公会运营负责人已失效", operatorId);
throw new AdminServiceException(tip);
} else if (!guildOperator.getPartitionId().equals(owner.getPartitionId())) {
String tip = String.format("id为%d的公会运营负责人与公会长不在同一个分区", operatorId);
throw new AdminServiceException(tip);
} else if (CollectionUtils.isEmpty(guildOperator.getRegionIds()) || null == owner.getRegionId()
|| !guildOperator.getRegionIds().contains(owner.getRegionId())) {
String tip = String.format("id为%d的公会运营负责人与公会长不在同一个国家/地区", operatorId);
throw new AdminServiceException(tip);
}
}
public void addGuildRef(int guildId, Integer operatorId, int adminId) {
GuildOperatorRef ref = new GuildOperatorRef();
ref.setGuildId(guildId);
ref.setOperatorId(operatorId);
ref.setEnable(Boolean.TRUE);
ref.setUpdateTime(new Date());
ref.setAdminId(adminId);
save(ref);
}
public void updateOperatorRef(Integer guildId, Integer operatorId, int adminId) {
Date updateTime = new Date();
List<GuildOperatorRef> guildRefList = lambdaQuery().eq(GuildOperatorRef::getGuildId, guildId)
.eq(GuildOperatorRef::getEnable, Boolean.TRUE).list();
if (!CollectionUtils.isEmpty(guildRefList)){
Optional<GuildOperatorRef> operatorRefOptional = guildRefList.stream().filter(v -> v.getOperatorId().equals(operatorId))
.findAny();
operatorRefOptional.ifPresent(guildRefList::remove);
guildRefList.forEach(r->{
r.setEnable(Boolean.FALSE);
r.setUpdateTime(updateTime);
r.setAdminId(adminId);
});
updateBatchById(guildRefList);
if (operatorRefOptional.isPresent()){
return;
}
}
if (null == operatorId){
return;
}
addGuildRef(guildId, operatorId, adminId);
}
public List<GuildOperatorRef> listByGuildId(List<Integer> guildIdList) {
return lambdaQuery().in(GuildOperatorRef::getGuildId, guildIdList).eq(GuildOperatorRef::getEnable, Boolean.TRUE).list();
}
}

View File

@@ -1,7 +1,7 @@
package com.accompany.admin.controller.guild; package com.accompany.admin.controller.guild;
import com.accompany.admin.controller.BaseController; import com.accompany.admin.controller.BaseController;
import com.accompany.admin.model.guild.GuildOperator; import com.accompany.business.model.guild.GuildOperator;
import com.accompany.admin.service.guild.GuildOperatorAdminService; import com.accompany.admin.service.guild.GuildOperatorAdminService;
import com.accompany.admin.vo.guild.GuildOperatorAdminVo; import com.accompany.admin.vo.guild.GuildOperatorAdminVo;
import com.accompany.business.param.BasePageParams; import com.accompany.business.param.BasePageParams;
@@ -39,8 +39,7 @@ public class GuildOperatorAdminController extends BaseController {
}) })
@GetMapping("/page") @GetMapping("/page")
public BusiResult<Page<GuildOperator>> page(BasePageParams pageParam) { public BusiResult<Page<GuildOperator>> page(BasePageParams pageParam) {
Page<GuildOperator> page = new Page<>(pageParam.getPageNo(), pageParam.getPageSize()); Page<GuildOperator> page = service.page(pageParam);
service.page(page, null);
return BusiResult.success(page); return BusiResult.success(page);
} }

View File

@@ -0,0 +1,37 @@
package com.accompany.admin.controller.guild;
import com.accompany.admin.controller.BaseController;
import com.accompany.admin.service.guild.GuildOperatorHistoryAdminService;
import com.accompany.admin.vo.guild.GuildOperatorHistoryAdminVo;
import com.accompany.business.param.BasePageParams;
import com.accompany.common.result.BusiResult;
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.*;
@Api(tags = "公会运营负责人变更记录")
@RequestMapping("/admin/guildOperatorHistory")
@RestController
public class GuildOperatorHistoryAdminController extends BaseController {
@Autowired
private GuildOperatorHistoryAdminService service;
@ApiOperation("分页查询")
@ApiImplicitParams({
@ApiImplicitParam(name = "partitionId", value = "分区Id"),
@ApiImplicitParam(name = "guildId", value = "公会Id"),
@ApiImplicitParam(name = "pageNo", value = "页码", required = true),
@ApiImplicitParam(name = "pageSize", value = "页长", required = true),
})
@GetMapping("/page")
public BusiResult<Page<GuildOperatorHistoryAdminVo>> page(Integer partitionId, Integer guildId, BasePageParams pageParam) {
Page<GuildOperatorHistoryAdminVo> page = service.page(partitionId, guildId, pageParam);
return BusiResult.success(page);
}
}

View File

@@ -39,4 +39,6 @@ public class Guild {
* 邀请人证明 * 邀请人证明
*/ */
private String inviteCheck; private String inviteCheck;
private Integer operatorId;
} }

View File

@@ -1,4 +1,4 @@
package com.accompany.admin.model.guild; package com.accompany.business.model.guild;
import com.accompany.core.mybatis.typehandler.IntegerListTypeHandler; import com.accompany.core.mybatis.typehandler.IntegerListTypeHandler;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
@@ -19,7 +19,6 @@ public class GuildOperator {
private Integer partitionId; private Integer partitionId;
@TableField(typeHandler = IntegerListTypeHandler.class) @TableField(typeHandler = IntegerListTypeHandler.class)
private List<Integer> regionIds; private List<Integer> regionIds;
private Boolean enable;
private Date updateTime; private Date updateTime;
private Integer adminId; private Integer adminId;

View File

@@ -1,4 +1,4 @@
package com.accompany.admin.model.guild; package com.accompany.business.model.guild;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
@@ -7,13 +7,14 @@ import lombok.Data;
import java.util.Date; import java.util.Date;
@Data @Data
public class GuildOperatorRef { public class GuildOperatorHistory {
@TableId(type = IdType.AUTO) @TableId(type = IdType.AUTO)
private Integer id; private Integer id;
private Integer guildId; private Integer guildId;
private Integer operatorId; private Integer partitionId;
private Boolean enable; private Integer oldOperatorId;
private Integer newOperatorId;
private Date updateTime; private Date updateTime;
private Integer adminId; private Integer adminId;

View File

@@ -0,0 +1,10 @@
package com.accompany.business.mybatismapper.guild;
import com.accompany.business.model.guild.GuildOperatorHistory;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface GuildOperatorHistoryMapper extends BaseMapper<GuildOperatorHistory> {
// You can add custom SQL methods here if needed
}

View File

@@ -1,6 +1,6 @@
package com.accompany.admin.mapper.guild; package com.accompany.business.mybatismapper.guild;
import com.accompany.admin.model.guild.GuildOperator; import com.accompany.business.model.guild.GuildOperator;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;

View File

@@ -0,0 +1,24 @@
package com.accompany.business.service.guild;
import com.accompany.business.model.guild.GuildOperator;
import com.accompany.business.mybatismapper.guild.GuildOperatorMapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class GuildOperatorService extends ServiceImpl<GuildOperatorMapper, GuildOperator> {
public List<GuildOperator> listAll(){
return lambdaQuery()
.list();
}
public List<GuildOperator> listByPartitionId(Integer partitionId){
return lambdaQuery()
.eq(GuildOperator::getPartitionId, partitionId)
.list();
}
}

View File

@@ -61,6 +61,12 @@ public class GuildService extends ServiceImpl<GuildMapper, Guild> {
.collect(Collectors.toMap(Guild::getId, family -> family)); .collect(Collectors.toMap(Guild::getId, family -> family));
} }
public List<Guild> listGuildByPartitionId(Integer partitionId) {
return this.lambdaQuery()
.eq(Guild::getPartitionId, partitionId)
.list();
}
public List<Guild> listVaildGuildByPartitionId(Integer partitionId) { public List<Guild> listVaildGuildByPartitionId(Integer partitionId) {
return this.baseMapper.listVaildGuildByPartitionId(partitionId); return this.baseMapper.listVaildGuildByPartitionId(partitionId);
} }

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?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"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.accompany.admin.mapper.guild.GuildOperatorRefMapper"> <mapper namespace="com.accompany.business.mybatismapper.guild.GuildOperatorHistoryMapper">
<!-- You can add custom SQL statements here --> <!-- You can add custom SQL statements here -->
</mapper> </mapper>

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?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"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.accompany.admin.mapper.guild.GuildOperatorMapper"> <mapper namespace="com.accompany.business.mybatismapper.guild.GuildOperatorMapper">
<!-- You can add custom SQL statements here --> <!-- You can add custom SQL statements here -->
</mapper> </mapper>