v1.1: 转赠钻石账单获取处理
This commit is contained in:
@@ -3,12 +3,14 @@ package com.accompany.business.service.record;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import com.accompany.business.dto.clan.AssociateTimeSection;
|
||||
import com.accompany.business.dto.clan.TimeSection;
|
||||
import com.accompany.business.model.DiamondGiveHistory;
|
||||
import com.accompany.business.model.Gift;
|
||||
import com.accompany.business.model.clan.ClanAccountAssociate;
|
||||
import com.accompany.business.model.clan.ClanAssociateTransferRecord;
|
||||
import com.accompany.business.mybatismapper.clan.ClanAssociateTransferRecordMapper;
|
||||
import com.accompany.business.service.clan.ClanAccountAssociateService;
|
||||
import com.accompany.business.service.gift.GiftService;
|
||||
import com.accompany.business.service.purse.DiamondGiveHistoryService;
|
||||
import com.accompany.business.service.room.RoomService;
|
||||
import com.accompany.business.vo.BillSearchVo;
|
||||
import com.accompany.common.constant.Constant;
|
||||
@@ -64,6 +66,8 @@ public class BillRecordService extends ServiceImpl<BillRecordMapper,BillRecord>
|
||||
private ClanAccountAssociateService clanAccountAssociateService;
|
||||
@Autowired
|
||||
private ClanAssociateTransferRecordMapper clanAssociateTransferRecordMapper;
|
||||
@Autowired
|
||||
private DiamondGiveHistoryService diamondGiveHistoryService;
|
||||
|
||||
protected Gson gson = new Gson();
|
||||
|
||||
@@ -247,6 +251,7 @@ public class BillRecordService extends ServiceImpl<BillRecordMapper,BillRecord>
|
||||
objTypes.add(BillObjTypeEnum.ACTIVITY_FORTUNE_ALLO_ALLOCATION_GOLD.getValue());
|
||||
objTypes.add(BillObjTypeEnum.CALL_BATTLE_REWARD.getValue());
|
||||
objTypes.add(BillObjTypeEnum.CP_INVITE_DENY_REFUND.getValue());
|
||||
objTypes.add(BillObjTypeEnum.SEND_DIAMOND_IN.getValue());
|
||||
break;
|
||||
case DIAMOND_OUT:
|
||||
objTypes.add(BillObjTypeEnum.GIFT_ROOM_PAY.getValue());
|
||||
@@ -270,6 +275,7 @@ public class BillRecordService extends ServiceImpl<BillRecordMapper,BillRecord>
|
||||
objTypes.add(BillObjTypeEnum.PURCHASE_CHAT_BUBBLE.getValue());
|
||||
objTypes.add(BillObjTypeEnum.GIVE_CHAT_BUBBLE.getValue());
|
||||
objTypes.add(BillObjTypeEnum.SHIP_ANTICS_PACK.getValue());
|
||||
objTypes.add(BillObjTypeEnum.SEND_DIAMOND_OUT.getValue());
|
||||
break;
|
||||
}
|
||||
List<BillRecord> billRecords = getBillRecords(uid, objTypes, date, pageNo, pageSize);
|
||||
@@ -285,6 +291,9 @@ public class BillRecordService extends ServiceImpl<BillRecordMapper,BillRecord>
|
||||
if(type == BillSearchTypeEnum.CHAT_IN.getValue()){
|
||||
fillGift2SearchVo(searchVos);
|
||||
}
|
||||
if(type == BillSearchTypeEnum.DIAMOND_OUT.getValue()){
|
||||
fillSendDiamondSearchVo(searchVos);
|
||||
}
|
||||
Multimap<Long, BillSearchVo> searchVoMultimap = ArrayListMultimap.create();
|
||||
searchVos.forEach(searchVo -> searchVoMultimap.put(searchVo.getDate(), searchVo));
|
||||
|
||||
@@ -369,6 +378,11 @@ public class BillRecordService extends ServiceImpl<BillRecordMapper,BillRecord>
|
||||
searchVo.setShowStr(showStr);
|
||||
// 礼物收入/支出显示礼物总价值
|
||||
searchVo.setGiftTotalGoldNum(billRecord.getGiftTotalGoldNum());
|
||||
// 转赠钻石需要根据objId查询对应的记录, 以此设置对应的转赠钻石
|
||||
String objId = billRecord.getObjId();
|
||||
if (StringUtils.isNotBlank(objId)) {
|
||||
searchVo.setObjId(objId);
|
||||
}
|
||||
|
||||
Users user = userMap.get(billRecord.getUid());
|
||||
if (user != null) {
|
||||
@@ -424,6 +438,21 @@ public class BillRecordService extends ServiceImpl<BillRecordMapper,BillRecord>
|
||||
}
|
||||
|
||||
|
||||
private void fillSendDiamondSearchVo(List<BillSearchVo> searchVos) {
|
||||
List<Long> recordIds = searchVos.stream().filter(it -> BillObjTypeEnum.SEND_DIAMOND_OUT.getType().equals(it.getObjType())).map(it -> Long.valueOf(it.getObjId())).collect(Collectors.toList());
|
||||
if (CollectionUtils.isEmpty(recordIds)) {
|
||||
return;
|
||||
}
|
||||
Map<Long, DiamondGiveHistory> historyMap = diamondGiveHistoryService.listByIds(recordIds).stream().collect(Collectors.toMap(DiamondGiveHistory::getId, a -> a));
|
||||
searchVos.forEach(searchVo -> {
|
||||
DiamondGiveHistory history = historyMap.get(Long.valueOf(searchVo.getObjId()));
|
||||
if (history != null) {
|
||||
searchVo.setSendDiamondAmount(history.getDiamondNum());
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 关联号查询
|
||||
* @param uid
|
||||
|
@@ -30,4 +30,6 @@ public class BillSearchVo {
|
||||
|
||||
private Long giftTotalGoldNum;
|
||||
|
||||
private String objId;
|
||||
private Long sendDiamondAmount; // 转赠钻石实际赠送钻石数
|
||||
}
|
||||
|
Reference in New Issue
Block a user