Esempio n. 1
0
    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)
Esempio n. 2
0
    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"
            }
        }
Esempio n. 3
0
    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)
Esempio n. 4
0
    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)
Esempio n. 5
0
    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)
Esempio n. 6
0
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")
Esempio n. 7
0
 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, ".."))   
Esempio n. 8
0
    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
Esempio n. 9
0
    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()
Esempio n. 10
0
    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
Esempio n. 11
0
    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
Esempio n. 12
0
    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
Esempio n. 13
0
#引用根目录类文件夹--必须,否则非本地目录起动时无法找到自定义类
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")
Esempio n. 14
0
    #        "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)