Skip to content

Commit 1d9d68c

Browse files
committed
V1.15.3热修复更新
1 parent b1cbf56 commit 1d9d68c

11 files changed

Lines changed: 347 additions & 78 deletions

File tree

CODE_OF_CONDUCT.md

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
# 贡献者行为准则
2+
3+
为了营造一个开放和热情的环境,作为该项目的贡献者和维护者,我们承诺尊重所有通过issue报告问题、发布功能请求、更新文档、提交拉取请求或补丁,以及其他活动做出贡献的人。
4+
5+
6+
7+
我们致力于更多人能参与到这个项目的发展,无论经验水平、教育、年龄、外表、种族、性别特征、性别认同如何。
8+
9+
10+
11+
为了使沟通过程更加愉快,我们制定了一些要求贡献者遵守的基本准则。
12+
13+
本行为准则适用于所有项目空间,也适用于个人在公共场所代表项目或其社区时。代表项目或社区的示例包括使用官方项目电子邮件地址、通过官方社交媒体帐户发布信息,或在在线或离线活动中担任指定代表。项目的表现形式可以由项目维护者进一步定义和澄清。
14+
15+
16+
17+
如果您认为有人违反了行为准则,请通过`wjia@lly59.wecom.work``zhuangchangliang@lly59.wecom.work`报告给项目团队。所有投诉都将被审查和调查,并将作出被认为必要且适合具体情况的回应。项目团队有义务对事件的报告者保密。
18+
19+
20+
21+
## 我们的标准
22+
23+
有助于创造积极环境的行为,示例包括:
24+
25+
- 使用热情和包容的语言
26+
27+
- 尊重不同的观点和经历
28+
29+
- 优雅地接受建设性的批评
30+
31+
- 专注于对社区最有利的事情
32+
33+
- 对其他社区成员表示尊重、友好和耐心
34+
35+
参与者不可接受的行为,示例包括:
36+
37+
- 发布露骨色情或暴力的内容
38+
39+
- 针对他人的暴力威胁或语言
40+
41+
- 喷子、侮辱/贬损评论以及人身或政治攻击
42+
43+
- 公共或私人骚扰。一般而言,有人要你停止,你就要停止。
44+
45+
- 未经明确许可发布(或威胁发布)他人的私人信息,例如物理地址或电子地址
46+
47+
- 在专业场合可能被合理认为不合适的其他行为
48+
49+
## 我们的责任
50+
51+
项目维护人员负责阐明可接受行为的标准,并期望针对任何不可接受行为的情况采取适当和公平的纠正措施。
52+
53+
项目维护人员有权利和责任删除、编辑或拒绝不符合本行为准则的评论、提交、代码、wiki 编辑、问题和其他贡献,或暂时或永久禁止被他们认为不适当、威胁性、冒犯或有害的任何贡献者的其他行为。

CONTRIBUTING.md

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
# **贡献指南**
2+
3+
这篇指南会指导你如何为 easyWeCom 贡献一份自己的力量,请在提 issue 或者 pull request 之前仔细阅读一遍这篇指南。
4+
5+
#### **行为准则**
6+
7+
我们有一份[行为准则](https://github.com/easywecom/easyWeCom_Dashboard/blob/main/dosc/CODE_OF_CONDUCT.md),希望所有的贡献者都能遵守,请花时间阅读一遍全文以确保你能明白哪些是可以做的,哪些是不可以做的。
8+
9+
#### **开发流程**
10+
11+
我们所有的工作都会放在 [GitHub](https://github.com/easywecom/easyWeCom_Dashboard)上。不管是核心团队的成员还是外部贡献者的 pull request 都需要经过同样流程的 review,也非常欢迎各位开发者 Review 并参与讨论。
12+
13+
参考资料: [代码规范与审核流程](https://github.com/easywecom/easyWeCom_Dashboard/blob/main/dosc/%E4%BB%A3%E7%A0%81%E8%A7%84%E8%8C%83%E4%B8%8E%E5%AE%A1%E6%A0%B8%E6%B5%81%E7%A8%8B.md)
14+
15+
#### **分支管理**
16+
17+
我们的主要维护三个分支 :master fix feature 。
18+
19+
如果你要修一个 bug:请基于 fix 分支开发,发起 pull request 到 fix ;
20+
21+
如果你要增加一个新功能或者对现有的功能进行优化:那么请基于 feature 分支开发,并发起 pull request 到 feature ;
22+
23+
我们每月定期合并 fix feature 到 master ,并发布一个正式版本。
24+
25+
#### **Bugs**
26+
27+
我们使用 [GitHub Issues](https://github.com/easywecom/easyWeCom_Dashboard/issues)来做 bug 追踪。 如果你想要你发现的 bug 被快速解决,最好的办法就是使用这个 [模板](https://easywecom.github.io) 提供bug相关信息,为了bug能够快速被解决,我们希望 **信息提供得尽可能完整**
28+
29+
在反馈 bug 之前,需要经过以下两个流程:
30+
31+
1. 搜索已有的issue,确认该 bug 无人反馈,避免相同的 bug 多次反馈,重复处理。
32+
33+
1. 阅读我们的 [常见问题解答](https://www.yuque.com/docs/share/9217b462-a4c2-4d4a-97cb-48eebf800784#Ydt5N),确认不是由于配置问题导致功能使用异常。
34+
35+
#### **新增功能**
36+
37+
如果你有改进我们现有的功能或者新增功能的想法,我们同样推荐你使用我们提供的 [模板](https://easywecom.github.io) 来新建一个添加新功能的 issue 。
38+
39+
在新建 issue 之前,需要先搜索已有的issue,确认这是首次提出的优化建议或新增功能,避免出现两个或多个相同描述的issue 。
40+
41+
#### **Pull Request**
42+
43+
请按照下面的步骤发送 Pull Request :
44+
45+
1. 基于 **正确的分支** 创建开发分支。
46+
47+
1. 按照编码规范进行开发。
48+
49+
1. 提交之前使用 SonarLint 或其他代码检查工具对当前模块代码进行检查,并修改完所有的异常提示。
50+
51+
1. 提交代码,请求合并到对应分支。
52+
53+
#### **参与讨论**
54+
55+
可以到 easyWeCom 的 Discussions 板块参与讨论。
56+
57+
可以加入我们的企业微信群,与我们的技术人员和其他贡献者一起讨论。
58+
59+
![](https://wecomsaas-1253559996.cos.ap-guangzhou.myqcloud.com/2022/06/01/%E6%8A%80%E6%9C%AF%E4%BA%A4%E6%B5%81%E7%BE%A4%E6%B4%BB%E7%A0%81.png)

STANDARD_OF_CODE_AND_MERGE.md

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
# **代码规范与审核流程**
2+
3+
> 编码规范:[阿里巴巴Java开发手册终极版v1.3.0.pdf](https://www.w3cschool.cn/alibaba_java/)
4+
5+
#### **为什么要制定规范**
6+
7+
古话说,没有规矩不成方圆。在团队协作开发时,每个人提交代码时都会写 commit message,但如果没有规范,每个人都会有自己的书写风格,因此在代码审核时经常看到的是五花八门,十分不利于阅读和维护。
8+
9+
#### **开发规范**
10+
11+
**Git Commit message提交信息规范**
12+
13+
模板:
14+
15+
```
16+
[Type]问题摘要(issues链接)
17+
```
18+
19+
示例:
20+
21+
```
22+
[feat]增加企业微信自动化配置功能(https://github.com/easywecom/easyWeCom_Dashboard/issues/2)
23+
[fix]修复项目重启导致需要重新登录问题(https://github.com/easywecom/easyWeCom_Dashboard/issues/2)[docs]修改初始化数据库脚本(https://github.com/easywecom/easyWeCom_Dashboard/issues/2)
24+
```
25+
26+
Type 类型必须是下面之一,并且为小写:
27+
28+
```yaml
29+
feat: 修改/增加新功能
30+
fix: 修改bug的变更
31+
docs: 文档相关变更
32+
style: 不影响代码含义的变更(空白、格式、缺少符号等)
33+
refactor: 代码重构变更
34+
perf: 改进性能的变更
35+
test: 添加/修改现有的单元测试
36+
chore: Build, .gitignore或辅助工具、库(如文档生成)等变更
37+
```
38+
39+
#### **分支创建规范**
40+
41+
模板:
42+
43+
```
44+
feat/author-issues序号
45+
```
46+
47+
示例:
48+
49+
```
50+
例如:开发者developer1开发增加企业微信自动化配置功能, issues序号为41852
51+
那么分支创建为: feat/developer1-41852
52+
53+
例如:开发developer2修复项目重启导致需要重新登录问题, issues序号为41942
54+
那么分支创建为: fix/developer2-41942
55+
```
56+
57+
如何查看issues序号
58+
59+
![](https://wecomsaas-1253559996.cos.ap-guangzhou.myqcloud.com/2022/06/01/screenshot-20220601-143308.png)
60+
61+
#### **update.sql 文件更新规范**
62+
63+
每个sql更新都要加上注释和时间点和issues序号
64+
65+
❌ 错误
66+
67+
```sql
68+
-- 添加注释
69+
ALTER TABLE `we_flower_customer_rel` MODIFY COLUMN `status` char(2) NOT NULL DEFAULT '0' COMMENT '状态(0正常 1删除流失 2员工删除用户)';
70+
```
71+
72+
✅ 正确
73+
74+
```sql
75+
-- author 2021.xx.xx 客户员工关系表字段status增加注释((https://github.com/easywecom/easyWeCom_Dashboard/issues/2)
76+
ALTER TABLE `we_flower_customer_rel` MODIFY COLUMN `status` char(2) NOT NULL DEFAULT '0' COMMENT '状态(0正常 1删除流失 2员工删除用户)';
77+
```
78+
79+
#### **开发评审规范**
80+
81+
##### **代码提交合并流程**
82+
83+
如果你打算开始处理一个 issue,请先检查一下 issue 下面的留言,确认没有其他开发者正在处理这个 issue后,你可以留言告知其他人你将会处理这个 issue,以免其他开发者重复处理。
84+
85+
如果之前有人留言说会处理这个 issue 但是一两个星期都没有动静,那么你也可以接手处理这个 issue,当然还是需要留言告知其他人。
86+
87+
所有的代码提交前,开发者必须在本地使用SonarLint对当前模块代码进行检查,并修改完所有的异常提示后,方可提交代码。
88+
89+
我们会关注所有的 pull request,对其进行 review 以及合并你的代码,也有可能要求你做一些修改或者告诉你我们为什么不能接受这样的修改。

easywecom-admin/src/main/resources/application.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,8 @@ ruoyi:
4646
encodingAesKey: ${DK_SUITE_ENCODING_AES_KEY:}
4747
dkQrCode: ${DK_QRCODE:}
4848
selfBuild:
49-
token: ${SELF_BUILD_TOKEN:}
50-
encodingAesKey: ${SELF_BUILD_ENCODING_AES_KEY:}
49+
token: ${SELF_BUILD_TOKEN:3lTqc9EEO}
50+
encodingAesKey: ${SELF_BUILD_ENCODING_AES_KEY:1K3K7DD74kbNNu58De5R7xoi2CyYxBdyxv8UHibVLoZ}
5151
#匿名访问的URL
5252
anonUrl:
5353
- /login

easywecom-quartz/src/main/java/com/easywecom/quartz/task/UserBehaviorDataTak.java

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,10 @@
1515
import com.easywecom.wecom.domain.dto.UserBehaviorDataDTO;
1616
import com.easywecom.wecom.domain.query.UserBehaviorDataQuery;
1717
import com.easywecom.wecom.service.WeCorpAccountService;
18+
import com.easywecom.wecom.service.WeDepartmentService;
1819
import com.easywecom.wecom.service.WeUserBehaviorDataService;
1920
import lombok.extern.slf4j.Slf4j;
21+
import org.apache.commons.collections4.CollectionUtils;
2022
import org.apache.commons.lang3.StringUtils;
2123
import org.apache.commons.lang3.exception.ExceptionUtils;
2224
import org.springframework.beans.factory.annotation.Autowired;
@@ -42,13 +44,15 @@ public class UserBehaviorDataTak {
4244
private final WeUserClient weUserClient;
4345

4446
private final WeCorpAccountService weCorpAccountService;
47+
private final WeDepartmentService weDepartmentService;
4548

4649
@Autowired
47-
public UserBehaviorDataTak(WeCustomerClient weCustomerClient, WeUserBehaviorDataService weUserBehaviorDataService, WeUserClient weUserClient, WeCorpAccountService weCorpAccountService) {
50+
public UserBehaviorDataTak(WeCustomerClient weCustomerClient, WeUserBehaviorDataService weUserBehaviorDataService, WeUserClient weUserClient, WeCorpAccountService weCorpAccountService, WeDepartmentService weDepartmentService) {
4851
this.weCustomerClient = weCustomerClient;
4952
this.weUserBehaviorDataService = weUserBehaviorDataService;
5053
this.weUserClient = weUserClient;
5154
this.weCorpAccountService = weCorpAccountService;
55+
this.weDepartmentService = weDepartmentService;
5256
}
5357

5458
public void getUserBehaviorData() {
@@ -68,7 +72,19 @@ void getUserBehaviorDataByCorpId(String corpId) {
6872
log.error("corpId不允许为空。");
6973
return;
7074
}
71-
List<WeUser> weUsers = weUserClient.simpleList(WeConstans.WE_ROOT_DEPARMENT_ID, WeConstans.DEPARTMENT_SUB_WEUSER, corpId).getWeUsers();
75+
// 获取根部门
76+
List<Long> visibleRoots = weDepartmentService.getVisibleRootDepartment(corpId);
77+
if(CollectionUtils.isEmpty(visibleRoots)) {
78+
log.error("同步成员,找不到根部门,停止同步,corpID:{}",corpId);
79+
return;
80+
}
81+
List<WeUser > weUsers= new ArrayList<>();
82+
for(Long department : visibleRoots) {
83+
List<WeUser> tempList = weUserClient.simpleList(department, WeConstans.DEPARTMENT_SUB_WEUSER, corpId).getWeUsers();
84+
if(CollectionUtils.isNotEmpty(tempList) ) {
85+
weUsers.addAll(tempList);
86+
}
87+
}
7288
//删除存在的数据
7389
if (CollUtil.isNotEmpty(weUsers)) {
7490
Long startTime = MyDateUtil.strToDate(-1, 0);

easywecom-wecom/src/main/java/com/easywecom/wecom/mapper/WeDepartmentMapper.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,4 +100,11 @@ public interface WeDepartmentMapper extends BaseMapper<WeDepartment> {
100100
* @return 部门和其下级部门ID
101101
*/
102102
String selectDepartmentAndChild(WeDepartment department);
103+
104+
/**
105+
* 获取根部门
106+
* @param corpId 企业id
107+
* @return 可见的根部门
108+
*/
109+
List<Long> getRootDepartment(@Param("corpId") String corpId);
103110
}

easywecom-wecom/src/main/java/com/easywecom/wecom/service/WeDepartmentService.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,4 +87,12 @@ public interface WeDepartmentService extends IService<WeDepartment> {
8787
* @param ids
8888
*/
8989
void deleteWeDepartmentByIds(String corpId, String[] ids);
90+
91+
/**
92+
* 获取可见的最低部门
93+
*
94+
* @param corpId 企业id
95+
* @return 可见的根部门
96+
*/
97+
List<Long> getVisibleRootDepartment(String corpId);
9098
}

easywecom-wecom/src/main/java/com/easywecom/wecom/service/impl/WeCorpAccountServiceImpl.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -524,10 +524,10 @@ public WeCorpAccount findValidWeCorpAccount(String corpId) {
524524
weCorpAccount.getAgentSecret(),
525525
weCorpAccount.getCorpSecret())) {
526526
redisCache.setCacheObject(redisKey, weCorpAccount);
527-
}
528-
// 如果是三方应用需要从配置文件读取侧边栏的URL
529-
if (ruoYiConfig.isThirdServer()) {
530-
weCorpAccount.setH5DoMainName(ruoYiConfig.getThirdDefaultDomain().getSidebar());
527+
// 如果是三方应用需要从配置文件读取侧边栏的URL
528+
if (ruoYiConfig.isThirdServer() ) {
529+
weCorpAccount.setH5DoMainName(ruoYiConfig.getThirdDefaultDomain().getSidebar());
530+
}
531531
}
532532
return weCorpAccount;
533533
}

0 commit comments

Comments
 (0)