diff --git a/kicc-platform/kicc-platform-api/kicc-common-api/src/main/java/com/cloud/kicc/commonbiz/api/vo/ConcernFanEnhancedVO.java b/kicc-platform/kicc-platform-api/kicc-common-api/src/main/java/com/cloud/kicc/commonbiz/api/vo/ConcernFanEnhancedVO.java new file mode 100644 index 00000000..2ce99517 --- /dev/null +++ b/kicc-platform/kicc-platform-api/kicc-common-api/src/main/java/com/cloud/kicc/commonbiz/api/vo/ConcernFanEnhancedVO.java @@ -0,0 +1,60 @@ +package com.cloud.kicc.commonbiz.api.vo; + +import com.cloud.kicc.common.data.entity.CommonEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + *

+ * 关注粉丝扩展属性VO + *

+ * + * @Author: wangxiang4 + * @Since: 2023/12/28 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +public class ConcernFanEnhancedVO extends CommonEntity { + + /** 关注用户 */ + private String concernUserId; + + /** 粉丝用户 */ + private String fanUserId; + + /** 关注类型 */ + private String type; + + /** 审核状态 */ + private String status; + + /** 用户名称 */ + private String userName; + + /** 用户昵称 */ + private String nickName; + + /** 邮箱 */ + private String email; + + /** 手机号 */ + private String phone; + + /** 性别 */ + private String sex; + + /** 头像 */ + private String avatar; + + /** 用户类型 */ + private String userType; + + /** 部门id */ + private String deptId; + + /** 部门名称 */ + private String deptName; + +} diff --git a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/mapper/PushConcernFanMapper.java b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/mapper/PushConcernFanMapper.java index e882880a..1862b57b 100644 --- a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/mapper/PushConcernFanMapper.java +++ b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/mapper/PushConcernFanMapper.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.cloud.kicc.commonbiz.api.entity.PushBlacklist; import com.cloud.kicc.commonbiz.api.entity.PushConcernFan; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.cloud.kicc.commonbiz.api.vo.ConcernFanEnhancedVO; import com.cloud.kicc.system.api.entity.User; import org.apache.ibatis.annotations.MapKey; import org.apache.ibatis.annotations.Param; @@ -27,6 +28,6 @@ public interface PushConcernFanMapper extends BaseMapper { IPage> selectPushFriendList(@Param("page") IPage> page, @Param("map") Map map); - List pushFriendByPhoneList(String Phone); + List selectConcernFanEnhancedList(@Param("map") Map map); } diff --git a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/service/impl/PushApplicationServiceImpl.java b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/service/impl/PushApplicationServiceImpl.java index 050f321c..c0603eb6 100644 --- a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/service/impl/PushApplicationServiceImpl.java +++ b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/service/impl/PushApplicationServiceImpl.java @@ -1,6 +1,7 @@ package com.cloud.kicc.commonbiz.service.impl; import cn.hutool.core.date.LocalDateTimeUtil; +import cn.hutool.core.map.MapUtil; import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.util.BooleanUtil; import cn.hutool.core.util.StrUtil; @@ -13,6 +14,7 @@ import com.cloud.kicc.common.data.entity.KiccUser; import com.cloud.kicc.common.security.util.SecurityUtils; import com.cloud.kicc.commonbiz.api.entity.*; import com.cloud.kicc.commonbiz.api.enums.PushAuditStatusEnum; +import com.cloud.kicc.commonbiz.api.vo.ConcernFanEnhancedVO; import com.cloud.kicc.commonbiz.mapper.PushApplicationMapper; import com.cloud.kicc.commonbiz.mapper.PushConcernFanMapper; import com.cloud.kicc.commonbiz.service.*; @@ -87,8 +89,13 @@ public class PushApplicationServiceImpl extends ServiceImpl pushConcernFanList = pushConcernFanMapper.pushFriendByPhoneList(pushChatMessage.getPhone()); - pushChatMessage.setAlias(pushConcernFanList.stream().map(PushConcernFan::getFanUserId).collect(Collectors.joining(","))); + List pushConcernFanList = pushConcernFanMapper.selectConcernFanEnhancedList(MapUtil.builder() + .put("status",PushAuditStatusEnum.APPROVED.getValue()) + .put("dynamicJoinType", "1") + .put("phone", pushChatMessage.getPhone()) + .put("concernUserId", pushChatMessage.getUserId()) + .build()); + pushChatMessage.setAlias(pushConcernFanList.stream().map(ConcernFanEnhancedVO::getFanUserId).collect(Collectors.joining(","))); // 不选择推送用户默认设置全部当前企业下的粉丝用户 } else if (StrUtil.isBlank(pushChatMessage.getAlias())) { List pushConcernFanList = iPushConcernFanService.list(Wrappers.lambdaQuery() diff --git a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/resources/mapper/PushConcernFanMapper.xml b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/resources/mapper/PushConcernFanMapper.xml index 9620d4bd..05db0f78 100644 --- a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/resources/mapper/PushConcernFanMapper.xml +++ b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/resources/mapper/PushConcernFanMapper.xml @@ -142,7 +142,7 @@ sys_user u LEFT JOIN (select * FROM common_push_concern_fan WHERE del_flag = 0 - + AND concern_user_id = ${@com.cloud.kicc.common.security.util.SecurityUtils@getUser().id}) cf ON u.id = cf.fan_user_id @@ -172,12 +172,56 @@ - + select + cf.concern_user_id, + cf.fan_user_id, + cf.type, + cf.status, + cf.create_by_id, + cf.create_by_name, + cf.create_time, + cf.update_by_id, + cf.update_by_name, + cf.update_time, + cf.remarks, + cf.tenant_id, + cf.del_flag, + seu.user_name, + seu.nick_name, + seu.email, + seu.phone, + seu.sex, + seu.avatar, + seu.user_type, + seu.dept_id, + seu.dept_name + from + common_push_concern_fan cf + left join sso_enhanced_user_view seu + + + + on cf.fan_user_id = seu.id + + + on cf.concern_user_id = seu.id + + - del_flag = 0 - and status = 2 - and fan_user_id = (select id from sso_enhanced_user_view where phone = #{phone} and status = 0 and del_flag = 0 limit 1) + cf.del_flag = 0 and seu.del_flag = 0 + + and concern_user_id = #{map.concernUserId} + + + and fan_user_id = #{map.fanUserId} + + + and cf.status = #{map.status} + + + and phone = #{map.phone} +