Commit d1d43cfc by xiongjiangtao

邀请人数据

parent f4249262
package com.gic.haoban.manage.api.dto.chat;
import java.io.Serializable;
import java.util.Date;
/**
* @author shangfeng
* @date 2024-10-08 13:56:35
*/
public class GroupChatActivityInviteLogDTO implements Serializable {
private static final long serialVersionUID = -5565985004891538070L;
/**
* 社群活动邀请id
*/
private Long chatActivityInviteId;
/**
* 社群活动id
*/
private Long chatActivityId;
/**
* 邀请人会员ID
*/
private String inviterMemberId;
/**
* 受邀人会员ID
*/
private String inviteeMemberId;
/**
* 受邀人外部联系人id
*/
private String inviteeUserId;
/**
* 姓名
*/
private String userName;
/**
* 昵称
*/
private String nickName;
/**
* 群id
*/
private Long groupChatId;
/**
* 有效邀请类型 1有效0无效
*/
private Integer inviteType;
/**
* 无效邀请类型 1非首次参与活动受邀入群2入群前已处于企业群聊内3非首次加入企业群聊
*/
private Integer invalidInviteType;
/**
* 是否新增会员 1是 0否 null未统计
*/
private Integer addMemberType;
/**
* 有效邀请达成的批次 达成所有奖励限制后为-1
*/
private Integer batchNumber;
/**
* 企业ID
*/
private String enterpriseId;
/**
* 微信企业ID
*/
private String wxEnterpriseId;
private Date createTime;
private Date updateTime;
public Long getChatActivityInviteId() {
return chatActivityInviteId;
}
public void setChatActivityInviteId(Long chatActivityInviteId) {
this.chatActivityInviteId = chatActivityInviteId;
}
public Long getChatActivityId() {
return chatActivityId;
}
public void setChatActivityId(Long chatActivityId) {
this.chatActivityId = chatActivityId;
}
public String getInviterMemberId() {
return inviterMemberId;
}
public void setInviterMemberId(String inviterMemberId) {
this.inviterMemberId = inviterMemberId;
}
public String getInviteeMemberId() {
return inviteeMemberId;
}
public void setInviteeMemberId(String inviteeMemberId) {
this.inviteeMemberId = inviteeMemberId;
}
public String getInviteeUserId() {
return inviteeUserId;
}
public void setInviteeUserId(String inviteeUserId) {
this.inviteeUserId = inviteeUserId;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getNickName() {
return nickName;
}
public void setNickName(String nickName) {
this.nickName = nickName;
}
public Long getGroupChatId() {
return groupChatId;
}
public void setGroupChatId(Long groupChatId) {
this.groupChatId = groupChatId;
}
public Integer getInviteType() {
return inviteType;
}
public void setInviteType(Integer inviteType) {
this.inviteType = inviteType;
}
public Integer getInvalidInviteType() {
return invalidInviteType;
}
public void setInvalidInviteType(Integer invalidInviteType) {
this.invalidInviteType = invalidInviteType;
}
public Integer getAddMemberType() {
return addMemberType;
}
public void setAddMemberType(Integer addMemberType) {
this.addMemberType = addMemberType;
}
public Integer getBatchNumber() {
return batchNumber;
}
public void setBatchNumber(Integer batchNumber) {
this.batchNumber = batchNumber;
}
public String getEnterpriseId() {
return enterpriseId;
}
public void setEnterpriseId(String enterpriseId) {
this.enterpriseId = enterpriseId;
}
public String getWxEnterpriseId() {
return wxEnterpriseId;
}
public void setWxEnterpriseId(String wxEnterpriseId) {
this.wxEnterpriseId = wxEnterpriseId;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public Date getUpdateTime() {
return updateTime;
}
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
}
package com.gic.haoban.manage.api.dto.qdto.chat;
import java.io.Serializable;
/**
* @author shangfeng
* @date 2024-10-08 14:00:59
*/
public class GroupChatActivityInviteLogQDTO implements Serializable {
private static final long serialVersionUID = -3517354863714637621L;
private String enterpriseId;
/**
* 社群活动id
*/
private Long chatActivityId;
/**
* 邀请人会员ID
*/
private String inviterMemberId;
/**
* 有效邀请类型 1有效0无效
*/
private Integer inviteType;
public String getEnterpriseId() {
return enterpriseId;
}
public void setEnterpriseId(String enterpriseId) {
this.enterpriseId = enterpriseId;
}
public Long getChatActivityId() {
return chatActivityId;
}
public void setChatActivityId(Long chatActivityId) {
this.chatActivityId = chatActivityId;
}
public String getInviterMemberId() {
return inviterMemberId;
}
public void setInviterMemberId(String inviterMemberId) {
this.inviterMemberId = inviterMemberId;
}
public Integer getInviteType() {
return inviteType;
}
public void setInviteType(Integer inviteType) {
this.inviteType = inviteType;
}
}
package com.gic.haoban.manage.api.service.chat;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.haoban.manage.api.dto.chat.GroupChatActivityInviteLogDTO;
import com.gic.haoban.manage.api.dto.qdto.chat.GroupChatActivityInviteLogQDTO;
import java.util.List;
/**
* @author shangfeng
* @date 2024-10-08 14:38:18
*/
public interface GroupChatActivityInviteLogApiService {
/**
* 查询C端邀请人数据
*
* @param inviteLogQDTO
* @return
*/
ServiceResponse<List<GroupChatActivityInviteLogDTO>> queryMaxBatchInviteLog(GroupChatActivityInviteLogQDTO inviteLogQDTO);
}
package com.gic.haoban.manage.service.dao.mapper.chat;
import com.gic.haoban.manage.api.dto.qdto.chat.GroupChatActivityInviteLogQDTO;
import com.gic.haoban.manage.service.entity.chat.TabGroupChatActivityInviteLog;
import org.apache.ibatis.annotations.Param;
import org.springframework.data.domain.Pageable;
......@@ -80,5 +81,23 @@ public interface GroupChatActivityInviteLogMapper {
*/
int deleteById(Long chatActivityInviteId);
/**
* 根据活动id和要求人查询当前最大批次
* 有效邀请
*
* @param chatActivityId
* @param inviterMemberId
* @return
*/
Integer queryMaxBatchByChatActivityIdAndInviterMemberId(@Param("chatActivityId") Long chatActivityId,
@Param("inviterMemberId") String inviterMemberId);
/**
* 查询邀请记录日志
*
* @param inviteLogQDTO
* @return
*/
List<TabGroupChatActivityInviteLog> queryList(GroupChatActivityInviteLogQDTO inviteLogQDTO);
}
package com.gic.haoban.manage.service.service.chat;
import com.gic.haoban.manage.api.dto.chat.GroupChatActivityInviteLogDTO;
import com.gic.haoban.manage.api.dto.qdto.chat.GroupChatActivityInviteLogQDTO;
import com.gic.haoban.manage.service.dao.mapper.chat.GroupChatActivityInviteLogMapper;
import java.util.List;
/**
* 社群邀请有礼邀请日志表(TabHaobanGroupChatActivityInviteLog)表服务接口
*
......@@ -8,5 +14,12 @@ package com.gic.haoban.manage.service.service.chat;
*/
public interface GroupChatActivityInviteLogService {
/**
* 查询C端邀请人数据
*
* @param groupChatActivityInviteLogQDTO
* @return
*/
List<GroupChatActivityInviteLogDTO> queryMaxBatchInviteLog(GroupChatActivityInviteLogQDTO groupChatActivityInviteLogQDTO);
}
package com.gic.haoban.manage.service.service.chat.impl;
import com.gic.haoban.manage.api.dto.chat.GroupChatActivityInviteLogDTO;
import com.gic.haoban.manage.api.dto.qdto.chat.GroupChatActivityInviteLogQDTO;
import com.gic.haoban.manage.service.dao.mapper.chat.GroupChatActivityInviteLogMapper;
import com.gic.haoban.manage.service.entity.chat.TabGroupChatActivityInviteLog;
import com.gic.haoban.manage.service.service.chat.GroupChatActivityInviteLogService;
import com.google.common.collect.Lists;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
/**
* 社群邀请有礼邀请日志表(TabHaobanGroupChatActivityInviteLog)表服务实现类
......@@ -17,4 +26,23 @@ public class GroupChatActivityInviteLogServiceImpl implements GroupChatActivityI
@Resource
private GroupChatActivityInviteLogMapper groupChatActivityInviteLogMapper;
private GroupChatActivityInviteLogDTO convertToDTO(TabGroupChatActivityInviteLog tabGroupChatActivityInviteLog){
GroupChatActivityInviteLogDTO groupChatActivityInviteLogDTO = new GroupChatActivityInviteLogDTO();
BeanUtils.copyProperties(tabGroupChatActivityInviteLog,groupChatActivityInviteLogDTO);
return groupChatActivityInviteLogDTO;
}
@Override
public List<GroupChatActivityInviteLogDTO> queryMaxBatchInviteLog(GroupChatActivityInviteLogQDTO inviteLogQDTO) {
Integer maxBatch = groupChatActivityInviteLogMapper.queryMaxBatchByChatActivityIdAndInviterMemberId(inviteLogQDTO.getChatActivityId(), inviteLogQDTO.getInviterMemberId());
//没有最大批次数据表示没有任何邀请数据 直接返回
if (Objects.isNull(maxBatch)) {
return Lists.newArrayList();
}
List<TabGroupChatActivityInviteLog> logList = groupChatActivityInviteLogMapper.queryList(inviteLogQDTO);
if(CollectionUtils.isEmpty(logList)){
return Lists.newArrayList();
}
return logList.stream().map(this::convertToDTO).collect(Collectors.toList());
}
}
package com.gic.haoban.manage.service.service.out.impl.chat;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.haoban.manage.api.dto.chat.GroupChatActivityInviteLogDTO;
import com.gic.haoban.manage.api.dto.qdto.chat.GroupChatActivityInviteLogQDTO;
import com.gic.haoban.manage.api.service.chat.GroupChatActivityInviteLogApiService;
import com.gic.haoban.manage.service.service.chat.GroupChatActivityInviteLogService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @author shangfeng
* @date 2024-10-08 14:37:46
*/
@Service("groupChatActivityInviteLogApiService")
public class GroupChatActivityInviteLogApiServiceImpl implements GroupChatActivityInviteLogApiService {
@Autowired
private GroupChatActivityInviteLogService groupChatActivityInviteLogService;
@Override
public ServiceResponse<List<GroupChatActivityInviteLogDTO>> queryMaxBatchInviteLog(GroupChatActivityInviteLogQDTO inviteLogQDTO) {
return ServiceResponse.success(groupChatActivityInviteLogService.queryMaxBatchInviteLog(inviteLogQDTO));
}
}
......@@ -241,4 +241,8 @@
<dubbo:reference interface="com.gic.clerk.api.service.MenuApiService" id="menuApiService" timeout="10000" retries="0" check="false" />
<dubbo:reference interface="com.gic.member.ext.api.service.MemberGrowthWriteApiService" id="memberGrowthWriteApiService" timeout="10000" retries="0" check="false" />
<!-- 社群邀请有礼 -->
<dubbo:service interface="com.gic.haoban.manage.api.service.chat.GroupChatActivityInviteLogApiService"
ref="groupChatActivityInviteLogApiService" timeout="10000"/>
</beans>
\ No newline at end of file
......@@ -21,12 +21,18 @@
<result property="deleteFlag" column="delete_flag" jdbcType="INTEGER"/>
</resultMap>
<!--查询单个-->
<select id="queryById" resultMap="TabHaobanGroupChatActivityInviteLogMap">
select chat_activity_invite_id, chat_activity_id, inviter_member_id, invitee_member_id, invitee_user_id,
<sql id="Base_Column_List">
chat_activity_invite_id, chat_activity_id, inviter_member_id, invitee_member_id, invitee_user_id,
user_name, nick_name, group_chat_id, invite_type, invalid_invite_type, add_member_type, batch_number,
enterprise_id, wx_enterprise_id, create_time, update_time, delete_flag
from tab_haoban_group_chat_activity_invite_log
</sql>
<!--查询单个-->
<select id="queryById" resultMap="TabHaobanGroupChatActivityInviteLogMap">
select <include refid="Base_Column_List" />
from tab_haoban_group_chat_activity_invite_log
where chat_activity_invite_id = #{chatActivityInviteId}
</select>
......@@ -188,4 +194,27 @@
<delete id="deleteById">
delete from tab_haoban_group_chat_activity_invite_log where chat_activity_invite_id = #{chatActivityInviteId}
</delete>
<select id="queryMaxBatchByChatActivityIdAndInviterMemberId" resultType="integer">
select max(batch_number) from tab_haoban_group_chat_activity_invite_log where
chat_activity_id = #{chatActivityId} and inviter_member_id = #{inviterMemberId} and invite_type = 1
</select>
<select id="queryList" resultMap="TabHaobanGroupChatActivityInviteLogMap">
select <include refid="Base_Column_List" />
from tab_haoban_group_chat_activity_invite_log
where
<if test="enterpriseId != null and enterpriseId != '' ">
and enterprise_id = #{enterpriseId}
</if>
<if test="chatActivityId != null">
and chat_activity_id = #{chatActivityId}
</if>
<if test="inviterMemberId != null">
and inviter_member_id = #{inviterMemberId}
</if>
<if test="inviteType != null">
and invite_type = #{inviteType}
</if>
</select>
</mapper>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment