From bd9b0c530fdc76cf18798806b8b26d1615eb11be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=A9=AC=E5=93=A5?= <2310732606@qq.com> Date: Wed, 7 Apr 2021 09:42:23 +0800 Subject: [PATCH 1/7] update README.md. --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index ff73135..803900f 100644 --- a/README.md +++ b/README.md @@ -12,8 +12,7 @@ ![ ](https://img.shields.io/badge/front-vue%2Belement--ui-blue) [![star](https://gitee.com/TDuckApp/tduck-platform/badge/star.svg?theme=white)](https://gitee.com/TDuckApp/tduck-platform/stargazers) ### 联系作者/加入社群 -![输入图片说明](https://images.gitee.com/uploads/images/2021/0331/160818_e6d4bbf1_1674451.png "微信截图_20210331160806.png") - +![群聊人数已经满200,需要手动拉入](https://images.gitee.com/uploads/images/2021/0407/094119_aa5761d3_1674451.png "微信图片_20210407094043.png") ## V2版本正在规划开发中,全新UI,更多功能;同时欢迎各位伙伴进群提出你的想法和需求

From 30e25c0c7392e16d1795dab67d530bbcf5db0489 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=A9=AC=E5=93=A5?= <2310732606@qq.com> Date: Wed, 7 Apr 2021 10:02:04 +0800 Subject: [PATCH 2/7] =?UTF-8?q?update=20README.md.=20=E6=9B=B4=E6=8D=A2?= =?UTF-8?q?=E5=85=A5=E7=BE=A4=E4=BA=8C=E7=BB=B4=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 803900f..0d7cdbc 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,10 @@ ![ ](https://img.shields.io/badge/front-vue%2Belement--ui-blue) [![star](https://gitee.com/TDuckApp/tduck-platform/badge/star.svg?theme=white)](https://gitee.com/TDuckApp/tduck-platform/stargazers) ### 联系作者/加入社群 -![群聊人数已经满200,需要手动拉入](https://images.gitee.com/uploads/images/2021/0407/094119_aa5761d3_1674451.png "微信图片_20210407094043.png") +![输入图片说明](https://images.gitee.com/uploads/images/2021/0407/100054_10b7177d_1674451.png "微信截图_20210407095930.png") + +## 群聊人数已经满200,需要手动拉入 + ## V2版本正在规划开发中,全新UI,更多功能;同时欢迎各位伙伴进群提出你的想法和需求

From 92a4ce525248071b8b4a30fc6d0adebe915b6339 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=A9=AC=E5=93=A5?= <2310732606@qq.com> Date: Wed, 7 Apr 2021 20:42:50 +0800 Subject: [PATCH 3/7] update README.md. --- README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 0d7cdbc..14381ac 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,7 @@ +## 前言 +### 各位老铁,感谢您的关注,Tduck项目上线时间不足一年,还有许多地方需要打磨;由于不是专职做开源,更新速度相对缓慢,但是一直都在不停的迭代(加班打码...)遇到问题可以进群咨询一下已经完成部署的大佬,并且在部署时参照部署文档进行部署;由于涉及到微信、QQ登录需要准备相应账号;详情请见: 部署文档 https://gitee.com/TDuckApp/tduck-platform/wikis/%E6%9C%AC%E5%9C%B0%E8%BF%90%E8%A1%8C?sort_id=3681729 + +

@@ -91,7 +95,6 @@ Tduck 填鸭:是基于B/S架构的一款开源的表单问卷在线收集系 ### 快速启动 -## 部署文档:https://gitee.com/TDuckApp/tduck-platform/wikis/%E6%9C%AC%E5%9C%B0%E8%BF%90%E8%A1%8C?sort_id=3681729 1. 配置最小开发环境: From 0207afb5ec72714d9dec6c77af9c7a4dbfd16f75 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=A9=AC=E5=93=A5?= <2310732606@qq.com> Date: Wed, 7 Apr 2021 20:44:03 +0800 Subject: [PATCH 4/7] update README.md. --- README.md | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 14381ac..40d2faf 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,11 @@ -## 前言 -### 各位老铁,感谢您的关注,Tduck项目上线时间不足一年,还有许多地方需要打磨;由于不是专职做开源,更新速度相对缓慢,但是一直都在不停的迭代(加班打码...)遇到问题可以进群咨询一下已经完成部署的大佬,并且在部署时参照部署文档进行部署;由于涉及到微信、QQ登录需要准备相应账号;详情请见: 部署文档 https://gitee.com/TDuckApp/tduck-platform/wikis/%E6%9C%AC%E5%9C%B0%E8%BF%90%E8%A1%8C?sort_id=3681729 +# 前言 +### 各位老铁,感谢您的关注。 +- Tduck项目上线时间不足一年,还有许多地方需要打磨; +- 由于不是专职做开源,更新速度相对缓慢,但是一直都在不停的迭代(加班打码...) +- 遇到问题可以进群咨询一下已经完成部署的大佬,并且在部署时参照部署文档进行部署; +- 由于涉及到微信、QQ登录需要准备相应账号; +- 详情请见: +### 部署文档 https://gitee.com/TDuckApp/tduck-platform/wikis/%E6%9C%AC%E5%9C%B0%E8%BF%90%E8%A1%8C?sort_id=3681729

From ae9bb9666a69e13ec0276bd06b9dc4b14724215d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=A9=AC=E5=93=A5?= <2310732606@qq.com> Date: Wed, 7 Apr 2021 20:44:26 +0800 Subject: [PATCH 5/7] update README.md. --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index 40d2faf..fb71eda 100644 --- a/README.md +++ b/README.md @@ -4,8 +4,7 @@ - 由于不是专职做开源,更新速度相对缓慢,但是一直都在不停的迭代(加班打码...) - 遇到问题可以进群咨询一下已经完成部署的大佬,并且在部署时参照部署文档进行部署; - 由于涉及到微信、QQ登录需要准备相应账号; -- 详情请见: -### 部署文档 https://gitee.com/TDuckApp/tduck-platform/wikis/%E6%9C%AC%E5%9C%B0%E8%BF%90%E8%A1%8C?sort_id=3681729 +- 详情请见:部署文档 https://gitee.com/TDuckApp/tduck-platform/wikis/%E6%9C%AC%E5%9C%B0%E8%BF%90%E8%A1%8C?sort_id=3681729

From fced291afa038dd95096d60a2ea7fb8d3ec67595 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=A9=AC=E5=93=A5?= <2310732606@qq.com> Date: Wed, 7 Apr 2021 20:45:17 +0800 Subject: [PATCH 6/7] update README.md. --- README.md | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index fb71eda..80cbebe 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,10 @@ +

+

+

+ logo +

+

Tduck 填鸭 —— 表单收集器

+ # 前言 ### 各位老铁,感谢您的关注。 - Tduck项目上线时间不足一年,还有许多地方需要打磨; @@ -7,14 +14,6 @@ - 详情请见:部署文档 https://gitee.com/TDuckApp/tduck-platform/wikis/%E6%9C%AC%E5%9C%B0%E8%BF%90%E8%A1%8C?sort_id=3681729 -

-

-

- logo -

-

Tduck 填鸭 —— 表单收集器

- - ![ ](https://img.shields.io/:license-apache-blue.svg) ![ ](https://img.shields.io/badge/JDK-1.8+-red.svg) ![ ](https://img.shields.io/badge/BY-SpringBoot-green) From c7b3ed69c627b42f51028ba5fa3e89df6d965d6a Mon Sep 17 00:00:00 2001 From: wangqing <250543222@qq.com> Date: Wed, 7 Apr 2021 23:21:44 +0800 Subject: [PATCH 7/7] =?UTF-8?q?fix:=20=E4=BF=AE=E6=94=B9=E9=82=AE=E7=AE=B1?= =?UTF-8?q?=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../constant/AccountRedisKeyConstants.java | 2 +- .../account/service/UserValidateService.java | 8 ++++---- .../service/impl/UserValidateServiceImpl.java | 16 +++++++++------- .../cloud/api/web/controller/UserController.java | 7 +++---- 4 files changed, 17 insertions(+), 16 deletions(-) diff --git a/tduck-account/src/main/java/com/tduck/cloud/account/constant/AccountRedisKeyConstants.java b/tduck-account/src/main/java/com/tduck/cloud/account/constant/AccountRedisKeyConstants.java index 3e32fdb..36f42f6 100644 --- a/tduck-account/src/main/java/com/tduck/cloud/account/constant/AccountRedisKeyConstants.java +++ b/tduck-account/src/main/java/com/tduck/cloud/account/constant/AccountRedisKeyConstants.java @@ -30,5 +30,5 @@ public interface AccountRedisKeyConstants { /** * 修改邮箱验证 */ - String UPDATE_USER_EMAIL_CODE = "user:email:update:code:{}"; + String UPDATE_USER_EMAIL_CODE = "user:email:update:code:{}:{}"; } diff --git a/tduck-account/src/main/java/com/tduck/cloud/account/service/UserValidateService.java b/tduck-account/src/main/java/com/tduck/cloud/account/service/UserValidateService.java index 3d2c12b..abc1790 100644 --- a/tduck-account/src/main/java/com/tduck/cloud/account/service/UserValidateService.java +++ b/tduck-account/src/main/java/com/tduck/cloud/account/service/UserValidateService.java @@ -2,6 +2,7 @@ package com.tduck.cloud.account.service; import com.tduck.cloud.account.entity.UserEntity; +import com.tduck.cloud.account.request.UpdateUserRequest; /** * 账号验证码 @@ -37,12 +38,11 @@ public interface UserValidateService { void sendUpdateAccountEmail(String email, Long userId); /** - * 发送绑定账号邮箱 + * 获取需要更改邮箱的UserId * - * @param email - * @param key + * @param request */ - Boolean checkUpdateAccountEmail(String email, String key); + Long getUpdateEmailUserId(UpdateUserRequest.Email request); /** * 发送短信验证码 diff --git a/tduck-account/src/main/java/com/tduck/cloud/account/service/impl/UserValidateServiceImpl.java b/tduck-account/src/main/java/com/tduck/cloud/account/service/impl/UserValidateServiceImpl.java index 45d1a9a..d37224b 100644 --- a/tduck-account/src/main/java/com/tduck/cloud/account/service/impl/UserValidateServiceImpl.java +++ b/tduck-account/src/main/java/com/tduck/cloud/account/service/impl/UserValidateServiceImpl.java @@ -3,10 +3,12 @@ package com.tduck.cloud.account.service.impl; import cn.hutool.captcha.generator.RandomGenerator; import cn.hutool.core.map.MapUtil; import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.google.common.collect.ImmutableMap; import com.tduck.cloud.account.constant.AccountRedisKeyConstants; import com.tduck.cloud.account.entity.UserEntity; +import com.tduck.cloud.account.request.UpdateUserRequest; import com.tduck.cloud.account.service.UserValidateService; import com.tduck.cloud.common.constant.CommonConstants; import com.tduck.cloud.common.email.MailService; @@ -65,21 +67,21 @@ public class UserValidateServiceImpl implements UserValidateService { @Override public void sendUpdateAccountEmail(String email, Long userId) { String code = IdUtil.fastUUID(); - redisUtils.set(StrUtil.format(AccountRedisKeyConstants.UPDATE_USER_EMAIL_CODE, code), userId); + redisUtils.set(StrUtil.format(AccountRedisKeyConstants.UPDATE_USER_EMAIL_CODE, code, email), userId); //发送邮件 Map params = ImmutableMap.of("updateEmailUrl", StrUtil.format(updateEmailUrl, code, email)); mailService.sendTemplateHtmlMail(email, RESET_PWD_EMAIL_TITLE, "mail/update-account-email", params); } @Override - public Boolean checkUpdateAccountEmail(String email, String key) { - String emailCodeKey = StrUtil.format(AccountRedisKeyConstants.UPDATE_USER_EMAIL_CODE, key); - String validateKey = redisUtils.get(emailCodeKey, String.class); - if (key.equals(validateKey)) { + public Long getUpdateEmailUserId(UpdateUserRequest.Email request) { + String emailCodeKey = StrUtil.format(AccountRedisKeyConstants.UPDATE_USER_EMAIL_CODE, request.getKey(), request.getEmail()); + Long userId = redisUtils.get(emailCodeKey, Long.class); + if (ObjectUtil.isNotNull(userId)) { redisUtils.remove(emailCodeKey); - return true; + return userId; } - return false; + return null; } diff --git a/tduck-api/src/main/java/com/tduck/cloud/api/web/controller/UserController.java b/tduck-api/src/main/java/com/tduck/cloud/api/web/controller/UserController.java index 192da53..3792fc0 100644 --- a/tduck-api/src/main/java/com/tduck/cloud/api/web/controller/UserController.java +++ b/tduck-api/src/main/java/com/tduck/cloud/api/web/controller/UserController.java @@ -105,16 +105,15 @@ public class UserController { * * @return */ - @Login @PostMapping("/update/email") - public Result updateUserEmail(@RequestBody UpdateUserRequest.Email request, @RequestAttribute Long userId) { + public Result updateUserEmail(@RequestBody UpdateUserRequest.Email request) { Validator.validateEmail(request.getEmail(), "邮箱地址不正确"); UserEntity userEntity = userService.getUserByEmail(request.getEmail()); if (ObjectUtil.isNotNull(userEntity)) { return Result.failed("该邮箱已被绑定"); } - Boolean checkUpdateAccountEmail = userValidateService.checkUpdateAccountEmail(request.getEmail(), request.getKey()); - if (!checkUpdateAccountEmail) { + Long userId = userValidateService.getUpdateEmailUserId(request); + if (ObjectUtil.isNull(userId)) { return Result.success(false); } userEntity = new UserEntity();