优化基于CID 的用户统计

This commit is contained in:
2025-11-13 10:48:13 +08:00
parent d6e0378c65
commit 84dec30ebd
13 changed files with 106 additions and 67 deletions

View File

@@ -0,0 +1,17 @@
package com.sdm.common.entity.req.system;
import com.sdm.common.entity.BaseReq;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
@Data
public class QueryGroupDetailReq extends BaseReq {
@Schema(description = "用户组id")
@NotNull(message = "用户组id不能为空")
Long id;
@Parameter(description = "租户id")
Long tenantId ;
}

View File

@@ -0,0 +1,32 @@
package com.sdm.common.entity.resp.system;
import com.sdm.common.entity.resp.PageDataResp;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.List;
/**
* <p>
* 用户组
* </p>
*
* @author author
* @since 2025-09-28
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@Schema( description="用户组和组成员信息查询")
public class SysUserGroupDetailResp implements Serializable {
private static final long serialVersionUID = 1L;
@Schema(description = "用户组信息")
SysUserGroupResp sysUserGroup;
@Schema(description = "用户信息")
PageDataResp<List<CIDUserResp>> users;
}

View File

@@ -0,0 +1,43 @@
package com.sdm.common.entity.resp.system;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* <p>
* 用户组
* </p>
*
* @author author
* @since 2025-09-28
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@Schema( description="用户组")
public class SysUserGroupResp implements Serializable {
private static final long serialVersionUID = 1L;
@Schema(description = "组唯一标识ID")
private Integer id;
@Schema(description = "组名")
private String groupName;
@Schema(description = "组描述")
private String description;
@Schema(description = "创建时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createdTime;
@Schema(description = "更新时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime updatedTime;
}

View File

@@ -3,10 +3,12 @@ package com.sdm.common.feign.impl.system;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.sdm.common.common.SdmResponse;
import com.sdm.common.entity.req.system.LaunchApproveReq;
import com.sdm.common.entity.req.system.QueryGroupDetailReq;
import com.sdm.common.entity.req.system.UserListReq;
import com.sdm.common.entity.req.system.UserQueryReq;
import com.sdm.common.entity.resp.PageDataResp;
import com.sdm.common.entity.resp.system.CIDUserResp;
import com.sdm.common.entity.resp.system.SysUserGroupDetailResp;
import com.sdm.common.feign.inter.system.ISysUserFeignClient;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@@ -64,4 +66,21 @@ public class SysUserFeignClientImpl implements ISysUserFeignClient {
return SdmResponse.failed("人员信息未查到");
}
}
@Override
public SdmResponse<SysUserGroupDetailResp> queryGroupDetail(QueryGroupDetailReq req) {
SdmResponse<SysUserGroupDetailResp> sdmResponse;
try {
log.info("查询用户组信息开始,请求参数:{}",req.toString());
sdmResponse = sysUserClient.queryGroupDetail(req);
log.info("查询用户组信息结束,返回结果:{}",sdmResponse);
if (!sdmResponse.isSuccess() || sdmResponse.getData() == null){
return SdmResponse.failed("查询用户组信息失败");
}
return sdmResponse;
} catch (Exception e) {
log.error("查询用户组信息失败", e);
return SdmResponse.failed("查询用户组信息失败");
}
}
}

View File

@@ -2,10 +2,13 @@ package com.sdm.common.feign.inter.system;
import com.sdm.common.common.SdmResponse;
import com.sdm.common.entity.req.system.LaunchApproveReq;
import com.sdm.common.entity.req.system.QueryGroupDetailReq;
import com.sdm.common.entity.req.system.UserListReq;
import com.sdm.common.entity.req.system.UserQueryReq;
import com.sdm.common.entity.resp.system.CIDUserResp;
import com.sdm.common.entity.resp.PageDataResp;
import com.sdm.common.entity.resp.system.SysUserGroupDetailResp;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.validation.annotation.Validated;
@@ -26,4 +29,10 @@ public interface ISysUserFeignClient {
@PostMapping("/user/listUser")
SdmResponse<PageDataResp<List<CIDUserResp>>> listUser(@RequestBody UserListReq req);
/**
* 根据用户组id查询用户组及组成员列表详情
*/
@PostMapping("/queryGroupDetail")
SdmResponse<SysUserGroupDetailResp> queryGroupDetail(@RequestBody @Validated QueryGroupDetailReq req);
}