123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- from fastapi import FastAPI,Cookie, Depends, Query, status,File, UploadFile,Request,Response,HTTPException
- from fastapi.templating import Jinja2Templates
- from fastapi.responses import HTMLResponse, RedirectResponse, JSONResponse
- from typing import List, Optional
- from os.path import isfile, isdir, join
- import threading
- import os
- import requests
- from bs4 import BeautifulSoup
- import asyncio
- import urllib.request
- from fastapi.responses import FileResponse
- from fastapi.middleware.cors import CORSMiddleware
- import dataset
- from datetime import datetime, timedelta
- from fastapi.staticfiles import StaticFiles
- import shutil
- import io
- import pymysql
- pymysql.install_as_MySQLdb()
- app = FastAPI()
- app.add_middleware(
- CORSMiddleware,
- allow_origins=["*"],
- allow_credentials=True,
- allow_methods=["*"],
- allow_headers=["*"],
- )
- '''
- 資料表: agent_form
- 欄位:
- cellphone (手機)
- customer_note (備註)
- '''
- # 取得資料庫連線
- def get_db_connection():
- # 測試機 DB
- # db = dataset.connect('mysql://hhh7796hhh:lYmWsu^ujcA1@hhh-v57-cluster.cluster-cmab1ctkglka.ap-northeast-2.rds.amazonaws.com:3306/stage?charset=utf8mb4')
- # 正式機 DB
- db = dataset.connect('mysql://hhh7796hhh:lYmWsu^ujcA1@hhh-v57-cluster.cluster-cmab1ctkglka.ap-northeast-2.rds.amazonaws.com:3306/xoops?charset=utf8mb4')
- return db
- # 檢查已登錄過的客戶手機號碼
- @app.get("/check")
- async def checkCellphone(cellphone: str = ''):
- # 呼叫傳入參數
- temp_list = cellphone.split("\n")
- # 手機號碼清單
- cellphone_list = []
- # 避免換行空白問題
- for t in temp_list:
- if t:
- cellphone_list.append(t.strip().replace("-", ""))
-
- cellphone_list = "','".join(cellphone_list)
-
- # 取得資料庫連線
- db = get_db_connection()
- # 取得手機號碼資料
- q = "SELECT * \
- FROM agent_form \
- WHERE REPLACE(cellphone, '-', '') IN ('" + cellphone_list + "')"
- count = len(list(db.query(q)))
-
- if count == 0: # 無手機號碼資料
- print('無手機號碼資料')
- return {"count": 0, "msg": "無手機號碼資料"}
- else:
- # 有手機號碼資料
- cellphone_list = []
-
- for r1 in db.query(q):
- print('手機號碼: ' + r1['cellphone'] + ' 資料已存在')
- cellphone_list.append(r1['cellphone'])
-
- return {"count": count, "cellphone": cellphone_list}
|