Commit 2a55f443 by xiongjiangtao

奖励明细

parent 354f66aa
package com.gic.haoban.manage.web.controller.chat;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.gic.api.base.commons.Page;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.commons.webapi.reponse.RestResponse;
import com.gic.enterprise.api.dto.EnterpriseDTO;
import com.gic.enterprise.api.dto.StoreDTO;
import com.gic.enterprise.api.service.EnterpriseService;
import com.gic.haoban.base.api.common.pojo.dto.WebLoginDTO;
import com.gic.haoban.common.utils.AuthWebRequestUtil;
import com.gic.haoban.manage.api.constants.StatisticsApolloKeyConstant;
import com.gic.haoban.manage.api.dto.chat.GroupChatActivityInviteLogDTO;
import com.gic.haoban.manage.api.dto.chat.GroupChatActivityRewardDetailLogDTO;
import com.gic.haoban.manage.api.dto.chat.GroupChatActivityRewardLogDTO;
import com.gic.haoban.manage.api.qdto.chat.GroupChatActivityInviteLogQDTO;
import com.gic.haoban.manage.api.qdto.chat.GroupChatActivityRewardLogQDTO;
......@@ -22,11 +25,16 @@ import com.gic.haoban.manage.web.qo.chat.GroupChatActivityDataInviterDetailReq;
import com.gic.haoban.manage.web.qo.chat.GroupChatActivityDataOverviewReq;
import com.gic.haoban.manage.web.qo.chat.GroupChatActivityDataRewardLevelReq;
import com.gic.haoban.manage.web.vo.chat.*;
import com.gic.member.api.constant.RewardResultTypeEnum;
import com.gic.member.api.dto.MemberDTO;
import com.gic.member.api.dto.MemberDocDTO;
import com.gic.member.api.service.MemberService;
import com.gic.web.common.utils.DataApiUtils;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.common.collect.Sets;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
......@@ -37,6 +45,7 @@ import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Set;
import java.util.stream.Collectors;
/**
......@@ -202,24 +211,69 @@ public class GroupChatActivityDataController {
return RestResponse.successResult(page);
}
List<GroupChatActivityRewardVO> groupChatActivityInviteVOList = groupChatActivityInviteLogPage.getResult().stream().map(groupChatActivityRewardLogDTO -> {
List<GroupChatActivityRewardVO> groupChatActivityInviteVOList = convertToInteractionDetailVO(groupChatActivityInviteLogPage.getResult());
page.setResult(groupChatActivityInviteVOList);
page.setResult(groupChatActivityInviteVOList);
page.setTotalCount(groupChatActivityInviteLogPage.getTotalCount());
page.setTotalPage(groupChatActivityInviteLogPage.getTotalPage());
return RestResponse.successResult(page);
}
/**
* 奖励明细数据转换
*
* @param groupChatActivityRewardLogDTOS
* @return
*/
private List<GroupChatActivityRewardVO> convertToInteractionDetailVO(List<GroupChatActivityRewardLogDTO> groupChatActivityRewardLogDTOS) {
List<String> memberIds = groupChatActivityRewardLogDTOS.stream().map(GroupChatActivityRewardLogDTO::getMemberId).collect(Collectors.toList());
//会员信息
List<MemberDTO> memberDtoList = memberService.getMemberDtoList(memberIds);
//会员map
Map<String, MemberDTO> memberDTOMap = memberDtoList.stream().collect(Collectors.toMap(MemberDTO::getMemberId, m -> m, (m1, m2) -> m2));
return groupChatActivityRewardLogDTOS.stream().map(groupChatActivityRewardLogDTO -> {
GroupChatActivityRewardVO groupChatActivityRewardVO = new GroupChatActivityRewardVO();
BeanUtils.copyProperties(groupChatActivityRewardLogDTO, groupChatActivityRewardVO);
MemberDTO memberDTO = memberDTOMap.get(groupChatActivityRewardLogDTO.getMemberId());
if (Objects.nonNull(memberDTO)) {
groupChatActivityRewardVO.setName(memberDTO.getMemberName());
groupChatActivityRewardVO.setNickName(memberDTO.getThirdNickname());
groupChatActivityRewardVO.setPhoneNumber(memberDTO.getPhoneNumber());
groupChatActivityRewardVO.setMemberDeleteFlag(0);
} else {
groupChatActivityRewardVO.setMemberDeleteFlag(1);
}
if (CollectionUtils.isNotEmpty(groupChatActivityRewardLogDTO.getRewardDetailLogDTOList())) {
List<GroupChatActivityRewardDetailVO> groupChatActivityRewardDetailVOS = groupChatActivityRewardLogDTO.getRewardDetailLogDTOList().stream().map(groupChatActivityRewardDetailLogDTO -> {
GroupChatActivityRewardDetailVO groupChatActivityRewardDetailVO = new GroupChatActivityRewardDetailVO();
BeanUtils.copyProperties(groupChatActivityRewardDetailLogDTO, groupChatActivityRewardDetailVO);
return groupChatActivityRewardDetailVO;
}).collect(Collectors.toList());
groupChatActivityRewardVO.setGroupChatActivityRewardDetailVOList(groupChatActivityRewardDetailVOS);
int integral = 0;
int growth = 0;
List<String> cardList = Lists.newArrayList();
for (GroupChatActivityRewardDetailLogDTO groupChatActivityRewardDetailLogDTO : groupChatActivityRewardLogDTO.getRewardDetailLogDTOList()) {
if (groupChatActivityRewardDetailLogDTO.getRewardType().equals(RewardResultTypeEnum.integral.getType())) {
integral += Integer.parseInt(groupChatActivityRewardDetailLogDTO.getRewardValue());
}
if (groupChatActivityRewardDetailLogDTO.getRewardType().equals(RewardResultTypeEnum.growth.getType())) {
growth += Integer.parseInt(groupChatActivityRewardDetailLogDTO.getRewardValue());
}
if (groupChatActivityRewardDetailLogDTO.getRewardType().equals(RewardResultTypeEnum.coupon.getType())) {
String card = groupChatActivityRewardDetailLogDTO.getRewardName() + "(";
if (groupChatActivityRewardDetailLogDTO.getSuccessFlag() == 1) {
card += groupChatActivityRewardDetailLogDTO.getRewardValue() + ")";
} else {
card += groupChatActivityRewardDetailLogDTO.getRewardRemark() + ")";
}
cardList.add(card);
}
}
groupChatActivityRewardVO.setIntegral(integral);
groupChatActivityRewardVO.setGrowth(growth);
groupChatActivityRewardVO.setCardInfo(StringUtils.join(cardList, "、"));
}
return groupChatActivityRewardVO;
}).collect(Collectors.toList());
page.setResult(groupChatActivityInviteVOList);
page.setResult(groupChatActivityInviteVOList);
page.setTotalCount(groupChatActivityInviteLogPage.getTotalCount());
page.setTotalPage(groupChatActivityInviteLogPage.getTotalPage());
return RestResponse.successResult(page);
}
}
......@@ -28,6 +28,13 @@ public class GroupChatActivityRewardVO implements Serializable {
private String memberId;
/**
* 会员是否删除
* 0 正常
* 1 已删除
*/
private Integer memberDeleteFlag;
/**
* 奖励人类型 1邀请人2受邀人
*/
private Integer rewardInvite;
......@@ -43,9 +50,34 @@ public class GroupChatActivityRewardVO implements Serializable {
private Date createTime;
/**
* 奖励明细 卡券、积分、成长值
* 会员名称
*/
private String name;
/**
* 会员手机
*/
private List<GroupChatActivityRewardDetailVO> groupChatActivityRewardDetailVOList;
private String phoneNumber;
/**
* 会员别名昵称
*/
private String nickName;
/**
* 奖励积分
*/
private Integer integral = 0;
/**
* 奖励成长值
*/
private Integer growth = 0;
/**
* 奖励卡券
*/
private String cardInfo;
public Long getChatActivityRewardLogId() {
return chatActivityRewardLogId;
......@@ -71,6 +103,14 @@ public class GroupChatActivityRewardVO implements Serializable {
this.memberId = memberId;
}
public Integer getMemberDeleteFlag() {
return memberDeleteFlag;
}
public void setMemberDeleteFlag(Integer memberDeleteFlag) {
this.memberDeleteFlag = memberDeleteFlag;
}
public Integer getRewardInvite() {
return rewardInvite;
}
......@@ -95,11 +135,51 @@ public class GroupChatActivityRewardVO implements Serializable {
this.createTime = createTime;
}
public List<GroupChatActivityRewardDetailVO> getGroupChatActivityRewardDetailVOList() {
return groupChatActivityRewardDetailVOList;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPhoneNumber() {
return phoneNumber;
}
public void setPhoneNumber(String phoneNumber) {
this.phoneNumber = phoneNumber;
}
public String getNickName() {
return nickName;
}
public void setNickName(String nickName) {
this.nickName = nickName;
}
public Integer getIntegral() {
return integral;
}
public void setIntegral(Integer integral) {
this.integral = integral;
}
public Integer getGrowth() {
return growth;
}
public void setGrowth(Integer growth) {
this.growth = growth;
}
public String getCardInfo() {
return cardInfo;
}
public void setGroupChatActivityRewardDetailVOList(List<GroupChatActivityRewardDetailVO> groupChatActivityRewardDetailVOList) {
this.groupChatActivityRewardDetailVOList = groupChatActivityRewardDetailVOList;
public void setCardInfo(String cardInfo) {
this.cardInfo = cardInfo;
}
}
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