From 5838b2df35acaae5a92dd960f639e8543a8b7e96 Mon Sep 17 00:00:00 2001 From: admin <1752476835@qq.com> Date: Wed, 8 May 2024 21:21:29 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=A2=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- play-admin/pom.xml | 26 +-- .../admin/common/aspect/ClerkUserLogin.java | 2 +- .../common/aspect/ClerkUserLoginAspect.java | 4 +- .../common/conf/ThreadLocalRequestDetail.java | 14 +- .../admin/common/play/wx/HttpUtils.java | 23 --- .../admin/common/play/wx/WeChatConstants.java | 11 +- ...WxPlayUtils.java => WxCustomPayUtils.java} | 100 ++++++---- .../filter/JwtAuthenticationTokenFilter.java | 175 ++++++++-------- .../PlayCustomArticleInfoController.java | 18 +- .../mapper/PlayCustomArticleInfoMapper.java | 2 +- .../entity/PlayClerkArticleInfoEntity.java | 2 +- .../entity/PlayCustomArticleInfoEntity.java | 6 +- .../module/vo/PlayClerkArticleReturnVo.java | 6 +- .../IPlayCustomArticleInfoService.java | 30 +-- .../impl/PlayClerkArticleInfoServiceImpl.java | 6 +- .../PlayCustomArticleInfoServiceImpl.java | 30 +-- .../entity/PlayBalanceDetailsInfoEntity.java | 2 +- .../IPlayBalanceDetailsInfoService.java | 2 +- ...PlayClerkClassificationInfoController.java | 6 +- .../PlayClerkCommodityController.java | 28 +-- .../PlayClerkDataReviewInfoController.java | 22 +- .../PlayClerkLevelInfoController.java | 10 +- .../PlayClerkUserInfoController.java | 30 +-- .../PlayClerkClassificationInfoMapper.java | 4 +- .../mapper/PlayClerkCommodityMapper.java | 6 +- .../mapper/PlayClerkDataReviewInfoMapper.java | 4 +- .../mapper/PlayClerkLevelInfoMapper.java | 4 +- .../mapper/PlayClerkUserInfoMapper.java | 4 +- .../PlayClerkClassificationInfoEntity.java | 2 +- .../entity/PlayClerkCommodityEntity.java | 4 +- .../entity/PlayClerkDataReviewInfoEditVo.java | 2 +- .../entity/PlayClerkDataReviewInfoEntity.java | 6 +- .../PlayClerkDataReviewInfoQueryVo.java | 2 +- .../entity/PlayClerkLevelInfoEntity.java | 4 +- .../entity/PlayClerkUserDetailResultVo.java | 5 +- .../PlayClerkUserEvaluateInfoEntity.java} | 16 +- .../entity/PlayClerkUserInfoEntity.java | 11 +- .../entity/PlayClerkUserInfoQueryVo.java | 4 +- .../entity/PlayClerkUserListResultVo.java | 5 +- .../PlayClerkUserTrendsInfoEntity.java} | 10 +- .../module/entity/PlayGiftInfoVo.java | 3 +- .../module/vo/PlayClerkCommodityEditVo.java | 5 +- .../module/vo/PlayClerkCommodityQueryVo.java | 5 +- .../module/vo/PlayClerkLevelAddVo.java | 5 +- .../module/vo/PlayClerkLevelEditVo.java | 5 +- .../vo/PlayClerkLevelQueryReturnVo.java | 5 +- .../module/vo/PlayClerkUserAddToWxVo.java | 5 +- .../module/vo/PlayClerkUserAddVo.java | 5 +- .../module/vo/PlayClerkUserEditVo.java | 5 +- .../module/vo/PlayClerkUserStateEditVo.java | 5 +- .../IPlayClerkClassificationInfoService.java | 4 +- .../service/IPlayClerkCommodityService.java | 46 +++-- .../IPlayClerkDataReviewInfoService.java | 6 +- .../service/IPlayClerkLevelInfoService.java | 6 +- .../service/IPlayClerkUserInfoService.java | 13 +- ...layClerkClassificationInfoServiceImpl.java | 10 +- .../impl/PlayClerkCommodityServiceImpl.java | 51 ++--- .../PlayClerkDataReviewInfoServiceImpl.java | 10 +- .../impl/PlayClerkLevelInfoServiceImpl.java | 8 +- .../impl/PlayClerkUserInfoServiceImpl.java | 35 ++-- .../mapper/PlayClearServiceMapper.java | 17 -- .../mapper/PlayClerkServiceMapper.java | 17 ++ ...ntity.java => PlayClerkServiceEntity.java} | 6 +- .../service/IPlayClearServiceService.java | 84 -------- .../service/IPlayClerkServiceService.java | 84 ++++++++ ....java => PlayClerkServiceServiceImpl.java} | 78 ++++---- .../PlayCustomLeaveMsgController.java | 79 ++++++++ .../mapper/PlayCustomLeaveMsgMapper.java | 16 ++ .../entity/PlayCustomLeaveMsgEntity.java | 56 ++++++ .../module/vo/PlayCustomLeaveMsgQueryVo.java | 12 ++ .../module/vo/PlayCustomLeaveMsgReturnVo.java | 56 ++++++ .../service/IPlayCustomLeaveMsgService.java | 72 +++++++ .../impl/PlayCustomLeaveMsgServiceImpl.java | 113 +++++++++++ .../impl/PlayCustomUserInfoServiceImpl.java | 8 +- .../PlayCustomFollowInfoController.java | 18 +- .../mapper/PlayCustomFollowInfoMapper.java | 2 +- .../entity/PlayCustomFollowInfoEntity.java | 4 +- .../service/IPlayCustomFollowInfoService.java | 38 ++-- .../impl/PlayCustomFollowInfoServiceImpl.java | 40 ++-- .../gift/module/constant/GiftConstant.java | 24 +++ .../service/impl/PlayGiftInfoServiceImpl.java | 7 +- .../PlayOrderComplaintInfoController.java | 79 ++++++++ .../PlayOrderEvaluateInfoController.java | 95 +++++++++ .../controller/PlayOrderInfoController.java | 119 +---------- .../mapper/PlayOrderComplaintInfoMapper.java | 16 ++ .../mapper/PlayOrderEvaluateInfoMapper.java | 16 ++ .../order/module/constant/OrderConstant.java | 44 ++++ .../entity/PlayOrderComplaintInfoEntity.java | 73 +++++++ .../entity/PlayOrderEvaluateInfoEntity.java | 78 ++++++++ .../module/entity/PlayOrderInfoEntity.java | 35 +++- .../order/module/vo/OrderInfoAddVo.java | 6 +- .../order/module/vo/OrderInfoRewardVo.java | 50 ----- .../module/vo/PlayOrderComplaintQueryVo.java | 18 ++ .../module/vo/PlayOrderComplaintReturnVo.java | 81 ++++++++ .../module/vo/PlayOrderEvaluateEditVo.java | 24 +++ .../module/vo/PlayOrderEvaluateQueryVo.java | 16 ++ .../module/vo/PlayOrderEvaluateReturnVo.java | 85 ++++++++ ...QueryVo.java => PlayOrderInfoQueryVo.java} | 17 +- .../module/vo/PlayOrderInfoReturnVo.java | 119 +++++++++++ .../module/vo/PlayOrderRewardReturnVo.java | 13 +- .../IPlayOrderComplaintInfoService.java | 74 +++++++ .../IPlayOrderEvaluateInfoService.java | 73 +++++++ .../order/service/IPlayOrderInfoService.java | 21 +- .../PlayOrderComplaintInfoServiceImpl.java | 121 +++++++++++ .../PlayOrderEvaluateInfoServiceImpl.java | 119 +++++++++++ .../impl/PlayOrderInfoServiceImpl.java | 83 ++++++-- .../platform/entity/SysTenantEntity.java | 17 +- .../service/impl/SysTenantServiceImpl.java | 7 +- .../modules/platform/vo/SysTenantAddVo.java | 11 +- .../PlayResourcesInfoController.java | 20 +- .../play/mapper/PlayResourcesInfoMapper.java | 2 +- .../entity/PlayResourcesInfoEntity.java | 6 +- .../module/vo/PlayResourcesInfoAddVo.java | 4 +- .../module/vo/PlayResourcesInfoReviewVo.java | 2 +- .../play/module/vo/PlayUserInfoAddVo.java | 2 +- .../play/module/vo/PlayUserInfoUpEditVo.java | 2 +- .../play/module/vo/PlayUserInfoUpdateVo.java | 2 +- .../service/IPlayResourcesInfoService.java | 32 +-- .../impl/PlayResourcesInfoServiceImpl.java | 30 +-- .../weichat/controller/WxClerkController.java | 75 ++++--- .../controller/WxCommodityController.java | 11 +- .../controller/WxCommonController.java | 24 +-- .../controller/WxCustomController.java | 188 ++++++++++-------- .../weichat/controller/WxOauthController.java | 78 ++++---- .../weichat/controller/WxPlayController.java | 121 +++++++---- ...a.java => PlayClerkCommodityTreeData.java} | 14 +- .../entity/PlayClerkFollowStateUpdate.java | 4 +- .../entity/PlayClerkUserLoginResponseVo.java | 6 +- .../entity/PlayOrderInfoCommodityAdd.java | 14 +- .../weichat/entity/PlayOrderInfoGiftAdd.java | 13 +- .../entity/PlayOrderInfoRandomAdd.java | 69 +++++++ .../entity/PlayOrderInfoRewardAdd.java | 3 +- .../modules/weichat/entity/WxPayReturnVo.java | 31 +++ .../weichat/service/WxOauthService.java | 15 +- .../modules/weichat/utils/WxFileUtils.java | 26 ++- .../com/starry/admin/utils/MoneyUtils.java | 3 +- play-admin/src/main/resources/application.yml | 4 + pom.xml | 13 +- 138 files changed, 2861 insertions(+), 1179 deletions(-) rename play-admin/src/main/java/com/starry/admin/common/play/wx/{WxPlayUtils.java => WxCustomPayUtils.java} (83%) rename play-admin/src/main/java/com/starry/admin/modules/{clear => clerk}/controller/PlayClerkClassificationInfoController.java (93%) rename play-admin/src/main/java/com/starry/admin/modules/{clear => clerk}/controller/PlayClerkCommodityController.java (76%) rename play-admin/src/main/java/com/starry/admin/modules/{clear => clerk}/controller/PlayClerkDataReviewInfoController.java (87%) rename play-admin/src/main/java/com/starry/admin/modules/{clear => clerk}/controller/PlayClerkLevelInfoController.java (89%) rename play-admin/src/main/java/com/starry/admin/modules/{clear => clerk}/controller/PlayClerkUserInfoController.java (82%) rename play-admin/src/main/java/com/starry/admin/modules/{clear => clerk}/mapper/PlayClerkClassificationInfoMapper.java (70%) rename play-admin/src/main/java/com/starry/admin/modules/{clear => clerk}/mapper/PlayClerkCommodityMapper.java (59%) rename play-admin/src/main/java/com/starry/admin/modules/{clear => clerk}/mapper/PlayClerkDataReviewInfoMapper.java (70%) rename play-admin/src/main/java/com/starry/admin/modules/{clear => clerk}/mapper/PlayClerkLevelInfoMapper.java (68%) rename play-admin/src/main/java/com/starry/admin/modules/{clear => clerk}/mapper/PlayClerkUserInfoMapper.java (67%) rename play-admin/src/main/java/com/starry/admin/modules/{clear => clerk}/module/entity/PlayClerkClassificationInfoEntity.java (92%) rename play-admin/src/main/java/com/starry/admin/modules/{clear => clerk}/module/entity/PlayClerkCommodityEntity.java (91%) rename play-admin/src/main/java/com/starry/admin/modules/{clear => clerk}/module/entity/PlayClerkDataReviewInfoEditVo.java (91%) rename play-admin/src/main/java/com/starry/admin/modules/{clear => clerk}/module/entity/PlayClerkDataReviewInfoEntity.java (91%) rename play-admin/src/main/java/com/starry/admin/modules/{clear => clerk}/module/entity/PlayClerkDataReviewInfoQueryVo.java (94%) rename play-admin/src/main/java/com/starry/admin/modules/{clear => clerk}/module/entity/PlayClerkLevelInfoEntity.java (94%) rename play-admin/src/main/java/com/starry/admin/modules/{clear => clerk}/module/entity/PlayClerkUserDetailResultVo.java (93%) rename play-admin/src/main/java/com/starry/admin/modules/{clear/module/entity/PlayClarkUserEvaluateInfoEntity.java => clerk/module/entity/PlayClerkUserEvaluateInfoEntity.java} (79%) rename play-admin/src/main/java/com/starry/admin/modules/{clear => clerk}/module/entity/PlayClerkUserInfoEntity.java (92%) rename play-admin/src/main/java/com/starry/admin/modules/{clear => clerk}/module/entity/PlayClerkUserInfoQueryVo.java (89%) rename play-admin/src/main/java/com/starry/admin/modules/{clear => clerk}/module/entity/PlayClerkUserListResultVo.java (96%) rename play-admin/src/main/java/com/starry/admin/modules/{clear/module/entity/PlayClarkUserTrendsInfoEntity.java => clerk/module/entity/PlayClerkUserTrendsInfoEntity.java} (72%) rename play-admin/src/main/java/com/starry/admin/modules/{clear => clerk}/module/entity/PlayGiftInfoVo.java (90%) rename play-admin/src/main/java/com/starry/admin/modules/{clear => clerk}/module/vo/PlayClerkCommodityEditVo.java (87%) rename play-admin/src/main/java/com/starry/admin/modules/{clear => clerk}/module/vo/PlayClerkCommodityQueryVo.java (77%) rename play-admin/src/main/java/com/starry/admin/modules/{clear => clerk}/module/vo/PlayClerkLevelAddVo.java (91%) rename play-admin/src/main/java/com/starry/admin/modules/{clear => clerk}/module/vo/PlayClerkLevelEditVo.java (92%) rename play-admin/src/main/java/com/starry/admin/modules/{clear => clerk}/module/vo/PlayClerkLevelQueryReturnVo.java (63%) rename play-admin/src/main/java/com/starry/admin/modules/{clear => clerk}/module/vo/PlayClerkUserAddToWxVo.java (95%) rename play-admin/src/main/java/com/starry/admin/modules/{clear => clerk}/module/vo/PlayClerkUserAddVo.java (95%) rename play-admin/src/main/java/com/starry/admin/modules/{clear => clerk}/module/vo/PlayClerkUserEditVo.java (95%) rename play-admin/src/main/java/com/starry/admin/modules/{clear => clerk}/module/vo/PlayClerkUserStateEditVo.java (93%) rename play-admin/src/main/java/com/starry/admin/modules/{clear => clerk}/service/IPlayClerkClassificationInfoService.java (94%) rename play-admin/src/main/java/com/starry/admin/modules/{clear => clerk}/service/IPlayClerkCommodityService.java (67%) rename play-admin/src/main/java/com/starry/admin/modules/{clear => clerk}/service/IPlayClerkDataReviewInfoService.java (91%) rename play-admin/src/main/java/com/starry/admin/modules/{clear => clerk}/service/IPlayClerkLevelInfoService.java (92%) rename play-admin/src/main/java/com/starry/admin/modules/{clear => clerk}/service/IPlayClerkUserInfoService.java (87%) rename play-admin/src/main/java/com/starry/admin/modules/{clear => clerk}/service/impl/PlayClerkClassificationInfoServiceImpl.java (91%) rename play-admin/src/main/java/com/starry/admin/modules/{clear => clerk}/service/impl/PlayClerkCommodityServiceImpl.java (79%) rename play-admin/src/main/java/com/starry/admin/modules/{clear => clerk}/service/impl/PlayClerkDataReviewInfoServiceImpl.java (93%) rename play-admin/src/main/java/com/starry/admin/modules/{clear => clerk}/service/impl/PlayClerkLevelInfoServiceImpl.java (94%) rename play-admin/src/main/java/com/starry/admin/modules/{clear => clerk}/service/impl/PlayClerkUserInfoServiceImpl.java (88%) delete mode 100644 play-admin/src/main/java/com/starry/admin/modules/commodity/mapper/PlayClearServiceMapper.java create mode 100644 play-admin/src/main/java/com/starry/admin/modules/commodity/mapper/PlayClerkServiceMapper.java rename play-admin/src/main/java/com/starry/admin/modules/commodity/module/entity/{PlayClearServiceEntity.java => PlayClerkServiceEntity.java} (82%) delete mode 100644 play-admin/src/main/java/com/starry/admin/modules/commodity/service/IPlayClearServiceService.java create mode 100644 play-admin/src/main/java/com/starry/admin/modules/commodity/service/IPlayClerkServiceService.java rename play-admin/src/main/java/com/starry/admin/modules/commodity/service/impl/{PlayClearServiceServiceImpl.java => PlayClerkServiceServiceImpl.java} (50%) create mode 100644 play-admin/src/main/java/com/starry/admin/modules/custom/controller/PlayCustomLeaveMsgController.java create mode 100644 play-admin/src/main/java/com/starry/admin/modules/custom/mapper/PlayCustomLeaveMsgMapper.java create mode 100644 play-admin/src/main/java/com/starry/admin/modules/custom/module/entity/PlayCustomLeaveMsgEntity.java create mode 100644 play-admin/src/main/java/com/starry/admin/modules/custom/module/vo/PlayCustomLeaveMsgQueryVo.java create mode 100644 play-admin/src/main/java/com/starry/admin/modules/custom/module/vo/PlayCustomLeaveMsgReturnVo.java create mode 100644 play-admin/src/main/java/com/starry/admin/modules/custom/service/IPlayCustomLeaveMsgService.java create mode 100644 play-admin/src/main/java/com/starry/admin/modules/custom/service/impl/PlayCustomLeaveMsgServiceImpl.java create mode 100644 play-admin/src/main/java/com/starry/admin/modules/gift/module/constant/GiftConstant.java create mode 100644 play-admin/src/main/java/com/starry/admin/modules/order/controller/PlayOrderComplaintInfoController.java create mode 100644 play-admin/src/main/java/com/starry/admin/modules/order/controller/PlayOrderEvaluateInfoController.java create mode 100644 play-admin/src/main/java/com/starry/admin/modules/order/mapper/PlayOrderComplaintInfoMapper.java create mode 100644 play-admin/src/main/java/com/starry/admin/modules/order/mapper/PlayOrderEvaluateInfoMapper.java create mode 100644 play-admin/src/main/java/com/starry/admin/modules/order/module/constant/OrderConstant.java create mode 100644 play-admin/src/main/java/com/starry/admin/modules/order/module/entity/PlayOrderComplaintInfoEntity.java create mode 100644 play-admin/src/main/java/com/starry/admin/modules/order/module/entity/PlayOrderEvaluateInfoEntity.java delete mode 100644 play-admin/src/main/java/com/starry/admin/modules/order/module/vo/OrderInfoRewardVo.java create mode 100644 play-admin/src/main/java/com/starry/admin/modules/order/module/vo/PlayOrderComplaintQueryVo.java create mode 100644 play-admin/src/main/java/com/starry/admin/modules/order/module/vo/PlayOrderComplaintReturnVo.java create mode 100644 play-admin/src/main/java/com/starry/admin/modules/order/module/vo/PlayOrderEvaluateEditVo.java create mode 100644 play-admin/src/main/java/com/starry/admin/modules/order/module/vo/PlayOrderEvaluateQueryVo.java create mode 100644 play-admin/src/main/java/com/starry/admin/modules/order/module/vo/PlayOrderEvaluateReturnVo.java rename play-admin/src/main/java/com/starry/admin/modules/order/module/vo/{OrderInfoQueryVo.java => PlayOrderInfoQueryVo.java} (79%) create mode 100644 play-admin/src/main/java/com/starry/admin/modules/order/module/vo/PlayOrderInfoReturnVo.java create mode 100644 play-admin/src/main/java/com/starry/admin/modules/order/service/IPlayOrderComplaintInfoService.java create mode 100644 play-admin/src/main/java/com/starry/admin/modules/order/service/IPlayOrderEvaluateInfoService.java create mode 100644 play-admin/src/main/java/com/starry/admin/modules/order/service/impl/PlayOrderComplaintInfoServiceImpl.java create mode 100644 play-admin/src/main/java/com/starry/admin/modules/order/service/impl/PlayOrderEvaluateInfoServiceImpl.java rename play-admin/src/main/java/com/starry/admin/modules/weichat/entity/{PlayClarkCommodityTreeData.java => PlayClerkCommodityTreeData.java} (61%) create mode 100644 play-admin/src/main/java/com/starry/admin/modules/weichat/entity/PlayOrderInfoRandomAdd.java create mode 100644 play-admin/src/main/java/com/starry/admin/modules/weichat/entity/WxPayReturnVo.java diff --git a/play-admin/pom.xml b/play-admin/pom.xml index b117866..72f433a 100644 --- a/play-admin/pom.xml +++ b/play-admin/pom.xml @@ -73,22 +73,6 @@ aliyun-sdk-oss - - - - - - - - - - - - - - - - com.github.binarywang wx-java-mp-spring-boot-starter @@ -103,19 +87,11 @@ ws.schild jave-core - 3.5.0 - - - ws.schild - jave-native-win64 - 2.4.6 - ws.schild - jave-native-linux64 - 2.4.6 + jave-nativebin-linux64 diff --git a/play-admin/src/main/java/com/starry/admin/common/aspect/ClerkUserLogin.java b/play-admin/src/main/java/com/starry/admin/common/aspect/ClerkUserLogin.java index 744fd62..bc16c0a 100644 --- a/play-admin/src/main/java/com/starry/admin/common/aspect/ClerkUserLogin.java +++ b/play-admin/src/main/java/com/starry/admin/common/aspect/ClerkUserLogin.java @@ -3,7 +3,7 @@ package com.starry.admin.common.aspect; import java.lang.annotation.*; /** - * 陪玩登录注解 + * 陪聊登录注解 * * @author ruoyi */ diff --git a/play-admin/src/main/java/com/starry/admin/common/aspect/ClerkUserLoginAspect.java b/play-admin/src/main/java/com/starry/admin/common/aspect/ClerkUserLoginAspect.java index d02ad63..329b053 100644 --- a/play-admin/src/main/java/com/starry/admin/common/aspect/ClerkUserLoginAspect.java +++ b/play-admin/src/main/java/com/starry/admin/common/aspect/ClerkUserLoginAspect.java @@ -2,8 +2,8 @@ package com.starry.admin.common.aspect; import com.starry.admin.common.conf.ThreadLocalRequestDetail; import com.starry.admin.common.exception.ServiceException; -import com.starry.admin.modules.clear.module.entity.PlayClerkUserInfoEntity; -import com.starry.admin.modules.clear.service.impl.PlayClerkUserInfoServiceImpl; +import com.starry.admin.modules.clerk.module.entity.PlayClerkUserInfoEntity; +import com.starry.admin.modules.clerk.service.impl.PlayClerkUserInfoServiceImpl; import com.starry.admin.modules.weichat.service.WxTokenService; import com.starry.common.constant.Constants; import com.starry.common.constant.HttpStatus; diff --git a/play-admin/src/main/java/com/starry/admin/common/conf/ThreadLocalRequestDetail.java b/play-admin/src/main/java/com/starry/admin/common/conf/ThreadLocalRequestDetail.java index 5ee8e1d..c2bc89b 100644 --- a/play-admin/src/main/java/com/starry/admin/common/conf/ThreadLocalRequestDetail.java +++ b/play-admin/src/main/java/com/starry/admin/common/conf/ThreadLocalRequestDetail.java @@ -1,7 +1,7 @@ package com.starry.admin.common.conf; import com.alibaba.ttl.TransmittableThreadLocal; -import com.starry.admin.modules.clear.module.entity.PlayClerkUserInfoEntity; +import com.starry.admin.modules.clerk.module.entity.PlayClerkUserInfoEntity; import com.starry.admin.modules.custom.module.entity.PlayCustomUserInfoEntity; /** @@ -9,35 +9,35 @@ import com.starry.admin.modules.custom.module.entity.PlayCustomUserInfoEntity; * @since : 2024/4/2 12:10 AM */ public class ThreadLocalRequestDetail { - private static final TransmittableThreadLocal threadLocal = new TransmittableThreadLocal<>(); + private static final TransmittableThreadLocal THREAD_LOCAL = new TransmittableThreadLocal<>(); /** * 设置请求信息到当前线程中 */ public static void setRequestDetail(Object data) { - threadLocal.set(data); + THREAD_LOCAL.set(data); } /** * 从当前线程中获取请求信息 */ public static Object getRequestDetail() { - return threadLocal.get(); + return THREAD_LOCAL.get(); } public static PlayClerkUserInfoEntity getClerkUserInfo() { - return (PlayClerkUserInfoEntity) threadLocal.get(); + return (PlayClerkUserInfoEntity) THREAD_LOCAL.get(); } public static PlayCustomUserInfoEntity getCustomUserInfo() { - return (PlayCustomUserInfoEntity) threadLocal.get(); + return (PlayCustomUserInfoEntity) THREAD_LOCAL.get(); } /** * 销毁 */ public static void remove() { - threadLocal.remove(); + THREAD_LOCAL.remove(); } } diff --git a/play-admin/src/main/java/com/starry/admin/common/play/wx/HttpUtils.java b/play-admin/src/main/java/com/starry/admin/common/play/wx/HttpUtils.java index d9cbf9b..8117ff9 100644 --- a/play-admin/src/main/java/com/starry/admin/common/play/wx/HttpUtils.java +++ b/play-admin/src/main/java/com/starry/admin/common/play/wx/HttpUtils.java @@ -77,29 +77,6 @@ public class HttpUtils { return null; } -// /** -// * 向指定 URL 发送POST方法的请求 -// * -// * @param url 发送请求的 URL -// * @param param 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。 -// * @return 所代表远程资源的响应结果 -// */ -// public static String sendPost(String url, String param) { -// URLConnection conn = getConnection(url); -// StringBuilder result = new StringBuilder(); -// try (PrintWriter out = new PrintWriter(conn.getOutputStream()); BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()))) { -// out.print(param); -// out.flush(); -// String line; -// while ((line = in.readLine()) != null) { -// result.append(line); -// } -// } catch (Exception e) { -// log.error("sendPost error", e); -// } -// return result.toString(); -// } - public static String sendPost(String requestUrl, String outputStr) throws IOException { HttpURLConnection conn = getConnection(requestUrl); diff --git a/play-admin/src/main/java/com/starry/admin/common/play/wx/WeChatConstants.java b/play-admin/src/main/java/com/starry/admin/common/play/wx/WeChatConstants.java index 710a4d2..c819f0b 100644 --- a/play-admin/src/main/java/com/starry/admin/common/play/wx/WeChatConstants.java +++ b/play-admin/src/main/java/com/starry/admin/common/play/wx/WeChatConstants.java @@ -1,5 +1,10 @@ package com.starry.admin.common.play.wx; +/** + * 位置支付常量 + * + * @author admin + */ public class WeChatConstants { public enum SignType { @@ -11,7 +16,7 @@ public class WeChatConstants { /** * 支付成功回调地址 */ - public static String NOTIFY_URL = "http://8.142.116.233:8001/pay/wxpay/callback"; + public static String NOTIFY_URL = "https://july.hucs.top/api/wx/pay/jsCallback"; /** @@ -22,8 +27,8 @@ public class WeChatConstants { /** * 微信 trade_type 参数 */ - public static final String TRADE_TYPE_JSAPI = "JSAPI";//JSAPI支付 例如 : 直接调用微信支付 - public static final String TRADE_TYPE_NATIVE = "NATIVE";//Native支付 例如 : 扫码支付 + public static final String TRADE_TYPE_JSAPI = "JSAPI";// JSAPI支付 例如 : 直接调用微信支付 + public static final String TRADE_TYPE_NATIVE = "NATIVE";// Native支付 例如 : 扫码支付 /** * 统一下单 diff --git a/play-admin/src/main/java/com/starry/admin/common/play/wx/WxPlayUtils.java b/play-admin/src/main/java/com/starry/admin/common/play/wx/WxCustomPayUtils.java similarity index 83% rename from play-admin/src/main/java/com/starry/admin/common/play/wx/WxPlayUtils.java rename to play-admin/src/main/java/com/starry/admin/common/play/wx/WxCustomPayUtils.java index cf446ff..fc4dfdf 100644 --- a/play-admin/src/main/java/com/starry/admin/common/play/wx/WxPlayUtils.java +++ b/play-admin/src/main/java/com/starry/admin/common/play/wx/WxCustomPayUtils.java @@ -1,8 +1,10 @@ package com.starry.admin.common.play.wx; import cn.hutool.core.util.IdUtil; +import cn.hutool.crypto.digest.MD5; import com.github.wxpay.sdk.WXPayUtil; import com.starry.admin.common.exception.CustomException; +import com.starry.common.utils.StringUtils; import lombok.extern.slf4j.Slf4j; import org.w3c.dom.Document; import org.w3c.dom.Element; @@ -22,13 +24,17 @@ import java.io.InputStream; import java.io.StringWriter; import java.nio.charset.StandardCharsets; import java.security.InvalidKeyException; -import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.security.SecureRandom; import java.util.*; +/** + * 微信支付辅助类 + * + * @author admin + */ @Slf4j -public class WxPlayUtils { +public class WxCustomPayUtils { private static final String SYMBOLS = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; @@ -36,45 +42,52 @@ public class WxPlayUtils { /** + * 获取微信支付请求参数(map格式) + * * @param openId 微信公众号ID * @param appid 用户ID * @param mchId 商户ID * @param orderId 订单ID + * @param nonceStr 订单ID * @param spBillCreateIp 终端设备ID * @param body 商品描述 * @param totalFee 商品金额 * @param attach 附加数据,在查询API和支付通知中原样返回,可作为自定义参数使用(传入租户ID) - * @return - * @throws Exception */ - public static String unifiedOrderJSAPI(String openId, String appid, String mchId, String orderId, String spBillCreateIp, String body, String attach, int totalFee) throws Exception { - Map playRequestParameters = new HashMap<>(); + public static Map getPayRequestParameters(String openId, String appid, String mchId, String orderId, String nonceStr, String spBillCreateIp, String body, String attach, long totalFee) { + Map playRequestParameters = new HashMap<>(16); + playRequestParameters.put("openId", openId); playRequestParameters.put("appid", appid); playRequestParameters.put("mch_id", mchId); - playRequestParameters.put("nonce_str", IdUtil.fastSimpleUUID()); + playRequestParameters.put("nonce_str", nonceStr); playRequestParameters.put("body", body); playRequestParameters.put("attach", attach); playRequestParameters.put("out_trade_no", orderId); playRequestParameters.put("total_fee", String.valueOf(totalFee)); playRequestParameters.put("spbill_create_ip", spBillCreateIp); - playRequestParameters.put("notify_url", WxPlayProperties.RETURN_URL); + playRequestParameters.put("notify_url", WeChatConstants.NOTIFY_URL); playRequestParameters.put("trade_type", "JSAPI"); - playRequestParameters.put("openId", openId); - String nonce_str = IdUtil.fastSimpleUUID(); - //生成签名, 统一下单 - log.debug("paraMap------------{}", playRequestParameters); - String sign = WXPayUtil.generateSignature(playRequestParameters, orderId); - log.debug("sign:{}", sign); - playRequestParameters.put("sign", sign); - String xml = WXPayUtil.mapToXml(playRequestParameters);//将所有参数(map)转xml格式 - String new_xml = new String(xml.getBytes(StandardCharsets.UTF_8)); - log.debug("xml:{}", new_xml); - //发送post请求"统一下单接口"返回预支付id:prepay_id - String xmlStr = HttpUtils.sendPost(WeChatConstants.UNIFIEDORDER_URL, generateSignedXml(playRequestParameters, orderId)); -// String xmlStr = HttpUtils.sendPost(WeChatConstants.UNIFIEDORDER_URL, generateSignedXml(playRequestParameters, orderId)); - log.debug("xmlStr:{}", xmlStr); - Map map = WXPayUtil.xmlToMap(xmlStr); + return playRequestParameters; + } + /** + * @param playRequestParameters 微信支付请求参数 + * @param orderId 订单ID + * @param sign 签名信息 + */ + public static String unifiedOrderJsApi(Map playRequestParameters, String orderId, String sign) throws Exception { + playRequestParameters.put("sign", sign); + // 将所有参数(map)转xml格式 + String xml = WXPayUtil.mapToXml(playRequestParameters); + String newXml = new String(xml.getBytes(StandardCharsets.UTF_8)); + log.error("xml:{}", newXml); + // 发送post请求"统一下单接口"返回预支付id:prepay_id + String xmlStr = HttpUtils.sendPost(WeChatConstants.UNIFIEDORDER_URL, newXml); + log.info("xmlStr:{}", xmlStr); + if (StringUtils.isBlank(xmlStr)) { + throw new CustomException("微信支付返回信息为空"); + } + Map map = WXPayUtil.xmlToMap(xmlStr); // 如果预支付返回状态码为不为SUCCESS,说明预支付接口调用失败(通讯业务失败),抛出异常,业务进行处理 if (!map.get("return_code").equals("SUCCESS")) { throw new CustomException(map.get("return_msg")); @@ -97,16 +110,16 @@ public class WxPlayUtils { * @throws Exception */ public static Map orderQuery(String wechat_appid, String wechat_mchid, String wechat_seckey, String out_trade_no) throws Exception { - //拼接 参数 + // 拼接 参数 Map paraMap = new HashMap(); paraMap.put("appid", wechat_appid); paraMap.put("mch_id", wechat_mchid); paraMap.put("nonce_str", IdUtil.fastSimpleUUID()); - paraMap.put("out_trade_no", out_trade_no);//订单号 + paraMap.put("out_trade_no", out_trade_no);// 订单号 String sign = WXPayUtil.generateSignature(paraMap, wechat_seckey); paraMap.put("sign", sign); - String xml = WXPayUtil.mapToXml(paraMap);//将所有参数(map)转xml格式 - String xmlStr = HttpUtils.sendPost(WeChatConstants.ORDERQUERY_URL, xml);//发送post请求"统一下单接口"返回预支付id:prepay_id + String xml = WXPayUtil.mapToXml(paraMap);// 将所有参数(map)转xml格式 + String xmlStr = HttpUtils.sendPost(WeChatConstants.ORDERQUERY_URL, xml);// 发送post请求"统一下单接口"返回预支付id:prepay_id return WXPayUtil.xmlToMap(xmlStr); } @@ -286,7 +299,7 @@ public class WxPlayUtils { } sb.append("key=").append(key); if (WeChatConstants.SignType.MD5.equals(signType)) { - return MD5(sb.toString()).toUpperCase(); + return MD5.create().digestHex(sb.toString()).toUpperCase(); } else if (WeChatConstants.SignType.HMACSHA256.equals(signType)) { return HmacSHA256(sb.toString(), key); } else { @@ -309,21 +322,21 @@ public class WxPlayUtils { } - /** - * 生成 MD5 - * - * @param data 待处理数据 - * @return MD5结果 - */ - public static String MD5(String data) throws Exception { - MessageDigest md = MessageDigest.getInstance("MD5"); - byte[] array = md.digest(data.getBytes(StandardCharsets.UTF_8)); - StringBuilder sb = new StringBuilder(); - for (byte item : array) { - sb.append(Integer.toHexString((item & 0xFF) | 0x100), 1, 3); - } - return sb.toString().toUpperCase(); - } +// /** +// * 生成 MD5 +// * +// * @param data 待处理数据 +// * @return MD5结果 +// */ +// public static String MD5(String data) throws Exception { +// MessageDigest md = MessageDigest.getInstance("MD5"); +// byte[] array = md.digest(data.getBytes(StandardCharsets.UTF_8)); +// StringBuilder sb = new StringBuilder(); +// for (byte item : array) { +// sb.append(Integer.toHexString((item & 0xFF) | 0x100), 1, 3); +// } +// return sb.toString().toUpperCase(); +// } /** * 生成 HmacSHA256 @@ -351,4 +364,5 @@ public class WxPlayUtils { public static long getCurrentTimestamp() { return System.currentTimeMillis() / 1000; } + } diff --git a/play-admin/src/main/java/com/starry/admin/common/security/filter/JwtAuthenticationTokenFilter.java b/play-admin/src/main/java/com/starry/admin/common/security/filter/JwtAuthenticationTokenFilter.java index 47b2db4..c3e8128 100644 --- a/play-admin/src/main/java/com/starry/admin/common/security/filter/JwtAuthenticationTokenFilter.java +++ b/play-admin/src/main/java/com/starry/admin/common/security/filter/JwtAuthenticationTokenFilter.java @@ -2,11 +2,12 @@ package com.starry.admin.common.security.filter; import cn.hutool.core.util.StrUtil; +import cn.hutool.json.JSONUtil; import com.starry.admin.common.component.JwtToken; import com.starry.admin.common.domain.LoginUser; import com.starry.admin.common.exception.CustomException; -import com.starry.admin.modules.clear.module.entity.PlayClerkUserInfoEntity; -import com.starry.admin.modules.clear.service.impl.PlayClerkUserInfoServiceImpl; +import com.starry.admin.modules.clerk.module.entity.PlayClerkUserInfoEntity; +import com.starry.admin.modules.clerk.service.impl.PlayClerkUserInfoServiceImpl; import com.starry.admin.modules.custom.module.entity.PlayCustomUserInfoEntity; import com.starry.admin.modules.custom.service.impl.PlayCustomUserInfoServiceImpl; import com.starry.admin.modules.platform.entity.SysTenantEntity; @@ -15,6 +16,8 @@ import com.starry.admin.modules.weichat.service.WxTokenService; import com.starry.admin.utils.SecurityUtils; import com.starry.common.constant.Constants; import com.starry.common.redis.RedisCache; +import com.starry.common.result.R; +import com.starry.common.result.ResultCodeEnum; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; @@ -25,11 +28,14 @@ import org.springframework.web.servlet.HandlerExceptionResolver; import javax.annotation.Resource; import javax.servlet.FilterChain; +import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.validation.constraints.NotNull; -import java.util.HashMap; -import java.util.Map; +import java.io.IOException; +import java.util.Arrays; +import java.util.HashSet; +import java.util.Set; /** * @author admin @@ -62,105 +68,116 @@ public class JwtAuthenticationTokenFilter extends OncePerRequestFilter { private RedisCache redisCache; + /** + * 不需要登录的的路径 + */ + Set noLoginPathRequired = new HashSet<>(Arrays.asList("/wx/common/area/tree", "/wx/common/file/upload", "/wx/common/audio/upload", "/wx/oauth2/getConfigAddress", "/wx/clerk/user/queryByPage", "wx/clerk/user/queryGiftById", "/wx/clerk/user/queryPriceById", "/wx/clerk/user/queryTrendsById", "wx/clerk/user/queryEvaluateById")); + @Override - protected void doFilterInternal(@NotNull HttpServletRequest httpServletRequest, @NotNull HttpServletResponse httpServletResponse, @NotNull FilterChain filterChain) { + protected void doFilterInternal(@NotNull HttpServletRequest httpServletRequest, @NotNull HttpServletResponse httpServletResponse, @NotNull FilterChain filterChain) throws ServletException, IOException { log.info("url = {}", httpServletRequest.getRequestURI()); - try { - - - // 微信公众号的请求,必须存在tenantkey,否则抛出异常 - if (httpServletRequest.getServletPath().startsWith("/wx/")) { - String tenantKey = httpServletRequest.getHeader("tenantkey"); - if (StrUtil.isBlank(tenantKey)) { - resolver.resolveException(httpServletRequest, httpServletResponse, null, new CustomException("tenantkey不能为空")); + // 微信公众号的请求,必须存在tenantkey,否则抛出异常 + if (httpServletRequest.getServletPath().startsWith("/wx/")) { + String tenantKey = httpServletRequest.getHeader("tenantkey"); + if (StrUtil.isBlank(tenantKey)) { + resolver.resolveException(httpServletRequest, httpServletResponse, null, new CustomException("tenantkey不能为空")); + return; + } + if (noLoginPathRequired.contains(httpServletRequest.getServletPath())) { + //非必须登录的请求,验证租户信息是否正常 + String tenantId; + try { + tenantId = getTenantId(null, null, tenantKey); + } catch (Exception e) { + httpServletResponse.setCharacterEncoding("UTF-8"); + httpServletResponse.setContentType("application/json"); + httpServletResponse.getWriter().println(JSONUtil.parse(R.error(ResultCodeEnum.UNAUTHORIZED.getCode(), ResultCodeEnum.UNAUTHORIZED.getMessage()))); + httpServletResponse.getWriter().flush(); + return; + //返回401‘ + // +// return; +// throw new RuntimeException("token验证失败,需要重新登录"); + } + if (!checkTenantId(tenantId)) { + //返回500 + resolver.resolveException(httpServletRequest, httpServletResponse, null, new CustomException("租户信息异常")); return; } - Map notLoginUrls = new HashMap<>(); - notLoginUrls.put("/wx/common/area/tree", "1"); - notLoginUrls.put("/wx/common/file/upload", "1"); - notLoginUrls.put("/wx/common/audio/upload", "1"); - notLoginUrls.put("/wx/oauth2/getConfigAddress", "1"); - notLoginUrls.put("/clerk/level/queryAll", "1"); - notLoginUrls.put("/wx/clerk/class/queryAll", "1"); - notLoginUrls.put("/wx/clerk/user/queryByPage", "1"); - notLoginUrls.put("/wx/clerk/user/queryGiftById", "1"); - notLoginUrls.put("/wx/clerk/user/queryPriceById", "1"); - notLoginUrls.put("/wx/clerk/user/queryTrendsById", "1"); - notLoginUrls.put("/wx/clerk/user/queryEvaluateById", "1"); - if (notLoginUrls.containsKey(httpServletRequest.getServletPath())) { - String tenantId = getTenantId(null, null, tenantKey); - if (!checkTenantId(tenantId)) { - resolver.resolveException(httpServletRequest, httpServletResponse, null, new CustomException("租户信息异常")); - return; - } - SecurityUtils.setTenantId(tenantId); - } else { - String clerkToken = httpServletRequest.getHeader(Constants.CLERK_USER_LOGIN_TOKEN); - String customToken = httpServletRequest.getHeader(Constants.CUSTOM_USER_LOGIN_TOKEN); - String tenantId = getTenantId(clerkToken, customToken, tenantKey); - if (!checkTenantId(tenantId)) { - resolver.resolveException(httpServletRequest, httpServletResponse, null, new CustomException("租户信息异常")); - return; - } - SecurityUtils.setTenantId(tenantId); - } + SecurityUtils.setTenantId(tenantId); } else { - // 管理端的请求 - LoginUser jwtUser = jwtToken.getNewLoginUser(httpServletRequest); - if (null != jwtUser && null == SecurityContextHolder.getContext().getAuthentication()) { - jwtToken.verifyToken(jwtUser); - UsernamePasswordAuthenticationToken authentication = new UsernamePasswordAuthenticationToken(jwtUser, null, jwtUser.getAuthorities()); - authentication.setDetails(new WebAuthenticationDetailsSource().buildDetails(httpServletRequest)); - SecurityContextHolder.getContext().setAuthentication(authentication); + String clerkToken = httpServletRequest.getHeader(Constants.CLERK_USER_LOGIN_TOKEN); + String customToken = httpServletRequest.getHeader(Constants.CUSTOM_USER_LOGIN_TOKEN); + String tenantId; + try { + tenantId = getTenantId(clerkToken, customToken, tenantKey); + } catch (Exception e) { + httpServletResponse.setCharacterEncoding("UTF-8"); + httpServletResponse.setContentType("application/json"); + httpServletResponse.getWriter().println(JSONUtil.parse(R.error(ResultCodeEnum.UNAUTHORIZED.getCode(), ResultCodeEnum.UNAUTHORIZED.getMessage()))); + httpServletResponse.getWriter().flush(); + //返回401 + return; +// throw new CustomException("token验证失败,需要重新登录"); } + if (!checkTenantId(tenantId)) { + //返回500 + resolver.resolveException(httpServletRequest, httpServletResponse, null, new CustomException("租户信息异常")); + return; + } + SecurityUtils.setTenantId(tenantId); + } + } else { + // 管理端的请求 + LoginUser jwtUser = jwtToken.getNewLoginUser(httpServletRequest); + if (null != jwtUser && null == SecurityContextHolder.getContext().getAuthentication()) { + jwtToken.verifyToken(jwtUser); + UsernamePasswordAuthenticationToken authentication = new UsernamePasswordAuthenticationToken(jwtUser, null, jwtUser.getAuthorities()); + authentication.setDetails(new WebAuthenticationDetailsSource().buildDetails(httpServletRequest)); + SecurityContextHolder.getContext().setAuthentication(authentication); } - filterChain.doFilter(httpServletRequest, httpServletResponse); - } catch (Exception e) { - log.error("系统异常", e); - resolver.resolveException(httpServletRequest, httpServletResponse, null, new CustomException("租户及授权验证失败")); } + filterChain.doFilter(httpServletRequest, httpServletResponse); } /** * 微信公众号端访问时,获取当前用户租户ID - * 如果用户(陪玩或客户)已登录,从token中获取租户ID + * 如果用户(陪聊或客户)已登录,从token中获取租户ID * 如果用户未登录,从tenantKey中获取租户ID * - * @param clerkToken 陪玩登录Key + * @param clerkToken 陪聊登录Key * @param customToken 客户登录key * @param tenantKey 租户标识 */ public String getTenantId(String clerkToken, String customToken, String tenantKey) { String tenantId = ""; - try { - //如果用户(陪玩或客户)已登录,从token中获取租户ID - if (StrUtil.isNotBlank(clerkToken) || StrUtil.isNotBlank(customToken)) { - String userId = tokenService.getWxUserIdByToken(StrUtil.isNotBlank(clerkToken) ? clerkToken : customToken); - String redisKey = "TENANT_INFO:" + userId; - SecurityUtils.setTenantId(redisCache.getCacheObject(redisKey)); - if (clerkToken != null) { - PlayClerkUserInfoEntity entity = clerkUserInfoService.selectById(userId); - if (entity == null) { - log.error("当前登录陪玩不存在,clerkToken={},tenantKey={}", clerkToken, tenantKey); - } - tenantId = entity != null ? entity.getTenantId() : ""; - } else { - PlayCustomUserInfoEntity entity = customUserInfoService.selectById(userId); - if (entity == null) { - log.error("当前登录顾客不存在,customToken={},tenantKey={}", customToken, tenantKey); - } - tenantId = entity != null ? entity.getTenantId() : ""; + //如果用户(陪聊或客户)已登录,从token中获取租户ID + if (StrUtil.isNotBlank(clerkToken) || StrUtil.isNotBlank(customToken)) { + String userId = tokenService.getWxUserIdByToken(StrUtil.isNotBlank(clerkToken) ? clerkToken : customToken); + String redisKey = "TENANT_INFO:" + userId; + SecurityUtils.setTenantId(redisCache.getCacheObject(redisKey)); + if (clerkToken != null) { + PlayClerkUserInfoEntity entity = clerkUserInfoService.selectById(userId); + if (entity == null) { + log.error("当前登录陪聊不存在,clerkToken={},tenantKey={}", clerkToken, tenantKey); + throw new CustomException("用户不存在"); } + return entity.getTenantId(); } else { - // 如果用户未登录,从tenantKey中获取租户ID,然后验证租户ID是否存在,以及租户是否过期等 - SysTenantEntity entity = sysTenantService.selectByTenantKey(tenantKey); - if (entity != null) { - tenantId = entity.getTenantId(); + PlayCustomUserInfoEntity entity = customUserInfoService.selectById(userId); + if (entity == null) { + log.error("当前登录顾客不存在,customToken={},tenantKey={}", customToken, tenantKey); + throw new CustomException("用户不存在"); } + return entity.getTenantId(); + } + } else { + // 如果用户未登录,从tenantKey中获取租户ID,然后验证租户ID是否存在,以及租户是否过期等 + SysTenantEntity entity = sysTenantService.selectByTenantKey(tenantKey); + if (entity != null) { + return entity.getTenantId(); } - } catch (Exception e) { - log.error("获取tenantKey异常,clerkToken={},customToken={},tenantKey = {}", clerkToken, customToken, tenantKey, e); } return tenantId; } diff --git a/play-admin/src/main/java/com/starry/admin/modules/article/controller/PlayCustomArticleInfoController.java b/play-admin/src/main/java/com/starry/admin/modules/article/controller/PlayCustomArticleInfoController.java index 5d48dd6..8f09cd1 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/article/controller/PlayCustomArticleInfoController.java +++ b/play-admin/src/main/java/com/starry/admin/modules/article/controller/PlayCustomArticleInfoController.java @@ -12,7 +12,7 @@ import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; /** - * 陪玩点赞动态信息Controller + * 陪聊点赞动态信息Controller * * @author admin * @since 2024-05-04 @@ -24,7 +24,7 @@ public class PlayCustomArticleInfoController { private IPlayCustomArticleInfoService playCustomArticleInfoService; /** - * 查询陪玩点赞动态信息列表 + * 查询陪聊点赞动态信息列表 */ @PreAuthorize("@customSs.hasPermission('play:info:list')") @GetMapping("/list") @@ -34,7 +34,7 @@ public class PlayCustomArticleInfoController { } /** - * 获取陪玩点赞动态信息详细信息 + * 获取陪聊点赞动态信息详细信息 */ @PreAuthorize("@customSs.hasPermission('play:info:query')") @GetMapping(value = "/{id}") @@ -43,10 +43,10 @@ public class PlayCustomArticleInfoController { } /** - * 新增陪玩点赞动态信息 + * 新增陪聊点赞动态信息 */ @PreAuthorize("@customSs.hasPermission('play:info:create')") - @Log(title = "陪玩点赞动态信息", businessType = BusinessType.INSERT) + @Log(title = "陪聊点赞动态信息", businessType = BusinessType.INSERT) @PostMapping("/create") public R create(@RequestBody PlayCustomArticleInfoEntity playCustomArticleInfo) { boolean success = playCustomArticleInfoService.create(playCustomArticleInfo); @@ -57,10 +57,10 @@ public class PlayCustomArticleInfoController { } /** - * 修改陪玩点赞动态信息 + * 修改陪聊点赞动态信息 */ @PreAuthorize("@customSs.hasPermission('play:info:edit')") - @Log(title = "陪玩点赞动态信息", businessType = BusinessType.UPDATE) + @Log(title = "陪聊点赞动态信息", businessType = BusinessType.UPDATE) @PostMapping(value = "/update/{id}") public R update(@PathVariable String id, @RequestBody PlayCustomArticleInfoEntity playCustomArticleInfo) { playCustomArticleInfo.setId(id); @@ -72,10 +72,10 @@ public class PlayCustomArticleInfoController { } /** - * 删除陪玩点赞动态信息 + * 删除陪聊点赞动态信息 */ @PreAuthorize("@customSs.hasPermission('play:info:remove')") - @Log(title = "陪玩点赞动态信息", businessType = BusinessType.DELETE) + @Log(title = "陪聊点赞动态信息", businessType = BusinessType.DELETE) @DeleteMapping("/{ids}") public R remove(@PathVariable String[] ids) { return R.ok(playCustomArticleInfoService.deletePlayCustomArticleInfoByIds(ids)); diff --git a/play-admin/src/main/java/com/starry/admin/modules/article/mapper/PlayCustomArticleInfoMapper.java b/play-admin/src/main/java/com/starry/admin/modules/article/mapper/PlayCustomArticleInfoMapper.java index 7578704..e74b5a4 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/article/mapper/PlayCustomArticleInfoMapper.java +++ b/play-admin/src/main/java/com/starry/admin/modules/article/mapper/PlayCustomArticleInfoMapper.java @@ -5,7 +5,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.starry.admin.modules.article.module.entity.PlayCustomArticleInfoEntity; /** - * 陪玩点赞动态信息Mapper接口 + * 陪聊点赞动态信息Mapper接口 * * @author admin * @since 2024-05-04 diff --git a/play-admin/src/main/java/com/starry/admin/modules/article/module/entity/PlayClerkArticleInfoEntity.java b/play-admin/src/main/java/com/starry/admin/modules/article/module/entity/PlayClerkArticleInfoEntity.java index 5599777..11aff81 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/article/module/entity/PlayClerkArticleInfoEntity.java +++ b/play-admin/src/main/java/com/starry/admin/modules/article/module/entity/PlayClerkArticleInfoEntity.java @@ -30,7 +30,7 @@ public class PlayClerkArticleInfoEntity extends BaseEntity { /** - * 查询陪玩点赞动态信息 + * 查询陪聊点赞动态信息 * - * @param id 陪玩点赞动态信息主键 - * @return 陪玩点赞动态信息 + * @param id 陪聊点赞动态信息主键 + * @return 陪聊点赞动态信息 */ PlayCustomArticleInfoEntity selectPlayCustomArticleInfoById(String id); /** - * 查询陪玩点赞动态信息列表 + * 查询陪聊点赞动态信息列表 * - * @param playCustomArticleInfo 陪玩点赞动态信息 - * @return 陪玩点赞动态信息集合 + * @param playCustomArticleInfo 陪聊点赞动态信息 + * @return 陪聊点赞动态信息集合 */ IPage selectPlayCustomArticleInfoByPage(PlayCustomArticleInfoEntity playCustomArticleInfo); /** - * 新增陪玩点赞动态信息 + * 新增陪聊点赞动态信息 * - * @param playCustomArticleInfo 陪玩点赞动态信息 + * @param playCustomArticleInfo 陪聊点赞动态信息 * @return 结果 */ boolean create(PlayCustomArticleInfoEntity playCustomArticleInfo); /** - * 修改陪玩点赞动态信息 + * 修改陪聊点赞动态信息 * - * @param playCustomArticleInfo 陪玩点赞动态信息 + * @param playCustomArticleInfo 陪聊点赞动态信息 * @return 结果 */ boolean update(PlayCustomArticleInfoEntity playCustomArticleInfo); /** - * 批量删除陪玩点赞动态信息 + * 批量删除陪聊点赞动态信息 * - * @param ids 需要删除的陪玩点赞动态信息主键集合 + * @param ids 需要删除的陪聊点赞动态信息主键集合 * @return 结果 */ int deletePlayCustomArticleInfoByIds(String[] ids); /** - * 删除陪玩点赞动态信息信息 + * 删除陪聊点赞动态信息信息 * - * @param id 陪玩点赞动态信息主键 + * @param id 陪聊点赞动态信息主键 * @return 结果 */ int deletePlayCustomArticleInfoById(String id); diff --git a/play-admin/src/main/java/com/starry/admin/modules/article/service/impl/PlayClerkArticleInfoServiceImpl.java b/play-admin/src/main/java/com/starry/admin/modules/article/service/impl/PlayClerkArticleInfoServiceImpl.java index 7ffc12d..b00e036 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/article/service/impl/PlayClerkArticleInfoServiceImpl.java +++ b/play-admin/src/main/java/com/starry/admin/modules/article/service/impl/PlayClerkArticleInfoServiceImpl.java @@ -11,7 +11,7 @@ import com.starry.admin.modules.article.module.entity.PlayClerkArticleInfoEntity import com.starry.admin.modules.article.module.vo.PlayClerkArticleQueryVo; import com.starry.admin.modules.article.module.vo.PlayClerkArticleReturnVo; import com.starry.admin.modules.article.service.IPlayClerkArticleInfoService; -import com.starry.admin.modules.clear.module.entity.PlayClerkUserInfoEntity; +import com.starry.admin.modules.clerk.module.entity.PlayClerkUserInfoEntity; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -50,9 +50,9 @@ public class PlayClerkArticleInfoServiceImpl extends ServiceImpl lambdaQueryWrapper = new MPJLambdaWrapper() //查询主表全部字段 .selectAll(PlayClerkArticleInfoEntity.class) - //陪玩用户表全部字段 + //陪聊用户表全部字段 .selectAll(PlayClerkUserInfoEntity.class) - //陪玩用户表 + //陪聊用户表 .leftJoin(PlayClerkUserInfoEntity.class, PlayClerkUserInfoEntity::getId, PlayClerkArticleInfoEntity::getPlayUserId); return this.baseMapper.selectJoinPage(new Page<>(vo.getPageNum(), vo.getPageSize()), PlayClerkArticleReturnVo.class, lambdaQueryWrapper); } diff --git a/play-admin/src/main/java/com/starry/admin/modules/article/service/impl/PlayCustomArticleInfoServiceImpl.java b/play-admin/src/main/java/com/starry/admin/modules/article/service/impl/PlayCustomArticleInfoServiceImpl.java index d92f5a4..c1fdb95 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/article/service/impl/PlayCustomArticleInfoServiceImpl.java +++ b/play-admin/src/main/java/com/starry/admin/modules/article/service/impl/PlayCustomArticleInfoServiceImpl.java @@ -16,7 +16,7 @@ import java.util.Arrays; /** - * 陪玩点赞动态信息Service业务层处理 + * 陪聊点赞动态信息Service业务层处理 * * @author admin * @since 2024-05-04 @@ -27,10 +27,10 @@ public class PlayCustomArticleInfoServiceImpl extends ServiceImpl selectPlayCustomArticleInfoByPage(PlayCustomArticleInfoEntity playCustomArticleInfo) { @@ -50,9 +50,9 @@ public class PlayCustomArticleInfoServiceImpl extends ServiceImpl private String weiChatCode; /** - * 陪玩用户ID + * 陪聊用户ID */ private String playUserId; @@ -99,7 +98,7 @@ public class PlayClerkUserInfoEntity extends BaseEntity * 标签 */ @TableField(typeHandler = StringTypeHandler.class) - private List label = new ArrayList<>(); + private List label; /** * 个性签名 @@ -182,14 +181,14 @@ public class PlayClerkUserInfoEntity extends BaseEntity private String randomOrderState; /** - * 店员状态(0:不是陪玩,1:陪玩,2:资料审核中) + * 店员状态(0:不是陪聊,1:陪聊,2:资料审核中) */ private String clerkState; /** * 相册 */ @TableField(typeHandler = StringTypeHandler.class) - private List album = new ArrayList<>(); + private List album; /** * 微信二维码 **/ diff --git a/play-admin/src/main/java/com/starry/admin/modules/clear/module/entity/PlayClerkUserInfoQueryVo.java b/play-admin/src/main/java/com/starry/admin/modules/clerk/module/entity/PlayClerkUserInfoQueryVo.java similarity index 89% rename from play-admin/src/main/java/com/starry/admin/modules/clear/module/entity/PlayClerkUserInfoQueryVo.java rename to play-admin/src/main/java/com/starry/admin/modules/clerk/module/entity/PlayClerkUserInfoQueryVo.java index 0121a39..4efecde 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/clear/module/entity/PlayClerkUserInfoQueryVo.java +++ b/play-admin/src/main/java/com/starry/admin/modules/clerk/module/entity/PlayClerkUserInfoQueryVo.java @@ -1,4 +1,4 @@ -package com.starry.admin.modules.clear.module.entity; +package com.starry.admin.modules.clerk.module.entity; import com.starry.common.domain.BasePageEntity; import lombok.Data; @@ -50,7 +50,7 @@ public class PlayClerkUserInfoQueryVo extends BasePageEntity { private String recommendationState; /** - * 员工状态【1:是陪玩,0:不是陪玩】 + * 员工状态【1:是陪聊,0:不是陪聊】 */ private String clerkState = "1"; diff --git a/play-admin/src/main/java/com/starry/admin/modules/clear/module/entity/PlayClerkUserListResultVo.java b/play-admin/src/main/java/com/starry/admin/modules/clerk/module/entity/PlayClerkUserListResultVo.java similarity index 96% rename from play-admin/src/main/java/com/starry/admin/modules/clear/module/entity/PlayClerkUserListResultVo.java rename to play-admin/src/main/java/com/starry/admin/modules/clerk/module/entity/PlayClerkUserListResultVo.java index 56a0240..bc2fe5e 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/clear/module/entity/PlayClerkUserListResultVo.java +++ b/play-admin/src/main/java/com/starry/admin/modules/clerk/module/entity/PlayClerkUserListResultVo.java @@ -1,10 +1,13 @@ -package com.starry.admin.modules.clear.module.entity; +package com.starry.admin.modules.clerk.module.entity; import lombok.Data; import java.util.ArrayList; import java.util.List; +/** + * @author admin + */ @Data public class PlayClerkUserListResultVo { diff --git a/play-admin/src/main/java/com/starry/admin/modules/clear/module/entity/PlayClarkUserTrendsInfoEntity.java b/play-admin/src/main/java/com/starry/admin/modules/clerk/module/entity/PlayClerkUserTrendsInfoEntity.java similarity index 72% rename from play-admin/src/main/java/com/starry/admin/modules/clear/module/entity/PlayClarkUserTrendsInfoEntity.java rename to play-admin/src/main/java/com/starry/admin/modules/clerk/module/entity/PlayClerkUserTrendsInfoEntity.java index 688c882..9b4486e 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/clear/module/entity/PlayClarkUserTrendsInfoEntity.java +++ b/play-admin/src/main/java/com/starry/admin/modules/clerk/module/entity/PlayClerkUserTrendsInfoEntity.java @@ -1,4 +1,4 @@ -package com.starry.admin.modules.clear.module.entity; +package com.starry.admin.modules.clerk.module.entity; import lombok.Data; @@ -6,9 +6,11 @@ import java.util.Date; /** * 店员动态 + * + * @author admin */ @Data -public class PlayClarkUserTrendsInfoEntity { +public class PlayClerkUserTrendsInfoEntity { private String id; @@ -26,7 +28,7 @@ public class PlayClarkUserTrendsInfoEntity { private Date releaseTime; - public PlayClarkUserTrendsInfoEntity(String id, String title, String con, Date releaseTime) { + public PlayClerkUserTrendsInfoEntity(String id, String title, String con, Date releaseTime) { this.id = id; this.title = title; this.con = con; @@ -34,7 +36,7 @@ public class PlayClarkUserTrendsInfoEntity { this.type = "1"; } - public PlayClarkUserTrendsInfoEntity(String id, String title, String type, String con, Date releaseTime) { + public PlayClerkUserTrendsInfoEntity(String id, String title, String type, String con, Date releaseTime) { this.id = id; this.title = title; this.type = type; diff --git a/play-admin/src/main/java/com/starry/admin/modules/clear/module/entity/PlayGiftInfoVo.java b/play-admin/src/main/java/com/starry/admin/modules/clerk/module/entity/PlayGiftInfoVo.java similarity index 90% rename from play-admin/src/main/java/com/starry/admin/modules/clear/module/entity/PlayGiftInfoVo.java rename to play-admin/src/main/java/com/starry/admin/modules/clerk/module/entity/PlayGiftInfoVo.java index 19fccd5..4441688 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/clear/module/entity/PlayGiftInfoVo.java +++ b/play-admin/src/main/java/com/starry/admin/modules/clerk/module/entity/PlayGiftInfoVo.java @@ -1,10 +1,11 @@ -package com.starry.admin.modules.clear.module.entity; +package com.starry.admin.modules.clerk.module.entity; import lombok.Data; /** * 礼物信息 + * @author admin */ @Data diff --git a/play-admin/src/main/java/com/starry/admin/modules/clear/module/vo/PlayClerkCommodityEditVo.java b/play-admin/src/main/java/com/starry/admin/modules/clerk/module/vo/PlayClerkCommodityEditVo.java similarity index 87% rename from play-admin/src/main/java/com/starry/admin/modules/clear/module/vo/PlayClerkCommodityEditVo.java rename to play-admin/src/main/java/com/starry/admin/modules/clerk/module/vo/PlayClerkCommodityEditVo.java index 0b24c8e..3416418 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/clear/module/vo/PlayClerkCommodityEditVo.java +++ b/play-admin/src/main/java/com/starry/admin/modules/clerk/module/vo/PlayClerkCommodityEditVo.java @@ -1,10 +1,13 @@ -package com.starry.admin.modules.clear.module.vo; +package com.starry.admin.modules.clerk.module.vo; import lombok.Data; import javax.validation.constraints.NotNull; import javax.validation.constraints.Pattern; +/** + * @author admin + */ @Data public class PlayClerkCommodityEditVo { diff --git a/play-admin/src/main/java/com/starry/admin/modules/clear/module/vo/PlayClerkCommodityQueryVo.java b/play-admin/src/main/java/com/starry/admin/modules/clerk/module/vo/PlayClerkCommodityQueryVo.java similarity index 77% rename from play-admin/src/main/java/com/starry/admin/modules/clear/module/vo/PlayClerkCommodityQueryVo.java rename to play-admin/src/main/java/com/starry/admin/modules/clerk/module/vo/PlayClerkCommodityQueryVo.java index 3226b8f..3f4d788 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/clear/module/vo/PlayClerkCommodityQueryVo.java +++ b/play-admin/src/main/java/com/starry/admin/modules/clerk/module/vo/PlayClerkCommodityQueryVo.java @@ -1,7 +1,10 @@ -package com.starry.admin.modules.clear.module.vo; +package com.starry.admin.modules.clerk.module.vo; import lombok.Data; +/** + * @author admin + */ @Data public class PlayClerkCommodityQueryVo { diff --git a/play-admin/src/main/java/com/starry/admin/modules/clear/module/vo/PlayClerkLevelAddVo.java b/play-admin/src/main/java/com/starry/admin/modules/clerk/module/vo/PlayClerkLevelAddVo.java similarity index 91% rename from play-admin/src/main/java/com/starry/admin/modules/clear/module/vo/PlayClerkLevelAddVo.java rename to play-admin/src/main/java/com/starry/admin/modules/clerk/module/vo/PlayClerkLevelAddVo.java index 6b2d238..5ce7130 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/clear/module/vo/PlayClerkLevelAddVo.java +++ b/play-admin/src/main/java/com/starry/admin/modules/clerk/module/vo/PlayClerkLevelAddVo.java @@ -1,9 +1,12 @@ -package com.starry.admin.modules.clear.module.vo; +package com.starry.admin.modules.clerk.module.vo; import lombok.Data; import javax.validation.constraints.NotBlank; +/** + * @author admin + */ @Data public class PlayClerkLevelAddVo { diff --git a/play-admin/src/main/java/com/starry/admin/modules/clear/module/vo/PlayClerkLevelEditVo.java b/play-admin/src/main/java/com/starry/admin/modules/clerk/module/vo/PlayClerkLevelEditVo.java similarity index 92% rename from play-admin/src/main/java/com/starry/admin/modules/clear/module/vo/PlayClerkLevelEditVo.java rename to play-admin/src/main/java/com/starry/admin/modules/clerk/module/vo/PlayClerkLevelEditVo.java index 1f39fb6..b7e997e 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/clear/module/vo/PlayClerkLevelEditVo.java +++ b/play-admin/src/main/java/com/starry/admin/modules/clerk/module/vo/PlayClerkLevelEditVo.java @@ -1,9 +1,12 @@ -package com.starry.admin.modules.clear.module.vo; +package com.starry.admin.modules.clerk.module.vo; import lombok.Data; import javax.validation.constraints.NotBlank; +/** + * @author admin + */ @Data public class PlayClerkLevelEditVo { diff --git a/play-admin/src/main/java/com/starry/admin/modules/clear/module/vo/PlayClerkLevelQueryReturnVo.java b/play-admin/src/main/java/com/starry/admin/modules/clerk/module/vo/PlayClerkLevelQueryReturnVo.java similarity index 63% rename from play-admin/src/main/java/com/starry/admin/modules/clear/module/vo/PlayClerkLevelQueryReturnVo.java rename to play-admin/src/main/java/com/starry/admin/modules/clerk/module/vo/PlayClerkLevelQueryReturnVo.java index 2a1197b..2ac12df 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/clear/module/vo/PlayClerkLevelQueryReturnVo.java +++ b/play-admin/src/main/java/com/starry/admin/modules/clerk/module/vo/PlayClerkLevelQueryReturnVo.java @@ -1,15 +1,16 @@ -package com.starry.admin.modules.clear.module.vo; +package com.starry.admin.modules.clerk.module.vo; import lombok.Data; /** * 店员等级查询接口 + * @author admin */ @Data public class PlayClerkLevelQueryReturnVo { /** - * 登记名称 + * 等级名称 */ private String name; diff --git a/play-admin/src/main/java/com/starry/admin/modules/clear/module/vo/PlayClerkUserAddToWxVo.java b/play-admin/src/main/java/com/starry/admin/modules/clerk/module/vo/PlayClerkUserAddToWxVo.java similarity index 95% rename from play-admin/src/main/java/com/starry/admin/modules/clear/module/vo/PlayClerkUserAddToWxVo.java rename to play-admin/src/main/java/com/starry/admin/modules/clerk/module/vo/PlayClerkUserAddToWxVo.java index 6934853..12a66eb 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/clear/module/vo/PlayClerkUserAddToWxVo.java +++ b/play-admin/src/main/java/com/starry/admin/modules/clerk/module/vo/PlayClerkUserAddToWxVo.java @@ -1,4 +1,4 @@ -package com.starry.admin.modules.clear.module.vo; +package com.starry.admin.modules.clerk.module.vo; import lombok.Data; @@ -6,6 +6,9 @@ import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; +/** + * @author admin + */ @Data public class PlayClerkUserAddToWxVo { diff --git a/play-admin/src/main/java/com/starry/admin/modules/clear/module/vo/PlayClerkUserAddVo.java b/play-admin/src/main/java/com/starry/admin/modules/clerk/module/vo/PlayClerkUserAddVo.java similarity index 95% rename from play-admin/src/main/java/com/starry/admin/modules/clear/module/vo/PlayClerkUserAddVo.java rename to play-admin/src/main/java/com/starry/admin/modules/clerk/module/vo/PlayClerkUserAddVo.java index 86c7221..65d09c6 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/clear/module/vo/PlayClerkUserAddVo.java +++ b/play-admin/src/main/java/com/starry/admin/modules/clerk/module/vo/PlayClerkUserAddVo.java @@ -1,4 +1,4 @@ -package com.starry.admin.modules.clear.module.vo; +package com.starry.admin.modules.clerk.module.vo; import lombok.Data; @@ -6,6 +6,9 @@ import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; +/** + * @author admin + */ @Data public class PlayClerkUserAddVo { diff --git a/play-admin/src/main/java/com/starry/admin/modules/clear/module/vo/PlayClerkUserEditVo.java b/play-admin/src/main/java/com/starry/admin/modules/clerk/module/vo/PlayClerkUserEditVo.java similarity index 95% rename from play-admin/src/main/java/com/starry/admin/modules/clear/module/vo/PlayClerkUserEditVo.java rename to play-admin/src/main/java/com/starry/admin/modules/clerk/module/vo/PlayClerkUserEditVo.java index 642e80e..5c7e80e 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/clear/module/vo/PlayClerkUserEditVo.java +++ b/play-admin/src/main/java/com/starry/admin/modules/clerk/module/vo/PlayClerkUserEditVo.java @@ -1,4 +1,4 @@ -package com.starry.admin.modules.clear.module.vo; +package com.starry.admin.modules.clerk.module.vo; import lombok.Data; @@ -6,6 +6,9 @@ import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; +/** + * @author admin + */ @Data public class PlayClerkUserEditVo { diff --git a/play-admin/src/main/java/com/starry/admin/modules/clear/module/vo/PlayClerkUserStateEditVo.java b/play-admin/src/main/java/com/starry/admin/modules/clerk/module/vo/PlayClerkUserStateEditVo.java similarity index 93% rename from play-admin/src/main/java/com/starry/admin/modules/clear/module/vo/PlayClerkUserStateEditVo.java rename to play-admin/src/main/java/com/starry/admin/modules/clerk/module/vo/PlayClerkUserStateEditVo.java index 19ee1ab..aca2b68 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/clear/module/vo/PlayClerkUserStateEditVo.java +++ b/play-admin/src/main/java/com/starry/admin/modules/clerk/module/vo/PlayClerkUserStateEditVo.java @@ -1,10 +1,13 @@ -package com.starry.admin.modules.clear.module.vo; +package com.starry.admin.modules.clerk.module.vo; import lombok.Data; import javax.validation.constraints.NotBlank; +/** + * @author admin + */ @Data public class PlayClerkUserStateEditVo { diff --git a/play-admin/src/main/java/com/starry/admin/modules/clear/service/IPlayClerkClassificationInfoService.java b/play-admin/src/main/java/com/starry/admin/modules/clerk/service/IPlayClerkClassificationInfoService.java similarity index 94% rename from play-admin/src/main/java/com/starry/admin/modules/clear/service/IPlayClerkClassificationInfoService.java rename to play-admin/src/main/java/com/starry/admin/modules/clerk/service/IPlayClerkClassificationInfoService.java index 4d5c659..53d16a6 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/clear/service/IPlayClerkClassificationInfoService.java +++ b/play-admin/src/main/java/com/starry/admin/modules/clerk/service/IPlayClerkClassificationInfoService.java @@ -1,8 +1,8 @@ -package com.starry.admin.modules.clear.service; +package com.starry.admin.modules.clerk.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; -import com.starry.admin.modules.clear.module.entity.PlayClerkClassificationInfoEntity; +import com.starry.admin.modules.clerk.module.entity.PlayClerkClassificationInfoEntity; import java.util.List; diff --git a/play-admin/src/main/java/com/starry/admin/modules/clear/service/IPlayClerkCommodityService.java b/play-admin/src/main/java/com/starry/admin/modules/clerk/service/IPlayClerkCommodityService.java similarity index 67% rename from play-admin/src/main/java/com/starry/admin/modules/clear/service/IPlayClerkCommodityService.java rename to play-admin/src/main/java/com/starry/admin/modules/clerk/service/IPlayClerkCommodityService.java index b2e3e0e..14471a3 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/clear/service/IPlayClerkCommodityService.java +++ b/play-admin/src/main/java/com/starry/admin/modules/clerk/service/IPlayClerkCommodityService.java @@ -1,13 +1,13 @@ -package com.starry.admin.modules.clear.service; +package com.starry.admin.modules.clerk.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; -import com.starry.admin.modules.clear.module.entity.PlayClerkCommodityEntity; +import com.starry.admin.modules.clerk.module.entity.PlayClerkCommodityEntity; import java.util.List; /** - * 陪玩服务项目Service接口 + * 陪聊服务项目Service接口 * * @author admin * @since 2024-03-31 @@ -16,7 +16,7 @@ public interface IPlayClerkCommodityService extends IService */ List selectByUser(String playUserId); - + /** - * 查询当前陪玩所有服务项目 + * 查询当前陪聊所有服务项目 + * + * @return List */ List selectAll(); /** - * 启停当前陪玩服务项目 + * 启停当前陪聊服务项目 * * @param type 项目名称 * @param enablingState 启停状态 - * @param clerkUserId 陪玩ID + * @param clerkUserId 陪聊ID */ void startStopClerkItem(String type, String enablingState, String clerkUserId); /** - * 查询陪玩服务项目 + * 查询陪聊服务项目 * - * @param id 陪玩服务项目主键 - * @return 陪玩服务项目 + * @param id 陪聊服务项目主键 + * @return 陪聊服务项目 */ PlayClerkCommodityEntity selectPlayClerkCommodityById(String id); /** - * 查询陪玩服务项目列表 + * 查询陪聊服务项目列表 * - * @param playClerkCommodity 陪玩服务项目 - * @return 陪玩服务项目集合 + * @param playClerkCommodity 陪聊服务项目 + * @return 陪聊服务项目集合 */ IPage selectPlayClerkCommodityByPage(PlayClerkCommodityEntity playClerkCommodity); /** - * 新增陪玩服务项目 + * 新增陪聊服务项目 * - * @param playClerkCommodity 陪玩服务项目 + * @param playClerkCommodity 陪聊服务项目 * @return 结果 */ boolean create(PlayClerkCommodityEntity playClerkCommodity); /** - * 修改陪玩服务项目 + * 修改陪聊服务项目 * - * @param playClerkCommodity 陪玩服务项目 + * @param playClerkCommodity 陪聊服务项目 * @return 结果 */ boolean update(PlayClerkCommodityEntity playClerkCommodity); /** - * 批量删除陪玩服务项目 + * 批量删除陪聊服务项目 * - * @param ids 需要删除的陪玩服务项目主键集合 + * @param ids 需要删除的陪聊服务项目主键集合 * @return 结果 */ int deletePlayClerkCommodityByIds(String[] ids); /** - * 删除陪玩服务项目信息 + * 删除陪聊服务项目信息 * - * @param id 陪玩服务项目主键 + * @param id 陪聊服务项目主键 * @return 结果 */ int deletePlayClerkCommodityById(String id); diff --git a/play-admin/src/main/java/com/starry/admin/modules/clear/service/IPlayClerkDataReviewInfoService.java b/play-admin/src/main/java/com/starry/admin/modules/clerk/service/IPlayClerkDataReviewInfoService.java similarity index 91% rename from play-admin/src/main/java/com/starry/admin/modules/clear/service/IPlayClerkDataReviewInfoService.java rename to play-admin/src/main/java/com/starry/admin/modules/clerk/service/IPlayClerkDataReviewInfoService.java index 5f72a17..85149fd 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/clear/service/IPlayClerkDataReviewInfoService.java +++ b/play-admin/src/main/java/com/starry/admin/modules/clerk/service/IPlayClerkDataReviewInfoService.java @@ -1,9 +1,9 @@ -package com.starry.admin.modules.clear.service; +package com.starry.admin.modules.clerk.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; -import com.starry.admin.modules.clear.module.entity.PlayClerkDataReviewInfoEntity; -import com.starry.admin.modules.clear.module.entity.PlayClerkDataReviewInfoQueryVo; +import com.starry.admin.modules.clerk.module.entity.PlayClerkDataReviewInfoEntity; +import com.starry.admin.modules.clerk.module.entity.PlayClerkDataReviewInfoQueryVo; import java.util.List; diff --git a/play-admin/src/main/java/com/starry/admin/modules/clear/service/IPlayClerkLevelInfoService.java b/play-admin/src/main/java/com/starry/admin/modules/clerk/service/IPlayClerkLevelInfoService.java similarity index 92% rename from play-admin/src/main/java/com/starry/admin/modules/clear/service/IPlayClerkLevelInfoService.java rename to play-admin/src/main/java/com/starry/admin/modules/clerk/service/IPlayClerkLevelInfoService.java index 77ec725..abd759a 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/clear/service/IPlayClerkLevelInfoService.java +++ b/play-admin/src/main/java/com/starry/admin/modules/clerk/service/IPlayClerkLevelInfoService.java @@ -1,8 +1,8 @@ -package com.starry.admin.modules.clear.service; +package com.starry.admin.modules.clerk.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; -import com.starry.admin.modules.clear.module.entity.PlayClerkLevelInfoEntity; +import com.starry.admin.modules.clerk.module.entity.PlayClerkLevelInfoEntity; import java.util.List; @@ -16,7 +16,7 @@ public interface IPlayClerkLevelInfoService extends IService selectPlayClerkClassificationInfoByPage(PlayClerkClassificationInfoEntity playClerkClassificationInfo) { Page page = new Page<>(1, 10); - return this.baseMapper.selectPage(page, new LambdaQueryWrapper()); + return this.baseMapper.selectPage(page, new LambdaQueryWrapper<>()); } /** diff --git a/play-admin/src/main/java/com/starry/admin/modules/clear/service/impl/PlayClerkCommodityServiceImpl.java b/play-admin/src/main/java/com/starry/admin/modules/clerk/service/impl/PlayClerkCommodityServiceImpl.java similarity index 79% rename from play-admin/src/main/java/com/starry/admin/modules/clear/service/impl/PlayClerkCommodityServiceImpl.java rename to play-admin/src/main/java/com/starry/admin/modules/clerk/service/impl/PlayClerkCommodityServiceImpl.java index 1ad48b3..46c93b6 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/clear/service/impl/PlayClerkCommodityServiceImpl.java +++ b/play-admin/src/main/java/com/starry/admin/modules/clerk/service/impl/PlayClerkCommodityServiceImpl.java @@ -1,4 +1,4 @@ -package com.starry.admin.modules.clear.service.impl; +package com.starry.admin.modules.clerk.service.impl; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.StrUtil; @@ -6,9 +6,10 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.starry.admin.modules.clear.mapper.PlayClerkCommodityMapper; -import com.starry.admin.modules.clear.module.entity.PlayClerkCommodityEntity; -import com.starry.admin.modules.clear.service.IPlayClerkCommodityService; +import com.starry.admin.common.exception.CustomException; +import com.starry.admin.modules.clerk.mapper.PlayClerkCommodityMapper; +import com.starry.admin.modules.clerk.module.entity.PlayClerkCommodityEntity; +import com.starry.admin.modules.clerk.service.IPlayClerkCommodityService; import com.starry.admin.modules.play.module.entity.PlayCommodityInfoEntity; import com.starry.admin.modules.play.service.IPlayCommodityInfoService; import org.springframework.stereotype.Service; @@ -19,7 +20,7 @@ import java.util.List; import java.util.stream.Collectors; /** - * 陪玩服务项目Service业务层处理 + * 陪聊服务项目Service业务层处理 * * @author admin * @since 2024-03-31 @@ -36,11 +37,11 @@ public class PlayClerkCommodityServiceImpl extends ServiceImpl lambdaQueryWrapper = new LambdaQueryWrapper<>(); lambdaQueryWrapper.eq(PlayClerkCommodityEntity::getPlayUserId, userId); this.baseMapper.delete(lambdaQueryWrapper); - //根据当前租户的服务项目,生成陪玩项目数据 + // 根据当前租户的服务项目,生成陪聊项目数据 for (PlayCommodityInfoEntity commodityInfo : playCommodityInfoService.selectAll()) { PlayClerkCommodityEntity entity = new PlayClerkCommodityEntity(); entity.setPlayUserId(userId); @@ -84,7 +85,7 @@ public class PlayClerkCommodityServiceImpl extends ServiceImpl lambdaQueryWrapper = new LambdaQueryWrapper<>(); @@ -94,21 +95,25 @@ public class PlayClerkCommodityServiceImpl extends ServiceImpl selectPlayClerkCommodityByPage(PlayClerkCommodityEntity playClerkCommodity) { @@ -117,9 +122,9 @@ public class PlayClerkCommodityServiceImpl extends ServiceImpl lambdaQueryWrapper = new LambdaQueryWrapper<>(); - lambdaQueryWrapper.eq(PlayClerkUserInfoEntity::getPlayUserId, "123456"); + lambdaQueryWrapper.eq(PlayClerkUserInfoEntity::getId, id); return this.baseMapper.selectOne(lambdaQueryWrapper); } @@ -70,7 +71,11 @@ public class PlayClerkUserInfoServiceImpl extends ServiceImpl page = new Page<>(vo.getPageNum(), vo.getPageSize()); MPJLambdaWrapper lambdaQueryWrapper = new MPJLambdaWrapper() - //查询主表全部字段 + // 查询主表全部字段 .selectAll(PlayClerkUserInfoEntity.class).selectAs(PlayClerkUserInfoEntity::getCity, "address") - //等级表 + // 等级表 .selectAs(PlayClerkLevelInfoEntity::getName, "levelName").leftJoin(PlayClerkLevelInfoEntity.class, PlayClerkLevelInfoEntity::getId, PlayClerkUserInfoEntity::getLevelId); - //服务项目表 + // 服务项目表 if (StrUtil.isNotBlank(vo.getNickname())) { lambdaQueryWrapper.like(PlayClerkUserInfoEntity::getNickname, vo.getNickname()); } @@ -164,14 +169,14 @@ public class PlayClerkUserInfoServiceImpl extends ServiceImpl selectByPage(PlayClerkUserInfoQueryVo vo, String customUserId) { - IPage voIPage = this.selectPlayClerkUserInfoByPage(vo); + IPage voPage = this.selectPlayClerkUserInfoByPage(vo); // 如果当前顾客已登录,查询是否关注 if (StrUtil.isNotBlank(customUserId)) { LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); lambdaQueryWrapper.eq(PlayCustomFollowInfoEntity::getCustomUserId, customUserId); List customFollowInfoEntities = customFollowInfoService.list(lambdaQueryWrapper); Map customFollows = customFollowInfoEntities.stream().collect(Collectors.toMap(PlayCustomFollowInfoEntity::getClerkUserId, PlayCustomFollowInfoEntity::getFollowState)); - for (PlayClerkUserListResultVo record : voIPage.getRecords()) { + for (PlayClerkUserListResultVo record : voPage.getRecords()) { if (customFollows.containsKey(record.getId())) { record.setFollowState(customFollows.get(record.getId())); record.setCommodity(playClerkCommodityService.getClerkCommodityList(record.getId())); @@ -180,7 +185,7 @@ public class PlayClerkUserInfoServiceImpl extends ServiceImpl { - - -} diff --git a/play-admin/src/main/java/com/starry/admin/modules/commodity/mapper/PlayClerkServiceMapper.java b/play-admin/src/main/java/com/starry/admin/modules/commodity/mapper/PlayClerkServiceMapper.java new file mode 100644 index 0000000..f1fc42c --- /dev/null +++ b/play-admin/src/main/java/com/starry/admin/modules/commodity/mapper/PlayClerkServiceMapper.java @@ -0,0 +1,17 @@ +package com.starry.admin.modules.commodity.mapper; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.starry.admin.modules.commodity.module.entity.PlayClerkServiceEntity; + + +/** + * 陪聊引用服务项目Mapper接口 + * + * @author admin + * @since 2024-03-28 + */ +public interface PlayClerkServiceMapper extends BaseMapper { + + +} diff --git a/play-admin/src/main/java/com/starry/admin/modules/commodity/module/entity/PlayClearServiceEntity.java b/play-admin/src/main/java/com/starry/admin/modules/commodity/module/entity/PlayClerkServiceEntity.java similarity index 82% rename from play-admin/src/main/java/com/starry/admin/modules/commodity/module/entity/PlayClearServiceEntity.java rename to play-admin/src/main/java/com/starry/admin/modules/commodity/module/entity/PlayClerkServiceEntity.java index 850ef04..c4c8a7e 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/commodity/module/entity/PlayClearServiceEntity.java +++ b/play-admin/src/main/java/com/starry/admin/modules/commodity/module/entity/PlayClerkServiceEntity.java @@ -6,15 +6,15 @@ import lombok.Data; import lombok.EqualsAndHashCode; /** - * 陪玩引用服务项目对象 play_clear_service + * 陪聊引用服务项目对象 play_clerk_service * * @author admin * @since 2024-03-28 */ @Data @EqualsAndHashCode(callSuper = false) -@TableName("play_clear_service") -public class PlayClearServiceEntity extends BaseEntity { +@TableName("play_clerk_service") +public class PlayClerkServiceEntity extends BaseEntity { /** diff --git a/play-admin/src/main/java/com/starry/admin/modules/commodity/service/IPlayClearServiceService.java b/play-admin/src/main/java/com/starry/admin/modules/commodity/service/IPlayClearServiceService.java deleted file mode 100644 index a853c0e..0000000 --- a/play-admin/src/main/java/com/starry/admin/modules/commodity/service/IPlayClearServiceService.java +++ /dev/null @@ -1,84 +0,0 @@ -package com.starry.admin.modules.commodity.service; - -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.service.IService; -import com.starry.admin.modules.commodity.module.entity.PlayClearServiceEntity; - -/** - * 陪玩引用服务项目Service接口 - * - * @author admin - * @since 2024-03-28 - */ -public interface IPlayClearServiceService extends IService { - - - /** - * 初始化陪玩的服务项目 - * - * @param playUserId 陪玩用户ID - * @author admin - * @since 2024/3/28 11:13 - **/ - void initPlayService(String playUserId); - - /** - * 查询陪玩引用服务项目 - * - * @param id 陪玩引用服务项目主键 - * @return 陪玩引用服务项目 - */ - PlayClearServiceEntity selectPlayClearServiceById(String id); - - /** - * 查询陪玩引用服务项目列表 - * - * @param playClearService 陪玩引用服务项目 - * @return 陪玩引用服务项目集合 - */ - IPage selectPlayClearServiceByPage(PlayClearServiceEntity playClearService); - - /** - * 新增陪玩引用服务项目 - * - * @param playClearService 陪玩引用服务项目 - * @return 结果 - */ - boolean create(PlayClearServiceEntity playClearService); - - - /** - * 修改陪玩服务启停状态 - * - * @param playUserId 陪玩用户ID - * @param serviceId 服务ID - * @param enablingState * 项目启用状态【0:停用,1:启用】 - * @author admin - * @since 2024/3/28 11:35 - **/ - void updateServiceEnablingState(String playUserId, String serviceId, String enablingState); - - /** - * 修改陪玩引用服务项目 - * - * @param playClearService 陪玩引用服务项目 - * @return 结果 - */ - boolean update(PlayClearServiceEntity playClearService); - - /** - * 批量删除陪玩引用服务项目 - * - * @param ids 需要删除的陪玩引用服务项目主键集合 - * @return 结果 - */ - int deletePlayClearServiceByIds(String[] ids); - - /** - * 删除陪玩引用服务项目信息 - * - * @param id 陪玩引用服务项目主键 - * @return 结果 - */ - int deletePlayClearServiceById(String id); -} diff --git a/play-admin/src/main/java/com/starry/admin/modules/commodity/service/IPlayClerkServiceService.java b/play-admin/src/main/java/com/starry/admin/modules/commodity/service/IPlayClerkServiceService.java new file mode 100644 index 0000000..e80a206 --- /dev/null +++ b/play-admin/src/main/java/com/starry/admin/modules/commodity/service/IPlayClerkServiceService.java @@ -0,0 +1,84 @@ +package com.starry.admin.modules.commodity.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import com.starry.admin.modules.commodity.module.entity.PlayClerkServiceEntity; + +/** + * 陪聊引用服务项目Service接口 + * + * @author admin + * @since 2024-03-28 + */ +public interface IPlayClerkServiceService extends IService { + + + /** + * 初始化陪聊的服务项目 + * + * @param playUserId 陪聊用户ID + * @author admin + * @since 2024/3/28 11:13 + **/ + void initPlayService(String playUserId); + + /** + * 查询陪聊引用服务项目 + * + * @param id 陪聊引用服务项目主键 + * @return 陪聊引用服务项目 + */ + PlayClerkServiceEntity selectPlayClerkServiceById(String id); + + /** + * 查询陪聊引用服务项目列表 + * + * @param playClerkService 陪聊引用服务项目 + * @return 陪聊引用服务项目集合 + */ + IPage selectPlayClerkServiceByPage(PlayClerkServiceEntity playClerkService); + + /** + * 新增陪聊引用服务项目 + * + * @param playClerkService 陪聊引用服务项目 + * @return 结果 + */ + boolean create(PlayClerkServiceEntity playClerkService); + + + /** + * 修改陪聊服务启停状态 + * + * @param playUserId 陪聊用户ID + * @param serviceId 服务ID + * @param enablingState * 项目启用状态【0:停用,1:启用】 + * @author admin + * @since 2024/3/28 11:35 + **/ + void updateServiceEnablingState(String playUserId, String serviceId, String enablingState); + + /** + * 修改陪聊引用服务项目 + * + * @param playClerkService 陪聊引用服务项目 + * @return 结果 + */ + boolean update(PlayClerkServiceEntity playClerkService); + + /** + * 批量删除陪聊引用服务项目 + * + * @param ids 需要删除的陪聊引用服务项目主键集合 + * @return 结果 + */ + int deletePlayClerkServiceByIds(String[] ids); + + /** + * 删除陪聊引用服务项目信息 + * + * @param id 陪聊引用服务项目主键 + * @return 结果 + */ + int deletePlayClerkServiceById(String id); +} diff --git a/play-admin/src/main/java/com/starry/admin/modules/commodity/service/impl/PlayClearServiceServiceImpl.java b/play-admin/src/main/java/com/starry/admin/modules/commodity/service/impl/PlayClerkServiceServiceImpl.java similarity index 50% rename from play-admin/src/main/java/com/starry/admin/modules/commodity/service/impl/PlayClearServiceServiceImpl.java rename to play-admin/src/main/java/com/starry/admin/modules/commodity/service/impl/PlayClerkServiceServiceImpl.java index 9efe661..9d8f29b 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/commodity/service/impl/PlayClearServiceServiceImpl.java +++ b/play-admin/src/main/java/com/starry/admin/modules/commodity/service/impl/PlayClerkServiceServiceImpl.java @@ -7,10 +7,10 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.starry.admin.common.exception.CustomException; -import com.starry.admin.modules.commodity.mapper.PlayClearServiceMapper; -import com.starry.admin.modules.commodity.module.entity.PlayClearServiceEntity; +import com.starry.admin.modules.commodity.mapper.PlayClerkServiceMapper; +import com.starry.admin.modules.commodity.module.entity.PlayClerkServiceEntity; import com.starry.admin.modules.commodity.module.entity.PlayServiceInfoEntity; -import com.starry.admin.modules.commodity.service.IPlayClearServiceService; +import com.starry.admin.modules.commodity.service.IPlayClerkServiceService; import com.starry.admin.modules.commodity.service.IPlayServiceInfoService; import org.springframework.stereotype.Service; @@ -19,15 +19,15 @@ import java.util.Arrays; import java.util.List; /** - * 陪玩引用服务项目Service业务层处理 + * 陪聊引用服务项目Service业务层处理 * * @author admin * @since 2024-03-28 */ @Service -public class PlayClearServiceServiceImpl extends ServiceImpl implements IPlayClearServiceService { +public class PlayClerkServiceServiceImpl extends ServiceImpl implements IPlayClerkServiceService { @Resource - private PlayClearServiceMapper playClearServiceMapper; + private PlayClerkServiceMapper playClerkServiceMapper; @Resource @@ -37,7 +37,7 @@ public class PlayClearServiceServiceImpl extends ServiceImpl selectPlayClearServiceByPage(PlayClearServiceEntity playClearService) { - Page page = new Page<>(1, 10); + public IPage selectPlayClerkServiceByPage(PlayClerkServiceEntity playClerkService) { + Page page = new Page<>(1, 10); return this.baseMapper.selectPage(page, new LambdaQueryWrapper<>()); } /** - * 新增陪玩引用服务项目 + * 新增陪聊引用服务项目 * - * @param playClearService 陪玩引用服务项目 + * @param playClerkService 陪聊引用服务项目 * @return 结果 */ @Override - public boolean create(PlayClearServiceEntity playClearService) { - if (StrUtil.isBlankIfStr(playClearService.getId())) { - playClearService.setId(IdUtil.fastSimpleUUID()); + public boolean create(PlayClerkServiceEntity playClerkService) { + if (StrUtil.isBlankIfStr(playClerkService.getId())) { + playClerkService.setId(IdUtil.fastSimpleUUID()); } - return save(playClearService); + return save(playClerkService); } @Override public void updateServiceEnablingState(String playUserId, String serviceId, String enablingState) { - LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); - lambdaQueryWrapper.eq(PlayClearServiceEntity::getServiceId, serviceId); - lambdaQueryWrapper.eq(PlayClearServiceEntity::getPlayUserId, playUserId); - List list = this.baseMapper.selectList(lambdaQueryWrapper); + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(PlayClerkServiceEntity::getServiceId, serviceId); + lambdaQueryWrapper.eq(PlayClerkServiceEntity::getPlayUserId, playUserId); + List list = this.baseMapper.selectList(lambdaQueryWrapper); if (list.size() != 1) { throw new CustomException("服务不存在,请查证"); } // 更新服务状态 - PlayClearServiceEntity item = list.get(0); + PlayClerkServiceEntity item = list.get(0); item.setEnablingState(enablingState); this.update(item); } /** - * 修改陪玩引用服务项目 + * 修改陪聊引用服务项目 * - * @param playClearService 陪玩引用服务项目 + * @param playClerkService 陪聊引用服务项目 * @return 结果 */ @Override - public boolean update(PlayClearServiceEntity playClearService) { - return updateById(playClearService); + public boolean update(PlayClerkServiceEntity playClerkService) { + return updateById(playClerkService); } /** - * 批量删除陪玩引用服务项目 + * 批量删除陪聊引用服务项目 * - * @param ids 需要删除的陪玩引用服务项目主键 + * @param ids 需要删除的陪聊引用服务项目主键 * @return 结果 */ @Override - public int deletePlayClearServiceByIds(String[] ids) { - return playClearServiceMapper.deleteBatchIds(Arrays.asList(ids)); + public int deletePlayClerkServiceByIds(String[] ids) { + return playClerkServiceMapper.deleteBatchIds(Arrays.asList(ids)); } /** - * 删除陪玩引用服务项目信息 + * 删除陪聊引用服务项目信息 * - * @param id 陪玩引用服务项目主键 + * @param id 陪聊引用服务项目主键 * @return 结果 */ @Override - public int deletePlayClearServiceById(String id) { - return playClearServiceMapper.deleteById(id); + public int deletePlayClerkServiceById(String id) { + return playClerkServiceMapper.deleteById(id); } } diff --git a/play-admin/src/main/java/com/starry/admin/modules/custom/controller/PlayCustomLeaveMsgController.java b/play-admin/src/main/java/com/starry/admin/modules/custom/controller/PlayCustomLeaveMsgController.java new file mode 100644 index 0000000..20ac7b8 --- /dev/null +++ b/play-admin/src/main/java/com/starry/admin/modules/custom/controller/PlayCustomLeaveMsgController.java @@ -0,0 +1,79 @@ +package com.starry.admin.modules.custom.controller; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.starry.admin.modules.custom.module.entity.PlayCustomLeaveMsgEntity; +import com.starry.admin.modules.custom.module.vo.PlayCustomLeaveMsgQueryVo; +import com.starry.admin.modules.custom.module.vo.PlayCustomLeaveMsgReturnVo; +import com.starry.admin.modules.custom.service.IPlayCustomLeaveMsgService; +import com.starry.common.annotation.Log; +import com.starry.common.enums.BusinessType; +import com.starry.common.result.R; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + * 顾客留言Controller + * + * @author admin + * @since 2024-05-07 + */ +@RestController +@RequestMapping("/custom/leave") +public class PlayCustomLeaveMsgController { + @Resource + private IPlayCustomLeaveMsgService playCustomLeaveMsgService; + + /** + * 分页查询顾客留言列表 + */ + @PostMapping("/list") + public R list(@RequestBody PlayCustomLeaveMsgQueryVo vo) { + IPage list = playCustomLeaveMsgService.selectByPage(vo); + return R.ok(list); + } + + /** + * 获取顾客留言详细信息 + */ + @GetMapping(value = "/{id}") + public R getInfo(@PathVariable("id") String id) { + return R.ok(playCustomLeaveMsgService.selectPlayCustomLeaveMsgById(id)); + } + + /** + * 新增顾客留言 + */ + @Log(title = "顾客留言", businessType = BusinessType.INSERT) + @PostMapping("/create") + public R create(@RequestBody PlayCustomLeaveMsgEntity playCustomLeaveMsg) { + boolean success = playCustomLeaveMsgService.create(playCustomLeaveMsg); + if (success) { + return R.ok(); + } + return R.error("添加失败"); + } + + /** + * 修改顾客留言 + */ + @Log(title = "顾客留言", businessType = BusinessType.UPDATE) + @PostMapping(value = "/update/{id}") + public R update(@PathVariable String id, @RequestBody PlayCustomLeaveMsgEntity playCustomLeaveMsg) { + playCustomLeaveMsg.setId(id); + boolean success = playCustomLeaveMsgService.update(playCustomLeaveMsg); + if (success) { + return R.ok(); + } + return R.error("修改失败"); + } + + /** + * 删除顾客留言 + */ + @Log(title = "顾客留言", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public R remove(@PathVariable String[] ids) { + return R.ok(playCustomLeaveMsgService.deletePlayCustomLeaveMsgByIds(ids)); + } +} diff --git a/play-admin/src/main/java/com/starry/admin/modules/custom/mapper/PlayCustomLeaveMsgMapper.java b/play-admin/src/main/java/com/starry/admin/modules/custom/mapper/PlayCustomLeaveMsgMapper.java new file mode 100644 index 0000000..21631f2 --- /dev/null +++ b/play-admin/src/main/java/com/starry/admin/modules/custom/mapper/PlayCustomLeaveMsgMapper.java @@ -0,0 +1,16 @@ +package com.starry.admin.modules.custom.mapper; + + +import com.github.yulichang.base.MPJBaseMapper; +import com.starry.admin.modules.custom.module.entity.PlayCustomLeaveMsgEntity; + +/** + * 顾客留言Mapper接口 + * + * @author admin + * @since 2024-05-07 + */ +public interface PlayCustomLeaveMsgMapper extends MPJBaseMapper { + + +} diff --git a/play-admin/src/main/java/com/starry/admin/modules/custom/module/entity/PlayCustomLeaveMsgEntity.java b/play-admin/src/main/java/com/starry/admin/modules/custom/module/entity/PlayCustomLeaveMsgEntity.java new file mode 100644 index 0000000..d819e14 --- /dev/null +++ b/play-admin/src/main/java/com/starry/admin/modules/custom/module/entity/PlayCustomLeaveMsgEntity.java @@ -0,0 +1,56 @@ +package com.starry.admin.modules.custom.module.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.starry.common.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * 顾客留言对象 play_custom_leave_msg + * + * @author admin + * @since 2024-05-07 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("play_custom_leave_msg") +public class PlayCustomLeaveMsgEntity extends BaseEntity { + + + /** + * UUID + */ + private String id; + + /** + * 租户ID + */ + private String tenantId; + + /** + * 顾客ID + */ + private String customId; + + /** + * 留言内容 + */ + private String content; + + /** + * 图片 + */ + private String images; + + /** + * 留言时间 + */ + private Date msgTime; + + /** + * 备注 + */ + private String remark; +} diff --git a/play-admin/src/main/java/com/starry/admin/modules/custom/module/vo/PlayCustomLeaveMsgQueryVo.java b/play-admin/src/main/java/com/starry/admin/modules/custom/module/vo/PlayCustomLeaveMsgQueryVo.java new file mode 100644 index 0000000..ee22582 --- /dev/null +++ b/play-admin/src/main/java/com/starry/admin/modules/custom/module/vo/PlayCustomLeaveMsgQueryVo.java @@ -0,0 +1,12 @@ +package com.starry.admin.modules.custom.module.vo; + +import com.starry.common.domain.BasePageEntity; + +/** + * 顾客留言查询对象 + * + * @author admin + * @since 2024/5/7 16:29 + **/ +public class PlayCustomLeaveMsgQueryVo extends BasePageEntity { +} diff --git a/play-admin/src/main/java/com/starry/admin/modules/custom/module/vo/PlayCustomLeaveMsgReturnVo.java b/play-admin/src/main/java/com/starry/admin/modules/custom/module/vo/PlayCustomLeaveMsgReturnVo.java new file mode 100644 index 0000000..47b6ce5 --- /dev/null +++ b/play-admin/src/main/java/com/starry/admin/modules/custom/module/vo/PlayCustomLeaveMsgReturnVo.java @@ -0,0 +1,56 @@ +package com.starry.admin.modules.custom.module.vo; + +import lombok.Data; + +import java.util.Date; + +/** + * 顾客留言查询返回对象 + * + * @author admin + * @since 2024/5/7 16:29 + **/ +@Data +public class PlayCustomLeaveMsgReturnVo { + + + /** + * UUID + */ + private String id; + + /** + * 留言内容 + */ + private String content; + + /** + * 图片 + */ + private String images; + + /** + * 留言时间 + */ + private Date msgTime; + + /** + * 备注 + */ + private String remark; + + /** + * 顾客Id + */ + private String customId; + + /** + * 顾客昵称 + */ + private String customAvatar; + + /** + * 头像 + */ + private String customNickname; +} diff --git a/play-admin/src/main/java/com/starry/admin/modules/custom/service/IPlayCustomLeaveMsgService.java b/play-admin/src/main/java/com/starry/admin/modules/custom/service/IPlayCustomLeaveMsgService.java new file mode 100644 index 0000000..633581e --- /dev/null +++ b/play-admin/src/main/java/com/starry/admin/modules/custom/service/IPlayCustomLeaveMsgService.java @@ -0,0 +1,72 @@ +package com.starry.admin.modules.custom.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import com.starry.admin.modules.custom.module.entity.PlayCustomLeaveMsgEntity; +import com.starry.admin.modules.custom.module.vo.PlayCustomLeaveMsgQueryVo; +import com.starry.admin.modules.custom.module.vo.PlayCustomLeaveMsgReturnVo; + +/** + * 顾客留言Service接口 + * + * @author admin + * @since 2024-05-07 + */ +public interface IPlayCustomLeaveMsgService extends IService { + /** + * 查询顾客留言 + * + * @param id 顾客留言主键 + * @return 顾客留言 + */ + PlayCustomLeaveMsgEntity selectPlayCustomLeaveMsgById(String id); + + + /** + * 分页查询顾客留言列表 + * + * @param vo 顾客留言分页查询对象 + * @return 顾客留言集合 + */ + IPage selectByPage(PlayCustomLeaveMsgQueryVo vo); + + /** + * 查询顾客留言列表 + * + * @param playCustomLeaveMsg 顾客留言 + * @return 顾客留言集合 + */ + IPage selectPlayCustomLeaveMsgByPage(PlayCustomLeaveMsgEntity playCustomLeaveMsg); + + /** + * 新增顾客留言 + * + * @param playCustomLeaveMsg 顾客留言 + * @return 结果 + */ + boolean create(PlayCustomLeaveMsgEntity playCustomLeaveMsg); + + /** + * 修改顾客留言 + * + * @param playCustomLeaveMsg 顾客留言 + * @return 结果 + */ + boolean update(PlayCustomLeaveMsgEntity playCustomLeaveMsg); + + /** + * 批量删除顾客留言 + * + * @param ids 需要删除的顾客留言主键集合 + * @return 结果 + */ + int deletePlayCustomLeaveMsgByIds(String[] ids); + + /** + * 删除顾客留言信息 + * + * @param id 顾客留言主键 + * @return 结果 + */ + int deletePlayCustomLeaveMsgById(String id); +} diff --git a/play-admin/src/main/java/com/starry/admin/modules/custom/service/impl/PlayCustomLeaveMsgServiceImpl.java b/play-admin/src/main/java/com/starry/admin/modules/custom/service/impl/PlayCustomLeaveMsgServiceImpl.java new file mode 100644 index 0000000..b7b0a73 --- /dev/null +++ b/play-admin/src/main/java/com/starry/admin/modules/custom/service/impl/PlayCustomLeaveMsgServiceImpl.java @@ -0,0 +1,113 @@ +package com.starry.admin.modules.custom.service.impl; + +import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.github.yulichang.wrapper.MPJLambdaWrapper; +import com.starry.admin.modules.custom.mapper.PlayCustomLeaveMsgMapper; +import com.starry.admin.modules.custom.module.entity.PlayCustomLeaveMsgEntity; +import com.starry.admin.modules.custom.module.entity.PlayCustomUserInfoEntity; +import com.starry.admin.modules.custom.module.vo.PlayCustomLeaveMsgQueryVo; +import com.starry.admin.modules.custom.module.vo.PlayCustomLeaveMsgReturnVo; +import com.starry.admin.modules.custom.service.IPlayCustomLeaveMsgService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.Arrays; + +/** + * 顾客留言Service业务层处理 + * + * @author admin + * @since 2024-05-07 + */ +@Service +public class PlayCustomLeaveMsgServiceImpl extends ServiceImpl implements IPlayCustomLeaveMsgService { + @Resource + private PlayCustomLeaveMsgMapper playCustomLeaveMsgMapper; + + @Override + public IPage selectByPage(PlayCustomLeaveMsgQueryVo vo) { + MPJLambdaWrapper lambdaQueryWrapper = new MPJLambdaWrapper() + // 查询主表全部字段 + .selectAll(PlayCustomLeaveMsgEntity.class) + // 查询顾客表 + .selectAs(PlayCustomUserInfoEntity::getId, "customUId").selectAs(PlayCustomUserInfoEntity::getAvatar, "customAvatar").selectAs(PlayCustomUserInfoEntity::getNickname, "customNickname") + // 子表 + .leftJoin(PlayCustomUserInfoEntity.class, PlayCustomUserInfoEntity::getId, PlayCustomLeaveMsgEntity::getCustomId); + return this.baseMapper.selectJoinPage(new Page<>(vo.getPageNum(), vo.getPageSize()), PlayCustomLeaveMsgReturnVo.class, lambdaQueryWrapper); + } + + /** + * 查询顾客留言 + * + * @param id 顾客留言主键 + * @return 顾客留言 + */ + @Override + public PlayCustomLeaveMsgEntity selectPlayCustomLeaveMsgById(String id) { + return this.baseMapper.selectById(id); + } + + /** + * 查询顾客留言列表 + * + * @param playCustomLeaveMsg 顾客留言 + * @return 顾客留言 + */ + @Override + public IPage selectPlayCustomLeaveMsgByPage(PlayCustomLeaveMsgEntity playCustomLeaveMsg) { + Page page = new Page<>(1, 10); + return this.baseMapper.selectPage(page, new LambdaQueryWrapper()); + } + + /** + * 新增顾客留言 + * + * @param playCustomLeaveMsg 顾客留言 + * @return 结果 + */ + @Override + public boolean create(PlayCustomLeaveMsgEntity playCustomLeaveMsg) { + if (StrUtil.isBlankIfStr(playCustomLeaveMsg.getId())) { + playCustomLeaveMsg.setId(IdUtil.fastSimpleUUID()); + } + return save(playCustomLeaveMsg); + } + + /** + * 修改顾客留言 + * + * @param playCustomLeaveMsg 顾客留言 + * @return 结果 + */ + @Override + public boolean update(PlayCustomLeaveMsgEntity playCustomLeaveMsg) { + return updateById(playCustomLeaveMsg); + } + + /** + * 批量删除顾客留言 + * + * @param ids 需要删除的顾客留言主键 + * @return 结果 + */ + @Override + public int deletePlayCustomLeaveMsgByIds(String[] ids) { + return playCustomLeaveMsgMapper.deleteBatchIds(Arrays.asList(ids)); + } + + /** + * 删除顾客留言信息 + * + * @param id 顾客留言主键 + * @return 结果 + */ + @Override + public int deletePlayCustomLeaveMsgById(String id) { + return playCustomLeaveMsgMapper.deleteById(id); + } +} diff --git a/play-admin/src/main/java/com/starry/admin/modules/custom/service/impl/PlayCustomUserInfoServiceImpl.java b/play-admin/src/main/java/com/starry/admin/modules/custom/service/impl/PlayCustomUserInfoServiceImpl.java index 268df00..a555578 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/custom/service/impl/PlayCustomUserInfoServiceImpl.java +++ b/play-admin/src/main/java/com/starry/admin/modules/custom/service/impl/PlayCustomUserInfoServiceImpl.java @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.starry.admin.common.exception.CustomException; import com.starry.admin.modules.custom.mapper.PlayCustomUserInfoMapper; import com.starry.admin.modules.custom.module.entity.PlayCustomUserInfoEntity; import com.starry.admin.modules.custom.service.IPlayCustomUserInfoService; @@ -33,6 +34,7 @@ public class PlayCustomUserInfoServiceImpl extends ServiceImpl { /** - * 查询顾客关注陪玩信息 + * 查询顾客关注陪聊信息 * - * @param id 顾客关注陪玩信息主键 - * @return 顾客关注陪玩信息 + * @param id 顾客关注陪聊信息主键 + * @return 顾客关注陪聊信息 */ PlayCustomFollowInfoEntity selectPlayCustomFollowInfoById(String id); @@ -23,56 +23,56 @@ public interface IPlayCustomFollowInfoService extends IService selectPlayCustomFollowInfoByPage(PlayCustomFollowInfoEntity playCustomFollowInfo); /** - * 新增顾客关注陪玩信息 + * 新增顾客关注陪聊信息 * - * @param playCustomFollowInfo 顾客关注陪玩信息 + * @param playCustomFollowInfo 顾客关注陪聊信息 * @return 结果 */ boolean create(PlayCustomFollowInfoEntity playCustomFollowInfo); /** - * 修改顾客关注陪玩信息 + * 修改顾客关注陪聊信息 * - * @param playCustomFollowInfo 顾客关注陪玩信息 + * @param playCustomFollowInfo 顾客关注陪聊信息 * @return 结果 */ boolean update(PlayCustomFollowInfoEntity playCustomFollowInfo); /** - * 批量删除顾客关注陪玩信息 + * 批量删除顾客关注陪聊信息 * - * @param ids 需要删除的顾客关注陪玩信息主键集合 + * @param ids 需要删除的顾客关注陪聊信息主键集合 * @return 结果 */ int deletePlayCustomFollowInfoByIds(String[] ids); /** - * 删除顾客关注陪玩信息信息 + * 删除顾客关注陪聊信息信息 * - * @param id 顾客关注陪玩信息主键 + * @param id 顾客关注陪聊信息主键 * @return 结果 */ int deletePlayCustomFollowInfoById(String id); diff --git a/play-admin/src/main/java/com/starry/admin/modules/follow/service/impl/PlayCustomFollowInfoServiceImpl.java b/play-admin/src/main/java/com/starry/admin/modules/follow/service/impl/PlayCustomFollowInfoServiceImpl.java index 63fda85..8aa71f2 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/follow/service/impl/PlayCustomFollowInfoServiceImpl.java +++ b/play-admin/src/main/java/com/starry/admin/modules/follow/service/impl/PlayCustomFollowInfoServiceImpl.java @@ -16,7 +16,7 @@ import java.util.Arrays; import java.util.Date; /** - * 顾客关注陪玩信息Service业务层处理 + * 顾客关注陪聊信息Service业务层处理 * * @author admin * @since 2024-04-30 @@ -27,10 +27,10 @@ public class PlayCustomFollowInfoServiceImpl extends ServiceImpl lambdaQueryWrapper = new LambdaQueryWrapper<>(); - lambdaQueryWrapper.eq(PlayCustomFollowInfoEntity::getClerkUserId, clarkUserId); + lambdaQueryWrapper.eq(PlayCustomFollowInfoEntity::getClerkUserId, clerkUserId); lambdaQueryWrapper.eq(PlayCustomFollowInfoEntity::getCustomUserId, customUserId); PlayCustomFollowInfoEntity entity = this.baseMapper.selectOne(lambdaQueryWrapper); return entity == null ? "0" : entity.getFollowState(); } @Override - public void updateFollowState(String customUserId, String clarkUserId, String followState) { + public void updateFollowState(String customUserId, String clerkUserId, String followState) { LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); - lambdaQueryWrapper.eq(PlayCustomFollowInfoEntity::getClerkUserId, clarkUserId); + lambdaQueryWrapper.eq(PlayCustomFollowInfoEntity::getClerkUserId, clerkUserId); lambdaQueryWrapper.eq(PlayCustomFollowInfoEntity::getCustomUserId, customUserId); PlayCustomFollowInfoEntity entity = this.baseMapper.selectOne(lambdaQueryWrapper); if (entity == null) { entity = new PlayCustomFollowInfoEntity(); entity.setCustomUserId(customUserId); entity.setFollowState(followState); - entity.setClerkUserId(clarkUserId); + entity.setClerkUserId(clerkUserId); entity.setFollowTime(new Date()); this.baseMapper.insert(entity); } else { @@ -67,10 +67,10 @@ public class PlayCustomFollowInfoServiceImpl extends ServiceImpl selectPlayCustomFollowInfoByPage(PlayCustomFollowInfoEntity playCustomFollowInfo) { @@ -79,9 +79,9 @@ public class PlayCustomFollowInfoServiceImpl extends ServiceImpl list = playOrderComplaintInfoService.selectByPage(vo); + return R.ok(list); + } + + /** + * 获取订单投诉信息详细信息 + */ + @GetMapping(value = "/{id}") + public R getInfo(@PathVariable("id") String id) { + return R.ok(playOrderComplaintInfoService.selectPlayOrderComplaintInfoById(id)); + } + + /** + * 新增订单投诉信息 + */ + @Log(title = "订单投诉信息", businessType = BusinessType.INSERT) + @PostMapping("/create") + public R create(@RequestBody PlayOrderComplaintInfoEntity playOrderComplaintInfo) { + boolean success = playOrderComplaintInfoService.create(playOrderComplaintInfo); + if (success) { + return R.ok(); + } + return R.error("添加失败"); + } + + /** + * 修改订单投诉信息 + */ + @Log(title = "订单投诉信息", businessType = BusinessType.UPDATE) + @PostMapping(value = "/update/{id}") + public R update(@PathVariable String id, @RequestBody PlayOrderComplaintInfoEntity playOrderComplaintInfo) { + playOrderComplaintInfo.setId(id); + boolean success = playOrderComplaintInfoService.update(playOrderComplaintInfo); + if (success) { + return R.ok(); + } + return R.error("修改失败"); + } + + /** + * 删除订单投诉信息 + */ + @Log(title = "订单投诉信息", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public R remove(@PathVariable String[] ids) { + return R.ok(playOrderComplaintInfoService.deletePlayOrderComplaintInfoByIds(ids)); + } +} diff --git a/play-admin/src/main/java/com/starry/admin/modules/order/controller/PlayOrderEvaluateInfoController.java b/play-admin/src/main/java/com/starry/admin/modules/order/controller/PlayOrderEvaluateInfoController.java new file mode 100644 index 0000000..9f1c234 --- /dev/null +++ b/play-admin/src/main/java/com/starry/admin/modules/order/controller/PlayOrderEvaluateInfoController.java @@ -0,0 +1,95 @@ +package com.starry.admin.modules.order.controller; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.starry.admin.modules.order.module.entity.PlayOrderEvaluateInfoEntity; +import com.starry.admin.modules.order.module.vo.PlayOrderEvaluateEditVo; +import com.starry.admin.modules.order.module.vo.PlayOrderEvaluateQueryVo; +import com.starry.admin.modules.order.module.vo.PlayOrderEvaluateReturnVo; +import com.starry.admin.modules.order.service.IPlayOrderEvaluateInfoService; +import com.starry.common.annotation.Log; +import com.starry.common.enums.BusinessType; +import com.starry.common.result.R; +import com.starry.common.utils.ConvertUtil; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + * 订单评价信息Controller + * + * @author admin + * @since 2024-05-07 + */ +@RestController +@RequestMapping("/order/evaluate") +public class PlayOrderEvaluateInfoController { + @Resource + private IPlayOrderEvaluateInfoService playOrderEvaluateInfoService; + + /** + * 查询订单评价信息列表 + */ + @PostMapping("/list") + public R list(@RequestBody PlayOrderEvaluateQueryVo vo) { + IPage list = playOrderEvaluateInfoService.selectByPage(vo); + return R.ok(list); + } + + /** + * 获取订单评价信息详细信息 + */ + @GetMapping(value = "/{id}") + public R getInfo(@PathVariable("id") String id) { + return R.ok(playOrderEvaluateInfoService.selectPlayOrderEvaluateInfoById(id)); + } + + /** + * 新增订单评价信息 + */ + @Log(title = "订单评价信息", businessType = BusinessType.INSERT) + @PostMapping("/create") + public R create(@RequestBody PlayOrderEvaluateInfoEntity playOrderEvaluateInfo) { + boolean success = playOrderEvaluateInfoService.create(playOrderEvaluateInfo); + if (success) { + return R.ok(); + } + return R.error("添加失败"); + } + + /** + * 修改订单评价信息 + */ + @Log(title = "订单评价信息", businessType = BusinessType.UPDATE) + @PostMapping(value = "/update/{id}") + public R update(@PathVariable String id, @RequestBody PlayOrderEvaluateInfoEntity playOrderEvaluateInfo) { + playOrderEvaluateInfo.setId(id); + boolean success = playOrderEvaluateInfoService.update(playOrderEvaluateInfo); + if (success) { + return R.ok(); + } + return R.error("修改失败"); + } + + /** + * 修改订单评价信息 + */ + @Log(title = "修改订单评价状态", businessType = BusinessType.UPDATE) + @PostMapping(value = "/updateStatus") + public R update(@RequestBody PlayOrderEvaluateEditVo vo) { + PlayOrderEvaluateInfoEntity entity = ConvertUtil.entityToVo(vo, PlayOrderEvaluateInfoEntity.class); + boolean success = playOrderEvaluateInfoService.update(entity); + if (success) { + return R.ok(); + } + return R.error("修改失败"); + } + + /** + * 删除订单评价信息 + */ + @Log(title = "订单评价信息", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public R remove(@PathVariable String[] ids) { + return R.ok(playOrderEvaluateInfoService.deletePlayOrderEvaluateInfoByIds(ids)); + } +} diff --git a/play-admin/src/main/java/com/starry/admin/modules/order/controller/PlayOrderInfoController.java b/play-admin/src/main/java/com/starry/admin/modules/order/controller/PlayOrderInfoController.java index 8010124..c8c7774 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/order/controller/PlayOrderInfoController.java +++ b/play-admin/src/main/java/com/starry/admin/modules/order/controller/PlayOrderInfoController.java @@ -1,19 +1,11 @@ package com.starry.admin.modules.order.controller; -import cn.hutool.core.util.IdUtil; -import com.starry.admin.common.exception.CustomException; -import com.starry.admin.modules.coupon.module.entity.CouponInfoEntity; -import com.starry.admin.modules.coupon.service.ICouponInfoService; import com.starry.admin.modules.order.module.entity.PlayOrderInfoEntity; -import com.starry.admin.modules.order.module.vo.*; +import com.starry.admin.modules.order.module.vo.PlayOrderInfoQueryVo; import com.starry.admin.modules.order.service.IPlayOrderInfoService; -import com.starry.admin.modules.play.module.entity.PlayUserInfoEntity; -import com.starry.admin.modules.play.service.IPlayUserInfoService; import com.starry.common.annotation.Log; import com.starry.common.enums.BusinessType; import com.starry.common.result.R; -import com.starry.common.utils.ConvertUtil; -import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -32,106 +24,12 @@ public class PlayOrderInfoController { private IPlayOrderInfoService orderInfoService; - @Resource - private ICouponInfoService couponInfoService; - - @Resource - private IPlayUserInfoService playUserInfoService; - - - @Log(title = "取消订单", businessType = BusinessType.UPDATE) - public R cancellationOrder(@RequestBody OrderInfoCancellationVo vo) { - - // 判断操作人是否是陪玩本身 - PlayOrderInfoEntity entity = orderInfoService.selectOrderInfoById(vo.getId()); - - // 校验通过 - orderInfoService.orderRefund(vo.getId(), "2", null, false); - - - return R.ok(); - } - - @PreAuthorize("@customSs.hasPermission('order/info/create')") - @Log(title = "新增打赏订单", businessType = BusinessType.INSERT) - @PostMapping("/reward") - public R reward(@RequestBody OrderInfoRewardVo addVo) { - - // 校验当前用户余额是否充足 - // if (false) { - - // throw new CustomException("余额不足,无法下单"); - // } - - // 新增陪玩余额 -// playUserInfoService.editAccountBalance(addVo.getPlayUserId(), addVo.getMoney(), "add"); - // 减少用户余额 - - // 新增订单记录(订单信息需完善) - PlayOrderInfoEntity entity = ConvertUtil.entityToVo(addVo, PlayOrderInfoEntity.class); - orderInfoService.create(entity); - // 新增订单处理日志(打赏单,订单直接完成) -// orderLogInfoService.create(new OrderLogInfoEntity(entity.getId(), "1", new Date())); -// orderLogInfoService.create(new OrderLogInfoEntity(entity.getId(), "4", new Date())); - return R.ok("成功"); - } - - - /** - * 新增订单 - */ - @PreAuthorize("@customSs.hasPermission('order/info/create')") - @Log(title = "新增普通订单", businessType = BusinessType.INSERT) - @PostMapping("/create") - public R create(@RequestBody OrderInfoAddVo addVo) { - - // 商品总价格 - long commodityTotalMoney = 0; - // 订单总价格 - long orderTotalMoney = 0; - // 校验商品(陪玩)状态 - PlayUserInfoEntity playUserInfo = playUserInfoService.selectPlayUserInfoById(addVo.getPlayUserId()); - - - // 校验优惠券是否存在 - for (String commodityInfoId : addVo.getCouponIds()) { - CouponInfoEntity couponInfo = couponInfoService.selectCouponInfoById(commodityInfoId); - if (couponInfo == null) { - throw new CustomException("优惠券不存在"); - } - } - - // 校验当前用户余额是否充足 -// if (false) { -// throw new CustomException("余额不足,无法下单"); -// } - - PlayOrderInfoEntity entity = ConvertUtil.entityToVo(addVo, PlayOrderInfoEntity.class); - entity.setId(IdUtil.fastSimpleUUID()); - entity.setFirstOrder(true); -// entity.setOrderMoney(String.valueOf(orderTotalMoney)); - - orderInfoService.create(entity); - - // 记录订单日志 -// orderLogInfoService.create(new OrderLogInfoEntity(entity.getId(), "0", new Date())); - // 记录订单详细信息 -// orderDetailsInfoService.create(new OrderDetailsInfoEntity(entity.getId(), addVo.getPlayUserId(), "0")); -// for (String commodityInfoId : addVo.getCouponIds()) { -// orderDetailsInfoService.create(new OrderDetailsInfoEntity(entity.getId(), commodityInfoId, "1")); -// } - // 发送通知给陪玩,等待陪玩接单 - - return R.ok("下单成功,等待接单"); - } - - /** * 分页查询订单列表 */ @GetMapping("/list") - public R list(OrderInfoQueryVo vo) { - return R.ok(orderInfoService.selectOrderInfoList(vo)); + public R list(PlayOrderInfoQueryVo vo) { + return R.ok(orderInfoService.selectOrderInfoPage(vo)); } @@ -158,17 +56,6 @@ public class PlayOrderInfoController { return R.error("修改失败"); } - /** - * 根据ID进行订单退款 - */ - - @Log(title = "用户发起订单退款申请", businessType = BusinessType.UPDATE) - @PostMapping(value = "/refund/{id}") - public R refund(@RequestBody OrderInfoRefundVo vo) { - orderInfoService.orderRefund(vo.getId(), vo.getRefundType(), vo.getRefundMoney(), false); - return R.ok("成功"); - } - /** * 删除订单 diff --git a/play-admin/src/main/java/com/starry/admin/modules/order/mapper/PlayOrderComplaintInfoMapper.java b/play-admin/src/main/java/com/starry/admin/modules/order/mapper/PlayOrderComplaintInfoMapper.java new file mode 100644 index 0000000..5729ced --- /dev/null +++ b/play-admin/src/main/java/com/starry/admin/modules/order/mapper/PlayOrderComplaintInfoMapper.java @@ -0,0 +1,16 @@ +package com.starry.admin.modules.order.mapper; + + +import com.github.yulichang.base.MPJBaseMapper; +import com.starry.admin.modules.order.module.entity.PlayOrderComplaintInfoEntity; + +/** + * 订单投诉信息Mapper接口 + * + * @author admin + * @since 2024-05-07 + */ +public interface PlayOrderComplaintInfoMapper extends MPJBaseMapper { + + +} diff --git a/play-admin/src/main/java/com/starry/admin/modules/order/mapper/PlayOrderEvaluateInfoMapper.java b/play-admin/src/main/java/com/starry/admin/modules/order/mapper/PlayOrderEvaluateInfoMapper.java new file mode 100644 index 0000000..872200b --- /dev/null +++ b/play-admin/src/main/java/com/starry/admin/modules/order/mapper/PlayOrderEvaluateInfoMapper.java @@ -0,0 +1,16 @@ +package com.starry.admin.modules.order.mapper; + + +import com.github.yulichang.base.MPJBaseMapper; +import com.starry.admin.modules.order.module.entity.PlayOrderEvaluateInfoEntity; + +/** + * 订单评价信息Mapper接口 + * + * @author admin + * @since 2024-05-07 + */ +public interface PlayOrderEvaluateInfoMapper extends MPJBaseMapper { + + +} diff --git a/play-admin/src/main/java/com/starry/admin/modules/order/module/constant/OrderConstant.java b/play-admin/src/main/java/com/starry/admin/modules/order/module/constant/OrderConstant.java new file mode 100644 index 0000000..2f05b24 --- /dev/null +++ b/play-admin/src/main/java/com/starry/admin/modules/order/module/constant/OrderConstant.java @@ -0,0 +1,44 @@ +package com.starry.admin.modules.order.module.constant; + +/** + * @author 杭州世平信息科技有限公司-xuhq + * @since 2024/5/8 15:41 + **/ +public class OrderConstant { + + /** + * 订单状态-待接单 + * + * @since 2024/5/8 15:42 + **/ + public final static String ORDER_STATUS_0 = "0"; + + /** + * 订单状态-待开始 + * + * @since 2024/5/8 15:42 + **/ + public final static String ORDER_STATUS_1 = "1"; + + /** + * 订单状态-服务中 + * + * @since 2024/5/8 15:42 + **/ + public final static String ORDER_STATUS_2 = "2"; + + /** + * 订单状态-已完成 + * + * @since 2024/5/8 15:42 + **/ + public final static String ORDER_STATUS_3 = "3"; + + /** + * 订单状态-已取消 + * + * @since 2024/5/8 15:42 + **/ + public final static String ORDER_STATUS_4 = "4"; + +} diff --git a/play-admin/src/main/java/com/starry/admin/modules/order/module/entity/PlayOrderComplaintInfoEntity.java b/play-admin/src/main/java/com/starry/admin/modules/order/module/entity/PlayOrderComplaintInfoEntity.java new file mode 100644 index 0000000..123533a --- /dev/null +++ b/play-admin/src/main/java/com/starry/admin/modules/order/module/entity/PlayOrderComplaintInfoEntity.java @@ -0,0 +1,73 @@ +package com.starry.admin.modules.order.module.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.starry.common.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * 订单投诉信息对象 play_order_complaint_info + * + * @author admin + * @since 2024-05-07 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("play_order_complaint_info") +public class PlayOrderComplaintInfoEntity extends BaseEntity { + + + /** + * uuid + */ + private String id; + + /** + * 租户ID + */ + private String tenantId; + + /** + * 订单ID + */ + private String orderId; + + /** + * 顾客ID + */ + private String customId; + + /** + * 店员ID + */ + private String clerkId; + + /** + * 投诉人微信号码 + */ + private String wxChatCode; + + /** + * 投诉内容 + */ + private String complaintCon; + + /** + * 投诉时间 + */ + private Date complaintTime; + + /** + * 图片列表 + */ + private String images; + + /** + * 数据是否隐藏(0:未隐藏,1:隐藏) + */ + private String hidden; + + +} diff --git a/play-admin/src/main/java/com/starry/admin/modules/order/module/entity/PlayOrderEvaluateInfoEntity.java b/play-admin/src/main/java/com/starry/admin/modules/order/module/entity/PlayOrderEvaluateInfoEntity.java new file mode 100644 index 0000000..ae74e54 --- /dev/null +++ b/play-admin/src/main/java/com/starry/admin/modules/order/module/entity/PlayOrderEvaluateInfoEntity.java @@ -0,0 +1,78 @@ +package com.starry.admin.modules.order.module.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.starry.common.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * 订单评价信息对象 play_order_evaluate_info + * + * @author admin + * @since 2024-05-07 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("play_order_evaluate_info") +public class PlayOrderEvaluateInfoEntity extends BaseEntity { + + + /** + * uuid + */ + private String id; + + /** + * 租户ID + */ + private String tenantId; + + /** + * 订单ID + */ + private String orderId; + + /** + * 顾客ID + */ + private String customId; + + /** + * 店员ID + */ + private String clerkId; + + /** + * 匿名评价(0:匿名,1:非匿名) + */ + private String anonymous; + + /** + * 评价类型(0:好评,1差评) + */ + private String evaluateType; + + /** + * 评价等级【1-5星,最低1星,最高5星】 + */ + private Integer evaluateLevel; + + /** + * 评价内容 + */ + private String evaluateCon; + + /** + * 评价时间 + */ + private Date evaluateTime; + + /** + * 数据是否隐藏(0:未隐藏,1:隐藏) + */ + private String hidden; + + +} diff --git a/play-admin/src/main/java/com/starry/admin/modules/order/module/entity/PlayOrderInfoEntity.java b/play-admin/src/main/java/com/starry/admin/modules/order/module/entity/PlayOrderInfoEntity.java index 30d111d..a87a182 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/order/module/entity/PlayOrderInfoEntity.java +++ b/play-admin/src/main/java/com/starry/admin/modules/order/module/entity/PlayOrderInfoEntity.java @@ -8,7 +8,6 @@ import lombok.Data; import lombok.EqualsAndHashCode; import java.math.BigDecimal; -import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -21,7 +20,7 @@ import java.util.List; @Data @EqualsAndHashCode(callSuper = false) -@TableName("play_order_info") +@TableName(value = "play_order_info", autoResultMap = true) public class PlayOrderInfoEntity extends BaseEntity { @@ -37,17 +36,16 @@ public class PlayOrderInfoEntity extends BaseEntity { /** * 订单状态【0:1:2:3:4:5】 - * 0:已下单 - * 1:已审核(退款 或者 提现需要审核,其余不需要) - * 2:已接单 - * 3:已开始 - * 4:已完成 - * 5:已取消 + * 0:已下单(待接单) + * 1:已接单(待开始) + * 2:已开始(服务中) + * 3:已完成 + * 4:已取消 */ private String orderStatus; /** - * 订单类型【0:充值订单;1:提现订单;2:普通订单】 + * 订单类型【-1:退款订单;0:充值订单;1:提现订单;2:普通订单】 */ private String orderType; @@ -83,19 +81,29 @@ public class PlayOrderInfoEntity extends BaseEntity { /** * 商品数量 */ - private String commodityNumber; + private int commodityNumber; /** * 优惠券列表 */ @TableField(typeHandler = StringTypeHandler.class) - private List couponIds = new ArrayList<>(); + private List couponIds; /** * 支付方式,0:余额支付,1:微信支付,2:支付宝支付 */ private String payMethod; + /** + * 支付状态,[-1:支付失败,0:未支付;1:支付中;2:支付完成] + */ + private String payState; + + /** + * 支付消息 + */ + private String payMsg; + /** * 订单金额 @@ -123,6 +131,11 @@ public class PlayOrderInfoEntity extends BaseEntity { */ private String reviewRequired; + /** + * 审核状态(0:未审核,1:已通过,2:不通过) + */ + private String reviewState; + /** * 审核人 */ diff --git a/play-admin/src/main/java/com/starry/admin/modules/order/module/vo/OrderInfoAddVo.java b/play-admin/src/main/java/com/starry/admin/modules/order/module/vo/OrderInfoAddVo.java index bf4e945..c2b1b3a 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/order/module/vo/OrderInfoAddVo.java +++ b/play-admin/src/main/java/com/starry/admin/modules/order/module/vo/OrderInfoAddVo.java @@ -10,7 +10,7 @@ import javax.validation.constraints.NotBlank; import java.util.List; /** - * 陪玩订单对象 order_info + * 陪聊订单对象 order_info * * @author admin * @since 2024-03-20 @@ -52,9 +52,9 @@ public class OrderInfoAddVo extends BaseEntity { private String placeType; /** - * 陪玩ID + * 陪聊ID */ - @NotBlank(message = "陪玩对象不能为空") + @NotBlank(message = "陪聊对象不能为空") private String playUserId; /** diff --git a/play-admin/src/main/java/com/starry/admin/modules/order/module/vo/OrderInfoRewardVo.java b/play-admin/src/main/java/com/starry/admin/modules/order/module/vo/OrderInfoRewardVo.java deleted file mode 100644 index bb6153f..0000000 --- a/play-admin/src/main/java/com/starry/admin/modules/order/module/vo/OrderInfoRewardVo.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.starry.admin.modules.order.module.vo; - -import com.starry.common.domain.BaseEntity; -import lombok.Data; -import lombok.EqualsAndHashCode; - -import javax.validation.constraints.NotBlank; - -/** - * 订单信息对象 order_info - * - * @author admin - * @since 2024-03-20 - */ -@Data -@EqualsAndHashCode(callSuper = false) - -public class OrderInfoRewardVo extends BaseEntity { - - /** - * 租户ID - */ - @NotBlank(message = "租户ID不能为空") - private String tenantId; - - /** - * 用户ID - */ - @NotBlank(message = "打赏对象不能为空") - private String playUserId; - - /** - * 订单类型【0:充值订单;1:提现订单;2:普通订单】 - */ - private String orderType = String.valueOf(2); - - /** - * 下单类型(0:指定单,1:随机单。2:打赏单) - */ - @NotBlank(message = "下单类型不能为空") - private String placeType = "2"; - - /** - * 金额,单位分 - */ - @NotBlank(message = "打赏金额不能为空") - private String money; - - -} \ No newline at end of file diff --git a/play-admin/src/main/java/com/starry/admin/modules/order/module/vo/PlayOrderComplaintQueryVo.java b/play-admin/src/main/java/com/starry/admin/modules/order/module/vo/PlayOrderComplaintQueryVo.java new file mode 100644 index 0000000..3fad9a8 --- /dev/null +++ b/play-admin/src/main/java/com/starry/admin/modules/order/module/vo/PlayOrderComplaintQueryVo.java @@ -0,0 +1,18 @@ +package com.starry.admin.modules.order.module.vo; + + +import com.starry.common.domain.BasePageEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 订单投诉查询对象 + * + * @author admin + */ +@EqualsAndHashCode(callSuper = true) +@Data +public class PlayOrderComplaintQueryVo extends BasePageEntity { + + +} diff --git a/play-admin/src/main/java/com/starry/admin/modules/order/module/vo/PlayOrderComplaintReturnVo.java b/play-admin/src/main/java/com/starry/admin/modules/order/module/vo/PlayOrderComplaintReturnVo.java new file mode 100644 index 0000000..e80c087 --- /dev/null +++ b/play-admin/src/main/java/com/starry/admin/modules/order/module/vo/PlayOrderComplaintReturnVo.java @@ -0,0 +1,81 @@ +package com.starry.admin.modules.order.module.vo; + + +import lombok.Data; + +import java.util.Date; + +/** + * 订单投诉查询返回对象 + * + * @author admin + */ +@Data +public class PlayOrderComplaintReturnVo { + + + /** + * uuid + */ + private String id; + + /** + * 订单ID + */ + private String orderId; + + /** + * 顾客ID + */ + private String customId; + + /** + * 顾客昵称 + */ + private String customNickname; + + /** + * 顾客头像 + */ + private String customAvatar; + + /** + * 店员ID + */ + private String clerkId; + + /** + * 顾客昵称 + */ + private String clerkNickname; + + /** + * 顾客头像 + */ + private String clerkAvatar; + + /** + * 投诉人微信号码 + */ + private String wxChatCode; + + /** + * 投诉内容 + */ + private String complaintCon; + + /** + * 投诉时间 + */ + private Date complaintTime; + + /** + * 图片列表 + */ + private String images; + + /** + * 数据是否隐藏(0:未隐藏,1:隐藏) + */ + private String hidden; +} diff --git a/play-admin/src/main/java/com/starry/admin/modules/order/module/vo/PlayOrderEvaluateEditVo.java b/play-admin/src/main/java/com/starry/admin/modules/order/module/vo/PlayOrderEvaluateEditVo.java new file mode 100644 index 0000000..5cc3308 --- /dev/null +++ b/play-admin/src/main/java/com/starry/admin/modules/order/module/vo/PlayOrderEvaluateEditVo.java @@ -0,0 +1,24 @@ +package com.starry.admin.modules.order.module.vo; + + +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * 订单评价查询对象 + * + * @author admin + */ +@Data +public class PlayOrderEvaluateEditVo { + + @NotBlank(message = "ID不能为空") + private String id; + + + /** + * 数据是否隐藏(0:未隐藏,1:隐藏) + */ + private String hidden; +} diff --git a/play-admin/src/main/java/com/starry/admin/modules/order/module/vo/PlayOrderEvaluateQueryVo.java b/play-admin/src/main/java/com/starry/admin/modules/order/module/vo/PlayOrderEvaluateQueryVo.java new file mode 100644 index 0000000..53b6283 --- /dev/null +++ b/play-admin/src/main/java/com/starry/admin/modules/order/module/vo/PlayOrderEvaluateQueryVo.java @@ -0,0 +1,16 @@ +package com.starry.admin.modules.order.module.vo; + + +import com.starry.common.domain.BasePageEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 订单评价查询对象 + * + * @author admin + */ +@EqualsAndHashCode(callSuper = true) +@Data +public class PlayOrderEvaluateQueryVo extends BasePageEntity { +} diff --git a/play-admin/src/main/java/com/starry/admin/modules/order/module/vo/PlayOrderEvaluateReturnVo.java b/play-admin/src/main/java/com/starry/admin/modules/order/module/vo/PlayOrderEvaluateReturnVo.java new file mode 100644 index 0000000..abbae6a --- /dev/null +++ b/play-admin/src/main/java/com/starry/admin/modules/order/module/vo/PlayOrderEvaluateReturnVo.java @@ -0,0 +1,85 @@ +package com.starry.admin.modules.order.module.vo; + + +import lombok.Data; + +import java.util.Date; + +/** + * 订单评价查询返回对象 + * + * @author admin + */ +@Data +public class PlayOrderEvaluateReturnVo { + + /** + * uuid + */ + private String id; + + /** + * 订单ID + */ + private String orderId; + + /** + * 匿名评价(0:匿名,1:非匿名) + */ + private String anonymous; + /** + * 评价类型(0:好评,1差评) + */ + private String evaluateType; + + /** + * 评价等级【1-5星,最低1星,最高5星】 + */ + private Integer evaluateLevel; + + /** + * 评价内容 + */ + private String evaluateCon; + + /** + * 评价时间 + */ + private Date evaluateTime; + + /** + * 数据是否隐藏(0:未隐藏,1:隐藏) + */ + private String hidden; + + + /** + * 顾客ID + */ + private String customId; + + /** + * 顾客昵称 + */ + private String customNickname; + + /** + * 顾客头像 + */ + private String customAvatar; + + /** + * 店员ID + */ + private String clerkId; + + /** + * 顾客昵称 + */ + private String clerkNickname; + + /** + * 顾客头像 + */ + private String clerkAvatar; +} diff --git a/play-admin/src/main/java/com/starry/admin/modules/order/module/vo/OrderInfoQueryVo.java b/play-admin/src/main/java/com/starry/admin/modules/order/module/vo/PlayOrderInfoQueryVo.java similarity index 79% rename from play-admin/src/main/java/com/starry/admin/modules/order/module/vo/OrderInfoQueryVo.java rename to play-admin/src/main/java/com/starry/admin/modules/order/module/vo/PlayOrderInfoQueryVo.java index 8ad9b33..4c41d3a 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/order/module/vo/OrderInfoQueryVo.java +++ b/play-admin/src/main/java/com/starry/admin/modules/order/module/vo/PlayOrderInfoQueryVo.java @@ -7,14 +7,14 @@ import lombok.EqualsAndHashCode; import java.util.Date; /** - * 订单对象 order_info + * 订单查询对象 * * @author admin * @since 2024-03-20 */ @Data @EqualsAndHashCode(callSuper = false) -public class OrderInfoQueryVo extends BasePageEntity { +public class PlayOrderInfoQueryVo extends BasePageEntity { /** @@ -25,11 +25,10 @@ public class OrderInfoQueryVo extends BasePageEntity { /** * 订单状态【0:1:2:3:4:5】 * 0:已下单 - * 1:已审核(退款 或者 提现需要审核,其余不需要) - * 2:已接单 - * 3:已开始 - * 4:已完成 - * 5:已取消 + * 1:已接单 + * 2:已开始 + * 3:已完成 + * 4:已取消 */ private String orderStatus; @@ -44,7 +43,7 @@ public class OrderInfoQueryVo extends BasePageEntity { private String placeType; /** - * 是否是首单【0:不是。1:是】 + * 是否是首单【0:不是;1:是】 */ private Integer firstOrder; @@ -61,7 +60,7 @@ public class OrderInfoQueryVo extends BasePageEntity { /** * 下单人 */ - private Date purchaserBy; + private String purchaserBy; /** * 下单时间 diff --git a/play-admin/src/main/java/com/starry/admin/modules/order/module/vo/PlayOrderInfoReturnVo.java b/play-admin/src/main/java/com/starry/admin/modules/order/module/vo/PlayOrderInfoReturnVo.java new file mode 100644 index 0000000..ead0250 --- /dev/null +++ b/play-admin/src/main/java/com/starry/admin/modules/order/module/vo/PlayOrderInfoReturnVo.java @@ -0,0 +1,119 @@ +package com.starry.admin.modules.order.module.vo; + +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * 订单查询返回对象 + * + * @author admin + * @since 2024-03-20 + */ +@Data +@EqualsAndHashCode(callSuper = false) +public class PlayOrderInfoReturnVo { + + + private String id; + + /** + * 用户ID + */ + private String customId; + + /** + * 用户昵称 + */ + private String customNickname; + + + /** + * 用户头像 + */ + private String customAvatar; + + + /** + * 店员ID + */ + private String clerkId; + + /** + * 店员昵称 + */ + private String clerkNickname; + + /** + * 店员头像 + */ + private String clerkAvatar; + + + /** + * 下单时间 + */ + private Date purchaserTime; + + /** + * 订单金额 + */ + private BigDecimal orderMoney; + + + /** + * 订单最终金额 + */ + private BigDecimal finalAmount; + + + /** + * 商品ID + */ + private String commodityId; + + /** + * 商品类型[0:礼物,1:服务] + */ + private String commodityType; + + /** + * 商品类型[0:礼物,1:服务] + */ + private String commodityName; + /** + * 商品单价 + */ + private BigDecimal commodityPrice; + + /** + * 服务市场 + * + * @since 2024/5/8 16:44 + **/ + private String serviceDuration; + + /** + * 商品数量 + */ + private int commodityNumber; + + /** + * 订单状态【0:1:2:3:4】 + * 0:已下单(待接单) + * 1:已接单(待开始) + * 2:已开始(服务中) + * 3:已完成 + * 4:已取消 + */ + private String orderStatus; + + /** + * 下单类型(0:指定单,1:随机单。2:打赏单) + */ + private String placeType; + + +} \ No newline at end of file diff --git a/play-admin/src/main/java/com/starry/admin/modules/order/module/vo/PlayOrderRewardReturnVo.java b/play-admin/src/main/java/com/starry/admin/modules/order/module/vo/PlayOrderRewardReturnVo.java index 68345ef..131122d 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/order/module/vo/PlayOrderRewardReturnVo.java +++ b/play-admin/src/main/java/com/starry/admin/modules/order/module/vo/PlayOrderRewardReturnVo.java @@ -7,6 +7,7 @@ import java.util.Date; /** * 打赏订单查询返回信息 + * @author admin */ @Data public class PlayOrderRewardReturnVo { @@ -19,34 +20,34 @@ public class PlayOrderRewardReturnVo { /** * 用户ID */ - private String customUserId; + private String customId; /** * 用户昵称 */ - private String customUserNickname; + private String customNickname; /** * 用户头像 */ - private String customUserAvatar; + private String customAvatar; /** * 店员ID */ - private String clerkUserId; + private String clerkId; /** * 店员昵称 */ - private String clerkUserNickname; + private String clerkNickname; /** * 店员头像 */ - private String clerkUserAvatar; + private String clerkAvatar; /** diff --git a/play-admin/src/main/java/com/starry/admin/modules/order/service/IPlayOrderComplaintInfoService.java b/play-admin/src/main/java/com/starry/admin/modules/order/service/IPlayOrderComplaintInfoService.java new file mode 100644 index 0000000..9ad246b --- /dev/null +++ b/play-admin/src/main/java/com/starry/admin/modules/order/service/IPlayOrderComplaintInfoService.java @@ -0,0 +1,74 @@ +package com.starry.admin.modules.order.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import com.starry.admin.modules.order.module.entity.PlayOrderComplaintInfoEntity; +import com.starry.admin.modules.order.module.vo.PlayOrderComplaintQueryVo; +import com.starry.admin.modules.order.module.vo.PlayOrderComplaintReturnVo; + +/** + * 订单投诉信息Service接口 + * + * @author admin + * @since 2024-05-07 + */ +public interface IPlayOrderComplaintInfoService extends IService { + /** + * 查询订单投诉信息 + * + * @param id 订单投诉信息主键 + * @return 订单投诉信息 + */ + PlayOrderComplaintInfoEntity selectPlayOrderComplaintInfoById(String id); + + + /** + * 分页查询订单投诉列表 + * + * @param vo 订单投诉查询对象 + * @return 订单投诉列表 + */ + + IPage selectByPage(PlayOrderComplaintQueryVo vo); + + + /** + * 查询订单投诉信息列表 + * + * @param playOrderComplaintInfo 订单投诉信息 + * @return 订单投诉信息集合 + */ + IPage selectPlayOrderComplaintInfoByPage(PlayOrderComplaintInfoEntity playOrderComplaintInfo); + + /** + * 新增订单投诉信息 + * + * @param playOrderComplaintInfo 订单投诉信息 + * @return 结果 + */ + boolean create(PlayOrderComplaintInfoEntity playOrderComplaintInfo); + + /** + * 修改订单投诉信息 + * + * @param playOrderComplaintInfo 订单投诉信息 + * @return 结果 + */ + boolean update(PlayOrderComplaintInfoEntity playOrderComplaintInfo); + + /** + * 批量删除订单投诉信息 + * + * @param ids 需要删除的订单投诉信息主键集合 + * @return 结果 + */ + int deletePlayOrderComplaintInfoByIds(String[] ids); + + /** + * 删除订单投诉信息信息 + * + * @param id 订单投诉信息主键 + * @return 结果 + */ + int deletePlayOrderComplaintInfoById(String id); +} diff --git a/play-admin/src/main/java/com/starry/admin/modules/order/service/IPlayOrderEvaluateInfoService.java b/play-admin/src/main/java/com/starry/admin/modules/order/service/IPlayOrderEvaluateInfoService.java new file mode 100644 index 0000000..d9be3db --- /dev/null +++ b/play-admin/src/main/java/com/starry/admin/modules/order/service/IPlayOrderEvaluateInfoService.java @@ -0,0 +1,73 @@ +package com.starry.admin.modules.order.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import com.starry.admin.modules.order.module.entity.PlayOrderEvaluateInfoEntity; +import com.starry.admin.modules.order.module.vo.PlayOrderEvaluateQueryVo; +import com.starry.admin.modules.order.module.vo.PlayOrderEvaluateReturnVo; + +/** + * 订单评价信息Service接口 + * + * @author admin + * @since 2024-05-07 + */ +public interface IPlayOrderEvaluateInfoService extends IService { + /** + * 查询订单评价信息 + * + * @param id 订单评价信息主键 + * @return 订单评价信息 + */ + PlayOrderEvaluateInfoEntity selectPlayOrderEvaluateInfoById(String id); + + + /** + * 分页查询订单评价列表 + * + * @param vo 订单评价查询对象 + * @return 订单评价列表 + */ + IPage selectByPage(PlayOrderEvaluateQueryVo vo); + + + /** + * 查询订单评价信息列表 + * + * @param playOrderEvaluateInfo 订单评价信息 + * @return 订单评价信息集合 + */ + IPage selectPlayOrderEvaluateInfoByPage(PlayOrderEvaluateInfoEntity playOrderEvaluateInfo); + + /** + * 新增订单评价信息 + * + * @param playOrderEvaluateInfo 订单评价信息 + * @return 结果 + */ + boolean create(PlayOrderEvaluateInfoEntity playOrderEvaluateInfo); + + /** + * 修改订单评价信息 + * + * @param playOrderEvaluateInfo 订单评价信息 + * @return 结果 + */ + boolean update(PlayOrderEvaluateInfoEntity playOrderEvaluateInfo); + + /** + * 批量删除订单评价信息 + * + * @param ids 需要删除的订单评价信息主键集合 + * @return 结果 + */ + int deletePlayOrderEvaluateInfoByIds(String[] ids); + + /** + * 删除订单评价信息信息 + * + * @param id 订单评价信息主键 + * @return 结果 + */ + int deletePlayOrderEvaluateInfoById(String id); +} diff --git a/play-admin/src/main/java/com/starry/admin/modules/order/service/IPlayOrderInfoService.java b/play-admin/src/main/java/com/starry/admin/modules/order/service/IPlayOrderInfoService.java index 6a8e868..2bfb243 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/order/service/IPlayOrderInfoService.java +++ b/play-admin/src/main/java/com/starry/admin/modules/order/service/IPlayOrderInfoService.java @@ -3,7 +3,8 @@ package com.starry.admin.modules.order.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import com.starry.admin.modules.order.module.entity.PlayOrderInfoEntity; -import com.starry.admin.modules.order.module.vo.OrderInfoQueryVo; +import com.starry.admin.modules.order.module.vo.PlayOrderInfoQueryVo; +import com.starry.admin.modules.order.module.vo.PlayOrderInfoReturnVo; import com.starry.admin.modules.order.module.vo.PlayOrderRewardQueryVo; import com.starry.admin.modules.order.module.vo.PlayOrderRewardReturnVo; import org.springframework.stereotype.Service; @@ -23,11 +24,12 @@ public interface IPlayOrderInfoService extends IService { /** * 新增充值单 * + * @param orderId 订单ID * @param orderMoney 订单金额 * @param finalAmount 订单最终金额(支付金额) * @param purchaserBy 下单人ID */ - void createRechargeOrder(BigDecimal orderMoney, BigDecimal finalAmount, String purchaserBy); + void createRechargeOrder(String orderId, BigDecimal orderMoney, BigDecimal finalAmount, String purchaserBy); /** @@ -50,7 +52,7 @@ public interface IPlayOrderInfoService extends IService { * @param finalAmount 订单最终金额(支付金额) * @param purchaserBy 下单人ID */ - void createGiftOrder(String commodityId, BigDecimal commodityPrice, String commodityNumber, BigDecimal orderMoney, BigDecimal finalAmount, String purchaserBy); + void createGiftOrder(String commodityId, BigDecimal commodityPrice, int commodityNumber, BigDecimal orderMoney, BigDecimal finalAmount, String purchaserBy); /** @@ -71,7 +73,7 @@ public interface IPlayOrderInfoService extends IService { * @param finalAmount 订单最终金额(支付金额) * @param purchaserBy 下单人ID */ - void createOrdinaryOrder(String orderStatus, String placeType, String commodityId, BigDecimal commodityPrice, String commodityNumber, BigDecimal orderMoney, BigDecimal finalAmount, String purchaserBy); + void createOrdinaryOrder(String orderStatus, String placeType, String commodityId, BigDecimal commodityPrice, int commodityNumber, BigDecimal orderMoney, BigDecimal finalAmount, String purchaserBy); /** @@ -96,7 +98,7 @@ public interface IPlayOrderInfoService extends IService { * @param orderInfoEntity 订单 * @return 订单集合 */ - IPage selectOrderInfoList(OrderInfoQueryVo orderInfoEntity); + IPage selectOrderInfoPage(PlayOrderInfoQueryVo orderInfoEntity); /** * 新增订单 @@ -131,6 +133,15 @@ public interface IPlayOrderInfoService extends IService { int deleteOrderInfoById(String id); + /** + * 顾客取消订单 + * + * @param orderId 订单ID + * @author 杭州世平信息科技有限公司-xuhq + * @since 2024/5/8 16:56 + **/ + void customCancellationOrder(String orderId); + /** * 订单退款 * diff --git a/play-admin/src/main/java/com/starry/admin/modules/order/service/impl/PlayOrderComplaintInfoServiceImpl.java b/play-admin/src/main/java/com/starry/admin/modules/order/service/impl/PlayOrderComplaintInfoServiceImpl.java new file mode 100644 index 0000000..05fdc23 --- /dev/null +++ b/play-admin/src/main/java/com/starry/admin/modules/order/service/impl/PlayOrderComplaintInfoServiceImpl.java @@ -0,0 +1,121 @@ +package com.starry.admin.modules.order.service.impl; + +import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.github.yulichang.wrapper.MPJLambdaWrapper; +import com.starry.admin.modules.clerk.module.entity.PlayClerkUserInfoEntity; +import com.starry.admin.modules.commodity.module.entity.PlayClerkServiceEntity; +import com.starry.admin.modules.custom.module.entity.PlayCustomUserInfoEntity; +import com.starry.admin.modules.order.mapper.PlayOrderComplaintInfoMapper; +import com.starry.admin.modules.order.module.entity.PlayOrderComplaintInfoEntity; +import com.starry.admin.modules.order.module.entity.PlayOrderInfoEntity; +import com.starry.admin.modules.order.module.vo.PlayOrderComplaintQueryVo; +import com.starry.admin.modules.order.module.vo.PlayOrderComplaintReturnVo; +import com.starry.admin.modules.order.service.IPlayOrderComplaintInfoService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.Arrays; + +/** + * 订单投诉信息Service业务层处理 + * + * @author admin + * @since 2024-05-07 + */ +@Service +public class PlayOrderComplaintInfoServiceImpl extends ServiceImpl implements IPlayOrderComplaintInfoService { + @Resource + private PlayOrderComplaintInfoMapper playOrderComplaintInfoMapper; + + /** + * 查询订单投诉信息 + * + * @param id 订单投诉信息主键 + * @return 订单投诉信息 + */ + @Override + public PlayOrderComplaintInfoEntity selectPlayOrderComplaintInfoById(String id) { + return this.baseMapper.selectById(id); + } + + + @Override + public IPage selectByPage(PlayOrderComplaintQueryVo vo) { + MPJLambdaWrapper lambdaQueryWrapper = new MPJLambdaWrapper() + // 查询主表全部字段 + .selectAll(PlayOrderComplaintInfoEntity.class) + // 查询顾客表字段 + .selectAs(PlayCustomUserInfoEntity::getId, "customId").selectAs(PlayCustomUserInfoEntity::getAvatar, "customAvatar").selectAs(PlayCustomUserInfoEntity::getNickname, "customNickname") + // 查询陪聊表字典 + .selectAs(PlayClerkUserInfoEntity::getId, "clerkId").selectAs(PlayClerkUserInfoEntity::getAvatar, "clerkAvatar").selectAs(PlayClerkUserInfoEntity::getNickname, "clerkNickname") + // 顾客表 + .leftJoin(PlayCustomUserInfoEntity.class, PlayCustomUserInfoEntity::getId, PlayOrderComplaintInfoEntity::getCustomId) + //店员表 + .leftJoin(PlayClerkUserInfoEntity.class, PlayClerkUserInfoEntity::getId, PlayOrderComplaintInfoEntity::getClerkId); + return this.baseMapper.selectJoinPage(new Page<>(vo.getPageNum(), vo.getPageSize()), PlayOrderComplaintReturnVo.class, lambdaQueryWrapper); + } + + /** + * 查询订单投诉信息列表 + * + * @param playOrderComplaintInfo 订单投诉信息 + * @return 订单投诉信息 + */ + @Override + public IPage selectPlayOrderComplaintInfoByPage(PlayOrderComplaintInfoEntity playOrderComplaintInfo) { + Page page = new Page<>(1, 10); + return this.baseMapper.selectPage(page, new LambdaQueryWrapper<>()); + } + + /** + * 新增订单投诉信息 + * + * @param playOrderComplaintInfo 订单投诉信息 + * @return 结果 + */ + @Override + public boolean create(PlayOrderComplaintInfoEntity playOrderComplaintInfo) { + if (StrUtil.isBlankIfStr(playOrderComplaintInfo.getId())) { + playOrderComplaintInfo.setId(IdUtil.fastSimpleUUID()); + } + return save(playOrderComplaintInfo); + } + + /** + * 修改订单投诉信息 + * + * @param playOrderComplaintInfo 订单投诉信息 + * @return 结果 + */ + @Override + public boolean update(PlayOrderComplaintInfoEntity playOrderComplaintInfo) { + return updateById(playOrderComplaintInfo); + } + + /** + * 批量删除订单投诉信息 + * + * @param ids 需要删除的订单投诉信息主键 + * @return 结果 + */ + @Override + public int deletePlayOrderComplaintInfoByIds(String[] ids) { + return playOrderComplaintInfoMapper.deleteBatchIds(Arrays.asList(ids)); + } + + /** + * 删除订单投诉信息信息 + * + * @param id 订单投诉信息主键 + * @return 结果 + */ + @Override + public int deletePlayOrderComplaintInfoById(String id) { + return playOrderComplaintInfoMapper.deleteById(id); + } +} diff --git a/play-admin/src/main/java/com/starry/admin/modules/order/service/impl/PlayOrderEvaluateInfoServiceImpl.java b/play-admin/src/main/java/com/starry/admin/modules/order/service/impl/PlayOrderEvaluateInfoServiceImpl.java new file mode 100644 index 0000000..9ee64ad --- /dev/null +++ b/play-admin/src/main/java/com/starry/admin/modules/order/service/impl/PlayOrderEvaluateInfoServiceImpl.java @@ -0,0 +1,119 @@ +package com.starry.admin.modules.order.service.impl; + +import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.github.yulichang.wrapper.MPJLambdaWrapper; +import com.starry.admin.modules.clerk.module.entity.PlayClerkUserInfoEntity; +import com.starry.admin.modules.custom.module.entity.PlayCustomUserInfoEntity; +import com.starry.admin.modules.order.mapper.PlayOrderEvaluateInfoMapper; +import com.starry.admin.modules.order.module.entity.PlayOrderComplaintInfoEntity; +import com.starry.admin.modules.order.module.entity.PlayOrderEvaluateInfoEntity; +import com.starry.admin.modules.order.module.vo.PlayOrderEvaluateQueryVo; +import com.starry.admin.modules.order.module.vo.PlayOrderEvaluateReturnVo; +import com.starry.admin.modules.order.service.IPlayOrderEvaluateInfoService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.Arrays; + +/** + * 订单评价信息Service业务层处理 + * + * @author admin + * @since 2024-05-07 + */ +@Service +public class PlayOrderEvaluateInfoServiceImpl extends ServiceImpl implements IPlayOrderEvaluateInfoService { + @Resource + private PlayOrderEvaluateInfoMapper playOrderEvaluateInfoMapper; + + /** + * 查询订单评价信息 + * + * @param id 订单评价信息主键 + * @return 订单评价信息 + */ + @Override + public PlayOrderEvaluateInfoEntity selectPlayOrderEvaluateInfoById(String id) { + return this.baseMapper.selectById(id); + } + + @Override + public IPage selectByPage(PlayOrderEvaluateQueryVo vo) { + MPJLambdaWrapper lambdaQueryWrapper = new MPJLambdaWrapper() + // 查询主表全部字段 + .selectAll(PlayOrderEvaluateInfoEntity.class) + // 查询顾客表字段 + .selectAs(PlayCustomUserInfoEntity::getId, "customId").selectAs(PlayCustomUserInfoEntity::getAvatar, "customAvatar").selectAs(PlayCustomUserInfoEntity::getNickname, "customNickname") + // 查询陪聊表字典 + .selectAs(PlayClerkUserInfoEntity::getId, "clerkId").selectAs(PlayClerkUserInfoEntity::getAvatar, "clerkAvatar").selectAs(PlayClerkUserInfoEntity::getNickname, "clerkNickname") + // 顾客表 + .leftJoin(PlayCustomUserInfoEntity.class, PlayCustomUserInfoEntity::getId, PlayOrderEvaluateInfoEntity::getCustomId) + //店员表 + .leftJoin(PlayClerkUserInfoEntity.class, PlayClerkUserInfoEntity::getId, PlayOrderEvaluateInfoEntity::getClerkId); + return this.baseMapper.selectJoinPage(new Page<>(vo.getPageNum(), vo.getPageSize()), PlayOrderEvaluateReturnVo.class, lambdaQueryWrapper); + } + + /** + * 查询订单评价信息列表 + * + * @param playOrderEvaluateInfo 订单评价信息 + * @return 订单评价信息 + */ + @Override + public IPage selectPlayOrderEvaluateInfoByPage(PlayOrderEvaluateInfoEntity playOrderEvaluateInfo) { + Page page = new Page<>(1, 10); + return this.baseMapper.selectPage(page, new LambdaQueryWrapper<>()); + } + + /** + * 新增订单评价信息 + * + * @param playOrderEvaluateInfo 订单评价信息 + * @return 结果 + */ + @Override + public boolean create(PlayOrderEvaluateInfoEntity playOrderEvaluateInfo) { + if (StrUtil.isBlankIfStr(playOrderEvaluateInfo.getId())) { + playOrderEvaluateInfo.setId(IdUtil.fastSimpleUUID()); + } + return save(playOrderEvaluateInfo); + } + + /** + * 修改订单评价信息 + * + * @param playOrderEvaluateInfo 订单评价信息 + * @return 结果 + */ + @Override + public boolean update(PlayOrderEvaluateInfoEntity playOrderEvaluateInfo) { + return updateById(playOrderEvaluateInfo); + } + + /** + * 批量删除订单评价信息 + * + * @param ids 需要删除的订单评价信息主键 + * @return 结果 + */ + @Override + public int deletePlayOrderEvaluateInfoByIds(String[] ids) { + return playOrderEvaluateInfoMapper.deleteBatchIds(Arrays.asList(ids)); + } + + /** + * 删除订单评价信息信息 + * + * @param id 订单评价信息主键 + * @return 结果 + */ + @Override + public int deletePlayOrderEvaluateInfoById(String id) { + return playOrderEvaluateInfoMapper.deleteById(id); + } +} diff --git a/play-admin/src/main/java/com/starry/admin/modules/order/service/impl/PlayOrderInfoServiceImpl.java b/play-admin/src/main/java/com/starry/admin/modules/order/service/impl/PlayOrderInfoServiceImpl.java index 9c2fd46..a238293 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/order/service/impl/PlayOrderInfoServiceImpl.java +++ b/play-admin/src/main/java/com/starry/admin/modules/order/service/impl/PlayOrderInfoServiceImpl.java @@ -8,14 +8,18 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.github.yulichang.wrapper.MPJLambdaWrapper; import com.starry.admin.common.exception.CustomException; -import com.starry.admin.modules.clear.module.entity.PlayClerkUserInfoEntity; +import com.starry.admin.modules.clerk.module.entity.PlayClerkCommodityEntity; +import com.starry.admin.modules.clerk.module.entity.PlayClerkUserInfoEntity; import com.starry.admin.modules.custom.module.entity.PlayCustomUserInfoEntity; import com.starry.admin.modules.order.mapper.PlayOrderInfoMapper; +import com.starry.admin.modules.order.module.constant.OrderConstant; import com.starry.admin.modules.order.module.entity.PlayOrderInfoEntity; -import com.starry.admin.modules.order.module.vo.OrderInfoQueryVo; +import com.starry.admin.modules.order.module.vo.PlayOrderInfoQueryVo; +import com.starry.admin.modules.order.module.vo.PlayOrderInfoReturnVo; import com.starry.admin.modules.order.module.vo.PlayOrderRewardQueryVo; import com.starry.admin.modules.order.module.vo.PlayOrderRewardReturnVo; import com.starry.admin.modules.order.service.IPlayOrderInfoService; +import com.starry.common.utils.StringUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -36,13 +40,16 @@ public class PlayOrderInfoServiceImpl extends ServiceImpl selectRewardOrderInfoByPage(PlayOrderRewardQueryVo vo) { MPJLambdaWrapper lambdaQueryWrapper = new MPJLambdaWrapper() - //查询主表全部字段 + // 查询主表全部字段 .selectAll(PlayOrderInfoEntity.class) - //查询顾客表 - .selectAs(PlayCustomUserInfoEntity::getId, "customUserId").selectAs(PlayCustomUserInfoEntity::getAvatar, "customUserAvatar").selectAs(PlayCustomUserInfoEntity::getNickname, "customUserNickname") - //查询陪玩表 + // 查询顾客表 + .selectAs(PlayCustomUserInfoEntity::getId, "customUserId").selectAs(PlayCustomUserInfoEntity::getAvatar, "customAvatar").selectAs(PlayCustomUserInfoEntity::getNickname, "customUserNickname") + // 查询陪聊表 .selectAs(PlayClerkUserInfoEntity::getId, "clerkUserId").selectAs(PlayClerkUserInfoEntity::getAvatar, "clerkUserAvatar").selectAs(PlayClerkUserInfoEntity::getNickname, "clerkUserNickname") - //子表 - .leftJoin(PlayCustomUserInfoEntity.class, PlayCustomUserInfoEntity::getId, PlayOrderInfoEntity::getPurchaserBy) - .leftJoin(PlayClerkUserInfoEntity.class, PlayClerkUserInfoEntity::getId, PlayOrderInfoEntity::getAcceptBy); + // 子表 + .leftJoin(PlayCustomUserInfoEntity.class, PlayCustomUserInfoEntity::getId, PlayOrderInfoEntity::getPurchaserBy).leftJoin(PlayClerkUserInfoEntity.class, PlayClerkUserInfoEntity::getId, PlayOrderInfoEntity::getAcceptBy); lambdaQueryWrapper.eq(PlayOrderInfoEntity::getPlaceType, "2"); lambdaQueryWrapper.orderByDesc(PlayOrderInfoEntity::getPurchaserTime); return this.baseMapper.selectJoinPage(new Page<>(vo.getPageNum(), vo.getPageSize()), PlayOrderRewardReturnVo.class, lambdaQueryWrapper); @@ -152,7 +160,11 @@ public class PlayOrderInfoServiceImpl extends ServiceImpl selectOrderInfoList(OrderInfoQueryVo vo) { - Page page = new Page<>(vo.getPageNum(), vo.getPageSize()); + public IPage selectOrderInfoPage(PlayOrderInfoQueryVo vo) { + + MPJLambdaWrapper lambdaQueryWrapper = new MPJLambdaWrapper() + // 查询主表全部字段 + .selectAll(PlayOrderInfoEntity.class) + // 查询顾客表 + .selectAs(PlayCustomUserInfoEntity::getId, "customUserId").selectAs(PlayCustomUserInfoEntity::getAvatar, "customAvatar").selectAs(PlayCustomUserInfoEntity::getNickname, "customUserNickname") + // 查询陪聊表 + .selectAs(PlayClerkUserInfoEntity::getId, "clerkUserId").selectAs(PlayClerkUserInfoEntity::getAvatar, "clerkUserAvatar").selectAs(PlayClerkUserInfoEntity::getNickname, "clerkUserNickname") + // 商品表 + .selectAs(PlayClerkCommodityEntity::getId, "commodityId").selectAs(PlayClerkCommodityEntity::getCommodityName, "commodityName").selectAs(PlayClerkCommodityEntity::getServiceDuration, "serviceDuration") + + // 子表-顾客表 + .leftJoin(PlayCustomUserInfoEntity.class, PlayCustomUserInfoEntity::getId, PlayOrderInfoEntity::getPurchaserBy) + // 子表-店员表 + .leftJoin(PlayClerkUserInfoEntity.class, PlayClerkUserInfoEntity::getId, PlayOrderInfoEntity::getAcceptBy) + // 子表-店员服务项目表 + .leftJoin(PlayClerkCommodityEntity.class, PlayClerkCommodityEntity::getId, PlayOrderInfoEntity::getCommodityId); LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - return this.baseMapper.selectPage(page, queryWrapper); + if (StringUtils.isNotNull(vo.getPurchaserBy())) { + queryWrapper.eq(PlayOrderInfoEntity::getPurchaserBy, vo.getPurchaserBy()); + } + if (StringUtils.isNotNull(vo.getOrderStatus())) { + queryWrapper.eq(PlayOrderInfoEntity::getOrderStatus, vo.getOrderStatus()); + } + if (StringUtils.isNotNull(vo.getPlaceType())) { + queryWrapper.eq(PlayOrderInfoEntity::getPlaceType, vo.getPlaceType()); + } + if (StringUtils.isNotNull(vo.getOrderType())) { + queryWrapper.eq(PlayOrderInfoEntity::getOrderType, vo.getOrderType()); + } + return this.baseMapper.selectJoinPage(new Page<>(vo.getPageNum(), vo.getPageSize()), PlayOrderInfoReturnVo.class, lambdaQueryWrapper); } /** @@ -197,6 +237,15 @@ public class PlayOrderInfoServiceImpl extends ServiceImpl { */ private String appId; - /** - * 微信商户ID - */ - private String mchId; - /** * 微信公众号的app secret */ private String secret; + + /** + * 微信商户ID + */ + private String mchId; + /** * 设置微信公众号的token */ - private String token; + private String mchKey; /** - * 设置微信公众号的EncodingAESKey + * 商户秘钥 */ - private String aesKey; + private String certificatePath; /** * 备注 diff --git a/play-admin/src/main/java/com/starry/admin/modules/platform/service/impl/SysTenantServiceImpl.java b/play-admin/src/main/java/com/starry/admin/modules/platform/service/impl/SysTenantServiceImpl.java index 652d2d1..425816e 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/platform/service/impl/SysTenantServiceImpl.java +++ b/play-admin/src/main/java/com/starry/admin/modules/platform/service/impl/SysTenantServiceImpl.java @@ -10,6 +10,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.starry.admin.common.domain.LoginUser; +import com.starry.admin.common.exception.CustomException; import com.starry.admin.modules.platform.entity.SysTenantEntity; import com.starry.admin.modules.platform.entity.SysTenantPackageEntity; import com.starry.admin.modules.platform.mapper.SysTenantMapper; @@ -83,7 +84,11 @@ public class SysTenantServiceImpl extends ServiceImpl { @NotBlank(message = "微信公众号secret不能为空") private String secret; - /** * 设置微信公众号的token */ - @NotBlank(message = "微信公众号token不能为空") - private String token; + @NotBlank(message = "微信商户Key") + private String mchKey; /** * 设置微信公众号的EncodingAESKey */ - @NotBlank(message = "微信公众号aesKey不能为空") - private String aesKey; + @NotBlank(message = "微信商户秘钥") + private String mchId; + + private String certificatePath; /** * 备注 diff --git a/play-admin/src/main/java/com/starry/admin/modules/play/controller/PlayResourcesInfoController.java b/play-admin/src/main/java/com/starry/admin/modules/play/controller/PlayResourcesInfoController.java index 2d31b86..6e8d6d7 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/play/controller/PlayResourcesInfoController.java +++ b/play-admin/src/main/java/com/starry/admin/modules/play/controller/PlayResourcesInfoController.java @@ -18,7 +18,7 @@ import javax.annotation.Resource; import java.io.IOException; /** - * 陪玩资源Controller + * 陪聊资源Controller * * @author admin * @since 2024-03-24 @@ -34,7 +34,7 @@ public class PlayResourcesInfoController { /** - * 查询陪玩资源列表 + * 查询陪聊资源列表 */ @PreAuthorize("@customSs.hasPermission('play:info:list')") @GetMapping("/list") @@ -45,7 +45,7 @@ public class PlayResourcesInfoController { /** - * 获取陪玩资源详细信息 + * 获取陪聊资源详细信息 */ @PreAuthorize("@customSs.hasPermission('play:info:query')") @GetMapping(value = "/{id}") @@ -54,10 +54,10 @@ public class PlayResourcesInfoController { } /** - * 陪玩上传资源(图片/签名/视频/录音小样等) + * 陪聊上传资源(图片/签名/视频/录音小样等) */ @PreAuthorize("@customSs.hasPermission('play:info:create')") - @Log(title = "陪玩资源", businessType = BusinessType.INSERT) + @Log(title = "陪聊资源", businessType = BusinessType.INSERT) @PostMapping("/create") public R create(@RequestBody PlayResourcesInfoAddVo vo, @RequestParam("file") MultipartFile file) throws IOException { // 校验文件类型是否正常 @@ -65,7 +65,7 @@ public class PlayResourcesInfoController { // 上传文件到OSS String fileAddress = ossFileService.upload(file.getInputStream(), "", file.getOriginalFilename()); - // 保持陪玩资源 + // 保持陪聊资源 PlayResourcesInfoEntity entity = ConvertUtil.entityToVo(vo, PlayResourcesInfoEntity.class); entity.setAddress(fileAddress); boolean success = playResourcesInfoService.create(entity); @@ -80,10 +80,10 @@ public class PlayResourcesInfoController { /** - * 陪玩资料审核 + * 陪聊资料审核 */ @PreAuthorize("@customSs.hasPermission('play:info:edit')") - @Log(title = "陪玩资源审核", businessType = BusinessType.UPDATE) + @Log(title = "陪聊资源审核", businessType = BusinessType.UPDATE) @PostMapping("/examine") public R examinePlayResourcesInfo(@RequestBody PlayResourcesInfoReviewVo vo) { // 验证权限,判断当前接口调用人是否有权限操作该接口 @@ -95,10 +95,10 @@ public class PlayResourcesInfoController { /** - * 删除陪玩资源 + * 删除陪聊资源 */ @PreAuthorize("@customSs.hasPermission('play:info:remove')") - @Log(title = "陪玩资源", businessType = BusinessType.DELETE) + @Log(title = "陪聊资源", businessType = BusinessType.DELETE) @DeleteMapping("/{ids}") public R remove(@PathVariable String[] ids) { return R.ok(playResourcesInfoService.deletePlayResourcesInfoByIds(ids)); diff --git a/play-admin/src/main/java/com/starry/admin/modules/play/mapper/PlayResourcesInfoMapper.java b/play-admin/src/main/java/com/starry/admin/modules/play/mapper/PlayResourcesInfoMapper.java index 6fe64bc..dc18555 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/play/mapper/PlayResourcesInfoMapper.java +++ b/play-admin/src/main/java/com/starry/admin/modules/play/mapper/PlayResourcesInfoMapper.java @@ -4,7 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.starry.admin.modules.play.module.entity.PlayResourcesInfoEntity; /** - * 陪玩资源Mapper接口 + * 陪聊资源Mapper接口 * * @author admin * @since 2024-03-23 diff --git a/play-admin/src/main/java/com/starry/admin/modules/play/module/entity/PlayResourcesInfoEntity.java b/play-admin/src/main/java/com/starry/admin/modules/play/module/entity/PlayResourcesInfoEntity.java index 6b5174f..569932b 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/play/module/entity/PlayResourcesInfoEntity.java +++ b/play-admin/src/main/java/com/starry/admin/modules/play/module/entity/PlayResourcesInfoEntity.java @@ -8,7 +8,7 @@ import lombok.EqualsAndHashCode; import java.util.Date; /** - * 陪玩资源对象 play_resources_info + * 陪聊资源对象 play_resources_info * * @author admin * @since 2024-03-23 @@ -30,12 +30,12 @@ public class PlayResourcesInfoEntity extends BaseEntity private String tenantId; /** - * 陪玩用户ID + * 陪聊用户ID */ private String playUserId; /** - * 陪玩展示资源类型[0;1;2;3;4] + * 陪聊展示资源类型[0;1;2;3;4] * 0:签名 * 1:录音小样 * 2:视频小样 diff --git a/play-admin/src/main/java/com/starry/admin/modules/play/module/vo/PlayResourcesInfoAddVo.java b/play-admin/src/main/java/com/starry/admin/modules/play/module/vo/PlayResourcesInfoAddVo.java index 91c398b..472d624 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/play/module/vo/PlayResourcesInfoAddVo.java +++ b/play-admin/src/main/java/com/starry/admin/modules/play/module/vo/PlayResourcesInfoAddVo.java @@ -7,7 +7,7 @@ import lombok.EqualsAndHashCode; import javax.validation.constraints.NotNull; /** - * 新增陪玩资料对象 + * 新增陪聊资料对象 * * @author admin * @since 2024-03-23 @@ -25,7 +25,7 @@ public class PlayResourcesInfoAddVo extends BaseEntity { /** - * 陪玩展示资源类型[0;1;2;3;4] + * 陪聊展示资源类型[0;1;2;3;4] * 0:签名 * 1:录音小样 * 2:视频小样 diff --git a/play-admin/src/main/java/com/starry/admin/modules/play/module/vo/PlayResourcesInfoReviewVo.java b/play-admin/src/main/java/com/starry/admin/modules/play/module/vo/PlayResourcesInfoReviewVo.java index 24d9d82..440c475 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/play/module/vo/PlayResourcesInfoReviewVo.java +++ b/play-admin/src/main/java/com/starry/admin/modules/play/module/vo/PlayResourcesInfoReviewVo.java @@ -6,7 +6,7 @@ import lombok.EqualsAndHashCode; import javax.validation.constraints.NotNull; /** - * 陪玩资料审核 + * 陪聊资料审核 * * @author admin * @since 2024-03-23 diff --git a/play-admin/src/main/java/com/starry/admin/modules/play/module/vo/PlayUserInfoAddVo.java b/play-admin/src/main/java/com/starry/admin/modules/play/module/vo/PlayUserInfoAddVo.java index 5cfb167..9b4e05f 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/play/module/vo/PlayUserInfoAddVo.java +++ b/play-admin/src/main/java/com/starry/admin/modules/play/module/vo/PlayUserInfoAddVo.java @@ -26,7 +26,7 @@ public class PlayUserInfoAddVo { private String verificationCode; /** - * 陪玩用户ID + * 陪聊用户ID */ @NotBlank(message = "绑定用户不能为空") private String playUserId; diff --git a/play-admin/src/main/java/com/starry/admin/modules/play/module/vo/PlayUserInfoUpEditVo.java b/play-admin/src/main/java/com/starry/admin/modules/play/module/vo/PlayUserInfoUpEditVo.java index 3389b62..822d196 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/play/module/vo/PlayUserInfoUpEditVo.java +++ b/play-admin/src/main/java/com/starry/admin/modules/play/module/vo/PlayUserInfoUpEditVo.java @@ -11,7 +11,7 @@ public class PlayUserInfoUpEditVo { private String id; /** - * 陪玩用户ID + * 陪聊用户ID */ @NotBlank(message = "绑定用户不能为空") private String playUserId; diff --git a/play-admin/src/main/java/com/starry/admin/modules/play/module/vo/PlayUserInfoUpdateVo.java b/play-admin/src/main/java/com/starry/admin/modules/play/module/vo/PlayUserInfoUpdateVo.java index b3f410f..edbd741 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/play/module/vo/PlayUserInfoUpdateVo.java +++ b/play-admin/src/main/java/com/starry/admin/modules/play/module/vo/PlayUserInfoUpdateVo.java @@ -14,7 +14,7 @@ public class PlayUserInfoUpdateVo { private String id; /** - * 陪玩用户ID + * 陪聊用户ID */ @NotBlank(message = "绑定用户不能为空") private String playUserId; diff --git a/play-admin/src/main/java/com/starry/admin/modules/play/service/IPlayResourcesInfoService.java b/play-admin/src/main/java/com/starry/admin/modules/play/service/IPlayResourcesInfoService.java index 244a797..a3ec990 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/play/service/IPlayResourcesInfoService.java +++ b/play-admin/src/main/java/com/starry/admin/modules/play/service/IPlayResourcesInfoService.java @@ -5,39 +5,39 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.starry.admin.modules.play.module.entity.PlayResourcesInfoEntity; /** - * 陪玩资源Service接口 + * 陪聊资源Service接口 * * @author admin * @since 2024-03-24 */ public interface IPlayResourcesInfoService extends IService { /** - * 查询陪玩资源 + * 查询陪聊资源 * - * @param id 陪玩资源主键 - * @return 陪玩资源 + * @param id 陪聊资源主键 + * @return 陪聊资源 */ PlayResourcesInfoEntity selectPlayResourcesInfoById(String id); /** - * 查询陪玩资源列表 + * 查询陪聊资源列表 * - * @param playResourcesInfo 陪玩资源 - * @return 陪玩资源集合 + * @param playResourcesInfo 陪聊资源 + * @return 陪聊资源集合 */ IPage selectPlayResourcesInfoByPage(PlayResourcesInfoEntity playResourcesInfo); /** - * 新增陪玩资源 + * 新增陪聊资源 * - * @param playResourcesInfo 陪玩资源 + * @param playResourcesInfo 陪聊资源 * @return 结果 */ boolean create(PlayResourcesInfoEntity playResourcesInfo); /** - * 审核陪玩资源信息 + * 审核陪聊资源信息 * * @param id 资源ID * @param success 是否通过 @@ -47,25 +47,25 @@ public interface IPlayResourcesInfoService extends IService selectPlayResourcesInfoByPage(PlayResourcesInfoEntity playResourcesInfo) { @@ -52,9 +52,9 @@ public class PlayResourcesInfoServiceImpl extends ServiceImpl entities = new ArrayList<>(); - entities.add(new PlayClarkUserTrendsInfoEntity(IdUtil.fastSimpleUUID(), "动态1", "https://live-cloud-cvoon.oss-cn-hangzhou.aliyuncs.com/d8e929c041e94075b93cfc6338a83d4c/2024/04/15/0596854e16ae4a268eab4c08e2a9f762.mp3", new Date())); - entities.add(new PlayClarkUserTrendsInfoEntity(IdUtil.fastSimpleUUID(), "动态2", "https://live-cloud-cvoon.oss-cn-hangzhou.aliyuncs.com/d8e929c041e94075b93cfc6338a83d4c/2024/04/15/0596854e16ae4a268eab4c08e2a9f762.mp3", new Date())); - entities.add(new PlayClarkUserTrendsInfoEntity(IdUtil.fastSimpleUUID(), "动态3", "https://live-cloud-cvoon.oss-cn-hangzhou.aliyuncs.com/d8e929c041e94075b93cfc6338a83d4c/2024/04/15/0596854e16ae4a268eab4c08e2a9f762.mp3", new Date())); - entities.add(new PlayClarkUserTrendsInfoEntity(IdUtil.fastSimpleUUID(), "动态4", "https://live-cloud-cvoon.oss-cn-hangzhou.aliyuncs.com/d8e929c041e94075b93cfc6338a83d4c/2024/04/15/0596854e16ae4a268eab4c08e2a9f762.mp3", new Date())); - entities.add(new PlayClarkUserTrendsInfoEntity(IdUtil.fastSimpleUUID(), "动态5", "https://live-cloud-cvoon.oss-cn-hangzhou.aliyuncs.com/d8e929c041e94075b93cfc6338a83d4c/2024/04/15/0596854e16ae4a268eab4c08e2a9f762.mp3", new Date())); - entities.add(new PlayClarkUserTrendsInfoEntity(IdUtil.fastSimpleUUID(), "动态6", "0", "https://live-cloud-cvoon.oss-cn-hangzhou.aliyuncs.com/d8e929c041e94075b93cfc6338a83d4c/2024/04/15/fc09da2f923d46e6951292ff8f34f6aa.png", new Date())); - entities.add(new PlayClarkUserTrendsInfoEntity(IdUtil.fastSimpleUUID(), "动态7", "0", "https://live-cloud-cvoon.oss-cn-hangzhou.aliyuncs.com/d8e929c041e94075b93cfc6338a83d4c/2024/04/15/fc09da2f923d46e6951292ff8f34f6aa.png", new Date())); - entities.add(new PlayClarkUserTrendsInfoEntity(IdUtil.fastSimpleUUID(), "动态8", "0", "https://live-cloud-cvoon.oss-cn-hangzhou.aliyuncs.com/d8e929c041e94075b93cfc6338a83d4c/2024/04/15/fc09da2f923d46e6951292ff8f34f6aa.png", new Date())); + List entities = new ArrayList<>(); + entities.add(new PlayClerkUserTrendsInfoEntity(IdUtil.fastSimpleUUID(), "动态1", "https://live-cloud-cvoon.oss-cn-hangzhou.aliyuncs.com/d8e929c041e94075b93cfc6338a83d4c/2024/04/15/0596854e16ae4a268eab4c08e2a9f762.mp3", new Date())); + entities.add(new PlayClerkUserTrendsInfoEntity(IdUtil.fastSimpleUUID(), "动态2", "https://live-cloud-cvoon.oss-cn-hangzhou.aliyuncs.com/d8e929c041e94075b93cfc6338a83d4c/2024/04/15/0596854e16ae4a268eab4c08e2a9f762.mp3", new Date())); + entities.add(new PlayClerkUserTrendsInfoEntity(IdUtil.fastSimpleUUID(), "动态3", "https://live-cloud-cvoon.oss-cn-hangzhou.aliyuncs.com/d8e929c041e94075b93cfc6338a83d4c/2024/04/15/0596854e16ae4a268eab4c08e2a9f762.mp3", new Date())); + entities.add(new PlayClerkUserTrendsInfoEntity(IdUtil.fastSimpleUUID(), "动态4", "https://live-cloud-cvoon.oss-cn-hangzhou.aliyuncs.com/d8e929c041e94075b93cfc6338a83d4c/2024/04/15/0596854e16ae4a268eab4c08e2a9f762.mp3", new Date())); + entities.add(new PlayClerkUserTrendsInfoEntity(IdUtil.fastSimpleUUID(), "动态5", "https://live-cloud-cvoon.oss-cn-hangzhou.aliyuncs.com/d8e929c041e94075b93cfc6338a83d4c/2024/04/15/0596854e16ae4a268eab4c08e2a9f762.mp3", new Date())); + entities.add(new PlayClerkUserTrendsInfoEntity(IdUtil.fastSimpleUUID(), "动态6", "0", "https://live-cloud-cvoon.oss-cn-hangzhou.aliyuncs.com/d8e929c041e94075b93cfc6338a83d4c/2024/04/15/fc09da2f923d46e6951292ff8f34f6aa.png", new Date())); + entities.add(new PlayClerkUserTrendsInfoEntity(IdUtil.fastSimpleUUID(), "动态7", "0", "https://live-cloud-cvoon.oss-cn-hangzhou.aliyuncs.com/d8e929c041e94075b93cfc6338a83d4c/2024/04/15/fc09da2f923d46e6951292ff8f34f6aa.png", new Date())); + entities.add(new PlayClerkUserTrendsInfoEntity(IdUtil.fastSimpleUUID(), "动态8", "0", "https://live-cloud-cvoon.oss-cn-hangzhou.aliyuncs.com/d8e929c041e94075b93cfc6338a83d4c/2024/04/15/fc09da2f923d46e6951292ff8f34f6aa.png", new Date())); - IPage resultPage = new Page<>(); + IPage resultPage = new Page<>(); resultPage.setRecords(entities); // 设置分页参数 resultPage.setCurrent(1); @@ -365,15 +362,15 @@ public class WxClerkController { throw new CustomException("用户不存在"); } - List entities = new ArrayList<>(); - entities.add(new PlayClarkUserEvaluateInfoEntity(IdUtil.fastSimpleUUID(), IdUtil.fastSimpleUUID(), "评价人1昵称", "https://live-cloud-cvoon.oss-cn-hangzhou.aliyuncs.com/d8e929c041e94075b93cfc6338a83d4c/2024/04/15/fc09da2f923d46e6951292ff8f34f6aa.png", "评价内容", new Date(), IdUtil.fastSimpleUUID(), "店员昵称", IdUtil.fastSimpleUUID(), "文字语音条", "一小时")); - entities.add(new PlayClarkUserEvaluateInfoEntity(IdUtil.fastSimpleUUID(), IdUtil.fastSimpleUUID(), "评价人2昵称", "https://live-cloud-cvoon.oss-cn-hangzhou.aliyuncs.com/d8e929c041e94075b93cfc6338a83d4c/2024/04/15/fc09da2f923d46e6951292ff8f34f6aa.png", "评价内容", new Date(), IdUtil.fastSimpleUUID(), "店员昵称", IdUtil.fastSimpleUUID(), "文字语音条", "一小时")); - entities.add(new PlayClarkUserEvaluateInfoEntity(IdUtil.fastSimpleUUID(), IdUtil.fastSimpleUUID(), "评价人3昵称", "https://live-cloud-cvoon.oss-cn-hangzhou.aliyuncs.com/d8e929c041e94075b93cfc6338a83d4c/2024/04/15/fc09da2f923d46e6951292ff8f34f6aa.png", "评价内容", new Date(), IdUtil.fastSimpleUUID(), "店员昵称", IdUtil.fastSimpleUUID(), "文字语音条", "一小时")); - entities.add(new PlayClarkUserEvaluateInfoEntity(IdUtil.fastSimpleUUID(), IdUtil.fastSimpleUUID(), "评价人4昵称", "https://live-cloud-cvoon.oss-cn-hangzhou.aliyuncs.com/d8e929c041e94075b93cfc6338a83d4c/2024/04/15/fc09da2f923d46e6951292ff8f34f6aa.png", "评价内容", new Date(), IdUtil.fastSimpleUUID(), "店员昵称", IdUtil.fastSimpleUUID(), "文字语音条", "一小时")); - entities.add(new PlayClarkUserEvaluateInfoEntity(IdUtil.fastSimpleUUID(), IdUtil.fastSimpleUUID(), "评价人5昵称", "https://live-cloud-cvoon.oss-cn-hangzhou.aliyuncs.com/d8e929c041e94075b93cfc6338a83d4c/2024/04/15/fc09da2f923d46e6951292ff8f34f6aa.png", "评价内容", new Date(), IdUtil.fastSimpleUUID(), "店员昵称", IdUtil.fastSimpleUUID(), "文字语音条", "一小时")); - entities.add(new PlayClarkUserEvaluateInfoEntity(IdUtil.fastSimpleUUID(), IdUtil.fastSimpleUUID(), "评价人5昵称", "https://live-cloud-cvoon.oss-cn-hangzhou.aliyuncs.com/d8e929c041e94075b93cfc6338a83d4c/2024/04/15/fc09da2f923d46e6951292ff8f34f6aa.png", "评价内容", new Date(), IdUtil.fastSimpleUUID(), "店员昵称", IdUtil.fastSimpleUUID(), "文字语音条", "一小时", 5)); + List entities = new ArrayList<>(); + entities.add(new PlayClerkUserEvaluateInfoEntity(IdUtil.fastSimpleUUID(), IdUtil.fastSimpleUUID(), "评价人1昵称", "https://live-cloud-cvoon.oss-cn-hangzhou.aliyuncs.com/d8e929c041e94075b93cfc6338a83d4c/2024/04/15/fc09da2f923d46e6951292ff8f34f6aa.png", "评价内容", new Date(), IdUtil.fastSimpleUUID(), "店员昵称", IdUtil.fastSimpleUUID(), "文字语音条", "一小时")); + entities.add(new PlayClerkUserEvaluateInfoEntity(IdUtil.fastSimpleUUID(), IdUtil.fastSimpleUUID(), "评价人2昵称", "https://live-cloud-cvoon.oss-cn-hangzhou.aliyuncs.com/d8e929c041e94075b93cfc6338a83d4c/2024/04/15/fc09da2f923d46e6951292ff8f34f6aa.png", "评价内容", new Date(), IdUtil.fastSimpleUUID(), "店员昵称", IdUtil.fastSimpleUUID(), "文字语音条", "一小时")); + entities.add(new PlayClerkUserEvaluateInfoEntity(IdUtil.fastSimpleUUID(), IdUtil.fastSimpleUUID(), "评价人3昵称", "https://live-cloud-cvoon.oss-cn-hangzhou.aliyuncs.com/d8e929c041e94075b93cfc6338a83d4c/2024/04/15/fc09da2f923d46e6951292ff8f34f6aa.png", "评价内容", new Date(), IdUtil.fastSimpleUUID(), "店员昵称", IdUtil.fastSimpleUUID(), "文字语音条", "一小时")); + entities.add(new PlayClerkUserEvaluateInfoEntity(IdUtil.fastSimpleUUID(), IdUtil.fastSimpleUUID(), "评价人4昵称", "https://live-cloud-cvoon.oss-cn-hangzhou.aliyuncs.com/d8e929c041e94075b93cfc6338a83d4c/2024/04/15/fc09da2f923d46e6951292ff8f34f6aa.png", "评价内容", new Date(), IdUtil.fastSimpleUUID(), "店员昵称", IdUtil.fastSimpleUUID(), "文字语音条", "一小时")); + entities.add(new PlayClerkUserEvaluateInfoEntity(IdUtil.fastSimpleUUID(), IdUtil.fastSimpleUUID(), "评价人5昵称", "https://live-cloud-cvoon.oss-cn-hangzhou.aliyuncs.com/d8e929c041e94075b93cfc6338a83d4c/2024/04/15/fc09da2f923d46e6951292ff8f34f6aa.png", "评价内容", new Date(), IdUtil.fastSimpleUUID(), "店员昵称", IdUtil.fastSimpleUUID(), "文字语音条", "一小时")); + entities.add(new PlayClerkUserEvaluateInfoEntity(IdUtil.fastSimpleUUID(), IdUtil.fastSimpleUUID(), "评价人5昵称", "https://live-cloud-cvoon.oss-cn-hangzhou.aliyuncs.com/d8e929c041e94075b93cfc6338a83d4c/2024/04/15/fc09da2f923d46e6951292ff8f34f6aa.png", "评价内容", new Date(), IdUtil.fastSimpleUUID(), "店员昵称", IdUtil.fastSimpleUUID(), "文字语音条", "一小时", 5)); - IPage resultPage = new Page<>(); + IPage resultPage = new Page<>(); resultPage.setRecords(entities); // 设置分页参数 resultPage.setCurrent(1); diff --git a/play-admin/src/main/java/com/starry/admin/modules/weichat/controller/WxCommodityController.java b/play-admin/src/main/java/com/starry/admin/modules/weichat/controller/WxCommodityController.java index 5a86c3a..d6f13fa 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/weichat/controller/WxCommodityController.java +++ b/play-admin/src/main/java/com/starry/admin/modules/weichat/controller/WxCommodityController.java @@ -1,9 +1,9 @@ package com.starry.admin.modules.weichat.controller; -import com.starry.admin.modules.clear.module.entity.PlayClerkCommodityEntity; -import com.starry.admin.modules.clear.service.IPlayClerkCommodityService; -import com.starry.admin.modules.weichat.entity.PlayClarkCommodityTreeData; +import com.starry.admin.modules.clerk.module.entity.PlayClerkCommodityEntity; +import com.starry.admin.modules.clerk.service.IPlayClerkCommodityService; +import com.starry.admin.modules.weichat.entity.PlayClerkCommodityTreeData; import com.starry.common.result.R; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.GetMapping; @@ -31,9 +31,10 @@ public class WxCommodityController { public R getTree(@RequestParam("userId") String userId) { List commodityEntities = clerkCommodityService.selectByUser(userId); Map> item = commodityEntities.stream().collect(Collectors.groupingBy(PlayClerkCommodityEntity::getCommodityName)); - List result = new ArrayList<>(); + List result = new ArrayList<>(); for (Map.Entry> entry : item.entrySet()) { - PlayClarkCommodityTreeData treeData = new PlayClarkCommodityTreeData(entry.getKey(), entry.getValue()); + + PlayClerkCommodityTreeData treeData = new PlayClerkCommodityTreeData(entry.getKey(),entry.getValue()); result.add(treeData); } return R.ok(result); diff --git a/play-admin/src/main/java/com/starry/admin/modules/weichat/controller/WxCommonController.java b/play-admin/src/main/java/com/starry/admin/modules/weichat/controller/WxCommonController.java index 1d197fc..2eae461 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/weichat/controller/WxCommonController.java +++ b/play-admin/src/main/java/com/starry/admin/modules/weichat/controller/WxCommonController.java @@ -1,14 +1,10 @@ package com.starry.admin.modules.weichat.controller; -import cn.hutool.core.io.FastByteArrayOutputStream; import cn.hutool.core.io.FileUtil; -import cn.hutool.core.io.IoUtil; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.StrUtil; -import com.alibaba.fastjson2.JSONObject; import com.starry.admin.common.exception.CustomException; import com.starry.admin.common.oss.service.IOssFileService; -import com.starry.admin.modules.system.entity.SysAdministrativeAreaDictInfoEntity; import com.starry.admin.modules.system.service.ISysAdministrativeAreaDictInfoService; import com.starry.admin.modules.weichat.service.WxAccessTokenService; import com.starry.admin.modules.weichat.utils.WxFileUtils; @@ -24,7 +20,6 @@ import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; -import java.nio.charset.StandardCharsets; import java.nio.file.Files; /** @@ -66,22 +61,9 @@ public class WxCommonController { String accessToken = wxAccessTokenService.getAccessToken(); // 下载录音文件,并转化为InputStream InputStream inputStream = WxFileUtils.getTemporaryMaterial(accessToken, mediaId); - - try { - FastByteArrayOutputStream read = IoUtil.read(inputStream, false); - String str = new String(read.toByteArray(), StandardCharsets.UTF_8); - JSONObject jsonObject = JSONObject.parseObject(str); - if (jsonObject.containsKey("errcode")) { - throw new CustomException("获取微信素材异常" + jsonObject.getString("errmsg")); - } - } catch (Exception e) { - log.error("获取微信素材异常,", e); - throw new CustomException("获取微信素材异常"); - } - - File tempFile = FileUtil.createTempFile("wx_" + SecurityUtils.getTenantId(), IdUtil.fastSimpleUUID() + ".tmp", null).toFile(); + File tempFile = FileUtil.createTempFile("wx_" + SecurityUtils.getTenantId(), IdUtil.fastSimpleUUID() + ".amr", null).toFile(); // 可以在这里对临时文件进行操作 - log.debug("tempFile = {}", tempFile.getPath()); + log.error("tempFile = {}", tempFile.getPath()); try (FileOutputStream fileOutputStream = new FileOutputStream(tempFile)) { byte[] buffer = new byte[1024]; int bytesRead; @@ -95,7 +77,7 @@ public class WxCommonController { } //将下载的微信素材文件,转化为MP3文件 File targetFile = FileUtil.createTempFile("wx_" + SecurityUtils.getTenantId(), IdUtil.fastSimpleUUID() + ".mp3", null).toFile(); - log.debug("targetFile = {}", targetFile.getPath()); + log.error("targetFile = {}", targetFile.getPath()); WxFileUtils.audioConvert2Mp3(tempFile, targetFile); //将MP3文件上传到OSS String fileAddress = ossFileService.upload(Files.newInputStream(targetFile.toPath()), SecurityUtils.getTenantId(), IdUtil.fastSimpleUUID() + ".mp3"); diff --git a/play-admin/src/main/java/com/starry/admin/modules/weichat/controller/WxCustomController.java b/play-admin/src/main/java/com/starry/admin/modules/weichat/controller/WxCustomController.java index 75f2127..867f514 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/weichat/controller/WxCustomController.java +++ b/play-admin/src/main/java/com/starry/admin/modules/weichat/controller/WxCustomController.java @@ -1,25 +1,26 @@ package com.starry.admin.modules.weichat.controller; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.starry.admin.common.aspect.CustomUserLogin; import com.starry.admin.common.conf.ThreadLocalRequestDetail; import com.starry.admin.common.exception.CustomException; import com.starry.admin.modules.balance.service.IPlayBalanceDetailsInfoService; -import com.starry.admin.modules.clear.module.entity.PlayClerkCommodityEntity; -import com.starry.admin.modules.clear.module.entity.PlayClerkUserInfoEntity; -import com.starry.admin.modules.clear.module.entity.PlayClerkUserListResultVo; -import com.starry.admin.modules.clear.service.IPlayClerkCommodityService; -import com.starry.admin.modules.clear.service.IPlayClerkUserInfoService; +import com.starry.admin.modules.clerk.module.entity.PlayClerkCommodityEntity; +import com.starry.admin.modules.clerk.module.entity.PlayClerkUserInfoEntity; +import com.starry.admin.modules.clerk.module.entity.PlayClerkUserListResultVo; +import com.starry.admin.modules.clerk.service.IPlayClerkCommodityService; +import com.starry.admin.modules.clerk.service.IPlayClerkUserInfoService; import com.starry.admin.modules.custom.module.entity.PlayCustomUserInfoEntity; import com.starry.admin.modules.custom.service.IPlayCustomUserInfoService; import com.starry.admin.modules.follow.service.IPlayCustomFollowInfoService; import com.starry.admin.modules.gift.module.entity.PlayGiftInfoEntity; import com.starry.admin.modules.gift.service.IPlayGiftInfoService; +import com.starry.admin.modules.order.module.entity.PlayOrderInfoEntity; +import com.starry.admin.modules.order.module.vo.PlayOrderInfoQueryVo; +import com.starry.admin.modules.order.module.vo.PlayOrderInfoReturnVo; import com.starry.admin.modules.order.service.IPlayOrderInfoService; -import com.starry.admin.modules.weichat.entity.PlayClerkFollowStateUpdate; -import com.starry.admin.modules.weichat.entity.PlayOrderInfoCommodityAdd; -import com.starry.admin.modules.weichat.entity.PlayOrderInfoGiftAdd; -import com.starry.admin.modules.weichat.entity.PlayOrderInfoRewardAdd; +import com.starry.admin.modules.weichat.entity.*; import com.starry.admin.modules.weichat.service.WxCustomUserService; import com.starry.admin.utils.MoneyUtils; import com.starry.common.result.R; @@ -40,14 +41,12 @@ import java.math.BigDecimal; @RequestMapping("/wx/custom/") public class WxCustomController { - @Resource private IPlayCustomUserInfoService customUserInfoService; @Resource private IPlayBalanceDetailsInfoService playBalanceDetailsInfoService; - @Resource private IPlayClerkUserInfoService clerkUserInfoService; @@ -57,11 +56,9 @@ public class WxCustomController { @Resource private IPlayClerkCommodityService clerkCommodityService; - @Resource private IPlayCustomFollowInfoService playCustomFollowInfoService; - @Resource private IPlayClerkCommodityService playClerkCommodityService; @@ -77,12 +74,9 @@ public class WxCustomController { * @param id 店员ID * @return 店员详细信息 */ - @GetMapping("/queryClarkDetailedById") - public R queryClarkDetailedById(@RequestParam("id") String id) { + @GetMapping("/queryClerkDetailedById") + public R queryClerkDetailedById(@RequestParam("id") String id) { PlayClerkUserInfoEntity entity = clerkUserInfoService.selectById(id); - if (entity == null) { - throw new CustomException("用户不存在"); - } PlayClerkUserListResultVo vo = ConvertUtil.entityToVo(entity, PlayClerkUserListResultVo.class); vo.setAddress(entity.getCity()); // 查询是否关注,未登录情况下,默认为未关注 @@ -90,13 +84,13 @@ public class WxCustomController { if (StringUtils.isNotEmpty(loginUserId)) { vo.setFollowState(playCustomFollowInfoService.queryFollowState(loginUserId, vo.getId())); } - //服务项目 + // 服务项目 vo.setCommodity(playClerkCommodityService.getClerkCommodityList(vo.getId())); return R.ok(vo); } /** - * 查询店员详细信息 + * 根据顾客ID查询当前顾客详细信息 */ @CustomUserLogin @GetMapping("/queryById") @@ -116,130 +110,148 @@ public class WxCustomController { MoneyUtils.verificationTypeIsNormal(vo.getMoney()); String userId = ThreadLocalRequestDetail.getCustomUserInfo().getId(); PlayCustomUserInfoEntity customUserInfo = customUserInfoService.selectById(userId); - if (customUserInfo == null) { - throw new CustomException("用户身份异常"); - } - PlayClerkUserInfoEntity clerkUserInfo = clerkUserInfoService.selectById(vo.getClearId()); - if (clerkUserInfo == null) { - throw new CustomException("打赏对象不存在"); - } + PlayClerkUserInfoEntity clerkUserInfo = clerkUserInfoService.selectById(vo.getClerkId()); if (new BigDecimal(vo.getMoney()).compareTo(customUserInfo.getAccountBalance()) > 0) { throw new CustomException("余额不足"); } // 记录订单信息 orderInfoService.createRewardOrder(new BigDecimal(vo.getMoney()), new BigDecimal(vo.getMoney()), userId); - // 顾客减少余额 customUserInfoService.updateAccountBalanceById(customUserInfo.getId(), customUserInfo.getAccountBalance().subtract(new BigDecimal(vo.getMoney()))); playBalanceDetailsInfoService.create("0", customUserInfo.getId(), customUserInfo.getAccountBalance(), customUserInfo.getAccountBalance().subtract(new BigDecimal(vo.getMoney())), "打赏", new BigDecimal(vo.getMoney()).multiply(new BigDecimal("-1"))); - - // 陪玩增加余额 + // 陪聊增加余额 clerkUserInfoService.updateAccountBalanceById(clerkUserInfo.getId(), clerkUserInfo.getAccountBalance().add(new BigDecimal(vo.getMoney()))); playBalanceDetailsInfoService.create("1", clerkUserInfo.getId(), clerkUserInfo.getAccountBalance(), clerkUserInfo.getAccountBalance().add(new BigDecimal(vo.getMoney())), "打赏", new BigDecimal(vo.getMoney()).multiply(new BigDecimal("1"))); - return R.ok("成功"); } + /** + * 顾客下单-赠送礼物 + **/ @CustomUserLogin @PostMapping("/order/gift") public R giftToOdder(@Validated @RequestBody PlayOrderInfoGiftAdd vo) { - int giftQuantity; - try { - giftQuantity = Integer.parseInt(vo.getGiftQuantity()); - } catch (Exception e) { - throw new CustomException("礼物数量异常"); - } - if (giftQuantity <= 0 || giftQuantity > 10000) { - throw new CustomException("礼物数量必须大于0并且小于1000"); - } String userId = ThreadLocalRequestDetail.getCustomUserInfo().getId(); PlayGiftInfoEntity giftInfo = giftInfoService.selectPlayGiftInfoById(vo.getGiftId()); - if (giftInfo == null) { - throw new CustomException("礼物不存在"); - } PlayCustomUserInfoEntity customUserInfo = customUserInfoService.selectById(userId); - if (customUserInfo == null) { - throw new CustomException("用户身份异常"); - } - PlayClerkUserInfoEntity clerkUserInfo = clerkUserInfoService.selectById(vo.getClearId()); - if (clerkUserInfo == null) { - throw new CustomException("打赏对象不存在"); - } + PlayClerkUserInfoEntity clerkUserInfo = clerkUserInfoService.selectById(vo.getClerkId()); BigDecimal money = giftInfo.getPrice().multiply(new BigDecimal(vo.getGiftQuantity())); - if (money.compareTo(customUserInfo.getAccountBalance()) > 0) { throw new CustomException("账号余额不足"); } // 记录订单信息 - orderInfoService.createGiftOrder(vo.getGiftId(), giftInfo.getPrice(), vo.getGiftQuantity(), money, money, userId); - // 顾客减少余额 customUserInfoService.updateAccountBalanceById(customUserInfo.getId(), customUserInfo.getAccountBalance().subtract(money)); playBalanceDetailsInfoService.create("0", customUserInfo.getId(), customUserInfo.getAccountBalance(), customUserInfo.getAccountBalance().subtract(money), "赠送礼物", money.multiply(new BigDecimal("-1"))); - - // 陪玩增加余额 + // 陪聊增加余额 clerkUserInfoService.updateAccountBalanceById(clerkUserInfo.getId(), clerkUserInfo.getAccountBalance().add(money)); playBalanceDetailsInfoService.create("1", clerkUserInfo.getId(), clerkUserInfo.getAccountBalance(), clerkUserInfo.getAccountBalance().add(money), "赠送礼物", money.multiply(new BigDecimal("1"))); - return R.ok("成功"); } + /** + * 新增指定订单 + * + * @param vo 指定订单查询对象 + * @return com.starry.common.result.R + * @author 杭州世平信息科技有限公司-xuhq + * @since 2024/5/8 16:31 + **/ @CustomUserLogin @PostMapping("/order/commodity") - public R commodityToOdder(@Validated @RequestBody PlayOrderInfoCommodityAdd vo) { - int commodityId; - try { - commodityId = Integer.parseInt(vo.getCommodityQuantity()); - } catch (Exception e) { - throw new CustomException("礼物数量异常"); - } - if (commodityId <= 0 || commodityId > 10000) { - throw new CustomException("购买数量必须大于0并且小于1000"); - } - String userId = ThreadLocalRequestDetail.getCustomUserInfo().getId(); + public R commodityToOrdder(@Validated @RequestBody PlayOrderInfoCommodityAdd vo) { + String customId = ThreadLocalRequestDetail.getCustomUserInfo().getId(); PlayClerkCommodityEntity clerkCommodity = clerkCommodityService.selectPlayClerkCommodityById(vo.getCommodityId()); - if (clerkCommodity == null) { - throw new CustomException("服务不存在"); - } - PlayCustomUserInfoEntity customUserInfo = customUserInfoService.selectById(userId); - if (customUserInfo == null) { - throw new CustomException("用户身份异常"); - } - PlayClerkUserInfoEntity clerkUserInfo = clerkUserInfoService.selectById(vo.getClearId()); - if (clerkUserInfo == null) { - throw new CustomException("打赏对象不存在"); - } + PlayCustomUserInfoEntity customUserInfo = customUserInfoService.selectById(customId); + PlayClerkUserInfoEntity clerkUserInfo = clerkUserInfoService.selectById(vo.getClerkId()); BigDecimal money = clerkCommodity.getCommodityPrice().multiply(new BigDecimal(vo.getCommodityQuantity())); if (money.compareTo(customUserInfo.getAccountBalance()) > 0) { throw new CustomException("余额不足"); } // 记录订单信息 - - orderInfoService.createOrdinaryOrder("2", "0", clerkCommodity.getCommodityId(), clerkCommodity.getCommodityPrice(), vo.getCommodityQuantity(), money, money, userId); - + orderInfoService.createOrdinaryOrder("2", "0", clerkCommodity.getCommodityId(), clerkCommodity.getCommodityPrice(), vo.getCommodityQuantity(), money, money, customId); // 顾客减少余额 customUserInfoService.updateAccountBalanceById(customUserInfo.getId(), customUserInfo.getAccountBalance().subtract(money)); playBalanceDetailsInfoService.create("0", customUserInfo.getId(), customUserInfo.getAccountBalance(), customUserInfo.getAccountBalance().subtract(money), "打赏", money.multiply(new BigDecimal("-1"))); - // 陪玩增加余额 + // 陪聊增加余额 clerkUserInfoService.updateAccountBalanceById(clerkUserInfo.getId(), clerkUserInfo.getAccountBalance().add(money)); playBalanceDetailsInfoService.create("1", clerkUserInfo.getId(), clerkUserInfo.getAccountBalance(), clerkUserInfo.getAccountBalance().add(money), "下单", money.multiply(new BigDecimal("1"))); - return R.ok("成功"); } + @CustomUserLogin + @PostMapping("/order/random") + public R randomToOrdder(@Validated @RequestBody PlayOrderInfoRandomAdd vo) { + // 下单成功后,先根据用户条件进行随机分配 + return R.ok("下单成功"); + } + + + /** + * 顾客分页查询本人订单列表 + * + * @param vo 订单列表分页查询对象 + * @return com.starry.common.result.R + * @author 杭州世平信息科技有限公司-xuhq + * @since 2024/5/8 15:57 + **/ + @CustomUserLogin + @PostMapping("/order/queryByPage") + public R queryOrderByPage(@Validated @RequestBody PlayOrderInfoQueryVo vo) { + vo.setPurchaserBy(ThreadLocalRequestDetail.getCustomUserInfo().getId()); + vo.setOrderType("2"); + IPage iPage = orderInfoService.selectOrderInfoPage(vo); + return R.ok(iPage); + } + + /** + * 顾客分页查询本人订单详细信息 + * + * @param id 订单ID + * @return com.starry.common.result.R + * @author 杭州世平信息科技有限公司-xuhq + * @since 2024/5/8 15:57 + **/ + @CustomUserLogin + @GetMapping("/order/queryById") + public R queryById(@RequestParam("id") String id) { + PlayOrderInfoEntity orderInfo = orderInfoService.selectOrderInfoById(id); + return R.ok(orderInfo); + } + + /** + * 顾客分页查询本人订单列表 + * + * @param id 订单ID + * @return com.starry.common.result.R + * @author 杭州世平信息科技有限公司-xuhq + * @since 2024/5/8 15:57 + **/ + @CustomUserLogin + @GetMapping("/order/cancellation") + public R cancellationOrder(@RequestParam("id") String id) { + orderInfoService.customCancellationOrder(id); + return R.ok("取消成功"); + } + + /** + * 顾客修改对陪玩的关注状态 + * + * @param vo 陪玩的关注状态对象 + * @return com.starry.common.result.R + * @author 杭州世平信息科技有限公司-xuhq + * @since 2024/5/8 15:57 + **/ @CustomUserLogin @PostMapping("/followState/update") public R followStateUpdate(@Validated @RequestBody PlayClerkFollowStateUpdate vo) { - PlayClerkUserInfoEntity clerkUserInfo = clerkUserInfoService.selectById(vo.getClearId()); - if (clerkUserInfo == null) { - throw new CustomException("关注对象不存在"); - } - playCustomFollowInfoService.updateFollowState(ThreadLocalRequestDetail.getCustomUserInfo().getId(), vo.getClearId(), vo.getFollowState()); + PlayClerkUserInfoEntity clerkUserInfo = clerkUserInfoService.selectById(vo.getClerkId()); + playCustomFollowInfoService.updateFollowState(ThreadLocalRequestDetail.getCustomUserInfo().getId(), clerkUserInfo.getId(), vo.getFollowState()); return R.ok("修改成功"); } diff --git a/play-admin/src/main/java/com/starry/admin/modules/weichat/controller/WxOauthController.java b/play-admin/src/main/java/com/starry/admin/modules/weichat/controller/WxOauthController.java index dd80aae..d564823 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/weichat/controller/WxOauthController.java +++ b/play-admin/src/main/java/com/starry/admin/modules/weichat/controller/WxOauthController.java @@ -7,14 +7,13 @@ import com.starry.admin.common.aspect.ClerkUserLogin; import com.starry.admin.common.aspect.CustomUserLogin; import com.starry.admin.common.conf.ThreadLocalRequestDetail; import com.starry.admin.common.exception.CustomException; -import com.starry.admin.modules.clear.module.entity.PlayClerkUserInfoEntity; -import com.starry.admin.modules.clear.service.IPlayClerkUserInfoService; +import com.starry.admin.modules.clerk.module.entity.PlayClerkUserInfoEntity; +import com.starry.admin.modules.clerk.service.IPlayClerkUserInfoService; import com.starry.admin.modules.custom.module.entity.PlayCustomUserInfoEntity; import com.starry.admin.modules.custom.service.IPlayCustomUserInfoService; import com.starry.admin.modules.weichat.entity.WxUserLoginVo; import com.starry.admin.modules.weichat.entity.WxUserQueryAddressVo; import com.starry.admin.modules.weichat.service.WxCustomMpService; -import com.starry.admin.modules.weichat.service.WxCustomUserService; import com.starry.admin.modules.weichat.service.WxOauthService; import com.starry.admin.modules.weichat.service.WxTokenService; import com.starry.common.redis.RedisCache; @@ -89,26 +88,30 @@ public class WxOauthController { } - @PostMapping("/clark/login") + @PostMapping("/clerk/login") public R clerkLogin(@Validated @RequestBody WxUserLoginVo vo) { - String userId = wxOauthService.clarkUserLogin(vo.getCode()); - PlayClerkUserInfoEntity entity = clerkUserInfoService.selectById(userId); - if (entity == null) { - throw new CustomException("用户不存在"); + try { + String userId = wxOauthService.clerkUserLogin(vo.getCode()); + PlayClerkUserInfoEntity entity = clerkUserInfoService.selectById(userId); + if (entity == null) { + throw new CustomException("用户不存在"); + } + // 缓存租户信息 + String redisKey = "TENANT_INFO:" + entity.getId(); + redisCache.setCacheObject(redisKey, entity.getTenantId()); + String tokenValue = tokenService.createWxUserToken(entity.getId()); + JSONObject jsonObject = JSONObject.from(clerkUserInfoService.getVo(entity)); + jsonObject.put("tokenValue", TOKEN_PREFIX + tokenValue); + jsonObject.put("tokenName", CLERK_USER_LOGIN_TOKEN); + jsonObject.put("loginDate", DateUtil.format(new Date(), "yyyy-MM-dd HH:mm:ss")); + clerkUserInfoService.updateTokenById(entity.getId(), tokenValue); + return R.ok(jsonObject); + } catch (Exception e) { + return R.unauthorized(); } - // 缓存租户信息 - String redisKey = "TENANT_INFO:" + entity.getId(); - redisCache.setCacheObject(redisKey, entity.getTenantId()); - String tokenValue = tokenService.createWxUserToken(entity.getId()); - JSONObject jsonObject = JSONObject.from(clerkUserInfoService.getVo(entity)); - jsonObject.put("tokenValue", TOKEN_PREFIX + tokenValue); - jsonObject.put("tokenName", CLERK_USER_LOGIN_TOKEN); - jsonObject.put("loginDate", DateUtil.format(new Date(), "yyyy-MM-dd HH:mm:ss")); - clerkUserInfoService.updateTokenById(entity.getId(), tokenValue); - return R.ok(jsonObject); } - @PostMapping("/clark/loginById") + @PostMapping("/clerk/loginById") public R loginById(@Validated @RequestBody WxUserLoginVo vo) { PlayClerkUserInfoEntity entity = clerkUserInfoService.selectById(vo.getCode()); if (entity == null) { @@ -127,9 +130,9 @@ public class WxOauthController { } @ClerkUserLogin - @GetMapping("/clark/logout") + @GetMapping("/clerk/logout") public R clerkLogout() { - wxOauthService.clarkUserLogout(ThreadLocalRequestDetail.getClerkUserInfo()); + wxOauthService.clerkUserLogout(ThreadLocalRequestDetail.getClerkUserInfo()); return R.ok("登出成功"); } @@ -152,22 +155,27 @@ public class WxOauthController { @PostMapping("/custom/login") + public R customLogin(@Validated @RequestBody WxUserLoginVo vo) { - String userId = wxOauthService.customUserLogin(vo.getCode()); - PlayCustomUserInfoEntity entity = customUserInfoService.selectById(userId); - if (entity == null) { - throw new CustomException("用户不存在"); + try { + String userId = wxOauthService.customUserLogin(vo.getCode()); + PlayCustomUserInfoEntity entity = customUserInfoService.selectById(userId); + if (entity == null) { + throw new CustomException("用户不存在"); + } + // 缓存租户信息 + String redisKey = "TENANT_INFO:" + entity.getId(); + redisCache.setCacheObject(redisKey, entity.getTenantId()); + JSONObject jsonObject = JSONObject.from(entity); + String tokenValue = tokenService.createWxUserToken(entity.getId()); + jsonObject.put("tokenValue", TOKEN_PREFIX + tokenValue); + jsonObject.put("tokenName", CUSTOM_USER_LOGIN_TOKEN); + jsonObject.put("loginDate", DateUtil.format(new Date(), "yyyy-MM-dd HH:mm:ss")); + customUserInfoService.updateTokenById(entity.getId(), tokenValue); + return R.ok(jsonObject); + } catch (Exception e) { + return R.unauthorized(); } - // 缓存租户信息 - String redisKey = "TENANT_INFO:" + entity.getId(); - redisCache.setCacheObject(redisKey, entity.getTenantId()); - JSONObject jsonObject = JSONObject.from(entity); - String tokenValue = tokenService.createWxUserToken(entity.getId()); - jsonObject.put("tokenValue", TOKEN_PREFIX + tokenValue); - jsonObject.put("tokenName", CUSTOM_USER_LOGIN_TOKEN); - jsonObject.put("loginDate", DateUtil.format(new Date(), "yyyy-MM-dd HH:mm:ss")); - customUserInfoService.updateTokenById(entity.getId(), tokenValue); - return R.ok(jsonObject); } @PostMapping("/custom/loginById") diff --git a/play-admin/src/main/java/com/starry/admin/modules/weichat/controller/WxPlayController.java b/play-admin/src/main/java/com/starry/admin/modules/weichat/controller/WxPlayController.java index 2db8694..7697343 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/weichat/controller/WxPlayController.java +++ b/play-admin/src/main/java/com/starry/admin/modules/weichat/controller/WxPlayController.java @@ -1,16 +1,22 @@ package com.starry.admin.modules.weichat.controller; +import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.StrUtil; +import cn.hutool.core.util.XmlUtil; +import com.github.wxpay.sdk.WXPayUtil; import com.starry.admin.common.aspect.CustomUserLogin; import com.starry.admin.common.conf.ThreadLocalRequestDetail; import com.starry.admin.common.exception.CustomException; +import com.starry.admin.common.play.wx.WeChatConstants; +import com.starry.admin.common.play.wx.WxCustomPayUtils; import com.starry.admin.modules.balance.service.IPlayBalanceDetailsInfoService; import com.starry.admin.modules.custom.module.entity.PlayCustomUserInfoEntity; import com.starry.admin.modules.custom.service.IPlayCustomUserInfoService; import com.starry.admin.modules.order.service.IPlayOrderInfoService; import com.starry.admin.modules.platform.entity.SysTenantEntity; import com.starry.admin.modules.platform.service.impl.SysTenantServiceImpl; +import com.starry.admin.modules.weichat.entity.WxPayReturnVo; import com.starry.admin.utils.SecurityUtils; import com.starry.common.result.R; import com.starry.common.utils.StringUtils; @@ -21,11 +27,25 @@ import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.BufferedReader; +import java.io.InputStream; +import java.io.InputStreamReader; import java.math.BigDecimal; +import java.nio.charset.StandardCharsets; +import java.time.LocalDateTime; +import java.time.ZoneOffset; +import java.util.Map; +import java.util.SortedMap; +import java.util.TreeMap; +/** + * @author admin + */ @Slf4j @RestController -@RequestMapping("/wx/play/") +@RequestMapping("/wx/pay/") public class WxPlayController { @@ -43,48 +63,75 @@ public class WxPlayController { private IPlayOrderInfoService orderInfoService; + /** + * 微信支付-微信回调地址(https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=9_7&index=8) + * + * @author 杭州世平信息科技有限公司-xuhq + * @since 2024/5/8 11:25 + **/ + @GetMapping("/jsCallback") + public void jsCallback(HttpServletRequest request, HttpServletResponse response) throws Exception { + // 读取回调数据 + InputStream inputStream = request.getInputStream(); + StringBuilder sb = new StringBuilder(); + String s; + BufferedReader in = new BufferedReader(new InputStreamReader(inputStream, StandardCharsets.UTF_8)); + while ((s = in.readLine()) != null) { + sb.append(s); + } + in.close(); + inputStream.close(); + + // 解析xml成map + Map m = XmlUtil.xmlToMap(sb.toString()); + // 过滤空 设置 TreeMap + SortedMap packageParams = new TreeMap<>(); + for (String parameter : m.keySet()) { + Object parameterValue = m.get(parameter); + String v = ""; + if (null != parameterValue) { + v = parameterValue.toString().trim(); + } + packageParams.put(parameter, v); + } + log.info("packageParams=" + packageParams); + String resXml = ""; + response.getWriter().write(resXml); + } + + @CustomUserLogin @GetMapping("/custom/createOrder") public R createOrder(@RequestParam("money") String money) { if (StringUtils.isEmpty(money)) { throw new CustomException("请求参数错误,money不能为空"); } - String tenantId = SecurityUtils.getTenantId(); if (StrUtil.isBlankIfStr(tenantId)) { - throw new CustomException("系统错误,租户ID不能为空"); + throw new CustomException("系统错误,租户ID获取失败"); } + // 用户信息 + PlayCustomUserInfoEntity customUserInfo = customUserInfoService.selectById(ThreadLocalRequestDetail.getCustomUserInfo().getId()); + // 租户信息 SysTenantEntity entity = tenantService.selectSysTenantByTenantId(tenantId); - if (entity == null) { - throw new CustomException("系统错误,租户ID不能为空"); + // 订单总金额,单位为分(开发阶段固定设置为支付1分钱) + long totalFee = 1; + // 创建订单信息 + String orderId = IdUtil.fastSimpleUUID(); + orderInfoService.createRechargeOrder(orderId, new BigDecimal(totalFee * 1.0 / 100), new BigDecimal(totalFee * 1.0 / 100), customUserInfo.getId()); + String body = "树洞充值"; + try { + String nonceStr = WxCustomPayUtils.generateNonceStr(); + Map playRequestParameters = WxCustomPayUtils.getPayRequestParameters(customUserInfo.getOpenid(), entity.getAppId(), entity.getMchId(), orderId, nonceStr, "127.0.0.1", body, SecurityUtils.getTenantId(), totalFee); + log.info(WXPayUtil.mapToXml(playRequestParameters)); + String sign = WxCustomPayUtils.generateSignature(playRequestParameters, entity.getMchKey()); + String prepayId = WxCustomPayUtils.unifiedOrderJsApi(playRequestParameters, sign, entity.getMchKey()); + WxPayReturnVo vo = new WxPayReturnVo(entity.getMchKey(), String.valueOf(LocalDateTime.now().toEpochSecond(ZoneOffset.of("+8"))), nonceStr, WeChatConstants.SignType.MD5.toString(), sign, prepayId, WeChatConstants.NOTIFY_URL); + return R.ok(vo); + } catch (Exception e) { + log.error("创建微信预支付订单失败,error=", e); + throw new CustomException("创建支付订单失败," + e.getMessage()); } - - - String openId = ThreadLocalRequestDetail.getCustomUserInfo().getOpenid(); - //订单总金额,单位为分 - int totalFee = getTotalFee(money); -// String orderId = IdUtil.fastSimpleUUID(); -// String body = "body"; -// -// try { -// String id = WxPlayUtils.unifiedOrderJSAPI(openId, entity.getAppId(), entity.getMchId(), orderId, "127.0.0.1", body, SecurityUtils.getTenantId(), totalFee); -// return R.ok(id); -// } catch (Exception e) { -// log.error("创建支付订单失败,error=", e); -// throw new CustomException("创建支付订单失败," + e.getMessage()); -// } - - String userId = ThreadLocalRequestDetail.getCustomUserInfo().getId(); - PlayCustomUserInfoEntity customUserInfo = customUserInfoService.selectById(userId); - if (customUserInfo == null) { - throw new CustomException("用户身份异常"); - } - - orderInfoService.createRechargeOrder(new BigDecimal(totalFee / 100), new BigDecimal(totalFee / 100), userId); - customUserInfoService.updateAccountBalanceById(customUserInfo.getId(), customUserInfo.getAccountBalance().add(new BigDecimal(totalFee / 100))); - playBalanceDetailsInfoService.create("1", customUserInfo.getId(), customUserInfo.getAccountBalance(), customUserInfo.getAccountBalance().add(new BigDecimal(totalFee / 100)), "充值", new BigDecimal(totalFee / 100)); - - return R.ok("成功"); } @@ -92,10 +139,10 @@ public class WxPlayController { * @param money 金额,单位-元 * @return 金额, 单位-分 */ - public int getTotalFee(String money) { - int totalFee; + public long getTotalFee(String money) { + long totalFee; try { - totalFee = (int) Float.parseFloat(money) * 100; + totalFee = (long) Float.parseFloat(money) * 100; } catch (Exception e) { throw new CustomException("请求参数错误,money类型异常"); } @@ -104,4 +151,8 @@ public class WxPlayController { } return totalFee; } + + public static void main(String[] args) { + + } } diff --git a/play-admin/src/main/java/com/starry/admin/modules/weichat/entity/PlayClarkCommodityTreeData.java b/play-admin/src/main/java/com/starry/admin/modules/weichat/entity/PlayClerkCommodityTreeData.java similarity index 61% rename from play-admin/src/main/java/com/starry/admin/modules/weichat/entity/PlayClarkCommodityTreeData.java rename to play-admin/src/main/java/com/starry/admin/modules/weichat/entity/PlayClerkCommodityTreeData.java index be228d7..5ef54f1 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/weichat/entity/PlayClarkCommodityTreeData.java +++ b/play-admin/src/main/java/com/starry/admin/modules/weichat/entity/PlayClerkCommodityTreeData.java @@ -1,6 +1,6 @@ package com.starry.admin.modules.weichat.entity; -import com.starry.admin.modules.clear.module.entity.PlayClerkCommodityEntity; +import com.starry.admin.modules.clerk.module.entity.PlayClerkCommodityEntity; import com.starry.common.utils.ConvertUtil; import lombok.Data; @@ -9,23 +9,25 @@ import java.util.List; /** * 店员商品树状数据 + * + * @author admin */ @Data -public class PlayClarkCommodityTreeData { +public class PlayClerkCommodityTreeData { private String commodityType; - private List value; + private List value; - public PlayClarkCommodityTreeData(String commodityType, List value) { + public PlayClerkCommodityTreeData(String commodityType, List value) { this.commodityType = commodityType; - this.value = ConvertUtil.entityToVoList(value, ClarkCommodityInfo.class); + this.value = ConvertUtil.entityToVoList(value, ClerkCommodityInfo.class); } @Data - public static class ClarkCommodityInfo { + public static class ClerkCommodityInfo { private String id; diff --git a/play-admin/src/main/java/com/starry/admin/modules/weichat/entity/PlayClerkFollowStateUpdate.java b/play-admin/src/main/java/com/starry/admin/modules/weichat/entity/PlayClerkFollowStateUpdate.java index 41778fb..3cd2f33 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/weichat/entity/PlayClerkFollowStateUpdate.java +++ b/play-admin/src/main/java/com/starry/admin/modules/weichat/entity/PlayClerkFollowStateUpdate.java @@ -7,7 +7,7 @@ import javax.validation.constraints.NotBlank; import javax.validation.constraints.Pattern; /** - * 店员和陪玩关注状态 + * 店员和陪聊关注状态 * * @author admin */ @@ -19,7 +19,7 @@ public class PlayClerkFollowStateUpdate { * 店员用户ID */ @NotBlank(message = "打赏对象不能为空") - private String clearId; + private String clerkId; @NotBlank(message = "关注状态不能为空") @Pattern(regexp = "[01]", message = "关注状态必须为0或者1") diff --git a/play-admin/src/main/java/com/starry/admin/modules/weichat/entity/PlayClerkUserLoginResponseVo.java b/play-admin/src/main/java/com/starry/admin/modules/weichat/entity/PlayClerkUserLoginResponseVo.java index 9cdb7e8..55db198 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/weichat/entity/PlayClerkUserLoginResponseVo.java +++ b/play-admin/src/main/java/com/starry/admin/modules/weichat/entity/PlayClerkUserLoginResponseVo.java @@ -1,6 +1,6 @@ package com.starry.admin.modules.weichat.entity; -import com.starry.admin.modules.clear.module.vo.PlayClerkCommodityQueryVo; +import com.starry.admin.modules.clerk.module.vo.PlayClerkCommodityQueryVo; import lombok.Data; import java.util.ArrayList; @@ -116,12 +116,12 @@ public class PlayClerkUserLoginResponseVo { private String onlineState; /** - * 员工状态【1:是陪玩,0:不是陪玩】 + * 员工状态【1:是陪聊,0:不是陪聊】 */ private String clerkState; /** - * 允许申请陪玩 + * 允许申请陪聊 */ private boolean clerkAllowEdit = true; diff --git a/play-admin/src/main/java/com/starry/admin/modules/weichat/entity/PlayOrderInfoCommodityAdd.java b/play-admin/src/main/java/com/starry/admin/modules/weichat/entity/PlayOrderInfoCommodityAdd.java index 148feca..19ddcb8 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/weichat/entity/PlayOrderInfoCommodityAdd.java +++ b/play-admin/src/main/java/com/starry/admin/modules/weichat/entity/PlayOrderInfoCommodityAdd.java @@ -1,9 +1,13 @@ package com.starry.admin.modules.weichat.entity; +import com.starry.admin.modules.gift.module.constant.GiftConstant; import lombok.Data; +import javax.validation.constraints.Max; +import javax.validation.constraints.Min; import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; import java.util.List; /** @@ -19,14 +23,18 @@ public class PlayOrderInfoCommodityAdd { * 店员用户ID */ @NotBlank(message = "打赏对象不能为空") - private String clearId; + private String clerkId; @NotBlank(message = "商品ID不能为空") private String commodityId; - @NotBlank(message = "礼物数量不能为空") - private String commodityQuantity; + + + @NotNull(message = "数量不能为空") + @Min(value = GiftConstant.MINIMUM_SINGLE_GIFT_QUANTITY, message = "数量不能小于" + GiftConstant.MINIMUM_SINGLE_GIFT_QUANTITY) + @Max(value = GiftConstant.MAXIMUM_SINGLE_GIFT_QUANTITY, message = "数量不能大于" + GiftConstant.MAXIMUM_SINGLE_GIFT_QUANTITY) + private int commodityQuantity; @NotBlank(message = "微信号不能为空") diff --git a/play-admin/src/main/java/com/starry/admin/modules/weichat/entity/PlayOrderInfoGiftAdd.java b/play-admin/src/main/java/com/starry/admin/modules/weichat/entity/PlayOrderInfoGiftAdd.java index cd904c8..92de6ee 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/weichat/entity/PlayOrderInfoGiftAdd.java +++ b/play-admin/src/main/java/com/starry/admin/modules/weichat/entity/PlayOrderInfoGiftAdd.java @@ -1,9 +1,13 @@ package com.starry.admin.modules.weichat.entity; +import com.starry.admin.modules.gift.module.constant.GiftConstant; import lombok.Data; +import javax.validation.constraints.Max; +import javax.validation.constraints.Min; import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; /** * 新增赠礼订单实体 @@ -13,19 +17,20 @@ import javax.validation.constraints.NotBlank; @Data public class PlayOrderInfoGiftAdd { - /** * 店员用户ID */ @NotBlank(message = "打赏对象不能为空") - private String clearId; + private String clerkId; @NotBlank(message = "礼物ID不能为空") private String giftId; - @NotBlank(message = "礼物数量不能为空") - private String giftQuantity; + @NotNull(message = "礼物数量不能为空") + @Min(value = GiftConstant.MINIMUM_SINGLE_GIFT_QUANTITY, message = "礼物数量不能小于" + GiftConstant.MINIMUM_SINGLE_GIFT_QUANTITY) + @Max(value = GiftConstant.MAXIMUM_SINGLE_GIFT_QUANTITY, message = "礼物数量不能大于" + GiftConstant.MAXIMUM_SINGLE_GIFT_QUANTITY) + private int giftQuantity; @NotBlank(message = "微信号不能为空") diff --git a/play-admin/src/main/java/com/starry/admin/modules/weichat/entity/PlayOrderInfoRandomAdd.java b/play-admin/src/main/java/com/starry/admin/modules/weichat/entity/PlayOrderInfoRandomAdd.java new file mode 100644 index 0000000..aac456d --- /dev/null +++ b/play-admin/src/main/java/com/starry/admin/modules/weichat/entity/PlayOrderInfoRandomAdd.java @@ -0,0 +1,69 @@ +package com.starry.admin.modules.weichat.entity; + + +import com.starry.admin.modules.gift.module.constant.GiftConstant; +import lombok.Data; + +import javax.validation.constraints.Max; +import javax.validation.constraints.Min; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.util.List; + +/** + * 新增随机订单实体 + * + * @author admin + */ +@Data +public class PlayOrderInfoRandomAdd { + + /** + * 陪聊性别(0:未知;1:男;2:女) + * + * @since 2024/5/8 15:31 + **/ + private String sex; + /** + * 陪聊等级 + **/ + @NotBlank(message = "商品ID不能为空") + private String levelId; + + /** + * 标签列表 + * + * @since 2024/5/8 15:26 + **/ + private List labels; + + + @NotBlank(message = "商品ID不能为空") + private String commodityId; + + @NotNull(message = "数量不能为空") + @Min(value = GiftConstant.MINIMUM_SINGLE_GIFT_QUANTITY, message = "数量不能小于" + GiftConstant.MINIMUM_SINGLE_GIFT_QUANTITY) + @Max(value = GiftConstant.MAXIMUM_SINGLE_GIFT_QUANTITY, message = "数量不能大于" + GiftConstant.MAXIMUM_SINGLE_GIFT_QUANTITY) + private int commodityQuantity; + + + @NotBlank(message = "微信号不能为空") + private String weiChatCode; + + /** + * 是否排除下单过的成员(0:不排除;1:排除) + * + * @since 2024/5/8 15:28 + **/ + private String excludeHistory; + + /** + * 优惠券ID列表 + */ + private List couponIds; + + /** + * 备注 + */ + private String remark; +} diff --git a/play-admin/src/main/java/com/starry/admin/modules/weichat/entity/PlayOrderInfoRewardAdd.java b/play-admin/src/main/java/com/starry/admin/modules/weichat/entity/PlayOrderInfoRewardAdd.java index 9807049..0ecf928 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/weichat/entity/PlayOrderInfoRewardAdd.java +++ b/play-admin/src/main/java/com/starry/admin/modules/weichat/entity/PlayOrderInfoRewardAdd.java @@ -7,6 +7,7 @@ import javax.validation.constraints.NotBlank; /** * 新增打赏订单实体 + * @author admin */ @Data public class PlayOrderInfoRewardAdd { @@ -16,7 +17,7 @@ public class PlayOrderInfoRewardAdd { * 店员用户ID */ @NotBlank(message = "打赏对象不能为空") - private String clearId; + private String clerkId; /** * 打赏金额 */ diff --git a/play-admin/src/main/java/com/starry/admin/modules/weichat/entity/WxPayReturnVo.java b/play-admin/src/main/java/com/starry/admin/modules/weichat/entity/WxPayReturnVo.java new file mode 100644 index 0000000..6294992 --- /dev/null +++ b/play-admin/src/main/java/com/starry/admin/modules/weichat/entity/WxPayReturnVo.java @@ -0,0 +1,31 @@ +package com.starry.admin.modules.weichat.entity; + +import lombok.Data; + +/** + * 微信预支付接口返回信息 + * + * @author 杭州世平信息科技有限公司-xuhq + * @since 2024/5/8 10:43 + **/ +@Data +public class WxPayReturnVo { + + private String orderId; + private String timeStamp; + private String nonceStr; + private String signType; + private String paySign; + private String prepayId; + private String callback; + + public WxPayReturnVo(String orderId, String timeStamp, String nonceStr, String signType, String paySign, String prepayId, String callback) { + this.orderId = orderId; + this.timeStamp = timeStamp; + this.nonceStr = nonceStr; + this.signType = signType; + this.paySign = paySign; + this.prepayId = prepayId; + this.callback = callback; + } +} diff --git a/play-admin/src/main/java/com/starry/admin/modules/weichat/service/WxOauthService.java b/play-admin/src/main/java/com/starry/admin/modules/weichat/service/WxOauthService.java index ade4c69..85e5832 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/weichat/service/WxOauthService.java +++ b/play-admin/src/main/java/com/starry/admin/modules/weichat/service/WxOauthService.java @@ -4,9 +4,9 @@ package com.starry.admin.modules.weichat.service; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.StrUtil; import com.starry.admin.common.exception.ServiceException; -import com.starry.admin.modules.clear.module.entity.PlayClerkUserInfoEntity; -import com.starry.admin.modules.clear.service.IPlayClerkLevelInfoService; -import com.starry.admin.modules.clear.service.IPlayClerkUserInfoService; +import com.starry.admin.modules.clerk.module.entity.PlayClerkUserInfoEntity; +import com.starry.admin.modules.clerk.service.IPlayClerkLevelInfoService; +import com.starry.admin.modules.clerk.service.IPlayClerkUserInfoService; import com.starry.admin.modules.custom.module.entity.PlayCustomUserInfoEntity; import com.starry.admin.modules.custom.service.IPlayCustomLevelInfoService; import com.starry.admin.modules.custom.service.IPlayCustomUserInfoService; @@ -20,6 +20,11 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.Date; +/** + * 微信授权 + * + * @author admin + */ @Slf4j @Service public class WxOauthService { @@ -51,7 +56,7 @@ public class WxOauthService { * @author admin * @since 2024/4/15 11:01 **/ - public String clarkUserLogin(String code) { + public String clerkUserLogin(String code) { WxOAuth2AccessToken token = getWxOAuth2AccessToken(code); log.info("token = " + token); String openId = getOpenId(token); @@ -71,7 +76,7 @@ public class WxOauthService { } - public void clarkUserLogout(PlayClerkUserInfoEntity entity) { + public void clerkUserLogout(PlayClerkUserInfoEntity entity) { entity.setToken("empty"); clerkUserInfoService.update(entity); } diff --git a/play-admin/src/main/java/com/starry/admin/modules/weichat/utils/WxFileUtils.java b/play-admin/src/main/java/com/starry/admin/modules/weichat/utils/WxFileUtils.java index 0e9b7ac..a014c0c 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/weichat/utils/WxFileUtils.java +++ b/play-admin/src/main/java/com/starry/admin/modules/weichat/utils/WxFileUtils.java @@ -33,7 +33,7 @@ public class WxFileUtils { * @throws IOException IOException */ public static InputStream getTemporaryMaterial(String access_token, String mediaId) throws IOException { - String url = "https://api.weixin.qq.com/cgi-bin/media/get?" + access_token + "=ACCESS_TOKEN&media_id=" + mediaId; + String url = "https://api.weixin.qq.com/cgi-bin/media/get?access_token=" + access_token + "&media_id=" + mediaId; // 请求参数 HashMap param = new HashMap<>(); param.put("media_id", mediaId); @@ -52,22 +52,20 @@ public class WxFileUtils { log.error("从微信下载的临时素材文件为空"); throw new CustomException("音频文件上传失败"); } - FileUtil.touch("/tmp/jave/ffmpeg-amd64-3.5.0/"); - AudioAttributes audio = new AudioAttributes(); - audio.setCodec("libmp3lame"); - audio.setBitRate(128000); - audio.setChannels(2); - audio.setSamplingRate(44100); - EncodingAttributes attrs = new EncodingAttributes(); - attrs.setOutputFormat("mp3"); - attrs.setAudioAttributes(audio); - Encoder encoder = new Encoder(); - MultimediaObject multimediaObject = new MultimediaObject(source); try { - encoder.encode(multimediaObject, target, attrs); + AudioAttributes audio = new AudioAttributes(); + audio.setCodec("libmp3lame"); + audio.setBitRate(128000); + audio.setChannels(2); + audio.setSamplingRate(44100); + EncodingAttributes attrs = new EncodingAttributes(); + attrs.setOutputFormat("mp3"); + attrs.setAudioAttributes(audio); + Encoder encoder = new Encoder(); + encoder.encode(new MultimediaObject(source), target, attrs); } catch (Exception ex) { log.error("音频文件格式转化失败", ex); - throw new CustomException("音频文件格式转化失败"); + throw new CustomException("音频文件上传失败"); } } diff --git a/play-admin/src/main/java/com/starry/admin/utils/MoneyUtils.java b/play-admin/src/main/java/com/starry/admin/utils/MoneyUtils.java index 0765826..e19a3b8 100644 --- a/play-admin/src/main/java/com/starry/admin/utils/MoneyUtils.java +++ b/play-admin/src/main/java/com/starry/admin/utils/MoneyUtils.java @@ -5,6 +5,7 @@ import com.starry.admin.common.exception.CustomException; /** * 金额辅助类 + * @author admin */ public class MoneyUtils { @@ -24,7 +25,7 @@ public class MoneyUtils { } catch (Exception e) { throw new CustomException("金额类型异常"); } - if (item < 0f) { + if (item < 0) { throw new CustomException("金额不能小于0"); } if (item > Integer.MAX_VALUE) { diff --git a/play-admin/src/main/resources/application.yml b/play-admin/src/main/resources/application.yml index 6ca75ee..76df201 100644 --- a/play-admin/src/main/resources/application.yml +++ b/play-admin/src/main/resources/application.yml @@ -5,6 +5,10 @@ server: spring: profiles: active: test + servlet: + multipart: + max-file-size: 100MB + max-request-size: 1000MB logging: config: classpath:logback-spring.xml # mybatis日志 diff --git a/pom.xml b/pom.xml index 716f465..5c44711 100644 --- a/pom.xml +++ b/pom.xml @@ -50,6 +50,7 @@ 2.2.11 4.6.0 + 3.1.1 @@ -213,19 +214,13 @@ ws.schild jave-core - 3.5.0 - - - ws.schild - jave-native-win64 - 2.4.6 + ${ws-schild.version} - ws.schild - jave-native-linux64 - 2.4.6 + jave-nativebin-linux64 + ${ws-schild.version}