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 7258e4555..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 @@ -33,6 +33,8 @@ import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; +import java.util.Objects; + /** * @author lengleng * @date 2019年11月02日 @@ -85,10 +87,21 @@ public class MiniAppLoginHandler extends AbstractLoginHandler { public AppUserInfo info(String openId) { AppUser user = appUserService.getOne(Wrappers.query().lambda().eq(AppUser::getWxOpenid, openId)); - if (user == null) { + // 未注册用户自动注册 + if (Objects.isNull(user)) { log.info("微信小程序未绑定:{},创建新的用户", openId); - return createAndSaveAppUserInfo(openId); + AppUser appUser = new AppUser(); + appUser.setWxOpenid(openId); + appUser.setUsername(openId); + appUser.setCreateBy(openId); + appUser.setUpdateBy(openId); + appUserService.saveOrUpdate(appUser); + + AppUserInfo appUserDTO = new AppUserInfo(); + appUserDTO.setAppUser(appUser); + return appUserDTO; } + return appUserService.findUserInfo(user); } @@ -106,17 +119,4 @@ public class MiniAppLoginHandler extends AbstractLoginHandler { return true; } - private AppUserInfo createAndSaveAppUserInfo(String openId) { - AppUser appUser = new AppUser(); - appUser.setWxOpenid(openId); - appUser.setUsername(openId); - appUser.setCreateBy(openId); - appUser.setUpdateBy(openId); - appUserService.saveOrUpdate(appUser, Wrappers.lambdaQuery().eq(AppUser::getUsername, openId)); - - AppUserInfo appUserDTO = new AppUserInfo(); - appUserDTO.setAppUser(appUser); - return appUserDTO; - } - } 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 bf8d1b332..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,11 +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 lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; +import java.util.Objects; + /** * @author lengleng * @date 2018/11/18 @@ -55,30 +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) { - AppUser appUser = new AppUser(); - appUser.setUsername(phone); - appUser.setPhone(phone); - appUser.setCreateBy(phone); - appUser.setUpdateBy(phone); - appUserService.saveOrUpdate(appUser, Wrappers.lambdaQuery().eq(AppUser::getPhone, phone)); - - AppUserInfo appUserDTO = new AppUserInfo(); - appUserDTO.setAppUser(appUser); - return appUserDTO; - } /** * 绑定逻辑 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 38c40f89d..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,19 +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-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 110064a6f..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 @@ -1,7 +1,6 @@ package com.pig4cloud.pigx.common.data.datascope; import com.baomidou.mybatisplus.core.conditions.Wrapper; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Constants; import com.github.yulichang.base.MPJBaseMapper; @@ -17,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