+
-
DataGrid 编辑 + 多选删除 + 彻底删除 示例(维护 allRows)
+
+
+
-
-
-
diff --git a/code/base-project/base-app/箱数据2000行.csv b/code/base-project/base-app/箱数据2000行.csv
deleted file mode 100644
index 745535c4..00000000
--- a/code/base-project/base-app/箱数据2000行.csv
+++ /dev/null
@@ -1,2001 +0,0 @@
-箱号,箱型,制造日期
-PCOD9683272,40HQ,2018-12-10
-WANY7746203,40HQ,2023-07-15
-ZRKP5321921,40GP,2017-12-27
-TSLI0699579,40GP,2010-08-25
-WMMH3875740,20GP,2012-05-02
-GFBH8400948,20GP,2013-12-07
-AWUP0048636,40HQ,2011-07-23
-UHPB3087280,20GP,2008-04-29
-UAOZ1566221,40GP,2015-07-11
-DGFY9848704,40GP,2006-03-21
-PJPV5111909,45HQ,2016-07-22
-ORRJ2504453,20GP,2003-01-30
-CEFZ8107130,45HQ,2020-11-20
-DBGM0924271,45HQ,2015-07-24
-KDXK7861954,20GP,2004-04-05
-GDHH6226012,20GP,2019-08-26
-QUMR4726225,45HQ,2007-05-30
-AHMC5758303,40GP,2015-11-14
-EXJX7415494,45HQ,2020-02-28
-BOQN2283499,45HQ,2006-12-21
-QVQY6358155,45HQ,2008-02-04
-PDQI3809868,40HQ,2004-01-01
-JBJG1945799,45HQ,2006-10-15
-FNFV0386520,40HQ,2014-10-09
-PIOK5663994,20GP,2004-02-14
-RDLW5104403,40HQ,2024-07-14
-VARC8140886,40HQ,2010-08-15
-WMJQ8081829,40GP,2023-12-25
-YCRM0413222,20GP,2007-04-07
-HUQF6085948,45HQ,2015-03-11
-HGCR2700087,40HQ,2001-09-08
-OWQV0164465,45HQ,2018-07-14
-MFAG1201364,20GP,2020-01-22
-MDYC1268850,40GP,2007-11-11
-SRTC9033151,40GP,2022-08-20
-DMWV4393756,20GP,2020-10-03
-TBIB7877644,40HQ,2008-11-11
-NXXT6741803,20GP,2013-12-19
-AJSC5854808,45HQ,2019-09-05
-WXRW8922602,20GP,2020-06-12
-NBUI5110933,40GP,2020-04-01
-QMNZ4255021,40GP,2012-07-01
-DLSB3361443,45HQ,2019-09-22
-LBNV2201725,40HQ,2014-09-16
-CTVZ3347038,40GP,2005-10-28
-UFAD4291746,20GP,2018-05-04
-TGAP7156327,45HQ,2015-11-23
-QRFD7234813,40HQ,2017-12-27
-JHGU6267610,40HQ,2009-07-26
-QSFB7447806,20GP,2005-06-21
-LROG4563467,40GP,2024-09-21
-DNXN3807112,40HQ,2024-01-30
-UDZB5098963,20GP,2019-02-21
-DFJV3073295,20GP,2022-07-12
-PBVT2603532,40GP,2023-06-08
-OMKL9310018,20GP,2013-02-20
-ASWN7844568,40GP,2002-02-07
-OUUH5290316,45HQ,2007-12-22
-DOIB4225005,45HQ,2016-06-26
-IHVV7247184,45HQ,2022-11-01
-UQSU8686242,40GP,2009-03-21
-LIWL1139865,40HQ,2014-12-28
-DHLK9171755,45HQ,2017-03-02
-QCPK6443690,40GP,2013-04-06
-YFQE5259659,40GP,2005-07-31
-YQLV1324667,20GP,2005-06-01
-MHMT3995794,40HQ,2016-08-27
-BWIT5286120,45HQ,2024-09-02
-JLCW9576993,40HQ,2017-01-25
-JVVO0564364,40GP,2017-10-17
-QKMK9280539,40GP,2015-10-11
-AUMO3446484,40GP,2013-08-16
-UXVH7630877,40GP,2015-04-28
-GRVB5009666,20GP,2015-08-26
-MUKH9185622,40HQ,2018-05-05
-SADU9962817,45HQ,2019-03-30
-LGST0095271,20GP,2005-05-16
-NODX0755928,20GP,2002-09-19
-SGFJ0258249,40HQ,2018-06-22
-VXES4132756,40GP,2021-03-29
-JDPM9577513,20GP,2020-06-12
-BJAJ8511284,45HQ,2020-03-21
-MAFI2211303,40HQ,2005-10-20
-VWCZ0647783,40HQ,2003-03-13
-IURJ3562307,45HQ,2022-12-16
-EYYP8167530,40GP,2008-08-21
-THGG2787766,40GP,2013-01-09
-IGWH3310325,40GP,2004-02-18
-IXOW8271043,45HQ,2005-04-14
-UGOV3502917,40GP,2016-06-13
-DEOR0653209,45HQ,2007-02-14
-HSCY3214406,45HQ,2021-01-27
-NALO3402499,20GP,2009-01-15
-TOLT9057475,40HQ,2011-12-01
-ICGD7130096,45HQ,2023-10-06
-VSDB9208303,40HQ,2002-07-17
-VXCP1074477,40HQ,2004-04-18
-YYPU6589583,40HQ,2009-11-14
-DVXS6731933,40HQ,2019-01-21
-WQKH6005661,20GP,2023-01-11
-EDNS9431937,40HQ,2010-11-18
-LMMM1292502,20GP,2021-09-30
-ZWML4598486,45HQ,2001-03-25
-PMVJ7459874,45HQ,2018-02-28
-FRXI5396785,45HQ,2005-07-28
-CAPR0031480,45HQ,2010-04-30
-YUKG8039916,40GP,2005-04-07
-HLWX3378057,40HQ,2010-01-02
-IAKT9907562,40HQ,2009-12-10
-SRHB9916992,45HQ,2009-09-07
-QIPH6093114,20GP,2004-05-24
-CTYS7436966,45HQ,2016-10-26
-XIRL8979530,40HQ,2007-05-02
-WURO3285048,40HQ,2021-02-15
-XQEW6113687,40GP,2005-06-25
-MPXL3531928,40HQ,2000-04-15
-CKHH1896506,40GP,2017-06-05
-OVTS1950839,40HQ,2017-12-25
-WWWZ8081374,40GP,2007-12-27
-LVJI1758103,20GP,2005-08-25
-VRDX6220046,40HQ,2006-12-08
-MERH8077746,45HQ,2015-12-12
-LKKH8269217,40GP,2024-06-02
-POVM3895342,20GP,2022-03-06
-UNOW6728940,45HQ,2018-11-30
-JSBU1660107,20GP,2003-09-17
-PADM4647802,20GP,2007-05-31
-GJER0194360,40HQ,2018-10-07
-UNSX3970473,20GP,2022-09-29
-NQIM2125585,40GP,2018-01-29
-QCQA9110680,45HQ,2013-01-31
-AHVO0454298,45HQ,2011-05-14
-BPRW6022229,40HQ,2012-08-21
-JOMO9097339,20GP,2001-12-31
-GQEX9564443,45HQ,2012-12-20
-IMYA0116220,20GP,2024-09-10
-FNOP2964664,40HQ,2013-03-31
-QDHM1730019,40GP,2000-03-23
-BCJQ3927768,40HQ,2009-10-31
-NDMP3658692,40HQ,2000-01-24
-RGDT4600721,45HQ,2018-10-09
-UUGE7461870,20GP,2019-07-29
-GWYP3022871,40HQ,2021-01-28
-TUEJ9020413,40GP,2007-07-12
-OVUB1007937,40GP,2008-01-21
-NKAZ6540598,45HQ,2007-11-23
-QHIE7245159,40GP,2019-07-09
-YGLT4321998,20GP,2015-02-01
-BAPS3949675,45HQ,2002-10-10
-AUTX0491393,40GP,2006-10-02
-XEJO8647989,45HQ,2017-08-17
-GUHY7014823,20GP,2020-11-15
-HMXG3139863,40GP,2017-12-12
-OLCN2691749,45HQ,2014-10-02
-WMRF1837214,40GP,2019-02-19
-FKSS3646017,20GP,2024-09-27
-OIMV1174012,45HQ,2023-05-23
-BNFY3340160,40GP,2013-04-14
-UTMV6963847,45HQ,2006-03-11
-VIYM3572451,40GP,2005-03-17
-JKYH3570742,20GP,2023-02-04
-PTNX2905603,45HQ,2006-12-18
-PUSC4291731,20GP,2000-05-25
-IWMD6180179,40HQ,2009-06-01
-RKZY4722247,45HQ,2002-05-27
-WDQM8755949,40HQ,2012-05-27
-CBTP1361244,20GP,2023-04-09
-IXVC7462331,20GP,2012-10-05
-CXSY0236269,20GP,2002-07-07
-AABR1879179,20GP,2022-05-04
-NZJT2114310,20GP,2018-07-09
-SFFY9099547,40GP,2017-11-05
-AANA4457738,40GP,2011-12-24
-JGZM2374906,40GP,2003-11-16
-YTMN0950762,40GP,2023-03-10
-QFMP8836067,20GP,2010-05-11
-FEFN7091602,40HQ,2019-11-25
-VZIS1513015,40GP,2023-02-11
-EEGV4431198,40GP,2016-06-30
-ECSC4542969,40GP,2017-01-10
-ZMYC1870191,40GP,2012-07-02
-DPDL1758433,40HQ,2014-05-22
-HLIK1139117,40HQ,2000-09-20
-CQZB6191679,40HQ,2022-11-09
-MTIC6165168,40HQ,2006-04-26
-QFFM2444790,40HQ,2018-09-02
-KOOP2399091,40GP,2001-09-09
-FKDF3484813,20GP,2016-02-18
-QMGZ8126826,20GP,2008-07-18
-HAFL1429530,20GP,2023-05-30
-LZDQ9188830,40HQ,2023-07-13
-JCIP8555485,40GP,2011-07-17
-NUET8050082,45HQ,2009-03-29
-JAGF5415398,45HQ,2013-02-22
-VVAS7522135,40GP,2007-09-02
-WBVM1057899,40GP,2015-08-30
-HLPZ0391823,20GP,2024-06-21
-HGSB4104868,20GP,2016-09-20
-CYZN2687667,40GP,2012-04-23
-FJEF6661406,20GP,2005-11-25
-SPSN5697257,20GP,2018-03-28
-XGAF4393995,45HQ,2018-12-10
-IXLJ1202168,20GP,2013-01-20
-JLQY7677366,40HQ,2011-06-17
-KRIE5981632,20GP,2010-04-07
-DHUR3583305,40HQ,2001-10-06
-FBWZ4466975,40HQ,2013-11-05
-QVZN0965271,40GP,2023-10-16
-QIKS2564471,40HQ,2014-11-09
-AUYY5132009,40HQ,2009-11-07
-MTXJ4956007,20GP,2000-07-21
-XDAT8424161,40GP,2020-07-12
-FDJQ0385648,20GP,2020-12-31
-EUDY1543109,20GP,2022-02-12
-DWZG3534384,20GP,2003-08-13
-RWIW4442918,45HQ,2004-12-03
-PGCT6461046,45HQ,2005-06-23
-GDCE5697351,20GP,2022-06-26
-PFPZ6315837,20GP,2010-04-01
-RIUU1107908,40HQ,2002-07-26
-LGFZ0211144,20GP,2007-12-17
-SADG8444305,40HQ,2014-03-03
-LRGF3107181,40GP,2004-03-18
-YTHY3155361,40HQ,2002-06-24
-COBM2922006,45HQ,2019-02-14
-TDAQ6188736,40HQ,2017-04-13
-TZWD2089390,40HQ,2011-11-29
-XZIA0349622,40HQ,2010-11-19
-XFBJ4164895,40HQ,2006-08-24
-IZNW7385385,40HQ,2002-05-09
-XQKM5318870,20GP,2012-10-16
-TQVI2036775,45HQ,2008-02-17
-DKUF0154397,40GP,2003-02-11
-UFTP3037368,40HQ,2003-02-24
-NOAY5543573,20GP,2010-02-15
-CNMJ3692035,40HQ,2007-06-14
-KYNH0975467,40GP,2021-12-11
-WBTN4938767,20GP,2011-10-19
-VXVQ8692023,20GP,2007-10-04
-RVZJ6176580,20GP,2009-09-11
-NGGP1124944,40HQ,2016-12-08
-SIKE9539323,20GP,2018-12-06
-HQAB0734942,45HQ,2003-07-29
-CADW0006179,40HQ,2011-06-20
-EIRM5382501,40GP,2005-08-14
-QPQD6518676,40GP,2013-12-09
-RMVJ9359257,40GP,2023-05-25
-YNEA3640380,45HQ,2019-02-11
-QWGX3011407,40HQ,2015-01-26
-GIAI7114721,40GP,2022-05-02
-VGHC7945891,20GP,2023-07-10
-YQAW1831131,40HQ,2008-03-11
-KQSC7847325,40GP,2001-07-12
-GYTT4462239,40HQ,2024-02-18
-KBBW1290403,40GP,2012-05-19
-XZCR9591376,40HQ,2018-11-04
-QBLO8677145,40GP,2008-08-09
-XHTX6921245,40HQ,2014-11-14
-VGBD0699751,40HQ,2007-03-29
-YEER4566388,40GP,2024-11-27
-CKYD3827637,45HQ,2023-07-15
-UEKO3239144,40HQ,2019-08-26
-JCLO2373920,45HQ,2007-01-01
-TUCW0331036,40HQ,2002-01-04
-VQMC8276477,40GP,2006-11-16
-HOQT7188597,40HQ,2014-08-24
-WEJL4499930,45HQ,2000-02-11
-WFBK0061165,40GP,2011-11-27
-KMXR1366849,20GP,2008-01-27
-RIXK4098097,40GP,2002-11-08
-PNEM4741211,40HQ,2012-09-19
-DVLX5252381,45HQ,2004-06-29
-ABDM1623961,45HQ,2010-03-13
-DISA6002288,20GP,2018-08-29
-NSNH0916171,45HQ,2021-12-08
-GSBQ1210554,20GP,2005-02-23
-CZWE7125400,40HQ,2004-01-04
-TYOI4010852,40HQ,2004-03-07
-AOTG5141913,40GP,2019-06-27
-WVEO5066253,45HQ,2018-04-06
-NZLA7645745,40GP,2012-06-02
-CRQI6948258,45HQ,2016-08-10
-VGMN5926394,45HQ,2003-09-14
-WWYP2219114,40HQ,2014-09-29
-HIVT8531515,40HQ,2011-11-27
-SXLB2192642,40GP,2006-02-28
-RQIF5561252,20GP,2017-08-07
-VRSC7266064,45HQ,2007-08-08
-XFML8875286,45HQ,2023-07-03
-ORKE4886891,20GP,2012-05-26
-OCJB1150912,20GP,2008-06-18
-GKOR2498630,20GP,2003-08-10
-YRIT5025530,40HQ,2011-05-10
-JVNU4921864,20GP,2005-03-16
-IDWA5743387,45HQ,2020-05-11
-LPIQ6794900,20GP,2020-06-22
-KIWA7149670,20GP,2022-11-08
-OQHN5040607,20GP,2009-12-05
-OYMV3452478,40HQ,2017-04-22
-VIZR1249022,40HQ,2023-01-17
-XSWN4908219,40GP,2003-09-14
-WLYI1880632,20GP,2003-03-09
-SGMR5014508,20GP,2021-09-21
-XZTF1694463,40HQ,2002-05-07
-POIW2482904,40HQ,2001-07-30
-QDAI7306699,20GP,2024-12-20
-CLZO6643751,40GP,2021-01-14
-RKXY0373120,20GP,2021-10-23
-TTZP9650995,45HQ,2006-02-08
-BUJT5407344,20GP,2011-02-23
-QSPC5753139,45HQ,2018-08-29
-NWFL1330733,40HQ,2019-02-20
-HXVS8982374,40GP,2009-07-08
-VDTS4883577,20GP,2018-09-16
-ZUVZ9218956,40GP,2016-06-08
-OJBO2852046,20GP,2009-08-22
-WRYC8133521,40GP,2007-06-16
-PXCP2212842,20GP,2005-05-17
-NZVG8478431,40HQ,2011-08-03
-OFOG6574876,45HQ,2003-01-08
-GSWR6137319,20GP,2000-05-11
-DONN7069760,40GP,2024-05-04
-KXXW0862178,45HQ,2009-01-25
-PKID2784018,20GP,2003-11-29
-BESU4055595,40GP,2024-01-12
-RKSR0669012,45HQ,2016-03-01
-ROJL8036244,40HQ,2003-02-11
-DTST9234811,40GP,2008-04-30
-RTTC8611495,40GP,2019-07-01
-PIIM4040452,40GP,2008-03-17
-TZYF4212628,40HQ,2009-05-07
-MKHY1224999,20GP,2013-06-25
-ELAL3987092,20GP,2020-01-11
-SDMB3845480,45HQ,2024-03-21
-ETPA4870877,20GP,2017-04-14
-HRLY5559648,40HQ,2003-11-28
-YRAD8475851,40GP,2009-11-18
-NOXM2269638,40GP,2000-06-21
-NPHU2770828,45HQ,2018-07-25
-TXGW2599993,40HQ,2008-11-30
-OAIU0866771,20GP,2006-08-12
-JCUY9967501,40GP,2007-11-15
-YIQA7109748,40GP,2023-12-20
-UKRW4604930,40HQ,2012-05-04
-BPVO2515315,20GP,2001-01-01
-EQEP6294826,45HQ,2001-08-31
-TLOU1618700,45HQ,2021-01-02
-XLBM3976974,20GP,2010-09-19
-FKMO5562353,40HQ,2010-03-03
-OQXO8843657,20GP,2000-05-01
-WOBZ9216081,20GP,2007-05-21
-DAJI8793201,40GP,2014-10-15
-MRZL9336226,45HQ,2014-11-14
-CLIP3910256,20GP,2010-04-16
-ZEPD0944383,45HQ,2014-08-30
-JQOZ1617010,40GP,2017-07-27
-KVWR0801977,20GP,2021-05-02
-XPLU3941344,40HQ,2020-10-15
-VYZZ5259958,40GP,2016-09-16
-QRHC8020892,45HQ,2024-07-22
-VSHG8114356,40HQ,2003-12-14
-WJNQ4744333,20GP,2018-10-07
-GOTJ8149080,20GP,2023-02-26
-KBKU3159387,45HQ,2010-11-03
-USSX7731524,45HQ,2001-10-13
-VVJK9509640,40GP,2021-05-16
-JSWA7961762,20GP,2003-08-09
-GTPF7187411,40GP,2000-02-17
-MRTM2752094,40GP,2007-04-11
-JSNU6909925,20GP,2006-07-06
-XVNZ2713181,40GP,2018-09-13
-HAAZ2810613,20GP,2011-03-31
-YJIP8878296,45HQ,2013-11-06
-BXHO4818398,45HQ,2001-11-25
-PBEW2356827,40HQ,2004-12-06
-NNJK1475901,40HQ,2012-09-04
-IYMS5118807,20GP,2015-11-10
-ZIIG7905050,20GP,2021-07-26
-IISR1214490,40GP,2006-04-03
-UVVS4449570,40HQ,2013-01-19
-QRBJ1952715,40HQ,2020-08-19
-TBQQ8957901,20GP,2004-09-30
-GPHX0638670,40HQ,2013-02-28
-UZRS5425602,45HQ,2004-03-28
-FZUS5941209,40HQ,2009-04-26
-NYIU7987441,40HQ,2012-02-22
-OMZT5335336,45HQ,2013-11-23
-MQQA5312128,40GP,2000-10-11
-KAIY1326132,45HQ,2022-05-09
-JKLM3910179,45HQ,2020-07-25
-RAQQ0525685,20GP,2009-08-15
-TQYI7491025,20GP,2016-01-14
-TSQH3921366,40HQ,2014-02-03
-QRID3381566,20GP,2011-01-07
-NMGJ0283999,40HQ,2009-07-15
-BINC2758397,20GP,2016-12-18
-HHIN1647426,45HQ,2003-02-11
-IKDR6224768,40GP,2005-09-06
-HGQA5031086,40HQ,2013-07-05
-HCHP5424826,45HQ,2008-09-15
-DGIQ1613925,40HQ,2021-08-16
-IWZS1552234,45HQ,2024-02-28
-WAML1707153,40HQ,2006-09-04
-HFNW1084571,40GP,2005-11-13
-UFVW2555571,40HQ,2007-12-31
-TWRI3690272,40HQ,2017-10-23
-QFXD7768012,45HQ,2021-11-23
-PLRU9922003,45HQ,2008-01-09
-GJWI4113265,20GP,2001-07-16
-UXLF3467045,20GP,2017-11-12
-YDBO4631994,45HQ,2013-09-11
-KMWN1345945,20GP,2019-03-18
-HJYV2977258,40HQ,2024-09-20
-QEPC3945841,45HQ,2022-10-12
-GSGN2993633,20GP,2019-09-06
-DNHO8443338,40GP,2011-08-05
-SWNE7544384,40HQ,2022-02-07
-PUDI6994953,45HQ,2006-01-09
-KEXN8582437,40GP,2005-07-22
-YBXN0884552,40GP,2020-10-20
-EDSD3448835,20GP,2013-12-02
-FJVX3709585,20GP,2007-12-27
-URMI8210513,45HQ,2006-06-13
-QVCI9507664,40HQ,2021-07-09
-ZQYI2028780,45HQ,2013-11-11
-OPYX2652702,40HQ,2020-10-29
-UMIK3207940,20GP,2000-12-23
-YAPD5403555,40GP,2004-02-21
-JODR8330030,20GP,2023-02-19
-CXHC6800818,40GP,2016-03-07
-XMKI9033103,40GP,2002-08-01
-MIXX0910713,40HQ,2015-10-14
-ARGI3549121,40HQ,2014-02-05
-GJVE9758257,40GP,2022-10-16
-KBNA2876828,45HQ,2019-05-26
-LUXL2549268,45HQ,2016-12-24
-UNZK4111118,40GP,2005-12-14
-GZOP1505543,45HQ,2011-08-16
-LVHD5458818,45HQ,2009-10-04
-HQOD6270362,40HQ,2014-08-23
-HFHU1700269,45HQ,2003-09-24
-ZBPF8554153,20GP,2022-09-03
-EUFU5241238,40HQ,2016-04-16
-QRMG6201554,20GP,2023-06-15
-VSDX3506440,20GP,2011-08-23
-CQQJ5477482,45HQ,2000-01-02
-RODE1682910,40GP,2002-04-07
-TCMD4807131,20GP,2018-05-10
-TPPR7096039,40GP,2023-04-01
-PJPZ1697444,40HQ,2000-07-08
-PKKJ8832548,45HQ,2009-10-12
-YNQZ8382329,20GP,2006-10-18
-AAHZ5974227,45HQ,2022-04-13
-IJGW8551316,40GP,2021-01-25
-CYXR6264603,40HQ,2019-05-12
-ZPEZ2878742,45HQ,2017-11-29
-ARYN4305399,45HQ,2017-05-12
-WXNZ1295367,40GP,2001-10-22
-JZMA1913941,40HQ,2009-02-25
-HGGR3470853,40GP,2022-05-12
-OOYF0641025,45HQ,2008-07-17
-ZCTS4061547,45HQ,2002-10-18
-EBGS8897218,20GP,2024-10-22
-ZFCL5619391,45HQ,2017-05-16
-AWBB5621362,40HQ,2007-11-01
-VEDZ3886758,20GP,2023-11-21
-OJTR3380875,20GP,2013-05-06
-VGVQ5602433,45HQ,2004-05-03
-BBNZ2692889,20GP,2016-07-19
-CEZZ0992778,40GP,2007-10-21
-BHNZ8172420,40HQ,2016-12-30
-QBSS4971242,45HQ,2010-08-15
-GEUK4032766,20GP,2013-08-05
-FQEB8657470,45HQ,2016-05-22
-BUVS9112123,40GP,2000-08-04
-ULBV2660904,40GP,2011-03-29
-WODC9401706,45HQ,2011-08-01
-GJYK5112135,40HQ,2016-02-12
-NYJR3696809,20GP,2004-11-24
-RHDB5966810,40HQ,2002-03-31
-IASO4110557,40GP,2017-07-28
-DRBF0442832,40HQ,2017-03-26
-IUBY6642621,40HQ,2005-08-29
-JJGM1777912,45HQ,2004-02-29
-GKPN1188534,20GP,2003-04-15
-CIUM7016120,45HQ,2015-10-25
-UCQP2112836,20GP,2001-05-22
-UNUO5115381,20GP,2003-08-18
-PQNR4363404,20GP,2019-02-06
-YFLJ3391286,20GP,2011-03-25
-YEIP3303432,20GP,2019-05-12
-LJKA5950416,40HQ,2020-01-23
-SVLM6421442,45HQ,2008-07-07
-HNCU6580762,40GP,2011-04-12
-XDCY6988117,20GP,2022-09-13
-CDZG7352981,45HQ,2015-06-25
-COSX7466226,45HQ,2013-02-19
-GHHB3875610,40GP,2023-02-28
-OQRC2874253,20GP,2005-08-25
-OPQY0696786,40HQ,2018-09-10
-XRGH9105727,40HQ,2018-11-12
-BQVB3655030,20GP,2014-12-02
-APOX4065334,40HQ,2008-01-21
-DICM3952733,45HQ,2015-04-13
-NMLC8398046,40GP,2007-02-24
-LEAB0073989,45HQ,2013-12-10
-JUKZ8721890,40HQ,2020-01-29
-ZDKM2652853,40GP,2010-01-20
-RBJK9275119,45HQ,2016-04-28
-OFBI9961314,40GP,2006-05-31
-ALGD9034146,40GP,2024-01-06
-ZIMA6056697,40HQ,2012-09-13
-HYEX5262405,40HQ,2020-07-28
-OXTF3895134,45HQ,2014-09-30
-UTWX6377913,40GP,2012-03-14
-OCZZ8772728,20GP,2015-04-26
-YGMQ6484097,45HQ,2013-08-15
-BHDJ4655338,45HQ,2021-08-05
-FNAQ6003736,40HQ,2015-04-16
-SJUC7856042,20GP,2018-12-30
-FRXE2840136,20GP,2004-09-28
-KLHL1912245,45HQ,2010-01-27
-CQVY9324330,40GP,2019-12-10
-HTPE1384786,40GP,2004-02-23
-QIUP0933120,40HQ,2005-11-27
-CNNC8982549,40GP,2001-07-08
-HWUF6787948,45HQ,2021-06-26
-JQDO5554035,45HQ,2008-12-05
-ZPQZ5233787,40GP,2008-05-06
-BFIC7370983,40GP,2001-06-24
-EVLD2644282,40GP,2013-04-07
-ASSS8836310,45HQ,2019-05-15
-QOWP3900665,45HQ,2011-01-19
-LVHL7571819,40GP,2017-06-24
-GCBQ0906776,40HQ,2015-05-18
-WAIG4489153,40HQ,2010-08-31
-LNCK7718105,40HQ,2001-12-29
-WQOE3282376,20GP,2007-05-26
-JSLD9653661,40HQ,2002-02-27
-RFSX0423582,40HQ,2000-04-03
-SKKD3851125,40HQ,2012-10-27
-SKJT3459027,40HQ,2019-01-22
-YBRO6897509,40HQ,2012-05-02
-QQWW5147283,45HQ,2002-08-26
-DXOY9318596,40HQ,2002-01-17
-EOML0473146,40HQ,2007-05-30
-ESJF1033275,40HQ,2015-05-01
-YYGM1052853,40GP,2001-03-31
-JVSG5572709,40GP,2017-06-03
-DMPW8209099,40GP,2010-12-30
-NIMR5005487,45HQ,2002-06-30
-ENZR4318395,45HQ,2001-08-26
-FYBM2772696,40HQ,2019-06-01
-KVKL1333878,20GP,2002-01-14
-KXJX8501966,45HQ,2021-01-31
-TVOB5564764,20GP,2000-05-14
-GAHA9495023,45HQ,2009-01-16
-KKXU3685733,40GP,2009-10-06
-DPZW5083399,40GP,2007-11-14
-QPIT9538209,45HQ,2003-02-20
-FEMI4123286,45HQ,2020-03-06
-BISJ5245985,40HQ,2014-01-04
-KTVP4198355,40GP,2004-11-08
-OGBJ6265145,40HQ,2013-05-08
-KJCN2884874,20GP,2002-11-18
-QXRZ1063919,45HQ,2021-02-23
-QWDP7055860,40GP,2014-09-20
-LLUW5116680,40HQ,2014-05-22
-YOIB3853400,45HQ,2018-11-23
-GZHT9081275,40GP,2008-07-03
-FZUH7583175,40GP,2013-07-01
-NONC7686388,40HQ,2010-01-20
-BFPB8618179,45HQ,2010-11-14
-BMDP1995315,45HQ,2001-05-05
-OIAK9235676,40HQ,2021-11-03
-RYIU4464475,20GP,2013-02-14
-JXRO5545712,40GP,2010-08-06
-QBQN7310631,40GP,2007-06-08
-VPJG2575410,20GP,2013-09-24
-ZCGM8659887,40GP,2018-05-29
-GHZX6277364,40GP,2018-01-19
-YFJX4891631,45HQ,2008-10-06
-KPWN8392377,45HQ,2010-04-18
-YPRC3200713,40GP,2003-01-07
-DRQU2258966,40HQ,2002-05-27
-CPEM7866435,40GP,2004-12-28
-PJZF6709774,40HQ,2007-12-14
-XXVA2642999,40GP,2013-03-02
-XDOU1321936,20GP,2001-04-01
-ILUO9495911,40GP,2006-11-11
-PKZV6630921,40GP,2009-03-20
-CQVT1086043,20GP,2005-12-23
-PKVA2601593,40GP,2012-11-13
-RFCN2738456,40HQ,2001-03-12
-BXMY0860041,40HQ,2006-01-18
-DPDW9684751,40GP,2009-04-18
-VIFE5652835,40HQ,2013-03-04
-JSVP4307084,40GP,2000-01-07
-OTXA3833608,20GP,2024-12-24
-QDZL5182254,40GP,2014-09-13
-STWY7968491,45HQ,2003-05-25
-OUTQ5259135,40HQ,2009-06-23
-TESU0776952,40HQ,2005-02-22
-XFDU8239060,20GP,2010-06-05
-FARI8947501,20GP,2013-11-01
-FFMF6169336,20GP,2018-03-11
-HSTL9831339,40HQ,2002-08-16
-IHKO1678132,20GP,2021-08-18
-WYQP2536303,40GP,2014-08-14
-XFOO3216140,40HQ,2006-10-19
-QEXW9579212,45HQ,2009-12-23
-BJGG8550140,40GP,2011-07-31
-UCGZ4178435,20GP,2019-04-10
-PTPH5279008,40GP,2016-06-26
-HHEM0224359,20GP,2016-01-30
-OPXI8280422,45HQ,2002-04-25
-NZUJ7233598,20GP,2023-04-20
-NBVM4503903,20GP,2008-09-05
-JXLC0677967,40GP,2013-11-17
-EYMV4003426,40HQ,2014-07-23
-OUNL0012306,20GP,2021-11-04
-AMAR9128115,40HQ,2023-07-08
-RBSI9029375,40GP,2007-07-22
-FTTI5434029,40GP,2018-07-13
-RZIV0104135,40HQ,2009-07-02
-RLCD1419086,40HQ,2012-01-14
-CNDF8986365,20GP,2001-07-07
-MIWK6685232,40GP,2015-07-09
-FZFK3349821,40GP,2014-12-28
-FAKT9419229,40GP,2020-03-30
-NIKH3856473,40HQ,2016-05-01
-LCOI3799402,20GP,2016-06-05
-QRQV9527168,40HQ,2013-02-28
-RBEF9681938,40HQ,2007-01-10
-DNNT4812255,20GP,2024-04-19
-QCFI9532373,20GP,2014-02-14
-LSQQ5896539,20GP,2008-12-02
-TBRB3322300,45HQ,2021-08-11
-PZDJ6103208,40HQ,2024-07-23
-PMXX4243357,20GP,2001-10-02
-RURT2970358,45HQ,2001-10-27
-QCQJ5029455,45HQ,2023-05-21
-VNUV0301635,40GP,2001-01-02
-WVAR4464583,20GP,2023-01-07
-LERK9462487,45HQ,2000-01-14
-CQSL4469834,40HQ,2012-10-27
-WAIS2750137,40GP,2016-05-09
-OWIY0115516,45HQ,2007-09-03
-DOAE6186272,20GP,2011-10-04
-GVNK2942241,40HQ,2017-05-29
-VONR4018009,40GP,2004-10-02
-KMDT3857824,40GP,2004-01-11
-UWAJ9856772,45HQ,2019-08-24
-ERGR0061844,45HQ,2000-07-16
-SZIN5848457,40HQ,2018-06-05
-OIFQ5750040,40HQ,2010-12-23
-RHYZ4129517,45HQ,2001-10-25
-CKXZ7039868,45HQ,2004-05-14
-JKEC8102820,40HQ,2007-07-17
-FVZO3551631,20GP,2021-11-13
-HFFW3566377,45HQ,2012-02-25
-TISY5333250,40HQ,2001-04-12
-TWSN9144002,40HQ,2008-06-30
-MLQY3802136,40GP,2019-02-08
-HTKR9661112,45HQ,2007-04-07
-QOVR9044724,40GP,2013-02-26
-RFZM2939597,40GP,2008-08-30
-KVWQ8270228,45HQ,2022-07-18
-WDYW3338096,40GP,2008-08-16
-FTSD8850901,45HQ,2021-09-28
-GAWA8985741,20GP,2009-03-04
-YIGL7680900,40GP,2001-05-05
-VVMM1950412,40GP,2011-06-14
-XLUP0065029,40GP,2023-07-19
-JOMI2359117,40GP,2015-03-04
-ZYSJ0942503,45HQ,2016-04-01
-WWSI7874947,40HQ,2019-10-13
-SLUM2915922,20GP,2009-11-06
-CVLW8825977,45HQ,2021-09-06
-TDVP2090460,45HQ,2011-07-20
-YXKO0855144,40GP,2019-04-25
-RVZL7824575,40GP,2011-03-07
-AZWB5213456,40GP,2022-01-31
-IKOM4416921,40HQ,2019-03-28
-XHWB8843112,40HQ,2011-08-24
-DGTN4344477,45HQ,2003-01-12
-NUIK4936882,20GP,2010-05-06
-JMXQ7205695,40HQ,2021-05-30
-AHDZ5029760,40GP,2004-10-14
-USCS1542470,40HQ,2019-06-24
-MRMJ1393820,45HQ,2017-08-28
-NRJP6094074,40GP,2007-04-13
-DYVA6258945,45HQ,2009-07-13
-UBKQ3984650,20GP,2012-10-13
-YFSZ8094975,45HQ,2015-10-25
-FJSM2977189,20GP,2018-02-02
-SOAU1617077,45HQ,2007-05-10
-DJNJ6414727,20GP,2015-12-16
-JIWE7138334,40HQ,2016-06-05
-LFHD8268020,40HQ,2019-03-08
-RHRS6167428,40HQ,2002-10-27
-NZSB5285806,45HQ,2019-11-26
-ULAN4074360,45HQ,2018-11-14
-AUGD3882787,40GP,2011-12-06
-JOVI1999571,40GP,2001-01-30
-FCWI6224997,40GP,2010-03-29
-MMWH3979208,20GP,2021-06-23
-DQMX9110546,40GP,2021-06-17
-IRMR1581553,40HQ,2003-04-05
-XRWJ5236509,40HQ,2018-12-01
-UEVK8837314,20GP,2019-01-22
-CIVK4382110,45HQ,2016-03-20
-WBDV5006351,45HQ,2006-08-19
-JQOZ8416216,40HQ,2024-11-20
-JLCY5481318,45HQ,2017-07-29
-BYCF4987758,40HQ,2017-09-09
-PYTS6068303,40HQ,2001-07-30
-BTFG0444524,20GP,2006-01-05
-DTWO7716294,45HQ,2021-05-05
-VLAW1796830,40GP,2005-08-09
-WRXJ8213680,40HQ,2017-10-21
-FMVT8904839,40HQ,2011-06-14
-ABCL7335897,40GP,2021-11-13
-JKWP6311881,45HQ,2010-07-15
-JFBE1909126,45HQ,2020-08-05
-KYBS4224408,45HQ,2017-05-29
-PYCV6088471,40HQ,2021-06-02
-NWQM5555214,40HQ,2008-12-01
-TDMI6090085,40GP,2009-05-18
-VGAB8146954,45HQ,2005-03-31
-SKPQ1850894,20GP,2011-11-08
-AODG1056968,45HQ,2001-06-14
-MBIH4625814,40GP,2009-02-10
-UIKF7044663,20GP,2010-03-13
-TTVC5489818,45HQ,2005-06-15
-QCUN2341670,40HQ,2010-11-16
-QDMM5048943,40GP,2019-01-04
-EZJL0772265,45HQ,2007-01-15
-OWUZ5582153,40GP,2003-03-06
-IOLO5029185,45HQ,2015-07-17
-SDNP4173747,45HQ,2019-12-24
-IKPV9602242,40GP,2021-05-10
-FNOK3404853,45HQ,2020-10-17
-AFPA2172387,40HQ,2021-11-11
-FJHE0645842,40HQ,2006-04-17
-TXFJ9522834,40GP,2008-08-17
-UAXC5791263,45HQ,2021-05-20
-XVDU1678286,20GP,2003-08-22
-FZXR3231908,45HQ,2010-03-26
-KIBW6855475,40GP,2021-05-13
-XJLA3300037,40HQ,2022-03-03
-GQGL1204224,45HQ,2015-01-07
-VEYC5797850,20GP,2000-12-19
-MZOF9527874,20GP,2018-09-04
-YEXI3944185,40HQ,2016-12-25
-FVVY9049993,20GP,2016-08-16
-NCNH8078032,20GP,2021-08-09
-XSMA5666138,45HQ,2005-08-07
-LEPW2192375,20GP,2018-09-20
-TNEU1306144,40GP,2009-08-23
-WYFU4986484,40GP,2023-10-12
-ECON1059378,20GP,2006-11-06
-NNUM0112948,45HQ,2006-01-21
-BKMD6440912,40GP,2000-11-09
-DZND3929706,45HQ,2014-04-25
-APWK8447143,45HQ,2015-09-10
-SYWE5663912,40HQ,2017-06-17
-JEID4268865,20GP,2018-02-08
-REQE9265936,40HQ,2007-07-22
-YGVY9959353,45HQ,2024-10-07
-OLCS0942783,40GP,2005-12-16
-ZVCA4907676,40HQ,2003-10-08
-CIRP4300467,45HQ,2024-12-10
-SHXN1817152,45HQ,2001-03-19
-QMLV2242332,20GP,2019-10-02
-NCGF2430092,45HQ,2024-01-11
-EVJV0165908,40HQ,2006-11-10
-ENGV1208890,40HQ,2019-09-23
-VTEK8680418,20GP,2023-07-21
-LARU6493809,40HQ,2024-12-23
-NRFA8898646,45HQ,2010-02-02
-NHWD6997830,45HQ,2006-12-18
-GJUZ0628414,40GP,2021-10-19
-PBRJ7784237,20GP,2011-12-12
-GBPE4838692,20GP,2018-01-10
-ASZS6191862,20GP,2023-03-29
-LPYV9571448,20GP,2011-04-03
-LKYT9200720,40HQ,2010-10-07
-PLNE8120112,40HQ,2000-07-18
-AVDZ6282997,40GP,2007-08-16
-ZRML4261626,40HQ,2023-06-30
-NTLC4141640,40GP,2006-04-15
-XQHN1363771,20GP,2024-05-10
-JLVK0623246,20GP,2016-11-08
-YBQX4792698,20GP,2014-12-01
-OEKP2318418,40HQ,2017-08-08
-MQEH7075147,45HQ,2004-07-17
-JIVK9828930,45HQ,2015-01-07
-ZOTK8181125,40GP,2006-02-16
-POCL4922163,45HQ,2000-03-07
-QMWJ0414547,40HQ,2018-08-05
-CNES2940515,20GP,2007-03-22
-AIIK4931121,40GP,2007-02-27
-HUZR1565299,40HQ,2003-01-22
-ZHMP0525633,20GP,2006-08-07
-NHQP8548973,20GP,2017-02-13
-SHPP4006532,40HQ,2009-08-10
-VFXE6348036,40GP,2019-12-30
-LXNZ9399190,45HQ,2019-09-03
-YGLZ6849914,45HQ,2021-09-22
-JQCY0719511,20GP,2020-04-08
-BJHL1626350,40HQ,2024-09-04
-NOZQ2325996,40HQ,2009-06-18
-AZGJ7711708,40HQ,2023-04-27
-MDFC9538724,40HQ,2004-05-02
-BNWI2823811,40HQ,2010-04-26
-OLRM9745296,40GP,2013-08-14
-XRKF6421119,20GP,2014-11-02
-UURR3586779,40HQ,2013-01-26
-EVMQ6665646,20GP,2003-04-13
-DUVQ0686286,45HQ,2019-03-26
-FHJK4121687,20GP,2001-12-17
-WIXZ9954771,40GP,2015-06-05
-JYXR7805973,40HQ,2019-07-21
-WRTQ8989713,40HQ,2014-10-01
-CUWQ5821543,45HQ,2012-09-19
-WXPC1629174,40HQ,2012-07-30
-ZMDU4969551,45HQ,2008-01-06
-CBIO4727774,20GP,2018-10-06
-QBWS2449678,45HQ,2007-04-01
-MRUC8507082,45HQ,2008-09-03
-DEDJ8182618,40GP,2008-04-06
-TBDK6257989,20GP,2005-11-08
-DMTK5177994,20GP,2013-06-21
-KVUF3961560,45HQ,2006-08-03
-EIIY9335131,40HQ,2023-08-15
-ZOES8411769,20GP,2002-10-11
-YXPV7094124,45HQ,2024-09-05
-NXJB9941796,40GP,2007-12-17
-QRCO8248183,20GP,2011-09-21
-CPXA7149321,40GP,2015-12-03
-JMJY7001186,40HQ,2004-09-18
-RCPW6467104,20GP,2002-10-27
-XOMP3956717,40HQ,2014-12-09
-NEVJ1987223,20GP,2014-08-15
-GWEX5509710,20GP,2015-04-01
-VEVG6613066,20GP,2016-07-13
-ZWHN8185365,40GP,2020-09-16
-GYYQ4253960,40HQ,2010-04-03
-BSNR1477514,20GP,2008-05-11
-CSHU7356229,40GP,2001-04-17
-ZVUQ8334056,40HQ,2009-08-12
-LDTU8620515,40HQ,2012-05-19
-KCIR0674909,40HQ,2001-04-13
-IRVL3172756,40HQ,2015-09-29
-HNDL7959869,20GP,2002-08-05
-TDRO9588449,40HQ,2008-02-22
-KAFP2119054,40GP,2017-03-01
-FBLS8002557,40HQ,2005-04-08
-EAZN1328185,40HQ,2002-10-18
-LGWF0553840,40GP,2012-06-13
-RCKY9695659,40GP,2008-01-07
-UEOV6441843,20GP,2008-12-24
-ZIKP0159039,40HQ,2021-11-09
-WYYR3092454,40GP,2017-07-21
-TGTG9941045,40HQ,2015-01-06
-ZTQQ3613902,45HQ,2002-06-13
-CIQH4308433,40HQ,2014-09-11
-DJBX7264664,40GP,2015-09-11
-PHLP5313786,40GP,2021-10-06
-HOAE6959329,40GP,2023-11-04
-KSDI5745206,40GP,2004-01-29
-FHIP5377840,40GP,2010-08-29
-CKLX1046024,20GP,2004-04-03
-CGYF1321898,45HQ,2015-04-29
-ISIZ8838159,45HQ,2010-01-19
-TEHK0075578,40HQ,2020-01-15
-KNIO2064336,45HQ,2010-11-23
-TQDF3647915,45HQ,2013-06-11
-SNOV3045371,20GP,2014-01-16
-NSHH6654640,40GP,2003-02-07
-JZZG4123374,20GP,2009-02-04
-TOEQ3447225,40HQ,2023-12-27
-WPHP5129934,20GP,2014-01-25
-OZGU8176461,40HQ,2015-04-07
-YAOE5903378,40GP,2023-12-23
-BOMD1790198,45HQ,2012-03-26
-ZOTL7662025,40HQ,2015-08-28
-YYYP5145704,45HQ,2017-09-03
-GFJN6830343,45HQ,2015-10-15
-TJRT1857776,45HQ,2023-05-19
-QBEV1611332,20GP,2024-09-11
-JUSI6555595,40GP,2020-05-26
-FDSN9952593,45HQ,2006-10-17
-LNCT1708188,40HQ,2009-02-17
-XWRP8199974,45HQ,2016-09-26
-NBIF2018302,45HQ,2014-02-09
-ETFR8137577,40HQ,2018-12-12
-DTKW1296775,40HQ,2007-02-02
-SHUI7083438,20GP,2019-09-14
-KFAI0481637,40GP,2015-08-27
-YJOM3176291,45HQ,2020-01-21
-IJVX6189220,45HQ,2001-03-29
-GQBL4770073,40HQ,2022-11-10
-UBOF8681118,45HQ,2002-12-11
-CHBS6239901,40GP,2014-03-17
-AASW7520072,40HQ,2004-02-06
-OIFN7310663,45HQ,2008-06-13
-TGMU0293608,20GP,2014-07-21
-PFMH1143133,40HQ,2024-02-04
-STZH1423272,20GP,2018-01-16
-WKZC1163294,20GP,2022-08-14
-MXQE1621078,40GP,2012-01-07
-LWLG3845732,40HQ,2018-01-05
-NJXJ8834270,40GP,2016-09-14
-BTJQ8483172,45HQ,2024-06-06
-TGWP8980378,45HQ,2018-09-29
-BUMB8626427,40HQ,2019-09-20
-FIQY6962547,40HQ,2019-03-20
-MSIY7836779,45HQ,2018-04-08
-DJUF9809908,45HQ,2005-08-08
-BKJB7431848,45HQ,2024-11-08
-XCSA4953729,40HQ,2005-12-14
-ZFGZ0644845,20GP,2018-05-16
-RJQA9682150,40GP,2002-12-09
-HEGW4144655,45HQ,2000-04-22
-HZFS4505631,40HQ,2011-04-12
-CLQB1571435,40HQ,2020-09-28
-VRDN9402546,45HQ,2019-03-26
-BOVV1936805,40GP,2003-05-22
-OLHC6592433,20GP,2002-06-10
-IVLK5139861,45HQ,2009-07-31
-NKIR3212042,40HQ,2002-06-14
-TGCL2283076,40HQ,2014-07-02
-DUTY5457793,20GP,2000-04-02
-ZBRS4336001,40GP,2012-02-27
-GBHY3408749,20GP,2016-02-28
-GZXB6370169,20GP,2013-07-08
-OXPU1594118,40GP,2018-11-11
-NEOR4394697,40HQ,2014-02-01
-WDUV8127838,20GP,2017-12-21
-NQWM2123366,40HQ,2008-07-25
-MBNX0442414,40GP,2007-08-20
-SBAA8245532,40HQ,2018-08-06
-ISMW9342231,40HQ,2008-09-07
-QBQJ2430881,20GP,2012-10-30
-SXGM2967234,20GP,2006-06-29
-YIIS7335077,45HQ,2015-11-20
-BCYI9759822,40GP,2012-07-08
-TIZC9051293,20GP,2021-04-08
-OVVU9315604,45HQ,2024-07-07
-COJD0139679,20GP,2004-05-03
-JHUF1285790,40GP,2001-02-18
-CQAM1498781,45HQ,2007-04-01
-KBPD4404031,40HQ,2005-04-08
-BBGZ4940484,40GP,2001-11-16
-DFKF6260731,40GP,2017-02-22
-VIRD2148390,40HQ,2017-08-13
-YZTX7027620,40GP,2001-02-24
-YZWR8034908,40HQ,2007-05-20
-OYXY7424490,40GP,2013-01-06
-VUEZ1278766,40HQ,2010-08-11
-WWYD4604208,20GP,2009-08-23
-MUGF0218400,40HQ,2005-03-09
-ZQDD9063937,20GP,2022-03-08
-AHMU3415068,45HQ,2009-06-23
-BNAR4542880,40GP,2019-12-09
-BVTO4422712,40GP,2017-06-29
-TWCJ5069530,20GP,2019-05-09
-JOYA6944873,40HQ,2018-03-19
-OSAB3142242,20GP,2001-03-25
-NDXT7774976,40GP,2005-11-06
-KKRM9542400,40HQ,2007-06-04
-SZNP6140417,20GP,2018-12-19
-TJVE3370837,40HQ,2014-12-08
-ABGJ2672862,20GP,2012-09-15
-PCCW1207816,45HQ,2011-03-23
-GADQ8736530,40HQ,2018-06-20
-AVXN8818368,40HQ,2014-08-23
-LJJS1303673,40HQ,2020-07-12
-OCGZ6624179,20GP,2017-10-26
-OZSD4129470,45HQ,2011-03-16
-BRRN1561655,40HQ,2013-06-20
-ERUY9328441,20GP,2014-04-14
-JXQW3965010,40HQ,2002-08-10
-GXIW2314526,40HQ,2014-03-31
-SJHQ2304716,45HQ,2022-01-20
-NVTN6673950,20GP,2002-09-29
-YQDJ1745659,20GP,2024-02-08
-HLVW5431049,40HQ,2003-07-15
-FQMM3890449,40HQ,2024-12-16
-UGLQ6042902,45HQ,2021-08-29
-OGKL1512802,40HQ,2004-07-24
-KWHS0140931,40GP,2009-10-05
-BSMJ7316464,20GP,2007-07-25
-UCEX4151403,45HQ,2021-06-01
-IQNA6643691,40GP,2002-11-17
-GGQR5172977,45HQ,2013-12-16
-UMNU5869353,45HQ,2011-12-10
-ZYTR7143873,40HQ,2006-01-27
-BEKT8172235,40HQ,2009-11-30
-XWIM5571686,40GP,2013-04-04
-KUII5542107,40HQ,2016-07-09
-QPZQ5916899,40HQ,2008-10-03
-DFDF7674628,20GP,2020-06-27
-UCHQ9905258,45HQ,2007-05-15
-CEEW0981500,40GP,2000-04-11
-LBZD1126715,40HQ,2019-12-21
-AMZN3545741,40HQ,2003-08-30
-TWLT3713814,20GP,2011-03-07
-BQDM6574212,40HQ,2005-04-19
-DJDB9277303,40GP,2016-07-13
-OEEI9466280,40GP,2023-05-04
-GXKA6289636,20GP,2001-09-17
-JFQA4629502,45HQ,2018-09-29
-LJSO9430261,40GP,2022-08-01
-YUMX3851628,40GP,2023-01-21
-MZXP9014953,40HQ,2011-06-06
-RDGB7560720,45HQ,2018-10-02
-IJGW3641042,20GP,2012-12-19
-XIHW0129818,45HQ,2024-12-30
-VVSB8042148,45HQ,2007-02-06
-WZUQ9908602,40HQ,2012-01-30
-WUTY4957227,40HQ,2010-03-08
-ZYDA3172167,40GP,2003-09-27
-VBZC0756482,20GP,2006-09-07
-DXBJ5416583,40HQ,2002-09-18
-ICEL8255528,40GP,2003-06-11
-UTMI2783641,40GP,2000-06-10
-WMJY3138833,40HQ,2001-11-30
-VSRK2674249,40GP,2014-01-06
-GZYF6083735,20GP,2020-03-12
-XXXX6241850,40GP,2022-05-21
-HCTC8375755,40HQ,2012-09-01
-DHXQ1964348,40GP,2022-05-16
-QSRJ2331453,20GP,2002-02-15
-MUGG6316265,45HQ,2013-11-24
-SYTP9550239,40HQ,2002-02-20
-BMLO0733861,40HQ,2013-02-05
-VFGD7625639,45HQ,2002-11-23
-TRCF2611504,40GP,2010-02-13
-WMJB5997966,40GP,2013-07-19
-COGB4417865,40GP,2003-10-09
-PXGY2805786,45HQ,2008-12-25
-EURB5392018,20GP,2018-11-09
-XJZY0182061,20GP,2003-07-09
-NRDR9611237,40HQ,2013-10-19
-RVSA4556021,40HQ,2015-02-02
-SURB4862872,40GP,2005-01-26
-RQXH9368775,20GP,2002-02-28
-RTVI5402086,40HQ,2014-03-07
-ZXNQ3490070,20GP,2019-01-09
-MEWQ3282323,40HQ,2008-04-20
-MSIE8675172,45HQ,2002-05-27
-VSKB1987780,40HQ,2018-03-31
-SJYQ1883926,40HQ,2022-09-23
-ZTYT7325551,40HQ,2014-06-19
-NKZQ6844748,20GP,2002-11-27
-RTWV0419011,45HQ,2021-10-10
-UTYF1399417,40HQ,2005-01-17
-EIZP8235319,20GP,2017-06-29
-KKUU6303239,45HQ,2000-10-15
-GZBA2597644,20GP,2024-02-16
-IZUN0775002,40GP,2005-07-28
-KUZA9553640,40GP,2023-01-22
-XTJD5453470,20GP,2012-06-16
-ORGS7827593,20GP,2017-08-03
-OSOX2446024,40HQ,2016-11-28
-JQHS5249490,40HQ,2016-01-17
-GRMU9830403,40HQ,2005-12-19
-LAZE4458702,40GP,2003-02-04
-ZWXU0789493,45HQ,2003-03-21
-LZTK9070527,40HQ,2011-08-22
-KPSI5898715,45HQ,2023-02-04
-XXRF0495095,40HQ,2013-09-28
-ZBPI9931895,45HQ,2024-08-06
-LEFS5939981,40GP,2010-12-14
-FHRO5247079,45HQ,2024-04-10
-DWCY3508174,40HQ,2010-09-12
-WBGA4899403,40GP,2001-12-16
-JMKC1909865,45HQ,2024-03-27
-GHBQ2694397,20GP,2022-08-18
-SLML7394217,45HQ,2008-01-26
-EJTT9774247,20GP,2008-12-31
-OMUM8372531,45HQ,2001-07-30
-HRTA8570814,40HQ,2008-03-26
-WLHK7699432,20GP,2020-03-26
-PCJD7934647,20GP,2001-10-02
-EQCE4118423,40HQ,2014-05-06
-APSX4193823,20GP,2023-06-19
-BZFE0609706,20GP,2014-11-07
-HZWV6582015,40GP,2020-07-16
-MTKV6587075,40HQ,2011-09-10
-YWHK0027351,20GP,2020-01-19
-WTRQ8708117,20GP,2003-10-01
-PEXE1675305,40GP,2019-06-05
-GDNQ8306292,45HQ,2021-10-09
-UCOK0219760,20GP,2007-11-11
-LBFM3955280,40GP,2021-11-13
-FGJE9104241,45HQ,2003-08-30
-PRLX4894429,40GP,2020-09-24
-SCGS7165488,20GP,2008-12-01
-PEYJ4668793,40HQ,2010-06-11
-XTIJ5874246,20GP,2010-11-08
-PVFJ2715883,20GP,2016-08-28
-EESF6725174,45HQ,2004-05-21
-FIJJ9940687,20GP,2018-04-02
-NZCR5032846,40HQ,2017-04-30
-PKYX9690214,20GP,2008-12-31
-JNPW8252274,20GP,2014-04-20
-CYLO0535893,40GP,2018-02-08
-GDQK7129506,40GP,2005-08-03
-ABXR2014483,20GP,2006-08-10
-WTZV7720835,40HQ,2009-04-09
-WLFV2791630,20GP,2020-06-25
-JQHK0127089,45HQ,2012-02-01
-TWKM0895538,20GP,2020-11-02
-UHXK3987229,40HQ,2016-09-22
-JWDP6568850,20GP,2022-07-19
-NSWY6201719,40GP,2007-09-26
-WPLX5210899,20GP,2021-07-05
-APDD6534889,45HQ,2001-04-30
-QMRP0874607,40GP,2014-03-13
-ZKQT2694747,20GP,2005-03-01
-LANY9903472,40HQ,2003-05-10
-BHNF8078297,45HQ,2016-12-27
-EIBE5320373,45HQ,2019-06-04
-WCXG4764218,40HQ,2012-11-14
-CJHU8685350,40HQ,2014-07-28
-IZLH3750330,20GP,2002-11-24
-REXY6979897,40HQ,2011-01-10
-NODB5380830,40HQ,2019-05-09
-MRDL5810672,45HQ,2019-06-30
-DCZW5149522,40HQ,2023-06-29
-GOFI8619290,40HQ,2015-04-01
-MSGK7551908,40HQ,2014-03-03
-DXRK8956775,45HQ,2018-04-28
-QZQU8397236,20GP,2006-11-03
-GKXA3895980,20GP,2010-03-13
-NZEP2418949,40GP,2012-04-14
-YPJO3977355,40GP,2019-07-15
-OGDP7445556,40HQ,2020-05-03
-ETFG8822487,20GP,2016-06-24
-FWXZ8414434,20GP,2023-01-08
-HZER4707322,20GP,2017-12-19
-RLEA4828235,20GP,2023-04-14
-MKQP3037350,45HQ,2001-12-28
-DUKX0035560,20GP,2001-08-19
-VVQJ4484149,20GP,2022-02-09
-YYDP1928045,40HQ,2016-04-22
-YLSP3420799,45HQ,2010-08-10
-LGYA1566954,45HQ,2022-08-02
-WATU7222809,20GP,2011-01-14
-QDUA0936822,20GP,2018-11-17
-NPKX8974822,20GP,2024-11-24
-ERQF4387852,40HQ,2007-12-27
-ANUD9345325,40GP,2018-06-01
-YCFA1988677,40HQ,2013-05-18
-RXKR2453226,20GP,2022-11-03
-BXGT9325156,20GP,2007-09-03
-FNQM2331586,20GP,2015-07-15
-QZBP2273621,20GP,2020-06-24
-MFEY1595631,40HQ,2002-12-09
-CEQV6112644,40HQ,2006-10-10
-IDGJ3739902,40GP,2010-12-17
-NYMV4383723,40GP,2022-06-03
-YCRW3837508,20GP,2020-08-08
-YUYK4293563,45HQ,2012-07-09
-NZNA2152400,40GP,2018-11-30
-CXDW6652000,45HQ,2002-03-12
-ZTYU1205604,40GP,2019-05-12
-DREB1742663,40GP,2009-11-16
-CWIC4323400,20GP,2020-03-29
-OASB5631938,40GP,2006-10-15
-GFDT4052817,40HQ,2017-10-11
-UAEI8814983,45HQ,2020-03-07
-HABO9700477,40HQ,2004-01-22
-AEVA1097235,40GP,2013-02-02
-FEOU3162239,20GP,2013-07-22
-PIRP7904696,45HQ,2011-10-17
-BMWM2586107,40GP,2019-11-29
-DRIF0772831,40GP,2003-02-18
-YVZU4970003,40HQ,2020-10-08
-WXYD3162498,40HQ,2023-12-20
-KIEO7528093,20GP,2024-02-12
-JUIZ2431613,40GP,2002-07-04
-MRKH9592307,45HQ,2004-02-21
-SUAX4874022,40HQ,2024-06-11
-FOLB4724304,20GP,2018-11-03
-KPHV5601257,20GP,2013-07-29
-RJVI8939169,20GP,2018-07-26
-ACBP0358311,40GP,2015-12-10
-VDGM9881381,40GP,2005-01-25
-TESY4866535,20GP,2010-03-25
-YUCB4656281,40GP,2024-11-04
-CBOF8276394,20GP,2013-01-18
-HEQE7013949,45HQ,2008-05-29
-DIAK5061306,45HQ,2022-08-22
-KUYV7565768,40GP,2019-05-24
-OBUO6136632,40HQ,2008-02-26
-DHCI5440979,40HQ,2007-10-06
-OPFL2902120,40GP,2009-03-26
-NAGZ3255205,40HQ,2019-01-30
-AHYB3079571,40GP,2000-09-27
-LPSL7948414,40GP,2003-04-24
-POIF2028017,40GP,2006-12-01
-VGDM5402270,20GP,2014-11-28
-GPIS5886580,40GP,2011-01-02
-IQJK4252828,45HQ,2008-06-08
-QMBV2917028,45HQ,2016-12-26
-EJOC4133588,40GP,2008-04-25
-GLHG0274312,20GP,2008-11-11
-JEEL6968968,40GP,2006-06-07
-KYMQ0801023,40GP,2000-01-02
-NVNR5753414,45HQ,2009-09-23
-JGJV5380856,40GP,2002-12-31
-HJWR8701130,20GP,2007-04-25
-CQQY7095470,20GP,2006-10-28
-WXNT2111013,40GP,2023-08-22
-XQEV8061071,45HQ,2011-04-16
-INPD7630898,40GP,2015-06-22
-VEKV7309957,40GP,2007-02-02
-FFQB5734599,20GP,2003-07-06
-GNPN1411217,45HQ,2024-07-28
-IWWT7156229,45HQ,2017-12-24
-BBSE2699078,40GP,2024-11-14
-XSFG9976574,20GP,2021-07-24
-FXVS5015763,40GP,2017-06-04
-MWHI8345600,40HQ,2002-02-22
-GNSV0902319,45HQ,2001-03-17
-GKYK8042730,40GP,2001-07-12
-RTBB7885526,40GP,2020-10-31
-MSAR5381161,40GP,2003-09-27
-XPCJ3714274,40GP,2002-02-08
-TNCT8872987,20GP,2023-09-27
-WFLF5532340,40HQ,2016-09-11
-SWGE0155177,40GP,2015-03-18
-TQKG3235193,45HQ,2013-03-24
-CNIJ5554979,20GP,2022-11-21
-FDUD8068584,40GP,2021-01-05
-CXDJ6873646,45HQ,2011-09-02
-FOZU1286117,40GP,2008-03-17
-DKVG2038488,40HQ,2024-04-19
-GIBM8719407,20GP,2020-09-30
-SHHF7272957,45HQ,2003-11-20
-LHIM7343529,40GP,2017-04-29
-KNOY4581943,20GP,2000-05-12
-BWQY5018774,40GP,2008-02-13
-RHSK3538383,20GP,2008-06-07
-GIDA1860023,20GP,2001-09-17
-OHZK6946476,20GP,2003-08-04
-RHZD4185024,40HQ,2008-08-18
-WJFV4677240,40HQ,2000-07-15
-TDKT0144642,45HQ,2006-12-28
-DCDR9729660,45HQ,2009-09-25
-WPTW7126180,40HQ,2006-03-17
-LICR9930294,20GP,2002-08-14
-UUNF8573249,40GP,2007-05-07
-BJGP1928028,40HQ,2004-03-04
-KFKY4300191,40GP,2012-01-09
-YHPN9883152,20GP,2024-07-29
-OLVJ3062359,45HQ,2006-08-19
-BBMO1311240,20GP,2012-12-10
-MYPR2172168,45HQ,2009-04-24
-ENSN6282555,45HQ,2015-03-28
-BMDL0009096,40HQ,2010-10-09
-GIYD7977089,45HQ,2016-12-16
-GFOK3455225,45HQ,2013-01-05
-QONS0044018,20GP,2002-04-07
-GVHM6318764,45HQ,2001-11-06
-XCHL6766218,45HQ,2022-10-10
-QHYM2546308,20GP,2003-10-19
-LTYR8318735,40GP,2012-01-19
-XHJB0427302,20GP,2013-09-26
-ZVCD3119280,45HQ,2018-10-23
-EORN3726468,40GP,2009-06-13
-NFUT5634167,20GP,2013-10-04
-XDLV8670385,20GP,2018-05-04
-CGWI6678798,40GP,2024-09-09
-LYDL9781395,45HQ,2012-07-30
-YLLU2479759,40HQ,2007-02-28
-TRWW2987453,40HQ,2014-02-11
-GMMP4970548,45HQ,2000-01-12
-IXHY8202081,20GP,2021-02-24
-KPQB2528820,40GP,2006-12-21
-BZHJ7884227,20GP,2011-04-17
-OOBX5607957,40HQ,2004-03-11
-GDDP8448045,45HQ,2022-07-06
-TFMB7533713,40GP,2019-12-12
-LSVL4831030,40GP,2015-05-04
-VVIG4683474,20GP,2006-12-24
-EITL1547362,20GP,2019-11-30
-EHWD8981748,40HQ,2018-03-04
-VHAS9775959,45HQ,2019-01-13
-IQMR3843355,45HQ,2008-02-23
-DMTQ8196130,45HQ,2016-01-10
-YAFI2558712,20GP,2009-04-25
-XVFO2753404,40HQ,2010-08-07
-MNNN2655277,20GP,2017-02-22
-TYQT2917621,40GP,2020-03-12
-NGJY1867543,45HQ,2009-11-27
-YMQU8223279,45HQ,2014-01-25
-EICI8462555,45HQ,2006-03-31
-NXXG1286888,20GP,2008-06-18
-YAMW9006088,40GP,2015-12-05
-MWDO1032077,45HQ,2004-10-15
-XIIN0944172,20GP,2001-09-12
-KKTO5139966,20GP,2017-08-24
-SOFH2135296,40GP,2011-05-07
-OZVF0904804,45HQ,2009-11-26
-PQEM9110266,20GP,2011-08-27
-AGHP0875874,20GP,2017-02-11
-QYHB9112367,20GP,2005-06-19
-RUPO9346071,40GP,2000-12-21
-IHZC4451906,20GP,2018-11-21
-DPOD9209630,40HQ,2015-06-23
-UEMW5573189,40GP,2003-02-11
-VAWI5888487,20GP,2017-09-16
-IWYV0765604,40HQ,2016-01-29
-DEGJ0542310,20GP,2001-12-14
-SMQR5728580,40HQ,2008-12-17
-KHCS4119962,40HQ,2005-12-04
-AURV1265858,40GP,2005-01-21
-YPPU8454072,40GP,2010-06-09
-CEVS7047556,20GP,2003-07-08
-DUMC3527218,45HQ,2017-08-11
-QFCR5221682,40GP,2023-10-14
-DLGV5489012,20GP,2016-05-25
-OISH2970374,40HQ,2023-10-17
-LTVM3299489,40GP,2015-08-05
-ZLES2828466,45HQ,2005-09-17
-BYCF9540635,40GP,2005-10-25
-DDLQ2512621,45HQ,2019-10-31
-VUHQ6137308,40GP,2013-05-09
-DFGZ7547706,40HQ,2017-11-30
-MFTN3473584,20GP,2005-03-09
-COIW2960592,20GP,2003-09-22
-YYWR1137393,45HQ,2007-12-31
-VPQN3572815,20GP,2015-05-02
-QMON7039641,40GP,2003-01-18
-PTRM9678879,45HQ,2017-11-25
-ERBP1066770,20GP,2024-05-21
-AUAP0996004,40GP,2021-11-23
-IHFU5412706,45HQ,2016-05-02
-IZPC4661559,20GP,2017-02-23
-XYVJ8646918,40GP,2011-08-06
-HYZW8492273,20GP,2018-04-10
-ZKBY5044663,40GP,2015-11-01
-TQRZ3282308,40GP,2024-03-25
-POLR6002840,40GP,2022-10-20
-WUZP2168406,45HQ,2019-10-22
-NZFJ3709496,40HQ,2014-05-11
-GXYW3292882,40HQ,2002-10-06
-PWJV9501897,40HQ,2020-10-02
-CKLY1997526,45HQ,2016-04-18
-CDDC9163622,45HQ,2010-11-02
-FLKY1798618,20GP,2019-01-21
-DRPT6962411,40HQ,2006-11-16
-NDQY2651698,45HQ,2021-05-09
-PPKT5980898,20GP,2018-06-11
-OTXZ1225550,45HQ,2015-01-31
-BDAO3502296,20GP,2022-06-06
-XQWH7968774,45HQ,2017-07-11
-HZCC3556531,40GP,2005-01-13
-CFPF9232837,45HQ,2013-08-16
-AGZG9054003,45HQ,2009-06-05
-CQWC6865805,20GP,2023-07-15
-YIQA4884510,45HQ,2000-04-12
-RRUC0747446,40HQ,2005-08-30
-SJAD3066970,20GP,2022-04-11
-OVED2642838,40GP,2022-02-24
-AAMW1407980,40GP,2013-12-13
-JGWZ5685555,40HQ,2012-03-24
-WCLV8539878,40GP,2019-03-10
-LFQN1861887,40GP,2022-07-23
-YWPH4596139,40HQ,2014-07-28
-CTFE3439842,40HQ,2014-06-05
-GKQX1437771,40HQ,2000-10-02
-TQOK4724336,40HQ,2022-04-25
-GELZ6734101,20GP,2014-06-28
-ZJIX3554431,40GP,2004-10-02
-KHYL7909337,20GP,2009-08-25
-XSIY3571862,20GP,2024-09-08
-QFWE0382869,40HQ,2017-02-16
-SIUS3249494,45HQ,2007-01-19
-ZQMX2661595,45HQ,2017-03-22
-KOBG0795938,40HQ,2003-07-23
-ICSN3245789,20GP,2018-03-16
-HFPX6887185,40GP,2020-11-05
-ERTC9325246,45HQ,2012-05-04
-JGIV5261450,40HQ,2012-04-21
-YXNB1616342,45HQ,2017-03-20
-DSSV8691049,45HQ,2007-10-17
-IMZH8253660,45HQ,2008-03-13
-NYAL2472735,40GP,2020-06-05
-FQPQ7996186,20GP,2006-11-29
-IAZB9091620,40HQ,2021-08-23
-QUKJ8250800,45HQ,2012-02-27
-CWBW7406922,45HQ,2013-08-27
-AGXQ1951384,20GP,2012-11-03
-VKJR8033325,40HQ,2002-03-07
-ZWBA5386590,45HQ,2021-10-17
-IMTE5414169,40GP,2023-08-10
-LOTD2556842,45HQ,2011-11-29
-BZMP3080422,20GP,2001-10-22
-CBIY3486721,20GP,2009-04-05
-KBDC0056148,40GP,2008-02-10
-ITVQ4774449,45HQ,2015-03-21
-WLIQ6646853,40HQ,2012-12-26
-KCNN4691386,40GP,2017-10-10
-IKAU5688593,45HQ,2018-03-23
-UABF3496079,40GP,2023-10-03
-TJYM1878076,20GP,2000-05-24
-NMEH6153243,40HQ,2014-09-18
-PTBS6557463,40HQ,2018-06-13
-TQYA1260281,40GP,2017-09-12
-WRLS4951226,40HQ,2018-04-21
-YGLL6789880,20GP,2015-04-20
-DNKH9606668,20GP,2023-04-18
-KNWJ5832002,40HQ,2011-02-19
-QMGS6760592,40HQ,2015-12-27
-WWSQ1562376,40GP,2006-05-27
-NXBH5275200,20GP,2016-05-21
-ZKQM9528154,45HQ,2020-06-01
-IUCK5920647,20GP,2001-04-24
-AWDM8481941,40GP,2018-06-13
-EHKH0339957,45HQ,2006-03-15
-KFTE2551220,20GP,2014-05-01
-BTHQ1482681,40GP,2021-12-02
-LSBC0537390,45HQ,2014-06-26
-SISX7801322,40HQ,2003-12-11
-QQJS1948773,20GP,2022-04-05
-OYWY0870748,40HQ,2004-11-23
-JFDG2339589,45HQ,2004-03-12
-EWGF3839253,20GP,2010-01-20
-BBKO2519872,40HQ,2005-03-25
-DGGO2731955,45HQ,2011-02-09
-JNQC8288762,40HQ,2009-05-23
-RPFT1925747,20GP,2022-05-25
-FPIM8887836,45HQ,2012-03-11
-NTLZ2735553,20GP,2013-03-25
-VTZH8636163,40HQ,2010-12-22
-XCTY2694795,45HQ,2014-09-20
-ONPR7269030,20GP,2022-06-20
-IUGW1995372,20GP,2021-05-28
-VFJV7914693,20GP,2003-05-02
-PKEP3158017,20GP,2000-03-09
-MGGX3687671,45HQ,2002-11-12
-NIOL6420674,45HQ,2011-01-30
-PHAG5249031,40GP,2023-11-28
-NQVJ7319168,20GP,2018-10-02
-VTRY1244751,20GP,2002-04-24
-HGPV9792157,20GP,2012-08-03
-ETSH8362287,45HQ,2017-07-18
-IGUT2999504,45HQ,2024-11-23
-ODWT1551970,40GP,2013-08-15
-IABI1148516,20GP,2022-03-27
-NPPA6305784,40HQ,2018-10-04
-IIFJ1332656,40GP,2005-01-09
-HJYA7264374,40GP,2004-08-22
-LKFD8675980,40HQ,2024-01-13
-VHHJ8629363,40HQ,2009-03-25
-JNDH1165267,45HQ,2009-11-19
-WMBE8905536,40GP,2008-04-08
-WCLV2616581,40HQ,2016-06-16
-LRGU2493929,20GP,2011-03-02
-XGYB5498808,45HQ,2012-03-06
-SWZV6865090,40HQ,2015-01-27
-IVBM2508726,40GP,2000-03-07
-TGCS0486990,20GP,2006-10-06
-AKSS4937804,45HQ,2013-11-19
-GUER1385192,45HQ,2018-01-07
-JEOG2953023,40GP,2016-05-08
-IXCM6983889,20GP,2019-05-16
-UPER6711386,20GP,2020-03-09
-INEK3470032,40HQ,2004-09-13
-AXDR9502243,40GP,2017-06-08
-FXYA9939295,45HQ,2002-05-07
-QCGS4236678,45HQ,2009-02-16
-NYYE1086570,45HQ,2002-12-09
-BKPX2109244,20GP,2009-12-28
-COCO4885680,45HQ,2011-01-05
-RNSG4962495,45HQ,2013-08-09
-FGDJ1278624,45HQ,2012-04-27
-KWGX8244145,45HQ,2021-03-28
-AVQW7881587,40GP,2001-11-13
-REOC3772422,45HQ,2022-08-02
-PXSJ2801022,45HQ,2002-11-19
-SPMW8681801,40HQ,2020-10-03
-NJAU6496537,40HQ,2016-11-24
-CYMM8457389,40HQ,2007-07-26
-DFFE7796982,40GP,2008-07-21
-XDNQ8952628,40GP,2013-01-07
-EGYM3829052,40GP,2018-07-16
-XRDP2880788,40HQ,2022-12-13
-JLTT6272788,40HQ,2005-10-02
-OYFS7986248,20GP,2009-01-12
-BDKM3431112,20GP,2021-05-29
-ETKH7149927,40GP,2006-03-06
-DZNG9395844,40GP,2022-08-12
-MFSX9565931,45HQ,2006-11-16
-VKCQ5277324,40HQ,2012-04-28
-IPGT1618033,45HQ,2003-04-17
-DZXW0552193,40GP,2012-01-31
-PBIG9338275,40HQ,2015-08-23
-XVAK3338541,45HQ,2000-10-28
-TYCX1184465,40HQ,2014-07-25
-JOBW6495571,40GP,2017-03-20
-RKCT7378692,20GP,2005-04-02
-LVTU5095406,40HQ,2012-01-31
-PBDE2305896,45HQ,2011-03-18
-ZNTT9050607,45HQ,2009-02-06
-LIYY6795709,20GP,2015-08-18
-HHZJ4303150,45HQ,2009-02-25
-QZRI7750559,40GP,2023-03-11
-RBDZ2822646,20GP,2000-11-03
-ZPXW9119984,40GP,2019-07-19
-EQMI1852740,40HQ,2023-07-19
-VUGU1457103,40HQ,2012-12-23
-ISOM4133048,20GP,2022-08-28
-KQMC2002215,40GP,2005-12-13
-JGRW2279275,45HQ,2004-04-05
-CICE9266155,40HQ,2017-04-16
-QKGJ5610304,20GP,2001-08-25
-EIOZ6361791,20GP,2021-02-06
-SOPL0620388,20GP,2023-09-22
-UXMW8916521,40HQ,2006-03-20
-FAEG2617102,40GP,2018-03-09
-GFQD6241877,20GP,2001-12-24
-VEOZ5653529,20GP,2005-03-10
-XUQS6415735,45HQ,2012-08-23
-VNBM9909118,45HQ,2023-03-08
-VAKI6867004,40HQ,2021-08-27
-XCOT5698599,40HQ,2022-01-19
-ICBD5121911,40GP,2007-09-23
-IVHN4981969,40GP,2024-02-11
-BBUL6262089,20GP,2004-12-14
-UWAD1328015,40HQ,2017-06-24
-KEUF7870483,20GP,2002-11-05
-FBAT7833106,45HQ,2002-05-29
-JXTH8622662,40HQ,2005-07-07
-RHUZ7274571,45HQ,2016-01-09
-CDXT4687028,45HQ,2007-01-02
-NGKZ7095873,20GP,2005-09-13
-ACTG7289614,45HQ,2015-11-21
-JVNZ1291425,20GP,2015-07-02
-NJXT8812551,40GP,2021-03-11
-IXDW4502311,40GP,2013-08-07
-LVQO5651515,20GP,2021-11-02
-GRKB1827325,45HQ,2000-02-13
-CUOC2688652,40HQ,2012-03-25
-KIZP4899915,40HQ,2005-07-25
-STAP9769366,45HQ,2015-01-26
-SMGP3020310,40GP,2010-09-19
-IZGF7836367,20GP,2015-05-01
-DQJI9643300,45HQ,2015-05-19
-WJXS8574508,20GP,2015-04-13
-HHFI3469849,20GP,2012-03-07
-EQUR6383874,45HQ,2006-12-24
-SJPD4965197,20GP,2009-07-20
-ALTY1932915,40GP,2021-03-05
-XKAY6337406,20GP,2014-08-16
-DLUF7098114,40HQ,2005-09-28
-RAIP9659592,40GP,2018-03-02
-LHUO3130765,40HQ,2004-09-28
-AXZO9857305,20GP,2013-01-11
-IBKS4639200,40HQ,2001-05-17
-SPQC2242922,45HQ,2022-09-05
-TDRG0503407,40GP,2015-01-21
-RTTV9433025,40GP,2006-01-24
-EOMH0523083,40GP,2007-05-30
-EIVM7864458,20GP,2018-04-30
-AAQG2126126,20GP,2016-01-29
-QAIA6866248,20GP,2007-05-17
-TSZC9832223,45HQ,2019-01-21
-TVRB9928847,40GP,2010-07-15
-FYND5782843,45HQ,2010-04-10
-HXIH3925670,20GP,2010-08-23
-BJNE3376763,20GP,2001-11-14
-TWZZ8323105,45HQ,2008-11-12
-PELX6004639,40HQ,2018-05-03
-GSAG9915825,40GP,2003-03-09
-VBSK3781169,20GP,2021-12-11
-DHCN8794073,45HQ,2020-03-23
-WRCG8192820,20GP,2012-07-27
-OJTD1134684,20GP,2024-10-18
-IWNG8134554,40GP,2017-09-16
-LXHR7931006,40HQ,2015-05-03
-QNCD6057142,40GP,2007-07-08
-LLOB0592606,40HQ,2017-07-10
-HATI1166578,45HQ,2007-12-04
-MKXK0785304,20GP,2014-10-14
-MUJI3864312,40HQ,2017-01-06
-WGRI0287861,40GP,2012-07-22
-KANG0875687,40HQ,2008-11-23
-BNHB2798797,40HQ,2018-09-10
-ZDJE5638640,40HQ,2016-12-04
-NAXA2872741,40HQ,2014-05-25
-JNFR7814972,40GP,2017-08-29
-EHZO7171775,20GP,2004-07-09
-ZRPW8400477,20GP,2020-03-30
-WLTH6705226,45HQ,2021-07-12
-JXUE2081419,40HQ,2003-12-02
-SLCT7714102,40GP,2011-12-01
-PSFG3617108,40GP,2024-11-10
-AYNG7287194,40HQ,2006-12-03
-JBYI0317694,45HQ,2020-09-17
-KBPW2010151,20GP,2003-08-31
-VRFE9868200,40HQ,2015-12-08
-OHPG5603960,40HQ,2012-09-15
-DQUX8971725,40GP,2009-11-30
-LBNJ5939134,45HQ,2001-07-10
-QYXH1896117,20GP,2015-12-14
-AUEB1283480,40GP,2001-08-14
-CWFA7019023,40GP,2014-05-26
-IFXE5332901,20GP,2002-12-16
-NYMN6914753,40GP,2000-01-07
-VGQP9779489,20GP,2014-10-04
-EMIZ1403665,40HQ,2017-05-14
-ZBSL4179352,40GP,2003-12-31
-QYXQ0385727,40HQ,2020-08-13
-CAMH3158354,40GP,2009-10-10
-HJTF6649667,40HQ,2023-04-30
-SNUH7638234,20GP,2005-10-11
-GEUK4784648,40GP,2024-05-27
-TEAA0871636,20GP,2014-07-02
-RQGA9048742,45HQ,2002-05-22
-VJPX8673799,20GP,2004-06-15
-QDFD9434332,40GP,2016-11-23
-OJIQ0342749,20GP,2016-07-12
-WFMJ6472853,40HQ,2014-03-02
-ZNYZ1973034,20GP,2020-02-02
-FIGP7312291,40GP,2003-11-09
-LGKP9522946,20GP,2006-01-10
-OSDF2844006,45HQ,2004-03-23
-OOOV0091325,40HQ,2015-06-22
-BLGT7778676,20GP,2010-07-22
-IARB5367766,45HQ,2013-12-21
-PRIV5974830,40HQ,2021-12-07
-TQDH2855865,20GP,2009-03-24
-INQG0872283,45HQ,2010-02-09
-DUYF4863572,20GP,2009-05-07
-DBCO6484213,20GP,2020-07-08
-QNQB3096729,40GP,2014-01-21
-MPFH3137341,20GP,2010-11-21
-FEQV9719498,45HQ,2013-07-31
-RKAZ7264615,45HQ,2005-02-11
-XQZJ6585638,20GP,2010-10-13
-XWRT2361398,40GP,2015-08-04
-ZZVH4536713,40GP,2000-10-04
-ESHQ4035556,20GP,2000-11-02
-NGPD5126076,40GP,2009-12-09
-MSOK3072130,40HQ,2001-10-26
-VTNC6423241,40HQ,2004-04-20
-FUDQ1621996,40GP,2010-12-18
-PDRC6898459,40GP,2010-09-10
-ZKIJ9257594,20GP,2018-09-15
-WBIV7125793,40GP,2009-04-18
-CMQY6849641,40GP,2003-01-05
-UTGJ0029127,45HQ,2017-08-15
-GNJF9276796,45HQ,2018-04-08
-HDTI5488190,40HQ,2006-03-20
-ORLG2701940,20GP,2008-01-03
-QEFV7323357,45HQ,2007-10-13
-VQQJ9347047,45HQ,2002-11-20
-BSIK9033122,45HQ,2003-05-25
-FFRA8474871,40HQ,2020-05-31
-QPUB3574467,40HQ,2003-12-27
-FMEV5709478,20GP,2020-02-02
-XRAX4810626,40GP,2002-05-19
-IKHQ0197043,40GP,2014-11-16
-OIFR3627406,40HQ,2007-04-15
-YSHU7959083,40HQ,2013-03-29
-YJJF0966242,45HQ,2010-09-14
-UPCJ9606843,40GP,2013-12-25
-QYMI1880855,40HQ,2015-05-13
-MQSI2580414,45HQ,2019-01-04
-TSEC3346665,20GP,2020-05-29
-EQNN1043707,40GP,2016-06-15
-VXUY8775194,40GP,2009-06-04
-DDIA1507264,40GP,2009-01-20
-PURA0374595,40HQ,2002-10-29
-YQWY8001676,40HQ,2001-08-18
-UOIF4483113,40HQ,2022-05-29
-CGNT3991359,45HQ,2012-03-21
-DLDP8332811,45HQ,2009-11-06
-QHJL0781260,40GP,2000-10-24
-UZHY5446756,45HQ,2007-09-06
-HLZG2222047,20GP,2024-09-22
-LJWC5448614,40GP,2002-03-14
-NUSR2354565,20GP,2018-04-11
-GPMI1372499,40HQ,2009-04-20
-QSVA8643685,45HQ,2004-04-02
-IPSI8226399,40GP,2001-06-20
-TFKF9288531,20GP,2009-05-27
-KIZE4840575,40GP,2008-11-15
-LDPA3533221,40HQ,2010-05-09
-TGBS3521295,40HQ,2004-03-27
-ILKM7458392,40GP,2003-08-25
-BNUQ9837940,20GP,2004-12-11
-WPGE5679976,20GP,2024-11-18
-ISMA1322892,40HQ,2004-10-06
-UYFQ1181678,45HQ,2024-03-03
-AJFD6659270,40HQ,2021-07-10
-MXIO7644347,40GP,2014-09-30
-CGVD7639726,40GP,2009-03-21
-OROQ5469476,40GP,2008-01-26
-DFZG4049433,40GP,2011-06-27
-MOEN3371661,40HQ,2015-02-14
-JTVX8584099,40GP,2013-02-04
-FOVB9322656,20GP,2005-07-07
-GQQB5344791,20GP,2012-05-15
-SWVH0254708,20GP,2009-01-16
-GCMR1301897,45HQ,2024-10-15
-JTGF6105373,45HQ,2023-05-27
-FZUG3866473,20GP,2023-04-21
-FGOQ5965004,45HQ,2024-03-13
-GUGU1671277,40HQ,2022-09-23
-CXYS1129604,40GP,2001-05-15
-SYRF8560166,20GP,2008-03-12
-NGFZ3292919,45HQ,2012-08-04
-BQOW6041266,20GP,2023-10-11
-UWIW9652728,40GP,2023-12-18
-MBFS2659097,45HQ,2009-07-16
-DZJF4148735,40HQ,2016-08-09
-EXUU9046914,40GP,2021-09-23
-YQKT2213770,20GP,2007-12-15
-MJXF9123321,40GP,2010-06-04
-PUTA8164231,40HQ,2024-10-29
-ZFIY7155069,20GP,2011-12-17
-EGZJ7131276,40HQ,2006-04-02
-VTMO2697363,45HQ,2001-03-06
-MBFV4058066,20GP,2018-05-24
-VFKB8049707,20GP,2017-03-18
-KAYL7792824,20GP,2008-05-23
-BTXU5666097,20GP,2022-06-14
-OPXG9939069,45HQ,2022-05-01
-LOBE6215743,45HQ,2008-01-18
-YQPA4645079,45HQ,2006-08-20
-SOAI7845555,20GP,2015-01-27
-WTHK3163474,20GP,2014-09-23
-ZHMS0943403,20GP,2010-02-19
-BGJF6359360,40HQ,2015-03-09
-FQYE9719120,45HQ,2007-06-24
-QZPR7733840,40HQ,2013-07-04
-LPYX4573774,40GP,2012-06-27
-DUKL9081936,40GP,2023-11-19
-KRGF1438781,45HQ,2019-07-07
-BPGX4317949,40HQ,2014-12-30
-IIYN9345170,45HQ,2004-12-20
-YMEH0482112,40GP,2007-07-26
-LCYU9321256,40HQ,2007-08-20
-ZFDH5385115,20GP,2018-01-25
-LWLC1272157,45HQ,2022-06-08
-RWPI6786689,40GP,2018-05-28
-AGUD4140923,40GP,2008-12-01
-XHYB5135869,40GP,2001-07-13
-HYWJ8145638,40HQ,2007-02-17
-EYUR4352465,40GP,2018-10-24
-BKNP3510449,40HQ,2023-12-29
-QRZV9501882,40GP,2007-09-16
-LFOH5538424,45HQ,2021-01-27
-ZEUI5276401,45HQ,2014-12-17
-RGSC6910216,20GP,2019-01-10
-NTPK4501282,40GP,2020-03-03
-TGTL5141326,20GP,2018-08-17
-QTAH7834078,20GP,2001-04-13
-UWAW7994270,40HQ,2009-06-12
-GYOH1663406,40GP,2006-09-11
-WPFK0855500,40GP,2023-11-12
-SOTS3131539,40GP,2022-02-19
-URQH8013263,45HQ,2020-10-06
-JZBB5734464,40HQ,2009-12-13
-VITV1711478,45HQ,2018-10-22
-LRHJ4776783,20GP,2001-01-14
-UGFB5943614,45HQ,2008-11-20
-OWNS7167589,45HQ,2021-04-27
-OPAQ3754591,20GP,2001-08-31
-IZJD6052565,40HQ,2020-07-28
-VAHY3892583,40HQ,2021-12-23
-VYIM3594898,40GP,2002-11-08
-EYDS7160999,40GP,2006-06-04
-GJMA0452036,45HQ,2014-12-15
-HHXX9037187,40GP,2021-11-18
-VSAV0641085,40HQ,2001-12-14
-KTYF7394269,40GP,2000-10-26
-PFNT5371225,40HQ,2018-12-28
-UHYO8137468,20GP,2017-05-15
-GAOX6747218,40HQ,2013-07-23
-XFOQ8357948,45HQ,2012-04-15
-VDXL5581306,45HQ,2019-08-30
-XNOC7984068,40GP,2015-10-29
-XONC2639151,45HQ,2018-02-28
-BBKJ0401261,45HQ,2017-11-21
-NXFD4142027,40HQ,2020-01-01
-VQLK4159031,45HQ,2002-09-16
-IHLU4402515,20GP,2017-03-28
-MDBQ4196655,45HQ,2006-07-24
-MVSU0245884,40GP,2004-12-17
-TLHC3342500,45HQ,2008-08-31
-MPAB2926397,20GP,2020-08-24
-PUWI3582716,45HQ,2023-08-14
-WSLS9961016,45HQ,2004-12-19
-DLQT2451733,40HQ,2023-02-25
-HTUH1190291,40HQ,2010-06-27
-DVRX1439873,40HQ,2012-04-22
-NFMA0033838,45HQ,2017-12-10
-MWLY1782922,45HQ,2007-11-24
-GZLA8817364,20GP,2023-02-10
-HYJF6165820,20GP,2013-08-09
-PEAY6490433,20GP,2019-09-19
-XZIF8423835,40HQ,2009-10-07
-LOBL4362958,45HQ,2005-11-01
-CXVF0741257,40GP,2023-02-15
-TCTI6582459,20GP,2007-05-02
-KSZI6626185,45HQ,2012-08-07
-SCJG5339551,40GP,2001-04-03
-UTQC7891023,40GP,2019-05-09
-OYMJ4347304,20GP,2009-10-08
-NTPF5169165,40HQ,2011-10-28
-HYJL3666594,20GP,2016-05-15
-CNBM7378723,20GP,2007-09-13
-QJDL1985599,20GP,2001-09-06
-RQED2565802,45HQ,2023-01-07
-ZMFA0331112,20GP,2005-08-01
-QRAT1254999,45HQ,2010-06-01
-FMUS3740511,40HQ,2002-02-26
-IPGG6166682,45HQ,2007-12-20
-UIQW7954063,40HQ,2011-06-13
-IKJR8139285,40GP,2019-05-02
-IXAE7336317,20GP,2000-01-05
-RSZF2922150,45HQ,2002-12-26
-YFML9880756,45HQ,2014-04-24
-WPCL9114372,40GP,2008-09-13
-YHKH0010020,20GP,2001-09-06
-QEEG4890223,45HQ,2024-05-18
-JAIC3882169,40GP,2004-07-02
-IDMG1080469,45HQ,2012-07-30
-FYCE5037104,40GP,2024-03-15
-HQKD4826115,20GP,2005-04-19
-WUXD8789382,40HQ,2008-07-23
-IMIX5730737,45HQ,2016-10-10
-FRRQ3952591,40HQ,2003-11-05
-JYRI3412366,20GP,2013-05-03
-YHSN8298264,40HQ,2011-07-16
-VGZK9814838,40HQ,2020-06-04
-CPSX5296049,40HQ,2023-12-17
-ERIM4937421,40GP,2022-01-03
-LRBT8664680,45HQ,2011-06-11
-FDPV9070521,40GP,2020-05-24
-CFEH0990059,45HQ,2017-05-14
-FNHY0013123,40HQ,2011-05-06
-EQGN9812519,40HQ,2022-10-15
-NXLG1587640,20GP,2002-10-12
-HOVI8210269,45HQ,2023-10-01
-FZPJ1094434,40HQ,2008-05-08
-PBKU8890301,20GP,2024-05-24
-WXLA1385406,45HQ,2019-10-05
-BUGX7629730,20GP,2018-04-21
-FEUP3054717,40GP,2016-04-01
-VDTF0821113,20GP,2008-05-19
-VLRS7617847,40HQ,2016-05-07
-EAFW7466488,40HQ,2019-07-23
-IUSD0129571,20GP,2010-03-04
-ORCM0225491,20GP,2007-08-06
-ERBK2070288,40HQ,2021-09-13
-EVTL4893864,20GP,2013-11-10
-VQOA4865106,45HQ,2017-08-31
-EMTC7630379,45HQ,2006-09-17
-FIOE6143958,40GP,2023-02-28
-ROBS5412681,45HQ,2003-08-06
-ZQFH2953424,40GP,2018-03-11
-SLAH1397751,40HQ,2013-10-23
-KJXU0605280,20GP,2017-06-19
-WIAT5404025,20GP,2018-04-01
-JDXR0156604,40HQ,2017-03-28
-BWZG9220266,45HQ,2014-04-08
-MHFV7981127,20GP,2002-03-27
-QTTS5908144,40HQ,2004-05-01
-KFGX5865195,45HQ,2016-03-13
-NLVP6233848,45HQ,2000-08-03
-SUDZ4003953,45HQ,2000-07-10
-EBGE7649512,40HQ,2009-12-08
-BEZF9770751,45HQ,2016-07-06
-IGAO2041815,20GP,2011-12-11
-CTJI7330115,40HQ,2001-09-07
-JPGI3877973,40HQ,2018-12-07
-YFBV2916382,20GP,2014-05-01
-TDQC0951884,40HQ,2004-11-25
-EIKA0965231,40GP,2005-07-01
-POAU5640362,40GP,2012-12-15
-KVVA5966027,45HQ,2018-08-30
-DONE5534567,40GP,2024-11-22
-VCML9741466,20GP,2001-08-28
-HEZI4090611,45HQ,2006-01-09
-FDDQ2617392,40GP,2003-05-19
-YOMI9346890,20GP,2007-04-08
-JZUQ1041044,20GP,2019-02-23
-DHMV0387589,20GP,2020-03-03
-ORYR6611756,40GP,2011-09-04
-DEDN0048341,40HQ,2012-11-15
-VJWT1420556,40GP,2024-12-18
-BGUM8163336,45HQ,2003-01-28
-LYUL0213122,20GP,2023-04-22
-AOQW8474269,45HQ,2002-06-27
-AOFX0283239,40GP,2018-06-21
-JOHI0844445,20GP,2000-08-22
-DCOV1724832,20GP,2007-10-04
-ASBN6641710,20GP,2009-06-07
-JFDV3399361,40GP,2000-08-05
-EYYY8898171,20GP,2011-10-21
-LIGE0850221,40HQ,2024-06-02
-IZIQ1122445,40GP,2020-11-21
-HDUS1715941,40GP,2020-09-30
-FETL8664670,20GP,2013-09-25
-VXNE0608850,45HQ,2024-05-06
-KMPJ8892994,20GP,2024-12-19
-AWXE4417078,20GP,2016-07-16
-BEUU2208119,40GP,2004-10-14
-NMOS6941745,40HQ,2022-07-09
-UYZJ3225303,40HQ,2009-06-28
-VJJD0215854,40GP,2007-11-30
-VIJA0322336,20GP,2022-11-14
-ZANB6939532,45HQ,2000-11-17
-ANGX5543698,20GP,2024-05-23
-LWVZ6752118,45HQ,2003-07-07
-XVDZ9156948,20GP,2011-07-17
-BKAR3946562,20GP,2008-03-19
-KZQU7315325,45HQ,2005-06-01
-RRIY3292374,45HQ,2005-04-26
-EQGS8827299,45HQ,2021-10-02
-XDAW9078691,20GP,2006-10-23
-NWQA0888658,45HQ,2005-09-05
-SISY8752328,20GP,2006-09-26
-EFJT4723858,20GP,2017-12-12
-UKQN8152524,45HQ,2013-11-08
-CMPB3497313,45HQ,2024-09-09
-OZVO0392499,45HQ,2018-04-28
-QTXH5186230,20GP,2010-02-06
-JTTL3627945,20GP,2021-07-09
-SKSJ8743281,40GP,2010-09-22
-RYJB4054639,40HQ,2007-02-13
-AFVY4299985,20GP,2023-03-01
-NWIV3006689,20GP,2007-09-28
-EJPU5855661,20GP,2023-10-28
-ZWNO9224064,45HQ,2019-06-29
-ADZU4370833,40GP,2010-12-23
-MLSK9247334,40HQ,2013-08-14
-UHEV6532208,40HQ,2014-01-15
-IUQJ7501054,40HQ,2001-03-21
-YSEA7042400,40GP,2009-07-26
-CDVM8690883,40HQ,2013-11-16
-UVBL0730932,40GP,2015-04-03
-KWBG7443072,40HQ,2024-12-02
-XZLU2906939,40HQ,2009-07-28
-FPKM7410356,20GP,2001-12-16
-JBJZ5789461,40HQ,2001-07-05
-VKTS3341165,20GP,2021-11-15
-YLKK6634370,20GP,2012-07-11
-FUAN7308127,40HQ,2019-09-04
-QPRO7294990,40HQ,2012-01-31
-QIAS9522049,40HQ,2014-06-18
-CTWX1599649,40GP,2010-01-29
-KVOD4702411,40HQ,2003-01-14
-RNQF3713492,40HQ,2000-06-06
-YSDC7071745,45HQ,2008-06-16
-ICFT7972687,40HQ,2001-01-19
-KSEE6298974,20GP,2001-12-30
-ZVFQ0266832,40GP,2013-11-06
-SFZI5300058,45HQ,2009-06-07
-ADTM0918958,20GP,2001-03-07
-QOSE7466078,40HQ,2020-07-12
-JAFD7573030,45HQ,2005-04-24
-MYTM4752768,40GP,2010-11-28
-PQIE6509359,20GP,2003-07-26
-FUQA6299212,40HQ,2023-10-25
-IJHU9951337,20GP,2012-10-18
-PHIC4840554,40GP,2009-10-27
-PLAY9434957,45HQ,2013-07-19
-RUJZ4233676,45HQ,2012-07-08
-BFOB2931851,40GP,2013-12-02
-KSEY9416604,40HQ,2004-03-05
-HRPZ3267891,40GP,2013-07-30
-OLDP7825598,40HQ,2005-12-04
-LSDJ1081774,40HQ,2023-10-31
-CKAQ1277415,40GP,2017-02-12
-YRTH7423218,40GP,2013-04-23
-BRAA4730185,40GP,2000-02-21
-OHSG6523860,40GP,2005-02-26
-KLLE7470324,20GP,2010-10-27
-OYRQ2870116,20GP,2002-12-27
-GCAV7989675,45HQ,2024-05-11
-NSTT1249541,20GP,2008-10-07
-HRUG4001373,20GP,2008-06-11
-YUHT1060463,40HQ,2024-01-23
-KKYZ3415598,40GP,2008-12-27
-OHXQ5845695,40GP,2017-05-18
-NBRU5884889,40HQ,2024-05-13
-NAMN5532251,40HQ,2013-04-19
-MJIQ4590559,40HQ,2019-11-21
diff --git a/code/base-project/base-app/箱数据2000行.xlsx b/code/base-project/base-app/箱数据2000行.xlsx
deleted file mode 100644
index 4e5b1bb5..00000000
Binary files a/code/base-project/base-app/箱数据2000行.xlsx and /dev/null differ
diff --git a/code/base-project/base-go-v3/biz/handler/auth/token_service.go b/code/base-project/base-go-v3/biz/handler/auth/token_service.go
index d49c3c1a..9ceead55 100644
--- a/code/base-project/base-go-v3/biz/handler/auth/token_service.go
+++ b/code/base-project/base-go-v3/biz/handler/auth/token_service.go
@@ -15,7 +15,7 @@ import (
)
// RefreshAccessToken .
-// @router /auth/refreshToken [POST]
+// @router /auth/refresh/token [GET]
func RefreshAccessToken(ctx context.Context, c *app.RequestContext) {
var err error
var req auth.RefreshAccessTokenReq
diff --git a/code/base-project/base-go-v3/biz/handler/money/money_category_service.go b/code/base-project/base-go-v3/biz/handler/money/money_category_service.go
index d8caafbf..869d646e 100644
--- a/code/base-project/base-go-v3/biz/handler/money/money_category_service.go
+++ b/code/base-project/base-go-v3/biz/handler/money/money_category_service.go
@@ -3,7 +3,6 @@
package money
import (
- "cn/oneao/base-go/biz/model/money"
"cn/oneao/base-go/biz/router/middleware"
"cn/oneao/base-go/db"
"cn/oneao/base-go/db/repo"
@@ -11,6 +10,7 @@ import (
"cn/oneao/base-go/utils/response"
"context"
+ money "cn/oneao/base-go/biz/model/money"
"github.com/cloudwego/hertz/pkg/app"
"github.com/cloudwego/hertz/pkg/protocol/consts"
)
diff --git a/code/base-project/base-go-v3/biz/handler/money/money_record_service.go b/code/base-project/base-go-v3/biz/handler/money/money_record_service.go
index 4a253ae5..1410bf1a 100644
--- a/code/base-project/base-go-v3/biz/handler/money/money_record_service.go
+++ b/code/base-project/base-go-v3/biz/handler/money/money_record_service.go
@@ -7,23 +7,23 @@ import (
"cn/oneao/base-go/db"
"cn/oneao/base-go/db/repo"
"cn/oneao/base-go/utils/errorx"
+ "cn/oneao/base-go/utils/idgen"
+ "cn/oneao/base-go/utils/pgtypex"
"cn/oneao/base-go/utils/response"
"context"
"fmt"
+ "github.com/jackc/pgx/v5/pgtype"
+ "github.com/shopspring/decimal"
"sort"
"time"
money "cn/oneao/base-go/biz/model/money"
-
"github.com/cloudwego/hertz/pkg/app"
"github.com/cloudwego/hertz/pkg/protocol/consts"
- "github.com/jackc/pgx/v5/pgtype"
- "github.com/shopspring/decimal"
- "google.golang.org/protobuf/types/known/timestamppb"
)
// QueryMoneyRecord .
-// @router /money/record [POST]
+// @router /money/record/query [POST]
func QueryMoneyRecord(ctx context.Context, c *app.RequestContext) {
var req money.QueryMoneyRecordsParams
if err := c.BindAndValidate(&req); err != nil {
@@ -76,25 +76,20 @@ func QueryMoneyRecord(ctx context.Context, c *app.RequestContext) {
// 构造单条记录
item := &money.MoneyRecordItem{
- Base: &money.MoneyRecordBase{
- Id: r.ID,
- CategoryId: r.CategoryID,
- UserId: r.UserID,
- Amount: r.Amount.Int.String(),
- Remark: r.Remark.String,
- RecordTime: timestamppb.New(r.RecordTime.Time),
- CreateTime: timestamppb.New(r.CreateTime.Time),
- UpdateTime: timestamppb.New(r.UpdateTime.Time),
- },
- CategoryName: r.CategoryName.String,
- CategoryIcon: r.CategoryIcon.String,
- CategoryType: r.CategoryType.Int32,
+ Id: r.ID,
+ CategoryId: r.CategoryID,
+ UserId: r.UserID,
+ Amount: pgtypex.NumericToString(r.Amount),
+ Remark: r.Remark.String,
+ RecordTime: pgtypex.TimestampToDateString(r.RecordTime),
+ CreateTime: pgtypex.TimestampToDateTimeString(r.CreateTime),
+ UpdateTime: pgtypex.TimestampToDateTimeString(r.UpdateTime),
}
group.Records = append(group.Records, item)
// 收支累加
- amount, _ := decimal.NewFromString(r.Amount.Int.String())
+ amount := pgtypex.NumericToDecimal(r.Amount)
if r.CategoryType.Int32 == 1 {
incomeDec, _ := decimal.NewFromString(group.Income)
incomeDec = incomeDec.Add(amount)
@@ -129,3 +124,98 @@ func QueryMoneyRecord(ctx context.Context, c *app.RequestContext) {
response.Success(c).Data(result).Send()
}
+
+// InsertMoneyRecord .
+// @router /money/record/insert [POST]
+func InsertMoneyRecord(ctx context.Context, c *app.RequestContext) {
+ var err error
+ var req money.InsertMoneyRecordParams
+ err = c.BindAndValidate(&req)
+
+ if err != nil {
+ fmt.Println(err.Error())
+ c.String(consts.StatusBadRequest, err.Error())
+ return
+ }
+
+ resp := new(money.InsertMoneyRecordResult)
+
+ params := repo.InsertMoneyRecordParams{
+ ID: idgen.NextId(),
+ CategoryID: req.CategoryId,
+ UserID: middleware.GetUserID(ctx),
+ Amount: pgtypex.StringToNumeric(req.Amount),
+ Remark: pgtypex.StringToText(req.Remark),
+ RecordTime: pgtypex.StringToTimestamp(req.RecordTime),
+ }
+
+ record, err := db.Queries.InsertMoneyRecord(ctx, params)
+
+ resp.Id = record.ID
+ resp.CategoryId = record.CategoryID
+ resp.UserId = record.UserID
+ resp.Amount = pgtypex.NumericToString(record.Amount)
+ resp.Remark = record.Remark.String
+ resp.RecordTime = pgtypex.TimestampToDateString(record.RecordTime)
+ resp.CreateTime = pgtypex.TimestampToDateTimeString(record.CreateTime)
+ resp.UpdateTime = pgtypex.TimestampToDateTimeString(record.UpdateTime)
+
+ response.Success(c).Data(resp).Message("新增成功").Send()
+}
+
+// UpdateMoneyRecord .
+// @router /money/record/update [POST]
+func UpdateMoneyRecord(ctx context.Context, c *app.RequestContext) {
+ var req money.UpdateMoneyRecordParams
+ if err := c.BindAndValidate(&req); err != nil {
+ c.String(consts.StatusBadRequest, err.Error())
+ return
+ }
+
+ id := req.Id
+ _, err := db.Queries.GetMoneyRecordById(ctx, id)
+ if err != nil {
+ if errorx.IsNotFound(err) {
+ response.Success(c).Send()
+ return
+ }
+ errorx.AddError(c, err)
+ return
+ }
+
+ params := repo.UpdateMoneyRecordParams{
+ ID: id,
+ CategoryID: req.CategoryId,
+ Amount: pgtypex.StringToNumeric(req.Amount),
+ Remark: pgtypex.StringToText(req.Remark),
+ RecordTime: pgtypex.StringToTimestamp(req.RecordTime),
+ }
+
+ if err := db.Queries.UpdateMoneyRecord(ctx, params); err != nil {
+ errorx.AddError(c, err)
+ return
+ }
+
+ response.Success(c).Send()
+}
+
+// DeleteMoneyRecord .
+// @router /money/record/delete [POST]
+func DeleteMoneyRecord(ctx context.Context, c *app.RequestContext) {
+ var err error
+ var req money.DeleteMoneyRecordParams
+ err = c.BindAndValidate(&req)
+ if err != nil {
+ c.String(consts.StatusBadRequest, err.Error())
+ return
+ }
+
+ err = db.Queries.DeleteMoneyRecord(ctx, req.Id)
+
+ if err != nil {
+ errorx.AddError(c, err)
+ return
+ }
+
+ response.Success(c).Send()
+}
diff --git a/code/base-project/base-go-v3/biz/model/api/api.pb.go b/code/base-project/base-go-v3/biz/model/api/api.pb.go
index 37434df6..09470162 100644
--- a/code/base-project/base-go-v3/biz/model/api/api.pb.go
+++ b/code/base-project/base-go-v3/biz/model/api/api.pb.go
@@ -3,7 +3,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.28.0
-// protoc v6.33.1
+// protoc v4.25.3
// source: api.proto
package api
diff --git a/code/base-project/base-go-v3/biz/model/auth/auth.pb.go b/code/base-project/base-go-v3/biz/model/auth/auth.pb.go
index 87d53375..89345e24 100644
--- a/code/base-project/base-go-v3/biz/model/auth/auth.pb.go
+++ b/code/base-project/base-go-v3/biz/model/auth/auth.pb.go
@@ -21,6 +21,7 @@ const (
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
+// 登录请求
type LoginDefaultReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -76,17 +77,18 @@ func (x *LoginDefaultReq) GetPassword() string {
return ""
}
+// 登录响应
type LoginDefaultResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- Token string `protobuf:"bytes,1,opt,name=token,proto3" form:"token" json:"token" query:"token"`
- RefreshToken string `protobuf:"bytes,2,opt,name=refreshToken,proto3" form:"refreshToken" json:"refreshToken" query:"refreshToken"`
- UserId int64 `protobuf:"varint,3,opt,name=userId,proto3" form:"userId" json:"userId" query:"userId"`
- Username string `protobuf:"bytes,4,opt,name=username,proto3" form:"username" json:"username" query:"username"`
- SeqNo int32 `protobuf:"varint,5,opt,name=seqNo,proto3" form:"seqNo" json:"seqNo" query:"seqNo"`
- Gender int32 `protobuf:"varint,6,opt,name=gender,proto3" form:"gender" json:"gender" query:"gender"`
+ Token string `protobuf:"bytes,1,opt,name=Token,proto3" form:"token" json:"token"`
+ RefreshToken string `protobuf:"bytes,2,opt,name=RefreshToken,proto3" form:"refreshToken" json:"refreshToken"`
+ UserId int64 `protobuf:"varint,3,opt,name=UserId,proto3" form:"userId" json:"userId"`
+ Username string `protobuf:"bytes,4,opt,name=Username,proto3" form:"username" json:"username"`
+ SeqNo int32 `protobuf:"varint,5,opt,name=SeqNo,proto3" form:"seqNo" json:"seqNo"`
+ Gender int32 `protobuf:"varint,6,opt,name=Gender,proto3" form:"gender" json:"gender"`
}
func (x *LoginDefaultResp) Reset() {
@@ -163,6 +165,7 @@ func (x *LoginDefaultResp) GetGender() int32 {
return 0
}
+// 注册请求
type RegisterDefaultReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -218,6 +221,7 @@ func (x *RegisterDefaultReq) GetPassword() string {
return ""
}
+// 注册响应
type RegisterDefaultResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -256,6 +260,7 @@ func (*RegisterDefaultResp) Descriptor() ([]byte, []int) {
return file_auth_proto_rawDescGZIP(), []int{3}
}
+// 刷新 access token 请求
type RefreshAccessTokenReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -294,12 +299,13 @@ func (*RefreshAccessTokenReq) Descriptor() ([]byte, []int) {
return file_auth_proto_rawDescGZIP(), []int{4}
}
+// 刷新 access token 响应
type RefreshAccessTokenResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- AccessToken string `protobuf:"bytes,1,opt,name=accessToken,proto3" form:"accessToken" json:"accessToken" query:"accessToken"`
+ AccessToken string `protobuf:"bytes,1,opt,name=AccessToken,proto3" form:"accessToken" json:"accessToken"`
}
func (x *RefreshAccessTokenResp) Reset() {
@@ -353,53 +359,59 @@ var file_auth_proto_rawDesc = []byte{
0x12, 0x31, 0x0a, 0x08, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01,
0x28, 0x09, 0x42, 0x15, 0xca, 0xbb, 0x18, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64,
0xda, 0xbb, 0x18, 0x05, 0x24, 0x21, 0x3d, 0x27, 0x27, 0x52, 0x08, 0x50, 0x61, 0x73, 0x73, 0x77,
- 0x6f, 0x72, 0x64, 0x22, 0xae, 0x01, 0x0a, 0x10, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x44, 0x65, 0x66,
- 0x61, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65,
- 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x22,
- 0x0a, 0x0c, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02,
- 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x6f, 0x6b,
- 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01,
- 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73,
- 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73,
- 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x65, 0x71, 0x4e, 0x6f, 0x18,
- 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x65, 0x71, 0x4e, 0x6f, 0x12, 0x16, 0x0a, 0x06,
- 0x67, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x67, 0x65,
- 0x6e, 0x64, 0x65, 0x72, 0x22, 0x77, 0x0a, 0x12, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72,
- 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x71, 0x12, 0x2e, 0x0a, 0x07, 0x41, 0x63,
- 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x14, 0xca, 0xbb, 0x18,
- 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0xda, 0xbb, 0x18, 0x05, 0x24, 0x21, 0x3d, 0x27,
- 0x27, 0x52, 0x07, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x31, 0x0a, 0x08, 0x50, 0x61,
- 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x15, 0xca, 0xbb,
- 0x18, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0xda, 0xbb, 0x18, 0x05, 0x24, 0x21,
- 0x3d, 0x27, 0x27, 0x52, 0x08, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x22, 0x15, 0x0a,
- 0x13, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74,
- 0x52, 0x65, 0x73, 0x70, 0x22, 0x17, 0x0a, 0x15, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x41,
- 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x22, 0x3a, 0x0a,
- 0x16, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f,
- 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x63, 0x63, 0x65, 0x73,
- 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x63,
- 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x32, 0x66, 0x0a, 0x0c, 0x4c, 0x6f, 0x67,
- 0x69, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x56, 0x0a, 0x0c, 0x4c, 0x6f, 0x67,
- 0x69, 0x6e, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x15, 0x2e, 0x61, 0x75, 0x74, 0x68,
- 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x71,
- 0x1a, 0x16, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x44, 0x65, 0x66,
- 0x61, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x17, 0xd2, 0xc1, 0x18, 0x13, 0x2f, 0x61,
- 0x75, 0x74, 0x68, 0x2f, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x2f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c,
- 0x74, 0x32, 0x75, 0x0a, 0x0f, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x72,
- 0x76, 0x69, 0x63, 0x65, 0x12, 0x62, 0x0a, 0x0f, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72,
- 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x18, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x52,
+ 0x6f, 0x72, 0x64, 0x22, 0xfc, 0x01, 0x0a, 0x10, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x44, 0x65, 0x66,
+ 0x61, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1f, 0x0a, 0x05, 0x54, 0x6f, 0x6b, 0x65,
+ 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x09, 0xca, 0xbb, 0x18, 0x05, 0x74, 0x6f, 0x6b,
+ 0x65, 0x6e, 0x52, 0x05, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x34, 0x0a, 0x0c, 0x52, 0x65, 0x66,
+ 0x72, 0x65, 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42,
+ 0x10, 0xca, 0xbb, 0x18, 0x0c, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65,
+ 0x6e, 0x52, 0x0c, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12,
+ 0x22, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x42,
+ 0x0a, 0xca, 0xbb, 0x18, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x52, 0x06, 0x55, 0x73, 0x65,
+ 0x72, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18,
+ 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xca, 0xbb, 0x18, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e,
+ 0x61, 0x6d, 0x65, 0x52, 0x08, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a,
+ 0x05, 0x53, 0x65, 0x71, 0x4e, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x42, 0x09, 0xca, 0xbb,
+ 0x18, 0x05, 0x73, 0x65, 0x71, 0x4e, 0x6f, 0x52, 0x05, 0x53, 0x65, 0x71, 0x4e, 0x6f, 0x12, 0x22,
+ 0x0a, 0x06, 0x47, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x42, 0x0a,
+ 0xca, 0xbb, 0x18, 0x06, 0x67, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x52, 0x06, 0x47, 0x65, 0x6e, 0x64,
+ 0x65, 0x72, 0x22, 0x77, 0x0a, 0x12, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x44, 0x65,
+ 0x66, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x71, 0x12, 0x2e, 0x0a, 0x07, 0x41, 0x63, 0x63, 0x6f,
+ 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x14, 0xca, 0xbb, 0x18, 0x07, 0x61,
+ 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0xda, 0xbb, 0x18, 0x05, 0x24, 0x21, 0x3d, 0x27, 0x27, 0x52,
+ 0x07, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x31, 0x0a, 0x08, 0x50, 0x61, 0x73, 0x73,
+ 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x15, 0xca, 0xbb, 0x18, 0x08,
+ 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0xda, 0xbb, 0x18, 0x05, 0x24, 0x21, 0x3d, 0x27,
+ 0x27, 0x52, 0x08, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x22, 0x15, 0x0a, 0x13, 0x52,
0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x65,
- 0x71, 0x1a, 0x19, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65,
- 0x72, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x1a, 0xd2, 0xc1,
- 0x18, 0x16, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72,
- 0x2f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x32, 0x77, 0x0a, 0x0c, 0x54, 0x6f, 0x6b, 0x65,
- 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x67, 0x0a, 0x12, 0x52, 0x65, 0x66, 0x72,
- 0x65, 0x73, 0x68, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1b,
- 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x41, 0x63, 0x63,
- 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x61, 0x75,
- 0x74, 0x68, 0x2e, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73,
- 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0x16, 0xd2, 0xc1, 0x18, 0x12, 0x2f,
- 0x61, 0x75, 0x74, 0x68, 0x2f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65,
+ 0x73, 0x70, 0x22, 0x17, 0x0a, 0x15, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x41, 0x63, 0x63,
+ 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x22, 0x4b, 0x0a, 0x16, 0x52,
+ 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65,
+ 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x31, 0x0a, 0x0b, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54,
+ 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0f, 0xca, 0xbb, 0x18, 0x0b,
+ 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x0b, 0x41, 0x63, 0x63,
+ 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x32, 0x66, 0x0a, 0x0c, 0x4c, 0x6f, 0x67, 0x69,
+ 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x56, 0x0a, 0x0c, 0x4c, 0x6f, 0x67, 0x69,
+ 0x6e, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x15, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e,
+ 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x71, 0x1a,
+ 0x16, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x44, 0x65, 0x66, 0x61,
+ 0x75, 0x6c, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x17, 0xd2, 0xc1, 0x18, 0x13, 0x2f, 0x61, 0x75,
+ 0x74, 0x68, 0x2f, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x2f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74,
+ 0x32, 0x75, 0x0a, 0x0f, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76,
+ 0x69, 0x63, 0x65, 0x12, 0x62, 0x0a, 0x0f, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x44,
+ 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x18, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x52, 0x65,
+ 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x71,
+ 0x1a, 0x19, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72,
+ 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x1a, 0xd2, 0xc1, 0x18,
+ 0x16, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x2f,
+ 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x32, 0x78, 0x0a, 0x0c, 0x54, 0x6f, 0x6b, 0x65, 0x6e,
+ 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x68, 0x0a, 0x12, 0x52, 0x65, 0x66, 0x72, 0x65,
+ 0x73, 0x68, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1b, 0x2e,
+ 0x61, 0x75, 0x74, 0x68, 0x2e, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x41, 0x63, 0x63, 0x65,
+ 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x61, 0x75, 0x74,
+ 0x68, 0x2e, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54,
+ 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0x17, 0xca, 0xc1, 0x18, 0x13, 0x2f, 0x61,
+ 0x75, 0x74, 0x68, 0x2f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x2f, 0x74, 0x6f, 0x6b, 0x65,
0x6e, 0x42, 0x21, 0x5a, 0x1f, 0x63, 0x6e, 0x2f, 0x6f, 0x6e, 0x65, 0x61, 0x6f, 0x2f, 0x62, 0x61,
0x73, 0x65, 0x2d, 0x67, 0x6f, 0x2f, 0x62, 0x69, 0x7a, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2f,
0x61, 0x75, 0x74, 0x68, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
diff --git a/code/base-project/base-go-v3/biz/model/money/index.pb.go b/code/base-project/base-go-v3/biz/model/money/index.pb.go
new file mode 100644
index 00000000..79bbdc85
--- /dev/null
+++ b/code/base-project/base-go-v3/biz/model/money/index.pb.go
@@ -0,0 +1,152 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.28.0
+// protoc v4.25.3
+// source: index.proto
+
+package money
+
+import (
+ _ "cn/oneao/base-go/biz/model/api"
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+var File_index_proto protoreflect.FileDescriptor
+
+var file_index_proto_rawDesc = []byte{
+ 0x0a, 0x0b, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x6d,
+ 0x6f, 0x6e, 0x65, 0x79, 0x1a, 0x09, 0x61, 0x70, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x20, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2f, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x5f, 0x63, 0x61, 0x74,
+ 0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x1e, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2f, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x5f, 0x72,
+ 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x32, 0xfb, 0x02, 0x0a, 0x14, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x43, 0x61, 0x74, 0x65, 0x67,
+ 0x6f, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x6a, 0x0a, 0x16, 0x51, 0x75,
+ 0x65, 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x43, 0x61, 0x74, 0x65,
+ 0x67, 0x6f, 0x72, 0x79, 0x12, 0x1c, 0x2e, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2e, 0x51, 0x75, 0x65,
+ 0x72, 0x79, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52,
+ 0x65, 0x71, 0x1a, 0x1d, 0x2e, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79,
+ 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73,
+ 0x70, 0x22, 0x13, 0xca, 0xc1, 0x18, 0x0f, 0x2f, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2f, 0x63, 0x61,
+ 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x74, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
+ 0x55, 0x73, 0x65, 0x72, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72,
+ 0x79, 0x12, 0x1d, 0x2e, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
+ 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71,
+ 0x1a, 0x1e, 0x2e, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d,
+ 0x6f, 0x6e, 0x65, 0x79, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70,
+ 0x22, 0x1a, 0xd2, 0xc1, 0x18, 0x16, 0x2f, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2f, 0x63, 0x61, 0x74,
+ 0x65, 0x67, 0x6f, 0x72, 0x79, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x80, 0x01, 0x0a,
+ 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x43, 0x61, 0x74, 0x65,
+ 0x67, 0x6f, 0x72, 0x79, 0x53, 0x6f, 0x72, 0x74, 0x12, 0x21, 0x2e, 0x6d, 0x6f, 0x6e, 0x65, 0x79,
+ 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x43, 0x61, 0x74, 0x65,
+ 0x67, 0x6f, 0x72, 0x79, 0x53, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x22, 0x2e, 0x6d, 0x6f,
+ 0x6e, 0x65, 0x79, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x43,
+ 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x53, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22,
+ 0x1e, 0xd2, 0xc1, 0x18, 0x1a, 0x2f, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2f, 0x63, 0x61, 0x74, 0x65,
+ 0x67, 0x6f, 0x72, 0x79, 0x2f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x6f, 0x72, 0x74, 0x32,
+ 0xce, 0x03, 0x0a, 0x12, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x53,
+ 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x6b, 0x0a, 0x10, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d,
+ 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x1e, 0x2e, 0x6d, 0x6f, 0x6e,
+ 0x65, 0x79, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x65, 0x63,
+ 0x6f, 0x72, 0x64, 0x73, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x1e, 0x2e, 0x6d, 0x6f, 0x6e,
+ 0x65, 0x79, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x65, 0x63,
+ 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x17, 0xd2, 0xc1, 0x18, 0x13,
+ 0x2f, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2f, 0x71, 0x75,
+ 0x65, 0x72, 0x79, 0x12, 0x6d, 0x0a, 0x11, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x4d, 0x6f, 0x6e,
+ 0x65, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x1e, 0x2e, 0x6d, 0x6f, 0x6e, 0x65, 0x79,
+ 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x65, 0x63, 0x6f,
+ 0x72, 0x64, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x1e, 0x2e, 0x6d, 0x6f, 0x6e, 0x65, 0x79,
+ 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x65, 0x63, 0x6f,
+ 0x72, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x18, 0xd2, 0xc1, 0x18, 0x14, 0x2f, 0x6d,
+ 0x6f, 0x6e, 0x65, 0x79, 0x2f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2f, 0x69, 0x6e, 0x73, 0x65,
+ 0x72, 0x74, 0x12, 0x6d, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x65,
+ 0x79, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x1e, 0x2e, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2e,
+ 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x72,
+ 0x64, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x1e, 0x2e, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2e,
+ 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x72,
+ 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x18, 0xd2, 0xc1, 0x18, 0x14, 0x2f, 0x6d, 0x6f,
+ 0x6e, 0x65, 0x79, 0x2f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2f, 0x75, 0x70, 0x64, 0x61, 0x74,
+ 0x65, 0x12, 0x6d, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x65, 0x79,
+ 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x1e, 0x2e, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2e, 0x44,
+ 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64,
+ 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x1e, 0x2e, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2e, 0x44,
+ 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64,
+ 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x18, 0xd2, 0xc1, 0x18, 0x14, 0x2f, 0x6d, 0x6f, 0x6e,
+ 0x65, 0x79, 0x2f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65,
+ 0x42, 0x22, 0x5a, 0x20, 0x63, 0x6e, 0x2f, 0x6f, 0x6e, 0x65, 0x61, 0x6f, 0x2f, 0x62, 0x61, 0x73,
+ 0x65, 0x2d, 0x67, 0x6f, 0x2f, 0x62, 0x69, 0x7a, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2f, 0x6d,
+ 0x6f, 0x6e, 0x65, 0x79, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var file_index_proto_goTypes = []interface{}{
+ (*QueryMoneyCategoryReq)(nil), // 0: money.QueryMoneyCategoryReq
+ (*DeleteMoneyCategoryReq)(nil), // 1: money.DeleteMoneyCategoryReq
+ (*UpdateMoneyCategorySortReq)(nil), // 2: money.UpdateMoneyCategorySortReq
+ (*QueryMoneyRecordsParams)(nil), // 3: money.QueryMoneyRecordsParams
+ (*InsertMoneyRecordParams)(nil), // 4: money.InsertMoneyRecordParams
+ (*UpdateMoneyRecordParams)(nil), // 5: money.UpdateMoneyRecordParams
+ (*DeleteMoneyRecordParams)(nil), // 6: money.DeleteMoneyRecordParams
+ (*QueryMoneyCategoryResp)(nil), // 7: money.QueryMoneyCategoryResp
+ (*DeleteMoneyCategoryResp)(nil), // 8: money.DeleteMoneyCategoryResp
+ (*UpdateMoneyCategorySortResp)(nil), // 9: money.UpdateMoneyCategorySortResp
+ (*QueryMoneyRecordsResult)(nil), // 10: money.QueryMoneyRecordsResult
+ (*InsertMoneyRecordResult)(nil), // 11: money.InsertMoneyRecordResult
+ (*UpdateMoneyRecordResult)(nil), // 12: money.UpdateMoneyRecordResult
+ (*DeleteMoneyRecordResult)(nil), // 13: money.DeleteMoneyRecordResult
+}
+var file_index_proto_depIdxs = []int32{
+ 0, // 0: money.MoneyCategoryService.QueryUserMoneyCategory:input_type -> money.QueryMoneyCategoryReq
+ 1, // 1: money.MoneyCategoryService.DeleteUserMoneyCategory:input_type -> money.DeleteMoneyCategoryReq
+ 2, // 2: money.MoneyCategoryService.UpdateMoneyCategorySort:input_type -> money.UpdateMoneyCategorySortReq
+ 3, // 3: money.MoneyRecordService.QueryMoneyRecord:input_type -> money.QueryMoneyRecordsParams
+ 4, // 4: money.MoneyRecordService.InsertMoneyRecord:input_type -> money.InsertMoneyRecordParams
+ 5, // 5: money.MoneyRecordService.UpdateMoneyRecord:input_type -> money.UpdateMoneyRecordParams
+ 6, // 6: money.MoneyRecordService.DeleteMoneyRecord:input_type -> money.DeleteMoneyRecordParams
+ 7, // 7: money.MoneyCategoryService.QueryUserMoneyCategory:output_type -> money.QueryMoneyCategoryResp
+ 8, // 8: money.MoneyCategoryService.DeleteUserMoneyCategory:output_type -> money.DeleteMoneyCategoryResp
+ 9, // 9: money.MoneyCategoryService.UpdateMoneyCategorySort:output_type -> money.UpdateMoneyCategorySortResp
+ 10, // 10: money.MoneyRecordService.QueryMoneyRecord:output_type -> money.QueryMoneyRecordsResult
+ 11, // 11: money.MoneyRecordService.InsertMoneyRecord:output_type -> money.InsertMoneyRecordResult
+ 12, // 12: money.MoneyRecordService.UpdateMoneyRecord:output_type -> money.UpdateMoneyRecordResult
+ 13, // 13: money.MoneyRecordService.DeleteMoneyRecord:output_type -> money.DeleteMoneyRecordResult
+ 7, // [7:14] is the sub-list for method output_type
+ 0, // [0:7] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_index_proto_init() }
+func file_index_proto_init() {
+ if File_index_proto != nil {
+ return
+ }
+ file_money_money_category_types_proto_init()
+ file_money_money_record_types_proto_init()
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_index_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 2,
+ },
+ GoTypes: file_index_proto_goTypes,
+ DependencyIndexes: file_index_proto_depIdxs,
+ }.Build()
+ File_index_proto = out.File
+ file_index_proto_rawDesc = nil
+ file_index_proto_goTypes = nil
+ file_index_proto_depIdxs = nil
+}
diff --git a/code/base-project/base-go-v3/biz/model/money/money_category.pb.go b/code/base-project/base-go-v3/biz/model/money/money_category_types.pb.go
similarity index 51%
rename from code/base-project/base-go-v3/biz/model/money/money_category.pb.go
rename to code/base-project/base-go-v3/biz/model/money/money_category_types.pb.go
index 952f8640..8505dc57 100644
--- a/code/base-project/base-go-v3/biz/model/money/money_category.pb.go
+++ b/code/base-project/base-go-v3/biz/model/money/money_category_types.pb.go
@@ -1,8 +1,8 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.28.0
-// protoc v6.33.1
-// source: money_category.proto
+// protoc v4.25.3
+// source: money/money_category_types.proto
package money
@@ -21,60 +21,23 @@ const (
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
-type QueryMoneyCategoryReq struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-}
-
-func (x *QueryMoneyCategoryReq) Reset() {
- *x = QueryMoneyCategoryReq{}
- if protoimpl.UnsafeEnabled {
- mi := &file_money_category_proto_msgTypes[0]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *QueryMoneyCategoryReq) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*QueryMoneyCategoryReq) ProtoMessage() {}
-
-func (x *QueryMoneyCategoryReq) ProtoReflect() protoreflect.Message {
- mi := &file_money_category_proto_msgTypes[0]
- if protoimpl.UnsafeEnabled && x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use QueryMoneyCategoryReq.ProtoReflect.Descriptor instead.
-func (*QueryMoneyCategoryReq) Descriptor() ([]byte, []int) {
- return file_money_category_proto_rawDescGZIP(), []int{0}
-}
-
+// 记账分类
type MoneyCategory struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- Id int64 `protobuf:"varint,1,opt,name=id,proto3" form:"id" json:"id" query:"id"`
- Name string `protobuf:"bytes,2,opt,name=name,proto3" form:"name" json:"name" query:"name"`
- Icon string `protobuf:"bytes,3,opt,name=icon,proto3" form:"icon" json:"icon" query:"icon"`
- Type int32 `protobuf:"varint,4,opt,name=type,proto3" form:"type" json:"type" query:"type"`
- SortNumber int32 `protobuf:"varint,5,opt,name=sort_number,json=sortNumber,proto3" form:"sort_number" json:"sort_number" query:"sort_number"`
+ Id int64 `protobuf:"varint,1,opt,name=Id,proto3" form:"id" json:"id"`
+ Name string `protobuf:"bytes,2,opt,name=Name,proto3" form:"name" json:"name"`
+ Icon string `protobuf:"bytes,3,opt,name=Icon,proto3" form:"icon" json:"icon"`
+ Type int32 `protobuf:"varint,4,opt,name=Type,proto3" form:"type" json:"type"`
+ SortNumber int32 `protobuf:"varint,5,opt,name=SortNumber,proto3" form:"sort_number" json:"sort_number"`
}
func (x *MoneyCategory) Reset() {
*x = MoneyCategory{}
if protoimpl.UnsafeEnabled {
- mi := &file_money_category_proto_msgTypes[1]
+ mi := &file_money_money_category_types_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -87,7 +50,7 @@ func (x *MoneyCategory) String() string {
func (*MoneyCategory) ProtoMessage() {}
func (x *MoneyCategory) ProtoReflect() protoreflect.Message {
- mi := &file_money_category_proto_msgTypes[1]
+ mi := &file_money_money_category_types_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -100,7 +63,7 @@ func (x *MoneyCategory) ProtoReflect() protoreflect.Message {
// Deprecated: Use MoneyCategory.ProtoReflect.Descriptor instead.
func (*MoneyCategory) Descriptor() ([]byte, []int) {
- return file_money_category_proto_rawDescGZIP(), []int{1}
+ return file_money_money_category_types_proto_rawDescGZIP(), []int{0}
}
func (x *MoneyCategory) GetId() int64 {
@@ -138,18 +101,58 @@ func (x *MoneyCategory) GetSortNumber() int32 {
return 0
}
+// 查询记账分类请求
+type QueryMoneyCategoryReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *QueryMoneyCategoryReq) Reset() {
+ *x = QueryMoneyCategoryReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_money_money_category_types_proto_msgTypes[1]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *QueryMoneyCategoryReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*QueryMoneyCategoryReq) ProtoMessage() {}
+
+func (x *QueryMoneyCategoryReq) ProtoReflect() protoreflect.Message {
+ mi := &file_money_money_category_types_proto_msgTypes[1]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use QueryMoneyCategoryReq.ProtoReflect.Descriptor instead.
+func (*QueryMoneyCategoryReq) Descriptor() ([]byte, []int) {
+ return file_money_money_category_types_proto_rawDescGZIP(), []int{1}
+}
+
+// 查询记账分类响应
type QueryMoneyCategoryResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- Categories []*MoneyCategory `protobuf:"bytes,1,rep,name=categories,proto3" form:"categories" json:"categories" query:"categories"`
+ Categories []*MoneyCategory `protobuf:"bytes,1,rep,name=Categories,proto3" form:"categories" json:"categories"`
}
func (x *QueryMoneyCategoryResp) Reset() {
*x = QueryMoneyCategoryResp{}
if protoimpl.UnsafeEnabled {
- mi := &file_money_category_proto_msgTypes[2]
+ mi := &file_money_money_category_types_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -162,7 +165,7 @@ func (x *QueryMoneyCategoryResp) String() string {
func (*QueryMoneyCategoryResp) ProtoMessage() {}
func (x *QueryMoneyCategoryResp) ProtoReflect() protoreflect.Message {
- mi := &file_money_category_proto_msgTypes[2]
+ mi := &file_money_money_category_types_proto_msgTypes[2]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -175,7 +178,7 @@ func (x *QueryMoneyCategoryResp) ProtoReflect() protoreflect.Message {
// Deprecated: Use QueryMoneyCategoryResp.ProtoReflect.Descriptor instead.
func (*QueryMoneyCategoryResp) Descriptor() ([]byte, []int) {
- return file_money_category_proto_rawDescGZIP(), []int{2}
+ return file_money_money_category_types_proto_rawDescGZIP(), []int{2}
}
func (x *QueryMoneyCategoryResp) GetCategories() []*MoneyCategory {
@@ -185,6 +188,7 @@ func (x *QueryMoneyCategoryResp) GetCategories() []*MoneyCategory {
return nil
}
+// 删除记账分类请求
type DeleteMoneyCategoryReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -196,7 +200,7 @@ type DeleteMoneyCategoryReq struct {
func (x *DeleteMoneyCategoryReq) Reset() {
*x = DeleteMoneyCategoryReq{}
if protoimpl.UnsafeEnabled {
- mi := &file_money_category_proto_msgTypes[3]
+ mi := &file_money_money_category_types_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -209,7 +213,7 @@ func (x *DeleteMoneyCategoryReq) String() string {
func (*DeleteMoneyCategoryReq) ProtoMessage() {}
func (x *DeleteMoneyCategoryReq) ProtoReflect() protoreflect.Message {
- mi := &file_money_category_proto_msgTypes[3]
+ mi := &file_money_money_category_types_proto_msgTypes[3]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -222,7 +226,7 @@ func (x *DeleteMoneyCategoryReq) ProtoReflect() protoreflect.Message {
// Deprecated: Use DeleteMoneyCategoryReq.ProtoReflect.Descriptor instead.
func (*DeleteMoneyCategoryReq) Descriptor() ([]byte, []int) {
- return file_money_category_proto_rawDescGZIP(), []int{3}
+ return file_money_money_category_types_proto_rawDescGZIP(), []int{3}
}
func (x *DeleteMoneyCategoryReq) GetId() int64 {
@@ -232,6 +236,7 @@ func (x *DeleteMoneyCategoryReq) GetId() int64 {
return 0
}
+// 删除记账分类响应
type DeleteMoneyCategoryResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -241,7 +246,7 @@ type DeleteMoneyCategoryResp struct {
func (x *DeleteMoneyCategoryResp) Reset() {
*x = DeleteMoneyCategoryResp{}
if protoimpl.UnsafeEnabled {
- mi := &file_money_category_proto_msgTypes[4]
+ mi := &file_money_money_category_types_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -254,7 +259,7 @@ func (x *DeleteMoneyCategoryResp) String() string {
func (*DeleteMoneyCategoryResp) ProtoMessage() {}
func (x *DeleteMoneyCategoryResp) ProtoReflect() protoreflect.Message {
- mi := &file_money_category_proto_msgTypes[4]
+ mi := &file_money_money_category_types_proto_msgTypes[4]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -267,22 +272,23 @@ func (x *DeleteMoneyCategoryResp) ProtoReflect() protoreflect.Message {
// Deprecated: Use DeleteMoneyCategoryResp.ProtoReflect.Descriptor instead.
func (*DeleteMoneyCategoryResp) Descriptor() ([]byte, []int) {
- return file_money_category_proto_rawDescGZIP(), []int{4}
+ return file_money_money_category_types_proto_rawDescGZIP(), []int{4}
}
+// 修改分类排序项
type MoneyCategorySortItem struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- Id int64 `protobuf:"varint,1,opt,name=id,proto3" form:"id" json:"id" query:"id"`
- SortNumber int32 `protobuf:"varint,2,opt,name=sort_number,json=sortNumber,proto3" form:"sort_number" json:"sort_number" query:"sort_number"`
+ Id int64 `protobuf:"varint,1,opt,name=Id,proto3" form:"id" json:"id"`
+ SortNumber int32 `protobuf:"varint,2,opt,name=SortNumber,proto3" form:"sort_number" json:"sort_number"`
}
func (x *MoneyCategorySortItem) Reset() {
*x = MoneyCategorySortItem{}
if protoimpl.UnsafeEnabled {
- mi := &file_money_category_proto_msgTypes[5]
+ mi := &file_money_money_category_types_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -295,7 +301,7 @@ func (x *MoneyCategorySortItem) String() string {
func (*MoneyCategorySortItem) ProtoMessage() {}
func (x *MoneyCategorySortItem) ProtoReflect() protoreflect.Message {
- mi := &file_money_category_proto_msgTypes[5]
+ mi := &file_money_money_category_types_proto_msgTypes[5]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -308,7 +314,7 @@ func (x *MoneyCategorySortItem) ProtoReflect() protoreflect.Message {
// Deprecated: Use MoneyCategorySortItem.ProtoReflect.Descriptor instead.
func (*MoneyCategorySortItem) Descriptor() ([]byte, []int) {
- return file_money_category_proto_rawDescGZIP(), []int{5}
+ return file_money_money_category_types_proto_rawDescGZIP(), []int{5}
}
func (x *MoneyCategorySortItem) GetId() int64 {
@@ -325,18 +331,19 @@ func (x *MoneyCategorySortItem) GetSortNumber() int32 {
return 0
}
+// 修改分类排序请求
type UpdateMoneyCategorySortReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- Data []*MoneyCategorySortItem `protobuf:"bytes,1,rep,name=data,proto3" form:"data" json:"data" query:"data"`
+ Data []*MoneyCategorySortItem `protobuf:"bytes,1,rep,name=Data,proto3" form:"data" json:"data"`
}
func (x *UpdateMoneyCategorySortReq) Reset() {
*x = UpdateMoneyCategorySortReq{}
if protoimpl.UnsafeEnabled {
- mi := &file_money_category_proto_msgTypes[6]
+ mi := &file_money_money_category_types_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -349,7 +356,7 @@ func (x *UpdateMoneyCategorySortReq) String() string {
func (*UpdateMoneyCategorySortReq) ProtoMessage() {}
func (x *UpdateMoneyCategorySortReq) ProtoReflect() protoreflect.Message {
- mi := &file_money_category_proto_msgTypes[6]
+ mi := &file_money_money_category_types_proto_msgTypes[6]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -362,7 +369,7 @@ func (x *UpdateMoneyCategorySortReq) ProtoReflect() protoreflect.Message {
// Deprecated: Use UpdateMoneyCategorySortReq.ProtoReflect.Descriptor instead.
func (*UpdateMoneyCategorySortReq) Descriptor() ([]byte, []int) {
- return file_money_category_proto_rawDescGZIP(), []int{6}
+ return file_money_money_category_types_proto_rawDescGZIP(), []int{6}
}
func (x *UpdateMoneyCategorySortReq) GetData() []*MoneyCategorySortItem {
@@ -372,6 +379,7 @@ func (x *UpdateMoneyCategorySortReq) GetData() []*MoneyCategorySortItem {
return nil
}
+// 修改分类排序响应
type UpdateMoneyCategorySortResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -381,7 +389,7 @@ type UpdateMoneyCategorySortResp struct {
func (x *UpdateMoneyCategorySortResp) Reset() {
*x = UpdateMoneyCategorySortResp{}
if protoimpl.UnsafeEnabled {
- mi := &file_money_category_proto_msgTypes[7]
+ mi := &file_money_money_category_types_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -394,7 +402,7 @@ func (x *UpdateMoneyCategorySortResp) String() string {
func (*UpdateMoneyCategorySortResp) ProtoMessage() {}
func (x *UpdateMoneyCategorySortResp) ProtoReflect() protoreflect.Message {
- mi := &file_money_category_proto_msgTypes[7]
+ mi := &file_money_money_category_types_proto_msgTypes[7]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -407,91 +415,74 @@ func (x *UpdateMoneyCategorySortResp) ProtoReflect() protoreflect.Message {
// Deprecated: Use UpdateMoneyCategorySortResp.ProtoReflect.Descriptor instead.
func (*UpdateMoneyCategorySortResp) Descriptor() ([]byte, []int) {
- return file_money_category_proto_rawDescGZIP(), []int{7}
+ return file_money_money_category_types_proto_rawDescGZIP(), []int{7}
}
-var File_money_category_proto protoreflect.FileDescriptor
+var File_money_money_category_types_proto protoreflect.FileDescriptor
-var file_money_category_proto_rawDesc = []byte{
- 0x0a, 0x14, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79,
- 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x1a, 0x09, 0x61,
- 0x70, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x17, 0x0a, 0x15, 0x51, 0x75, 0x65, 0x72,
- 0x79, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x65,
- 0x71, 0x22, 0x7c, 0x0a, 0x0d, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f,
- 0x72, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02,
- 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
- 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x18, 0x03,
- 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79,
- 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1f,
- 0x0a, 0x0b, 0x73, 0x6f, 0x72, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x05, 0x20,
- 0x01, 0x28, 0x05, 0x52, 0x0a, 0x73, 0x6f, 0x72, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22,
- 0x4e, 0x0a, 0x16, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x43, 0x61, 0x74,
- 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x12, 0x34, 0x0a, 0x0a, 0x63, 0x61, 0x74,
- 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e,
- 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2e, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x43, 0x61, 0x74, 0x65, 0x67,
- 0x6f, 0x72, 0x79, 0x52, 0x0a, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x22,
- 0x3a, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x43, 0x61,
- 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x12, 0x20, 0x0a, 0x02, 0x49, 0x64, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x10, 0xca, 0xbb, 0x18, 0x02, 0x69, 0x64, 0xda, 0xbb, 0x18,
- 0x06, 0x24, 0x20, 0x21, 0x3d, 0x20, 0x30, 0x52, 0x02, 0x49, 0x64, 0x22, 0x19, 0x0a, 0x17, 0x44,
- 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f,
- 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x22, 0x48, 0x0a, 0x15, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x43,
- 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x53, 0x6f, 0x72, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x12,
- 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12,
- 0x1f, 0x0a, 0x0b, 0x73, 0x6f, 0x72, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02,
- 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x73, 0x6f, 0x72, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72,
- 0x22, 0x4e, 0x0a, 0x1a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x43,
- 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x53, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x30,
- 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6d,
- 0x6f, 0x6e, 0x65, 0x79, 0x2e, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f,
- 0x72, 0x79, 0x53, 0x6f, 0x72, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61,
- 0x22, 0x1d, 0x0a, 0x1b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x43,
- 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x53, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x32,
- 0xfb, 0x02, 0x0a, 0x14, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72,
- 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x6a, 0x0a, 0x16, 0x51, 0x75, 0x65, 0x72,
- 0x79, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f,
- 0x72, 0x79, 0x12, 0x1c, 0x2e, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79,
- 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71,
- 0x1a, 0x1d, 0x2e, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x6f,
- 0x6e, 0x65, 0x79, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x22,
- 0x13, 0xca, 0xc1, 0x18, 0x0f, 0x2f, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2f, 0x63, 0x61, 0x74, 0x65,
- 0x67, 0x6f, 0x72, 0x79, 0x12, 0x74, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73,
- 0x65, 0x72, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12,
- 0x1d, 0x2e, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x6f,
- 0x6e, 0x65, 0x79, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x1a, 0x1e,
- 0x2e, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x6f, 0x6e,
- 0x65, 0x79, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x22, 0x1a,
- 0xd2, 0xc1, 0x18, 0x16, 0x2f, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2f, 0x63, 0x61, 0x74, 0x65, 0x67,
- 0x6f, 0x72, 0x79, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x80, 0x01, 0x0a, 0x17, 0x55,
+var file_money_money_category_types_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2f, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x5f, 0x63, 0x61,
+ 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x1a, 0x09, 0x61, 0x70, 0x69, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb2, 0x01, 0x0a, 0x0d, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x43, 0x61,
+ 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x16, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x03, 0x42, 0x06, 0xca, 0xbb, 0x18, 0x02, 0x69, 0x64, 0x52, 0x02, 0x49, 0x64, 0x12, 0x1c,
+ 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xca, 0xbb,
+ 0x18, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x04,
+ 0x49, 0x63, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xca, 0xbb, 0x18, 0x04,
+ 0x69, 0x63, 0x6f, 0x6e, 0x52, 0x04, 0x49, 0x63, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x04, 0x54, 0x79,
+ 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x42, 0x08, 0xca, 0xbb, 0x18, 0x04, 0x74, 0x79,
+ 0x70, 0x65, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2f, 0x0a, 0x0a, 0x53, 0x6f, 0x72, 0x74,
+ 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x42, 0x0f, 0xca, 0xbb,
+ 0x18, 0x0b, 0x73, 0x6f, 0x72, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x0a, 0x53,
+ 0x6f, 0x72, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x17, 0x0a, 0x15, 0x51, 0x75, 0x65,
+ 0x72, 0x79, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52,
+ 0x65, 0x71, 0x22, 0x5e, 0x0a, 0x16, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x6f, 0x6e, 0x65, 0x79,
+ 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x12, 0x44, 0x0a, 0x0a,
+ 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x14, 0x2e, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2e, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x43, 0x61,
+ 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x42, 0x0e, 0xca, 0xbb, 0x18, 0x0a, 0x63, 0x61, 0x74, 0x65,
+ 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x52, 0x0a, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69,
+ 0x65, 0x73, 0x22, 0x3a, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x65,
+ 0x79, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x12, 0x20, 0x0a, 0x02,
+ 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x10, 0xca, 0xbb, 0x18, 0x02, 0x69, 0x64,
+ 0xda, 0xbb, 0x18, 0x06, 0x24, 0x20, 0x21, 0x3d, 0x20, 0x30, 0x52, 0x02, 0x49, 0x64, 0x22, 0x19,
+ 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x43, 0x61, 0x74,
+ 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x22, 0x60, 0x0a, 0x15, 0x4d, 0x6f, 0x6e,
+ 0x65, 0x79, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x53, 0x6f, 0x72, 0x74, 0x49, 0x74,
+ 0x65, 0x6d, 0x12, 0x16, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x06,
+ 0xca, 0xbb, 0x18, 0x02, 0x69, 0x64, 0x52, 0x02, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x0a, 0x53, 0x6f,
+ 0x72, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x0f,
+ 0xca, 0xbb, 0x18, 0x0b, 0x73, 0x6f, 0x72, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x52,
+ 0x0a, 0x53, 0x6f, 0x72, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x58, 0x0a, 0x1a, 0x55,
0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f,
- 0x72, 0x79, 0x53, 0x6f, 0x72, 0x74, 0x12, 0x21, 0x2e, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2e, 0x55,
- 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f,
- 0x72, 0x79, 0x53, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x22, 0x2e, 0x6d, 0x6f, 0x6e, 0x65,
- 0x79, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x43, 0x61, 0x74,
- 0x65, 0x67, 0x6f, 0x72, 0x79, 0x53, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x1e, 0xd2,
- 0xc1, 0x18, 0x1a, 0x2f, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f,
- 0x72, 0x79, 0x2f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x6f, 0x72, 0x74, 0x42, 0x22, 0x5a,
- 0x20, 0x63, 0x6e, 0x2f, 0x6f, 0x6e, 0x65, 0x61, 0x6f, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2d, 0x67,
- 0x6f, 0x2f, 0x62, 0x69, 0x7a, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2f, 0x6d, 0x6f, 0x6e, 0x65,
- 0x79, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+ 0x72, 0x79, 0x53, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x3a, 0x0a, 0x04, 0x44, 0x61, 0x74,
+ 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2e,
+ 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x53, 0x6f, 0x72,
+ 0x74, 0x49, 0x74, 0x65, 0x6d, 0x42, 0x08, 0xca, 0xbb, 0x18, 0x04, 0x64, 0x61, 0x74, 0x61, 0x52,
+ 0x04, 0x44, 0x61, 0x74, 0x61, 0x22, 0x1d, 0x0a, 0x1b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d,
+ 0x6f, 0x6e, 0x65, 0x79, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x53, 0x6f, 0x72, 0x74,
+ 0x52, 0x65, 0x73, 0x70, 0x42, 0x22, 0x5a, 0x20, 0x63, 0x6e, 0x2f, 0x6f, 0x6e, 0x65, 0x61, 0x6f,
+ 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2d, 0x67, 0x6f, 0x2f, 0x62, 0x69, 0x7a, 0x2f, 0x6d, 0x6f, 0x64,
+ 0x65, 0x6c, 0x2f, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
- file_money_category_proto_rawDescOnce sync.Once
- file_money_category_proto_rawDescData = file_money_category_proto_rawDesc
+ file_money_money_category_types_proto_rawDescOnce sync.Once
+ file_money_money_category_types_proto_rawDescData = file_money_money_category_types_proto_rawDesc
)
-func file_money_category_proto_rawDescGZIP() []byte {
- file_money_category_proto_rawDescOnce.Do(func() {
- file_money_category_proto_rawDescData = protoimpl.X.CompressGZIP(file_money_category_proto_rawDescData)
+func file_money_money_category_types_proto_rawDescGZIP() []byte {
+ file_money_money_category_types_proto_rawDescOnce.Do(func() {
+ file_money_money_category_types_proto_rawDescData = protoimpl.X.CompressGZIP(file_money_money_category_types_proto_rawDescData)
})
- return file_money_category_proto_rawDescData
+ return file_money_money_category_types_proto_rawDescData
}
-var file_money_category_proto_msgTypes = make([]protoimpl.MessageInfo, 8)
-var file_money_category_proto_goTypes = []interface{}{
- (*QueryMoneyCategoryReq)(nil), // 0: money.QueryMoneyCategoryReq
- (*MoneyCategory)(nil), // 1: money.MoneyCategory
+var file_money_money_category_types_proto_msgTypes = make([]protoimpl.MessageInfo, 8)
+var file_money_money_category_types_proto_goTypes = []interface{}{
+ (*MoneyCategory)(nil), // 0: money.MoneyCategory
+ (*QueryMoneyCategoryReq)(nil), // 1: money.QueryMoneyCategoryReq
(*QueryMoneyCategoryResp)(nil), // 2: money.QueryMoneyCategoryResp
(*DeleteMoneyCategoryReq)(nil), // 3: money.DeleteMoneyCategoryReq
(*DeleteMoneyCategoryResp)(nil), // 4: money.DeleteMoneyCategoryResp
@@ -499,41 +490,23 @@ var file_money_category_proto_goTypes = []interface{}{
(*UpdateMoneyCategorySortReq)(nil), // 6: money.UpdateMoneyCategorySortReq
(*UpdateMoneyCategorySortResp)(nil), // 7: money.UpdateMoneyCategorySortResp
}
-var file_money_category_proto_depIdxs = []int32{
- 1, // 0: money.QueryMoneyCategoryResp.categories:type_name -> money.MoneyCategory
- 5, // 1: money.UpdateMoneyCategorySortReq.data:type_name -> money.MoneyCategorySortItem
- 0, // 2: money.MoneyCategoryService.QueryUserMoneyCategory:input_type -> money.QueryMoneyCategoryReq
- 3, // 3: money.MoneyCategoryService.DeleteUserMoneyCategory:input_type -> money.DeleteMoneyCategoryReq
- 6, // 4: money.MoneyCategoryService.UpdateMoneyCategorySort:input_type -> money.UpdateMoneyCategorySortReq
- 2, // 5: money.MoneyCategoryService.QueryUserMoneyCategory:output_type -> money.QueryMoneyCategoryResp
- 4, // 6: money.MoneyCategoryService.DeleteUserMoneyCategory:output_type -> money.DeleteMoneyCategoryResp
- 7, // 7: money.MoneyCategoryService.UpdateMoneyCategorySort:output_type -> money.UpdateMoneyCategorySortResp
- 5, // [5:8] is the sub-list for method output_type
- 2, // [2:5] is the sub-list for method input_type
+var file_money_money_category_types_proto_depIdxs = []int32{
+ 0, // 0: money.QueryMoneyCategoryResp.Categories:type_name -> money.MoneyCategory
+ 5, // 1: money.UpdateMoneyCategorySortReq.Data:type_name -> money.MoneyCategorySortItem
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
2, // [2:2] is the sub-list for extension type_name
2, // [2:2] is the sub-list for extension extendee
0, // [0:2] is the sub-list for field type_name
}
-func init() { file_money_category_proto_init() }
-func file_money_category_proto_init() {
- if File_money_category_proto != nil {
+func init() { file_money_money_category_types_proto_init() }
+func file_money_money_category_types_proto_init() {
+ if File_money_money_category_types_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
- file_money_category_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*QueryMoneyCategoryReq); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_money_category_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+ file_money_money_category_types_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MoneyCategory); i {
case 0:
return &v.state
@@ -545,7 +518,19 @@ func file_money_category_proto_init() {
return nil
}
}
- file_money_category_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
+ file_money_money_category_types_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*QueryMoneyCategoryReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_money_money_category_types_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*QueryMoneyCategoryResp); i {
case 0:
return &v.state
@@ -557,7 +542,7 @@ func file_money_category_proto_init() {
return nil
}
}
- file_money_category_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
+ file_money_money_category_types_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DeleteMoneyCategoryReq); i {
case 0:
return &v.state
@@ -569,7 +554,7 @@ func file_money_category_proto_init() {
return nil
}
}
- file_money_category_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
+ file_money_money_category_types_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DeleteMoneyCategoryResp); i {
case 0:
return &v.state
@@ -581,7 +566,7 @@ func file_money_category_proto_init() {
return nil
}
}
- file_money_category_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
+ file_money_money_category_types_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MoneyCategorySortItem); i {
case 0:
return &v.state
@@ -593,7 +578,7 @@ func file_money_category_proto_init() {
return nil
}
}
- file_money_category_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
+ file_money_money_category_types_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UpdateMoneyCategorySortReq); i {
case 0:
return &v.state
@@ -605,7 +590,7 @@ func file_money_category_proto_init() {
return nil
}
}
- file_money_category_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
+ file_money_money_category_types_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UpdateMoneyCategorySortResp); i {
case 0:
return &v.state
@@ -622,18 +607,18 @@ func file_money_category_proto_init() {
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
- RawDescriptor: file_money_category_proto_rawDesc,
+ RawDescriptor: file_money_money_category_types_proto_rawDesc,
NumEnums: 0,
NumMessages: 8,
NumExtensions: 0,
- NumServices: 1,
+ NumServices: 0,
},
- GoTypes: file_money_category_proto_goTypes,
- DependencyIndexes: file_money_category_proto_depIdxs,
- MessageInfos: file_money_category_proto_msgTypes,
+ GoTypes: file_money_money_category_types_proto_goTypes,
+ DependencyIndexes: file_money_money_category_types_proto_depIdxs,
+ MessageInfos: file_money_money_category_types_proto_msgTypes,
}.Build()
- File_money_category_proto = out.File
- file_money_category_proto_rawDesc = nil
- file_money_category_proto_goTypes = nil
- file_money_category_proto_depIdxs = nil
+ File_money_money_category_types_proto = out.File
+ file_money_money_category_types_proto_rawDesc = nil
+ file_money_money_category_types_proto_goTypes = nil
+ file_money_money_category_types_proto_depIdxs = nil
}
diff --git a/code/base-project/base-go-v3/biz/model/money/money_record.pb.go b/code/base-project/base-go-v3/biz/model/money/money_record.pb.go
deleted file mode 100644
index 631be7ec..00000000
--- a/code/base-project/base-go-v3/biz/model/money/money_record.pb.go
+++ /dev/null
@@ -1,577 +0,0 @@
-// Code generated by protoc-gen-go. DO NOT EDIT.
-// versions:
-// protoc-gen-go v1.28.0
-// protoc v6.33.1
-// source: money_record.proto
-
-package money
-
-import (
- _ "cn/oneao/base-go/biz/model/api"
- protoreflect "google.golang.org/protobuf/reflect/protoreflect"
- protoimpl "google.golang.org/protobuf/runtime/protoimpl"
- timestamppb "google.golang.org/protobuf/types/known/timestamppb"
- reflect "reflect"
- sync "sync"
-)
-
-const (
- // Verify that this generated code is sufficiently up-to-date.
- _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
- // Verify that runtime/protoimpl is sufficiently up-to-date.
- _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
-)
-
-type MoneyRecordBase struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- Id int64 `protobuf:"varint,1,opt,name=id,proto3" form:"id" json:"id" query:"id"`
- CategoryId int64 `protobuf:"varint,2,opt,name=category_id,json=categoryId,proto3" form:"category_id" json:"category_id" query:"category_id"`
- UserId int64 `protobuf:"varint,3,opt,name=user_id,json=userId,proto3" form:"user_id" json:"user_id" query:"user_id"`
- Amount string `protobuf:"bytes,4,opt,name=amount,proto3" form:"amount" json:"amount" query:"amount"`
- Remark string `protobuf:"bytes,5,opt,name=remark,proto3" form:"remark" json:"remark" query:"remark"`
- RecordTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=record_time,json=recordTime,proto3" form:"record_time" json:"record_time" query:"record_time"`
- CreateTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=create_time,json=createTime,proto3" form:"create_time" json:"create_time" query:"create_time"`
- UpdateTime *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=update_time,json=updateTime,proto3" form:"update_time" json:"update_time" query:"update_time"`
-}
-
-func (x *MoneyRecordBase) Reset() {
- *x = MoneyRecordBase{}
- if protoimpl.UnsafeEnabled {
- mi := &file_money_record_proto_msgTypes[0]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *MoneyRecordBase) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*MoneyRecordBase) ProtoMessage() {}
-
-func (x *MoneyRecordBase) ProtoReflect() protoreflect.Message {
- mi := &file_money_record_proto_msgTypes[0]
- if protoimpl.UnsafeEnabled && x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use MoneyRecordBase.ProtoReflect.Descriptor instead.
-func (*MoneyRecordBase) Descriptor() ([]byte, []int) {
- return file_money_record_proto_rawDescGZIP(), []int{0}
-}
-
-func (x *MoneyRecordBase) GetId() int64 {
- if x != nil {
- return x.Id
- }
- return 0
-}
-
-func (x *MoneyRecordBase) GetCategoryId() int64 {
- if x != nil {
- return x.CategoryId
- }
- return 0
-}
-
-func (x *MoneyRecordBase) GetUserId() int64 {
- if x != nil {
- return x.UserId
- }
- return 0
-}
-
-func (x *MoneyRecordBase) GetAmount() string {
- if x != nil {
- return x.Amount
- }
- return ""
-}
-
-func (x *MoneyRecordBase) GetRemark() string {
- if x != nil {
- return x.Remark
- }
- return ""
-}
-
-func (x *MoneyRecordBase) GetRecordTime() *timestamppb.Timestamp {
- if x != nil {
- return x.RecordTime
- }
- return nil
-}
-
-func (x *MoneyRecordBase) GetCreateTime() *timestamppb.Timestamp {
- if x != nil {
- return x.CreateTime
- }
- return nil
-}
-
-func (x *MoneyRecordBase) GetUpdateTime() *timestamppb.Timestamp {
- if x != nil {
- return x.UpdateTime
- }
- return nil
-}
-
-type MoneyRecordItem struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- Base *MoneyRecordBase `protobuf:"bytes,1,opt,name=base,proto3" form:"base" json:"base" query:"base"`
- CategoryName string `protobuf:"bytes,2,opt,name=category_name,json=categoryName,proto3" form:"category_name" json:"category_name" query:"category_name"`
- CategoryIcon string `protobuf:"bytes,3,opt,name=category_icon,json=categoryIcon,proto3" form:"category_icon" json:"category_icon" query:"category_icon"`
- CategoryType int32 `protobuf:"varint,4,opt,name=category_type,json=categoryType,proto3" form:"category_type" json:"category_type" query:"category_type"`
-}
-
-func (x *MoneyRecordItem) Reset() {
- *x = MoneyRecordItem{}
- if protoimpl.UnsafeEnabled {
- mi := &file_money_record_proto_msgTypes[1]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *MoneyRecordItem) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*MoneyRecordItem) ProtoMessage() {}
-
-func (x *MoneyRecordItem) ProtoReflect() protoreflect.Message {
- mi := &file_money_record_proto_msgTypes[1]
- if protoimpl.UnsafeEnabled && x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use MoneyRecordItem.ProtoReflect.Descriptor instead.
-func (*MoneyRecordItem) Descriptor() ([]byte, []int) {
- return file_money_record_proto_rawDescGZIP(), []int{1}
-}
-
-func (x *MoneyRecordItem) GetBase() *MoneyRecordBase {
- if x != nil {
- return x.Base
- }
- return nil
-}
-
-func (x *MoneyRecordItem) GetCategoryName() string {
- if x != nil {
- return x.CategoryName
- }
- return ""
-}
-
-func (x *MoneyRecordItem) GetCategoryIcon() string {
- if x != nil {
- return x.CategoryIcon
- }
- return ""
-}
-
-func (x *MoneyRecordItem) GetCategoryType() int32 {
- if x != nil {
- return x.CategoryType
- }
- return 0
-}
-
-type MoneyRecordGroup struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- RecordTime string `protobuf:"bytes,1,opt,name=record_time,json=recordTime,proto3" form:"record_time" json:"record_time" query:"record_time"`
- Expense string `protobuf:"bytes,2,opt,name=expense,proto3" form:"expense" json:"expense" query:"expense"`
- Income string `protobuf:"bytes,3,opt,name=income,proto3" form:"income" json:"income" query:"income"`
- Records []*MoneyRecordItem `protobuf:"bytes,4,rep,name=records,proto3" form:"records" json:"records" query:"records"`
-}
-
-func (x *MoneyRecordGroup) Reset() {
- *x = MoneyRecordGroup{}
- if protoimpl.UnsafeEnabled {
- mi := &file_money_record_proto_msgTypes[2]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *MoneyRecordGroup) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*MoneyRecordGroup) ProtoMessage() {}
-
-func (x *MoneyRecordGroup) ProtoReflect() protoreflect.Message {
- mi := &file_money_record_proto_msgTypes[2]
- if protoimpl.UnsafeEnabled && x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use MoneyRecordGroup.ProtoReflect.Descriptor instead.
-func (*MoneyRecordGroup) Descriptor() ([]byte, []int) {
- return file_money_record_proto_rawDescGZIP(), []int{2}
-}
-
-func (x *MoneyRecordGroup) GetRecordTime() string {
- if x != nil {
- return x.RecordTime
- }
- return ""
-}
-
-func (x *MoneyRecordGroup) GetExpense() string {
- if x != nil {
- return x.Expense
- }
- return ""
-}
-
-func (x *MoneyRecordGroup) GetIncome() string {
- if x != nil {
- return x.Income
- }
- return ""
-}
-
-func (x *MoneyRecordGroup) GetRecords() []*MoneyRecordItem {
- if x != nil {
- return x.Records
- }
- return nil
-}
-
-type QueryMoneyRecordsParams struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- RecordTime string `protobuf:"bytes,1,opt,name=record_time,json=recordTime,proto3" form:"record_time" json:"record_time" query:"record_time"`
-}
-
-func (x *QueryMoneyRecordsParams) Reset() {
- *x = QueryMoneyRecordsParams{}
- if protoimpl.UnsafeEnabled {
- mi := &file_money_record_proto_msgTypes[3]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *QueryMoneyRecordsParams) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*QueryMoneyRecordsParams) ProtoMessage() {}
-
-func (x *QueryMoneyRecordsParams) ProtoReflect() protoreflect.Message {
- mi := &file_money_record_proto_msgTypes[3]
- if protoimpl.UnsafeEnabled && x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use QueryMoneyRecordsParams.ProtoReflect.Descriptor instead.
-func (*QueryMoneyRecordsParams) Descriptor() ([]byte, []int) {
- return file_money_record_proto_rawDescGZIP(), []int{3}
-}
-
-func (x *QueryMoneyRecordsParams) GetRecordTime() string {
- if x != nil {
- return x.RecordTime
- }
- return ""
-}
-
-type QueryMoneyRecordsResult struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- Records []*MoneyRecordGroup `protobuf:"bytes,1,rep,name=records,proto3" form:"records" json:"records" query:"records"`
- TotalIncome string `protobuf:"bytes,2,opt,name=total_income,json=totalIncome,proto3" form:"total_income" json:"total_income" query:"total_income"`
- TotalExpense string `protobuf:"bytes,3,opt,name=total_expense,json=totalExpense,proto3" form:"total_expense" json:"total_expense" query:"total_expense"`
-}
-
-func (x *QueryMoneyRecordsResult) Reset() {
- *x = QueryMoneyRecordsResult{}
- if protoimpl.UnsafeEnabled {
- mi := &file_money_record_proto_msgTypes[4]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *QueryMoneyRecordsResult) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*QueryMoneyRecordsResult) ProtoMessage() {}
-
-func (x *QueryMoneyRecordsResult) ProtoReflect() protoreflect.Message {
- mi := &file_money_record_proto_msgTypes[4]
- if protoimpl.UnsafeEnabled && x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use QueryMoneyRecordsResult.ProtoReflect.Descriptor instead.
-func (*QueryMoneyRecordsResult) Descriptor() ([]byte, []int) {
- return file_money_record_proto_rawDescGZIP(), []int{4}
-}
-
-func (x *QueryMoneyRecordsResult) GetRecords() []*MoneyRecordGroup {
- if x != nil {
- return x.Records
- }
- return nil
-}
-
-func (x *QueryMoneyRecordsResult) GetTotalIncome() string {
- if x != nil {
- return x.TotalIncome
- }
- return ""
-}
-
-func (x *QueryMoneyRecordsResult) GetTotalExpense() string {
- if x != nil {
- return x.TotalExpense
- }
- return ""
-}
-
-var File_money_record_proto protoreflect.FileDescriptor
-
-var file_money_record_proto_rawDesc = []byte{
- 0x0a, 0x12, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x70,
- 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x1a, 0x09, 0x61, 0x70, 0x69,
- 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70,
- 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
- 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc2, 0x02, 0x0a, 0x0f, 0x4d, 0x6f, 0x6e, 0x65,
- 0x79, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x42, 0x61, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69,
- 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x63,
- 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03,
- 0x52, 0x0a, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07,
- 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75,
- 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18,
- 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x16, 0x0a,
- 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72,
- 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x3b, 0x0a, 0x0b, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f,
- 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
- 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d,
- 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x54, 0x69,
- 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d,
- 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
- 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74,
- 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12,
- 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08,
- 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
- 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
- 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xac, 0x01, 0x0a,
- 0x0f, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x74, 0x65, 0x6d,
- 0x12, 0x2a, 0x0a, 0x04, 0x62, 0x61, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16,
- 0x2e, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2e, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x65, 0x63, 0x6f,
- 0x72, 0x64, 0x42, 0x61, 0x73, 0x65, 0x52, 0x04, 0x62, 0x61, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x0d,
- 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x4e, 0x61, 0x6d,
- 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x69, 0x63,
- 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f,
- 0x72, 0x79, 0x49, 0x63, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f,
- 0x72, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x63,
- 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0x22, 0x97, 0x01, 0x0a, 0x10,
- 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70,
- 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x54, 0x69, 0x6d,
- 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x78, 0x70, 0x65, 0x6e, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01,
- 0x28, 0x09, 0x52, 0x07, 0x65, 0x78, 0x70, 0x65, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x69,
- 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x6e, 0x63,
- 0x6f, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x07, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x04,
- 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2e, 0x4d, 0x6f, 0x6e,
- 0x65, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x07, 0x72, 0x65,
- 0x63, 0x6f, 0x72, 0x64, 0x73, 0x22, 0x3a, 0x0a, 0x17, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x6f,
- 0x6e, 0x65, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73,
- 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x54, 0x69, 0x6d,
- 0x65, 0x22, 0x94, 0x01, 0x0a, 0x17, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x6f, 0x6e, 0x65, 0x79,
- 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x31, 0x0a,
- 0x07, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17,
- 0x2e, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2e, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x65, 0x63, 0x6f,
- 0x72, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x07, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73,
- 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x65,
- 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x49, 0x6e, 0x63,
- 0x6f, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x65, 0x78, 0x70,
- 0x65, 0x6e, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x6f, 0x74, 0x61,
- 0x6c, 0x45, 0x78, 0x70, 0x65, 0x6e, 0x73, 0x65, 0x32, 0x7b, 0x0a, 0x12, 0x4d, 0x6f, 0x6e, 0x65,
- 0x79, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x65,
- 0x0a, 0x10, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x65, 0x63, 0x6f,
- 0x72, 0x64, 0x12, 0x1e, 0x2e, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79,
- 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x50, 0x61, 0x72, 0x61,
- 0x6d, 0x73, 0x1a, 0x1e, 0x2e, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79,
- 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x75,
- 0x6c, 0x74, 0x22, 0x11, 0xd2, 0xc1, 0x18, 0x0d, 0x2f, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2f, 0x72,
- 0x65, 0x63, 0x6f, 0x72, 0x64, 0x42, 0x22, 0x5a, 0x20, 0x63, 0x6e, 0x2f, 0x6f, 0x6e, 0x65, 0x61,
- 0x6f, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2d, 0x67, 0x6f, 0x2f, 0x62, 0x69, 0x7a, 0x2f, 0x6d, 0x6f,
- 0x64, 0x65, 0x6c, 0x2f, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
- 0x33,
-}
-
-var (
- file_money_record_proto_rawDescOnce sync.Once
- file_money_record_proto_rawDescData = file_money_record_proto_rawDesc
-)
-
-func file_money_record_proto_rawDescGZIP() []byte {
- file_money_record_proto_rawDescOnce.Do(func() {
- file_money_record_proto_rawDescData = protoimpl.X.CompressGZIP(file_money_record_proto_rawDescData)
- })
- return file_money_record_proto_rawDescData
-}
-
-var file_money_record_proto_msgTypes = make([]protoimpl.MessageInfo, 5)
-var file_money_record_proto_goTypes = []interface{}{
- (*MoneyRecordBase)(nil), // 0: money.MoneyRecordBase
- (*MoneyRecordItem)(nil), // 1: money.MoneyRecordItem
- (*MoneyRecordGroup)(nil), // 2: money.MoneyRecordGroup
- (*QueryMoneyRecordsParams)(nil), // 3: money.QueryMoneyRecordsParams
- (*QueryMoneyRecordsResult)(nil), // 4: money.QueryMoneyRecordsResult
- (*timestamppb.Timestamp)(nil), // 5: google.protobuf.Timestamp
-}
-var file_money_record_proto_depIdxs = []int32{
- 5, // 0: money.MoneyRecordBase.record_time:type_name -> google.protobuf.Timestamp
- 5, // 1: money.MoneyRecordBase.create_time:type_name -> google.protobuf.Timestamp
- 5, // 2: money.MoneyRecordBase.update_time:type_name -> google.protobuf.Timestamp
- 0, // 3: money.MoneyRecordItem.base:type_name -> money.MoneyRecordBase
- 1, // 4: money.MoneyRecordGroup.records:type_name -> money.MoneyRecordItem
- 2, // 5: money.QueryMoneyRecordsResult.records:type_name -> money.MoneyRecordGroup
- 3, // 6: money.MoneyRecordService.QueryMoneyRecord:input_type -> money.QueryMoneyRecordsParams
- 4, // 7: money.MoneyRecordService.QueryMoneyRecord:output_type -> money.QueryMoneyRecordsResult
- 7, // [7:8] is the sub-list for method output_type
- 6, // [6:7] is the sub-list for method input_type
- 6, // [6:6] is the sub-list for extension type_name
- 6, // [6:6] is the sub-list for extension extendee
- 0, // [0:6] is the sub-list for field type_name
-}
-
-func init() { file_money_record_proto_init() }
-func file_money_record_proto_init() {
- if File_money_record_proto != nil {
- return
- }
- if !protoimpl.UnsafeEnabled {
- file_money_record_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*MoneyRecordBase); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_money_record_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*MoneyRecordItem); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_money_record_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*MoneyRecordGroup); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_money_record_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*QueryMoneyRecordsParams); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_money_record_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*QueryMoneyRecordsResult); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- }
- type x struct{}
- out := protoimpl.TypeBuilder{
- File: protoimpl.DescBuilder{
- GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
- RawDescriptor: file_money_record_proto_rawDesc,
- NumEnums: 0,
- NumMessages: 5,
- NumExtensions: 0,
- NumServices: 1,
- },
- GoTypes: file_money_record_proto_goTypes,
- DependencyIndexes: file_money_record_proto_depIdxs,
- MessageInfos: file_money_record_proto_msgTypes,
- }.Build()
- File_money_record_proto = out.File
- file_money_record_proto_rawDesc = nil
- file_money_record_proto_goTypes = nil
- file_money_record_proto_depIdxs = nil
-}
diff --git a/code/base-project/base-go-v3/biz/model/money/money_record_types.pb.go b/code/base-project/base-go-v3/biz/model/money/money_record_types.pb.go
new file mode 100644
index 00000000..910a26b5
--- /dev/null
+++ b/code/base-project/base-go-v3/biz/model/money/money_record_types.pb.go
@@ -0,0 +1,998 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.28.0
+// protoc v4.25.3
+// source: money/money_record_types.proto
+
+package money
+
+import (
+ _ "cn/oneao/base-go/biz/model/api"
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// 单条记账记录
+type MoneyRecordItem struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Id int64 `protobuf:"varint,1,opt,name=Id,proto3" form:"id" json:"id"`
+ CategoryId int64 `protobuf:"varint,2,opt,name=CategoryId,proto3" form:"category_id" json:"category_id"`
+ UserId int64 `protobuf:"varint,3,opt,name=UserId,proto3" form:"user_id" json:"user_id"`
+ Amount string `protobuf:"bytes,4,opt,name=Amount,proto3" form:"amount" json:"amount"`
+ Remark string `protobuf:"bytes,5,opt,name=Remark,proto3" form:"remark" json:"remark"`
+ RecordTime string `protobuf:"bytes,6,opt,name=RecordTime,proto3" form:"record_time" json:"record_time"`
+ CreateTime string `protobuf:"bytes,7,opt,name=CreateTime,proto3" form:"create_time" json:"create_time"`
+ UpdateTime string `protobuf:"bytes,8,opt,name=UpdateTime,proto3" form:"update_time" json:"update_time"`
+}
+
+func (x *MoneyRecordItem) Reset() {
+ *x = MoneyRecordItem{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_money_money_record_types_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MoneyRecordItem) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MoneyRecordItem) ProtoMessage() {}
+
+func (x *MoneyRecordItem) ProtoReflect() protoreflect.Message {
+ mi := &file_money_money_record_types_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MoneyRecordItem.ProtoReflect.Descriptor instead.
+func (*MoneyRecordItem) Descriptor() ([]byte, []int) {
+ return file_money_money_record_types_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MoneyRecordItem) GetId() int64 {
+ if x != nil {
+ return x.Id
+ }
+ return 0
+}
+
+func (x *MoneyRecordItem) GetCategoryId() int64 {
+ if x != nil {
+ return x.CategoryId
+ }
+ return 0
+}
+
+func (x *MoneyRecordItem) GetUserId() int64 {
+ if x != nil {
+ return x.UserId
+ }
+ return 0
+}
+
+func (x *MoneyRecordItem) GetAmount() string {
+ if x != nil {
+ return x.Amount
+ }
+ return ""
+}
+
+func (x *MoneyRecordItem) GetRemark() string {
+ if x != nil {
+ return x.Remark
+ }
+ return ""
+}
+
+func (x *MoneyRecordItem) GetRecordTime() string {
+ if x != nil {
+ return x.RecordTime
+ }
+ return ""
+}
+
+func (x *MoneyRecordItem) GetCreateTime() string {
+ if x != nil {
+ return x.CreateTime
+ }
+ return ""
+}
+
+func (x *MoneyRecordItem) GetUpdateTime() string {
+ if x != nil {
+ return x.UpdateTime
+ }
+ return ""
+}
+
+// 同一天的记账记录分组
+type MoneyRecordGroup struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RecordTime string `protobuf:"bytes,1,opt,name=RecordTime,proto3" form:"record_time" json:"record_time"`
+ Expense string `protobuf:"bytes,2,opt,name=Expense,proto3" form:"expense" json:"expense"`
+ Income string `protobuf:"bytes,3,opt,name=Income,proto3" form:"income" json:"income"`
+ Records []*MoneyRecordItem `protobuf:"bytes,4,rep,name=Records,proto3" form:"records" json:"records"`
+}
+
+func (x *MoneyRecordGroup) Reset() {
+ *x = MoneyRecordGroup{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_money_money_record_types_proto_msgTypes[1]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MoneyRecordGroup) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MoneyRecordGroup) ProtoMessage() {}
+
+func (x *MoneyRecordGroup) ProtoReflect() protoreflect.Message {
+ mi := &file_money_money_record_types_proto_msgTypes[1]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MoneyRecordGroup.ProtoReflect.Descriptor instead.
+func (*MoneyRecordGroup) Descriptor() ([]byte, []int) {
+ return file_money_money_record_types_proto_rawDescGZIP(), []int{1}
+}
+
+func (x *MoneyRecordGroup) GetRecordTime() string {
+ if x != nil {
+ return x.RecordTime
+ }
+ return ""
+}
+
+func (x *MoneyRecordGroup) GetExpense() string {
+ if x != nil {
+ return x.Expense
+ }
+ return ""
+}
+
+func (x *MoneyRecordGroup) GetIncome() string {
+ if x != nil {
+ return x.Income
+ }
+ return ""
+}
+
+func (x *MoneyRecordGroup) GetRecords() []*MoneyRecordItem {
+ if x != nil {
+ return x.Records
+ }
+ return nil
+}
+
+// 查询记账记录请求参数
+type QueryMoneyRecordsParams struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RecordTime string `protobuf:"bytes,1,opt,name=RecordTime,proto3" form:"record_time" json:"record_time"`
+}
+
+func (x *QueryMoneyRecordsParams) Reset() {
+ *x = QueryMoneyRecordsParams{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_money_money_record_types_proto_msgTypes[2]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *QueryMoneyRecordsParams) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*QueryMoneyRecordsParams) ProtoMessage() {}
+
+func (x *QueryMoneyRecordsParams) ProtoReflect() protoreflect.Message {
+ mi := &file_money_money_record_types_proto_msgTypes[2]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use QueryMoneyRecordsParams.ProtoReflect.Descriptor instead.
+func (*QueryMoneyRecordsParams) Descriptor() ([]byte, []int) {
+ return file_money_money_record_types_proto_rawDescGZIP(), []int{2}
+}
+
+func (x *QueryMoneyRecordsParams) GetRecordTime() string {
+ if x != nil {
+ return x.RecordTime
+ }
+ return ""
+}
+
+// 查询记账记录结果
+type QueryMoneyRecordsResult struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Records []*MoneyRecordGroup `protobuf:"bytes,1,rep,name=Records,proto3" form:"records" json:"records"`
+ TotalIncome string `protobuf:"bytes,2,opt,name=TotalIncome,proto3" form:"total_income" json:"total_income"`
+ TotalExpense string `protobuf:"bytes,3,opt,name=TotalExpense,proto3" form:"total_expense" json:"total_expense"`
+}
+
+func (x *QueryMoneyRecordsResult) Reset() {
+ *x = QueryMoneyRecordsResult{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_money_money_record_types_proto_msgTypes[3]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *QueryMoneyRecordsResult) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*QueryMoneyRecordsResult) ProtoMessage() {}
+
+func (x *QueryMoneyRecordsResult) ProtoReflect() protoreflect.Message {
+ mi := &file_money_money_record_types_proto_msgTypes[3]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use QueryMoneyRecordsResult.ProtoReflect.Descriptor instead.
+func (*QueryMoneyRecordsResult) Descriptor() ([]byte, []int) {
+ return file_money_money_record_types_proto_rawDescGZIP(), []int{3}
+}
+
+func (x *QueryMoneyRecordsResult) GetRecords() []*MoneyRecordGroup {
+ if x != nil {
+ return x.Records
+ }
+ return nil
+}
+
+func (x *QueryMoneyRecordsResult) GetTotalIncome() string {
+ if x != nil {
+ return x.TotalIncome
+ }
+ return ""
+}
+
+func (x *QueryMoneyRecordsResult) GetTotalExpense() string {
+ if x != nil {
+ return x.TotalExpense
+ }
+ return ""
+}
+
+// 新增记账记录参数
+type InsertMoneyRecordParams struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CategoryId int64 `protobuf:"varint,1,opt,name=CategoryId,proto3" form:"category_id" json:"category_id" vd:"$!=''"`
+ Amount string `protobuf:"bytes,2,opt,name=Amount,proto3" form:"amount" json:"amount" vd:"$!='' && regexp('^\\d+(\\.\\d{1,2})?$', $)"`
+ Remark string `protobuf:"bytes,3,opt,name=Remark,proto3" form:"remark" json:"remark"`
+ RecordTime string `protobuf:"bytes,4,opt,name=RecordTime,proto3" form:"record_time" json:"record_time" vd:"$!='' && regexp('^\\d{4}-\\d{2}-\\d{2}$', $)"`
+}
+
+func (x *InsertMoneyRecordParams) Reset() {
+ *x = InsertMoneyRecordParams{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_money_money_record_types_proto_msgTypes[4]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *InsertMoneyRecordParams) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*InsertMoneyRecordParams) ProtoMessage() {}
+
+func (x *InsertMoneyRecordParams) ProtoReflect() protoreflect.Message {
+ mi := &file_money_money_record_types_proto_msgTypes[4]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use InsertMoneyRecordParams.ProtoReflect.Descriptor instead.
+func (*InsertMoneyRecordParams) Descriptor() ([]byte, []int) {
+ return file_money_money_record_types_proto_rawDescGZIP(), []int{4}
+}
+
+func (x *InsertMoneyRecordParams) GetCategoryId() int64 {
+ if x != nil {
+ return x.CategoryId
+ }
+ return 0
+}
+
+func (x *InsertMoneyRecordParams) GetAmount() string {
+ if x != nil {
+ return x.Amount
+ }
+ return ""
+}
+
+func (x *InsertMoneyRecordParams) GetRemark() string {
+ if x != nil {
+ return x.Remark
+ }
+ return ""
+}
+
+func (x *InsertMoneyRecordParams) GetRecordTime() string {
+ if x != nil {
+ return x.RecordTime
+ }
+ return ""
+}
+
+// 新增记账记录结果
+type InsertMoneyRecordResult struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Id int64 `protobuf:"varint,1,opt,name=Id,proto3" form:"id" json:"id"`
+ CategoryId int64 `protobuf:"varint,2,opt,name=CategoryId,proto3" form:"category_id" json:"category_id"`
+ UserId int64 `protobuf:"varint,3,opt,name=UserId,proto3" form:"user_id" json:"user_id"`
+ Amount string `protobuf:"bytes,4,opt,name=Amount,proto3" form:"amount" json:"amount"`
+ Remark string `protobuf:"bytes,5,opt,name=Remark,proto3" form:"remark" json:"remark"`
+ RecordTime string `protobuf:"bytes,6,opt,name=RecordTime,proto3" form:"record_time" json:"record_time"`
+ CreateTime string `protobuf:"bytes,7,opt,name=CreateTime,proto3" form:"create_time" json:"create_time"`
+ UpdateTime string `protobuf:"bytes,8,opt,name=UpdateTime,proto3" form:"update_time" json:"update_time"`
+}
+
+func (x *InsertMoneyRecordResult) Reset() {
+ *x = InsertMoneyRecordResult{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_money_money_record_types_proto_msgTypes[5]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *InsertMoneyRecordResult) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*InsertMoneyRecordResult) ProtoMessage() {}
+
+func (x *InsertMoneyRecordResult) ProtoReflect() protoreflect.Message {
+ mi := &file_money_money_record_types_proto_msgTypes[5]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use InsertMoneyRecordResult.ProtoReflect.Descriptor instead.
+func (*InsertMoneyRecordResult) Descriptor() ([]byte, []int) {
+ return file_money_money_record_types_proto_rawDescGZIP(), []int{5}
+}
+
+func (x *InsertMoneyRecordResult) GetId() int64 {
+ if x != nil {
+ return x.Id
+ }
+ return 0
+}
+
+func (x *InsertMoneyRecordResult) GetCategoryId() int64 {
+ if x != nil {
+ return x.CategoryId
+ }
+ return 0
+}
+
+func (x *InsertMoneyRecordResult) GetUserId() int64 {
+ if x != nil {
+ return x.UserId
+ }
+ return 0
+}
+
+func (x *InsertMoneyRecordResult) GetAmount() string {
+ if x != nil {
+ return x.Amount
+ }
+ return ""
+}
+
+func (x *InsertMoneyRecordResult) GetRemark() string {
+ if x != nil {
+ return x.Remark
+ }
+ return ""
+}
+
+func (x *InsertMoneyRecordResult) GetRecordTime() string {
+ if x != nil {
+ return x.RecordTime
+ }
+ return ""
+}
+
+func (x *InsertMoneyRecordResult) GetCreateTime() string {
+ if x != nil {
+ return x.CreateTime
+ }
+ return ""
+}
+
+func (x *InsertMoneyRecordResult) GetUpdateTime() string {
+ if x != nil {
+ return x.UpdateTime
+ }
+ return ""
+}
+
+// 更新记账记录
+type UpdateMoneyRecordParams struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Id int64 `protobuf:"varint,1,opt,name=Id,proto3" form:"id" json:"id" vd:"$!=0"`
+ CategoryId int64 `protobuf:"varint,2,opt,name=CategoryId,proto3" form:"category_id" json:"category_id"`
+ Amount string `protobuf:"bytes,3,opt,name=Amount,proto3" form:"amount" json:"amount"`
+ Remark string `protobuf:"bytes,4,opt,name=Remark,proto3" form:"remark" json:"remark"`
+ RecordTime string `protobuf:"bytes,5,opt,name=RecordTime,proto3" form:"record_time" json:"record_time"`
+}
+
+func (x *UpdateMoneyRecordParams) Reset() {
+ *x = UpdateMoneyRecordParams{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_money_money_record_types_proto_msgTypes[6]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *UpdateMoneyRecordParams) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*UpdateMoneyRecordParams) ProtoMessage() {}
+
+func (x *UpdateMoneyRecordParams) ProtoReflect() protoreflect.Message {
+ mi := &file_money_money_record_types_proto_msgTypes[6]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use UpdateMoneyRecordParams.ProtoReflect.Descriptor instead.
+func (*UpdateMoneyRecordParams) Descriptor() ([]byte, []int) {
+ return file_money_money_record_types_proto_rawDescGZIP(), []int{6}
+}
+
+func (x *UpdateMoneyRecordParams) GetId() int64 {
+ if x != nil {
+ return x.Id
+ }
+ return 0
+}
+
+func (x *UpdateMoneyRecordParams) GetCategoryId() int64 {
+ if x != nil {
+ return x.CategoryId
+ }
+ return 0
+}
+
+func (x *UpdateMoneyRecordParams) GetAmount() string {
+ if x != nil {
+ return x.Amount
+ }
+ return ""
+}
+
+func (x *UpdateMoneyRecordParams) GetRemark() string {
+ if x != nil {
+ return x.Remark
+ }
+ return ""
+}
+
+func (x *UpdateMoneyRecordParams) GetRecordTime() string {
+ if x != nil {
+ return x.RecordTime
+ }
+ return ""
+}
+
+type UpdateMoneyRecordResult struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *UpdateMoneyRecordResult) Reset() {
+ *x = UpdateMoneyRecordResult{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_money_money_record_types_proto_msgTypes[7]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *UpdateMoneyRecordResult) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*UpdateMoneyRecordResult) ProtoMessage() {}
+
+func (x *UpdateMoneyRecordResult) ProtoReflect() protoreflect.Message {
+ mi := &file_money_money_record_types_proto_msgTypes[7]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use UpdateMoneyRecordResult.ProtoReflect.Descriptor instead.
+func (*UpdateMoneyRecordResult) Descriptor() ([]byte, []int) {
+ return file_money_money_record_types_proto_rawDescGZIP(), []int{7}
+}
+
+// 删除记账记录
+type DeleteMoneyRecordParams struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Id int64 `protobuf:"varint,1,opt,name=Id,proto3" form:"id" json:"id" vd:"$!=0"`
+}
+
+func (x *DeleteMoneyRecordParams) Reset() {
+ *x = DeleteMoneyRecordParams{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_money_money_record_types_proto_msgTypes[8]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DeleteMoneyRecordParams) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DeleteMoneyRecordParams) ProtoMessage() {}
+
+func (x *DeleteMoneyRecordParams) ProtoReflect() protoreflect.Message {
+ mi := &file_money_money_record_types_proto_msgTypes[8]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DeleteMoneyRecordParams.ProtoReflect.Descriptor instead.
+func (*DeleteMoneyRecordParams) Descriptor() ([]byte, []int) {
+ return file_money_money_record_types_proto_rawDescGZIP(), []int{8}
+}
+
+func (x *DeleteMoneyRecordParams) GetId() int64 {
+ if x != nil {
+ return x.Id
+ }
+ return 0
+}
+
+type DeleteMoneyRecordResult struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *DeleteMoneyRecordResult) Reset() {
+ *x = DeleteMoneyRecordResult{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_money_money_record_types_proto_msgTypes[9]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DeleteMoneyRecordResult) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DeleteMoneyRecordResult) ProtoMessage() {}
+
+func (x *DeleteMoneyRecordResult) ProtoReflect() protoreflect.Message {
+ mi := &file_money_money_record_types_proto_msgTypes[9]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DeleteMoneyRecordResult.ProtoReflect.Descriptor instead.
+func (*DeleteMoneyRecordResult) Descriptor() ([]byte, []int) {
+ return file_money_money_record_types_proto_rawDescGZIP(), []int{9}
+}
+
+var File_money_money_record_types_proto protoreflect.FileDescriptor
+
+var file_money_money_record_types_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2f, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x5f, 0x72, 0x65,
+ 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x1a, 0x09, 0x61, 0x70, 0x69, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0xda, 0x02, 0x0a, 0x0f, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x65, 0x63, 0x6f,
+ 0x72, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x16, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x03, 0x42, 0x06, 0xca, 0xbb, 0x18, 0x02, 0x69, 0x64, 0x52, 0x02, 0x49, 0x64, 0x12, 0x2f,
+ 0x0a, 0x0a, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x03, 0x42, 0x0f, 0xca, 0xbb, 0x18, 0x0b, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79,
+ 0x5f, 0x69, 0x64, 0x52, 0x0a, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x12,
+ 0x23, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x42,
+ 0x0b, 0xca, 0xbb, 0x18, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x52, 0x06, 0x55, 0x73,
+ 0x65, 0x72, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x06, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04,
+ 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xca, 0xbb, 0x18, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74,
+ 0x52, 0x06, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x06, 0x52, 0x65, 0x6d, 0x61,
+ 0x72, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xca, 0xbb, 0x18, 0x06, 0x72, 0x65,
+ 0x6d, 0x61, 0x72, 0x6b, 0x52, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x2f, 0x0a, 0x0a,
+ 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09,
+ 0x42, 0x0f, 0xca, 0xbb, 0x18, 0x0b, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x74, 0x69, 0x6d,
+ 0x65, 0x52, 0x0a, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2f, 0x0a,
+ 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28,
+ 0x09, 0x42, 0x0f, 0xca, 0xbb, 0x18, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69,
+ 0x6d, 0x65, 0x52, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2f,
+ 0x0a, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01,
+ 0x28, 0x09, 0x42, 0x0f, 0xca, 0xbb, 0x18, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74,
+ 0x69, 0x6d, 0x65, 0x52, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22,
+ 0xcd, 0x01, 0x0a, 0x10, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x47,
+ 0x72, 0x6f, 0x75, 0x70, 0x12, 0x2f, 0x0a, 0x0a, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x54, 0x69,
+ 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0f, 0xca, 0xbb, 0x18, 0x0b, 0x72, 0x65,
+ 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x52, 0x0a, 0x52, 0x65, 0x63, 0x6f, 0x72,
+ 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x07, 0x45, 0x78, 0x70, 0x65, 0x6e, 0x73, 0x65,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xca, 0xbb, 0x18, 0x07, 0x65, 0x78, 0x70, 0x65,
+ 0x6e, 0x73, 0x65, 0x52, 0x07, 0x45, 0x78, 0x70, 0x65, 0x6e, 0x73, 0x65, 0x12, 0x22, 0x0a, 0x06,
+ 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xca, 0xbb,
+ 0x18, 0x06, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x52, 0x06, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65,
+ 0x12, 0x3d, 0x0a, 0x07, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x16, 0x2e, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2e, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52,
+ 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x42, 0x0b, 0xca, 0xbb, 0x18, 0x07, 0x72,
+ 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x07, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x22,
+ 0x4a, 0x0a, 0x17, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x65, 0x63,
+ 0x6f, 0x72, 0x64, 0x73, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x2f, 0x0a, 0x0a, 0x52, 0x65,
+ 0x63, 0x6f, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0f,
+ 0xca, 0xbb, 0x18, 0x0b, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x52,
+ 0x0a, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xc4, 0x01, 0x0a, 0x17,
+ 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64,
+ 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x3e, 0x0a, 0x07, 0x52, 0x65, 0x63, 0x6f, 0x72,
+ 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6d, 0x6f, 0x6e, 0x65, 0x79,
+ 0x2e, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x47, 0x72, 0x6f, 0x75,
+ 0x70, 0x42, 0x0b, 0xca, 0xbb, 0x18, 0x07, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x07,
+ 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x32, 0x0a, 0x0b, 0x54, 0x6f, 0x74, 0x61, 0x6c,
+ 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x10, 0xca, 0xbb,
+ 0x18, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x52, 0x0b,
+ 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x0c, 0x54,
+ 0x6f, 0x74, 0x61, 0x6c, 0x45, 0x78, 0x70, 0x65, 0x6e, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
+ 0x09, 0x42, 0x11, 0xca, 0xbb, 0x18, 0x0d, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x65, 0x78, 0x70,
+ 0x65, 0x6e, 0x73, 0x65, 0x52, 0x0c, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x45, 0x78, 0x70, 0x65, 0x6e,
+ 0x73, 0x65, 0x22, 0xa4, 0x02, 0x0a, 0x17, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x4d, 0x6f, 0x6e,
+ 0x65, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x38,
+ 0x0a, 0x0a, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x03, 0x42, 0x18, 0xca, 0xbb, 0x18, 0x0b, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79,
+ 0x5f, 0x69, 0x64, 0xda, 0xbb, 0x18, 0x05, 0x24, 0x21, 0x3d, 0x27, 0x27, 0x52, 0x0a, 0x43, 0x61,
+ 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x12, 0x4d, 0x0a, 0x06, 0x41, 0x6d, 0x6f, 0x75,
+ 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x35, 0xca, 0xbb, 0x18, 0x06, 0x61, 0x6d,
+ 0x6f, 0x75, 0x6e, 0x74, 0xda, 0xbb, 0x18, 0x27, 0x24, 0x21, 0x3d, 0x27, 0x27, 0x20, 0x26, 0x26,
+ 0x20, 0x72, 0x65, 0x67, 0x65, 0x78, 0x70, 0x28, 0x27, 0x5e, 0x5c, 0x64, 0x2b, 0x28, 0x5c, 0x2e,
+ 0x5c, 0x64, 0x7b, 0x31, 0x2c, 0x32, 0x7d, 0x29, 0x3f, 0x24, 0x27, 0x2c, 0x20, 0x24, 0x29, 0x52,
+ 0x06, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72,
+ 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xca, 0xbb, 0x18, 0x06, 0x72, 0x65, 0x6d,
+ 0x61, 0x72, 0x6b, 0x52, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x5c, 0x0a, 0x0a, 0x52,
+ 0x65, 0x63, 0x6f, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42,
+ 0x3c, 0xca, 0xbb, 0x18, 0x0b, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65,
+ 0xda, 0xbb, 0x18, 0x29, 0x24, 0x21, 0x3d, 0x27, 0x27, 0x20, 0x26, 0x26, 0x20, 0x72, 0x65, 0x67,
+ 0x65, 0x78, 0x70, 0x28, 0x27, 0x5e, 0x5c, 0x64, 0x7b, 0x34, 0x7d, 0x2d, 0x5c, 0x64, 0x7b, 0x32,
+ 0x7d, 0x2d, 0x5c, 0x64, 0x7b, 0x32, 0x7d, 0x24, 0x27, 0x2c, 0x20, 0x24, 0x29, 0x52, 0x0a, 0x52,
+ 0x65, 0x63, 0x6f, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xe2, 0x02, 0x0a, 0x17, 0x49, 0x6e,
+ 0x73, 0x65, 0x72, 0x74, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52,
+ 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x16, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x03, 0x42, 0x06, 0xca, 0xbb, 0x18, 0x02, 0x69, 0x64, 0x52, 0x02, 0x49, 0x64, 0x12, 0x2f, 0x0a,
+ 0x0a, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x03, 0x42, 0x0f, 0xca, 0xbb, 0x18, 0x0b, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f,
+ 0x69, 0x64, 0x52, 0x0a, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x12, 0x23,
+ 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x42, 0x0b,
+ 0xca, 0xbb, 0x18, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x52, 0x06, 0x55, 0x73, 0x65,
+ 0x72, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x06, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20,
+ 0x01, 0x28, 0x09, 0x42, 0x0a, 0xca, 0xbb, 0x18, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52,
+ 0x06, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72,
+ 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xca, 0xbb, 0x18, 0x06, 0x72, 0x65, 0x6d,
+ 0x61, 0x72, 0x6b, 0x52, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x2f, 0x0a, 0x0a, 0x52,
+ 0x65, 0x63, 0x6f, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42,
+ 0x0f, 0xca, 0xbb, 0x18, 0x0b, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65,
+ 0x52, 0x0a, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x0a,
+ 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09,
+ 0x42, 0x0f, 0xca, 0xbb, 0x18, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d,
+ 0x65, 0x52, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2f, 0x0a,
+ 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28,
+ 0x09, 0x42, 0x0f, 0xca, 0xbb, 0x18, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69,
+ 0x6d, 0x65, 0x52, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xe3,
+ 0x01, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x65,
+ 0x63, 0x6f, 0x72, 0x64, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x1e, 0x0a, 0x02, 0x49, 0x64,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x0e, 0xca, 0xbb, 0x18, 0x02, 0x69, 0x64, 0xda, 0xbb,
+ 0x18, 0x04, 0x24, 0x21, 0x3d, 0x30, 0x52, 0x02, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x0a, 0x43, 0x61,
+ 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x42, 0x0f,
+ 0xca, 0xbb, 0x18, 0x0b, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x52,
+ 0x0a, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x06, 0x41,
+ 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xca, 0xbb, 0x18,
+ 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x06, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12,
+ 0x22, 0x0a, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42,
+ 0x0a, 0xca, 0xbb, 0x18, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x52, 0x06, 0x52, 0x65, 0x6d,
+ 0x61, 0x72, 0x6b, 0x12, 0x2f, 0x0a, 0x0a, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x54, 0x69, 0x6d,
+ 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0f, 0xca, 0xbb, 0x18, 0x0b, 0x72, 0x65, 0x63,
+ 0x6f, 0x72, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x52, 0x0a, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64,
+ 0x54, 0x69, 0x6d, 0x65, 0x22, 0x19, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x6f,
+ 0x6e, 0x65, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22,
+ 0x39, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x65,
+ 0x63, 0x6f, 0x72, 0x64, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x1e, 0x0a, 0x02, 0x49, 0x64,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x0e, 0xca, 0xbb, 0x18, 0x02, 0x69, 0x64, 0xda, 0xbb,
+ 0x18, 0x04, 0x24, 0x21, 0x3d, 0x30, 0x52, 0x02, 0x49, 0x64, 0x22, 0x19, 0x0a, 0x17, 0x44, 0x65,
+ 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52,
+ 0x65, 0x73, 0x75, 0x6c, 0x74, 0x42, 0x22, 0x5a, 0x20, 0x63, 0x6e, 0x2f, 0x6f, 0x6e, 0x65, 0x61,
+ 0x6f, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2d, 0x67, 0x6f, 0x2f, 0x62, 0x69, 0x7a, 0x2f, 0x6d, 0x6f,
+ 0x64, 0x65, 0x6c, 0x2f, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_money_money_record_types_proto_rawDescOnce sync.Once
+ file_money_money_record_types_proto_rawDescData = file_money_money_record_types_proto_rawDesc
+)
+
+func file_money_money_record_types_proto_rawDescGZIP() []byte {
+ file_money_money_record_types_proto_rawDescOnce.Do(func() {
+ file_money_money_record_types_proto_rawDescData = protoimpl.X.CompressGZIP(file_money_money_record_types_proto_rawDescData)
+ })
+ return file_money_money_record_types_proto_rawDescData
+}
+
+var file_money_money_record_types_proto_msgTypes = make([]protoimpl.MessageInfo, 10)
+var file_money_money_record_types_proto_goTypes = []interface{}{
+ (*MoneyRecordItem)(nil), // 0: money.MoneyRecordItem
+ (*MoneyRecordGroup)(nil), // 1: money.MoneyRecordGroup
+ (*QueryMoneyRecordsParams)(nil), // 2: money.QueryMoneyRecordsParams
+ (*QueryMoneyRecordsResult)(nil), // 3: money.QueryMoneyRecordsResult
+ (*InsertMoneyRecordParams)(nil), // 4: money.InsertMoneyRecordParams
+ (*InsertMoneyRecordResult)(nil), // 5: money.InsertMoneyRecordResult
+ (*UpdateMoneyRecordParams)(nil), // 6: money.UpdateMoneyRecordParams
+ (*UpdateMoneyRecordResult)(nil), // 7: money.UpdateMoneyRecordResult
+ (*DeleteMoneyRecordParams)(nil), // 8: money.DeleteMoneyRecordParams
+ (*DeleteMoneyRecordResult)(nil), // 9: money.DeleteMoneyRecordResult
+}
+var file_money_money_record_types_proto_depIdxs = []int32{
+ 0, // 0: money.MoneyRecordGroup.Records:type_name -> money.MoneyRecordItem
+ 1, // 1: money.QueryMoneyRecordsResult.Records:type_name -> money.MoneyRecordGroup
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_money_money_record_types_proto_init() }
+func file_money_money_record_types_proto_init() {
+ if File_money_money_record_types_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_money_money_record_types_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MoneyRecordItem); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_money_money_record_types_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MoneyRecordGroup); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_money_money_record_types_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*QueryMoneyRecordsParams); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_money_money_record_types_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*QueryMoneyRecordsResult); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_money_money_record_types_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*InsertMoneyRecordParams); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_money_money_record_types_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*InsertMoneyRecordResult); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_money_money_record_types_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*UpdateMoneyRecordParams); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_money_money_record_types_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*UpdateMoneyRecordResult); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_money_money_record_types_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DeleteMoneyRecordParams); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_money_money_record_types_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DeleteMoneyRecordResult); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_money_money_record_types_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 10,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_money_money_record_types_proto_goTypes,
+ DependencyIndexes: file_money_money_record_types_proto_depIdxs,
+ MessageInfos: file_money_money_record_types_proto_msgTypes,
+ }.Build()
+ File_money_money_record_types_proto = out.File
+ file_money_money_record_types_proto_rawDesc = nil
+ file_money_money_record_types_proto_goTypes = nil
+ file_money_money_record_types_proto_depIdxs = nil
+}
diff --git a/code/base-project/base-go-v3/biz/router/auth/auth.go b/code/base-project/base-go-v3/biz/router/auth/auth.go
index 9b2f69e6..e5af0e0d 100644
--- a/code/base-project/base-go-v3/biz/router/auth/auth.go
+++ b/code/base-project/base-go-v3/biz/router/auth/auth.go
@@ -19,11 +19,14 @@ func Register(r *server.Hertz) {
root := r.Group("/", rootMw()...)
{
_auth := root.Group("/auth", _authMw()...)
- _auth.POST("/refreshToken", append(_refreshaccesstokenMw(), auth.RefreshAccessToken)...)
{
_login := _auth.Group("/login", _loginMw()...)
_login.POST("/default", append(_logindefaultMw(), auth.LoginDefault)...)
}
+ {
+ _refresh := _auth.Group("/refresh", _refreshMw()...)
+ _refresh.GET("/token", append(_refreshaccesstokenMw(), auth.RefreshAccessToken)...)
+ }
{
_register := _auth.Group("/register", _registerMw()...)
_register.POST("/default", append(_registerdefaultMw(), auth.RegisterDefault)...)
diff --git a/code/base-project/base-go-v3/biz/router/auth/middleware.go b/code/base-project/base-go-v3/biz/router/auth/middleware.go
index 7a48efbb..acfd187a 100644
--- a/code/base-project/base-go-v3/biz/router/auth/middleware.go
+++ b/code/base-project/base-go-v3/biz/router/auth/middleware.go
@@ -40,3 +40,8 @@ func _refreshaccesstokenMw() []app.HandlerFunc {
// your code...
return nil
}
+
+func _refreshMw() []app.HandlerFunc {
+ // your code...
+ return nil
+}
diff --git a/code/base-project/base-go-v3/biz/router/middleware/auth.go b/code/base-project/base-go-v3/biz/router/middleware/auth.go
index dc8e5eff..f0125893 100644
--- a/code/base-project/base-go-v3/biz/router/middleware/auth.go
+++ b/code/base-project/base-go-v3/biz/router/middleware/auth.go
@@ -5,7 +5,6 @@ import (
"cn/oneao/base-go/utils/pathx"
"cn/oneao/base-go/utils/response"
"context"
-
"github.com/cloudwego/hertz/pkg/app"
)
@@ -18,7 +17,7 @@ func Auth() app.HandlerFunc {
whitelistPaths := []string{
"/auth/login",
"/auth/register",
- "/auth/refreshToken",
+ "/auth/refresh/token",
}
return func(ctx context.Context, c *app.RequestContext) {
diff --git a/code/base-project/base-go-v3/biz/router/money/money_category.go b/code/base-project/base-go-v3/biz/router/money/index.go
similarity index 70%
rename from code/base-project/base-go-v3/biz/router/money/money_category.go
rename to code/base-project/base-go-v3/biz/router/money/index.go
index 3c6bc58b..2c71d045 100644
--- a/code/base-project/base-go-v3/biz/router/money/money_category.go
+++ b/code/base-project/base-go-v3/biz/router/money/index.go
@@ -23,5 +23,12 @@ func Register(r *server.Hertz) {
_category := _money.Group("/category", _categoryMw()...)
_category.POST("/delete", append(_deleteusermoneycategoryMw(), money.DeleteUserMoneyCategory)...)
_category.POST("/updateSort", append(_updatemoneycategorysortMw(), money.UpdateMoneyCategorySort)...)
+ {
+ _record := _money.Group("/record", _recordMw()...)
+ _record.POST("/delete", append(_deletemoneyrecordMw(), money.DeleteMoneyRecord)...)
+ _record.POST("/insert", append(_insertmoneyrecordMw(), money.InsertMoneyRecord)...)
+ _record.POST("/query", append(_querymoneyrecordMw(), money.QueryMoneyRecord)...)
+ _record.POST("/update", append(_updatemoneyrecordMw(), money.UpdateMoneyRecord)...)
+ }
}
}
diff --git a/code/base-project/base-go-v3/biz/router/money/middleware.go b/code/base-project/base-go-v3/biz/router/money/middleware.go
index 6f418ebd..880470b7 100644
--- a/code/base-project/base-go-v3/biz/router/money/middleware.go
+++ b/code/base-project/base-go-v3/biz/router/money/middleware.go
@@ -40,3 +40,23 @@ func _querymoneyrecordMw() []app.HandlerFunc {
// your code...
return nil
}
+
+func _recordMw() []app.HandlerFunc {
+ // your code...
+ return nil
+}
+
+func _insertmoneyrecordMw() []app.HandlerFunc {
+ // your code...
+ return nil
+}
+
+func _updatemoneyrecordMw() []app.HandlerFunc {
+ // your code...
+ return nil
+}
+
+func _deletemoneyrecordMw() []app.HandlerFunc {
+ // your code...
+ return nil
+}
diff --git a/code/base-project/base-go-v3/biz/router/money/money_record.go b/code/base-project/base-go-v3/biz/router/money/money_record.go
deleted file mode 100644
index ed3b3935..00000000
--- a/code/base-project/base-go-v3/biz/router/money/money_record.go
+++ /dev/null
@@ -1,24 +0,0 @@
-// Code generated by hertz generator. DO NOT EDIT.
-
-package money
-
-import (
- money "cn/oneao/base-go/biz/handler/money"
- "github.com/cloudwego/hertz/pkg/app/server"
-)
-
-/*
- This file will register all the routes of the services in the master idl.
- And it will update automatically when you use the "update" command for the idl.
- So don't modify the contents of the file, or your code will be deleted when it is updated.
-*/
-
-// Register register routes based on the IDL 'api.${HTTP Method}' annotation.
-func Register(r *server.Hertz) {
-
- root := r.Group("/", rootMw()...)
- {
- _money := root.Group("/money", _moneyMw()...)
- _money.POST("/record", append(_querymoneyrecordMw(), money.QueryMoneyRecord)...)
- }
-}
diff --git a/code/base-project/base-go-v3/biz/router/register.go b/code/base-project/base-go-v3/biz/router/register.go
index daffd616..809cc0dc 100644
--- a/code/base-project/base-go-v3/biz/router/register.go
+++ b/code/base-project/base-go-v3/biz/router/register.go
@@ -5,16 +5,12 @@ package router
import (
auth "cn/oneao/base-go/biz/router/auth"
money "cn/oneao/base-go/biz/router/money"
- record "cn/oneao/base-go/biz/router/record"
"github.com/cloudwego/hertz/pkg/app/server"
)
// GeneratedRegister registers routers generated by IDL.
func GeneratedRegister(r *server.Hertz) {
//INSERT_POINT: DO NOT DELETE THIS LINE!
- record.Register(r)
-
- money.Register(r)
-
auth.Register(r)
+ money.Register(r)
}
diff --git a/code/base-project/base-go-v3/db/queries/money_record.sql b/code/base-project/base-go-v3/db/queries/money_record.sql
index 9629b335..64b5eb7a 100644
--- a/code/base-project/base-go-v3/db/queries/money_record.sql
+++ b/code/base-project/base-go-v3/db/queries/money_record.sql
@@ -9,3 +9,33 @@ FROM money_record mr
WHERE mr.user_id = $1
AND mr.record_time BETWEEN $2 AND $3
ORDER BY mr.record_time DESC, mr.create_time DESC;
+
+-- name: InsertMoneyRecord :one
+INSERT INTO money_record (
+ id,
+ category_id,
+ user_id,
+ amount,
+ remark,
+ record_time
+) VALUES (
+ $1, $2, $3, $4, $5,$6
+ )
+RETURNING *;
+
+-- name: GetMoneyRecordById :one
+SELECT * FROM money_record WHERE id = $1;
+
+-- name: UpdateMoneyRecord :exec
+UPDATE money_record
+SET
+ category_id = $2,
+ amount = $3,
+ remark = $4,
+ record_time = $5,
+ update_time = NOW()
+WHERE id = $1
+RETURNING *;
+
+-- name: DeleteMoneyRecord :exec
+DELETE FROM money_record WHERE id = $1;
\ No newline at end of file
diff --git a/code/base-project/base-go-v3/db/repo/money_record.sql.go b/code/base-project/base-go-v3/db/repo/money_record.sql.go
index 31ee2899..466116a8 100644
--- a/code/base-project/base-go-v3/db/repo/money_record.sql.go
+++ b/code/base-project/base-go-v3/db/repo/money_record.sql.go
@@ -11,6 +11,15 @@ import (
"github.com/jackc/pgx/v5/pgtype"
)
+const deleteMoneyRecord = `-- name: DeleteMoneyRecord :exec
+DELETE FROM money_record WHERE id = $1
+`
+
+func (q *Queries) DeleteMoneyRecord(ctx context.Context, id int64) error {
+ _, err := q.db.Exec(ctx, deleteMoneyRecord, id)
+ return err
+}
+
const findUserMoneyRecords = `-- name: FindUserMoneyRecords :many
SELECT
mr.id, mr.category_id, mr.user_id, mr.amount, mr.remark, mr.record_time, mr.create_time, mr.update_time,
@@ -75,3 +84,100 @@ func (q *Queries) FindUserMoneyRecords(ctx context.Context, arg FindUserMoneyRec
}
return items, nil
}
+
+const getMoneyRecordById = `-- name: GetMoneyRecordById :one
+SELECT id, category_id, user_id, amount, remark, record_time, create_time, update_time FROM money_record WHERE id = $1
+`
+
+func (q *Queries) GetMoneyRecordById(ctx context.Context, id int64) (MoneyRecord, error) {
+ row := q.db.QueryRow(ctx, getMoneyRecordById, id)
+ var i MoneyRecord
+ err := row.Scan(
+ &i.ID,
+ &i.CategoryID,
+ &i.UserID,
+ &i.Amount,
+ &i.Remark,
+ &i.RecordTime,
+ &i.CreateTime,
+ &i.UpdateTime,
+ )
+ return i, err
+}
+
+const insertMoneyRecord = `-- name: InsertMoneyRecord :one
+INSERT INTO money_record (
+ id,
+ category_id,
+ user_id,
+ amount,
+ remark,
+ record_time
+) VALUES (
+ $1, $2, $3, $4, $5,$6
+ )
+RETURNING id, category_id, user_id, amount, remark, record_time, create_time, update_time
+`
+
+type InsertMoneyRecordParams struct {
+ ID int64
+ CategoryID int64
+ UserID int64
+ Amount pgtype.Numeric
+ Remark pgtype.Text
+ RecordTime pgtype.Timestamp
+}
+
+func (q *Queries) InsertMoneyRecord(ctx context.Context, arg InsertMoneyRecordParams) (MoneyRecord, error) {
+ row := q.db.QueryRow(ctx, insertMoneyRecord,
+ arg.ID,
+ arg.CategoryID,
+ arg.UserID,
+ arg.Amount,
+ arg.Remark,
+ arg.RecordTime,
+ )
+ var i MoneyRecord
+ err := row.Scan(
+ &i.ID,
+ &i.CategoryID,
+ &i.UserID,
+ &i.Amount,
+ &i.Remark,
+ &i.RecordTime,
+ &i.CreateTime,
+ &i.UpdateTime,
+ )
+ return i, err
+}
+
+const updateMoneyRecord = `-- name: UpdateMoneyRecord :exec
+UPDATE money_record
+SET
+ category_id = $2,
+ amount = $3,
+ remark = $4,
+ record_time = $5,
+ update_time = NOW()
+WHERE id = $1
+RETURNING id, category_id, user_id, amount, remark, record_time, create_time, update_time
+`
+
+type UpdateMoneyRecordParams struct {
+ ID int64
+ CategoryID int64
+ Amount pgtype.Numeric
+ Remark pgtype.Text
+ RecordTime pgtype.Timestamp
+}
+
+func (q *Queries) UpdateMoneyRecord(ctx context.Context, arg UpdateMoneyRecordParams) error {
+ _, err := q.db.Exec(ctx, updateMoneyRecord,
+ arg.ID,
+ arg.CategoryID,
+ arg.Amount,
+ arg.Remark,
+ arg.RecordTime,
+ )
+ return err
+}
diff --git a/code/base-project/base-go-v3/db/schema.sql b/code/base-project/base-go-v3/db/schema.sql
index 1d4b90b9..315567f1 100644
--- a/code/base-project/base-go-v3/db/schema.sql
+++ b/code/base-project/base-go-v3/db/schema.sql
@@ -39,4 +39,10 @@ CREATE TABLE money_user_category(
type INT NOT NULL DEFAULT 0,
sort_number INT NOT NULL DEFAULT 0,
create_time timestamp DEFAULT CURRENT_TIMESTAMP
+);
+
+CREATE TABLE share_space(
+ id BIGINT PRIMARY KEY,
+ name VARCHAR(100) NOT NULL
)
+
diff --git a/code/base-project/base-go-v3/idl/auth.proto b/code/base-project/base-go-v3/idl/auth.proto
index 45f7f678..4b61af07 100644
--- a/code/base-project/base-go-v3/idl/auth.proto
+++ b/code/base-project/base-go-v3/idl/auth.proto
@@ -6,50 +6,56 @@ option go_package = "auth";
import "api.proto";
+// 登录请求
message LoginDefaultReq {
- string Account = 1[(api.body)="account",(api.vd)="$!=''"];
- string Password = 2[(api.body)="password",(api.vd)="$!=''"];
+ string Account = 1 [(api.body)="account", (api.vd)="$!=''"];
+ string Password = 2 [(api.body)="password", (api.vd)="$!=''"];
}
+// 登录响应
message LoginDefaultResp {
- string token = 1;
- string refreshToken = 2;
- int64 userId = 3;
- string username = 4;
- int32 seqNo = 5;
- int32 gender = 6;
+ string Token = 1 [(api.body)="token"];
+ string RefreshToken = 2 [(api.body)="refreshToken"];
+ int64 UserId = 3 [(api.body)="userId"];
+ string Username = 4 [(api.body)="username"];
+ int32 SeqNo = 5 [(api.body)="seqNo"];
+ int32 Gender = 6 [(api.body)="gender"];
}
+// 注册请求
message RegisterDefaultReq {
- string Account = 1[(api.body)="account",(api.vd)="$!=''"];
- string Password = 2[(api.body)="password",(api.vd)="$!=''"];
+ string Account = 1 [(api.body)="account", (api.vd)="$!=''"];
+ string Password = 2 [(api.body)="password", (api.vd)="$!=''"];
}
-message RegisterDefaultResp {
+// 注册响应
+message RegisterDefaultResp {}
-}
-
-message RefreshAccessTokenReq {
-}
+// 刷新 access token 请求
+message RefreshAccessTokenReq {}
+// 刷新 access token 响应
message RefreshAccessTokenResp {
- string accessToken = 1;
+ string AccessToken = 1 [(api.body)="accessToken"];
}
+// 登录服务
service LoginService {
rpc LoginDefault(LoginDefaultReq) returns(LoginDefaultResp) {
option (api.post) = "/auth/login/default";
}
}
+// 注册服务
service RegisterService {
rpc RegisterDefault(RegisterDefaultReq) returns(RegisterDefaultResp) {
option (api.post) = "/auth/register/default";
}
}
+// token 服务
service TokenService {
rpc RefreshAccessToken(RefreshAccessTokenReq) returns(RefreshAccessTokenResp) {
- option (api.post) = "/auth/refreshToken";
+ option (api.get) = "/auth/refresh/token";
}
-}
\ No newline at end of file
+}
diff --git a/code/base-project/base-go-v3/idl/money/index.proto b/code/base-project/base-go-v3/idl/money/index.proto
new file mode 100644
index 00000000..7f844180
--- /dev/null
+++ b/code/base-project/base-go-v3/idl/money/index.proto
@@ -0,0 +1,36 @@
+syntax = "proto3";
+
+package money;
+
+option go_package = "money";
+
+import "api.proto";
+import "money/money_category_types.proto";
+import "money/money_record_types.proto";
+
+service MoneyCategoryService {
+ rpc QueryUserMoneyCategory(QueryMoneyCategoryReq) returns (QueryMoneyCategoryResp){
+ option (api.get) = '/money/category';
+ };
+ rpc DeleteUserMoneyCategory(DeleteMoneyCategoryReq) returns (DeleteMoneyCategoryResp){
+ option (api.post) = '/money/category/delete';
+ };
+ rpc UpdateMoneyCategorySort(UpdateMoneyCategorySortReq) returns (UpdateMoneyCategorySortResp){
+ option (api.post) = '/money/category/updateSort';
+ };
+}
+
+service MoneyRecordService {
+ rpc QueryMoneyRecord(QueryMoneyRecordsParams) returns (QueryMoneyRecordsResult){
+ option (api.post) = '/money/record/query';
+ }
+ rpc InsertMoneyRecord(InsertMoneyRecordParams) returns (InsertMoneyRecordResult){
+ option (api.post) = '/money/record/insert';
+ }
+ rpc UpdateMoneyRecord(UpdateMoneyRecordParams) returns (UpdateMoneyRecordResult){
+ option (api.post) = '/money/record/update';
+ }
+ rpc DeleteMoneyRecord(DeleteMoneyRecordParams) returns (DeleteMoneyRecordResult){
+ option (api.post) = '/money/record/delete';
+ }
+}
diff --git a/code/base-project/base-go-v3/idl/money/money_category_types.proto b/code/base-project/base-go-v3/idl/money/money_category_types.proto
new file mode 100644
index 00000000..bf64e3b8
--- /dev/null
+++ b/code/base-project/base-go-v3/idl/money/money_category_types.proto
@@ -0,0 +1,45 @@
+syntax = "proto3";
+
+import "api.proto";
+package money;
+
+option go_package = "money";
+
+// 记账分类
+message MoneyCategory {
+ int64 Id = 1 [(api.body)="id"];
+ string Name = 2 [(api.body)="name"];
+ string Icon = 3 [(api.body)="icon"];
+ int32 Type = 4 [(api.body)="type"];
+ int32 SortNumber = 5 [(api.body)="sort_number"];
+}
+
+// 查询记账分类请求
+message QueryMoneyCategoryReq {}
+
+// 查询记账分类响应
+message QueryMoneyCategoryResp {
+ repeated MoneyCategory Categories = 1 [(api.body)="categories"];
+}
+
+// 删除记账分类请求
+message DeleteMoneyCategoryReq {
+ int64 Id = 1 [(api.body)="id", (api.vd)="$ != 0"];
+}
+
+// 删除记账分类响应
+message DeleteMoneyCategoryResp {}
+
+// 修改分类排序项
+message MoneyCategorySortItem {
+ int64 Id = 1 [(api.body)="id"];
+ int32 SortNumber = 2 [(api.body)="sort_number"];
+}
+
+// 修改分类排序请求
+message UpdateMoneyCategorySortReq {
+ repeated MoneyCategorySortItem Data = 1 [(api.body)="data"];
+}
+
+// 修改分类排序响应
+message UpdateMoneyCategorySortResp {}
diff --git a/code/base-project/base-go-v3/idl/money/money_record_types.proto b/code/base-project/base-go-v3/idl/money/money_record_types.proto
new file mode 100644
index 00000000..c4c8ed73
--- /dev/null
+++ b/code/base-project/base-go-v3/idl/money/money_record_types.proto
@@ -0,0 +1,89 @@
+syntax = "proto3";
+package money;
+
+option go_package = "money";
+
+import "api.proto";
+
+
+// 单条记账记录
+message MoneyRecordItem {
+ int64 Id = 1 [(api.body)="id"];
+ int64 CategoryId = 2 [(api.body)="category_id"];
+ int64 UserId = 3 [(api.body)="user_id"];
+ string Amount = 4 [(api.body)="amount"];
+ string Remark = 5 [(api.body)="remark"];
+ string RecordTime = 6 [(api.body)="record_time"];
+ string CreateTime = 7 [(api.body)="create_time"];
+ string UpdateTime = 8 [(api.body)="update_time"];
+}
+
+// 同一天的记账记录分组
+message MoneyRecordGroup {
+ string RecordTime = 1 [(api.body)="record_time"];
+
+ string Expense = 2 [(api.body)="expense"];
+ string Income = 3 [(api.body)="income"];
+
+ repeated MoneyRecordItem Records = 4 [(api.body)="records"];
+}
+
+// 查询记账记录请求参数
+message QueryMoneyRecordsParams {
+ string RecordTime = 1 [(api.body)="record_time"];
+}
+
+// 查询记账记录结果
+message QueryMoneyRecordsResult {
+ repeated MoneyRecordGroup Records = 1 [(api.body)="records"];
+
+ string TotalIncome = 2 [(api.body)="total_income"];
+ string TotalExpense = 3 [(api.body)="total_expense"];
+}
+
+// 新增记账记录参数
+message InsertMoneyRecordParams {
+ int64 CategoryId = 1 [(api.body)="category_id",(api.vd)="$!=''"];
+ string Amount = 2 [
+ (api.body)="amount",
+ (api.vd)="$!='' && regexp('^\\d+(\\.\\d{1,2})?$', $)"
+ ];
+ string Remark = 3 [(api.body)="remark"];
+ string RecordTime = 4 [
+ (api.body)="record_time",
+ (api.vd)="$!='' && regexp('^\\d{4}-\\d{2}-\\d{2}$', $)"
+ ];
+}
+
+// 新增记账记录结果
+message InsertMoneyRecordResult {
+ int64 Id = 1 [(api.body)="id"];
+ int64 CategoryId = 2 [(api.body)="category_id"];
+ int64 UserId = 3 [(api.body)="user_id"];
+ string Amount = 4 [(api.body)="amount"];
+ string Remark = 5 [(api.body)="remark"];
+ string RecordTime = 6 [(api.body)="record_time"];
+ string CreateTime = 7 [(api.body)="create_time"];
+ string UpdateTime = 8 [(api.body)="update_time"];
+}
+
+// 更新记账记录
+message UpdateMoneyRecordParams {
+ int64 Id = 1 [(api.body)="id",(api.vd)="$!=0"];
+ int64 CategoryId = 2 [(api.body)="category_id"];
+ string Amount = 3 [(api.body)="amount"];
+ string Remark = 4 [(api.body)="remark"];
+ string RecordTime = 5 [(api.body)="record_time"];
+}
+
+message UpdateMoneyRecordResult {
+
+}
+
+// 删除记账记录
+message DeleteMoneyRecordParams{
+ int64 Id = 1 [(api.body)="id",(api.vd)="$!=0"];
+}
+message DeleteMoneyRecordResult {
+
+}
diff --git a/code/base-project/base-go-v3/idl/money_category.proto b/code/base-project/base-go-v3/idl/money_category.proto
deleted file mode 100644
index 0c41fe51..00000000
--- a/code/base-project/base-go-v3/idl/money_category.proto
+++ /dev/null
@@ -1,53 +0,0 @@
-syntax = "proto3";
-
-
-package money;
-
-option go_package = "money";
-
-import "api.proto";
-
-
-message QueryMoneyCategoryReq{}
-message MoneyCategory {
- int64 id = 1;
- string name = 2;
- string icon = 3;
- int32 type = 4;
- int32 sort_number = 5;
-}
-
-message QueryMoneyCategoryResp {
- repeated MoneyCategory categories = 1;
-}
-
-message DeleteMoneyCategoryReq{
- int64 Id = 1[(api.body)="id",(api.vd)="$ != 0"];
-}
-
-message DeleteMoneyCategoryResp {
-}
-
-message MoneyCategorySortItem {
- int64 id = 1;
- int32 sort_number = 2;
-}
-
-message UpdateMoneyCategorySortReq {
- repeated MoneyCategorySortItem data = 1;
-}
-
-message UpdateMoneyCategorySortResp {}
-
-service MoneyCategoryService {
- rpc QueryUserMoneyCategory(QueryMoneyCategoryReq) returns (QueryMoneyCategoryResp){
- option (api.get) = '/money/category';
- };
- rpc DeleteUserMoneyCategory(DeleteMoneyCategoryReq) returns (DeleteMoneyCategoryResp){
- option (api.post) = '/money/category/delete';
- };
- rpc UpdateMoneyCategorySort(UpdateMoneyCategorySortReq) returns (UpdateMoneyCategorySortResp){
- option (api.post) = '/money/category/updateSort';
- };
-}
-
diff --git a/code/base-project/base-go-v3/idl/money_record.proto b/code/base-project/base-go-v3/idl/money_record.proto
deleted file mode 100644
index 70af3ef3..00000000
--- a/code/base-project/base-go-v3/idl/money_record.proto
+++ /dev/null
@@ -1,53 +0,0 @@
-syntax = "proto3";
-
-package money;
-
-option go_package = "money";
-
-import "api.proto";
-import "google/protobuf/timestamp.proto";
-
-message MoneyRecordBase {
- int64 id = 1;
- int64 category_id = 2;
- int64 user_id = 3;
- string amount = 4;
- string remark = 5;
- google.protobuf.Timestamp record_time = 6;
- google.protobuf.Timestamp create_time = 7;
- google.protobuf.Timestamp update_time = 8;
-}
-
-message MoneyRecordItem {
- MoneyRecordBase base = 1;
-
- string category_name = 2;
- string category_icon = 3;
- int32 category_type = 4;
-}
-
-message MoneyRecordGroup {
- string record_time = 1;
-
- string expense = 2;
- string income = 3;
-
- repeated MoneyRecordItem records = 4;
-}
-
-message QueryMoneyRecordsParams {
- string record_time = 1;
-}
-message QueryMoneyRecordsResult {
- repeated MoneyRecordGroup records = 1;
-
- string total_income = 2;
- string total_expense = 3;
-}
-
-service MoneyRecordService {
- rpc QueryMoneyRecord(QueryMoneyRecordsParams) returns (QueryMoneyRecordsResult){
- option (api.post) = '/money/record';
- }
-}
-
diff --git a/code/base-project/base-go-v3/utils/pgtypex/pgtypex.go b/code/base-project/base-go-v3/utils/pgtypex/pgtypex.go
new file mode 100644
index 00000000..c06f5d74
--- /dev/null
+++ b/code/base-project/base-go-v3/utils/pgtypex/pgtypex.go
@@ -0,0 +1,106 @@
+package pgtypex
+
+import (
+ "github.com/jackc/pgx/v5/pgtype"
+ "github.com/shopspring/decimal"
+ "strings"
+ "time"
+)
+
+func NumericToString(n pgtype.Numeric) string {
+ if n.Int == nil || n.NaN {
+ return "0.00"
+ }
+
+ // 转成 decimal 保证精度
+ dec := decimal.NewFromBigInt(n.Int, int32(n.Exp))
+ return dec.StringFixed(2) // 保留两位小数
+}
+func NumericToDecimal(n pgtype.Numeric) decimal.Decimal {
+ if n.Int == nil || n.NaN {
+ return decimal.Zero
+ }
+ return decimal.NewFromBigInt(n.Int, int32(n.Exp))
+}
+
+// TimestampToDateString 转为 "YYYY-MM-DD"
+func TimestampToDateString(ts pgtype.Timestamp) string {
+ if ts.Time.IsZero() {
+ return ""
+ }
+ return ts.Time.Format("2006-01-02")
+}
+
+// TimestampToDateTimeString 转为 "YYYY-MM-DD HH:MM:SS"
+func TimestampToDateTimeString(ts pgtype.Timestamp) string {
+ if ts.Time.IsZero() {
+ return ""
+ }
+ return ts.Time.Format("2006-01-02 15:04:05")
+}
+
+// StringToNumeric 将字符串金额转换为 pgtype.Numeric
+func StringToNumeric(amountStr string) pgtype.Numeric {
+ if strings.TrimSpace(amountStr) == "" {
+ return pgtype.Numeric{Valid: false}
+ }
+
+ dec, err := decimal.NewFromString(amountStr)
+ if err != nil {
+ return pgtype.Numeric{Valid: false}
+ }
+
+ // 保留两位小数,四舍五入
+ dec = dec.Round(2)
+
+ // 乘以 100 转整数
+ intVal := dec.Mul(decimal.NewFromInt(100)).BigInt()
+
+ return pgtype.Numeric{
+ Int: intVal,
+ Exp: -2, // 固定两位小数
+ NaN: false,
+ Valid: true,
+ }
+}
+
+// StringToText 将字符串转换为 pgtype.Text
+// 空字符串返回零值 Text
+func StringToText(s string) pgtype.Text {
+ if s == "" {
+ return pgtype.Text{Valid: false}
+ }
+ return pgtype.Text{
+ String: s,
+ Valid: true,
+ }
+}
+
+// StringToTimestamp 将字符串解析为 pgtype.Timestamp
+// 支持格式:YYYY-MM-DD HH:MM:SS 或 YYYY-MM-DD
+// 解析失败或空字符串返回零值 Timestamp
+func StringToTimestamp(s string) pgtype.Timestamp {
+ if s == "" {
+ return pgtype.Timestamp{Valid: false}
+ }
+
+ var t time.Time
+ var err error
+
+ layouts := []string{
+ "2006-01-02 15:04:05",
+ "2006-01-02",
+ }
+
+ for _, layout := range layouts {
+ t, err = time.Parse(layout, s)
+ if err == nil {
+ return pgtype.Timestamp{
+ Time: t,
+ Valid: true,
+ }
+ }
+ }
+
+ return pgtype.Timestamp{Valid: false}
+}