diff --git a/src/main/java/com/syzb/common/config/cache/CacheKey.java b/src/main/java/com/syzb/common/config/cache/CacheKey.java index 872a308..ad44262 100644 --- a/src/main/java/com/syzb/common/config/cache/CacheKey.java +++ b/src/main/java/com/syzb/common/config/cache/CacheKey.java @@ -41,7 +41,6 @@ public class CacheKey { public static final String COLLECT_LIVING_VIDEO_LOCK = "collect_living_video_lock"; public static final String COLLECT_RECENT_END_VIDEO_LOCK = "collect_recent_end_video_lock"; - public static final String SYNC_APP_ORDER = "sync_app_order"; public static final String LOAD_USER_BLACK_LIST = "load_user_black_list"; public static final String SAVE_MESSAGE_READ = "save_message_read"; public static final String SAVE_GROUP_USER = "save_group_user"; diff --git a/src/main/java/com/syzb/common/state/GroupMessageStateMachine.java b/src/main/java/com/syzb/common/state/GroupMessageStateMachine.java index b1402ec..3600a94 100644 --- a/src/main/java/com/syzb/common/state/GroupMessageStateMachine.java +++ b/src/main/java/com/syzb/common/state/GroupMessageStateMachine.java @@ -17,6 +17,8 @@ public class GroupMessageStateMachine { groupMessageSM.add(GroupMessageStatus.INITIAL, GroupMessageStatus.DELETED); // 已审核 -> 删除 -> 已删除 groupMessageSM.add(GroupMessageStatus.AUDITED, GroupMessageStatus.DELETED); + // 已审核 -> 撤回 -> 初始 + groupMessageSM.add(GroupMessageStatus.AUDITED, GroupMessageStatus.INITIAL); return groupMessageSM; } diff --git a/src/main/java/com/syzb/common/vo/CommentBlackVO.java b/src/main/java/com/syzb/common/vo/CommentBlackVO.java index dad6687..69ffa12 100644 --- a/src/main/java/com/syzb/common/vo/CommentBlackVO.java +++ b/src/main/java/com/syzb/common/vo/CommentBlackVO.java @@ -63,6 +63,7 @@ public class CommentBlackVO extends CommonPhoneVO { public CommentBlackVO(CommentBlack commentBlack) { this.id = commentBlack.getId(); + super.setPhone(commentBlack.getPhone()); this.userName = commentBlack.getUserName(); this.productId = commentBlack.getProductId(); this.productType = commentBlack.getProductType(); diff --git a/src/main/java/com/syzb/course/query/SetMainPageQuery.java b/src/main/java/com/syzb/course/query/SetMainPageQuery.java index 1dfee9b..466954e 100644 --- a/src/main/java/com/syzb/course/query/SetMainPageQuery.java +++ b/src/main/java/com/syzb/course/query/SetMainPageQuery.java @@ -4,6 +4,7 @@ import cn.hutool.core.util.StrUtil; import com.syzb.course.entity.Course; import com.syzb.course.entity.CoursePackage; import com.syzb.course.entity.ShortVideo; +import com.syzb.group.entity.GroupInfo; import com.syzb.video.entity.VideoLive; import io.swagger.annotations.ApiModelProperty; @@ -84,6 +85,21 @@ public class SetMainPageQuery { return coursePackage; } + public GroupInfo toGroupPO() { + GroupInfo groupInfo = new GroupInfo(); + groupInfo.setId(id); + if (isRecommend != null) { + groupInfo.setIsRecommend(isRecommend); + } + if (isDisplay != null) { + groupInfo.setIsDisplay(isDisplay); + } + if (StrUtil.isNotBlank(mainPageText)) { + groupInfo.setMainPageText(mainPageText); + } + return groupInfo; + } + public Integer getId() { return id; } diff --git a/src/main/java/com/syzb/group/controller/admin/AdminGroupInfoController.java b/src/main/java/com/syzb/group/controller/admin/AdminGroupInfoController.java index e6cddbb..9e7cb28 100644 --- a/src/main/java/com/syzb/group/controller/admin/AdminGroupInfoController.java +++ b/src/main/java/com/syzb/group/controller/admin/AdminGroupInfoController.java @@ -7,6 +7,7 @@ import com.syzb.common.result.CommonResult; import com.syzb.common.result.Pager; import com.syzb.common.vo.BackendUserVO; import com.syzb.common.vo.InsertIdVO; +import com.syzb.course.query.SetMainPageQuery; import com.syzb.group.query.info.*; import com.syzb.group.service.admin.AdminGroupInfoService; import com.syzb.group.vo.GroupVO; @@ -79,4 +80,12 @@ public class AdminGroupInfoController { return CommonResult.success(); } + @ApiOperation("后台设置首页参数") + @PostMapping("/admin/group/info/setMainPageParam") + public CommonResult setMainPageParam(@Validated @RequestBody @ApiParam(required = true) SetMainPageQuery query, + @RequestAttribute(value = "backendUser", required = false) BackendUserVO backendUserVO) { + adminGroupInfoService.setMainPageParam(query, backendUserVO); + return CommonResult.success(); + } + } \ No newline at end of file diff --git a/src/main/java/com/syzb/group/controller/app/AppGroupMessageController.java b/src/main/java/com/syzb/group/controller/app/AppGroupMessageController.java index 2f85676..2f3cd78 100644 --- a/src/main/java/com/syzb/group/controller/app/AppGroupMessageController.java +++ b/src/main/java/com/syzb/group/controller/app/AppGroupMessageController.java @@ -35,8 +35,11 @@ public class AppGroupMessageController { @PostMapping("/app/group/message/getMessageList") public CommonResult> getMessageList( @Validated @RequestBody @ApiParam(required = true) ListGroupMessageAppQuery query, - @RequestAttribute(value = "frontUser", required = false) FrontUserVO frontUserVO) { - AppPager list = appGroupMessageService.getMessageList(query, frontUserVO); + @RequestAttribute(value = "frontUser", required = false) FrontUserVO frontUser) { + if (frontUser == null) { + throw new BizException(ResponseStatus.SESSION_EXPIRY); + } + AppPager list = appGroupMessageService.getMessageList(query, frontUser); return CommonResult.success(list); } @@ -57,6 +60,9 @@ public class AppGroupMessageController { public CommonResult readMessage( @Validated @RequestBody @ApiParam(required = true) ReadGroupMessageAppQuery query, @RequestAttribute(value = "frontUser", required = false) FrontUserVO frontUser) { + if (frontUser == null) { + throw new BizException(ResponseStatus.SESSION_EXPIRY); + } appGroupMessageService.readMessage(query, frontUser); return CommonResult.success(); } @@ -66,6 +72,9 @@ public class AppGroupMessageController { public CommonResult unreadCount( @Validated @RequestBody @ApiParam(required = true) QueryUnreadCountAppQuery query, @RequestAttribute(value = "frontUser", required = false) FrontUserVO frontUser) { + if (frontUser == null) { + throw new BizException(ResponseStatus.SESSION_EXPIRY); + } Integer count = appGroupMessageService.queryUnreadCount(query, frontUser); return CommonResult.success(count); } diff --git a/src/main/java/com/syzb/group/query/info/SaveGroupQuery.java b/src/main/java/com/syzb/group/query/info/SaveGroupQuery.java index 14ca1fa..db70965 100644 --- a/src/main/java/com/syzb/group/query/info/SaveGroupQuery.java +++ b/src/main/java/com/syzb/group/query/info/SaveGroupQuery.java @@ -2,6 +2,8 @@ package com.syzb.group.query.info; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; +import com.syzb.common.constant.IsDisplay; +import com.syzb.common.constant.IsOrNot; import com.syzb.common.vo.BackendUserVO; import com.syzb.group.constant.GroupInfoStatus; import com.syzb.group.entity.GroupInfo; @@ -108,6 +110,7 @@ public class SaveGroupQuery { groupInfo.setUpdateTime(LocalDateTime.now()); groupInfo.setCreateUserId(backendUserVO.getUserId()); groupInfo.setWechatWorkId(wechatWorkId); + groupInfo.setIsDisplay(IsDisplay.YES.value); return groupInfo; } diff --git a/src/main/java/com/syzb/group/service/admin/AdminGroupInfoService.java b/src/main/java/com/syzb/group/service/admin/AdminGroupInfoService.java index 936c5c1..32ef36d 100644 --- a/src/main/java/com/syzb/group/service/admin/AdminGroupInfoService.java +++ b/src/main/java/com/syzb/group/service/admin/AdminGroupInfoService.java @@ -21,6 +21,8 @@ import com.syzb.common.vo.AuthResultVO; import com.syzb.common.vo.BackendUserVO; import com.syzb.common.vo.FrontUserVO; import com.syzb.common.vo.InsertIdVO; +import com.syzb.course.entity.ShortVideo; +import com.syzb.course.query.SetMainPageQuery; import com.syzb.course.service.PageService; import com.syzb.group.constant.GroupInfoStatus; import com.syzb.group.entity.GroupInfo; @@ -96,7 +98,7 @@ public class AdminGroupInfoService { GroupInfo groupInfo = query.toPO(backendUserVO, groupInfoInDB.getAdvisorId()); groupInfoMapper.updateById(groupInfo); - clearCache(query.getId()); + clearCache(query.getId(), null); } @Transactional(rollbackFor = Exception.class) @@ -112,7 +114,7 @@ public class AdminGroupInfoService { GroupInfo groupInfo = query.toPO(targetStatus, backendUserVO); groupInfoMapper.updateById(groupInfo); - clearCache(query.getId()); + clearCache(query.getId(), groupInfoInDB.getAdvisorId()); } public Pager list(ListGroupQuery query, BackendUserVO backendUserVO) { @@ -177,7 +179,18 @@ public class AdminGroupInfoService { } GroupInfo groupInfo = query.toPO(); groupInfoMapper.updateById(groupInfo); - clearCache(query.getId()); + clearCache(query.getId(), null); + } + + public void setMainPageParam(SetMainPageQuery query, BackendUserVO backendUserVO) { + // 不使用返回值,仅校验课程是否存在以及数据权限 + GroupInfo groupInDB = getEntity(query.getId(), backendUserVO); + if (groupInDB == null) { + throw new BizException(ResponseStatus.ID_NOT_EXIST_ERROR); + } + GroupInfo video = query.toGroupPO(); + groupInfoMapper.updateById(video); + this.clearCache(query.getId(), groupInDB.getAdvisorId()); } /** @@ -292,8 +305,13 @@ public class AdminGroupInfoService { return advisorId; } - public void clearCache(Integer id) { - groupCache.delete(CacheKey.GroupKey.GROUP_INFO + id); + public void clearCache(Integer id, Integer advisorId) { + if (id != null) { + groupCache.delete(CacheKey.GroupKey.GROUP_INFO + id); + } + if (advisorId != null) { + groupCache.delete(CacheKey.GroupKey.MAIN_GROUP_LIST + advisorId); + } } } \ No newline at end of file diff --git a/src/main/java/com/syzb/group/service/admin/AdminGroupMessageService.java b/src/main/java/com/syzb/group/service/admin/AdminGroupMessageService.java index c90f2d2..0d766ad 100644 --- a/src/main/java/com/syzb/group/service/admin/AdminGroupMessageService.java +++ b/src/main/java/com/syzb/group/service/admin/AdminGroupMessageService.java @@ -118,6 +118,9 @@ public class AdminGroupMessageService { groupMessageInDB.setStatus(GroupMessageStatus.AUDITED.value); groupMessageService.publishMessage(groupMessageInDB); } + } else if (GroupMessageStatus.INITIAL.equals(targetStatus)) { + groupMessageInDB.setStatus(GroupMessageStatus.INITIAL.value); + groupMessageService.publishMessage(groupMessageInDB); } clearCache(query.getId()); } @@ -229,7 +232,7 @@ public class AdminGroupMessageService { groupMessageService.publishGroupMessage(GroupMessageChannel.ALL, GroupMessageType.OPEN_INTERACTIVE, groupId, query.getStatus()); - adminGroupInfoService.clearCache(groupId); + adminGroupInfoService.clearCache(groupId, null); } /** @@ -247,7 +250,7 @@ public class AdminGroupMessageService { groupMessageService.publishGroupMessage(GroupMessageChannel.ALL, GroupMessageType.OPEN_PRIVATE_CHAT, groupId, query.getStatus()); - adminGroupInfoService.clearCache(groupId); + adminGroupInfoService.clearCache(groupId, null); } /** @@ -265,7 +268,7 @@ public class AdminGroupMessageService { groupMessageService.publishGroupMessage(GroupMessageChannel.ALL, GroupMessageType.SHOW_GROUP_MEMBER_COUNT, groupId, query.getStatus()); - adminGroupInfoService.clearCache(groupId); + adminGroupInfoService.clearCache(groupId, null); } public void setShowNickName(GroupMessageStatusQuery query, BackendUserVO backendUser) { @@ -280,7 +283,7 @@ public class AdminGroupMessageService { groupMessageService.publishGroupMessage(GroupMessageChannel.ALL, GroupMessageType.SHOW_FULL_NICKNAME, groupId, query.getStatus()); - adminGroupInfoService.clearCache(groupId); + adminGroupInfoService.clearCache(groupId, null); } public void setFirstAudit(GroupMessageStatusQuery query, BackendUserVO backendUser) { @@ -295,7 +298,7 @@ public class AdminGroupMessageService { groupMessageService.publishGroupMessage(GroupMessageChannel.ALL, GroupMessageType.PRE_CHECK_SEND, groupId, query.getStatus()); - adminGroupInfoService.clearCache(groupId); + adminGroupInfoService.clearCache(groupId, null); } @Transactional(rollbackFor = Exception.class) diff --git a/src/main/java/com/syzb/group/service/app/AppGroupInfoService.java b/src/main/java/com/syzb/group/service/app/AppGroupInfoService.java index 620147e..af67aaa 100644 --- a/src/main/java/com/syzb/group/service/app/AppGroupInfoService.java +++ b/src/main/java/com/syzb/group/service/app/AppGroupInfoService.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.hazelcast.map.IMap; import com.syzb.common.config.cache.CacheKey; +import com.syzb.common.constant.IsDisplay; import com.syzb.common.query.OnlyIdQuery; import com.syzb.common.result.AppPager; import com.syzb.common.service.AppUserService; @@ -34,9 +35,6 @@ public class AppGroupInfoService { @Resource private GroupInfoMapper groupInfoMapper; - @Resource - private AuthService authService; - @Resource private PageService pageService; @@ -81,7 +79,7 @@ public class AppGroupInfoService { LambdaQueryWrapper wrapper = Wrappers.lambdaQuery() .eq(GroupInfo::getAdvisorId, id) .eq(GroupInfo::getStatus, GroupInfoStatus.AUDITED.value) -// .eq(GroupInfo::getIsDisplay, IsDisplay.YES.value) + .eq(GroupInfo::getIsDisplay, IsDisplay.YES.value) .orderByDesc(GroupInfo::getIsRecommend, GroupInfo::getAuditTime); List list = groupInfoMapper.selectList(wrapper); NavigableSet set = new TreeSet<>(); diff --git a/src/main/java/com/syzb/group/service/common/GroupCacheService.java b/src/main/java/com/syzb/group/service/common/GroupCacheService.java index 9c20fd6..5a4a663 100644 --- a/src/main/java/com/syzb/group/service/common/GroupCacheService.java +++ b/src/main/java/com/syzb/group/service/common/GroupCacheService.java @@ -20,7 +20,6 @@ import com.syzb.group.entity.GroupMessage; import com.syzb.group.entity.GroupMessageRead; import com.syzb.group.mapper.GroupMessageMapper; import com.syzb.group.mapper.GroupMessageReadMapper; -import com.syzb.group.mapper.GroupUserFlowMapper; import com.syzb.group.vo.message.GroupMessageReadVO; import com.syzb.group.vo.message.GroupMessageVO; import org.springframework.stereotype.Service; @@ -48,14 +47,11 @@ public class GroupCacheService { @Resource private GroupMessageMapper groupMessageMapper; - @Resource - private GroupUserFlowMapper groupUserFlowMapper; - @Resource private IMap groupCache; public NavigableSet getMessageIdSet(Integer groupId, String userId, QueryGroupMessageType type) { - String cacheKey = buildMessageIdSetKey(CacheKey.GroupKey.GROUP_MESSAGE_LIST, userId, type); + String cacheKey = buildMessageIdSetKey(CacheKey.GroupKey.GROUP_MESSAGE_LIST, groupId, userId, type); return cacheService.get(groupCache, cacheKey, () -> { LambdaQueryWrapper wrapper = buildWrapper(groupId, userId, type); List objList = groupMessageMapper.selectObjs(wrapper); @@ -66,7 +62,7 @@ public class GroupCacheService { } public TreeMap getDateIdMap(Integer groupId, String userId, QueryGroupMessageType type) { - String cacheKey = buildMessageIdSetKey(CacheKey.GroupKey.GROUP_MESSAGE_DATE_ID_MAP, userId, type); + String cacheKey = buildMessageIdSetKey(CacheKey.GroupKey.GROUP_MESSAGE_DATE_ID_MAP, groupId, userId, type); return cacheService.get(groupCache, cacheKey, () -> { LambdaQueryWrapper wrapper = buildWrapper(groupId, userId, type); List dateIdList = groupMessageMapper.selectDateIdList(wrapper); @@ -112,7 +108,7 @@ public class GroupCacheService { private void removeMessage(Integer groupId, String userId, QueryGroupMessageType type, Integer messageId) { NavigableSet set = getMessageIdSet(groupId, userId, type); set.remove(messageId); - String cacheKey = buildMessageIdSetKey(CacheKey.GroupKey.GROUP_MESSAGE_LIST, userId, type); + String cacheKey = buildMessageIdSetKey(CacheKey.GroupKey.GROUP_MESSAGE_LIST, groupId, userId, type); groupCache.put(cacheKey, set); } @@ -141,7 +137,7 @@ public class GroupCacheService { private void addMessage(Integer groupId, String userId, QueryGroupMessageType type, Integer messageId) { NavigableSet set = getMessageIdSet(groupId, userId, type); set.add(messageId); - String cacheKey = buildMessageIdSetKey(CacheKey.GroupKey.GROUP_MESSAGE_LIST, userId, type); + String cacheKey = buildMessageIdSetKey(CacheKey.GroupKey.GROUP_MESSAGE_LIST, groupId, userId, type); groupCache.put(cacheKey, set); } @@ -239,8 +235,8 @@ public class GroupCacheService { return 0; } - private static String buildMessageIdSetKey(String prefix, String userId, QueryGroupMessageType type) { - String cacheKey = prefix + type.value; + private static String buildMessageIdSetKey(String prefix, Integer groupId, String userId, QueryGroupMessageType type) { + String cacheKey = prefix + groupId + "|" + type.value; if (QueryGroupMessageType.PRIVATE.equals(type)) { cacheKey += "|" + userId; } diff --git a/src/main/java/com/syzb/video/mapper/VideoLiveMapper.java b/src/main/java/com/syzb/video/mapper/VideoLiveMapper.java index 6010503..16c7e49 100644 --- a/src/main/java/com/syzb/video/mapper/VideoLiveMapper.java +++ b/src/main/java/com/syzb/video/mapper/VideoLiveMapper.java @@ -97,7 +97,7 @@ public interface VideoLiveMapper extends BaseMapper { @Select("SELECT v.advisor_id, COUNT(1) FROM video_live v\n" + "LEFT JOIN app_order o\n" + - "ON v.id = o.video_id AND o.product_type = 3 AND o.pay_status = #{payStatus}\n" + + "ON v.id = o.product_id AND o.product_type = 3 AND o.pay_status = #{payStatus}\n" + "WHERE v.id IN (${videoIds})\n" + "GROUP BY v.advisor_id\n" + "ORDER BY COUNT(1) DESC") @@ -105,10 +105,10 @@ public interface VideoLiveMapper extends BaseMapper { @Select("SELECT v.advisor_id, COUNT(1) FROM video_live v\n" + "LEFT JOIN app_order o\n" + - "ON v.id = o.video_id AND o.product_type = 3 AND o.pay_status = #{payStatus}\n" + + "ON v.id = o.product_id AND o.product_type = 3 AND o.pay_status = #{payStatus}\n" + "WHERE v.id IN (${videoIds})\n" + "GROUP BY v.advisor_id\n" + - "ORDER BY SUM(o.pay_total) DESC") + "ORDER BY SUM(o.received_amount) DESC") Page selectAdvisorRankListOrderByOrderAmount(Page toPage, @Param("videoIds") String videoIds, @Param("payStatus") Integer payStatus); @Select("SELECT v.id FROM video_live v\n" + @@ -129,7 +129,7 @@ public interface VideoLiveMapper extends BaseMapper { @Select("SELECT v.id, COUNT(1) FROM video_live v\n" + "LEFT JOIN app_order o\n" + - "ON v.id = o.video_id AND o.product_type = 3 AND o.status = #{payStatus}\n" + + "ON v.id = o.product_id AND o.product_type = 3 AND o.status = #{payStatus}\n" + "WHERE v.id IN (${videoIds})\n" + "GROUP BY v.id\n" + "ORDER BY COUNT(1) DESC") @@ -137,10 +137,10 @@ public interface VideoLiveMapper extends BaseMapper { @Select("SELECT v.id, COUNT(1) FROM video_live v\n" + "LEFT JOIN app_order o\n" + - "ON v.id = o.video_id AND o.product_type = 3 AND o.status = #{payStatus}\n" + + "ON v.id = o.product_id AND o.product_type = 3 AND o.status = #{payStatus}\n" + "WHERE v.id IN (${videoIds})\n" + "GROUP BY v.id\n" + - "ORDER BY SUM(o.pay_total) DESC") + "ORDER BY SUM(o.received_amount) DESC") Page selectVideoRankListOrderByOrderAmount(Page toPage, @Param("videoIds") String videoIds, @Param("payStatus") Integer payStatus); } diff --git a/src/main/java/com/syzb/video/mapper/VideoLiveUserMapper.java b/src/main/java/com/syzb/video/mapper/VideoLiveUserMapper.java index d3dae70..2372e81 100644 --- a/src/main/java/com/syzb/video/mapper/VideoLiveUserMapper.java +++ b/src/main/java/com/syzb/video/mapper/VideoLiveUserMapper.java @@ -84,16 +84,16 @@ public interface VideoLiveUserMapper extends EasyBaseMapper { "GROUP BY s.sale_user_id) sc \n" + "ON sr.sale_user_id = sc.sale_user_id \n" + "LEFT JOIN \n" + - "(SELECT s.sale_user_id, COUNT(*) AS count, IFNULL(SUM(o.pay_total), 0) AS amount FROM video_live_customer_sale s \n" + + "(SELECT s.sale_user_id, COUNT(*) AS count, IFNULL(SUM(o.received_amount), 0) AS amount FROM video_live_customer_sale s \n" + "LEFT JOIN app_order o \n" + - "ON s.user_id = o.user_name AND s.video_id = o.video_id \n" + + "ON s.user_id = o.user_id AND s.video_id = o.product_id AND o.product_type = 3 \n" + "WHERE s.video_id = #{videoId} AND s.sale_user_id IS NOT NULL AND o.product_type = 3 AND o.pay_status = 1 \n" + "GROUP BY s.sale_user_id) op \n" + "ON sr.sale_user_id = op.sale_user_id \n" + "LEFT JOIN \n" + "(SELECT s.sale_user_id, COUNT(*) AS count FROM video_live_customer_sale s \n" + "LEFT JOIN app_order o \n" + - "ON s.user_id = o.user_name AND s.video_id = o.video_id \n" + + "ON s.user_id = o.user_id AND s.video_id = o.product_id AND o.product_type = 3 \n" + "WHERE s.video_id = #{videoId} AND s.sale_user_id IS NOT NULL AND o.product_type = 3 AND o.pay_status = 2 \n" + "GROUP BY s.sale_user_id) oup \n" + "ON sr.sale_user_id = oup.sale_user_id \n" + diff --git a/src/main/java/com/syzb/video/service/admin/AdminVideoStatisticService.java b/src/main/java/com/syzb/video/service/admin/AdminVideoStatisticService.java index fa8f8fa..ffa1757 100644 --- a/src/main/java/com/syzb/video/service/admin/AdminVideoStatisticService.java +++ b/src/main/java/com/syzb/video/service/admin/AdminVideoStatisticService.java @@ -607,7 +607,7 @@ public class AdminVideoStatisticService { wrapper.exists("SELECT 1 FROM video_live_user c WHERE c.video_id = u.video_id AND c.user_id = u.user_id AND c.type = {0}", VideoUserRecordType.CART.value); } if (VideoCustomerType.ORDER_NOT_PAID.value.equals(type)) { - wrapper.exists("SELECT 1 FROM app_order o WHERE o.video_id = u.video_id AND o.user_name = u.user_id AND o.pay_status = {0}", IsOrNot.NOT.value); + wrapper.exists("SELECT 1 FROM app_order o WHERE o.product_id = u.video_id AND o.user_id = u.user_id AND o.pay_status = {0}", IsOrNot.NOT.value); } // if (VideoCustomerType.COUPON_NOT_USED.value.equals(type) || IsOrNot.IS.value.equals(hasGotCoupon)) { // if (userCouponMap.isEmpty()) { @@ -624,7 +624,7 @@ public class AdminVideoStatisticService { // wrapper.in("u.user_id", userCouponMap.keySet()); // } if (VideoCustomerType.SUBSCRIBE_PRODUCT.value.equals(type) || IsOrNot.IS.value.equals(hasBoughtPro)) { - wrapper.exists("SELECT 1 FROM app_order o WHERE o.video_id = u.video_id AND o.user_name = u.user_id AND o.pay_status = {0}", IsOrNot.IS.value); + wrapper.exists("SELECT 1 FROM app_order o WHERE o.product_id = u.video_id AND o.user_id = u.user_id AND o.pay_status = {0}", IsOrNot.IS.value); } if (VideoCustomerType.COMPLETE_SURVEY.value.equals(type) || IsOrNot.IS.value.equals(isAnswer)) { wrapper.exists("SELECT 1 FROM video_question_answer a JOIN video_question_main q WHERE a.question_id = q.id AND a.user_id = u.user_id AND q.video_id = u.video_id"); @@ -633,7 +633,7 @@ public class AdminVideoStatisticService { wrapper.exists("SELECT 1 FROM video_live_message m WHERE m.video_id = u.video_id AND m.user_id = u.user_id AND m.type = {1}", VideoMessageContentType.TEXT.value); } if (IsOrNot.IS.value.equals(isOrder)) { - wrapper.exists("SELECT 1 FROM app_order o WHERE o.video_id = u.video_id AND o.user_name = u.user_id"); + wrapper.exists("SELECT 1 FROM app_order o WHERE o.product_id = u.video_id AND o.user_id = u.user_id"); } Page page = adminVideoInteractionService.selectVideoUserDetail(query.toPage(), wrapper); List records = page.getRecords();