家族收入流水
This commit is contained in:
@@ -246,6 +246,18 @@
|
||||
9BEE3D11278584FE00C83219 /* XPNobleCenterEmptyView.m in Sources */ = {isa = PBXBuildFile; fileRef = 9BEE3D10278584FE00C83219 /* XPNobleCenterEmptyView.m */; };
|
||||
9BEE3D142785884A00C83219 /* XPNobleCenterResidueView.m in Sources */ = {isa = PBXBuildFile; fileRef = 9BEE3D132785884A00C83219 /* XPNobleCenterResidueView.m */; };
|
||||
9BEE3D1727858E5700C83219 /* XPNobleAuthorityDescView.m in Sources */ = {isa = PBXBuildFile; fileRef = 9BEE3D1627858E5700C83219 /* XPNobleAuthorityDescView.m */; };
|
||||
E80016232803CA5D00D6D17A /* XPMineGuildIncomeRecordViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E80016222803CA5D00D6D17A /* XPMineGuildIncomeRecordViewController.m */; };
|
||||
E80016262803CB2800D6D17A /* XPGuildIncomeHeaderView.m in Sources */ = {isa = PBXBuildFile; fileRef = E80016252803CB2800D6D17A /* XPGuildIncomeHeaderView.m */; };
|
||||
E80016292803D5C500D6D17A /* XPGuildIncomeRecordTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E80016282803D5C500D6D17A /* XPGuildIncomeRecordTableViewCell.m */; };
|
||||
E800162C2803FE4900D6D17A /* GuildIncomeRecordModel.m in Sources */ = {isa = PBXBuildFile; fileRef = E800162B2803FE4900D6D17A /* GuildIncomeRecordModel.m */; };
|
||||
E800162F2803FF6200D6D17A /* GuildPersonIncomeRecordModel.m in Sources */ = {isa = PBXBuildFile; fileRef = E800162E2803FF6200D6D17A /* GuildPersonIncomeRecordModel.m */; };
|
||||
E8001632280409FD00D6D17A /* XPGuildPersonIncomeTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E8001631280409FD00D6D17A /* XPGuildPersonIncomeTableViewCell.m */; };
|
||||
E8001635280410BD00D6D17A /* XPGuildIncomeSectionView.m in Sources */ = {isa = PBXBuildFile; fileRef = E8001634280410BD00D6D17A /* XPGuildIncomeSectionView.m */; };
|
||||
E80016382804140D00D6D17A /* XPMineGuildIncomeStatisViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E80016372804140D00D6D17A /* XPMineGuildIncomeStatisViewController.m */; };
|
||||
E800163B28041F7B00D6D17A /* XPGuildSingleRoomIncomeTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E800163A28041F7B00D6D17A /* XPGuildSingleRoomIncomeTableViewCell.m */; };
|
||||
E80016422804228100D6D17A /* XPGuildIncomePresenter.m in Sources */ = {isa = PBXBuildFile; fileRef = E80016412804228100D6D17A /* XPGuildIncomePresenter.m */; };
|
||||
E80016452804268E00D6D17A /* XPMineClanIncomeStatisViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E80016442804268E00D6D17A /* XPMineClanIncomeStatisViewController.m */; };
|
||||
E8001648280426CB00D6D17A /* XPMineAnchorIncomeStatisViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E8001647280426CB00D6D17A /* XPMineAnchorIncomeStatisViewController.m */; };
|
||||
E800805A27FD34DE0055A8AB /* XPMineClanViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E800805927FD34DE0055A8AB /* XPMineClanViewController.m */; };
|
||||
E800805D27FD34E90055A8AB /* XPMineGuildViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E800805C27FD34E90055A8AB /* XPMineGuildViewController.m */; };
|
||||
E800806227FD373D0055A8AB /* XPClanMemberTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E800806127FD373D0055A8AB /* XPClanMemberTableViewCell.m */; };
|
||||
@@ -1146,6 +1158,31 @@
|
||||
9BEE3D1627858E5700C83219 /* XPNobleAuthorityDescView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPNobleAuthorityDescView.m; sourceTree = "<group>"; };
|
||||
B66633E061B1B34177CD011C /* Pods-xplan-ios.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-xplan-ios.release.xcconfig"; path = "Target Support Files/Pods-xplan-ios/Pods-xplan-ios.release.xcconfig"; sourceTree = "<group>"; };
|
||||
CACF623970097D653132D69A /* Pods_xplan_ios.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_xplan_ios.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
E80016212803CA5D00D6D17A /* XPMineGuildIncomeRecordViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPMineGuildIncomeRecordViewController.h; sourceTree = "<group>"; };
|
||||
E80016222803CA5D00D6D17A /* XPMineGuildIncomeRecordViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPMineGuildIncomeRecordViewController.m; sourceTree = "<group>"; };
|
||||
E80016242803CB2800D6D17A /* XPGuildIncomeHeaderView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPGuildIncomeHeaderView.h; sourceTree = "<group>"; };
|
||||
E80016252803CB2800D6D17A /* XPGuildIncomeHeaderView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPGuildIncomeHeaderView.m; sourceTree = "<group>"; };
|
||||
E80016272803D5C500D6D17A /* XPGuildIncomeRecordTableViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPGuildIncomeRecordTableViewCell.h; sourceTree = "<group>"; };
|
||||
E80016282803D5C500D6D17A /* XPGuildIncomeRecordTableViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPGuildIncomeRecordTableViewCell.m; sourceTree = "<group>"; };
|
||||
E800162A2803FE4900D6D17A /* GuildIncomeRecordModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GuildIncomeRecordModel.h; sourceTree = "<group>"; };
|
||||
E800162B2803FE4900D6D17A /* GuildIncomeRecordModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = GuildIncomeRecordModel.m; sourceTree = "<group>"; };
|
||||
E800162D2803FF6200D6D17A /* GuildPersonIncomeRecordModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GuildPersonIncomeRecordModel.h; sourceTree = "<group>"; };
|
||||
E800162E2803FF6200D6D17A /* GuildPersonIncomeRecordModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = GuildPersonIncomeRecordModel.m; sourceTree = "<group>"; };
|
||||
E8001630280409FD00D6D17A /* XPGuildPersonIncomeTableViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPGuildPersonIncomeTableViewCell.h; sourceTree = "<group>"; };
|
||||
E8001631280409FD00D6D17A /* XPGuildPersonIncomeTableViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPGuildPersonIncomeTableViewCell.m; sourceTree = "<group>"; };
|
||||
E8001633280410BD00D6D17A /* XPGuildIncomeSectionView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPGuildIncomeSectionView.h; sourceTree = "<group>"; };
|
||||
E8001634280410BD00D6D17A /* XPGuildIncomeSectionView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPGuildIncomeSectionView.m; sourceTree = "<group>"; };
|
||||
E80016362804140D00D6D17A /* XPMineGuildIncomeStatisViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPMineGuildIncomeStatisViewController.h; sourceTree = "<group>"; };
|
||||
E80016372804140D00D6D17A /* XPMineGuildIncomeStatisViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPMineGuildIncomeStatisViewController.m; sourceTree = "<group>"; };
|
||||
E800163928041F7B00D6D17A /* XPGuildSingleRoomIncomeTableViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPGuildSingleRoomIncomeTableViewCell.h; sourceTree = "<group>"; };
|
||||
E800163A28041F7B00D6D17A /* XPGuildSingleRoomIncomeTableViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPGuildSingleRoomIncomeTableViewCell.m; sourceTree = "<group>"; };
|
||||
E800163F2804226500D6D17A /* XPGuildIncomeProtocol.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPGuildIncomeProtocol.h; sourceTree = "<group>"; };
|
||||
E80016402804228100D6D17A /* XPGuildIncomePresenter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPGuildIncomePresenter.h; sourceTree = "<group>"; };
|
||||
E80016412804228100D6D17A /* XPGuildIncomePresenter.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPGuildIncomePresenter.m; sourceTree = "<group>"; };
|
||||
E80016432804268E00D6D17A /* XPMineClanIncomeStatisViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPMineClanIncomeStatisViewController.h; sourceTree = "<group>"; };
|
||||
E80016442804268E00D6D17A /* XPMineClanIncomeStatisViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPMineClanIncomeStatisViewController.m; sourceTree = "<group>"; };
|
||||
E8001646280426CB00D6D17A /* XPMineAnchorIncomeStatisViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPMineAnchorIncomeStatisViewController.h; sourceTree = "<group>"; };
|
||||
E8001647280426CB00D6D17A /* XPMineAnchorIncomeStatisViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPMineAnchorIncomeStatisViewController.m; sourceTree = "<group>"; };
|
||||
E800805827FD34DE0055A8AB /* XPMineClanViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPMineClanViewController.h; sourceTree = "<group>"; };
|
||||
E800805927FD34DE0055A8AB /* XPMineClanViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPMineClanViewController.m; sourceTree = "<group>"; };
|
||||
E800805B27FD34E90055A8AB /* XPMineGuildViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPMineGuildViewController.h; sourceTree = "<group>"; };
|
||||
@@ -3394,6 +3431,7 @@
|
||||
E8834E4928003E390029CCC1 /* XPGuildManagerListProtocol.h */,
|
||||
E8834E4D28003E660029CCC1 /* XPGuildSetManagerProtocol.h */,
|
||||
E8834E572800586C0029CCC1 /* XPGuildManagerPerProtocol.h */,
|
||||
E800163F2804226500D6D17A /* XPGuildIncomeProtocol.h */,
|
||||
);
|
||||
path = Protocol;
|
||||
sourceTree = "<group>";
|
||||
@@ -3417,6 +3455,8 @@
|
||||
E8834E4B28003E4E0029CCC1 /* XPMineManagerSetPresenter.m */,
|
||||
E8834E542800585A0029CCC1 /* XPGuildManagerPerPresenter.h */,
|
||||
E8834E552800585A0029CCC1 /* XPGuildManagerPerPresenter.m */,
|
||||
E80016402804228100D6D17A /* XPGuildIncomePresenter.h */,
|
||||
E80016412804228100D6D17A /* XPGuildIncomePresenter.m */,
|
||||
);
|
||||
path = Presenter;
|
||||
sourceTree = "<group>";
|
||||
@@ -3442,6 +3482,14 @@
|
||||
E8834E4128003A270029CCC1 /* XPMineGuildManagerSetViewController.m */,
|
||||
E8834E4E280051600029CCC1 /* XPMineGuildManagerPerViewController.h */,
|
||||
E8834E4F280051600029CCC1 /* XPMineGuildManagerPerViewController.m */,
|
||||
E80016212803CA5D00D6D17A /* XPMineGuildIncomeRecordViewController.h */,
|
||||
E80016222803CA5D00D6D17A /* XPMineGuildIncomeRecordViewController.m */,
|
||||
E80016362804140D00D6D17A /* XPMineGuildIncomeStatisViewController.h */,
|
||||
E80016372804140D00D6D17A /* XPMineGuildIncomeStatisViewController.m */,
|
||||
E80016432804268E00D6D17A /* XPMineClanIncomeStatisViewController.h */,
|
||||
E80016442804268E00D6D17A /* XPMineClanIncomeStatisViewController.m */,
|
||||
E8001646280426CB00D6D17A /* XPMineAnchorIncomeStatisViewController.h */,
|
||||
E8001647280426CB00D6D17A /* XPMineAnchorIncomeStatisViewController.m */,
|
||||
);
|
||||
path = View;
|
||||
sourceTree = "<group>";
|
||||
@@ -3461,6 +3509,10 @@
|
||||
E8834E3127FFD64F0029CCC1 /* GuildAuthModel.m */,
|
||||
E8834E3628000CB50029CCC1 /* GuildSearchUserInfoModel.h */,
|
||||
E8834E3728000CB50029CCC1 /* GuildSearchUserInfoModel.m */,
|
||||
E800162A2803FE4900D6D17A /* GuildIncomeRecordModel.h */,
|
||||
E800162B2803FE4900D6D17A /* GuildIncomeRecordModel.m */,
|
||||
E800162D2803FF6200D6D17A /* GuildPersonIncomeRecordModel.h */,
|
||||
E800162E2803FF6200D6D17A /* GuildPersonIncomeRecordModel.m */,
|
||||
);
|
||||
path = Model;
|
||||
sourceTree = "<group>";
|
||||
@@ -3487,6 +3539,12 @@
|
||||
E8834E34280009090029CCC1 /* XPMineGuildSearchMemberTableViewCell.m */,
|
||||
E8834E51280052580029CCC1 /* XPMineGuildManagerPerTableViewCell.h */,
|
||||
E8834E52280052580029CCC1 /* XPMineGuildManagerPerTableViewCell.m */,
|
||||
E80016272803D5C500D6D17A /* XPGuildIncomeRecordTableViewCell.h */,
|
||||
E80016282803D5C500D6D17A /* XPGuildIncomeRecordTableViewCell.m */,
|
||||
E8001630280409FD00D6D17A /* XPGuildPersonIncomeTableViewCell.h */,
|
||||
E8001631280409FD00D6D17A /* XPGuildPersonIncomeTableViewCell.m */,
|
||||
E800163928041F7B00D6D17A /* XPGuildSingleRoomIncomeTableViewCell.h */,
|
||||
E800163A28041F7B00D6D17A /* XPGuildSingleRoomIncomeTableViewCell.m */,
|
||||
);
|
||||
path = Cell;
|
||||
sourceTree = "<group>";
|
||||
@@ -3502,6 +3560,10 @@
|
||||
E800808727FDA5100055A8AB /* XPClanSectionView.m */,
|
||||
E851E45D27FF0FEB002F3ACB /* XPGuildSearchNavView.h */,
|
||||
E851E45E27FF0FEB002F3ACB /* XPGuildSearchNavView.m */,
|
||||
E80016242803CB2800D6D17A /* XPGuildIncomeHeaderView.h */,
|
||||
E80016252803CB2800D6D17A /* XPGuildIncomeHeaderView.m */,
|
||||
E8001633280410BD00D6D17A /* XPGuildIncomeSectionView.h */,
|
||||
E8001634280410BD00D6D17A /* XPGuildIncomeSectionView.m */,
|
||||
);
|
||||
path = SubViews;
|
||||
sourceTree = "<group>";
|
||||
@@ -5776,6 +5838,7 @@
|
||||
180116F9279E8C4C00F2CBC0 /* PLTimeUtil.m in Sources */,
|
||||
E8834E4828003E1E0029CCC1 /* XPGuildMangerListPresenter.m in Sources */,
|
||||
E8ACEFF227C8E8F000F66D1A /* HomePlayRoomModel.m in Sources */,
|
||||
E80016232803CA5D00D6D17A /* XPMineGuildIncomeRecordViewController.m in Sources */,
|
||||
E8252FEE27687DF1002B3164 /* ActivityInfoModel.m in Sources */,
|
||||
E84BF7D1277BFCDD00EF8877 /* RoomTagModel.m in Sources */,
|
||||
E8AC723526F49939007D6E91 /* XPMineNotificaPresenter.m in Sources */,
|
||||
@@ -5804,6 +5867,7 @@
|
||||
E8A1E45B27620F4900B294CA /* XPRoomHalfWebView.m in Sources */,
|
||||
9B7D80562753C595003DAC0C /* SendMessageView.m in Sources */,
|
||||
E8A86E0527BA38DB001C21F9 /* NSString+RW.m in Sources */,
|
||||
E800162C2803FE4900D6D17A /* GuildIncomeRecordModel.m in Sources */,
|
||||
E84B0E3F2727EDF6008818C6 /* XPRoomMessageTableViewCell.m in Sources */,
|
||||
E8E5E18B27C332EE00F457D8 /* XPHomeViewController.m in Sources */,
|
||||
E82325FC274E4735003A3332 /* XPUserCardItemModel.m in Sources */,
|
||||
@@ -5846,6 +5910,7 @@
|
||||
186A534926FC6ED900D67B2C /* TTAlertMessageAttributedConfig.m in Sources */,
|
||||
E81C27AE26EF39AB0031E639 /* AppDelegate+ThirdConfig.m in Sources */,
|
||||
E877A7F127842B2F00EFACED /* XPRoomDatingWebAlertView.m in Sources */,
|
||||
E80016382804140D00D6D17A /* XPMineGuildIncomeStatisViewController.m in Sources */,
|
||||
E8E70D8326F2F51A00F03460 /* XPMineHeadView.m in Sources */,
|
||||
E8B825D026EA3825009E8E9F /* LoginPasswordViewController.m in Sources */,
|
||||
9BEE3D142785884A00C83219 /* XPNobleCenterResidueView.m in Sources */,
|
||||
@@ -5892,6 +5957,7 @@
|
||||
9B0E1C5926E77022005D4442 /* BaseNavigationController.m in Sources */,
|
||||
E8C6FFD027548256004DC9F0 /* XPHomeListCollectionViewCell.m in Sources */,
|
||||
E84BF7DD277C765400EF8877 /* XPRoomRoleEmptyTableViewCell.m in Sources */,
|
||||
E800162F2803FF6200D6D17A /* GuildPersonIncomeRecordModel.m in Sources */,
|
||||
E8E5E1A027C36E3F00F457D8 /* HomeBannerInfoModel.m in Sources */,
|
||||
E800807F27FD859E0055A8AB /* ClanDetailInfoModel.m in Sources */,
|
||||
E8EEB8F426FC2050007C6EBA /* SDBrowserImageView.m in Sources */,
|
||||
@@ -5930,6 +5996,7 @@
|
||||
E8B825C226EA00DF009E8E9F /* LoginVerifCodePresent.m in Sources */,
|
||||
9B9EEF4E27C8755C006B0EB3 /* XPSkillCardResourcePropModel.m in Sources */,
|
||||
E88B5CB026FB1C6500DA9178 /* XPMineTeenagerPresenter.m in Sources */,
|
||||
E800163B28041F7B00D6D17A /* XPGuildSingleRoomIncomeTableViewCell.m in Sources */,
|
||||
E899C68927508F4E00E189E5 /* XPUserCardInfoModel.m in Sources */,
|
||||
9B6B3AAB278C2EA7005551EC /* XPRoomNobleLevelUpView.m in Sources */,
|
||||
E8834E3828000CB50029CCC1 /* GuildSearchUserInfoModel.m in Sources */,
|
||||
@@ -5993,6 +6060,7 @@
|
||||
E800807627FD6D930055A8AB /* Api+Guild.m in Sources */,
|
||||
18F404C3276098F100A6C548 /* Api+Message.m in Sources */,
|
||||
E8C6FFED27550CC2004DC9F0 /* HomeSearchResultModel.m in Sources */,
|
||||
E80016292803D5C500D6D17A /* XPGuildIncomeRecordTableViewCell.m in Sources */,
|
||||
9BB549592782E6A30090CD26 /* XPNobleCenterPresenter.m in Sources */,
|
||||
9B85B6D7279FDABA00A0A1AC /* XPUserCardSkillCardView.m in Sources */,
|
||||
E800808827FDA5100055A8AB /* XPClanSectionView.m in Sources */,
|
||||
@@ -6029,6 +6097,7 @@
|
||||
9BE9F0FC27FED2E100667200 /* XPAnchorFansJoinModel.m in Sources */,
|
||||
9B92A352279807F300AD168F /* XPSkillCardViewController.m in Sources */,
|
||||
186A534A26FC6ED900D67B2C /* TTActionSheetConfig.m in Sources */,
|
||||
E80016262803CB2800D6D17A /* XPGuildIncomeHeaderView.m in Sources */,
|
||||
9BBC028B2786E05A0007C24B /* XPNobleCenterEntranceView.m in Sources */,
|
||||
E8834E4228003A270029CCC1 /* XPMineGuildManagerSetViewController.m in Sources */,
|
||||
E81C279326EB394D0031E639 /* LoginForgetPasswordViewController.m in Sources */,
|
||||
@@ -6071,6 +6140,7 @@
|
||||
E8AC721C26F4720B007D6E91 /* XPMineSettingPresent.m in Sources */,
|
||||
E88B5CA526FB088600DA9178 /* XPMineTeenagerViewController.m in Sources */,
|
||||
E80CBDF027D0E2C8001E1EC2 /* XPHomeRecommendOtherRoomView.m in Sources */,
|
||||
E8001648280426CB00D6D17A /* XPMineAnchorIncomeStatisViewController.m in Sources */,
|
||||
E8F9168427EC913C00F10D8F /* XPHomeLittleGameViewController.m in Sources */,
|
||||
E8E5E1B327C397A400F457D8 /* HomeMenuInfoModel.m in Sources */,
|
||||
E8AEAEF027141C430017FCE0 /* XPRoomMenuContainerView.m in Sources */,
|
||||
@@ -6154,6 +6224,7 @@
|
||||
E8A6C28C27CF436300AC7442 /* XPHomeLikeViewController.m in Sources */,
|
||||
9BCF586227995426008401A4 /* XPSkillCardSelectPropCell.m in Sources */,
|
||||
E8E70D8F26F2F5DB00F03460 /* XPMineMenuTableViewCell.m in Sources */,
|
||||
E80016422804228100D6D17A /* XPGuildIncomePresenter.m in Sources */,
|
||||
E8E5E1A927C3850400F457D8 /* XPHomeHotRoomCollectionViewCell.m in Sources */,
|
||||
9B0997A327F19DE500EB8F14 /* QGHWDShaders.metal in Sources */,
|
||||
187EEEE126E89BFB002833B2 /* AccountModel.m in Sources */,
|
||||
@@ -6176,6 +6247,8 @@
|
||||
189DD75026E21D9000AB55B1 /* GCDHelper.m in Sources */,
|
||||
E82D5C76276AEB5100858D6D /* NameplateModel.m in Sources */,
|
||||
E800806227FD373D0055A8AB /* XPClanMemberTableViewCell.m in Sources */,
|
||||
E81AF32827F1EE69003B9E43 /* XPRoomPKPanelUserView.m in Sources */,
|
||||
E80016452804268E00D6D17A /* XPMineClanIncomeStatisViewController.m in Sources */,
|
||||
E84150BF27747BD300A7F548 /* Api+FirstRecharge.m in Sources */,
|
||||
E84B0E422727EE0A008818C6 /* XPRoomMessageHeaderView.m in Sources */,
|
||||
E8C6FFDD2754CF5D004DC9F0 /* HomeRecommendRoomModel.m in Sources */,
|
||||
@@ -6188,6 +6261,7 @@
|
||||
E872308926E89BE000B90D4F /* LoginPhoneViewController.m in Sources */,
|
||||
E8C6FFEA2755040B004DC9F0 /* XPHomeSearchNavView.m in Sources */,
|
||||
E877A7EB2783E24700EFACED /* DatingStageView.m in Sources */,
|
||||
E8001635280410BD00D6D17A /* XPGuildIncomeSectionView.m in Sources */,
|
||||
E8395339276A0CC100CF2F24 /* XPMineHeadwearTableViewCell.m in Sources */,
|
||||
E875FA8727D619820086ED04 /* ClientDataModel.m in Sources */,
|
||||
18E7B29026EA0E6B0064BC9B /* FlutterBoost+Xplan.m in Sources */,
|
||||
@@ -6239,6 +6313,8 @@
|
||||
9BB5495F2782E9DB0090CD26 /* NobleAuthInfo.m in Sources */,
|
||||
9B85F3562806DD8A006EDF51 /* XPAnchorPKFinishView.m in Sources */,
|
||||
E89DA67227008D59008483C1 /* WalletInfoModel.m in Sources */,
|
||||
E8001632280409FD00D6D17A /* XPGuildPersonIncomeTableViewCell.m in Sources */,
|
||||
E801274727E3241700BAC3F2 /* Api+RoomPK.m in Sources */,
|
||||
E80CBDEA27D0C53F001E1EC2 /* XPWeakTimer.m in Sources */,
|
||||
189DD55026DE37F900AB55B1 /* MvpViewController.m in Sources */,
|
||||
E81366F326F0B7C80076364C /* LoginFullInfoViewController.m in Sources */,
|
||||
|
22
xplan-ios/Assets.xcassets/Mine/Guild/mine_guild_income_header_bg.imageset/Contents.json
vendored
Normal file
22
xplan-ios/Assets.xcassets/Mine/Guild/mine_guild_income_header_bg.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "mine_guild_income_header_bg@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "mine_guild_income_header_bg@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
Binary file not shown.
After Width: | Height: | Size: 89 KiB |
Binary file not shown.
After Width: | Height: | Size: 140 KiB |
22
xplan-ios/Assets.xcassets/Mine/Guild/mine_guild_income_record_arrow.imageset/Contents.json
vendored
Normal file
22
xplan-ios/Assets.xcassets/Mine/Guild/mine_guild_income_record_arrow.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "mine_guild_income_record_arrow@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "mine_guild_income_record_arrow@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
Binary file not shown.
After Width: | Height: | Size: 255 B |
Binary file not shown.
After Width: | Height: | Size: 375 B |
@@ -19,6 +19,9 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
- (NSString *)MD5String;
|
||||
|
||||
+ (BOOL)versionCompareOldStr:(NSString *)first andNewStr: (NSString *)second;
|
||||
|
||||
///数字转化为万
|
||||
+ (NSString *)getDealNumwithstring:(NSString *)string;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
@@ -41,4 +41,16 @@
|
||||
}
|
||||
}
|
||||
|
||||
///数字转化为万
|
||||
+ (NSString *)getDealNumwithstring:(NSString *)string{
|
||||
NSDecimalNumber *numberA = [NSDecimalNumber decimalNumberWithString:string];
|
||||
NSDecimalNumber *numberB = [NSDecimalNumber decimalNumberWithString:@"10000"];
|
||||
//NSDecimalNumberBehaviors对象的创建 参数 1.RoundingMode 一个取舍枚举值 2.scale 处理范围 3.raiseOnExactness 精确出现异常是否抛出原因 4.raiseOnOverflow 上溢出是否抛出原因 4.raiseOnUnderflow 下溢出是否抛出原因 5.raiseOnDivideByZero 除以0是否抛出原因。
|
||||
NSDecimalNumberHandler *roundingBehavior = [NSDecimalNumberHandler decimalNumberHandlerWithRoundingMode:NSRoundDown scale:2 raiseOnExactness:NO raiseOnOverflow:NO raiseOnUnderflow:NO raiseOnDivideByZero:NO];
|
||||
/// 这里不仅包含Multiply还有加 减 乘。
|
||||
NSDecimalNumber *numResult = [numberA decimalNumberByDividingBy:numberB withBehavior:roundingBehavior];
|
||||
NSString *strResult = [numResult stringValue];
|
||||
return [NSString stringWithFormat:@"%@万", strResult];
|
||||
}
|
||||
|
||||
@end
|
||||
|
@@ -110,6 +110,38 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
/// @param managerUid 管理的uid
|
||||
/// @param authStr 权限的字段
|
||||
+ (void)setGuildManagerAuthCompletion:(HttpRequestHelperCompletion)completion uid:(NSString *)uid managerUid:(NSString *)managerUid hallId:(NSString *)hallId authStr:(NSString *)authStr;
|
||||
|
||||
/// 家族收入列表
|
||||
/// @param completion 完成
|
||||
/// @param uid 用户的uid
|
||||
/// @param clanId 家族的id
|
||||
/// @param startTime 开始时间
|
||||
/// @param endTime 结束时间
|
||||
+ (void)getClanIncomeRecord:(HttpRequestHelperCompletion)completion uid:(NSString *)uid clanId:(NSString *)clanId startTime:(NSString *)startTime endTime:(NSString *)endTime;
|
||||
|
||||
/// 公会收入列表
|
||||
/// @param completion 完成
|
||||
/// @param uid 用户的uid
|
||||
/// @param hallId 家族的id
|
||||
/// @param startTime 开始时间
|
||||
/// @param endTime 结束时间
|
||||
+ (void)getGuildIncomeRecord:(HttpRequestHelperCompletion)completion uid:(NSString *)uid hallId:(NSString *)hallId startTime:(NSString *)startTime endTime:(NSString *)endTime;
|
||||
|
||||
/// 家族个播收入列表
|
||||
/// @param completion 完成
|
||||
/// @param uid 用户的uid
|
||||
/// @param clanId 家族的id
|
||||
/// @param startTime 开始时间
|
||||
/// @param endTime 结束时间
|
||||
+ (void)getClanSingleRoomIncomeRecord:(HttpRequestHelperCompletion)completion uid:(NSString *)uid clanId:(NSString *)clanId startTime:(NSString *)startTime endTime:(NSString *)endTime;
|
||||
|
||||
/// 公会个播收入列表
|
||||
/// @param completion 完成
|
||||
/// @param uid 用户的uid
|
||||
/// @param hallId 公会的id
|
||||
/// @param startTime 开始时间
|
||||
/// @param endTime 结束时间
|
||||
+ (void)getHallSingleRoomIncomeRecord:(HttpRequestHelperCompletion)completion uid:(NSString *)uid hallId:(NSString *)hallId startTime:(NSString *)startTime endTime:(NSString *)endTime;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
@@ -127,7 +127,7 @@
|
||||
/// @param uid 用户的uid
|
||||
/// @param managerUid 管理的uid
|
||||
+ (void)guildManagerAuthCompletion:(HttpRequestHelperCompletion)completion uid:(NSString *)uid managerUid:(NSString *)managerUid {
|
||||
[self makeRequest:@"hallAuth/getHallManagerAuths" method:HttpRequestHelperMethodPOST completion:completion, __FUNCTION__, managerUid, uid, nil];
|
||||
[self makeRequest:@"hallAuth/getHallManagerAuths" method:HttpRequestHelperMethodPOST completion:completion, __FUNCTION__, uid, managerUid, nil];
|
||||
}
|
||||
|
||||
/// 设置公会管理权限
|
||||
@@ -139,4 +139,46 @@
|
||||
[self makeRequest:@"hallAuth/setHallManagerAuths" method:HttpRequestHelperMethodPOST completion:completion, __FUNCTION__, uid, managerUid, hallId,authStr, nil];
|
||||
}
|
||||
|
||||
#pragma mark - 收入统计
|
||||
|
||||
/// 家族收入列表
|
||||
/// @param completion 完成
|
||||
/// @param uid 用户的uid
|
||||
/// @param clanId 家族的id
|
||||
/// @param startTime 开始时间
|
||||
/// @param endTime 结束时间
|
||||
+ (void)getClanIncomeRecord:(HttpRequestHelperCompletion)completion uid:(NSString *)uid clanId:(NSString *)clanId startTime:(NSString *)startTime endTime:(NSString *)endTime {
|
||||
[self makeRequest:@"clan/income/totalList" method:HttpRequestHelperMethodGET completion:completion, __FUNCTION__, uid, clanId, startTime, endTime, nil];
|
||||
}
|
||||
|
||||
/// 公会收入列表
|
||||
/// @param completion 完成
|
||||
/// @param uid 用户的uid
|
||||
/// @param hallId 家族的id
|
||||
/// @param startTime 开始时间
|
||||
/// @param endTime 结束时间
|
||||
+ (void)getGuildIncomeRecord:(HttpRequestHelperCompletion)completion uid:(NSString *)uid hallId:(NSString *)hallId startTime:(NSString *)startTime endTime:(NSString *)endTime {
|
||||
[self makeRequest:@"income/incomeTotal" method:HttpRequestHelperMethodPOST completion:completion, __FUNCTION__, uid, hallId, startTime, endTime, nil];
|
||||
}
|
||||
|
||||
/// 家族个播收入列表
|
||||
/// @param completion 完成
|
||||
/// @param uid 用户的uid
|
||||
/// @param clanId 家族的id
|
||||
/// @param startTime 开始时间
|
||||
/// @param endTime 结束时间
|
||||
+ (void)getClanSingleRoomIncomeRecord:(HttpRequestHelperCompletion)completion uid:(NSString *)uid clanId:(NSString *)clanId startTime:(NSString *)startTime endTime:(NSString *)endTime {
|
||||
[self makeRequest:@"income/singleroom/incomeTotalV2" method:HttpRequestHelperMethodPOST completion:completion, __FUNCTION__, uid, clanId, startTime, endTime, nil];
|
||||
}
|
||||
|
||||
/// 公会个播收入列表
|
||||
/// @param completion 完成
|
||||
/// @param uid 用户的uid
|
||||
/// @param hallId 公会的id
|
||||
/// @param startTime 开始时间
|
||||
/// @param endTime 结束时间
|
||||
+ (void)getHallSingleRoomIncomeRecord:(HttpRequestHelperCompletion)completion uid:(NSString *)uid hallId:(NSString *)hallId startTime:(NSString *)startTime endTime:(NSString *)endTime {
|
||||
[self makeRequest:@"income/singleroom/incomeTotalV2" method:HttpRequestHelperMethodPOST completion:completion, __FUNCTION__, uid, hallId, startTime, endTime, nil];
|
||||
}
|
||||
|
||||
@end
|
||||
|
@@ -0,0 +1,33 @@
|
||||
//
|
||||
// GuildIncomeRecordModel.h
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by 冯硕 on 2022/4/11.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
@class GuildIncomeRecordUserInfoModel;
|
||||
@interface GuildIncomeRecordModel : NSObject
|
||||
///总的价值
|
||||
@property (nonatomic,copy) NSString *total;
|
||||
///
|
||||
@property (nonatomic,strong) NSArray<GuildIncomeRecordUserInfoModel *> *income;
|
||||
|
||||
@end
|
||||
|
||||
@interface GuildIncomeRecordUserInfoModel : NSObject
|
||||
///工会的头像
|
||||
@property (nonatomic,copy) NSString *hallAvatar;
|
||||
///公会的昵称
|
||||
@property (nonatomic,copy) NSString *hallName;
|
||||
///房间流水
|
||||
@property (nonatomic,copy) NSString * roomIncome;
|
||||
///房间流水
|
||||
@property (nonatomic,copy) NSString * normalGiftIncome;
|
||||
///房间流水
|
||||
@property (nonatomic,copy) NSString * bagIncome;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
@@ -0,0 +1,20 @@
|
||||
//
|
||||
// GuildIncomeRecordModel.m
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by 冯硕 on 2022/4/11.
|
||||
//
|
||||
|
||||
#import "GuildIncomeRecordModel.h"
|
||||
|
||||
@implementation GuildIncomeRecordModel
|
||||
+ (NSDictionary *)objectClassInArray {
|
||||
return @{@"income":GuildIncomeRecordUserInfoModel.class};
|
||||
}
|
||||
@end
|
||||
|
||||
|
||||
@implementation GuildIncomeRecordUserInfoModel
|
||||
|
||||
|
||||
@end
|
@@ -0,0 +1,45 @@
|
||||
//
|
||||
// GuildPersonIncomeRecordModel.h
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by 冯硕 on 2022/4/11.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
@class GuildPersonIncomeUserInfoModel;
|
||||
@interface GuildPersonIncomeRecordModel : NSObject
|
||||
///总共的价值
|
||||
@property (nonatomic,copy) NSString *total;
|
||||
///数据源
|
||||
@property (nonatomic,strong) NSArray<GuildPersonIncomeUserInfoModel *> *vos;
|
||||
|
||||
///个播数据
|
||||
@property (nonatomic,strong) NSArray<GuildPersonIncomeUserInfoModel *> *incomes;
|
||||
///个播收入查询
|
||||
@property (nonatomic,copy) NSString *totalDiamond;
|
||||
@end
|
||||
|
||||
|
||||
@interface GuildPersonIncomeUserInfoModel : NSObject
|
||||
///排名
|
||||
@property (nonatomic,copy) NSString *rowNum;
|
||||
///接收者的uid
|
||||
@property (nonatomic,copy) NSString *reciveUid;
|
||||
///总的价值
|
||||
@property (nonatomic,copy) NSString *totalGoldNum;
|
||||
///头像
|
||||
@property (nonatomic,copy) NSString *avatar;
|
||||
///昵称
|
||||
@property (nonatomic,copy) NSString *nick;
|
||||
///平台id
|
||||
@property (nonatomic,copy) NSString *erbanNo;
|
||||
#pragma mark - 个播收入查询
|
||||
///个播收入
|
||||
@property (nonatomic,copy) NSString *anchorDiamondNum;
|
||||
///房间收入
|
||||
@property (nonatomic,copy) NSString *roomDiamondNum;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
@@ -0,0 +1,25 @@
|
||||
//
|
||||
// GuildPersonIncomeRecordModel.m
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by 冯硕 on 2022/4/11.
|
||||
//
|
||||
|
||||
#import "GuildPersonIncomeRecordModel.h"
|
||||
|
||||
@implementation GuildPersonIncomeRecordModel
|
||||
|
||||
+ (NSDictionary *)objectClassInArray {
|
||||
return @{@"vos":GuildPersonIncomeUserInfoModel.class,
|
||||
@"incomes":GuildPersonIncomeUserInfoModel.class
|
||||
};
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
|
||||
@implementation GuildPersonIncomeUserInfoModel
|
||||
|
||||
|
||||
|
||||
@end
|
@@ -0,0 +1,35 @@
|
||||
//
|
||||
// XPGuildIncomePresenter.h
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by 冯硕 on 2022/4/11.
|
||||
//
|
||||
|
||||
#import "BaseMvpPresenter.h"
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface XPGuildIncomePresenter : BaseMvpPresenter
|
||||
/// 获取家族所有的收入记录
|
||||
/// @param clanId 家族的id
|
||||
/// @param startTime 开始时间
|
||||
/// @param endTime 结束时间
|
||||
- (void)getClanTotalIncome:(NSString *)clanId startTime:(NSString *)startTime endTime:(NSString *)endTime;
|
||||
/// 获取工会所有的收入记录
|
||||
/// @param hallId 工会的id
|
||||
/// @param startTime 开始时间
|
||||
/// @param endTime 结束时间
|
||||
- (void)getHallTotalIncome:(NSString *)hallId startTime:(NSString *)startTime endTime:(NSString *)endTime;
|
||||
/// 获取家族所有个播的收入记录
|
||||
/// @param clanId 家族的id
|
||||
/// @param startTime 开始时间
|
||||
/// @param endTime 结束时间
|
||||
- (void)getClanAnchorTotalIncome:(NSString *)clanId startTime:(NSString *)startTime endTime:(NSString *)endTime;
|
||||
/// 获取公会所有个播的收入记录
|
||||
/// @param hallId 家族的id
|
||||
/// @param startTime 开始时间
|
||||
/// @param endTime 结束时间
|
||||
- (void)getHallAnchorTotalIncome:(NSString *)hallId startTime:(NSString *)startTime endTime:(NSString *)endTime;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
@@ -0,0 +1,66 @@
|
||||
//
|
||||
// XPGuildIncomePresenter.m
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by 冯硕 on 2022/4/11.
|
||||
//
|
||||
|
||||
#import "XPGuildIncomePresenter.h"
|
||||
#import "Api+Guild.h"
|
||||
#import "AccountInfoStorage.h"
|
||||
#import "GuildIncomeRecordModel.h"
|
||||
#import "GuildPersonIncomeRecordModel.h"
|
||||
#import "XPGuildIncomeProtocol.h"
|
||||
|
||||
@implementation XPGuildIncomePresenter
|
||||
|
||||
|
||||
/// 获取家族所有的收入记录
|
||||
/// @param clanId 家族的id
|
||||
/// @param startTime 开始时间
|
||||
/// @param endTime 结束时间
|
||||
- (void)getClanTotalIncome:(NSString *)clanId startTime:(NSString *)startTime endTime:(NSString *)endTime {
|
||||
NSString * uid = [AccountInfoStorage instance].getUid;
|
||||
[Api getClanIncomeRecord:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
|
||||
GuildIncomeRecordModel * incomeModel = [GuildIncomeRecordModel modelWithDictionary:data.data];
|
||||
[[self getView] getClanTotalIncomeScuess:incomeModel];
|
||||
}] uid:uid clanId:clanId startTime:startTime endTime:endTime];
|
||||
}
|
||||
|
||||
/// 获取工会所有的收入记录
|
||||
/// @param hallId 工会的id
|
||||
/// @param startTime 开始时间
|
||||
/// @param endTime 结束时间
|
||||
- (void)getHallTotalIncome:(NSString *)hallId startTime:(NSString *)startTime endTime:(NSString *)endTime {
|
||||
NSString * uid = [AccountInfoStorage instance].getUid;
|
||||
[Api getGuildIncomeRecord:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
|
||||
GuildPersonIncomeRecordModel * incomeModel = [GuildPersonIncomeRecordModel modelWithDictionary:data.data];
|
||||
[[self getView] getHallTotalIncomeScuess:incomeModel];
|
||||
}] uid:uid hallId:hallId startTime:startTime endTime:endTime];
|
||||
}
|
||||
|
||||
/// 获取家族所有个播的收入记录
|
||||
/// @param clanId 家族的id
|
||||
/// @param startTime 开始时间
|
||||
/// @param endTime 结束时间
|
||||
- (void)getClanAnchorTotalIncome:(NSString *)clanId startTime:(NSString *)startTime endTime:(NSString *)endTime {
|
||||
NSString * uid = [AccountInfoStorage instance].getUid;
|
||||
[Api getClanSingleRoomIncomeRecord:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
|
||||
GuildPersonIncomeRecordModel * incomeModel = [GuildPersonIncomeRecordModel modelWithDictionary:data.data];
|
||||
[[self getView] getHallTotalIncomeScuess:incomeModel];
|
||||
}] uid:uid clanId:clanId startTime:startTime endTime:endTime];
|
||||
}
|
||||
|
||||
/// 获取公会所有个播的收入记录
|
||||
/// @param hallId 家族的id
|
||||
/// @param startTime 开始时间
|
||||
/// @param endTime 结束时间
|
||||
- (void)getHallAnchorTotalIncome:(NSString *)hallId startTime:(NSString *)startTime endTime:(NSString *)endTime {
|
||||
NSString * uid = [AccountInfoStorage instance].getUid;
|
||||
[Api getHallSingleRoomIncomeRecord:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
|
||||
GuildPersonIncomeRecordModel * incomeModel = [GuildPersonIncomeRecordModel modelWithDictionary:data.data];
|
||||
[[self getView] getHallAnchorTotalIncomeSuccess:incomeModel];
|
||||
}] uid:uid hallId:hallId startTime:startTime endTime:endTime];
|
||||
}
|
||||
|
||||
@end
|
@@ -0,0 +1,24 @@
|
||||
//
|
||||
// XPGuildIncomeProtocol.h
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by 冯硕 on 2022/4/11.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
@class GuildIncomeRecordModel, GuildPersonIncomeRecordModel;
|
||||
@protocol XPGuildIncomeProtocol <NSObject>
|
||||
|
||||
///获取家族所有的收入记录成功
|
||||
- (void)getClanTotalIncomeScuess:(GuildIncomeRecordModel *)incomeInfo;
|
||||
///获取公会所有成员收入记录
|
||||
- (void)getHallTotalIncomeScuess:(GuildPersonIncomeRecordModel *)incomeInfo;
|
||||
///获取家族所有个播收入成功
|
||||
- (void)getClanAnchorTotalIncomeSuccess:(GuildPersonIncomeRecordModel *)incomeInfo;
|
||||
///获取公会所有个播收入成功
|
||||
- (void)getHallAnchorTotalIncomeSuccess:(GuildPersonIncomeRecordModel *)incomeInfo;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
@@ -0,0 +1,17 @@
|
||||
//
|
||||
// XPGuildIncomeRecordTableViewCell.h
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by 冯硕 on 2022/4/11.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
@class GuildIncomeRecordUserInfoModel;
|
||||
@interface XPGuildIncomeRecordTableViewCell : UITableViewCell
|
||||
///用户信息
|
||||
@property (nonatomic,strong) GuildIncomeRecordUserInfoModel *userInfo;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
@@ -0,0 +1,290 @@
|
||||
//
|
||||
// XPGuildIncomeRecordTableViewCell.m
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by 冯硕 on 2022/4/11.
|
||||
//
|
||||
|
||||
#import "XPGuildIncomeRecordTableViewCell.h"
|
||||
///Third
|
||||
#import <Masonry/Masonry.h>
|
||||
///Tool
|
||||
#import "NetImageView.h"
|
||||
#import "ThemeColor.h"
|
||||
#import "XPMacro.h"
|
||||
#import "NSString+Utils.h"
|
||||
///Model
|
||||
#import "GuildIncomeRecordModel.h"
|
||||
|
||||
@interface XPGuildIncomeRecordTableViewCell ()
|
||||
///总的容器
|
||||
@property (nonatomic,strong) UIStackView *stackView;
|
||||
///收入的容器
|
||||
@property (nonatomic,strong) UIStackView *incomStackView;
|
||||
///排名
|
||||
@property (nonatomic,strong) UILabel *rankLabel;
|
||||
///头像的容器
|
||||
@property (nonatomic,strong) UIStackView *avatarView;
|
||||
///头像
|
||||
@property (nonatomic,strong) NetImageView *avatarImageView;
|
||||
///id
|
||||
@property (nonatomic,strong) UILabel *idLabel;
|
||||
///房间流水容器
|
||||
@property (nonatomic,strong) UIStackView *roomIncomeStackView;
|
||||
///房间流水
|
||||
@property (nonatomic,strong) UILabel *roomIncomeLabel;
|
||||
///房间流水金币
|
||||
@property (nonatomic,strong) UILabel *roomIncomeCoinLabel;
|
||||
///普通礼物流水容器
|
||||
@property (nonatomic,strong) UIStackView *normalGiftStackView;
|
||||
///普通礼物
|
||||
@property (nonatomic,strong) UILabel *normalGiftLabel;
|
||||
///普通礼物金币
|
||||
@property (nonatomic,strong) UILabel *normalGiftcoinLabel;
|
||||
///背包礼物流水容器
|
||||
@property (nonatomic,strong) UIStackView *packGiftStackView;
|
||||
///背包礼物流水
|
||||
@property (nonatomic,strong) UILabel *packGiftLabel;
|
||||
///背包礼物金币
|
||||
@property (nonatomic,strong) UILabel *packGiftCoinLabel;
|
||||
|
||||
@end
|
||||
|
||||
@implementation XPGuildIncomeRecordTableViewCell
|
||||
|
||||
- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {
|
||||
if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]) {
|
||||
[self initSubViews];
|
||||
[self initSubViewConstraints];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
#pragma mark - Private Method
|
||||
- (void)initSubViews {
|
||||
self.backgroundColor = [ThemeColor appCellBackgroundColor];
|
||||
self.selectionStyle = UITableViewCellSelectionStyleNone;
|
||||
[self.contentView addSubview:self.stackView];
|
||||
|
||||
[self.stackView addArrangedSubview:self.rankLabel];
|
||||
[self.stackView addArrangedSubview:self.avatarView];
|
||||
[self.stackView addArrangedSubview:self.incomStackView];
|
||||
|
||||
[self.avatarView addArrangedSubview:self.avatarImageView];
|
||||
[self.avatarView addArrangedSubview:self.idLabel];
|
||||
|
||||
[self.incomStackView addArrangedSubview:self.roomIncomeStackView];
|
||||
[self.incomStackView addArrangedSubview:self.normalGiftStackView];
|
||||
[self.incomStackView addArrangedSubview:self.packGiftStackView];
|
||||
|
||||
[self.roomIncomeStackView addArrangedSubview:self.roomIncomeCoinLabel];
|
||||
[self.roomIncomeStackView addArrangedSubview:self.roomIncomeLabel];
|
||||
|
||||
[self.normalGiftStackView addArrangedSubview:self.normalGiftcoinLabel];
|
||||
[self.normalGiftStackView addArrangedSubview:self.normalGiftLabel];
|
||||
|
||||
[self.packGiftStackView addArrangedSubview:self.packGiftCoinLabel];
|
||||
[self.packGiftStackView addArrangedSubview:self.packGiftLabel];
|
||||
}
|
||||
|
||||
- (void)initSubViewConstraints {
|
||||
[self.stackView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.right.top.bottom.mas_equalTo(self.contentView);
|
||||
}];
|
||||
|
||||
[self.rankLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.width.mas_equalTo(52);
|
||||
make.height.mas_equalTo(50);
|
||||
}];
|
||||
|
||||
[self.avatarView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.width.mas_equalTo(50);
|
||||
make.height.mas_equalTo(65);
|
||||
}];
|
||||
|
||||
[self.incomStackView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.height.mas_equalTo(50);
|
||||
}];
|
||||
|
||||
[self.avatarImageView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.height.mas_equalTo(50);
|
||||
}];
|
||||
}
|
||||
|
||||
#pragma mark - Getters And Setters
|
||||
- (void)setUserInfo:(GuildIncomeRecordUserInfoModel *)userInfo {
|
||||
_userInfo = userInfo;
|
||||
if (_userInfo) {
|
||||
self.avatarImageView.imageUrl = _userInfo.hallAvatar;
|
||||
self.idLabel.text = _userInfo.hallName;
|
||||
self.roomIncomeCoinLabel.text = [NSString stringWithFormat:@"+%@", [NSString getDealNumwithstring:_userInfo.roomIncome]];
|
||||
self.normalGiftcoinLabel.text = [NSString stringWithFormat:@"+%@", [NSString getDealNumwithstring:_userInfo.normalGiftIncome]];
|
||||
self.packGiftCoinLabel.text = [NSString stringWithFormat:@"+%@", [NSString getDealNumwithstring:_userInfo.bagIncome]];
|
||||
}
|
||||
}
|
||||
|
||||
- (UIStackView *)stackView {
|
||||
if (!_stackView) {
|
||||
_stackView = [[UIStackView alloc] init];
|
||||
_stackView.axis = UILayoutConstraintAxisHorizontal;
|
||||
_stackView.distribution = UIStackViewDistributionFill;
|
||||
_stackView.alignment = UIStackViewAlignmentCenter;
|
||||
_stackView.spacing = 10;
|
||||
}
|
||||
return _stackView;
|
||||
}
|
||||
|
||||
- (UILabel *)rankLabel {
|
||||
if (!_rankLabel) {
|
||||
_rankLabel = [[UILabel alloc] init];
|
||||
_rankLabel.font = [UIFont systemFontOfSize:15];
|
||||
_rankLabel.text = @"1";
|
||||
_rankLabel.textColor = [ThemeColor mainTextColor];
|
||||
_rankLabel.textAlignment = NSTextAlignmentCenter;
|
||||
}
|
||||
return _rankLabel;
|
||||
}
|
||||
|
||||
- (UIStackView *)avatarView {
|
||||
if (!_avatarView) {
|
||||
_avatarView = [[UIStackView alloc] init];
|
||||
_avatarView.axis = UILayoutConstraintAxisVertical;
|
||||
_avatarView.distribution = UIStackViewDistributionFillProportionally;
|
||||
_avatarView.alignment = UIStackViewAlignmentFill;
|
||||
_avatarView.spacing = 3;
|
||||
}
|
||||
return _avatarView;
|
||||
}
|
||||
|
||||
|
||||
- (NetImageView *)avatarImageView {
|
||||
if (!_avatarImageView) {
|
||||
NetImageConfig * config = [[NetImageConfig alloc]init];
|
||||
config.imageType = ImageTypeUserIcon;
|
||||
config.placeHolder = [UIImageConstant defaultAvatarPlaceholder];
|
||||
_avatarImageView = [[NetImageView alloc] initWithConfig:config];
|
||||
_avatarImageView.layer.masksToBounds = YES;
|
||||
_avatarImageView.layer.cornerRadius = 8;
|
||||
}
|
||||
return _avatarImageView;
|
||||
}
|
||||
- (UILabel *)idLabel {
|
||||
if (!_idLabel) {
|
||||
_idLabel = [[UILabel alloc] init];
|
||||
_idLabel.font = [UIFont systemFontOfSize:11];
|
||||
_idLabel.textColor = [ThemeColor mainTextColor];
|
||||
_idLabel.textAlignment = NSTextAlignmentCenter;
|
||||
}
|
||||
return _idLabel;
|
||||
}
|
||||
|
||||
- (UIStackView *)incomStackView {
|
||||
if (!_incomStackView) {
|
||||
_incomStackView = [[UIStackView alloc] init];
|
||||
_incomStackView.axis = UILayoutConstraintAxisHorizontal;
|
||||
_incomStackView.distribution = UIStackViewDistributionFillEqually;
|
||||
_incomStackView.alignment = UIStackViewAlignmentCenter;
|
||||
_incomStackView.spacing = 10;
|
||||
}
|
||||
return _incomStackView;
|
||||
}
|
||||
|
||||
- (UIStackView *)roomIncomeStackView {
|
||||
if (!_roomIncomeStackView) {
|
||||
_roomIncomeStackView = [[UIStackView alloc] init];
|
||||
_roomIncomeStackView.axis = UILayoutConstraintAxisVertical;
|
||||
_roomIncomeStackView.distribution = UIStackViewDistributionFill;
|
||||
_roomIncomeStackView.alignment = UIStackViewAlignmentFill;
|
||||
_roomIncomeStackView.spacing = 3;
|
||||
}
|
||||
return _roomIncomeStackView;
|
||||
}
|
||||
|
||||
- (UILabel *)roomIncomeLabel {
|
||||
if (!_roomIncomeLabel) {
|
||||
_roomIncomeLabel = [[UILabel alloc] init];
|
||||
_roomIncomeLabel.text = @"房间流水";
|
||||
_roomIncomeLabel.font = [UIFont systemFontOfSize:12];
|
||||
_roomIncomeLabel.textColor = [ThemeColor mainTextColor];
|
||||
_roomIncomeLabel.textAlignment = NSTextAlignmentCenter;
|
||||
}
|
||||
return _roomIncomeLabel;
|
||||
}
|
||||
|
||||
- (UILabel *)roomIncomeCoinLabel {
|
||||
if (!_roomIncomeCoinLabel) {
|
||||
_roomIncomeCoinLabel = [[UILabel alloc] init];
|
||||
_roomIncomeCoinLabel.font = [UIFont boldSystemFontOfSize:12];
|
||||
_roomIncomeCoinLabel.textColor = [ThemeColor secondTextColor];
|
||||
_roomIncomeCoinLabel.textAlignment = NSTextAlignmentCenter;
|
||||
}
|
||||
return _roomIncomeCoinLabel;
|
||||
}
|
||||
|
||||
|
||||
- (UIStackView *)normalGiftStackView {
|
||||
if (!_normalGiftStackView) {
|
||||
_normalGiftStackView = [[UIStackView alloc] init];
|
||||
_normalGiftStackView.axis = UILayoutConstraintAxisVertical;
|
||||
_normalGiftStackView.distribution = UIStackViewDistributionFill;
|
||||
_normalGiftStackView.alignment = UIStackViewAlignmentFill;
|
||||
_normalGiftStackView.spacing = 3;
|
||||
}
|
||||
return _normalGiftStackView;
|
||||
}
|
||||
|
||||
- (UILabel *)normalGiftLabel {
|
||||
if (!_normalGiftLabel) {
|
||||
_normalGiftLabel = [[UILabel alloc] init];
|
||||
_normalGiftLabel.text = @"普通礼物流水";
|
||||
_normalGiftLabel.font = [UIFont systemFontOfSize:12];
|
||||
_normalGiftLabel.textColor = [ThemeColor mainTextColor];
|
||||
_normalGiftLabel.textAlignment = NSTextAlignmentCenter;
|
||||
}
|
||||
return _normalGiftLabel;
|
||||
}
|
||||
|
||||
- (UILabel *)normalGiftcoinLabel {
|
||||
if (!_normalGiftcoinLabel) {
|
||||
_normalGiftcoinLabel = [[UILabel alloc] init];
|
||||
_normalGiftcoinLabel.font = [UIFont boldSystemFontOfSize:12];
|
||||
_normalGiftcoinLabel.textColor = [ThemeColor secondTextColor];
|
||||
_normalGiftcoinLabel.textAlignment = NSTextAlignmentCenter;
|
||||
}
|
||||
return _normalGiftcoinLabel;
|
||||
}
|
||||
|
||||
|
||||
- (UIStackView *)packGiftStackView {
|
||||
if (!_packGiftStackView) {
|
||||
_packGiftStackView = [[UIStackView alloc] init];
|
||||
_packGiftStackView.axis = UILayoutConstraintAxisVertical;
|
||||
_packGiftStackView.distribution = UIStackViewDistributionFill;
|
||||
_packGiftStackView.alignment = UIStackViewAlignmentFill;
|
||||
_packGiftStackView.spacing = 3;
|
||||
}
|
||||
return _packGiftStackView;
|
||||
}
|
||||
|
||||
- (UILabel *)packGiftLabel {
|
||||
if (!_packGiftLabel) {
|
||||
_packGiftLabel = [[UILabel alloc] init];
|
||||
_packGiftLabel.text = @"背包礼物流水";
|
||||
_packGiftLabel.font = [UIFont systemFontOfSize:12];
|
||||
_packGiftLabel.textColor = [ThemeColor mainTextColor];
|
||||
_packGiftLabel.textAlignment = NSTextAlignmentCenter;
|
||||
}
|
||||
return _packGiftLabel;
|
||||
}
|
||||
|
||||
- (UILabel *)packGiftCoinLabel {
|
||||
if (!_packGiftCoinLabel) {
|
||||
_packGiftCoinLabel = [[UILabel alloc] init];
|
||||
_packGiftCoinLabel.font = [UIFont boldSystemFontOfSize:12];
|
||||
_packGiftCoinLabel.textColor = [ThemeColor secondTextColor];
|
||||
_packGiftCoinLabel.textAlignment = NSTextAlignmentCenter;
|
||||
}
|
||||
return _packGiftCoinLabel;
|
||||
}
|
||||
|
||||
@end
|
@@ -0,0 +1,17 @@
|
||||
//
|
||||
// XPGuildPersonIncomeTableViewCell.h
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by 冯硕 on 2022/4/11.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
@class GuildPersonIncomeUserInfoModel;
|
||||
@interface XPGuildPersonIncomeTableViewCell : UITableViewCell
|
||||
///用户信息
|
||||
@property (nonatomic,strong) GuildPersonIncomeUserInfoModel *userInfo;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
@@ -0,0 +1,186 @@
|
||||
//
|
||||
// XPGuildPersonIncomeTableViewCell.m
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by 冯硕 on 2022/4/11.
|
||||
//
|
||||
|
||||
#import "XPGuildPersonIncomeTableViewCell.h"
|
||||
///Third
|
||||
#import <Masonry/Masonry.h>
|
||||
///Tool
|
||||
#import "ThemeColor.h"
|
||||
#import "NetImageView.h"
|
||||
#import "XPMacro.h"
|
||||
#import "NSString+Utils.h"
|
||||
///Model
|
||||
#import "GuildPersonIncomeRecordModel.h"
|
||||
|
||||
@interface XPGuildPersonIncomeTableViewCell ()
|
||||
///容器
|
||||
@property (nonatomic,strong) UIStackView *stackView;
|
||||
///排名
|
||||
@property (nonatomic,strong) UILabel *rankLabel;
|
||||
///头像
|
||||
@property (nonatomic,strong) NetImageView *avatarImageView;
|
||||
///昵称的容器
|
||||
@property (nonatomic,strong) UIStackView *nickStackView;
|
||||
///昵称
|
||||
@property (nonatomic,strong) UILabel *nickLabel;
|
||||
///显示id
|
||||
@property (nonatomic,strong) UILabel *idLabel;
|
||||
///显示收入
|
||||
@property (nonatomic,strong) UILabel *incomeLabel;
|
||||
///箭头
|
||||
@property (nonatomic,strong) UIImageView *arrowImageView;
|
||||
@end
|
||||
|
||||
@implementation XPGuildPersonIncomeTableViewCell
|
||||
|
||||
- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {
|
||||
if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]) {
|
||||
[self initSubViews];
|
||||
[self initSubViewConstraints];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
#pragma mark - Private Method
|
||||
- (void)initSubViews {
|
||||
self.backgroundColor = [ThemeColor appCellBackgroundColor];
|
||||
self.selectionStyle = UITableViewCellSelectionStyleNone;
|
||||
[self.contentView addSubview:self.stackView];
|
||||
[self.stackView addArrangedSubview:self.rankLabel];
|
||||
[self.stackView addArrangedSubview:self.avatarImageView];
|
||||
[self.stackView addArrangedSubview:self.nickStackView];
|
||||
[self.stackView addArrangedSubview:self.incomeLabel];
|
||||
[self.stackView addArrangedSubview:self.arrowImageView];
|
||||
|
||||
[self.nickStackView addArrangedSubview:self.nickLabel];
|
||||
[self.nickStackView addArrangedSubview:self.idLabel];
|
||||
}
|
||||
|
||||
- (void)initSubViewConstraints {
|
||||
[self.stackView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.mas_equalTo(self.contentView);
|
||||
make.right.mas_equalTo(self.contentView).offset(-15);
|
||||
make.top.bottom.mas_equalTo(self.contentView);
|
||||
}];
|
||||
|
||||
[self.rankLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.size.mas_equalTo(CGSizeMake(52, 20));
|
||||
}];
|
||||
|
||||
[self.avatarImageView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.width.height.mas_equalTo(45);
|
||||
}];
|
||||
|
||||
[self.nickStackView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.size.mas_equalTo(CGSizeMake(90, 44));
|
||||
}];
|
||||
|
||||
[self.incomeLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.width.mas_equalTo(KScreenWidth - 52 - 45 - 90 - 15 - 10);
|
||||
make.height.mas_equalTo(30);
|
||||
}];
|
||||
|
||||
[self.arrowImageView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.size.mas_equalTo(CGSizeMake(10, 8));
|
||||
}];
|
||||
}
|
||||
|
||||
#pragma mark - Getters And Setters
|
||||
- (void)setUserInfo:(GuildPersonIncomeUserInfoModel *)userInfo {
|
||||
_userInfo = userInfo;
|
||||
if (_userInfo) {
|
||||
self.rankLabel.text = _userInfo.rowNum;
|
||||
self.avatarImageView.imageUrl = _userInfo.avatar;
|
||||
self.nickLabel.text = _userInfo.nick;
|
||||
self.idLabel.text = [NSString stringWithFormat:@"ID:%@", _userInfo.erbanNo];
|
||||
self.incomeLabel.text = [NSString getDealNumwithstring:_userInfo.totalGoldNum];
|
||||
}
|
||||
}
|
||||
|
||||
- (UIStackView *)stackView {
|
||||
if (!_stackView) {
|
||||
_stackView = [[UIStackView alloc] init];
|
||||
_stackView.axis = UILayoutConstraintAxisHorizontal;
|
||||
_stackView.distribution = UIStackViewDistributionFill;
|
||||
_stackView.alignment = UIStackViewAlignmentCenter;
|
||||
_stackView.spacing = 0;
|
||||
}
|
||||
return _stackView;
|
||||
}
|
||||
|
||||
- (UILabel *)rankLabel {
|
||||
if (!_rankLabel) {
|
||||
_rankLabel = [[UILabel alloc] init];
|
||||
_rankLabel.text = @"1";
|
||||
_rankLabel.font = [UIFont systemFontOfSize:15];
|
||||
_rankLabel.textAlignment = NSTextAlignmentCenter;
|
||||
_rankLabel.textColor = [ThemeColor mainTextColor];
|
||||
}
|
||||
return _rankLabel;
|
||||
}
|
||||
|
||||
- (NetImageView *)avatarImageView {
|
||||
if (!_avatarImageView) {
|
||||
NetImageConfig * config = [[NetImageConfig alloc]init];
|
||||
config.imageType = ImageTypeUserIcon;
|
||||
config.placeHolder = [UIImageConstant defaultAvatarPlaceholder];
|
||||
_avatarImageView = [[NetImageView alloc] initWithConfig:config];
|
||||
_avatarImageView.layer.masksToBounds = YES;
|
||||
_avatarImageView.layer.cornerRadius = 45/2;
|
||||
}
|
||||
return _avatarImageView;
|
||||
}
|
||||
|
||||
- (UIStackView *)nickStackView {
|
||||
if (!_nickStackView) {
|
||||
_nickStackView = [[UIStackView alloc] init];
|
||||
_nickStackView.axis = UILayoutConstraintAxisVertical;
|
||||
_nickStackView.distribution = UIStackViewDistributionFill;
|
||||
_nickStackView.alignment = UIStackViewAlignmentLeading;
|
||||
_nickStackView.spacing = 4 ;
|
||||
}
|
||||
return _nickStackView;
|
||||
}
|
||||
|
||||
- (UILabel *)nickLabel {
|
||||
if (!_nickLabel) {
|
||||
_nickLabel = [[UILabel alloc] init];
|
||||
_nickLabel.font = [UIFont boldSystemFontOfSize:14];
|
||||
_nickLabel.textColor = [ThemeColor mainTextColor];
|
||||
}
|
||||
return _nickLabel;
|
||||
}
|
||||
|
||||
- (UILabel *)idLabel {
|
||||
if (!_idLabel) {
|
||||
_idLabel = [[UILabel alloc] init];
|
||||
_idLabel.font = [UIFont systemFontOfSize:14];
|
||||
_idLabel.textColor = [ThemeColor secondTextColor];
|
||||
}
|
||||
return _idLabel;
|
||||
}
|
||||
|
||||
- (UILabel *)incomeLabel {
|
||||
if (!_incomeLabel) {
|
||||
_incomeLabel = [[UILabel alloc] init];
|
||||
_incomeLabel.font = [UIFont boldSystemFontOfSize:14];
|
||||
_incomeLabel.textColor = [ThemeColor mainTextColor];
|
||||
}
|
||||
return _incomeLabel;
|
||||
}
|
||||
|
||||
- (UIImageView *)arrowImageView {
|
||||
if (!_arrowImageView) {
|
||||
_arrowImageView = [[UIImageView alloc] init];
|
||||
_arrowImageView.userInteractionEnabled = YES;
|
||||
_arrowImageView.image = [UIImage imageNamed:@"common_right_arrow"];
|
||||
}
|
||||
return _arrowImageView;
|
||||
}
|
||||
|
||||
|
||||
@end
|
@@ -0,0 +1,16 @@
|
||||
//
|
||||
// XPGuildSingleRoomIncomeTableViewCell.h
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by 冯硕 on 2022/4/11.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
@class GuildPersonIncomeUserInfoModel;
|
||||
@interface XPGuildSingleRoomIncomeTableViewCell : UITableViewCell
|
||||
@property (nonatomic,strong) GuildPersonIncomeUserInfoModel *userInfo;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
@@ -0,0 +1,180 @@
|
||||
//
|
||||
// XPGuildSingleRoomIncomeTableViewCell.m
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by 冯硕 on 2022/4/11.
|
||||
// 个播收入
|
||||
|
||||
#import "XPGuildSingleRoomIncomeTableViewCell.h"
|
||||
///Third
|
||||
#import <Masonry/Masonry.h>
|
||||
///Tool
|
||||
#import "ThemeColor.h"
|
||||
#import "NetImageView.h"
|
||||
#import "XPMacro.h"
|
||||
#import "NSString+Utils.h"
|
||||
///Model
|
||||
#import "GuildPersonIncomeRecordModel.h"
|
||||
|
||||
@interface XPGuildSingleRoomIncomeTableViewCell ()
|
||||
///容器
|
||||
@property (nonatomic,strong) UIStackView *stackView;
|
||||
///排名
|
||||
@property (nonatomic,strong) UILabel *rankLabel;
|
||||
///头像
|
||||
@property (nonatomic,strong) NetImageView *avatarImageView;
|
||||
///昵称的容器
|
||||
@property (nonatomic,strong) UIStackView *nickStackView;
|
||||
///昵称
|
||||
@property (nonatomic,strong) UILabel *nickLabel;
|
||||
///显示id
|
||||
@property (nonatomic,strong) UILabel *idLabel;
|
||||
///显示收入
|
||||
@property (nonatomic,strong) UILabel *singleRoomIncomeLabel;
|
||||
///房间收入
|
||||
@property (nonatomic,strong) UILabel *roomIncomeLabel;
|
||||
@end
|
||||
|
||||
@implementation XPGuildSingleRoomIncomeTableViewCell
|
||||
|
||||
- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {
|
||||
if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]) {
|
||||
[self initSubViews];
|
||||
[self initSubViewConstraints];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
#pragma mark - Private Method
|
||||
- (void)initSubViews {
|
||||
self.backgroundColor = [ThemeColor appCellBackgroundColor];
|
||||
self.selectionStyle = UITableViewCellSelectionStyleNone;
|
||||
[self.contentView addSubview:self.stackView];
|
||||
[self.stackView addArrangedSubview:self.rankLabel];
|
||||
[self.stackView addArrangedSubview:self.avatarImageView];
|
||||
[self.stackView addArrangedSubview:self.nickStackView];
|
||||
[self.stackView addArrangedSubview:self.singleRoomIncomeLabel];
|
||||
[self.stackView addArrangedSubview:self.roomIncomeLabel];
|
||||
|
||||
[self.nickStackView addArrangedSubview:self.nickLabel];
|
||||
[self.nickStackView addArrangedSubview:self.idLabel];
|
||||
}
|
||||
|
||||
- (void)initSubViewConstraints {
|
||||
[self.stackView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.mas_equalTo(self.contentView);
|
||||
make.right.mas_equalTo(self.contentView).offset(-15);
|
||||
make.top.bottom.mas_equalTo(self.contentView);
|
||||
}];
|
||||
|
||||
[self.rankLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.size.mas_equalTo(CGSizeMake(52, 20));
|
||||
}];
|
||||
|
||||
[self.avatarImageView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.width.height.mas_equalTo(45);
|
||||
}];
|
||||
|
||||
[self.nickStackView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.size.mas_equalTo(CGSizeMake(90, 44));
|
||||
}];
|
||||
|
||||
[self.singleRoomIncomeLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.width.mas_equalTo(KScreenWidth - 52 - 45 - 90 - 15 - 10);
|
||||
make.height.mas_equalTo(30);
|
||||
}];
|
||||
}
|
||||
|
||||
#pragma mark - Getters And Setters
|
||||
- (void)setUserInfo:(GuildPersonIncomeUserInfoModel *)userInfo {
|
||||
_userInfo = userInfo;
|
||||
if (_userInfo) {
|
||||
self.avatarImageView.imageUrl = _userInfo.avatar;
|
||||
self.nickLabel.text = _userInfo.nick;
|
||||
self.idLabel.text = [NSString stringWithFormat:@"ID:%@", _userInfo.erbanNo];
|
||||
self.singleRoomIncomeLabel.text = [NSString getDealNumwithstring: _userInfo.anchorDiamondNum];
|
||||
self.roomIncomeLabel.text = [NSString getDealNumwithstring:_userInfo.anchorDiamondNum];
|
||||
}
|
||||
}
|
||||
|
||||
- (UIStackView *)stackView {
|
||||
if (!_stackView) {
|
||||
_stackView = [[UIStackView alloc] init];
|
||||
_stackView.axis = UILayoutConstraintAxisHorizontal;
|
||||
_stackView.distribution = UIStackViewDistributionFill;
|
||||
_stackView.alignment = UIStackViewAlignmentCenter;
|
||||
_stackView.spacing = 0;
|
||||
}
|
||||
return _stackView;
|
||||
}
|
||||
|
||||
- (UILabel *)rankLabel {
|
||||
if (!_rankLabel) {
|
||||
_rankLabel = [[UILabel alloc] init];
|
||||
_rankLabel.text = @"1";
|
||||
_rankLabel.font = [UIFont systemFontOfSize:15];
|
||||
_rankLabel.textAlignment = NSTextAlignmentCenter;
|
||||
_rankLabel.textColor = [ThemeColor mainTextColor];
|
||||
}
|
||||
return _rankLabel;
|
||||
}
|
||||
|
||||
- (NetImageView *)avatarImageView {
|
||||
if (!_avatarImageView) {
|
||||
NetImageConfig * config = [[NetImageConfig alloc]init];
|
||||
config.imageType = ImageTypeUserIcon;
|
||||
config.placeHolder = [UIImageConstant defaultAvatarPlaceholder];
|
||||
_avatarImageView = [[NetImageView alloc] initWithConfig:config];
|
||||
_avatarImageView.layer.masksToBounds = YES;
|
||||
_avatarImageView.layer.cornerRadius = 45/2;
|
||||
}
|
||||
return _avatarImageView;
|
||||
}
|
||||
|
||||
- (UIStackView *)nickStackView {
|
||||
if (!_nickStackView) {
|
||||
_nickStackView = [[UIStackView alloc] init];
|
||||
_nickStackView.axis = UILayoutConstraintAxisVertical;
|
||||
_nickStackView.distribution = UIStackViewDistributionFill;
|
||||
_nickStackView.alignment = UIStackViewAlignmentLeading;
|
||||
_nickStackView.spacing = 4 ;
|
||||
}
|
||||
return _nickStackView;
|
||||
}
|
||||
|
||||
- (UILabel *)nickLabel {
|
||||
if (!_nickLabel) {
|
||||
_nickLabel = [[UILabel alloc] init];
|
||||
_nickLabel.font = [UIFont boldSystemFontOfSize:14];
|
||||
_nickLabel.textColor = [ThemeColor mainTextColor];
|
||||
}
|
||||
return _nickLabel;
|
||||
}
|
||||
|
||||
- (UILabel *)idLabel {
|
||||
if (!_idLabel) {
|
||||
_idLabel = [[UILabel alloc] init];
|
||||
_idLabel.font = [UIFont systemFontOfSize:14];
|
||||
_idLabel.textColor = [ThemeColor secondTextColor];
|
||||
}
|
||||
return _idLabel;
|
||||
}
|
||||
|
||||
- (UILabel *)singleRoomIncomeLabel {
|
||||
if (!_singleRoomIncomeLabel) {
|
||||
_singleRoomIncomeLabel = [[UILabel alloc] init];
|
||||
_singleRoomIncomeLabel.font = [UIFont boldSystemFontOfSize:14];
|
||||
_singleRoomIncomeLabel.textColor = [ThemeColor mainTextColor];
|
||||
}
|
||||
return _singleRoomIncomeLabel;
|
||||
}
|
||||
|
||||
- (UILabel *)roomIncomeLabel {
|
||||
if (!_roomIncomeLabel) {
|
||||
_roomIncomeLabel = [[UILabel alloc] init];
|
||||
_roomIncomeLabel.font = [UIFont boldSystemFontOfSize:14];
|
||||
_roomIncomeLabel.textColor = [ThemeColor mainTextColor];
|
||||
}
|
||||
return _roomIncomeLabel;
|
||||
}
|
||||
@end
|
@@ -10,10 +10,22 @@
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
@class ClanDetailInfoModel, XPGuildHeaderView, GuildInfoModel;
|
||||
|
||||
typedef NS_ENUM(NSInteger, GuildHeaderMenuType) {
|
||||
///工会流水
|
||||
GuildHeaderMenuType_Hall_Income = 1,
|
||||
///主播收入
|
||||
GuildHeaderMenuType_Anchor_Income = 2,
|
||||
///超管
|
||||
GuildHeaderMenuType_Super_Admin,
|
||||
};
|
||||
|
||||
@protocol XPGuildHeaderViewDelegate <NSObject>
|
||||
|
||||
///选择了族长
|
||||
- (void)xPGuildHeaderView:(XPGuildHeaderView *)view dicSelectOwner:(ClanDetailInfoModel *)guildInfo;
|
||||
///选择了工会的某个房间
|
||||
- (void)xPGuildHeaderView:(XPGuildHeaderView *)view dicSelectGuild:(GuildInfoModel *)guildInfo;
|
||||
|
||||
///菜单栏的点击
|
||||
- (void)xPGuildHeaderView:(XPGuildHeaderView *)view dicTapMenuItem:(GuildHeaderMenuType)menuType;
|
||||
@end
|
||||
|
||||
@interface XPGuildHeaderView : UIView
|
||||
|
@@ -179,6 +179,20 @@
|
||||
}
|
||||
}
|
||||
|
||||
#pragma mark - Event Response
|
||||
- (void)menuViewTapRecognizer:(UITapGestureRecognizer *)tap {
|
||||
UIView * view = tap.view;
|
||||
if (self.delegate && [self.delegate respondsToSelector:@selector(xPGuildHeaderView:dicTapMenuItem:)]) {
|
||||
[self.delegate xPGuildHeaderView:self dicTapMenuItem:view.tag];
|
||||
}
|
||||
}
|
||||
|
||||
- (void)tapOwnerUserInfoView:(UITapGestureRecognizer *)tap {
|
||||
if (self.delegate && [self.delegate respondsToSelector:@selector(xPGuildHeaderView:dicSelectOwner:)]) {
|
||||
[self.delegate xPGuildHeaderView:self dicSelectOwner:self.clanInfo];
|
||||
}
|
||||
}
|
||||
|
||||
#pragma mark - Getters And Setters
|
||||
- (void)setClanInfo:(ClanDetailInfoModel *)clanInfo {
|
||||
_clanInfo = clanInfo;
|
||||
@@ -235,6 +249,8 @@
|
||||
if (!_userInfoView) {
|
||||
_userInfoView = [[UIView alloc] init];
|
||||
_userInfoView.backgroundColor = [UIColor clearColor];
|
||||
UITapGestureRecognizer * tap= [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapOwnerUserInfoView:)];
|
||||
[_userInfoView addGestureRecognizer:tap];
|
||||
}
|
||||
return _userInfoView;
|
||||
}
|
||||
@@ -305,6 +321,9 @@
|
||||
_incomeView = [[XPClanMenuView alloc] init];
|
||||
_incomeView.title = @"查看流水";
|
||||
_incomeView.imageName = @"mine_guild_clan_header_income_bg";
|
||||
_incomeView.tag = GuildHeaderMenuType_Hall_Income;
|
||||
UITapGestureRecognizer * tap= [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(menuViewTapRecognizer:)];
|
||||
[_incomeView addGestureRecognizer:tap];
|
||||
}
|
||||
return _incomeView;
|
||||
}
|
||||
@@ -314,6 +333,9 @@
|
||||
_anchorIncomeView = [[XPClanMenuView alloc] init];
|
||||
_anchorIncomeView.title = @"主播收入";
|
||||
_anchorIncomeView.imageName = @"mine_guild_clan_header_anchor_income_bg";
|
||||
_anchorIncomeView.tag = GuildHeaderMenuType_Anchor_Income;
|
||||
UITapGestureRecognizer * tap= [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(menuViewTapRecognizer:)];
|
||||
[_anchorIncomeView addGestureRecognizer:tap];
|
||||
}
|
||||
return _anchorIncomeView;
|
||||
}
|
||||
@@ -323,6 +345,9 @@
|
||||
_superAdminSetView = [[XPClanMenuView alloc] init];
|
||||
_superAdminSetView.title = @"工会超管设置";
|
||||
_superAdminSetView.imageName = @"mine_guild_clan_header_superadmin_set_bg";
|
||||
_superAdminSetView.tag = GuildHeaderMenuType_Super_Admin;
|
||||
UITapGestureRecognizer * tap= [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(menuViewTapRecognizer:)];
|
||||
[_superAdminSetView addGestureRecognizer:tap];
|
||||
}
|
||||
return _superAdminSetView;
|
||||
}
|
||||
|
@@ -0,0 +1,22 @@
|
||||
//
|
||||
// XPGuildIncomeHeaderView.h
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by 冯硕 on 2022/4/11.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
#import "XPMineGuildIncomeRecordViewController.h"
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface XPGuildIncomeHeaderView : UIView
|
||||
///显示
|
||||
@property (nonatomic,assign) GuildIncomeRecrdTimeType timeType;
|
||||
|
||||
@property (nonatomic,copy) NSString *totalIncome;
|
||||
|
||||
- (void)configHeaderView:(NSDate *)startDate endTime:(NSDate *)endDate;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
@@ -0,0 +1,249 @@
|
||||
//
|
||||
// XPGuildIncomeHeaderView.m
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by 冯硕 on 2022/4/11.
|
||||
//
|
||||
|
||||
#import "XPGuildIncomeHeaderView.h"
|
||||
///Third
|
||||
#import <Masonry/Masonry.h>
|
||||
///Tool
|
||||
#import "ThemeColor.h"
|
||||
#import "XPMacro.h"
|
||||
#import "NSString+Utils.h"
|
||||
|
||||
@interface XPGuildIncomeHeaderView ()
|
||||
///显示背景
|
||||
@property (nonatomic,strong) UIImageView *backImageView;
|
||||
///显示哪一年
|
||||
@property (nonatomic,strong) UILabel *yearLabel;
|
||||
///显示那一日容器
|
||||
@property (nonatomic,strong) UIStackView *stackView;
|
||||
///开始时间
|
||||
@property (nonatomic,strong) UILabel *startLabel;
|
||||
///结束时间
|
||||
@property (nonatomic,strong) UILabel *endLabel;
|
||||
///箭头
|
||||
@property (nonatomic,strong) UIButton *arrowButton;
|
||||
///分割线
|
||||
@property (nonatomic,strong) UIView * lineView;
|
||||
///总收入
|
||||
@property (nonatomic,strong) UILabel *totalLabel;
|
||||
///金币
|
||||
@property (nonatomic,strong) UILabel *coinLabel;
|
||||
@property (nonatomic,strong) NSDateFormatter *formatter;
|
||||
@end
|
||||
|
||||
@implementation XPGuildIncomeHeaderView
|
||||
|
||||
- (instancetype)initWithFrame:(CGRect)frame {
|
||||
self = [super initWithFrame:frame];
|
||||
if (self) {
|
||||
[self initSubViews];
|
||||
[self initSubViewConstraints];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
#pragma mark - Public Method
|
||||
- (void)configHeaderView:(NSDate *)startDate endTime:(NSDate *)endDate {
|
||||
if (startDate) {
|
||||
[self.formatter setDateFormat:@"yyyy年"];
|
||||
NSString *currentYear = [self.formatter stringFromDate:startDate];
|
||||
self.yearLabel.text = currentYear;
|
||||
[self.formatter setDateFormat:@"MM月dd日"];
|
||||
NSString * currentDay = [self.formatter stringFromDate:startDate];
|
||||
self.startLabel.text = currentDay;
|
||||
}
|
||||
|
||||
if (endDate) {
|
||||
[self.formatter setDateFormat:@"MM月dd日"];
|
||||
NSString * currentDay = [self.formatter stringFromDate:endDate];
|
||||
self.endLabel.text = currentDay;
|
||||
}
|
||||
}
|
||||
|
||||
#pragma mark - Private Method
|
||||
- (void)initSubViews {
|
||||
[self addSubview:self.backImageView];
|
||||
[self.backImageView addSubview:self.yearLabel];
|
||||
[self.backImageView addSubview:self.stackView];
|
||||
[self.backImageView addSubview:self.arrowButton];
|
||||
[self.backImageView addSubview:self.lineView];
|
||||
[self.backImageView addSubview:self.totalLabel];
|
||||
[self.backImageView addSubview:self.coinLabel];
|
||||
|
||||
[self.stackView addArrangedSubview:self.startLabel];
|
||||
[self.stackView addArrangedSubview:self.endLabel];
|
||||
}
|
||||
|
||||
- (void)initSubViewConstraints {
|
||||
[self mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.width.mas_equalTo(KScreenWidth);
|
||||
make.bottom.mas_equalTo(self.backImageView.mas_bottom).offset(16);
|
||||
}];
|
||||
|
||||
CGFloat kscale = 80.0 / 345.0;
|
||||
[self.backImageView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.right.mas_equalTo(self).inset(15);
|
||||
make.height.mas_equalTo((KScreenWidth - 30) * kscale);
|
||||
make.top.mas_equalTo(self);
|
||||
}];
|
||||
|
||||
[self.yearLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.top.mas_equalTo(self.backImageView).offset(12);
|
||||
}];
|
||||
|
||||
[self.stackView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.mas_equalTo(self.yearLabel);
|
||||
make.centerY.mas_equalTo(self.lineView);
|
||||
}];
|
||||
|
||||
[self.arrowButton mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.mas_equalTo(self.stackView.mas_right).offset(5);
|
||||
make.centerY.mas_equalTo(self.lineView);
|
||||
make.size.mas_equalTo(CGSizeMake(12, 8));
|
||||
}];
|
||||
|
||||
[self.lineView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.size.mas_equalTo(CGSizeMake(1, 19));
|
||||
make.bottom.mas_equalTo(self.backImageView).offset(-12);
|
||||
make.left.mas_equalTo(self.arrowButton.mas_right).offset(10);
|
||||
}];
|
||||
|
||||
[self.totalLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.mas_equalTo(self.yearLabel.mas_right).offset(100);
|
||||
make.centerY.mas_equalTo(self.yearLabel);
|
||||
}];
|
||||
|
||||
[self.coinLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.mas_equalTo(self.totalLabel);
|
||||
make.centerY.mas_equalTo(self.lineView);
|
||||
}];
|
||||
}
|
||||
|
||||
#pragma mark - Event Response
|
||||
- (void)arrowButtonAction:(UIButton *)sender {
|
||||
|
||||
}
|
||||
|
||||
#pragma mark - Getters And Setters
|
||||
- (void)setTotalIncome:(NSString *)totalIncome {
|
||||
_totalIncome = totalIncome;
|
||||
if (_totalIncome) {
|
||||
NSString * title = [NSString stringWithFormat:@"%@钻石", [NSString getDealNumwithstring:_totalIncome]];
|
||||
NSRange range = [title rangeOfString:@"钻石"];
|
||||
NSMutableAttributedString * attribute = [[NSMutableAttributedString alloc] initWithString:title attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:34],NSForegroundColorAttributeName:[UIColor whiteColor]}];
|
||||
[attribute addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:18] range:range];
|
||||
self.coinLabel.attributedText = attribute;
|
||||
}
|
||||
}
|
||||
|
||||
- (void)setTimeType:(GuildIncomeRecrdTimeType)timeType {
|
||||
_timeType = timeType;
|
||||
switch (_timeType) {
|
||||
case GuildIncomeRecrdTimeType_Day:
|
||||
self.endLabel.hidden = YES;
|
||||
break;
|
||||
case GuildIncomeRecrdTimeType_Week:
|
||||
self.endLabel.hidden = NO;
|
||||
break;
|
||||
case GuildIncomeRecrdTimeType_Mouth:
|
||||
self.endLabel.hidden = YES;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
- (UIImageView *)backImageView {
|
||||
if (!_backImageView) {
|
||||
_backImageView = [[UIImageView alloc] init];
|
||||
_backImageView.userInteractionEnabled = YES;
|
||||
_backImageView.image = [UIImage imageNamed:@"mine_guild_income_header_bg"];
|
||||
}
|
||||
return _backImageView;
|
||||
}
|
||||
|
||||
- (UILabel *)yearLabel {
|
||||
if (!_yearLabel) {
|
||||
_yearLabel = [[UILabel alloc] init];
|
||||
_yearLabel.font = [UIFont systemFontOfSize:12];
|
||||
_yearLabel.textColor = [UIColor colorWithWhite:1 alpha:0.6];
|
||||
}
|
||||
return _yearLabel;
|
||||
}
|
||||
|
||||
- (UIStackView *)stackView {
|
||||
if (!_stackView) {
|
||||
_stackView = [[UIStackView alloc] init];
|
||||
_stackView.axis = UILayoutConstraintAxisVertical;
|
||||
_stackView.distribution = UIStackViewDistributionFill;
|
||||
_stackView.alignment = UIStackViewAlignmentFill;
|
||||
_stackView.spacing = 3;
|
||||
}
|
||||
return _stackView;
|
||||
}
|
||||
|
||||
- (UILabel *)startLabel {
|
||||
if (!_startLabel) {
|
||||
_startLabel = [[UILabel alloc] init];
|
||||
_startLabel.font = [UIFont systemFontOfSize:18];
|
||||
_startLabel.textColor = [UIColor whiteColor];
|
||||
}
|
||||
return _startLabel;
|
||||
}
|
||||
|
||||
- (UILabel *)endLabel {
|
||||
if (!_endLabel) {
|
||||
_endLabel = [[UILabel alloc] init];
|
||||
_endLabel.font = [UIFont systemFontOfSize:24];
|
||||
_endLabel.textColor = [ThemeColor mainTextColor];
|
||||
}
|
||||
return _endLabel;
|
||||
}
|
||||
|
||||
- (UIButton *)arrowButton {
|
||||
if (!_arrowButton) {
|
||||
_arrowButton = [UIButton buttonWithType:UIButtonTypeCustom];
|
||||
[_arrowButton setImage:[UIImage imageNamed:@"mine_guild_income_record_arrow"] forState:UIControlStateNormal];
|
||||
[_arrowButton setImage:[UIImage imageNamed:@"mine_guild_income_record_arrow"] forState:UIControlStateSelected];
|
||||
[_arrowButton addTarget:self action:@selector(arrowButtonAction:) forControlEvents:UIControlEventTouchUpInside];
|
||||
}
|
||||
return _arrowButton;
|
||||
}
|
||||
|
||||
- (UIView *)lineView {
|
||||
if (!_lineView) {
|
||||
_lineView = [[UIView alloc] init];
|
||||
_lineView.backgroundColor = [UIColor whiteColor];
|
||||
}
|
||||
return _lineView;
|
||||
}
|
||||
|
||||
- (UILabel *)totalLabel {
|
||||
if (!_totalLabel) {
|
||||
_totalLabel = [[UILabel alloc] init];
|
||||
_totalLabel.text = @"总收入";
|
||||
_totalLabel.font = [UIFont systemFontOfSize:12];
|
||||
_totalLabel.textColor = [UIColor colorWithWhite:1 alpha:0.6];
|
||||
}
|
||||
return _totalLabel;
|
||||
}
|
||||
|
||||
- (UILabel *)coinLabel {
|
||||
if (!_coinLabel) {
|
||||
_coinLabel = [[UILabel alloc] init];
|
||||
}
|
||||
return _coinLabel;
|
||||
}
|
||||
|
||||
- (NSDateFormatter *)formatter {
|
||||
if (!_formatter) {
|
||||
_formatter = [[NSDateFormatter alloc] init];
|
||||
}
|
||||
return _formatter;
|
||||
}
|
||||
|
||||
@end
|
@@ -0,0 +1,24 @@
|
||||
//
|
||||
// XPGuildIncomeSectionView.h
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by 冯硕 on 2022/4/11.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
typedef NS_ENUM(NSInteger, GuildIncomeSectionViewType) {
|
||||
///工会流水
|
||||
GuildIncomeSectionViewType_Guild,
|
||||
///个人流水
|
||||
GuildIncomeSectionViewType_Person
|
||||
};
|
||||
|
||||
@interface XPGuildIncomeSectionView : UIView
|
||||
@property (nonatomic,assign) GuildIncomeSectionViewType viewType;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
@@ -0,0 +1,130 @@
|
||||
//
|
||||
// XPGuildIncomeSectionView.m
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by 冯硕 on 2022/4/11.
|
||||
//
|
||||
|
||||
#import "XPGuildIncomeSectionView.h"
|
||||
///Third
|
||||
#import <Masonry/Masonry.h>
|
||||
///Tool
|
||||
#import "ThemeColor.h"
|
||||
|
||||
@interface XPGuildIncomeSectionView ()
|
||||
///rongqi
|
||||
@property (nonatomic,strong) UIStackView *stackView;
|
||||
///排名
|
||||
@property (nonatomic,strong) UILabel *rankLabel;
|
||||
///房间/头像
|
||||
@property (nonatomic,strong) UILabel *roomLabel;
|
||||
///昵称
|
||||
@property (nonatomic,strong) UILabel *nickLabel;
|
||||
///收入
|
||||
@property (nonatomic,strong) UILabel *incomeLabel;
|
||||
@end
|
||||
|
||||
@implementation XPGuildIncomeSectionView
|
||||
|
||||
- (instancetype)initWithFrame:(CGRect)frame {
|
||||
self = [super initWithFrame:frame];
|
||||
if (self) {
|
||||
[self initSubViews];
|
||||
[self initSubViewConstraints];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
#pragma mark - Private Method
|
||||
- (void)initSubViews {
|
||||
self.backgroundColor = [UIColor clearColor];
|
||||
[self addSubview:self.stackView];
|
||||
[self.stackView addArrangedSubview:self.rankLabel];
|
||||
[self.stackView addArrangedSubview:self.roomLabel];
|
||||
[self.stackView addArrangedSubview:self.nickLabel];
|
||||
[self.stackView addArrangedSubview:self.incomeLabel];
|
||||
}
|
||||
|
||||
- (void)initSubViewConstraints {
|
||||
[self.stackView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.edges.mas_equalTo(self);
|
||||
}];
|
||||
|
||||
[self.rankLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.width.mas_equalTo(52);
|
||||
}];
|
||||
|
||||
[self.roomLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.width.mas_equalTo(45);
|
||||
}];
|
||||
|
||||
[self.nickLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.width.mas_equalTo(90);
|
||||
}];
|
||||
}
|
||||
|
||||
#pragma mark - Getters And Setters
|
||||
- (void)setViewType:(GuildIncomeSectionViewType)viewType {
|
||||
_viewType = viewType;
|
||||
self.nickLabel.hidden = _viewType == GuildIncomeSectionViewType_Guild;
|
||||
}
|
||||
|
||||
- (UIStackView *)stackView {
|
||||
if (!_stackView) {
|
||||
_stackView = [[UIStackView alloc] init];
|
||||
_stackView.axis = UILayoutConstraintAxisHorizontal;
|
||||
_stackView.distribution = UIStackViewDistributionFill;
|
||||
_stackView.alignment = UIStackViewAlignmentFill;
|
||||
_stackView.spacing = 10;
|
||||
}
|
||||
return _stackView;
|
||||
}
|
||||
|
||||
- (UILabel *)rankLabel {
|
||||
if (!_rankLabel) {
|
||||
_rankLabel = [[UILabel alloc] init];
|
||||
_rankLabel.text = @"排名";
|
||||
_rankLabel.font = [UIFont systemFontOfSize:12];
|
||||
_rankLabel.textColor = [ThemeColor textThirdColor];
|
||||
_rankLabel.textAlignment = NSTextAlignmentCenter;
|
||||
}
|
||||
return _rankLabel;
|
||||
}
|
||||
|
||||
- (UILabel *)roomLabel {
|
||||
if (!_roomLabel) {
|
||||
_roomLabel = [[UILabel alloc] init];
|
||||
_roomLabel.text = @"昵称";
|
||||
_roomLabel.font = [UIFont systemFontOfSize:12];
|
||||
_roomLabel.textColor = [ThemeColor textThirdColor];
|
||||
_roomLabel.textAlignment = NSTextAlignmentCenter;
|
||||
}
|
||||
return _roomLabel;
|
||||
}
|
||||
|
||||
- (UILabel *)nickLabel {
|
||||
if (!_nickLabel) {
|
||||
_nickLabel = [[UILabel alloc] init];
|
||||
_nickLabel.text = @"昵称";
|
||||
_nickLabel.font = [UIFont systemFontOfSize:12];
|
||||
_nickLabel.textColor = [ThemeColor textThirdColor];
|
||||
_nickLabel.textAlignment = NSTextAlignmentCenter;
|
||||
_nickLabel.hidden = YES;
|
||||
}
|
||||
return _nickLabel;
|
||||
}
|
||||
|
||||
- (UILabel *)incomeLabel {
|
||||
if (!_incomeLabel) {
|
||||
_incomeLabel = [[UILabel alloc] init];
|
||||
_incomeLabel.text = @"收入(钻石)";
|
||||
_incomeLabel.font = [UIFont systemFontOfSize:12];
|
||||
_incomeLabel.textColor = [ThemeColor textThirdColor];
|
||||
_incomeLabel.textAlignment = NSTextAlignmentCenter;
|
||||
}
|
||||
return _incomeLabel;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@end
|
@@ -0,0 +1,16 @@
|
||||
//
|
||||
// XPMineAnchorIncomeStatisViewController.h
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by 冯硕 on 2022/4/11.
|
||||
//
|
||||
|
||||
#import "BaseViewController.h"
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface XPMineAnchorIncomeStatisViewController : BaseViewController
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
@@ -0,0 +1,31 @@
|
||||
//
|
||||
// XPMineAnchorIncomeStatisViewController.m
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by 冯硕 on 2022/4/11.
|
||||
// 个播收入统计
|
||||
|
||||
#import "XPMineAnchorIncomeStatisViewController.h"
|
||||
|
||||
@interface XPMineAnchorIncomeStatisViewController ()
|
||||
|
||||
@end
|
||||
|
||||
@implementation XPMineAnchorIncomeStatisViewController
|
||||
|
||||
- (void)viewDidLoad {
|
||||
[super viewDidLoad];
|
||||
// Do any additional setup after loading the view.
|
||||
}
|
||||
|
||||
/*
|
||||
#pragma mark - Navigation
|
||||
|
||||
// In a storyboard-based application, you will often want to do a little preparation before navigation
|
||||
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
|
||||
// Get the new view controller using [segue destinationViewController].
|
||||
// Pass the selected object to the new view controller.
|
||||
}
|
||||
*/
|
||||
|
||||
@end
|
@@ -0,0 +1,19 @@
|
||||
//
|
||||
// XPMineClanStatisViewController.h
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by 冯硕 on 2022/4/11.
|
||||
// 家族收入统计
|
||||
|
||||
#import "BaseViewController.h"
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface XPMineClanIncomeStatisViewController : BaseViewController
|
||||
///公会的id
|
||||
@property (nonatomic,copy) NSString *hallId;
|
||||
///家族的id
|
||||
@property (nonatomic,copy) NSString *clanId;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
@@ -0,0 +1,172 @@
|
||||
//
|
||||
// XPMineClanStatisViewController.m
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by 冯硕 on 2022/4/11.
|
||||
//
|
||||
|
||||
#import "XPMineClanIncomeStatisViewController.h"
|
||||
///Third
|
||||
#import <Masonry/Masonry.h>
|
||||
#import <JXCategoryView/JXCategoryView.h>
|
||||
#import <JXCategoryView/JXCategoryIndicatorBackgroundView.h>
|
||||
#import <JXCategoryView/JXCategoryListContainerView.h>
|
||||
///Tool
|
||||
#import "XPMacro.h"
|
||||
#import "ThemeColor.h"
|
||||
///View
|
||||
#import "XPMineGuildIncomeRecordViewController.h"
|
||||
|
||||
@interface XPMineClanIncomeStatisViewController ()<JXCategoryViewDelegate, JXCategoryListContainerViewDelegate>
|
||||
///分页标题
|
||||
@property (nonatomic, strong) NSArray<NSString *> *titles;
|
||||
///分页控件
|
||||
@property (nonatomic, strong) JXCategoryTitleView *titleView;
|
||||
///分页lineView
|
||||
@property (nonatomic, strong) JXCategoryListContainerView *contentView;
|
||||
///日
|
||||
@property (nonatomic,strong) XPMineGuildIncomeRecordViewController *dayRecordVC;
|
||||
///周
|
||||
@property (nonatomic,strong) XPMineGuildIncomeRecordViewController *weekRecordVC;
|
||||
///月
|
||||
@property (nonatomic,strong) XPMineGuildIncomeRecordViewController *mouthRecordVC;
|
||||
@end
|
||||
|
||||
@implementation XPMineClanIncomeStatisViewController
|
||||
|
||||
- (void)viewDidLoad {
|
||||
[super viewDidLoad];
|
||||
self.title = @"收入统计";
|
||||
[self initSubViews];
|
||||
[self initSubViewConstraints];
|
||||
}
|
||||
|
||||
#pragma mark - Private Method
|
||||
- (void)initSubViews {
|
||||
self.titleView.defaultSelectedIndex = 0;
|
||||
[self.view addSubview:self.titleView];
|
||||
[self.view addSubview:self.contentView];
|
||||
[self.contentView didClickSelectedItemAtIndex:0];
|
||||
}
|
||||
|
||||
- (void)initSubViewConstraints {
|
||||
[self.titleView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.top.mas_equalTo(self.view).offset(10);
|
||||
make.left.right.mas_equalTo(self.view);
|
||||
make.height.mas_equalTo(30);
|
||||
}];
|
||||
|
||||
[self.contentView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.top.mas_equalTo(self.titleView.mas_bottom);
|
||||
make.left.right.bottom.mas_equalTo(self.view);
|
||||
}];
|
||||
}
|
||||
|
||||
#pragma mark - JXCategoryViewDelegate
|
||||
- (NSInteger)numberOfListsInlistContainerView:(JXCategoryListContainerView *)listContainerView {
|
||||
return self.titles.count;
|
||||
}
|
||||
|
||||
- (id<JXCategoryListContentViewDelegate>)listContainerView:(JXCategoryListContainerView *)listContainerView initListForIndex:(NSInteger)index {
|
||||
if (index == 0) {
|
||||
return self.dayRecordVC;
|
||||
} else if(index == 1) {
|
||||
return self.weekRecordVC;
|
||||
} else {
|
||||
return self.mouthRecordVC;
|
||||
}
|
||||
}
|
||||
|
||||
- (void)categoryView:(JXCategoryBaseView *)categoryView didSelectedItemAtIndex:(NSInteger)index {
|
||||
if (index == 0) {
|
||||
self.dayRecordVC.timeType = GuildIncomeRecrdTimeType_Day;
|
||||
} else if(index == 1) {
|
||||
self.weekRecordVC.timeType = GuildIncomeRecrdTimeType_Week;
|
||||
} else {
|
||||
self.mouthRecordVC.timeType = GuildIncomeRecrdTimeType_Mouth;
|
||||
}
|
||||
}
|
||||
|
||||
#pragma mark - Getters And Setters
|
||||
- (void)setClanId:(NSString *)clanId {
|
||||
_clanId = clanId;
|
||||
self.dayRecordVC.guidId = _clanId;
|
||||
self.weekRecordVC.guidId = _clanId;
|
||||
self.mouthRecordVC.guidId = _clanId;
|
||||
}
|
||||
|
||||
- (void)setHallId:(NSString *)hallId {
|
||||
_hallId = hallId;
|
||||
self.dayRecordVC.guidId = _hallId;
|
||||
self.weekRecordVC.guidId = _hallId;
|
||||
self.mouthRecordVC.guidId = _hallId;
|
||||
}
|
||||
|
||||
- (JXCategoryTitleView *)titleView {
|
||||
if (!_titleView) {
|
||||
_titleView = [[JXCategoryTitleView alloc] init];
|
||||
_titleView.delegate = self;
|
||||
_titleView.titles = self.titles;
|
||||
_titleView.backgroundColor = [ThemeColor appBackgroundColor];
|
||||
_titleView.titleColor = [ThemeColor secondTextColor];
|
||||
_titleView.titleSelectedColor = [ThemeColor mainTextColor];
|
||||
_titleView.titleFont = [UIFont fontWithName:@"PingFang-SC-Medium" size:16];
|
||||
_titleView.titleSelectedFont = [UIFont fontWithName:@"PingFang-SC-Medium" size:16];
|
||||
_titleView.titleLabelAnchorPointStyle = JXCategoryTitleLabelAnchorPointStyleCenter;
|
||||
_titleView.contentScrollViewClickTransitionAnimationEnabled = NO;
|
||||
_titleView.defaultSelectedIndex = 0;
|
||||
_titleView.cellSpacing = 5;
|
||||
_titleView.cellWidthIncrement = 5;
|
||||
_titleView.listContainer = self.contentView;
|
||||
|
||||
JXCategoryIndicatorLineView *lineView = [[JXCategoryIndicatorLineView alloc] init];
|
||||
lineView.indicatorColor = [ThemeColor appMainColor];
|
||||
lineView.indicatorWidth = 8.f;
|
||||
lineView.indicatorHeight = 4.f;
|
||||
lineView.indicatorCornerRadius = 2.f;
|
||||
_titleView.indicators = @[lineView];
|
||||
}
|
||||
return _titleView;
|
||||
}
|
||||
|
||||
- (JXCategoryListContainerView *)contentView {
|
||||
if (!_contentView) {
|
||||
_contentView = [[JXCategoryListContainerView alloc] initWithType:JXCategoryListContainerType_ScrollView delegate:self];
|
||||
_contentView.defaultSelectedIndex = 0;
|
||||
}
|
||||
return _contentView;
|
||||
}
|
||||
|
||||
- (NSArray<NSString *> *)titles {
|
||||
if (!_titles) {
|
||||
_titles = @[@"每日统计", @"每周统计", @"每月统计"];
|
||||
}
|
||||
return _titles;
|
||||
}
|
||||
|
||||
- (XPMineGuildIncomeRecordViewController *)dayRecordVC {
|
||||
if (!_dayRecordVC) {
|
||||
_dayRecordVC = [[XPMineGuildIncomeRecordViewController alloc] init];
|
||||
_dayRecordVC.incomeType = GuildIncomeType_Clan;
|
||||
_dayRecordVC.timeType = GuildIncomeRecrdTimeType_Day;
|
||||
}
|
||||
return _dayRecordVC;
|
||||
}
|
||||
|
||||
- (XPMineGuildIncomeRecordViewController *)weekRecordVC {
|
||||
if (!_weekRecordVC) {
|
||||
_weekRecordVC = [[XPMineGuildIncomeRecordViewController alloc] init];
|
||||
_weekRecordVC.incomeType = GuildIncomeType_Clan;
|
||||
}
|
||||
return _weekRecordVC;
|
||||
}
|
||||
|
||||
- (XPMineGuildIncomeRecordViewController *)mouthRecordVC {
|
||||
if (!_mouthRecordVC) {
|
||||
_mouthRecordVC = [[XPMineGuildIncomeRecordViewController alloc] init];
|
||||
_mouthRecordVC.incomeType = GuildIncomeType_Clan;
|
||||
}
|
||||
return _mouthRecordVC;
|
||||
}
|
||||
|
||||
@end
|
@@ -21,6 +21,7 @@
|
||||
#import "XPClanSectionView.h"
|
||||
#import "XPMineGuildViewController.h"
|
||||
#import "XPMineGuildSearchViewController.h"
|
||||
#import "XPMineClanIncomeStatisViewController.h"
|
||||
///P
|
||||
#import "XPClanPresenter.h"
|
||||
#import "XPClanProtocol.h"
|
||||
@@ -225,6 +226,25 @@
|
||||
[self.navigationController pushViewController:guildVC animated:YES];
|
||||
}
|
||||
|
||||
- (void)xPGuildHeaderView:(XPGuildHeaderView *)view dicSelectOwner:(ClanDetailInfoModel *)guildInfo {
|
||||
|
||||
}
|
||||
|
||||
- (void)xPGuildHeaderView:(XPGuildHeaderView *)view dicTapMenuItem:(GuildHeaderMenuType)menuType {
|
||||
switch (menuType) {
|
||||
case GuildHeaderMenuType_Hall_Income:
|
||||
{
|
||||
XPMineClanIncomeStatisViewController * clanIncomeVC = [[XPMineClanIncomeStatisViewController alloc] init];
|
||||
clanIncomeVC.hallId = self.clanDetailInfo.clan.cid;
|
||||
[self.navigationController pushViewController:clanIncomeVC animated:YES];
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
#pragma mark - Event Response
|
||||
- (void)backButtonAction:(UIButton *)sender {
|
||||
[self.navigationController popViewControllerAnimated:YES];
|
||||
|
@@ -0,0 +1,41 @@
|
||||
//
|
||||
// XPMineGuildIncomeRecordViewController.h
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by 冯硕 on 2022/4/11.
|
||||
//
|
||||
|
||||
#import "MvpViewController.h"
|
||||
#import <JXCategoryView/JXCategoryListContainerView.h>
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
typedef NS_ENUM(NSInteger, GuildIncomeRecrdTimeType) {
|
||||
///每日
|
||||
GuildIncomeRecrdTimeType_Day = 1,
|
||||
///每周
|
||||
GuildIncomeRecrdTimeType_Week,
|
||||
///每月
|
||||
GuildIncomeRecrdTimeType_Mouth,
|
||||
};
|
||||
|
||||
typedef NS_ENUM(NSInteger, GuildIncomeType) {
|
||||
///家族收入
|
||||
GuildIncomeType_Clan = 1,
|
||||
///工会收入
|
||||
GuildIncomeType_Hall,
|
||||
///个播
|
||||
GuildIncomeType_Anchor,
|
||||
};
|
||||
|
||||
@interface XPMineGuildIncomeRecordViewController : MvpViewController<JXCategoryListContentViewDelegate>
|
||||
///时间的类型
|
||||
@property (nonatomic,assign) GuildIncomeRecrdTimeType timeType;
|
||||
///收入类型
|
||||
@property (nonatomic,assign) GuildIncomeType incomeType;
|
||||
///工会的id 或者是家族的id
|
||||
@property (nonatomic,copy) NSString *guidId;
|
||||
///个播的时候 传入一个家族的id
|
||||
@property (nonatomic,copy) NSString *clanId;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
@@ -0,0 +1,283 @@
|
||||
//
|
||||
// XPMineGuildIncomeRecordViewController.m
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by 冯硕 on 2022/4/11.
|
||||
//
|
||||
|
||||
#import "XPMineGuildIncomeRecordViewController.h"
|
||||
///Third
|
||||
#import <Masonry/Masonry.h>
|
||||
#import <MJRefresh/MJRefresh.h>
|
||||
///Tool
|
||||
#import "ThemeColor.h"
|
||||
#import "PLTimeUtil.h"
|
||||
///Model
|
||||
#import "GuildIncomeRecordModel.h"
|
||||
///View
|
||||
#import "XPGuildIncomeRecordTableViewCell.h"
|
||||
#import "XPGuildPersonIncomeTableViewCell.h"
|
||||
#import "XPMineGuildEmptyTableViewCell.h"
|
||||
#import "XPGuildSingleRoomIncomeTableViewCell.h"
|
||||
#import "XPGuildIncomeSectionView.h"
|
||||
#import "XPGuildIncomeHeaderView.h"
|
||||
///P
|
||||
#import "XPGuildIncomePresenter.h"
|
||||
#import "XPGuildIncomeProtocol.h"
|
||||
@interface XPMineGuildIncomeRecordViewController ()<UITableViewDelegate, UITableViewDataSource, XPGuildIncomeProtocol>
|
||||
///列表
|
||||
@property (nonatomic,strong) UITableView *tableView;
|
||||
///头部的view
|
||||
@property (nonatomic,strong) XPGuildIncomeHeaderView *headerView;
|
||||
///顶部的显示标题
|
||||
@property (nonatomic,strong) XPGuildIncomeSectionView *sectionView;
|
||||
///数据
|
||||
@property (nonatomic,strong) NSArray *datasource;
|
||||
///结束的时间
|
||||
@property (nonatomic,strong) NSDate *endDate;
|
||||
///开始的时间
|
||||
@property (nonatomic,strong) NSDate *startDate;
|
||||
///当前选择的时间
|
||||
@property (nonatomic,strong) NSDate *currentDate;
|
||||
///开始的时间戳
|
||||
@property (nonatomic,copy) NSString *startTimeStr;
|
||||
///结束的时间戳
|
||||
@property (nonatomic,copy) NSString *endTimeStr;
|
||||
@end
|
||||
|
||||
@implementation XPMineGuildIncomeRecordViewController
|
||||
|
||||
- (__kindof id)createPresenter {
|
||||
return [[XPGuildIncomePresenter alloc] init];
|
||||
}
|
||||
|
||||
- (void)viewDidLoad {
|
||||
[super viewDidLoad];
|
||||
[self initSubViews];
|
||||
[self initSubViewConstraints];
|
||||
[self initHeaderAndFooterRrfresh];
|
||||
}
|
||||
|
||||
#pragma mark - refresh
|
||||
- (void)initHeaderAndFooterRrfresh {
|
||||
MJRefreshNormalHeader *header = [MJRefreshNormalHeader headerWithRefreshingTarget:self refreshingAction:@selector(headerRefresh)];
|
||||
header.stateLabel.font = [UIFont systemFontOfSize:10.0];
|
||||
header.lastUpdatedTimeLabel.font = [UIFont systemFontOfSize:10.0];
|
||||
header.stateLabel.textColor = [ThemeColor secondTextColor];
|
||||
header.lastUpdatedTimeLabel.textColor = [ThemeColor secondTextColor];
|
||||
self.tableView.mj_header = header;
|
||||
|
||||
MJRefreshBackNormalFooter *footer = [MJRefreshBackNormalFooter footerWithRefreshingTarget:self refreshingAction:@selector(footerRefresh)];
|
||||
footer.stateLabel.textColor = [ThemeColor secondTextColor];
|
||||
footer.stateLabel.font = [UIFont systemFontOfSize:10.0];
|
||||
self.tableView.mj_footer = footer;
|
||||
|
||||
[self headerRefresh];
|
||||
}
|
||||
|
||||
- (void)headerRefresh {
|
||||
if (self.incomeType == GuildIncomeType_Clan) {
|
||||
[self.presenter getClanTotalIncome:self.guidId startTime:self.startTimeStr endTime:self.endTimeStr];
|
||||
} else if(self.incomeType == GuildIncomeType_Hall) {
|
||||
[self.presenter getHallTotalIncome:self.guidId startTime:self.startTimeStr endTime:self.endTimeStr];
|
||||
} else {
|
||||
if (self.clanId.length > 0) {
|
||||
[self.presenter getClanAnchorTotalIncome:self.clanId startTime:self.startTimeStr endTime:self.endTimeStr];
|
||||
} else {
|
||||
[self.presenter getHallAnchorTotalIncome:self.guidId startTime:self.startTimeStr endTime:self.endTimeStr];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
- (void)footerRefresh {
|
||||
|
||||
}
|
||||
|
||||
|
||||
#pragma mark - Private Method
|
||||
- (void)initSubViews {
|
||||
[self.view addSubview:self.headerView];
|
||||
[self.view addSubview:self.sectionView];
|
||||
[self.view addSubview:self.tableView];
|
||||
}
|
||||
|
||||
- (void)initSubViewConstraints {
|
||||
[self.headerView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.right.mas_equalTo(self.view);
|
||||
make.top.mas_equalTo(self.view).offset(10);
|
||||
}];
|
||||
|
||||
[self.sectionView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.right.left.mas_equalTo(self.view);
|
||||
make.height.mas_equalTo(30);
|
||||
make.top.mas_equalTo(self.headerView.mas_bottom);
|
||||
}];
|
||||
|
||||
[self.tableView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.right.bottom.mas_equalTo(self.view);
|
||||
make.top.mas_equalTo(self.sectionView.mas_bottom);
|
||||
}];
|
||||
}
|
||||
|
||||
///获取当前时间 的一个月之后的时间
|
||||
- (void)monthWithCurrentDate:(NSDate *)newDate {
|
||||
if (newDate == nil) {
|
||||
newDate = [NSDate date];
|
||||
}
|
||||
double interval = 0;
|
||||
NSDate *beginDate = nil;
|
||||
NSDate *endDate = nil;
|
||||
NSCalendar *calendar = [NSCalendar currentCalendar];
|
||||
[calendar setFirstWeekday:2];//设定周一为周首日
|
||||
BOOL ok = [calendar rangeOfUnit:NSCalendarUnitMonth startDate:&beginDate interval:&interval forDate:newDate];
|
||||
if (ok) {
|
||||
endDate = [beginDate dateByAddingTimeInterval:interval-1];
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
self.startDate = beginDate;
|
||||
self.endDate = endDate;
|
||||
}
|
||||
|
||||
- (void)weekDayWithCurrentDate:(NSDate *)date {
|
||||
NSCalendar * calendar = [NSCalendar currentCalendar]; // 指定日历的算法
|
||||
NSDateComponents *comps = [calendar components:NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitWeekday | NSCalendarUnitDay fromDate:date];
|
||||
// 获取今天是周几
|
||||
// 1 是周日,2是周一 3.以此类推
|
||||
NSInteger weekDay = [comps weekday];
|
||||
// 获取几天是几号
|
||||
NSInteger day = [comps day];
|
||||
long firstDiff,lastDiff;
|
||||
if (weekDay == 1){
|
||||
firstDiff = -6;
|
||||
lastDiff = 0;
|
||||
} else {
|
||||
firstDiff = [calendar firstWeekday] - weekDay + 1;
|
||||
lastDiff = 8 - weekDay;
|
||||
}
|
||||
// 在当前日期(去掉时分秒)基础上加上差的天数
|
||||
NSDateComponents *baseDayComp = [calendar components:NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay fromDate:date];
|
||||
//获取周一日期
|
||||
[baseDayComp setDay:day + firstDiff];
|
||||
NSDate *firstDayOfWeek = [calendar dateFromComponents:baseDayComp];
|
||||
self.startDate = firstDayOfWeek;
|
||||
//获取周末日期
|
||||
[baseDayComp setDay:day + lastDiff];
|
||||
NSDate *lastDayOfWeek = [calendar dateFromComponents:baseDayComp];
|
||||
self.endDate = lastDayOfWeek;
|
||||
}
|
||||
|
||||
#pragma mark - UITableViewDelegate And UITableViewDataSource
|
||||
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
|
||||
return self.datasource.count > 0 ? self.datasource.count : 1;
|
||||
}
|
||||
|
||||
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
|
||||
return self.datasource.count > 0 ? 90 : 400;
|
||||
}
|
||||
|
||||
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
|
||||
if (self.datasource.count > 0) {
|
||||
if (self.incomeType == GuildIncomeType_Clan) {
|
||||
XPGuildIncomeRecordTableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:NSStringFromClass([XPGuildIncomeRecordTableViewCell class])];
|
||||
if (cell == nil) {
|
||||
cell = [[XPGuildIncomeRecordTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:NSStringFromClass([XPGuildIncomeRecordTableViewCell class])];
|
||||
}
|
||||
cell.userInfo = [self.datasource objectAtIndex:indexPath.row];
|
||||
return cell;
|
||||
} else if(self.incomeType == GuildIncomeType_Hall) {
|
||||
XPGuildPersonIncomeTableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:NSStringFromClass([XPGuildPersonIncomeTableViewCell class])];
|
||||
if (cell == nil) {
|
||||
cell = [[XPGuildPersonIncomeTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:NSStringFromClass([XPGuildPersonIncomeTableViewCell class])];
|
||||
}
|
||||
return cell;
|
||||
} else if(self.incomeType == GuildIncomeType_Anchor) {
|
||||
XPGuildSingleRoomIncomeTableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:NSStringFromClass([XPGuildSingleRoomIncomeTableViewCell class])];
|
||||
if (cell == nil) {
|
||||
cell = [[XPGuildSingleRoomIncomeTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:NSStringFromClass([XPGuildSingleRoomIncomeTableViewCell class])];
|
||||
}
|
||||
return cell;
|
||||
}
|
||||
}
|
||||
XPMineGuildEmptyTableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:NSStringFromClass([XPMineGuildEmptyTableViewCell class])];
|
||||
if (cell == nil) {
|
||||
cell = [[XPMineGuildEmptyTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:NSStringFromClass([XPMineGuildEmptyTableViewCell class])];
|
||||
}
|
||||
return cell;
|
||||
}
|
||||
|
||||
#pragma mark - XPGuildIncomeProtocol
|
||||
- (void)getClanTotalIncomeScuess:(GuildIncomeRecordModel *)incomeInfo {
|
||||
self.headerView.totalIncome = incomeInfo.total;
|
||||
self.datasource = incomeInfo.income;
|
||||
[self.tableView reloadData];
|
||||
}
|
||||
|
||||
#pragma mark - JXCategoryListContentViewDelegate
|
||||
- (UIView *)listView {
|
||||
return self.view;
|
||||
}
|
||||
|
||||
#pragma mark - Getters And Setters
|
||||
- (void)setTimeType:(GuildIncomeRecrdTimeType)timeType {
|
||||
_timeType = timeType;
|
||||
switch (_timeType) {
|
||||
case GuildIncomeRecrdTimeType_Day:
|
||||
self.startDate = [NSDate date];
|
||||
self.endDate = [NSDate date];
|
||||
self.startTimeStr = [PLTimeUtil getYYMMDDWithDate:self.startDate];
|
||||
self.endTimeStr = [PLTimeUtil getYYMMDDWithDate:self.endDate];
|
||||
break;
|
||||
case GuildIncomeRecrdTimeType_Week:
|
||||
[self weekDayWithCurrentDate:[NSDate date]];
|
||||
self.startTimeStr = [PLTimeUtil getYYMMDDWithDate:self.startDate];
|
||||
self.endTimeStr = [PLTimeUtil getYYMMDDWithDate:self.endDate];
|
||||
break;
|
||||
case GuildIncomeRecrdTimeType_Mouth:
|
||||
[self monthWithCurrentDate:[NSDate date]];
|
||||
self.startTimeStr = [PLTimeUtil getYYMMDDWithDate:self.startDate];
|
||||
self.endTimeStr = [PLTimeUtil getYYMMDDWithDate:self.endDate];
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
self.headerView.timeType = timeType;
|
||||
[self.headerView configHeaderView:self.startDate endTime:self.endDate];
|
||||
[self headerRefresh];
|
||||
}
|
||||
|
||||
- (UITableView *)tableView {
|
||||
if (!_tableView) {
|
||||
_tableView = [[UITableView alloc] initWithFrame:CGRectZero style:UITableViewStylePlain];
|
||||
_tableView.delegate = self;
|
||||
_tableView.dataSource = self;
|
||||
_tableView.tableFooterView = [UIView new];
|
||||
_tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
|
||||
_tableView.backgroundColor = [UIColor clearColor];
|
||||
if (@available(iOS 11.0, *)) {
|
||||
_tableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
|
||||
}
|
||||
[_tableView registerClass:[XPGuildIncomeRecordTableViewCell class] forCellReuseIdentifier:NSStringFromClass([XPGuildIncomeRecordTableViewCell class])];
|
||||
[_tableView registerClass:[XPGuildPersonIncomeTableViewCell class] forCellReuseIdentifier:NSStringFromClass([XPGuildPersonIncomeTableViewCell class])];
|
||||
[_tableView registerClass:[XPMineGuildEmptyTableViewCell class] forCellReuseIdentifier:NSStringFromClass([XPMineGuildEmptyTableViewCell class])];
|
||||
[_tableView registerClass:[XPGuildSingleRoomIncomeTableViewCell class] forCellReuseIdentifier:NSStringFromClass([XPGuildSingleRoomIncomeTableViewCell class])];
|
||||
}
|
||||
return _tableView;
|
||||
}
|
||||
|
||||
- (XPGuildIncomeHeaderView *)headerView {
|
||||
if (!_headerView) {
|
||||
_headerView = [[XPGuildIncomeHeaderView alloc] init];
|
||||
}
|
||||
return _headerView;
|
||||
}
|
||||
|
||||
- (XPGuildIncomeSectionView *)sectionView {
|
||||
if (!_sectionView) {
|
||||
_sectionView = [[XPGuildIncomeSectionView alloc] init];
|
||||
}
|
||||
return _sectionView;
|
||||
}
|
||||
|
||||
|
||||
@end
|
@@ -0,0 +1,16 @@
|
||||
//
|
||||
// XPMineGuildIncomeStatisViewController.h
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by 冯硕 on 2022/4/11.
|
||||
// 家族收入统计
|
||||
|
||||
#import "BaseViewController.h"
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface XPMineGuildIncomeStatisViewController : BaseViewController
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
@@ -0,0 +1,109 @@
|
||||
////
|
||||
//// XPMineGuildIncomeStatisViewController.m
|
||||
//// xplan-ios
|
||||
////
|
||||
//// Created by 冯硕 on 2022/4/11.
|
||||
//// 工会收入统计
|
||||
//
|
||||
//#import "XPMineGuildIncomeStatisViewController.h"
|
||||
/////Third
|
||||
//#import <Masonry/Masonry.h>
|
||||
//#import <JXCategoryView/JXCategoryView.h>
|
||||
//#import <JXCategoryView/JXCategoryIndicatorBackgroundView.h>
|
||||
//#import <JXCategoryView/JXCategoryListContainerView.h>
|
||||
/////Tool
|
||||
//#import "XPMacro.h"
|
||||
//#import "ThemeColor.h"
|
||||
//
|
||||
//@interface XPMineGuildIncomeStatisViewController ()<JXCategoryViewDelegate, JXCategoryListContainerViewDelegate>
|
||||
/////分页标题
|
||||
//@property (nonatomic, strong) NSArray<NSString *> *titles;
|
||||
/////分页控件
|
||||
//@property (nonatomic, strong) JXCategoryTitleView *titleView;
|
||||
/////分页lineView
|
||||
//@property (nonatomic, strong) JXCategoryListContainerView *contentView;
|
||||
//@end
|
||||
//
|
||||
//@implementation XPMineGuildIncomeStatisViewController
|
||||
//
|
||||
//- (void)viewDidLoad {
|
||||
// [super viewDidLoad];
|
||||
// self.title = @"收入统计";
|
||||
// [self initSubViews];
|
||||
// [self initSubViewConstraints];
|
||||
//}
|
||||
//
|
||||
//#pragma mark - Private Method
|
||||
//- (void)initSubViews {
|
||||
// [self.view addSubview:self.titleView];
|
||||
// [self.view addSubview:self.contentView];
|
||||
//}
|
||||
//
|
||||
//- (void)initSubViewConstraints {
|
||||
// [self.titleView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
// make.top.mas_equalTo(self.view).offset(10);
|
||||
// make.left.right.mas_equalTo(self.view);
|
||||
// make.height.mas_equalTo(30);
|
||||
// }];
|
||||
//
|
||||
// [self.contentView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
// make.top.mas_equalTo(self.titleView.mas_bottom);
|
||||
// make.left.right.bottom.mas_equalTo(self.view);
|
||||
// }];
|
||||
//}
|
||||
//
|
||||
//#pragma mark - JXCategoryViewDelegate
|
||||
//- (NSInteger)numberOfListsInlistContainerView:(JXCategoryListContainerView *)listContainerView {
|
||||
// return self.titles.count;
|
||||
//}
|
||||
//
|
||||
//- (id<JXCategoryListContentViewDelegate>)listContainerView:(JXCategoryListContainerView *)listContainerView initListForIndex:(NSInteger)index {
|
||||
//
|
||||
//}
|
||||
//
|
||||
//- (void)categoryView:(JXCategoryBaseView *)categoryView didSelectedItemAtIndex:(NSInteger)index {
|
||||
//}
|
||||
//#pragma mark - Getters And Setters
|
||||
//- (JXCategoryTitleView *)titleView {
|
||||
// if (!_titleView) {
|
||||
// _titleView = [[JXCategoryTitleView alloc] init];
|
||||
// _titleView.delegate = self;
|
||||
// _titleView.titles = self.titles;
|
||||
// _titleView.backgroundColor = [UIColor clearColor];
|
||||
// _titleView.titleColor = [ThemeColor secondTextColor];
|
||||
// _titleView.titleSelectedColor = [ThemeColor mainTextColor];
|
||||
// _titleView.titleFont = [UIFont fontWithName:@"PingFang-SC-Medium" size:16];
|
||||
// _titleView.titleSelectedFont = [UIFont fontWithName:@"PingFang-SC-Medium" size:16];
|
||||
// _titleView.titleLabelAnchorPointStyle = JXCategoryTitleLabelAnchorPointStyleCenter;
|
||||
// _titleView.contentScrollViewClickTransitionAnimationEnabled = NO;
|
||||
// _titleView.defaultSelectedIndex = 0;
|
||||
// _titleView.cellSpacing = 5;
|
||||
// _titleView.cellWidthIncrement = 5;
|
||||
// _titleView.listContainer = self.contentView;
|
||||
//
|
||||
// JXCategoryIndicatorBackgroundView * indocator = [[JXCategoryIndicatorBackgroundView alloc] init];
|
||||
// indocator.indicatorColor = [ThemeColor appMainColor];
|
||||
// indocator.indicatorHeight = 3;
|
||||
// indocator.indicatorWidth = 25;
|
||||
// indocator.indicatorCornerRadius = 1.5;
|
||||
// _titleView.indicators = @[indocator];
|
||||
// }
|
||||
// return _titleView;
|
||||
//}
|
||||
//
|
||||
//- (JXCategoryListContainerView *)contentView {
|
||||
// if (!_contentView) {
|
||||
// _contentView = [[JXCategoryListContainerView alloc] initWithType:JXCategoryListContainerType_ScrollView delegate:self];
|
||||
// _contentView.defaultSelectedIndex = 0;
|
||||
// }
|
||||
// return _contentView;
|
||||
//}
|
||||
//
|
||||
//- (NSArray<NSString *> *)titles {
|
||||
// if (!_titles) {
|
||||
// _titles = @[@"每日统计", @"每周统计", @"每月统计"];
|
||||
// }
|
||||
// return _titles;
|
||||
//}
|
||||
//
|
||||
//@end
|
Reference in New Issue
Block a user