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 174b8b2b0..aa56730cf 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 @@ -99,16 +99,7 @@ public class MiniAppLoginHandler extends AbstractLoginHandler { } 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; + return appUserService.saveOrUpdateByLoginType(LoginTypeEnum.MINI_APP,openId); } } 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..380ff589a 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 @@ -21,6 +21,7 @@ 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.service.AppUserService; +import com.pig4cloud.pigx.common.core.constant.enums.LoginTypeEnum; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; @@ -68,16 +69,7 @@ public class SmsLoginHandler extends AbstractLoginHandler { * @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; + 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 66655130a..3f4b34ab6 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,6 +25,7 @@ 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; @@ -58,4 +59,6 @@ public interface AppUserService extends IService { R registerAppUser(AppUserDTO appUser); + AppUserInfo saveOrUpdateByLoginType(LoginTypeEnum loginType, String userName); + } 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 5d725fb2a..68d18247a 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 @@ -313,4 +313,31 @@ 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; + } + + }