From e3bbdfb5d4936ef5e0b0cf53419375078554d137 Mon Sep 17 00:00:00 2001 From: yumoqing Date: Sat, 30 Nov 2024 17:18:28 +0800 Subject: [PATCH] bugfix --- models/agreedetailstep.xlsx | Bin 16655 -> 16604 bytes models/agreement.xlsx | Bin 18432 -> 18807 bytes models/agreeproduct.xlsx | Bin 16654 -> 16633 bytes models/mysql.ddl.sql | 396 ++++++++++++++++++++++++++++++++++++ models/prodpricingtab.xlsx | Bin 16616 -> 16554 bytes models/product.xlsx | Bin 16095 -> 16374 bytes models/resource.xlsx | Bin 16879 -> 16824 bytes requirements.txt | 3 + 8 files changed, 399 insertions(+) create mode 100644 models/mysql.ddl.sql create mode 100644 requirements.txt diff --git a/models/agreedetailstep.xlsx b/models/agreedetailstep.xlsx index e288bfeab0a9bc5fd4e1f6476a109fbf79c6b3b4..be4ea04f5b434f096861b4595e3e00e4c842996f 100644 GIT binary patch delta 4222 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 Ua8+60(PKo1suX?($*FjVJ4MUfm!=636DDfr{HR z3zV#LeN?qlOngWUc+--_%F5i$Yqc_S%A8t&-HF-DIC(IYW`uTW$+Ash!&%{VDxpa& ztt&E1Iiqkqk8eg#dbBv$3y?n{FdWCt5$BsyhyE#KQV)a>m3uw2E=xDgh@CWWipw&$ zUOAFS>s#hC$rmk$vC$Ca*2ZX5ps5`33o`TZwszt&-ph@kTDrd*NW+WY47TG$i_v>`s%1a@m56aSxG(G@MZ`Ei^2%mj5rbglw zHJ9G%noNIP*9eQw$=mhsqY7`pCJ*z-FIH9De6Fnd!$7TK>Y+Ce9Q@FPvpWN)*q$RN>SQXn2-y>kjVnzA8s>=RdZ6Cws+V`}RBYk$?Q| zqN@HHwU%ewoL?xkLcx~PY#WTN7DGO_W6CgM#5>cGNX|F7yhgDu`6QBVriPuHyVA4d zlp}RcU~}iUlS@BFOnvrbrB@NuaKLtj-L7*us~5XBZWxUG&~Mc{B{Xx#_r}!$J~2K3 z<)wKlNV+DNi!*7bhxgj!lJP#uM?!TZKs<=>ZX(c9Rcf`9$M!AX7W;56$MBDf2^ksA z-9;I@sh0KOOwF#tSQ~jt#zxl5e%8ISJ3L8_qiew@p(AgdRv;#x_}V2moR3z%eeZ75 zl^boTLW;H_X_9vO*MCaS%!sNOGO2k0+sF$OZ8c8#{~*-e-QT62dkm(@>!}J+ZEWBk z<~QQ1hYK3$aq+=EJ;JN6)JUV`A=V^ERq63q=)FeiAE~*d5g*5;?z*JNsWHhtb4`P! zQoda4lbsZlwDV@T5tL-Ou`eTksKNPzx=antP{&oL2ww{;@9hD=V;)g+zVhI_lpV*i zh&rA zE;$Q^yR{yV@IAKn!}Xnall||DYp{TFVTZU?3eH~r?PYS_D=j3n=H->h&r;tC&7dn{ z-yE)z4I%0&k|nK=eY6LcIEl^RdflI5)9@%x$?#+GD_3Ug5An09Grm3cAAx_SFcgi> zROkFy9jRBKblVP{Ic$|*S~z}1RPP($5CA59I)85RfH$&X+3;dG$xyHWY3<2@giSFjlIdl{zlD-hlX9oaf;lo);yRg zQ7z^nBm5pdT#jWbIGvP>A<+~&1orhDB_8tvZPpe?G@kiTE&?ByT_W6raR!Q8%ns7r z>$)vdRjf}4l#n@KF#~sr32ri%7={cBemQSoEs2P&F%ZLxve=!bb<36I`}xv+x!~40 zzkPAEo5+Wc`s+CKq=D&P9U1Ak)Ga9J&u3kM002q=idBUg8DXgDPN7QH!Ewk^Del4k zHGvFR<4Ov<28yxS3k$inDQUO(moTNgxqw00Dw9PL3VYkw<|CR68KN906l@<|(`@Y3 zXpv}`o--q`I zd!-b`KZ-knkWpi!*L_5DP)bnFNDo?{x*$dMfkI1M2&LsJ)u&_CWc(-Om+m@huhIY< z{17`xa5h@IxSBIWF%#txmkn64)x=Cl@xAZp+#-ok?PeN-|ie%bfEGck)m z^Hc}N5%!M2mMGd#Zd8B_B>hB3kQ`>5{e{DR5swdD_@y}IyssBQE>y(80W3qt^w_t= z$-37T0rU}8p5o&9)>-%-&Wi7tBo`D1l&}b0J*>%rdgUaB!OoKu8nFSdCk7@KieCnZ zpe>OKUAD}Wpb~&Z5u=mICFpXGUqdI)t(>RzckiNN;w&#>g&YaUZj+|f0ui7 zdG_mIJqTsA=NdQL_Om8?e(p}t7&Rho!Z4^kvcA;m;$Ko)xTMv1;!+RHR`E@QALS^= z&*TpO;%KcW7H@IH81kF$2Uj-8d)E{eJ+#~j+d$4ex0SN zOSh9l`HQjaM=~E3v0J~Ggp}T!E|Wmtf!`;Oj$j#2ozQARx_UbWP1(&g+`EuXa!vZI zc>5#ByyW!76)5}=oEs`Hm8R@F!hVF|Jf~yg8oO$X< ztImwvHqSdRi8Mj)5{-&m88NXvWo<2pT~d70)=k!F$tBj>CM%}SYhPx%av^Qv4P$iJ zGL46l^$(Nv!gcUw{g6?-Zp%B7T=122!@gQKuD>`h`FTR@WtYlQ`n*`(xkRsgmo*VH z#@$gBh4pUC?YO}0iC6khZ?I3Pk$XGR^34pwx1A1+8F}6ZYUirN=X3h@gk3~aVH zy*k${WsxyTHT?vRd=hR)>=Dh~RNSw60)}G4artpFS5+KE3peiur?tMw)I#uiaA|28 z1@a%3JXd-r4G(hBD-o)=k(XQ_v6f8JtrEQ~1!X}8te957DVOWKcU1o%ILbkStbzN1 zIEZjBKfF*G7XVlRqg?n|kf^`q=BxdOzhqcf@a?ke@gfcM-<5S_mH4vECWzxa5^-!k zn$*17mwX`0t~6gz&@1xlEO7i#{L?8@$?x=%8Ld2rwM<|>VSBk!Fdg7d;H*Af0-M`6YN%r#^J^F`VgX_bdE$VxZ%8QV{ z^6yWvBP~Vyf2Z}dgI$J|d}`0t50OG&eXeM2y=@gqXpQyMFe?55JBw*vt_S4LBTCL5O}!Zr6auAjCuWZEVEaZj<`jQ;k=X z;P!8M2368!1eCXImxU+%K|%h_2~t)aFM+FAnzS)5=nAcHz)g1kTQbW?LZl6t>=*U0V=>I3gh#T@!^YOSjlWHc!S%20(vCK|AUA>&XXPG3PCSC8SF>s+>lKDWNYnghO_h-qr|gL2ijHB^%4hEN>1C!Ii0u+_ zgZQfZxk{?hOKRky1HUyY?UNOR5xPg^2ht64D?Rzv-pZnFa~h}mn+RT#Xs{@3kh&)8 zM0*sE+7Xw?@vW5_Hqcf7o|lV=m@tEBCROD#k$yZVtFZ~wi){((G!>x_;DdoxVFHVMZMgY|)_n8TF(P>vkI^*~PH?BE%d z%a~r^o9-VxG>W+!v@^<_uT@6EZ`W;%!f=hQ#>~^ButI&!c?UyVE>azpY9kh#0;NE- zGx%B?!K~1&*>2|!*|@J0K{VV#$ib@I3Lu_(z}Zn~cekbio^s1*d|NMB_FhL*(U0AI zQsln{Se)*{vqdP`4HbN2dS}7%S%XMr2RG!g4#9>+-S?*GD&1nwS=YfX|J{>x9Mdvp z$H!4NW1qx>K8K~3Rk)`M=N}q4No^1#>9agZIJa1)Byh8@E|AO74Z&omm5p{eF3|N4 z&jzyKo2RELP@(s$yL4o4yWmxnO^y0g-nPJYs*y#Nm~b0q+NUhj{OsCd*zbyzLlyHp zv8k(cV8P`DyuZpxON%$6t(eBLNDLjWn;`owQKOEVoNWciGvj#_`yPuPZ*-OxAUlw6?Wab zA2}tp@;RxInk!ealL=ekk6Gc#$<{ zPLzQX!F~eU9ITc3*3o3W5?-hor8+cg9mxFMnJ|IyqErp0!VI{$3n^yj1`W?89$+DL)jvWhBUfWtj* zBSN536x(isKD)hRicJ*VTuk)l8=}5?AKTe2;c(128Ie!W2-VvjWvqJb5FEw6*_z%i zNdIFCK+5}j=bgr54O$}pna9>0KpNZ>KaI!UjVGNpw32m^*=_g5e8|-85PKhy&Z3xA z+X2y+`tpt#ym8JmM*nUMUG!E&s;#U@Uh_{ZJ?pZ3ykATupgtK(aI+th?|697EN>_mHqZ+(Y=+x_>cT!`K&M4L*C#z!mN_;1R=VrA|fKL}`y=%N)*{;dV{F-xEU*6qT z@by#E2{UD0|AflF!NDTg~$ga!}d`td! z>#WR=C4kCQmIaD4{W+lj=K_ZRu4(^$2LSLzv8c!qvvdCK<#_u9x;UT&RH#s)D)c~A zZj>btCyH8$3^nyfROdliKcYtwz{nW?O~e0dj~O4zgP$Iy1>*tE3Zb6EWPlVRs5Tfo z<6p=6gVj&}Fz0*!X#n8280rEh4GfV)kx6q?>!{=Y=`8^OpD^XN)Q}TeTXgv{a4SyS5gg zC>nc~Cg#)rUOavN|MTKp_jR4`b%B0RVoXJg5Ya zg&a)9BG5OPuI?H2BC{v^*6>BLY6@xG%6-erQ?#D0dtDqlg)zSIYg|BDS}m;h>l42m zLl5ymwhU=7yvER_XHYA7#|QNd0G}O|D$~dj)8;H6JDS29=ZaPqx|*rL0VW%4t34JB zJqn*~)Q|FNtf?{@Ey!ghEUwmwcDp0X19}YkF!+yr;=-^oRz5S|_Vh!z@r-r(!*+cv zxv8NE>CcD5qVuIJ>$Z#3RfQW>xdWvn@$BF^Zw`|cW)B&gEVHq^$hxoB{k~AQ@}0$B z1=mI}#oltT+_TWTf&W2Myr1(^@4Tx!wmI`&L{&R3J-lW*6DK=|HCs}&c@l=K*#l_L z(Umb^td_GWyTXL-VDLXmst4iVt;b&WaaL1wcc!x$`xq?pVeB`>lE&aPtBKs#$ofnl z%2qW-3iF|Fsu4VW@s-iQnsXDja(&O~6fuxBLg&1!-V@{NPbC=ixNbrAHq9}uHRV8* zsF8regt@2xYb$ z`0_2anwi#{sd8=j9#ZOp!vC_=fSxBu9=H8D!Ls4fx*W=%Hga9pCpxKX6QU=z15#F9 z2c5=X@IvQHdrtBkAnl#2%w-+I+3)0tKK3^Plf$jMP@};geFVBvJduUm?n+Hf#v|X- z#1UKFtlo;#%5I_&ev#Y?n^zoM{mCH&bxKRb?0)E4hu_pcJRzj8v)zT3@}dj zJr!$HPZq-XK+HyT zOH!v_mrSl~3%yhrU1!!SW{i|mZOJh>p1fQ6Bskl9F1x&2S^o33&jMM;8U+JqS>&1F`i3&b2Gzx7*|=YKLCH?v+gT)(303La_Lel6x=_wyz0Vz=WT zP1hw}9BH^#H*y!tto*Zvz>?F(&ODbsnr}}{uU9Ly^tqyt0+)fvXG_YQJ z^0L-P2cwQLr}Nz5@+VzPK27|r0|mon-Y-n#@`H#(k)^e7lPhVGC;5xprrlIeKky)Z zNGmQz>PzO?uwJ>UWqI@uxrFHv;gr3-z?|Z}!)~^KOJtLI52K4s?P-1MqmT`!i|$NN zFh*u0S1kO=C6j_k@k-e0r{~K;>9~RAEm9wy{MR+|wQW>1Qg_(9gb(QefXhq3pDk;A zo;I47xo!WpBOch1W){$A^*u(yX>;JYe02le9go7!l;Ewcn>{@AJD%GWKPz6b`OwM9 zq>}_7gXa}LRnfH-t~=zP9GHD!$EAU;H_^P5h$@Um6qEeG4;u^R*?s_4aJ^*Xq3R2ux)+Bh?zLX7GvLMF}s7c`u$HvT!K~G&yOzfE1dq( zT5v);KN;Rc!(X^Ptv$E)7sY>#V~=Uq7^wwY6356%0RSu|YK@NzX=IF3qi?yrfs7Ad zB$KbKsxm_PRZQL;Ev%}Voy~XdezZO7MW+1fRk1FJtTL9Dva}+6#e}3ZDu=!uscs_# zKY|5vmt9lJKVHjg81el!RP!P)ufg4kw&~hi8!H1Nq4#92PZ5k(eV(wpN=1)qAWEsv z5-L9XS=qJ~%AuN&NZ4|y65ogvteOQLJpOTqUCW!#cQ!}@mDjv|Cw@?;p*SoxDPx^Q z@(1e_&vjH<;8lil2o287uJz`Ti2)(G`EVaAd>~)BDs`>jB_x&as#{>;;M!6E^Kz^? zeW0BaUoc;)EPd~!I3SVyiiF7!b@Ma9AaXKmO)7Z!|3-ZAc=o#4y{vS#O_vLZqxzC^l zcAA3;LI-5#$jD)HPIYPTyRsGK3dx{G0}ELQ)s$g>|Ml`Z+tNq;Rr#H>DQjGb%a1Nk z9e2Ol6x`nOrTJ>x-e86a+iS9AFaVcMvfMQ2Y!MxE*Pdy2zns3NnKSX%wWaVl#kd3~1V}e|kk0Q=2dfg7JE`}`~yw)il zA5g6P6vj0;^K>6*MIO z>-l-A(t@hOxdAw+;?a1M0=*Z@YBuvEU38B)=EK;Q{bQ>@XvJNc&29MtiTA7KmHoFX zD}`!>%#r=hXNFzOS;)w)(CW*5voQ+OH$O+vtKJlsYG*tzr>&>l99MGuUEqcIfmlar z%tFPY6U|)_tEw2Qt35h?z3+_{01X;}g4Q>#C?>TGXAlnfeC&50*#>@zNf{IdtwRpE zB;RhfWhE&aR!TuU2i1vq`CG(^NVZU(CeuLT1Zl=8=^s>Mr6IiJ)Z3Zl^;^GZgPHOV zudzYU10XWp0>R2C%EPDoz4E!no%0sk`@#^1W}q}5Hff(#qfQ(ivmD`CMgbI4nWJBy z6uD#YtZ2Wl06}S(cJJ&Z-;2{2H29%SrN>6uTyt45YpyINs4h1^_&!`Qr_> zs7j715Ca57OgX>7P%k^WE2@^Wr;%2EUZo!;eUl$ zUa^(1+7J{HOV$OXj6U(Uf)kIALj83}Hbcz!?%YgAky`tIA`l!~CtMMt05GrS{Qxug zSJ$jNrcvMJCU3|PUQKF0h^uwgLU=`jxpk*xQjw)uP;pLw=e{9Xu8(4`B86_qQF8=e zmoy28yFfr}6)_?YKrg<#ws;6>RI`fY)aC4qW@M@*Y(1QE@646`(&9!1ZvVE(y&NFj z7kCKP*QYLfBW@o*^mC0^cgFt0R9w4!@T9iXkxCYm{g~9)V*ga^EiOY;C1buBCC1%< z=8w$t7Dy^MOFi+5Rz5V6NqFWvj8=7)gk9gk)Iudpeyl{fz|1wkhvKRWkgcs5dB1QX zg)HTjigw*S1Fs{&4+{!%-6m**ZeCGmXyG)65Yxk-QVvqR#<(=(=7B*%zv+YbC+*%{B2sq6gsrG98(fW$P0oL9f*i z-5jaVJke(j4Z2ewC2aO76RQ1gK0;Yf-?fLiA1U!GG7SwHh)7;`KCS$^;eVkoo}#Pu zUF8&Ycss5|w{@bFhjv#rD6li+Img?ufmkcjVp!o36MomN#oYgkKJBlXZX12+7;LmF zs~hBVs(iKkaU%A)t1nU>H&N3$bC{{O&|{{@YMS7ds}KD#-I2txWP1*lBoMP6dX^Av z@G~D>ua!`V$yUw?z8CGgzqEOgPfwL~Xtc_&!ERkXbZW0Y%^=0cC=AXYaEX<|80K+* z4kC9HnvB&gw)27BW*BITt~)zTCARHFt;W!T`hqQVLI4Iz1e&%z^*D+Km(}InLT92GuYfa1D5}PeA1w`h*JT1$rC(TxdGjExMU+v#!{UQiS_!1E|5me2c zn06CC$Ah=aM7M5031s(QS+SQgr~`%3Pb`{f5J?Y1l1Mh6G1iPzO9hf8SrLyc2l8XR zNJq49-YX#E49Tpc@|AiQjMkH=52usGW&{hva%Lxoh+|uRorI`uKyR$r10*Pw>Id6S zq@y(B7?lVi-dn|Rij=I^L>)9>VX)Wp2MXLg2LYm7+I0MhdBwP%*}*o3~AS7r9f>WvlGsH5?)8_kauXVUoA#05UJ zA6+U@c}2`+8`0F)tP>XA|KKcFL_ZSQJQ6{KANZpDxLL5=ifh3C`MS|6%lvP`HB`1D zail{zLRnCa$}o~+#(ztCCUTUP3O$Nhg#-8$1yfN2rlR~*L^=P)kl(odovZ#XJgQzr z9e52zP*EUJ5<%S+fuL+u>AC*08317WtNvZ7K!3l)fhzhf`U}bbFS;lGubo9z7|jYKezgz($rK)P83ihYH*5cN`KD&1Dz!Ong9R* delta 3788 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 KprZRv?f(Fe5cBW= diff --git a/models/mysql.ddl.sql b/models/mysql.ddl.sql new file mode 100644 index 0000000..314400d --- /dev/null +++ b/models/mysql.ddl.sql @@ -0,0 +1,396 @@ + +-- ./coupontype.xlsx + + + + + +drop table if exists coupontype; +CREATE TABLE coupontype +( + + `id` VARCHAR(32) comment 'id', + `orgid` VARCHAR(32) comment '产品机构', + `name` VARCHAR(100) comment '优惠券名', + `use_ptids` VARCHAR(4000) comment '可用产品id集', + `void_ptids` VARCHAR(4000) comment '不可用产品id集', + `mintransamt` double(18,2) comment '最低交易金额', + `use_multiple` VARCHAR(1) comment '是否可用多张', + `with_others` VARCHAR(1) comment '是否与其他优惠券同用', + `issue_action` VARCHAR(100) comment '发放客户动作', + `issue_condition` VARCHAR(1000) comment '发放条件' + + +,primary key(id) + + +) +engine=innodb +default charset=utf8 +comment '优惠券类型' +; + + +-- ./product.xlsx + + + + + +drop table if exists product; +CREATE TABLE product +( + + `id` VARCHAR(32) comment 'id', + `prodtypeid` VARCHAR(32) comment '产品类型id', + `orgid` VARCHAR(32) comment '产品机构', + `providerid` VARCHAR(32) comment '供应商编号', + `agreeid` VARCHAR(32) comment '分销协议id', + `providerpid` VARCHAR(255) comment '供应方产品id', + `name` VARCHAR(255) comment '名称', + `description` VARCHAR(255) comment '描述', + `prod_state` VARCHAR(32) comment '状态', + `product_code` VARCHAR(100) comment '产品编码', + `spec_note` VARCHAR(400) comment '规格说明', + `specific_pattern` VARCHAR(32) comment '规格模版id' + + +,primary key(id) + + +) +engine=innodb +default charset=utf8 +comment '产品' +; + + +-- ./prodpricing.xlsx + + + + + +drop table if exists prodpricing; +CREATE TABLE prodpricing +( + + `id` VARCHAR(32) comment 'id', + `prodid` VARCHAR(32) comment '产品id', + `enable_date` date comment '开始日期', + `expired_date` date comment '失效日期', + `pricing_mode` VARCHAR(1) comment '计费模式', + `fact_name` VARCHAR(100) comment '因子名', + `fact_value` double(18,2) comment '计费因子值', + `unit_price` double(18,4) comment '单价' + + +,primary key(id) + + +) +engine=innodb +default charset=utf8 +comment '模型计费' +; + + +-- ./agreeproduct.xlsx + + + + + +drop table if exists agreeproduct; +CREATE TABLE agreeproduct +( + + `id` VARCHAR(32) comment 'id', + `agreeid` VARCHAR(32) comment '协议id', + `providerpid` VARCHAR(32) comment '供应方产品id', + `resellerpid` VARCHAR(32) comment '商户产品id' + + +,primary key(id) + + +) +engine=innodb +default charset=utf8 +comment '协议授权产品' +; + + +-- ./resource.xlsx + + + + + +drop table if exists resource; +CREATE TABLE resource +( + + `id` VARCHAR(32) comment 'id', + `orgid` VARCHAR(32) comment '机构id', + `resellerid` VARCHAR(32) comment '商户id', + `prodid` VARCHAR(32) comment '产品id', + `providerrid` VARCHAR(100) comment '供应商资源id', + `attachedrid` VARCHAR(32) comment '关联产品id', + `enable_date` date comment '开始日期', + `expired_date` date comment '失效日期', + `spec_data` VARCHAR(4000) comment '规格数据', + `create_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP comment '生成时间戳' + + +,primary key(id) + + +) +engine=innodb +default charset=utf8 +comment '客户资源' +; + + +-- ./supportedpayment.xlsx + + + + + +drop table if exists supportedpayment; +CREATE TABLE supportedpayment +( + + `id` VARCHAR(32) comment 'id', + `name` VARCHAR(100) comment '支付名称', + `description` VARCHAR(400) comment '描述', + `appid` VARCHAR(400) comment 'appid', + `ak` VARCHAR(4000) comment 'ak', + `sk` VARCHAR(4000) comment 'sk', + `callback_path` VARCHAR(400) comment '回调路径' + + +,primary key(id) + + +) +engine=innodb +default charset=utf8 +comment '产品' +; + + +-- ./prodtype.xlsx + + + + + +drop table if exists prodtype; +CREATE TABLE prodtype +( + + `id` VARCHAR(32) comment 'id', + `name` VARCHAR(100) comment '产品类型名称', + `enable_date` date comment '启用日期', + `expire_date` date comment '失效日期', + `parentid` VARCHAR(32) comment '父类型' + + +,primary key(id) + + +) +engine=innodb +default charset=utf8 +comment '产品类型' +; + + +-- ./biz_order.xlsx + + + + + +drop table if exists biz_order; +CREATE TABLE biz_order +( + + `id` VARCHAR(32) comment 'id', + `customerid` VARCHAR(32) comment '客户id', + `order_date` date comment '订单日期', + `order_status` VARCHAR(1) comment '订单状态', + `business_op` VARCHAR(255) comment '业务操作', + `amount` double(18,2) comment '金额', + `provider_orderid` VARCHAR(256) comment '供应商orderid', + `specdataid` VARCHAR(32) comment '规格数据id', + `userid` VARCHAR(32) comment '用户id', + `thirdparty_order` VARCHAR(32) comment '第三方订单号', + `refund` VARCHAR(32) comment '退费金额', + `source` VARCHAR(10) comment '订单来源网站', + `originalprice` VARCHAR(16) comment '原价', + `ordertype` VARCHAR(10) comment '订单类型', + `servicename` VARCHAR(64) comment '产品名称', + `pay_date` TIMESTAMP DEFAULT CURRENT_TIMESTAMP comment '支付时间', + `del_flg` VARCHAR(1) DEFAULT '0' comment '删除标志', + `create_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP comment '创建时间戳' + + +,primary key(id) + + +) +engine=innodb +default charset=utf8 +comment '订单' +; + + +-- ./coupon.xlsx + + + + + +drop table if exists coupontype; +CREATE TABLE coupontype +( + + `id` VARCHAR(32) comment 'id', + `coupontypeid` None comment '优惠券类型id', + `customerid` VARCHAR(32) comment '客户id', + `amount` double(18,2) comment '金额', + `enable_date` None comment '启用日期', + `expire_date` None comment '失效日期', + `resellerid` VARCHAR(32) comment '商户id', + `orderid` VARCHAR(32) comment '订单id', + `use_timestamp` TIMESTAMP DEFAULT CURRENT_TIMESTAMP comment '使用时间', + `coupon_state` VARCHAR(1) comment '状态' + + +,primary key(id) + + +) +engine=innodb +default charset=utf8 +comment '优惠券类型' +; + + +-- ./agreedetail.xlsx + + + + + +drop table if exists agreementdetail; +CREATE TABLE agreementdetail +( + + `id` VARCHAR(32) comment 'id', + `agreeid` VARCHAR(32) comment '协议id', + `prodtypeids` VARCHAR(3200) comment '产品类型id集', + `pricing_mode` VARCHAR(1) comment '计费类型', + `discount` double(18,4) comment '折扣', + `step_type` VARCHAR(1) comment '阶梯类型' + + +,primary key(id) + + +) +engine=innodb +default charset=utf8 +comment '协议明细' +; + + +-- ./prodpricingtab.xlsx + + + + + +drop table if exists prodpricingtab; +CREATE TABLE prodpricingtab +( + + `id` VARCHAR(32) comment 'id', + `prodid` VARCHAR(32) comment '产品id', + `fact_value` VARCHAR(400) comment '因子值', + `unit_amt` double(18,4) comment '价格值' + + +,primary key(id) + + +) +engine=innodb +default charset=utf8 +comment '模型计费' +; + + +-- ./agreedetailstep.xlsx + + + + + +drop table if exists agreedetailstep; +CREATE TABLE agreedetailstep +( + + `id` VARCHAR(32) comment 'id', + `adid` VARCHAR(32) comment '协议明细id', + `minamt` double(18,2) comment '最低金额', + `maxamt` double(18,2) comment '最大金额', + `discount` double(18,4) comment '折扣值' + + +,primary key(id) + + +) +engine=innodb +default charset=utf8 +comment '协议阶梯折扣' +; + + +-- ./agreement.xlsx + + + + + +drop table if exists agreement; +CREATE TABLE agreement +( + + `id` VARCHAR(32) comment 'id', + `providerid` VARCHAR(32) comment '供应商机构id', + `resellerid` VARCHAR(32) comment '商户id', + `settle_mode` VARCHAR(1) comment '结算方式', + `settle_dp` VARCHAR(255) comment '结算日期模版', + `protocolfile` VARCHAR(255) comment '协议文件', + `start_date` date comment '起效日期', + `end_date` date comment '失效日期', + `auto_renew` VARCHAR(1) comment '自动续期', + `agree_state` VARCHAR(1) comment '协议状态' + + +,primary key(id) + + +) +engine=innodb +default charset=utf8 +comment '分销协议' +; + + diff --git a/models/prodpricingtab.xlsx b/models/prodpricingtab.xlsx index 8d90939b0ab435f070c859eef0d6125fec1d5121..ac909339d97cfffdc50caf43e8bb7cca985d9523 100644 GIT binary patch delta 3730 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 delta 3795 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 GqyGVfxAxEg diff --git a/models/product.xlsx b/models/product.xlsx index 8052be3317bff88e841e158d2c0778bdb9243288..90e91b8419d24d9fa2d073054e7a67f992830438 100644 GIT binary patch delta 4845 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 TB}EpNfWl>&Ui3))6UqMp(1{ev delta 4604 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 U-Tw^_;*v#=De;k1-Tp`WAE>pN-2eap diff --git a/models/resource.xlsx b/models/resource.xlsx index 7ba8c04b25e57cc741a420f663f7c7610250fc63..97fe39b4fa787017fef2def8cfc12c62ce7ff795 100644 GIT binary patch delta 4166 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 Js`B^Ie*h6Pn&AKd delta 4260 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