Files
cuimengxue/example/萌贝母婴商城-类图.drawio
2026-02-28 16:21:06 +08:00

39 lines
7.9 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<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="&lt;b&gt;用户类users&lt;/b&gt;&lt;hr/&gt;+ id: Long&lt;br/&gt;+ username: String&lt;br/&gt;+ password: String&lt;br/&gt;+ role: String&lt;br/&gt;+ nickname: String&lt;br/&gt;+ phone: String&lt;br/&gt;+ address: String&lt;br/&gt;+ token: String&lt;br/&gt;+ enabled: Boolean&lt;br/&gt;+ created_at: DateTime&lt;br/&gt;+ 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="&lt;b&gt;商品类product&lt;/b&gt;&lt;hr/&gt;+ id: Long&lt;br/&gt;+ name: String&lt;br/&gt;+ category: String&lt;br/&gt;+ description: String&lt;br/&gt;+ price: Decimal&lt;br/&gt;+ stock: Integer&lt;br/&gt;+ image_url: String&lt;br/&gt;+ merchant_id: Long&lt;br/&gt;+ approved: Boolean&lt;br/&gt;+ created_at: DateTime&lt;br/&gt;+ 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="&lt;b&gt;购物车项类cart_item&lt;/b&gt;&lt;hr/&gt;+ id: Long&lt;br/&gt;+ customer_id: Long&lt;br/&gt;+ product_id: Long&lt;br/&gt;+ 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="&lt;b&gt;收藏类favorite&lt;/b&gt;&lt;hr/&gt;+ id: Long&lt;br/&gt;+ customer_id: Long&lt;br/&gt;+ 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="&lt;b&gt;订单类orders&lt;/b&gt;&lt;hr/&gt;+ id: Long&lt;br/&gt;+ order_no: String&lt;br/&gt;+ customer_id: Long&lt;br/&gt;+ merchant_id: Long&lt;br/&gt;+ total_amount: Decimal&lt;br/&gt;+ status: String&lt;br/&gt;+ address: String&lt;br/&gt;+ logistics_info: String&lt;br/&gt;+ refund_reason: String&lt;br/&gt;+ created_at: DateTime&lt;br/&gt;+ 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="&lt;b&gt;订单明细类order_item&lt;/b&gt;&lt;hr/&gt;+ id: Long&lt;br/&gt;+ order_id: Long&lt;br/&gt;+ product_id: Long&lt;br/&gt;+ product_name: String&lt;br/&gt;+ quantity: Integer&lt;br/&gt;+ 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="&lt;b&gt;评价类review&lt;/b&gt;&lt;hr/&gt;+ id: Long&lt;br/&gt;+ order_id: Long&lt;br/&gt;+ product_id: Long&lt;br/&gt;+ customer_id: Long&lt;br/&gt;+ rating: Integer&lt;br/&gt;+ content: String&lt;br/&gt;+ 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="&lt;b&gt;物流记录类logistics_record&lt;/b&gt;&lt;hr/&gt;+ id: Long&lt;br/&gt;+ order_id: Long&lt;br/&gt;+ merchant_id: Long&lt;br/&gt;+ status: String&lt;br/&gt;+ note: String&lt;br/&gt;+ 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="&lt;b&gt;库存记录类inventory_record&lt;/b&gt;&lt;hr/&gt;+ id: Long&lt;br/&gt;+ product_id: Long&lt;br/&gt;+ merchant_id: Long&lt;br/&gt;+ change_qty: Integer&lt;br/&gt;+ note: String&lt;br/&gt;+ 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="&lt;b&gt;商家申请类merchant_application&lt;/b&gt;&lt;hr/&gt;+ id: Long&lt;br/&gt;+ user_id: Long&lt;br/&gt;+ qualification: String&lt;br/&gt;+ status: String&lt;br/&gt;+ remark: String&lt;br/&gt;+ created_at: DateTime&lt;br/&gt;+ 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="&lt;b&gt;轮播图类banner&lt;/b&gt;&lt;hr/&gt;+ id: Long&lt;br/&gt;+ image_url: String&lt;br/&gt;+ link_url: String&lt;br/&gt;+ sort_no: Integer&lt;br/&gt;+ 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>