def stockSetQuery_risk(): #载入配置 usrID = request.args.get('usrID', "") stockName = request.args.get('stockName', "") stockTag = request.args.get('stockTag', "") #筛选 res = {"success": 1, "data": "", "msg": ""} try: #strUrl = "http://" + request.remote_addr + ":8669/zxcAPI/robot" #实际网络地址在阿里云有问题,原因未明 strUrl = "http://127.0.0.1:8669/zxcAPI/robot" strPath = F'stock/QuoteSetRisk/Query?usrID={usrID}&code_id={stockTag}&code_name={stockName}' #设置查询接口执行 pWeb = myWeb_urlLib.myWeb(strUrl, bPrint=False) strReturn = pWeb.Do_API_get(strPath, "zxcAPI-py") print("查询结果:\n", strUrl, "--\n", strReturn, "\n") jsonRes = myData_Json.Trans_ToJson(strReturn) res['data'] = jsonRes['text'] res['success'] = int(jsonRes['result']) except Exception as err: res['success'] = 0 res['msg'] = str(err) return myData_Json.Trans_ToJson_str(res)
def __init__(self, usrID="", usrName=""): super().__init__(usrID, usrName) self.doTitle = "聊天机器人" #说明 self.prjName = "聊天机器人" #功能名 self.doCmd = "@@ChatRobot" #启动命令 self.isNoOwner = True #是否为所有者除外不回复 #创建机器人api self.apiRobot = myWeb_urlLib.myWeb("http://openapi.tuling123.com", "", False) #图灵机器人 self.apiKeys = [ "de79dec1dc6b41f59ed3e4c743b1f089", "de79dec1dc6b41f59ed3e4c743b1f089", "45722107eece483baae1d36a82e33fc1" ] self.apiKey_ind = 0 self.data = { "reqType": 0, "perception": { "inputText": { "text": "" } }, "userInfo": { "apiKey": "de79dec1dc6b41f59ed3e4c743b1f089", "userId": "zxcRobot" } }
def stockSetQuery_info(): #载入配置 stockName = request.args.get('stockName', "") stockTag = request.args.get('stockTag', "").split('.') usrID = request.args.get('usrID', "") #筛选 res = {"success": 1, "data": "", "msg": ""} try: #strUrl = "http://" + request.remote_addr + ":8669/zxcAPI/robot" #实际网络地址在阿里云有问题,原因未明 strUrl = "http://127.0.0.1:8669/zxcAPI/robot" strPath = 'stock/QuoteSetInfo/Query?stockName=' + stockName + "&exType=" + stockTag[ 0] + "&stockID=" + stockTag[1] + "&usrID=" + usrID #设置查询接口执行 pWeb = myWeb_urlLib.myWeb(strUrl, bPrint=False) strReturn = pWeb.Do_API_get(strPath, "zxcAPI-py") print("查询结果:\n", strUrl, "--\n", strReturn, "\n") jsonRes = myData_Json.Trans_ToJson(strReturn) #结果处理 res['data'] = jsonRes['text'] res['success'] = int(jsonRes['result']) except Exception as err: res['success'] = 0 res['msg'] = str(err) return myData_Json.Trans_ToJson_str(res)
def stockQuoteSet(usrID, plat): form = stockQuoteSetForm() #生成form实例,给render_template渲染使用 if form.validate_on_submit(): #调用form实例里面的validate_on_submit()功能,验证数据是否安全,如是返回True,默认返回False #添加订单 #strUrl = "http://" + request.remote_addr + ":8669/zxcAPI/robot" strUrl = "http://127.0.0.1:8669/zxcAPI/robot" #实际网络地址在阿里云有问题,原因未明 if form.save.data: # 保存按钮被单击 editInfo = {} # 特殊同步 usrIDs = { usrID : plat} #if(usrID == '茶叶一主号' or usrID == '老婆'): # usrIDs["茶叶一主号"] = plat # usrIDs["老婆"] = plat editInfo[form.monitorHourly.label.text] = {'isValid': form.monitorHourly.data, 'msgUsers': usrIDs, 'mark' :""} editInfo[form.monitorRise_Fall.label.text] = {'isValid': form.monitorRise_Fall.data, 'msgUsers': usrIDs, 'mark' :""} strPath = 'stock/QuoteSet?extype=' + form.exType.data + "&code_id=" + form.code_id.data + "&code_name=" + "&editInfo=" + str(editInfo) #+ form.code_name.data elif form.remove.data: # 移除按钮被单击 strPath = 'stock/QuoteSet?extype=' + form.exType.data + "&code_id=" + form.code_id.data + "&code_name=" + "&removeSet=True" + "&usrID=" + usrID #修改接口执行 pWeb = myWeb_urlLib.myWeb(strUrl, bPrint=False) strReturn = pWeb.Do_API_get(strPath, "zxcAPI-py") jsonRes = myData_Json.Trans_ToJson(strReturn) #结果处理 return jsonRes['text'] return render_template('stockQuoteSet.html', title = 'Stock QuoteSet', form = form, usrName_Nick = usrID, usrPlat = plat)
def stockQuoteSet_risk(usrID, plat): #载入配置 stockName = request.args.get('code_name', "") stockID = request.args.get('code_id', "") stockDate = request.args.get('dateTag', "") #纠正风控账户名 if (usrID == '@*股票监测--自选行情'): usrID = '@*风控监测--股票' if (usrID == '@*股票监测--期权行情'): usrID = '@*风控监测--期权' if (usrID.count('股票监测') == 1): usrID = usrID.replace('股票监测', '风控监测') form = stockQuoteSetRiskForm() #生成form实例,给render_template渲染使用 if (True): if (form.deltaProfit.data == None or form.deltaProfit.data == 0): form.deltaProfit.data = 0.0025 if (form.stopProfit.data == None): form.stopProfit.data = 0.06 form.stopProfit_Retreat.data = 0.01 form.stopProfit_Trade.data = 0.2 if (form.stopLoss.data == None): form.stopLoss.data = -0.02 form.stopLoss_Retreat.data = 0.01 form.stopLoss_Trade.data = 0.2 if form.validate_on_submit( ): #调用form实例里面的validate_on_submit()功能,验证数据是否安全,如是返回True,默认返回False #添加订单 #strUrl = "http://" + request.remote_addr + ":8669/zxcAPI/robot" strUrl = "http://127.0.0.1:8669/zxcAPI/robot" #实际网络地址在阿里云有问题,原因未明 if form.save.data: # 保存按钮被单击 editInfo = {} # 特殊同步 usrIDs = {usrID: plat} #editInfo[form.monitorRisk.label.text] = {'isValid': form.monitorRisk.data, 'msgUsers': usrIDs, 'mark' :""} strPath = F'stock/QuoteSetRisk?usrID={usrID}&code_id={stockID}&code_name={stockName}&dateTag={form.stockDate.data}&removeSet=False&stockPrice={form.stockPrice.data}&stockNum={form.stockNum.data}' #&setInfo=' + "{}" elif form.remove.data: # 移除按钮被单击 strPath = F'stock/QuoteSetRisk?usrID={usrID}&code_id={stockID}&code_name={stockName}&dateTag={form.stockDate.data}&removeSet=True' #修改接口执行 pWeb = myWeb_urlLib.myWeb(strUrl, bPrint=False) strReturn = pWeb.Do_API_get(strPath, "zxcAPI-py") jsonRes = myData_Json.Trans_ToJson(strReturn) #结果处理 return jsonRes['text'] return render_template('stockQuoteSetRisk.html', title='Stock QuoteSetRisk', form=form, usrName_Nick=usrID, usrPlat=plat, code_id=stockID, code_name=stockName)
def run_WebAPI(isPrint=True): #strUrl = "http://127.0.0.1:8686/zxcAPI/Model/Leak" strUrl = "http://120.197.152.99:18686/zxcAPI/Model/Leak" strPath = '{"tag": "东莞铭晋家具有限公司", "infoLeak": {"longitude": 113.8, "latitude": 23.0478, "height_leak": 5, "massrate_leak": 4407.661085743278, "timestart_leak": "2020-08-04 16:05:57"}, "infoTarget": [{"id": "441900403", "longitude": 113.7819, "latitude": 23.0536, "height": 15}], "infoEnvironment": {"wind_speed": 1.1, "wind_direction": "ESE", "wind_height": 15, "temperature": 27.6, "cloudy_is": true}}' #设置查询接口执行 pWeb = myWeb_urlLib.myWeb(strUrl, bPrint=False) strReturn = pWeb.Do_API_get(strPath, "zxcAPI-py") if (isPrint): print(myData_Trans.Tran_ToDatetime_str(), "查询结果:\n", strUrl, "--\n", strReturn, "\n")
def __init__(self, tag, bUseMQ = True, robot_API = "http://127.0.0.1:8668/zxcAPI/robot"): self.usrTag = tag self.usrID = "zxcID" self.usrName = "墨紫" self.nickName = "" self.robotAPI = myWeb_urlLib.myWeb(robot_API) #WebAPI self.routeReply = "reply/" #消息处理接口路由名 self.usrMMsg = gol._Get_Setting('manageMsgs') #消息管理对象 self.useMQ = bUseMQ #初始本地路径 strDir, strName = myIO.getPath_ByFile(__file__) self.dirBase = os.path.abspath(os.path.join(strDir, ".."))
def _Init(self, plat = myMsgPlat.wx, msgUrl_API = "http://127.0.0.1:8666/zxcAPI/weixin", msgMQ_Sender = None, usrHelper = ''): if(plat == None or plat == ""): return self.usrNameSelfs[plat] = usrHelper #自定义的特殊用户名(特殊发送目标) #消息队列 if(msgMQ_Sender != None): msgMQ_Sender.Init_Queue(msgMQ_Sender.nameQueue, True) #消息持久化设置 self.usrMQs[plat] = msgMQ_Sender #消息回调API if(msgUrl_API != ""): pWeb = myWeb_urlLib.myWeb(msgUrl_API, "", False) #按消息分类标识初始对应web对象并存入dict self.usrWebs[plat] = pWeb
def stockSetQuery(usrID): #strUrl = "http://" + request.remote_addr + ":8669/zxcAPI/robot" #实际网络地址在阿里云有问题,原因未明 strUrl = "http://127.0.0.1:8669/zxcAPI/robot" strPath = 'stock/QuoteSet/Query?usrID=' + usrID #设置查询接口执行 pWeb = myWeb_urlLib.myWeb(strUrl, bPrint=False) strReturn = pWeb.Do_API_get(strPath, "zxcAPI-py") print("查询结果:\n", strUrl, "--\n", strReturn, "\n") jsonRes = myData_Json.Trans_ToJson(strReturn) #结果处理 jsonRetrun = myData_Json.Json_Object(jsonRes['text']) return jsonRetrun.ToString()
def Login_getCaptcha(self, imgPath, useLoacal=False): if (useLoacal): captcha_code = input("输入验证码:") else: # 读取图片文件 img_str = myIO.getImage_Str(imgPath) if (img_str == ""): return "" else: # 调用API,人工识别验证码 pWeb = myWeb("http://39.105.196.175:8668") # 组装请求参数 req = { "params": { "imgName": myIO.getFileName(imgPath, False), "imgData": img_str, "usrName": "茶叶一主号" } } # 调用API,轮询请求打码结果 r = pWeb.Do_Post("zxcAPI/robot/captcha_img", req, "验证码", True, True, True) res = myData_Trans.Tran_ToDict(r.decode()) if (res.get("res", "" == "OK")): msgID = res['msgID'] ind = 0 # 轮询调用API while (True): # 轮询提取人工识别结果 r = pWeb.Do_API_get( F"zxcAPI/robot/captcha/code/{msgID}", "验证码结果").strip().replace("\"", "") if (r != ""): lstR = r.split(',') captcha_code = lstR[len(lstR) - 1] break # 超时检测 if (ind > 60): return False ind += 1 time.sleep(3) return captcha_code
def _Init_Swap(self, plat=myMsgPlat.wx, msgUrl_API="http://127.0.0.1:8666/zxcAPI/weixin", msgSwap_Sender=None, usrHelper='filehelper', isAuto_ack=False): if (plat == None or plat == ""): return self.usrNameSelfs[plat] = usrHelper #自定义的特殊用户名(特殊发送目标) #消息交换对象 if (msgSwap_Sender != None): msgSwap_Sender.Init_Swap(isAuto_ack=isAuto_ack) msgSwap_Sender.startSwap() self.usrSwaps[plat] = msgSwap_Sender #消息回调API if (msgUrl_API != ""): pWeb = myWeb_urlLib.myWeb(msgUrl_API, "", False) #按消息分类标识初始对应web对象并存入dict self.usrWebs[plat] = pWeb
def _Done_Text_set风控(self, cmd, cmds = [], usrInfo = {}): if(cmd == "风控"): #解析参数 样例:"@¥*风控 sh.10002626 50ETF沽8月3400 10股 1240元" lstInd = ["风控"] stockPrice = 0 stockNum = 0 for x in cmds: strPrice = self.Matching_set(x, "元") if(strPrice != ""): stockPrice = float(strPrice) lstInd.append(x); continue; strNum = self.Matching_set(x, "股") if(strNum != ""): stockNum = float(strNum) lstInd.append(x); continue; for x in lstInd: cmds.remove(x) #提取股票信息 pStocks = gol._Get_Value('setsStock', None) codeID = self.CheckName_set(cmds[0].strip()) codeName = "" if(len(cmds) > 1): codeName = self.CheckName_set(cmds[1].strip()) lstStock = pStocks._Find(codeID, codeName, "***", useFuzzy = False) if(len(lstStock) != 1): lstStock = pStocks._Find(codeName, codeID, "***", useFuzzy = False) if(len(lstStock) != 1): return "股票代码、名称检索结果不唯一,无法操作!" pStock = lstStock[0] code_id = pStock.extype + '.' + pStock.code_id usrID = "@*" + usrInfo.get('groupName', '') if(usrID == "@*"): usrID = usrInfo.get('usrNameNick', '') #纠正风控账户名 usrID_risk = usrID if(usrID_risk == '@*股票监测--自选行情'): usrID_risk = '@*风控监测--股票' if(usrID_risk == '@*股票监测--期权行情'): usrID_risk = '@*风控监测--期权' if(usrID_risk.count('股票监测') == 1): usrID_risk = usrID_risk.replace('股票监测', '风控监测') stockDate = myData_Trans.Tran_ToDatetime_str(None, "%Y-%m-%d") #组装设置请求参数 strUrl = "http://127.0.0.1:8669/zxcAPI/robot" #实际网络地址在阿里云有问题,原因未明 strPath = F'stock/QuoteSetRisk?usrID={usrID_risk}&code_id={code_id}&code_name={pStock.code_name}&dateTag={stockDate}&removeSet=False&stockPrice={stockPrice}&stockNum={stockNum}' #&setInfo=' + "{}" #修改接口执行 pWeb = myWeb_urlLib.myWeb(strUrl, bPrint=False) strReturn = pWeb.Do_API_get(strPath, "zxcAPI-py") jsonRes = myData_Json.Trans_ToJson(strReturn) strReturn = myData.iif(jsonRes['result'], jsonRes['text'], jsonRes['err']) #设置账号风控有效 if(jsonRes['result']): editInfo = {} editInfo["风控监测"] = {'msgUsers': {usrID : "wx,True"}, 'mark' :""} strPath = F'stock/QuoteSet?extype={pStock.extype}&code_id={pStock.code_id}&code_name={pStock.code_name}&editInfo={str(editInfo)}' #+ form.code_name.data #修改接口执行 strReturn2 = pWeb.Do_API_get(strPath, "zxcAPI-py") jsonRes = myData_Json.Trans_ToJson(strReturn2) strReturn = myData.iif(jsonRes['result'], strReturn, jsonRes['err']) myDebug.Debug(strReturn) return strReturn
#引用根目录类文件夹--必须,否则非本地目录起动时无法找到自定义类 sysDir = mySystem.Append_Us("") sysDir = mySystem.Append_Dir("myFunction") import myIO, myDataSet from myWeb_urlLib import myWeb import mySetting_Note, myWebFun_gsafety, myWebFun_gsafety_prj #定义参数信息:用户名密码等 dt = myDataSet.loadDataSet("mySetting/Setting.txt", 1) strUrl = dt[0][1] strUser = dt[1][1] strUserPwd = dt[2][1] #初始web操作对象 clsWeb = myWeb(strUrl, "") #登录信息 strLoginInfo = {'method': 'login', 'username': strUser, 'pwd': strUserPwd} #登录操作-简化 r = clsWeb.Do_Post("util/sys/login.do", strLoginInfo, "登录", True, True) #print(r.decode("UTF8")) #跳转到浏览页面 r = clsWeb.Do_Post("ams_weekly/AnaphaseTreatmentBrowse.do", "", "浏览") #print(r.decode("UTF8")) #写考勤外出--特殊(并删除,这里不创建相关方法报错,特殊处理方式) myWebFun_gsafety.__add_考勤外出__(clsWeb, "python-address-autotag", "python-gsafety")
# "perception": "", # "orgEntity": 1 # } #调用 r = pWeb.Do_Post("gdst-sa/admin/basedata/org/save?", reqP, "添加数据-机构", useJson=False) rr = r.decode(encoding="utf8") #主启动程序 if __name__ == "__main__": # 初始web操作对象 pWeb = myWeb('http://19.16.40.226:7001', "") # 登录操作-简化 r = pWeb.Do_Post("gdst-sa/login", strLoginInfo, "登录", bUseHeaders=True, bInitCookie=True, useJson=False) # 读取省市信息 txtLines = myIO.getContents( "E:\\myCode\\zxcProj\\src\\Zxc.Python\\zxcPy.gsLog_Submits\\mySetting\\揭阳.txt", noBOM=False, isUtf=False)