公会-运营负责人

This commit is contained in:
khalil
2025-07-14 16:47:28 +08:00
parent 120502f3bf
commit a018517ec6
6 changed files with 192 additions and 0 deletions

View File

@@ -0,0 +1,26 @@
package com.accompany.admin.model.guild;
import com.accompany.core.mybatis.typehandler.IntegerListTypeHandler;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import java.util.Date;
import java.util.List;
@Data
public class GuildOperator {
@TableId(type = IdType.AUTO)
private Integer id;
private String name;
private Integer partitionId;
@TableField(typeHandler = IntegerListTypeHandler.class)
private List<Integer> regionIds;
private Boolean enable;
private Date updateTime;
private Integer adminId;
}

View File

@@ -0,0 +1,34 @@
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 GuildOperatorAdminVo {
@ApiModelProperty("id")
private Integer id;
@ApiModelProperty("名称")
private String name;
@ApiModelProperty("分区id")
private Integer partitionId;
@ApiModelProperty("分区描述")
private String partitionDesc;
@ApiModelProperty("地区id列表")
private List<Integer> regionIds;
@ApiModelProperty("地区映射字典")
private Map<Integer, String> regionMap;
@ApiModelProperty("是否启用")
private Boolean enable;
@ApiModelProperty("更新时间")
private Date updateTime;
@ApiModelProperty("后台操作人id")
private Integer adminId;
@ApiModelProperty("后台操作人名称")
private String adminName;
}

View File

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

View File

@@ -0,0 +1,60 @@
package com.accompany.admin.service.guild;
import com.accompany.admin.mapper.guild.GuildOperatorMapper;
import com.accompany.admin.model.guild.GuildOperator;
import com.accompany.admin.service.RegionInfoAdminService;
import com.accompany.admin.service.system.AdminUserService;
import com.accompany.admin.vo.guild.GuildOperatorAdminVo;
import com.accompany.core.model.PartitionInfo;
import com.accompany.core.service.partition.PartitionInfoService;
import com.accompany.core.service.region.RegionInfoService;
import com.accompany.core.vo.RegionInfoVo;
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.Collections;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@Service
public class GuildOperatorAdminService extends ServiceImpl<GuildOperatorMapper, GuildOperator> {
@Autowired
private PartitionInfoService partitionInfoService;
@Autowired
private RegionInfoAdminService regionInfoAdminService;
@Autowired
private AdminUserService adminUserService;
public List<GuildOperatorAdminVo> listAll(){
List<GuildOperator> list = lambdaQuery().eq(GuildOperator::getEnable, true).list();
if (CollectionUtils.isEmpty(list)){
return Collections.emptyList();
}
Map<Integer, String> partitionDescMap = partitionInfoService.listAll().stream().collect(Collectors.toMap(PartitionInfo::getId, PartitionInfo::getDesc));
Map<Integer, String> regionDescMap = regionInfoAdminService.getAllList().stream().collect(Collectors.toMap(RegionInfoVo::getId, RegionInfoVo::getName));
Map<Integer, String> adminUserMap = adminUserService.adminUserMap();
return list.stream().map(item -> {
GuildOperatorAdminVo vo = new GuildOperatorAdminVo();
vo.setId(item.getId());
vo.setName(item.getName());
vo.setPartitionId(item.getPartitionId());
vo.setPartitionDesc(partitionDescMap.get(item.getPartitionId()));
vo.setRegionIds(item.getRegionIds());
vo.setRegionMap(item.getRegionIds().stream().collect(Collectors.toMap(v -> v, regionDescMap::get)));
vo.setEnable(item.getEnable());
vo.setPartitionId(item.getPartitionId());
vo.setAdminName(adminUserMap.get(item.getAdminId()));
return vo;
}).toList();
}
}

View File

@@ -0,0 +1,5 @@
<?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.admin.mapper.guild.GuildOperatorMapper">
<!-- You can add custom SQL statements here -->
</mapper>

View File

@@ -0,0 +1,57 @@
package com.accompany.admin.controller.guild;
import com.accompany.admin.controller.BaseController;
import com.accompany.admin.model.guild.GuildOperator;
import com.accompany.admin.service.guild.GuildOperatorAdminService;
import com.accompany.admin.vo.guild.GuildOperatorAdminVo;
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.*;
import java.util.Date;
import java.util.List;
@Api(tags = "公会运营负责人")
@RequestMapping("/admin/guildOperator")
@RestController
public class GuildOperatorAdminController extends BaseController {
@Autowired
private GuildOperatorAdminService service;
@ApiOperation("查询所有")
@GetMapping("/listAll")
public BusiResult<List<GuildOperatorAdminVo>> listAll() {
List<GuildOperatorAdminVo> list = service.listAll();
return BusiResult.success(list);
}
@ApiOperation("分页查询")
@ApiImplicitParams({
@ApiImplicitParam(name = "pageNo", value = "页码", required = true),
@ApiImplicitParam(name = "pageSize", value = "页长", required = true),
})
@GetMapping("/page")
public BusiResult<Page<GuildOperator>> page(BasePageParams pageParam) {
Page<GuildOperator> page = new Page<>(pageParam.getPageNo(), pageParam.getPageSize());
service.page(page, null);
return BusiResult.success(page);
}
@ApiOperation("分页查询")
@PostMapping("/save")
public BusiResult<Void> save(@RequestBody GuildOperator guildOperator) {
int admin = getAdminId();
guildOperator.setAdminId(admin);
guildOperator.setUpdateTime(new Date());
service.saveOrUpdate(guildOperator);
return BusiResult.success();
}
}