39 lines
7.9 KiB
Plaintext
39 lines
7.9 KiB
Plaintext
<mxfile host="app.diagrams.net" modified="2026-02-28T12:00:00.000Z" agent="OpenCode" version="24.7.17" type="device">
|
||
<diagram id="class-diagram" name="图4.4 系统类图">
|
||
<mxGraphModel dx="1600" dy="1000" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="2600" pageHeight="1600" math="0" shadow="0">
|
||
<root>
|
||
<mxCell id="0" />
|
||
<mxCell id="1" parent="0" />
|
||
|
||
<mxCell id="10" value="系统类图(逻辑数据库设计)" style="rounded=0;whiteSpace=wrap;html=1;strokeWidth=2;fontStyle=1;" vertex="1" parent="1"><mxGeometry x="1140" y="20" width="320" height="56" as="geometry" /></mxCell>
|
||
|
||
<mxCell id="100" value="<b>用户类(users)</b><hr/>+ id: Long<br/>+ username: String<br/>+ password: String<br/>+ role: String<br/>+ nickname: String<br/>+ phone: String<br/>+ address: String<br/>+ token: String<br/>+ enabled: Boolean<br/>+ created_at: DateTime<br/>+ updated_at: DateTime" style="shape=umlClass;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="1080" y="220" width="320" height="290" as="geometry" /></mxCell>
|
||
<mxCell id="101" value="<b>商品类(product)</b><hr/>+ id: Long<br/>+ name: String<br/>+ category: String<br/>+ description: String<br/>+ price: Decimal<br/>+ stock: Integer<br/>+ image_url: String<br/>+ merchant_id: Long<br/>+ approved: Boolean<br/>+ created_at: DateTime<br/>+ updated_at: DateTime" style="shape=umlClass;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="1640" y="220" width="330" height="290" as="geometry" /></mxCell>
|
||
<mxCell id="102" value="<b>购物车项类(cart_item)</b><hr/>+ id: Long<br/>+ customer_id: Long<br/>+ product_id: Long<br/>+ quantity: Integer" style="shape=umlClass;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="680" y="230" width="300" height="150" as="geometry" /></mxCell>
|
||
<mxCell id="103" value="<b>收藏类(favorite)</b><hr/>+ id: Long<br/>+ customer_id: Long<br/>+ product_id: Long" style="shape=umlClass;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="700" y="470" width="280" height="130" as="geometry" /></mxCell>
|
||
<mxCell id="104" value="<b>订单类(orders)</b><hr/>+ id: Long<br/>+ order_no: String<br/>+ customer_id: Long<br/>+ merchant_id: Long<br/>+ total_amount: Decimal<br/>+ status: String<br/>+ address: String<br/>+ logistics_info: String<br/>+ refund_reason: String<br/>+ created_at: DateTime<br/>+ updated_at: DateTime" style="shape=umlClass;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="1120" y="650" width="340" height="290" as="geometry" /></mxCell>
|
||
<mxCell id="105" value="<b>订单明细类(order_item)</b><hr/>+ id: Long<br/>+ order_id: Long<br/>+ product_id: Long<br/>+ product_name: String<br/>+ quantity: Integer<br/>+ unit_price: Decimal" style="shape=umlClass;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="1640" y="660" width="330" height="190" as="geometry" /></mxCell>
|
||
<mxCell id="106" value="<b>评价类(review)</b><hr/>+ id: Long<br/>+ order_id: Long<br/>+ product_id: Long<br/>+ customer_id: Long<br/>+ rating: Integer<br/>+ content: String<br/>+ created_at: DateTime" style="shape=umlClass;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="1650" y="1020" width="320" height="210" as="geometry" /></mxCell>
|
||
<mxCell id="107" value="<b>物流记录类(logistics_record)</b><hr/>+ id: Long<br/>+ order_id: Long<br/>+ merchant_id: Long<br/>+ status: String<br/>+ note: String<br/>+ created_at: DateTime" style="shape=umlClass;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="2020" y="650" width="330" height="190" as="geometry" /></mxCell>
|
||
<mxCell id="108" value="<b>库存记录类(inventory_record)</b><hr/>+ id: Long<br/>+ product_id: Long<br/>+ merchant_id: Long<br/>+ change_qty: Integer<br/>+ note: String<br/>+ created_at: DateTime" style="shape=umlClass;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="2020" y="970" width="340" height="190" as="geometry" /></mxCell>
|
||
<mxCell id="109" value="<b>商家申请类(merchant_application)</b><hr/>+ id: Long<br/>+ user_id: Long<br/>+ qualification: String<br/>+ status: String<br/>+ remark: String<br/>+ created_at: DateTime<br/>+ updated_at: DateTime" style="shape=umlClass;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="1110" y="1020" width="350" height="210" as="geometry" /></mxCell>
|
||
<mxCell id="110" value="<b>轮播图类(banner)</b><hr/>+ id: Long<br/>+ image_url: String<br/>+ link_url: String<br/>+ sort_no: Integer<br/>+ enabled: Boolean" style="shape=umlClass;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="360" y="980" width="290" height="170" as="geometry" /></mxCell>
|
||
|
||
<mxCell id="200" value="1:N" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=none;" edge="1" parent="1" source="100" target="101"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||
<mxCell id="201" value="1:N" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=none;" edge="1" parent="1" source="100" target="102"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||
<mxCell id="202" value="1:N" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=none;" edge="1" parent="1" source="101" target="102"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||
<mxCell id="203" value="1:N" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=none;" edge="1" parent="1" source="100" target="103"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||
<mxCell id="204" value="1:N" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=none;" edge="1" parent="1" source="101" target="103"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||
<mxCell id="205" value="1:N" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=none;" edge="1" parent="1" source="100" target="104"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||
<mxCell id="206" value="1:N" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=none;" edge="1" parent="1" source="101" target="104"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||
<mxCell id="207" value="1:N" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=none;" edge="1" parent="1" source="104" target="105"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||
<mxCell id="208" value="1:N" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=none;" edge="1" parent="1" source="101" target="105"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||
<mxCell id="209" value="1:N" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=none;" edge="1" parent="1" source="104" target="107"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||
<mxCell id="210" value="1:N" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=none;" edge="1" parent="1" source="101" target="108"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||
<mxCell id="211" value="1:N" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=none;" edge="1" parent="1" source="100" target="109"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||
<mxCell id="212" value="1:N" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=none;" edge="1" parent="1" source="104" target="106"><mxGeometry relative="1" as="geometry" /></mxCell>
|
||
</root>
|
||
</mxGraphModel>
|
||
</diagram>
|
||
</mxfile>
|