From 03f624fc43b20e8e84e33feed6e23b8e2f326a24 Mon Sep 17 00:00:00 2001 From: lzm <17817447469@163.com> Date: Thu, 29 Sep 2022 10:46:03 +0800 Subject: [PATCH] =?UTF-8?q?v1.1:=20=E8=B4=A6=E5=8D=95=E8=AE=B0=E5=BD=95?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=A4=BC=E7=89=A9=E6=80=BB=E4=BB=B7=E5=80=BC?= =?UTF-8?q?=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../event/listener/InsertRecordListener.java | 8 ++--- .../listener/WriteCpInviteBillListener.java | 2 +- .../business/service/gift/GiftService.java | 8 ++--- .../service/gift/LuckyBagSendService.java | 2 +- .../service/record/BillRecordService.java | 32 +++++++++++++++++-- .../accompany/sharding/model/BillRecord.java | 2 ++ .../sharding/sqlmappers/BillRecordMapper.xml | 1 + .../business/mq/MyMessageListener.java | 4 +-- .../java/servicetest/ClanServiceTest.java | 2 +- 9 files changed, 46 insertions(+), 15 deletions(-) diff --git a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/event/listener/InsertRecordListener.java b/accompany-business/accompany-business-service/src/main/java/com/accompany/business/event/listener/InsertRecordListener.java index b41802d1e..33134acf9 100644 --- a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/event/listener/InsertRecordListener.java +++ b/accompany-business/accompany-business-service/src/main/java/com/accompany/business/event/listener/InsertRecordListener.java @@ -148,12 +148,12 @@ public class InsertRecordListener implements ApplicationListener 0){ String perNumbillId = billRecordService.insertGiftSendBillRecord(giftMessage.getPerNumUid(),giftMessage.getSendUid(), giftMessage.getRoomUid(),objId, BillObjTypeEnum.ROOM_PERCENTAGE_INCOME,giftMessage.getPerNum(), - giftMessage.getGiftId(),giftMessage.getGiftNum()); + giftMessage.getGiftId(),giftMessage.getGiftNum(),giftMessage.getGoldNum()); if (giftMessage.getRoomAssociate() != null) { associateIncomeTransfer(giftMessage.getPerNumUid(), giftMessage.getSendUid(), giftMessage.getPerNum(), BillObjTypeEnum.ROOM_PERCENTAGE_INCOME.getValue(), giftMessage.getRoomAssociate(), perNumbillId); @@ -268,7 +268,7 @@ public class InsertRecordListener implements ApplicationListener * @param giftNum */ public String insertGiftSendBillRecord(Long uid, Long targetUid, Long roomUid, String objId, BillObjTypeEnum eventEnum, - Double amount, Integer giftId, Integer giftNum) { + Double amount, Integer giftId, Integer giftNum,Long giftTotalGoldNum) { Double rmbAmount = amount * eventEnum.getCurrency().getExchangeRate(); - return insertBillRecord(uid, targetUid, roomUid, objId, eventEnum, amount, rmbAmount, giftId, giftNum); + return insertBillRecordV2(uid, targetUid, roomUid, objId, eventEnum, amount, rmbAmount, giftId, giftNum,null,giftTotalGoldNum); } /** @@ -157,6 +157,34 @@ public class BillRecordService extends ServiceImpl return billRecord.getBillId(); } + private String insertBillRecordV2(Long uid, Long targetUid, Long roomUid, String objId, BillObjTypeEnum eventEnum, + Double amount, Double rmbAmount, Integer giftId, Integer giftNum, String remark, Long giftTotalGoldNum) { + BillTypeEnum billType = eventEnum.getType(); + CurrencyEnum currency = eventEnum.getCurrency(); + BillRecord billRecord = new BillRecord(); + billRecord.setBillId(UUIDUitl.get()); + billRecord.setBillType(billType.getValue()); + billRecord.setUid(uid); + billRecord.setTargetUid(targetUid); + billRecord.setRoomUid(roomUid); + billRecord.setObjId(objId); + billRecord.setObjType(eventEnum.getValue()); + billRecord.setGiftId(giftId); + billRecord.setGiftNum(giftNum); + billRecord.setGiftTotalGoldNum(giftTotalGoldNum); + billRecord.setCurrency(currency.getValue()); + billRecord.setAmount(BigDecimal.valueOf(amount)); + billRecord.setActualAmount(BigDecimal.valueOf(rmbAmount)); + billRecord.setCreateTime(new Date()); + if (StringUtils.isNotBlank(remark)) { + billRecord.setRemark(remark); + } else { + billRecord.setRemark(eventEnum.getDesc()); + } + billRecordMapper.insert(billRecord); + return billRecord.getBillId(); + } + /** * 查询账单并根据时间分组 * diff --git a/accompany-business/accompany-business-sharding/src/main/java/com/accompany/sharding/model/BillRecord.java b/accompany-business/accompany-business-sharding/src/main/java/com/accompany/sharding/model/BillRecord.java index 3badadd79..efd24b70d 100644 --- a/accompany-business/accompany-business-sharding/src/main/java/com/accompany/sharding/model/BillRecord.java +++ b/accompany-business/accompany-business-sharding/src/main/java/com/accompany/sharding/model/BillRecord.java @@ -35,6 +35,8 @@ public class BillRecord{ private Integer giftNum; + private Long giftTotalGoldNum; + private Byte currency; private BigDecimal amount; diff --git a/accompany-business/accompany-business-sharding/src/main/resources/sharding/sqlmappers/BillRecordMapper.xml b/accompany-business/accompany-business-sharding/src/main/resources/sharding/sqlmappers/BillRecordMapper.xml index 9d4d51879..79861cf6e 100644 --- a/accompany-business/accompany-business-sharding/src/main/resources/sharding/sqlmappers/BillRecordMapper.xml +++ b/accompany-business/accompany-business-sharding/src/main/resources/sharding/sqlmappers/BillRecordMapper.xml @@ -10,6 +10,7 @@ + diff --git a/accompany-business/accompany-business-web/src/main/java/com/accompany/business/mq/MyMessageListener.java b/accompany-business/accompany-business-web/src/main/java/com/accompany/business/mq/MyMessageListener.java index d41d8351a..a191bdc6c 100644 --- a/accompany-business/accompany-business-web/src/main/java/com/accompany/business/mq/MyMessageListener.java +++ b/accompany-business/accompany-business-web/src/main/java/com/accompany/business/mq/MyMessageListener.java @@ -64,8 +64,8 @@ public class MyMessageListener { GiftSendRecord giftSendRecord = giftSendRecordService.insertGiftInfo(uid, targetUid, roomUid, roomType, type, giftId, giftNum, totalGoldNum, diamondNum); String objId = giftSendRecord.getSendRecordId().toString(); - billRecordService.insertGiftSendBillRecord(uid, targetUid, roomUid, objId, BillObjTypeEnum.GIFT_ROOM_PAY, goldNum.doubleValue(), giftNum, giftId); - billRecordService.insertGiftSendBillRecord(targetUid, uid, roomUid, objId, BillObjTypeEnum.GIFT_ROOM_INCOME, diamondNum, giftNum, giftId); + billRecordService.insertGiftSendBillRecord(uid, targetUid, roomUid, objId, BillObjTypeEnum.GIFT_ROOM_PAY, goldNum.doubleValue(), giftNum, giftId, totalGoldNum); + billRecordService.insertGiftSendBillRecord(targetUid, uid, roomUid, objId, BillObjTypeEnum.GIFT_ROOM_INCOME, diamondNum, giftNum, giftId, totalGoldNum); } if (type == Constant.SendGiftType.room || type == Constant.SendGiftType.roomToperson) { statRoomCtrbSumService.addAndUpdateStatRoomCtrbSumList(roomUid, uid, totalGoldNum); diff --git a/accompany-business/accompany-business-web/src/test/java/servicetest/ClanServiceTest.java b/accompany-business/accompany-business-web/src/test/java/servicetest/ClanServiceTest.java index 9a05239bf..835d92c80 100644 --- a/accompany-business/accompany-business-web/src/test/java/servicetest/ClanServiceTest.java +++ b/accompany-business/accompany-business-web/src/test/java/servicetest/ClanServiceTest.java @@ -95,7 +95,7 @@ public class ClanServiceTest extends CommonTest{ // 插入账单记录表(接收礼物用户) String billId = billRecordService.insertGiftSendBillRecord(giftMessage.getRecvUid(), giftMessage.getSendUid(), giftMessage.getRoomUid(),objId, inEnum,giftMessage.getDiamondNum().doubleValue(), - giftMessage.getGiftId(),giftMessage.getGiftNum()); + giftMessage.getGiftId(),giftMessage.getGiftNum(),giftMessage.getGoldNum()); if (clanAccountAssociate != null) { associateIncomeTransfer(giftMessage.getRecvUid(), giftMessage.getSendUid(), giftMessage.getPerNum(), inEnum.getValue(), giftMessage.getReciveAssociate(), billId);