Commit e967f0a7 by 王祖波

社群活动

parent 4d2e85ba
package com.gic.haoban.manage.api.dto.chat;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.gic.haoban.manage.api.qdto.chat.GroupChatActivityJoinQDTO;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* 社群邀请有礼表(TabHaobanGroupChatActivity)实体类
*
* @author makejava
* @since 2024-09-27 16:09:38
*/
public class GroupChatActivityBaseDTO implements Serializable {
private static final long serialVersionUID = 973688857967269973L;
/**
* 社群活动id
*/
@JsonIgnoreProperties(ignoreUnknown = true)
private Long chatActivityId;
/**
* 活动名称
*/
private String activityName;
/**
* 开始时间
*/
private Date startDate;
/**
* 结束时间
*/
private Date endDate;
/**
* 终止/截止时间
*/
private Date limitDate;
/**
* 活动图片
*/
private String activityImg;
/**
* 活动受邀页图片
*/
private String activityInviteImg;
/**
* 活动说明
*/
private String activityDesc;
/**
* 活动分享标题
*/
private String activityShareTitle;
/**
* 活动分享卡片图片
*/
private String activityShareImg;
/**
* 活动分享海报图片
*/
private String activityPosterImg;
/**
* 状态1未开始2进行中3已终止4已结束
*/
private Integer status;
/**
* 奖励类型 1定额奖励2阶梯奖励
*/
private Integer inviteRewardType;
/**
* 入群方式 1规则入群2定向入群
*/
private Integer joinType;
/**
* 入群规则 1邀请人所在企微群2服务门店3协管门店4LBS定位 逗号分隔
*/
private String joinRule;
/**
* 入群兜底群活码id
*/
@JsonIgnoreProperties(ignoreUnknown = true)
private Long joinChatHmId;
/**
* 邀请类型 0不限制1入群前未处于任何企业群聊内算有效邀请2首次加入企业群聊才算有效邀请
*/
private Integer inviteType;
/**
* 邀请会员类型 0所有用户1开卡会员
*/
private Integer inviteMemberType;
/**
* 打标签1是0否
*/
private Integer labelFlag;
/**
* { "options": 1, "id": 1, "name": "标签名称" }
*/
private String labelJson;
/**
* 异常提醒 0 不提醒 1短信提醒
*/
private Integer exceptionNotice;
/**
* 异常提醒数量
*/
private Integer exceptionNoticeNum;
/**
* 企业ID
*/
private String enterpriseId;
/**
* 微信企业ID
*/
private String wxEnterpriseId;
private Date createTime;
private Date updateTime;
private String creatorId;
private String creatorName;
public Long getChatActivityId() {
return chatActivityId;
}
public void setChatActivityId(Long chatActivityId) {
this.chatActivityId = chatActivityId;
}
public String getActivityName() {
return activityName;
}
public void setActivityName(String activityName) {
this.activityName = activityName;
}
public Date getStartDate() {
return startDate;
}
public void setStartDate(Date startDate) {
this.startDate = startDate;
}
public Date getEndDate() {
return endDate;
}
public void setEndDate(Date endDate) {
this.endDate = endDate;
}
public Date getLimitDate() {
return limitDate;
}
public void setLimitDate(Date limitDate) {
this.limitDate = limitDate;
}
public String getActivityImg() {
return activityImg;
}
public void setActivityImg(String activityImg) {
this.activityImg = activityImg;
}
public String getActivityInviteImg() {
return activityInviteImg;
}
public void setActivityInviteImg(String activityInviteImg) {
this.activityInviteImg = activityInviteImg;
}
public String getActivityDesc() {
return activityDesc;
}
public void setActivityDesc(String activityDesc) {
this.activityDesc = activityDesc;
}
public String getActivityShareTitle() {
return activityShareTitle;
}
public void setActivityShareTitle(String activityShareTitle) {
this.activityShareTitle = activityShareTitle;
}
public String getActivityShareImg() {
return activityShareImg;
}
public void setActivityShareImg(String activityShareImg) {
this.activityShareImg = activityShareImg;
}
public String getActivityPosterImg() {
return activityPosterImg;
}
public void setActivityPosterImg(String activityPosterImg) {
this.activityPosterImg = activityPosterImg;
}
public Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
public Integer getInviteRewardType() {
return inviteRewardType;
}
public void setInviteRewardType(Integer inviteRewardType) {
this.inviteRewardType = inviteRewardType;
}
public Integer getJoinType() {
return joinType;
}
public void setJoinType(Integer joinType) {
this.joinType = joinType;
}
public String getJoinRule() {
return joinRule;
}
public void setJoinRule(String joinRule) {
this.joinRule = joinRule;
}
public Long getJoinChatHmId() {
return joinChatHmId;
}
public void setJoinChatHmId(Long joinChatHmId) {
this.joinChatHmId = joinChatHmId;
}
public Integer getInviteType() {
return inviteType;
}
public void setInviteType(Integer inviteType) {
this.inviteType = inviteType;
}
public Integer getInviteMemberType() {
return inviteMemberType;
}
public void setInviteMemberType(Integer inviteMemberType) {
this.inviteMemberType = inviteMemberType;
}
public Integer getLabelFlag() {
return labelFlag;
}
public void setLabelFlag(Integer labelFlag) {
this.labelFlag = labelFlag;
}
public String getLabelJson() {
return labelJson;
}
public void setLabelJson(String labelJson) {
this.labelJson = labelJson;
}
public Integer getExceptionNotice() {
return exceptionNotice;
}
public void setExceptionNotice(Integer exceptionNotice) {
this.exceptionNotice = exceptionNotice;
}
public Integer getExceptionNoticeNum() {
return exceptionNoticeNum;
}
public void setExceptionNoticeNum(Integer exceptionNoticeNum) {
this.exceptionNoticeNum = exceptionNoticeNum;
}
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;
}
public String getCreatorId() {
return creatorId;
}
public void setCreatorId(String creatorId) {
this.creatorId = creatorId;
}
public String getCreatorName() {
return creatorName;
}
public void setCreatorName(String creatorName) {
this.creatorName = creatorName;
}
}
package com.gic.haoban.manage.api.dto.chat;
import com.gic.haoban.manage.api.qdto.chat.GroupChatActivityJoinQDTO;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* 社群邀请有礼表(TabHaobanGroupChatActivity)实体类
*
* @author makejava
* @since 2024-09-27 16:09:38
*/
public class GroupChatActivityDTO extends GroupChatActivityBaseDTO implements Serializable {
private static final long serialVersionUID = 973688857967269973L;
/**
* 奖励规则列表
*/
private List<GroupChatActivityRewardDTO> rewardList;
/**
* 入群规则列表
*/
private List<GroupChatActivityJoinDTO> joinList;
public List<GroupChatActivityRewardDTO> getRewardList() {
return rewardList;
}
public void setRewardList(List<GroupChatActivityRewardDTO> rewardList) {
this.rewardList = rewardList;
}
public List<GroupChatActivityJoinDTO> getJoinList() {
return joinList;
}
public void setJoinList(List<GroupChatActivityJoinDTO> joinList) {
this.joinList = joinList;
}
}
package com.gic.haoban.manage.api.dto.chat;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.google.common.base.Objects;
import java.io.Serializable;
import java.util.Date;
/**
* 社群邀请有礼入群规则表(TabHaobanGroupChatActivityJoin)实体类
*
* @author makejava
* @since 2024-09-27 16:09:56
*/
public class GroupChatActivityJoinDTO implements Serializable {
private static final long serialVersionUID = -95747409578903881L;
/**
* 社群活动入群规则id
*/
@JsonIgnoreProperties(ignoreUnknown = true)
private Long chatActivityJoinId;
/**
* 内容活动id
*/
@JsonIgnoreProperties(ignoreUnknown = true)
private Long chatActivityId;
/**
* 会员类型(0:会员筛选,1:会员分组)
*/
private Integer memberType;
/**
* 人群
*/
private String filterJson;
/**
* 人群回显
*/
private String filterJsonView;
/**
* 序号 从小到大
*/
private Integer index;
/**
* 群活码id
*/
@JsonIgnoreProperties(ignoreUnknown = true)
private Long chatHmId;
public Long getChatActivityJoinId() {
return chatActivityJoinId;
}
public void setChatActivityJoinId(Long chatActivityJoinId) {
this.chatActivityJoinId = chatActivityJoinId;
}
public Long getChatActivityId() {
return chatActivityId;
}
public void setChatActivityId(Long chatActivityId) {
this.chatActivityId = chatActivityId;
}
public Integer getMemberType() {
return memberType;
}
public void setMemberType(Integer memberType) {
this.memberType = memberType;
}
public String getFilterJson() {
return filterJson;
}
public void setFilterJson(String filterJson) {
this.filterJson = filterJson;
}
public String getFilterJsonView() {
return filterJsonView;
}
public void setFilterJsonView(String filterJsonView) {
this.filterJsonView = filterJsonView;
}
public Integer getIndex() {
return index;
}
public void setIndex(Integer index) {
this.index = index;
}
public Long getChatHmId() {
return chatHmId;
}
public void setChatHmId(Long chatHmId) {
this.chatHmId = chatHmId;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
GroupChatActivityJoinDTO that = (GroupChatActivityJoinDTO) o;
return Objects.equal(chatActivityId, that.chatActivityId) && Objects.equal(memberType, that.memberType) && Objects.equal(filterJson, that.filterJson) && Objects.equal(index, that.index) && Objects.equal(chatHmId, that.chatHmId);
}
@Override
public int hashCode() {
return Objects.hashCode(chatActivityId, memberType, filterJson, index, chatHmId);
}
}
package com.gic.haoban.manage.api.dto.chat;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.google.common.base.Objects;
import java.io.Serializable;
import java.util.Date;
/**
* 社群邀请有礼奖励规则表(TabHaobanGroupChatActivityReward)实体类
*
* @author makejava
* @since 2024-09-27 16:09:56
*/
public class GroupChatActivityRewardDTO implements Serializable {
private static final long serialVersionUID = -78111537762472232L;
/**
* 社群活动奖励规则id
*/
@JsonIgnoreProperties(ignoreUnknown = true)
private Long chatActivityRewardId;
/**
* 内容活动id
*/
@JsonIgnoreProperties(ignoreUnknown = true)
private Long chatActivityId;
/**
* 奖励邀请人数
*/
private Integer inviteNumber;
/**
* 奖励阶梯 固定奖励默认1
*/
private Integer inviteLevel;
/**
* 奖励人类型 1邀请人2受邀人
*/
private Integer rewardInvite;
/**
* 奖励类型 1积分2成长值3卡券
*/
private Integer rewardType;
/**
* 最多奖励数量
*/
private Integer limitReward;
/**
* 奖励内容 积分值 成长值 卡券id
*/
private String rewardValue;
/**
* 奖励名称 卡券名称
*/
private String rewardName;
public Long getChatActivityRewardId() {
return chatActivityRewardId;
}
public void setChatActivityRewardId(Long chatActivityRewardId) {
this.chatActivityRewardId = chatActivityRewardId;
}
public Long getChatActivityId() {
return chatActivityId;
}
public void setChatActivityId(Long chatActivityId) {
this.chatActivityId = chatActivityId;
}
public Integer getInviteNumber() {
return inviteNumber;
}
public void setInviteNumber(Integer inviteNumber) {
this.inviteNumber = inviteNumber;
}
public Integer getInviteLevel() {
return inviteLevel;
}
public void setInviteLevel(Integer inviteLevel) {
this.inviteLevel = inviteLevel;
}
public Integer getRewardInvite() {
return rewardInvite;
}
public void setRewardInvite(Integer rewardInvite) {
this.rewardInvite = rewardInvite;
}
public Integer getRewardType() {
return rewardType;
}
public void setRewardType(Integer rewardType) {
this.rewardType = rewardType;
}
public Integer getLimitReward() {
return limitReward;
}
public void setLimitReward(Integer limitReward) {
this.limitReward = limitReward;
}
public String getRewardValue() {
return rewardValue;
}
public void setRewardValue(String rewardValue) {
this.rewardValue = rewardValue;
}
public String getRewardName() {
return rewardName;
}
public void setRewardName(String rewardName) {
this.rewardName = rewardName;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
GroupChatActivityRewardDTO that = (GroupChatActivityRewardDTO) o;
return Objects.equal(chatActivityId, that.chatActivityId) && Objects.equal(inviteNumber, that.inviteNumber) && Objects.equal(inviteLevel, that.inviteLevel) && Objects.equal(rewardInvite, that.rewardInvite) && Objects.equal(rewardType, that.rewardType) && Objects.equal(limitReward, that.limitReward) && Objects.equal(rewardValue, that.rewardValue);
}
@Override
public int hashCode() {
return Objects.hashCode(chatActivityId, inviteNumber, inviteLevel, rewardInvite, rewardType, limitReward, rewardValue);
}
}
package com.gic.haoban.manage.api.enums.chat;
import java.util.Objects;
/**
* Created by wangzubo on 2023/3/13.
*/
public enum ChatActivityInviteRewardEnum {
/**
* 奖励类型 1定额奖励2阶梯奖励
*/
FIXED_REWARD(1, "定额奖励"),
LADDER_REWARD(2, "阶梯奖励"),
;
public final Integer value;
public final String desc;
ChatActivityInviteRewardEnum(Integer value, String desc) {
this.value = value;
this.desc = desc;
}
public static String getDescByValue(Integer value) {
for (ChatActivityInviteRewardEnum inviteRewardEnum : ChatActivityInviteRewardEnum.values()) {
if (Objects.equals(value, inviteRewardEnum.value)) {
return inviteRewardEnum.desc;
}
}
return null;
}
}
package com.gic.haoban.manage.api.enums.chat;
import java.util.Objects;
/**
* Created by wangzubo on 2023/3/13.
*/
public enum ChatActivityJoinEnum {
/**
* 入群方式 1规则入群2定向入群
*/
RULE(1, "规则入群"),
ORIENTED(2, "定向入群"),
;
public final Integer value;
public final String desc;
ChatActivityJoinEnum(Integer value, String desc) {
this.value = value;
this.desc = desc;
}
public static String getDescByValue(Integer value) {
for (ChatActivityJoinEnum joinEnum : ChatActivityJoinEnum.values()) {
if (Objects.equals(value, joinEnum.value)) {
return joinEnum.desc;
}
}
return null;
}
}
package com.gic.haoban.manage.api.enums.chat;
import java.util.Objects;
/**
* Created by wangzubo on 2023/3/13.
*/
public enum ChatActivityJoinRuleEnum {
/**
* 入群规则 1邀请人所在企微群2服务门店3协管门店4LBS定位
*/
INVITER_CHAT(1, "邀请人所在企微群"),
MAIN_STORE(2, "服务门店"),
OTHER_STORE(3, "协管门店"),
LBS(4, "LBS定位"),
;
public final Integer value;
public final String desc;
ChatActivityJoinRuleEnum(Integer value, String desc) {
this.value = value;
this.desc = desc;
}
public static String getDescByValue(Integer value) {
for (ChatActivityJoinRuleEnum joinRuleEnum : ChatActivityJoinRuleEnum.values()) {
if (Objects.equals(value, joinRuleEnum.value)) {
return joinRuleEnum.desc;
}
}
return null;
}
}
package com.gic.haoban.manage.api.enums.chat;
import java.util.Objects;
/**
* Created by wangzubo on 2023/3/13.
*/
public enum ChatActivityRewardEnum {
/**
* 奖励类型 1积分2成长值3卡券
*/
INTEGRAL(1, "积分"),
GROWTH(2, "成长值"),
COUPON(3, "卡券"),
;
public final Integer value;
public final String desc;
ChatActivityRewardEnum(Integer value, String desc) {
this.value = value;
this.desc = desc;
}
public static String getDescByValue(Integer value) {
for (ChatActivityRewardEnum activityRewardEnum : ChatActivityRewardEnum.values()) {
if (Objects.equals(value, activityRewardEnum.value)) {
return activityRewardEnum.desc;
}
}
return null;
}
public static ChatActivityRewardEnum getByValue(Integer value) {
for (ChatActivityRewardEnum activityRewardEnum : ChatActivityRewardEnum.values()) {
if (Objects.equals(value, activityRewardEnum.value)) {
return activityRewardEnum;
}
}
return null;
}
}
package com.gic.haoban.manage.api.enums.chat;
import java.util.Objects;
/**
* Created by wangzubo on 2023/3/13.
*/
public enum ChatActivityStatusEnum {
/**
* 活动状态1未开始2进行中3已终止4已结束
*/
NOT_START(1, "未开始"),
START(2, "进行中"),
STOP(3, "已终止"),
END(4, "已结束"),
;
public final Integer value;
public final String desc;
ChatActivityStatusEnum(Integer value, String desc) {
this.value = value;
this.desc = desc;
}
public static String getDescByValue(Integer value) {
for (ChatActivityStatusEnum activityStatusEnum : ChatActivityStatusEnum.values()) {
if (Objects.equals(value, activityStatusEnum.value)) {
return activityStatusEnum.desc;
}
}
return null;
}
}
package com.gic.haoban.manage.api.qdto.chat;
import java.io.Serializable;
public class GroupChatActivityHmQDTO implements Serializable {
private static final long serialVersionUID = -28454620622119889L;
/**
* 社群活动id
*/
private Long chatActivityId;
/**
* 邀请人会员ID
*/
private String inviterMemberId;
/**
* 受邀人会员ID
*/
private String inviteeMemberId;
/**
* 受邀人unionID
*/
private String inviteeUnionId;
/**
* 企业ID
*/
private String 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 String getInviteeMemberId() {
return inviteeMemberId;
}
public void setInviteeMemberId(String inviteeMemberId) {
this.inviteeMemberId = inviteeMemberId;
}
public String getInviteeUnionId() {
return inviteeUnionId;
}
public void setInviteeUnionId(String inviteeUnionId) {
this.inviteeUnionId = inviteeUnionId;
}
public String getEnterpriseId() {
return enterpriseId;
}
public void setEnterpriseId(String enterpriseId) {
this.enterpriseId = enterpriseId;
}
}
package com.gic.haoban.manage.api.qdto.chat;
import com.gic.haoban.manage.api.dto.chat.GroupChatActivityJoinDTO;
import java.io.Serializable;
import java.util.Date;
/**
* 社群邀请有礼入群规则表(TabHaobanGroupChatActivityJoin)实体类
*
* @author makejava
* @since 2024-09-27 16:09:56
*/
public class GroupChatActivityJoinQDTO extends GroupChatActivityJoinDTO implements Serializable {
private static final long serialVersionUID = -95747409578903881L;
/**
* 会员筛选-回显
*/
private String filterJsonView;
public String getFilterJsonView() {
return filterJsonView;
}
public void setFilterJsonView(String filterJsonView) {
this.filterJsonView = filterJsonView;
}
}
package com.gic.haoban.manage.api.qdto.chat;
import com.gic.haoban.manage.api.dto.chat.GroupChatActivityRewardDTO;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* 社群邀请有礼表(TabHaobanGroupChatActivity)实体类
*
* @author makejava
* @since 2024-09-27 16:09:38
*/
public class GroupChatActivityQDTO implements Serializable {
private static final long serialVersionUID = 973688857967269973L;
/**
* 社群活动id
*/
private Long chatActivityId;
/**
* 活动名称
*/
private String activityName;
/**
* 开始时间
*/
private Date startDate;
/**
* 结束时间
*/
private Date endDate;
/**
* 状态1未开始2进行中3已终止4已结束
*/
private Integer status;
/**
* 活动图片
*/
private String activityImg;
/**
* 活动受邀页图片
*/
private String activityInviteImg;
/**
* 活动说明
*/
private String activityDesc;
/**
* 活动分享标题
*/
private String activityShareTitle;
/**
* 活动分享卡片图片
*/
private String activityShareImg;
/**
* 活动分享海报图片
*/
private String activityPosterImg;
/**
* 奖励类型 1定额奖励2阶梯奖励
*/
private Integer inviteRewardType;
/**
* 入群方式 1规则入群2定向入群
*/
private Integer joinType;
/**
* 入群规则 1邀请人所在企微群2服务门店3协管门店4LBS定位 逗号分隔
*/
private String joinRule;
/**
* 入群兜底群活码id
*/
private Long joinChatHmId;
/**
* 邀请类型 0不限制1入群前未处于任何企业群聊内算有效邀请2首次加入企业群聊才算有效邀请
*/
private Integer inviteType;
/**
* 邀请会员类型 0所有用户1开卡会员
*/
private Integer inviteMemberType;
/**
* 打标签1是0否
*/
private Integer labelFlag;
/**
* { "options": 1, "id": 1, "name": "标签名称" }
*/
private String labelJson;
/**
* 异常提醒 0 不提醒 1短信提醒
*/
private Integer exceptionNotice;
/**
* 异常提醒数量
*/
private Integer exceptionNoticeNum;
/**
* 企业ID
*/
private String enterpriseId;
/**
* 微信企业ID
*/
private String wxEnterpriseId;
private String creatorId;
private String creatorName;
/**
* 奖励规则列表
*/
private List<GroupChatActivityRewardDTO> rewardList;
/**
* 入群规则列表
*/
private List<GroupChatActivityJoinQDTO> joinList;
public Long getChatActivityId() {
return chatActivityId;
}
public void setChatActivityId(Long chatActivityId) {
this.chatActivityId = chatActivityId;
}
public String getActivityName() {
return activityName;
}
public void setActivityName(String activityName) {
this.activityName = activityName;
}
public Date getStartDate() {
return startDate;
}
public void setStartDate(Date startDate) {
this.startDate = startDate;
}
public Date getEndDate() {
return endDate;
}
public void setEndDate(Date endDate) {
this.endDate = endDate;
}
public Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
public String getActivityImg() {
return activityImg;
}
public void setActivityImg(String activityImg) {
this.activityImg = activityImg;
}
public String getActivityInviteImg() {
return activityInviteImg;
}
public void setActivityInviteImg(String activityInviteImg) {
this.activityInviteImg = activityInviteImg;
}
public String getActivityDesc() {
return activityDesc;
}
public void setActivityDesc(String activityDesc) {
this.activityDesc = activityDesc;
}
public String getActivityShareTitle() {
return activityShareTitle;
}
public void setActivityShareTitle(String activityShareTitle) {
this.activityShareTitle = activityShareTitle;
}
public String getActivityShareImg() {
return activityShareImg;
}
public void setActivityShareImg(String activityShareImg) {
this.activityShareImg = activityShareImg;
}
public String getActivityPosterImg() {
return activityPosterImg;
}
public void setActivityPosterImg(String activityPosterImg) {
this.activityPosterImg = activityPosterImg;
}
public Integer getInviteRewardType() {
return inviteRewardType;
}
public void setInviteRewardType(Integer inviteRewardType) {
this.inviteRewardType = inviteRewardType;
}
public Integer getJoinType() {
return joinType;
}
public void setJoinType(Integer joinType) {
this.joinType = joinType;
}
public String getJoinRule() {
return joinRule;
}
public void setJoinRule(String joinRule) {
this.joinRule = joinRule;
}
public Long getJoinChatHmId() {
return joinChatHmId;
}
public void setJoinChatHmId(Long joinChatHmId) {
this.joinChatHmId = joinChatHmId;
}
public Integer getInviteType() {
return inviteType;
}
public void setInviteType(Integer inviteType) {
this.inviteType = inviteType;
}
public Integer getInviteMemberType() {
return inviteMemberType;
}
public void setInviteMemberType(Integer inviteMemberType) {
this.inviteMemberType = inviteMemberType;
}
public Integer getLabelFlag() {
return labelFlag;
}
public void setLabelFlag(Integer labelFlag) {
this.labelFlag = labelFlag;
}
public String getLabelJson() {
return labelJson;
}
public void setLabelJson(String labelJson) {
this.labelJson = labelJson;
}
public Integer getExceptionNotice() {
return exceptionNotice;
}
public void setExceptionNotice(Integer exceptionNotice) {
this.exceptionNotice = exceptionNotice;
}
public Integer getExceptionNoticeNum() {
return exceptionNoticeNum;
}
public void setExceptionNoticeNum(Integer exceptionNoticeNum) {
this.exceptionNoticeNum = exceptionNoticeNum;
}
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 String getCreatorId() {
return creatorId;
}
public void setCreatorId(String creatorId) {
this.creatorId = creatorId;
}
public String getCreatorName() {
return creatorName;
}
public void setCreatorName(String creatorName) {
this.creatorName = creatorName;
}
public List<GroupChatActivityRewardDTO> getRewardList() {
return rewardList;
}
public void setRewardList(List<GroupChatActivityRewardDTO> rewardList) {
this.rewardList = rewardList;
}
public List<GroupChatActivityJoinQDTO> getJoinList() {
return joinList;
}
public void setJoinList(List<GroupChatActivityJoinQDTO> joinList) {
this.joinList = joinList;
}
}
package com.gic.haoban.manage.api.qdto.chat;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
public class GroupChatActivitySearchQDTO implements Serializable {
private static final long serialVersionUID = 692426229105512689L;
private String wxEnterpriseId;
/**
* 搜索内容
*/
private String search;
/**
* 状态1未开始2进行中3已终止4已结束
*/
private Integer status;
/**
* 奖励类型 1定额奖励2阶梯奖励
*/
private Integer inviteRewardType;
/**
* 入群方式 1规则入群2定向入群
*/
private Integer joinType;
/**
* 开始时间
*/
private Date beginDate;
/**
* 结束时间
*/
private Date endDate;
/**
* 创建人id列表
*/
private List<String> creatorIdList;
public String getWxEnterpriseId() {
return wxEnterpriseId;
}
public void setWxEnterpriseId(String wxEnterpriseId) {
this.wxEnterpriseId = wxEnterpriseId;
}
public String getSearch() {
return search;
}
public void setSearch(String search) {
this.search = search;
}
public Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
public Integer getInviteRewardType() {
return inviteRewardType;
}
public void setInviteRewardType(Integer inviteRewardType) {
this.inviteRewardType = inviteRewardType;
}
public Integer getJoinType() {
return joinType;
}
public void setJoinType(Integer joinType) {
this.joinType = joinType;
}
public Date getBeginDate() {
return beginDate;
}
public void setBeginDate(Date beginDate) {
this.beginDate = beginDate;
}
public Date getEndDate() {
return endDate;
}
public void setEndDate(Date endDate) {
this.endDate = endDate;
}
public List<String> getCreatorIdList() {
return creatorIdList;
}
public void setCreatorIdList(List<String> creatorIdList) {
this.creatorIdList = creatorIdList;
}
}
package com.gic.haoban.manage.api.qdto.chat;
import java.io.Serializable;
import java.util.Date;
public class GroupChatActivityShareBindQDTO implements Serializable {
private static final long serialVersionUID = -28454620622119889L;
/**
* 社群活动id
*/
private Long chatActivityId;
/**
* 邀请人会员ID
*/
private String inviterMemberId;
/**
* 受邀人会员ID
*/
private String inviteeMemberId;
/**
* 受邀人unionID
*/
private String inviteeUnionId;
/**
* 企业ID
*/
private String 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 String getInviteeMemberId() {
return inviteeMemberId;
}
public void setInviteeMemberId(String inviteeMemberId) {
this.inviteeMemberId = inviteeMemberId;
}
public String getInviteeUnionId() {
return inviteeUnionId;
}
public void setInviteeUnionId(String inviteeUnionId) {
this.inviteeUnionId = inviteeUnionId;
}
public String getEnterpriseId() {
return enterpriseId;
}
public void setEnterpriseId(String enterpriseId) {
this.enterpriseId = enterpriseId;
}
}
package com.gic.haoban.manage.api.service.chat;
import com.gic.api.base.commons.BasePageInfo;
import com.gic.api.base.commons.Page;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.haoban.manage.api.dto.chat.GroupChatActivityBaseDTO;
import com.gic.haoban.manage.api.dto.chat.GroupChatActivityDTO;
import com.gic.haoban.manage.api.qdto.chat.GroupChatActivityQDTO;
import com.gic.haoban.manage.api.qdto.chat.GroupChatActivitySearchQDTO;
import java.util.List;
/**
* Created by wangzubo on 2022/10/31.
*/
public interface GroupChatActivityApiService {
/**
* 保存互动营销活动
* @param qdto
* @return
*/
ServiceResponse<Long> saveActivity(GroupChatActivityQDTO qdto) ;
/**
* 获取活动详情
* @param chatActivityId
* @return
*/
ServiceResponse<GroupChatActivityDTO> getActivityDetail(String enterpriseId, Long chatActivityId);
/**
* 获取活动详情(缓存)
* @param chatActivityId
* @return
*/
ServiceResponse<GroupChatActivityDTO> getActivityDetailCache(String enterpriseId,Long chatActivityId);
/**
* 通过活动id列表获取
* @param enterpriseId
* @param chatActivityIdList
* @return
*/
ServiceResponse<List<GroupChatActivityBaseDTO>> listByActivityIds(String enterpriseId, List<Long> chatActivityIdList);
/**
* 通过活动id列表获取(包含已删除)
* @param enterpriseId
* @param chatActivityIdList
* @return
*/
ServiceResponse<List<GroupChatActivityBaseDTO>> listByActivityIdsDel(String enterpriseId, List<Long> chatActivityIdList);
/**
* 分页查询活动列表
* @param enterpriseId 企业id
* @param searchQDTO 搜索条件
* @return
*/
ServiceResponse<Page<GroupChatActivityDTO>> pageActivity(String enterpriseId, GroupChatActivitySearchQDTO searchQDTO, BasePageInfo pageInfo);
/**
* 终止活动
* @param enterpriseId 企业id
* @param chatActivityId 活动id
*/
ServiceResponse<GroupChatActivityDTO> stopActivity(String enterpriseId, Long chatActivityId) ;
/**
* 删除活动
* @param enterpriseId 企业id
* @param chatActivityId 活动id
*/
ServiceResponse<Void> delActivity(String enterpriseId, Long chatActivityId) ;
}
package com.gic.haoban.manage.api.service.chat;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.haoban.manage.api.qdto.chat.GroupChatActivityShareBindQDTO;
/**
* Created by wangzubo on 2022/10/31.
*/
public interface GroupChatActivityShareApiService {
/**
* 绑定分享关系
* @param shareBind
*/
ServiceResponse<Void> shareBing(GroupChatActivityShareBindQDTO shareBind);
}
......@@ -159,7 +159,7 @@
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.5.1</version>
<version>5.6.2</version>
</dependency>
<dependency>
......
package com.gic.haoban.manage.service.context.chat;
import com.gic.api.base.commons.Constant;
import com.gic.enterprise.api.service.ScreeningDetailService;
import com.gic.haoban.manage.api.dto.chat.GroupChatActivityDTO;
import com.gic.haoban.manage.api.dto.chat.GroupChatActivityJoinDTO;
import com.gic.haoban.manage.api.dto.chat.GroupChatActivityRewardDTO;
import com.gic.haoban.manage.api.enums.chat.ChatActivityRewardEnum;
import com.gic.haoban.manage.service.entity.chat.TabGroupChatActivity;
import com.gic.haoban.manage.service.entity.chat.TabGroupChatActivityJoin;
import com.gic.marketing.api.enums.MarketingBusinessTypeEnum;
import com.gic.marketing.api.enums.MarketingTagModuleEnum;
import com.gic.marketing.api.qdto.CouponReferAlarmQDTO;
import com.gic.marketing.api.service.CouponReferAlarmService;
import com.gic.member.tag.api.dto.MemberTagBusinessGroupDTO;
import com.gic.member.tag.api.service.MemberTagBusinessGroupApiService;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.Arrays;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
/**
* Created by wangzubo on 2024/8/23.
*/
@Component
public class BusinessManager {
private static final Logger logger = LoggerFactory.getLogger(BusinessManager.class);
@Autowired
private MemberTagBusinessGroupApiService memberTagBusinessGroupApiService;
@Autowired
private ScreeningDetailService screeningDetailService;
@Autowired
private CouponReferAlarmService couponReferAlarmService;
public void dealMemberTagByActivity(TabGroupChatActivity activityDTO, TabGroupChatActivityJoin activityJoin , boolean delete) {
String enterpriseId = activityDTO.getEnterpriseId();
Long chatActivityId = activityDTO.getChatActivityId();
if (delete) {
logger.info("删除计划使用人群分组关联关系chatActivityId:{}", chatActivityId);
memberTagBusinessGroupApiService.deleteByBusinessIdAndEnterpriseId(String.valueOf(chatActivityId), enterpriseId);
return;
}
Integer memberType = activityJoin.getMemberType();
String filterJson = activityJoin.getFilterJson();
String filterJsonView = activityJoin.getFilterJsonView();
if (StringUtils.isNotBlank(filterJson) && Objects.equals(memberType,1)) {
String[] split = filterJson.split(",");
MemberTagBusinessGroupDTO memberTagBusinessGroupDTO = new MemberTagBusinessGroupDTO();
memberTagBusinessGroupDTO.setTagGroupIdList(Arrays.asList(split));
memberTagBusinessGroupDTO.setBusinessId(String.valueOf(chatActivityId));
memberTagBusinessGroupDTO.setEnterpriseId(enterpriseId);
memberTagBusinessGroupDTO.setBusinessType(MarketingBusinessTypeEnum.Marketing_business_type.getCode());
// todo 社群
memberTagBusinessGroupDTO.setBusinessModuleName(MarketingTagModuleEnum.CONTENT_ACTIVITY.getModuleTypeName());
memberTagBusinessGroupDTO.setBusinessName(activityDTO.getActivityName());
memberTagBusinessGroupDTO.setBusinessLink(MarketingTagModuleEnum.CONTENT_ACTIVITY.getPagePath());
logger.info("处理计划使用人群分组关联关系chatActivityId:{}", chatActivityId);
memberTagBusinessGroupApiService.batchDelAndAddByBusinessId(memberTagBusinessGroupDTO);
} else {
// 若使用非人群分组,删除所有关联关系
logger.info("删除计划使用人群分组关联关系chatActivityId:{}", chatActivityId);
memberTagBusinessGroupApiService.deleteByBusinessIdAndEnterpriseId(String.valueOf(chatActivityId), enterpriseId);
}
if (Objects.equals(memberType, 0) && filterJsonView != null) {
screeningDetailService.save("GROUP_CHAT_SEARCH_ID_" + activityDTO.getChatActivityId() + "-" + activityJoin.getIndex(), filterJsonView);
}
}
public void dealCouponAlarmByActivity(GroupChatActivityDTO activityDTO,boolean delete) {
if (Objects.equals(activityDTO.getExceptionNotice(), Constant.FLAG_TRUE) && !delete) {
CouponReferAlarmQDTO couponReferAlarmQDTO = new CouponReferAlarmQDTO();
couponReferAlarmQDTO.setSystemType(0);
couponReferAlarmQDTO.setStartTime(activityDTO.getStartDate());
couponReferAlarmQDTO.setEndTime(activityDTO.getLimitDate() != null ? activityDTO.getLimitDate() : activityDTO.getEndDate());
couponReferAlarmQDTO.setCreatorId(activityDTO.getCreatorId());
List<String> couponIdList = activityDTO.getRewardList().stream()
.filter(x -> Objects.equals(x.getRewardType(), ChatActivityRewardEnum.COUPON.value))
.map(GroupChatActivityRewardDTO::getRewardValue)
.flatMap(x -> Arrays.stream(x.split(",")))
.distinct().collect(Collectors.toList());
couponReferAlarmQDTO.setCouponIdList(couponIdList);
couponReferAlarmQDTO.setEnterpriseId(activityDTO.getEnterpriseId());
couponReferAlarmQDTO.setReferType(2);
couponReferAlarmQDTO.setSystemType(1);
couponReferAlarmQDTO.setReferId(String.valueOf(activityDTO.getChatActivityId()));
couponReferAlarmQDTO.setTitle("社群邀请有礼-" + activityDTO.getActivityName());
couponReferAlarmQDTO.setAlarmStock(activityDTO.getExceptionNoticeNum());
couponReferAlarmQDTO.setDelAlarmFlag(1);
couponReferAlarmService.add(couponReferAlarmQDTO);
}else {
couponReferAlarmService.del(String.valueOf(activityDTO.getChatActivityId()),2);
}
}
}
......@@ -2,6 +2,7 @@ package com.gic.haoban.manage.service.dao.mapper.chat;
import com.gic.haoban.manage.service.entity.chat.TabGroupChatActivityJoin;
import com.gic.haoban.manage.service.entity.chat.TabGroupChatActivityReward;
import org.apache.ibatis.annotations.Param;
import org.springframework.data.domain.Pageable;
......@@ -24,6 +25,14 @@ public interface GroupChatActivityJoinMapper {
TabGroupChatActivityJoin queryById(Long chatActivityJoinId);
/**
* 通过ID列表查询多条数据
* @param chatActivityIds
* @return
*/
List<TabGroupChatActivityJoin> queryByChatActivityIds(@Param("chatActivityIds")List<Long> chatActivityIds);
/**
* 查询指定行数据
*
* @param tabGroupChatActivityJoin 查询条件
......@@ -49,23 +58,6 @@ public interface GroupChatActivityJoinMapper {
int insert(TabGroupChatActivityJoin tabGroupChatActivityJoin);
/**
* 批量新增数据(MyBatis原生foreach方法)
*
* @param entities List<TabHaobanGroupChatActivityJoin> 实例对象列表
* @return 影响行数
*/
int insertBatch(@Param("entities") List<TabGroupChatActivityJoin> entities);
/**
* 批量新增或按主键更新数据(MyBatis原生foreach方法)
*
* @param entities List<TabHaobanGroupChatActivityJoin> 实例对象列表
* @return 影响行数
* @throws org.springframework.jdbc.BadSqlGrammarException 入参是空List的时候会抛SQL语句错误的异常,请自行校验入参
*/
int insertOrUpdateBatch(@Param("entities") List<TabGroupChatActivityJoin> entities);
/**
* 修改数据
*
* @param tabGroupChatActivityJoin 实例对象
......
package com.gic.haoban.manage.service.dao.mapper.chat;
import com.gic.haoban.manage.api.qdto.chat.GroupChatActivitySearchQDTO;
import com.gic.haoban.manage.service.entity.chat.TabGroupChatActivity;
import org.apache.ibatis.annotations.Param;
import org.springframework.data.domain.Pageable;
import java.util.List;
......@@ -23,13 +23,29 @@ public interface GroupChatActivityMapper {
TabGroupChatActivity queryById(Long chatActivityId);
/**
* 查询指定行数据
*
* @param tabGroupChatActivity 查询条件
* @param pageable 分页对象
* @return 对象列表
* 通过ID列表查询多条数据
* @param chatActivityIds
* @return
*/
List<TabGroupChatActivity> queryByIds(@Param("chatActivityIds") List<Long> chatActivityIds);
/**
* 通过ID列表查询多条数据
* @param chatActivityIds
* @return
*/
List<TabGroupChatActivity> queryAllByLimit(TabGroupChatActivity tabGroupChatActivity, @Param("pageable") Pageable pageable);
List<TabGroupChatActivity> queryByIdsDel(@Param("chatActivityIds")List<Long> chatActivityIds);
/**
* 分页查询数据
* @param enterpriseId
* @param searchQDTO
* @return
*/
List<TabGroupChatActivity> listActivity(@Param("enterpriseId") String enterpriseId,
@Param("search") GroupChatActivitySearchQDTO searchQDTO);
List<TabGroupChatActivity> listActivityByDate(TabGroupChatActivity tabGroupChatActivity);
/**
* 统计总行数
......@@ -48,23 +64,6 @@ public interface GroupChatActivityMapper {
int insert(TabGroupChatActivity tabGroupChatActivity);
/**
* 批量新增数据(MyBatis原生foreach方法)
*
* @param entities List<TabHaobanGroupChatActivity> 实例对象列表
* @return 影响行数
*/
int insertBatch(@Param("entities") List<TabGroupChatActivity> entities);
/**
* 批量新增或按主键更新数据(MyBatis原生foreach方法)
*
* @param entities List<TabHaobanGroupChatActivity> 实例对象列表
* @return 影响行数
* @throws org.springframework.jdbc.BadSqlGrammarException 入参是空List的时候会抛SQL语句错误的异常,请自行校验入参
*/
int insertOrUpdateBatch(@Param("entities") List<TabGroupChatActivity> entities);
/**
* 修改数据
*
* @param tabGroupChatActivity 实例对象
......@@ -78,7 +77,7 @@ public interface GroupChatActivityMapper {
* @param chatActivityId 主键
* @return 影响行数
*/
int deleteById(Long chatActivityId);
int deleteById(String enterpriseId,Long chatActivityId);
}
......@@ -48,23 +48,6 @@ public interface GroupChatActivityRewardDetailLogMapper {
int insert(TabGroupChatActivityRewardDetailLog tabGroupChatActivityRewardDetailLog);
/**
* 批量新增数据(MyBatis原生foreach方法)
*
* @param entities List<TabHaobanGroupChatActivityRewardDetailLog> 实例对象列表
* @return 影响行数
*/
int insertBatch(@Param("entities") List<TabGroupChatActivityRewardDetailLog> entities);
/**
* 批量新增或按主键更新数据(MyBatis原生foreach方法)
*
* @param entities List<TabHaobanGroupChatActivityRewardDetailLog> 实例对象列表
* @return 影响行数
* @throws org.springframework.jdbc.BadSqlGrammarException 入参是空List的时候会抛SQL语句错误的异常,请自行校验入参
*/
int insertOrUpdateBatch(@Param("entities") List<TabGroupChatActivityRewardDetailLog> entities);
/**
* 修改数据
*
* @param tabGroupChatActivityRewardDetailLog 实例对象
......
......@@ -48,23 +48,6 @@ public interface GroupChatActivityRewardLogMapper {
int insert(TabGroupChatActivityRewardLog tabGroupChatActivityRewardLog);
/**
* 批量新增数据(MyBatis原生foreach方法)
*
* @param entities List<TabHaobanGroupChatActivityRewardLog> 实例对象列表
* @return 影响行数
*/
int insertBatch(@Param("entities") List<TabGroupChatActivityRewardLog> entities);
/**
* 批量新增或按主键更新数据(MyBatis原生foreach方法)
*
* @param entities List<TabHaobanGroupChatActivityRewardLog> 实例对象列表
* @return 影响行数
* @throws org.springframework.jdbc.BadSqlGrammarException 入参是空List的时候会抛SQL语句错误的异常,请自行校验入参
*/
int insertOrUpdateBatch(@Param("entities") List<TabGroupChatActivityRewardLog> entities);
/**
* 修改数据
*
* @param tabGroupChatActivityRewardLog 实例对象
......
......@@ -23,6 +23,13 @@ public interface GroupChatActivityRewardMapper {
TabGroupChatActivityReward queryById(Long chatActivityRewardId);
/**
* 通过ID列表查询多条数据
* @param chatActivityIds
* @return
*/
List<TabGroupChatActivityReward> queryByChatActivityIds(@Param("chatActivityIds")List<Long> chatActivityIds);
/**
* 查询指定行数据
*
* @param tabGroupChatActivityReward 查询条件
......@@ -47,22 +54,6 @@ public interface GroupChatActivityRewardMapper {
*/
int insert(TabGroupChatActivityReward tabGroupChatActivityReward);
/**
* 批量新增数据(MyBatis原生foreach方法)
*
* @param entities List<TabHaobanGroupChatActivityReward> 实例对象列表
* @return 影响行数
*/
int insertBatch(@Param("entities") List<TabGroupChatActivityReward> entities);
/**
* 批量新增或按主键更新数据(MyBatis原生foreach方法)
*
* @param entities List<TabHaobanGroupChatActivityReward> 实例对象列表
* @return 影响行数
* @throws org.springframework.jdbc.BadSqlGrammarException 入参是空List的时候会抛SQL语句错误的异常,请自行校验入参
*/
int insertOrUpdateBatch(@Param("entities") List<TabGroupChatActivityReward> entities);
/**
* 修改数据
......
......@@ -23,6 +23,13 @@ public interface GroupChatActivityShareBindMapper {
TabGroupChatActivityShareBind queryById(Long chatActivityBindId);
/**
* 获取24小时内有效记录
* @param inviteeUnionId
* @return
*/
List<TabGroupChatActivityShareBind> query24Record(String inviteeUnionId);
/**
* 查询指定行数据
*
* @param tabGroupChatActivityShareBind 查询条件
......@@ -48,23 +55,6 @@ public interface GroupChatActivityShareBindMapper {
int insert(TabGroupChatActivityShareBind tabGroupChatActivityShareBind);
/**
* 批量新增数据(MyBatis原生foreach方法)
*
* @param entities List<TabHaobanGroupChatActivityShareBind> 实例对象列表
* @return 影响行数
*/
int insertBatch(@Param("entities") List<TabGroupChatActivityShareBind> entities);
/**
* 批量新增或按主键更新数据(MyBatis原生foreach方法)
*
* @param entities List<TabHaobanGroupChatActivityShareBind> 实例对象列表
* @return 影响行数
* @throws org.springframework.jdbc.BadSqlGrammarException 入参是空List的时候会抛SQL语句错误的异常,请自行校验入参
*/
int insertOrUpdateBatch(@Param("entities") List<TabGroupChatActivityShareBind> entities);
/**
* 修改数据
*
* @param tabGroupChatActivityShareBind 实例对象
......
......@@ -28,9 +28,19 @@ public class TabGroupChatActivityJoin implements Serializable {
*/
private String filterJson;
/**
* 人群回显
*/
private String filterJsonView;
/**
* 序号 从小到大
*/
private Integer index;
/**
* 群活码id
*/
private Long chatHmId;
/**
* 企业ID
*/
......@@ -79,6 +89,14 @@ public class TabGroupChatActivityJoin implements Serializable {
this.filterJson = filterJson;
}
public String getFilterJsonView() {
return filterJsonView;
}
public void setFilterJsonView(String filterJsonView) {
this.filterJsonView = filterJsonView;
}
public Integer getIndex() {
return index;
}
......@@ -87,6 +105,14 @@ public class TabGroupChatActivityJoin implements Serializable {
this.index = index;
}
public Long getChatHmId() {
return chatHmId;
}
public void setChatHmId(Long chatHmId) {
this.chatHmId = chatHmId;
}
public String getEnterpriseId() {
return enterpriseId;
}
......
package com.gic.haoban.manage.service.pojo.bo.chat;
import com.google.common.base.Objects;
import java.io.Serializable;
import java.util.Date;
/**
* 社群邀请有礼奖励规则表(TabHaobanGroupChatActivityReward)实体类
*
* @author makejava
* @since 2024-09-27 16:09:56
*/
public class GroupChatActivityRewardBO implements Serializable {
private static final long serialVersionUID = -78111537762472232L;
/**
* 内容活动id
*/
private Long chatActivityId;
/**
* 奖励阶梯 固定奖励默认1
*/
private Integer inviteLevel;
/**
* 奖励人类型 1邀请人2受邀人
*/
private Integer rewardInvite;
/**
* 奖励类型 1积分2成长值3卡券
*/
private Integer rewardType;
public GroupChatActivityRewardBO(Long chatActivityId, Integer inviteLevel, Integer rewardInvite, Integer rewardType) {
this.chatActivityId = chatActivityId;
this.inviteLevel = inviteLevel;
this.rewardInvite = rewardInvite;
this.rewardType = rewardType;
}
public Long getChatActivityId() {
return chatActivityId;
}
public void setChatActivityId(Long chatActivityId) {
this.chatActivityId = chatActivityId;
}
public Integer getInviteLevel() {
return inviteLevel;
}
public void setInviteLevel(Integer inviteLevel) {
this.inviteLevel = inviteLevel;
}
public Integer getRewardInvite() {
return rewardInvite;
}
public void setRewardInvite(Integer rewardInvite) {
this.rewardInvite = rewardInvite;
}
public Integer getRewardType() {
return rewardType;
}
public void setRewardType(Integer rewardType) {
this.rewardType = rewardType;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
GroupChatActivityRewardBO that = (GroupChatActivityRewardBO) o;
return Objects.equal(chatActivityId, that.chatActivityId) && Objects.equal(inviteLevel, that.inviteLevel) && Objects.equal(rewardInvite, that.rewardInvite) && Objects.equal(rewardType, that.rewardType);
}
@Override
public int hashCode() {
return Objects.hashCode(chatActivityId, inviteLevel, rewardInvite, rewardType);
}
}
package com.gic.haoban.manage.service.service.chat;
import com.gic.haoban.manage.service.entity.chat.TabGroupChatActivity;
import com.gic.haoban.manage.service.entity.chat.TabGroupChatActivityJoin;
import java.util.List;
import java.util.Map;
/**
* 社群邀请有礼入群规则表(TabHaobanGroupChatActivityJoin)表服务接口
*
......@@ -8,4 +14,25 @@ package com.gic.haoban.manage.service.service.chat;
*/
public interface GroupChatActivityJoinService {
/**
* 获取活动的入群规则
* @param chatActivityId
* @return
*/
List<TabGroupChatActivityJoin> listByActivityId(Long chatActivityId);
/**
* 批量获取活动的入群规则
* @param chatActivityIdList
* @return
*/
Map<Long,List<TabGroupChatActivityJoin>> listByActivityIdList(List<Long> chatActivityIdList);
/**
* 保存活动奖励规则
* @param joinList
*/
void saveActivityJoin(TabGroupChatActivity activity, List<TabGroupChatActivityJoin> joinList);
}
package com.gic.haoban.manage.service.service.chat;
import com.gic.haoban.manage.service.entity.chat.TabGroupChatActivityReward;
import java.util.List;
import java.util.Map;
/**
* 社群邀请有礼奖励规则表(TabHaobanGroupChatActivityReward)表服务接口
*
......@@ -8,4 +13,24 @@ package com.gic.haoban.manage.service.service.chat;
*/
public interface GroupChatActivityRewardService {
/**
* 获取活动的奖励规则
* @param chatActivityId
* @return
*/
List<TabGroupChatActivityReward> listByActivityId(Long chatActivityId);
/**
* 批量获取活动的奖励规则
* @param chatActivityIdList
* @return
*/
Map<Long,List<TabGroupChatActivityReward>> listByActivityIdList(List<Long> chatActivityIdList);
/**
* 保存活动奖励规则
* @param rewardList
*/
void saveActivityReward(Long chatActivityId, List<TabGroupChatActivityReward> rewardList);
}
package com.gic.haoban.manage.service.service.chat;
import com.gic.api.base.commons.BasePageInfo;
import com.gic.api.base.commons.BusinessException;
import com.gic.api.base.commons.Page;
import com.gic.haoban.manage.api.dto.chat.GroupChatActivityDTO;
import com.gic.haoban.manage.api.qdto.chat.GroupChatActivityHmQDTO;
import com.gic.haoban.manage.api.qdto.chat.GroupChatActivityQDTO;
import com.gic.haoban.manage.api.qdto.chat.GroupChatActivitySearchQDTO;
import com.gic.haoban.manage.service.entity.chat.TabGroupChatActivity;
import com.gic.haoban.manage.service.entity.chat.TabGroupChatHm;
import java.util.List;
/**
* 社群邀请有礼表(TabHaobanGroupChatActivity)表服务接口
*
......@@ -8,5 +20,97 @@ package com.gic.haoban.manage.service.service.chat;
*/
public interface GroupChatActivityService {
/**
* 保存社群活动
* @param qdto
* @return
* @throws BusinessException
*/
Long saveActivity(GroupChatActivityQDTO qdto) throws BusinessException;
/**
* 获取活动详情
* @param chatActivityId
* @return
*/
GroupChatActivityDTO getActivityDetail(String enterpriseId, Long chatActivityId);
/**
* 删除活动缓存
* @param enterpriseId 企业id
* @param chatActivityId 活动id
*/
void delActivityDetailCache(String enterpriseId,Long chatActivityId);
/**
* 获取活动详情(缓存)
* @param chatActivityId
* @return
*/
GroupChatActivityDTO getActivityDetailCache(String enterpriseId,Long chatActivityId);
/**
* 通过活动id列表获取
* @param enterpriseId 企业id
* @param chatActivityIdList 活动id列表
* @return
*/
List<TabGroupChatActivity> listByActivityIds(String enterpriseId, List<Long> chatActivityIdList);
/**
* 通过活动id列表获取(包含删除的)
* @param enterpriseId
* @param chatActivityIdList
* @return
*/
List<TabGroupChatActivity> listByActivityIdsDel(String enterpriseId, List<Long> chatActivityIdList);
/**
* 分页查询活动列表
* @param enterpriseId 企业id
* @param searchQDTO 搜索条件
* @return
*/
Page<GroupChatActivityDTO> pageActivity(String enterpriseId, GroupChatActivitySearchQDTO searchQDTO, BasePageInfo pageInfo);
/**
* 终止活动
* @param enterpriseId 企业id
* @param chatActivityId 活动id
*/
GroupChatActivityDTO stopActivity(String enterpriseId, Long chatActivityId) throws BusinessException;
/**
* 删除活动
* @param enterpriseId 企业id
* @param chatActivityId 活动id
*/
void delActivity(String enterpriseId, Long chatActivityId) throws BusinessException;
/**
* 更新活动状态
* @param enterpriseId 企业id
* @param chatActivityId 活动id
* @param status 状态
*/
void updateStatusActivity(String enterpriseId, Long chatActivityId,Integer status);
/**
* 获取有效的活动计划列表
* @param enterpriseId 企业id
* @return
*/
List<TabGroupChatActivity> listEffectiveActivity(String enterpriseId);
/**
* 定时活动状态更新
*/
void activityQuartzUpdateStatus();
/**
* 获取入群活码列表
* @param activityHmQDTO
* @return
*/
List<TabGroupChatHm> listHm(GroupChatActivityHmQDTO activityHmQDTO);
}
package com.gic.haoban.manage.service.service.chat;
import com.gic.haoban.manage.service.entity.chat.TabGroupChatActivityShareBind;
import java.util.List;
/**
* 社群邀请有礼邀请人和受邀人绑定表(TabHaobanGroupChatActivityShareBind)表服务接口
*
......@@ -9,4 +13,16 @@ package com.gic.haoban.manage.service.service.chat;
public interface GroupChatActivityShareBindService {
/**
* 绑定分享关系
* @param shareBind
*/
void shareBing(TabGroupChatActivityShareBind shareBind);
/**
* 获取24小时内有效的记录
* @param inviteeUnionId
* @return
*/
List<TabGroupChatActivityShareBind> getLast(String inviteeUnionId);
}
package com.gic.haoban.manage.service.service.chat.impl;
import cn.hutool.core.collection.CollectionUtil;
import com.gic.commons.util.UniqueIdUtils;
import com.gic.haoban.manage.service.context.chat.BusinessManager;
import com.gic.haoban.manage.service.dao.mapper.chat.GroupChatActivityJoinMapper;
import com.gic.haoban.manage.service.entity.chat.TabGroupChatActivity;
import com.gic.haoban.manage.service.entity.chat.TabGroupChatActivityJoin;
import com.gic.haoban.manage.service.service.chat.GroupChatActivityJoinService;
import com.google.common.collect.Lists;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* 社群邀请有礼入群规则表(TabHaobanGroupChatActivityJoin)表服务实现类
......@@ -14,6 +25,62 @@ import javax.annotation.Resource;
*/
@Service("groupChatActivityJoinService")
public class GroupChatActivityJoinServiceImpl implements GroupChatActivityJoinService {
@Resource
@Autowired
private GroupChatActivityJoinMapper groupChatActivityJoinMapper;
@Autowired
private BusinessManager businessManager;
@Override
public List<TabGroupChatActivityJoin> listByActivityId(Long chatActivityId) {
if (chatActivityId == null) {
return new ArrayList<>();
}
List<TabGroupChatActivityJoin> activityRewards =
groupChatActivityJoinMapper.queryByChatActivityIds(Lists.newArrayList(chatActivityId));
return activityRewards;
}
@Override
public Map<Long, List<TabGroupChatActivityJoin>> listByActivityIdList(List<Long> chatActivityIdList) {
if (CollectionUtil.isEmpty(chatActivityIdList)) {
return new HashMap<>();
}
List<TabGroupChatActivityJoin> list = groupChatActivityJoinMapper.queryByChatActivityIds(Lists.newArrayList(chatActivityIdList));
Map<Long, List<TabGroupChatActivityJoin>> map = list.stream().collect(Collectors.groupingBy(TabGroupChatActivityJoin::getChatActivityId));
return map;
}
@Override
public void saveActivityJoin(TabGroupChatActivity activity, List<TabGroupChatActivityJoin> rewardList) {
Long chatActivityId = activity.getChatActivityId();
List<TabGroupChatActivityJoin> oldJoinList = listByActivityId(chatActivityId);
Map<Integer, TabGroupChatActivityJoin> oldRewardMap = oldJoinList.stream().collect(
Collectors.toMap(TabGroupChatActivityJoin::getIndex, v -> v));
rewardList.forEach(rule->{
Integer index = rule.getIndex();
TabGroupChatActivityJoin oldRule = oldRewardMap.get(index);
if (oldRule != null) {
oldRewardMap.remove(index);
rule.setChatActivityJoinId(oldRule.getChatActivityJoinId());
}
Long chatActivityJoinId = rule.getChatActivityJoinId();
if (chatActivityJoinId == null) {
rule.setChatActivityJoinId(UniqueIdUtils.uniqueLong());
groupChatActivityJoinMapper.insert(rule);
}else {
groupChatActivityJoinMapper.update(rule);
}
});
oldRewardMap.forEach((k, v) -> groupChatActivityJoinMapper.deleteById(v.getChatActivityJoinId()));
List<TabGroupChatActivityJoin> newJoinList = listByActivityId(chatActivityId);
//先删除
businessManager.dealMemberTagByActivity(activity,null,true);
for (TabGroupChatActivityJoin activityJoin : newJoinList) {
//处理会员分组
businessManager.dealMemberTagByActivity(activity,activityJoin,false);
}
}
}
package com.gic.haoban.manage.service.service.chat.impl;
import cn.hutool.core.collection.CollectionUtil;
import com.gic.commons.util.UniqueIdUtils;
import com.gic.haoban.manage.service.dao.mapper.chat.GroupChatActivityRewardMapper;
import com.gic.haoban.manage.service.entity.chat.TabGroupChatActivityReward;
import com.gic.haoban.manage.service.pojo.bo.chat.GroupChatActivityRewardBO;
import com.gic.haoban.manage.service.service.chat.GroupChatActivityRewardService;
import com.google.common.collect.Lists;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* 社群邀请有礼奖励规则表(TabHaobanGroupChatActivityReward)表服务实现类
......@@ -14,7 +24,50 @@ import javax.annotation.Resource;
*/
@Service("groupChatActivityRewardService")
public class GroupChatActivityRewardServiceImpl implements GroupChatActivityRewardService {
@Resource
@Autowired
private GroupChatActivityRewardMapper groupChatActivityRewardMapper;
@Override
public List<TabGroupChatActivityReward> listByActivityId(Long chatActivityId) {
if (chatActivityId == null) {
return new ArrayList<>();
}
List<TabGroupChatActivityReward> activityRewards =
groupChatActivityRewardMapper.queryByChatActivityIds(Lists.newArrayList(chatActivityId));
return activityRewards;
}
@Override
public Map<Long, List<TabGroupChatActivityReward>> listByActivityIdList(List<Long> chatActivityIdList) {
if (CollectionUtil.isEmpty(chatActivityIdList)) {
return new HashMap<>();
}
List<TabGroupChatActivityReward> list = groupChatActivityRewardMapper.queryByChatActivityIds(Lists.newArrayList(chatActivityIdList));
Map<Long, List<TabGroupChatActivityReward>> map = list.stream().collect(Collectors.groupingBy(TabGroupChatActivityReward::getChatActivityId));
return map;
}
@Override
public void saveActivityReward(Long chatActivityId, List<TabGroupChatActivityReward> rewardList) {
List<TabGroupChatActivityReward> oldRewardList = listByActivityId(chatActivityId);
Map<GroupChatActivityRewardBO, TabGroupChatActivityReward> oldRewardMap = oldRewardList.stream().collect(
Collectors.toMap(x ->
new GroupChatActivityRewardBO(x.getChatActivityId(), x.getInviteLevel(), x.getRewardInvite(), x.getRewardType()), v -> v));
rewardList.forEach(rule->{
GroupChatActivityRewardBO ruleKey = new GroupChatActivityRewardBO(rule.getChatActivityId(), rule.getInviteLevel(), rule.getRewardInvite(), rule.getRewardType());
TabGroupChatActivityReward oldRule = oldRewardMap.get(ruleKey);
if (oldRule != null) {
oldRewardMap.remove(ruleKey);
rule.setChatActivityRewardId(oldRule.getChatActivityRewardId());
}
Long chatActivityRewardId = rule.getChatActivityRewardId();
if (chatActivityRewardId == null) {
rule.setChatActivityRewardId(UniqueIdUtils.uniqueLong());
groupChatActivityRewardMapper.insert(rule);
}else {
groupChatActivityRewardMapper.update(rule);
}
});
oldRewardMap.forEach((k, v) -> groupChatActivityRewardMapper.deleteById(v.getChatActivityRewardId()));
}
}
package com.gic.haoban.manage.service.service.chat.impl;
import com.alibaba.fastjson.JSON;
import com.gic.commons.util.UniqueIdUtils;
import com.gic.haoban.manage.api.enums.chat.ChatActivityStatusEnum;
import com.gic.haoban.manage.service.dao.mapper.chat.GroupChatActivityMapper;
import com.gic.haoban.manage.service.dao.mapper.chat.GroupChatActivityShareBindMapper;
import com.gic.haoban.manage.service.entity.chat.TabGroupChatActivity;
import com.gic.haoban.manage.service.entity.chat.TabGroupChatActivityShareBind;
import com.gic.haoban.manage.service.service.chat.GroupChatActivityShareBindService;
import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
import java.util.Objects;
/**
* 社群邀请有礼邀请人和受邀人绑定表(TabHaobanGroupChatActivityShareBind)表服务实现类
......@@ -14,7 +25,41 @@ import javax.annotation.Resource;
*/
@Service("groupChatActivityShareBindService")
public class GroupChatActivityShareBindServiceImpl implements GroupChatActivityShareBindService {
@Resource
private static final Logger logger = LogManager.getLogger(GroupChatActivityShareBindService.class);
@Autowired
private GroupChatActivityShareBindMapper groupChatActivityShareBindMapper;
@Autowired
private GroupChatActivityMapper groupChatActivityMapper;
@Override
public void shareBing(TabGroupChatActivityShareBind shareBind) {
logger.info("绑定分享关系参数:{}", JSON.toJSONString(shareBind));
Long chatActivityId = shareBind.getChatActivityId();
String inviteeUnionId = shareBind.getInviteeUnionId();
String inviterMemberId = shareBind.getInviterMemberId();
if (chatActivityId == null || StringUtils.isAnyBlank(inviteeUnionId, inviterMemberId)) {
logger.info("绑定分享关系参数异常");
return;
}
TabGroupChatActivity chatActivity = groupChatActivityMapper.queryById(chatActivityId);
if (chatActivity == null) {
return;
}
Integer status = chatActivity.getStatus();
if (Objects.equals(status, ChatActivityStatusEnum.END.value) || Objects.equals(status, ChatActivityStatusEnum.STOP.value)) {
logger.info("活动已结束");
return;
}
shareBind.setEnterpriseId(chatActivity.getEnterpriseId());
shareBind.setWxEnterpriseId(chatActivity.getWxEnterpriseId());
shareBind.setChatActivityBindId(UniqueIdUtils.uniqueLong());
groupChatActivityShareBindMapper.insert(shareBind);
}
@Override
public List<TabGroupChatActivityShareBind> getLast(String inviteeUnionId) {
return groupChatActivityShareBindMapper.query24Record(inviteeUnionId);
}
}
package com.gic.haoban.manage.service.service.out.impl.chat;
import com.gic.api.base.commons.BasePageInfo;
import com.gic.api.base.commons.BusinessException;
import com.gic.api.base.commons.Page;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.commons.util.EntityUtil;
import com.gic.haoban.manage.api.dto.chat.GroupChatActivityBaseDTO;
import com.gic.haoban.manage.api.dto.chat.GroupChatActivityDTO;
import com.gic.haoban.manage.api.qdto.chat.GroupChatActivityQDTO;
import com.gic.haoban.manage.api.qdto.chat.GroupChatActivitySearchQDTO;
import com.gic.haoban.manage.api.service.chat.GroupChatActivityApiService;
import com.gic.haoban.manage.service.entity.chat.TabGroupChatActivity;
import com.gic.haoban.manage.service.service.chat.GroupChatActivityService;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* Created by wangzubo on 2022/11/1.
*/
@Service("groupChatActivityApiService")
public class GroupChatActivityApiServiceImpl implements GroupChatActivityApiService {
@Autowired
private GroupChatActivityService activityService;
@Override
public ServiceResponse<Long> saveActivity(GroupChatActivityQDTO qdto) {
if (StringUtils.isAnyBlank(
qdto.getEnterpriseId(),
qdto.getWxEnterpriseId(),
qdto.getCreatorId(),
qdto.getCreatorName(),
qdto.getActivityName())) {
return ServiceResponse.failure("500", "参数异常");
}
try {
Long chatActivityId = activityService.saveActivity(qdto);
activityService.delActivityDetailCache(qdto.getEnterpriseId(),chatActivityId);
return ServiceResponse.success(chatActivityId);
} catch (BusinessException e) {
return ServiceResponse.failure(e.getCode(), e.getMessage());
}
}
@Override
public ServiceResponse<GroupChatActivityDTO> getActivityDetail(String enterpriseId, Long chatActivityId) {
if (StringUtils.isBlank(enterpriseId) || chatActivityId == null) {
return ServiceResponse.failure("500", "参数异常");
}
GroupChatActivityDTO activityDetail = activityService.getActivityDetail(enterpriseId, chatActivityId);
return ServiceResponse.success(activityDetail);
}
@Override
public ServiceResponse<GroupChatActivityDTO> getActivityDetailCache(String enterpriseId, Long chatActivityId) {
if (StringUtils.isBlank(enterpriseId) || chatActivityId == null) {
return ServiceResponse.failure("500", "参数异常");
}
GroupChatActivityDTO activityDetail = activityService.getActivityDetailCache(enterpriseId, chatActivityId);
return ServiceResponse.success(activityDetail);
}
@Override
public ServiceResponse<List<GroupChatActivityBaseDTO>> listByActivityIds(String enterpriseId, List<Long> chatActivityIdList) {
if (StringUtils.isBlank(enterpriseId) || CollectionUtils.isEmpty(chatActivityIdList)) {
return ServiceResponse.failure("500", "参数异常");
}
List<TabGroupChatActivity> list = activityService.listByActivityIds(enterpriseId, chatActivityIdList);
return ServiceResponse.success(EntityUtil.changeEntityListNew(GroupChatActivityBaseDTO.class,list));
}
@Override
public ServiceResponse<List<GroupChatActivityBaseDTO>> listByActivityIdsDel(String enterpriseId, List<Long> chatActivityIdList) {
if (StringUtils.isBlank(enterpriseId) || CollectionUtils.isEmpty(chatActivityIdList)) {
return ServiceResponse.failure("500", "参数异常");
}
List<TabGroupChatActivity> list = activityService.listByActivityIdsDel(enterpriseId, chatActivityIdList);
return ServiceResponse.success(EntityUtil.changeEntityListNew(GroupChatActivityBaseDTO.class,list));
}
@Override
public ServiceResponse<Page<GroupChatActivityDTO>> pageActivity(String enterpriseId, GroupChatActivitySearchQDTO searchQDTO, BasePageInfo pageInfo) {
if (StringUtils.isBlank(enterpriseId)) {
return ServiceResponse.failure("500", "参数异常");
}
Page<GroupChatActivityDTO> page = activityService.pageActivity(enterpriseId, searchQDTO, pageInfo);
return ServiceResponse.success(page);
}
@Override
public ServiceResponse<GroupChatActivityDTO> stopActivity(String enterpriseId, Long chatActivityId) {
if (StringUtils.isBlank(enterpriseId) || chatActivityId == null) {
return ServiceResponse.failure("500", "参数异常");
}
try {
GroupChatActivityDTO activityDTO = activityService.stopActivity(enterpriseId, chatActivityId);
activityService.delActivityDetailCache(enterpriseId,chatActivityId);
return ServiceResponse.success(activityDTO);
} catch (BusinessException e) {
return ServiceResponse.failure(e.getCode(), e.getMessage());
}
}
@Override
public ServiceResponse<Void> delActivity(String enterpriseId, Long chatActivityId) {
if (StringUtils.isBlank(enterpriseId) || chatActivityId == null) {
return ServiceResponse.failure("500", "参数异常");
}
try {
activityService.delActivity(enterpriseId, chatActivityId);
activityService.delActivityDetailCache(enterpriseId,chatActivityId);
return ServiceResponse.success();
} catch (BusinessException e) {
return ServiceResponse.failure(e.getCode(), e.getMessage());
}
}
}
package com.gic.haoban.manage.service.service.out.impl.chat;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.commons.util.EntityUtil;
import com.gic.haoban.manage.api.qdto.chat.GroupChatActivityShareBindQDTO;
import com.gic.haoban.manage.api.service.chat.GroupChatActivityShareApiService;
import com.gic.haoban.manage.service.entity.chat.TabGroupChatActivityShareBind;
import com.gic.haoban.manage.service.service.chat.GroupChatActivityShareBindService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service("groupChatActivityShareApiService")
public class GroupChatActivityShareServiceImpl implements GroupChatActivityShareApiService {
@Autowired
private GroupChatActivityShareBindService activityShareBindService;
@Override
public ServiceResponse<Void> shareBing(GroupChatActivityShareBindQDTO shareBind) {
String enterpriseId = shareBind.getEnterpriseId();
Long chatActivityId = shareBind.getChatActivityId();
String inviterMemberId = shareBind.getInviterMemberId();
String inviteeUnionId = shareBind.getInviteeUnionId();
if (chatActivityId == null || StringUtils.isAnyBlank(enterpriseId,inviteeUnionId, inviterMemberId)) {
return ServiceResponse.failure("500","参数异常");
}
TabGroupChatActivityShareBind bind = EntityUtil.changeEntityNew(TabGroupChatActivityShareBind.class, shareBind);
activityShareBindService.shareBing(bind);
return ServiceResponse.success();
}
}
......@@ -28,6 +28,7 @@
<dubbo:service interface="com.gic.haoban.manage.api.service.chat.GroupChatPlanApiService" ref="groupChatPlanApiService" timeout="10000"/>
<dubbo:service interface="com.gic.haoban.manage.api.service.chat.GroupChatHmApiService" ref="groupChatHmApiService" timeout="10000"/>
<dubbo:service interface="com.gic.haoban.manage.api.service.chat.GroupChatApiService" ref="groupChatApiService" timeout="10000"/>
<dubbo:service interface="com.gic.haoban.manage.api.service.chat.GroupChatActivityApiService" ref="groupChatActivityApiService" timeout="10000"/>
<dubbo:service interface="com.gic.haoban.manage.api.service.HaobanCommonMQApiService" ref="haobanCommonMQApiService" timeout="10000"/>
<dubbo:service interface="com.gic.haoban.manage.api.service.hm.WxUserAddLogApiService" ref="wxUserAddLogApiService" timeout="10000"/>
<dubbo:service interface="com.gic.haoban.manage.api.service.KeyDataApiService" ref="keyDataApiService" timeout="10000"/>
......@@ -198,6 +199,7 @@
<dubbo:reference interface="com.gic.wechat.api.service.qywx.QywxExternalUserService" id="qywxExternalUserService"/>
<dubbo:reference interface="com.gic.marketing.api.service.SmsService" id="smsService" timeout="10000" retries="0"/>
<dubbo:reference interface="com.gic.marketing.api.service.AccountOverdueSmsSendService" id="accountOverdueSmsSendService" timeout="10000" retries="0"/>
<dubbo:reference interface="com.gic.marketing.api.service.CouponReferAlarmService" id="couponReferAlarmService" retries="0" check="false"/>
<dubbo:reference interface="com.gic.thirdparty.api.service.VoiceService" id="voiceService" timeout="10000" retries="0"/>
<dubbo:reference interface="com.gic.thirdparty.api.service.CommunicationService" id="communicationService" timeout="10000" retries="0"/>
......@@ -206,6 +208,7 @@
<dubbo:reference interface="com.gic.wechat.api.service.qywx.QywxChatApiService" id="qywxChatApiService" timeout="10000" retries="0"/>
<dubbo:reference interface="com.gic.member.tag.api.service.MemberTagGroupApiService" id="memberTagGroupApiService" timeout="10000" retries="0"/>
<dubbo:reference interface="com.gic.enterprise.api.service.ScreeningDetailService" id="screeningDetailService" timeout="10000" retries="0"/>
<dubbo:reference interface="com.gic.member.tag.api.service.MemberTagBusinessGroupApiService" id="memberTagBusinessGroupApiService" timeout="100000" retries="0" check="false"/>
<dubbo:reference interface="com.gic.wechat.api.service.qywx.QywxOrderApiService" id="qywxOrderApiService" timeout="10000" retries="0"/>
<dubbo:reference id="pay4WXService" interface="com.gic.thirdparty.api.service.Pay4WXService" timeout="10000" retries="0" check="false"/>
......
......@@ -88,15 +88,6 @@
<if test="wxEnterpriseId != null and wxEnterpriseId != ''">
and wx_enterprise_id = #{wxEnterpriseId}
</if>
<if test="createTime != null">
and create_time = #{createTime}
</if>
<if test="updateTime != null">
and update_time = #{updateTime}
</if>
<if test="deleteFlag != null">
and delete_flag = #{deleteFlag}
</if>
</where>
limit #{pageable.offset}, #{pageable.pageSize}
</select>
......@@ -148,67 +139,19 @@
<if test="wxEnterpriseId != null and wxEnterpriseId != ''">
and wx_enterprise_id = #{wxEnterpriseId}
</if>
<if test="createTime != null">
and create_time = #{createTime}
</if>
<if test="updateTime != null">
and update_time = #{updateTime}
</if>
<if test="deleteFlag != null">
and delete_flag = #{deleteFlag}
</if>
</where>
</select>
<!--新增所有列-->
<insert id="insert" keyProperty="chatActivityInviteId" useGeneratedKeys="true">
insert into tab_haoban_group_chat_activity_invite_log(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)
values (#{chatActivityId}, #{inviterMemberId}, #{inviteeMemberId}, #{inviteeUserId}, #{userName}, #{nickName},
insert into tab_haoban_group_chat_activity_invite_log(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)
values (#{chatActivityInviteId},#{chatActivityId}, #{inviterMemberId}, #{inviteeMemberId}, #{inviteeUserId}, #{userName}, #{nickName},
#{groupChatId}, #{inviteType}, #{invalidInviteType}, #{addMemberType}, #{batchNumber}, #{enterpriseId},
#{wxEnterpriseId}, #{createTime}, #{updateTime}, #{deleteFlag})
#{wxEnterpriseId})
</insert>
<insert id="insertBatch" keyProperty="chatActivityInviteId" useGeneratedKeys="true">
insert into tab_haoban_group_chat_activity_invite_log(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)
values
<foreach collection="list" item="item" separator=",">
(#{item.chatActivityId}, #{item.inviterMemberId}, #{item.inviteeMemberId}, #{item.inviteeUserId},
#{item.userName},
#{item.nickName}, #{item.groupChatId}, #{item.inviteType}, #{item.invalidInviteType}, #{item.addMemberType},
#{item.batchNumber}, #{item.enterpriseId}, #{item.wxEnterpriseId}, #{item.createTime}, #{item.updateTime},
#{item.deleteFlag})
</foreach>
</insert>
<!-- 修改所有列 -->
<update id="update">
update tab_haoban_group_chat_activity_invite_log
set chat_activity_id = #{chatActivityId},
inviter_member_id = #{inviterMemberId},
invitee_member_id = #{inviteeMemberId},
invitee_user_id = #{inviteeUserId},
user_name = #{userName},
nick_name = #{nickName},
group_chat_id = #{groupChatId},
invite_type = #{inviteType},
invalid_invite_type = #{invalidInviteType},
add_member_type = #{addMemberType},
batch_number = #{batchNumber},
enterprise_id = #{enterpriseId},
wx_enterprise_id = #{wxEnterpriseId},
create_time = #{createTime},
update_time = #{updateTime},
delete_flag = #{deleteFlag}
where chat_activity_invite_id = #{chatActivityInviteId}
</update>
<!--通过主键删除-->
<delete id="deleteById">
......
......@@ -7,6 +7,7 @@
<result property="memberType" column="member_type" jdbcType="INTEGER"/>
<result property="filterJson" column="filter_json" jdbcType="VARCHAR"/>
<result property="index" column="index" jdbcType="INTEGER"/>
<result property="chatHmId" column="chat_hm_id" jdbcType="INTEGER"/>
<result property="enterpriseId" column="enterprise_id" jdbcType="VARCHAR"/>
<result property="wxEnterpriseId" column="wx_enterprise_id" jdbcType="VARCHAR"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
......@@ -16,15 +17,26 @@
<!--查询单个-->
<select id="queryById" resultMap="TabHaobanGroupChatActivityJoinMap">
select chat_activity_join_id,chat_activity_id,member_type,filter_json,index,enterprise_id,wx_enterprise_id,create_time,update_time,delete_flag
select *
from tab_haoban_group_chat_activity_join
where chat_activity_join_id = #{chatActivityJoinId}
</select>
<select id="queryByChatActivityIds" resultMap="TabHaobanGroupChatActivityJoinMap">
select *
from tab_haoban_group_chat_activity_join
where delete_flag = 0 and chat_activity_id in
<foreach collection="chatActivityIds" open="(" close=")" separator="," item="item">
#{item}
</foreach>
order by `index` asc
</select>
<!--查询指定行数据-->
<select id="queryAllByLimit" resultMap="TabHaobanGroupChatActivityJoinMap">
select
chat_activity_join_id,chat_activity_id,member_type,filter_json,index,enterprise_id,wx_enterprise_id,create_time,update_time,delete_flag
chat_activity_join_id,chat_activity_id,member_type,filter_json,`index`,chat_hm_id,enterprise_id,wx_enterprise_id,create_time,update_time,delete_flag
from tab_haoban_group_chat_activity_join
<where>
<if test="chatActivityJoinId != null">
......@@ -40,7 +52,7 @@
and filter_json = #{filterJson}
</if>
<if test="index != null">
and index = #{index}
and `index` = #{index}
</if>
<if test="enterpriseId != null and enterpriseId != ''">
and enterprise_id = #{enterpriseId}
......@@ -48,15 +60,6 @@
<if test="wxEnterpriseId != null and wxEnterpriseId != ''">
and wx_enterprise_id = #{wxEnterpriseId}
</if>
<if test="createTime != null">
and create_time = #{createTime}
</if>
<if test="updateTime != null">
and update_time = #{updateTime}
</if>
<if test="deleteFlag != null">
and delete_flag = #{deleteFlag}
</if>
</where>
limit #{pageable.offset}, #{pageable.pageSize}
</select>
......@@ -79,7 +82,7 @@
and filter_json = #{filterJson}
</if>
<if test="index != null">
and index = #{index}
and `index` = #{index}
</if>
<if test="enterpriseId != null and enterpriseId != ''">
and enterprise_id = #{enterpriseId}
......@@ -87,46 +90,15 @@
<if test="wxEnterpriseId != null and wxEnterpriseId != ''">
and wx_enterprise_id = #{wxEnterpriseId}
</if>
<if test="createTime != null">
and create_time = #{createTime}
</if>
<if test="updateTime != null">
and update_time = #{updateTime}
</if>
<if test="deleteFlag != null">
and delete_flag = #{deleteFlag}
</if>
</where>
</select>
<!--新增所有列-->
<insert id="insert" keyProperty="chatActivityJoinId" useGeneratedKeys="true">
insert into tab_haoban_group_chat_activity_join(chat_activity_id,member_type,filter_json,index,enterprise_id,wx_enterprise_id,create_time,update_time,delete_flag)
values (#{chatActivityId},#{memberType},#{filterJson},#{index},#{enterpriseId},#{wxEnterpriseId},#{createTime},#{updateTime},#{deleteFlag})
insert into tab_haoban_group_chat_activity_join(chat_activity_joinId,chat_activity_id,member_type,filter_json,`index`,enterprise_id,wx_enterprise_id)
values (#{chatActivityJoinId},#{chatActivityId},#{memberType},#{filterJson},#{index},#{enterpriseId},#{wxEnterpriseId})
</insert>
<insert id="insertBatch" keyProperty="chatActivityJoinId" useGeneratedKeys="true">
insert into
tab_haoban_group_chat_activity_join(chat_activity_id,member_type,filter_json,index,enterprise_id,wx_enterprise_id,create_time,update_time,delete_flag)
values
<foreach collection="entities" item="entity" separator=",">
(#{entity.chatActivityId},#{entity.memberType},#{entity.filterJson},#{entity.index},#{entity.enterpriseId},#{entity.wxEnterpriseId},#{entity.createTime},#{entity.updateTime},#{entity.deleteFlag})
</foreach>
</insert>
<insert id="insertOrUpdateBatch" keyProperty="chatActivityJoinId" useGeneratedKeys="true">
insert into
tab_haoban_group_chat_activity_join(chat_activity_id,member_type,filter_json,index,enterprise_id,wx_enterprise_id,create_time,update_time,delete_flag)
values
<foreach collection="entities" item="entity" separator=",">
(#{entity.chatActivityId},#{entity.memberType},#{entity.filterJson},#{entity.index},#{entity.enterpriseId},#{entity.wxEnterpriseId},#{entity.createTime},#{entity.updateTime},#{entity.deleteFlag})
</foreach>
on duplicate key update
chat_activity_id = values(chat_activity_id)member_type = values(member_type)filter_json =
values(filter_json)index = values(index)enterprise_id = values(enterprise_id)wx_enterprise_id =
values(wx_enterprise_id)create_time = values(create_time)update_time = values(update_time)delete_flag =
values(delete_flag)
</insert>
<!--通过主键修改数据-->
<update id="update">
......@@ -142,7 +114,7 @@
filter_json = #{filterJson},
</if>
<if test="index != null">
index = #{index},
`index` = #{index},
</if>
<if test="enterpriseId != null and enterpriseId != ''">
enterprise_id = #{enterpriseId},
......@@ -150,23 +122,14 @@
<if test="wxEnterpriseId != null and wxEnterpriseId != ''">
wx_enterprise_id = #{wxEnterpriseId},
</if>
<if test="createTime != null">
create_time = #{createTime},
</if>
<if test="updateTime != null">
update_time = #{updateTime},
</if>
<if test="deleteFlag != null">
delete_flag = #{deleteFlag},
</if>
</set>
where chat_activity_join_id = #{chatActivityJoinId}
</update>
<!--通过主键删除-->
<delete id="deleteById">
delete
from tab_haoban_group_chat_activity_join
update
tab_haoban_group_chat_activity_join set delete_flag = 1
where chat_activity_join_id = #{chatActivityJoinId}
</delete>
</mapper>
......
......@@ -145,6 +145,7 @@
<!--新增所有列-->
<insert id="insert" keyProperty="chatActivityRewardDetailId" useGeneratedKeys="true">
insert into tab_haoban_group_chat_activity_reward_detail_log(
chat_activity_reward_detail_id,
chat_activity_reward_id,
chat_activity_id,
activity_reward_id,
......@@ -156,12 +157,10 @@
reward_business_id,
success_flag,
enterprise_id,
wx_enterprise_id,
create_time,
update_time,
delete_flag
wx_enterprise_id
)
values (
#{chatActivityRewardDetailId},
#{chatActivityRewardId},
#{chatActivityId},
#{activityRewardId},
......@@ -173,105 +172,10 @@
#{rewardBusinessId},
#{successFlag},
#{enterpriseId},
#{wxEnterpriseId},
#{createTime},
#{updateTime},
#{deleteFlag}
#{wxEnterpriseId}
)
</insert>
<insert id="insertBatch" keyProperty="chatActivityRewardDetailId" useGeneratedKeys="true">
insert into tab_haoban_group_chat_activity_reward_detail_log(
chat_activity_reward_id,
chat_activity_id,
activity_reward_id,
member_id,
reward_type,
reward_value,
reward_name,
reward_remark,
reward_business_id,
success_flag,
enterprise_id,
wx_enterprise_id,
create_time,
update_time,
delete_flag
)
values
<foreach collection="entities" item="entity" separator=",">
(#{entity.chatActivityRewardId},
#{entity.chatActivityId},
#{entity.activityRewardId},
#{entity.memberId},
#{entity.rewardType},
#{entity.rewardValue},
#{entity.rewardName},
#{entity.rewardRemark},
#{entity.rewardBusinessId},
#{entity.successFlag},
#{entity.enterpriseId},
#{entity.wxEnterpriseId},
#{entity.createTime},
#{entity.updateTime},
#{entity.deleteFlag})
</foreach>
</insert>
<insert id="insertOrUpdateBatch" keyProperty="chatActivityRewardDetailId" useGeneratedKeys="true">
insert into tab_haoban_group_chat_activity_reward_detail_log(
chat_activity_reward_id,
chat_activity_id,
activity_reward_id,
member_id,
reward_type,
reward_value,
reward_name,
reward_remark,
reward_business_id,
success_flag,
enterprise_id,
wx_enterprise_id,
create_time,
update_time,
delete_flag
)
values
<foreach collection="entities" item="entity" separator=",">
(#{entity.chatActivityRewardId},
#{entity.chatActivityId},
#{entity.activityRewardId},
#{entity.memberId},
#{entity.rewardType},
#{entity.rewardValue},
#{entity.rewardName},
#{entity.rewardRemark},
#{entity.rewardBusinessId},
#{entity.successFlag},
#{entity.enterpriseId},
#{entity.wxEnterpriseId},
#{entity.createTime},
#{entity.updateTime},
#{entity.deleteFlag})
</foreach>
on duplicate key update
chat_activity_reward_id = values(chat_activity_reward_id),
chat_activity_id = values(chat_activity_id),
activity_reward_id = values(activity_reward_id),
member_id = values(member_id),
reward_type = values(reward_type),
reward_value = values(reward_value),
reward_name = values(reward_name),
reward_remark = values(reward_remark),
reward_business_id = values(reward_business_id),
success_flag = values(success_flag),
enterprise_id = values(enterprise_id),
wx_enterprise_id = values(wx_enterprise_id),
create_time = values(create_time),
update_time = values(update_time),
delete_flag = values(delete_flag)
</insert>
<!--通过主键修改数据-->
<update id="update">
......@@ -313,15 +217,6 @@
<if test="wxEnterpriseId != null and wxEnterpriseId != ''">
wx_enterprise_id = #{wxEnterpriseId},
</if>
<if test="createTime != null">
create_time = #{createTime},
</if>
<if test="updateTime != null">
update_time = #{updateTime},
</if>
<if test="deleteFlag != null">
delete_flag = #{deleteFlag},
</if>
</set>
where chat_activity_reward_detail_id = #{chatActivityRewardDetailId}
</update>
......
......@@ -103,26 +103,8 @@
<!--新增所有列-->
<insert id="insert" keyProperty="chatActivityRewardId" useGeneratedKeys="true">
insert into tab_haoban_group_chat_activity_reward_log(chat_activity_id, member_id, reward_invite, invite_level, enterprise_id, wx_enterprise_id, create_time, update_time, delete_flag)
values (#{chatActivityId}, #{memberId}, #{rewardInvite}, #{inviteLevel}, #{enterpriseId}, #{wxEnterpriseId}, #{createTime}, #{updateTime}, #{deleteFlag})
</insert>
<insert id="insertBatch" keyProperty="chatActivityRewardId" useGeneratedKeys="true">
insert into tab_haoban_group_chat_activity_reward_log(chat_activity_id, member_id, reward_invite, invite_level, enterprise_id, wx_enterprise_id, create_time, update_time, delete_flag)
values
<foreach collection="entities" item="entity" separator=",">
(#{entity.chatActivityId}, #{entity.memberId}, #{entity.rewardInvite}, #{entity.inviteLevel}, #{entity.enterpriseId}, #{entity.wxEnterpriseId}, #{entity.createTime}, #{entity.updateTime}, #{entity.deleteFlag})
</foreach>
</insert>
<insert id="insertOrUpdateBatch" keyProperty="chatActivityRewardId" useGeneratedKeys="true">
insert into tab_haoban_group_chat_activity_reward_log(chat_activity_id, member_id, reward_invite, invite_level, enterprise_id, wx_enterprise_id, create_time, update_time, delete_flag)
values
<foreach collection="entities" item="entity" separator=",">
(#{entity.chatActivityId}, #{entity.memberId}, #{entity.rewardInvite}, #{entity.inviteLevel}, #{entity.enterpriseId}, #{entity.wxEnterpriseId}, #{entity.createTime}, #{entity.updateTime}, #{entity.deleteFlag})
</foreach>
on duplicate key update
chat_activity_id = values(chat_activity_id), member_id = values(member_id), reward_invite = values(reward_invite), invite_level = values(invite_level), enterprise_id = values(enterprise_id), wx_enterprise_id = values(wx_enterprise_id), create_time = values(create_time), update_time = values(update_time), delete_flag = values(delete_flag)
insert into tab_haoban_group_chat_activity_reward_log(chat_activity_reward_id,chat_activity_id, member_id, reward_invite, invite_level, enterprise_id, wx_enterprise_id)
values (#{chatActivityRewardId},#{chatActivityId}, #{memberId}, #{rewardInvite}, #{inviteLevel}, #{enterpriseId}, #{wxEnterpriseId})
</insert>
......@@ -148,15 +130,6 @@
<if test="wxEnterpriseId != null and wxEnterpriseId != ''">
wx_enterprise_id = #{wxEnterpriseId},
</if>
<if test="createTime != null">
create_time = #{createTime},
</if>
<if test="updateTime != null">
update_time = #{updateTime},
</if>
<if test="deleteFlag != null">
delete_flag = #{deleteFlag},
</if>
</set>
where chat_activity_reward_id = #{chatActivityRewardId}
</update>
......
......@@ -25,6 +25,16 @@
where chat_activity_reward_id = #{chatActivityRewardId}
</select>
<select id="queryByChatActivityIds" resultMap="TabHaobanGroupChatActivityRewardMap">
select chat_activity_reward_id, chat_activity_id, invite_number, invite_level, reward_invite, reward_type, limit_reward, reward_value, reward_name, enterprise_id, wx_enterprise_id, create_time, update_time, delete_flag
from tab_haoban_group_chat_activity_reward
where delete_flag = 0 and chat_activity_id in
<foreach collection="chatActivityIds" open="(" close=")" separator="," item="item">
#{item}
</foreach>
order by reward_invite asc,invite_level asc,reward_type asc
</select>
<!--查询指定行数据-->
<select id="queryAllByLimit" resultMap="TabHaobanGroupChatActivityRewardMap">
select
......@@ -64,15 +74,6 @@
<if test="wxEnterpriseId != null and wxEnterpriseId != ''">
and wx_enterprise_id = #{wxEnterpriseId}
</if>
<if test="createTime != null">
and create_time = #{createTime}
</if>
<if test="updateTime != null">
and update_time = #{updateTime}
</if>
<if test="deleteFlag != null">
and delete_flag = #{deleteFlag}
</if>
</where>
limit #{pageable.offset}, #{pageable.pageSize}
</select>
......@@ -115,40 +116,13 @@
<if test="wxEnterpriseId != null and wxEnterpriseId != ''">
and wx_enterprise_id = #{wxEnterpriseId}
</if>
<if test="createTime != null">
and create_time = #{createTime}
</if>
<if test="updateTime != null">
and update_time = #{updateTime}
</if>
<if test="deleteFlag != null">
and delete_flag = #{deleteFlag}
</if>
</where>
</select>
<!--新增所有列-->
<insert id="insert" keyProperty="chatActivityRewardId" useGeneratedKeys="true">
insert into tab_haoban_group_chat_activity_reward(chat_activity_id, invite_number, invite_level, reward_invite, reward_type, limit_reward, reward_value, reward_name, enterprise_id, wx_enterprise_id, create_time, update_time, delete_flag)
values (#{chatActivityId}, #{inviteNumber}, #{inviteLevel}, #{rewardInvite}, #{rewardType}, #{limitReward}, #{rewardValue}, #{rewardName}, #{enterpriseId}, #{wxEnterpriseId}, #{createTime}, #{updateTime}, #{deleteFlag})
</insert>
<insert id="insertBatch" keyProperty="chatActivityRewardId" useGeneratedKeys="true">
insert into tab_haoban_group_chat_activity_reward(chat_activity_id, invite_number, invite_level, reward_invite, reward_type, limit_reward, reward_value, reward_name, enterprise_id, wx_enterprise_id, create_time, update_time, delete_flag)
values
<foreach collection="entities" item="entity" separator=",">
(#{entity.chatActivityId}, #{entity.inviteNumber}, #{entity.inviteLevel}, #{entity.rewardInvite}, #{entity.rewardType}, #{entity.limitReward}, #{entity.rewardValue}, #{entity.rewardName}, #{entity.enterpriseId}, #{entity.wxEnterpriseId}, #{entity.createTime}, #{entity.updateTime}, #{entity.deleteFlag})
</foreach>
</insert>
<insert id="insertOrUpdateBatch" keyProperty="chatActivityRewardId" useGeneratedKeys="true">
insert into tab_haoban_group_chat_activity_reward(chat_activity_id, invite_number, invite_level, reward_invite, reward_type, limit_reward, reward_value, reward_name, enterprise_id, wx_enterprise_id, create_time, update_time, delete_flag)
values
<foreach collection="entities" item="entity" separator=",">
(#{entity.chatActivityId}, #{entity.inviteNumber}, #{entity.inviteLevel}, #{entity.rewardInvite}, #{entity.rewardType}, #{entity.limitReward}, #{entity.rewardValue}, #{entity.rewardName}, #{entity.enterpriseId}, #{entity.wxEnterpriseId}, #{entity.createTime}, #{entity.updateTime}, #{entity.deleteFlag})
</foreach>
on duplicate key update
chat_activity_id = values(chat_activity_id), invite_number = values(invite_number), invite_level = values(invite_level), reward_invite = values(reward_invite), reward_type = values(reward_type), limit_reward = values(limit_reward), reward_value = values(reward_value), reward_name = values(reward_name), enterprise_id = values(enterprise_id), wx_enterprise_id = values(wx_enterprise_id), create_time = values(create_time), update_time = values(update_time), delete_flag = values(delete_flag)
insert into tab_haoban_group_chat_activity_reward(chat_activity_reward_id,chat_activity_id, invite_number, invite_level, reward_invite, reward_type, limit_reward, reward_value, reward_name, enterprise_id, wx_enterprise_id)
values (#{chatActivityRewardId},#{chatActivityId}, #{inviteNumber}, #{inviteLevel}, #{rewardInvite}, #{rewardType}, #{limitReward}, #{rewardValue}, #{rewardName}, #{enterpriseId}, #{wxEnterpriseId})
</insert>
......@@ -186,23 +160,13 @@
<if test="wxEnterpriseId != null and wxEnterpriseId != ''">
wx_enterprise_id = #{wxEnterpriseId},
</if>
<if test="createTime != null">
create_time = #{createTime},
</if>
<if test="updateTime != null">
update_time = #{updateTime},
</if>
<if test="deleteFlag != null">
delete_flag = #{deleteFlag},
</if>
</set>
where chat_activity_reward_id = #{chatActivityRewardId}
</update>
<!--通过主键删除-->
<delete id="deleteById">
delete
from tab_haoban_group_chat_activity_reward
update tab_haoban_group_chat_activity_reward set delete_flag = 1
where chat_activity_reward_id = #{chatActivityRewardId}
</delete>
</mapper>
......
......@@ -21,6 +21,14 @@
where chat_activity_bind_id = #{chatActivityBindId}
</select>
<select id="query24Record" resultMap="TabHaobanGroupChatActivityShareBindMap">
select chat_activity_bind_id, chat_activity_id, inviter_member_id, invitee_member_id, invitee_union_id, enterprise_id, wx_enterprise_id, create_time, update_time, delete_flag
from tab_haoban_group_chat_activity_share_bind
where delete_flag = 0 and invitee_union_id = #{inviteeUnionId} and create_time > now() - interval 1 day
group by chat_activity_id
order by create_time desc
</select>
<!--查询指定行数据-->
<select id="queryAllByLimit" resultMap="TabHaobanGroupChatActivityShareBindMap">
select
......@@ -48,15 +56,6 @@
<if test="wxEnterpriseId != null and wxEnterpriseId != ''">
and wx_enterprise_id = #{wxEnterpriseId}
</if>
<if test="createTime != null">
and create_time = #{createTime}
</if>
<if test="updateTime != null">
and update_time = #{updateTime}
</if>
<if test="deleteFlag != null">
and delete_flag = #{deleteFlag}
</if>
</where>
limit #{pageable.offset}, #{pageable.pageSize}
</select>
......@@ -87,41 +86,14 @@
<if test="wxEnterpriseId != null and wxEnterpriseId != ''">
and wx_enterprise_id = #{wxEnterpriseId}
</if>
<if test="createTime != null">
and create_time = #{createTime}
</if>
<if test="updateTime != null">
and update_time = #{updateTime}
</if>
<if test="deleteFlag != null">
and delete_flag = #{deleteFlag}
</if>
</where>
</select>
<!--新增所有列-->
<!--新增所有列-->
<insert id="insert" keyProperty="chatActivityBindId" useGeneratedKeys="true">
insert into tab_haoban_group_chat_activity_bind(chat_activity_bind_id, chat_activity_id, inviter_member_id, invitee_member_id, invitee_union_id, enterprise_id, wx_enterprise_id, create_time, update_time, delete_flag)
values (#{chatActivityBindId}, #{chatActivityId}, #{inviterMemberId}, #{inviteeMemberId}, #{inviteeUnionId}, #{enterpriseId}, #{wxEnterpriseId}, #{createTime}, #{updateTime}, #{deleteFlag})
</insert>
<insert id="insertBatch" keyProperty="chatActivityBindId" useGeneratedKeys="true">
insert into tab_haoban_group_chat_activity_bind(chat_activity_bind_id, chat_activity_id, inviter_member_id, invitee_member_id, invitee_union_id, enterprise_id, wx_enterprise_id, create_time, update_time, delete_flag)
values
<foreach collection="entities" item="entity" separator=",">
(#{entity.chatActivityBindId}, #{entity.chatActivityId}, #{entity.inviterMemberId}, #{entity.inviteeMemberId}, #{entity.inviteeUnionId}, #{entity.enterpriseId}, #{entity.wxEnterpriseId}, #{entity.createTime}, #{entity.updateTime}, #{entity.deleteFlag})
</foreach>
</insert>
<insert id="insertOrUpdateBatch" keyProperty="chatActivityBindId" useGeneratedKeys="true">
insert into tab_haoban_group_chat_activity_bind(chat_activity_bind_id, chat_activity_id, inviter_member_id, invitee_member_id, invitee_union_id, enterprise_id, wx_enterprise_id, create_time, update_time, delete_flag)
values
<foreach collection="entities" item="entity" separator=",">
(#{entity.chatActivityBindId}, #{entity.chatActivityId}, #{entity.inviterMemberId}, #{entity.inviteeMemberId}, #{entity.inviteeUnionId}, #{entity.enterpriseId}, #{entity.wxEnterpriseId}, #{entity.createTime}, #{entity.updateTime}, #{entity.deleteFlag})
</foreach>
on duplicate key update
chat_activity_bind_id = values(chat_activity_bind_id), chat_activity_id = values(chat_activity_id), inviter_member_id = values(inviter_member_id), invitee_member_id = values(invitee_member_id), invitee_union_id = values(invitee_union_id), enterprise_id = values(enterprise_id), wx_enterprise_id = values(wx_enterprise_id), create_time = values(create_time), update_time = values(update_time), delete_flag = values(delete_flag)
insert into tab_haoban_group_chat_activity_bind(chat_activity_bind_id,chat_activity_bind_id, chat_activity_id, inviter_member_id, invitee_member_id, invitee_union_id, enterprise_id)
values (#{chatActivityBindId},#{chatActivityBindId}, #{chatActivityId}, #{inviterMemberId}, #{inviteeMemberId}, #{inviteeUnionId}, #{enterpriseId}, #{wxEnterpriseId})
</insert>
<!--通过主键修改数据-->
......@@ -146,15 +118,6 @@
<if test="wxEnterpriseId != null and wxEnterpriseId != ''">
wx_enterprise_id = #{wxEnterpriseId},
</if>
<if test="createTime != null">
create_time = #{createTime},
</if>
<if test="updateTime != null">
update_time = #{updateTime},
</if>
<if test="deleteFlag != null">
delete_flag = #{deleteFlag},
</if>
</set>
where chat_activity_bind_id = #{chatActivityBindId}
</update>
......
......@@ -216,6 +216,11 @@
<artifactId>gic-marketing-api</artifactId>
<version>${gic-marketing-api}</version>
</dependency>
<dependency>
<groupId>com.gic</groupId>
<artifactId>gic-member-tag-api</artifactId>
<version>${gic-member-tag-api}</version>
</dependency>
</dependencies>
<build>
......
package com.gic.haoban.manage.web.log;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
import com.gic.haoban.manage.api.dto.chat.GroupChatActivityDTO;
import com.gic.log.record.bean.GicLogRecordBean;
import com.gic.log.record.service.LogRecordAfterService;
import com.gic.log.record.util.GicLogRecordEvaluationContext;
import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.Objects;
/**
* Created by wangzubo on 2022/11/14.
*/
@Service
public class LogRecordAfterGroupChatActivityServiceImpl extends LogRecordAfterService {
private static final Logger logger = LogManager.getLogger(LogRecordAfterGroupChatActivityServiceImpl.class);
/**
{活动名称-活动id}的
1、活动名称从【XX】修改为【XX】
2、活动时间从2022.10,23修改为2023.10.23
3、活动图片更换
4、活动说明调整
5、分享配置调整
* @param record
*/
@Override
public void deal(GicLogRecordBean record) {
try {
GroupChatActivityDTO oldActivityDTO = GicLogRecordEvaluationContext.getAttribute("oldActivityDTO", GroupChatActivityDTO.class);
GroupChatActivityDTO newActivityDTO = GicLogRecordEvaluationContext.getAttribute("newActivityDTO", GroupChatActivityDTO.class);
logger.info("活动操作前信息 {}", JSON.toJSONString(oldActivityDTO));
logger.info("活动操作后信息 {}", JSON.toJSONString(newActivityDTO));
if (oldActivityDTO == null || newActivityDTO == null) {
record.setStatusFlag(0);
return;
}
String content = StrUtil.format("【{}+{}】",oldActivityDTO.getActivityName(),oldActivityDTO.getChatActivityId());
StringBuilder cdSb = new StringBuilder();
String oldActivityName = oldActivityDTO.getActivityName();
String newActivityName = newActivityDTO.getActivityName();
Date oldStartDate = oldActivityDTO.getStartDate();
Date oldEndDate = oldActivityDTO.getEndDate();
Date newStartDate = newActivityDTO.getStartDate();
Date newEndDate = newActivityDTO.getEndDate();
if (!Objects.equals(oldActivityName,newActivityName)) {
cdSb.append(" ")
.append(StrUtil.format("活动名称从【{}】修改为【{}】",
oldActivityName,
newActivityName));
}
if (!Objects.equals(oldStartDate,newStartDate) || !Objects.equals(oldEndDate,newEndDate)) {
cdSb.append(" ")
.append(StrUtil.format("活动时间从【{}】修改为【{}】",
DateUtil.formatDate(oldStartDate) + "-" + DateUtil.formatDate(oldEndDate),
DateUtil.formatDate(newStartDate) + "-" + DateUtil.formatDate(newEndDate)));
}
String oldActivityDesc = oldActivityDTO.getActivityDesc();
String newActivityDesc = newActivityDTO.getActivityDesc();
if (!Objects.equals(oldActivityDesc,newActivityDesc)) {
cdSb.append(" ")
.append("活动说明调整");
}
String oldActivityImg = oldActivityDTO.getActivityImg();
String oldActivityInviteImg = oldActivityDTO.getActivityInviteImg();
String newActivityImg = newActivityDTO.getActivityImg();
String newActivityInviteImg = newActivityDTO.getActivityInviteImg();
if (!Objects.equals(oldActivityImg,newActivityImg)||
!Objects.equals(oldActivityInviteImg,newActivityInviteImg)
) {
cdSb.append(" ")
.append("活动图片更换");
}
String oldActivityShareTitle = oldActivityDTO.getActivityShareTitle();
String oldActivityPosterImg = oldActivityDTO.getActivityPosterImg();
String oldActivityShareImg = oldActivityDTO.getActivityShareImg();
String newActivityShareTitle = newActivityDTO.getActivityShareTitle();
String newActivityPosterImg = newActivityDTO.getActivityPosterImg();
String newActivityShareImg = newActivityDTO.getActivityShareImg();
if (!Objects.equals(oldActivityShareTitle, newActivityShareTitle) ||
!Objects.equals(oldActivityShareImg, newActivityShareImg) ||
!Objects.equals(oldActivityPosterImg, newActivityPosterImg)) {
cdSb.append(" ")
.append("分享配置调整");
}
String s = cdSb.toString();
if (StringUtils.isBlank(s)) {
GicLogRecordEvaluationContext.noWriteLog();
record.setStatusFlag(0);
}else {
content += s;
}
record.setContent(content);
} catch (Exception e) {
record.setStatusFlag(0);
record.setContent("日志记录异常!");
logger.info("日志记录异常执行失败", e);
}
}
}
package com.gic.haoban.manage.web.qo.chat;
import com.gic.haoban.manage.api.dto.chat.GroupChatActivityDTO;
import java.io.Serializable;
public class GroupChatActivitySaveQO extends GroupChatActivityDTO implements Serializable {
}
package com.gic.haoban.manage.web.qo.chat;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.gic.commons.web.qo.PageQo;
import java.io.Serializable;
import java.util.Date;
@JsonIgnoreProperties(ignoreUnknown = true)
public class GroupChatActivitySearchQO extends PageQo implements Serializable {
private static final long serialVersionUID = 692426229105512689L;
/**
* 搜索内容
*/
private String search;
/**
* 状态1未开始2进行中3已终止4已结束
*/
private Integer status;
/**
* 入群方式 1规则入群2定向入群
*/
private Integer joinType;
/**
* 奖励类型 1定额奖励2阶梯奖励
*/
private Integer inviteRewardType;
/**
* 开始时间
*/
private Date beginDate;
/**
* 结束时间
*/
private Date endDate;
private Integer showSelfFlag = 0;
public String getSearch() {
return search;
}
public void setSearch(String search) {
this.search = search;
}
public Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
public Integer getJoinType() {
return joinType;
}
public void setJoinType(Integer joinType) {
this.joinType = joinType;
}
public Integer getInviteRewardType() {
return inviteRewardType;
}
public void setInviteRewardType(Integer inviteRewardType) {
this.inviteRewardType = inviteRewardType;
}
public Date getBeginDate() {
return beginDate;
}
public void setBeginDate(Date beginDate) {
this.beginDate = beginDate;
}
public Date getEndDate() {
return endDate;
}
public void setEndDate(Date endDate) {
this.endDate = endDate;
}
public Integer getShowSelfFlag() {
return showSelfFlag;
}
public void setShowSelfFlag(Integer showSelfFlag) {
this.showSelfFlag = showSelfFlag;
}
}
package com.gic.haoban.manage.web.vo.chat;
import com.gic.haoban.manage.api.dto.chat.GroupChatActivityDTO;
import com.gic.marketing.api.dto.card.CardStockAndInvalidDTO;
import java.io.Serializable;
import java.util.List;
import java.util.Map;
public class GroupChatActivityVO extends GroupChatActivityDTO implements Serializable {
/**
* 卡券信息Map key:卡券id value:卡券基本信息(包括卡券库存、状态、名称)
*/
private Map<String, CardStockAndInvalidDTO> couponMap;
/**
* 群活码Map
*/
private Map<String,GroupChatHmVO> chatHmMap;
/**
* 人群回显 会员筛选key:searchId,客户分组key:tagGroupList
*/
private List<Map<String, Object>> memberWeightViewList;
public Map<String, CardStockAndInvalidDTO> getCouponMap() {
return couponMap;
}
public void setCouponMap(Map<String, CardStockAndInvalidDTO> couponMap) {
this.couponMap = couponMap;
}
public Map<String, GroupChatHmVO> getChatHmMap() {
return chatHmMap;
}
public void setChatHmMap(Map<String, GroupChatHmVO> chatHmMap) {
this.chatHmMap = chatHmMap;
}
public List<Map<String, Object>> getMemberWeightViewList() {
return memberWeightViewList;
}
public void setMemberWeightViewList(List<Map<String, Object>> memberWeightViewList) {
this.memberWeightViewList = memberWeightViewList;
}
}
......@@ -25,6 +25,7 @@
<dubbo:reference interface="com.gic.haoban.manage.api.service.chat.GroupChatPlanApiService" id="groupChatPlanApiService" timeout="10000"/>
<dubbo:reference interface="com.gic.haoban.manage.api.service.chat.GroupChatApiService" id="groupChatApiService" timeout="10000"/>
<dubbo:reference interface="com.gic.haoban.manage.api.service.chat.GroupChatHmApiService" id="groupChatHmApiService" timeout="10000"/>
<dubbo:reference interface="com.gic.haoban.manage.api.service.chat.GroupChatActivityApiService" id="groupChatActivityApiService" timeout="10000"/>
<dubbo:reference interface="com.gic.haoban.manage.api.service.QwFriendApiService" id="qwFriendApiService" timeout="10000"/>
<dubbo:reference interface="com.gic.haoban.manage.api.service.hm.WxUserAddLogApiService" id="wxUserAddLogApiService" timeout="10000"/>
<dubbo:reference interface="com.gic.member.tag.api.service.MemberTagApiService" id="memberTagApiService" timeout="10000"/>
......@@ -139,5 +140,6 @@
<dubbo:reference interface="com.gic.haoban.manage.api.service.licence.LicenceOrderApiService" id="licenceOrderApiService"/>
<dubbo:reference id="pay4WXService" interface="com.gic.thirdparty.api.service.Pay4WXService" timeout="10000" retries="0" check="false"/>
<dubbo:reference id="appOrderApiService" interface="com.gic.haoban.manage.api.service.licence.AppOrderApiService" timeout="10000" retries="0" check="false"/>
<dubbo:reference id="couponCardService" interface="com.gic.marketing.api.service.CouponCardService" timeout="100000" retries="0" check="false" />
</beans>
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