yukyo0821 2 years ago
parent
commit
cef631f593
4 changed files with 92 additions and 1 deletions
  1. 27 0
      diagrams/overview.puml
  2. 25 0
      docs/SA.md
  3. 39 1
      src/main.py
  4. 1 0
      test.txt

+ 27 - 0
diagrams/overview.puml

@@ -0,0 +1,27 @@
+@startuml
+partition 客人 {
+  (*) --> "訂單上傳"
+note right: 訂單號碼\n配送類別\n通路代碼
+  --> Bows
+}
+
+partition 倉庫 #LightSkyBlue {
+  === S1 === --> Applauds
+}
+
+partition 通路商營業站 {
+  Bows --> === S2 ===
+  --> WavesArmes
+  Applauds --> === S2 ===
+}
+
+partition Orchestra #CCCCEE {
+  WavesArmes --> Introduction
+  --> "Play music"
+}
+
+partition 其他 {
+    test --> 取件報關派送及客服退貨申請查詢
+}
+
+@enduml

+ 25 - 0
docs/SA.md

@@ -1,2 +1,27 @@
 # 系統設計
 
+## 要問的問題
+* 誰運給誰
+* 站(通路,7-11)跟倉庫的關係
+
+* 每個包裹都有訂單號,最原始的,上傳到系統或我們系統或黑貓系統,才會產生配送單號。 
+
+*訂單跟運單是差不多意思
+
+* 運單號碼 才是訂單。 有運單號碼才有配送單號。
+
+* 面單(通路指定的規格的訂單,黑貓7-11不同規格,貼紙) 面單是貼紙,面單裡面就是放配送單號,收件人,訂單資料
+  
+* 配送單(唯一值,7-11八碼,黑貓12碼,所有訂單都會有,運輸單號,客人會有自己的單號,7-11會有自己的單號)(客人自己產生,系統也會產生)
+  *1節點:客人自己的系統,7-11黑貓預先給我們號段,再分配給客人
+  *2節點: 客人把所有訂單API給我們,上傳API由系統配單號給客人
+  *3節點: 客人上傳API,或我們自己上船訂單,串黑貓,由黑貓返回配送單號。
+
+* 出貨單=面單
+* ELPC 數網二段標 (參考7-11規格書,自貼標的規格)
+* 二次配送: 上傳系統,有勾二配要透過二次出貨才能用
+* 第一次出貨被客人拒收,要退貨。但包裹完好,儲位如果是A01,客人指定要二次出貨,新的收件人資料,用該號碼上船勾二配。 (兩次的訂單號是一樣,但系統不該有重複的訂單號,所以用二配方式解決) 兩次訂單號相同,配送單號不一樣。 也可能有三配,以最新的資料出去。
+
+* 清關:單純報關。串接回拋資料,用用這系統,套裝軟體。API往來資料交換。 對接韓國 快遞系統
+  
+* 榮儲匯入。不開放串接,從榮儲表格下載後匯入。 

+ 39 - 1
src/main.py

@@ -9,8 +9,39 @@ from fastapi.middleware.cors import CORSMiddleware
 from pydantic import BaseModel
 import uvicorn
 from fastapi.staticfiles import StaticFiles
+import markdown
+from fastapi import Request, APIRouter
+from fastapi.responses import HTMLResponse
+from fastapi.templating import Jinja2Templates
+templates = Jinja2Templates(directory="templates")
+def openfile(filename):
+    filepath = os.path.join("page/", filename)
+    with open(filepath, "r", encoding="utf-8") as input_file:
+        text = input_file.read()
 
-app = FastAPI(description="長慶運通系統設計")
+    html = markdown.markdown(text)
+    data = {
+        "page": html
+    }
+    return data
+
+description = """
+長慶運通系統設計
+
+## Items
+
+You can **read items**.
+
+## Users
+
+![This image doesn't work](/imgs/datamodel.svg)
+
+You will be able to:
+
+* **Create users** (_not implemented_).
+* **Read users** (_not implemented_).
+""" 
+app = FastAPI(description=description)
 app.mount("/imgs", StaticFiles(directory="imgs"), name="imgs")
 origins = [
     "http://www.googo.org",
@@ -29,6 +60,13 @@ app.add_middleware(
     allow_headers=["*"],
 )
 
+@app.get("/page/{page_name}", response_class=HTMLResponse)
+async def show_page(request: Request, page_name: str):
+    data = openfile(page_name+".md")
+    print(data)
+    return templates.TemplateResponse("page.html", {"request": request, "data": data})
+
+
 class q_req(BaseModel):
     domain_name: str
 

+ 1 - 0
test.txt

@@ -0,0 +1 @@
+test