From b8f3d4f3b7366ef6df583eba7f2694ba09131f88 Mon Sep 17 00:00:00 2001 From: fanxb Date: Fri, 20 Aug 2021 14:25:34 +0800 Subject: [PATCH 1/3] =?UTF-8?q?refactor:=E4=BB=A3=E7=A0=81=E8=A7=84?= =?UTF-8?q?=E8=8C=83=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bookmark/business/api/BookmarkApi.java | 1 + .../fanxb/bookmark/business/api/UserApi.java | 4 ++++ .../consumer/BookmarkDeleteEsConsumer.java | 3 ++- .../controller/BookmarkBackupController.java | 4 ++-- .../business/bookmark/dao/BookmarkDao.java | 24 +++++++++++++++---- .../business/bookmark/entity/PinYinBody.java | 3 ++- .../service/BookmarkBackupService.java | 4 ++-- .../bookmark/service/BookmarkService.java | 6 ++++- .../bookmark/service/PinYinService.java | 9 +++---- .../service/impl/PinYinServiceImpl.java | 3 ++- .../user/controller/FeedbackController.java | 3 ++- .../user/controller/UserController.java | 10 ++++---- .../business/user/dao/FeedbackDao.java | 5 +++- .../bookmark/business/user/dao/UserDao.java | 3 ++- .../business/user/entity/Feedback.java | 3 ++- .../user/service/FeedbackService.java | 3 ++- .../business/user/service/OAuthService.java | 8 ------- .../business/user/service/OauthService.java | 19 +++++++++++++++ .../business/user/service/UserService.java | 2 ++ .../service/impl/FeedbackServiceImpl.java | 9 +++++-- ...ServiceImpl.java => OauthServiceImpl.java} | 19 +++++++-------- .../user/service/impl/UserApiImpl.java | 4 ++++ .../user/service/impl/UserServiceImpl.java | 6 ++++- .../vo/{OAuthBody.java => OauthBody.java} | 2 +- 24 files changed, 108 insertions(+), 49 deletions(-) delete mode 100644 bookMarkService/business/user/src/main/java/com/fanxb/bookmark/business/user/service/OAuthService.java create mode 100644 bookMarkService/business/user/src/main/java/com/fanxb/bookmark/business/user/service/OauthService.java rename bookMarkService/business/user/src/main/java/com/fanxb/bookmark/business/user/service/impl/{OAuthServiceImpl.java => OauthServiceImpl.java} (88%) rename bookMarkService/business/user/src/main/java/com/fanxb/bookmark/business/user/vo/{OAuthBody.java => OauthBody.java} (93%) diff --git a/bookMarkService/business/api/src/main/java/com/fanxb/bookmark/business/api/BookmarkApi.java b/bookMarkService/business/api/src/main/java/com/fanxb/bookmark/business/api/BookmarkApi.java index 5a1bdfd..ed7b048 100644 --- a/bookMarkService/business/api/src/main/java/com/fanxb/bookmark/business/api/BookmarkApi.java +++ b/bookMarkService/business/api/src/main/java/com/fanxb/bookmark/business/api/BookmarkApi.java @@ -21,6 +21,7 @@ public interface BookmarkApi { * @author fanxb * @param delete 是否删除问题数据 * @param userId userId + * @return 返回删除的数据 * @date 2021/3/17 **/ Set dealBadBookmark(boolean delete, int userId); diff --git a/bookMarkService/business/api/src/main/java/com/fanxb/bookmark/business/api/UserApi.java b/bookMarkService/business/api/src/main/java/com/fanxb/bookmark/business/api/UserApi.java index 60c4589..4241812 100644 --- a/bookMarkService/business/api/src/main/java/com/fanxb/bookmark/business/api/UserApi.java +++ b/bookMarkService/business/api/src/main/java/com/fanxb/bookmark/business/api/UserApi.java @@ -1,5 +1,9 @@ package com.fanxb.bookmark.business.api; +/** + * @author fanxb + * @date 2021/8/20 下午2:12 + */ public interface UserApi { /** * 版本自增 diff --git a/bookMarkService/business/bookmark/src/main/java/com/fanxb/bookmark/business/bookmark/consumer/BookmarkDeleteEsConsumer.java b/bookMarkService/business/bookmark/src/main/java/com/fanxb/bookmark/business/bookmark/consumer/BookmarkDeleteEsConsumer.java index 521206d..0a3998c 100644 --- a/bookMarkService/business/bookmark/src/main/java/com/fanxb/bookmark/business/bookmark/consumer/BookmarkDeleteEsConsumer.java +++ b/bookMarkService/business/bookmark/src/main/java/com/fanxb/bookmark/business/bookmark/consumer/BookmarkDeleteEsConsumer.java @@ -13,7 +13,8 @@ import java.util.List; /** * Created with IntelliJ IDEA - * Created By Fxb + * + * @author fanxb * Date: 2020/3/29 * Time: 13:08 */ diff --git a/bookMarkService/business/bookmark/src/main/java/com/fanxb/bookmark/business/bookmark/controller/BookmarkBackupController.java b/bookMarkService/business/bookmark/src/main/java/com/fanxb/bookmark/business/bookmark/controller/BookmarkBackupController.java index 366e915..2763caa 100644 --- a/bookMarkService/business/bookmark/src/main/java/com/fanxb/bookmark/business/bookmark/controller/BookmarkBackupController.java +++ b/bookMarkService/business/bookmark/src/main/java/com/fanxb/bookmark/business/bookmark/controller/BookmarkBackupController.java @@ -21,7 +21,7 @@ import org.springframework.web.bind.annotation.RestController; @RequestMapping("/bookmarkBackup") public class BookmarkBackupController { - private BookmarkBackupService backupService; + private final BookmarkBackupService backupService; @Autowired public BookmarkBackupController(BookmarkBackupServiceImpl backupService) { @@ -31,7 +31,7 @@ public class BookmarkBackupController { @PostMapping("/mysqlToEs") public Result backupToEs() { //异步执行同步任务 - ThreadPoolUtil.execute(() -> backupService.backupToEs()); + ThreadPoolUtil.execute(backupService::backupToEs); return Result.success(null); } } diff --git a/bookMarkService/business/bookmark/src/main/java/com/fanxb/bookmark/business/bookmark/dao/BookmarkDao.java b/bookMarkService/business/bookmark/src/main/java/com/fanxb/bookmark/business/bookmark/dao/BookmarkDao.java index 8d8678e..0486089 100644 --- a/bookMarkService/business/bookmark/src/main/java/com/fanxb/bookmark/business/bookmark/dao/BookmarkDao.java +++ b/bookMarkService/business/bookmark/src/main/java/com/fanxb/bookmark/business/bookmark/dao/BookmarkDao.java @@ -187,6 +187,7 @@ public interface BookmarkDao extends BaseMapper { /** * 批量更新searchKey * + * @param list list * @author fanxb * @date 2020/3/22 22:08 */ @@ -213,16 +214,28 @@ public interface BookmarkDao extends BaseMapper { @Update("update bookmark set visitNum=visitNum+1 where userId=#{userId} and bookmarkId=#{bookmarkId}") void updateVisitNum(VisitNumPlus item); + /** + * 查询用户最常访问的几个书签 + * + * @param userId 用户id + * @param num num + * @return java.util.List + * @author fanxb + * @date 2021/8/20 上午11:52 + */ @Select("select bookmarkId,name,url,icon from bookmark where userId=#{userId} and type=0 order by visitNum desc limit 0,#{num}") List selectPopular(@Param("userId") int userId, @Param("num") int num); /** * 获取某用户无icon的条目 * + * @param userId userId + * @param start 开始 + * @param size 数量 * @return java.util.List * @author fanxb - * @date 2021/3/11 - **/ + * @date 2021/8/20 下午12:02 + */ @Select("select userId,bookmarkId,url,icon from bookmark where userId=#{userId} and icon='' order by bookmarkId asc limit #{start},#{size}") List selectUserNoIcon(@Param("userId") int userId, @Param("start") int start, @Param("size") int size); @@ -238,12 +251,13 @@ public interface BookmarkDao extends BaseMapper { void updateIcon(@Param("bookmarkId") int bookmarkId, @Param("icon") String icon); /** - * 获取某用户所有的id,bookmark + * 查询一个用户全部的书签路径 * * @param userId userId + * @return java.util.List * @author fanxb - * @date 2021/3/17 - **/ + * @date 2021/8/20 上午11:58 + */ @Select("select bookmarkId,path from bookmark where userId=#{userId}") List selectBookmarkIdPathByUserId(int userId); diff --git a/bookMarkService/business/bookmark/src/main/java/com/fanxb/bookmark/business/bookmark/entity/PinYinBody.java b/bookMarkService/business/bookmark/src/main/java/com/fanxb/bookmark/business/bookmark/entity/PinYinBody.java index 2507dc8..e131f56 100644 --- a/bookMarkService/business/bookmark/src/main/java/com/fanxb/bookmark/business/bookmark/entity/PinYinBody.java +++ b/bookMarkService/business/bookmark/src/main/java/com/fanxb/bookmark/business/bookmark/entity/PinYinBody.java @@ -8,7 +8,8 @@ import java.util.List; /** * Created with IntelliJ IDEA - * Created By Fxb + * + * @author fanxb * Date: 2020/3/19 * Time: 0:05 */ diff --git a/bookMarkService/business/bookmark/src/main/java/com/fanxb/bookmark/business/bookmark/service/BookmarkBackupService.java b/bookMarkService/business/bookmark/src/main/java/com/fanxb/bookmark/business/bookmark/service/BookmarkBackupService.java index 323cac1..c885a45 100644 --- a/bookMarkService/business/bookmark/src/main/java/com/fanxb/bookmark/business/bookmark/service/BookmarkBackupService.java +++ b/bookMarkService/business/bookmark/src/main/java/com/fanxb/bookmark/business/bookmark/service/BookmarkBackupService.java @@ -1,8 +1,7 @@ package com.fanxb.bookmark.business.bookmark.service; /** - * Created with IntelliJ IDEA - * Created By Fxb + * @author fanxb * Date: 2020/3/29 * Time: 12:43 */ @@ -20,6 +19,7 @@ public interface BookmarkBackupService { /** * Description: 将某个用户的书签数据mysql同步到es中 * + * @param userId 用户id * @author fanxb * @date 2019/7/26 11:27 */ diff --git a/bookMarkService/business/bookmark/src/main/java/com/fanxb/bookmark/business/bookmark/service/BookmarkService.java b/bookMarkService/business/bookmark/src/main/java/com/fanxb/bookmark/business/bookmark/service/BookmarkService.java index 514c010..a390bcb 100644 --- a/bookMarkService/business/bookmark/src/main/java/com/fanxb/bookmark/business/bookmark/service/BookmarkService.java +++ b/bookMarkService/business/bookmark/src/main/java/com/fanxb/bookmark/business/bookmark/service/BookmarkService.java @@ -11,7 +11,8 @@ import java.util.Set; /** * Created with IntelliJ IDEA - * Created By Fxb + * + * @author fanxb * Date: 2020/3/29 * Time: 12:25 */ @@ -48,6 +49,8 @@ public interface BookmarkService { * * @param stream 输入流 * @param path 存放路径 + * @param userId userId + * @throws Exception 各种异常 * @author fanxb * @date 2019/7/9 18:44 */ @@ -68,6 +71,7 @@ public interface BookmarkService { * * @param userId userId * @param bookmark bookmark + * @return 更新后的icon * @author fanxb * @date 2019/7/17 14:42 */ diff --git a/bookMarkService/business/bookmark/src/main/java/com/fanxb/bookmark/business/bookmark/service/PinYinService.java b/bookMarkService/business/bookmark/src/main/java/com/fanxb/bookmark/business/bookmark/service/PinYinService.java index 09a74ac..32521fe 100644 --- a/bookMarkService/business/bookmark/src/main/java/com/fanxb/bookmark/business/bookmark/service/PinYinService.java +++ b/bookMarkService/business/bookmark/src/main/java/com/fanxb/bookmark/business/bookmark/service/PinYinService.java @@ -6,7 +6,8 @@ import java.util.List; /** * Created with IntelliJ IDEA - * Created By Fxb + * + * @author fanxb * Date: 2020/3/18 * Time: 23:47 */ @@ -15,15 +16,15 @@ public interface PinYinService { /** * 分隔符 */ - static final String PARTITION = "||"; + String PARTITION = "||"; /** * 拼音接口路径 */ - static final String PATH = "/pinyinChange"; + String PATH = "/pinyinChange"; /** * 分页查询页大小 */ - static final int SIZE = 500; + int SIZE = 500; /** * 功能描述: 首次上线用于全量初始化 diff --git a/bookMarkService/business/bookmark/src/main/java/com/fanxb/bookmark/business/bookmark/service/impl/PinYinServiceImpl.java b/bookMarkService/business/bookmark/src/main/java/com/fanxb/bookmark/business/bookmark/service/impl/PinYinServiceImpl.java index cdb35fa..d19363f 100644 --- a/bookMarkService/business/bookmark/src/main/java/com/fanxb/bookmark/business/bookmark/service/impl/PinYinServiceImpl.java +++ b/bookMarkService/business/bookmark/src/main/java/com/fanxb/bookmark/business/bookmark/service/impl/PinYinServiceImpl.java @@ -27,7 +27,8 @@ import java.util.stream.Collectors; /** * Created with IntelliJ IDEA - * Created By Fxb + * + * @author fanxb * Date: 2020/3/18 * Time: 23:48 */ diff --git a/bookMarkService/business/user/src/main/java/com/fanxb/bookmark/business/user/controller/FeedbackController.java b/bookMarkService/business/user/src/main/java/com/fanxb/bookmark/business/user/controller/FeedbackController.java index 5d5483d..734f593 100644 --- a/bookMarkService/business/user/src/main/java/com/fanxb/bookmark/business/user/controller/FeedbackController.java +++ b/bookMarkService/business/user/src/main/java/com/fanxb/bookmark/business/user/controller/FeedbackController.java @@ -12,7 +12,8 @@ import org.springframework.web.bind.annotation.RestController; /** * Created with IntelliJ IDEA - * Created By Fxb + * + * @author fanxb * Date: 2020/3/10 * Time: 23:16 */ diff --git a/bookMarkService/business/user/src/main/java/com/fanxb/bookmark/business/user/controller/UserController.java b/bookMarkService/business/user/src/main/java/com/fanxb/bookmark/business/user/controller/UserController.java index 26e3458..523e78f 100644 --- a/bookMarkService/business/user/src/main/java/com/fanxb/bookmark/business/user/controller/UserController.java +++ b/bookMarkService/business/user/src/main/java/com/fanxb/bookmark/business/user/controller/UserController.java @@ -1,10 +1,10 @@ package com.fanxb.bookmark.business.user.controller; import com.alibaba.fastjson.JSONObject; -import com.fanxb.bookmark.business.user.service.OAuthService; +import com.fanxb.bookmark.business.user.service.OauthService; import com.fanxb.bookmark.business.user.service.UserService; import com.fanxb.bookmark.business.user.vo.LoginBody; -import com.fanxb.bookmark.business.user.vo.OAuthBody; +import com.fanxb.bookmark.business.user.vo.OauthBody; import com.fanxb.bookmark.business.user.vo.RegisterBody; import com.fanxb.bookmark.business.user.service.impl.UserServiceImpl; import com.fanxb.bookmark.common.entity.Result; @@ -28,11 +28,11 @@ import javax.validation.Valid; public class UserController { private final UserServiceImpl userServiceImpl; - private final OAuthService oAuthService; + private final OauthService oAuthService; private final UserService userService; @Autowired - public UserController(UserServiceImpl userServiceImpl, OAuthService oAuthService, UserService userService) { + public UserController(UserServiceImpl userServiceImpl, OauthService oAuthService, UserService userService) { this.userServiceImpl = userServiceImpl; this.oAuthService = oAuthService; this.userService = userService; @@ -142,7 +142,7 @@ public class UserController { * @date 2021/3/10 */ @PostMapping("oAuthLogin") - public Result oAuthLogin(@RequestBody OAuthBody body) { + public Result oAuthLogin(@RequestBody OauthBody body) { return Result.success(oAuthService.oAuthCheck(body)); } diff --git a/bookMarkService/business/user/src/main/java/com/fanxb/bookmark/business/user/dao/FeedbackDao.java b/bookMarkService/business/user/src/main/java/com/fanxb/bookmark/business/user/dao/FeedbackDao.java index e03a423..82b915b 100644 --- a/bookMarkService/business/user/src/main/java/com/fanxb/bookmark/business/user/dao/FeedbackDao.java +++ b/bookMarkService/business/user/src/main/java/com/fanxb/bookmark/business/user/dao/FeedbackDao.java @@ -3,13 +3,16 @@ package com.fanxb.bookmark.business.user.dao; import com.fanxb.bookmark.business.user.entity.Feedback; import org.apache.ibatis.annotations.Insert; import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Component; /** * Created with IntelliJ IDEA - * Created By Fxb + * + * @author fanxb * Date: 2020/3/10 * Time: 23:14 */ +@Component public interface FeedbackDao { /** diff --git a/bookMarkService/business/user/src/main/java/com/fanxb/bookmark/business/user/dao/UserDao.java b/bookMarkService/business/user/src/main/java/com/fanxb/bookmark/business/user/dao/UserDao.java index 1f39c0f..5c4a38c 100644 --- a/bookMarkService/business/user/src/main/java/com/fanxb/bookmark/business/user/dao/UserDao.java +++ b/bookMarkService/business/user/src/main/java/com/fanxb/bookmark/business/user/dao/UserDao.java @@ -62,7 +62,8 @@ public interface UserDao { /** * Description: 根据用户id查询用户信息 * - * @param userId userId + * @param userId userId + * @param githubId githubId * @return com.fanxb.bookmark.common.entity.User * @author fanxb * @date 2019/7/30 16:08 diff --git a/bookMarkService/business/user/src/main/java/com/fanxb/bookmark/business/user/entity/Feedback.java b/bookMarkService/business/user/src/main/java/com/fanxb/bookmark/business/user/entity/Feedback.java index 599811f..23a8537 100644 --- a/bookMarkService/business/user/src/main/java/com/fanxb/bookmark/business/user/entity/Feedback.java +++ b/bookMarkService/business/user/src/main/java/com/fanxb/bookmark/business/user/entity/Feedback.java @@ -6,7 +6,8 @@ import javax.validation.constraints.NotEmpty; /** * Created with IntelliJ IDEA - * Created By Fxb + * + * @author fanxb * Date: 2020/3/10 * Time: 23:13 */ diff --git a/bookMarkService/business/user/src/main/java/com/fanxb/bookmark/business/user/service/FeedbackService.java b/bookMarkService/business/user/src/main/java/com/fanxb/bookmark/business/user/service/FeedbackService.java index eaf1f05..cb081b3 100644 --- a/bookMarkService/business/user/src/main/java/com/fanxb/bookmark/business/user/service/FeedbackService.java +++ b/bookMarkService/business/user/src/main/java/com/fanxb/bookmark/business/user/service/FeedbackService.java @@ -4,7 +4,8 @@ import com.fanxb.bookmark.business.user.entity.Feedback; /** * Created with IntelliJ IDEA - * Created By Fxb + * + * @author fanxb * Date: 2020/3/10 * Time: 23:17 */ diff --git a/bookMarkService/business/user/src/main/java/com/fanxb/bookmark/business/user/service/OAuthService.java b/bookMarkService/business/user/src/main/java/com/fanxb/bookmark/business/user/service/OAuthService.java deleted file mode 100644 index a7780ef..0000000 --- a/bookMarkService/business/user/src/main/java/com/fanxb/bookmark/business/user/service/OAuthService.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.fanxb.bookmark.business.user.service; - -import com.fanxb.bookmark.business.user.vo.OAuthBody; - -public interface OAuthService { - - String oAuthCheck(OAuthBody body); -} diff --git a/bookMarkService/business/user/src/main/java/com/fanxb/bookmark/business/user/service/OauthService.java b/bookMarkService/business/user/src/main/java/com/fanxb/bookmark/business/user/service/OauthService.java new file mode 100644 index 0000000..cdcc110 --- /dev/null +++ b/bookMarkService/business/user/src/main/java/com/fanxb/bookmark/business/user/service/OauthService.java @@ -0,0 +1,19 @@ +package com.fanxb.bookmark.business.user.service; + +import com.fanxb.bookmark.business.user.vo.OauthBody; + +/** + * @author fanxb + * @date 2021/8/20 下午2:13 + */ +public interface OauthService { + /** + * oauth登陆校验 + * + * @param body body + * @return java.lang.String + * @author fanxb + * @date 2021/8/20 下午2:13 + */ + String oAuthCheck(OauthBody body); +} diff --git a/bookMarkService/business/user/src/main/java/com/fanxb/bookmark/business/user/service/UserService.java b/bookMarkService/business/user/src/main/java/com/fanxb/bookmark/business/user/service/UserService.java index 3dd008d..d1e43e2 100644 --- a/bookMarkService/business/user/src/main/java/com/fanxb/bookmark/business/user/service/UserService.java +++ b/bookMarkService/business/user/src/main/java/com/fanxb/bookmark/business/user/service/UserService.java @@ -38,6 +38,7 @@ public interface UserService { /** * 获取当前用户的version * + * @param userId userId * @return int * @author fanxb * @date 2021/3/11 @@ -56,6 +57,7 @@ public interface UserService { * 检查所有用户的问题书签数据 * * @param delete 是否删除问题数据 + * @return 返回用户删除的数据 * @author fanxb * @date 2021/3/17 **/ diff --git a/bookMarkService/business/user/src/main/java/com/fanxb/bookmark/business/user/service/impl/FeedbackServiceImpl.java b/bookMarkService/business/user/src/main/java/com/fanxb/bookmark/business/user/service/impl/FeedbackServiceImpl.java index b9da824..6b3f6bf 100644 --- a/bookMarkService/business/user/src/main/java/com/fanxb/bookmark/business/user/service/impl/FeedbackServiceImpl.java +++ b/bookMarkService/business/user/src/main/java/com/fanxb/bookmark/business/user/service/impl/FeedbackServiceImpl.java @@ -9,14 +9,19 @@ import org.springframework.stereotype.Service; /** * Created with IntelliJ IDEA - * Created By Fxb + * + * @author fanxb * Date: 2020/3/10 * Time: 23:17 */ @Service public class FeedbackServiceImpl implements FeedbackService { + private final FeedbackDao feedbackDao; + @Autowired - private FeedbackDao feedbackDao; + public FeedbackServiceImpl(FeedbackDao feedbackDao) { + this.feedbackDao = feedbackDao; + } @Override public void addOne(Feedback feedback) { diff --git a/bookMarkService/business/user/src/main/java/com/fanxb/bookmark/business/user/service/impl/OAuthServiceImpl.java b/bookMarkService/business/user/src/main/java/com/fanxb/bookmark/business/user/service/impl/OauthServiceImpl.java similarity index 88% rename from bookMarkService/business/user/src/main/java/com/fanxb/bookmark/business/user/service/impl/OAuthServiceImpl.java rename to bookMarkService/business/user/src/main/java/com/fanxb/bookmark/business/user/service/impl/OauthServiceImpl.java index c2779cc..475e897 100644 --- a/bookMarkService/business/user/src/main/java/com/fanxb/bookmark/business/user/service/impl/OAuthServiceImpl.java +++ b/bookMarkService/business/user/src/main/java/com/fanxb/bookmark/business/user/service/impl/OauthServiceImpl.java @@ -1,12 +1,11 @@ package com.fanxb.bookmark.business.user.service.impl; -import cn.hutool.core.util.RandomUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONObject; import com.fanxb.bookmark.business.user.dao.UserDao; -import com.fanxb.bookmark.business.user.service.OAuthService; +import com.fanxb.bookmark.business.user.service.OauthService; import com.fanxb.bookmark.business.user.service.UserService; -import com.fanxb.bookmark.business.user.vo.OAuthBody; +import com.fanxb.bookmark.business.user.vo.OauthBody; import com.fanxb.bookmark.common.constant.Constant; import com.fanxb.bookmark.common.entity.User; import com.fanxb.bookmark.common.exception.CustomException; @@ -33,7 +32,7 @@ import static com.fanxb.bookmark.business.user.service.UserService.SHORT_EXPIRE_ **/ @Service @Slf4j -public class OAuthServiceImpl implements OAuthService { +public class OauthServiceImpl implements OauthService { @Value("${OAuth.github.clientId}") private String githubClientId; @@ -43,16 +42,16 @@ public class OAuthServiceImpl implements OAuthService { private final UserService userService; @Autowired - public OAuthServiceImpl(UserDao userDao, UserService userService) { + public OauthServiceImpl(UserDao userDao, UserService userService) { this.userDao = userDao; this.userService = userService; } @Override @Transactional(rollbackFor = Exception.class) - public String oAuthCheck(OAuthBody body) { + public String oAuthCheck(OauthBody body) { User current, other = new User(); - if (StrUtil.equals(body.getType(), OAuthBody.GITHUB)) { + if (StrUtil.equals(body.getType(), OauthBody.GITHUB)) { Map header = new HashMap<>(2); header.put("accept", "application/json"); String url = "https://github.com/login/oauth/access_token?client_id=" + githubClientId + "&client_secret=" + githubSecret + "&code=" + body.getCode(); @@ -65,7 +64,7 @@ public class OAuthServiceImpl implements OAuthService { JSONObject userInfo = HttpUtil.getObj("https://api.github.com/user", header, true); other.setGithubId(userInfo.getLong("id")); if (other.getGithubId() == null) { - log.error("github返回异常:{}", userInfo.toString()); + log.error("github返回异常:{}", userInfo); throw new CustomException("登陆异常,请稍后重试"); } other.setEmail(userInfo.getString("email")); @@ -78,7 +77,7 @@ public class OAuthServiceImpl implements OAuthService { } else { throw new CustomException("不支持的登陆方式" + body.getType()); } - User newest = dealOAuth(current, other); + User newest = dealOauth(current, other); return JwtUtil.encode(Collections.singletonMap("userId", String.valueOf(newest.getUserId())), Constant.jwtSecret , body.isRememberMe() ? LONG_EXPIRE_TIME : SHORT_EXPIRE_TIME); } @@ -92,7 +91,7 @@ public class OAuthServiceImpl implements OAuthService { * @author fanxb * @date 2021/3/11 **/ - private User dealOAuth(User current, User other) { + private User dealOauth(User current, User other) { if (current == null) { //判断用户名是否可用 if (userDao.usernameExist(other.getUsername())) { diff --git a/bookMarkService/business/user/src/main/java/com/fanxb/bookmark/business/user/service/impl/UserApiImpl.java b/bookMarkService/business/user/src/main/java/com/fanxb/bookmark/business/user/service/impl/UserApiImpl.java index def3508..3781649 100644 --- a/bookMarkService/business/user/src/main/java/com/fanxb/bookmark/business/user/service/impl/UserApiImpl.java +++ b/bookMarkService/business/user/src/main/java/com/fanxb/bookmark/business/user/service/impl/UserApiImpl.java @@ -5,6 +5,10 @@ import com.fanxb.bookmark.business.user.dao.UserDao; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +/** + * @author fanxb + * @date 2021/8/20 下午2:15 + */ @Service public class UserApiImpl implements UserApi { private final UserDao userDao; diff --git a/bookMarkService/business/user/src/main/java/com/fanxb/bookmark/business/user/service/impl/UserServiceImpl.java b/bookMarkService/business/user/src/main/java/com/fanxb/bookmark/business/user/service/impl/UserServiceImpl.java index e39f74e..58e4807 100644 --- a/bookMarkService/business/user/src/main/java/com/fanxb/bookmark/business/user/service/impl/UserServiceImpl.java +++ b/bookMarkService/business/user/src/main/java/com/fanxb/bookmark/business/user/service/impl/UserServiceImpl.java @@ -39,6 +39,10 @@ import java.util.concurrent.TimeUnit; @Service @Slf4j public class UserServiceImpl implements UserService { + /** + * 登陆最大重试次数 + */ + private static final int LOGIN_COUNT = 5; private final UserDao userDao; private final StringRedisTemplate redisTemplate; @@ -115,7 +119,7 @@ public class UserServiceImpl implements UserService { public String login(LoginBody body) { String key = RedisConstant.getUserFailCountKey(body.getStr()); String count = redisTemplate.opsForValue().get(key); - if (count != null && Integer.parseInt(count) >= 5) { + if (count != null && Integer.parseInt(count) >= LOGIN_COUNT) { redisTemplate.expire(key, 30, TimeUnit.MINUTES); throw new FormDataException("您已连续输错密码5次,请30分钟后再试,或联系管理员处理"); } diff --git a/bookMarkService/business/user/src/main/java/com/fanxb/bookmark/business/user/vo/OAuthBody.java b/bookMarkService/business/user/src/main/java/com/fanxb/bookmark/business/user/vo/OauthBody.java similarity index 93% rename from bookMarkService/business/user/src/main/java/com/fanxb/bookmark/business/user/vo/OAuthBody.java rename to bookMarkService/business/user/src/main/java/com/fanxb/bookmark/business/user/vo/OauthBody.java index 739ae40..c55fd07 100644 --- a/bookMarkService/business/user/src/main/java/com/fanxb/bookmark/business/user/vo/OAuthBody.java +++ b/bookMarkService/business/user/src/main/java/com/fanxb/bookmark/business/user/vo/OauthBody.java @@ -9,7 +9,7 @@ import lombok.Data; * @date 2021/3/10 **/ @Data -public class OAuthBody { +public class OauthBody { public static final String GITHUB = "github"; /** * 类别 From 2e8a8455a2290045fab93f32152749cd46e16380 Mon Sep 17 00:00:00 2001 From: fanxb Date: Wed, 15 Sep 2021 22:41:44 +0800 Subject: [PATCH 2/3] =?UTF-8?q?feat:=E5=A2=9E=E5=8A=A0=E5=85=A8=E5=B1=80?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E3=80=82=E5=89=8D=E7=AB=AF=E6=A0=B9=E6=8D=AE?= =?UTF-8?q?=E6=98=AF=E5=90=A6=E9=85=8D=E7=BD=AE=E4=BB=A3=E7=90=86=E5=86=B3?= =?UTF-8?q?=E5=AE=9A=E6=98=AF=E5=90=A6=E5=B1=95=E7=A4=BAgithub=E7=99=BB?= =?UTF-8?q?=E9=99=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/controller/ConfigController.java | 36 +++++++++++++++++++ .../common/service/ConfigService.java | 21 +++++++++++ .../service/impl/ConfigServiceImpl.java | 23 ++++++++++++ .../fanxb/bookmark/common/util/HttpUtil.java | 17 ++++++--- .../db/migration/V18__新增免验证url.sql | 2 ++ bookmark_front/src/App.vue | 4 +++ .../src/store/modules/globalConfig.js | 18 ++++++++-- bookmark_front/src/store/modules/treeData.js | 2 +- bookmark_front/src/util/HttpUtil.js | 5 +-- .../src/views/public/pages/Login.vue | 7 ++-- 10 files changed, 124 insertions(+), 11 deletions(-) create mode 100644 bookMarkService/common/src/main/java/com/fanxb/bookmark/common/controller/ConfigController.java create mode 100644 bookMarkService/common/src/main/java/com/fanxb/bookmark/common/service/ConfigService.java create mode 100644 bookMarkService/common/src/main/java/com/fanxb/bookmark/common/service/impl/ConfigServiceImpl.java create mode 100644 bookMarkService/web/src/main/resources/db/migration/V18__新增免验证url.sql diff --git a/bookMarkService/common/src/main/java/com/fanxb/bookmark/common/controller/ConfigController.java b/bookMarkService/common/src/main/java/com/fanxb/bookmark/common/controller/ConfigController.java new file mode 100644 index 0000000..890f720 --- /dev/null +++ b/bookMarkService/common/src/main/java/com/fanxb/bookmark/common/controller/ConfigController.java @@ -0,0 +1,36 @@ +package com.fanxb.bookmark.common.controller; + +import com.fanxb.bookmark.common.entity.Result; +import com.fanxb.bookmark.common.service.ConfigService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @author fanxb + * @date 2021-09-15-下午9:55 + */ +@RestController +@RequestMapping("/common/config") +public class ConfigController { + + private final ConfigService configService; + + @Autowired + public ConfigController(ConfigService configService) { + this.configService = configService; + } + + /** + * 获取全局配置 + * + * @return com.fanxb.bookmark.common.entity.Result + * @author fanxb + * @date 2021/9/15 下午9:56 + */ + @GetMapping("/global") + public Result getGlobalConfig() { + return Result.success(configService.getGlobalConfig()); + } +} diff --git a/bookMarkService/common/src/main/java/com/fanxb/bookmark/common/service/ConfigService.java b/bookMarkService/common/src/main/java/com/fanxb/bookmark/common/service/ConfigService.java new file mode 100644 index 0000000..f49851a --- /dev/null +++ b/bookMarkService/common/src/main/java/com/fanxb/bookmark/common/service/ConfigService.java @@ -0,0 +1,21 @@ +package com.fanxb.bookmark.common.service; + +import java.util.Map; + +/** + * 全局配置相关 + * + * @author fanxb + * @date 2021-09-15-下午9:56 + */ +public interface ConfigService { + + /** + * 获取全局配置,用户无关,是否登陆都能获取 + * + * @return java.util.Map + * @author fanxb + * @date 2021/9/15 下午9:58 + */ + Map getGlobalConfig(); +} diff --git a/bookMarkService/common/src/main/java/com/fanxb/bookmark/common/service/impl/ConfigServiceImpl.java b/bookMarkService/common/src/main/java/com/fanxb/bookmark/common/service/impl/ConfigServiceImpl.java new file mode 100644 index 0000000..6535c5b --- /dev/null +++ b/bookMarkService/common/src/main/java/com/fanxb/bookmark/common/service/impl/ConfigServiceImpl.java @@ -0,0 +1,23 @@ +package com.fanxb.bookmark.common.service.impl; + +import com.fanxb.bookmark.common.service.ConfigService; +import com.fanxb.bookmark.common.util.HttpUtil; +import org.springframework.stereotype.Service; + +import java.util.HashMap; +import java.util.Map; + +/** + * @author fanxb + * @date 2021-09-15-下午9:59 + */ +@Service +public class ConfigServiceImpl implements ConfigService { + + @Override + public Map getGlobalConfig() { + Map res = new HashMap<>(1); + res.put("proxyExist", HttpUtil.getProxyExist()); + return res; + } +} diff --git a/bookMarkService/common/src/main/java/com/fanxb/bookmark/common/util/HttpUtil.java b/bookMarkService/common/src/main/java/com/fanxb/bookmark/common/util/HttpUtil.java index 5b3b836..d1230e2 100644 --- a/bookMarkService/common/src/main/java/com/fanxb/bookmark/common/util/HttpUtil.java +++ b/bookMarkService/common/src/main/java/com/fanxb/bookmark/common/util/HttpUtil.java @@ -4,6 +4,7 @@ import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.fanxb.bookmark.common.exception.CustomException; +import lombok.Getter; import okhttp3.*; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; @@ -27,15 +28,22 @@ import java.util.concurrent.TimeUnit; */ @Component public class HttpUtil { + + /** + * 是否存在代理环境 + */ + @Getter + private static Boolean proxyExist = false; + @Value("${proxy.ip}") private String proxyIp; @Value("${proxy.port}") - private int proxyPort; + private String proxyPort; private static final int IP_LENGTH = 15; /** - * 使用代理环境 + * 使用代理环境(如不存在代理配置,那么此客户端也是非代理) */ private static OkHttpClient PROXY_CLIENT; /** @@ -49,8 +57,9 @@ public class HttpUtil { @PostConstruct public void init() { OkHttpClient.Builder builder = new OkHttpClient.Builder(); - if (StrUtil.isNotBlank(proxyIp)) { - builder.proxy(new Proxy(Proxy.Type.HTTP, new InetSocketAddress(proxyIp, proxyPort))); + if (StrUtil.isNotBlank(proxyIp) && StrUtil.isNotBlank(proxyPort)) { + builder.proxy(new Proxy(Proxy.Type.HTTP, new InetSocketAddress(proxyIp, Integer.parseInt(proxyPort)))); + proxyExist = true; } PROXY_CLIENT = builder.connectTimeout(10, TimeUnit.SECONDS) .readTimeout(60, TimeUnit.SECONDS) diff --git a/bookMarkService/web/src/main/resources/db/migration/V18__新增免验证url.sql b/bookMarkService/web/src/main/resources/db/migration/V18__新增免验证url.sql new file mode 100644 index 0000000..c95ae0e --- /dev/null +++ b/bookMarkService/web/src/main/resources/db/migration/V18__新增免验证url.sql @@ -0,0 +1,2 @@ +INSERT INTO `bookmark`.`url`(`method`, `url`, `type`) +VALUES ('GET', '/common/config/global', 0); \ No newline at end of file diff --git a/bookmark_front/src/App.vue b/bookmark_front/src/App.vue index ddbbc49..d1ff0f1 100644 --- a/bookmark_front/src/App.vue +++ b/bookmark_front/src/App.vue @@ -7,6 +7,10 @@ diff --git a/bookmark_front/src/store/modules/globalConfig.js b/bookmark_front/src/store/modules/globalConfig.js index 241b111..da0992a 100644 --- a/bookmark_front/src/store/modules/globalConfig.js +++ b/bookmark_front/src/store/modules/globalConfig.js @@ -2,6 +2,7 @@ import localforage from "localforage"; import HttpUtil from "../../util/HttpUtil"; const USER_INFO = "userInfo"; const TOKEN = "token"; +const SERVER_CONFIG = "serverConfig"; /** * 存储全局配置 @@ -22,13 +23,17 @@ const state = { /** * 是否移动端 */ - isPhone: false + isPhone: false, + /** + * 服务端全局配置 + */ + [SERVER_CONFIG]: {} }; const getters = {}; const actions = { - //初始化数据 + //登陆后的,初始化数据 async init(context) { if (context.state.isInit) { return; @@ -64,6 +69,12 @@ const actions = { context.commit(USER_INFO, null); context.commit(TOKEN, null); context.commit("isInit", false); + }, + /** + * 从服务器读取全局配置 + */ + async refreshServerConfig({ commit }) { + commit(SERVER_CONFIG, await HttpUtil.get("/common/config/global")); } }; @@ -79,6 +90,9 @@ const mutations = { }, isPhone(state, status) { state.isPhone = status; + }, + [SERVER_CONFIG](state, serverConfig) { + state[SERVER_CONFIG] = serverConfig; } }; diff --git a/bookmark_front/src/store/modules/treeData.js b/bookmark_front/src/store/modules/treeData.js index 1a932e2..8534108 100644 --- a/bookmark_front/src/store/modules/treeData.js +++ b/bookmark_front/src/store/modules/treeData.js @@ -36,7 +36,7 @@ const getters = { }; const actions = { - //从缓存初始化数据 + //登陆后的,从缓存初始化数据 async init(context) { if (context.state.isInit || context.state.isIniting) { return; diff --git a/bookmark_front/src/util/HttpUtil.js b/bookmark_front/src/util/HttpUtil.js index 9594e69..72d3a90 100644 --- a/bookmark_front/src/util/HttpUtil.js +++ b/bookmark_front/src/util/HttpUtil.js @@ -22,6 +22,7 @@ async function request(url, method, params, body, isForm, redirect) { "jwt-token": vuex.state.globalConfig.token } }; + //如果是表单类型的请求,添加请求头 if (isForm) { options.headers["Content-Type"] = "multipart/form-data"; } @@ -40,12 +41,12 @@ async function request(url, method, params, body, isForm, redirect) { if (code === 1) { return data; } else if (code === -1 && redirect) { - // 跳转到登陆页 + //未登陆,根据redirect参数判断是否需要跳转到登陆页 window.vueInstance.$message.error("您尚未登陆,请先登陆"); router.replace(`/public/login?redirect=${encodeURIComponent(router.currentRoute.fullPath)}`); throw new Error(message); } else if (code === 0) { - //通用异常,使用 + //通用异常,使用error提示 window.vueInstance.$notification.error({ message: "异常", description: message diff --git a/bookmark_front/src/views/public/pages/Login.vue b/bookmark_front/src/views/public/pages/Login.vue index a8b4c89..007c292 100644 --- a/bookmark_front/src/views/public/pages/Login.vue +++ b/bookmark_front/src/views/public/pages/Login.vue @@ -24,7 +24,7 @@
第三方登陆 - +
@@ -37,13 +37,16 @@