Commit 11ec7efa by 王祖波

活动奖励保存修改

parent cad08b94
package com.gic.haoban.manage.api.dto.chat;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.gic.haoban.manage.api.qdto.chat.GroupChatActivityJoinQDTO;
import java.io.Serializable;
......@@ -18,7 +20,7 @@ public class GroupChatActivityBaseDTO implements Serializable {
/**
* 社群活动id
*/
@JsonIgnoreProperties(ignoreUnknown = true)
@JsonSerialize(using = ToStringSerializer.class)
private Long chatActivityId;
/**
* 活动名称
......@@ -79,7 +81,7 @@ public class GroupChatActivityBaseDTO implements Serializable {
/**
* 入群兜底群活码id
*/
@JsonIgnoreProperties(ignoreUnknown = true)
@JsonSerialize(using = ToStringSerializer.class)
private Long joinChatHmId;
/**
* 邀请类型 0不限制1入群前未处于任何企业群聊内算有效邀请2首次加入企业群聊才算有效邀请
......
......@@ -5,6 +5,7 @@ import com.gic.haoban.manage.api.qdto.chat.GroupChatActivityJoinQDTO;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
* 社群邀请有礼表(TabHaobanGroupChatActivity)实体类
......@@ -16,21 +17,21 @@ public class GroupChatActivityDTO extends GroupChatActivityBaseDTO implements Se
private static final long serialVersionUID = 973688857967269973L;
/**
* 奖励规则列表
* 奖励规则map key为奖励邀请人类型
*/
private List<GroupChatActivityRewardDTO> rewardList;
private Map<Integer,List<GroupChatActivityRewardDTO>> rewardMap;
/**
* 入群规则列表
*/
private List<GroupChatActivityJoinDTO> joinList;
public List<GroupChatActivityRewardDTO> getRewardList() {
return rewardList;
public Map<Integer, List<GroupChatActivityRewardDTO>> getRewardMap() {
return rewardMap;
}
public void setRewardList(List<GroupChatActivityRewardDTO> rewardList) {
this.rewardList = rewardList;
public void setRewardMap(Map<Integer, List<GroupChatActivityRewardDTO>> rewardMap) {
this.rewardMap = rewardMap;
}
public List<GroupChatActivityJoinDTO> getJoinList() {
......
package com.gic.haoban.manage.api.dto.chat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.google.common.base.Objects;
import org.apache.commons.collections.CollectionUtils;
import java.io.Serializable;
import java.util.*;
import java.util.stream.Collectors;
/**
* 社群邀请有礼奖励规则表(TabHaobanGroupChatActivityReward)实体类
*
* @author makejava
* @since 2024-09-27 16:09:56
*/
public class GroupChatActivityRewardBaseDTO implements Serializable {
private static final long serialVersionUID = -78111537762472232L;
/**
* 社群活动奖励规则id
*/
@JsonSerialize(using = ToStringSerializer.class)
private Long chatActivityRewardId;
/**
* 内容活动id
*/
@JsonSerialize(using = ToStringSerializer.class)
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;
}
public static List<GroupChatActivityRewardBaseDTO> mapConvert(Map<Integer, List<GroupChatActivityRewardDTO>> rewardMap) {
List<GroupChatActivityRewardBaseDTO> list = new ArrayList<>();
rewardMap.forEach((k,v)->{
for (GroupChatActivityRewardDTO rewardDTO : v) {
List<GroupChatActivityRewardDetailDTO> detailList = rewardDTO.getDetailList();
for (GroupChatActivityRewardDetailDTO detailDTO : detailList) {
GroupChatActivityRewardBaseDTO rewardBaseDTO = new GroupChatActivityRewardBaseDTO();
rewardBaseDTO.setChatActivityRewardId(detailDTO.getChatActivityRewardId());
rewardBaseDTO.setRewardInvite(k);
rewardBaseDTO.setChatActivityId(rewardDTO.getChatActivityId());
rewardBaseDTO.setInviteNumber(rewardDTO.getInviteNumber());
rewardBaseDTO.setInviteLevel(rewardDTO.getInviteLevel());
rewardBaseDTO.setLimitReward(rewardDTO.getLimitReward());
rewardBaseDTO.setRewardType(detailDTO.getRewardType());
rewardBaseDTO.setRewardValue(detailDTO.getRewardValue());
rewardBaseDTO.setRewardName(detailDTO.getRewardName());
list.add(rewardBaseDTO);
}
}
});
return list;
}
public static Map<Integer, List<GroupChatActivityRewardDTO>> reverseMapConvert(List<GroupChatActivityRewardBaseDTO> baseList) {
return baseList.stream()
.collect(Collectors.groupingBy(
GroupChatActivityRewardBaseDTO::getRewardInvite,
Collectors.mapping(baseDTO -> {
GroupChatActivityRewardDTO rewardDTO = new GroupChatActivityRewardDTO();
rewardDTO.setChatActivityId(baseDTO.getChatActivityId());
rewardDTO.setInviteNumber(baseDTO.getInviteNumber());
rewardDTO.setInviteLevel(baseDTO.getInviteLevel());
rewardDTO.setLimitReward(baseDTO.getLimitReward());
rewardDTO.setRewardInvite(baseDTO.getRewardInvite());
GroupChatActivityRewardDetailDTO detailDTO = new GroupChatActivityRewardDetailDTO();
detailDTO.setChatActivityRewardId(baseDTO.getChatActivityRewardId());
detailDTO.setRewardType(baseDTO.getRewardType());
detailDTO.setRewardValue(baseDTO.getRewardValue());
detailDTO.setRewardName(baseDTO.getRewardName());
if (rewardDTO.getDetailList() == null) {
rewardDTO.setDetailList(new ArrayList<>());
}
rewardDTO.getDetailList().add(detailDTO);
return rewardDTO;
}, Collectors.toList())
));
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
GroupChatActivityRewardBaseDTO that = (GroupChatActivityRewardBaseDTO) 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.dto.chat;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.google.common.base.Objects;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* 社群邀请有礼奖励规则表(TabHaobanGroupChatActivityReward)实体类
......@@ -15,14 +15,9 @@ import java.util.Date;
public class GroupChatActivityRewardDTO implements Serializable {
private static final long serialVersionUID = -78111537762472232L;
/**
* 社群活动奖励规则id
*/
@JsonIgnoreProperties(ignoreUnknown = true)
private Long chatActivityRewardId;
/**
* 内容活动id
*/
@JsonIgnoreProperties(ignoreUnknown = true)
@JsonSerialize(using = ToStringSerializer.class)
private Long chatActivityId;
/**
* 奖励邀请人数
......@@ -37,29 +32,15 @@ public class GroupChatActivityRewardDTO implements Serializable {
*/
private Integer rewardInvite;
/**
* 奖励类型 1积分2成长值3卡券
*/
private Integer rewardType;
/**
* 最多奖励数量
*/
private Integer limitReward;
/**
* 奖励内容 积分值 成长值 卡券id
*/
private String rewardValue;
/**
* 奖励名称 卡券名称
* 奖励明细列表
*/
private String rewardName;
private List<GroupChatActivityRewardDetailDTO> detailList;
public Long getChatActivityRewardId() {
return chatActivityRewardId;
}
public void setChatActivityRewardId(Long chatActivityRewardId) {
this.chatActivityRewardId = chatActivityRewardId;
}
public Long getChatActivityId() {
return chatActivityId;
......@@ -93,14 +74,6 @@ public class GroupChatActivityRewardDTO implements Serializable {
this.rewardInvite = rewardInvite;
}
public Integer getRewardType() {
return rewardType;
}
public void setRewardType(Integer rewardType) {
this.rewardType = rewardType;
}
public Integer getLimitReward() {
return limitReward;
}
......@@ -109,33 +82,12 @@ public class GroupChatActivityRewardDTO implements Serializable {
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);
public List<GroupChatActivityRewardDetailDTO> getDetailList() {
return detailList;
}
@Override
public int hashCode() {
return Objects.hashCode(chatActivityId, inviteNumber, inviteLevel, rewardInvite, rewardType, limitReward, rewardValue);
public void setDetailList(List<GroupChatActivityRewardDetailDTO> detailList) {
this.detailList = detailList;
}
}
package com.gic.haoban.manage.api.dto.chat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import java.io.Serializable;
public class GroupChatActivityRewardDetailDTO implements Serializable {
private static final long serialVersionUID = -78111537762472232L;
/**
* 社群活动奖励规则id
*/
@JsonSerialize(using = ToStringSerializer.class)
private Long chatActivityRewardId;
/**
* 奖励类型 1积分2成长值3卡券
*/
private Integer rewardType;
/**
* 奖励内容 积分值 成长值 卡券id(逗号分隔)
*/
private String rewardValue;
/**
* 奖励名称 积分名称 成长值名称 卡券名称(逗号分隔)
*/
private String rewardName;
public Long getChatActivityRewardId() {
return chatActivityRewardId;
}
public void setChatActivityRewardId(Long chatActivityRewardId) {
this.chatActivityRewardId = chatActivityRewardId;
}
public Integer getRewardType() {
return rewardType;
}
public void setRewardType(Integer rewardType) {
this.rewardType = rewardType;
}
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;
}
}
......@@ -5,6 +5,7 @@ import com.gic.haoban.manage.api.dto.chat.GroupChatActivityRewardDTO;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
* 社群邀请有礼表(TabHaobanGroupChatActivity)实体类
......@@ -112,9 +113,9 @@ public class GroupChatActivityQDTO implements Serializable {
private String creatorName;
/**
* 奖励规则列表
* 奖励规则map key为奖励邀请人类型
*/
private List<GroupChatActivityRewardDTO> rewardList;
private Map<Integer,List<GroupChatActivityRewardDTO>> rewardMap;
/**
* 入群规则列表
......@@ -321,12 +322,12 @@ public class GroupChatActivityQDTO implements Serializable {
this.creatorName = creatorName;
}
public List<GroupChatActivityRewardDTO> getRewardList() {
return rewardList;
public Map<Integer, List<GroupChatActivityRewardDTO>> getRewardMap() {
return rewardMap;
}
public void setRewardList(List<GroupChatActivityRewardDTO> rewardList) {
this.rewardList = rewardList;
public void setRewardMap(Map<Integer, List<GroupChatActivityRewardDTO>> rewardMap) {
this.rewardMap = rewardMap;
}
public List<GroupChatActivityJoinQDTO> getJoinList() {
......
......@@ -2,9 +2,7 @@ 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.dto.chat.*;
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;
......@@ -81,9 +79,9 @@ public class BusinessManager {
couponReferAlarmQDTO.setStartTime(activityDTO.getStartDate());
couponReferAlarmQDTO.setEndTime(activityDTO.getLimitDate() != null ? activityDTO.getLimitDate() : activityDTO.getEndDate());
couponReferAlarmQDTO.setCreatorId(activityDTO.getCreatorId());
List<String> couponIdList = activityDTO.getRewardList().stream()
List<String> couponIdList = GroupChatActivityRewardBaseDTO.mapConvert(activityDTO.getRewardMap()).stream()
.filter(x -> Objects.equals(x.getRewardType(), ChatActivityRewardEnum.COUPON.value))
.map(GroupChatActivityRewardDTO::getRewardValue)
.map(GroupChatActivityRewardBaseDTO::getRewardValue)
.flatMap(x -> Arrays.stream(x.split(",")))
.distinct().collect(Collectors.toList());
couponReferAlarmQDTO.setCouponIdList(couponIdList);
......
......@@ -8,7 +8,7 @@ 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 com.gic.haoban.manage.service.pojo.bo.chat.GroupChatHmBO;
import java.util.List;
......@@ -107,10 +107,10 @@ public interface GroupChatActivityService {
*/
void activityQuartzUpdateStatus();
/**
* 获取入群活码列表
* @param activityHmQDTO
* @return
*/
List<TabGroupChatHm> listHm(GroupChatActivityHmQDTO activityHmQDTO);
// /**
// * 获取入群活码列表
// * @param activityHmQDTO
// * @return
// */
// List<GroupChatHmBO> listGroupChatHm(GroupChatActivityHmQDTO activityHmQDTO) throws BusinessException;
}
......@@ -14,6 +14,7 @@ import com.gic.commons.util.UniqueIdUtils;
import com.gic.content.api.enums.activity.ContentActivityStatusEnum;
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.GroupChatActivityRewardBaseDTO;
import com.gic.haoban.manage.api.dto.chat.GroupChatActivityRewardDTO;
import com.gic.haoban.manage.api.enums.chat.ChatActivityJoinEnum;
import com.gic.haoban.manage.api.enums.chat.ChatActivityStatusEnum;
......@@ -22,11 +23,12 @@ import com.gic.haoban.manage.api.qdto.chat.GroupChatActivityJoinQDTO;
import com.gic.haoban.manage.api.qdto.chat.GroupChatActivityQDTO;
import com.gic.haoban.manage.api.qdto.chat.GroupChatActivitySearchQDTO;
import com.gic.haoban.manage.service.context.chat.BusinessManager;
import com.gic.haoban.manage.service.context.chat.JoinRuleManager;
import com.gic.haoban.manage.service.dao.mapper.chat.GroupChatActivityMapper;
import com.gic.haoban.manage.service.entity.chat.TabGroupChatActivity;
import com.gic.haoban.manage.service.entity.chat.TabGroupChatActivityJoin;
import com.gic.haoban.manage.service.entity.chat.TabGroupChatActivityReward;
import com.gic.haoban.manage.service.entity.chat.TabGroupChatHm;
import com.gic.haoban.manage.service.pojo.bo.chat.GroupChatHmBO;
import com.gic.haoban.manage.service.service.chat.GroupChatActivityJoinService;
import com.gic.haoban.manage.service.service.chat.GroupChatActivityRewardService;
import com.gic.haoban.manage.service.service.chat.GroupChatActivityService;
......@@ -66,6 +68,8 @@ public class GroupChatActivityServiceImpl implements GroupChatActivityService {
private GroupChatActivityJoinService groupChatActivityJoinService;
@Autowired
private BusinessManager businessManager;
@Autowired
private JoinRuleManager joinRuleManager;
@Override
......@@ -91,8 +95,9 @@ public class GroupChatActivityServiceImpl implements GroupChatActivityService {
}else {
groupChatActivityMapper.update(activity);
}
List<GroupChatActivityRewardDTO> ruleList = qdto.getRewardList();
List<TabGroupChatActivityReward> activityRewards = EntityUtil.changeEntityListNew(TabGroupChatActivityReward.class, ruleList);
Map<Integer, List<GroupChatActivityRewardDTO>> rewardMap = qdto.getRewardMap();
List<GroupChatActivityRewardBaseDTO> rewardList = GroupChatActivityRewardBaseDTO.mapConvert(rewardMap);
List<TabGroupChatActivityReward> activityRewards = EntityUtil.changeEntityListNew(TabGroupChatActivityReward.class, rewardList);
activityRewards.forEach(rule->{
rule.setEnterpriseId(enterpriseId);
rule.setWxEnterpriseId(wxEnterpriseId);
......@@ -122,8 +127,8 @@ public class GroupChatActivityServiceImpl implements GroupChatActivityService {
String enterpriseId = qdto.getEnterpriseId();
qdto.setEndDate(DateUtil.endOfDay(qdto.getEndDate()));
Date startDate = qdto.getStartDate();
List<GroupChatActivityRewardDTO> rewardList = qdto.getRewardList();
if (CollectionUtils.isEmpty(rewardList)) {
Map<Integer, List<GroupChatActivityRewardDTO>> rewardMap = qdto.getRewardMap();
if (MapUtils.isEmpty(rewardMap)) {
throw new BusinessException("500", "奖励规则不能为空");
}
List<GroupChatActivityJoinQDTO> joinList = qdto.getJoinList();
......@@ -167,10 +172,15 @@ public class GroupChatActivityServiceImpl implements GroupChatActivityService {
if (!Objects.equals(qdto.getInviteRewardType(), inviteRewardType)) {
throw new BusinessException("500", "活动已开始,奖励类型不支持编辑");
}
List<GroupChatActivityRewardDTO> oldRewardList = activity.getRewardList();
if (!CollUtil.isEqualList(oldRewardList, rewardList)) {
Map<Integer, List<GroupChatActivityRewardDTO>> oldRewardMap = activity.getRewardMap();
if (Objects.equals(oldRewardMap.size(), rewardMap.size())) {
throw new BusinessException("500", "活动已开始,奖励规则不支持编辑");
}
for(Map.Entry<Integer, List<GroupChatActivityRewardDTO>> entry : rewardMap.entrySet()){
if (!CollectionUtil.isEqualList(entry.getValue(), oldRewardMap.get(entry.getKey()))) {
throw new BusinessException("500", "活动已开始,奖励规则不支持编辑");
}
}
if (!Objects.equals(qdto.getJoinType(), activity.getJoinType())) {
throw new BusinessException("500", "活动已开始,入群方式不支持编辑");
}
......@@ -213,8 +223,8 @@ public class GroupChatActivityServiceImpl implements GroupChatActivityService {
//组装奖励规则
List<TabGroupChatActivityReward> activityRewards = groupChatActivityRewardService.listByActivityId(chatActivityId);
List<GroupChatActivityRewardDTO> rewardList = EntityUtil.changeEntityListNew(GroupChatActivityRewardDTO.class, activityRewards);
chatActivityDTO.setRewardList(rewardList);
List<GroupChatActivityRewardBaseDTO> rewardList = EntityUtil.changeEntityListNew(GroupChatActivityRewardBaseDTO.class, activityRewards);
chatActivityDTO.setRewardMap(GroupChatActivityRewardBaseDTO.reverseMapConvert(rewardList));
//组装奖励规则
List<TabGroupChatActivityJoin> activityJoins = groupChatActivityJoinService.listByActivityId(chatActivityId);
List<GroupChatActivityJoinDTO> joinList = EntityUtil.changeEntityListNew(GroupChatActivityJoinDTO.class, activityJoins);
......@@ -268,7 +278,8 @@ public class GroupChatActivityServiceImpl implements GroupChatActivityService {
result.forEach(activity->{
List<TabGroupChatActivityReward> activityRewards = rewardMap.get(activity.getChatActivityId());
if (CollectionUtils.isNotEmpty(activityRewards)) {
activity.setRewardList(EntityUtil.changeEntityListNew(GroupChatActivityRewardDTO.class,activityRewards));
List<GroupChatActivityRewardBaseDTO> rewardList = EntityUtil.changeEntityListNew(GroupChatActivityRewardBaseDTO.class, activityRewards);
activity.setRewardMap(GroupChatActivityRewardBaseDTO.reverseMapConvert(rewardList));
}
});
}
......@@ -331,40 +342,46 @@ public class GroupChatActivityServiceImpl implements GroupChatActivityService {
logger.info("处理活动状态:{}",now);
TabGroupChatActivity startSearchQDTO = new TabGroupChatActivity();
startSearchQDTO.setStatus(ChatActivityStatusEnum.NOT_START.value);
startSearchQDTO.setStartDate(DateUtil.beginOfDay(now));
startSearchQDTO.setStartDate(now);
List<TabGroupChatActivity> startList = groupChatActivityMapper.listActivityByDate(startSearchQDTO);
if (CollectionUtils.isNotEmpty(startList)) {
for (TabGroupChatActivity activity : startList) {
updateStatusActivity(activity.getEnterpriseId(),activity.getChatActivityId(),ContentActivityStatusEnum.START.value);
try {
updateStatusActivity(activity.getEnterpriseId(),activity.getChatActivityId(),ContentActivityStatusEnum.START.value);
} catch (Exception e) {
logger.info("处理活动状态异常",e);
}
}
}
TabGroupChatActivity endSearchQDTO = new TabGroupChatActivity();
endSearchQDTO.setStatus(ChatActivityStatusEnum.START.value);
endSearchQDTO.setEndDate(DateUtil.endOfDay(DateUtil.offsetDay(now, -1)));
endSearchQDTO.setEndDate(now);
List<TabGroupChatActivity> endList = groupChatActivityMapper.listActivityByDate(endSearchQDTO);
if (CollectionUtils.isNotEmpty(endList)) {
for (TabGroupChatActivity activity : endList) {
updateStatusActivity(activity.getEnterpriseId(),activity.getChatActivityId(),ContentActivityStatusEnum.END.value);
//处理会员分组
businessManager.dealMemberTagByActivity(activity,null,true);
GroupChatActivityDTO activityDTO = EntityUtil.changeEntityNew(GroupChatActivityDTO.class, activity);
//处理卡券异常通知
businessManager.dealCouponAlarmByActivity(activityDTO,true);
try {
updateStatusActivity(activity.getEnterpriseId(),activity.getChatActivityId(),ContentActivityStatusEnum.END.value);
//处理会员分组
businessManager.dealMemberTagByActivity(activity,null,true);
GroupChatActivityDTO activityDTO = EntityUtil.changeEntityNew(GroupChatActivityDTO.class, activity);
//处理卡券异常通知
businessManager.dealCouponAlarmByActivity(activityDTO,true);
} catch (Exception e) {
logger.info("处理活动状态异常",e);
}
}
}
}
@Override
public List<TabGroupChatHm> listHm(GroupChatActivityHmQDTO activityHmQDTO) {
Long chatActivityId = activityHmQDTO.getChatActivityId();
TabGroupChatActivity chatActivity = groupChatActivityMapper.queryById(chatActivityId);
if (chatActivity == null) {
return Collections.emptyList();
}
Integer joinType = chatActivity.getJoinType();
if (Objects.equals(ChatActivityJoinEnum.RULE.value, joinType)) {
}
return Collections.emptyList();
}
// @Override
// public List<GroupChatHmBO> listGroupChatHm(GroupChatActivityHmQDTO activityHmQDTO) throws BusinessException{
// Long chatActivityId = activityHmQDTO.getChatActivityId();
// String enterpriseId = activityHmQDTO.getEnterpriseId();
// GroupChatActivityDTO chatActivity = getActivityDetail(enterpriseId,chatActivityId);
// if (chatActivity == null) {
// return Collections.emptyList();
// }
// activityHmQDTO.setChatActivity(chatActivity);
// return joinRuleManager.listGroupHm(activityHmQDTO);
// }
}
......@@ -5,17 +5,13 @@ import com.gic.api.base.commons.BasePageInfo;
import com.gic.api.base.commons.Page;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.clerk.api.dto.AuthorizedUser;
import com.gic.commons.util.DateUtil;
import com.gic.commons.util.EntityUtil;
import com.gic.commons.util.PageHelperUtils;
import com.gic.commons.webapi.reponse.RestResponse;
import com.gic.enterprise.api.service.EnterpriseWxaLinkService;
import com.gic.haoban.base.api.common.pojo.dto.WebLoginDTO;
import com.gic.haoban.common.utils.AuthWebRequestUtil;
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.dto.chat.GroupChatHmDTO;
import com.gic.haoban.manage.api.dto.chat.*;
import com.gic.haoban.manage.api.dto.qdto.chat.ChatHmSearchQDTO;
import com.gic.haoban.manage.api.enums.chat.ChatActivityRewardEnum;
import com.gic.haoban.manage.api.qdto.chat.GroupChatActivityQDTO;
......@@ -34,7 +30,6 @@ import com.gic.log.record.anno.GicLogRecord;
import com.gic.log.record.util.GicLogRecordCategoryEnum;
import com.gic.log.record.util.GicLogRecordEvaluationContext;
import com.gic.log.record.util.GicLogRecordOptTypeEnum;
import com.gic.marketing.api.dto.CoupCardDTO;
import com.gic.marketing.api.dto.card.CardStockAndInvalidDTO;
import com.gic.marketing.api.service.CouponCardService;
import com.gic.member.tag.api.dto.MemberTagGroupDTO;
......@@ -127,9 +122,9 @@ public class GroupChatActivityController {
hmIdList.add(joinChatHmId);
}
//构建卡券map
List<String> couponIdList = activityVO.getRewardList().stream()
List<String> couponIdList = GroupChatActivityRewardBaseDTO.mapConvert(activityVO.getRewardMap()).stream()
.filter(x -> Objects.equals(x.getRewardType(), ChatActivityRewardEnum.COUPON.value))
.map(GroupChatActivityRewardDTO::getRewardValue)
.map(GroupChatActivityRewardBaseDTO::getRewardValue)
.flatMap(rewardValue -> Arrays.stream(rewardValue.split(",")))
.distinct().collect(Collectors.toList());
if (CollectionUtils.isNotEmpty(couponIdList)) {
......@@ -149,7 +144,7 @@ public class GroupChatActivityController {
memberWeightView.put("searchId", "GROUP_CHAT_SEARCH_ID_" + joinDTO.getChatActivityJoinId());
} else if (Objects.equals(memberType,1)) {
// 会员分组
memberWeightView.put("tagGroupList", listMemberTagGroupInfoByGoupIds(joinDTO.getFilterJson()));
memberWeightView.put("tagGroupList", listMemberTagGroupInfoByGroupIds(joinDTO.getFilterJson()));
}
activityVO.setMemberWeightViewList(memberWeightViewList);
Long chatHmId = joinDTO.getChatHmId();
......@@ -178,7 +173,7 @@ public class GroupChatActivityController {
}
public List<MemberTagGroupVO> listMemberTagGroupInfoByGoupIds(String tagGroupIds) {
public List<MemberTagGroupVO> listMemberTagGroupInfoByGroupIds(String tagGroupIds) {
List<MemberTagGroupVO> result = new ArrayList<>();
if (StringUtils.isBlank(tagGroupIds)) {
......
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