Files
jupyter/体测单位/体测数据管理.ipynb
T
2023-09-18 19:46:01 +08:00

8.2 KiB

新增体测单位

In [ ]:
import pymongo

myclient = pymongo.MongoClient('mongodb://localhost:27017/')
mydb = myclient["baogao"]
mycol = mydb["place"]

id = 469849
name =  "长炼医院"
myquery = { "id": id }
num = mycol.count_documents(myquery)
if num>0:
    print(num)
else:
    mydict = { "id":id,"name": name,  }
    x = mycol.insert_one(mydict) 

生成手机验证码

In [ ]:
import openpyxl
import os,sys,shutil
import json
import math
import glob
import random
from pathlib import Path
import pymongo

myclient = pymongo.MongoClient('mongodb://localhost:27017/')
mydb = myclient["baogao"]


filename = 'data/北京农行人员名单all.json'
with open(filename,'r') as fl:
    dict1 = json.load(fl) 

place_id = 309118
place_code = '03'
dw_name = '中国农业银行股份有限公司北京市分行'
fi_path = '/home/songyi/python/mycrm/flask/pdf/files'
fls = glob.glob(f'{fi_path}/{str(place_id)}/*.pdf')

code_list = []
for i in range(10):   # 0~9
    code_list.append(str(i))
    
list1 = []
i = 0
while i < len(fls):
    code = random.sample(code_list,5)   #随机取6位数
    code_num = ''.join(code)    
    if code_num not in list1:
        list1.append(place_code+code_num)
        i +=1
i = 0
list2= []
for fn in fls:
    dict2 = {}
    fi_name =Path(fn).stem.split('-')[0]
    code = int(fi_name)
    dxm = list1[i]
    dict2 = {'place_id':place_id,'code':dxm,'fn':Path(fn).name}
    list2.append(dict2)
    i +=1
mycol = mydb["pdf"]
x = mycol.insert_many(list2)
print('ok') 
In [ ]:
In [ ]:
import json
import pymongo

myclient = pymongo.MongoClient('mongodb://localhost:27017/')
mydb = myclient["baogao"]
mycol = mydb["pdf"]

filename = 'data/北京农行人员名单all.json'
with open(filename,'r') as fl:
    dict1 = json.load(fl) 
dict2 = {}
place_id = 309118
myquery = { "place_id": place_id }
for x in mycol.find(myquery,{ "_id": 0, "place_id": 0}):
    code = int(x['fn'].split('-')[0])
    if str(code) in dict1.keys():
        dict2[code] = {'phone':str(dict1[str(code)]['phone']),'code':x['code']}
    else:
        print('no phone')
print(dict2)

批量发送短信

In [ ]:
from tencentcloud.common import credential
from tencentcloud.common.exception.tencent_cloud_sdk_exception import TencentCloudSDKException
from tencentcloud.sms.v20210111 import sms_client, models
from tencentcloud.common.profile.client_profile import ClientProfile
from tencentcloud.common.profile.http_profile import HttpProfile
import json
import pymongo

myclient = pymongo.MongoClient('mongodb://localhost:27017/')
mydb = myclient["baogao"]
mycol = mydb["pdf"]

filename = 'data/北京农行人员名单all.json'
with open(filename,'r') as fl:
    dict1 = json.load(fl) 
dict2 = {}
place_id = 309118
myquery = { "place_id": place_id }
for x in mycol.find(myquery,{ "_id": 0, "place_id": 0}):
    code = int(x['fn'].split('-')[0])
    if str(code) in dict1.keys():
        dict2[code] = {'phone':str(dict1[str(code)]['phone']),'code':x['code']}
    else:
        print('no phone')
print(dict2)

#dict2 = {375: {'phone': '13793180751', 'code': '0379208'}}
for k, v in dict2.items():
    phone = '+86'+v['phone']
    yzm = v['code']
    try:    
        secretId = "AKID22rVyvSqbikXFFvav31ykc9YmqjN6KYc"
        secretKey = "51XVL1YxDKI6mJh8au6DDuTskS1RhwJX"
        cred = credential.Credential(secretId, secretKey) 
        httpProfile = HttpProfile()
        httpProfile.reqMethod = "POST"  # post请求(默认为post请求)
        httpProfile.reqTimeout = 30    # 请求超时时间,单位为秒(默认60秒)
        httpProfile.endpoint = "sms.tencentcloudapi.com"  # 指定接入地域域名(默认就近接入)
        clientProfile = ClientProfile()
        clientProfile.signMethod = "TC3-HMAC-SHA256"  # 指定签名算法
        clientProfile.language = "en-US"
        clientProfile.httpProfile = httpProfile
        client = sms_client.SmsClient(cred, "ap-guangzhou", clientProfile)
        req = models.SendSmsRequest()
        req.SmsSdkAppId = "1400140089"
        req.SignName = "坤铭教育"
        req.TemplateId = "1875765"    
        req.TemplateParamSet = ["农行北京市分行体测者",yzm]
        req.PhoneNumberSet = [phone]
        req.SessionContext = ""
        req.ExtendCode = ""
        req.SenderId = ""
        resp = client.SendSms(req)
        dict3 = json.loads(resp.to_json_string(indent=2))

        print(v['phone'],dict3['SendStatusSet'][0]["Message"])
    except TencentCloudSDKException as err:
        print(v['phone'],err)
In [ ]:
import json

filename = 'data/01.json'
with open(filename,'r') as fl:
    dict1 = json.load(fl)
for k, v in dict1.items():
    phone = '+86'+v['phone']
    yzm = v['code']
    print(k,phone,yzm)
In [ ]:
dict1 = json.loads(resp.to_json_string(indent=2))
print(dict1['SendStatusSet'][0]["Message"])
In [ ]: