From 81c7b2e8d91c7082a7d6e050416c8d0ee0dc0a51 Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Tue, 2 Dec 2025 11:47:48 +0800 Subject: [PATCH] bug --- .../yudao-module-member-biz/pom.xml | 14 +++ .../module/member/client/service/ChatApi.java | 18 +-- .../member/client/service/ChatApiImpl.java | 52 ++++----- .../service}/ThirdAuthService.java | 3 +- .../service}/ThirdAuthServiceImpl.java | 7 +- .../service/ThirdFaceVerifyService.java | 19 +++ .../service/ThirdFaceVerifyServiceImpl.java | 109 ++++++++++++++++++ .../member/client/service/TxMapApi.java | 6 +- .../member/client/service/TxMapApiImpl.java | 12 +- ...hatBaseRespVo.java => ChatBaseRespVO.java} | 2 +- ...iendReqVo.java => ChatAddFriendReqVO.java} | 2 +- ...=> ChatPrivateTotalMessageTotalReqVO.java} | 4 +- ...=> ChatPrivateTotalMessageTotalResVO.java} | 2 +- ...ReqVo.java => ChatSensitiveInfoReqVO.java} | 2 +- ...tiveReqVo.java => ChatSensitiveReqVO.java} | 2 +- ...ReqVo.java => ChatSensitiveSaveReqVO.java} | 2 +- ....java => ChatCreateOrUpdateUserReqVO.java} | 2 +- ...qVo.java => ChatGetUserByUserIdReqVO.java} | 2 +- ...Vo.java => ChatGetUserByUserIdRespVO.java} | 2 +- ...tLoginRespVo.java => ChatLoginRespVO.java} | 2 +- .../thirdfaceverify/ThirdFaceVerifyReqVO.java | 32 +++++ .../thirdfaceverify/ThirdFaceVerifyResVO.java | 15 +++ .../{TxMapRespVo.java => TxMapRespVO.java} | 2 +- ...oderReqVo.java => TxMapGeocoderReqVO.java} | 2 +- ...erRespVo.java => TxMapGeocoderRespVO.java} | 2 +- .../admin/chat/ChatSensitiveController.java | 6 +- .../app/chat/AppChatController.java | 6 +- .../app/recent/AppRecentController.java | 6 + .../app/recent/vo/AppEvaluateDetailResVo.java | 40 +++++++ .../member/dal/mysql/photo/PhotoMapper.java | 1 + .../dal/mysql/recent/OperationMapper.java | 3 + .../framework/web/config/ThirdAlConfig.java | 35 ++++++ .../service/auth/MemberAuthServiceImpl.java | 6 +- .../service/location/LocationServiceImpl.java | 9 +- .../service/opentype/OpenTypeServiceImpl.java | 18 +-- .../service/photo/PhotoServiceImpl.java | 4 +- .../member/service/recent/RecentService.java | 11 +- .../service/recent/RecentServiceImpl.java | 18 ++- .../service/user/MemberUserServiceImpl.java | 5 +- .../main/resources/mapper/OperationMapper.xml | 11 +- .../src/main/resources/application-dev.yaml | 8 +- .../src/main/resources/application-local.yaml | 8 +- .../src/main/resources/application-prod.yaml | 8 +- 43 files changed, 415 insertions(+), 105 deletions(-) rename yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/{service/thirdauth => client/service}/ThirdAuthService.java (71%) rename yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/{service/thirdauth => client/service}/ThirdAuthServiceImpl.java (97%) create mode 100644 yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/service/ThirdFaceVerifyService.java create mode 100644 yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/service/ThirdFaceVerifyServiceImpl.java rename yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/chat/{ChatBaseRespVo.java => ChatBaseRespVO.java} (90%) rename yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/chat/friend/{ChatAddFriendReqVo.java => ChatAddFriendReqVO.java} (93%) rename yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/chat/privatemsg/{ChatPrivateTotalMessageTotalReqVo.java => ChatPrivateTotalMessageTotalReqVO.java} (78%) rename yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/chat/privatemsg/{ChatPrivateTotalMessageTotalResVo.java => ChatPrivateTotalMessageTotalResVO.java} (89%) rename yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/chat/sensitive/{ChatSensitiveInfoReqVo.java => ChatSensitiveInfoReqVO.java} (87%) rename yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/chat/sensitive/{ChatSensitiveReqVo.java => ChatSensitiveReqVO.java} (94%) rename yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/chat/sensitive/{ChatSensitiveSaveReqVo.java => ChatSensitiveSaveReqVO.java} (92%) rename yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/chat/user/{ChatCreateOrUpdateUserReqVo.java => ChatCreateOrUpdateUserReqVO.java} (95%) rename yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/chat/user/{ChatGetUserByUserIdReqVo.java => ChatGetUserByUserIdReqVO.java} (89%) rename yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/chat/user/{ChatGetUserByUserIdRespVo.java => ChatGetUserByUserIdRespVO.java} (97%) rename yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/chat/user/{ChatLoginRespVo.java => ChatLoginRespVO.java} (95%) create mode 100644 yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/thirdfaceverify/ThirdFaceVerifyReqVO.java create mode 100644 yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/thirdfaceverify/ThirdFaceVerifyResVO.java rename yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/txmap/{TxMapRespVo.java => TxMapRespVO.java} (91%) rename yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/txmap/geocoder/{TxMapGeocoderReqVo.java => TxMapGeocoderReqVO.java} (93%) rename yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/txmap/geocoder/{TxMapGeocoderRespVo.java => TxMapGeocoderRespVO.java} (98%) create mode 100644 yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/recent/vo/AppEvaluateDetailResVo.java create mode 100644 yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/framework/web/config/ThirdAlConfig.java diff --git a/yudao-module-member/yudao-module-member-biz/pom.xml b/yudao-module-member/yudao-module-member-biz/pom.xml index 5985028..ff905c7 100644 --- a/yudao-module-member/yudao-module-member-biz/pom.xml +++ b/yudao-module-member/yudao-module-member-biz/pom.xml @@ -86,12 +86,26 @@ yudao-spring-boot-starter-biz-ip + com.aliyun green20220302 3.0.1 + + + com.aliyun + cloudauth20190307 + 2.1.1 + + + + com.aliyun + credentials-java + LATEST + + diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/service/ChatApi.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/service/ChatApi.java index a494b86..be3c14b 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/service/ChatApi.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/service/ChatApi.java @@ -1,7 +1,7 @@ package cn.iocoder.yudao.module.member.client.service; import cn.iocoder.yudao.module.member.client.vo.chat.ChatTableRespVO; -import cn.iocoder.yudao.module.member.client.vo.chat.friend.ChatAddFriendReqVo; +import cn.iocoder.yudao.module.member.client.vo.chat.friend.ChatAddFriendReqVO; import cn.iocoder.yudao.module.member.client.vo.chat.privatemsg.*; import cn.iocoder.yudao.module.member.client.vo.chat.sensitive.*; import cn.iocoder.yudao.module.member.client.vo.chat.user.*; @@ -17,22 +17,22 @@ public interface ChatApi { /** * 聊天用户登录 */ - ChatLoginRespVo login(@Valid ChatLoginReqVO dto); + ChatLoginRespVO login(@Valid ChatLoginReqVO dto); /** * 创建或者更新聊天用户 */ - boolean createOrUpdate(@Valid ChatCreateOrUpdateUserReqVo dto); + boolean createOrUpdate(@Valid ChatCreateOrUpdateUserReqVO dto); /** * 根据userId查询用户详情 */ - ChatGetUserByUserIdRespVo getUserByUserId(@Valid ChatGetUserByUserIdReqVo dto); + ChatGetUserByUserIdRespVO getUserByUserId(@Valid ChatGetUserByUserIdReqVO dto); /** * 添加好友 */ - boolean addFriend(@Valid ChatAddFriendReqVo dto); + boolean addFriend(@Valid ChatAddFriendReqVO dto); /* *************************************** end 用户相关 end *************************************** */ @@ -41,17 +41,17 @@ public interface ChatApi { /** * 敏感词分页 */ - ChatTableRespVO sensitivePage(ChatSensitiveReqVo dto); + ChatTableRespVO sensitivePage(ChatSensitiveReqVO dto); /** * 敏感词详情 */ - ChatSensitiveRespVO sensitiveGetInfo(ChatSensitiveInfoReqVo dto); + ChatSensitiveRespVO sensitiveGetInfo(ChatSensitiveInfoReqVO dto); /** * 创建或者更新敏感词 */ - boolean sensitiveCreateOrUpdate(ChatSensitiveSaveReqVo dto); + boolean sensitiveCreateOrUpdate(ChatSensitiveSaveReqVO dto); /** * 删除敏感词 @@ -85,7 +85,7 @@ public interface ChatApi { /** * 私聊消息发送消息的统计 */ - List privateTotal(ChatPrivateTotalMessageTotalReqVo dto); + List privateTotal(ChatPrivateTotalMessageTotalReqVO dto); /* *************************************** end 私聊 end *************************************** */ diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/service/ChatApiImpl.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/service/ChatApiImpl.java index 6779c89..1a94f42 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/service/ChatApiImpl.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/service/ChatApiImpl.java @@ -5,9 +5,9 @@ import cn.hutool.core.util.ObjectUtil; import cn.hutool.http.HttpRequest; import cn.hutool.json.JSONUtil; import cn.iocoder.yudao.module.member.client.tool.ChatApiTool; -import cn.iocoder.yudao.module.member.client.vo.chat.ChatBaseRespVo; +import cn.iocoder.yudao.module.member.client.vo.chat.ChatBaseRespVO; import cn.iocoder.yudao.module.member.client.vo.chat.ChatTableRespVO; -import cn.iocoder.yudao.module.member.client.vo.chat.friend.ChatAddFriendReqVo; +import cn.iocoder.yudao.module.member.client.vo.chat.friend.ChatAddFriendReqVO; import cn.iocoder.yudao.module.member.client.vo.chat.privatemsg.*; import cn.iocoder.yudao.module.member.client.vo.chat.sensitive.*; import cn.iocoder.yudao.module.member.client.vo.chat.user.*; @@ -33,7 +33,7 @@ public class ChatApiImpl implements ChatApi { * 聊天用户登录 */ @Override - public ChatLoginRespVo login(ChatLoginReqVO dto) { + public ChatLoginRespVO login(ChatLoginReqVO dto) { ChatApiTool.API api = setApiConfig(ChatApiTool.USER_LOGIN); try { String body = JSONUtil.toJsonStr(dto); @@ -43,12 +43,12 @@ public class ChatApiImpl implements ChatApi { log.error("聊天用户登录,res为空"); return null; } - ChatBaseRespVo baseRes = JSONUtil.toBean(res, ChatBaseRespVo.class); + ChatBaseRespVO baseRes = JSONUtil.toBean(res, ChatBaseRespVO.class); if (ObjectUtil.isEmpty(baseRes) || !baseRes.isSuccess()) { log.error("聊天用户登录,返回错误"); return null; } - ChatLoginRespVo vo = JSONUtil.toBean(baseRes.getData(), ChatLoginRespVo.class); + ChatLoginRespVO vo = JSONUtil.toBean(baseRes.getData(), ChatLoginRespVO.class); if (ObjectUtil.isEmpty(vo)) { log.error("聊天用户登录,返回json解析错误"); return null; @@ -65,7 +65,7 @@ public class ChatApiImpl implements ChatApi { * 创建或者更新聊天用户 */ @Override - public boolean createOrUpdate(ChatCreateOrUpdateUserReqVo dto) { + public boolean createOrUpdate(ChatCreateOrUpdateUserReqVO dto) { ChatApiTool.API api = setApiConfig(ChatApiTool.USER_SAVE_OR_UPDATE); try { String body = JSONUtil.toJsonStr(dto); @@ -75,7 +75,7 @@ public class ChatApiImpl implements ChatApi { log.error("创建或者更新聊天用户,res为空"); return false; } - ChatBaseRespVo baseRes = JSONUtil.toBean(res, ChatBaseRespVo.class); + ChatBaseRespVO baseRes = JSONUtil.toBean(res, ChatBaseRespVO.class); if (ObjectUtil.isEmpty(baseRes) || !baseRes.isSuccess()) { log.error("创建或者更新聊天用户,返回错误"); return false; @@ -92,7 +92,7 @@ public class ChatApiImpl implements ChatApi { * 根据userId查询用户详情 */ @Override - public ChatGetUserByUserIdRespVo getUserByUserId(ChatGetUserByUserIdReqVo dto) { + public ChatGetUserByUserIdRespVO getUserByUserId(ChatGetUserByUserIdReqVO dto) { ChatApiTool.API api = setApiConfig(ChatApiTool.USER_GET); try { String body = JSONUtil.toJsonStr(dto); @@ -102,12 +102,12 @@ public class ChatApiImpl implements ChatApi { log.error("根据userId查询用户详情,res为空"); return null; } - ChatBaseRespVo baseRes = JSONUtil.toBean(res, ChatBaseRespVo.class); + ChatBaseRespVO baseRes = JSONUtil.toBean(res, ChatBaseRespVO.class); if (ObjectUtil.isEmpty(baseRes) || !baseRes.isSuccess()) { log.error("根据userId查询用户详情,返回错误"); return null; } - ChatGetUserByUserIdRespVo vo = JSONUtil.toBean(baseRes.getData(), ChatGetUserByUserIdRespVo.class); + ChatGetUserByUserIdRespVO vo = JSONUtil.toBean(baseRes.getData(), ChatGetUserByUserIdRespVO.class); if (ObjectUtil.isEmpty(vo)) { log.error("根据userId查询用户详情,返回json解析错误"); return null; @@ -124,7 +124,7 @@ public class ChatApiImpl implements ChatApi { * 添加好友 */ @Override - public boolean addFriend(ChatAddFriendReqVo dto) { + public boolean addFriend(ChatAddFriendReqVO dto) { ChatApiTool.API api = setApiConfig(ChatApiTool.FRIEND_ADD); try { String body = JSONUtil.toJsonStr(dto); @@ -134,7 +134,7 @@ public class ChatApiImpl implements ChatApi { log.error("添加好友,res为空"); return false; } - ChatBaseRespVo baseRes = JSONUtil.toBean(res, ChatBaseRespVo.class); + ChatBaseRespVO baseRes = JSONUtil.toBean(res, ChatBaseRespVO.class); if (ObjectUtil.isEmpty(baseRes) || !baseRes.isSuccess()) { log.error("添加好友,返回错误"); return false; @@ -155,7 +155,7 @@ public class ChatApiImpl implements ChatApi { * 敏感词分页 */ @Override - public ChatTableRespVO sensitivePage(ChatSensitiveReqVo dto) { + public ChatTableRespVO sensitivePage(ChatSensitiveReqVO dto) { ChatApiTool.API api = setApiConfig(ChatApiTool.SENSITIVE_PAGE); try { String body = JSONUtil.toJsonStr(dto); @@ -165,7 +165,7 @@ public class ChatApiImpl implements ChatApi { log.error("敏感词分页,res为空"); return null; } - ChatBaseRespVo baseRes = JSONUtil.toBean(res, ChatBaseRespVo.class); + ChatBaseRespVO baseRes = JSONUtil.toBean(res, ChatBaseRespVO.class); if (ObjectUtil.isEmpty(baseRes) || !baseRes.isSuccess()) { log.error("敏感词分页,返回错误"); return null; @@ -192,7 +192,7 @@ public class ChatApiImpl implements ChatApi { * 敏感词详情 */ @Override - public ChatSensitiveRespVO sensitiveGetInfo(ChatSensitiveInfoReqVo dto) { + public ChatSensitiveRespVO sensitiveGetInfo(ChatSensitiveInfoReqVO dto) { ChatApiTool.API api = setApiConfig(ChatApiTool.SENSITIVE_INFO); try { String body = JSONUtil.toJsonStr(dto); @@ -202,7 +202,7 @@ public class ChatApiImpl implements ChatApi { log.error("敏感词详情,res为空"); return null; } - ChatBaseRespVo baseRes = JSONUtil.toBean(res, ChatBaseRespVo.class); + ChatBaseRespVO baseRes = JSONUtil.toBean(res, ChatBaseRespVO.class); if (ObjectUtil.isEmpty(baseRes) || !baseRes.isSuccess()) { log.error("敏感词详情,返回错误"); return null; @@ -224,7 +224,7 @@ public class ChatApiImpl implements ChatApi { * 创建或者更新敏感词 */ @Override - public boolean sensitiveCreateOrUpdate(ChatSensitiveSaveReqVo dto) { + public boolean sensitiveCreateOrUpdate(ChatSensitiveSaveReqVO dto) { ChatApiTool.API api = setApiConfig(ChatApiTool.SENSITIVE_CREATE_OR_UPDATE); try { String body = JSONUtil.toJsonStr(dto); @@ -234,7 +234,7 @@ public class ChatApiImpl implements ChatApi { log.error("创建或者更新敏感词,res为空"); return false; } - ChatBaseRespVo baseRes = JSONUtil.toBean(res, ChatBaseRespVo.class); + ChatBaseRespVO baseRes = JSONUtil.toBean(res, ChatBaseRespVO.class); if (ObjectUtil.isEmpty(baseRes) || !baseRes.isSuccess()) { log.error("创建或者更新敏感词,返回错误"); return false; @@ -265,7 +265,7 @@ public class ChatApiImpl implements ChatApi { log.error("删除敏感词,res为空"); return false; } - ChatBaseRespVo baseRes = JSONUtil.toBean(res, ChatBaseRespVo.class); + ChatBaseRespVO baseRes = JSONUtil.toBean(res, ChatBaseRespVO.class); if (ObjectUtil.isEmpty(baseRes) || !baseRes.isSuccess()) { log.error("删除敏感词,返回错误"); return false; @@ -301,7 +301,7 @@ public class ChatApiImpl implements ChatApi { log.error("发私聊送消息,res为空"); return null; } - ChatBaseRespVo baseRes = JSONUtil.toBean(res, ChatBaseRespVo.class); + ChatBaseRespVO baseRes = JSONUtil.toBean(res, ChatBaseRespVO.class); if (ObjectUtil.isEmpty(baseRes) || !baseRes.isSuccess()) { log.error("发私聊送消息,返回错误"); return null; @@ -333,7 +333,7 @@ public class ChatApiImpl implements ChatApi { log.error("私聊消息分页,res为空"); return null; } - ChatBaseRespVo baseRes = JSONUtil.toBean(res, ChatBaseRespVo.class); + ChatBaseRespVO baseRes = JSONUtil.toBean(res, ChatBaseRespVO.class); if (ObjectUtil.isEmpty(baseRes) || !baseRes.isSuccess()) { log.error("私聊消息分页,返回错误"); return null; @@ -370,7 +370,7 @@ public class ChatApiImpl implements ChatApi { log.error("私聊消息详情,res为空"); return null; } - ChatBaseRespVo baseRes = JSONUtil.toBean(res, ChatBaseRespVo.class); + ChatBaseRespVO baseRes = JSONUtil.toBean(res, ChatBaseRespVO.class); if (ObjectUtil.isEmpty(baseRes) || !baseRes.isSuccess()) { log.error("私聊消息详情,返回错误"); return null; @@ -402,7 +402,7 @@ public class ChatApiImpl implements ChatApi { log.error("私聊消息统计,res为空"); return null; } - ChatBaseRespVo baseRes = JSONUtil.toBean(res, ChatBaseRespVo.class); + ChatBaseRespVO baseRes = JSONUtil.toBean(res, ChatBaseRespVO.class); if (ObjectUtil.isEmpty(baseRes) || !baseRes.isSuccess()) { log.error("私聊消息统计,返回错误"); return null; @@ -424,7 +424,7 @@ public class ChatApiImpl implements ChatApi { * 私聊消息发送消息的统计 */ @Override - public List privateTotal(ChatPrivateTotalMessageTotalReqVo dto) { + public List privateTotal(ChatPrivateTotalMessageTotalReqVO dto) { ChatApiTool.API api = setApiConfig(ChatApiTool.PRIVATE_MSG_TOTAL); try { String body = JSONUtil.toJsonStr(dto); @@ -434,12 +434,12 @@ public class ChatApiImpl implements ChatApi { log.error("私聊消息发送消息的统计,res为空"); return null; } - ChatBaseRespVo baseRes = JSONUtil.toBean(res, ChatBaseRespVo.class); + ChatBaseRespVO baseRes = JSONUtil.toBean(res, ChatBaseRespVO.class); if (ObjectUtil.isEmpty(baseRes) || !baseRes.isSuccess()) { log.error("私聊消息发送消息的统计,返回错误"); return null; } - List vo = JSONUtil.toList(baseRes.getData(), ChatPrivateTotalMessageTotalResVo.class); + List vo = JSONUtil.toList(baseRes.getData(), ChatPrivateTotalMessageTotalResVO.class); if (ObjectUtil.isEmpty(vo)) { log.error("私聊消息发送消息的统计,返回json解析错误"); return null; diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/thirdauth/ThirdAuthService.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/service/ThirdAuthService.java similarity index 71% rename from yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/thirdauth/ThirdAuthService.java rename to yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/service/ThirdAuthService.java index 686ff1a..9f2ff1b 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/thirdauth/ThirdAuthService.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/service/ThirdAuthService.java @@ -1,7 +1,6 @@ -package cn.iocoder.yudao.module.member.service.thirdauth; +package cn.iocoder.yudao.module.member.client.service; import cn.iocoder.yudao.module.member.api.thirdauth.ThirdAuthVo; -import com.aliyun.green20220302.models.ImageBatchModerationResponseBody; /** * @author liusiyang_dxm diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/thirdauth/ThirdAuthServiceImpl.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/service/ThirdAuthServiceImpl.java similarity index 97% rename from yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/thirdauth/ThirdAuthServiceImpl.java rename to yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/service/ThirdAuthServiceImpl.java index 6e910cc..fb28d0c 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/thirdauth/ThirdAuthServiceImpl.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/service/ThirdAuthServiceImpl.java @@ -1,8 +1,9 @@ -package cn.iocoder.yudao.module.member.service.thirdauth; +package cn.iocoder.yudao.module.member.client.service; import cn.hutool.core.util.ObjectUtil; import cn.hutool.json.JSONUtil; import cn.iocoder.yudao.module.member.api.thirdauth.ThirdAuthVo; +import cn.iocoder.yudao.module.member.framework.web.config.ThirdAlConfig; import com.alibaba.fastjson.JSON; import com.aliyun.green20220302.Client; import com.aliyun.green20220302.models.*; @@ -12,6 +13,7 @@ import com.aliyun.teautil.models.RuntimeOptions; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import javax.annotation.Resource; import javax.validation.Valid; import java.util.*; @@ -23,6 +25,9 @@ import java.util.*; @Slf4j public class ThirdAuthServiceImpl implements ThirdAuthService { + @Resource + private ThirdAlConfig thirdAlConfig; + private volatile Client clientInstance; private final List successRiskLevelList = new ArrayList() {{ diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/service/ThirdFaceVerifyService.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/service/ThirdFaceVerifyService.java new file mode 100644 index 0000000..d78c6e1 --- /dev/null +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/service/ThirdFaceVerifyService.java @@ -0,0 +1,19 @@ +package cn.iocoder.yudao.module.member.client.service; + + +import cn.iocoder.yudao.module.member.client.vo.thirdfaceverify.ThirdFaceVerifyReqVO; +import cn.iocoder.yudao.module.member.client.vo.thirdfaceverify.ThirdFaceVerifyResVO; + +public interface ThirdFaceVerifyService { + + /** + * 人脸识别 + */ + ThirdFaceVerifyResVO faceVerify(ThirdFaceVerifyReqVO dto); + + /** + * 人脸识别回调 + */ + String callback(String code); + +} diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/service/ThirdFaceVerifyServiceImpl.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/service/ThirdFaceVerifyServiceImpl.java new file mode 100644 index 0000000..f64271d --- /dev/null +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/service/ThirdFaceVerifyServiceImpl.java @@ -0,0 +1,109 @@ +package cn.iocoder.yudao.module.member.client.service; + +import cn.hutool.core.util.ObjectUtil; +import cn.iocoder.yudao.module.member.client.vo.thirdfaceverify.ThirdFaceVerifyReqVO; +import cn.iocoder.yudao.module.member.client.vo.thirdfaceverify.ThirdFaceVerifyResVO; +import cn.iocoder.yudao.module.member.framework.web.config.ThirdAlConfig; +import com.aliyun.cloudauth20190307.models.InitFaceVerifyRequest; +import com.aliyun.cloudauth20190307.models.InitFaceVerifyResponse; +import com.aliyun.cloudauth20190307.Client; +import com.aliyun.cloudauth20190307.models.InitFaceVerifyResponseBody; +import com.aliyun.teaopenapi.models.Config; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import com.aliyun.teautil.models.RuntimeOptions; + +import javax.annotation.Resource; +import javax.validation.Valid; +import java.util.Arrays; +import java.util.List; + +/** + * 第三方人脸识别认证 + */ +@Service +@Valid +@Slf4j +public class ThirdFaceVerifyServiceImpl implements ThirdFaceVerifyService { + + @Resource + private ThirdAlConfig thirdAlConfig; + + private static final com.aliyun.credentials.Client credentialClient = new com.aliyun.credentials.Client(); + + /** + * 人脸识别 + */ + @Override + public ThirdFaceVerifyResVO faceVerify(ThirdFaceVerifyReqVO dto) { + InitFaceVerifyRequest request = new InitFaceVerifyRequest(); + request.setSceneId(1000016045L); + request.setProductCode("PV_FV"); + request.setModel("MOVE_ACTION"); + // 参数 + request.setOuterOrderNo(dto.getCode()); + request.setUserId(String.valueOf(dto.getFaceVerifyUserId())); + request.setMetaInfo(dto.getMetaInfoJson()); + request.setFaceContrastPictureUrl(dto.getFaceVerifyUrl()); + // 配置 + request.setCallbackToken(thirdAlConfig.getFaceVerifyCallbackToken()); + request.setCallbackUrl(thirdAlConfig.getFaceVerifyCallbackUrl()); + + InitFaceVerifyResponse response = initFaceVerifyAutoRoute(request); + if (ObjectUtil.isEmpty(response)) { + log.error("|人脸识别|,第三方接口无响应"); + return null; + } + InitFaceVerifyResponseBody body = response.getBody(); + InitFaceVerifyResponseBody.InitFaceVerifyResponseBodyResultObject resultObject = body.getResultObject(); + + ThirdFaceVerifyResVO result = new ThirdFaceVerifyResVO(); + result.setCertifyId(resultObject.getCertifyId()); + result.setCertifyUrl(resultObject.getCertifyUrl()); + return result; + } + + /** + * 人脸识别回调 + */ + @Override + public String callback(String code) { + return ""; + } + + private InitFaceVerifyResponse initFaceVerifyAutoRoute(InitFaceVerifyRequest request) { + List endpoints = Arrays.asList("cloudauth.cn-shanghai.aliyuncs.com", "cloudauth.cn-beijing.aliyuncs.com"); + InitFaceVerifyResponse lastResponse = null; + for (String endpoint : endpoints) { + try { + lastResponse = initFaceVerify(endpoint, request); + if (ObjectUtil.isEmpty(lastResponse)) return null; + if (ObjectUtil.equals(lastResponse.getStatusCode(), 500)) { + continue; + } + InitFaceVerifyResponseBody body = lastResponse.getBody(); + if (ObjectUtil.equals(body.getCode(), "500")) { + continue; + } + return lastResponse; + } catch (Exception e) { + e.printStackTrace(); + log.error("|人脸识别|,意外的错误:{}", e.getMessage()); + } + } + return lastResponse; + } + + private InitFaceVerifyResponse initFaceVerify(String endpoint, InitFaceVerifyRequest request) throws Exception { + Config config = new Config(); + config.setCredential(credentialClient); + config.setEndpoint(endpoint); + config.setAccessKeyId(thirdAlConfig.getAccessKeyId()); + config.setAccessKeySecret(thirdAlConfig.getAccessKeySecret()); + Client client = new Client(config); + RuntimeOptions runtime = new RuntimeOptions(); + runtime.readTimeout = 10_000; + runtime.connectTimeout = 10_000; + return client.initFaceVerifyWithOptions(request, runtime); + } +} diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/service/TxMapApi.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/service/TxMapApi.java index 0c314fb..e3c5645 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/service/TxMapApi.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/service/TxMapApi.java @@ -1,14 +1,14 @@ package cn.iocoder.yudao.module.member.client.service; -import cn.iocoder.yudao.module.member.client.vo.txmap.geocoder.TxMapGeocoderReqVo; -import cn.iocoder.yudao.module.member.client.vo.txmap.geocoder.TxMapGeocoderRespVo; +import cn.iocoder.yudao.module.member.client.vo.txmap.geocoder.TxMapGeocoderReqVO; +import cn.iocoder.yudao.module.member.client.vo.txmap.geocoder.TxMapGeocoderRespVO; public interface TxMapApi { /** * 地址逆向解析 */ - TxMapGeocoderRespVo geocoder(TxMapGeocoderReqVo dto); + TxMapGeocoderRespVO geocoder(TxMapGeocoderReqVO dto); } diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/service/TxMapApiImpl.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/service/TxMapApiImpl.java index 59bc2f1..a103eb8 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/service/TxMapApiImpl.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/service/TxMapApiImpl.java @@ -7,9 +7,9 @@ import cn.hutool.core.util.URLUtil; import cn.hutool.http.HttpRequest; import cn.hutool.json.JSONUtil; import cn.iocoder.yudao.module.member.client.tool.TxMapApiTool; -import cn.iocoder.yudao.module.member.client.vo.txmap.TxMapRespVo; -import cn.iocoder.yudao.module.member.client.vo.txmap.geocoder.TxMapGeocoderReqVo; -import cn.iocoder.yudao.module.member.client.vo.txmap.geocoder.TxMapGeocoderRespVo; +import cn.iocoder.yudao.module.member.client.vo.txmap.TxMapRespVO; +import cn.iocoder.yudao.module.member.client.vo.txmap.geocoder.TxMapGeocoderReqVO; +import cn.iocoder.yudao.module.member.client.vo.txmap.geocoder.TxMapGeocoderRespVO; import cn.iocoder.yudao.module.member.framework.web.config.TxMapProperties; import lombok.extern.slf4j.Slf4j; import org.apache.commons.codec.digest.DigestUtils; @@ -31,7 +31,7 @@ public class TxMapApiImpl implements TxMapApi { * 地址逆向解析 */ @Override - public TxMapGeocoderRespVo geocoder(TxMapGeocoderReqVo dto) { + public TxMapGeocoderRespVO geocoder(TxMapGeocoderReqVO dto) { dto.setKey(txMapProperties.getAppKey()); TxMapApiTool.API api = setApiConfig(TxMapApiTool.GEOCODER); try { @@ -41,7 +41,7 @@ public class TxMapApiImpl implements TxMapApi { log.error("地址逆向解析,res为空"); return null; } - TxMapRespVo baseRes = JSONUtil.toBean(res, TxMapRespVo.class); + TxMapRespVO baseRes = JSONUtil.toBean(res, TxMapRespVO.class); if (ObjectUtil.isEmpty(baseRes) || !baseRes.isSuccess()) { log.error("地址逆向解析,返回错误"); return null; @@ -50,7 +50,7 @@ public class TxMapApiImpl implements TxMapApi { log.error("地址逆向解析,res.result为空"); return null; } - return JSONUtil.toBean(baseRes.getResult(), TxMapGeocoderRespVo.class); + return JSONUtil.toBean(baseRes.getResult(), TxMapGeocoderRespVO.class); } catch (Exception e) { e.printStackTrace(); log.error("地址逆向解析,意外的错误", e); diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/chat/ChatBaseRespVo.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/chat/ChatBaseRespVO.java similarity index 90% rename from yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/chat/ChatBaseRespVo.java rename to yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/chat/ChatBaseRespVO.java index 3f4e5dc..a1df1b4 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/chat/ChatBaseRespVo.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/chat/ChatBaseRespVO.java @@ -4,7 +4,7 @@ import cn.hutool.core.util.ObjUtil; import lombok.Data; @Data -public class ChatBaseRespVo { +public class ChatBaseRespVO { private Integer code; diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/chat/friend/ChatAddFriendReqVo.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/chat/friend/ChatAddFriendReqVO.java similarity index 93% rename from yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/chat/friend/ChatAddFriendReqVo.java rename to yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/chat/friend/ChatAddFriendReqVO.java index b32e496..6a401de 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/chat/friend/ChatAddFriendReqVo.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/chat/friend/ChatAddFriendReqVO.java @@ -7,7 +7,7 @@ import javax.validation.constraints.NotNull; @Data @Schema(description = "chat添加好友req") -public class ChatAddFriendReqVo { +public class ChatAddFriendReqVO { @NotNull(message = "用户id不存在") @Schema(description = "用户id") diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/chat/privatemsg/ChatPrivateTotalMessageTotalReqVo.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/chat/privatemsg/ChatPrivateTotalMessageTotalReqVO.java similarity index 78% rename from yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/chat/privatemsg/ChatPrivateTotalMessageTotalReqVo.java rename to yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/chat/privatemsg/ChatPrivateTotalMessageTotalReqVO.java index 9639c46..fca1f93 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/chat/privatemsg/ChatPrivateTotalMessageTotalReqVo.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/chat/privatemsg/ChatPrivateTotalMessageTotalReqVO.java @@ -2,10 +2,8 @@ package cn.iocoder.yudao.module.member.client.vo.chat.privatemsg; import lombok.Data; -import java.time.LocalDateTime; - @Data -public class ChatPrivateTotalMessageTotalReqVo { +public class ChatPrivateTotalMessageTotalReqVO { /** * 发送人id diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/chat/privatemsg/ChatPrivateTotalMessageTotalResVo.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/chat/privatemsg/ChatPrivateTotalMessageTotalResVO.java similarity index 89% rename from yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/chat/privatemsg/ChatPrivateTotalMessageTotalResVo.java rename to yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/chat/privatemsg/ChatPrivateTotalMessageTotalResVO.java index 1baaa99..ba89fc0 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/chat/privatemsg/ChatPrivateTotalMessageTotalResVo.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/chat/privatemsg/ChatPrivateTotalMessageTotalResVO.java @@ -3,7 +3,7 @@ package cn.iocoder.yudao.module.member.client.vo.chat.privatemsg; import lombok.Data; @Data -public class ChatPrivateTotalMessageTotalResVo { +public class ChatPrivateTotalMessageTotalResVO { /** * 发送者id diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/chat/sensitive/ChatSensitiveInfoReqVo.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/chat/sensitive/ChatSensitiveInfoReqVO.java similarity index 87% rename from yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/chat/sensitive/ChatSensitiveInfoReqVo.java rename to yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/chat/sensitive/ChatSensitiveInfoReqVO.java index 7f68dc9..8197911 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/chat/sensitive/ChatSensitiveInfoReqVo.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/chat/sensitive/ChatSensitiveInfoReqVO.java @@ -5,7 +5,7 @@ import lombok.Data; @Data @Schema(description = "third敏感词详情DTO") -public class ChatSensitiveInfoReqVo { +public class ChatSensitiveInfoReqVO { @Schema(description = "敏感词id") private Long sensitiveId; diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/chat/sensitive/ChatSensitiveReqVo.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/chat/sensitive/ChatSensitiveReqVO.java similarity index 94% rename from yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/chat/sensitive/ChatSensitiveReqVo.java rename to yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/chat/sensitive/ChatSensitiveReqVO.java index 1c2d0a5..0b94759 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/chat/sensitive/ChatSensitiveReqVo.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/chat/sensitive/ChatSensitiveReqVO.java @@ -7,7 +7,7 @@ import java.util.Date; @Data @Schema(description = "third敏感词DTO") -public class ChatSensitiveReqVo { +public class ChatSensitiveReqVO { @Schema(description = "分页大小") private Integer pageSize; diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/chat/sensitive/ChatSensitiveSaveReqVo.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/chat/sensitive/ChatSensitiveSaveReqVO.java similarity index 92% rename from yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/chat/sensitive/ChatSensitiveSaveReqVo.java rename to yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/chat/sensitive/ChatSensitiveSaveReqVO.java index 97d2033..fb4e1e5 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/chat/sensitive/ChatSensitiveSaveReqVo.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/chat/sensitive/ChatSensitiveSaveReqVO.java @@ -7,7 +7,7 @@ import javax.validation.constraints.NotEmpty; @Data @Schema(description = "third新增或修改DTO") -public class ChatSensitiveSaveReqVo { +public class ChatSensitiveSaveReqVO { @Schema(description = "id") private Long id; diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/chat/user/ChatCreateOrUpdateUserReqVo.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/chat/user/ChatCreateOrUpdateUserReqVO.java similarity index 95% rename from yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/chat/user/ChatCreateOrUpdateUserReqVo.java rename to yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/chat/user/ChatCreateOrUpdateUserReqVO.java index d500f2a..459b4be 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/chat/user/ChatCreateOrUpdateUserReqVo.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/chat/user/ChatCreateOrUpdateUserReqVO.java @@ -9,7 +9,7 @@ import javax.validation.constraints.NotNull; @Data @Schema(description = "chat用户注册req") -public class ChatCreateOrUpdateUserReqVo { +public class ChatCreateOrUpdateUserReqVO { @NotNull(message = "用户id不可为空") @Schema(description = "用户id") diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/chat/user/ChatGetUserByUserIdReqVo.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/chat/user/ChatGetUserByUserIdReqVO.java similarity index 89% rename from yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/chat/user/ChatGetUserByUserIdReqVo.java rename to yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/chat/user/ChatGetUserByUserIdReqVO.java index 493169a..e6f23eb 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/chat/user/ChatGetUserByUserIdReqVo.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/chat/user/ChatGetUserByUserIdReqVO.java @@ -7,7 +7,7 @@ import javax.validation.constraints.NotNull; @Data @Schema(description = "chat根据userId查询用户详情") -public class ChatGetUserByUserIdReqVo { +public class ChatGetUserByUserIdReqVO { @NotNull(message = "用户id不能为空") @Schema(description = "用户id") diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/chat/user/ChatGetUserByUserIdRespVo.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/chat/user/ChatGetUserByUserIdRespVO.java similarity index 97% rename from yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/chat/user/ChatGetUserByUserIdRespVo.java rename to yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/chat/user/ChatGetUserByUserIdRespVO.java index 36b16ac..2cbaf52 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/chat/user/ChatGetUserByUserIdRespVo.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/chat/user/ChatGetUserByUserIdRespVO.java @@ -9,7 +9,7 @@ import javax.validation.constraints.NotNull; @Data @Schema(description = "chat根据userId查询用户详情resp") -public class ChatGetUserByUserIdRespVo { +public class ChatGetUserByUserIdRespVO { @NotNull(message = "用户id不能为空") @Schema(description = "id") diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/chat/user/ChatLoginRespVo.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/chat/user/ChatLoginRespVO.java similarity index 95% rename from yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/chat/user/ChatLoginRespVo.java rename to yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/chat/user/ChatLoginRespVO.java index 3ab4f3b..3979648 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/chat/user/ChatLoginRespVo.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/chat/user/ChatLoginRespVO.java @@ -5,7 +5,7 @@ import lombok.Data; @Data @Schema(description = "chat用户登录resp") -public class ChatLoginRespVo { +public class ChatLoginRespVO { @Schema(description = "每次请求都必须在header中携带accessToken") private String accessToken; diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/thirdfaceverify/ThirdFaceVerifyReqVO.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/thirdfaceverify/ThirdFaceVerifyReqVO.java new file mode 100644 index 0000000..dfb976e --- /dev/null +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/thirdfaceverify/ThirdFaceVerifyReqVO.java @@ -0,0 +1,32 @@ +package cn.iocoder.yudao.module.member.client.vo.thirdfaceverify; + +import lombok.Data; + +/** + * 阿里云人脸认证req + */ +@Data +public class ThirdFaceVerifyReqVO { + + /** + * 认证订单code(唯一) + */ + private String code; + + /** + * 人脸认证图片地址 + */ + private String faceVerifyUrl; + + /** + * 认证用户id + */ + private Long faceVerifyUserId; + + /** + * MetaInfo环境参数,客户端传入 + */ + private String metaInfoJson; + + +} diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/thirdfaceverify/ThirdFaceVerifyResVO.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/thirdfaceverify/ThirdFaceVerifyResVO.java new file mode 100644 index 0000000..e60a99f --- /dev/null +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/thirdfaceverify/ThirdFaceVerifyResVO.java @@ -0,0 +1,15 @@ +package cn.iocoder.yudao.module.member.client.vo.thirdfaceverify; + +import lombok.Data; + +/** + * 阿里云人脸认证res + */ +@Data +public class ThirdFaceVerifyResVO { + + private String certifyId; + + private String certifyUrl; + +} diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/txmap/TxMapRespVo.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/txmap/TxMapRespVO.java similarity index 91% rename from yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/txmap/TxMapRespVo.java rename to yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/txmap/TxMapRespVO.java index ed9e803..568d3fe 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/txmap/TxMapRespVo.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/txmap/TxMapRespVO.java @@ -6,7 +6,7 @@ import lombok.Data; * 腾讯地图响应体 */ @Data -public class TxMapRespVo { +public class TxMapRespVO { private Integer status; diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/txmap/geocoder/TxMapGeocoderReqVo.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/txmap/geocoder/TxMapGeocoderReqVO.java similarity index 93% rename from yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/txmap/geocoder/TxMapGeocoderReqVo.java rename to yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/txmap/geocoder/TxMapGeocoderReqVO.java index 4539672..284c924 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/txmap/geocoder/TxMapGeocoderReqVo.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/txmap/geocoder/TxMapGeocoderReqVO.java @@ -9,7 +9,7 @@ import lombok.NoArgsConstructor; @Builder @AllArgsConstructor @NoArgsConstructor -public class TxMapGeocoderReqVo { +public class TxMapGeocoderReqVO { /** * 开发密钥(Key) diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/txmap/geocoder/TxMapGeocoderRespVo.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/txmap/geocoder/TxMapGeocoderRespVO.java similarity index 98% rename from yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/txmap/geocoder/TxMapGeocoderRespVo.java rename to yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/txmap/geocoder/TxMapGeocoderRespVO.java index f3c7be4..ada8d40 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/txmap/geocoder/TxMapGeocoderRespVo.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/client/vo/txmap/geocoder/TxMapGeocoderRespVO.java @@ -3,7 +3,7 @@ package cn.iocoder.yudao.module.member.client.vo.txmap.geocoder; import lombok.Data; @Data -public class TxMapGeocoderRespVo { +public class TxMapGeocoderRespVO { /** * 以行政区划+道路+门牌号等信息组成的标准格式化地址 diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/chat/ChatSensitiveController.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/chat/ChatSensitiveController.java index 39e699b..a8ee61b 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/chat/ChatSensitiveController.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/chat/ChatSensitiveController.java @@ -29,7 +29,7 @@ public class ChatSensitiveController { @PostMapping("/page") @Operation(summary = "查询敏感词列表", description = "查询敏感词列表") - public CommonResult> page(@Valid @RequestBody ChatSensitiveReqVo dto) { + public CommonResult> page(@Valid @RequestBody ChatSensitiveReqVO dto) { ChatTableRespVO vo = chatApi.sensitivePage(dto); PageResult pageResult = new PageResult(); @@ -44,7 +44,7 @@ public class ChatSensitiveController { @GetMapping("/getById") @Operation(summary = "获取敏感词详细信息", description = "获取敏感词详细信息") public CommonResult getInfo(@RequestParam("id") Long id) { - ChatSensitiveInfoReqVo dto = new ChatSensitiveInfoReqVo(); + ChatSensitiveInfoReqVO dto = new ChatSensitiveInfoReqVO(); dto.setSensitiveId(id); ChatSensitiveRespVO vo = chatApi.sensitiveGetInfo(dto); return success(vo); @@ -52,7 +52,7 @@ public class ChatSensitiveController { @PostMapping("/createOrUpdate") @Operation(summary = "创建或者更新敏感词", description = "创建或者更新敏感词") - public CommonResult createOrUpdate(@Valid @RequestBody ChatSensitiveSaveReqVo dto) { + public CommonResult createOrUpdate(@Valid @RequestBody ChatSensitiveSaveReqVO dto) { return success(chatApi.sensitiveCreateOrUpdate(dto)); } diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/chat/AppChatController.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/chat/AppChatController.java index 050416f..eefd935 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/chat/AppChatController.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/chat/AppChatController.java @@ -2,7 +2,7 @@ package cn.iocoder.yudao.module.member.controller.app.chat; import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.module.member.client.service.ChatApi; -import cn.iocoder.yudao.module.member.client.vo.chat.friend.ChatAddFriendReqVo; +import cn.iocoder.yudao.module.member.client.vo.chat.friend.ChatAddFriendReqVO; import cn.iocoder.yudao.module.member.client.vo.chat.user.ChatPrivateMessageSendReqVO; import cn.iocoder.yudao.module.member.client.vo.chat.user.ChatPrivateMessageSendResVO; import cn.iocoder.yudao.module.member.service.opentype.OpenTypeService; @@ -43,12 +43,12 @@ public class AppChatController { public CommonResult createFeedback(@RequestParam("friendUserId") Long friendUserId) { Long currentUserId = getLoginUserId(); // 相互添加一下好友 - ChatAddFriendReqVo self = new ChatAddFriendReqVo(); + ChatAddFriendReqVO self = new ChatAddFriendReqVO(); self.setUserId(currentUserId); self.setTargetUserId(friendUserId); chatApi.addFriend(self); - ChatAddFriendReqVo target = new ChatAddFriendReqVo(); + ChatAddFriendReqVO target = new ChatAddFriendReqVO(); target.setUserId(friendUserId); target.setTargetUserId(currentUserId); chatApi.addFriend(target); diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/recent/AppRecentController.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/recent/AppRecentController.java index a3b07d8..ba570f3 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/recent/AppRecentController.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/recent/AppRecentController.java @@ -107,6 +107,12 @@ public class AppRecentController { return success(recentService.evaluatePage(dto)); } + @PostMapping("/evaluate-detail") + @Operation(summary = "我的评价总分数详情") + public CommonResult evaluateDetail() { + return success(recentService.evaluateDetail(getLoginUserId())); + } + @GetMapping("/getById") @Operation(summary = "根据id查询用户信息") public CommonResult getUserInfoById(@RequestParam("id") Long id) { diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/recent/vo/AppEvaluateDetailResVo.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/recent/vo/AppEvaluateDetailResVo.java new file mode 100644 index 0000000..1e2c49b --- /dev/null +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/recent/vo/AppEvaluateDetailResVo.java @@ -0,0 +1,40 @@ +package cn.iocoder.yudao.module.member.controller.app.recent.vo; + +import lombok.Data; + +/** + * 评价详情 + */ +@Data +public class AppEvaluateDetailResVo { + + /** + * 身材评分 + */ + private Integer scoreSc = 0; + + /** + * 耐心评分 + */ + private Integer scoreNx = 0; + + /** + * 爽快评分 + */ + private Integer scoreSk = 0; + + /** + * 有趣评分 + */ + private Integer scoreYq = 0; + + /** + * 综合评分 + */ + private Integer avgScore = 0; + + /** + * 评价数量 + */ + private Integer evaluateCount = 0; +} diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/mysql/photo/PhotoMapper.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/mysql/photo/PhotoMapper.java index 9fc15b4..d1842ce 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/mysql/photo/PhotoMapper.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/mysql/photo/PhotoMapper.java @@ -17,6 +17,7 @@ public interface PhotoMapper extends BaseMapperX { default PageResult selectPage(PhotoPageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(PhotoDO::getMemberId, reqVO.getMemberId()) .eqIfPresent(PhotoDO::getBizType, reqVO.getBizType()) .eqIfPresent(PhotoDO::getAddress, reqVO.getAddress()) .eqIfPresent(PhotoDO::getTagJson, reqVO.getTagJson()) diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/mysql/recent/OperationMapper.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/mysql/recent/OperationMapper.java index 3f83b89..4ebb1d5 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/mysql/recent/OperationMapper.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/mysql/recent/OperationMapper.java @@ -11,6 +11,7 @@ import cn.iocoder.yudao.module.member.controller.admin.recent.vo.OperationPageRe import cn.iocoder.yudao.module.member.controller.admin.recent.vo.OperationRespVO; import cn.iocoder.yudao.module.member.controller.admin.recent.vo.OperationTotalGroupRecentRespVO; import cn.iocoder.yudao.module.member.controller.admin.recent.vo.RecentPageReqVO; +import cn.iocoder.yudao.module.member.controller.app.recent.vo.AppEvaluateDetailResVo; import cn.iocoder.yudao.module.member.dal.dataobject.recent.OperationDO; import cn.iocoder.yudao.module.member.dal.dataobject.recent.RecentDO; import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO; @@ -47,4 +48,6 @@ public interface OperationMapper extends BaseMapperX { List totalGroupRecent(@Param("dto") OperationPageReqVO dto); OperationTotalGroupRecentRespVO totalGroupRecentByUser(@Param("userId") Long userId); + + AppEvaluateDetailResVo evaluateDetail(@Param("userId") Long userid); } \ No newline at end of file diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/framework/web/config/ThirdAlConfig.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/framework/web/config/ThirdAlConfig.java new file mode 100644 index 0000000..e668c6f --- /dev/null +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/framework/web/config/ThirdAlConfig.java @@ -0,0 +1,35 @@ +package cn.iocoder.yudao.module.member.framework.web.config; + +import lombok.Data; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.stereotype.Component; + +/** + * 第三方阿里云配置 + */ +@Component +@ConfigurationProperties("al-config") +@Data +public class ThirdAlConfig { + + /** + * 阿里云 AccessKeyId + */ + private String accessKeyId; + + /** + * 阿里云 AccessKeySecret + */ + private String accessKeySecret; + + /** + * 阿里云人脸识别回调地址 + */ + private String faceVerifyCallbackUrl; + + /** + * 阿里云人脸识别回调token + */ + private String faceVerifyCallbackToken; + +} diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/auth/MemberAuthServiceImpl.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/auth/MemberAuthServiceImpl.java index aab66d2..c48cf7e 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/auth/MemberAuthServiceImpl.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/auth/MemberAuthServiceImpl.java @@ -10,7 +10,7 @@ import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.framework.common.util.servlet.ServletUtils; import cn.iocoder.yudao.module.member.client.service.ChatApi; import cn.iocoder.yudao.module.member.client.vo.chat.user.ChatLoginReqVO; -import cn.iocoder.yudao.module.member.client.vo.chat.user.ChatLoginRespVo; +import cn.iocoder.yudao.module.member.client.vo.chat.user.ChatLoginRespVO; import cn.iocoder.yudao.module.member.controller.admin.user.vo.MemberUserUpdateReqVO; import cn.iocoder.yudao.module.member.controller.app.auth.vo.*; import cn.iocoder.yudao.module.member.convert.auth.AuthConvert; @@ -247,7 +247,7 @@ public class MemberAuthServiceImpl implements MemberAuthService { ChatLoginReqVO loginObj = new ChatLoginReqVO(); loginObj.setTerminal(1); loginObj.setUserId(user.getId()); - ChatLoginRespVo login = chatApi.login(loginObj); + ChatLoginRespVO login = chatApi.login(loginObj); if (ObjectUtil.isNotEmpty(login)) { serviceToken.setChatToken(BeanUtils.toBean(login, AppAuthLoginRespVO.ChatToken.class)); } @@ -268,7 +268,7 @@ public class MemberAuthServiceImpl implements MemberAuthService { ChatLoginReqVO loginObj = new ChatLoginReqVO(); loginObj.setTerminal(1); loginObj.setUserId(user.getId()); - ChatLoginRespVo login = chatApi.login(loginObj); + ChatLoginRespVO login = chatApi.login(loginObj); if (ObjectUtil.isNotEmpty(login)) { serviceToken.setChatToken(BeanUtils.toBean(login, AppAuthLoginRespVO.ChatToken.class)); } diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/location/LocationServiceImpl.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/location/LocationServiceImpl.java index 3eb34f7..e041d36 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/location/LocationServiceImpl.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/location/LocationServiceImpl.java @@ -3,8 +3,8 @@ package cn.iocoder.yudao.module.member.service.location; import cn.hutool.core.util.ObjectUtil; import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.iocoder.yudao.module.member.client.service.TxMapApi; -import cn.iocoder.yudao.module.member.client.vo.txmap.geocoder.TxMapGeocoderReqVo; -import cn.iocoder.yudao.module.member.client.vo.txmap.geocoder.TxMapGeocoderRespVo; +import cn.iocoder.yudao.module.member.client.vo.txmap.geocoder.TxMapGeocoderReqVO; +import cn.iocoder.yudao.module.member.client.vo.txmap.geocoder.TxMapGeocoderRespVO; import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO; import cn.iocoder.yudao.module.member.dal.mysql.user.MemberUserMapper; import cn.iocoder.yudao.module.member.enums.MemberErrorCode; @@ -22,7 +22,6 @@ import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.module.member.dal.mysql.location.LocationMapper; -import java.lang.reflect.Array; import java.util.Arrays; import java.util.List; @@ -48,9 +47,9 @@ public class LocationServiceImpl implements LocationService { @Transactional(rollbackFor = Exception.class) public Long createLocation(LocationSaveReqVO dto) { if (!ObjectUtil.isAllNotEmpty(dto.getProvince(), dto.getCity(), dto.getDistrict())) { - TxMapGeocoderRespVo geocoder = txMapApi.geocoder(TxMapGeocoderReqVo.builder().location(dto.getLat() + "," + dto.getLon()).build()); + TxMapGeocoderRespVO geocoder = txMapApi.geocoder(TxMapGeocoderReqVO.builder().location(dto.getLat() + "," + dto.getLon()).build()); if (ObjectUtil.isNotEmpty(geocoder) && ObjectUtil.isNotEmpty(geocoder.getAddress_component())) { - TxMapGeocoderRespVo.AddressComponent addressComponent = geocoder.getAddress_component(); + TxMapGeocoderRespVO.AddressComponent addressComponent = geocoder.getAddress_component(); dto.setProvince(addressComponent.getProvince()); dto.setCity(addressComponent.getCity()); dto.setDistrict(addressComponent.getDistrict()); diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/opentype/OpenTypeServiceImpl.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/opentype/OpenTypeServiceImpl.java index 0b6d4bd..0f85f33 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/opentype/OpenTypeServiceImpl.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/opentype/OpenTypeServiceImpl.java @@ -3,13 +3,9 @@ package cn.iocoder.yudao.module.member.service.opentype; import cn.hutool.core.date.DatePattern; import cn.hutool.core.date.LocalDateTimeUtil; import cn.hutool.core.util.ObjectUtil; -import cn.iocoder.yudao.framework.common.util.object.ObjectUtils; import cn.iocoder.yudao.module.member.client.service.ChatApi; -import cn.iocoder.yudao.module.member.client.vo.chat.ChatTableRespVO; -import cn.iocoder.yudao.module.member.client.vo.chat.privatemsg.ChatPrivateMessageReqVO; -import cn.iocoder.yudao.module.member.client.vo.chat.privatemsg.ChatPrivateMessageRespVO; -import cn.iocoder.yudao.module.member.client.vo.chat.privatemsg.ChatPrivateTotalMessageTotalReqVo; -import cn.iocoder.yudao.module.member.client.vo.chat.privatemsg.ChatPrivateTotalMessageTotalResVo; +import cn.iocoder.yudao.module.member.client.vo.chat.privatemsg.ChatPrivateTotalMessageTotalReqVO; +import cn.iocoder.yudao.module.member.client.vo.chat.privatemsg.ChatPrivateTotalMessageTotalResVO; import cn.iocoder.yudao.module.member.controller.app.opentype.vo.AppPayOpenReqType; import cn.iocoder.yudao.module.member.dal.dataobject.config.MemberConfigDO; import cn.iocoder.yudao.module.member.dal.dataobject.opentype.OpenTypeUserDO; @@ -35,11 +31,7 @@ import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.module.member.dal.mysql.opentype.OpenTypeMapper; -import java.time.Instant; import java.time.LocalDateTime; -import java.time.ZoneId; -import java.util.ArrayList; -import java.util.Date; import java.util.List; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; @@ -194,21 +186,21 @@ public class OpenTypeServiceImpl implements OpenTypeService { LocalDateTime startDate = now.withHour(0).withMinute(0).withSecond(0); LocalDateTime endDate = now.withHour(23).withMinute(59).withSecond(59); - ChatPrivateTotalMessageTotalReqVo dto = new ChatPrivateTotalMessageTotalReqVo(); + ChatPrivateTotalMessageTotalReqVO dto = new ChatPrivateTotalMessageTotalReqVO(); dto.setSendId(sendId); dto.setTimeRange(new String[]{ LocalDateTimeUtil.format(startDate, DatePattern.NORM_DATETIME_PATTERN), LocalDateTimeUtil.format(endDate, DatePattern.NORM_DATETIME_PATTERN), }); try { - List msgList = chatApi.privateTotal(dto); + List msgList = chatApi.privateTotal(dto); if (ObjectUtil.isEmpty(msgList)) return true; // 普通用户聊天人数是否超过上限 if (msgList.size() > defaultChatUserCout) { throw exception(MemberErrorCode.CHAT_USER_COUNT_EXCEED); } // 聊天人数已经超过限制 - ChatPrivateTotalMessageTotalResVo targetCount = msgList.stream().filter(item -> ObjectUtil.equals(item.getSendId(), sendId) && ObjectUtil.equals(item.getReceiveId(), receiveId)).findFirst().orElse(null); + ChatPrivateTotalMessageTotalResVO targetCount = msgList.stream().filter(item -> ObjectUtil.equals(item.getSendId(), sendId) && ObjectUtil.equals(item.getReceiveId(), receiveId)).findFirst().orElse(null); if (ObjectUtil.isEmpty(targetCount)) return true; if (targetCount.getMessageTotal() > defaultChatUserMsgCout) { throw exception(MemberErrorCode.CHAT_MSG_COUNT_EXCEED); diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/photo/PhotoServiceImpl.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/photo/PhotoServiceImpl.java index 2085709..cca6a38 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/photo/PhotoServiceImpl.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/photo/PhotoServiceImpl.java @@ -9,7 +9,7 @@ import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO; import cn.iocoder.yudao.module.member.enums.MemberErrorCode; import cn.iocoder.yudao.module.member.enums.photo.PhotoBizTypeEnum; import cn.iocoder.yudao.module.member.enums.photo.PhotoResourceTypeEnum; -import cn.iocoder.yudao.module.member.service.thirdauth.ThirdAuthService; +import cn.iocoder.yudao.module.member.client.service.ThirdAuthService; import cn.iocoder.yudao.module.member.service.user.MemberUserService; import org.springframework.stereotype.Service; @@ -24,8 +24,6 @@ import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.module.member.dal.mysql.photo.PhotoMapper; -import java.util.concurrent.CompletableFuture; - import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; /** diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/recent/RecentService.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/recent/RecentService.java index 90659d1..6e96fc2 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/recent/RecentService.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/recent/RecentService.java @@ -5,10 +5,7 @@ import java.util.concurrent.ExecutionException; import javax.validation.*; import cn.iocoder.yudao.module.member.controller.admin.recent.vo.*; -import cn.iocoder.yudao.module.member.controller.app.recent.vo.AppRecentLikeReqVo; -import cn.iocoder.yudao.module.member.controller.app.recent.vo.AppRecentOperateReqVo; -import cn.iocoder.yudao.module.member.controller.app.recent.vo.AppRecentQuickPageVO; -import cn.iocoder.yudao.module.member.controller.app.recent.vo.AppRecentViewRecordReqVo; +import cn.iocoder.yudao.module.member.controller.app.recent.vo.*; import cn.iocoder.yudao.module.member.dal.dataobject.recent.RecentDO; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.pojo.PageParam; @@ -86,6 +83,11 @@ public interface RecentService { */ PageResult evaluatePage(@Valid AppRecentLikeReqVo dto); + /** + * 我的评价总分数详情 + */ + AppEvaluateDetailResVo evaluateDetail(Long userId); + /** * 查询朋友圈用户 */ @@ -95,4 +97,5 @@ public interface RecentService { * 朋友圈我喜欢的、喜欢我的等总数统计 */ OperationTotalGroupRecentRespVO total(Long userId); + } \ No newline at end of file diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/recent/RecentServiceImpl.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/recent/RecentServiceImpl.java index c45e2d6..a4fdb17 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/recent/RecentServiceImpl.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/recent/RecentServiceImpl.java @@ -6,6 +6,7 @@ import cn.hutool.core.util.ObjectUtil; import cn.iocoder.yudao.framework.common.util.number.NumberUtils; import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.iocoder.yudao.module.member.api.thirdauth.ThirdAuthVo; +import cn.iocoder.yudao.module.member.controller.app.recent.vo.AppEvaluateDetailResVo; import cn.iocoder.yudao.module.member.controller.app.recent.vo.AppRecentLikeReqVo; import cn.iocoder.yudao.module.member.controller.app.recent.vo.AppRecentOperateReqVo; import cn.iocoder.yudao.module.member.controller.app.recent.vo.AppRecentQuickPageVO; @@ -21,7 +22,7 @@ import cn.iocoder.yudao.module.member.enums.MemberRecentOperateEnum; import cn.iocoder.yudao.module.member.enums.MemberRecentSceneEnum; import cn.iocoder.yudao.module.member.enums.tag.MemberRecentTagEnum; import cn.iocoder.yudao.module.member.service.location.LocationService; -import cn.iocoder.yudao.module.member.service.thirdauth.ThirdAuthService; +import cn.iocoder.yudao.module.member.client.service.ThirdAuthService; import cn.iocoder.yudao.module.member.service.user.MemberUserService; import cn.iocoder.yudao.module.system.enums.common.SexEnum; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -42,6 +43,8 @@ import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.module.member.dal.mysql.recent.RecentMapper; +import java.math.BigDecimal; +import java.math.RoundingMode; import java.time.LocalDateTime; import java.util.ArrayList; import java.util.List; @@ -415,6 +418,19 @@ public class RecentServiceImpl implements RecentService { return new PageResult<>(resultList, pageList.getTotal()); } + /** + * 我的评价总分数详情 + */ + @Override + public AppEvaluateDetailResVo evaluateDetail(Long userid) { + AppEvaluateDetailResVo total = operationMapper.evaluateDetail(userid); + if (ObjectUtil.isEmpty(total)) return new AppEvaluateDetailResVo(); + int allTotal = total.getScoreSc() + total.getScoreNx() + total.getScoreSk() + total.getScoreYq(); + int avgScore = new BigDecimal(allTotal).divide(BigDecimal.valueOf(4), 0, RoundingMode.HALF_UP).intValue(); + total.setAvgScore(avgScore); + return total; + } + /** * 查询朋友圈用户 */ diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/user/MemberUserServiceImpl.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/user/MemberUserServiceImpl.java index 0a7ff71..09e7485 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/user/MemberUserServiceImpl.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/user/MemberUserServiceImpl.java @@ -9,9 +9,8 @@ import cn.iocoder.yudao.framework.common.enums.UserTypeEnum; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; -import cn.iocoder.yudao.framework.mybatis.core.query.MPJLambdaWrapperX; import cn.iocoder.yudao.module.member.client.service.ChatApi; -import cn.iocoder.yudao.module.member.client.vo.chat.user.ChatCreateOrUpdateUserReqVo; +import cn.iocoder.yudao.module.member.client.vo.chat.user.ChatCreateOrUpdateUserReqVO; import cn.iocoder.yudao.module.member.controller.admin.user.vo.MemberUserPageReqVO; import cn.iocoder.yudao.module.member.controller.admin.user.vo.MemberUserUpdateReqVO; import cn.iocoder.yudao.module.member.controller.app.user.vo.*; @@ -378,7 +377,7 @@ public class MemberUserServiceImpl implements MemberUserService { if (ObjectUtil.isEmpty(memberUser)) { return false; } - ChatCreateOrUpdateUserReqVo chatUser = new ChatCreateOrUpdateUserReqVo(); + ChatCreateOrUpdateUserReqVO chatUser = new ChatCreateOrUpdateUserReqVO(); chatUser.setUserId(memberUser.getId()); chatUser.setUserName(memberUser.getNickname()); chatUser.setPhone(memberUser.getMobile()); diff --git a/yudao-module-member/yudao-module-member-biz/src/main/resources/mapper/OperationMapper.xml b/yudao-module-member/yudao-module-member-biz/src/main/resources/mapper/OperationMapper.xml index 48b293e..76c42f4 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/resources/mapper/OperationMapper.xml +++ b/yudao-module-member/yudao-module-member-biz/src/main/resources/mapper/OperationMapper.xml @@ -1,7 +1,6 @@ - a.deleted = 0 @@ -58,4 +57,14 @@ and a.operator_member_id != a.member_id + diff --git a/yudao-server/src/main/resources/application-dev.yaml b/yudao-server/src/main/resources/application-dev.yaml index 503802e..4120e94 100644 --- a/yudao-server/src/main/resources/application-dev.yaml +++ b/yudao-server/src/main/resources/application-dev.yaml @@ -236,4 +236,10 @@ chat: tx-map: base-url: https://apis.map.qq.com app-key: GGCBZ-SVPWT-IO6XL-LHZ3I-YPMBS-O6B6D - app-secret: uYWt4DalxHgFnk6d9ul2KLdPVM1ABD9m \ No newline at end of file + app-secret: uYWt4DalxHgFnk6d9ul2KLdPVM1ABD9m + +al-config: + access-key-id: LTAI5tJ7sSxB96XaY9T3Vq3D + access-key-secret: EVXWFTS2SB6UkjUVFLhTDBfIvIXgI3 + face-verify-callback-url: https://rj4jv5rwqs.by.takin.cc + face-verify-callback-token: uVuYOzoiQBWPp4A5kPgTddZlKWoSQlzc \ No newline at end of file diff --git a/yudao-server/src/main/resources/application-local.yaml b/yudao-server/src/main/resources/application-local.yaml index 140570d..425ca8c 100644 --- a/yudao-server/src/main/resources/application-local.yaml +++ b/yudao-server/src/main/resources/application-local.yaml @@ -258,4 +258,10 @@ chat: tx-map: base-url: https://apis.map.qq.com app-key: GGCBZ-SVPWT-IO6XL-LHZ3I-YPMBS-O6B6D - app-secret: uYWt4DalxHgFnk6d9ul2KLdPVM1ABD9m \ No newline at end of file + app-secret: uYWt4DalxHgFnk6d9ul2KLdPVM1ABD9m + +al-config: + access-key-id: LTAI5tJ7sSxB96XaY9T3Vq3D + access-key-secret: EVXWFTS2SB6UkjUVFLhTDBfIvIXgI3 + face-verify-callback-url: https://rj4jv5rwqs.by.takin.cc + face-verify-callback-token: uVuYOzoiQBWPp4A5kPgTddZlKWoSQlzc \ No newline at end of file diff --git a/yudao-server/src/main/resources/application-prod.yaml b/yudao-server/src/main/resources/application-prod.yaml index 4697bcb..f73e2f0 100644 --- a/yudao-server/src/main/resources/application-prod.yaml +++ b/yudao-server/src/main/resources/application-prod.yaml @@ -248,4 +248,10 @@ chat: tx-map: base-url: https://apis.map.qq.com app-key: GGCBZ-SVPWT-IO6XL-LHZ3I-YPMBS-O6B6D - app-secret: uYWt4DalxHgFnk6d9ul2KLdPVM1ABD9m \ No newline at end of file + app-secret: uYWt4DalxHgFnk6d9ul2KLdPVM1ABD9m + +al-config: + access-key-id: LTAI5tJ7sSxB96XaY9T3Vq3D + access-key-secret: EVXWFTS2SB6UkjUVFLhTDBfIvIXgI3 + face-verify-callback-url: https://rj4jv5rwqs.by.takin.cc + face-verify-callback-token: uVuYOzoiQBWPp4A5kPgTddZlKWoSQlzc \ No newline at end of file