diff --git a/accompany-admin/accompany-admin-service/src/main/java/com/accompany/admin/service/api/MyApiService.java b/accompany-admin/accompany-admin-service/src/main/java/com/accompany/admin/service/api/MyApiService.java index 05a010728..a431c0ae4 100644 --- a/accompany-admin/accompany-admin-service/src/main/java/com/accompany/admin/service/api/MyApiService.java +++ b/accompany-admin/accompany-admin-service/src/main/java/com/accompany/admin/service/api/MyApiService.java @@ -16,6 +16,7 @@ import com.accompany.business.model.relation.RelationUser; import com.accompany.business.mybatismapper.DiamondGiveHistoryMapper; import com.accompany.business.mybatismapper.UserGiftWallMapperMgr; import com.accompany.business.mybatismapper.UserYearReportMapper; +import com.accompany.business.service.DiamondStatService; import com.accompany.business.service.activity.WeekStarService; import com.accompany.business.service.apple.IOSRefundV2Service; import com.accompany.business.service.family.FamilyMemberService; @@ -137,6 +138,8 @@ public class MyApiService { private RelationUserServiceImpl relationUserService; @Autowired private UserYearReportMapper userYearReportMapper; + @Autowired + private DiamondStatService diamondStatService; public void refreshRoomMoneyRankList() { List roomUidList = myApiAdminMapper.getExceptionRoomUid(); @@ -561,4 +564,9 @@ public class MyApiService { userYearReportMapper.insertOrUpdate(userYearReport); }); } + + public void diamondStat() { + List partitionIds = List.of(PartitionEnum.ARAB.getId(), PartitionEnum.TURKEY.getId()); + diamondStatService.stat(partitionIds); + } } diff --git a/accompany-admin/accompany-admin-service/src/main/java/com/accompany/admin/service/gift/GiftAdminService.java b/accompany-admin/accompany-admin-service/src/main/java/com/accompany/admin/service/gift/GiftAdminService.java index 573f38f44..bc9532f73 100644 --- a/accompany-admin/accompany-admin-service/src/main/java/com/accompany/admin/service/gift/GiftAdminService.java +++ b/accompany-admin/accompany-admin-service/src/main/java/com/accompany/admin/service/gift/GiftAdminService.java @@ -12,12 +12,8 @@ import com.accompany.business.model.RoomExclusiveGift; import com.accompany.business.model.RoomExclusiveGiftExample; import com.accompany.business.mybatismapper.GiftMapper; import com.accompany.business.mybatismapper.RoomExclusiveGiftMapper; -import com.accompany.business.mybatismapper.UserPurseMapperExpand; -import com.accompany.business.service.gift.GiftSendRecordService; import com.accompany.business.service.prize.PrizeContext; import com.accompany.business.service.prize.PrizeStrategyFactory; -import com.accompany.business.service.purse.UserPurseService; -import com.accompany.business.service.record.BillRecordService; import com.accompany.business.service.room.RoomFreeGiftService; import com.accompany.business.service.room.RoomService; import com.accompany.business.service.user.UsersService; @@ -62,16 +58,8 @@ public class GiftAdminService extends AbstractCoreService { @Autowired private GiftMapper giftMapper; @Autowired - private UserPurseService userPurseService; - @Autowired - private GiftSendRecordService giftSendRecordService; - @Autowired - private BillRecordService billRecordService; - @Autowired private JedisService jedisService; @Autowired - private UserPurseMapperExpand userPurseMapperExpand; - @Autowired private UsersService usersService; @Autowired private RoomExclusiveGiftMapper roomExclusiveGiftMapper; diff --git a/accompany-admin/accompany-admin-web/src/main/java/com/accompany/admin/controller/api/MyApiController.java b/accompany-admin/accompany-admin-web/src/main/java/com/accompany/admin/controller/api/MyApiController.java index ca6e2ed43..e368d6f1b 100644 --- a/accompany-admin/accompany-admin-web/src/main/java/com/accompany/admin/controller/api/MyApiController.java +++ b/accompany-admin/accompany-admin-web/src/main/java/com/accompany/admin/controller/api/MyApiController.java @@ -193,4 +193,13 @@ public class MyApiController { return BusiResult.success(); } + @GetMapping("/diamondStat") + public BusiResult diamondStat(Long roomId) { + if (null == roomId || !roomId.equals(603L)) { + throw new AdminServiceException(BusiStatus.PARAMERROR); + } + myApiService.diamondStat(); + return BusiResult.success(); + } + } diff --git a/accompany-base/accompany-core/src/main/java/com/accompany/core/enumeration/BillDomainTypeEnum.java b/accompany-base/accompany-core/src/main/java/com/accompany/core/enumeration/BillDomainTypeEnum.java new file mode 100644 index 000000000..421a0e13b --- /dev/null +++ b/accompany-base/accompany-core/src/main/java/com/accompany/core/enumeration/BillDomainTypeEnum.java @@ -0,0 +1,36 @@ +package com.accompany.core.enumeration; + +import lombok.Getter; + +@Getter +public enum BillDomainTypeEnum { + + CHARGE(1, "充值"), + WITHDRAW(2, "提现"), + SEND_GIFT(3, "赠送礼物"), + EXCHANGE(4, "兑换"), + GAME_PLAY(5, "玩法"), + ADMIN_OPERATE(6, "后台操作"), + ACTIVITY(7, "运营活动"), + DRESS_UP_SHOP(8, "装扮商城"), + RED_BAG(9, "红包"), + VIP(10, "VIP"), + REFUND(11, "退款"), + TRANSFER(12, "转赠"), + INVITE_REWARD(13, "邀请奖励"), + MINI_GAME(14, "小游戏"), + LUDO_MINI_GAME(15, "LUDO小游戏"), + GAME_PARTNER(16, "游戏陪玩"), + GUILD_USD(17, "公会薪资"), + CP(18, "CP"), + GUILD(19, "公会政策"), + ; + + private int value; + private String desc; + + BillDomainTypeEnum(int value, String desc) { + this.value = value; + this.desc = desc; + } +} diff --git a/accompany-base/accompany-core/src/main/java/com/accompany/core/enumeration/BillObjTypeEnum.java b/accompany-base/accompany-core/src/main/java/com/accompany/core/enumeration/BillObjTypeEnum.java index 475da8ead..a862ca991 100644 --- a/accompany-base/accompany-core/src/main/java/com/accompany/core/enumeration/BillObjTypeEnum.java +++ b/accompany-base/accompany-core/src/main/java/com/accompany/core/enumeration/BillObjTypeEnum.java @@ -13,217 +13,224 @@ import java.util.Optional; @Getter public enum BillObjTypeEnum { - CHARGE( 1, "充值", BillTypeEnum.IN, CurrencyEnum.DIAMOND), + CHARGE( 1, "充值", BillTypeEnum.IN, CurrencyEnum.DIAMOND, BillDomainTypeEnum.CHARGE), - WITHDRAW( 2, "提现", BillTypeEnum.OUT, CurrencyEnum.GOLD), + WITHDRAW( 2, "提现", BillTypeEnum.OUT, CurrencyEnum.GOLD, BillDomainTypeEnum.WITHDRAW), - GIFT_ROOM_PAY( 3, "房间礼物支出", BillTypeEnum.OUT, CurrencyEnum.DIAMOND), + GIFT_ROOM_PAY( 3, "房间礼物支出", BillTypeEnum.OUT, CurrencyEnum.DIAMOND, BillDomainTypeEnum.SEND_GIFT), - GIFT_ROOM_INCOME( 4, "房间收礼物收入", BillTypeEnum.IN, CurrencyEnum.GOLD), + GIFT_ROOM_INCOME( 4, "房间收礼物收入", BillTypeEnum.IN, CurrencyEnum.GOLD, BillDomainTypeEnum.SEND_GIFT), - GIFT_PERSON_PAY( 5, "私聊礼物支出", BillTypeEnum.OUT, CurrencyEnum.DIAMOND), + GIFT_PERSON_PAY( 5, "私聊礼物支出", BillTypeEnum.OUT, CurrencyEnum.DIAMOND, BillDomainTypeEnum.SEND_GIFT), - GIFT_PERSON_INCOME( 6, "私聊礼物收入", BillTypeEnum.IN, CurrencyEnum.GOLD), + GIFT_PERSON_INCOME( 6, "私聊礼物收入", BillTypeEnum.IN, CurrencyEnum.GOLD, BillDomainTypeEnum.SEND_GIFT), - PACKET_DIAMOND_PAY( 7, "钻石红包支出", BillTypeEnum.OUT, CurrencyEnum.DIAMOND), + PACKET_DIAMOND_PAY( 7, "钻石红包支出", BillTypeEnum.OUT, CurrencyEnum.DIAMOND, BillDomainTypeEnum.SEND_GIFT), - PACKET_DIAMOND_INCOME( 8, "钻石红包收入", BillTypeEnum.OUT, CurrencyEnum.CRYSTAL), + PACKET_DIAMOND_INCOME( 8, "钻石红包收入", BillTypeEnum.OUT, CurrencyEnum.CRYSTAL, BillDomainTypeEnum.SEND_GIFT), - PACKET_GIFT_PAY( 9, "礼物红包支出", BillTypeEnum.OUT, CurrencyEnum.DIAMOND), + PACKET_GIFT_PAY( 9, "礼物红包支出", BillTypeEnum.OUT, CurrencyEnum.DIAMOND, BillDomainTypeEnum.SEND_GIFT), - PACKET_GIFT_INCOME( 10, "礼物红包收入", BillTypeEnum.OUT, CurrencyEnum.CRYSTAL), + PACKET_GIFT_INCOME( 10, "礼物红包收入", BillTypeEnum.OUT, CurrencyEnum.CRYSTAL, BillDomainTypeEnum.SEND_GIFT), - ROOM_PERCENTAGE_INCOME( 11, "房间流水抽成收入", BillTypeEnum.IN, CurrencyEnum.GOLD), + ROOM_PERCENTAGE_INCOME( 11, "房间流水抽成收入", BillTypeEnum.IN, CurrencyEnum.GOLD, BillDomainTypeEnum.SEND_GIFT), - EXCHANGE_CRYSTAL_TO_DIAMOND_PAY( 12, "水晶兑换金币支出", BillTypeEnum.OUT, CurrencyEnum.CRYSTAL), + EXCHANGE_CRYSTAL_TO_DIAMOND_PAY( 12, "水晶兑换金币支出", BillTypeEnum.OUT, CurrencyEnum.CRYSTAL, BillDomainTypeEnum.EXCHANGE), - EXCHANGE_CRYSTAL_TO_DIAMOND_INCOME( 13, "水晶兑换金币收入", BillTypeEnum.IN, CurrencyEnum.DIAMOND), + EXCHANGE_CRYSTAL_TO_DIAMOND_INCOME( 13, "水晶兑换金币收入", BillTypeEnum.IN, CurrencyEnum.DIAMOND, BillDomainTypeEnum.EXCHANGE), - EXCHANGE_GOLD_TO_DIAMOND_PAY( 14, "钻石兑换金币支出", BillTypeEnum.OUT, CurrencyEnum.GOLD), + EXCHANGE_GOLD_TO_DIAMOND_PAY( 14, "钻石兑换金币支出", BillTypeEnum.OUT, CurrencyEnum.GOLD, BillDomainTypeEnum.EXCHANGE), - EXCHANGE_GOLD_TO_DIAMOND_INCOME( 15, "钻石兑换金币收入", BillTypeEnum.IN, CurrencyEnum.DIAMOND), + EXCHANGE_GOLD_TO_DIAMOND_INCOME( 15, "钻石兑换金币收入", BillTypeEnum.IN, CurrencyEnum.DIAMOND, BillDomainTypeEnum.EXCHANGE), - EXCHANGE_CRYSTAL_TO_GOLD_PAY( 16, "水晶兑换钻石支出", BillTypeEnum.OUT, CurrencyEnum.CRYSTAL), + EXCHANGE_CRYSTAL_TO_GOLD_PAY( 16, "水晶兑换钻石支出", BillTypeEnum.OUT, CurrencyEnum.CRYSTAL, BillDomainTypeEnum.EXCHANGE), - EXCHANGE_CRYSTAL_TO_GOLD_INCOME( 17, "水晶兑换钻石收入", BillTypeEnum.IN, CurrencyEnum.GOLD), + EXCHANGE_CRYSTAL_TO_GOLD_INCOME( 17, "水晶兑换钻石收入", BillTypeEnum.IN, CurrencyEnum.GOLD, BillDomainTypeEnum.EXCHANGE), - CHARGE_BY_COMPANY_ACCOUNT( 18, "打款至公账充值钻石", BillTypeEnum.IN, CurrencyEnum.DIAMOND), + CHARGE_BY_COMPANY_ACCOUNT( 18, "打款至公账充值钻石", BillTypeEnum.IN, CurrencyEnum.DIAMOND, BillDomainTypeEnum.CHARGE), - BOX_PRIZE_GOLD( 19, "开宝箱获得钻石", BillTypeEnum.IN, CurrencyEnum.DIAMOND), + BOX_PRIZE_GOLD( 19, "开宝箱获得钻石", BillTypeEnum.IN, CurrencyEnum.DIAMOND, BillDomainTypeEnum.GAME_PLAY), - OFFICIAL_DIAMOND_REDUCE( 20, "官方消除金币", BillTypeEnum.OUT, CurrencyEnum.DIAMOND), + OFFICIAL_DIAMOND_REDUCE( 20, "官方消除金币", BillTypeEnum.OUT, CurrencyEnum.DIAMOND, BillDomainTypeEnum.ADMIN_OPERATE), - OFFICIAL_CRYSTAL_REDUCE( 21, "官方消除水晶", BillTypeEnum.OUT, CurrencyEnum.CRYSTAL), + OFFICIAL_CRYSTAL_REDUCE( 21, "官方消除水晶", BillTypeEnum.OUT, CurrencyEnum.CRYSTAL, BillDomainTypeEnum.ADMIN_OPERATE), - OFFICIAL_GOLD_REDUCE( 22, "官方消除钻石", BillTypeEnum.OUT, CurrencyEnum.DIAMOND), + OFFICIAL_GOLD_REDUCE( 22, "官方消除钻石", BillTypeEnum.OUT, CurrencyEnum.DIAMOND, BillDomainTypeEnum.ADMIN_OPERATE), - ACTIVITY_DIAMOND( 23, "活动赠送金币", BillTypeEnum.IN, CurrencyEnum.DIAMOND), + ACTIVITY_DIAMOND( 23, "活动赠送金币", BillTypeEnum.IN, CurrencyEnum.DIAMOND, BillDomainTypeEnum.ACTIVITY), - ACTIVITY_CRYSTAL( 24, "活动赠送水晶", BillTypeEnum.IN, CurrencyEnum.CRYSTAL), + ACTIVITY_CRYSTAL( 24, "活动赠送水晶", BillTypeEnum.IN, CurrencyEnum.CRYSTAL, BillDomainTypeEnum.ACTIVITY), - REJECT_WITHDRAW( 25, "提现驳回钻石返还", BillTypeEnum.IN, CurrencyEnum.GOLD), + REJECT_WITHDRAW( 25, "提现驳回钻石返还", BillTypeEnum.IN, CurrencyEnum.GOLD, BillDomainTypeEnum.WITHDRAW), - OFFICIAL_GOLD_ADD( 26, "官方送金币", BillTypeEnum.IN, CurrencyEnum.DIAMOND), + OFFICIAL_GOLD_ADD( 26, "官方送金币", BillTypeEnum.IN, CurrencyEnum.DIAMOND, BillDomainTypeEnum.ADMIN_OPERATE), - ACTIVITY_PACKET( 27, "活动礼包支出", BillTypeEnum.OUT, CurrencyEnum.DIAMOND), + ACTIVITY_PACKET( 27, "活动礼包支出", BillTypeEnum.OUT, CurrencyEnum.DIAMOND, BillDomainTypeEnum.ACTIVITY), - ACTIVITY_GOLD( 29, "活动赠送钻石", BillTypeEnum.IN, CurrencyEnum.GOLD), + ACTIVITY_GOLD( 29, "活动赠送钻石", BillTypeEnum.IN, CurrencyEnum.GOLD, BillDomainTypeEnum.ACTIVITY), - BUY_BOX_KEY( 30, "购买玩法门票支出", BillTypeEnum.OUT, CurrencyEnum.DIAMOND), + BUY_BOX_KEY( 30, "购买玩法门票支出", BillTypeEnum.OUT, CurrencyEnum.DIAMOND, BillDomainTypeEnum.GAME_PLAY), - PURCHASE_CAR_GOODS( 31, "购买座驾", BillTypeEnum.OUT, CurrencyEnum.DIAMOND), + PURCHASE_CAR_GOODS( 31, "购买座驾", BillTypeEnum.OUT, CurrencyEnum.DIAMOND, BillDomainTypeEnum.DRESS_UP_SHOP), - GIVE_CAR_GOODS( 32, "座驾赠送", BillTypeEnum.OUT, CurrencyEnum.DIAMOND), + GIVE_CAR_GOODS( 32, "座驾赠送", BillTypeEnum.OUT, CurrencyEnum.DIAMOND, BillDomainTypeEnum.DRESS_UP_SHOP), - INTER_SEND_DIAMOND( 35, "官方送钻石", BillTypeEnum.IN, CurrencyEnum.GOLD), + INTER_SEND_DIAMOND( 35, "官方送钻石", BillTypeEnum.IN, CurrencyEnum.GOLD, BillDomainTypeEnum.ADMIN_OPERATE), - SEND_GOLD_IN( 36, "转赠钻石收入", BillTypeEnum.IN, CurrencyEnum.DIAMOND), + SEND_GOLD_IN( 36, "转赠钻石收入", BillTypeEnum.IN, CurrencyEnum.DIAMOND, BillDomainTypeEnum.TRANSFER), - SEND_GOLD_OUT( 37, "转赠钻石支出", BillTypeEnum.OUT, CurrencyEnum.DIAMOND), + SEND_GOLD_OUT( 37, "转赠钻石支出", BillTypeEnum.OUT, CurrencyEnum.DIAMOND, BillDomainTypeEnum.TRANSFER), - INTER_SEND_CRYSTAL( 38, "官方送水晶", BillTypeEnum.IN, CurrencyEnum.CRYSTAL), + INTER_SEND_CRYSTAL( 38, "官方送水晶", BillTypeEnum.IN, CurrencyEnum.CRYSTAL, BillDomainTypeEnum.ADMIN_OPERATE), - REDPACKET_ROOM( 39, "发出房间红包", BillTypeEnum.OUT, CurrencyEnum.DIAMOND), - REDPACKET_SERVER( 40, "发出全服红包", BillTypeEnum.OUT, CurrencyEnum.DIAMOND), - REDPACKET_ROOM_BACK( 41, "房间红包退款", BillTypeEnum.IN, CurrencyEnum.DIAMOND), - REDPACKET_SERVER_BACK( 42, "全服红包退款", BillTypeEnum.IN, CurrencyEnum.DIAMOND), - REDPACKET_ROOM_GET( 43, "收到房间红包", BillTypeEnum.IN, CurrencyEnum.DIAMOND), - REDPACKET_SERVER_GET( 44, "收到全服红包", BillTypeEnum.IN, CurrencyEnum.DIAMOND), - ACTIVITY_DIAMOND_OUT( 45, "活动支出金币", BillTypeEnum.OUT, CurrencyEnum.DIAMOND), + REDPACKET_ROOM( 39, "发出房间红包", BillTypeEnum.OUT, CurrencyEnum.DIAMOND, BillDomainTypeEnum.RED_BAG), + REDPACKET_SERVER( 40, "发出全服红包", BillTypeEnum.OUT, CurrencyEnum.DIAMOND, BillDomainTypeEnum.RED_BAG), + REDPACKET_ROOM_BACK( 41, "房间红包退款", BillTypeEnum.IN, CurrencyEnum.DIAMOND, BillDomainTypeEnum.RED_BAG), + REDPACKET_SERVER_BACK( 42, "全服红包退款", BillTypeEnum.IN, CurrencyEnum.DIAMOND, BillDomainTypeEnum.RED_BAG), + REDPACKET_ROOM_GET( 43, "收到房间红包", BillTypeEnum.IN, CurrencyEnum.DIAMOND, BillDomainTypeEnum.RED_BAG), + REDPACKET_SERVER_GET( 44, "收到全服红包", BillTypeEnum.IN, CurrencyEnum.DIAMOND, BillDomainTypeEnum.RED_BAG), - TARO_CHARGE( 59, "塔罗充值", BillTypeEnum.IN, CurrencyEnum.DIAMOND), + ACTIVITY_DIAMOND_OUT( 45, "活动支出金币", BillTypeEnum.OUT, CurrencyEnum.DIAMOND, BillDomainTypeEnum.ACTIVITY), - FRIST_CHARGE_REWARD( 62, "首充激励奖励金币", BillTypeEnum.IN, CurrencyEnum.DIAMOND), + TARO_CHARGE( 59, "塔罗充值", BillTypeEnum.IN, CurrencyEnum.DIAMOND, BillDomainTypeEnum.CHARGE), - CALL_BATTLE( 66, "守护星球礼包支出", BillTypeEnum.OUT, CurrencyEnum.DIAMOND), - CALL_BATTLE_REWARD( 67, "守护星球奖励金币", BillTypeEnum.IN, CurrencyEnum.DIAMOND), + FRIST_CHARGE_REWARD( 62, "首充激励奖励金币", BillTypeEnum.IN, CurrencyEnum.DIAMOND, BillDomainTypeEnum.CHARGE), - OPEN_VIP( 68, "开通贵族", BillTypeEnum.OUT, CurrencyEnum.DIAMOND), + CALL_BATTLE( 66, "守护星球礼包支出", BillTypeEnum.OUT, CurrencyEnum.DIAMOND, BillDomainTypeEnum.GAME_PLAY), + CALL_BATTLE_REWARD( 67, "守护星球奖励金币", BillTypeEnum.IN, CurrencyEnum.DIAMOND, BillDomainTypeEnum.GAME_PLAY), - HALL_OWNER_SINGLE_ROOM_EARN( 69, "会长个播房流水分成", BillTypeEnum.IN, CurrencyEnum.CRYSTAL), + OPEN_VIP( 68, "开通贵族", BillTypeEnum.OUT, CurrencyEnum.DIAMOND, BillDomainTypeEnum.VIP), - SEEK_ELFIN_PAYMENT( 74, "幸运塔罗支付", BillTypeEnum.OUT, CurrencyEnum.DIAMOND), + HALL_OWNER_SINGLE_ROOM_EARN( 69, "会长个播房流水分成", BillTypeEnum.IN, CurrencyEnum.CRYSTAL, BillDomainTypeEnum.SEND_GIFT), - REFUND_REDUCE_DIAMOND( 75, "退款扣除金币", BillTypeEnum.OUT, CurrencyEnum.DIAMOND), - REFUND_REDUCE_CRYSTAL( 76, "退款扣除水晶", BillTypeEnum.OUT, CurrencyEnum.CRYSTAL), - REFUND_REDUCE_GOLD( 77, "退款扣除钻石", BillTypeEnum.OUT, CurrencyEnum.GOLD), + SEEK_ELFIN_PAYMENT( 74, "幸运塔罗支付", BillTypeEnum.OUT, CurrencyEnum.DIAMOND, BillDomainTypeEnum.ACTIVITY), - PURCHASE_HEADWEAR( 78, "购买头饰", BillTypeEnum.OUT, CurrencyEnum.DIAMOND), - GIVE_HEADWEAR( 79, "赠送用户头饰", BillTypeEnum.OUT, CurrencyEnum.DIAMOND), - PURCHASE_NAMEPLATE( 80, "购买铭牌", BillTypeEnum.OUT, CurrencyEnum.DIAMOND), - GIVE_NAMEPLATE( 81, "赠送用户铭牌", BillTypeEnum.OUT, CurrencyEnum.DIAMOND), - PURCHASE_INFO_CARD( 82, "购买资料卡", BillTypeEnum.OUT, CurrencyEnum.DIAMOND), - GIVE_INFO_CARD( 83, "赠送用户资料卡", BillTypeEnum.OUT, CurrencyEnum.DIAMOND), - PURCHASE_CHAT_BUBBLE( 84, "购买聊天气泡", BillTypeEnum.OUT, CurrencyEnum.DIAMOND), - GIVE_CHAT_BUBBLE( 85, "赠送用户聊天气泡", BillTypeEnum.OUT, CurrencyEnum.DIAMOND), + REFUND_REDUCE_DIAMOND( 75, "退款扣除金币", BillTypeEnum.OUT, CurrencyEnum.DIAMOND, BillDomainTypeEnum.REFUND), + REFUND_REDUCE_CRYSTAL( 76, "退款扣除水晶", BillTypeEnum.OUT, CurrencyEnum.CRYSTAL, BillDomainTypeEnum.REFUND), + REFUND_REDUCE_GOLD( 77, "退款扣除钻石", BillTypeEnum.OUT, CurrencyEnum.GOLD, BillDomainTypeEnum.REFUND), - SHIP_ANTICS_PACK( 86, "航海冒险礼包支出", BillTypeEnum.OUT, CurrencyEnum.DIAMOND), + PURCHASE_HEADWEAR( 78, "购买头饰", BillTypeEnum.OUT, CurrencyEnum.DIAMOND, BillDomainTypeEnum.DRESS_UP_SHOP), + GIVE_HEADWEAR( 79, "赠送用户头饰", BillTypeEnum.OUT, CurrencyEnum.DIAMOND, BillDomainTypeEnum.DRESS_UP_SHOP), + PURCHASE_NAMEPLATE( 80, "购买铭牌", BillTypeEnum.OUT, CurrencyEnum.DIAMOND, BillDomainTypeEnum.DRESS_UP_SHOP), + GIVE_NAMEPLATE( 81, "赠送用户铭牌", BillTypeEnum.OUT, CurrencyEnum.DIAMOND, BillDomainTypeEnum.DRESS_UP_SHOP), + PURCHASE_INFO_CARD( 82, "购买资料卡", BillTypeEnum.OUT, CurrencyEnum.DIAMOND, BillDomainTypeEnum.DRESS_UP_SHOP), + GIVE_INFO_CARD( 83, "赠送用户资料卡", BillTypeEnum.OUT, CurrencyEnum.DIAMOND, BillDomainTypeEnum.DRESS_UP_SHOP), + PURCHASE_CHAT_BUBBLE( 84, "购买聊天气泡", BillTypeEnum.OUT, CurrencyEnum.DIAMOND, BillDomainTypeEnum.DRESS_UP_SHOP), + GIVE_CHAT_BUBBLE( 85, "赠送用户聊天气泡", BillTypeEnum.OUT, CurrencyEnum.DIAMOND, BillDomainTypeEnum.DRESS_UP_SHOP), - ACTIVITY_LUCKY_SEA_DRAW( 87, "星级厨房抽奖", BillTypeEnum.OUT, CurrencyEnum.DIAMOND), - ACTIVITY_LUCKY_SEA_DIAMOND_IN( 88, "星级厨房奖励", BillTypeEnum.IN, CurrencyEnum.DIAMOND), + SHIP_ANTICS_PACK( 86, "航海冒险礼包支出", BillTypeEnum.OUT, CurrencyEnum.DIAMOND, BillDomainTypeEnum.GAME_PLAY), - SEND_DIAMOND_IN( 89, "转赠金币收入", BillTypeEnum.IN, CurrencyEnum.DIAMOND), - SEND_DIAMOND_OUT( 90, "转赠金币支出", BillTypeEnum.OUT, CurrencyEnum.DIAMOND), - RECEIVE_USER_GIFT( 91, "转赠礼物收入", BillTypeEnum.IN, CurrencyEnum.DIAMOND), - CLAN_GOLD_SETTLEMENT_OUT( 92, "公会钻石结算支出", BillTypeEnum.OUT, CurrencyEnum.GOLD), - CLAN_GOLD_SETTLEMENT_IN( 93, "公会钻石结算收入", BillTypeEnum.IN, CurrencyEnum.GOLD), - JOIN_CLAN_CLEAR_GOLD_OUT( 94, "加入公会钻石清零", BillTypeEnum.OUT, CurrencyEnum.GOLD), - ACTIVITY_NEW_YEAR_FIREWORK_DRAW( 95, "新年烟花抽奖", BillTypeEnum.OUT, CurrencyEnum.DIAMOND), + ACTIVITY_LUCKY_SEA_DRAW( 87, "星级厨房抽奖", BillTypeEnum.OUT, CurrencyEnum.DIAMOND, BillDomainTypeEnum.GAME_PLAY), + ACTIVITY_LUCKY_SEA_DIAMOND_IN( 88, "星级厨房奖励", BillTypeEnum.IN, CurrencyEnum.DIAMOND, BillDomainTypeEnum.GAME_PLAY), - SEEK_ELFIN_REWARD_DIAMOND( 96, "幸运塔罗中奖奖励", BillTypeEnum.IN, CurrencyEnum.DIAMOND), + SEND_DIAMOND_IN( 89, "转赠金币收入", BillTypeEnum.IN, CurrencyEnum.DIAMOND, BillDomainTypeEnum.TRANSFER), + SEND_DIAMOND_OUT( 90, "转赠金币支出", BillTypeEnum.OUT, CurrencyEnum.DIAMOND, BillDomainTypeEnum.TRANSFER), + RECEIVE_USER_GIFT( 91, "转赠礼物收入", BillTypeEnum.IN, CurrencyEnum.DIAMOND, BillDomainTypeEnum.TRANSFER), + CLAN_GOLD_SETTLEMENT_OUT( 92, "公会钻石结算支出", BillTypeEnum.OUT, CurrencyEnum.GOLD, BillDomainTypeEnum.GUILD), + CLAN_GOLD_SETTLEMENT_IN( 93, "公会钻石结算收入", BillTypeEnum.IN, CurrencyEnum.GOLD, BillDomainTypeEnum.GUILD), + JOIN_CLAN_CLEAR_GOLD_OUT( 94, "加入公会钻石清零", BillTypeEnum.OUT, CurrencyEnum.GOLD, BillDomainTypeEnum.GUILD), + ACTIVITY_NEW_YEAR_FIREWORK_DRAW( 95, "新年烟花抽奖", BillTypeEnum.OUT, CurrencyEnum.DIAMOND, BillDomainTypeEnum.ACTIVITY), - ACTIVITY_VALENTINE_CP_BUY_KEEPSAKE( 97, "情人节CP购买信物", BillTypeEnum.OUT, CurrencyEnum.DIAMOND), - ACTIVITY_SEIZE_TREASURE_PACK( 98, "精灵碎片购买", BillTypeEnum.OUT, CurrencyEnum.DIAMOND), - FIND_LOVE_DRAW( 99, "寻爱之旅抽奖", BillTypeEnum.OUT, CurrencyEnum.DIAMOND), + SEEK_ELFIN_REWARD_DIAMOND( 96, "幸运塔罗中奖奖励", BillTypeEnum.IN, CurrencyEnum.DIAMOND, BillDomainTypeEnum.ACTIVITY), - CLEAR_USER_GOLD( 100, "官方清除钻石", BillTypeEnum.OUT, CurrencyEnum.GOLD), + ACTIVITY_VALENTINE_CP_BUY_KEEPSAKE( 97, "情人节CP购买信物", BillTypeEnum.OUT, CurrencyEnum.DIAMOND, BillDomainTypeEnum.ACTIVITY), + ACTIVITY_SEIZE_TREASURE_PACK( 98, "精灵碎片购买", BillTypeEnum.OUT, CurrencyEnum.DIAMOND, BillDomainTypeEnum.GAME_PLAY), + FIND_LOVE_DRAW( 99, "寻爱之旅抽奖", BillTypeEnum.OUT, CurrencyEnum.DIAMOND, BillDomainTypeEnum.GAME_PLAY), - OPEN_VIP_WITH_DIAMOND( 101, "金币开通贵族", BillTypeEnum.OUT, CurrencyEnum.DIAMOND), + CLEAR_USER_GOLD( 100, "官方清除钻石", BillTypeEnum.OUT, CurrencyEnum.GOLD, BillDomainTypeEnum.ADMIN_OPERATE), - MID_AUTUMN_JACKPOT_ALLOT_DIAMOND_IN( 102, "2023中秋活动奖池瓜分", BillTypeEnum.IN, CurrencyEnum.DIAMOND), + OPEN_VIP_WITH_DIAMOND( 101, "金币开通贵族", BillTypeEnum.OUT, CurrencyEnum.DIAMOND, BillDomainTypeEnum.VIP), - INVITE_FISSION_BEINVITE_REAWARD( 103, "邀请裂变活动被邀请奖励", BillTypeEnum.IN, CurrencyEnum.DIAMOND), - INVITE_FISSION_INVITE_REAWARD( 104, "邀请裂变活动直接邀请奖励", BillTypeEnum.IN, CurrencyEnum.DIAMOND), - INVITE_FISSION_RECHARGE_INVITE_REAWARD( 105, "邀请裂变活动直接邀请储值返点", BillTypeEnum.IN, CurrencyEnum.DIAMOND), - INVITE_FISSION_RECHARGE_INDIRECT_REAWARD( 106, "邀请裂变活动间接邀请储值返点", BillTypeEnum.IN, CurrencyEnum.DIAMOND), + MID_AUTUMN_JACKPOT_ALLOT_DIAMOND_IN( 102, "2023中秋活动奖池瓜分", BillTypeEnum.IN, CurrencyEnum.DIAMOND, BillDomainTypeEnum.ACTIVITY), - SUPER_LUCKY_GIFT_INCOME_ALLOT( 107, "超级幸运礼物价值分成", BillTypeEnum.IN, CurrencyEnum.GOLD), - SUPER_LUCKY_GIFT_DIAMOND( 108, "超级幸运礼物金币奖返点", BillTypeEnum.IN, CurrencyEnum.DIAMOND), + INVITE_FISSION_BEINVITE_REAWARD( 103, "邀请裂变活动被邀请奖励", BillTypeEnum.IN, CurrencyEnum.DIAMOND, BillDomainTypeEnum.INVITE_REWARD), + INVITE_FISSION_INVITE_REAWARD( 104, "邀请裂变活动直接邀请奖励", BillTypeEnum.IN, CurrencyEnum.DIAMOND, BillDomainTypeEnum.INVITE_REWARD), + INVITE_FISSION_RECHARGE_INVITE_REAWARD( 105, "邀请裂变活动直接邀请储值返点", BillTypeEnum.IN, CurrencyEnum.DIAMOND, BillDomainTypeEnum.INVITE_REWARD), + INVITE_FISSION_RECHARGE_INDIRECT_REAWARD( 106, "邀请裂变活动间接邀请储值返点", BillTypeEnum.IN, CurrencyEnum.DIAMOND, BillDomainTypeEnum.INVITE_REWARD), - VIP_RETURN_PROFIT( 109, "VIP等級獎勵", BillTypeEnum.IN, CurrencyEnum.DIAMOND), + SUPER_LUCKY_GIFT_INCOME_ALLOT( 107, "超级幸运礼物价值分成", BillTypeEnum.IN, CurrencyEnum.GOLD, BillDomainTypeEnum.SEND_GIFT), + SUPER_LUCKY_GIFT_DIAMOND( 108, "超级幸运礼物金币奖返点", BillTypeEnum.IN, CurrencyEnum.DIAMOND, BillDomainTypeEnum.SEND_GIFT), - MINI_GAME_IN( 110, "小遊戲收入", BillTypeEnum.IN, CurrencyEnum.DIAMOND), + VIP_RETURN_PROFIT( 109, "VIP等級獎勵", BillTypeEnum.IN, CurrencyEnum.DIAMOND, BillDomainTypeEnum.VIP), - MINI_GAME_OUT( 111, "小遊戲支出", BillTypeEnum.OUT, CurrencyEnum.DIAMOND), + MINI_GAME_IN( 110, "小遊戲收入", BillTypeEnum.IN, CurrencyEnum.DIAMOND, BillDomainTypeEnum.MINI_GAME), - PUBLIC_CHAT_TOP_OUT( 112, "購買頭條消耗", BillTypeEnum.OUT, CurrencyEnum.DIAMOND), + MINI_GAME_OUT( 111, "小遊戲支出", BillTypeEnum.OUT, CurrencyEnum.DIAMOND, BillDomainTypeEnum.MINI_GAME), - MINI_GAME_MATCH_ENTER_OUT( 113, "LUDO匹配消耗", BillTypeEnum.OUT, CurrencyEnum.DIAMOND), + PUBLIC_CHAT_TOP_OUT( 112, "購買頭條消耗", BillTypeEnum.OUT, CurrencyEnum.DIAMOND, BillDomainTypeEnum.GAME_PLAY), - MINI_GAME_MATCH_WINNER_IN( 114, "LUDO匹配收入", BillTypeEnum.IN, CurrencyEnum.DIAMOND), + MINI_GAME_MATCH_ENTER_OUT( 113, "LUDO匹配消耗", BillTypeEnum.OUT, CurrencyEnum.DIAMOND, BillDomainTypeEnum.LUDO_MINI_GAME), - MINI_GAME_MATCH_REFUND_IN( 115, "LUDO匹配退还", BillTypeEnum.IN, CurrencyEnum.DIAMOND), + MINI_GAME_MATCH_WINNER_IN( 114, "LUDO匹配收入", BillTypeEnum.IN, CurrencyEnum.DIAMOND, BillDomainTypeEnum.LUDO_MINI_GAME), - GAME_PARTNER_GOLD_IN( 116, "游戏开黑收入", BillTypeEnum.IN, CurrencyEnum.GOLD), + MINI_GAME_MATCH_REFUND_IN( 115, "LUDO匹配退还", BillTypeEnum.IN, CurrencyEnum.DIAMOND, BillDomainTypeEnum.LUDO_MINI_GAME), - GAME_PARTNER_DIAMOND_OUT( 117, "游戏开黑支出", BillTypeEnum.OUT, CurrencyEnum.DIAMOND), + GAME_PARTNER_GOLD_IN( 116, "游戏开黑收入", BillTypeEnum.IN, CurrencyEnum.GOLD, BillDomainTypeEnum.GAME_PARTNER), + GAME_PARTNER_DIAMOND_OUT( 117, "游戏开黑支出", BillTypeEnum.OUT, CurrencyEnum.DIAMOND, BillDomainTypeEnum.GAME_PARTNER), - GUILD_DIAMOND_WITHDRAW_USD_IN( 118, "公会钻石提现收入", BillTypeEnum.IN, CurrencyEnum.GUILD_USD), - GUILD_DIAMOND_WITHDRAW_USD_OUT( 119, "公会钻石提现支出", BillTypeEnum.OUT, CurrencyEnum.GOLD), + GUILD_DIAMOND_WITHDRAW_USD_IN( 118, "公会钻石提现收入", BillTypeEnum.IN, CurrencyEnum.GUILD_USD, BillDomainTypeEnum.GUILD_USD), - GUILD_USD_EXCHANGE_GOLD_IN( 120, "公会usd兑换金币收入", BillTypeEnum.IN, CurrencyEnum.DIAMOND), - GUILD_USD_EXCHANGE_GOLD_OUT( 121, "公会usd兑换金币支出", BillTypeEnum.OUT, CurrencyEnum.GUILD_USD), + GUILD_DIAMOND_WITHDRAW_USD_OUT( 119, "公会钻石提现支出", BillTypeEnum.OUT, CurrencyEnum.GOLD, BillDomainTypeEnum.GUILD_USD), - GUILD_USD_TO_RECHARGE_USER_IN( 122, "公会usd兑换给代储收入", BillTypeEnum.IN, CurrencyEnum.DIAMOND), - GUILD_USD_TO_RECHARGE_USER_OUT( 123, "公会usd兑换给代储支出", BillTypeEnum.OUT, CurrencyEnum.GUILD_USD), + GUILD_USD_EXCHANGE_GOLD_IN( 120, "公会usd兑换金币收入", BillTypeEnum.IN, CurrencyEnum.DIAMOND, BillDomainTypeEnum.GUILD_USD), + GUILD_USD_EXCHANGE_GOLD_OUT( 121, "公会usd兑换金币支出", BillTypeEnum.OUT, CurrencyEnum.GUILD_USD, BillDomainTypeEnum.GUILD_USD), - GUILD_USD_TO_GUILD_OWNER_IN( 124, "公会usd兑换给会长收入", BillTypeEnum.IN, CurrencyEnum.GUILD_USD), - GUILD_USD_TO_GUILD_OWNER_OUT( 125, "公会usd兑换给会长支出", BillTypeEnum.OUT, CurrencyEnum.GUILD_USD), + GUILD_USD_TO_RECHARGE_USER_IN( 122, "公会usd兑换给代储收入", BillTypeEnum.IN, CurrencyEnum.DIAMOND, BillDomainTypeEnum.GUILD_USD), + GUILD_USD_TO_RECHARGE_USER_OUT( 123, "公会usd兑换给代储支出", BillTypeEnum.OUT, CurrencyEnum.GUILD_USD, BillDomainTypeEnum.GUILD_USD), - CANCEL_CP( 126, "解除cp", BillTypeEnum.OUT, CurrencyEnum.DIAMOND), + GUILD_USD_TO_GUILD_OWNER_IN( 124, "公会usd兑换给会长收入", BillTypeEnum.IN, CurrencyEnum.GUILD_USD, BillDomainTypeEnum.GUILD_USD), + GUILD_USD_TO_GUILD_OWNER_OUT( 125, "公会usd兑换给会长支出", BillTypeEnum.OUT, CurrencyEnum.GUILD_USD, BillDomainTypeEnum.GUILD_USD), - FAMILY_DIAMOND_SETTLEMENT( 127, "家族钻石结算", BillTypeEnum.OUT, CurrencyEnum.GOLD), + CANCEL_CP( 126, "解除cp", BillTypeEnum.OUT, CurrencyEnum.DIAMOND, BillDomainTypeEnum.CP), - GUILD_USD_TO_PLATFORM_IN( 128, "公会usd提现驳回", BillTypeEnum.IN, CurrencyEnum.GUILD_USD), - GUILD_USD_TO_PLATFORM_OUT( 129, "公会usd提现支出", BillTypeEnum.OUT, CurrencyEnum.GUILD_USD), + FAMILY_DIAMOND_SETTLEMENT( 127, "家族钻石结算", BillTypeEnum.OUT, CurrencyEnum.GOLD, BillDomainTypeEnum.GUILD), - GUILD_SETTLEMENT_USD_IN( 130, "公会周期结算会长usd收入", BillTypeEnum.IN, CurrencyEnum.GUILD_USD), - SS_GUILD_MONTH_MEMBER_DIAMOND( 131, "SS公会活动奖励", BillTypeEnum.IN, CurrencyEnum.DIAMOND), + GUILD_USD_TO_PLATFORM_IN( 128, "公会usd提现驳回", BillTypeEnum.IN, CurrencyEnum.GUILD_USD, BillDomainTypeEnum.GUILD_USD), + GUILD_USD_TO_PLATFORM_OUT( 129, "公会usd提现支出", BillTypeEnum.OUT, CurrencyEnum.GUILD_USD, BillDomainTypeEnum.GUILD_USD), - LEADERCC_GAME_IN(132, "小遊戲收入", BillTypeEnum.IN, CurrencyEnum.DIAMOND), + GUILD_SETTLEMENT_USD_IN( 130, "公会周期结算会长usd收入", BillTypeEnum.IN, CurrencyEnum.GUILD_USD, BillDomainTypeEnum.GUILD_USD), + SS_GUILD_MONTH_MEMBER_DIAMOND( 131, "SS公会活动奖励", BillTypeEnum.IN, CurrencyEnum.DIAMOND, BillDomainTypeEnum.GUILD), - LEADERCC_GAME_OUT(133, "小遊戲支出", BillTypeEnum.OUT, CurrencyEnum.DIAMOND), + LEADERCC_GAME_IN(132, "小遊戲收入", BillTypeEnum.IN, CurrencyEnum.DIAMOND, BillDomainTypeEnum.MINI_GAME), - FAMILY_MEMBER_WEEK_LEVEL_REWARD(134, "主播周奖励", BillTypeEnum.IN, CurrencyEnum.DIAMOND), - GUILD_MEMBER_WEEK_LEVEL_REWARD(135, "主播周奖励", BillTypeEnum.IN, CurrencyEnum.DIAMOND), + LEADERCC_GAME_OUT(133, "小遊戲支出", BillTypeEnum.OUT, CurrencyEnum.DIAMOND, BillDomainTypeEnum.MINI_GAME), - WEB_SEND_DIAMOND_IN( 136, "WEB转赠金币收入", BillTypeEnum.IN, CurrencyEnum.DIAMOND), - WEB_SEND_DIAMOND_OUT( 137, "WEB转赠金币支出", BillTypeEnum.OUT, CurrencyEnum.DIAMOND), + FAMILY_MEMBER_WEEK_LEVEL_REWARD(134, "主播周奖励", BillTypeEnum.IN, CurrencyEnum.DIAMOND, BillDomainTypeEnum.GUILD), + GUILD_MEMBER_WEEK_LEVEL_REWARD(135, "主播周奖励", BillTypeEnum.IN, CurrencyEnum.DIAMOND, BillDomainTypeEnum.GUILD), - ROOM_BACKGROUND_PAY(138, "购买房间背景", BillTypeEnum.OUT, CurrencyEnum.DIAMOND), - ROOM_BACKGROUND_CUSTOM(139, "自定义房间背景", BillTypeEnum.OUT, CurrencyEnum.DIAMOND), - ROOM_BACKGROUND_CUSTOM_REJECT(140, "自定义房间背景驳回", BillTypeEnum.IN, CurrencyEnum.DIAMOND), - GUILD_SETTLEMENT_GOLD_IN( 141, "公会周期结算会长钻石收入", BillTypeEnum.IN, CurrencyEnum.GOLD), + WEB_SEND_DIAMOND_IN( 136, "WEB转赠金币收入", BillTypeEnum.IN, CurrencyEnum.DIAMOND, BillDomainTypeEnum.TRANSFER), + WEB_SEND_DIAMOND_OUT( 137, "WEB转赠金币支出", BillTypeEnum.OUT, CurrencyEnum.DIAMOND, BillDomainTypeEnum.TRANSFER), - PURCHASE_PERSON_PAGE( 142, "购买个人页背景", BillTypeEnum.OUT, CurrencyEnum.DIAMOND), - GIVE_PERSON_PAGE( 143, "赠送用户个人页背景", BillTypeEnum.OUT, CurrencyEnum.DIAMOND), + ROOM_BACKGROUND_PAY(138, "购买房间背景", BillTypeEnum.OUT, CurrencyEnum.DIAMOND, BillDomainTypeEnum.DRESS_UP_SHOP), + ROOM_BACKGROUND_CUSTOM(139, "自定义房间背景", BillTypeEnum.OUT, CurrencyEnum.DIAMOND, BillDomainTypeEnum.DRESS_UP_SHOP), + ROOM_BACKGROUND_CUSTOM_REJECT(140, "自定义房间背景驳回", BillTypeEnum.IN, CurrencyEnum.DIAMOND, BillDomainTypeEnum.DRESS_UP_SHOP), + GUILD_SETTLEMENT_GOLD_IN( 141, "公会周期结算会长钻石收入", BillTypeEnum.IN, CurrencyEnum.GOLD, BillDomainTypeEnum.GUILD), - INVITE_RECHARGE_RECEIVE_REAWARD( 144, "邀请活动奖励", BillTypeEnum.IN, CurrencyEnum.DIAMOND), + PURCHASE_PERSON_PAGE( 142, "购买个人页背景", BillTypeEnum.OUT, CurrencyEnum.DIAMOND, BillDomainTypeEnum.DRESS_UP_SHOP), + GIVE_PERSON_PAGE( 143, "赠送用户个人页背景", BillTypeEnum.OUT, CurrencyEnum.DIAMOND, BillDomainTypeEnum.DRESS_UP_SHOP), + + INVITE_RECHARGE_RECEIVE_REAWARD( 144, "邀请活动奖励", BillTypeEnum.IN, CurrencyEnum.DIAMOND, BillDomainTypeEnum.INVITE_REWARD), + + REDENVELOPE_SERVER( 145, "发出全服红包", BillTypeEnum.OUT, CurrencyEnum.DIAMOND, BillDomainTypeEnum.RED_BAG), + REDENVELOPE_BACK( 146, "全服红包退款", BillTypeEnum.IN, CurrencyEnum.DIAMOND, BillDomainTypeEnum.RED_BAG), + REDENVELOPE_SERVER_GET( 147, "收到全服红包", BillTypeEnum.IN, CurrencyEnum.DIAMOND, BillDomainTypeEnum.RED_BAG), ; - BillObjTypeEnum(int value, String desc, BillTypeEnum type, CurrencyEnum currency) { + BillObjTypeEnum(int value, String desc, BillTypeEnum type, CurrencyEnum currency, BillDomainTypeEnum domain) { this.value = value; this.desc = desc; this.type = type; this.currency = currency; + this.domain = domain; } private final int value; private final String desc; private final BillTypeEnum type; private final CurrencyEnum currency; + private final BillDomainTypeEnum domain; public static BillObjTypeEnum get(int value) { Optional result = Arrays.stream(BillObjTypeEnum.values()).filter(eventEnum -> diff --git a/accompany-base/accompany-sharding/accompany-sharding-sdk/src/main/java/com/accompany/sharding/vo/DiamondBillRecordStatVo.java b/accompany-base/accompany-sharding/accompany-sharding-sdk/src/main/java/com/accompany/sharding/vo/DiamondBillRecordStatVo.java new file mode 100644 index 000000000..06165b891 --- /dev/null +++ b/accompany-base/accompany-sharding/accompany-sharding-sdk/src/main/java/com/accompany/sharding/vo/DiamondBillRecordStatVo.java @@ -0,0 +1,14 @@ +package com.accompany.sharding.vo; + +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class DiamondBillRecordStatVo { + + private Integer partitionId; + private Integer objType; + private BigDecimal totalDiamond; + +} diff --git a/accompany-base/accompany-sharding/accompany-sharding-service/src/main/java/com/accompany/sharding/mapper/BillRecordMapper.java b/accompany-base/accompany-sharding/accompany-sharding-service/src/main/java/com/accompany/sharding/mapper/BillRecordMapper.java index f6ccf0c1b..7b89762a1 100644 --- a/accompany-base/accompany-sharding/accompany-sharding-service/src/main/java/com/accompany/sharding/mapper/BillRecordMapper.java +++ b/accompany-base/accompany-sharding/accompany-sharding-service/src/main/java/com/accompany/sharding/mapper/BillRecordMapper.java @@ -4,6 +4,7 @@ package com.accompany.sharding.mapper; import com.accompany.sharding.model.BillRecord; import com.accompany.sharding.vo.BillRecordDateVo; import com.accompany.sharding.vo.BillRecordGroupVo; +import com.accompany.sharding.vo.DiamondBillRecordStatVo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; @@ -62,4 +63,9 @@ public interface BillRecordMapper extends BaseMapper { @Param("startTime") Date startTime, @Param("endTime") Date endTime, @Param("zoneIdHour") long zoneIdHour); + + List statDiamondBillRecord(@Param("partitionIds") List partitionIds, + @Param("startTime") Date startTime, + @Param("endTime") Date endTime); + } \ No newline at end of file diff --git a/accompany-base/accompany-sharding/accompany-sharding-service/src/main/resources/sharding/sqlmappers/BillRecordMapper.xml b/accompany-base/accompany-sharding/accompany-sharding-service/src/main/resources/sharding/sqlmappers/BillRecordMapper.xml index 620beb722..1ceb41ae4 100644 --- a/accompany-base/accompany-sharding/accompany-sharding-service/src/main/resources/sharding/sqlmappers/BillRecordMapper.xml +++ b/accompany-base/accompany-sharding/accompany-sharding-service/src/main/resources/sharding/sqlmappers/BillRecordMapper.xml @@ -119,4 +119,16 @@ group by `date` + + \ No newline at end of file diff --git a/accompany-business/accompany-business-sdk/src/main/java/com/accompany/business/dto/DiamondStatDto.java b/accompany-business/accompany-business-sdk/src/main/java/com/accompany/business/dto/DiamondStatDto.java new file mode 100644 index 000000000..860753e8e --- /dev/null +++ b/accompany-business/accompany-business-sdk/src/main/java/com/accompany/business/dto/DiamondStatDto.java @@ -0,0 +1,18 @@ +package com.accompany.business.dto; + +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class DiamondStatDto { + + private Integer partitionId; + private BigDecimal totalDiamond; + + private Integer domainType; + private String domainDesc; + private BigDecimal addDiamond; + private BigDecimal subDiamond; + +} diff --git a/accompany-business/accompany-business-sdk/src/main/java/com/accompany/business/model/DiamondStat.java b/accompany-business/accompany-business-sdk/src/main/java/com/accompany/business/model/DiamondStat.java new file mode 100644 index 000000000..41c947fad --- /dev/null +++ b/accompany-business/accompany-business-sdk/src/main/java/com/accompany/business/model/DiamondStat.java @@ -0,0 +1,30 @@ +package com.accompany.business.model; + +import com.baomidou.mybatisplus.annotation.TableId; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class DiamondStat { + + @TableId + private String date; + + private BigDecimal totalDiamond; + private BigDecimal enDiamond; + private String enDomainDetail; + private BigDecimal arDiamond; + private String arDomainDetail; + private BigDecimal zhDiamond; + private String zhDomainDetail; + private BigDecimal trDiamond; + private String trDomainDetail; + + private BigDecimal totalRemainDiamond; + private BigDecimal enRemainDiamond; + private BigDecimal arRemainDiamond; + private BigDecimal zhRemainDiamond; + private BigDecimal trRemainDiamond; + +} diff --git a/accompany-business/accompany-business-sdk/src/main/java/com/accompany/business/model/UserPurseExample.java b/accompany-business/accompany-business-sdk/src/main/java/com/accompany/business/model/UserPurseExample.java deleted file mode 100644 index c54269c62..000000000 --- a/accompany-business/accompany-business-sdk/src/main/java/com/accompany/business/model/UserPurseExample.java +++ /dev/null @@ -1,741 +0,0 @@ -package com.accompany.business.model; - -import java.util.ArrayList; -import java.util.Date; -import java.util.List; - -public class UserPurseExample { - protected String orderByClause; - - protected boolean distinct; - - protected List oredCriteria; - - public UserPurseExample() { - oredCriteria = new ArrayList(); - } - - public void setOrderByClause(String orderByClause) { - this.orderByClause = orderByClause; - } - - public String getOrderByClause() { - return orderByClause; - } - - public void setDistinct(boolean distinct) { - this.distinct = distinct; - } - - public boolean isDistinct() { - return distinct; - } - - public List getOredCriteria() { - return oredCriteria; - } - - public void or(Criteria criteria) { - oredCriteria.add(criteria); - } - - public Criteria or() { - Criteria criteria = createCriteriaInternal(); - oredCriteria.add(criteria); - return criteria; - } - - public Criteria createCriteria() { - Criteria criteria = createCriteriaInternal(); - if (oredCriteria.size() == 0) { - oredCriteria.add(criteria); - } - return criteria; - } - - protected Criteria createCriteriaInternal() { - Criteria criteria = new Criteria(); - return criteria; - } - - public void clear() { - oredCriteria.clear(); - orderByClause = null; - distinct = false; - } - - protected abstract static class GeneratedCriteria { - protected List criteria; - - protected GeneratedCriteria() { - super(); - criteria = new ArrayList(); - } - - public boolean isValid() { - return criteria.size() > 0; - } - - public List getAllCriteria() { - return criteria; - } - - public List getCriteria() { - return criteria; - } - - protected void addCriterion(String condition) { - if (condition == null) { - throw new RuntimeException("Value for condition cannot be null"); - } - criteria.add(new Criterion(condition)); - } - - protected void addCriterion(String condition, Object value, String property) { - if (value == null) { - throw new RuntimeException("Value for " + property + " cannot be null"); - } - criteria.add(new Criterion(condition, value)); - } - - protected void addCriterion(String condition, Object value1, Object value2, String property) { - if (value1 == null || value2 == null) { - throw new RuntimeException("Between values for " + property + " cannot be null"); - } - criteria.add(new Criterion(condition, value1, value2)); - } - - public Criteria andUidIsNull() { - addCriterion("uid is null"); - return (Criteria) this; - } - - public Criteria andUidIsNotNull() { - addCriterion("uid is not null"); - return (Criteria) this; - } - - public Criteria andUidEqualTo(Long value) { - addCriterion("uid =", value, "uid"); - return (Criteria) this; - } - - public Criteria andUidNotEqualTo(Long value) { - addCriterion("uid <>", value, "uid"); - return (Criteria) this; - } - - public Criteria andUidGreaterThan(Long value) { - addCriterion("uid >", value, "uid"); - return (Criteria) this; - } - - public Criteria andUidGreaterThanOrEqualTo(Long value) { - addCriterion("uid >=", value, "uid"); - return (Criteria) this; - } - - public Criteria andUidLessThan(Long value) { - addCriterion("uid <", value, "uid"); - return (Criteria) this; - } - - public Criteria andUidLessThanOrEqualTo(Long value) { - addCriterion("uid <=", value, "uid"); - return (Criteria) this; - } - - public Criteria andUidIn(List values) { - addCriterion("uid in", values, "uid"); - return (Criteria) this; - } - - public Criteria andUidNotIn(List values) { - addCriterion("uid not in", values, "uid"); - return (Criteria) this; - } - - public Criteria andUidBetween(Long value1, Long value2) { - addCriterion("uid between", value1, value2, "uid"); - return (Criteria) this; - } - - public Criteria andUidNotBetween(Long value1, Long value2) { - addCriterion("uid not between", value1, value2, "uid"); - return (Criteria) this; - } - - public Criteria andChargeGoldNumIsNull() { - addCriterion("charge_gold_num is null"); - return (Criteria) this; - } - - public Criteria andChargeGoldNumIsNotNull() { - addCriterion("charge_gold_num is not null"); - return (Criteria) this; - } - - public Criteria andChargeGoldNumEqualTo(Long value) { - addCriterion("charge_gold_num =", value, "chargeGoldNum"); - return (Criteria) this; - } - - public Criteria andChargeGoldNumNotEqualTo(Long value) { - addCriterion("charge_gold_num <>", value, "chargeGoldNum"); - return (Criteria) this; - } - - public Criteria andChargeGoldNumGreaterThan(Long value) { - addCriterion("charge_gold_num >", value, "chargeGoldNum"); - return (Criteria) this; - } - - public Criteria andChargeGoldNumGreaterThanOrEqualTo(Long value) { - addCriterion("charge_gold_num >=", value, "chargeGoldNum"); - return (Criteria) this; - } - - public Criteria andChargeGoldNumLessThan(Long value) { - addCriterion("charge_gold_num <", value, "chargeGoldNum"); - return (Criteria) this; - } - - public Criteria andChargeGoldNumLessThanOrEqualTo(Long value) { - addCriterion("charge_gold_num <=", value, "chargeGoldNum"); - return (Criteria) this; - } - - public Criteria andChargeGoldNumIn(List values) { - addCriterion("charge_gold_num in", values, "chargeGoldNum"); - return (Criteria) this; - } - - public Criteria andChargeGoldNumNotIn(List values) { - addCriterion("charge_gold_num not in", values, "chargeGoldNum"); - return (Criteria) this; - } - - public Criteria andChargeGoldNumBetween(Long value1, Long value2) { - addCriterion("charge_gold_num between", value1, value2, "chargeGoldNum"); - return (Criteria) this; - } - - public Criteria andChargeGoldNumNotBetween(Long value1, Long value2) { - addCriterion("charge_gold_num not between", value1, value2, "chargeGoldNum"); - return (Criteria) this; - } - - public Criteria andNobleGoldNumIsNull() { - addCriterion("noble_gold_num is null"); - return (Criteria) this; - } - - public Criteria andNobleGoldNumIsNotNull() { - addCriterion("noble_gold_num is not null"); - return (Criteria) this; - } - - public Criteria andNobleGoldNumEqualTo(Long value) { - addCriterion("noble_gold_num =", value, "nobleGoldNum"); - return (Criteria) this; - } - - public Criteria andNobleGoldNumNotEqualTo(Long value) { - addCriterion("noble_gold_num <>", value, "nobleGoldNum"); - return (Criteria) this; - } - - public Criteria andNobleGoldNumGreaterThan(Long value) { - addCriterion("noble_gold_num >", value, "nobleGoldNum"); - return (Criteria) this; - } - - public Criteria andNobleGoldNumGreaterThanOrEqualTo(Long value) { - addCriterion("noble_gold_num >=", value, "nobleGoldNum"); - return (Criteria) this; - } - - public Criteria andNobleGoldNumLessThan(Long value) { - addCriterion("noble_gold_num <", value, "nobleGoldNum"); - return (Criteria) this; - } - - public Criteria andNobleGoldNumLessThanOrEqualTo(Long value) { - addCriterion("noble_gold_num <=", value, "nobleGoldNum"); - return (Criteria) this; - } - - public Criteria andNobleGoldNumIn(List values) { - addCriterion("noble_gold_num in", values, "nobleGoldNum"); - return (Criteria) this; - } - - public Criteria andNobleGoldNumNotIn(List values) { - addCriterion("noble_gold_num not in", values, "nobleGoldNum"); - return (Criteria) this; - } - - public Criteria andNobleGoldNumBetween(Long value1, Long value2) { - addCriterion("noble_gold_num between", value1, value2, "nobleGoldNum"); - return (Criteria) this; - } - - public Criteria andNobleGoldNumNotBetween(Long value1, Long value2) { - addCriterion("noble_gold_num not between", value1, value2, "nobleGoldNum"); - return (Criteria) this; - } - - public Criteria andGoldNumIsNull() { - addCriterion("gold_num is null"); - return (Criteria) this; - } - - public Criteria andGoldNumIsNotNull() { - addCriterion("gold_num is not null"); - return (Criteria) this; - } - - public Criteria andGoldNumEqualTo(Long value) { - addCriterion("gold_num =", value, "goldNum"); - return (Criteria) this; - } - - public Criteria andGoldNumNotEqualTo(Long value) { - addCriterion("gold_num <>", value, "goldNum"); - return (Criteria) this; - } - - public Criteria andGoldNumGreaterThan(Long value) { - addCriterion("gold_num >", value, "goldNum"); - return (Criteria) this; - } - - public Criteria andGoldNumGreaterThanOrEqualTo(Long value) { - addCriterion("gold_num >=", value, "goldNum"); - return (Criteria) this; - } - - public Criteria andGoldNumLessThan(Long value) { - addCriterion("gold_num <", value, "goldNum"); - return (Criteria) this; - } - - public Criteria andGoldNumLessThanOrEqualTo(Long value) { - addCriterion("gold_num <=", value, "goldNum"); - return (Criteria) this; - } - - public Criteria andGoldNumIn(List values) { - addCriterion("gold_num in", values, "goldNum"); - return (Criteria) this; - } - - public Criteria andGoldNumNotIn(List values) { - addCriterion("gold_num not in", values, "goldNum"); - return (Criteria) this; - } - - public Criteria andGoldNumBetween(Long value1, Long value2) { - addCriterion("gold_num between", value1, value2, "goldNum"); - return (Criteria) this; - } - - public Criteria andGoldNumNotBetween(Long value1, Long value2) { - addCriterion("gold_num not between", value1, value2, "goldNum"); - return (Criteria) this; - } - - public Criteria andDiamondNumIsNull() { - addCriterion("diamond_num is null"); - return (Criteria) this; - } - - public Criteria andDiamondNumIsNotNull() { - addCriterion("diamond_num is not null"); - return (Criteria) this; - } - - public Criteria andDiamondNumEqualTo(Double value) { - addCriterion("diamond_num =", value, "diamondNum"); - return (Criteria) this; - } - - public Criteria andDiamondNumNotEqualTo(Double value) { - addCriterion("diamond_num <>", value, "diamondNum"); - return (Criteria) this; - } - - public Criteria andDiamondNumGreaterThan(Double value) { - addCriterion("diamond_num >", value, "diamondNum"); - return (Criteria) this; - } - - public Criteria andDiamondNumGreaterThanOrEqualTo(Double value) { - addCriterion("diamond_num >=", value, "diamondNum"); - return (Criteria) this; - } - - public Criteria andDiamondNumLessThan(Double value) { - addCriterion("diamond_num <", value, "diamondNum"); - return (Criteria) this; - } - - public Criteria andDiamondNumLessThanOrEqualTo(Double value) { - addCriterion("diamond_num <=", value, "diamondNum"); - return (Criteria) this; - } - - public Criteria andDiamondNumIn(List values) { - addCriterion("diamond_num in", values, "diamondNum"); - return (Criteria) this; - } - - public Criteria andDiamondNumNotIn(List values) { - addCriterion("diamond_num not in", values, "diamondNum"); - return (Criteria) this; - } - - public Criteria andDiamondNumBetween(Double value1, Double value2) { - addCriterion("diamond_num between", value1, value2, "diamondNum"); - return (Criteria) this; - } - - public Criteria andDiamondNumNotBetween(Double value1, Double value2) { - addCriterion("diamond_num not between", value1, value2, "diamondNum"); - return (Criteria) this; - } - - public Criteria andDepositNumIsNull() { - addCriterion("deposit_num is null"); - return (Criteria) this; - } - - public Criteria andDepositNumIsNotNull() { - addCriterion("deposit_num is not null"); - return (Criteria) this; - } - - public Criteria andDepositNumEqualTo(Long value) { - addCriterion("deposit_num =", value, "depositNum"); - return (Criteria) this; - } - - public Criteria andDepositNumNotEqualTo(Long value) { - addCriterion("deposit_num <>", value, "depositNum"); - return (Criteria) this; - } - - public Criteria andDepositNumGreaterThan(Long value) { - addCriterion("deposit_num >", value, "depositNum"); - return (Criteria) this; - } - - public Criteria andDepositNumGreaterThanOrEqualTo(Long value) { - addCriterion("deposit_num >=", value, "depositNum"); - return (Criteria) this; - } - - public Criteria andDepositNumLessThan(Long value) { - addCriterion("deposit_num <", value, "depositNum"); - return (Criteria) this; - } - - public Criteria andDepositNumLessThanOrEqualTo(Long value) { - addCriterion("deposit_num <=", value, "depositNum"); - return (Criteria) this; - } - - public Criteria andDepositNumIn(List values) { - addCriterion("deposit_num in", values, "depositNum"); - return (Criteria) this; - } - - public Criteria andDepositNumNotIn(List values) { - addCriterion("deposit_num not in", values, "depositNum"); - return (Criteria) this; - } - - public Criteria andDepositNumBetween(Long value1, Long value2) { - addCriterion("deposit_num between", value1, value2, "depositNum"); - return (Criteria) this; - } - - public Criteria andDepositNumNotBetween(Long value1, Long value2) { - addCriterion("deposit_num not between", value1, value2, "depositNum"); - return (Criteria) this; - } - - public Criteria andIsFirstChargeIsNull() { - addCriterion("is_first_charge is null"); - return (Criteria) this; - } - - public Criteria andIsFirstChargeIsNotNull() { - addCriterion("is_first_charge is not null"); - return (Criteria) this; - } - - public Criteria andIsFirstChargeEqualTo(Boolean value) { - addCriterion("is_first_charge =", value, "isFirstCharge"); - return (Criteria) this; - } - - public Criteria andIsFirstChargeNotEqualTo(Boolean value) { - addCriterion("is_first_charge <>", value, "isFirstCharge"); - return (Criteria) this; - } - - public Criteria andIsFirstChargeGreaterThan(Boolean value) { - addCriterion("is_first_charge >", value, "isFirstCharge"); - return (Criteria) this; - } - - public Criteria andIsFirstChargeGreaterThanOrEqualTo(Boolean value) { - addCriterion("is_first_charge >=", value, "isFirstCharge"); - return (Criteria) this; - } - - public Criteria andIsFirstChargeLessThan(Boolean value) { - addCriterion("is_first_charge <", value, "isFirstCharge"); - return (Criteria) this; - } - - public Criteria andIsFirstChargeLessThanOrEqualTo(Boolean value) { - addCriterion("is_first_charge <=", value, "isFirstCharge"); - return (Criteria) this; - } - - public Criteria andIsFirstChargeIn(List values) { - addCriterion("is_first_charge in", values, "isFirstCharge"); - return (Criteria) this; - } - - public Criteria andIsFirstChargeNotIn(List values) { - addCriterion("is_first_charge not in", values, "isFirstCharge"); - return (Criteria) this; - } - - public Criteria andIsFirstChargeBetween(Boolean value1, Boolean value2) { - addCriterion("is_first_charge between", value1, value2, "isFirstCharge"); - return (Criteria) this; - } - - public Criteria andIsFirstChargeNotBetween(Boolean value1, Boolean value2) { - addCriterion("is_first_charge not between", value1, value2, "isFirstCharge"); - return (Criteria) this; - } - - public Criteria andFirstRechargeTimeIsNull() { - addCriterion("first_recharge_time is null"); - return (Criteria) this; - } - - public Criteria andFirstRechargeTimeIsNotNull() { - addCriterion("first_recharge_time is not null"); - return (Criteria) this; - } - - public Criteria andFirstRechargeTimeEqualTo(Date value) { - addCriterion("first_recharge_time =", value, "firstRechargeTime"); - return (Criteria) this; - } - - public Criteria andFirstRechargeTimeNotEqualTo(Date value) { - addCriterion("first_recharge_time <>", value, "firstRechargeTime"); - return (Criteria) this; - } - - public Criteria andFirstRechargeTimeGreaterThan(Date value) { - addCriterion("first_recharge_time >", value, "firstRechargeTime"); - return (Criteria) this; - } - - public Criteria andFirstRechargeTimeGreaterThanOrEqualTo(Date value) { - addCriterion("first_recharge_time >=", value, "firstRechargeTime"); - return (Criteria) this; - } - - public Criteria andFirstRechargeTimeLessThan(Date value) { - addCriterion("first_recharge_time <", value, "firstRechargeTime"); - return (Criteria) this; - } - - public Criteria andFirstRechargeTimeLessThanOrEqualTo(Date value) { - addCriterion("first_recharge_time <=", value, "firstRechargeTime"); - return (Criteria) this; - } - - public Criteria andFirstRechargeTimeIn(List values) { - addCriterion("first_recharge_time in", values, "firstRechargeTime"); - return (Criteria) this; - } - - public Criteria andFirstRechargeTimeNotIn(List values) { - addCriterion("first_recharge_time not in", values, "firstRechargeTime"); - return (Criteria) this; - } - - public Criteria andFirstRechargeTimeBetween(Date value1, Date value2) { - addCriterion("first_recharge_time between", value1, value2, "firstRechargeTime"); - return (Criteria) this; - } - - public Criteria andFirstRechargeTimeNotBetween(Date value1, Date value2) { - addCriterion("first_recharge_time not between", value1, value2, "firstRechargeTime"); - return (Criteria) this; - } - - public Criteria andUpdateTimeIsNull() { - addCriterion("update_time is null"); - return (Criteria) this; - } - - public Criteria andUpdateTimeIsNotNull() { - addCriterion("update_time is not null"); - return (Criteria) this; - } - - public Criteria andUpdateTimeEqualTo(Date value) { - addCriterion("update_time =", value, "updateTime"); - return (Criteria) this; - } - - public Criteria andUpdateTimeNotEqualTo(Date value) { - addCriterion("update_time <>", value, "updateTime"); - return (Criteria) this; - } - - public Criteria andUpdateTimeGreaterThan(Date value) { - addCriterion("update_time >", value, "updateTime"); - return (Criteria) this; - } - - public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) { - addCriterion("update_time >=", value, "updateTime"); - return (Criteria) this; - } - - public Criteria andUpdateTimeLessThan(Date value) { - addCriterion("update_time <", value, "updateTime"); - return (Criteria) this; - } - - public Criteria andUpdateTimeLessThanOrEqualTo(Date value) { - addCriterion("update_time <=", value, "updateTime"); - return (Criteria) this; - } - - public Criteria andUpdateTimeIn(List values) { - addCriterion("update_time in", values, "updateTime"); - return (Criteria) this; - } - - public Criteria andUpdateTimeNotIn(List values) { - addCriterion("update_time not in", values, "updateTime"); - return (Criteria) this; - } - - public Criteria andUpdateTimeBetween(Date value1, Date value2) { - addCriterion("update_time between", value1, value2, "updateTime"); - return (Criteria) this; - } - - public Criteria andUpdateTimeNotBetween(Date value1, Date value2) { - addCriterion("update_time not between", value1, value2, "updateTime"); - return (Criteria) this; - } - } - - public static class Criteria extends GeneratedCriteria { - - protected Criteria() { - super(); - } - } - - public static class Criterion { - private String condition; - - private Object value; - - private Object secondValue; - - private boolean noValue; - - private boolean singleValue; - - private boolean betweenValue; - - private boolean listValue; - - private String typeHandler; - - public String getCondition() { - return condition; - } - - public Object getValue() { - return value; - } - - public Object getSecondValue() { - return secondValue; - } - - public boolean isNoValue() { - return noValue; - } - - public boolean isSingleValue() { - return singleValue; - } - - public boolean isBetweenValue() { - return betweenValue; - } - - public boolean isListValue() { - return listValue; - } - - public String getTypeHandler() { - return typeHandler; - } - - protected Criterion(String condition) { - super(); - this.condition = condition; - this.typeHandler = null; - this.noValue = true; - } - - protected Criterion(String condition, Object value, String typeHandler) { - super(); - this.condition = condition; - this.value = value; - this.typeHandler = typeHandler; - if (value instanceof List) { - this.listValue = true; - } else { - this.singleValue = true; - } - } - - protected Criterion(String condition, Object value) { - this(condition, value, null); - } - - protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { - super(); - this.condition = condition; - this.value = value; - this.secondValue = secondValue; - this.typeHandler = typeHandler; - this.betweenValue = true; - } - - protected Criterion(String condition, Object value, Object secondValue) { - this(condition, value, secondValue, null); - } - } -} \ No newline at end of file diff --git a/accompany-business/accompany-business-sdk/src/main/java/com/accompany/business/model/UserPurseStatistics.java b/accompany-business/accompany-business-sdk/src/main/java/com/accompany/business/model/UserPurseStatistics.java deleted file mode 100644 index 68d4d3b32..000000000 --- a/accompany-business/accompany-business-sdk/src/main/java/com/accompany/business/model/UserPurseStatistics.java +++ /dev/null @@ -1,66 +0,0 @@ -package com.accompany.business.model; - -import java.util.Date; - -public class UserPurseStatistics { - private Long statId; - - private Long goldNum; - - private Double diamondNum; - - private Double backpackGoldNum; - - private Date createTime; - - public Long getStatId() { - return statId; - } - - public void setStatId(Long statId) { - this.statId = statId; - } - - public Long getGoldNum() { - return goldNum; - } - - public void setGoldNum(Long goldNum) { - this.goldNum = goldNum; - } - - public Double getDiamondNum() { - return diamondNum; - } - - public void setDiamondNum(Double diamondNum) { - this.diamondNum = diamondNum; - } - - public Double getBackpackGoldNum() { - return backpackGoldNum; - } - - public void setBackpackGoldNum(Double backpackGoldNum) { - this.backpackGoldNum = backpackGoldNum; - } - - public Date getCreateTime() { - return createTime; - } - - public void setCreateTime(Date createTime) { - this.createTime = createTime; - } - - @Override - public String toString() { - return "UserPurseStatistics{" + - "statId=" + statId + - ", goldNum=" + goldNum + - ", diamondNum=" + diamondNum + - ", backpackGoldNum=" + backpackGoldNum + - ", createTime=" + createTime + - '}'; - } -} \ No newline at end of file diff --git a/accompany-business/accompany-business-sdk/src/main/java/com/accompany/business/model/UserPurseStatisticsExample.java b/accompany-business/accompany-business-sdk/src/main/java/com/accompany/business/model/UserPurseStatisticsExample.java deleted file mode 100644 index 65335ce98..000000000 --- a/accompany-business/accompany-business-sdk/src/main/java/com/accompany/business/model/UserPurseStatisticsExample.java +++ /dev/null @@ -1,521 +0,0 @@ -package com.accompany.business.model; - -import java.util.ArrayList; -import java.util.Date; -import java.util.List; - -public class UserPurseStatisticsExample { - protected String orderByClause; - - protected boolean distinct; - - protected List oredCriteria; - - private Integer limit; - - private Integer offset; - - public UserPurseStatisticsExample() { - oredCriteria = new ArrayList(); - } - - public void setOrderByClause(String orderByClause) { - this.orderByClause = orderByClause; - } - - public String getOrderByClause() { - return orderByClause; - } - - public void setDistinct(boolean distinct) { - this.distinct = distinct; - } - - public boolean isDistinct() { - return distinct; - } - - public List getOredCriteria() { - return oredCriteria; - } - - public void or(Criteria criteria) { - oredCriteria.add(criteria); - } - - public Criteria or() { - Criteria criteria = createCriteriaInternal(); - oredCriteria.add(criteria); - return criteria; - } - - public Criteria createCriteria() { - Criteria criteria = createCriteriaInternal(); - if (oredCriteria.size() == 0) { - oredCriteria.add(criteria); - } - return criteria; - } - - protected Criteria createCriteriaInternal() { - Criteria criteria = new Criteria(); - return criteria; - } - - public void clear() { - oredCriteria.clear(); - orderByClause = null; - distinct = false; - } - - public void setLimit(Integer limit) { - this.limit = limit; - } - - public Integer getLimit() { - return limit; - } - - public void setOffset(Integer offset) { - this.offset = offset; - } - - public Integer getOffset() { - return offset; - } - - protected abstract static class GeneratedCriteria { - protected List criteria; - - protected GeneratedCriteria() { - super(); - criteria = new ArrayList(); - } - - public boolean isValid() { - return criteria.size() > 0; - } - - public List getAllCriteria() { - return criteria; - } - - public List getCriteria() { - return criteria; - } - - protected void addCriterion(String condition) { - if (condition == null) { - throw new RuntimeException("Value for condition cannot be null"); - } - criteria.add(new Criterion(condition)); - } - - protected void addCriterion(String condition, Object value, String property) { - if (value == null) { - throw new RuntimeException("Value for " + property + " cannot be null"); - } - criteria.add(new Criterion(condition, value)); - } - - protected void addCriterion(String condition, Object value1, Object value2, String property) { - if (value1 == null || value2 == null) { - throw new RuntimeException("Between values for " + property + " cannot be null"); - } - criteria.add(new Criterion(condition, value1, value2)); - } - - public Criteria andStatIdIsNull() { - addCriterion("stat_id is null"); - return (Criteria) this; - } - - public Criteria andStatIdIsNotNull() { - addCriterion("stat_id is not null"); - return (Criteria) this; - } - - public Criteria andStatIdEqualTo(Long value) { - addCriterion("stat_id =", value, "statId"); - return (Criteria) this; - } - - public Criteria andStatIdNotEqualTo(Long value) { - addCriterion("stat_id <>", value, "statId"); - return (Criteria) this; - } - - public Criteria andStatIdGreaterThan(Long value) { - addCriterion("stat_id >", value, "statId"); - return (Criteria) this; - } - - public Criteria andStatIdGreaterThanOrEqualTo(Long value) { - addCriterion("stat_id >=", value, "statId"); - return (Criteria) this; - } - - public Criteria andStatIdLessThan(Long value) { - addCriterion("stat_id <", value, "statId"); - return (Criteria) this; - } - - public Criteria andStatIdLessThanOrEqualTo(Long value) { - addCriterion("stat_id <=", value, "statId"); - return (Criteria) this; - } - - public Criteria andStatIdIn(List values) { - addCriterion("stat_id in", values, "statId"); - return (Criteria) this; - } - - public Criteria andStatIdNotIn(List values) { - addCriterion("stat_id not in", values, "statId"); - return (Criteria) this; - } - - public Criteria andStatIdBetween(Long value1, Long value2) { - addCriterion("stat_id between", value1, value2, "statId"); - return (Criteria) this; - } - - public Criteria andStatIdNotBetween(Long value1, Long value2) { - addCriterion("stat_id not between", value1, value2, "statId"); - return (Criteria) this; - } - - public Criteria andGoldNumIsNull() { - addCriterion("gold_num is null"); - return (Criteria) this; - } - - public Criteria andGoldNumIsNotNull() { - addCriterion("gold_num is not null"); - return (Criteria) this; - } - - public Criteria andGoldNumEqualTo(Long value) { - addCriterion("gold_num =", value, "goldNum"); - return (Criteria) this; - } - - public Criteria andGoldNumNotEqualTo(Long value) { - addCriterion("gold_num <>", value, "goldNum"); - return (Criteria) this; - } - - public Criteria andGoldNumGreaterThan(Long value) { - addCriterion("gold_num >", value, "goldNum"); - return (Criteria) this; - } - - public Criteria andGoldNumGreaterThanOrEqualTo(Long value) { - addCriterion("gold_num >=", value, "goldNum"); - return (Criteria) this; - } - - public Criteria andGoldNumLessThan(Long value) { - addCriterion("gold_num <", value, "goldNum"); - return (Criteria) this; - } - - public Criteria andGoldNumLessThanOrEqualTo(Long value) { - addCriterion("gold_num <=", value, "goldNum"); - return (Criteria) this; - } - - public Criteria andGoldNumIn(List values) { - addCriterion("gold_num in", values, "goldNum"); - return (Criteria) this; - } - - public Criteria andGoldNumNotIn(List values) { - addCriterion("gold_num not in", values, "goldNum"); - return (Criteria) this; - } - - public Criteria andGoldNumBetween(Long value1, Long value2) { - addCriterion("gold_num between", value1, value2, "goldNum"); - return (Criteria) this; - } - - public Criteria andGoldNumNotBetween(Long value1, Long value2) { - addCriterion("gold_num not between", value1, value2, "goldNum"); - return (Criteria) this; - } - - public Criteria andDiamondNumIsNull() { - addCriterion("diamond_num is null"); - return (Criteria) this; - } - - public Criteria andDiamondNumIsNotNull() { - addCriterion("diamond_num is not null"); - return (Criteria) this; - } - - public Criteria andDiamondNumEqualTo(Double value) { - addCriterion("diamond_num =", value, "diamondNum"); - return (Criteria) this; - } - - public Criteria andDiamondNumNotEqualTo(Double value) { - addCriterion("diamond_num <>", value, "diamondNum"); - return (Criteria) this; - } - - public Criteria andDiamondNumGreaterThan(Double value) { - addCriterion("diamond_num >", value, "diamondNum"); - return (Criteria) this; - } - - public Criteria andDiamondNumGreaterThanOrEqualTo(Double value) { - addCriterion("diamond_num >=", value, "diamondNum"); - return (Criteria) this; - } - - public Criteria andDiamondNumLessThan(Double value) { - addCriterion("diamond_num <", value, "diamondNum"); - return (Criteria) this; - } - - public Criteria andDiamondNumLessThanOrEqualTo(Double value) { - addCriterion("diamond_num <=", value, "diamondNum"); - return (Criteria) this; - } - - public Criteria andDiamondNumIn(List values) { - addCriterion("diamond_num in", values, "diamondNum"); - return (Criteria) this; - } - - public Criteria andDiamondNumNotIn(List values) { - addCriterion("diamond_num not in", values, "diamondNum"); - return (Criteria) this; - } - - public Criteria andDiamondNumBetween(Double value1, Double value2) { - addCriterion("diamond_num between", value1, value2, "diamondNum"); - return (Criteria) this; - } - - public Criteria andDiamondNumNotBetween(Double value1, Double value2) { - addCriterion("diamond_num not between", value1, value2, "diamondNum"); - return (Criteria) this; - } - - public Criteria andBackpackGoldNumIsNull() { - addCriterion("backpack_gold_num is null"); - return (Criteria) this; - } - - public Criteria andBackpackGoldNumIsNotNull() { - addCriterion("backpack_gold_num is not null"); - return (Criteria) this; - } - - public Criteria andBackpackGoldNumEqualTo(Double value) { - addCriterion("backpack_gold_num =", value, "backpackGoldNum"); - return (Criteria) this; - } - - public Criteria andBackpackGoldNumNotEqualTo(Double value) { - addCriterion("backpack_gold_num <>", value, "backpackGoldNum"); - return (Criteria) this; - } - - public Criteria andBackpackGoldNumGreaterThan(Double value) { - addCriterion("backpack_gold_num >", value, "backpackGoldNum"); - return (Criteria) this; - } - - public Criteria andBackpackGoldNumGreaterThanOrEqualTo(Double value) { - addCriterion("backpack_gold_num >=", value, "backpackGoldNum"); - return (Criteria) this; - } - - public Criteria andBackpackGoldNumLessThan(Double value) { - addCriterion("backpack_gold_num <", value, "backpackGoldNum"); - return (Criteria) this; - } - - public Criteria andBackpackGoldNumLessThanOrEqualTo(Double value) { - addCriterion("backpack_gold_num <=", value, "backpackGoldNum"); - return (Criteria) this; - } - - public Criteria andBackpackGoldNumIn(List values) { - addCriterion("backpack_gold_num in", values, "backpackGoldNum"); - return (Criteria) this; - } - - public Criteria andBackpackGoldNumNotIn(List values) { - addCriterion("backpack_gold_num not in", values, "backpackGoldNum"); - return (Criteria) this; - } - - public Criteria andBackpackGoldNumBetween(Double value1, Double value2) { - addCriterion("backpack_gold_num between", value1, value2, "backpackGoldNum"); - return (Criteria) this; - } - - public Criteria andBackpackGoldNumNotBetween(Double value1, Double value2) { - addCriterion("backpack_gold_num not between", value1, value2, "backpackGoldNum"); - return (Criteria) this; - } - - public Criteria andCreateTimeIsNull() { - addCriterion("create_time is null"); - return (Criteria) this; - } - - public Criteria andCreateTimeIsNotNull() { - addCriterion("create_time is not null"); - return (Criteria) this; - } - - public Criteria andCreateTimeEqualTo(Date value) { - addCriterion("create_time =", value, "createTime"); - return (Criteria) this; - } - - public Criteria andCreateTimeNotEqualTo(Date value) { - addCriterion("create_time <>", value, "createTime"); - return (Criteria) this; - } - - public Criteria andCreateTimeGreaterThan(Date value) { - addCriterion("create_time >", value, "createTime"); - return (Criteria) this; - } - - public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) { - addCriterion("create_time >=", value, "createTime"); - return (Criteria) this; - } - - public Criteria andCreateTimeLessThan(Date value) { - addCriterion("create_time <", value, "createTime"); - return (Criteria) this; - } - - public Criteria andCreateTimeLessThanOrEqualTo(Date value) { - addCriterion("create_time <=", value, "createTime"); - return (Criteria) this; - } - - public Criteria andCreateTimeIn(List values) { - addCriterion("create_time in", values, "createTime"); - return (Criteria) this; - } - - public Criteria andCreateTimeNotIn(List values) { - addCriterion("create_time not in", values, "createTime"); - return (Criteria) this; - } - - public Criteria andCreateTimeBetween(Date value1, Date value2) { - addCriterion("create_time between", value1, value2, "createTime"); - return (Criteria) this; - } - - public Criteria andCreateTimeNotBetween(Date value1, Date value2) { - addCriterion("create_time not between", value1, value2, "createTime"); - return (Criteria) this; - } - } - - public static class Criteria extends GeneratedCriteria { - - protected Criteria() { - super(); - } - } - - public static class Criterion { - private String condition; - - private Object value; - - private Object secondValue; - - private boolean noValue; - - private boolean singleValue; - - private boolean betweenValue; - - private boolean listValue; - - private String typeHandler; - - public String getCondition() { - return condition; - } - - public Object getValue() { - return value; - } - - public Object getSecondValue() { - return secondValue; - } - - public boolean isNoValue() { - return noValue; - } - - public boolean isSingleValue() { - return singleValue; - } - - public boolean isBetweenValue() { - return betweenValue; - } - - public boolean isListValue() { - return listValue; - } - - public String getTypeHandler() { - return typeHandler; - } - - protected Criterion(String condition) { - super(); - this.condition = condition; - this.typeHandler = null; - this.noValue = true; - } - - protected Criterion(String condition, Object value, String typeHandler) { - super(); - this.condition = condition; - this.value = value; - this.typeHandler = typeHandler; - if (value instanceof List) { - this.listValue = true; - } else { - this.singleValue = true; - } - } - - protected Criterion(String condition, Object value) { - this(condition, value, null); - } - - protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { - super(); - this.condition = condition; - this.value = value; - this.secondValue = secondValue; - this.typeHandler = typeHandler; - this.betweenValue = true; - } - - protected Criterion(String condition, Object value, Object secondValue) { - this(condition, value, secondValue, null); - } - } -} \ No newline at end of file diff --git a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/mybatismapper/DiamondStatMapper.java b/accompany-business/accompany-business-service/src/main/java/com/accompany/business/mybatismapper/DiamondStatMapper.java new file mode 100644 index 000000000..d97a10504 --- /dev/null +++ b/accompany-business/accompany-business-service/src/main/java/com/accompany/business/mybatismapper/DiamondStatMapper.java @@ -0,0 +1,16 @@ +package com.accompany.business.mybatismapper; + +import com.accompany.business.dto.DiamondStatDto; +import com.accompany.business.model.DiamondStat; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface DiamondStatMapper extends BaseMapper { + + List statRemainDiamond(@Param("partitionIds") List partitionIds); + +} diff --git a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/mybatismapper/UserPurseMapper.java b/accompany-business/accompany-business-service/src/main/java/com/accompany/business/mybatismapper/UserPurseMapper.java index 216e1f06e..e40e0dd63 100644 --- a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/mybatismapper/UserPurseMapper.java +++ b/accompany-business/accompany-business-service/src/main/java/com/accompany/business/mybatismapper/UserPurseMapper.java @@ -41,4 +41,5 @@ public interface UserPurseMapper extends BaseMapper { int excGoldToGuildUsd(@Param("uid") Long uid, @Param("goldNum") Double goldNum, @Param("guildUsdNum") Double guildUsdNum); UserPurse queryByUid(@Param("uid") Long uid); + } \ No newline at end of file diff --git a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/mybatismapper/UserPurseMapperExpand.java b/accompany-business/accompany-business-service/src/main/java/com/accompany/business/mybatismapper/UserPurseMapperExpand.java deleted file mode 100644 index f56055ea1..000000000 --- a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/mybatismapper/UserPurseMapperExpand.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.accompany.business.mybatismapper; - -import com.accompany.business.model.FinanceGoldDiamond; -import org.apache.ibatis.annotations.Param; - -public interface UserPurseMapperExpand { - - Long getAllUserNum ( ); - - Long getConsumeUserNum ( ); - - int updatePurseGold(@Param("num") Long num, @Param("uid") Long uid); - - int updatePurseDiamond(@Param("num") Double num, @Param("uid") Long uid); - - /** - * 统计所有用户的金币钻石总余额 - * - * @return - */ - FinanceGoldDiamond getAllUserTypeNum(); -} \ No newline at end of file diff --git a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/mybatismapper/UserPurseMapperMgr.java b/accompany-business/accompany-business-service/src/main/java/com/accompany/business/mybatismapper/UserPurseMapperMgr.java deleted file mode 100644 index cc1bc9170..000000000 --- a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/mybatismapper/UserPurseMapperMgr.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.accompany.business.mybatismapper; - - -import org.apache.ibatis.annotations.Param; - -import java.util.Map; - -public interface UserPurseMapperMgr { - - int updateAddDiamonds(@Param("uid") Long uid, @Param("goldNum") Long goldNum); - - /** - * 扣减普通金币 - * - * @param uid - * @param goldNum - * @return - */ - int updateMinusDiamonds(@Param("uid") Long uid, @Param("goldNum") Long goldNum); - - int updateAddCrystals(@Param("uid") Long uid, @Param("diamondNum") double diamondNum); - - int updateMinusCrystals(@Param("uid") Long uid, @Param("diamondNum") double diamondNum); - - int updateAddGolds(@Param("uid") Long uid, @Param("num") double num); - - int updateMinusGolds(@Param("uid") Long uid, @Param("num") double num); - - /** - * 兑换钻石为金币 - * - * @param uid - * @param diamonNum - * @param goldNum - * @return - */ - int exchangeGoldsToDiamonds(@Param("uid") Long uid, @Param("diamonNum") Double diamonNum, @Param("goldNum") Double goldNum); - - int exchangeCrystalsToDiamonds(@Param("uid") Long uid, @Param("diamonNum") Double diamonNum, @Param("goldNum") Double goldNum); - - Map sumGoldNumAndDiamondNum(); -} \ No newline at end of file diff --git a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/mybatismapper/UserPurseStatisticsMapper.java b/accompany-business/accompany-business-service/src/main/java/com/accompany/business/mybatismapper/UserPurseStatisticsMapper.java deleted file mode 100644 index 0290eefe0..000000000 --- a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/mybatismapper/UserPurseStatisticsMapper.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.accompany.business.mybatismapper; - -import com.accompany.business.model.UserPurseStatistics; -import com.accompany.business.model.UserPurseStatisticsExample; -import org.apache.ibatis.annotations.Param; - -import java.util.List; - -public interface UserPurseStatisticsMapper { - int countByExample(UserPurseStatisticsExample example); - - int deleteByExample(UserPurseStatisticsExample example); - - int deleteByPrimaryKey(Long statId); - - int insert(UserPurseStatistics record); - - int insertSelective(UserPurseStatistics record); - - List selectByExample(UserPurseStatisticsExample example); - - UserPurseStatistics selectByPrimaryKey(Long statId); - - int updateByExampleSelective(@Param("record") UserPurseStatistics record, @Param("example") UserPurseStatisticsExample example); - - int updateByExample(@Param("record") UserPurseStatistics record, @Param("example") UserPurseStatisticsExample example); - - int updateByPrimaryKeySelective(UserPurseStatistics record); - - int updateByPrimaryKey(UserPurseStatistics record); -} \ No newline at end of file diff --git a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/DiamondStatService.java b/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/DiamondStatService.java new file mode 100644 index 000000000..2cfcbb3ba --- /dev/null +++ b/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/DiamondStatService.java @@ -0,0 +1,129 @@ +package com.accompany.business.service; + +import com.accompany.business.dto.DiamondStatDto; +import com.accompany.business.model.DiamondStat; +import com.accompany.business.mybatismapper.DiamondStatMapper; +import com.accompany.common.utils.DateTimeUtil; +import com.accompany.core.enumeration.BillDomainTypeEnum; +import com.accompany.core.enumeration.BillObjTypeEnum; +import com.accompany.core.enumeration.PartitionEnum; +import com.accompany.sharding.mapper.BillRecordMapper; +import com.accompany.sharding.vo.DiamondBillRecordStatVo; +import com.alibaba.fastjson.JSON; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; + +import java.math.BigDecimal; +import java.time.ZoneId; +import java.time.ZonedDateTime; +import java.util.*; +import java.util.stream.Collectors; + +@Service +public class DiamondStatService { + + @Autowired + private DiamondStatMapper diamondStatMapper; + @Autowired + private BillRecordMapper billRecordMapper; + + public void stat(List partitionIds){ + List diamondStatDtoList = diamondStatMapper.statRemainDiamond(partitionIds); + Map diamondStatDtoMap = !CollectionUtils.isEmpty(diamondStatDtoList)? + diamondStatDtoList.stream().collect(Collectors.toMap(DiamondStatDto::getPartitionId, d->d)): + Collections.emptyMap(); + + ZonedDateTime hourAgo = DateTimeUtil.convertWithZoneId(new Date(), PartitionEnum.ENGLISH.getZoneId()); + // 获取当天的第一秒 + ZonedDateTime startOfDay = hourAgo.withHour(0).withMinute(0).withSecond(0).withNano(0); + Date systemStartTime = DateTimeUtil.converLocalDateTimeToDate(startOfDay.withZoneSameInstant(ZoneId.systemDefault()).toLocalDateTime()); + + // 获取当天的最后一秒 + ZonedDateTime endOfDay = hourAgo.withHour(23).withMinute(59).withSecond(59).withNano(999999999); + Date systemEndTime = DateTimeUtil.converLocalDateTimeToDate(endOfDay.withZoneSameInstant(ZoneId.systemDefault()).toLocalDateTime()); + + List diamondBillRecordStatVoList = billRecordMapper.statDiamondBillRecord(partitionIds, systemStartTime, systemEndTime); + Map> diamondBillRecordStatVoMap = !CollectionUtils.isEmpty(diamondBillRecordStatVoList)? + diamondBillRecordStatVoList.stream().collect(Collectors.groupingBy(DiamondBillRecordStatVo::getPartitionId)): + Collections.emptyMap(); + + String dateStr = hourAgo.format(DateTimeUtil.dateFormatter); + DiamondStat diamondStat = diamondStatMapper.selectById(dateStr); + if (null == diamondStat){ + diamondStat = new DiamondStat(); + diamondStat.setDate(dateStr); + diamondStat.setTotalDiamond(BigDecimal.ZERO); + diamondStat.setEnDiamond(BigDecimal.ZERO); + diamondStat.setArDiamond(BigDecimal.ZERO); + diamondStat.setZhDiamond(BigDecimal.ZERO); + diamondStat.setTrDiamond(BigDecimal.ZERO); + + diamondStat.setTotalRemainDiamond(BigDecimal.ZERO); + diamondStat.setEnRemainDiamond(BigDecimal.ZERO); + diamondStat.setArRemainDiamond(BigDecimal.ZERO); + diamondStat.setZhRemainDiamond(BigDecimal.ZERO); + diamondStat.setTrRemainDiamond(BigDecimal.ZERO); + } + + for (Integer partitionId : partitionIds) { + DiamondStatDto statDto = diamondStatDtoMap.get(partitionId); + if (null != statDto){ + diamondStat.setTotalRemainDiamond(diamondStat.getTotalRemainDiamond().add(statDto.getTotalDiamond())); + if (PartitionEnum.ENGLISH.getId() == partitionId){ + diamondStat.setEnRemainDiamond(statDto.getTotalDiamond()); + } else if (PartitionEnum.ARAB.getId() == partitionId) { + diamondStat.setArRemainDiamond(statDto.getTotalDiamond()); + } else if (PartitionEnum.CHINESS.getId() == partitionId) { + diamondStat.setZhRemainDiamond(statDto.getTotalDiamond()); + } else if (PartitionEnum.TURKEY.getId() == partitionId) { + diamondStat.setArRemainDiamond(statDto.getTotalDiamond()); + } + } + + List statVoList = diamondBillRecordStatVoMap.get(partitionId); + if (!CollectionUtils.isEmpty(statVoList)){ + BigDecimal totalDiamond = BigDecimal.ZERO; + Map domainMap = new HashMap<>(); + for (DiamondBillRecordStatVo statVo : statVoList){ + BillObjTypeEnum billObjTypeEnum = BillObjTypeEnum.get(statVo.getObjType()); + BillDomainTypeEnum domainTypeEnum = billObjTypeEnum.getDomain(); + + DiamondStatDto domainStatDto = domainMap.get(domainTypeEnum.getValue()); + if (null == domainStatDto){ + domainStatDto = new DiamondStatDto(); + domainStatDto.setDomainType(domainTypeEnum.getValue()); + domainStatDto.setDomainDesc(domainTypeEnum.getDesc()); + + domainMap.put(domainTypeEnum.getValue(), domainStatDto); + } + + if (BigDecimal.ZERO.compareTo(statVo.getTotalDiamond()) <= 0){ + domainStatDto.setAddDiamond(statVo.getTotalDiamond()); + } else { + domainStatDto.setSubDiamond(statVo.getTotalDiamond()); + } + + totalDiamond = totalDiamond.add(statVo.getTotalDiamond()); + } + + if (PartitionEnum.ENGLISH.getId() == partitionId){ + diamondStat.setEnDiamond(totalDiamond); + diamondStat.setEnDomainDetail(JSON.toJSONString(domainMap.values())); + } else if (PartitionEnum.ARAB.getId() == partitionId) { + diamondStat.setArDiamond(totalDiamond); + diamondStat.setArDomainDetail(JSON.toJSONString(domainMap.values())); + } else if (PartitionEnum.CHINESS.getId() == partitionId) { + diamondStat.setZhDiamond(totalDiamond); + diamondStat.setZhDomainDetail(JSON.toJSONString(domainMap.values())); + } else if (PartitionEnum.TURKEY.getId() == partitionId) { + diamondStat.setTrDiamond(totalDiamond); + diamondStat.setTrDomainDetail(JSON.toJSONString(domainMap.values())); + } + } + } + + diamondStatMapper.insertOrUpdate(diamondStat); + } + +} diff --git a/accompany-business/accompany-business-service/src/main/resources/accompany/sqlmappers/DiamondStatMapper.xml b/accompany-business/accompany-business-service/src/main/resources/accompany/sqlmappers/DiamondStatMapper.xml new file mode 100644 index 000000000..fdddfc01f --- /dev/null +++ b/accompany-business/accompany-business-service/src/main/resources/accompany/sqlmappers/DiamondStatMapper.xml @@ -0,0 +1,14 @@ + + + + + + + \ No newline at end of file diff --git a/accompany-business/accompany-business-service/src/main/resources/accompany/sqlmappers/UserPurseMapper.xml b/accompany-business/accompany-business-service/src/main/resources/accompany/sqlmappers/UserPurseMapper.xml index a61926420..90e071b5f 100644 --- a/accompany-business/accompany-business-service/src/main/resources/accompany/sqlmappers/UserPurseMapper.xml +++ b/accompany-business/accompany-business-service/src/main/resources/accompany/sqlmappers/UserPurseMapper.xml @@ -69,9 +69,18 @@ where uid=#{uid} and golds >= #{goldNum}; - + + + \ No newline at end of file diff --git a/accompany-business/accompany-business-service/src/main/resources/accompany/sqlmappers/UserPurseMapperExpand.xml b/accompany-business/accompany-business-service/src/main/resources/accompany/sqlmappers/UserPurseMapperExpand.xml deleted file mode 100644 index 56b413688..000000000 --- a/accompany-business/accompany-business-service/src/main/resources/accompany/sqlmappers/UserPurseMapperExpand.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - update user_purse set gold_num=gold_num + #{num},update_time=now() where uid=#{uid} - - - - update user_purse set diamond_num=diamond_num + #{num},update_time=now() where uid=#{uid} - - - \ No newline at end of file diff --git a/accompany-business/accompany-business-service/src/main/resources/accompany/sqlmappers/UserPurseMapperMgr.xml b/accompany-business/accompany-business-service/src/main/resources/accompany/sqlmappers/UserPurseMapperMgr.xml deleted file mode 100644 index a6a52c9c7..000000000 --- a/accompany-business/accompany-business-service/src/main/resources/accompany/sqlmappers/UserPurseMapperMgr.xml +++ /dev/null @@ -1,45 +0,0 @@ - - - - - update user_purse set diamonds = diamonds + #{goldNum},update_time=now(),first_charge=0 - where uid=#{uid} - - - - update user_purse set diamonds=diamonds - #{goldNum},update_time=now() - where uid=#{uid} and diamonds - #{goldNum}>=0 - - - - update user_purse set crystals =crystals + #{diamondNum},update_time=now() where uid=#{uid} - - - - update user_purse set crystals=crystals - #{diamondNum},update_time=now() where uid=#{uid} - and crystals >= #{diamondNum} - - - - update user_purse set golds =golds + #{num},update_time=now() where uid=#{uid} - - - - update user_purse set golds=golds - #{num},update_time=now() where uid=#{uid} - and golds >= #{num} - - - - update user_purse set crystals =crystals - #{diamonNum},diamonds = diamonds + #{goldNum} - , update_time=now() where uid=#{uid} and crystals >= #{diamonNum} - - - - update user_purse set golds = golds - #{diamonNum},diamonds = diamonds + #{goldNum} - , update_time=now() where uid=#{uid} and golds >= #{diamonNum} - - - - \ No newline at end of file diff --git a/accompany-business/accompany-business-service/src/main/resources/accompany/sqlmappers/UserPurseStatisticsMapper.xml b/accompany-business/accompany-business-service/src/main/resources/accompany/sqlmappers/UserPurseStatisticsMapper.xml deleted file mode 100644 index 5a57547d9..000000000 --- a/accompany-business/accompany-business-service/src/main/resources/accompany/sqlmappers/UserPurseStatisticsMapper.xml +++ /dev/null @@ -1,214 +0,0 @@ - - - - - - - - - - - - - - - - - - - and ${criterion.condition} - - - and ${criterion.condition} #{criterion.value} - - - and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} - - - and ${criterion.condition} - - #{listItem} - - - - - - - - - - - - - - - - - - and ${criterion.condition} - - - and ${criterion.condition} #{criterion.value} - - - and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} - - - and ${criterion.condition} - - #{listItem} - - - - - - - - - - - stat_id, gold_num, diamond_num, backpack_gold_num, create_time - - - - - delete from user_purse_statistics - where stat_id = #{statId,jdbcType=BIGINT} - - - delete from user_purse_statistics - - - - - - insert into user_purse_statistics (gold_num, diamond_num, backpack_gold_num, - create_time) - values (#{goldNum,jdbcType=BIGINT}, #{diamondNum,jdbcType=DOUBLE}, #{backpackGoldNum,jdbcType=DOUBLE}, - #{createTime,jdbcType=TIMESTAMP}) - - - insert into user_purse_statistics - - - gold_num, - - - diamond_num, - - - backpack_gold_num, - - - create_time, - - - - - #{goldNum,jdbcType=BIGINT}, - - - #{diamondNum,jdbcType=DOUBLE}, - - - #{backpackGoldNum,jdbcType=DOUBLE}, - - - #{createTime,jdbcType=TIMESTAMP}, - - - - - - update user_purse_statistics - - - stat_id = #{record.statId,jdbcType=BIGINT}, - - - gold_num = #{record.goldNum,jdbcType=BIGINT}, - - - diamond_num = #{record.diamondNum,jdbcType=DOUBLE}, - - - backpack_gold_num = #{record.backpackGoldNum,jdbcType=DOUBLE}, - - - create_time = #{record.createTime,jdbcType=TIMESTAMP}, - - - - - - - - update user_purse_statistics - set stat_id = #{record.statId,jdbcType=BIGINT}, - gold_num = #{record.goldNum,jdbcType=BIGINT}, - diamond_num = #{record.diamondNum,jdbcType=DOUBLE}, - backpack_gold_num = #{record.backpackGoldNum,jdbcType=DOUBLE}, - create_time = #{record.createTime,jdbcType=TIMESTAMP} - - - - - - update user_purse_statistics - - - gold_num = #{goldNum,jdbcType=BIGINT}, - - - diamond_num = #{diamondNum,jdbcType=DOUBLE}, - - - backpack_gold_num = #{backpackGoldNum,jdbcType=DOUBLE}, - - - create_time = #{createTime,jdbcType=TIMESTAMP}, - - - where stat_id = #{statId,jdbcType=BIGINT} - - - update user_purse_statistics - set gold_num = #{goldNum,jdbcType=BIGINT}, - diamond_num = #{diamondNum,jdbcType=DOUBLE}, - backpack_gold_num = #{backpackGoldNum,jdbcType=DOUBLE}, - create_time = #{createTime,jdbcType=TIMESTAMP} - where stat_id = #{statId,jdbcType=BIGINT} - - \ No newline at end of file diff --git a/accompany-scheduler/accompany-scheduler-service/src/main/java/com/accompany/scheduler/task/BillTask.java b/accompany-scheduler/accompany-scheduler-service/src/main/java/com/accompany/scheduler/task/BillTask.java index 3ffe108e8..2d31c0ff0 100644 --- a/accompany-scheduler/accompany-scheduler-service/src/main/java/com/accompany/scheduler/task/BillTask.java +++ b/accompany-scheduler/accompany-scheduler-service/src/main/java/com/accompany/scheduler/task/BillTask.java @@ -44,29 +44,4 @@ public class BillTask extends BaseTask { }); log.info("retryBillQueue end ..."); } - - @Autowired - private GiftService giftService; - - /** - * 礼物上线定时任务 - * 每分钟的第1s执行一次 - */ - @Scheduled(cron = "1 */1 * * * ?") - public void GiftOnline() { - log.info("onLine gift task start"); - int num = giftService.onLineAllInTimeGift(); - log.info("onLine gift task end, onLine gift num = {} ", num); - } - - /** - * 礼物下线定时任务 - * 每分钟的第1s执行一次 - */ - @Scheduled(cron = "1 */1 * * * ?") - public void GiftOffline() { - log.info("offLine gift task start"); - int num = giftService.offLineAllOutTimeGift(); - log.info("offLine gift task end, offLine gift num = {} ", num); - } } diff --git a/accompany-scheduler/accompany-scheduler-service/src/main/java/com/accompany/scheduler/task/DiamondStatTask.java b/accompany-scheduler/accompany-scheduler-service/src/main/java/com/accompany/scheduler/task/DiamondStatTask.java new file mode 100644 index 000000000..ea6aecbdd --- /dev/null +++ b/accompany-scheduler/accompany-scheduler-service/src/main/java/com/accompany/scheduler/task/DiamondStatTask.java @@ -0,0 +1,32 @@ +package com.accompany.scheduler.task; + +import com.accompany.business.service.DiamondStatService; +import com.accompany.core.enumeration.PartitionEnum; +import com.accompany.scheduler.base.BaseTask; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; + +import java.util.*; + +@Component +@Slf4j +public class DiamondStatTask extends BaseTask { + + @Autowired + private DiamondStatService service; + + @Scheduled(cron = "0 0 0 * * ?") + public void statEn() { + List partitionIds = List.of(PartitionEnum.ENGLISH.getId(), PartitionEnum.CHINESS.getId()); + service.stat(partitionIds); + } + + @Scheduled(cron = "0 0 5 * * ?") + public void statAr() { + List partitionIds = List.of(PartitionEnum.ARAB.getId(), PartitionEnum.TURKEY.getId()); + service.stat(partitionIds); + } + +} diff --git a/accompany-scheduler/accompany-scheduler-web/src/main/java/com/accompany/scheduler/config/RocketMQConfiguration.java b/accompany-scheduler/accompany-scheduler-web/src/main/java/com/accompany/scheduler/config/RocketMQConfiguration.java deleted file mode 100644 index 62383ebb5..000000000 --- a/accompany-scheduler/accompany-scheduler-web/src/main/java/com/accompany/scheduler/config/RocketMQConfiguration.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.accompany.scheduler.config; - -import com.accompany.mq.producer.MQMessageProducer; -import lombok.extern.slf4j.Slf4j; -import org.apache.rocketmq.spring.core.RocketMQTemplate; -import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; - -/** - * @author: liaozetao - * @date: 2023/12/13 11:10 - * @description: - */ -@Slf4j -@Configuration -@ConditionalOnClass(value = RocketMQTemplate.class) -public class RocketMQConfiguration { - - @Bean - public MQMessageProducer mqMessageProducer(RocketMQTemplate rocketMQTemplate) { - return new MQMessageProducer(rocketMQTemplate); - } -}