From a4a8b468cd11a988e9831717e9545590ff7212c7 Mon Sep 17 00:00:00 2001 From: MerCry Date: Sun, 8 Feb 2026 20:32:01 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=BC=81=E4=B8=9A=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=20=E6=8F=90=E4=BA=A4=E4=BC=81=E4=B8=9A=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E4=BF=AE=E6=94=B9=20=E5=A2=9E=E5=8A=A0=E5=A4=9A?= =?UTF-8?q?=E5=85=AC=E5=8F=B8=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- excel-handle/QUICKSTART.md | 253 ----------- .../excel/wecom/domain/CorpDepartment.java | 1 + .../ruoyi/excel/wecom/domain/CorpInfo.java | 19 + .../ruoyi/excel/wecom/domain/CorpUser.java | 1 + .../wecom/domain/CustomerContactData.java | 1 + .../wecom/domain/CustomerDataChangeLog.java | 2 + .../wecom/domain/CustomerExportData.java | 2 + .../domain/CustomerExportDataHistory.java | 1 + .../wecom/domain/CustomerStatisticsData.java | 2 + .../domain/DepartmentStatisticsData.java | 1 + .../excel/wecom/domain/WecomTagDomain.java | 2 + .../wecom/domain/WecomTagGroupDomain.java | 2 + .../excel/wecom/helper/HandleAllData.java | 410 +++++++++--------- .../excel/wecom/mapper/CorpInfoMapper.java | 30 ++ .../excel/wecom/mapper/CorpUserMapper.java | 3 +- .../mapper/CustomerContactDataMapper.java | 6 +- .../mapper/CustomerExportDataMapper.java | 5 +- .../mapper/CustomerStatisticsDataMapper.java | 4 +- .../DepartmentStatisticsDataMapper.java | 11 +- .../wecom/mapper/WecomTagGroupMapper.java | 3 +- .../excel/wecom/mapper/WecomTagMapper.java | 3 +- .../wecom/service/CustomerExportService.java | 8 +- .../excel/wecom/service/ICorpInfoService.java | 67 +++ .../service/ICustomerContactDataService.java | 11 +- .../service/ICustomerExportDataService.java | 4 +- .../ICustomerStatisticsDataService.java | 6 +- .../IDepartmentStatisticsDataService.java | 6 +- .../excel/wecom/service/WecomBaseService.java | 37 +- .../wecom/service/WecomContactService.java | 65 ++- .../wecom/service/WecomStatisticsService.java | 45 +- .../excel/wecom/service/WecomTagService.java | 21 +- .../service/impl/CorpInfoServiceImpl.java | 100 +++++ .../impl/CustomerContactDataServiceImpl.java | 17 +- .../impl/CustomerExportDataServiceImpl.java | 8 +- .../CustomerStatisticsDataServiceImpl.java | 10 +- .../DepartmentStatisticsDataServiceImpl.java | 12 +- .../excel/wecom/vo/CustomerExportDataVO.java | 3 - .../wecom/vo/CustomerStatisticsDataVO.java | 2 +- .../wecom/vo/DepartmentStatisticsDataVO.java | 16 +- .../resources/mapper/wecom/CorpInfoMapper.xml | 35 ++ .../resources/mapper/wecom/CorpUserMapper.xml | 2 +- .../wecom/CustomerContactDataMapper.xml | 7 +- .../mapper/wecom/CustomerExportDataMapper.xml | 9 +- .../wecom/CustomerStatisticsDataMapper.xml | 4 +- .../wecom/DepartmentStatisticsDataMapper.xml | 11 +- .../mapper/wecom/WecomTagGroupMapper.xml | 5 +- .../resources/mapper/wecom/WecomTagMapper.xml | 5 +- .../controller/wocom/CorpInfoController.java | 124 ++++++ .../wocom/CustomerContactDataController.java | 17 +- .../wocom/CustomerExportDataController.java | 9 +- .../CustomerStatisticsDataController.java | 13 +- .../DepartmentStatisticsDataController.java | 12 +- .../wocom/WecomContactController.java | 152 +++++-- .../wocom/WecomStatisticsController.java | 12 +- .../ruoyi/common/utils/CorpContextHolder.java | 83 ++++ .../framework/config/ResourcesConfig.java | 16 +- .../interceptor/CorpContextInterceptor.java | 41 ++ .../java/com/ruoyi/quartz/task/WeComTask.java | 15 +- ruoyi-ui/dist.zip | Bin 3529086 -> 3529194 bytes ruoyi-ui/src/layout/components/Navbar.vue | 8 - .../src/views/wecom/customerExport/index.vue | 2 +- .../views/wecom/customerStatistics/index.vue | 4 +- .../wecom/departmentStatistics/index.vue | 4 +- 63 files changed, 1120 insertions(+), 670 deletions(-) delete mode 100644 excel-handle/QUICKSTART.md create mode 100644 excel-handle/src/main/java/com/ruoyi/excel/wecom/domain/CorpInfo.java create mode 100644 excel-handle/src/main/java/com/ruoyi/excel/wecom/mapper/CorpInfoMapper.java create mode 100644 excel-handle/src/main/java/com/ruoyi/excel/wecom/service/ICorpInfoService.java create mode 100644 excel-handle/src/main/java/com/ruoyi/excel/wecom/service/impl/CorpInfoServiceImpl.java create mode 100644 excel-handle/src/main/resources/mapper/wecom/CorpInfoMapper.xml create mode 100644 ruoyi-admin/src/main/java/com/ruoyi/web/controller/wocom/CorpInfoController.java create mode 100644 ruoyi-common/src/main/java/com/ruoyi/common/utils/CorpContextHolder.java create mode 100644 ruoyi-framework/src/main/java/com/ruoyi/framework/interceptor/CorpContextInterceptor.java diff --git a/excel-handle/QUICKSTART.md b/excel-handle/QUICKSTART.md deleted file mode 100644 index 6ddb17d..0000000 --- a/excel-handle/QUICKSTART.md +++ /dev/null @@ -1,253 +0,0 @@ -# 快速开始指南 - -## 📋 前置条件 - -1. Java 8 或更高版本 -2. MySQL 5.7 或更高版本 -3. Maven 3.x -4. 企业微信账号及相关权限 - -## 🚀 快速部署步骤 - -### 第一步:获取企业微信配置参数 - -#### 1.1 获取企业 ID (corp-id) -1. 登录企业微信管理后台:https://work.weixin.qq.com/ -2. 进入「我的企业」→「企业信息」 -3. 复制「企业 ID」 - -#### 1.2 获取应用密钥 (app-secret) -1. 在企业微信管理后台,进入「应用管理」 -2. 选择或创建一个自建应用 -3. 在应用详情页面找到「Secret」 -4. 点击「查看」并复制 Secret - -**重要**:需要给应用授予以下权限: -- 企业微信文档 API 权限 -- 文档读取权限 - -#### 1.3 获取文档 ID (doc-id) -1. 在企业微信中打开目标表格文档 -2. 查看浏览器地址栏的 URL -3. URL 格式:`https://doc.weixin.qq.com/sheet/xxxxx` -4. `xxxxx` 部分就是 doc-id - -#### 1.4 获取工作表 ID (sheet-id) - -**方法一:通过浏览器开发者工具** -1. 打开企业微信文档 -2. 按 F12 打开开发者工具 -3. 切换到「Network」标签 -4. 在文档中切换工作表 -5. 查看网络请求,找到包含 `sheet_id` 的请求参数 - -**方法二:使用默认值** -- 如果是文档的第一个工作表,可以尝试使用 `sheet_id = "1"` - -### 第二步:配置数据库 - -#### 2.1 创建数据库 -```sql -CREATE DATABASE IF NOT EXISTS ruoyi DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; -``` - -#### 2.2 执行表结构脚本 -```bash -mysql -u root -p ruoyi < RuoYi-Vue/excel-handle/sql/schema.sql -``` - -或者在 MySQL 客户端中执行: -```sql -USE ruoyi; -SOURCE /path/to/RuoYi-Vue/excel-handle/sql/schema.sql; -``` - -### 第三步:配置应用参数 - -编辑配置文件 `RuoYi-Vue/excel-handle/src/main/resources/application.yml`: - -```yaml -# 企业微信配置 -wecom: - # 企业 ID(必填) - corp-id: "ww1234567890abcdef" # 替换为你的企业 ID - - # 应用密钥(必填) - app-secret: "your_secret_here" # 替换为你的应用 Secret - - # 文档 ID(必填) - doc-id: "your_doc_id_here" # 替换为你的文档 ID - - # 工作表 ID(必填) - sheet-id: "1" # 替换为你的工作表 ID - - # 查询范围(必填,A1 表示法) - range: "A1:AE1000" # 根据实际表格列数和行数调整 - - # 抓取间隔(可选,默认 60 分钟) - fetch-interval: 60 - -# 数据库配置 -spring: - datasource: - url: jdbc:mysql://localhost:3306/ruoyi?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8 - username: root # 替换为你的数据库用户名 - password: password # 替换为你的数据库密码 -``` - -### 第四步:确认表格格式 - -确保企业微信表格的列顺序与以下格式一致: - -| 列号 | 字段名 | 说明 | -|------|--------|------| -| A | 客户名称 | 必填 | -| B | 描述 | 可选 | -| C | 添加人 | 可选 | -| D | 添加人账号 | 必填 | -| E | 添加人所属部门 | 可选 | -| F | 添加时间 | 格式:yyyy-MM-dd | -| G | 来源 | 可选 | -| H | 手机 | 可选 | -| I | 企业 | 可选 | -| J | 邮箱 | 可选 | -| K | 地址 | 可选 | -| L | 职务 | 可选 | -| M | 电话 | 可选 | -| N-AE | 标签组1-18 | 可选 | - -**注意**:第一行必须是表头,数据从第二行开始。 - -### 第五步:编译和运行 - -#### 5.1 编译项目 -```bash -cd RuoYi-Vue -mvn clean package -DskipTests -``` - -#### 5.2 运行项目 -```bash -cd ruoyi-admin/target -java -jar ruoyi-admin.jar -``` - -或者在 IDE 中直接运行 `RuoYiApplication.java` - -### 第六步:验证功能 - -#### 6.1 查看日志 -启动后查看日志,确认定时任务是否正常执行: -``` -开始执行企业微信表格数据同步任务 -获取企业微信access_token成功 -获取企业微信表格数据成功,行数: 100 -数据处理统计: 总计 99 条,新数据 99 条,当天已处理跳过 0 条,无效数据 0 条 -企业微信表格数据同步任务执行完成 -``` - -#### 6.2 手动触发同步 -使用 API 工具(如 Postman)或 curl 命令: -```bash -curl -X POST http://localhost:8080/wecom/table/sync -``` - -#### 6.3 查看服务状态 -```bash -curl -X GET http://localhost:8080/wecom/table/status -``` - -#### 6.4 查询数据库 -```sql --- 查看客户数据 -SELECT * FROM customer_data ORDER BY create_time DESC LIMIT 10; - --- 查看处理记录 -SELECT * FROM processed_data_record ORDER BY create_time DESC LIMIT 10; - --- 查看统计数据 -SELECT * FROM customer_tag_statistics ORDER BY stat_date DESC, tag_count DESC; -``` - -## 🔧 常见问题 - -### Q1: 获取 access_token 失败 -**错误信息**: `获取企业微信access_token失败: 40013 - invalid corpid` - -**解决方法**: -- 检查 `corp-id` 是否正确 -- 检查 `app-secret` 是否正确 -- 确认应用未被停用 - -### Q2: 获取表格数据失败 -**错误信息**: `获取企业微信表格数据失败: 40003 - invalid openid` - -**解决方法**: -- 检查 `doc-id` 是否正确 -- 检查 `sheet-id` 是否正确 -- 确认应用有文档访问权限 -- 确认文档未被删除或移动 - -### Q3: 数据解析失败 -**错误信息**: `转换表格数据失败` - -**解决方法**: -- 检查表格列的顺序是否与代码映射一致 -- 检查日期格式是否为 `yyyy-MM-dd` -- 检查表格是否有空行或格式异常 - -### Q4: 定时任务不执行 -**解决方法**: -- 检查 Spring Boot 是否启用了定时任务:`@EnableScheduling` -- 查看日志是否有异常信息 -- 检查定时任务配置是否正确 - -### Q5: 数据重复 -**解决方法**: -- 检查去重逻辑是否正常工作 -- 查看 `processed_data_record` 表是否有记录 -- 检查数据的 `customer_name` 和 `add_person_account` 是否为空 - -## 📊 监控和维护 - -### 日志位置 -- 应用日志:`logs/ruoyi-admin.log` -- 错误日志:`logs/ruoyi-admin-error.log` - -### 定时任务时间 -- 默认:每小时整点执行一次 -- 修改:编辑 `WecomTableSyncTask.java` 中的 `@Scheduled` 注解 - -### 数据清理 -系统会自动清理非当天的缓存数据,但数据库中的历史记录会保留。 - -如需清理历史数据: -```sql --- 清理 30 天前的处理记录 -DELETE FROM processed_data_record WHERE create_time < DATE_SUB(NOW(), INTERVAL 30 DAY); - --- 清理 90 天前的统计数据 -DELETE FROM customer_tag_statistics WHERE create_time < DATE_SUB(NOW(), INTERVAL 90 DAY); -``` - -## 🎯 下一步 - -1. 根据业务需求调整表格字段映射 -2. 自定义标签统计规则(实现 `TagValidator` 接口) -3. 添加数据导出功能 -4. 配置告警通知(邮件、企业微信消息等) -5. 优化性能(批量处理、异步处理等) - -## 📚 相关文档 - -- [完整文档](README.md) -- [企业微信 API 文档](https://developer.work.weixin.qq.com/document/) -- [RuoYi 框架文档](http://doc.ruoyi.vip) - -## 💡 技术支持 - -如遇到问题,请: -1. 查看日志文件获取详细错误信息 -2. 参考常见问题部分 -3. 查阅企业微信 API 文档 -4. 提交 Issue 或联系技术支持 diff --git a/excel-handle/src/main/java/com/ruoyi/excel/wecom/domain/CorpDepartment.java b/excel-handle/src/main/java/com/ruoyi/excel/wecom/domain/CorpDepartment.java index 409acd1..5f7bb51 100644 --- a/excel-handle/src/main/java/com/ruoyi/excel/wecom/domain/CorpDepartment.java +++ b/excel-handle/src/main/java/com/ruoyi/excel/wecom/domain/CorpDepartment.java @@ -13,6 +13,7 @@ import java.io.Serializable; @TableName("corp_department") public class CorpDepartment implements Serializable { private Long id; + private String corpId; private Long parentid; private Long orderNo; diff --git a/excel-handle/src/main/java/com/ruoyi/excel/wecom/domain/CorpInfo.java b/excel-handle/src/main/java/com/ruoyi/excel/wecom/domain/CorpInfo.java new file mode 100644 index 0000000..2644306 --- /dev/null +++ b/excel-handle/src/main/java/com/ruoyi/excel/wecom/domain/CorpInfo.java @@ -0,0 +1,19 @@ +package com.ruoyi.excel.wecom.domain; + +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; + +@Getter +@Setter +@Data +@TableName("corp_info") +public class CorpInfo implements Serializable { + private Long id; + private String corpId; + private String secret; + private String name; +} diff --git a/excel-handle/src/main/java/com/ruoyi/excel/wecom/domain/CorpUser.java b/excel-handle/src/main/java/com/ruoyi/excel/wecom/domain/CorpUser.java index f0a7ee1..aa5c64b 100644 --- a/excel-handle/src/main/java/com/ruoyi/excel/wecom/domain/CorpUser.java +++ b/excel-handle/src/main/java/com/ruoyi/excel/wecom/domain/CorpUser.java @@ -14,6 +14,7 @@ import java.io.Serializable; @TableName("corp_user") public class CorpUser implements Serializable { private Long id; + private String corpId; private String userid; private Long departId; private String departmentIds; diff --git a/excel-handle/src/main/java/com/ruoyi/excel/wecom/domain/CustomerContactData.java b/excel-handle/src/main/java/com/ruoyi/excel/wecom/domain/CustomerContactData.java index 8c42e23..b12182c 100644 --- a/excel-handle/src/main/java/com/ruoyi/excel/wecom/domain/CustomerContactData.java +++ b/excel-handle/src/main/java/com/ruoyi/excel/wecom/domain/CustomerContactData.java @@ -18,6 +18,7 @@ public class CustomerContactData implements Serializable { /** * 主键ID */ + private String corpId; private Long id; /** diff --git a/excel-handle/src/main/java/com/ruoyi/excel/wecom/domain/CustomerDataChangeLog.java b/excel-handle/src/main/java/com/ruoyi/excel/wecom/domain/CustomerDataChangeLog.java index 9871e00..8bf9e99 100644 --- a/excel-handle/src/main/java/com/ruoyi/excel/wecom/domain/CustomerDataChangeLog.java +++ b/excel-handle/src/main/java/com/ruoyi/excel/wecom/domain/CustomerDataChangeLog.java @@ -20,6 +20,8 @@ public class CustomerDataChangeLog implements Serializable { /** * 日志主键ID */ + private String corpId; + @TableId(type = IdType.AUTO) private Long logId; diff --git a/excel-handle/src/main/java/com/ruoyi/excel/wecom/domain/CustomerExportData.java b/excel-handle/src/main/java/com/ruoyi/excel/wecom/domain/CustomerExportData.java index b751e66..461d5d3 100644 --- a/excel-handle/src/main/java/com/ruoyi/excel/wecom/domain/CustomerExportData.java +++ b/excel-handle/src/main/java/com/ruoyi/excel/wecom/domain/CustomerExportData.java @@ -22,6 +22,8 @@ public class CustomerExportData implements Serializable { @TableId(type = IdType.AUTO) private Long id; + private String corpId; + /** * 客户名称 */ diff --git a/excel-handle/src/main/java/com/ruoyi/excel/wecom/domain/CustomerExportDataHistory.java b/excel-handle/src/main/java/com/ruoyi/excel/wecom/domain/CustomerExportDataHistory.java index fca764b..e2e4af9 100644 --- a/excel-handle/src/main/java/com/ruoyi/excel/wecom/domain/CustomerExportDataHistory.java +++ b/excel-handle/src/main/java/com/ruoyi/excel/wecom/domain/CustomerExportDataHistory.java @@ -23,6 +23,7 @@ public class CustomerExportDataHistory implements Serializable { @TableId(type = IdType.AUTO) private Long historyId; + private String corpId; /** * 关联的客户数据ID(customer_export_data表的主键) */ diff --git a/excel-handle/src/main/java/com/ruoyi/excel/wecom/domain/CustomerStatisticsData.java b/excel-handle/src/main/java/com/ruoyi/excel/wecom/domain/CustomerStatisticsData.java index e49b587..e4038c5 100644 --- a/excel-handle/src/main/java/com/ruoyi/excel/wecom/domain/CustomerStatisticsData.java +++ b/excel-handle/src/main/java/com/ruoyi/excel/wecom/domain/CustomerStatisticsData.java @@ -22,6 +22,8 @@ public class CustomerStatisticsData implements Serializable { @TableId(type = IdType.AUTO) private Long id; + private String corpId; + private Date curDate; @ExcelProperty("重要指标") private String indicatorName; diff --git a/excel-handle/src/main/java/com/ruoyi/excel/wecom/domain/DepartmentStatisticsData.java b/excel-handle/src/main/java/com/ruoyi/excel/wecom/domain/DepartmentStatisticsData.java index 70a54fc..0ed447e 100644 --- a/excel-handle/src/main/java/com/ruoyi/excel/wecom/domain/DepartmentStatisticsData.java +++ b/excel-handle/src/main/java/com/ruoyi/excel/wecom/domain/DepartmentStatisticsData.java @@ -24,6 +24,7 @@ public class DepartmentStatisticsData implements Serializable { @TableId(type = IdType.AUTO) private Long id; + private String corpId; /** * 统计日期 */ diff --git a/excel-handle/src/main/java/com/ruoyi/excel/wecom/domain/WecomTagDomain.java b/excel-handle/src/main/java/com/ruoyi/excel/wecom/domain/WecomTagDomain.java index fa519ca..b3d1055 100644 --- a/excel-handle/src/main/java/com/ruoyi/excel/wecom/domain/WecomTagDomain.java +++ b/excel-handle/src/main/java/com/ruoyi/excel/wecom/domain/WecomTagDomain.java @@ -22,6 +22,8 @@ public class WecomTagDomain implements Serializable { @TableId(type = IdType.AUTO) private Long id; + private String corpId; + /** * 标签ID */ diff --git a/excel-handle/src/main/java/com/ruoyi/excel/wecom/domain/WecomTagGroupDomain.java b/excel-handle/src/main/java/com/ruoyi/excel/wecom/domain/WecomTagGroupDomain.java index 3895c32..0e8bc76 100644 --- a/excel-handle/src/main/java/com/ruoyi/excel/wecom/domain/WecomTagGroupDomain.java +++ b/excel-handle/src/main/java/com/ruoyi/excel/wecom/domain/WecomTagGroupDomain.java @@ -22,6 +22,8 @@ public class WecomTagGroupDomain implements Serializable { @TableId(type = IdType.AUTO) private Long id; + private String corpId; + /** * 标签组ID */ diff --git a/excel-handle/src/main/java/com/ruoyi/excel/wecom/helper/HandleAllData.java b/excel-handle/src/main/java/com/ruoyi/excel/wecom/helper/HandleAllData.java index b4d5d06..dde658c 100644 --- a/excel-handle/src/main/java/com/ruoyi/excel/wecom/helper/HandleAllData.java +++ b/excel-handle/src/main/java/com/ruoyi/excel/wecom/helper/HandleAllData.java @@ -1,7 +1,9 @@ package com.ruoyi.excel.wecom.helper; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.common.core.redis.RedisCache; import com.ruoyi.excel.wecom.domain.*; import com.ruoyi.excel.wecom.mapper.*; import com.ruoyi.excel.wecom.model.WecomCustomer; @@ -9,6 +11,7 @@ import com.ruoyi.excel.wecom.model.WecomTagGroup; import com.ruoyi.excel.wecom.service.CustomerExportService; import com.ruoyi.excel.wecom.service.WecomContactService; import com.ruoyi.excel.wecom.service.WecomTagService; +import com.ruoyi.common.utils.CorpContextHolder; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @@ -40,6 +43,12 @@ import java.util.concurrent.atomic.AtomicInteger; @Autowired private DepartmentStatisticsDataMapper departmentStatisticsDataMapper; + @Autowired + private RedisCache redisCache; + + @Autowired + private CorpInfoMapper corpInfoMapper; + /** * 线程池配置 - 用于并行处理客户数据 */ @@ -61,60 +70,77 @@ import java.util.concurrent.atomic.AtomicInteger; * 注意:由于使用多线程,移除了 @Transactional 注解,事务管理在 handleData 方法中处理 */ public void handleAllData() throws IOException { - //暂时不考虑 员工和部门变动情况下的场景 获取所有批量详情接口数 - //1.获取所有配置了客户联系功能的员工列表 - List followUserList = wecomContactService.getFollowUserList(); + List corpInfos = corpInfoMapper.selectCorpInfoList(new CorpInfo()); + corpInfos.forEach(item->{ + try { + //根据公司信息处理 + //暂时不考虑 员工和部门变动情况下的场景 获取所有批量详情接口数 + //1.获取所有配置了客户联系功能的员工列表 + List followUserList = wecomContactService.getFollowUserList(item.getCorpId()); + int batchSize = 30; + int totalSize = followUserList.size(); - int batchSize = 30; - int totalSize = followUserList.size(); + // 创建任务列表 + List> futures = new ArrayList<>(); - // 创建任务列表 - List> futures = new ArrayList<>(); + for (int i = 0; i < totalSize; i += batchSize) { + // 计算当前批次的结束位置,防止越界 + int end = Math.min(i + batchSize, totalSize); - for (int i = 0; i < totalSize; i += batchSize) { - // 计算当前批次的结束位置,防止越界 - int end = Math.min(i + batchSize, totalSize); + // 获取当前批次的数据 + List batch = followUserList.subList(i, end); - // 获取当前批次的数据 - List batch = followUserList.subList(i, end); + // 提交异步任务(需要传递 corpId 到子线程) + String finalCorpId = item.getCorpId(); + CompletableFuture future = CompletableFuture.runAsync(() -> { + try { + processBatch(batch,finalCorpId); + } catch (IOException e) { + throw new RuntimeException("处理批次数据失败: " + e.getMessage(), e); + } finally { + // 清理子线程的上下文 + CorpContextHolder.clear(); + } + }, executorService); - // 提交异步任务 - CompletableFuture future = CompletableFuture.runAsync(() -> { - try { - processBatch(batch); - } catch (IOException e) { - throw new RuntimeException("处理批次数据失败: " + e.getMessage(), e); + futures.add(future); } - }, executorService); - futures.add(future); - } + // 等待所有任务完成 + try { + CompletableFuture.allOf(futures.toArray(new CompletableFuture[0])).join(); + } catch (Exception e) { + throw new IOException("多线程处理客户数据时发生错误: " + e.getMessage(), e); + } + } catch (IOException e) { + throw new RuntimeException(e); + } finally { + // 清理主线程的上下文 + CorpContextHolder.clear(); + } + }); + + - // 等待所有任务完成 - try { - CompletableFuture.allOf(futures.toArray(new CompletableFuture[0])).join(); - } catch (Exception e) { - throw new IOException("多线程处理客户数据时发生错误: " + e.getMessage(), e); - } } /** * 处理单个批次的员工客户数据 * @param batch 员工ID列表 */ - private void processBatch(List batch) throws IOException { + private void processBatch(List batch,String corpId) throws IOException { List wecomCustomers = new ArrayList<>(); String tmpCursor = null; do { - tmpCursor = wecomContactService.batchGetCustomerDetails(batch, wecomCustomers, tmpCursor, 100); + tmpCursor = wecomContactService.batchGetCustomerDetails(corpId,batch, wecomCustomers, tmpCursor, 100); // 处理当前批次的客户数据 - customerExportService.handleData(wecomCustomers); + customerExportService.handleData(corpId,wecomCustomers); wecomCustomers.clear(); } while(tmpCursor != null); - customerExportService.handleData(wecomCustomers); + customerExportService.handleData(corpId,wecomCustomers); } /** @@ -136,68 +162,86 @@ import java.util.concurrent.atomic.AtomicInteger; * 创建所有日期的流量看板数据(包含当日统计)- 多线程版本 */ public void createAllReportData() { - List allDate = customerExportService.getAllDate(); + List corpInfos = corpInfoMapper.selectCorpInfoList(new CorpInfo()); + corpInfos.forEach(item-> { + try { + String corpId = item.getCorpId(); - // 创建任务列表 - List> futures = new ArrayList<>(); + List allDate = customerExportService.getAllDate(corpId); - // 为每个日期创建异步任务 - for (Date date : allDate) { - CompletableFuture future = CompletableFuture.runAsync(() -> { - try { - createReportData(date); - } catch (Exception e) { - throw new RuntimeException("处理日期 " + date + " 的报表数据失败: " + e.getMessage(), e); + // 创建任务列表 + List> futures = new ArrayList<>(); + + // 为每个日期创建异步任务 + for (Date date : allDate) { + CompletableFuture future = CompletableFuture.runAsync(() -> { + try { + createReportData(corpId,date); + } catch (Exception e) { + throw new RuntimeException("处理日期 " + date + " 的报表数据失败: " + e.getMessage(), e); + } + }, executorService); + + futures.add(future); } - }, executorService); - futures.add(future); - } - - // 等待所有任务完成 - try { - CompletableFuture.allOf(futures.toArray(new CompletableFuture[0])).join(); - } catch (Exception e) { - throw new RuntimeException("多线程处理流量看板数据时发生错误: " + e.getMessage(), e); - } + // 等待所有任务完成 + try { + CompletableFuture.allOf(futures.toArray(new CompletableFuture[0])).join(); + } catch (Exception e) { + throw new RuntimeException("多线程处理流量看板数据时发生错误: " + e.getMessage(), e); + } + } catch (Exception e) { + throw new RuntimeException("多线程处理流量看板数据时发生错误: " + e.getMessage(), e); + } + }); } /** * 创建所有部门指标数据 - 多线程版本 */ public void createAllDepartmentReportData() { - List allDate = customerExportService.getAllDate(); + List corpInfos = corpInfoMapper.selectCorpInfoList(new CorpInfo()); + corpInfos.forEach(item-> { + try { + // 为每个日期创建异步任务 + String finalCorpId = item.getCorpId(); + List allDate = customerExportService.getAllDate(finalCorpId); - // 创建任务列表 - List> futures = new ArrayList<>(); + // 创建任务列表 + List> futures = new ArrayList<>(); - // 为每个日期创建异步任务 - for (Date date : allDate) { - CompletableFuture future = CompletableFuture.runAsync(() -> { - try { - createDepartmentReportData(date); - } catch (Exception e) { - throw new RuntimeException("处理日期 " + date + " 的部门报表数据失败: " + e.getMessage(), e); + + for (Date date : allDate) { + CompletableFuture future = CompletableFuture.runAsync(() -> { + try { + createDepartmentReportData(finalCorpId,date); + } catch (Exception e) { + throw new RuntimeException("处理日期 " + date + " 的部门报表数据失败: " + e.getMessage(), e); + } + }, executorService); + + futures.add(future); } - }, executorService); - futures.add(future); - } - - // 等待所有任务完成 - try { - CompletableFuture.allOf(futures.toArray(new CompletableFuture[0])).join(); - } catch (Exception e) { - throw new RuntimeException("多线程处理部门报表数据时发生错误: " + e.getMessage(), e); - } + // 等待所有任务完成 + try { + CompletableFuture.allOf(futures.toArray(new CompletableFuture[0])).join(); + } catch (Exception e) { + throw new RuntimeException("多线程处理部门报表数据时发生错误: " + e.getMessage(), e); + } + } catch (Exception e) { + throw new RuntimeException("多线程处理部门报表数据时发生错误: " + e.getMessage(), e); + } + }); } /** * 创建流量看板数据(包含当日统计) * @param date 统计日期 */ - public void createReportData(Date date) { - List oneDateData = calculateStatistics(date); + public void createReportData(String corpId,Date date) { + List oneDateData = calculateStatistics(corpId,date); oneDateData.forEach(item->{ dataMapper.insert(item); }); @@ -205,108 +249,82 @@ import java.util.concurrent.atomic.AtomicInteger; /**初始化基础数据 如果需要同步 需要删除老数据数据*/ public boolean initData() throws IOException { - List departmentList; - Map cacheDepartMap = new HashMap<>(); - Map parentCacheMap = new HashMap<>(); - try { - //存入部门id - departmentList = wecomContactService.getDepartmentList(null); - //循环获取部门详情数据 - for (CorpDepartment item : departmentList) { - String departmentDetail = null; - departmentDetail = wecomContactService.getDepartmentDetail(item.getId()); - item.setName(departmentDetail); - cacheDepartMap.put(item.getId(),departmentDetail); - parentCacheMap.put(item.getId(), item.getParentid()); - //保存部门数据 - departmentMapper.insert(item); - } - } catch (Exception e) { - throw new RuntimeException("存储部门数据失败!"); - } - - try { - //根据部门id循环获取下面的员工信息 - departmentList.forEach(item -> { + List corpInfos = corpInfoMapper.selectCorpInfoList(new CorpInfo()); + corpInfos.forEach(oneCorp-> { + try { + List departmentList; + Map cacheDepartMap = new HashMap<>(); + Map parentCacheMap = new HashMap<>(); + String corpId = oneCorp.getCorpId(); try { - List departmentMemberList = wecomContactService.getDepartmentMemberList(item.getId(), null, null); - departmentMemberList.forEach(oneUser -> { - oneUser.setDepartId(item.getId()); - oneUser.setDepartmentName(getDepartmentFullPath(item.getId(),cacheDepartMap,parentCacheMap)); - userMapper.insert(oneUser); - }); - } catch (IOException e) { - throw new RuntimeException(e); + //存入部门id + departmentList = wecomContactService.getDepartmentList(corpId,null); + //循环获取部门详情数据 + for (CorpDepartment item : departmentList) { + String departmentDetail = null; + departmentDetail = wecomContactService.getDepartmentDetail(corpId,item.getId()); + + item.setName(departmentDetail); + item.setCorpId(corpId); // 设置企业ID + cacheDepartMap.put(item.getId(), departmentDetail); + parentCacheMap.put(item.getId(), item.getParentid()); + //保存部门数据 + departmentMapper.insert(item); + } + } catch (Exception e) { + throw new RuntimeException("存储部门数据失败!"); } - }); - } catch (Exception e) { - throw new RuntimeException("存储员工数据失败!"); - } - try { - //查询所有标签信息 存储标签信息 - List tagGroupList = wecomContactService.getCorpTagList(); + try { + //根据部门id循环获取下面的员工信息 + departmentList.forEach(item -> { + try { + List departmentMemberList = wecomContactService.getDepartmentMemberList(corpId,item.getId(), null, null); + departmentMemberList.forEach(oneUser -> { + oneUser.setDepartId(item.getId()); + oneUser.setDepartmentName(getDepartmentFullPath(item.getId(), cacheDepartMap, parentCacheMap)); + oneUser.setCorpId(corpId); // 设置企业ID + userMapper.insert(oneUser); + }); + } catch (IOException e) { + throw new RuntimeException(e); + } + }); + } catch (Exception e) { + throw new RuntimeException("存储员工数据失败!"); + } - // 同步标签库到数据库 - wecomTagService.syncCorpTagList(tagGroupList); - } catch (Exception e) { - throw new RuntimeException("存储标签数据失败!"); - } + try { + //查询所有标签信息 存储标签信息 + List tagGroupList = wecomContactService.getCorpTagList(corpId); - customerExportService.refreshCache(); + // 同步标签库到数据库 + wecomTagService.syncCorpTagList(tagGroupList); + } catch (Exception e) { + throw new RuntimeException("存储标签数据失败!"); + } + + customerExportService.refreshCache(); + + }catch (Exception e) { + throw new RuntimeException("初始化数据异常"); + } + }); return true; } - /** * 创建部门报表数据(包含当日统计) * @param date 统计日期 */ - public void createDepartmentReportData(Date date) { - List oneDateData = calculateDepartmentStatistics(date); + public void createDepartmentReportData(String corpId,Date date) { + List oneDateData = calculateDepartmentStatistics(corpId,date); oneDateData.forEach(item -> { departmentStatisticsDataMapper.insert(item); }); } - /** - * 计算部门历史累计指标 - * @param departmentPath 部门路径 - * @return 历史累计指标(作为一条记录返回) - */ - public List calculateDepartmentHistoricalStatistics(String departmentPath) { - List results = new ArrayList<>(); - - // 1. 查询历史总承接数 - Map acceptSumMap = departmentStatisticsDataMapper.selectHistoricalAcceptSum(departmentPath); - int historicalAcceptCount = 0; - if (acceptSumMap != null && acceptSumMap.get("total_value") != null) { - historicalAcceptCount = ((BigDecimal) acceptSumMap.get("total_value")).intValue(); - } - - // 2. 查询历史总成单数 - Map orderSumMap = departmentStatisticsDataMapper.selectHistoricalOrderSum(departmentPath); - int historicalOrderCount = 0; - if (orderSumMap != null && orderSumMap.get("total_value") != null) { - historicalOrderCount = ((BigDecimal) orderSumMap.get("total_value")).intValue(); - } - - // 3. 计算渗透率 - BigDecimal penetrationRate = calculateRateBigDecimal(historicalOrderCount, historicalAcceptCount); - - // 生成一条历史累计记录 - Date now = new Date(); - DepartmentStatisticsData vo = new DepartmentStatisticsData(); - vo.setStatDate(now); - vo.setDepartmentPath(departmentPath); - vo.setSortNo(0); - - results.add(vo); - - return results; - } - /**===================================以下为私有方法============================================*/ /** @@ -356,18 +374,19 @@ import java.util.concurrent.atomic.AtomicInteger; * @param date 目标日期 (格式: yyyy-MM-dd) * @return 统计结果列表 */ - private List calculateStatistics(Date date) { + private List calculateStatistics(String corpId,Date date) { // 1. 初始化累加器 StatisticsAccumulator accumulator = new StatisticsAccumulator(); // 2. 分页查询并累加统计 int pageSize = 1000; // 每页1000条 int pageNum = 1; - + LambdaQueryWrapper wrapper= new LambdaQueryWrapper<>(); + wrapper.eq(CustomerExportData::getCorpId,corpId); while (true) { // 分页查询(不在SQL层过滤,在Java层过滤以保证准确性) Page page = new Page<>(pageNum, pageSize); - Page pageData = customerExportDataMapper.selectPage(page, null); + Page pageData = customerExportDataMapper.selectPage(page, wrapper); // 处理当前页数据 for (CustomerExportData data : pageData.getRecords()) { @@ -383,7 +402,7 @@ import java.util.concurrent.atomic.AtomicInteger; } // 3. 从累加器生成最终结果 - return generateStatisticsResults(date,accumulator); + return generateStatisticsResults(corpId,date,accumulator); } @@ -392,18 +411,19 @@ import java.util.concurrent.atomic.AtomicInteger; * @param targetDate 目标日期 (格式: yyyy-MM-dd) * @return 部门统计结果列表 */ - private List calculateDepartmentStatistics(Date targetDate) { + private List calculateDepartmentStatistics(String corpId,Date targetDate) { // 1. 初始化部门累加器 DepartmentStatisticsAccumulator accumulator = new DepartmentStatisticsAccumulator(); // 2. 分页查询并累加统计 int pageSize = 1000; int pageNum = 1; - + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(CustomerExportData::getCorpId,corpId); while (true) { // 分页查询 Page page = new Page<>(pageNum, pageSize); - Page pageData = customerExportDataMapper.selectPage(page, null); + Page pageData = customerExportDataMapper.selectPage(page, wrapper); // 处理当前页数据 for (CustomerExportData data : pageData.getRecords()) { @@ -439,7 +459,7 @@ import java.util.concurrent.atomic.AtomicInteger; } // 3. 从累加器生成最终结果 - return generateDepartmentStatisticsResults(accumulator, targetDate); + return generateDepartmentStatisticsResults(corpId,accumulator, targetDate); } /** @@ -608,9 +628,11 @@ import java.util.concurrent.atomic.AtomicInteger; stats.setOrderCount(stats.getOrderCount() + 1); String orderStatus = data.getTagGroup7(); if (orderStatus != null) { - if (orderStatus.contains("已成交及时单9元+")) { + String[] split = orderStatus.split(","); + String statusInfo = split[split.length - 1]; + if (statusInfo.contains("已成交及时单9元+")) { stats.setTimelyOrderCount(stats.getTimelyOrderCount() + 1); - } else if (orderStatus.contains("已成交非及时单9元+")) { + } else if (statusInfo.contains("已成交非及时单9元+")) { stats.setNonTimelyOrderCount(stats.getNonTimelyOrderCount() + 1); } } @@ -704,7 +726,7 @@ import java.util.concurrent.atomic.AtomicInteger; /** * 从累加器生成最终统计结果 */ - private List generateStatisticsResults(Date curDate,StatisticsAccumulator accumulator) { + private List generateStatisticsResults(String corpId,Date curDate,StatisticsAccumulator accumulator) { // 使用 Map 来存储每个指标对应的 CustomerStatisticsData // key: 指标名称(不带组名前缀),value: CustomerStatisticsData 对象 Map indicatorMap = new LinkedHashMap<>(); @@ -716,84 +738,84 @@ import java.util.concurrent.atomic.AtomicInteger; StatisticsAccumulator.GroupStatistics stats = entry.getValue(); // 21-23. 成本相关(需要手工填写) - setIndicatorValue(indicatorMap,curDate, "总成本(当日)", groupName, "需手工填写",(10*sortNo++)); - setIndicatorValue(indicatorMap,curDate, "单条成本(当日)", groupName, "需手工填写",(10*sortNo++)); - setIndicatorValue(indicatorMap,curDate, "成单成本(当日)", groupName, "需手工填写",(10*sortNo++)); + setIndicatorValue(corpId,indicatorMap,curDate, "总成本(当日)", groupName, "需手工填写",(10*sortNo++)); + setIndicatorValue(corpId,indicatorMap,curDate, "单条成本(当日)", groupName, "需手工填写",(10*sortNo++)); + setIndicatorValue(corpId,indicatorMap,curDate, "成单成本(当日)", groupName, "需手工填写",(10*sortNo++)); // 1. 成单数 - setIndicatorValue(indicatorMap,curDate, "成单数(当日)", groupName, String.valueOf(stats.getOrderCount()),(10*sortNo++)); + setIndicatorValue(corpId,indicatorMap,curDate, "成单数(当日)", groupName, String.valueOf(stats.getOrderCount()),(10*sortNo++)); // 2. 进粉数 - setIndicatorValue(indicatorMap,curDate, "进粉数(当日)", groupName, String.valueOf(stats.getCustomerCount()),(10*sortNo++)); + setIndicatorValue(corpId,indicatorMap,curDate, "进粉数(当日)", groupName, String.valueOf(stats.getCustomerCount()),(10*sortNo++)); // 3. 转化率 String conversionRate = calculateRate(stats.getOrderCount(), stats.getCustomerCount()); - setIndicatorValue(indicatorMap,curDate, "转化率(当日)", groupName, conversionRate,(10*sortNo++)); + setIndicatorValue(corpId,indicatorMap,curDate, "转化率(当日)", groupName, conversionRate,(10*sortNo++)); // 4. 及时单占比 String timelyRate = calculateRate(stats.getTimelyOrderCount(), stats.getCustomerCount()); - setIndicatorValue(indicatorMap,curDate, "及时单占比(当日)", groupName, timelyRate,(10*sortNo++)); + setIndicatorValue(corpId,indicatorMap,curDate, "及时单占比(当日)", groupName, timelyRate,(10*sortNo++)); // 5. 非及时单占比 String nonTimelyRate = calculateRate(stats.getNonTimelyOrderCount(), stats.getCustomerCount()); - setIndicatorValue(indicatorMap,curDate, "非及时单占比(当日)", groupName, nonTimelyRate,(10*sortNo++)); + setIndicatorValue(corpId,indicatorMap,curDate, "非及时单占比(当日)", groupName, nonTimelyRate,(10*sortNo++)); // 6. 客户属性数量 - setIndicatorValue(indicatorMap,curDate, "客户属性数量(当日)", groupName, String.valueOf(stats.getTotalCustomerAttr()),(10*sortNo++)); + setIndicatorValue(corpId,indicatorMap,curDate, "客户属性数量(当日)", groupName, String.valueOf(stats.getTotalCustomerAttr()),(10*sortNo++)); // 7. 家长占比 String parentRate = calculateRate(stats.getParentCount(), stats.getTotalCustomerAttr()); - setIndicatorValue(indicatorMap,curDate, "家长占比(当日)", groupName, parentRate,(10*sortNo++)); + setIndicatorValue(corpId,indicatorMap,curDate, "家长占比(当日)", groupName, parentRate,(10*sortNo++)); // 8. 学生占比 String studentRate = calculateRate(stats.getStudentCount(), stats.getTotalCustomerAttr()); - setIndicatorValue(indicatorMap,curDate, "学生占比(当日)", groupName, studentRate,(10*sortNo++)); + setIndicatorValue(corpId,indicatorMap,curDate, "学生占比(当日)", groupName, studentRate,(10*sortNo++)); // 9. 未知占比 String unknownRate = calculateRate(stats.getUnknownAttrCount(), stats.getTotalCustomerAttr()); - setIndicatorValue(indicatorMap,curDate, "未知占比(当日)", groupName, unknownRate,(10*sortNo++)); + setIndicatorValue(corpId,indicatorMap,curDate, "未知占比(当日)", groupName, unknownRate,(10*sortNo++)); // 10. 意向度数量 - setIndicatorValue(indicatorMap,curDate, "意向度数量(当日)", groupName, String.valueOf(stats.getTotalIntention()),(10*sortNo++)); + setIndicatorValue(corpId,indicatorMap,curDate, "意向度数量(当日)", groupName, String.valueOf(stats.getTotalIntention()),(10*sortNo++)); // 11. 主动报价占比 String activeQuoteRate = calculateRate(stats.getActiveQuoteCount(), stats.getTotalIntention()); - setIndicatorValue(indicatorMap,curDate, "主动报价占比(当日)", groupName, activeQuoteRate,(10*sortNo++)); + setIndicatorValue(corpId,indicatorMap,curDate, "主动报价占比(当日)", groupName, activeQuoteRate,(10*sortNo++)); // 12. 被动报价占比 String passiveQuoteRate = calculateRate(stats.getPassiveQuoteCount(), stats.getTotalIntention()); - setIndicatorValue(indicatorMap,curDate, "被动报价占比(当日)", groupName, passiveQuoteRate,(10*sortNo++)); + setIndicatorValue(corpId,indicatorMap,curDate, "被动报价占比(当日)", groupName, passiveQuoteRate,(10*sortNo++)); // 13. 未开口报价占比 String noQuoteRate = calculateRate(stats.getNoQuoteCount(), stats.getTotalIntention()); - setIndicatorValue(indicatorMap,curDate, "未开口报价占比(当日)", groupName, noQuoteRate,(10*sortNo++)); + setIndicatorValue(corpId,indicatorMap,curDate, "未开口报价占比(当日)", groupName, noQuoteRate,(10*sortNo++)); // 14. 已删除报价占比 String deletedQuoteRate = calculateRate(stats.getDeletedQuoteCount(), stats.getTotalIntention()); - setIndicatorValue(indicatorMap,curDate, "已删除报价占比(当日)", groupName, deletedQuoteRate,(10*sortNo++)); + setIndicatorValue(corpId,indicatorMap,curDate, "已删除报价占比(当日)", groupName, deletedQuoteRate,(10*sortNo++)); // 15. 年级数量 - setIndicatorValue(indicatorMap,curDate, "年级数量(当日)", groupName, String.valueOf(stats.getTotalGrade()),(10*sortNo++)); + setIndicatorValue(corpId,indicatorMap,curDate, "年级数量(当日)", groupName, String.valueOf(stats.getTotalGrade()),(10*sortNo++)); // 16. 小学占比 String primaryRate = calculateRate(stats.getPrimaryCount(), stats.getTotalGrade()); - setIndicatorValue(indicatorMap,curDate, "小学占比(当日)", groupName, primaryRate,(10*sortNo++)); + setIndicatorValue(corpId,indicatorMap,curDate, "小学占比(当日)", groupName, primaryRate,(10*sortNo++)); // 17. 初中占比 String middleRate = calculateRate(stats.getMiddleCount(), stats.getTotalGrade()); - setIndicatorValue(indicatorMap,curDate, "初中占比(当日)", groupName, middleRate,(10*sortNo++)); + setIndicatorValue(corpId,indicatorMap,curDate, "初中占比(当日)", groupName, middleRate,(10*sortNo++)); // 18. 高中占比 String highRate = calculateRate(stats.getHighCount(), stats.getTotalGrade()); - setIndicatorValue(indicatorMap,curDate, "高中占比(当日)", groupName, highRate,(10*sortNo++)); + setIndicatorValue(corpId,indicatorMap,curDate, "高中占比(当日)", groupName, highRate,(10*sortNo++)); // 19. 家长出单占比 String parentOrderRate = calculateRate(stats.getParentOrderCount(), stats.getParentCount()); - setIndicatorValue(indicatorMap,curDate, "家长出单占比(当日)", groupName, parentOrderRate,(10*sortNo++)); + setIndicatorValue(corpId,indicatorMap,curDate, "家长出单占比(当日)", groupName, parentOrderRate,(10*sortNo++)); // 20. 学生出单占比 String studentOrderRate = calculateRate(stats.getStudentOrderCount(), stats.getStudentCount()); - setIndicatorValue(indicatorMap,curDate, "学生出单占比(当日)", groupName, studentOrderRate,(10*sortNo++)); + setIndicatorValue(corpId,indicatorMap,curDate, "学生出单占比(当日)", groupName, studentOrderRate,(10*sortNo++)); } @@ -809,7 +831,7 @@ import java.util.concurrent.atomic.AtomicInteger; * @param groupName 组名 * @param value 指标值 */ - private void setIndicatorValue(Map indicatorMap,Date curDate, + private void setIndicatorValue(String corpId,Map indicatorMap,Date curDate, String indicatorName, String groupName, String value,int sortNo) { // 获取或创建该指标对应的 CustomerStatisticsData 对象 CustomerStatisticsData vo = indicatorMap.computeIfAbsent(indicatorName, k -> { @@ -817,6 +839,7 @@ import java.util.concurrent.atomic.AtomicInteger; newVo.setIndicatorName(indicatorName); newVo.setCurDate(curDate); newVo.setSortNo(sortNo); + newVo.setCorpId(corpId); return newVo; }); @@ -917,7 +940,7 @@ import java.util.concurrent.atomic.AtomicInteger; * 从累加器生成最终部门统计结果 * 每一行数据代表一个部门或员工,包含所有指标维度 */ - private List generateDepartmentStatisticsResults( + private List generateDepartmentStatisticsResults(String corpId, DepartmentStatisticsAccumulator accumulator, Date statDate) { List results = new ArrayList<>(); @@ -932,6 +955,7 @@ import java.util.concurrent.atomic.AtomicInteger; DepartmentStatisticsData vo = new DepartmentStatisticsData(); vo.setStatDate(statDate); vo.setDepartmentPath(departmentPath); + vo.setCorpId(corpId); // 设置各项指标 // 1. 总承接数(当日) diff --git a/excel-handle/src/main/java/com/ruoyi/excel/wecom/mapper/CorpInfoMapper.java b/excel-handle/src/main/java/com/ruoyi/excel/wecom/mapper/CorpInfoMapper.java new file mode 100644 index 0000000..d186284 --- /dev/null +++ b/excel-handle/src/main/java/com/ruoyi/excel/wecom/mapper/CorpInfoMapper.java @@ -0,0 +1,30 @@ +package com.ruoyi.excel.wecom.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ruoyi.excel.wecom.domain.CorpInfo; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 企业信息Mapper接口 + */ +@Mapper +public interface CorpInfoMapper extends BaseMapper { + + /** + * 查询企业信息列表 + * + * @param corpInfo 企业信息 + * @return 企业信息集合 + */ + List selectCorpInfoList(CorpInfo corpInfo); + + /** + * 根据企业ID查询企业信息 + * + * @param corpId 企业ID + * @return 企业信息 + */ + CorpInfo selectCorpInfoByCorpId(String corpId); +} diff --git a/excel-handle/src/main/java/com/ruoyi/excel/wecom/mapper/CorpUserMapper.java b/excel-handle/src/main/java/com/ruoyi/excel/wecom/mapper/CorpUserMapper.java index a1927e9..c26759a 100644 --- a/excel-handle/src/main/java/com/ruoyi/excel/wecom/mapper/CorpUserMapper.java +++ b/excel-handle/src/main/java/com/ruoyi/excel/wecom/mapper/CorpUserMapper.java @@ -2,7 +2,6 @@ package com.ruoyi.excel.wecom.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.excel.wecom.domain.CorpUser; -import com.ruoyi.excel.wecom.domain.WecomTagDomain; import org.apache.ibatis.annotations.Mapper; import java.util.List; @@ -13,6 +12,6 @@ import java.util.List; @Mapper public interface CorpUserMapper extends BaseMapper { - List selectAllUserIds(); + List selectAllUserIds(String corpId); } diff --git a/excel-handle/src/main/java/com/ruoyi/excel/wecom/mapper/CustomerContactDataMapper.java b/excel-handle/src/main/java/com/ruoyi/excel/wecom/mapper/CustomerContactDataMapper.java index 20b207e..5368062 100644 --- a/excel-handle/src/main/java/com/ruoyi/excel/wecom/mapper/CustomerContactDataMapper.java +++ b/excel-handle/src/main/java/com/ruoyi/excel/wecom/mapper/CustomerContactDataMapper.java @@ -21,7 +21,7 @@ public interface CustomerContactDataMapper extends BaseMapper selectByStatDate(Date statDate); + List selectByStatDate(@Param("corpId") String corpId,@Param("statDate")Date statDate); /** * 根据成员ID和日期查询客户联系统计数据 @@ -30,7 +30,7 @@ public interface CustomerContactDataMapper extends BaseMapper selectByUseridAndStatDate(String userid, Date statDate); + List selectByUseridAndStatDate(@Param("corpId")String corpId,@Param("userid")String userid, @Param("statDate")Date statDate); /** * 查询客户联系统计数据列表 @@ -40,6 +40,7 @@ public interface CustomerContactDataMapper extends BaseMapper selectCustomerContactDataList( + @Param("corpId") String corpId, @Param("startDate") Date startDate, @Param("endDate") Date endDate, @Param("userid") String userid @@ -53,6 +54,7 @@ public interface CustomerContactDataMapper extends BaseMapper selectCustomerContactDataVOList( + @Param("corpId") String corpId, @Param("startDate") Date startDate, @Param("endDate") Date endDate, @Param("userid") String userid diff --git a/excel-handle/src/main/java/com/ruoyi/excel/wecom/mapper/CustomerExportDataMapper.java b/excel-handle/src/main/java/com/ruoyi/excel/wecom/mapper/CustomerExportDataMapper.java index eab7645..ad5dcf9 100644 --- a/excel-handle/src/main/java/com/ruoyi/excel/wecom/mapper/CustomerExportDataMapper.java +++ b/excel-handle/src/main/java/com/ruoyi/excel/wecom/mapper/CustomerExportDataMapper.java @@ -14,7 +14,7 @@ import java.util.List; */ @Mapper public interface CustomerExportDataMapper extends BaseMapper { - List getDistinctDate(); + List getDistinctDate( @Param("corpId") String corpId); /** * 查询客户导出数据列表 @@ -24,6 +24,7 @@ public interface CustomerExportDataMapper extends BaseMapper * @return 客户导出数据列表 */ List selectCustomerExportDataList( + @Param("corpId") String corpId, @Param("startDate") Date startDate, @Param("endDate") Date endDate, @Param("customerName") String customerName @@ -37,6 +38,7 @@ public interface CustomerExportDataMapper extends BaseMapper * @return 客户导出数据VO列表 */ List selectCustomerExportDataVOList( + @Param("corpId") String corpId, @Param("startDate") Date startDate, @Param("endDate") Date endDate, @Param("customerName") String customerName @@ -50,6 +52,7 @@ public interface CustomerExportDataMapper extends BaseMapper * @return 客户导出数据 */ CustomerExportData selectByUniqueKey( + @Param("corpId") String corpId, @Param("customerName") String customerName, @Param("addUserAccount") String addUserAccount, @Param("addTime") Date addTime diff --git a/excel-handle/src/main/java/com/ruoyi/excel/wecom/mapper/CustomerStatisticsDataMapper.java b/excel-handle/src/main/java/com/ruoyi/excel/wecom/mapper/CustomerStatisticsDataMapper.java index c8051ff..e7201ec 100644 --- a/excel-handle/src/main/java/com/ruoyi/excel/wecom/mapper/CustomerStatisticsDataMapper.java +++ b/excel-handle/src/main/java/com/ruoyi/excel/wecom/mapper/CustomerStatisticsDataMapper.java @@ -16,7 +16,7 @@ import java.util.List; @Mapper public interface CustomerStatisticsDataMapper extends BaseMapper { - List selectByDate(Date date); + List selectByDate(@Param("corpId") String corpId,@Param("date")Date date); /** * 查询客户统计数据列表 @@ -26,6 +26,7 @@ public interface CustomerStatisticsDataMapper extends BaseMapper selectCustomerStatisticsDataList( + @Param("corpId") String corpId, @Param("startDate") Date startDate, @Param("endDate") Date endDate, @Param("indicatorName") String indicatorName @@ -39,6 +40,7 @@ public interface CustomerStatisticsDataMapper extends BaseMapper selectCustomerStatisticsDataVOList( + @Param("corpId") String corpId, @Param("startDate") Date startDate, @Param("endDate") Date endDate, @Param("indicatorName") String indicatorName diff --git a/excel-handle/src/main/java/com/ruoyi/excel/wecom/mapper/DepartmentStatisticsDataMapper.java b/excel-handle/src/main/java/com/ruoyi/excel/wecom/mapper/DepartmentStatisticsDataMapper.java index 917c863..cf9c6e7 100644 --- a/excel-handle/src/main/java/com/ruoyi/excel/wecom/mapper/DepartmentStatisticsDataMapper.java +++ b/excel-handle/src/main/java/com/ruoyi/excel/wecom/mapper/DepartmentStatisticsDataMapper.java @@ -22,7 +22,7 @@ public interface DepartmentStatisticsDataMapper extends BaseMapper selectByDate(@Param("date") Date date); + List selectByDate(@Param("corpId") String corpId,@Param("date") Date date); /** * 根据部门路径和日期范围查询统计数据 @@ -32,6 +32,7 @@ public interface DepartmentStatisticsDataMapper extends BaseMapper selectByDepartmentAndDateRange( + @Param("corpId") String corpId, @Param("departmentPath") String departmentPath, @Param("startDate") Date startDate, @Param("endDate") Date endDate @@ -42,14 +43,14 @@ public interface DepartmentStatisticsDataMapper extends BaseMapper selectHistoricalAcceptSum(@Param("departmentPath") String departmentPath); + Map selectHistoricalAcceptSum(@Param("corpId") String corpId,@Param("departmentPath") String departmentPath); /** * 查询指定部门的历史累计成单数 * @param departmentPath 部门路径 * @return 累计值 */ - Map selectHistoricalOrderSum(@Param("departmentPath") String departmentPath); + Map selectHistoricalOrderSum(@Param("corpId") String corpId,@Param("departmentPath") String departmentPath); /** * 查询部门统计数据列表 @@ -59,6 +60,7 @@ public interface DepartmentStatisticsDataMapper extends BaseMapper selectDepartmentStatisticsDataList( + @Param("corpId") String corpId, @Param("startDate") Date startDate, @Param("endDate") Date endDate, @Param("departmentPath") String departmentPath @@ -72,12 +74,13 @@ public interface DepartmentStatisticsDataMapper extends BaseMapper selectDepartmentStatisticsDataVOList( + @Param("corpId") String corpId, @Param("startDate") Date startDate, @Param("endDate") Date endDate, @Param("departmentPath") String departmentPath ); - Map getSummary(@Param("startDate") Date startDate, + Map getSummary(@Param("corpId") String corpId,@Param("startDate") Date startDate, @Param("endDate") Date endDate, @Param("departmentPath") String departmentPath); } diff --git a/excel-handle/src/main/java/com/ruoyi/excel/wecom/mapper/WecomTagGroupMapper.java b/excel-handle/src/main/java/com/ruoyi/excel/wecom/mapper/WecomTagGroupMapper.java index ee112f8..cd03e2e 100644 --- a/excel-handle/src/main/java/com/ruoyi/excel/wecom/mapper/WecomTagGroupMapper.java +++ b/excel-handle/src/main/java/com/ruoyi/excel/wecom/mapper/WecomTagGroupMapper.java @@ -3,6 +3,7 @@ package com.ruoyi.excel.wecom.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.excel.wecom.domain.WecomTagGroupDomain; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; /** * 企业微信标签组Mapper @@ -16,6 +17,6 @@ public interface WecomTagGroupMapper extends BaseMapper { * @param tagGroupId 标签组ID * @return 标签组 */ - WecomTagGroupDomain selectByTagGroupId(String tagGroupId); + WecomTagGroupDomain selectByTagGroupId(@Param("corpId") String corpId,@Param("tagGroupId") String tagGroupId); } diff --git a/excel-handle/src/main/java/com/ruoyi/excel/wecom/mapper/WecomTagMapper.java b/excel-handle/src/main/java/com/ruoyi/excel/wecom/mapper/WecomTagMapper.java index 656683e..cbec884 100644 --- a/excel-handle/src/main/java/com/ruoyi/excel/wecom/mapper/WecomTagMapper.java +++ b/excel-handle/src/main/java/com/ruoyi/excel/wecom/mapper/WecomTagMapper.java @@ -3,6 +3,7 @@ package com.ruoyi.excel.wecom.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.excel.wecom.domain.WecomTagDomain; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; /** * 企业微信标签Mapper @@ -16,6 +17,6 @@ public interface WecomTagMapper extends BaseMapper { * @param tagId 标签ID * @return 标签 */ - WecomTagDomain selectByTagId(String tagId); + WecomTagDomain selectByTagId(@Param("corpId") String corpId, @Param("tagId")String tagId); } diff --git a/excel-handle/src/main/java/com/ruoyi/excel/wecom/service/CustomerExportService.java b/excel-handle/src/main/java/com/ruoyi/excel/wecom/service/CustomerExportService.java index c358be7..cfc50ba 100644 --- a/excel-handle/src/main/java/com/ruoyi/excel/wecom/service/CustomerExportService.java +++ b/excel-handle/src/main/java/com/ruoyi/excel/wecom/service/CustomerExportService.java @@ -83,8 +83,8 @@ public class CustomerExportService { System.out.println("缓存初始化完成!"); } - public List getAllDate() { - return customerExportDataMapper.getDistinctDate(); + public List getAllDate(String corpId) { + return customerExportDataMapper.getDistinctDate(corpId); } /** * 处理客户数据并保存到数据库 @@ -96,7 +96,7 @@ public class CustomerExportService { * @param customerList 客户列表 * @return 处理成功的数量 */ - public int handleData(List customerList) { + public int handleData(String corpId,List customerList) { if (customerList == null || customerList.isEmpty()) { System.out.println("客户列表为空,无需处理"); return 0; @@ -114,12 +114,14 @@ public class CustomerExportService { if (exportData != null) { // 根据唯一标识(客户名称+添加人账号+添加时间)查询是否已存在 CustomerExportData existingData = customerExportDataMapper.selectByUniqueKey( + corpId, exportData.getCustomerName(), exportData.getAddUserAccount(), exportData.getAddTime() ); if (existingData == null) { + exportData.setCorpId(corpId); // 新增客户 customerExportDataMapper.insert(exportData); diff --git a/excel-handle/src/main/java/com/ruoyi/excel/wecom/service/ICorpInfoService.java b/excel-handle/src/main/java/com/ruoyi/excel/wecom/service/ICorpInfoService.java new file mode 100644 index 0000000..82a0e69 --- /dev/null +++ b/excel-handle/src/main/java/com/ruoyi/excel/wecom/service/ICorpInfoService.java @@ -0,0 +1,67 @@ +package com.ruoyi.excel.wecom.service; + +import com.ruoyi.excel.wecom.domain.CorpInfo; + +import java.util.List; + +/** + * 企业信息Service接口 + */ +public interface ICorpInfoService { + + /** + * 查询企业信息列表 + * + * @param corpInfo 企业信息 + * @return 企业信息集合 + */ + List selectCorpInfoList(CorpInfo corpInfo); + + /** + * 根据企业ID查询企业信息 + * + * @param corpId 企业ID + * @return 企业信息 + */ + CorpInfo selectCorpInfoByCorpId(String corpId); + + /** + * 根据ID查询企业信息 + * + * @param id 主键ID + * @return 企业信息 + */ + CorpInfo selectCorpInfoById(Long id); + + /** + * 新增企业信息 + * + * @param corpInfo 企业信息 + * @return 结果 + */ + int insertCorpInfo(CorpInfo corpInfo); + + /** + * 修改企业信息 + * + * @param corpInfo 企业信息 + * @return 结果 + */ + int updateCorpInfo(CorpInfo corpInfo); + + /** + * 批量删除企业信息 + * + * @param ids 需要删除的企业信息主键集合 + * @return 结果 + */ + int deleteCorpInfoByIds(Long[] ids); + + /** + * 删除企业信息 + * + * @param id 企业信息主键 + * @return 结果 + */ + int deleteCorpInfoById(Long id); +} diff --git a/excel-handle/src/main/java/com/ruoyi/excel/wecom/service/ICustomerContactDataService.java b/excel-handle/src/main/java/com/ruoyi/excel/wecom/service/ICustomerContactDataService.java index 06490a0..5a1e9e5 100644 --- a/excel-handle/src/main/java/com/ruoyi/excel/wecom/service/ICustomerContactDataService.java +++ b/excel-handle/src/main/java/com/ruoyi/excel/wecom/service/ICustomerContactDataService.java @@ -18,7 +18,7 @@ public interface ICustomerContactDataService { * @param userid 成员ID * @return 客户联系统计数据列表 */ - List selectCustomerContactDataList(Date startDate, Date endDate, String userid); + List selectCustomerContactDataList(String corpId,Date startDate, Date endDate, String userid); /** * 查询客户联系统计数据VO列表(用于导出) @@ -27,7 +27,7 @@ public interface ICustomerContactDataService { * @param userid 成员ID * @return 客户联系统计数据VO列表 */ - List selectCustomerContactDataVOList(Date startDate, Date endDate, String userid); + List selectCustomerContactDataVOList(String corpId,Date startDate, Date endDate, String userid); /** * 根据ID查询客户联系统计数据 @@ -36,13 +36,6 @@ public interface ICustomerContactDataService { */ CustomerContactData selectCustomerContactDataById(Long id); - /** - * 新增客户联系统计数据 - * @param customerContactData 客户联系统计数据 - * @return 结果 - */ - int insertCustomerContactData(CustomerContactData customerContactData); - /** * 修改客户联系统计数据 * @param customerContactData 客户联系统计数据 diff --git a/excel-handle/src/main/java/com/ruoyi/excel/wecom/service/ICustomerExportDataService.java b/excel-handle/src/main/java/com/ruoyi/excel/wecom/service/ICustomerExportDataService.java index 76c9f45..cee0670 100644 --- a/excel-handle/src/main/java/com/ruoyi/excel/wecom/service/ICustomerExportDataService.java +++ b/excel-handle/src/main/java/com/ruoyi/excel/wecom/service/ICustomerExportDataService.java @@ -18,7 +18,7 @@ public interface ICustomerExportDataService { * @param customerName 客户名称 * @return 客户导出数据列表 */ - List selectCustomerExportDataList(Date startDate, Date endDate, String customerName); + List selectCustomerExportDataList(String corpId,Date startDate, Date endDate, String customerName); /** * 查询客户导出数据VO列表(用于导出) @@ -27,7 +27,7 @@ public interface ICustomerExportDataService { * @param customerName 客户名称 * @return 客户导出数据VO列表 */ - List selectCustomerExportDataVOList(Date startDate, Date endDate, String customerName); + List selectCustomerExportDataVOList(String corpId,Date startDate, Date endDate, String customerName); /** * 根据ID查询客户导出数据 diff --git a/excel-handle/src/main/java/com/ruoyi/excel/wecom/service/ICustomerStatisticsDataService.java b/excel-handle/src/main/java/com/ruoyi/excel/wecom/service/ICustomerStatisticsDataService.java index 19cd18b..b330f50 100644 --- a/excel-handle/src/main/java/com/ruoyi/excel/wecom/service/ICustomerStatisticsDataService.java +++ b/excel-handle/src/main/java/com/ruoyi/excel/wecom/service/ICustomerStatisticsDataService.java @@ -19,7 +19,7 @@ public interface ICustomerStatisticsDataService { * @param indicatorName 指标名称 * @return 客户统计数据列表 */ - List selectCustomerStatisticsDataList(Date startDate, Date endDate, String indicatorName); + List selectCustomerStatisticsDataList(String corpId,Date startDate, Date endDate, String indicatorName); /** * 查询客户统计数据VO列表(用于导出) @@ -28,7 +28,7 @@ public interface ICustomerStatisticsDataService { * @param indicatorName 指标名称 * @return 客户统计数据VO列表 */ - List selectCustomerStatisticsDataVOList(Date startDate, Date endDate, String indicatorName); + List selectCustomerStatisticsDataVOList(String corpId,Date startDate, Date endDate, String indicatorName); /** * 根据ID查询客户统计数据 @@ -58,5 +58,5 @@ public interface ICustomerStatisticsDataService { */ int deleteCustomerStatisticsDataByIds(Long[] ids); - int updateCost(Date curDate, BigDecimal totalCost, String titleAttr); + int updateCost(String corpId,Date curDate, BigDecimal totalCost, String titleAttr); } diff --git a/excel-handle/src/main/java/com/ruoyi/excel/wecom/service/IDepartmentStatisticsDataService.java b/excel-handle/src/main/java/com/ruoyi/excel/wecom/service/IDepartmentStatisticsDataService.java index a48a25c..64fcea5 100644 --- a/excel-handle/src/main/java/com/ruoyi/excel/wecom/service/IDepartmentStatisticsDataService.java +++ b/excel-handle/src/main/java/com/ruoyi/excel/wecom/service/IDepartmentStatisticsDataService.java @@ -20,7 +20,7 @@ public interface IDepartmentStatisticsDataService { * @param departmentPath 部门路径 * @return 部门统计数据列表 */ - List selectDepartmentStatisticsDataList(Date startDate, Date endDate, String departmentPath); + List selectDepartmentStatisticsDataList(String corpId,Date startDate, Date endDate, String departmentPath); /** * 查询部门统计数据VO列表(用于导出) @@ -29,7 +29,7 @@ public interface IDepartmentStatisticsDataService { * @param departmentPath 部门路径 * @return 部门统计数据VO列表 */ - List selectDepartmentStatisticsDataVOList(Date startDate, Date endDate, String departmentPath); + List selectDepartmentStatisticsDataVOList(String corpId,Date startDate, Date endDate, String departmentPath); /** * 根据ID查询部门统计数据 @@ -59,5 +59,5 @@ public interface IDepartmentStatisticsDataService { */ int deleteDepartmentStatisticsDataByIds(Long[] ids); - Map getSummary(Date startDate, Date endDate, String departmentPath); + Map getSummary(String corpId,Date startDate, Date endDate, String departmentPath); } diff --git a/excel-handle/src/main/java/com/ruoyi/excel/wecom/service/WecomBaseService.java b/excel-handle/src/main/java/com/ruoyi/excel/wecom/service/WecomBaseService.java index 517e227..8e5e19e 100644 --- a/excel-handle/src/main/java/com/ruoyi/excel/wecom/service/WecomBaseService.java +++ b/excel-handle/src/main/java/com/ruoyi/excel/wecom/service/WecomBaseService.java @@ -2,6 +2,9 @@ package com.ruoyi.excel.wecom.service; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; +import com.ruoyi.common.core.redis.RedisCache; +import com.ruoyi.common.utils.spring.SpringUtils; +import com.ruoyi.excel.wecom.domain.CorpInfo; import com.ruoyi.excel.wecom.model.WecomConfig; import org.apache.http.HttpEntity; import org.apache.http.client.methods.CloseableHttpResponse; @@ -13,6 +16,7 @@ import org.apache.http.impl.client.HttpClients; import org.apache.http.util.EntityUtils; import java.io.IOException; +import java.util.concurrent.TimeUnit; /** * 企业微信基础服务类 @@ -20,30 +24,49 @@ import java.io.IOException; public class WecomBaseService { private WecomConfig wecomConfig; + /** + * Redis key 前缀:wecom_access_token:{corpId} + */ + private static final String ACCESS_TOKEN_KEY_PREFIX = "wecom_access_token:"; + public WecomBaseService(WecomConfig wecomConfig) { this.wecomConfig = wecomConfig; } /** - * 获取accessToken + * 获取accessToken(根据当前企业上下文动态获取) * * @return accessToken * @throws IOException IO异常 */ - public String getAccessToken() throws IOException { - if (!wecomConfig.isAccessTokenExpired()) { - return wecomConfig.getAccessToken(); + public String getAccessToken(String corpId) throws IOException { + // 2. 从 Redis 获取缓存的 access_token + RedisCache redisCache = SpringUtils.getBean(RedisCache.class); + String cacheKey = ACCESS_TOKEN_KEY_PREFIX + corpId; + String cachedToken = redisCache.getCacheObject(cacheKey); + if (cachedToken != null && !cachedToken.trim().isEmpty()) { + return cachedToken; } - String url = "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=" + wecomConfig.getCorpId() + "&corpsecret=" + wecomConfig.getCorpSecret(); + // 3. 缓存不存在或已过期,从数据库查询企业信息 + ICorpInfoService corpInfoService = SpringUtils.getBean(ICorpInfoService.class); + CorpInfo corpInfo = corpInfoService.selectCorpInfoByCorpId(corpId); + if (corpInfo == null) { + throw new RuntimeException("企业信息不存在: " + corpId); + } + + // 4. 调用企业微信API获取新的 access_token + String url = "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=" + corpInfo.getCorpId() + "&corpsecret=" + corpInfo.getSecret(); String response = doGet(url); JSONObject jsonObject = JSON.parseObject(response); if (jsonObject.getInteger("errcode") == 0) { String accessToken = jsonObject.getString("access_token"); int expiresIn = jsonObject.getInteger("expires_in"); - wecomConfig.setAccessToken(accessToken); - wecomConfig.setAccessTokenExpireTime(System.currentTimeMillis() + (expiresIn - 60) * 1000); + + // 5. 将 access_token 缓存到 Redis(提前60秒过期) + redisCache.setCacheObject(cacheKey, accessToken, expiresIn - 60, TimeUnit.SECONDS); + return accessToken; } else { throw new RuntimeException("获取accessToken失败: " + jsonObject.getString("errmsg")); diff --git a/excel-handle/src/main/java/com/ruoyi/excel/wecom/service/WecomContactService.java b/excel-handle/src/main/java/com/ruoyi/excel/wecom/service/WecomContactService.java index e118868..563c0de 100644 --- a/excel-handle/src/main/java/com/ruoyi/excel/wecom/service/WecomContactService.java +++ b/excel-handle/src/main/java/com/ruoyi/excel/wecom/service/WecomContactService.java @@ -31,8 +31,8 @@ public class WecomContactService extends WecomBaseService { * @return 成员ID列表 * @throws IOException IO异常 */ - public List getFollowUserList() throws IOException { - String accessToken = getAccessToken(); + public List getFollowUserList(String corpId) throws IOException { + String accessToken = getAccessToken(corpId); String url = "https://qyapi.weixin.qq.com/cgi-bin/externalcontact/get_follow_user_list?access_token=" + accessToken; String response = doGet(url); JSONObject jsonObject = JSON.parseObject(response); @@ -51,8 +51,8 @@ public class WecomContactService extends WecomBaseService { * @return 客户外部联系人ID列表 * @throws IOException IO异常 */ - public List getExternalContactList(String userid) throws IOException { - String accessToken = getAccessToken(); + public List getExternalContactList(String corpId,String userid) throws IOException { + String accessToken = getAccessToken(corpId); String url = "https://qyapi.weixin.qq.com/cgi-bin/externalcontact/list?access_token=" + accessToken + "&userid=" + userid; String response = doGet(url); JSONObject jsonObject = JSON.parseObject(response); @@ -70,12 +70,12 @@ public class WecomContactService extends WecomBaseService { * @return 成员客户映射关系 * @throws IOException IO异常 */ - public List getAllMembersCustomers() throws IOException { - List userList = getFollowUserList(); + public List getAllMembersCustomers(String corpId) throws IOException { + List userList = getFollowUserList(corpId); List result = new ArrayList<>(); for (String userid : userList) { - List customerList = getExternalContactList(userid); + List customerList = getExternalContactList(corpId,userid); MemberCustomer memberCustomer = new MemberCustomer(); memberCustomer.setUserid(userid); memberCustomer.setExternalUserids(customerList); @@ -94,13 +94,13 @@ public class WecomContactService extends WecomBaseService { * @return 客户详情列表 * @throws IOException IO异常 */ - public String batchGetCustomerDetails(List useridList,List finalResult, String cursor, Integer limit) throws IOException { + public String batchGetCustomerDetails(String corpId,List useridList,List finalResult, String cursor, Integer limit) throws IOException { if (useridList.size() > 100) { throw new IllegalArgumentException("成员ID列表不能超过100个"); } System.out.println("获取用户数据****" + cursor); - String accessToken = getAccessToken(); + String accessToken = getAccessToken(corpId); String url = "https://qyapi.weixin.qq.com/cgi-bin/externalcontact/batch/get_by_user?access_token=" + accessToken; JSONObject requestBody = new JSONObject(); @@ -133,23 +133,10 @@ public class WecomContactService extends WecomBaseService { } } else if (jsonObject.containsKey("next_cursor") && StringUtils.isNotEmpty(jsonObject.getString("next_cursor"))) { nextCursor = jsonObject.getString("next_cursor"); - return batchGetCustomerDetails(useridList, finalResult, nextCursor, limit); + return batchGetCustomerDetails(corpId,useridList, finalResult, nextCursor, limit); } else { return null; } - - /* // 处理分页 - if (jsonObject.containsKey("next_cursor") && StringUtils.isNotEmpty(jsonObject.getString("next_cursor"))) { - String nextCursor = jsonObject.getString("next_cursor"); - //如果发现数量已经存储了2000条则先退出 由外部存储 - if (finalResult.size() >= 2000) { - return nextCursor; - } else { - return batchGetCustomerDetails(useridList, finalResult, nextCursor, limit); - } - } else { - return null; - }*/ } else { throw new RuntimeException("批量获取客户详情失败: " + jsonObject.getString("errmsg")); } @@ -162,14 +149,14 @@ public class WecomContactService extends WecomBaseService { * @return 客户详情列表 * @throws IOException IO异常 */ - public List batchGetAllCustomerDetails(List useridList) throws IOException { + public List batchGetAllCustomerDetails(String corpId,List useridList) throws IOException { List allCustomers = new ArrayList<>(); // 分批处理,每次最多100个用户 for (int i = 0; i < useridList.size(); i += 100) { int endIndex = Math.min(i + 100, useridList.size()); List batchUserids = useridList.subList(i, endIndex); - batchGetCustomerDetails(batchUserids, allCustomers,null, 100); + batchGetCustomerDetails(corpId,batchUserids, allCustomers,null, 100); } return allCustomers; @@ -182,8 +169,8 @@ public class WecomContactService extends WecomBaseService { * @return 客户详情 * @throws IOException IO异常 */ - public WecomCustomer getCustomerDetail(String externalUserid) throws IOException { - String accessToken = getAccessToken(); + public WecomCustomer getCustomerDetail(String corpId,String externalUserid) throws IOException { + String accessToken = getAccessToken(corpId); String url = "https://qyapi.weixin.qq.com/cgi-bin/externalcontact/get?access_token=" + accessToken + "&external_userid=" + externalUserid; String response = doGet(url); JSONObject jsonObject = JSON.parseObject(response); @@ -206,8 +193,8 @@ public class WecomContactService extends WecomBaseService { * @return 标签库列表 * @throws IOException IO异常 */ - public List getCorpTagList() throws IOException { - String accessToken = getAccessToken(); + public List getCorpTagList(String corpId) throws IOException { + String accessToken = getAccessToken(corpId); String url = "https://qyapi.weixin.qq.com/cgi-bin/externalcontact/get_corp_tag_list?access_token=" + accessToken; String response = doGet(url); JSONObject jsonObject = JSON.parseObject(response); @@ -255,8 +242,8 @@ public class WecomContactService extends WecomBaseService { * @return 子部门ID列表 * @throws IOException IO异常 */ - public List getDepartmentList(Long departmentId) throws IOException { - String accessToken = getAccessToken(); + public List getDepartmentList(String corpId,Long departmentId) throws IOException { + String accessToken = getAccessToken(corpId); String url = "https://qyapi.weixin.qq.com/cgi-bin/department/simplelist?access_token=" + accessToken; if (departmentId != null) { url += "&id=" + departmentId; @@ -282,8 +269,8 @@ public class WecomContactService extends WecomBaseService { * @return 部门详情 * @throws IOException IO异常 */ - public String getDepartmentDetail(Long departmentId) throws IOException { - String accessToken = getAccessToken(); + public String getDepartmentDetail(String corpId,Long departmentId) throws IOException { + String accessToken = getAccessToken(corpId); String url = "https://qyapi.weixin.qq.com/cgi-bin/department/get?access_token=" + accessToken + "&id=" + departmentId; String response = doGet(url); JSONObject jsonObject = JSON.parseObject(response); @@ -310,8 +297,8 @@ public class WecomContactService extends WecomBaseService { * @return 部门成员详情列表 * @throws IOException IO异常 */ - public List getDepartmentMemberList(Long departmentId, Integer fetchChild, Integer status) throws IOException { - String accessToken = getAccessToken(); + public List getDepartmentMemberList(String corpId,Long departmentId, Integer fetchChild, Integer status) throws IOException { + String accessToken = getAccessToken(corpId); String url = "https://qyapi.weixin.qq.com/cgi-bin/user/simplelist?access_token=" + accessToken + "&department_id=" + departmentId; if (fetchChild != null) { url += "&fetch_child=" + fetchChild; @@ -354,8 +341,8 @@ public class WecomContactService extends WecomBaseService { * @return 统计数据 * @throws IOException IO异常 */ - public JSONObject getUserBehaviorData(Long startTime, Long endTime, List useridList) throws IOException { - String accessToken = getAccessToken(); + public JSONObject getUserBehaviorData(String corpId,Long startTime, Long endTime, List useridList) throws IOException { + String accessToken = getAccessToken(corpId); String url = "https://qyapi.weixin.qq.com/cgi-bin/externalcontact/get_user_behavior_data?access_token=" + accessToken; JSONObject requestBody = new JSONObject(); @@ -383,7 +370,7 @@ public class WecomContactService extends WecomBaseService { * @return 统计数据 * @throws IOException IO异常 */ - public JSONObject getDayUserBehaviorData(String date, List useridList) throws IOException { + public JSONObject getDayUserBehaviorData(String corpId,String date, List useridList) throws IOException { try { // 解析日期字符串为Date对象 java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy-MM-dd"); @@ -404,7 +391,7 @@ public class WecomContactService extends WecomBaseService { Long endTime = calendar.getTimeInMillis() / 1000; // 调用获取统计数据的方法 - return getUserBehaviorData(startTime, endTime, useridList); + return getUserBehaviorData(corpId,startTime, endTime, useridList); } catch (java.text.ParseException e) { throw new RuntimeException("日期格式错误,请使用yyyy-MM-dd格式", e); } diff --git a/excel-handle/src/main/java/com/ruoyi/excel/wecom/service/WecomStatisticsService.java b/excel-handle/src/main/java/com/ruoyi/excel/wecom/service/WecomStatisticsService.java index 0455ca6..c5db676 100644 --- a/excel-handle/src/main/java/com/ruoyi/excel/wecom/service/WecomStatisticsService.java +++ b/excel-handle/src/main/java/com/ruoyi/excel/wecom/service/WecomStatisticsService.java @@ -32,7 +32,7 @@ public class WecomStatisticsService { * @param statisticsData 统计数据 * @return 处理成功的数量 */ - public int handleAndSaveCustomerStatistics(String date, JSONObject statisticsData) { + public int handleAndSaveCustomerStatistics(String corpId,String date, JSONObject statisticsData) { if (statisticsData == null || !statisticsData.containsKey("behavior_data")) { return 0; } @@ -53,7 +53,7 @@ public class WecomStatisticsService { JSONObject data = behaviorData.getJSONObject("data"); // 处理每个统计指标 - successCount += handleStatisticsIndicators(curDate, userid, data); + successCount += handleStatisticsIndicators(corpId,curDate, userid, data); } } catch (Exception e) { e.printStackTrace(); @@ -71,49 +71,49 @@ public class WecomStatisticsService { * @param data 统计数据 * @return 处理成功的数量 */ - private int handleStatisticsIndicators(Date curDate, String userid, JSONObject data) { + private int handleStatisticsIndicators(String corpId,Date curDate, String userid, JSONObject data) { int successCount = 0; // 处理各项统计指标 // 这里需要根据实际的指标名称进行映射 // 示例:处理新增客户数 if (data.containsKey("new_contact_cnt")) { - CustomerStatisticsData statisticsData = createCustomerStatisticsData(curDate, "新增客户数", userid, data.getInteger("new_contact_cnt")); + CustomerStatisticsData statisticsData = createCustomerStatisticsData(corpId,curDate, "新增客户数", userid, data.getInteger("new_contact_cnt")); customerStatisticsDataMapper.insert(statisticsData); successCount++; } // 处理聊天次数 if (data.containsKey("chat_cnt")) { - CustomerStatisticsData statisticsData = createCustomerStatisticsData(curDate, "聊天次数", userid, data.getInteger("chat_cnt")); + CustomerStatisticsData statisticsData = createCustomerStatisticsData(corpId,curDate, "聊天次数", userid, data.getInteger("chat_cnt")); customerStatisticsDataMapper.insert(statisticsData); successCount++; } // 处理发送消息数 if (data.containsKey("msg_cnt")) { - CustomerStatisticsData statisticsData = createCustomerStatisticsData(curDate, "发送消息数", userid, data.getInteger("msg_cnt")); + CustomerStatisticsData statisticsData = createCustomerStatisticsData(corpId,curDate, "发送消息数", userid, data.getInteger("msg_cnt")); customerStatisticsDataMapper.insert(statisticsData); successCount++; } // 处理语音通话时长(秒) if (data.containsKey("voice_cnt")) { - CustomerStatisticsData statisticsData = createCustomerStatisticsData(curDate, "语音通话时长(秒)", userid, data.getInteger("voice_cnt")); + CustomerStatisticsData statisticsData = createCustomerStatisticsData(corpId,curDate, "语音通话时长(秒)", userid, data.getInteger("voice_cnt")); customerStatisticsDataMapper.insert(statisticsData); successCount++; } // 处理视频通话时长(秒) if (data.containsKey("video_cnt")) { - CustomerStatisticsData statisticsData = createCustomerStatisticsData(curDate, "视频通话时长(秒)", userid, data.getInteger("video_cnt")); + CustomerStatisticsData statisticsData = createCustomerStatisticsData(corpId,curDate, "视频通话时长(秒)", userid, data.getInteger("video_cnt")); customerStatisticsDataMapper.insert(statisticsData); successCount++; } // 处理拜访次数 if (data.containsKey("visit_cnt")) { - CustomerStatisticsData statisticsData = createCustomerStatisticsData(curDate, "拜访次数", userid, data.getInteger("visit_cnt")); + CustomerStatisticsData statisticsData = createCustomerStatisticsData(corpId,curDate, "拜访次数", userid, data.getInteger("visit_cnt")); customerStatisticsDataMapper.insert(statisticsData); successCount++; } @@ -130,9 +130,10 @@ public class WecomStatisticsService { * @param value 指标值 * @return 客户统计数据实体 */ - private CustomerStatisticsData createCustomerStatisticsData(Date curDate, String indicatorName, String userid, Integer value) { + private CustomerStatisticsData createCustomerStatisticsData(String corpId,Date curDate, String indicatorName, String userid, Integer value) { CustomerStatisticsData statisticsData = new CustomerStatisticsData(); statisticsData.setCurDate(curDate); + statisticsData.setCorpId(corpId); statisticsData.setIndicatorName(indicatorName); // 这里需要根据userid映射到对应的部门组 @@ -160,8 +161,8 @@ public class WecomStatisticsService { * @param date 日期 * @return 客户统计数据列表 */ - public List getCustomerStatisticsByDate(Date date) { - return customerStatisticsDataMapper.selectByDate(date); + public List getCustomerStatisticsByDate(String corpId,Date date) { + return customerStatisticsDataMapper.selectByDate(corpId,date); } /** @@ -170,7 +171,7 @@ public class WecomStatisticsService { * @param statisticsData 统计数据 * @return 处理成功的数量 */ - public int handleAndSaveCustomerContactData(JSONObject statisticsData) { + public int handleAndSaveCustomerContactData(String corpId,JSONObject statisticsData) { if (statisticsData == null || !statisticsData.containsKey("behavior_data")) { return 0; } @@ -189,7 +190,7 @@ public class WecomStatisticsService { JSONObject data = behaviorData.getJSONObject("data"); // 处理每个成员的详细统计数据 - successCount += handleCustomerContactData(userid, data); + successCount += handleCustomerContactData(corpId,userid, data); } } catch (Exception e) { e.printStackTrace(); @@ -206,7 +207,7 @@ public class WecomStatisticsService { * @param data 统计数据 * @return 处理成功的数量 */ - private int handleCustomerContactData(String userid, JSONObject data) { + private int handleCustomerContactData(String corpId,String userid, JSONObject data) { int successCount = 0; // 处理每个统计时间点的数据 @@ -217,7 +218,7 @@ public class WecomStatisticsService { for (int i = 0; i < statDataArray.size(); i++) { JSONObject statData = statDataArray.getJSONObject(i); - CustomerContactData contactData = createCustomerContactData(userid, statData); + CustomerContactData contactData = createCustomerContactData(corpId,userid, statData); if (contactData != null) { customerContactDataMapper.insert(contactData); successCount++; @@ -234,9 +235,9 @@ public class WecomStatisticsService { * @param statData 统计数据 * @return 客户联系统计数据实体 */ - private CustomerContactData createCustomerContactData(String userid, JSONObject statData) { + private CustomerContactData createCustomerContactData(String corpId,String userid, JSONObject statData) { CustomerContactData contactData = new CustomerContactData(); - + contactData.setCorpId(corpId); // 设置统计时间戳 if (statData.containsKey("stat_time")) { contactData.setStatTime(statData.getLong("stat_time")); @@ -292,8 +293,8 @@ public class WecomStatisticsService { * @param statDate 统计日期 * @return 客户联系统计数据列表 */ - public List getCustomerContactDataByDate(Date statDate) { - return customerContactDataMapper.selectByStatDate(statDate); + public List getCustomerContactDataByDate(String corpId,Date statDate) { + return customerContactDataMapper.selectByStatDate(corpId,statDate); } /** @@ -303,7 +304,7 @@ public class WecomStatisticsService { * @param statDate 统计日期 * @return 客户联系统计数据列表 */ - public List getCustomerContactDataByUseridAndDate(String userid, Date statDate) { - return customerContactDataMapper.selectByUseridAndStatDate(userid, statDate); + public List getCustomerContactDataByUseridAndDate(String corpId,String userid, Date statDate) { + return customerContactDataMapper.selectByUseridAndStatDate(corpId,userid, statDate); } } diff --git a/excel-handle/src/main/java/com/ruoyi/excel/wecom/service/WecomTagService.java b/excel-handle/src/main/java/com/ruoyi/excel/wecom/service/WecomTagService.java index d6d6afb..11965b9 100644 --- a/excel-handle/src/main/java/com/ruoyi/excel/wecom/service/WecomTagService.java +++ b/excel-handle/src/main/java/com/ruoyi/excel/wecom/service/WecomTagService.java @@ -1,18 +1,17 @@ package com.ruoyi.excel.wecom.service; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.common.core.redis.RedisCache; import com.ruoyi.excel.wecom.domain.WecomTagDomain; import com.ruoyi.excel.wecom.domain.WecomTagGroupDomain; -import com.ruoyi.excel.wecom.mapper.WecomTagMapper; import com.ruoyi.excel.wecom.mapper.WecomTagGroupMapper; +import com.ruoyi.excel.wecom.mapper.WecomTagMapper; import com.ruoyi.excel.wecom.model.WecomTag; import com.ruoyi.excel.wecom.model.WecomTagGroup; +import com.ruoyi.common.utils.CorpContextHolder; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import javax.annotation.Resource; import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -26,6 +25,8 @@ public class WecomTagService { private WecomTagGroupMapper wecomTagGroupMapper; @Autowired private WecomTagMapper wecomTagMapper; + @Autowired + private RedisCache redisCache; /** @@ -35,6 +36,13 @@ public class WecomTagService { * @return 同步结果 */ public boolean syncCorpTagList(List tagGroupList) { + // 从 Redis 获取当前企业ID并设置到上下文 + String corpId = redisCache.getCacheObject("current_corp_id"); + if (corpId == null || corpId.trim().isEmpty()) { + throw new RuntimeException("未找到当前企业ID,请先切换企业"); + } + CorpContextHolder.setCurrentCorpId(corpId); + try { // 遍历标签组列表 for (WecomTagGroup tagGroup : tagGroupList) { @@ -44,6 +52,7 @@ public class WecomTagService { groupDomain.setName(tagGroup.getGroupName()); groupDomain.setCreateTime(new Date(tagGroup.getCreateTime() * 1000)); groupDomain.setOrderNo(tagGroup.getOrder()); + groupDomain.setCorpId(corpId); // 设置企业ID wecomTagGroupMapper.insert(groupDomain); // 保存标签 List tagList = tagGroup.getTag(); @@ -56,6 +65,7 @@ public class WecomTagService { tagDomain.setOrderNo(tag.getOrder()); tagDomain.setCreateTime(new Date(tag.getCreateTime() * 1000)); tagDomain.setSyncTime(new Date()); + tagDomain.setCorpId(corpId); // 设置企业ID // 插入标签 wecomTagMapper.insert(tagDomain); @@ -66,6 +76,9 @@ public class WecomTagService { } catch (Exception e) { e.printStackTrace(); return false; + } finally { + // 清理上下文 + CorpContextHolder.clear(); } } diff --git a/excel-handle/src/main/java/com/ruoyi/excel/wecom/service/impl/CorpInfoServiceImpl.java b/excel-handle/src/main/java/com/ruoyi/excel/wecom/service/impl/CorpInfoServiceImpl.java new file mode 100644 index 0000000..63e2578 --- /dev/null +++ b/excel-handle/src/main/java/com/ruoyi/excel/wecom/service/impl/CorpInfoServiceImpl.java @@ -0,0 +1,100 @@ +package com.ruoyi.excel.wecom.service.impl; + +import com.ruoyi.excel.wecom.domain.CorpInfo; +import com.ruoyi.excel.wecom.mapper.CorpInfoMapper; +import com.ruoyi.excel.wecom.service.ICorpInfoService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 企业信息Service业务层处理 + */ +@Service +public class CorpInfoServiceImpl implements ICorpInfoService { + + @Autowired + private CorpInfoMapper corpInfoMapper; + + /** + * 查询企业信息列表 + * + * @param corpInfo 企业信息 + * @return 企业信息集合 + */ + @Override + public List selectCorpInfoList(CorpInfo corpInfo) { + return corpInfoMapper.selectCorpInfoList(corpInfo); + } + + /** + * 根据企业ID查询企业信息 + * + * @param corpId 企业ID + * @return 企业信息 + */ + @Override + public CorpInfo selectCorpInfoByCorpId(String corpId) { + return corpInfoMapper.selectCorpInfoByCorpId(corpId); + } + + /** + * 根据ID查询企业信息 + * + * @param id 主键ID + * @return 企业信息 + */ + @Override + public CorpInfo selectCorpInfoById(Long id) { + return corpInfoMapper.selectById(id); + } + + /** + * 新增企业信息 + * + * @param corpInfo 企业信息 + * @return 结果 + */ + @Override + public int insertCorpInfo(CorpInfo corpInfo) { + return corpInfoMapper.insert(corpInfo); + } + + /** + * 修改企业信息 + * + * @param corpInfo 企业信息 + * @return 结果 + */ + @Override + public int updateCorpInfo(CorpInfo corpInfo) { + return corpInfoMapper.updateById(corpInfo); + } + + /** + * 批量删除企业信息 + * + * @param ids 需要删除的企业信息主键集合 + * @return 结果 + */ + @Override + public int deleteCorpInfoByIds(Long[] ids) { + int count = 0; + for (Long id : ids) { + count += corpInfoMapper.deleteById(id); + } + return count; + } + + /** + * 删除企业信息 + * + * @param id 企业信息主键 + * @return 结果 + */ + @Override + public int deleteCorpInfoById(Long id) { + return corpInfoMapper.deleteById(id); + } +} diff --git a/excel-handle/src/main/java/com/ruoyi/excel/wecom/service/impl/CustomerContactDataServiceImpl.java b/excel-handle/src/main/java/com/ruoyi/excel/wecom/service/impl/CustomerContactDataServiceImpl.java index 69b1bd9..4fc5949 100644 --- a/excel-handle/src/main/java/com/ruoyi/excel/wecom/service/impl/CustomerContactDataServiceImpl.java +++ b/excel-handle/src/main/java/com/ruoyi/excel/wecom/service/impl/CustomerContactDataServiceImpl.java @@ -27,8 +27,8 @@ public class CustomerContactDataServiceImpl implements ICustomerContactDataServi * @return 客户联系统计数据列表 */ @Override - public List selectCustomerContactDataList(Date startDate, Date endDate, String userid) { - return customerContactDataMapper.selectCustomerContactDataList(startDate, endDate, userid); + public List selectCustomerContactDataList(String corpId,Date startDate, Date endDate, String userid) { + return customerContactDataMapper.selectCustomerContactDataList(corpId,startDate, endDate, userid); } /** @@ -39,8 +39,8 @@ public class CustomerContactDataServiceImpl implements ICustomerContactDataServi * @return 客户联系统计数据VO列表 */ @Override - public List selectCustomerContactDataVOList(Date startDate, Date endDate, String userid) { - return customerContactDataMapper.selectCustomerContactDataVOList(startDate, endDate, userid); + public List selectCustomerContactDataVOList(String corpId,Date startDate, Date endDate, String userid) { + return customerContactDataMapper.selectCustomerContactDataVOList(corpId,startDate, endDate, userid); } /** @@ -53,15 +53,6 @@ public class CustomerContactDataServiceImpl implements ICustomerContactDataServi return customerContactDataMapper.selectById(id); } - /** - * 新增客户联系统计数据 - * @param customerContactData 客户联系统计数据 - * @return 结果 - */ - @Override - public int insertCustomerContactData(CustomerContactData customerContactData) { - return customerContactDataMapper.insert(customerContactData); - } /** * 修改客户联系统计数据 diff --git a/excel-handle/src/main/java/com/ruoyi/excel/wecom/service/impl/CustomerExportDataServiceImpl.java b/excel-handle/src/main/java/com/ruoyi/excel/wecom/service/impl/CustomerExportDataServiceImpl.java index b27625f..3818b2a 100644 --- a/excel-handle/src/main/java/com/ruoyi/excel/wecom/service/impl/CustomerExportDataServiceImpl.java +++ b/excel-handle/src/main/java/com/ruoyi/excel/wecom/service/impl/CustomerExportDataServiceImpl.java @@ -27,8 +27,8 @@ public class CustomerExportDataServiceImpl implements ICustomerExportDataService * @return 客户导出数据列表 */ @Override - public List selectCustomerExportDataList(Date startDate, Date endDate, String customerName) { - return customerExportDataMapper.selectCustomerExportDataList(startDate, endDate, customerName); + public List selectCustomerExportDataList(String corpId,Date startDate, Date endDate, String customerName) { + return customerExportDataMapper.selectCustomerExportDataList(corpId,startDate, endDate, customerName); } /** @@ -39,8 +39,8 @@ public class CustomerExportDataServiceImpl implements ICustomerExportDataService * @return 客户导出数据VO列表 */ @Override - public List selectCustomerExportDataVOList(Date startDate, Date endDate, String customerName) { - return customerExportDataMapper.selectCustomerExportDataVOList(startDate, endDate, customerName); + public List selectCustomerExportDataVOList(String corpId,Date startDate, Date endDate, String customerName) { + return customerExportDataMapper.selectCustomerExportDataVOList(corpId,startDate, endDate, customerName); } /** diff --git a/excel-handle/src/main/java/com/ruoyi/excel/wecom/service/impl/CustomerStatisticsDataServiceImpl.java b/excel-handle/src/main/java/com/ruoyi/excel/wecom/service/impl/CustomerStatisticsDataServiceImpl.java index edbe1bd..cf69d14 100644 --- a/excel-handle/src/main/java/com/ruoyi/excel/wecom/service/impl/CustomerStatisticsDataServiceImpl.java +++ b/excel-handle/src/main/java/com/ruoyi/excel/wecom/service/impl/CustomerStatisticsDataServiceImpl.java @@ -32,8 +32,8 @@ public class CustomerStatisticsDataServiceImpl implements ICustomerStatisticsDat * @return 客户统计数据列表 */ @Override - public List selectCustomerStatisticsDataList(Date startDate, Date endDate, String indicatorName) { - return customerStatisticsDataMapper.selectCustomerStatisticsDataList(startDate, endDate, indicatorName); + public List selectCustomerStatisticsDataList(String corpId,Date startDate, Date endDate, String indicatorName) { + return customerStatisticsDataMapper.selectCustomerStatisticsDataList(corpId,startDate, endDate, indicatorName); } /** @@ -44,8 +44,8 @@ public class CustomerStatisticsDataServiceImpl implements ICustomerStatisticsDat * @return 客户统计数据VO列表 */ @Override - public List selectCustomerStatisticsDataVOList(Date startDate, Date endDate, String indicatorName) { - return customerStatisticsDataMapper.selectCustomerStatisticsDataVOList(startDate, endDate, indicatorName); + public List selectCustomerStatisticsDataVOList(String corpId,Date startDate, Date endDate, String indicatorName) { + return customerStatisticsDataMapper.selectCustomerStatisticsDataVOList(corpId,startDate, endDate, indicatorName); } /** @@ -94,7 +94,7 @@ public class CustomerStatisticsDataServiceImpl implements ICustomerStatisticsDat @Override @Transactional - public int updateCost(Date curDate, BigDecimal totalCost, String titleAttr) { + public int updateCost(String corpId,Date curDate, BigDecimal totalCost, String titleAttr) { try { // 1. 查询该日期的所有记录 LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); diff --git a/excel-handle/src/main/java/com/ruoyi/excel/wecom/service/impl/DepartmentStatisticsDataServiceImpl.java b/excel-handle/src/main/java/com/ruoyi/excel/wecom/service/impl/DepartmentStatisticsDataServiceImpl.java index 85ffbfa..94141d1 100644 --- a/excel-handle/src/main/java/com/ruoyi/excel/wecom/service/impl/DepartmentStatisticsDataServiceImpl.java +++ b/excel-handle/src/main/java/com/ruoyi/excel/wecom/service/impl/DepartmentStatisticsDataServiceImpl.java @@ -29,8 +29,8 @@ public class DepartmentStatisticsDataServiceImpl implements IDepartmentStatistic * @return 部门统计数据列表 */ @Override - public List selectDepartmentStatisticsDataList(Date startDate, Date endDate, String departmentPath) { - return departmentStatisticsDataMapper.selectDepartmentStatisticsDataList(startDate, endDate, departmentPath); + public List selectDepartmentStatisticsDataList(String corpId,Date startDate, Date endDate, String departmentPath) { + return departmentStatisticsDataMapper.selectDepartmentStatisticsDataList(corpId,startDate, endDate, departmentPath); } /** @@ -41,8 +41,8 @@ public class DepartmentStatisticsDataServiceImpl implements IDepartmentStatistic * @return 部门统计数据VO列表 */ @Override - public List selectDepartmentStatisticsDataVOList(Date startDate, Date endDate, String departmentPath) { - return departmentStatisticsDataMapper.selectDepartmentStatisticsDataVOList(startDate, endDate, departmentPath); + public List selectDepartmentStatisticsDataVOList(String corpId,Date startDate, Date endDate, String departmentPath) { + return departmentStatisticsDataMapper.selectDepartmentStatisticsDataVOList(corpId,startDate, endDate, departmentPath); } /** @@ -90,7 +90,7 @@ public class DepartmentStatisticsDataServiceImpl implements IDepartmentStatistic } @Override - public Map getSummary(Date startDate, Date endDate, String departmentPath) { - return departmentStatisticsDataMapper.getSummary(startDate,endDate,departmentPath); + public Map getSummary(String corpId,Date startDate, Date endDate, String departmentPath) { + return departmentStatisticsDataMapper.getSummary(corpId,startDate,endDate,departmentPath); } } diff --git a/excel-handle/src/main/java/com/ruoyi/excel/wecom/vo/CustomerExportDataVO.java b/excel-handle/src/main/java/com/ruoyi/excel/wecom/vo/CustomerExportDataVO.java index d4f3786..ffd2587 100644 --- a/excel-handle/src/main/java/com/ruoyi/excel/wecom/vo/CustomerExportDataVO.java +++ b/excel-handle/src/main/java/com/ruoyi/excel/wecom/vo/CustomerExportDataVO.java @@ -90,19 +90,16 @@ public class CustomerExportDataVO implements Serializable { @ExcelProperty("标签组2(公司孵化)") @Excel(name = "标签组2(公司孵化)") - @ColumnWidth(20) private String tagGroup2; @ExcelProperty("标签组3(商务)") @Excel(name = "标签组3(商务))") - @ColumnWidth(20) private String tagGroup3; @ExcelProperty("标签组4(成交日期)") @Excel(name = "标签组4(成交日期)") - @ColumnWidth(20) private String tagGroup4; diff --git a/excel-handle/src/main/java/com/ruoyi/excel/wecom/vo/CustomerStatisticsDataVO.java b/excel-handle/src/main/java/com/ruoyi/excel/wecom/vo/CustomerStatisticsDataVO.java index c68b170..7c3415a 100644 --- a/excel-handle/src/main/java/com/ruoyi/excel/wecom/vo/CustomerStatisticsDataVO.java +++ b/excel-handle/src/main/java/com/ruoyi/excel/wecom/vo/CustomerStatisticsDataVO.java @@ -17,7 +17,7 @@ public class CustomerStatisticsDataVO implements Serializable { private static final long serialVersionUID = 1L; @ExcelProperty("统计日期") - @Excel(name ="统计日期") + @Excel(name ="日期",dateFormat = "yyyy-MM-dd") @DateTimeFormat("yyyy-MM-dd") @ColumnWidth(20) private Date curDate; diff --git a/excel-handle/src/main/java/com/ruoyi/excel/wecom/vo/DepartmentStatisticsDataVO.java b/excel-handle/src/main/java/com/ruoyi/excel/wecom/vo/DepartmentStatisticsDataVO.java index a850d5b..bb4ac4e 100644 --- a/excel-handle/src/main/java/com/ruoyi/excel/wecom/vo/DepartmentStatisticsDataVO.java +++ b/excel-handle/src/main/java/com/ruoyi/excel/wecom/vo/DepartmentStatisticsDataVO.java @@ -18,8 +18,8 @@ import java.util.Date; public class DepartmentStatisticsDataVO implements Serializable { private static final long serialVersionUID = 1L; - @ExcelProperty("统计日期") - @Excel(name ="统计日期") + @ExcelProperty("日期") + @Excel(name ="日期",dateFormat = "yyyy-MM-dd") @DateTimeFormat("yyyy-MM-dd") @ColumnWidth(15) private Date statDate; @@ -44,9 +44,13 @@ public class DepartmentStatisticsDataVO implements Serializable { @ColumnWidth(15) private BigDecimal dailyConversionRate; + @ExcelProperty("及时单占比(当日)") + @Excel(name ="及时单占比(当日)") + @ColumnWidth(15) + private BigDecimal dailyTimelyOrderRatio; - @ExcelProperty("排序号") - @Excel(name ="排序号") - @ColumnWidth(10) - private Integer sortNo; + @ExcelProperty("非及时单占比(当日") + @Excel(name ="非及时单占比(当日") + @ColumnWidth(15) + private BigDecimal dailyNonTimelyOrderRatio; } diff --git a/excel-handle/src/main/resources/mapper/wecom/CorpInfoMapper.xml b/excel-handle/src/main/resources/mapper/wecom/CorpInfoMapper.xml new file mode 100644 index 0000000..924722d --- /dev/null +++ b/excel-handle/src/main/resources/mapper/wecom/CorpInfoMapper.xml @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + diff --git a/excel-handle/src/main/resources/mapper/wecom/CorpUserMapper.xml b/excel-handle/src/main/resources/mapper/wecom/CorpUserMapper.xml index 8e0f57f..8f480ee 100644 --- a/excel-handle/src/main/resources/mapper/wecom/CorpUserMapper.xml +++ b/excel-handle/src/main/resources/mapper/wecom/CorpUserMapper.xml @@ -4,6 +4,6 @@ diff --git a/excel-handle/src/main/resources/mapper/wecom/CustomerContactDataMapper.xml b/excel-handle/src/main/resources/mapper/wecom/CustomerContactDataMapper.xml index 914d297..03e3734 100644 --- a/excel-handle/src/main/resources/mapper/wecom/CustomerContactDataMapper.xml +++ b/excel-handle/src/main/resources/mapper/wecom/CustomerContactDataMapper.xml @@ -17,6 +17,7 @@ new_contact_cnt FROM customer_contact_data + corp_id = #{corpId} AND stat_date >= #{startDate} @@ -44,6 +45,8 @@ new_contact_cnt as newContactCnt FROM customer_contact_data + corp_id = #{corpId} + AND stat_date >= #{startDate} @@ -59,12 +62,12 @@ diff --git a/excel-handle/src/main/resources/mapper/wecom/CustomerExportDataMapper.xml b/excel-handle/src/main/resources/mapper/wecom/CustomerExportDataMapper.xml index a6e44b3..13e60b1 100644 --- a/excel-handle/src/main/resources/mapper/wecom/CustomerExportDataMapper.xml +++ b/excel-handle/src/main/resources/mapper/wecom/CustomerExportDataMapper.xml @@ -4,7 +4,7 @@ @@ -44,6 +44,7 @@ tag_group18 as tagGroup18 FROM customer_export_data + corp_id = #{corpId} AND add_time >= #{startDate} @@ -92,6 +93,7 @@ tag_group18 as tagGroup18 FROM customer_export_data + corp_id = #{corpId} AND add_time >= #{startDate} @@ -109,7 +111,10 @@ select * from customer_statistics_data - where tag_id = #{tagId} + where tag_id = #{tagId} and corp_id = #{corpId} @@ -14,6 +14,7 @@ SELECT * FROM customer_statistics_data + corp_id = #{corpId} AND cur_date >= #{startDate} @@ -33,6 +34,7 @@ * FROM customer_statistics_data + corp_id = #{corpId} AND cur_date >= #{startDate} diff --git a/excel-handle/src/main/resources/mapper/wecom/DepartmentStatisticsDataMapper.xml b/excel-handle/src/main/resources/mapper/wecom/DepartmentStatisticsDataMapper.xml index 0088892..7207a2f 100644 --- a/excel-handle/src/main/resources/mapper/wecom/DepartmentStatisticsDataMapper.xml +++ b/excel-handle/src/main/resources/mapper/wecom/DepartmentStatisticsDataMapper.xml @@ -6,7 +6,7 @@ @@ -14,7 +14,7 @@ @@ -39,7 +39,7 @@ SUM(daily_total_orders) as total_value, COUNT(*) as record_count FROM department_statistics_data - WHERE department_path = #{departmentPath} + WHERE corp_id = #{corpId} and department_path = #{departmentPath} @@ -55,6 +55,7 @@ sort_no as sortNo FROM department_statistics_data + corp_id = #{corpId} and AND stat_date >= #{startDate} @@ -80,6 +81,7 @@ sort_no as sortNo FROM department_statistics_data + corp_id = #{corpId} and AND stat_date >= #{startDate} @@ -98,6 +100,7 @@ sum(ifnull(daily_total_accepted,0)+ifnull(manager_accepted,0)) as totalIns from department_statistics_data + corp_id = #{corpId} AND stat_date >= #{startDate} diff --git a/excel-handle/src/main/resources/mapper/wecom/WecomTagGroupMapper.xml b/excel-handle/src/main/resources/mapper/wecom/WecomTagGroupMapper.xml index 302d55a..c63983e 100644 --- a/excel-handle/src/main/resources/mapper/wecom/WecomTagGroupMapper.xml +++ b/excel-handle/src/main/resources/mapper/wecom/WecomTagGroupMapper.xml @@ -4,10 +4,11 @@ + - + @@ -20,7 +21,7 @@ select from wecom_tag_group - where tag_group_id = #{tagGroupId} + where corp_id = #{corpId} and tag_group_id = #{tagGroupId} diff --git a/excel-handle/src/main/resources/mapper/wecom/WecomTagMapper.xml b/excel-handle/src/main/resources/mapper/wecom/WecomTagMapper.xml index c191538..b33da9f 100644 --- a/excel-handle/src/main/resources/mapper/wecom/WecomTagMapper.xml +++ b/excel-handle/src/main/resources/mapper/wecom/WecomTagMapper.xml @@ -4,11 +4,12 @@ + - + @@ -21,7 +22,7 @@ select from wecom_tag - where tag_id = #{tagId} + where corp_id = #{corpId} and tag_id = #{tagId} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wocom/CorpInfoController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wocom/CorpInfoController.java new file mode 100644 index 0000000..d31588d --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wocom/CorpInfoController.java @@ -0,0 +1,124 @@ +package com.ruoyi.web.controller.wocom; + +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.excel.wecom.domain.CorpInfo; +import com.ruoyi.excel.wecom.service.ICorpInfoService; +import com.ruoyi.common.utils.CorpContextHolder; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * 企业信息Controller + */ +@RestController +@RequestMapping("/wecom/corp") +public class CorpInfoController extends BaseController { + + @Autowired + private ICorpInfoService corpInfoService; + + /** + * 查询企业信息列表 + */ + @PreAuthorize("@ss.hasPermi('wecom:corp:list')") + @GetMapping("/list") + public TableDataInfo list(CorpInfo corpInfo) { + startPage(); + List list = corpInfoService.selectCorpInfoList(corpInfo); + return getDataTable(list); + } + + /** + * 获取企业信息详细信息 + */ + @PreAuthorize("@ss.hasPermi('wecom:corp:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) { + return success(corpInfoService.selectCorpInfoById(id)); + } + + /** + * 新增企业信息 + */ + @PreAuthorize("@ss.hasPermi('wecom:corp:add')") + @Log(title = "企业信息", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@Validated @RequestBody CorpInfo corpInfo) { + return toAjax(corpInfoService.insertCorpInfo(corpInfo)); + } + + /** + * 修改企业信息 + */ + @PreAuthorize("@ss.hasPermi('wecom:corp:edit')") + @Log(title = "企业信息", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@Validated @RequestBody CorpInfo corpInfo) { + return toAjax(corpInfoService.updateCorpInfo(corpInfo)); + } + + /** + * 删除企业信息 + */ + @PreAuthorize("@ss.hasPermi('wecom:corp:remove')") + @Log(title = "企业信息", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) { + return toAjax(corpInfoService.deleteCorpInfoByIds(ids)); + } + + /** + * 切换当前使用的企业 + */ + @PostMapping("/switch/{corpId}") + public AjaxResult switchCorp(@PathVariable("corpId") String corpId) { + // 1. 验证企业是否存在 + CorpInfo corpInfo = corpInfoService.selectCorpInfoByCorpId(corpId); + if (corpInfo == null) { + return error("企业不存在"); + } + + // 2. 设置当前企业到 Redis + CorpContextHolder.setCurrentCorpId(corpId); + + return success("切换企业成功"); + } + + /** + * 获取当前使用的企业信息 + */ + @GetMapping("/current") + public AjaxResult getCurrentCorp() { + try { + // 1. 从 Redis 获取当前企业ID + String corpId = CorpContextHolder.getCurrentCorpId(); + + // 2. 查询企业信息 + CorpInfo corpInfo = corpInfoService.selectCorpInfoByCorpId(corpId); + if (corpInfo == null) { + return error("当前企业不存在,请重新切换"); + } + + return success(corpInfo); + } catch (RuntimeException e) { + return error(e.getMessage()); + } + } + + /** + * 清除当前企业上下文 + */ + @PostMapping("/clear") + public AjaxResult clearCurrentCorp() { + CorpContextHolder.clear(); + return success("清除成功"); + } +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wocom/CustomerContactDataController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wocom/CustomerContactDataController.java index b8d42de..27d6934 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wocom/CustomerContactDataController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wocom/CustomerContactDataController.java @@ -5,6 +5,7 @@ import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.utils.CorpContextHolder; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.excel.wecom.domain.CustomerContactData; import com.ruoyi.excel.wecom.service.ICustomerContactDataService; @@ -37,8 +38,9 @@ public class CustomerContactDataController extends BaseController { @RequestParam(value = "startDate", required = false) @DateTimeFormat(pattern = "yyyy-MM-dd") Date startDate, @RequestParam(value = "endDate", required = false) @DateTimeFormat(pattern = "yyyy-MM-dd") Date endDate, @RequestParam(value = "userid", required = false) String userid) { + String corpId = CorpContextHolder.getCurrentCorpId(); startPage(); - List list = customerContactDataService.selectCustomerContactDataList(startDate, endDate, userid); + List list = customerContactDataService.selectCustomerContactDataList(corpId,startDate, endDate, userid); return getDataTable(list); } @@ -52,7 +54,8 @@ public class CustomerContactDataController extends BaseController { @RequestParam(value = "startDate", required = false) @DateTimeFormat(pattern = "yyyy-MM-dd") Date startDate, @RequestParam(value = "endDate", required = false) @DateTimeFormat(pattern = "yyyy-MM-dd") Date endDate, @RequestParam(value = "userid", required = false) String userid) { - List list = customerContactDataService.selectCustomerContactDataVOList(startDate, endDate, userid); + String corpId = CorpContextHolder.getCurrentCorpId(); + List list = customerContactDataService.selectCustomerContactDataVOList(corpId,startDate, endDate, userid); ExcelUtil util = new ExcelUtil<>(CustomerContactDataVO.class); util.exportExcel(response, list, "客户联系统计数据"); } @@ -66,16 +69,6 @@ public class CustomerContactDataController extends BaseController { return success(customerContactDataService.selectCustomerContactDataById(id)); } - /** - * 新增客户联系统计数据 - */ - @PreAuthorize("@ss.hasPermi('wecom:customerContact:add')") - @Log(title = "客户联系统计数据", businessType = BusinessType.INSERT) - @PostMapping - public AjaxResult add(@RequestBody CustomerContactData customerContactData) { - return toAjax(customerContactDataService.insertCustomerContactData(customerContactData)); - } - /** * 修改客户联系统计数据 */ diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wocom/CustomerExportDataController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wocom/CustomerExportDataController.java index c918e0e..9079a00 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wocom/CustomerExportDataController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wocom/CustomerExportDataController.java @@ -4,6 +4,7 @@ import com.ruoyi.common.annotation.Log; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.utils.CorpContextHolder; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.excel.wecom.domain.CustomerExportData; import com.ruoyi.excel.wecom.service.ICustomerExportDataService; @@ -36,8 +37,10 @@ public class CustomerExportDataController extends BaseController { @RequestParam(value = "startDate", required = false) @DateTimeFormat(pattern = "yyyy-MM-dd") Date startDate, @RequestParam(value = "endDate", required = false) @DateTimeFormat(pattern = "yyyy-MM-dd") Date endDate, @RequestParam(value = "customerName", required = false) String customerName) { + String corpId = CorpContextHolder.getCurrentCorpId(); + startPage(); - List list = customerExportDataService.selectCustomerExportDataList(startDate, endDate, customerName); + List list = customerExportDataService.selectCustomerExportDataList(corpId,startDate, endDate, customerName); return getDataTable(list); } @@ -51,7 +54,9 @@ public class CustomerExportDataController extends BaseController { @RequestParam(value = "startDate", required = false) @DateTimeFormat(pattern = "yyyy-MM-dd") Date startDate, @RequestParam(value = "endDate", required = false) @DateTimeFormat(pattern = "yyyy-MM-dd") Date endDate, @RequestParam(value = "customerName", required = false) String customerName) { - List list = customerExportDataService.selectCustomerExportDataVOList(startDate, endDate, customerName); + String corpId = CorpContextHolder.getCurrentCorpId(); + + List list = customerExportDataService.selectCustomerExportDataVOList(corpId,startDate, endDate, customerName); ExcelUtil util = new ExcelUtil<>(CustomerExportDataVO.class); util.exportExcel(response, list, "客户统计数据"); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wocom/CustomerStatisticsDataController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wocom/CustomerStatisticsDataController.java index e084f20..0823662 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wocom/CustomerStatisticsDataController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wocom/CustomerStatisticsDataController.java @@ -5,6 +5,7 @@ import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.utils.CorpContextHolder; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.excel.wecom.domain.CustomerStatisticsData; import com.ruoyi.excel.wecom.service.ICustomerStatisticsDataService; @@ -38,8 +39,10 @@ public class CustomerStatisticsDataController extends BaseController { @RequestParam(value = "startDate", required = false) @DateTimeFormat(pattern = "yyyy-MM-dd") Date startDate, @RequestParam(value = "endDate", required = false) @DateTimeFormat(pattern = "yyyy-MM-dd") Date endDate, @RequestParam(value = "indicatorName", required = false) String indicatorName) { + String corpId = CorpContextHolder.getCurrentCorpId(); + startPage(); - List list = customerStatisticsDataService.selectCustomerStatisticsDataList(startDate, endDate, indicatorName); + List list = customerStatisticsDataService.selectCustomerStatisticsDataList(corpId,startDate, endDate, indicatorName); return getDataTable(list); } @@ -53,7 +56,9 @@ public class CustomerStatisticsDataController extends BaseController { @RequestParam(value = "startDate", required = false) @DateTimeFormat(pattern = "yyyy-MM-dd") Date startDate, @RequestParam(value = "endDate", required = false) @DateTimeFormat(pattern = "yyyy-MM-dd") Date endDate, @RequestParam(value = "indicatorName", required = false) String indicatorName) { - List list = customerStatisticsDataService.selectCustomerStatisticsDataVOList(startDate, endDate, indicatorName); + String corpId = CorpContextHolder.getCurrentCorpId(); + + List list = customerStatisticsDataService.selectCustomerStatisticsDataVOList(corpId,startDate, endDate, indicatorName); ExcelUtil util = new ExcelUtil<>(CustomerStatisticsDataVO.class); util.exportExcel(response, list, "流量看板数据"); } @@ -77,8 +82,8 @@ public class CustomerStatisticsDataController extends BaseController { public AjaxResult edit(@RequestParam(value = "curDate") @DateTimeFormat(pattern = "yyyy-MM-dd") Date curDate, @RequestParam(value = "totalCost")BigDecimal totalCost, @RequestParam(value = "attr")String attr) { - - return toAjax(customerStatisticsDataService.updateCost(curDate,totalCost,attr)); + String corpId = CorpContextHolder.getCurrentCorpId(); + return toAjax(customerStatisticsDataService.updateCost(corpId,curDate,totalCost,attr)); } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wocom/DepartmentStatisticsDataController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wocom/DepartmentStatisticsDataController.java index 9d428d2..9d4828b 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wocom/DepartmentStatisticsDataController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wocom/DepartmentStatisticsDataController.java @@ -5,6 +5,7 @@ import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.utils.CorpContextHolder; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.excel.wecom.domain.DepartmentStatisticsData; import com.ruoyi.excel.wecom.service.IDepartmentStatisticsDataService; @@ -40,8 +41,10 @@ public class DepartmentStatisticsDataController extends BaseController { @RequestParam(value = "startDate", required = false) @DateTimeFormat(pattern = "yyyy-MM-dd") Date startDate, @RequestParam(value = "endDate", required = false) @DateTimeFormat(pattern = "yyyy-MM-dd") Date endDate, @RequestParam(value = "departmentPath", required = false) String departmentPath) { + String corpId = CorpContextHolder.getCurrentCorpId(); + startPage(); - List list = departmentStatisticsDataService.selectDepartmentStatisticsDataList(startDate, endDate, departmentPath); + List list = departmentStatisticsDataService.selectDepartmentStatisticsDataList(corpId,startDate, endDate, departmentPath); return getDataTable(list); } @@ -55,7 +58,9 @@ public class DepartmentStatisticsDataController extends BaseController { @RequestParam(value = "startDate", required = false) @DateTimeFormat(pattern = "yyyy-MM-dd") Date startDate, @RequestParam(value = "endDate", required = false) @DateTimeFormat(pattern = "yyyy-MM-dd") Date endDate, @RequestParam(value = "departmentPath", required = false) String departmentPath) { - List list = departmentStatisticsDataService.selectDepartmentStatisticsDataVOList(startDate, endDate, departmentPath); + String corpId = CorpContextHolder.getCurrentCorpId(); + + List list = departmentStatisticsDataService.selectDepartmentStatisticsDataVOList(corpId,startDate, endDate, departmentPath); ExcelUtil util = new ExcelUtil<>(DepartmentStatisticsDataVO.class); util.exportExcel(response, list, "销售看板数据"); } @@ -79,8 +84,9 @@ public class DepartmentStatisticsDataController extends BaseController { @RequestParam(value = "startDate", required = false) @DateTimeFormat(pattern = "yyyy-MM-dd") Date startDate, @RequestParam(value = "endDate", required = false) @DateTimeFormat(pattern = "yyyy-MM-dd") Date endDate, @RequestParam(value = "departmentPath", required = false) String departmentPath) { + String corpId = CorpContextHolder.getCurrentCorpId(); - Map map = departmentStatisticsDataService.getSummary(startDate, endDate, departmentPath); + Map map = departmentStatisticsDataService.getSummary(corpId,startDate, endDate, departmentPath); BigDecimal totalOrders = map.get("totalOrders"); BigDecimal totalIns = map.get("totalIns"); if(totalOrders == null) { diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wocom/WecomContactController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wocom/WecomContactController.java index 63846c5..3c4b3ff 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wocom/WecomContactController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wocom/WecomContactController.java @@ -4,6 +4,8 @@ import com.alibaba.excel.EasyExcel; import com.alibaba.excel.ExcelWriter; import com.alibaba.excel.write.metadata.WriteSheet; import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.redis.RedisCache; +import com.ruoyi.common.utils.CorpContextHolder; import com.ruoyi.excel.wecom.domain.CorpDepartment; import com.ruoyi.excel.wecom.domain.CorpUser; import com.ruoyi.excel.wecom.helper.HandleAllData; @@ -13,7 +15,6 @@ import com.ruoyi.excel.wecom.mapper.DepartmentStatisticsDataMapper; import com.ruoyi.excel.wecom.model.WecomConfig; import com.ruoyi.excel.wecom.model.WecomCustomer; import com.ruoyi.excel.wecom.model.WecomTagGroup; -import com.ruoyi.excel.wecom.service.CustomerExportService; import com.ruoyi.excel.wecom.service.WecomContactService; import com.ruoyi.excel.wecom.service.WecomTagService; import com.ruoyi.excel.wecom.vo.CustomerExportDataVO; @@ -43,9 +44,6 @@ public class WecomContactController { @Autowired private HandleAllData handleAllData; - @Autowired - private CustomerExportService customerExportService; - @Autowired private CustomerExportDataMapper customerExportDataMapper; @@ -54,6 +52,9 @@ public class WecomContactController { @Autowired private CustomerStatisticsDataMapper customerStatisticsDataMapper; + + @Autowired + private RedisCache redisCache; /** * 获取配置了客户联系功能的成员列表 * @@ -63,9 +64,11 @@ public class WecomContactController { @GetMapping("/followUserList") public AjaxResult getFollowUserList(HttpServletRequest request) { try { + String currentCorpId = CorpContextHolder.getCurrentCorpId(); + WecomConfig config = getWecomConfig(request); WecomContactService contactService = new WecomContactService(config); - List userList = contactService.getFollowUserList(); + List userList = contactService.getFollowUserList(currentCorpId); return AjaxResult.success("获取成功", userList); } catch (IOException e) { return AjaxResult.error("获取失败: " + e.getMessage()); @@ -84,9 +87,11 @@ public class WecomContactController { @GetMapping("/externalContactList") public AjaxResult getExternalContactList(HttpServletRequest request, @RequestParam String userid) { try { + String currentCorpId = CorpContextHolder.getCurrentCorpId(); + WecomConfig config = getWecomConfig(request); WecomContactService contactService = new WecomContactService(config); - List customerList = contactService.getExternalContactList(userid); + List customerList = contactService.getExternalContactList(currentCorpId,userid); return AjaxResult.success("获取成功", customerList); } catch (IOException e) { return AjaxResult.error("获取失败: " + e.getMessage()); @@ -104,9 +109,11 @@ public class WecomContactController { @GetMapping("/allMembersCustomers") public AjaxResult getAllMembersCustomers(HttpServletRequest request) { try { + String currentCorpId = CorpContextHolder.getCurrentCorpId(); + WecomConfig config = getWecomConfig(request); WecomContactService contactService = new WecomContactService(config); - List memberCustomerList = contactService.getAllMembersCustomers(); + List memberCustomerList = contactService.getAllMembersCustomers(currentCorpId); return AjaxResult.success("获取成功", memberCustomerList); } catch (IOException e) { return AjaxResult.error("获取失败: " + e.getMessage()); @@ -124,11 +131,13 @@ public class WecomContactController { @PostMapping("/batchCustomerDetails") public AjaxResult batchGetCustomerDetails(HttpServletRequest request, @RequestBody List useridList) { try { + String currentCorpId = CorpContextHolder.getCurrentCorpId(); + WecomConfig config = getWecomConfig(request); WecomContactService contactService = new WecomContactService(config); // 解析成员ID列表 - List customerList = contactService.batchGetAllCustomerDetails(useridList); + List customerList = contactService.batchGetAllCustomerDetails(currentCorpId,useridList); return AjaxResult.success("获取成功", customerList); } catch (IOException e) { @@ -148,9 +157,10 @@ public class WecomContactController { @GetMapping("/customerDetail") public AjaxResult getCustomerDetail(HttpServletRequest request, @RequestParam String externalUserid) { try { + String currentCorpId = CorpContextHolder.getCurrentCorpId(); WecomConfig config = getWecomConfig(request); WecomContactService contactService = new WecomContactService(config); - WecomCustomer customer = contactService.getCustomerDetail(externalUserid); + WecomCustomer customer = contactService.getCustomerDetail(currentCorpId, externalUserid); return AjaxResult.success("获取成功", customer); } catch (IOException e) { return AjaxResult.error("获取失败: " + e.getMessage()); @@ -168,9 +178,11 @@ public class WecomContactController { @GetMapping("/corpTagList") public AjaxResult getCorpTagList(HttpServletRequest request) { try { + String currentCorpId = CorpContextHolder.getCurrentCorpId(); + WecomConfig config = getWecomConfig(request); WecomContactService contactService = new WecomContactService(config); - List tagGroupList = contactService.getCorpTagList(); + List tagGroupList = contactService.getCorpTagList(currentCorpId); // 同步标签库到数据库 boolean syncResult = wecomTagService.syncCorpTagList(tagGroupList); @@ -209,9 +221,11 @@ public class WecomContactController { @GetMapping("/departmentList") public AjaxResult getDepartmentList(HttpServletRequest request, @RequestParam(required = false) Long departmentId) { try { + String currentCorpId = CorpContextHolder.getCurrentCorpId(); + WecomConfig config = getWecomConfig(request); WecomContactService contactService = new WecomContactService(config); - List deptIdList = contactService.getDepartmentList(departmentId); + List deptIdList = contactService.getDepartmentList(currentCorpId,departmentId); return AjaxResult.success("获取成功", deptIdList); } catch (IOException e) { return AjaxResult.error("获取失败: " + e.getMessage()); @@ -230,9 +244,11 @@ public class WecomContactController { @GetMapping("/departmentDetail") public AjaxResult getDepartmentDetail(HttpServletRequest request, @RequestParam Long departmentId) { try { + String currentCorpId = CorpContextHolder.getCurrentCorpId(); + WecomConfig config = getWecomConfig(request); WecomContactService contactService = new WecomContactService(config); - Object deptDetail = contactService.getDepartmentDetail(departmentId); + Object deptDetail = contactService.getDepartmentDetail(currentCorpId,departmentId); return AjaxResult.success("获取成功", deptDetail); } catch (IOException e) { return AjaxResult.error("获取失败: " + e.getMessage()); @@ -255,9 +271,11 @@ public class WecomContactController { @RequestParam(required = false) Integer fetchChild, @RequestParam(required = false) Integer status) { try { + String currentCorpId = CorpContextHolder.getCurrentCorpId(); + WecomConfig config = getWecomConfig(request); WecomContactService contactService = new WecomContactService(config); - List memberList = contactService.getDepartmentMemberList(departmentId, fetchChild, status); + List memberList = contactService.getDepartmentMemberList(currentCorpId,departmentId, fetchChild, status); return AjaxResult.success("获取成功", memberList); } catch (IOException e) { return AjaxResult.error("获取失败: " + e.getMessage()); @@ -268,32 +286,87 @@ public class WecomContactController { @GetMapping("/init") public AjaxResult init(HttpServletRequest request) throws IOException { - handleAllData.initData(); - return AjaxResult.success(); + // 从 Redis 获取当前企业ID并设置到上下文 + String corpId = redisCache.getCacheObject("current_corp_id"); + if (corpId == null || corpId.trim().isEmpty()) { + return AjaxResult.error("未找到当前企业ID,请先切换企业"); + } + CorpContextHolder.setCurrentCorpId(corpId); + + try { + handleAllData.initData(); + return AjaxResult.success(); + } finally { + CorpContextHolder.clear(); + } } @GetMapping("/test") public AjaxResult test(HttpServletRequest request) throws IOException { - handleAllData.handleAllData(); - return AjaxResult.success(); + // 从 Redis 获取当前企业ID并设置到上下文 + String corpId = redisCache.getCacheObject("current_corp_id"); + if (corpId == null || corpId.trim().isEmpty()) { + return AjaxResult.error("未找到当前企业ID,请先切换企业"); + } + CorpContextHolder.setCurrentCorpId(corpId); + + try { + handleAllData.handleAllData(); + return AjaxResult.success(); + } finally { + CorpContextHolder.clear(); + } } @GetMapping("/createAllReportData") public AjaxResult createAllReportData(HttpServletRequest request) throws IOException { - handleAllData.createAllReportData(); - return AjaxResult.success(); + // 从 Redis 获取当前企业ID并设置到上下文 + String corpId = redisCache.getCacheObject("current_corp_id"); + if (corpId == null || corpId.trim().isEmpty()) { + return AjaxResult.error("未找到当前企业ID,请先切换企业"); + } + CorpContextHolder.setCurrentCorpId(corpId); + + try { + handleAllData.createAllReportData(); + return AjaxResult.success(); + } finally { + CorpContextHolder.clear(); + } } @GetMapping("/createAllDepartmentReportData") public AjaxResult createAllDepartmentReportData(HttpServletRequest request) throws IOException { - handleAllData.createAllDepartmentReportData(); - return AjaxResult.success(); + // 从 Redis 获取当前企业ID并设置到上下文 + String corpId = redisCache.getCacheObject("current_corp_id"); + if (corpId == null || corpId.trim().isEmpty()) { + return AjaxResult.error("未找到当前企业ID,请先切换企业"); + } + CorpContextHolder.setCurrentCorpId(corpId); + + try { + handleAllData.createAllDepartmentReportData(); + return AjaxResult.success(); + } finally { + CorpContextHolder.clear(); + } } @GetMapping("/createAllDepartmentReportByDate") public AjaxResult createAllDepartmentReportByDate(@RequestParam(value = "date", required = false) @DateTimeFormat(pattern = "yyyy-MM-dd") Date date) throws IOException { - handleAllData.createDepartmentReportData(date); - return AjaxResult.success(); + // 从 Redis 获取当前企业ID并设置到上下文 + String corpId = redisCache.getCacheObject("current_corp_id"); + if (corpId == null || corpId.trim().isEmpty()) { + return AjaxResult.error("未找到当前企业ID,请先切换企业"); + } + CorpContextHolder.setCurrentCorpId(corpId); + + try { + handleAllData.createDepartmentReportData(corpId,date); + return AjaxResult.success(); + } finally { + CorpContextHolder.clear(); + } } /** @@ -309,6 +382,13 @@ public class WecomContactController { @RequestParam(required = false) @DateTimeFormat(pattern = "yyyy-MM-dd") Date startDate, @RequestParam(required = false) @DateTimeFormat(pattern = "yyyy-MM-dd") Date endDate) { try { + // 从 Redis 获取当前企业ID并设置到上下文 + String corpId = redisCache.getCacheObject("current_corp_id"); + if (corpId == null || corpId.trim().isEmpty()) { + throw new RuntimeException("未找到当前企业ID,请先切换企业"); + } + CorpContextHolder.setCurrentCorpId(corpId); + // 设置响应头 response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); response.setCharacterEncoding("utf-8"); @@ -320,7 +400,7 @@ public class WecomContactController { WriteSheet writeSheet = EasyExcel.writerSheet("客户数据").build(); // 分批查询并写入,避免内存溢出 - List dataList = customerExportDataMapper.selectCustomerExportDataVOList(startDate, endDate,null); + List dataList = customerExportDataMapper.selectCustomerExportDataVOList(corpId,startDate, endDate,null); excelWriter.write(dataList, writeSheet); excelWriter.finish(); @@ -333,6 +413,8 @@ public class WecomContactController { } catch (IOException ioException) { ioException.printStackTrace(); } + } finally { + CorpContextHolder.clear(); } } @@ -351,6 +433,13 @@ public class WecomContactController { @RequestParam(required = false) @DateTimeFormat(pattern = "yyyy-MM-dd") Date endDate, @RequestParam(required = false) String indicatorName) { try { + // 从 Redis 获取当前企业ID并设置到上下文 + String corpId = redisCache.getCacheObject("current_corp_id"); + if (corpId == null || corpId.trim().isEmpty()) { + throw new RuntimeException("未找到当前企业ID,请先切换企业"); + } + CorpContextHolder.setCurrentCorpId(corpId); + // 设置响应头 response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); response.setCharacterEncoding("utf-8"); @@ -362,7 +451,7 @@ public class WecomContactController { WriteSheet writeSheet = EasyExcel.writerSheet("流量看板统计数据").build(); // 分批查询并写入,避免内存溢出 - List dataList = customerStatisticsDataMapper.selectCustomerStatisticsDataVOList( + List dataList = customerStatisticsDataMapper.selectCustomerStatisticsDataVOList(corpId, startDate, endDate, indicatorName); excelWriter.write(dataList, writeSheet); excelWriter.finish(); @@ -376,6 +465,8 @@ public class WecomContactController { } catch (IOException ioException) { ioException.printStackTrace(); } + } finally { + CorpContextHolder.clear(); } } @@ -394,6 +485,13 @@ public class WecomContactController { @RequestParam(required = false) @DateTimeFormat(pattern = "yyyy-MM-dd") Date endDate, @RequestParam(required = false) String departmentPath) { try { + // 从 Redis 获取当前企业ID并设置到上下文 + String corpId = redisCache.getCacheObject("current_corp_id"); + if (corpId == null || corpId.trim().isEmpty()) { + throw new RuntimeException("未找到当前企业ID,请先切换企业"); + } + CorpContextHolder.setCurrentCorpId(corpId); + // 设置响应头 response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); response.setCharacterEncoding("utf-8"); @@ -405,7 +503,7 @@ public class WecomContactController { WriteSheet writeSheet = EasyExcel.writerSheet("部门统计数据").build(); // 分批查询并写入,避免内存溢出 - List dataList = departmentStatisticsDataMapper.selectDepartmentStatisticsDataVOList( + List dataList = departmentStatisticsDataMapper.selectDepartmentStatisticsDataVOList(corpId, startDate, endDate, departmentPath); excelWriter.write(dataList, writeSheet); excelWriter.finish(); @@ -419,6 +517,8 @@ public class WecomContactController { } catch (IOException ioException) { ioException.printStackTrace(); } + } finally { + CorpContextHolder.clear(); } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wocom/WecomStatisticsController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wocom/WecomStatisticsController.java index 5e42eb6..1daf9a5 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wocom/WecomStatisticsController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wocom/WecomStatisticsController.java @@ -2,6 +2,7 @@ package com.ruoyi.web.controller.wocom; import com.alibaba.fastjson.JSONObject; import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.utils.CorpContextHolder; import com.ruoyi.excel.wecom.service.WecomContactService; import com.ruoyi.excel.wecom.service.WecomStatisticsService; import org.springframework.beans.factory.annotation.Autowired; @@ -33,7 +34,8 @@ public class WecomStatisticsController { @PostMapping("/customer/{date}") public AjaxResult getCustomerStatistics(@PathVariable("date") String date, @RequestParam(value = "useridList", required = false) List useridList) { try { - JSONObject statisticsData = wecomContactService.getDayUserBehaviorData(date, useridList); + String corpId = CorpContextHolder.getCurrentCorpId(); + JSONObject statisticsData = wecomContactService.getDayUserBehaviorData(corpId,date, useridList); return AjaxResult.success("获取联系客户统计数据成功", statisticsData); } catch (IOException e) { e.printStackTrace(); @@ -51,13 +53,15 @@ public class WecomStatisticsController { @PostMapping("/customer/{date}/save") public AjaxResult saveCustomerStatistics(@PathVariable("date") String date, @RequestParam(value = "useridList", required = false) List useridList) { try { - JSONObject statisticsData = wecomContactService.getDayUserBehaviorData(date, useridList); + String corpId = CorpContextHolder.getCurrentCorpId(); + + JSONObject statisticsData = wecomContactService.getDayUserBehaviorData(corpId,date, useridList); // 存储汇总统计数据 - int summaryCount = wecomStatisticsService.handleAndSaveCustomerStatistics(date, statisticsData); + int summaryCount = wecomStatisticsService.handleAndSaveCustomerStatistics(corpId,date, statisticsData); // 存储详细联系统计数据 - int contactCount = wecomStatisticsService.handleAndSaveCustomerContactData(statisticsData); + int contactCount = wecomStatisticsService.handleAndSaveCustomerContactData(corpId,statisticsData); return AjaxResult.success("获取并存储联系客户统计数据成功,共处理 " + summaryCount + " 条汇总数据," + contactCount + " 条详细数据", statisticsData); } catch (IOException e) { diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/CorpContextHolder.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/CorpContextHolder.java new file mode 100644 index 0000000..58fa22b --- /dev/null +++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/CorpContextHolder.java @@ -0,0 +1,83 @@ +package com.ruoyi.common.utils; + +import com.ruoyi.common.core.redis.RedisCache; +import com.ruoyi.common.utils.spring.SpringUtils; + +/** + * 企业上下文持有者 + * 用于获取当前用户正在使用的企业ID + */ +public class CorpContextHolder { + + /** + * Redis key 前缀:current_corp:{userId} + */ + private static final String CURRENT_CORP_KEY_PREFIX = "current_corp:"; + + /** + * 获取当前用户正在使用的企业ID + * + * @return 企业ID (corpId) + * @throws RuntimeException 如果未设置当前企业 + */ + public static String getCurrentCorpId() { + // 1. 获取当前登录用户ID + Long userId = SecurityUtils.getUserId(); + + // 2. 从 Redis 获取该用户当前使用的企业ID + RedisCache redisCache = SpringUtils.getBean(RedisCache.class); + String key = CURRENT_CORP_KEY_PREFIX + userId; + String corpId = redisCache.getCacheObject(key); + + if (corpId == null || corpId.trim().isEmpty()) { + throw new RuntimeException("未设置当前使用的企业,请先切换企业"); + } + + return corpId; + } + + /** + * 设置当前用户正在使用的企业ID + * + * @param corpId 企业ID + */ + public static void setCurrentCorpId(String corpId) { + // 1. 获取当前登录用户ID + Long userId = SecurityUtils.getUserId(); + + // 2. 将企业ID存入 Redis + RedisCache redisCache = SpringUtils.getBean(RedisCache.class); + String key = CURRENT_CORP_KEY_PREFIX + userId; + redisCache.setCacheObject(key, corpId); + } + + /** + * 清除当前用户的企业上下文 + */ + public static void clear() { + // 1. 获取当前登录用户ID + Long userId = SecurityUtils.getUserId(); + + // 2. 从 Redis 删除 + RedisCache redisCache = SpringUtils.getBean(RedisCache.class); + String key = CURRENT_CORP_KEY_PREFIX + userId; + redisCache.deleteObject(key); + } + + /** + * 检查当前用户是否已设置企业 + * + * @return true-已设置,false-未设置 + */ + public static boolean hasCurrentCorp() { + try { + Long userId = SecurityUtils.getUserId(); + RedisCache redisCache = SpringUtils.getBean(RedisCache.class); + String key = CURRENT_CORP_KEY_PREFIX + userId; + String corpId = redisCache.getCacheObject(key); + return corpId != null && !corpId.trim().isEmpty(); + } catch (Exception e) { + return false; + } + } +} diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ResourcesConfig.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ResourcesConfig.java index 0f48b11..8c58e72 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ResourcesConfig.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ResourcesConfig.java @@ -1,6 +1,9 @@ package com.ruoyi.framework.config; -import java.util.concurrent.TimeUnit; +import com.ruoyi.common.config.RuoYiConfig; +import com.ruoyi.common.constant.Constants; +import com.ruoyi.framework.interceptor.CorpContextInterceptor; +import com.ruoyi.framework.interceptor.RepeatSubmitInterceptor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -11,9 +14,8 @@ import org.springframework.web.filter.CorsFilter; import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; -import com.ruoyi.common.config.RuoYiConfig; -import com.ruoyi.common.constant.Constants; -import com.ruoyi.framework.interceptor.RepeatSubmitInterceptor; + +import java.util.concurrent.TimeUnit; /** * 通用配置 @@ -26,6 +28,9 @@ public class ResourcesConfig implements WebMvcConfigurer @Autowired private RepeatSubmitInterceptor repeatSubmitInterceptor; + @Autowired + private CorpContextInterceptor corpContextInterceptor; + @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { @@ -45,6 +50,9 @@ public class ResourcesConfig implements WebMvcConfigurer @Override public void addInterceptors(InterceptorRegistry registry) { + // 企业上下文拦截器,用于设置当前企业ID到ThreadLocal + registry.addInterceptor(corpContextInterceptor).addPathPatterns("/**"); + // 防重复提交拦截器 registry.addInterceptor(repeatSubmitInterceptor).addPathPatterns("/**"); } diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/interceptor/CorpContextInterceptor.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/interceptor/CorpContextInterceptor.java new file mode 100644 index 0000000..5b45db1 --- /dev/null +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/interceptor/CorpContextInterceptor.java @@ -0,0 +1,41 @@ +package com.ruoyi.framework.interceptor; + +import com.ruoyi.common.core.redis.RedisCache; +import com.ruoyi.common.utils.CorpContextHolder; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; +import org.springframework.web.servlet.HandlerInterceptor; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +/** + * 企业上下文拦截器 + * 在请求处理前从 Redis 获取当前企业ID并设置到 ThreadLocal + * 在请求处理后清理 ThreadLocal + */ +@Component +public class CorpContextInterceptor implements HandlerInterceptor { + + @Autowired + private RedisCache redisCache; + + @Override + public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { + // 从 Redis 获取当前企业ID + String corpId = redisCache.getCacheObject("current_corp_id"); + + // 如果存在企业ID,设置到 ThreadLocal + if (corpId != null && !corpId.trim().isEmpty()) { + CorpContextHolder.setCurrentCorpId(corpId); + } + + return true; + } + + @Override + public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { + // 请求完成后清理 ThreadLocal,避免内存泄漏 + CorpContextHolder.clear(); + } +} diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/WeComTask.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/WeComTask.java index 6ce1709..6cfc067 100644 --- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/WeComTask.java +++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/WeComTask.java @@ -1,17 +1,22 @@ package com.ruoyi.quartz.task; +import com.ruoyi.excel.wecom.domain.CorpInfo; import com.ruoyi.excel.wecom.helper.HandleAllData; +import com.ruoyi.excel.wecom.mapper.CorpInfoMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import java.io.IOException; import java.text.SimpleDateFormat; import java.util.Date; +import java.util.List; @Component("wecomTask") public class WeComTask { @Autowired private HandleAllData handleAllData; + @Autowired + private CorpInfoMapper corpInfoMapper; public void initData() throws IOException { System.out.println("初始化项目数据 包括 部门 人员"); handleAllData.initData(); @@ -37,7 +42,10 @@ public class WeComTask { SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); String dateStr = simpleDateFormat.format(date); System.out.println("计算" + dateStr + "流量看板数据"); - handleAllData.createReportData(new Date(dateStr)); + List corpInfos = corpInfoMapper.selectCorpInfoList(new CorpInfo()); + corpInfos.forEach(item->{ + handleAllData.createReportData(item.getCorpId(),new Date(dateStr)); + }); } public void createCurDateDepartmentReportData() throws IOException { @@ -45,6 +53,9 @@ public class WeComTask { SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); String dateStr = simpleDateFormat.format(date); System.out.println("计算" + dateStr + "销售看板数据"); - handleAllData.createDepartmentReportData(new Date(simpleDateFormat.format(date))); + List corpInfos = corpInfoMapper.selectCorpInfoList(new CorpInfo()); + corpInfos.forEach(item->{ + handleAllData.createDepartmentReportData(item.getCorpId(),new Date(dateStr)); + }); } } diff --git a/ruoyi-ui/dist.zip b/ruoyi-ui/dist.zip index 9d78aa904770b612a3b1216cfb29cc5b77765de5..d9daa13d55a6f932ee258f4ffe71ca3a630ccc0b 100644 GIT binary patch delta 210799 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

`BFZWNq&lgCB0k7|a2?hc0yHxpt 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 z


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%0DI+`E-{i7*Rs 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
L96`e2;1XZw)sq9^9LKpf1cb0 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 z

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 delta 210778 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 AwA;jIZJ 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�ZLy@9SOIK~T@}mbH`%4a8TI${Ldk5qbyhFo zw7N(lva7kLXTkU%tO;8odd^a)49WJYAhkNPLI;nyMKGX z1XBIe7YA>BdH>f7kt!M1DN$<gLZ;C2GD>9n#3)E5))nd}Dl#)H#(Nv(Kp`V%q_qByQRhLxJqcKnp~X)+*I zGZ&oVXr$QFi6$4NMV+aX0#>|np?^+Ro*F8jzs!92a!d~~m5{Ou4ZnwrP^PN}q)*Zo z4SQuXn8fs*IC^C#Y>?Mjy2YyWu#A0y1tb-W27nhCNgZ z*Ou}?Lkt5W)jHIS*qS7HJBc%wNA54CF$g+ zr=#uVWHYCnhtYsb zpjnQ5E7Aq~A-=>(H4f!lQi^&CmqV%(Cx1$Oc{Bz-Fas)>dXw1TFuFKqCAVJ*R@p<*)*7m?xMrhf~cwxWK=?PLq4)1po$fyiP0fq&mR zx?0VUv$XVAb|9r#;$mu#6`S={zBr`-6OnSn6UPc9#4}!kmocoo_oLUAJHr#X@)p`` zIXSa@2tHlQlejXdsjW27qyl4W{AXE*OF|AmTAtd*pqSpnsM_tQdd)6mzG^>#wWgu; z9cVNQ>7s@PU0zPpL8Yzn;m3bG{D0^ZkPs^anr}fF+(jTRjmt6N#quhgZ+?FG-lqru z`^$s3-$6LbaEL~qs3KYanlS<3_tpY=#Zfth*;3(AQyfDks~%;DF_^U=Q-zUQiT^5v0#FE-{t zjCkv82p`M*W5*i;21M@>_i6+-w)|4U2Hv=kukli{vh%14;&Qy2gLtPA_Xg+HD2|R? zjsd=lWET?eO2VF|>3=#1%~pk}v4rzHKCcxkdzNck>+5!AYAo@d&dx7S6_2XvjPG4a zjDN56Se zLkQ`$l9DlCnO>37qBd*QTh8?V= za73v0^2I8-UUkVMOcJV{Nc*JlNqLOR^&;IZY?H@5MgD+MN4}ZG0_h1ctgjyNSXN&j zjR)bloHFf!YYDNt?H%pS9Laskl)YaLE8{z&oP5+HJEzQ=^t`#hKQl=dQ>Q}TTFZ{A z^hzi*hi_pou7CRTVA77)Tq!1F+4JEbtNj;J#!$Tmoz})c=GF+bfX0vexmQym9?`1? zPnw#@zw{S&C{`k2F(MTY_-vbgaJNMM(#d0fS!74e)Ti|+ww-@yKS@16s?w+!QRrrhnQ;VR6YKLy}o!h=oN4vVW7e z$N%tivUu@{vv3&v7XTNhwxHFaOAa#GNdQ#X6C>Kp0~ z5v(*|X@5!aXOtRb9L%8EC?j)txls#K1BvVWg!OW2@nOQJB_G2{Hii+6VLda}s0auu zF47Z!T}nQl0+W!^Y-G_L@{t40cjH$!#+)dshPx=Kn8CwVGMKQ0fT;KyG?sHA&hgWg zL|wu_QkRUK9pR#>ae-O;H`2(eyG-C10vW5ZDR_GwskesWxiD~vnE8OnS5C4aKHKJv!{+;}0+ z&wm%0V{bLBr_v@Acuyy-8`u?B0&AH~d0d9`;ViE=aE?k((D~yfKMDJdn1LCi0E;}= zh?cD;jUANpf=4H-lU^Vco<`eg&gXM3nY=S5D-slF4W-+9mB8}_Evd{jL*9^9QA4rQ z^~8HBVLzn(1-wlGcpB`ObNxYwCN7u^_>_BES+W84->E3wb@VjDR;(^E6iNy$(^qBo>y^exU_Vcl$i?(cGz)g z?SSpU^L5_Lg*e*6n+K5R)lcj8>5&&H_ymr?gYo)QuCwAir|y?tj3(C*TeUiDn15>3 z=pcQ=OVVP7z;B(M5P9abt{xjRAj(kwD48|4vJ(M5mupz(f0#^J0Rd`-U?xn`RL)vh z6)qORL%1q20rtEnFT;E5Itx!sQ|6T9LeHo2T46sUXL;qq_VzV+7w{sx?(cF+?!B6@ zRIB|W|0V+OJ(;kZQd#_!By;`vlYe9_liVCvGeIcvSFQ#{p-QS(azu8;#f_Mp)dj$Z zr^qm6Mc<#rjKbL`i$mmx6GX!iV5j==ieBFlWmLugsZhSat5lA+3OO5iKbPZErNn@1 zj?7S%ULu-YreZ21^6XVJ#OVTR7^>A6S}D*=$dfw>w5gVwt*pEdFRijClYg^(DNz1& zxM3*ju(U2cmw3-7?8me&Syt6*^jyLwEXdZPuobSiH-bQ}MJqIAy&tFR5nn*_Wb0|*7|6uA@O-wg|3NGUZIqR&WOBu&WI>W z?>3ySsxn&LZucCf>RL4La-Dee{D2SGqv!DwT!ZIS9%`bU3nmkucn;(FFXe*0nZ|3l zW;^g^*fHBi+p+`8F*-K**s+_2+37Sa%dlIn4ABq1Gd2yUX=~tj$A4~E9ow+mwkCdM zcp`ow7kEu7WD879w3cfm|1&AT;Tp|$OTZCuIPA9JLbB-?U56()R@Ltf+iX%xP1k7g zUm3PLHiUzQX*A(owre;}i;tGkZrUjz*ro`*rfoG_uF>YXY{xa+ZYz+mnGM@AnkKK* zFx^grw`@DM)-o&?(tliDi|aOAj%=Ptcu4Pz! zNG#qZ9%;7#@dD!ww`DZDw&u1C%XAx@B5h7DgdUCw6KKe=c!oBw3J1@D(Q0#i+nNLT z@3!z+JmF4s+vO#BH5`ggM{^C6=jj@4jswe~^1K?JnPbQ9hyb-^@=(c-lb9m)WuL%|{E(T3Fo&^g-efN;_= z+MH;ic1iydB@`;L1a)?ZshCle)#lVe*c9l{_&n)YGJiCokgQyUC~a5PBHKi|ubhY4 zB8+Oc(QF%z>z2U+oKw>>B!CFy|zlxMfwgee`Egn2MiNZzrJ4QDpZV{j?8T^azT>_*Utzam^ z6>#wnm4Ep8O2X%h3<$W*l%y!X2yqtK2Ii<)h6((Q2RX94UEb$L)8q&RlyNLWC!tnN zFci+UOsL$lk=->pjGUfYP&G~vIVL!Z_Aed1w5(QGLV5d01R;( z(eH-cHCkQXtb@$5ZNnTDq1SZn94zO!@p$y?w7wD;J{)>$Biv3&?UXfd#P?E8$3JQ> zHK-*_-_TjDycwOq=33;qRhc7Da`=@wMoNy&${b@QM^u?(sN@JMbL=QN29-GmN{*m1 z$A6}hjgxf4=&2G0uzLx8#np`WgBibbO zLJ$7%i?@gS`)9(O=B>P7N%r^ky*ty!-hUSV8%(vm&1r8h;(wE=zM_xtPypv3aXj!- zo8zmo7xrp8P-A=xPfB;T!_kJukMrmLp>H<2Ys-(EGr+1NWDXUl)%9LwsaoiTsR$Bw z{7;9s9>2X^JJ&dOYpc#c#+WASH+2Tuw3Yc^FaTmeoxl1o4A%CXDV2lQ`Ff0=v-1sF zCQ5(7lhF-?rdAiY0#JV7!OJ8T+tYIpXx z_6Pf$`_cYn->)z8Zn9dH$aT_BkF5oa0uPa3XUYF6W61uB~9>2;BQSlNs(tt6e+XR_xFLod3R;Z{{DsW*uMk!N$`K0 z=ymjN8I{_W8EGdi!X@a#@ z?-fgNL{^m%(V+enWyl$)Go17Q030!=b)6=(a`8{-0hdbfu(^0E5s?Z&KU$-EQqR-% z*i&uGCFJ_=WFxehPaARAAfGo9yiFCT0u~z2eEU52={Xj(+%rH^+=yz})2ErRyZ6dzPlWyb{&Lw$-4CqWMe1NdN=kp{P0k&Jby(t^R_z&gO zkID`(hC(S|;tfkm0XyDAc(#8Wcsu>Thz4sbqyAvc+hGt?8(-Vsua)9>+o`_At@_^3 z2y3^pyZRyC)k8a*Y-0|D8v?>jZ=(d^mbWP&-1fHmfgv%o#&*3?e|v3ZcXhW26_M6f zy*HL$3XB_h7&lZ8660*NHfmu;9|`z$i9IvbzL4`_B|aYsvRsLmm!*H^P6R{}cwv9C z#s?{kgVFz!cV#_t9Lf2w)Q$l`GPlZkL|%sVu;9xWAYo$-^F`1@tEY+4x=9KgsbPzi+0Tzq@MOpN|Z6I<}= zMgLy&@T^_8-*5-fC)a--+i$*^Vf_d&_a|U(A^-ohpTYb%gZaz1`|mz}zlPzvU%sEg zu*;n=_x6})D&l`-JMe#TYUdtr-j-+b+V0+M ze%!B}w))__&lYB8%V!+65AemFx^bRL&!Jd8wN)%^Yw>{Ovk z!M^&>kHbJugS)2day!BtRfk=i=%R_EOo=vnta~))qne677Bl_s_L%DwYT1uDOi@3y z!!X#Vn>&PMd?8~;pP(|@vK#Wwcji}Ljw$WQh4Cl5xGP*b7*&86Zcz6^m}il^!~Y4)0a zsW6rKCh@e<`KCynMC+oJIEA4_5}r?nD0Hav8hCJZ8}fftt!SQG3v;_ zLp#tt&Z?n8J`z1o+Jmo?*8-!@zL!TX{B(UeKot)=#(al#PQ??P*HkXTK#;W&qh9|Tc z20&~59$;*141uJBYlIf2bO zKLjxXNa7aoVn>Ds13E<)Dup^zIZZ&}am>JyjA`aLAJYtglp~j7ltY?HIxO@V{eswv zBBM`Bl`x}sd02-d$GV~UKIXx++=6ZtuZlfAIoE%>X;U?rN}eC3G(+QK$Bw$~W{S^@ zQ782_hJ_`%T;y3+e3XTRWo8M;kL%ENaAauGF}-@`)$7T5B=eNsg@pqIyBX#~m<4DE zGK018l9mA1gKzOgKM{)R2M+_c4>tRfs>_Gx>ad@k6=tOiQ~e8~02z z71wg>d5ZU6)GS4SpE^fHPp-osBaLkeufSX`8uhbwh)`&x`~!1ce(c&#jnVUuxrAonbtK z(^n~v43^HbqVlOwJwwu79LDMDI%8G5hHU$IOE5xD*!BtEf}mREy~&R4cJ00 z+rk_ZScbl80Zj#Abxldgb&oa+cBiiNIy(r9n56|$zEU_FYt zgX>RAGTP8i%7cB{dZ{N71V$GWHXz`Rm8 zrY-Y**izP%4+}u+`lsi$&_RDt>j5au7Szv7OQPyxxSLsB7M{*h=R2w$swPZ6CG_^^ zJ1cS+t-X!Uof!SQLyMu-(Rx;BTd2bVug2)TX1Jg=r@uClg+pXIk`8f0^u#dquQis& zjwQSbwSUfNCY*+5r3mi|xd32h?bN=sI9~xjBzGp1F&cB|__kEujNN~GW>*POYaC>( z(qSN!O4+7g1_e3}Oum556Ed<8g}qUdO@(8$bO95NeiOX4GTMxwU3Z2LR?HI_3TbI! z>=H*vbLqT221_>p5~Stv2n*9ItOQXPHO0#KcvuYyk|%_v=c8=9oQ6f9gq65H(sV4# z6+2-^qC^xUGwTkPZ~=do5dB>e(s2Ij=7eY#lkqm&BH@*tww?E~)>SJ>^FIPj5T=09 z6OoJ?Q`SsBJ3ImVG8_QhDgw}r9?IDuzy(r(=vvnJt@s;z?gq`>pR^2t5FWADQi`s zB05zE?u~_KZX+skPeM}`hK}SoSITZkiVB~U10qv9hiI8J7!fg7$$7WKJKSgG(jvyn zbgF2^qW9ilF9deE^^OW@aC2T=>l!^PL$6Emo~?PaQ@s*a6qC#CT+T6BkO^|u-e|py z>tZP{i`|%AICX!8a+zF+w^W$nc0Iyg7pb;zakV4fgm*L&+s!4=7F({H*g6tB=^Rx8 zhYw8#z9}sc@EbAmsC$>=?g?J~{xX*cy(O3|Y|Msiqyf;ee86Gh*hbh>0Nqv``VKiIC~{a7Q8G_mz?s(QkX4yITtwCJ-8WM%i7_z zsGOD*D;R$Z@q2H{1c)os$f_=3E>&KtEKppFsIZ*@;+)`2TxYdcCFNGI$1Mr5z}{)aej{lDSrb_K%4(e~tt5mp$fY zSS)sZiEB*1x-c7@y}_NUxnFCkmt4}*1=^@)nY@2nxhCLr!xY=XDSk%`mE+XS}U-RPbEd{?(9d1vnqY^CRSdX3FMmNlg` z<=!Eu!PX){E>YKHAuGt@xq2wM&3AM}`fw-WL_JKwB_;#ZESC<8Tz0QFRSWDcmOjoga#YdVfYR&@F!I(7ae zmSzu3KBAM!`&4&CW6>!u(4VerVFgaIxeZ=2`Mo=&!yyyHXFDCU$>^-N*mBw~ar4IDgR9&DXnQfk#7mbEk(V0690o zUm)7Kd@mD+AAYcq)Z3V!X^Obn>o2*j<_LT8ML9?fwOpeb1gvZ$hZ}A>4Ptdw`>ScWG$wkfW+b&7tY)$87l6pY?-j*V}m*0 zXoRQeu$+u^IfMNKoY&|W@UE7Mbt?mm;)^e?Fs01b2;)-yQju|eSJN0KEev~|4(=)~ z#u7!n^e7Ha^9_j9IQDRH566t3KVOpuJ3@ImAGr*3oY#2kzF-2iQO2p&L&|2dr zLxB2 z%>}yO3;jPpd?3+1h5>)za!53ygi+0e0XMaL0#HyQot~+2!l0>9H`#d<5#5NX+$cHGSCo8C&Bds3NEk{9m6(kfT=Sr0qrXrqaV>C|E8!99?e zN?r(%Z45l9yAXf<6jUv=)td`otC3bQC=V8)u^wSjQ$^54o=S2;mv*GV01Bk!i3^v> z*-YIkbTLLr=6k5U_Qfh%t0g_XoB2?_? zmUWQoOie)y#p-<2t@hv-S9NzhLn<`@R?*BX=r~nV`ldi`9Mm2VLvMod`hm=2L$F(?{nuQ04<<6vF7}qX0KY&+Nhypud2zf!l6D4``=jhDUPk)GmxOW;>Ak=?p32j5qGl;a&yL6`-2?3}*Pxp20WZu5SWdvr_2M}J;2?-wv@wyfuzI_e- zXA?tUnl&cPAVB6Kw@M_s+NCNlMWYa3j{*@G^k^I`ExmvGSZn(NVS^t7DwFHrAyd*Q>m7nWRciIE&euFS)wL46PV z+Nre{bA469)JOZqz0#L4%o9C-uk6Sc>*7-MM3((nX;e@WA9_%^o2N2n-1MId5qDe0qjHowRE(7yu4xW2_>ekIiimfUh8@~B}Bt(Twdk;j{ zg%&DL$?M}A&VvXukGQx8mPNBCDe;b6#=s=gSWu60Ss*X>VfE%b$i4FCA-?$pgfk%A zx#08v1xRvZ*4h6mB#D`Fc#f609?nMhf}QclT~>73G$so4JN^7O5zV>_%u1`n+=AWS zXpx~;8|?0+sbSTWUF&LpNSL9_v|DwQN4s(G4AEO2tr^LvifbZf`tK`^%OW zN*5~1V|_`LKEzPg73_A+v2tfCGNjT87zH4KJe6r+Po$33eHw9A0H#v_nWSdW-LIYu zf+uOGUiHC(pC2{-UAgDlf;J!6tVaW^=eCm<&%SCq>HTE&=2ZrNn1A5Yr8;R}^=EC$ z5)P0RU*hd+OjE9L@AEb1k&^awt2;d@FO~zdwn#oreWcsB>M3%8OY4YfWI=fi3$;d1a+J~wj#|)K8?80%g}d)l=-1lg8}3q&mv+9u zq?Qp{om?80;oQDJE8J4Xg#t9q8|F{c>rtN_=&WtmdVTvYMBAs7P=K?iwb0A71pI}^ zt;u%x?$G)A;%(h+xF&lW!tUAZj30j<8ByHV|vAb@#NdrdM0vWP&Vg4 z9BJNXj`@hCsCu~uLngNyE6NSyK?RHnpuE^?SR|xT>7qP7Ii;OOHKVWN!n`uGxHujQ z5FAC35q?o7OuFTiOd;f-ltd+57z$JjaH+!6G#IcA*)CyZwJv+2_>sXrj~K$h_KL@3 zLQQ`JCvK{PE>N~paSO%*gtI9W&MW!SwJH%7QQ@UPW}6Dra8x!~xj`L=DXXlcah8=Z zF2b^31PUAziRBE=ViZta3S>ZyX9|o9BUjapV^YXND$Od)M_J}+157_qnP;~`wLo{A zo=`h+yR<}pSJfRVK#MM7YYa68P0?M1EyjO6dN(Z)fg|zE_6^>1a*isMJd&0|tT@_} zU$ajt@k%RH_@C;ornhYvhW-`7rxutOMUtf`xfJLn19~ggOPfRD*@-jT37n5&81~=C zM=4*xiXuA{=%J}BJ2YdNG)3_}vk%0Tvzo_>7ut17Bj!8<(mYBzc+mPHe4bn^4d8!+ z2WM^{>BH!wGc4VbqOi7%Z#K&H%Y$eR!u>H2>nQYzkaXx zqgq$fc~z|zWxdR+yqK@&Wx1ZU%VxgJ+p-6dn_iIh^>tO2D!HZebj@^olf>;&IPq(N zm!l0ui@kO1WUWtqe_pzm_RYMK1vH<+Q#l@Zi!c@C#B{Y6-paj`W-OoNiT8iQdV4wB zw~}SzqlH@}1V4OK_JG4Avfitpv$~G-MIArrEgn;HO8)vX+(} zW()A5|>6t(r?X0d0ROgM-5V&9SAV$TGiBNMbme!!fNy zc((+&9srdUfdRtl^w^v7jlS$rR+rNfnux=i_4k=Inci zzf)bTl>SPKnf{|Lwk&7*-3jk>;ADbVl|4VpFG;s+gH4d*-L*f{qArld`2OwKQ&+Q1 zGMP+nM}GlOO9KQH000&M2mp?LNL+ERdGLNa0RV410RSNY0GC0RH57j}Wi&TpGB`CZ zYI81UdH^GU+FFM7GYB>y2A> z6!*2=zHn?$Mao_&YoE*tYc`(_^SQl6#nU2Aq`1GIysmg>+M0j2w@$OEHAGW|r>H3> z>y10(*0Akx`@YH)CFYzsYde$PxOi@5ovd{}?04;9J{i0Dwf#YvzJHvlaZB=ve~T1wb+*Vs<-r&_2OtW zrb2`H{J4Aj_Va(|&pXe9&SZLc+xI;0_U!b~6zRSg4ad*c6;x@O-sW7}8uok3UHRU3 z`^CZRd*7YSUycfE{_?o!+4JJX{B}N@QRZz3}%mUMVm>8Rre z6|5r~)lPq;<85?J`w68d9qr*;D+rQKlHe)yxX{S!(3kjv{wNi9!el%4Iti7C!jM}g ztVbzzQfsbF(T9l@QJrCu6I7az7ItDUu>#$RsTNHc)C5=J`UF}6;M0^)o^*nk%26LE zC#7GiD8?w57lJOJ>O3n>fh#Le=ur7ae*y(ysaSvLB9AJQJhv`_H=l+!0)bE$JRa+g zPpw3{6A*1!-_V3B(*c5Kez5 z0-*`pAWlJyfO4WZ0jB_sP;tuI4rmU<;I|>YgJ%#}^v4HV_RF`5;Sxb$B!pdn7lgts z2xs!LjwnIW>3OIBuj4$BT!wQI9=mZ2xBtx|a zOeaFS7ATp@5b{5I1AG3Z3$;2hmJ>+tlyN)%Cv8kXjXOP4J9+0nw=mDF|k#gfgJIVASWgj@mj5D z`0O4Q5uRB`3>G~OV!*M3O89>>d_vi@7+Id=4P2>+Nb+Df8ujd73HW~%g?e$o6k1^; z;#CUWN@%5^`LRchbqI!xI5%oGe+)dl2vTnDDw>CJ$Y~Zy2P81yNpeqvfM?^#rHM>S zvH6opt|?@y#QFrJN{(ViZT?6B$&q5C)PpQYziAj|R4m}afhh}?1I~Y!8U_dcBfnL4 z=yIl1_fA87R^`LZW{fTGoPqCRFGp8LiJGnbRt)wAFkzY=RcHloYan<~}Xi^ik>& zQK^u`n^;F!_3<1;B-!{RfGS8W1Z)sSR`WUNBpyw0EU6yB>Jx;JBe1+iNtA+pc_{9M zVWidNK)Jj`dr7K9S0&77QaPbE#z~3{k`zg#NkUDc9!)5>#t(nySZIJka!44Al^@W& zOjD&*s*oIz_>d$K*4mWh9&S7iUJsS#CPNLOCy7bmQt^nUE}@S!E$#Zmk+nceV<~{^ zG;n#yqBM!2)X}s~l}ECA0Az*)6cHcNNstTz9VJ0Z86@D+=+T>g?ErezSrSVUmqsuS zQX0V6A2mS%-;950`~sC2@?lsgy~1ti(~?36Ocaq)kU)qPDkRN5fj%2Vu@135korlT zRf+!^xTqbXT#~y;pCQRB4&pROqEQOfKhZ>FL~%(}!WEo7ps%TJbeed10_oh$0}_8p z6pGNBm`IzbfN8+@)7_Lh$?$*z6VemW8*1q;$ybaCq}P9s!ih<84`VO#2p*DJN#ii^ zjF>`Y3MlF-QJaAp>X|B`_BDx<3cV%neMvJU)(4~#cwv%4+2FYu_|eFR4o5l)RS$$y zC#g>$W}3!64G^u-B%M=tqf}km0Ex9EKc_Tw8jC_C%A6i0ra z+?r0j;W`!tEEtinMC2QeLg;lJ$d`&FAB7z{TA+W3%VsR88J0>!6JqnQ6D8ru#f%_H z4l2+tEpJeBA_%SVDJYH9sD*Dy5As@zu7W*MSLtz=s+b8xIDB19W>{-71f?dxt)eaaI%Y=uFk(sBwu|wSgr_ny|TqK_C z#+p~9L)o))Q&vWhk0C*Nh}~u4tx*z|?*o5VVXtO!M14`Zw_{@d2{vhBY~aw~g{-Nw zz-~~=8wRowjc4MnKnPeOtNtNxxCFd4yGUBljZnUmK<^<6TyRVdqY#1UnJ@&13B z_7V`AC4(3xL}kgy3{pzy$vq)Gl9Zsa5#-qX;gLzv9~WCg#C^9xX(3Zh%-{tPV}}Pf z#oEEo6&u#Hh+UHn?+0&-4bLZ&QIiSd{Ts!CxdU%{>XQ<=1~hX*-i3~c`-CLM(3~eK zPqp7j%~@&m{4~K-jIo0s#7V%rR7ro_NWhaKeP4|{7veW9*a|zx{C%hra1)ZBN$T<= zF6_q%_7WE=;It9RGepJ^Yb-BsG>^h6P0~PF+&mGTZlu)}cvcO;b{d1%dZeLPi6%A} zD0DW(Y#{O6kDDl1i!w`0^uSg=yg9ID=Sgq+`g#p6f%PApux{0egQ5i79a- z&4<|NYm!@=0O#1$E~}u=R1gESs<5@Lf(4ZE=i2unU;Ee=)}+?D3;~IvX(O!x!Q!A* zRba0O5Bw2-9gI9;4*Car(|zS-sNn8kO} z2613P${(#jG0jSiwJ9bvH-_3;O8~oTQ%USmP{K*LA^8vb9Z?dsfqJP4LSda~NQm?@ zU6N4Xv7%4PM;s-MBs@i=wLxnsM+z%icb+ZIBd@1d)G*ZOquyV1*&373nV2w?;SDc7Atl>e+)7C-7O~B~+2TLCR+n zRVks07?p~eJ+jvJes^u^*@Gy;;TS2tR*X{^Qf+bkgZ)xs(-40WtJKYy@-z)>yv&!B zhm%d0WO9;@NUvuB3wTpL&Ze)1HyoOWI?*8H6})K=yJQP^lcWY~us0w|Bnp~=C2YYBf ze|8$zc{_>rKP}tv8g;v9kp9lAhTS@oTB4OD5|~NY#J(D8*h{LOe9F@{NVpYj(kRj* zBJ8R~p#YEVn$!>IQ-0r}&V1_fH-I0kpeifhM@WBv9GBg&q%lDuEx0E6Q_rm%w#tSZ zl`+;7TktWY1CnPyZM55f(W={>ujxX)TB+ok`yhFE@YbeW(I3thCLI#KS<{ZY@TL>b zBO-(TLXt*|qq;D6J)$~JNJ$0p=mFYbKvRU0aAcX{xEywK37$f1tVOYlBS(cCEJk6J z;5&avzdA%IONq@VeMYhvNgXk^I*BY(E=XkK!xlh6$3g-LJvu;EX?mqXRlpf!vbJ0)fb8X8PSEpN(_2+x32!{XM% zg2QoGMJnE6#&)Vgvl<*nvlU>O0M(mOaq7ap)#KsECacdRfo*Sy+5rR&(G1X(&gE5{ zVUf@TAP^d(bcxU~O5s-_w)on_#<+Y#f(sS*VUgziAXXmPSamoerOSphqji{=ww6g@Y)2C41& z#H|Fu1ER42poV7;0=NF=6A%Fh7mnE%Cs`wx73dQz0o0d5=o2CVcb8@86Cwe7mx$;S zHvzquz~~cM4T}+10Ewe`hZf>gMeCO)=@UKy6qjY`6DI*7myPKY9RWX=tLYP_0l}A2 z>JuXYgO_&d6Mj_Tl9Z%_5Uu$+Bq4^D=OLy5PV+&DW)_x{u$+U@DXmJR1Iw&#&OsPW z@f?)pgt~ur&Go)`Yi2>SVpQY{r!JE6joJ`1op@6(1Cp^ZyqYK=^3^t%Nb3_f6OC1D zFF=$MNc5j3MTwN)WdI+fmy+ufPk*^ug~{30*leLrpc^D3;vAWh0$RrwI*($37YaT% zqU8aW&=PLaZM+ILLKtioO*_QQd}#$|-BH;c*y(G0i>(3JVDht-Kz?O3k!GtS0|YG^ z#PL>=13t93ypiw0jGbF2!XhSWTHMvN?1W|U5c+LkV63Zg>o(C)sy!jNMt^bu(qmlX z+^&()0A{h45?mbfDJ+A4C){0}5-{x~aAfk3Vy4Tnfm^yKwFN}P@KLYG8`dx799kR! z`X=&aJU5O_rCNE{JSQ&>!nNn*N(II1&&g>*o^ z0G~jpBiO@B*fkWNy71H1<%`sF>T-+Qiv15c8{2y#n$Vm|G1CU{d{3h7#8l^*q9xR4 zM+t9`SR|SWABbp8gP(FhZKeUNgSl4CzJib9ppWOixlMsTr$TLHYfNZ#SPLRv)F&8-ttYQ*sw{2-3SyFn+| z4|Nf@BZ6xrHbH%#5U3kzU?4|_$(QK9x| zxkKawKi0m~5YUpzmZvG9hXV&0JRo3>7sDYDU?!wbXbCSPc&HOcA!Ia_LjUw~^qy*j zWi7m9NB{}pV1n)KRI^876O*P|9tK|pemx9;Gtwzc7OLJi(rVauQ^mqwN~<@^0x_+O z$+o1bB*lI&>3>orrT8)1oWp%qBaVg7o9a|xEpePZNH|!M3P@Q^JQ&tv0CRR3_XzPR z4y2OA_fx8j)HD)|B6foDQj!%z3(j^P`VS9P6@_3?1XLU=8V2mZBnnABDfk`?h&g6R zL(G$ry+(EK?%1!IEMIz(w2Z6#i3c63^9za|qp%5rt zK%}XYnt%3HLUWE=j`4Uic?{_> zC8Y>Kri)?oknq+8Y5`+GoMt;WJqW;! z)qfrp-|_Y&4Oa1TggGf^OX409{gmhMo}roMP*sU=L`9X@Be{Y!)F^$P3YghYe0rnR4Q08rvUq%szv0;fI0%Ovxl6~i zK$El{N7#cPc?j!Xgq>m>$7}Pp!~NJ(h>j5KaD_RXL9sg?BB%$Vh><{I8I-^$_J0&^ z(6EliAqKkc`>q_u1+d592#Amzn8-(q#iRYa3l>$ zeci+Oi~yFP@tRXEI9L;GROZpS-G8|q5|AL&t{tZPMER7oe{yJ&(m>}XX*lYe#Qh{G z6X)~E*retp(Q#^?&GM{YOij8DbYIfJm`oz`Wl1dZXZw>EWqU=gBz-hI-k)UCvdt*V z%m(`{kiJd-IwuS$3jIE>S$*xH-p~(&ec?4QDE>RN8C>AfWqvKK8zy0{YRPZ7%$_k3$ z;J_pf=kCGDXf(^GMNu|-;D7r4n)UGs(PP$jL2);i(pL6v23fG4Tb(+b<64ice|*idF&c~(vv($9i2sT%Emu7zf?1C&jRteU(*C^(-Filcf; zYZ=M;@Mw`Sr)eHkIVFuJg>((h|0Qw}G=bA#n$(0O?E7JrQw>ETy^shlRUKxvBWbZh zW0DBUPBX&pc7MGj#d=@*@w}kruHx4FhGCrztEs1>zJ0M(F3VQdDr8Zf_h$6CH7({R z)3G%snfIb9gq-u?LF>l2GieQ-qFsIhDfixVI+?cY?QA@r%&mjrxNjXz`X{5p`nG+m zxMhFaCgET}L~6}DSVT$8eE9CiyZ1i%;Njy>-h24*2Y>I{&iul(JA6_+y~sMxikGuq zB|5avP42_}pMZdoOQQFMlXa%WY%)46dNZevc%D%@t9}qbAc%yoKPLIwj;fhv7mlhq z<(qX>EuDDNqiV!ZN&TH5fRRT8gDqc^(CW)y`ZqJrmU$=jjyPAuQ5H3H75R&Q9xQfU zlTv3jo&{?Zg@ame2IB{L#6PK>%{b`Il}wbKx$;f<4-hx}gOply z0}MhqwfjfXrwqRWGj=cokDr=pE~ovtQK5ew`5AodZP`e9CEaS286Yrmn46j;$K{&L zGnd+fV{^QXvotmzqOu4wmGB9##em`I>?nj~S3pW9Y@|cK31Y}rR05&^u?|FOxXNz= z=?j!DDP^W3Zlin?P_~0Y(MEgC-?Jm$ho)71Cxm6HfEkxyu6}m4YIg)nKo79NxWNmL znSaHZdkT7X#2t>xF=I^Y#@OhA;^WJtF)r)7>qi|D*=UiAm7p~la;wS(IjQ_ zTvOiHHP@)7dafBj77o1-#}Nm|@ajP*NamJs2ErbS1#7dU<0rv3Zi~QvL&$NiW8I0c z!JrUgH=qfNM<06^c*2%7c5+gDgo7Fc7JtFdSaddqzMXa_6 z7JVV__P|KRXK#xz$GHd$)>MLXDJl#bURYbAP?VG}ozUkVBruZnG`fJeIrJI5CrQk_ zgY7gEH-`DBJR-wZW(9?Wo9>-#p7k`-N z$e8SL;2PLE5{Ph?aHSvoC^5r5fjZIhO8QDBjqZIK-Lk~M_sIbb8;Pv52h+&-m z2RT<4aCM1Fs_O8J>Qu8nKdS08`8eYcaL|E9UoP(o=jyY?1yjK}Bjocz_CPQu4;X1L zfj3#~2MA>kb4c?>Bm`Rvj&RRI8h;@V&r(3FD6qGPp&`gPnZwFQ<60vMxV^p8_ z4wFz&F~Xs$3N0e+nC(fiGpC5DWAo8Vv}>ZQftvV0j_q3I4Lf#P(cniOyUU@^Ib#BQ zq%d$o8?i5s#QZb|D(VE9&0z^^NQ0TN$(BLzo0OB5lq30|;SdJmB*b!3;D6TH!PyaC zLV#!_T!f(r)1(3e&ns|5Nd-rlubQL&8bI_qK(5Jk_tjd92i{$JYuoX|`QlFeaQ7?OhXlJgVU5_wL#~SmwfRkXHV1t9MbKdcj@$@AH7)+lLb(xxe}9d$it)gScLUx? zw{XTzopa%u1%qrhuNPN@kPC#upF$~^!Q@*x_?jFS3N{qPGe}O%V=2w$m~!S>@*xex z68%<3lIAw@U3`yeCUx@nZlnG)o>>Xg#tz5A4%mMq7UrQ8dw(tXv3Z93g%8&SKN9g@ zd_!OigemxF})=4l}-5hqkDJHYI3_4cb%#ZGHo7 z{?*Xt??v!?HGjS`G!c_9-iS5@+bb1pq_wy~Yrjmi9RY1#Y(BjNZ%uLw7Rl|a;_cKe ztK&RfV=ic5?wVpxkX*%Fn=KV!Lc-?>Z;1nb`e~E@efsHJ=Y9l0llQSwfJ>;N5C_mc z{LwT!rKRxeg4-dC0BNy3#dsuY1gl7Ks`5iDny{VH?0>k3XhrOYMoSSp_IWfX(vY9R zQy1dvh!hhltTA8VUI=HpKuW~y!$nUi&emNhB%}zF5(xvhKr0tstMEsJ2QNc|>U{p1 zltKoJ7JXbe2Y161p;a_^mj^p2t{J`c#g`E`8vt0vC;qAUH+EnKhY*5nBmlQLTFC=R zgXY3|EPuOu!bz+XQgK*Lk}4Z95bPr6%QFij?1~nK>|!YnapJ}ru|s6SvrCD49cGiq zyJX^NmH<2KoEi8ijZ5DYa7AheJ`>M2almA+VRoA%cmff9fNt4U(-=M3G@?2qmUncb z8N>VtjKU67{BVO%??#C7j+;V8NK8Q&QJL@aJb%YU92m3#SeZWppJ&YpoP?tcqYT2h zc~UWHK!~x7kp=Zh`h~q7YJF-OBzBdz&4gUgkLW- z+#O0c;_))+K<*21I|X!gj0OHFE-#*!yizJbHM_tF>@b}z(?f)d(6n07eM1e$kka7RrC1P>b+7M2r0p;m)wL9sCH%V@LrMTgWA#ubUQ2~##ayENlGLgZ2&a9lpeW0NovJr9+5xMYtJ zh!`D_V)P`^HNFrRU z1HlJHdE^ODV1`&%6vHlZ8{FCz!l%JL&6N*RtPHSer|uyw ziFvto86aK>KvHVHPpHra%P%q@380b;OSI{(z%1Xa)>4 z4%bww8CHKOuj-rz8pdr$9@m@j-Wj{1V}S+6V!pu%p8UASi%XenP{B?SHzI%J$~x@L z*$KcPI3h&A_lQDfKqz?@RfsUSER!Kx!68im45mIV){}WlNw`6ZCkaD<-trhkn2_=m za&I+1@+{{1fRd00Kg2whG4z>$xMhyfz$jKc+cE1fEKwrT6~YBDUvjw{%&la)a&;V~ zfR}#^X=3saJONS^aTX;!19pG!9cDpb8KgX+Rj_w{Mcg;~9Z4~Wida9>5ss+957<}| z0UNYbO>2AyOo*nX38f%HB|@sjD4?-fopSUKoHt?HgM~|GJ29^^Kod9~wpK)J!8B(S zLh^BWElpA_D-~oM(N#Q_Xl3a`XbQ}rkmu)sVCF8#bUsBnh{W7HFlv9Op5ue~OnYcY zi>wQ>O?lQSVPMSkNML43kLA6Xrymf;oDbmRPM8kMVm#3?eIpk4l*`xcuy6nhNJTPs znK)RWaG7Ml%UlG_15BD%90`%a9mdp%^nm*V^HPigNhwGGn?mRj-V21uFyusq!zUoz z!^O%(s~x^TmM5aej+cKf-zNzM1R8~jIHFr1erk-?=zEQk#GR}O7K4~C_YTWBsd&9X zgb#!f3EA_nBLWkzKZd|P&#W%E#wW$9;|DwzpaJGJ3dDec!?Ba%wHNvdVDK@3y!!gQ zpvh*RS?IXG43KCWF<33WN;T=CxCK(F9TWaj+?D3C6pWY`w1%@bfgT#+ndv7K0Tpwcq^@gf*LidW?OGGTh<4r2`>!v~ zA<9ua47~kyM;3o!5PO%`QYq*DzE_BHPR|FiZyWubq|#zhKR=%h`^A1X?ViJ?wdi+m zpyP+dyk(o5NAqlcGPB#CeRku3gk_j}1oLw7JAiVw+G9txyPL8+8pZA1hmY1l@66lh zo4<2b;a8UdJil-Zp5DE;cYpidQbR>YFpqMN?mZ@Oe!N-)*ze7q22eB_lvRGhJ@{mY z{;v779s_@B?g>cm3K3pbDZXF8r{ICm@(2X`x=%|K%U27C*uhk|+V?fS zxtq<22fj*8iFmScW;&Wz}#=uVuY6EVV{b*Fz$mdn$KW?QdCm8r0w(!8XnjN~SI zI)^cT7yEH{r_=1^McWzl&e7z%_qQLfg^jHr8PTWN=%m;hpNvK~dcE<@o3<@~iNN3? zaC|Zww9ct;ckFP{?(l*z@X@^o5BKh^tA9Ryd44dNwxk_zYy4eP)2J99&IeoLTesRg z%aMQhWc(C>^m=nM&n;7Uc08gHZH;LzIybzFJe%i(){s~wrr*80A1t@b6M{bM)kwH- z4u}O7^LK%ptBen-l<}PwN0ZayN*^{5A>ZbsA{#G#x^9Bh-LOFkN9!q}-=Ks+MF|HN z&M{NMzL$GK3H@MS%M&gnHPoS!+-|p>Q>=dvQJ&J0 zOFW1BDM;%DuO~0t&ND(LgG6lLSuyU45pC=F6Fak?wp(onyTG=CPVnDh{_F$uoSkNK zn)CEDos5cE_sLV|xR@RdXEW~2lcyJrUNYT2e)xlXAFS{sZn$K4_upN~ANI@45AJ_H zSY>GdttxPT`v)6J8NkbuclYi-USab^NBUG2`sm^Ay+eJ0f9P7K8+eMmykkTF@ZqMU|+MzB+e zW%`%@{I6gA-XDJP2Y>nb@BH;Y{Nm3)|Bau$`iuYY<$wCO|Igq3PhbAx4_<%$um9WU z|MIUs|J|Q{{%3#p>hFH(Hx>%%~)5)-JjW<_d%h5~Lljdo_GDBV@H`!YT z{(Xbt8A(&ES+7pbB=ydVPS&+=A5SNJH#;8Mw@3yY3JKo4X&wv@{+@TIHJ9;W!nMnS zZO0@xh!vR)`fRtmi=RHR@j!oz>U(!T-hE84ly%&Hmu5cq=zhOS#FQ(OG0WZkwo z)o=dg=fC&+U;M@2*v`4B?H%?Pd|bSkckM6!{HL#e`X{!NXXCsWHFIc;KmX6aLp1;L zn7H5bY&sr}5ABN;x@(^wGfA2yRv0JI@WF6ILfUaQ&5nozfEAn;kF))*JuPT8qu$yV z7i%XGt&YU(Z>&cUQa^t*EaBdZ8C&-+P4vW)Wy zi#=h#2t~xnb!Y^jJj?p>bg&;A0mzR6U!KxbDS7hZFfh6BQIp&(HDC1m`>5~ybT}K% zi~ioQc+T=lp5=qa>+pa`ttekf-hSLWzx(dHpWJ`%BVu8n?A^cjqgCmo{-!gV94%q1 z5`S@e-RtoJJ|BM&c0T)T@lz&!~zQPG`uj*5BK;TKvy#uFE_ z#O7fIgnRcN-G6-V-Sr?gdwpFP7ry<9KyKgN-q{3WV z!!$9TY@Vobspfzobol`7D%L$6ym zT4P$-X(qQj{mHo4k_xl3x@}Y4STr%m$9_)s#3P!cKkDfg2`Bj?##e_*w51toOI!QX zB6~(tN~ZXPCU&QwKNknXaW)#gq}KzQbqh4rTcj}Jrt@NY$X>ZyQPTaY{nzdlE=h=06^*v8R7aCNRh87BU8#-+ zQw|i!@S4UQPzVC=OORirD=8`du>IUn_ay9INX<~AkWP1Tv!B! zJVjn&jy6@4nsWUdJAiHH9`6lmjeWv*Hir6X-7_6IKbelY_U*%B{?X)w#9^AQB!7_( zCjG8WX*N!_cTi(42ch3;)(F%Vz4>4`b3n!4%1IZS7xzX5BIYqQe=;jZ2c1uHlBVkb zNcNOla^blGGl-v%qUqe{t!;i508Xpc1UJ^?q_J5VNajJWT zLbKk-aM{Y~PX_Y2;lUK_z1FcDA8zI5>;wu_*Zz*}AQs$|D37K^=!G^cyZXhLrt?MH zF{drn@U|w6!v|pBcJeA^3CFgxIC{i3%94vTz^8iEVL@YPIiqOh<*~#?Bi`7@HTtvZ zAqTCjPB;CVH~GlbBfYrFe1GCUy?L|wwpA&Wm+U&tS(_aUNBwCbDt7tO`?T@G8+TQ} zPAX^bW-ke2HtDL3j603z-VS4@Yk!zg1#?z~E-C$P*SZ9l71-;8_d5?|It{Yfhe&-mZ7t-tv3FzI>=xz0fBn%%l)&G} zNq?g>Ae>(SrXTgz%zuH^MHQ=fKg;cQ%kJE^OB56=6nww;f%87wqXvE08~u>&hu&}3 zQ}@?#jB7+cm?h4Mh0Qwsmn2IJ^T#+6x>LrXl@p@gYH3ctWm~Rg-}+(4oFsLZKC3dg zZ@qtW?+ybmVNADLR6A9K<;JAM4}xNr(n0|{9ee1B(Nzu%`WJ7al27``a_ zI|U*JJHw)CgjSQ?$>GGwB&pdwXJ)>fOo;D5F5RcZyqUNyuCdOfX!88gB+o{V=94L+ zsFJ*Le_kB5>=CmX*Wkv+X&fxAik>-aqZf`!*_{*}exUqc3BB~*d+*s!g%9LbFQ0w( zYfck0-5)pxD}P;?mNXG2MTx09Kkn8qPKmFDl4atZLcpkSYLK~77>Rf0RbfVW1JeuT z8|in({7G|68iTR$RU`e*u?<{KMyCl0t|>%zsHdXk+nuGJe_{mO|A1$GfY> zZ!&Qp{+v+D`2aCX4H3LnXdH5N3ki-j$M z%fD-sgnywjOf}bjz~Nvy|DrU|++0oyT)@V2bD?4XLd-um7eV$#Z5w(?K~sd99M7kd z{t1`6tno&%3u9-xxisfrELfp#F5D>9{N$7AszOj7R8+-`I&`t5ZoTfSh0+&G%G>Kc zUMPLBtk=En>&4=*qb_=bVr$rNl>uT}nW(CKIDd3hNH_=)H?T$(t#gUr3yZAdGgyl+nFVld-WGapz5(ZYl-mMHIhl0?EvSFwIkwG|2 zEA<9W(C8dTf8dejE3eZ8oyWz}popmYMMNJ&i~!XjtN}s|5T-E(ftBKxJ3sgN%0i~|jeC6Cio^y&+z^D4i@D3V z3=Oda?jp{GvgB9BAtG|)yWsuIR~)Is{3)}21#j#$4!4zG`t|eWEQp7RaDSKhJBZ-x ze~L&=Ntnx|1-V)h5&$z9wRwga9TpnQZ5=X&w~ip?VLRT zJXT07DH5=hfhw(_(w9ONtU?vP7OL=asB(iIFj)lPi7|x48C@w4G=E1j;e906W98eH}a^sMF+GR?i8v*xSg7U^$sBs0JW&Q~5awJEDk4%WdJzU$TtH0F* z^Kf5l9OHf?co_#AVi#e1T}0SO5El|5d=6m zrX8s?4Pz5hjVR0n@jx!G5=n&1yD;cJ`=}?p`YBg}%1O9x6@MuS)_`xAS|vu7&pziq zp$ySNnB+_vEuy%H5xkao7hweBA0TQIgqQ#kJ#vXok|MsZ1Q0+FOOE29l8lBwXtM%3sY?aYEurxYQW^x95ioAXuC_h^Z@!sr2930}>3a#1D4@e*pjlTf{XM zONrEUbzMcQRdTIx34DLi+qztOvKU_#@87ITr6(Ml^?!{h9l@YzDG5kuAAo!1h!F#k zm-sqv?+fJ#KQn%Jt9SkxxcrqXpK+2^72|JbRW0=oNg@arY$2);;-=#3udntU(*L+0 zF0tOKCsEy#iY@~}=VFXz1l`jXDHPF;kGmrQAhjIPDg&L^mnZz3BIaT+Kz+HCvZ_*6 zRSHrPWq-O=YF)vAVL4T}IQDC(2GHbEZ24m@hCo8P*~C(1d$_F^!C0$?+$xWMz_kK| zm8A6=0d^zCjKW3SE@B9p$5fdcIYIO;v4u`tKaE_H1E4X6GYC2X+EEq}BYH=0Gi=1f zyC4DFOff)wU$tv)*ohH)jc0j4iY?%wbr!;?!W)B)N0RsgU1mt{xX;&&!OK^Tz9m{= ztBjgbpjW(YIspg^@$sRnB^D_kzV=TMuYWXvvJ~Okizvb9D#U@pT}S3w;>d3ET^>*? zDGTG8@;wlq731rYd4{snV9I#78QllRawE7ew zV}0Dgp$AY%IDoYtDFo|JnCWSK3N{+69aNAed(xR5A7R3B)W%oPKv87Hh>3N2;NQNWn3FAU*;KK6~Muxc|yTpb% zb#YyGAo$Q+!t+lNU9`Oa;q1u84u2bmyN1S!#w8BFimUC#H0CQxA`*iUm6mt1Vhlk5 zy-V?!n<5$1WDd<8$CZkud9RA^Y*HNQ*yFIJVagF1d9wmKSSb4w2(8E4hzNIqI1gd5|Tb_6?%;Viq1V81th%v(7hU+Tjtu2L_|~2ICZ0StvCCAG_|-a}cgBJ@vJf=VI((|B52z_~5|4z&D8H zbICX3&haf9hwH=q_VDNsK|~Nz0UL=25#mn&dMoFO9iXcw|}=_ z4Nzk(4EgGt0rsWBfPdCE+(uS@&X+Rb30J`AQy(|W;YtP{w}LTmNF@tgFw*k8gBp3$ z7e^YB!;uty^US68_;))*xWvG;6!LXV*yUuH&W?PrI;u7qL@|!ia#N`#&B<4drmqSi zq6SBLJI1`T5?Z}OTxb~KGI@FeKMM8`Op*Wu7f-nzltyidC4ZmO6D}3}o$^smos{??kZURU%)Bu>qXAdHX0F=Vl(%_uQFCpa3L#r_)ayM2aarzUt0hv7S zK;_YUfsZw~SyfV3l`M=dpOb+RQ!Xv)EDQmBYHEio#>I(&*|J0-Zvj=?xKC7KO`}v$ zqEjF^O+3bBz<-A+1hIVEMEM{9+WfDj+k(LXLQ|{gnj8-oJio0y)p@qKqe|~@ozpN7 z&1+1(4xgO`elkKZTcU;(5wUSLmhfF{d?BXB;3Wwk?6BoX6P6N9bnQ z0{E~9K)mpf&v|fpRH#|EA{mRgSs*+6T2wOZ=Z7I*;D5+>z63ZQN@6{V_+~}iDG@4w zL(GU4=72AB2_S25cyy0w7VW8Y1eMYYQpmQUmu84^Zt;%@Lot(aSqeAiQN2_d?(x9# z$w%27rIzp2L&e(ViWw4@A@OsL^o;WdoR=qnh7iSo<2;D~-{rvl77jynvMo1)VT%QJ z0GRM0tA8`-OM+)FP=ZRnaF2Nv0(}Ru9CdOGa2(5~5r{t8MSx*GZKEN}eO5ZyV1WRJ z_#@8&P9-ewdXpi-Rpo0U$VN0#UmJ%u-OoafLmS0?eYGit$>hf-#!eCE#&;*rv)BX~ z)M?*tua8e_V$#ld#$`P9sz8JjPR!fRR6_bdtbgGOX)Q3JdiDc$3;G&-aQeej+d0qX z^XaV1lRY~=hGg_)**^!(vH;~C5A$cm)NVh8GkMz?!ENV+y^T}?B=mbG{?uKn%BhUP zseU%0{g6NJp0L3ZwKVAUodfQv4#UU2p?R=c9fux&U0?7pBDadc%(W~WE~!<4vJ(#A)OD$vtl|g`YS{t z18po#X_)P-e>5E1G{~o7{AFymIJ#KlU2N_UCE!MDc=P7aq88?e1U5O4fSrg@R>r4m zx8}P|HaRL`sKg-Uw^**r~mQufBirF;~)S2=YRIwU;O*OfAvrP z&i=NLVBQ-NWnB`yD1#0EXP@PD>>xIP-l|Gxr?8kUA{j3~Q8)aU==cmLt%f4YpQw~8m{C6i&6E5kRUKq0)>`TlUcjDI(T zqmVcg^ExbwccYipp&~v#DW)$U6(gD}=xL`Ix&2`_njC)e$$+iBd3nF29QB_1j1!hl zelnd+rac<~OL*-`FGngm^9V&g`|LSEIeCuZ*{1nTY@*K@tz0G|F>0yncrqJu&}KW^ zpG`(okT`S}rZtZ3U$xtJZdHB^`;-35PCgpa z^N&#YJFQz&!twDa%Zt|S|L#|BA0n>WZRL6G?n2J-3(2aW7!?Qeo?ZEBv^F;3PTRMA z$3A`mzTKIOk0!Jz5E90{6~{LW8H~93<6m>B^ufWbn8P#G$*PQBuQCV+TYnRVWU0fg zdGFFbn~&CaoVfnlk9P_<>hjm~$?=Ad+g-H1Qh$ZMac|}GGLKe(vQ>j6P|^yPW(^Es z%GGGeXyu#Tn$yZMxi#L}Fi=x76lFHS(#Rc2?!^iyC&vqbtc8@*s}Js{MjKb#?&6Myg@M?&bO=qk7Ad! z%wOHI%4ycM%4xP`O(oykvIsT&cYiXUPmcIe<{lM4nNPN?GnYfwbS<@I$?Wf1&)sPO zJO3?OTOo7ZJ0&o8hqF1HK3jH0{kF5lXLDSQY_UlDbMwjsy!Bc-A%6xkEzqzD+u0Hx zJ#LcD*1X9z8Z?mI8vpXBpiM#u!uF83RE+z=*T>-N&)yPc#IL0c<)O&sq;V~h7(bsC zzZ9w%S5v>JIU;lIOgT|1u~ zzeE(BZ85_uh5zjwmAI6FZj?xWuF^$2jp9-bC0+qeVU&U1|BVg@@G+s^({PG0uX zcD9$Ygt@;v&3_JU=jFyc=5Dt0Vq*beceeAaeX(T(@4XXJFk15Rq=Ncs@43@R6M&!g z_8ltDj!BQ&!T~>V9y*Z+qZ2Xv3ms| zt3KaFMa^#4y}qoLGE!G{HxR_6jrhB)rZN^1!SvZ@>u_fp;LuHP)It^X>2*zTc(gZa zq7m!vl13)0WZm3zlF2bgP@}AC{QrxKi>=oJV1Hs`@_iLedMGQD88*JC!f9Q~Nuxyt=S}x!J*lXC9T}y|2wh3l;`xnzM$(6HHG{9k|j#ozuLb7MmJ>17?c?0XV7`SJvj zD1R=>>Mrl=RVpkcnySjn(Q%b3>kA$(obhBnJb1ZW*#}4+=IrC&9BC=N7Dr2;)FUq6 zY(T`)SIv=^?>6*y>ANNcn42%wO^$rSeH*KY`dY5fxNwfAw1UsC0*aLUMb0f&5p2-xS7;-APJTUBtnIuPA{9%R@8yw9rWPY}dS z4w!MW^-<$mt#|ntOl6QQIa*sD@aZ(Y_@n#VrL;%Q-?DFtVnGGQTlZV-)_F5f zo`X1gLx<#J`eIgaWEgvYG}*Tu*@&NY&+nd4`RVXX?u@kGDM%8XTJ|k-*7Z?&aoEMh zCfR0Oo{N2GZVV|T${7v@>g^U%xPRZFmRnCG_h}ou8`)`bch(w`cC^~LjsfwBU82JU zI`|5TrzAiYqgg?^oLhL?;~b%wSwQsv^C9V19Ow|<+jOZ~v6s|+FT7?2SeuN#rA#}(6D ze}~ZGjcKGctr5a(GZugN+yC&l|M}H#|IHWw{IBG)G#QsKf8!6Z0R8mOzxe&%di6j5 z5$=|1JI!`4907Jk0yapw`+vli0*o2X!a7)WX5C_FKK+)#y?Na!hoW;-chj1;s!Jf8 zY-_QC`itj_3jOl|(R@p_tDVWQ>`Pi+x7w>3_i!I9sJ7MSEl5jsq0F5+3(+CRu&sEP z8+tP2i~XK{_SvvQa_VQFndI7JWZeK{rgpz>I&1kXiSzy*)1LDwpMP)9v(c!#yw^OL zPe4kYZ_Ts)-mbHdlo56JB?_ zv1Z639V}ek^i{1ziq3F$@5LM!Dvs`yrXy7HuyrmLvfJ<=B)RzX&@D_k<{TDM*ssvx zt@CanTj*tFh+&4U$bWB*%s~R~(!*Bn>0#LbJ1641(?f2>F%~O!HXUZJMCP=+_I!F$ zz^Xt7II=?2SM{%U; zd)P{AqhEJ^wl?y^BvnCPS{t>UAM}2$G&fod0#$7fwrZ3(KajoGAG1Il9H70T z=&g-8^{jX~19#1ip*U?7MeE1%F^QcJp`(B|XZa=Yd4G0Tu*5ws*fK4P`iV{JUeU=! zmpVK_+$j!SXx4RH03z3y6ul?*?GY|iwH<699%AZDiGLf-)`FK6%f>PDH5AHs_st!- zIs&8D-1k|%R9?!{+(9QxEZZ752`m)%HUYH%fNcz9Q7AOGNy+d zsT6xRcWB(pEmO!W+&(TLY7zILa*q>Zyv{goeZN0}qggIztkMy$@@XWof z_L>deg?~@gx=))?mhE*{%^ogCBjynN28Z)vaq+I+&xudA9r`^tJIGy$L)+dY#H@fO zS0S$J)Y?5JX93~T4jBC^zA+_byzZ2{*}XcP>Kf&s-n4BmjwJTqOY|Jjz%9|9Av-C2 zVNOSKo>y50O%{Php`3a-7Sn0b``T1;Sg{0dq1&Q0Lyq9YH+ zI+Mim`YT>1_gj|^EEFFrVSx+a9f_h!De}-LHfxrfNye1mKN-)n=L4%PF z{k?E#F*vuESS%DSf9A9r)5~SHC0&Za1!-j*zr}-y^L{b0MXb{&PnoNy1ySMF1ETXz zL6YkIF-^Z8o{%uOYA{%?CAWLS+rCqLSKS%k_P;R z8JEfbq*!xeY|b4a*%Y(+-SO~<;e8L6hHd8NLXDg{Q1zgw(enC+Kl|+U z?Jk$8GU`STipBE`00CP_>i#*(wi zq;K_RTf)Rve@Uv9Lyg1LdW>Qx|L*+G3GU16j&I(y%UT-EupI=E(1dc|%Z^ozV|Yj`oWwsiinXId3FY^0K1&FgzO0*XR14e9Iik6k*fgs>BLuKT)1T z2n;+Y@?ei%v#s?_Y_!MxZkqacqOQIuS>}3qpS$i@f6PD~3kFK`i#8o=Olp&3{p956 zn7IE%bDu@3dS^mHM>ekNf_edStw&5RmlQH9$c6$6A%(Mfwnjo<&`lc5wR=u-&?a30 zz2OMQ3kou4eXF3MYc*M|oOM-$c4@^t@K>stOG?!j<{}d;q)S|SwU$N~zf*jVlX$#t z-fS)BfA?UI)o8iN#Lt<2m%lKCi-@h9RS(_Gn>4>YC-I2AIcwI5jon>sv}~ms33T`J z7J>evcT_m11uH{wpTp<`^{(OOjNLs4FY-a(vK`Vb-IwDO&Gp8v9hrTOI8WfMks zf4;n@P{~Hq$#dIzg2?#UG#}iN#5s}ve0aQEf8lUm9NFcTLUC}wmwxoK>9g92tuO)c zxib47|K#_-{8zvC`S1Vf7ys#hC-w95Kl=MG{^D=UtHZK1dc~01wYav==Rx&01P9r+ zkA~wRwKJUN5|SRuV!i1q;M*cI5wppkb=Rm}kgN_5iL|*iwy7>yc7Tx{7K*Rhd;8Vz zfBg05fB08lbKi^|(d#>B3fBEHv?+QrqNR^cj>fZg<^1uLhZ{pmgZ%1u{?*z(+w*BQ zo*fjhP!r1777#e<|C?ikS~+<=I_mZWBjqUD`Jl+3?N44@0#%>ZUop@%IAOmH63358 zd!%*Bg_%8(wDON%5F`e6TEY$waTdT(f7y;r3rgWaS>bnCLY{opeqWS?S^_EQbxorQ z2CD1hpGS+2x5{%(j3{_t}>XmV6WJ+Eh4>F|KVQ}Te0l+e^Vj) z_1uuV<&H?`!!8DWJ*sDfvvjGgk$Bc(>6|80cX+WGTcd2B`aAFN-v!*PrP8tjS;4sd zizTGZ*+7f$_*g+1hhg{@E%o%JZHn1^WU+uc0==xnHq7Da1r#U0$pDugOEMGN`>KP+ zDoA#W98)X3!?eh;#qyeXiVMNdf5yh`f+AZ&u{7%V823h0h^<)1V!N~M6SI!c^pf=j z_XR;LBZ$m5@6ziMRicDZCYLEvyzDkmBWEsCA}3aOWaV=o%BS;EB!jSD7++LRrhe}pfQb`9~H z5>G__mlfmbWV>EkR-Ai0`gN$EIo(t#j1p9>>bQy0!z7|1dMP@p$tkhVBlM4CD zEpgfSXvq(uQL1!UBffCqRBUFGjLnE5HpPF9ylYn0JI%LFaav4YZn%irOaquonnjw& zc(z#I6{}d1_1n-#mYDQcf9c0YAI~NXH*emM6NL(Wm-Xw-s=RQTGrYT2Y~H$V?{Iq1 zS~L+blnzcmcZ8o8hMzYEjHRl@ZY|cu`w)$~##LSBgD3N+b+w>z7WVraIyO9LH3cee zd1;=tsmvuEZy!viEj}NyhUI~k$-1F>rpg9vW+-mnaH1v#*rXrUc(a)Ee!!=7P3!qe7RYupJJI%bO};i`B;*uBR=E z{~9H;Hrv^{BI?I0s4v~Uo5&wO1uD0e(+rAwH;UR6e`qW&t}_C>^*O&n&CFXW8e2gX zuiCtpEJ!g+7B^R(e~On}q{xSTM4<%H6R!rh+&x&KqF#XubDEOq>a1GgE?ZZJbDhsc z?K4zC@EYcR^=ibKw&=YqoM$3p^!;Feb@Smx;XE%$7HMog?E79Ggi*Ema8~r5)te7{ zU*G1#6C5v>d}&^*QYXi-!?4*OrfZjP3tAP9%0}7Cu05VWe>^YMDdXQ(bmXItr_>)g z8Z9fWjtk!5Z)YZhSBV7Z0LhMgHnnV^5RIdfqw0WGdF z#;UB-8tP@GesF(_{%{U2xdmOMPHb$+%r1;5xy_>Fqhjf{<3R0mu#Zn9Bh!(wTS>gs zNR}!rR4rNFe>1HZnNVcNO~w_Dafe+ifU$3-LxRN4YYP#@^dF8#FE?+ZIzXlDVXmtt zx{xjI^?-uJHgCgLbkePjV@pHIlJKr?N9X+TWJv6T=abo{+!KdGNZ#g>UlTNMHpYJ1 zJ~pFgi(BB-hy9a7v1zuQ>Sn9CNdDa?Pwf54h~Oh#e=Qpgb9%rb#gr9RqCvvLvw}38 zCol)hpM82VL5v6+N4zelAnzOm+O;QB`VeZeV-ofWblgsjB2ebBN8>8wmv6U}${Vvk68MoWVe98z;3L1Fiaa(pLnLML)!Dk^!z+$K}L`MG(z`b09RV~1n& zV&@v@jf?cvHfCVKcy;oOKCu8!JZ0i`~Lo4y!y?5`|7uT^VLuPi(Qi% zbDZ++VpUg|y;fPMNL%!U^6md+@6Ed;IgUHQuM$Xc#VR2qEBtn^W)TY(02QQal0!6m zj%EulDl)1o$*hA_*#)41esAVU8c{RLN6w72e;n;Bwj{siXupe!1;|F@NUVNQ;ur8B6 z1lVW_U5ydAqy_aowo2vLI{fZVJw)OX7y6O!X6TK^<$CuD8q_qRcMlea^UX54e|DUW z8MK?#(~GdYekT3K2PNb8CGDMYM2cB&FjqEux%kSKBOI4CyZ&w~H(W|`J&xw|ky}0b zqIl^j7n=pHyTzUI3rBa#7hhbTJt%YWu;<@VKD?6#i5Lm{cJLyJ;69D(+T}U3IkHr_i4}jCN9u z5%~N6`~Us3-~5dae*drE|LgBX^Y0f%2>#F#iH6H)#H*Uqv2Gwg2mkYhK`HKWc4d!0 z{n5Yp>0keTGCTjnKY9NzzW37~efPs({mF;_?bkp2o8QQWB)@5QJj(8Vf9VB~ed2s# z>wM9CnI*j-GtqctQA7!Ox`cjV@v*VqXs~Q;eZrwgh=#?uVy_ZgHC>x^=W6FK^djf1 zXa61I8(}`uH8XorG)@&)!2Nsw8VB(o{-+QB>mQBQhx57MT-ONIw`iwN-np>ilvINj=H;{3V6wk{CmoVllGjmnt>mlZ-ka5qK-k}}(Ye7hI!aMZ){0*P^kb;#Sjfc!|f8tuWfyv<0a;K8T zG8wDyh6C~SUcL2ZJ-!>I7a3)i3*zg&ngmjke_HXi{f9QtZoPH46I{RYY2BJfAhNtS z;%g=nPN4*vz7*xV&1F(8N`HMI*FjVHSWFH$xF)@wOz0`-{gz#!A&XNG?%3Dxw%{1i(FioElQH9AJ3yV3*YIs_`md07rTBwOV_xI3CRiL<(R^wc=Jsh z2Q;+$^4mNae?fHj=~0et5cz;Xg0pt7Ji}&wF?QFA_1G8-NY{jSZ|==Ys+_jP*-3e{ z1cliKpiwIH&=h^};!;zurE`5Pg<~P4iZ|n{?!~X1TOP^MRfKRj>EYyf`$jqBdUK6P zOI~58VW^(F?f(9Ee*dH2`NQUZKgQEt9~Vho_A0B(f4-EoV!|X}>r$(92V0h!6=yrG zrR8fqay`(FJxKbdcrJ~ZwSL&p=H(ix3;Ly`n~G&)Ggn$-nj7fDnmv0%L(LJP2(f$g z@7wg}?fF^!7e7u;7V%&FSiH?Yru!UUcy{(iB%xQ_>NXf~g>r9tN*i)z3oA8uM?C4x zVjRJUfBlQ=?zD3@`@Zgj1G4`mx>?1=dKNWbLpY$ITB`2o-NkWNm}_%K*?=Z#T|NgJ z)q79?TnbV|?8sWu*{m(LhT4RNbgsYmUK{Xd@lt#wYW2B#zK-y@%c|V@Qay03Vh(7H z7{Nye#2}{4-s3}v@jE41?D*)_eo(Sr2)70tf0MHljs~=t9M7k?Q+|6K;{q)!LJVsx zQjCw*FUj=aKh75Sj^iHc(Q2@WQOvwvGX_bm9!P3UE1&}p9!3YSE#e@zh8H^Z`b+7$ zC|)mO&@{I3DDmiRGe;Nigj@H(Gah))nj0#)hOE@ldz-C`9?zy*{O^13t$~Rr2EJZr ze?`cQX!H7uix*!U$D8|UU7x_N`+~Nur@~Cza)q&PyKfuiU_&j4(;djcmo0o(3iEv# z`d+I(1F~YG4d5mmj&t!~k>seHgGCG~wo=p4`WH#^S|((}d3VwT;8`0*wxi*4zWc$S z{U1O3gXD1^S+UD<_K=+!k7DK6P$PO%f6r;~UF2X|_?wL7{qKLbKaeQ&zyH7d`upGi zKR^7J|B1?c^iO~A{`da-mFkD`ChCXs>d|~s`iDXDDOkZ;8|I+vqaWsAGQnbV#Ym|M zeLFoylns`M{8!B2gWvv(kACB-86-(1`{|GV6yv{A$57v-$Ean9v-;>azWd>yfB$wf zrBtmS>1A#GCQ2IC&?FVjOMMxfiDHa@6-h&@Z;3Rb{n=QYC)u#+2X1=rtZ{Vd4(54& z#c;<<0Z`+y`NoGvC#fce>uVfV6|Rt14WxlaWX~=`{^Chck1v@0rxPG8ZSN2mRA1-t zV3$X53AZ9dzF4H=wg>e{iyC8=e^{sgt;Kuq5rG`n z>qjqc)emM5A-cTSs7^+s7q*UGI+~n4-lG$7jn4Y^2v}!N{ioy4)muCDfB2h`D=&gx zqV4%yJ^o5f?0aXdU<>Q^oY1YY!t3?cH#?or%b%9cr}aZ`c%!J}0AWC$ziS1%p|XcR zHsV9)dzyHQ7ORqx{Z`*4XNlsc<*7RX>!LE~^}|Q33u3u=5w&H10};^}+R?%!*aK1Gev3KR3rs62kTpX}e0`SVBr{?|VIlkbeiF~I0c6v6&xPEvt&9ut=hS;%735sGlx-$ zDvYnO3gZo4~M#L+>cnQe&f`4bV4a4<`#JPtYtjH!hp9CiQwOTz9N%m(`J8@Y# z(L3=5nu+(`>&iCTiDi0=B?%pRDo2vPSLrT3d)kSiLGbm8isz@K;LFTTB40FWXw3wn^1k$~#q?eYR$z4zV=FRUR>!0Dyln zR4sS@mQ^j!Wa+U~ZSejd{@3?^^?Pxm&!%v>R?`w2zedyYx2IS*k->JgW}nh6Xvykv^gOEp=u8zgF6;5S z+4*Wcez_*8rqk@Guz&AVu(s9ge7)ZKa;Mq(_9vp*fk+>1-I9-JN&<%aacW}D;b&eP z-AS$v&Fg5=P47p2ac$Ime&e(v<{RFsL@-WqV;WaCr&6s}A{7L-Bmr`X&VUD(LoIMY zUyx$%kB7gmR$C06cZ!ZtYWoES=$XT$j?=8pe`x=92bkSTddui3H zB8}2m7EL~v%|(+Cr8l%_{F?^I=(r>XY0JMifvGS=UX_=+$IS~q2K=(gtJY!lO`DI4 z`BLwB^9m;hkbi++s<-}OJ^sbyrBv@Pi3|EmHEnFd$ew~%ltoz-or3ot)LXyUk%52w z33{U?YoO#3up+_(qD`;?`rR^yRc4`U{iRMCeSrkq)AB7o9e4}={Lharza+ZbzO2s9 zQbEk|;@c+V3UXZ~8>AF}fcN*Xa2vii$?th*cy-3g(tntIaCX5^ZtLRk;2Lt_)zeGn zLn&ef+Y2S5q0P<~>83+XBN{3R`%U+BgAZdexW`AF;0k`f5Ds}gUb58r_Nq_uAR(PaT4m2^0ZtWpRS5uh}{xI3Y9JU~Y|rJ&{*<5v8N4^Ums##$}h0{Q<7jZ!ETw1M@gKcemP_h_*|b zjlyM$7(9y1)%0;yFAvg?)!6ngE*dNIe^PJ#ay_mWyyI&*T@s<~pVV~F5NYU+rK#51 z%71AWv3fxV&Z0e*jusq?IuuC%H{%~uT_dhb$v^h$8cgt6?9|0D@-RHy-%kWbRb_J4 z-QVA@noQ;ur+}#zO*)2hkw(}h3#c24Gt^3yip$3jT^oH^6uAP?HX-Q_xi1jYSa&o9*!Z^AaY?BFaN+ndG?jJj(@&N z$4Gs;cxQs(LJW4GDF!!RY$5SSiNpODMlr%?eYQN&Qp$-z;^Eo|Vr@31W2#f*B%i7E zG4*yhJHvLN^5^y1gNHHM45t#=K0YGp1tE4Gr;sMR7Mmk}9*w)@>B1Y0mo4$;gQm)e zbFhp@d?`12I9|4PR64dc9?fu1{ePJMC1zsuu(xm=x3;I;Pu9m7Cy+R*KwEjyUTQyW z)|awj9=){IfC@g=Yo9+lj*!CfnNbs?&$kRMgKYfyQMM2FmehP{rfPJ0YY0BfZw)9TkPQ&!QN^2?;~hUjNp7o zn-D#mvA_DsAOmo3QLb5&%rZPoEA2#&+@R@dIY9M{tEsyKvQg zQhjMZMB~#qh5Biewfh1T4uOK;ZMvPpqdHq(9Go7%#WXdk0FUZAQ5P;SY8=`+ahT`y zCW_nzWSgc|Zj=Te*6PmhwX42dwr;2ZS{~+$;4pU)z;JOxHiFBad4F>pVFTkvkMQ!n z_sYoWoG&=j0*|C2mLSY<$cqxr=(Glfg&c78Vhkp+>QqSh8#$m$^lI@^N3eOpMxa3q zePAt9td_=)N7-BDS$1^1h$L%-6swWJ1s!@yq`n{S`+PCrky`3NgS+UymqKNioJXEv zS1ltJYe(Z&NtjiaDSvZyW$>PU`3k&RI+0)4+N#nc;qoy16N3W-0wn4v^`C)M14L)p z;p4MKwpV9ZE4W9F;9U-?y{wsrZ0~26Ce}6-S>i7=?R~LnaJ*I~WPEV;a6KvK6N6KZ z9~9##{7vq@{Eyyz78}VuW^d1q*517+L-y%GRBk6>qJM+me?MWcw>SPvzO6R_0#mSb5SEi( zTBJxQ8D-x^1tgZeCgfRCjaLI!-~_QY7L((n?N}FHzU_~-w#xdreT*?GmJRuGN)EL3 zwYr?X6Px8nxPP*8i}ecAiPn?=#kk67+^f^{nM5mSIxfDWu3l;C_9y#V>g2jQ4U3t2 zO<6-=x6o0Aw-&8$d0fQ>lv(s=y{894aQXdznkc>-&+nTz|$rM_Nr&zL1ax)y7Snfu2~A zi1FIur9l`LFbkW*$aQHyS9LmIQ)9~r>%~kk=p3nc;sL`)POO~{njnJTQSQ;|a^)00{Pox1If$a=>Y_2q#w!hqp!C6wOP`_mY<2NAiQH?f z;9pfNDm3n$);!qiV!>XPt5(6dSgfxs)XxL)s9s%e7&-RI6(yTUV7ph8>H9>!enq+0 z`_|82zph|=^Yjlcmc*{VyX4)s*T?UGU^61GEq^I+JSoS~OZ;q70!`OA%gku~z4u12 zIeL6JdU|P8KxC}g^f7Otd$SWHk;1<37hHR{o^OtRj?Q+XDM%4@nsVEZ&j@~XN@`E! z241d9?eo`8nC6a0#+kmUX-Z0h{CXLLAKLzRjwYu>UGAjBsB5FT5Xhoea)PqiIx%E1 zC4aDBP6RK{*2l+utd^5LB0z-K8jJosPVy@{4r;i8e;{%bo@5VQi}{0G5k*# z#r^YNID6-C?|7cEVtHr*Ob;)`FP)qgnq;urV=m)XB94&<{@ot@Fg4Sr95V=1J< z%BY3A%Gin2R%nx1FDAxHZ>!w;iQvavi%HNy3!RI?p``JO9@WHan$_T?4HI7&<#kr% z)=Yx6T8K=ANf8PeTrQ-Wcv}=!WtXZ2?OZ10q|jDbk-G`?=<&+X$HF_2OEnRp5P#NW zexkeyLFdX$q_Rd@E>AD1wYCW^FNF6ww;}wX0@`r&GN<8LU3g_PsV6D~Csgj_#Hb(& zn-Opdt+mp5FcYC1wUY&ck}#MMb>XcwE>qOM6(Xoy*@^blX~-NkEDIV`@12kYP2n7& zM3HGZp+=PQn70*1iI90c(MD?m;eW+S1T39N8d&f)&}TzE2CqV9=qcDhaItP8XdP{K zVXR7;Oiu)XN6L&^aMpT2(Mu7e%4iY9 z84Zj8r<4HLX>qJ}+sa`D2(&hHg`PM=$Sr9$o+e96DhbQ{Bsl8?CUF_}o`2kxRuRgn zAgKkTC&ttA>naZfq(T*h30BZNh1WKxniE+uM9D@Wt&y_E!HuL~D|lK~iE3_;2$ z!bwdZb3y%DFMS|5Q#EUyRgSAUr=_E}0!U3TARKd{&+=L{|8h@0JO>7J4>7DadWCZ3(Ff`DB#igBN36{DL6QU>D_g@<7 z#?k8eidIS#6Q^9^GlCT1MqDaQYgKqcRzYjwq;Q4Gq&Kv{$`qOqL=nuDAq4T(DS8uV zZ3=CGI}&?~$e5lKUOL^qp=~6bRx09$c2?3J)YyWA&%h5Fk}ensrhjmS^VXVk`okVr|NEyaWlz5yO0-!ez)T~cc}5&^m}v%tG>$g7>%Z+` zR*?}xN>0`-s!S|lM=#0f>aChyP$#GRl< zTZRzP3X2nvk&cKw4cAe7#%b;PZ#z`n4#p8O64_D-*A3CI%zqPAOQ%QN7DhT+mu0v> zC=v>sIt0^<=o0~jK2%JujnTAA2?U04#6>b&5EaisuL(NB^xpMIZ;>;-CVD6HmR{#f zudPXRzgGt|K5xl2qaAHXf>KMab0*iu_;j`ePXp`D7Cy+FV!D&gHXNUXFFNEjBZ3tz zeS4r~?Sa-EoquS-C?aP~@vLp3Jwvmuh4#$P+A}|$)6UXS7|(pkJEixwJH3mH4}Gny z&f7yj<3ryV%;;h*jbpkUW!4NlZ_oU!J@fP7cxl@OV5K7L#oi=ZSzzxd%taHfx93qj zqYP2L-aCzrDe0U8K1*SIpk)Kf2HG&~DVR5>;I>m#gMat|IwV{{C{4>81Q9A4aUfEr zGx|Ltk`MxIt|gfFkaM#^Tr`v?a923=x4q0A${djtb9In|7op&LStW=bZ^!1N0aok$>7I zv?T~T34XLh+S1|Ky#tDC0xEYG#=Nz zp^ge-BjmO<0?ST3R7Sv{Wv64Dm=-$oh@#-6CVr8qsv)>#OV^rEfbfr?N>d=P5z2a+ zWB^SHL`eBK(1dwHIAQ|@HKxEy_ukPH9XqDLygK z7!VO6URhOvSD>K%Mckz(1ff~d^3j%-3Ph1;0Xp)iY6y$FcW1yd!VVC7IyeH2Qg!9B zw%qQrexHo8lN>@5o$aG+0}>I-ZeRTT(|`3l6$!-Ubh>uDerM4WYqySBAl)yYmq1#- zGmu8<=WH2!Gb& zmz8K1-2~=2Od1jQ;&R%W+xbM$!A=NZb4YXi~8SX=AUQi{bX^nWRtFwDz?&KR6P^dB4UdpeC|N!yr29{P`>lf3tgu@)qn zOgz{cs%yX_$Et(pSP*2zwpFihG~-6kC5TOkEfIf0)Q@;0l}4C@iOfKCOllgO8a5X= zXZ{aKB$l`(*Nlr8FqJA3lSCMo`C?)rj$jn{p?4$!0nk8$yNb^Af`7z#t`3^kfTuJT ztazG3@0sTSj#{TTIZ5qA#QG2zLZgUmXVH`=&dBm8mEY9_3z7$kVJ3Q#3UJpxi~kns zzch57B~_YBOM8&Wh6Q9wS`30o{5O`RBgdrW;o~ON%dVUfwq|H*5ml7ClFpnKHV*7? zg7bm)M4@zCfQp3oc7K7upb-PoAO}vZ!lzHfg<>fL=n)BRvMWV%YsUf=kZjk`^$?B4 zsRTDVDv5xn;dI=M3%4UIK~JwCERmvoVi9Dfvr~l3K8N{GvL8=Ao}=+;`4)%p8J*|t zyC&UWdND{S*c5vDFy(|9^?a0)=SAZSkW3+(hGU%6&E!`4{(ryt{SSZglaK!3FF*Qs z|Gw`4FM!a0R{H<`^*?KZi_Z2>*=}zb+#)%Z#4r|3=lrV;VlhLEnppew={Sb8ID>N( z-t2MG5oGY;yol>m3#QX&F)C*z_8X&D0VCRXuXRM)pnjXa21Qoe!zX~mc*8t_m1*Z= zI`Zfu!?NXzqkogP?~JYstUze8Hu|{~%ApzEdh1rV@r{j*N8`~qzOliP@!H;p;SUy^ zW@51@s{_vTkX&ff=(k>g&t2~`atXxCwxPj6TVCLze{)GAvEJ6oS}>Qcw$5;N(t+w7 zPTAAOdhEC{R^jyam*a8YiPkJzr;U~L)3G6O=$fN_ZGS|P+TMsS$jZ_^FHWG14BzJl z+LtS36Z-!rB%Gk7?o{uF(>vJ>s}qT*@c4UR^?j$nR_@?z*9uI0C?wH#HG#NdEx0#t z4CEEuU=e?4(!cSIgw8!ZbIJRPh`ZZ~9i4mdi1x|d*h?ntIg25pr1xNa(@6qdKV$~* zn&227TkD9X0Zg1o2um#R$7w?6-dy*0}trQAygXB5&8p3Kr?PP zP%jFygw^uC)lcqX-6C+#HQz@7{s24#2_qw9vwye-4EL;oe!!(c2lx2A1K!8QWfZ+- zbX-WUSVk3_OV8ZgdCpQx*s)m0%Xs1Xc(Kjn6$P|Oj_+}y9t!bBm+>Gc0kMdUaAh>p zAN{t1I)a-4QvtmVcbpXm1Ysv2PxAm6DydvM>#PSEegnuf@KIU9OIpcLiHw($I6W3= zWPgAxWkW1Em)Hd)k@25u*s69Oa*oE09|4ABNloGrz7SP|L?m%-pu9@Y7MFPE`J@p3 zmeR{KJhw}IwrFA-kd9h)06BFS6R4+q5rsT*1%fANPpRTn|VVxhyP?wJ7}8GYWET?b-#K|^d47~ zt{^|zW=c@~r7i_grb0>Fq4(Z)kLA+0QL@RGe#2CACusbJI@YCdMcY~Tm}vacZy=Kw zpOS2o=A(Phs`o^LqW>=Yva-#5$(M6ML{QoCMguv|ohEtoL5Iw8U|*#NN^p zr!Z-6shl^m9#Xl{%hSWzQGW0ETlLYXGeNDo7RqG3b=LEtIqum~;X5p#;c3y8I2|?+ z152U}hRgK1skmd>gN`)g_j6|?d4CW??GT-zhQ;fk+|H!1>ONG5&Ky9G;l(-s(mT+3 zD1RPES{Ldd{<%+kLKu4xi^P+$*RUB!OMd@jw=mshqyae*!#tSq7&Y`Tb;|6SjtPw{uI#$_HVdPrb}^r)_>at%XdZ4$R;rFqMX{GsTu8HD3StZ`3t{b=?F4hsWuMOY+tVIFYFpa)l{GH$ z(&l@I*p-$h~8KnpAvCtf=aXxi=Y4bVF}R8*BA9+bWlV<>1Bqh!#XdeC4b<*n-|)9)U>yr zVjfTjzx2jezIn7b{wXw4OW->{uFClp(CvS}8EpGChL9b!^%;WeVB8m=+9-k=;BU^x zTzs>{k!(#dy?$Tpseiq|N+IjQb34J$>hiQY=%3;7&2vA+(?AACrN(_H$z_2KX1N<+ zSYTm`E3B<@=qu7c4*ysgpmCvpaT!vY0-{Ei{v>Xg4pj@&D-*UwL9DZMFvGR5@bxe) z01Hekv18ea?`DhU(Wh@#RRwIX0#!<7;%ok6Z1YRN@B|GC7=I<>2DD(CEto4y>RWmX zGpLCHOX9>NKzSqdTv2rb4*n=v3jE>5EQ<{VU)&mvn^>A^B_~eu$Z!=)(}zhAf6rlr z$fm-M@z<>+0_*ms&uibDm-E?l`*=Dq z@n~Ourc@K%RGwKkp(ZK|#!pO@3(fk=9Hv7dCsBVw_*cNnL+fH!3G4~sMh z3w=Ub!hV>v41 zYLU9O_*_smZjbs4C_<>MCLWgdu$iS1We%UUpYR30%YugvmOs-=ohd~xVctX=%d%a5 zMiWuk7Y4)#`Zk4IURKqyIV5#XMWxXgH>yimrsvY&S;M@PrZ3Yoi`hgha*un&3f8{# zQ{wiL2!BQ{p=o3zOg3bZInfO^1}Er{5aBXdTjv@tX*bFuDwa1jC#8eb^GmOmebS6D53W+HNHw*fuEJ3Z}w^$k6e@j5GU>y^5 z%L>L5FcfE7y&TrFC=RQBSZL=2Vk#DRjD{hE34g?qOa5VE zL4x=kebF39P})Z}^wH04+wJXFUT&2NK^H^$%MlfWrKI200mxt-frjnP*-S>jWC@}p zt)W&ZIgxXih42_~125S-0X_`Wb>LCbpd=~;ASpXsuvIb8N#KjfV4|oeKDG;(;Yu00 zbblsu=s4_ZzV0XDJ(mm-DMbZSCbZ>Y$IMnR7Ip@}G&XK!GbhQWMObQR$PG~0uZG91 zNUHT#Tq3A#q&fs|IeNUE5+m&GS9{Yi8sptAt`yUU(?@&dS~1Sj|0Zrdmf_DY^W8Dh zDrowziC?}{R^LKK%_AbVKc@;!;&`vw!GG6%{?BN9_IU5^#hPMYPSv#iwu8Wx^tvd7 z0S|LFo7P_{PhVoJ02l^Ec<&GSR`RJK)a9!fIxsZSzdk+3XN}2HRWnS2nbR#XmKGYZK?VJYSmx zVbe2r!nVsa1Xk5x1X=$hkANG%W)C{HoAvt0(g;x3VItmTy#Z#uIb?BeJcO(_&nJgC z4v0%r@DUL=0E&4Qpy(b@Y!4`*2Y-}s6;MJCC<&?;fuffHB>*V?)ho6?Isk7ACrU1h`+rOr6cfO)zE2J{cMZU5xdM^>^}E|FL1h2wAo7acy%Le* z?lwI{Ha$f4Jw*1+?#|gEOyiGM2`FLd?l#-j!|aw;tq_^D+&N4gX;A5*x^j1m9#G5* zpqRf4yZcbF<0?t=e^2frxnrCDbSi>-R0cNR*xf|u2$_Hrj)iadcYiZ6fWVI?NEbUMJ#J1r4mi~9( ztgm8?3>!awqe}Os)U=OSJWuV!|FHpvjjrE~=tukk?IyWHW2hkdvU-I*SK&oN|GO^@ zn=i4iq>rWP-vd|ZDwfX_qcj?$|D78l+lzM@ycx>KG&Y)s@AcJd_niC6QeUw>`rla^ zQ0)1>k_8W_H-AX_A5D&?MgnTl4Xa;^KJGefTI&x8*!>~e+wChSp4TQhs1FA^Kz{Mu zwdZjd1LZlZBH*f}cY|TS8F&b72k@FWCE%?I7iA{#K1@_rfQ^t=@u`VG09+^s^=B?u z&B3U`UU0&JMWU;e7tFspF2RK*KML4b8l#4d;_Pl41%FqmcD3fKa~>UZF7P_%(dhy% z$iNa@i;Iin)4lP<>btU?^EPxV@GFE09%>t-qgSRErs9*`QjNgGn~!SP^C_`QhXf#E zab#6=h{B7WjzJH`nr$B8O;3z30HWcnL`NlY!)$@)iZC%j#wXZ#`g5p?3Rgivuh@Oc zgJZLB@qac1Cp;d&1y|Y%?7QMi3i^V$9NML4l)4WGPNmsM(crE?F|)$_0uEkyxx%Q> z;{Wg+!@M}AgM`M3hPoS30$O}+tLS#;1uE$Pm8)bcLp%c#%p4f2z<`12XH#0kpXBY# z1)ZFV=XGQ~dORCyEMV(3xE# zVv^`fu>%Hpmx-ECZVvVqcYqph?7K}XPYxZucYJk1RA!e5J>o++{vUoQJCCi$fFp9( z!!Z*oaDRZ79SDcV{f4)60K{I{`O&H;cbAZ46c-v%2ACD+5%4f&);9Bmr;ksd#Eyt5 zJYx-;7MH;!qGVhffm+%(jlS{qCpYQs6>H44)E_FdCqIKqn#o7F9acls9>XK3rA&G_7&08 zUn1xguAd4^%tT?`@I(Ix@uvk5L1anr;Q*R3Z-`hDZAO3hBqE#Ofp#=lT?8WT22!Sz z8bO=7Vd-r7a5dyxAyp^@OWTC`h>9Q!#5~gISPJjV;C=7;4bQY+ll1E7>~IrP807?Y zJpgb2%f|z+-ch(bqYi1``THE+M<5iI5C;l@bENey_)y(;TB0{CabF+^i&Ok#+abJ; zaNHva=Nd7wZDMs?>`4qAv9PELaXWOlQfc~!S3JJkk%o;#tnvuY6=>ZHLz}*>gR_u$ zDI?&$mk?$Y9)GY%w$SLj;^kGUfCRY8FQFJ@lw%U{6Z;fB-N85>`8!$mvdvp<-{B0W=YdBbs2#&O6)dF4&nkclP zRSynCSbO+ek*MY1k;!2{;T3;~$W$;{OrI2#7N|w+z%EaPI{G%>y|M3Nz%>aX;|Xr@ z9;8K26)YWpZh_loYdkk;18B5DXa%C%0qheA|EwC(Ijo;Zc0?_k``9{FGVmk!Buv1r z#k+g#+!gG%^JbQLoMoP7nWt&yJYeQDXi)G}Qiuf0)66|0U#gs^iBC5=*qo=CN8s$j zafuG8!hM?ulJhkA{*%MFP>Tx~KOtnK#-A+C5-ob2#YrOU2E5UDlDWn3qm7p^XcQGX z+@QV0x*=-s<2u3$)w)HTOCINv#c~mE5K<3w zVRJOJ%gtkz1bZ2y>zo5Z>MRZmf$T`UyBEN2;?9@aXcQoSn5Zd@)xs`Ji+~>mo3I-2 z!uFo^(VG`lEJ9Y<^hd;3>9Y!O!wpRl;;ARew{a00%2T`Cclz97ivBj6H^P!Pp`kSJ z8@`vk6}g@GD&z0m3XH|5?tnwZ2h955Ya>Oy3)+j1wD|(M#cM>s^}Q zX-peGKA{8Zt>e?_=3SurTdmsMguYK_2?~lg1 zP@ALofAVkM|IP1y@Nd5R)1UnA2mkpGKKR|={NUgH>PNrBpEVjoy;$R?Kl<+bfA(+R z|K0yE>H^io7C-piKmFP7{n1Ci^*bN_`JcysxI6EE@4FxU@ppdqSHJVKAO6A5zW>kP z|5yK(jU|aUS$@Io)zpqI`2O_lO*zRPjpo1o`iH;vuRi#lAHV-+-~Zq*|K*2&{@bzt zXw-QRcVU~Oco8=(Pro(dB(!hTi^c5d(HSxZAC>3#5KKpm7v-a~`^ZvHZ}I#(v2xgd zD*Lmy>*)?JH9n!;z4COI76w13@6aBdRcs5&rH_wk52U>H-HYwSbdI)+ryW0gt94~Po|!={5M5rGV$j7`=(rI>19TZ0eHaJa4VHlDLRzdH2d5C8X9qYLXRMsGh);8q z86!|na9()1YQ_l0EZxVSvFNSpd2htbzLUVO%_oFkallvLm+WEsijgB&Pmva?K{J84 zNhZOcL<+lOdGEx=hbwsAE}1WXSWzpnP6cZ#yy&5859`z7F(__|t~4@J&}@0}L;=jb z)#4EX=<{Y+H^bYipth{DF$QW7JT%y{8CqD_C7>za&Xr&dEfvAc{%x@e{vY}1-P6;u8AEGXvM^P$05$Wz29$2-!BdzMZ>Ou zl@syftz=ane0WYvbu!(5@2?d7yfvTnNoXB0jJ~O&4Y(}GBwQ&Aw_`Z~thi4kM`=Bm z*kdqF=D+I6AyG+0CzYT+(ly11L|E3!5iup!hiz-!fx`_u2s?bGscBUpl?b(==nw$4 zV#h$Dys(Fbzq4hV-k>?UI270pG3j9af`6@R+%XiA0dXL3i4ZJ*csgL+juhwKOsp0M z{0m{CWx+}sO_-Lm2~}GqgKC4_5iC3K84Vw3Sg|>d(1(8E;(#tOI0e&r#VI)oHfBWN zaSr;-0mm&HCv$8&wqk@;3?3yBIspm?K*N{@k?JfGFXZiKwC^<6SBPUx5Wvk>-s^<^~K$b7Bp=|_yM;K&C z^TK8|ba1C1wEi&0FVZfA>jJDc3z_?yYq&=Y`t^>?|-p1ynp|Y&w8ln5GKZ|wEPR|TKFI%>?I?3W@9)^&1n$g z4+gl1@vgD4X)xHrL{MPW+092L58}c_n#ZCi$O3ZXAOJOPGN6;bT^u$)o!%hmPo+%^ zZsMo=V)XYu#W(UP_H`kz2ko?UDuT8)d)F6#XTCTVFT?f45$lPI2eJ3u!hRmrXN!8^ zupHk!cV0LRq{m_LB@7)qY|~xfB5Ptivl5Ckt2EC@1mZYa3kfwyqlX|f{2ad*V3Rmb z3(Q>T70hUx&+?5FR#)&v9d}3!0}DvRnpolzkof}qvr;?p{e67E_T|)v;qv%oZ+vop z$@qM4d@+=+%>sAGZj1qmIRZ$%b{yAOAs_?06ZZJSfeqO@yJG2)M2jVfmSs{1%XVOpmPg_47CvmlU`hVW1A?N#LRcG&J>G^Or ze`hm0-9syPGNcU19-q$XU_CfJKCE-9TOV=cv5k%C>||Cxn$3<6_UGTMW>x)v=;YD< z{>k3aHxD0uvpU+}K$B-1v8~Bl$NT$ov`+n;9+r!>QTlx+cKlY%A&?#6>pZ=T*%{h* zPrq^cjiZ$+b%H5$O5k=ha_*bVy={j*cfs^3DU)?BYa|2HZW2NGx zn#c@>^gQsQ_fmn=g5FEnQotsElK41Srgx7q_%8x|S%Jv@oR&jLgQOge1sZtO_a0LP zI9x~#&K^7w$qv@d4I~yVS=O^&n<7+5DCeS8J{2S;99}pD3`C<{inIuPgBb+uLWj;3 z*mI63Y{3~z$1G|=GBRyU3u{_Uhdt zCE$u}g*?AVYy;mUf(Q(MoH#?P70kPPWHBbW3{r`8-m{M`PzOF&1)z__fGkN8T!j!w zKvx7d5bOZe0vW;&Oo&yt77&~?;gd8=-$5oLh+0l1%*jhRQ?0f>u(noGAtXX8kcFBA z^61<{=pyEv>D5>k54<%b3ztx>6dK84v)*HimPkN}WJ{3jBChn_%bcHn?RH9!t$G^0ZiZ*~-I6A8CwEeW`Q2#p(#&eRtoHN#iC*^F7c85xyR zI|k}?_8ucP0!}J_5J)uOqyzzsb?ONu8vEA42UsFio`B!KkJ$;m%35NP^@s%!lO7c3 zQP#>hU*(BfWG%JG8fuZX)FNxCMb=P@7@fVFQA;hd0X9Zzkqr=86xtz=9KlR@_)1b~x&;BkUf0vinm`Lb!3caI5A8v?-R5|vhn_Tboa#lf_=d%TF)d5hTdbbg6; zk9Me@r`?~myFYJtf41Z(=5Cs1@^<&Pge7lxKQ6zBz9TtyLj>Bx8>I*$vRL*CvGHiH zLO;h_Ca}>S0lZ>8k+ig^;O`|=ERHCx&e;IYA`@?a?HjCgl@HLhav2=+pX6a9?Z{Sb_rYt%a z6aFG?EQi90#?_WMX3Hs{IpR$Lst6JzeBf>o36dkb6!tzxdC@y)Bb+aGbHlG59|r3x>;`1<275{1s`9R~irXM(9w9yR zZq2&xO|N@*ZTE3YoMEO^-e%ni|iogN-kB9$!}1O$&bZK1GXv^5Q}V zaa3_1M_@4_uvtfie4+%ZqXf1iQjm9fIB|^ToSESUmQ`BCY{}fR9&zi@Ae;554BxaH zzKw*_wBZXPI*WGTJdJ!`h-$~7E<8tMQpgTZJdI_!$A)bp37*LSbKv04;ky*0GkM(C zvWO^Pio+>{HM21VHv@*3IA6zqk(%J!f`)M?C3W-6o!n9*<;&-1u5oaDa>8jXdpfD~ z?)jT-G=u3KhQw$Gpf_TjbIcDNQsA2Wx(Ams~vGuj*HR>?&RPHBwIYYvT$p`<@4-&4Fp1AXSRNwUu$^^PRs26`i>WTf9^ zbFCczwCzj7ArDmyoB;|VIO1I3$c@CL#sTJOfQU!KQ4zFi#BZ7*fnQkIjA_C>m z9`C+j>M^e%uBJi0IdDvW)3Cy_7!l1Ggy|NBM;BK{6W>nL1=o#35Q~|``Qh=&p#im( zoFq_iEHkXXjJ`W4$HuND@<@5!e9GIdpB@H4?E@G90l>ck23c>BqJI<85(ZAgjabom z8m_-&#W>cX`G&~-sV0+Fj*@e6{Xw`?mj1MB)S`gE|C*(DN@nSQXa-KCe|w109NaNw zUi#B5yzUmBFH_UHGgEPC-J#_dS^CqgyHmWnF0MQ08DP$>aP2oAU8o{IF)S|XQmpa(u%b^6C0JDfou|`CA@V+b&-MkxIKo_in4?>^%Daif(!5pxy zl&oNhXlPQrW=9ALUZIG{L0Er=#$W|;PHz(&n6nmFa81)6%Bo^cWr zztbmU0*O4a?KRtxAe96riG}x^krTYjBv|lhf!QOaN$O=*H2rBr01u-jpg-}K9I_?; zX(a@f$&JB(N)um6f^FQxydQ|bIKjvY)>Z{(UULq`g30MT(k71(GV|CMn=m-!M-43O zOBdNtSc~xT6u8@hxWl4|M(8W!m})|UDw)+cj$SK2|lx*@nGj% zvLw2Hr3#>8F4udP_ks3d8vVrgNxQ>>|p7C$=5uFD`b1C1NmVFWiD8 z6vFx4*pG#Rxoh#s^6pzjm(*bxhtfE>Jsb9adWC78CrUL}i0118*jmn5iC!fQeYaQI z6`a-?TWDDuOJ6=&+Fds|Q>+}E!``x*4uz$o0|fh{^NOuDkw9o^Bg@}DS>9uBfMVqU zk=5Af5Tv`&0D}oI+ZJ>-Ep24^+b7F=>;h+h5e`l|d=sY}FCIaL zj$Q{FT3kqFj2I5q$L&)l93mDNSmFz0m7%dJ$H{o##EAh=^Tj`7+gMz-W>niKLZM$lm=Uj*yq`1HayiXu57b-#A03c))F@lBmVs2P) zfAYA}0dC-C)vzHa`-;%%>Y$i6h{`}{BALNUui8eUTRruG^%gur2hK3&pR&+)!WLP3 zzSe@O4L8_On9-nM8)^930arxq+E76M2BBI?+JwZV7blp?wv`?d6abC8e-LXC?8zXA2C=ue#{%~x1cHAQuz@CKMt3i( zI9(6p-XcwtP=SSoX724YIc#y^yi?sYvu^4XV?VI7Jxhe|YR1 zDuLt#u=nL-3lVUvB7!P;$p|ro>uNw0(H@|x|ll_w#Nm!CMgZp z-<*%i;XY5buMk!b zsKPWUtEoG|^w3Kgc1b>>Njba=k!Ddx727`q+VeOF2rwFW8xWyadn0l-f8oG$E**!x zg{2+SEFFj|*@jt=(Z-Ub?GPK4kQi(=tN}y;+jff!cxMzlt6o}|-6ijyEL*|ea^Lcr zuhh@&n(wrn&W`&WG{5*vG0$-d&zj+`U|oW?9ODK=l*pwrzLJ_ffC#_&Mvu;51m~qw z7mAgD0FjywPBwjOzqt5=e~2@&4A2_IMyLv3MxmCKAVsN`r=!skCvdrm<_kAa5W4}N zj3O4q`6!WNjYlDTkcAn3={K?Ma7Rs_;0^+sQb^iG7KzHh>{E3FcMIRhf7VgU$_A}Dd`Y{7Gc!?# z1BQpGhUd^gTG5GR!4dUlpRI(;?#eG0fC&==I$UW4f`BQZhql&g+|U*|O%vjs##c7o zqhS+4N5YZrOUBQ-f57OXnFH)&=v%~%oQ9zi?De`YKJPcN?HO}nj)AL&z{+YVVOQrQ`&knih22|k?%7JHwDuI<-_E@y z?8)awW;t}v>}daZ5Qd|B`yc^OVXP}AFXzP7TtDn3UywB9CN;WF?{`zY$r!t*c2^jp zT|;Iw#VA7*Gl_hi*R;NTSXaWVg>6=xUsw z<}yX?>sLU|RnLQPNC@@v6&?3hD7)2$?c-v0i2J8&*IKaY`{ggIIuqAzS#`^ktkg>b zVuWhXJjWyM!rAs&JJg=_G$TfE0;6-pB_?@c2XR!re?B(|)9nugEWC_7&*N_ncCA=n zXm=1WM(g{q#|n~dasn)&`C3uLaI4VITb+I#5O+t6u)WVppdI#zQMN+DY}^}9V022` zNyad(%F-{-)_l%1Rs(JX56ASm&HTLarSf$9pgdim0tte?t1xxb;OeS*#> z+kw>Oo?hKV*!QI+VR&T|%}AcDnXi^d_52r4j~}0)js3l)=5 zraTo!tsbj&Q(4y2u&RZo+h=R#YlLMzG$=|_UC~IXl~>MQ(MU6zXKUzi_V(=PY~!@% z;8%cUy(imRbv2z%Rq$8Vntb!@f0~N*>FM$5hAsr-No7n|j*i=@*{?5@YjNuOvKr;! z?bk#4eOc|B>O#4u%`3{zj;8h7*KB4k)3kM6xi`;w%GTEVtCyyzwJ1VwqP7%1l!HN0 zLrtF_tFag(8Mr%j-N@y%*pqv*BP2z+w_hvadzD(GzeUBvq@-ma>!ar+uAw4R|_OR27}dVEB3 zW-Po{_&!~kma;CF72ddA>24yotI|&52GvgL(`M!6ez%UUmW4tRnq{RoZdtsY$8GDh zD0Y244#CanMS_tUQ2DAZ%(B88w=3Pw;+9p~!+UkL(|S5Pt*b~~fA{=;zu0~u=G+-yWc3UX~7#Fb-N!1d1g z%TP5{HQl#+m#S`joVxAQK2`&*NO}84j*b_zDpD!p{{~b_SZSA(-MCfZj&|OvMoT)c zt;GpKuqT`!9C?+mg}+pC;}%7`J$sAt?H0YZ>fs%e4M%v`|65a6x5WC#|uXbs&0Iox`6-J5<=Jky8z=$CH7ZWX?ebzRqNCR&p6bf zF5wv)IXOMvf1kza>PmEI;L4KD0o_eRIaxbrRyVQnNwm=dA;8wR$>Rbp6Nc9OJX1TfLqu6`pee z4mR4YTWFHNfw-4C3{>s4l1qwi+@@^D+uf!@d)%z9^j2LRA8u5S&lbmrF?(Pcbu4;+ ze_9V@ziPh>SJc^frb^wso~dR#!JF28l|%ls+D6o7zy<7!J+r#X# z<-&CpH=ey_H|1xq-cEXX6Hf)+dMM$=cC`Mtym7sp8RExlS!VEhpcq-#Od5Tp;Gj<*#eA^{3-< z0)ry94;pu=JWALM)z&XJI;|`5yo^q(gSz_G-tpUg%hTrFXUhDvoyfC#R7j7^FVbWI z7Hwt+-eD#vXSN0Vq%|L!KNsG%f5p!&r$Ukj`40R<3QvU)?wZOJaErz7B~J%!y|z}- zea$blkhf3w+n%c;Z>q-P`I6$@)06DbAhM&zEF32L|D#RYd_ zL}51)k(LqR5z*HT0?a#8DjUI+wGSzBj)Tdh1+);R2VUu@yekWYCeTKqD00VHfyda6 zi73#2j#i9@DiskBypm}sb72vDBjQa!=)u&0mIyuIc;#VhuYKWs+fC?t3B67-8L2$42+bYwe+`Oe$Vx_7_8!yp5!l#qxy&PmB~Q2q;9ENI*8Af6{5yy$ z9P{t&KRfQCGXzWci%gn_}Wl_fmwRU7my;C~3M1bc48N(u#s+C}ts zD$cP)yhpS)#Og|alK%=a4a8CvLK$_TGZ7+F>gE|CDr4R|1hJrPf5%A&2^SG=LU9@& zixe-2|Ie|?V#rs+LBtSR070&hLy(_$1ZOiqfCEO=9D%T;MIt|kwj4*p!m~^PRt-Yu zS`JKQP>%5TJ_3;;;|wBvA!L-W9JNd%I;r+PM>0OOjg)Y(`d1Q2>kw6pGw}Hc$^)L$ zle-@Agf+*yEi?j)e{%4MCaR$3EPIXv)ka2E$pRvcloZTtYiC;YkN z_-TZl9JY(tkcm>94HScc?K_+`V6Hwv0DkG=CtC7 zo^~Rdg8a-)5Sc>=z8yjE$uVfZ#&35ZB3kf#Yqs2WWNVhaMBzZ z2-|?M?JorA<2a}yW@jYar{Shwu}lPkx*bjmS3WPCERP;NE{8$wns?71H=Duq1r1H~ zgp<7ae+m&<*hPqgb8`GlPCY7OC@n;x4Tzo?^UuLCCi)jC4r@->4L;S=l7qRWgIgB| z?AQ+<9*#Td<3lD>Ai~}*!NEi<^A6|J4BJR;ij$wHBT@oM{wwS`yPmsJwD_rGilnB-lKOio4^C;|nLG^Lm;`l`re=tr562CpUi{M-)`V>hHIUhLOZ907L z#1P=8NsQ>PIG0;GfPDHNYQ`Yw^p{?o5m^p_^CoknIk(RR(GVhvrm}j@Z6O$^-+@O~ zaJvYGlm*)ii0Y<(O*=H2BL>8YnfcRjtj&1ZVRCx#-gugdj)xMTaK`W?=_3!HI*vn* zemura-2KQ+zCk_>oF%jZv!=NQNVZ`LZUJ*VIfNR(j{cKCVhl~%Q# z8>09Hmz>r>A!z0YbYKL3u2b7p9BdYM7$@6eLV;uwvPji*q$`0V2(!DJ;}>$Ce-K*V zlAinOI(j}`TZ~8LXuL#;Ry|!`AEy%4(h|qe-a*9EQxfsUNad>bTzo1ku^*pQRjT+z z;$~BBx>t;P2Z`J(>UfZ>jp&p`O+HJg5o+(wtT(d>O<=8jK!bi58>qG(ybFrCIqGbO z>6kb?IX=QcamGc*2eaw4KH7Yte;8K>v-$Lto-b9~*u;yq$uF$;8(5-VoYZRuY5v;>Mk{PH4+Ie_?mE<((|S ztOk3CjbSbRWdv*9-w?=+|Jkykv8Nh_c2ph`AN|2! zj>h0^HbLMh!~5U) z=O6w0cR&1-fBoTa{%1l2PB4!A-@|#22AI(^9(_iDpz2D1un8I$f4Mb4TI<`TWT;3K zq5}w9$}R)Q&wlGaeDIzBz8oNIjJymWFsRSj#Q)X+LDfxm9elWgN^EeMTSKJv6j%lk z_9^Hf@(K@q2#r7c!TZ1dqYr-jFFyG050^uOoh1g)=y|}!peQ#6Myk0+3f4sMgu@9i};a~jf`#=8U4}S1R@BhsYEjpUlguzO%GKcd=Wy zvp=0wd|iAnI~&*Q^kY#S^sb1zf;BFP$E!MA*7W>#O%pr5M~pZtKe(5*cMp%J1TLyi zIP}hFyjMc`u|X$vIm`KaKVQ`F$QYkhM1JO9st?NZ8SRuyi~R08n{>D3?N~EG0+1(hO?HO z#Me$v9Q&*jJ9cc}*p73em3wVDmmQcCD1S$ABZ3PZpZ*tIhQvIEi*xUWpR%8IDukPr z81irkA{{$P;J#Bh6iVnbM+o#CIyxi3U=UH^%)?DoLfKl?lXP%~;DMos7=sApP32vj z-<9J_T-D&C7t)~>Rav-XanUkdF~ggITP6+Ji8)*`hYKrYFSGQ&9{eidGd$whet&`@ z>;^TAFffcINpSt;+5rQ_fEVUB=};c)mEfDGZueSe925*;lL z_=y6o6tVXtfMbtCBPS7t9^hJ0qKX}-KqcU6nxI9-Vu#DIT%0EhJ$D&^2p$%T35*dS z8ly!Bh?WoMQVd48@D4D{R)h;pV6jT_a5*2K8LW{6A;b8Y3i!}lxHytYyP%fcXk|0PnrZ7QJWOU4f<8%;IR&HV30DMzKc?nrG z8xcyRn8$<{hQ;xvTweYTE(w8z0fN5xsE-4Bb1>>81~60tQKmSRYr5(h+~k2~aMT1u zkHU|jC%B~NKCl*wgMS5qOX+|y+Jg%=rpp0bsCgjy1fWO~e@JyX#AYJga5)h9V~in! zoHM0VX#pZKB;4kL$!7o*AL260X9~Um<@3c}0cb^_V(em1P&>8f@O`JpbLXdoECH(r zpx+Q(CcJ0G@D#@rfecJl00Eu|nUu5;G?gi{BYgVfeoSO>;eY*%x22L8;jYfdgQaLu zt0aOf{x9D`gw+DoUSLf#2Ku;5E9>;wcbd<)#2jDNVW>I?Jwct$1XU4#<$hQ7Ct?*G zH{tz`v9j7aJ*+o@CJ^TGtPzHR2qLyv$VBCaPg|Q40;D|z#z;Lugah~{=Ov1WIzR|0 zK!qT9tcQTD)qev4PZ={>)syr`hu~+}!8q1yzOVnEleeGIDe4T$J{IkRXyf;hL(o%nDvK;;VUQ4T{a7#zgr1BZ+Rp9crZC_}2|*kNLY0<69Y_Ec7r_ayV!nxH z`H^emfMDFE70`-PENVDnXHUBlQv7JiNyi89 z@X%kXzNBtd0!YP~SWzX?s*3AX5pxrR$aCb0vG9V6*qAYRn;?jpM7zvLyEv#2C4y=e zhf(!KG^kp7aJ#v{5;QBdwlN+iRkq7?t367Y7meb>{IQ4my#1?^F zcR~6QAcCL4mP1jG(_#@LG*NHJAx_vS;)?@Np~d=vX{*YDH&>{gIUk?m}~TEe4xuPRu%X^+Kh{4Ifg zdif1oF!jEyx%Qz%M{0jT$2GA|oy3Kccdb6Hg4R+6Yic9pmc#M=uvhC_t&p{*YT8-! zzFGCo>4UZEqpN^rt*wqwP=DcnK>J+e`DK54^~I;pk5%HJ!aXA(+$BKN;Lyl>JsxhH ziuYQ2eqy+By5-{6mVZkbywr)(vmKoJ&dR~5G8~`S2b;zm_W8XFqy4=LW4I}TG{?`f zzGLGIf;tA#(>i?3vRc$4ygzlx7k5HC6vaMnHgP@VBtwg)9Rlvuj;};M0-7VzIEVLv zEh6W^Rad&eN!SlBA!peay>W$f zd{5az658=zJcf0!xG0QW_p%?^VTv^0VWXPZy>k^Jjuu<@diVl0dvwQ3Z-@)SD_Vv- z`>x~Ip%Ypxhz)O~xc(h;`<5tW$rt{9wu5`*xKGQJmJne!$nLXsr% z7M4vslpTVe({#Zy!iBY}6SAq6%a#iANfiD<4^a=r0hfJo9kr z*%E(+K$v^d5|{KXI&vbIwfvD1<5U>R z1o>>1@wUTMpD6yqJ3K@wKBvwb;1# za)o%5O`v(AVCBLFvjVXADw-w$1Su|&VDQR%By30nYi0B>$!Mj!E&d~o@F9dobsn3K zu`RFoQQyUVC1j#W^;gDC#Fc+!M~)B7_CnbFvVR^=5Oc>7w>|{aEFlqvE)EbAU5^r= zvg4+Vz#if@B^>{pe?;Rz7706qsP#kjBWDNW2hn5`7b48!uZ-tKm;eEO8br^AtR&Nt zKVt4BUfj6~t{>-0i0e7PRzxTmssGDlWU|U{R>Zcw{7I%-k^KK9nTvxVs>kSzrZQ14 zcz;UtbbmU_t-}MIlFFoylsHrkL%+$Qb>O)kWcms4mzGC@n-Hitq`u46zG2|{9xgt8 zEMlMSn-KiWOZnchOpRRZ{{i2Ua}H=2MNn}_9HPuxngfNLvYca~Ib!Z`56>P!;=mIb zl33_WEf?hUOVn8egd^%1LBS!4J!p@W1AoF*td~*)O@q9n4L$Ur$%FAat{Qv-qur&! zbE_+ZM{1O&Ck@|of>0m7HV8R-2KMsk89dfpMD3 z^pWZiNCN775`xO2(| z#9$`r{E_ODO=KNW`8+>pHI1}7NO+-twj1y`>^~*Sb7xeeI`sO~xi)k`KLS8y3#$N1 zO@0q72~6j4jm!QYLgtf$A@p>7zZZZp$3-W$A7;b|E%`BkMu~fawo2N|*#2JLU1P8F zz?b$!GA+LQ?+@+xx&}7P6BrVF}zNVRd}>#i4p;>Fj3A2(zD*S#1lUalkQcEb=_7me zkQv>^0ifx`Dx16kCfCQ>q^2W|Oc{sqnALzhf@2Wfh@sOsrh%|lZv_1*_qXkTAQ4M0lx`>SmmmhcbiIUE}+YOi)SRBVb%~p&^u?V3_6GZF| z?vAC?72jRpve`$|DW?PpntzT1pV;bzctmz>6EI5&2CBtgxh(dA!fJ08{Ea}}!U5u> zP-5fWz;_RnVc53_SUE>9d-4efO>a(27<=!5tlfh?TMNo?uDYj(zGnp1HvqcQensgn zbGgtFglYut=HqYybyPwu5L?$3UP)poV8R(m#1B3@ia@n3)~G{RRe$*i&N^U&{D8f} z#H_KE1kg-_7b+iy(_^t*xL^Bz3cot6HXcPo1V_bu$7zTYI$pR;$VX=cPUTRwDqEsu z;@L+I=t%1|r7{!F;J88unb1B5>NCclsCFz4Bz#hTM9^Dy2^2sD#PwJO1UG87m_;_@ zNBnPS=K>fGIQ2LNFn{QX!_Q!@1E?`TQIM4yyaH?fyR_%dZI4~pzmyLel;D-|hd-DJ)KsA~@me7UxOb1(MN;` zgrU@MN;~jgPA>=9EZd)V^5gb#S@ZntH5;3GtzNyl-r1{z8pDZoPS0FtHEs?@Vg8ZM@~sb4(3rkd?K256hU1N z&J&Z+r+-5WvQ*;geLuJXRbG*!$6AjbM0<&c1ZaRcQSB+J(&p7;YqdnHd|JfNMZ@D| zHYLJie8y(u$7&XV>EYTYV0TvzM_K28!u1u`P^GD-;D1H}izL~{R#5rM;)YfWXit|b zxc6kM)kmwLlB)e19`VI)A|V5RmHccqbhY6L`Y%=tO-qLx@B@hODScQ@xxa|m#~btG zgux1ktp*^LPtm-Ziq!%YdMqrid>9aG7)GaWDSFhFbV&2<0_S&xa~fR9G4#YM{w$IN zh9Qg=@PBkh^^_^X7pubntIAqsS$?{suc_*>L^7=toZqTf#D8uen6ntr<)-DOBilAdg;bz0QWy6h*c$$yRMJyR_))gpU*7WxE>Nh^REl|Uo4 z0R2T869-Owb^>pd_y*G2hMuR|+c6>D+TD=n<_feT@fgk*^% z4?|H_Z%$U$)D*$9tUqe%V^l9F2G{_LvSh=Ebxc2-IH1Ume0Bqw@Ds9yd`*+W^&6kYW86DK zq!G9&bm{3dd?|r-C~OiSlks83L5tA{Vv_hUW=LZ; zFpk-IF|EOvO%+r35-iFC@CNY9O7+JMpKtL9)z*ZcU`LRO8=8m@!PI;F&LiPI4S(Mg z>E<&QdE8BGJ>o@GBT_Ns2$xy>BC|LaSHm-!#OyASYFF*@%bk5MV1sp-Dh2_3 zC8sQ-2S(tYFN#9>912&UF!@W^vwt7^uuDTW!gl2&iYM%Ql!~w@Ad=7geGY*@;`58o z^@>N96oj}kfZaH@vjBBMHr~Pt@PJ>w@5vY38Yiy6I-ljI_$yyH3*Q4e(mI`S&}G+$ zY0TG}DWn;Z7YTE0fojk^gdvf5Nu;}D7<<6b#fG0sWN_sIf}KSOYf_f8xqmI;1XDb7 zJ2WPEE%q!qrW$B9$Tk4hZw74qFu(?@fISOc-*uCRSXu~bycB68@3Oa%qMO?v7g3~M z80QH7VNNLNjd?yE*l+ai-YvGu$QMRFwtCa?bY>lldT+r^$C21DF5z6*F^VBoP=3pb zVm9v_9n5m-?r4&CwvCSkPJjBsi!U0c@i7>*4iHxRW4;r(A;L9%3|AkX%U|Jf$mb`& z=k*X#>0?nErk9?_(;)Ob5rO+)dT@}>EIyYS^$uA5+4P`4y*Z(M3(ir-9UAudFz@6x zXEWh(WjE`+Rl%;ne#jrY#j!~n<1A-yIK)hp^f$W??Hl-a5ab9z#kBVXt8wQcWLUU*t7L0+_cH#KiPwES)k zM`Hw(ncp12lMnGZ?W0~sOVa6-UZo~o*DNr29w2pZi*vYDj(=>!YZK1VdOmKqsTF{k zS888}D}z9X)wynWdj32om$k2CB1{(2DO#c`*As>nlN~cNd*;j>n}=q9>+zvC8f=WZ zh0Pdvu@E!gnVJSj-DJ<`cDoPylUm736W#vZc zscFOb7?B&Jjej-1nr*b2ZKnBl0u`36E>Yf5LuJ#|%I1{q@Bm`3>yT${6o_I(@I-I= z)7~LyHR_RM`?=dM^$B=eM6x%u3^mfeVX$ZnL<^|#EK%suF0I-PW7IdO!)94*m}h-E zBjP&gUxMGTjUJ$2k0z6R_F8_c=*|flUyO$WS6g&(|hxzRGb&gCuojpsJ zV6YSzC~)gwV`Lg5xPHs$1??5*&!4++3H@o^$YvurQJY^--*6?+w+GYN3zwj<6dVC~ zm%XqQMiu_*mCJOVyOz@w&x@_ho=yn!`nP$P7_k&af2kK<1Mum6PD^HkLxh=2i@Zi& z39K6e=b9jLkj>`#OSE8f8Jo;8y|(E_)a>dv&kV%3Z1r1UM*K~I7XvRYZcji+cI-E& zBkH?pv^yJ<&F)n?;M%k4A@#rblMURKPcVT^A4c>cYxPAcq;Sn#x;t1j>-|-uxGt`WVASUaK@>s0f;ONR>04zFw6wB`l$K*|twQE%5PI;j1Eq?xzHyqsK?KXudXXI`j?^lo{<>iRh5XQuptoP9xE_1o zf*%R!Tm(t%Ko}GHp@Yal>Z`R{U~K8Ff3dwm8aRQ_YWIWCjSvGXbOPn!P$ZS*F9iWy zws}x3iXdM}5gi~1Si~2m8kky5W4#KS;E0atiQh_bhmay*Hw(ogKT1<67fX{kgpU^= zirNToRi%ZjP#3Z!g-ZEh6gli%!tv7(KAwE27CFNAkXA;d!Oxo;vmSf-nWb!rf1gIN zmR1(I6e8Z4N2T0W8b(mUavYiyAMVizNh56>t;W&O3W?CqFm5G|&vsp@-;<&xgdc;P z5}qjoj+f}rgdp}FJ|>X$sI;*au(P`)q;*Ae2f0!h!xn-8;f2!GoTy7nD{Hvo!Qwbh ze5mzDK20-{g*PqF_hN^=-qG3%e?$*lKZyeFl~xm{jnNe^hi=kUpjDAitIEFWooDq^Ex2pt_okJHHuwezB5#Q6CeOVDC!#dxd^rl$XUBnZIY)Y9-ASUpwi7Qnx0fO0e`UyiweVA# z%%rjWfh;%SFeLnXgNj~~HG9$~h5vFAeXMongz7C>JFIU!Hn=7X5uI{-xc`ErH%T}G zW$3Us8X{RO_SfoL{Nr6t5!ov3aZX0|0K^UG6@d)IUL<^Q$`Do1ONAp>PlDkx{2__5 z++s^L!cEGy~QxZ&N*^u@Ag-Tn{4TsXpH8;u+(-w4 zqI*~jtVD>+Z+20a5TI-v!K3!;*RFJo3kS1l-^va~hFOgE^XXyH@$=wV)9Bk3Giy%E zX&H5icfK;s`Z(wBf6y6mw!oR=2#i|Cxc}3Cy!ZWg-uume{ooIO5T5e?q1rjBgSAtGf9frZh@XY(t;5+kpCC?m z-#9kQLpBxZ7`tP*yC+CV5AiFP6ic!~`Iw9L0JNv7wMJ3M~nIb14u5 zQf!p+uW2{8e;2ekKYjg`mu)_^5@Dg`G~lsp&o}`3&fU8+dw;%n_pVH?$c{;vcQv2$ zCbnbe99ex_N{L2xZ#<?rP2H%8{fU_=KdBTkwl20Lc#Or&lN1@ zD`^zse~C8#|qr(cUx&=kEXOp9$K0 z?-i>A{bF z`QQgXMux9_`-8W?LbHAU+dmhT7^VS#;{3aRpviy#C%-k!BiYJxhea`+yv8g~y+ALU z^zyO({oXgeeg9WqBMytX1mFw!ony%*=xl--oNM+4a`Z>@1KxFr;o5tJNK`{1!CS1x zM=`d>Q^CL3!&yG)=9`ANvNDeO!ewPY)7r;2xr|W;h{3nMMg-!$-~asw@BW~F1ekc$ zAx+Ch2MQC3b|-X%#D1d^!Ipa^v2gq1xigV~;@uN$-`Z6)pI+~;|G8IfAH}8KfCvv-x!^O)_QMz*w5!1hGgcAHi}3L z7Dbr&6T!d#cfYC^k&JU|kP-XXZxQo2Y>7*y7U+RNoBYO7WyWS9_gu@TjYW2( zL{Xbxvwt{a;C8~?KVCz|q%8g>4xN3sN!XqwPb;d=?%`P=qOd)U zoK~1Z<`LZRg>JlKIjlJ5*e(L-uu-9SjHBc_3iuJn3sH|K>!y&jw0spv07`U_jw~h8 z^TLgxG6`oG+>V9HTilL%q;}@=F%bO_i3`v3>>zrSqBoK#(EHNj=V9V|OR3b!h2_B_ zH8=$%06GZ?2}P)fhY@>!WA;#$8#$LFCt1+%(DIxF%GHSL4!aePQ>Zy7wi72oKGsW5 z9Lw{9p(l#L=`z)hxAd_=LO=+)dU`KkPPR@sfRK*PzQBXc$AL303T2(S{9Yc zhVNXB5U7MlE>h5h?4YMPx_83xOfsdc|Fk?UBS`1m64r;+Vy;quKT<1N8_dbex>5jW z9kt~1{%Cx=(;DP?A0il*%HYdZYd-6BTEru77#A*Ng`E+p?@x%&+P_d-K#n(D$9LT@ zdE+ojZzi{gxB7?n&FNs^(XQi0zT^0Q9Hway80{8>C&V2a{GI0JQR;n2wU1D1QJhq1 zF+0owKsvOvj=wm6`{HChQ4ABCmVN9ywi8{B;J~K`2Lc|uS!Y8GI1uvWGylB-;^_*H z?YIqr5xn@)(sB(Gge;4DvNG|BGs|q^?;`TxzoRr%ui&eaqFy;>3c z$N9qq?%ezZQ6Se&F7u}aKbLFR_tU6ug#@yeLf{-ee2_7Jf=77|8|8f6u-pXR=6X)^ zkYp~st4jt`aRg5itu(=X>Sd1xmZlHwbn9VrLYyps{g62+=K@}{)=fr8U*ez@!f6J9 z(}Pb31baYyC-?^to^&~yRum!*OB%AVgl{DQ2kh~q6|(gRfXB0mC4(>=@Il5=Z)|vRNrf>bJ6LeX7@`ZmV{p{r0{*zr z0lFoB>_mZ0IS|3IG0bg-EXB<_-XLl|< zQ^F+3;TT{dY=slwx$485ujPj>dlN+1Cw6t_#}>R%TCf8O8Hw55M&NSrqSTUej$lp} z&pDeLA>f!~4iT;dq{4;0OvogrhInZm@giyof%anPSOD4P`8Z!B`osBH9VXy>-k3vR za_|g~r{70V%n-hL5Rnacmm!Co0eIoD5LDA)545mj64S%@>$6LkgdNfldX3Q=nwSKQ zBW{Ali+xlge`HF?j}_KSN6JNwDP5c!{Ja%WehyrKzn{ahFT=$KN-dIV$Sl}*tK|dme|J;Z4u!+TE8|46x{*?SC^G$*^YIeaosYgqQX_ryKc$ZDU6yBb-S`1wqJ`^h-05!F3G zZ#63wKBlXh1`t+$YRc*kH_lYsEFaABfBEoI)*I$VqyL+pJBUwVu4rboSv&!g#r|lq zY^InU99TDJFm9RAmcePc&A&84lL>O?$gr&5;cN!w1~z##l-(c=VcXcB?vBQ}xQprM z(B;4d?0nSEce5Fr1myjT&8_!m+0A@r?b1w6C!M1n9l774x`lb$CA__ISfHlke`5&5 z-^e#`F{`Q`((gr)+M)Vo@^Tw8*}{I9jV3u?2{d+NQqGs5oERXEt~i4WIbSOaRq9dMm$8<>_w)Cctwve;~q5otp0L zjivQyZ+dWhhDZd41m+mP6b1#mPEXpRrl||Y?{T4;+l$eBv^&m$1cT|cShYm1`XeAT zKgbBOH1;o~1NM5ns-l6|V{5cl(WahAYRN1r2#?EHSD!O$;6g@5((?_U7s#w8D zW6&L%`wY`0Ds}Fpk;Z|hf1||Yc>s&c(n!O|gJ=*&32_u`s$nj=2g*vr+TnkG+vZV!G{YKOWqw^) zB0<@I%LM>t8`q%xP&4<|GPEd1YeYL7zZu6nCRT+kqt+Vt`6ZlPfB4DR9GQ>0#7GU#p)cr z1bAJcraQZg9lE);2Jlm%XCW!DK2yhyKMB~!mr1xl#u6iPMcla4awTKc@79n|$L z)bigny2d7~VR0cZe@xiU8>NO?&N@$%N(F>EcdL8bd~11u+%osfn+;Y>=AG_a<S>!NFC~Yg31-80%|H2s?MolInC8I)pU>d^QN{l$+6RUFiy4E9-fYxMC0^#cIg%B2PR@@Auw#egeaIt?}G3uPlWcoWhpX=5rc zb#Iv0d7TUfyAtdDUYJ)`=xTm1vDtY^07Ex(BM2$QEVs=!y4TBTe(gh--Nh6<0q2(* z#uPmPN0(T}6ieUc6KnT+sYdAhGdDWA9`t7gY|It4_ zT2K4a-edL@HE2DZ6Pd{;gF{4;f5dvVDo!&|_kQ!|_x^wNZK2M3>fz5vcXGmpF}MAw z{nYA^5YVxkI$iqiSw1!`vO-@Nty8sGP_8}LPw-cxc1&%mUI_<8zR~{Pa=ybkH6k*X zjR=NMBueOuQ%6J52@zkA9phM@NsJcu1wNPH8)#5_lM?xGvIG;c$jj-RkEfWm%GuFM z!gh7AlPrI;g3GjHTtJ6l(lP+Okf7096BI#q^S$5v%X`25?R&rZ>AgSxId{%vwQ+f5 zx!73r2%)qV`75QcqtS+-JnO@I#_{T@O=9Z@Kl}Ih|L`+IKeU<6t;#XdEYs%Jhm#`n zR2{(1RRa2boA=AjDWNB&6EB8DTo3``?LH~Ji6~F>F zA&-B^tlmqR7V0X9K?Twzt&^l1KkHXrUzvsr&5-*$Fr7O0!sM;Ka1>81m)Sw|{Z8xMc} z$G0E+=$Ev3cS>6pr~{+65*fPrS$lN;{5kiWwDrmCYNfNI8*O45e2A4cVd}*1onVQGWr+GKHfg8sjSi7~PG!&XzFMv(TAId$hS(&tpzD-OAGmyWo*ix5m>^ z!C0k%p+bv7N{9e=0(-#++s&>4gMxqQmFdlVb}56snaF`D8^M>5aIZ3AgEY9#n&lIK zQjDD~zUITx090lfxpJ+D2}S*5Q=9(=$nvcNAGbx9&%vb3c!`mMDJ*e5`&fAuHEXJ+ zB*Y9$40@}$sI9-5^e@xytR_xC9NXsQ?sMkHndU`37FsPG#xI+%m@ia^@i>3zyFo@I zQ60wL?0&pFjKB1Rw#z!7q%L~3-*pPpZ9+9_aA)Y`}e-i9GiK{srzL2v~%~7m?5yH zl?HNvQB?!%1czHNgYA; zYu-YOM|BfwstIi3AGY*b1i6|oF#ts8&+*2OtIK}QHm(gdt!;B%M`by-TV9%;iD1dE z35&pz4I(;HlKhip*nGW18%||;3+9LS@oX-znb-~Lar=|b`STXc>0T|lki1>Fc_e~2 zm;T*M#RN#+Zdo)A;4o+>S}Dhzl=Y&yw%IH{rxW0XnlKml^9FzIxNXUe>P;#*af|sG zYji4a0OGEIK`MA(FlpEycXL9&{3>o2bU5FnkxXymcHsq_x4?oPaXD-B9B!-=8k>Ggi9p@?$yc#*(kx+Q(HiDm{?yPW!j{5Cs1mG?$mg zBTBx8CDOKUj{1Ma@PaQep++<{*Mt|6uw>o@@6qJ`SSPVvVOA~=Oo})>l*R4xiKFsT zpq4OUvV<_Zxy()DjoooJfqPa)DxAK~pPy9JWfddxvtw*!r#=$nsFB1ojE4B}k-Te_ zUJ*1e8tTi|DpMKC1&nU8FXC ztZxi-?xFJ|f_;=^^zL0_Bu@-P;NVbTBIqi%K*i&;uUXa3MSZZem9q!h>o2_a#`Tw; zf8n`juf1{YmDgW;;o5atdg{n<7Qh^vuXkTIza&_bF!okY6R(>una?&{-L}mayI(5L z5ubaq=ZJr%>l^XuR3{8WJX=uyT~aA)IDMRW#L#6Il@gfFl!^^(vnY8}`b79_z=@H? ziVPifUo4mx8!WXz#cGmi3KAhgf9>LDGWto3c79if+a3?XHjBitR&Zo&2&MkeJ zO!W$RtCy8#;_5@DeYLcjesw9M z&_Jx{&tgS?0Y}^ZAcoNV^K63hg|_(_rRIMF)PIS4s_-KlV>apNd!V{~#J(7W*Je}F ze7;{2{aW`KuFnW$vt}3QHn(7os7E|Tn9Oi}=3G1Sjo^`o_vHMcVuR5!C_BM#BU2K+9tHX{Tr!iVnuLA76&9=dM@?J#TjIs)md%=h=C9=GG zBoToYpqS@vIniRsJ0?8yjAnGII9Hc*jOH)gBDN9ev??B`xNhNIj)R&^sa3Umx!ZJu|t z-0ZDP`aGuzCBQY!`!w(Ns(GK~y1K2{uRCUy0LN`qbw9iPMvBfPNZiVlBW7rT%k zMKx7U-d1w+*@FWX=TCDQ)9BV{GVg59@|}`UA)CNZF)ua5GzBS_8J?R?si%{YR-JR< zRASB){RC>(EC3YKq*LZDPyCUNlB+Dw+9_DMJaQT@j~xB-$l2-8YMnG(Jk@WQL_J#t zi$S(`l(|!}dN)?`n&&ieVSRrC>K1%@se~ht35{gSckepd8@vLoKxxS{-qP#QF?>hT zUwQLqm@6C}CbrFeFtsgtofd9MZ0LxuIMuDyuiQ_C3}wz*YHdkq=j%d2LUj4_cBWW` zdaVeXAr9J;(sA2KnXym~^Dga-{S~5fn46z6KifodhIzMNk(@zZSCD_!mRo0-ufy$S z;r53p$UcqSSaPb@N+Hj>3tb#C7-^v}tsFkC3Z7UbHd_%$)WxHx>PvO@Ia8-ryHtuy zt;X)2QkrWP^4_|--z+6YRTUTY7vSQ5N->|H6qCt+caWP0xv*f#*~(#Q{qE=H=gdzx zN_J=`J*XD&Uj89zY^#6cAJo7a?BYuOUI@O#h2wiHC&91!UI zdHz8^o#eoT%BYRWHW{ai|xRNpVIs0QM^YpBnL zxgItmzphCr>&DlM&3co11xt#PNW!@t8u9MBa`KoW;oW--D5HP5*HD|7s^w1%2=r^7?ffn)Vh?(qT8-ni-H$1o{6?J+wdlt5C zQR=&ky|tD#C0VbV&5Y*H@^dNbTIX*>xCJ@MbBM`1WXFGqDEBaD+b}%KzOh)aQdRC4 zR|6-3=Zs;HIK99|py;KA8qJ^gXpxw9WSffXdtW!G~~(~%*9oS&k>JNt+=<2~_eueyO}!$XQ^yH~t4 zvEx?grWt>{OSSlqBi*6EpVSqR*@w@a9-K~5WfA=F1eP80Z!5CXg%?D&PgSHX{3j~l zkMSKgZ-9QV`5Ke6t0j55T;ZTPvP-O6e=64)INgeCne&q&A+;<9^Iuo;?$z9UMe<+$ zz5yLO;>5GM%&+9MaH+4=G7r++4ZSojm-!2H=&FB~`EyThnQuQ_6ADZ7Me2qybh$`7 z?5MB?WrEQ$w3j+z=n0Y_H*L_SWN$V=5Gq8a6^A+>ssa;A-bDji|W^o<{y`SgDVHZ#(RJG;roC87x#bp zjSqkR`D^#S`_6m6`TG68efR!ffBD{5-nsX$-&l3DO&GAnEeJGXU;7+db9Go60J^eM zRm!o6Ve5tJ{XT!5-=~u*hN-;7#tXIDUxib14THg&Dricc&ATt<<~4!(c@AGT%c%cs zPRLA%QK7yU_`SI23`*30KJQ+uQ2*8Z3EfC9YsOB?21`8g3X`Y%`x&1IltM^xolb_j zHPf0U#H+_*gCl8tB{J037JpbWoqJ@HBYEY9DqlGOglcM*OJ*a>mOJ9gjV&*i5!MtS z8ZR>ycwJzH43xf3uTdLHXZwh&>=@EuM45?~OV$)Bf5JK{8-=;R6-@@KAyMsWK$L#r z$_rOtc=G1{OovqsWPRn+mvrran6-?9LPNjHbvqjzeVSl-di=V|9Pngq~ZiC zlZ?_Ze`&Men_X6q|5Dz4JvU!mkym~xCo)2K*d($1T;6@LqBfuYumm1U2EM1GA)L9H zil};~Cz;t5bfTFa;8rTz%fy&Wxkro3kdgw8GCHbM{ZP(Wghh7AT{{k)1WY!_wm1rq zL0hqDG^iwSzYGxpyCZ8eYF!jncMDo)sEK(8fBLO1&PNk=y(QEo1o*D=sD+9i{0f!l za;z<5jLS6Y-T{>u-4bA{f_W*MY(}Hubc`!vLukR=|K|7K|DPOXgZJwDKm6*0AAje6 zzy0OcuU)zS&X3;z#b4e3hkyFu-5=u^LzRF+mP6!DQr~45bTpwGKoX5TJm@suZ(t2p ze=4Vx5n&7np=f5{o8!{7pPNQLVXr%`Z*rn(yub z(rb~%&fGFA7X3svyKTHqug0@bJ))TAZe`ct; zWLP!R<0gM?rFxFh!0PY^=@X}Qffyde_LwKsCL9~BR>s;pH7j%tPG@zYF=BzDHaRt{ z=HWY%O>__c>Xe=*CrmYpgdamN&iuhKalZ`!~*mTSs*l|+(gi+Q4U zF|(EXyA!y=n&oO`9lTnHyi-ym>Pp+iNj?Lmlgj_4&iTB3tPg*MyTqCBMFiB!Px3-^ zrsmckmPK70q^W!~%O`aiFVs9%xAW4EQS)beFzp@A6`w0-zq{1^w&EpLe?&Ep*y!%~ zaHiUn`-EZCy8t8VYT&M^Y37&2apg!~DxWiJscuWnQCBh&O(p_@PACO?%~}OwQKP-3 z8xSbVmW|AuC}Wt)ra)-fk1np$v!6&k0bPlo)_egvs)6Cl!T0}1)z5uGOA~BXO zyRQBWqGjeLV$dFr``3wIe}~FoF~q@z__>Z9m~?n!E8k1QY<7jm-EqMURn${n$lMe{ zVmm%Iq}vE0vokoPHlEQS}p7~7WVYQ9;@ACfNmKv^$WR*^hh%@ zyUkW1b5K){RQx29(@ zF?-5}j4woF$Y@Ts)6VX({^iDQ+EI>C!rb#iN_=CtcV zIrM~aWu=s?Oq#X%e@J^Q0^yC@M{_%;pX0%3LTv19dL3-Ek4t~prgr{V#nP>f2C8Hl ztRC0CSX;8-ttoj!9@Vk-D)6loLSag;Mbmt`Mt@KR91yoZjsB~!{ z7mtpKZK+fOl*xzC?PRMDdFlGG!C(Mpynbw`wS(ge_@|32f8bh9c&6*r;8wa)=`81@ zBylq7vfa;%Q!U7<;2)c(}WCgRwU) zrsV}jRxp_@e-xK`?Qr^q(WgemS`L++bz?`KcP?C@`g6A2x^VlAgV_|Yxxh78HxBcf z@-P~0&{X2hoWYN9uz-4xsCi*di)9H{k4}j&!D*6k&5G`{g7Nt2!k8mBLSg0vC?7JE z`*kQk56^E8gE9fRKPB1@PjB{ObZ|lVd|Ny!c!x!|e_xn`74QxVf*bX-3B3CR&DKPBlF!H)@nq z=*`Mwe-b+%I-|A*af8?8%W9w$&bm>Z1np3WxG#+Y!X)w`N z-q%+z1jMa!g*x!^&A!r3l*?BUhJW<4dq4a8`@eYS!QZ}p?|=PDI#OeGlzZR&yZ`w8 zKhUI|6fszof4o@1`6?KmN{nD}4PY*c?m=Phe~Fzb4%vO}(t2JL=4w)E`ZByXovkRfin zl~i5|(`6l|L7;p~$|enQd%it7DQtq~61B>?riffJmR3|)0i7;?DP*JELw`+wmLzdP ze{6s6-QR!kwSUoF6`G@U?tzt*b$j$MZ=JvXAMgG9KTGS_HU2r9TVcnTEbUb4PLgMW zw!7}{_xJ<{JkyiCCW_m{mqk4ru8?3-cc9}deiRr^_Q?9{U*G%Y*B*J0`=eV;WAr|Z zF?x?W#s@$8)q_8O=aI))Ob?pI=zkbvfArUkk>%YV+9G=IH@|!EuPbGC$;P~O!vbYaTd--QRqY^*%(Vhdld zcYE;>Ixh}hFEQ&|)11VnH_mPoq9MP+v(bt#(MbVDxg~$O-bzc^fKIH%`U%8Df8YDw zzu*7iS350{N7g7bE|*m&IWAcX5tQjaaB9S{sjE=gguKml0eqz_$uENuU#y8^v*>{k z3{hDGoTVI)!io#fK{lS}sxPY=mMNm}rOuFJ6!xstMo?2XwcS==hn5%G9E{Jq5;y^( zcY2iC@|?I8#I?}YoD)Iyyvr^Ef7eDff(&x>ve=F-#OXww&#@Q#cG~iTxJR!Ef@V@3 zG3DZ?(4lbjPQ-1GRSFrm zMRpCjMZ$k#_kUvdX|a1PeoMSyOqO$^yJ(i%$B)1N!C(HHA!`vhct8lRf5lmlh%*>Z zvqD~zS2N>9;C%P9+1_ZNoIE@><%t*Ui83+nr_)`Che z^$Qc(+&(|%tZ5vOFH`)03FK7F*;z-heb2$Xe~0D$9xrjb<72cyshu@7#Y| zYGpm4lm6{72ld-;(edQ{zx>+$AN={_f8w1U1Z^$m>6un= zPyeWoYniyh`#g(;mPHssrB=#@4rU{w=(qXQ1+s3)>p!K6r;J{$tlwXf3(vEKl3G+c z#_#>{2lsyZojQ?zSWnh8E%jWNTBW4CSZVgbSJ7bAtk`p4WpbMZ*0+R&sh4Fce3+XI zpy2XWQ8#;MF6>p_e-%5o3K<#*+r0${Ulk1*f{q^o?^!zd9=})AS`u0-mf2U5PAEBdq@h8*M+NM!; z)qF@@^dO6zH1Vu!fS{E+34fGTSdXOnMAl(#SJCIFRDdfldBjn8R%_Gc8}qYzHRWhz zXD#Nm&2888cWfEY75-G~b)4*f^CX`gHQhgGI_<+e1$y!49J8P22f`k@x?rjfI*-4S zSuDAXbDY}Ef0fJICClo^SdXtYHdlVBntXZL9QzR)mH4yLq)bPH+VKfnL||L@-SfBql8|LYIl z{q_6reEr_r-?eSqP&9!fQrfux8e@fS7-PN*wB~B`f1fz|;-sbhD*@5@gi#ZPB8AMZ=RW=fod01@*v~m~mWE}FwpS#owM{qo zg?Flwf2lnsdfxxdR~~%#C*m^T{ont0pz8nn)xEF%`u?|1g{s1_&I-2Hx@}0^i}G@J zmZK9JZ9{aMDB+!=`&MDz5ZrZ`#tjD4cM5a2AU0gP!A*Kj=tq?S^`)YFqq@Pp{^Yb? zN-v(nY%bh`Xn`xw;H74T9e+&!G*u@qRv|c-f8%AswEL3ssB^p&+fBD|5rb?zH8h&P ztTlW&V}zK-o|+9BejhGCO+$Ae{U~j%x@jq!;ZLS(V}0_Zs%0dboBq1CclQl>Az8k`Fkg{&Z>urIYlPdQx9W zf5MA(lGbT6NnpU5QK~m74WVn!%A&s8bncuIvf31?nd)y&v7p`9iFHK$~l0kG}O|QhdtSKdE zZgdb7g!d$IAC~Jvfd)fB%3XQH5*q)qPr~}65Q^}oGSj96^~j=%j*w^S)~;+UsN1_v z*oB561$83=#rg9bQO*`g%9{p|X^UN7KRY14kopGGP|1wrA~Ns4mhG`=E9-aMe=7EC z%kv>YCV}Kwe~4SBf=nvlsK8NAEr68fiObYStof{Oip8k}m_otJJZq%Q$r?-WRS0YL ze!|-FaQsN2yrniAgSv_j`Z&b!Dcy)DPL{E5u{W=D5gwXd9zhZ=A1d>MOr`?|0uW zLGt2gHZO#uiuI6?J-9*>ewy~d5w5n&+IwZYSF%$#dyW0)oub_p91snEf8!Ub;j_%~ zv*R(^JoEgngZ(=X{`?)$p-O}7*nEx|vCHB>736*{t}D_km0@n(FoovXlku~opCYvV z_ENQT*VRzO2EDqmD@K+bWmlWb&0(I8o1I;(jV~;=Y%Rj@itG8d`Edr)oAOR44shxW z+U84z=A^1*8`eevCYn_@e=ruq`<&n>)-rv<_jw&oG8L@INyfW+{SD4?rP8lBtwXn5 z3`01uKG{W9z3N7lOy?jB1Bd&F0Ya-u4 zCc65|W^o}Po~-P{I)81l%k0v3k-s*5O}OB1w#{8PGx-?3gEK5*f6+e&jU#i^&|8E@ z=2}D;C|Mh^9;UFgGkg34qsUA%&)S%Gvu$UGzGmB5X#qy0WsbvVd!&QFDIgnUoyUzIipTYsdaOVhfR7o?2Z8eIeLb@p1_T5zFC<4?rbTa z^=7ek_({Eso0Eℜ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 diff --git a/ruoyi-ui/src/layout/components/Navbar.vue b/ruoyi-ui/src/layout/components/Navbar.vue index 4a6f18f..6455598 100644 --- a/ruoyi-ui/src/layout/components/Navbar.vue +++ b/ruoyi-ui/src/layout/components/Navbar.vue @@ -12,14 +12,6 @@