From 79c8a64ed41dbe43772995f6b452c061490edab6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=86=B7=E5=86=B7?= <2270033969@qq.com> Date: Mon, 25 Nov 2024 14:10:22 +0800 Subject: [PATCH] =?UTF-8?q?refactor(core):=20=E9=80=82=E9=85=8D=20mybatis-?= =?UTF-8?q?plus=203.5.9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pigx-app-server/pigx-app-server-api/pom.xml | 2 +- .../pigx/app/handler/MiniAppLoginHandler.java | 117 ++++++++++-------- .../pigx/app/handler/SmsLoginHandler.java | 27 ++-- .../pigx/app/service/AppUserService.java | 23 ++-- .../impl/AppArticleCollectServiceImpl.java | 23 ++-- .../app/service/impl/AppUserServiceImpl.java | 33 +---- pigx-common/pigx-common-bom/pom.xml | 26 ++-- pigx-common/pigx-common-data/pom.xml | 7 +- .../common/data/datascope/PigxBaseMapper.java | 49 ++++---- pigx-upms/pigx-upms-api/pom.xml | 2 +- pom.xml | 3 +- 11 files changed, 156 insertions(+), 156 deletions(-) diff --git a/pigx-app-server/pigx-app-server-api/pom.xml b/pigx-app-server/pigx-app-server-api/pom.xml index 22ffc1d27..9655c2319 100644 --- a/pigx-app-server/pigx-app-server-api/pom.xml +++ b/pigx-app-server/pigx-app-server-api/pom.xml @@ -21,7 +21,7 @@ com.baomidou - mybatis-plus-extension + mybatis-plus-spring diff --git a/pigx-app-server/pigx-app-server-biz/src/main/java/com/pig4cloud/pigx/app/handler/MiniAppLoginHandler.java b/pigx-app-server/pigx-app-server-biz/src/main/java/com/pig4cloud/pigx/app/handler/MiniAppLoginHandler.java index b029cd34f..29bc6aeaa 100644 --- a/pigx-app-server/pigx-app-server-biz/src/main/java/com/pig4cloud/pigx/app/handler/MiniAppLoginHandler.java +++ b/pigx-app-server/pigx-app-server-biz/src/main/java/com/pig4cloud/pigx/app/handler/MiniAppLoginHandler.java @@ -28,10 +28,13 @@ import com.pig4cloud.pigx.app.mapper.AppSocialDetailsMapper; import com.pig4cloud.pigx.app.service.AppUserService; import com.pig4cloud.pigx.common.core.constant.SecurityConstants; import com.pig4cloud.pigx.common.core.constant.enums.LoginTypeEnum; +import com.pig4cloud.pigx.common.core.exception.CheckedException; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; +import java.util.Objects; + /** * @author lengleng * @date 2019年11月02日 @@ -43,63 +46,77 @@ import org.springframework.stereotype.Component; @AllArgsConstructor public class MiniAppLoginHandler extends AbstractLoginHandler { - private final AppUserService appUserService; + private final AppUserService appUserService; - private final AppSocialDetailsMapper appSocialDetailsMapper; + private final AppSocialDetailsMapper appSocialDetailsMapper; - /** - * 小程序登录传入code - *

- * 通过code 调用qq 获取唯一标识 - * @param code - * @return - */ - @Override - public String identify(String code) { - AppSocialDetails condition = new AppSocialDetails(); - condition.setType(LoginTypeEnum.MINI_APP.getType()); - AppSocialDetails socialDetails = appSocialDetailsMapper.selectOne(new QueryWrapper<>(condition)); + /** + * 小程序登录传入code + *

+ * 通过code 调用qq 获取唯一标识 + * + * @param code + * @return + */ + @Override + public String identify(String code) { + AppSocialDetails condition = new AppSocialDetails(); + condition.setType(LoginTypeEnum.MINI_APP.getType()); + AppSocialDetails socialDetails = appSocialDetailsMapper.selectOne(new QueryWrapper<>(condition)); - String url = String.format(SecurityConstants.MINI_APP_AUTHORIZATION_CODE_URL, socialDetails.getAppId(), - socialDetails.getAppSecret(), code); - String result = HttpUtil.get(url); - log.debug("微信小程序响应报文:{}", result); + String url = String.format(SecurityConstants.MINI_APP_AUTHORIZATION_CODE_URL, socialDetails.getAppId(), + socialDetails.getAppSecret(), code); + String result = HttpUtil.get(url); + log.debug("微信小程序响应报文:{}", result); - Object obj = JSONUtil.parseObj(result).get("openid"); - return obj.toString(); - } + if (JSONUtil.parseObj(result).containsKey("openid")) { + return JSONUtil.parseObj(result).get("openid").toString(); + } else { + log.error("微信小程序登录失败:{}", result); + throw new CheckedException("微信小程序登录失败"); + } + } - /** - * openId 获取用户信息 - * @param openId - * @return - */ - @Override - public AppUserInfo info(String openId) { - AppUser user = appUserService.getOne(Wrappers.query().lambda().eq(AppUser::getWxOpenid, openId)); + /** + * openId 获取用户信息 + * + * @param openId + * @return + */ + @Override + public AppUserInfo info(String openId) { + AppUser user = appUserService.getOne(Wrappers.query().lambda().eq(AppUser::getWxOpenid, openId)); - if (user == null) { - log.info("微信小程序未绑定:{},创建新的用户", openId); - return createAndSaveAppUserInfo(openId); - } - return appUserService.findUserInfo(user); - } + // 未注册用户自动注册 + if (Objects.isNull(user)) { + log.info("微信小程序未绑定:{},创建新的用户", openId); + AppUser appUser = new AppUser(); + appUser.setWxOpenid(openId); + appUser.setUsername(openId); + appUser.setCreateBy(openId); + appUser.setUpdateBy(openId); + appUserService.saveOrUpdate(appUser); - /** - * 绑定逻辑 - * @param user 用户实体 - * @param identify 渠道返回唯一标识 - * @return - */ - @Override - public Boolean bind(AppUser user, String identify) { - user.setWxOpenid(identify); - appUserService.updateById(user); - return true; - } + AppUserInfo appUserDTO = new AppUserInfo(); + appUserDTO.setAppUser(appUser); + return appUserDTO; + } - private AppUserInfo createAndSaveAppUserInfo(String openId) { - return appUserService.saveOrUpdateByLoginType(LoginTypeEnum.MINI_APP, openId); - } + return appUserService.findUserInfo(user); + } + + /** + * 绑定逻辑 + * + * @param user 用户实体 + * @param identify 渠道返回唯一标识 + * @return + */ + @Override + public Boolean bind(AppUser user, String identify) { + user.setWxOpenid(identify); + appUserService.updateById(user); + return true; + } } diff --git a/pigx-app-server/pigx-app-server-biz/src/main/java/com/pig4cloud/pigx/app/handler/SmsLoginHandler.java b/pigx-app-server/pigx-app-server-biz/src/main/java/com/pig4cloud/pigx/app/handler/SmsLoginHandler.java index 380ff589a..321361bbf 100644 --- a/pigx-app-server/pigx-app-server-biz/src/main/java/com/pig4cloud/pigx/app/handler/SmsLoginHandler.java +++ b/pigx-app-server/pigx-app-server-biz/src/main/java/com/pig4cloud/pigx/app/handler/SmsLoginHandler.java @@ -20,12 +20,14 @@ package com.pig4cloud.pigx.app.handler; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.pig4cloud.pigx.app.api.dto.AppUserInfo; import com.pig4cloud.pigx.app.api.entity.AppUser; +import com.pig4cloud.pigx.app.mapper.AppUserMapper; import com.pig4cloud.pigx.app.service.AppUserService; -import com.pig4cloud.pigx.common.core.constant.enums.LoginTypeEnum; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; +import java.util.Objects; + /** * @author lengleng * @date 2018/11/18 @@ -56,21 +58,24 @@ public class SmsLoginHandler extends AbstractLoginHandler { public AppUserInfo info(String identify) { AppUser user = appUserService.getOne(Wrappers.query().lambda().eq(AppUser::getPhone, identify)); - if (user == null) { + // 未注册用户自动注册 + if (Objects.isNull(user)) { log.info("手机号未注册:{}", identify); - return createAndSaveAppUserInfo(identify); + AppUser appUser = new AppUser(); + appUser.setUsername(identify); + appUser.setPhone(identify); + appUser.setCreateBy(identify); + appUser.setUpdateBy(identify); + appUserService.save(appUser); + AppUserInfo appUserDTO = new AppUserInfo(); + appUserDTO.setAppUser(appUser); + return appUserDTO; } + + // 返回用户信息 return appUserService.findUserInfo(user); } - /** - * 创建并插入用户 - * @param identify - * @return - */ - private AppUserInfo createAndSaveAppUserInfo(String phone) { - return appUserService.saveOrUpdateByLoginType(LoginTypeEnum.APPSMS, phone); - } /** * 绑定逻辑 diff --git a/pigx-app-server/pigx-app-server-biz/src/main/java/com/pig4cloud/pigx/app/service/AppUserService.java b/pigx-app-server/pigx-app-server-biz/src/main/java/com/pig4cloud/pigx/app/service/AppUserService.java index 3f4b34ab6..6a8b6b745 100644 --- a/pigx-app-server/pigx-app-server-biz/src/main/java/com/pig4cloud/pigx/app/service/AppUserService.java +++ b/pigx-app-server/pigx-app-server-biz/src/main/java/com/pig4cloud/pigx/app/service/AppUserService.java @@ -25,7 +25,6 @@ import com.pig4cloud.pigx.app.api.dto.AppUserInfo; import com.pig4cloud.pigx.app.api.entity.AppUser; import com.pig4cloud.pigx.app.api.vo.AppUserExcelVO; import com.pig4cloud.pigx.app.api.vo.AppUserVO; -import com.pig4cloud.pigx.common.core.constant.enums.LoginTypeEnum; import com.pig4cloud.pigx.common.core.util.R; import org.springframework.validation.BindingResult; @@ -39,26 +38,24 @@ import java.util.List; */ public interface AppUserService extends IService { - Boolean updateUser(AppUserDTO appUser); + Boolean updateUser(AppUserDTO appUser); - Boolean saveUser(AppUserDTO appUser); + Boolean saveUser(AppUserDTO appUser); - List listUser(AppUserDTO appUser); + List listUser(AppUserDTO appUser); - IPage getUsersWithRolePage(Page page, AppUserDTO appUserDTO); + IPage getUsersWithRolePage(Page page, AppUserDTO appUserDTO); - AppUserInfo findUserInfo(AppUser user); + AppUserInfo findUserInfo(AppUser user); - R updateUserInfo(AppUserDTO userDto); + R updateUserInfo(AppUserDTO userDto); - AppUserVO selectUserVoById(Long userId); + AppUserVO selectUserVoById(Long userId); - Boolean deleteAppUserByIds(Long[] ids); + Boolean deleteAppUserByIds(Long[] ids); - R importUser(List excelVOList, BindingResult bindingResult); + R importUser(List excelVOList, BindingResult bindingResult); - R registerAppUser(AppUserDTO appUser); - - AppUserInfo saveOrUpdateByLoginType(LoginTypeEnum loginType, String userName); + R registerAppUser(AppUserDTO appUser); } diff --git a/pigx-app-server/pigx-app-server-biz/src/main/java/com/pig4cloud/pigx/app/service/impl/AppArticleCollectServiceImpl.java b/pigx-app-server/pigx-app-server-biz/src/main/java/com/pig4cloud/pigx/app/service/impl/AppArticleCollectServiceImpl.java index efa23e220..6121a8016 100644 --- a/pigx-app-server/pigx-app-server-biz/src/main/java/com/pig4cloud/pigx/app/service/impl/AppArticleCollectServiceImpl.java +++ b/pigx-app-server/pigx-app-server-biz/src/main/java/com/pig4cloud/pigx/app/service/impl/AppArticleCollectServiceImpl.java @@ -16,18 +16,21 @@ import org.springframework.stereotype.Service; */ @Service public class AppArticleCollectServiceImpl extends ServiceImpl - implements AppArticleCollectService { + implements AppArticleCollectService { - @Override - public Boolean saveArticleCollect(AppArticleCollectEntity appArticleCollect) { - Long id = SecurityUtils.getUser().getId(); - appArticleCollect.setUserId(id); + @Override + public Boolean saveArticleCollect(AppArticleCollectEntity appArticleCollect) { + Long id = SecurityUtils.getUser().getId(); + appArticleCollect.setUserId(id); - this.saveOrUpdate(appArticleCollect, - Wrappers.lambdaQuery().eq(AppArticleCollectEntity::getUserId, id) - .eq(AppArticleCollectEntity::getArticleId, appArticleCollect.getArticleId())); + if (baseMapper.exists(Wrappers.lambdaQuery() + .eq(AppArticleCollectEntity::getUserId, id) + .eq(AppArticleCollectEntity::getArticleId, appArticleCollect.getArticleId()))) { + return Boolean.FALSE; + } - return Boolean.TRUE; - } + return this.save(appArticleCollect); + + } } diff --git a/pigx-app-server/pigx-app-server-biz/src/main/java/com/pig4cloud/pigx/app/service/impl/AppUserServiceImpl.java b/pigx-app-server/pigx-app-server-biz/src/main/java/com/pig4cloud/pigx/app/service/impl/AppUserServiceImpl.java index 2b78605d6..e26822fb9 100644 --- a/pigx-app-server/pigx-app-server-biz/src/main/java/com/pig4cloud/pigx/app/service/impl/AppUserServiceImpl.java +++ b/pigx-app-server/pigx-app-server-biz/src/main/java/com/pig4cloud/pigx/app/service/impl/AppUserServiceImpl.java @@ -24,7 +24,6 @@ import com.baomidou.mybatisplus.core.toolkit.StringPool; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.pig4cloud.pigx.admin.api.constant.UserStateEnum; import com.pig4cloud.pigx.app.api.dto.AppUserDTO; import com.pig4cloud.pigx.app.api.dto.AppUserInfo; import com.pig4cloud.pigx.app.api.entity.AppRole; @@ -160,7 +159,9 @@ public class AppUserServiceImpl extends ServiceImpl impl AppUserInfo info = new AppUserInfo(); info.setAppUser(user); // 设置角色列表 (ID) - List roleIds = appRoleService.findRolesByUserId(user.getUserId()).stream().map(AppRole::getRoleId) + List roleIds = appRoleService.findRolesByUserId(user.getUserId()) + .stream() + .map(AppRole::getRoleId) .collect(Collectors.toList()); info.setRoles(ArrayUtil.toArray(roleIds, Long.class)); @@ -240,7 +241,7 @@ public class AppUserServiceImpl extends ServiceImpl impl AppUser app = new AppUser(); BeanUtils.copyProperties(appUser, app); appUser.setUsername(app.getPhone()); - appUser.setDelFlag(UserStateEnum.NORMAL.getCode()); + appUser.setDelFlag(CommonConstants.STATUS_NORMAL); appUser.setPassword(ENCODER.encode(appUser.getPassword())); baseMapper.insert(appUser); return null; @@ -314,30 +315,4 @@ public class AppUserServiceImpl extends ServiceImpl impl this.saveUser(userDTO); } - @Override - public AppUserInfo saveOrUpdateByLoginType(LoginTypeEnum loginType, String userName) { - // 创建Entity对象 - AppUser appUser = new AppUser(); - appUser.setUsername(userName); - appUser.setCreateBy(userName); - appUser.setUpdateBy(userName); - // 根据登陆类型赋值,并执行saveOrUpdate方法 - switch (loginType) { - case APPSMS: - appUser.setPhone(userName); - this.saveOrUpdate(appUser, Wrappers.lambdaQuery().eq(AppUser::getPhone, userName)); - break; - case MINI_APP: - appUser.setWxOpenid(userName); - this.saveOrUpdate(appUser, Wrappers.lambdaQuery().eq(AppUser::getUsername, userName)); - break; - default: - break; - } - // 返回封装DTO - AppUserInfo appUserDTO = new AppUserInfo(); - appUserDTO.setAppUser(appUser); - return appUserDTO; - } - } diff --git a/pigx-common/pigx-common-bom/pom.xml b/pigx-common/pigx-common-bom/pom.xml index e1c4f4833..90a48c896 100644 --- a/pigx-common/pigx-common-bom/pom.xml +++ b/pigx-common/pigx-common-bom/pom.xml @@ -18,11 +18,11 @@ 5.6.0 - 3.5.7 - 1.4.13 + 3.5.9 + 1.5.2 4.3.1 1.2.20 - 5.8.31 + 5.8.33 8.0.33 21.3.0.0 8.4.1.jre8 @@ -216,18 +216,6 @@ seata-serializer-kryo ${seata.version} - - - com.baomidou - mybatis-plus-extension - ${mybatis-plus.version} - - - - com.baomidou - mybatis-plus-boot-starter - ${mybatis-plus.version} - com.baomidou dynamic-datasource-spring-boot-starter @@ -498,6 +486,14 @@ pom import + + + com.baomidou + mybatis-plus-bom + ${mybatis-plus.version} + pom + import + cn.hutool diff --git a/pigx-common/pigx-common-data/pom.xml b/pigx-common/pigx-common-data/pom.xml index 23b87fdd9..22972aa77 100644 --- a/pigx-common/pigx-common-data/pom.xml +++ b/pigx-common/pigx-common-data/pom.xml @@ -42,7 +42,12 @@ com.baomidou - mybatis-plus-extension + mybatis-plus-spring + + + + com.baomidou + mybatis-plus-jsqlparser diff --git a/pigx-common/pigx-common-data/src/main/java/com/pig4cloud/pigx/common/data/datascope/PigxBaseMapper.java b/pigx-common/pigx-common-data/src/main/java/com/pig4cloud/pigx/common/data/datascope/PigxBaseMapper.java index f6d80cfd9..d39b65307 100644 --- a/pigx-common/pigx-common-data/src/main/java/com/pig4cloud/pigx/common/data/datascope/PigxBaseMapper.java +++ b/pigx-common/pigx-common-data/src/main/java/com/pig4cloud/pigx/common/data/datascope/PigxBaseMapper.java @@ -16,30 +16,33 @@ import java.util.List; */ public interface PigxBaseMapper extends MPJBaseMapper { - /** - * 根据 entity 条件,查询全部记录 - * @param queryWrapper 实体对象封装操作类(可以为 null) - * @param scope 数据权限范围 - * @return List - */ - List selectListByScope(@Param(Constants.WRAPPER) Wrapper queryWrapper, DataScope scope); + /** + * 根据 entity 条件,查询全部记录 + * + * @param queryWrapper 实体对象封装操作类(可以为 null) + * @param scope 数据权限范围 + * @return List + */ + List selectListByScope(@Param(Constants.WRAPPER) Wrapper queryWrapper, DataScope scope); - /** - * 根据 entity 条件,查询全部记录(并翻页) - * @param page 分页查询条件(可以为 RowBounds.DEFAULT) - * @param queryWrapper 实体对象封装操作类(可以为 null) - * @param scope 数据权限范围 - * @return Page - */ - > E selectPageByScope(E page, @Param(Constants.WRAPPER) Wrapper queryWrapper, - DataScope scope); + /** + * 根据 entity 条件,查询全部记录(并翻页) + * + * @param page 分页查询条件(可以为 RowBounds.DEFAULT) + * @param queryWrapper 实体对象封装操作类(可以为 null) + * @param scope 数据权限范围 + * @return Page + */ + > E selectPageByScope(E page, @Param(Constants.WRAPPER) Wrapper queryWrapper, + DataScope scope); - /** - * 根据 Wrapper 条件,查询总记录数 - * @param queryWrapper 实体对象封装操作类(可以为 null) - * @param scope 数据权限范围 - * @return Integer - */ - Long selectCountByScope(@Param(Constants.WRAPPER) Wrapper queryWrapper, DataScope scope); + /** + * 根据 Wrapper 条件,查询总记录数 + * + * @param queryWrapper 实体对象封装操作类(可以为 null) + * @param scope 数据权限范围 + * @return Integer + */ + Long selectCountByScope(@Param(Constants.WRAPPER) Wrapper queryWrapper, DataScope scope); } diff --git a/pigx-upms/pigx-upms-api/pom.xml b/pigx-upms/pigx-upms-api/pom.xml index b005d6a09..ae09c3600 100644 --- a/pigx-upms/pigx-upms-api/pom.xml +++ b/pigx-upms/pigx-upms-api/pom.xml @@ -47,7 +47,7 @@ com.baomidou - mybatis-plus-extension + mybatis-plus-spring diff --git a/pom.xml b/pom.xml index c666d7de8..4b418280d 100644 --- a/pom.xml +++ b/pom.xml @@ -57,8 +57,7 @@ 2.3.5 1.6.5 1.12.261 - 2.2.9 - 2.4.0 + 2.4.2 6.8.0 172.17.0.111 http://172.17.0.111:2375