From 18822ef3e1d0db6cec1379e71b95b317d5865198 Mon Sep 17 00:00:00 2001 From: ziin Date: Tue, 9 Sep 2025 20:31:28 +0800 Subject: [PATCH] =?UTF-8?q?1.=E7=AE=A1=E7=90=86=E8=83=BD=E6=9F=A5=E7=9C=8B?= =?UTF-8?q?=E5=88=B0=E5=91=98=E5=B7=A5=E4=BB=8A=E6=97=A5=E5=BB=BA=E8=81=94?= =?UTF-8?q?=E6=95=B0=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../EmployeeHostsController.java | 10 ++- .../employeehosts/vo/CompletedRateVO.java | 9 +++ .../employeehosts/EmployeeHostsMapper.java | 2 + .../employeehosts/EmployeeHostsService.java | 2 + .../EmployeeHostsServiceImpl.java | 19 ++++++ .../employeehosts/EmployeeHostsMapper.xml | 67 +++++++++++++++++++ 6 files changed, 107 insertions(+), 2 deletions(-) diff --git a/tkdata-model-server/src/main/java/cn/iocoder/yudao/module/tkdata/controller/admin/employeehosts/EmployeeHostsController.java b/tkdata-model-server/src/main/java/cn/iocoder/yudao/module/tkdata/controller/admin/employeehosts/EmployeeHostsController.java index 43b8c40..249be78 100644 --- a/tkdata-model-server/src/main/java/cn/iocoder/yudao/module/tkdata/controller/admin/employeehosts/EmployeeHostsController.java +++ b/tkdata-model-server/src/main/java/cn/iocoder/yudao/module/tkdata/controller/admin/employeehosts/EmployeeHostsController.java @@ -149,8 +149,6 @@ public class EmployeeHostsController { return success(employeeHostsService.getEmployeeHostsCompleteWithSelf(userId)); } - - @GetMapping("/self_complete") @Operation(summary = "获得自己的建联率") @PreAuthorize("@ss.hasPermission('server:employee-hosts:selfquery')") @@ -158,4 +156,12 @@ public class EmployeeHostsController { Long loginUserId = SecurityFrameworkUtils.getLoginUserId(); return success(employeeHostsService.getEmployeeHostsCompleteWithSelf(loginUserId)); } + + @PostMapping("/employeeCompleteBarChart") + @Operation(summary = "获得员工的建联柱状图数据") + @PreAuthorize("@ss.hasPermission('server:employee-hosts:selfquery')") + public CommonResult> getEmployeeCompleteBarChart(@RequestBody List userId) { + return success(employeeHostsService.getEmployeeHostsCompleteBarChart(userId)); + } + } \ No newline at end of file diff --git a/tkdata-model-server/src/main/java/cn/iocoder/yudao/module/tkdata/controller/admin/employeehosts/vo/CompletedRateVO.java b/tkdata-model-server/src/main/java/cn/iocoder/yudao/module/tkdata/controller/admin/employeehosts/vo/CompletedRateVO.java index 45844b5..ea3ed0b 100644 --- a/tkdata-model-server/src/main/java/cn/iocoder/yudao/module/tkdata/controller/admin/employeehosts/vo/CompletedRateVO.java +++ b/tkdata-model-server/src/main/java/cn/iocoder/yudao/module/tkdata/controller/admin/employeehosts/vo/CompletedRateVO.java @@ -1,17 +1,26 @@ package cn.iocoder.yudao.module.tkdata.controller.admin.employeehosts.vo; import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; import lombok.Data; +import lombok.NoArgsConstructor; /* * @author: ziin * @date: 2025/8/6 15:13 */ @Data +@AllArgsConstructor +@NoArgsConstructor @Schema(description = "管理后台 - 员工建联完成率") public class CompletedRateVO { private Long userId; private Integer finishedNum; private Integer UnfinishedNum; private Integer totalNum; + + public CompletedRateVO(Long userId, int i) { + this.userId = userId; + this.finishedNum = i; + } } diff --git a/tkdata-model-server/src/main/java/cn/iocoder/yudao/module/tkdata/dal/mysql/employeehosts/EmployeeHostsMapper.java b/tkdata-model-server/src/main/java/cn/iocoder/yudao/module/tkdata/dal/mysql/employeehosts/EmployeeHostsMapper.java index f3a2f57..b0a2d8a 100644 --- a/tkdata-model-server/src/main/java/cn/iocoder/yudao/module/tkdata/dal/mysql/employeehosts/EmployeeHostsMapper.java +++ b/tkdata-model-server/src/main/java/cn/iocoder/yudao/module/tkdata/dal/mysql/employeehosts/EmployeeHostsMapper.java @@ -33,4 +33,6 @@ public interface EmployeeHostsMapper extends BaseMapperX { void batchUpdate(ArrayList employeeHostsDOS); CompletedRateVO selectEmployeeHostsWithOperationStatus(@Param("userId") Long userId); + + List selectEmployeeHostsCompleteBarChart(List list); } \ No newline at end of file diff --git a/tkdata-model-server/src/main/java/cn/iocoder/yudao/module/tkdata/service/employeehosts/EmployeeHostsService.java b/tkdata-model-server/src/main/java/cn/iocoder/yudao/module/tkdata/service/employeehosts/EmployeeHostsService.java index 015fa3d..9f475b6 100644 --- a/tkdata-model-server/src/main/java/cn/iocoder/yudao/module/tkdata/service/employeehosts/EmployeeHostsService.java +++ b/tkdata-model-server/src/main/java/cn/iocoder/yudao/module/tkdata/service/employeehosts/EmployeeHostsService.java @@ -66,4 +66,6 @@ public interface EmployeeHostsService { void batchUpdateEmployeeHosts(List updateReqVOList); CompletedRateVO getEmployeeHostsCompleteWithSelf(@Valid Long userId); + + List getEmployeeHostsCompleteBarChart(@Valid List userId); } \ No newline at end of file diff --git a/tkdata-model-server/src/main/java/cn/iocoder/yudao/module/tkdata/service/employeehosts/EmployeeHostsServiceImpl.java b/tkdata-model-server/src/main/java/cn/iocoder/yudao/module/tkdata/service/employeehosts/EmployeeHostsServiceImpl.java index a52f7ca..904238f 100644 --- a/tkdata-model-server/src/main/java/cn/iocoder/yudao/module/tkdata/service/employeehosts/EmployeeHostsServiceImpl.java +++ b/tkdata-model-server/src/main/java/cn/iocoder/yudao/module/tkdata/service/employeehosts/EmployeeHostsServiceImpl.java @@ -25,6 +25,8 @@ import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; +import java.util.Map; +import java.util.function.Function; import java.util.stream.Collectors; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; @@ -178,5 +180,22 @@ public class EmployeeHostsServiceImpl implements EmployeeHostsService { return employeeHostsMapper.selectEmployeeHostsWithOperationStatus(userId); } + @Override + public List getEmployeeHostsCompleteBarChart(List userIdList) { + + List dbList = employeeHostsMapper.selectEmployeeHostsCompleteBarChart(userIdList); + +// 2. 转 Map,key 是 userId + Map dbMap = dbList.stream() + .collect(Collectors.toMap(CompletedRateVO::getUserId, Function.identity())); + +// 3. 组装结果 + List result = userIdList.stream() + .map(userId -> dbMap.getOrDefault(userId, new CompletedRateVO(userId, 0))) // 缺数据补0 + .collect(Collectors.toList()); + + return result; + } + } \ No newline at end of file diff --git a/tkdata-model-server/src/main/resources/mapper/employeehosts/EmployeeHostsMapper.xml b/tkdata-model-server/src/main/resources/mapper/employeehosts/EmployeeHostsMapper.xml index 30345e4..82443e8 100644 --- a/tkdata-model-server/src/main/resources/mapper/employeehosts/EmployeeHostsMapper.xml +++ b/tkdata-model-server/src/main/resources/mapper/employeehosts/EmployeeHostsMapper.xml @@ -12,6 +12,54 @@ + + id, + hosts_id, + user_id, + hosts_level, + hosts_coins, + invitation_type, + online_fans, + fans, + fllowernum, + yesterday_coins, + country, + hosts_kind, + operation_status, + remake, + `uid`, + tenant_id, + flag, + create_time, + update_time, + creator, + updater, + deleted + + + + + + + + + + + + + + + + + + + + + + + + + INSERT IGNORE INTO server_employee_hosts @@ -364,4 +412,23 @@ GROUP BY user_id + + \ No newline at end of file