diff --git a/basic-interface/src/main/java/ink/wgink/interfaces/user/wechat/miniapp/IMiniappUserBaseService.java b/basic-interface/src/main/java/ink/wgink/interfaces/user/wechat/miniapp/IMiniappUserBaseService.java index ec06ecd6..4dc6865a 100644 --- a/basic-interface/src/main/java/ink/wgink/interfaces/user/wechat/miniapp/IMiniappUserBaseService.java +++ b/basic-interface/src/main/java/ink/wgink/interfaces/user/wechat/miniapp/IMiniappUserBaseService.java @@ -1,5 +1,7 @@ package ink.wgink.interfaces.user.wechat.miniapp; +import ink.wgink.pojo.dtos.miniapp.MiniappUserDTO; + import java.util.List; /** @@ -25,4 +27,36 @@ public interface IMiniappUserBaseService { */ void delete(List userIds); + /** + * 用户 + * + * @param userId 用户ID + * @return + */ + MiniappUserDTO getByUserId(String userId); + + /** + * 用户列表 + * + * @param userIds 用户ID列表 + * @return + */ + List listByUserIds(List userIds); + + /** + * 用户码获取用户 + * + * @param userCode 用户码 + * @return + */ + MiniappUserDTO getByUserCode(String userCode); + + /** + * 用户码获取用户列表 + * + * @param userCodes 用户码列表 + * @return + */ + List listByUserCodes(List userCodes); + } diff --git a/basic-pojo/src/main/java/ink/wgink/pojo/bos/menu/UpdateMenuBO.java b/basic-pojo/src/main/java/ink/wgink/pojo/bos/menu/UpdateMenuBO.java index de99484f..f174e0c8 100644 --- a/basic-pojo/src/main/java/ink/wgink/pojo/bos/menu/UpdateMenuBO.java +++ b/basic-pojo/src/main/java/ink/wgink/pojo/bos/menu/UpdateMenuBO.java @@ -12,7 +12,7 @@ public class UpdateMenuBO { private String menuName; private String menuUrl; private String menuOrder; - private String menuStatus; + private Integer menuStatus; private Integer menuType; private Integer openType; @@ -40,11 +40,11 @@ public class UpdateMenuBO { this.menuOrder = menuOrder; } - public String getMenuStatus() { - return menuStatus == null ? "" : menuStatus.trim(); + public Integer getMenuStatus() { + return menuStatus == null ? 0 : menuStatus; } - public void setMenuStatus(String menuStatus) { + public void setMenuStatus(Integer menuStatus) { this.menuStatus = menuStatus; } diff --git a/basic-pojo/src/main/java/ink/wgink/pojo/dtos/miniapp/MiniappUserDTO.java b/basic-pojo/src/main/java/ink/wgink/pojo/dtos/miniapp/MiniappUserDTO.java new file mode 100644 index 00000000..044a2a39 --- /dev/null +++ b/basic-pojo/src/main/java/ink/wgink/pojo/dtos/miniapp/MiniappUserDTO.java @@ -0,0 +1,91 @@ +package ink.wgink.pojo.dtos.miniapp; + +import java.io.Serializable; + +/** + * When you feel like quitting. Think about why you started + * 当你想要放弃的时候,想想当初你为何开始 + * + * @ClassName: MiniappUserDTO + * @Description: 小程序用户 + * @Author: wanggeng + * @Date: 2021/4/8 5:49 下午 + * @Version: 1.0 + */ +public class MiniappUserDTO implements Serializable { + + + private static final long serialVersionUID = 362499152975059791L; + private String appId; + private String openId; + private String userId; + private String userCode; + private String nickName; + private String avatarUrl; + private Integer isInitAccount; + private String gmtCreate; + + public String getAppId() { + return appId == null ? "" : appId; + } + + public void setAppId(String appId) { + this.appId = appId; + } + + public String getOpenId() { + return openId == null ? "" : openId; + } + + public void setOpenId(String openId) { + this.openId = openId; + } + + public String getUserId() { + return userId == null ? "" : userId; + } + + public void setUserId(String userId) { + this.userId = userId; + } + + public String getUserCode() { + return userCode == null ? "" : userCode.trim(); + } + + public void setUserCode(String userCode) { + this.userCode = userCode; + } + + public String getNickName() { + return nickName == null ? "" : nickName.trim(); + } + + public void setNickName(String nickName) { + this.nickName = nickName; + } + + public String getAvatarUrl() { + return avatarUrl == null ? "" : avatarUrl.trim(); + } + + public void setAvatarUrl(String avatarUrl) { + this.avatarUrl = avatarUrl; + } + + public Integer getIsInitAccount() { + return isInitAccount == null ? 0 : isInitAccount; + } + + public void setIsInitAccount(Integer isInitAccount) { + this.isInitAccount = isInitAccount; + } + + public String getGmtCreate() { + return gmtCreate == null ? "" : gmtCreate; + } + + public void setGmtCreate(String gmtCreate) { + this.gmtCreate = gmtCreate; + } +} diff --git a/login-oauth2-client/src/main/java/ink/wgink/login/oauth2/client/remote/miniapp/IMiniappUserRemoteService.java b/login-oauth2-client/src/main/java/ink/wgink/login/oauth2/client/remote/miniapp/IMiniappUserRemoteService.java new file mode 100644 index 00000000..d531865e --- /dev/null +++ b/login-oauth2-client/src/main/java/ink/wgink/login/oauth2/client/remote/miniapp/IMiniappUserRemoteService.java @@ -0,0 +1,32 @@ +package ink.wgink.login.oauth2.client.remote.miniapp; + +import ink.wgink.annotation.rpc.rest.RemoteService; +import ink.wgink.annotation.rpc.rest.method.RemotePostMethod; +import ink.wgink.annotation.rpc.rest.params.RemoteJsonBodyParams; +import ink.wgink.annotation.rpc.rest.params.RemoteQueryParams; +import ink.wgink.annotation.rpc.rest.params.RemoteServerParams; +import ink.wgink.pojo.dtos.miniapp.MiniappUserDTO; +import ink.wgink.pojo.vos.IdsVO; + +import java.util.List; + +/** + * @ClassName: IMiniappUserService + * @Description: 小程序用户接口 + * @Author: wanggeng + * @Date: 2022/6/22 14:21 + * @Version: 1.0 + */ +@RemoteService("/resource/miniapp-user") +public interface IMiniappUserRemoteService { + + @RemotePostMethod("/delete/user-ids") + void deleteByUserId(@RemoteServerParams String userCenter, @RemoteQueryParams("access_token") String accessToken, @RemoteJsonBodyParams IdsVO idsVO); + + @RemotePostMethod("/list/user-ids") + List listByUserIds(@RemoteServerParams String userCenter, @RemoteQueryParams("access_token") String accessToken, @RemoteJsonBodyParams IdsVO idsVO); + + @RemotePostMethod("/list/user-codes") + List listByUserCodes(@RemoteServerParams String userCenter, @RemoteQueryParams("access_token") String accessToken, @RemoteJsonBodyParams IdsVO idsVO); + +} diff --git a/login-oauth2-client/src/main/java/ink/wgink/login/oauth2/client/service/miniapp/IMiniappUserService.java b/login-oauth2-client/src/main/java/ink/wgink/login/oauth2/client/service/miniapp/IMiniappUserService.java new file mode 100644 index 00000000..9f5d33ee --- /dev/null +++ b/login-oauth2-client/src/main/java/ink/wgink/login/oauth2/client/service/miniapp/IMiniappUserService.java @@ -0,0 +1,13 @@ +package ink.wgink.login.oauth2.client.service.miniapp; + +import ink.wgink.interfaces.user.wechat.miniapp.IMiniappUserBaseService; + +/** + * @ClassName: IMiniappUserService + * @Description: 小程序用户 + * @Author: wanggeng + * @Date: 2022/6/22 14:58 + * @Version: 1.0 + */ +public interface IMiniappUserService extends IMiniappUserBaseService { +} diff --git a/login-oauth2-client/src/main/java/ink/wgink/login/oauth2/client/service/miniapp/impl/IMiniappUserServiceImpl.java b/login-oauth2-client/src/main/java/ink/wgink/login/oauth2/client/service/miniapp/impl/IMiniappUserServiceImpl.java new file mode 100644 index 00000000..feee0512 --- /dev/null +++ b/login-oauth2-client/src/main/java/ink/wgink/login/oauth2/client/service/miniapp/impl/IMiniappUserServiceImpl.java @@ -0,0 +1,95 @@ +package ink.wgink.login.oauth2.client.service.miniapp.impl; + +import ink.wgink.common.base.DefaultBaseService; +import ink.wgink.login.oauth2.client.remote.miniapp.IMiniappUserRemoteService; +import ink.wgink.login.oauth2.client.service.miniapp.IMiniappUserService; +import ink.wgink.module.oauth2.manager.OAuth2ClientTokenManager; +import ink.wgink.pojo.dtos.miniapp.MiniappUserDTO; +import ink.wgink.pojo.vos.IdsVO; +import ink.wgink.properties.ApiPathProperties; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +/** + * @ClassName: IMiniappUserServiceImpl + * @Description: 小程序用户 + * @Author: wanggeng + * @Date: 2022/6/22 14:59 + * @Version: 1.0 + */ +@Service +public class IMiniappUserServiceImpl extends DefaultBaseService implements IMiniappUserService { + + @Autowired + private IMiniappUserRemoteService miniappUserRemoteService; + @Autowired + private ApiPathProperties apiPathProperties; + + + @Override + public void delete(String userId) { + if (StringUtils.isBlank(userId)) { + return; + } + delete(Arrays.asList(userId)); + } + + @Override + public void delete(List userIds) { + if (userIds == null || userIds.isEmpty()) { + return; + } + IdsVO idsVO = new IdsVO(); + idsVO.setIds(userIds); + miniappUserRemoteService.deleteByUserId(apiPathProperties.getUserCenter(), OAuth2ClientTokenManager.getInstance().getToken().getAccessToken(), idsVO); + } + + @Override + public MiniappUserDTO getByUserId(String userId) { + if (StringUtils.isBlank(userId)) { + return null; + } + List miniappUserDTOS = listByUserIds(Arrays.asList(userId)); + if (miniappUserDTOS.isEmpty()) { + return null; + } + return miniappUserDTOS.get(0); + } + + @Override + public List listByUserIds(List userIds) { + if (userIds == null || userIds.isEmpty()) { + return new ArrayList<>(); + } + IdsVO idsVO = new IdsVO(); + idsVO.setIds(userIds); + return miniappUserRemoteService.listByUserIds(apiPathProperties.getUserCenter(), OAuth2ClientTokenManager.getInstance().getToken().getAccessToken(), idsVO); + } + + @Override + public MiniappUserDTO getByUserCode(String userCode) { + if (StringUtils.isBlank(userCode)) { + return null; + } + List miniappUserDTOS = listByUserCodes(Arrays.asList(userCode)); + if (miniappUserDTOS.isEmpty()) { + return null; + } + return miniappUserDTOS.get(0); + } + + @Override + public List listByUserCodes(List userCodes) { + if (userCodes == null || userCodes.isEmpty()) { + return new ArrayList<>(); + } + IdsVO idsVO = new IdsVO(); + idsVO.setIds(userCodes); + return miniappUserRemoteService.listByUserCodes(apiPathProperties.getUserCenter(), OAuth2ClientTokenManager.getInstance().getToken().getAccessToken(), idsVO); + } +}