Ejemplo n.º 1
0
    def init_dlg(self):
        strategy_type = get_dick('strategy_type')
        strategy_list = get_dick(str(strategy_type))
        advance_list = [100, 200, 300, 0]

        if strategy_type == '2':
            self.second_tijiao_pricediff_smart1.SetSelection(
                advance_list.index(strategy_list[14]))
            self.second_tijiaoyanchi_time_smart1.SetValue(strategy_list[15])
            self.second_tijiao_time_smart1.SetValue(strategy_list[16])
            self.second_tijiao_pricediff_smart2.SetSelection(
                advance_list.index(strategy_list[17]))
            self.second_tijiaoyanchi_time_smart2.SetValue(strategy_list[18])
            self.second_tijiao_time_smart2.SetValue(strategy_list[19])
            self.second_tijiao_pricediff_smart3.SetSelection(
                advance_list.index(strategy_list[20]))
            self.second_tijiaoyanchi_time_smart3.SetValue(strategy_list[21])
            self.second_tijiao_time_smart3.SetValue(strategy_list[22])
            self.second_tijiao_time_smart.SetValue(strategy_list[23])

        elif strategy_type == '3':
            self.second_tijiao_pricediff_smart1.SetSelection(
                advance_list.index(strategy_list[14]))
            self.second_tijiaoyanchi_time_smart1.SetValue(strategy_list[15])
            self.second_tijiao_time_smart1.SetValue(strategy_list[16])
            self.second_tijiao_pricediff_smart2.SetSelection(
                advance_list.index(strategy_list[17]))
            self.second_tijiaoyanchi_time_smart2.SetValue(strategy_list[18])
            self.second_tijiao_time_smart2.SetValue(strategy_list[19])
            self.second_tijiao_pricediff_smart3.SetSelection(
                advance_list.index(strategy_list[20]))
            self.second_tijiaoyanchi_time_smart3.SetValue(strategy_list[21])
            self.second_tijiao_time_smart3.SetValue(strategy_list[22])
            self.second_tijiao_time_smart.SetValue(strategy_list[23])
Ejemplo n.º 2
0
    def init_ui(self):
        auto_query_on = get_dick('auto_query_on')
        if auto_query_on:
            self.yanzhengma_autoview.SetValue(True)
        else:
            self.yanzhengma_autoview.SetValue(False)

        yanzhengma_scale = get_dick('yanzhengma_scale')
        if yanzhengma_scale:
            self.yanzhengma_scale.SetValue(True)
        else:
            self.yanzhengma_scale.SetValue(False)

        self.init_strategy()
Ejemplo n.º 3
0
    def Modify(self):  # 更新
        dc = wx.BufferedDC(
            wx.ClientDC(self))  # ClientDC客户区  ,BufferedDC双缓冲绘图设备
        w, h = self.GetClientSize()
        dc.SetBackground(wx.Brush(self.GetBackgroundColour()))  ##保存刷新不闪烁
        dc.Clear()
        register_label = get_val("register_label")
        dc.SetFont(self.textfont)
        tw, th = dc.GetTextExtent(register_label)
        dc.DrawText(register_label, 35, (h) / 2 - th / 2)

        ##更改激活状态
        activate_status = get_val('activate_status')
        if activate_status:
            dc.DrawBitmap(self.registered_bitmap, 2, 0, True)
        else:
            dc.DrawBitmap(self.unregistered_bitmap, 2, 0, True)

        netspeed_label = get_val("netspeed_label")
        dc.SetFont(self.textfont)
        tw, th = dc.GetTextExtent(netspeed_label)
        dc.DrawText(netspeed_label, 806, (h) / 2 - th / 2)
        dc.DrawBitmap(self.quick_bitmap, 850, -3, True)

        strategy_label = get_val('strategy_label')
        strategy_name = get_val('strategy_name')
        strategy_description = get_dick('strategy_description')
        text = "{0}  {1}         {2}".format(strategy_label, strategy_name,
                                             strategy_description)
        dc.SetFont(self.textfont)
        tw, th = dc.GetTextExtent(text)
        dc.DrawText(text, 270, (h) / 2 - th / 2)
Ejemplo n.º 4
0
 def refresh_web(self):
     self.htmlpanel.webview.Reload()
     strategy_type = get_dick("strategy_type")
     if strategy_type == 0:
         init_strategy()
     elif strategy_type == 1:
         init_strategy()
Ejemplo n.º 5
0
def init_description():
    strategy_type = get_dick('strategy_type')
    if strategy_type == '0':  #单枪     'strategy_description': '单枪   48秒加700截止56秒提前100’
        one_time1 = get_val('one_time1')
        one_diff = get_val('one_diff')
        description = f'单枪  {one_time1}秒加{one_diff} 出价'
        set_dick('strategy_description', description)
    elif strategy_type == '1':
        one_time1 = get_val('one_time1')
        second_time1 = get_val('second_time1')
        one_diff = get_val('one_diff')
        second_diff = get_val('second_diff')
        description = f'双枪  {one_time1}秒加{one_diff}出价  {second_time1}秒加{second_diff}出价'
        set_dick('strategy_description', description)
    elif strategy_type == '2':  #单枪     'strategy_description': '单枪   48秒加700截止56秒提前100’
        one_time1 = get_val('one_time1')
        one_diff = get_val('one_diff')
        description = f'单枪动态  {one_time1}秒加{one_diff}出价'
        set_dick('strategy_description', description)
    elif strategy_type == '3':
        one_time1 = get_val('one_time1')
        second_time1 = get_val('second_time1')
        one_diff = get_val('one_diff')
        second_diff = get_val('second_diff')
        description = f'双枪动态  {one_time1}秒加{one_diff}出价  {second_time1}秒加{second_diff}出价'
        set_dick('strategy_description', description)
Ejemplo n.º 6
0
 def auto_yanzhengma(self):
     ###自动验证码打开
     a_time = get_val('a_time')
     Position_frame = get_val('Position_frame')
     auto_yanzhengma_time = get_val('auto_yanzhengma_time')
     auto_query_on = get_dick('auto_query_on')
     auto_yanzhengma_on = get_val('auto_yanzhengma_on')
     yanzhengma_view = get_val('yanzhengma_view')
     if not yanzhengma_view:
         if auto_query_on and not auto_yanzhengma_on and auto_yanzhengma_time < a_time < auto_yanzhengma_time + 0.5:
             moni_on = get_val('moni_on')
             if not moni_on:
                 setText(str(100000))  # 出一定超出的价格
                 selfdelete()
             else:
                 Paste_moni(100000)
             Click(Position_frame[1][0], Position_frame[1][1])
             set_val('auto_yanzhengma_on', True)
             timer1 = threading.Timer(8, self.close_yanzhengma)  ##8秒后关闭
             timer1.start()
             wx.CallAfter(pub.sendMessage,
                          'update info',
                          action='触发验证码自动预览')
         elif a_time < auto_yanzhengma_time:
             set_val('auto_yanzhengma_on', False)  ##设置成查看状态
Ejemplo n.º 7
0
 def Second_tijiao_time_smart1(self, event):
     one_time2_smart1 = get_val('one_time2_smart1')
     one_time2_smart2 = get_val('one_time2_smart2')
     tem = self.second_tijiao_time_smart1.GetValue()
     timelist = get_val('timelist')
     strategy_type = get_dick('strategy_type')
     one_time1 = get_val('one_time1')
     second_time1 = get_val('second_time1')
     if strategy_type == '2':
         if int(
                 tem * 10
         ) in timelist and tem <= one_time2_smart2 - 1 and tem >= one_time1 + 1:
             print(one_time2_smart2, tem)
             one_time2_smart1 = tem
             set_val('one_time2_smart1', float(tem))
             set_val('one_realtime2_smart1',
                     gettime(one_time2_smart1))  # 计算得到的时间戳
             self.update_strategy()
         else:
             self.second_tijiao_time_smart1.SetValue(one_time2_smart1)
     elif strategy_type == '3':
         if int(
                 tem * 10
         ) in timelist and tem <= one_time2_smart2 - 1 and tem >= second_time1 + 1:
             one_time2_smart1 = tem
             set_val('one_time2_smart1', float(tem))
             set_val('one_realtime2_smart1',
                     gettime(one_time2_smart1))  # 计算得到的时间戳
             self.update_strategy()
         else:
             self.second_tijiao_time_smart1.SetValue(one_time2_smart1)
Ejemplo n.º 8
0
 def update_strategy(self):
     strategy_type = get_dick('strategy_type')
     if strategy_type == '2':
         advance_list = [100, 200, 300, 0]
         templist = get_dick(str(strategy_type))
         templist[14] = advance_list[
             self.second_tijiao_pricediff_smart1.GetSelection()]
         templist[15] = self.second_tijiaoyanchi_time_smart1.GetValue()
         templist[16] = self.second_tijiao_time_smart1.GetValue()
         templist[17] = advance_list[
             self.second_tijiao_pricediff_smart2.GetSelection()]
         templist[18] = self.second_tijiaoyanchi_time_smart2.GetValue()
         templist[19] = self.second_tijiao_time_smart2.GetValue()
         templist[20] = advance_list[
             self.second_tijiao_pricediff_smart3.GetSelection()]
         templist[21] = self.second_tijiaoyanchi_time_smart3.GetValue()
         templist[22] = self.second_tijiao_time_smart3.GetValue()
         templist[23] = self.second_tijiao_time_smart.GetValue()
         strategy_choices = get_val('strategy_choices')
         set_dick('strategy_description',
                  strategy_choices[int(strategy_type)])
         print(templist)
         set_dick(strategy_type, templist)
     elif strategy_type == '3':
         advance_list = [100, 200, 300, 0]
         templist = get_dick(str(strategy_type))
         templist[14] = advance_list[
             self.second_tijiao_pricediff_smart1.GetSelection()]
         templist[15] = self.second_tijiaoyanchi_time_smart1.GetValue()
         templist[16] = self.second_tijiao_time_smart1.GetValue()
         templist[17] = advance_list[
             self.second_tijiao_pricediff_smart2.GetSelection()]
         templist[18] = self.second_tijiaoyanchi_time_smart2.GetValue()
         templist[19] = self.second_tijiao_time_smart2.GetValue()
         templist[20] = advance_list[
             self.second_tijiao_pricediff_smart3.GetSelection()]
         templist[21] = self.second_tijiaoyanchi_time_smart3.GetValue()
         templist[22] = self.second_tijiao_time_smart3.GetValue()
         templist[23] = self.second_tijiao_time_smart.GetValue()
         strategy_choices = get_val('strategy_choices')
         set_dick('strategy_description',
                  strategy_choices[int(strategy_type)])
         set_dick(strategy_type, templist)
         print(templist)
Ejemplo n.º 9
0
def OnClick_chujia():
    guopai_on = get_val('guopai_on')
    if guopai_on:
        lowest_price = get_val('lowest_price')
        tijiao_num = get_val('tijiao_num')
        one_diff = get_val('one_diff')
        second_diff = get_val('second_diff')
        twice = get_val('twice')

        if tijiao_num == 1:
            own_price1 = lowest_price + one_diff
            set_val('own_price1', own_price1)
            setText(str(own_price1))
            guopai_chujia(own_price1)
            set_val('current_pricestatus_label', '等待第二次提交')
            one_time2 = get_val('one_time2')
            one_advance = get_val('one_advance')
            strategy_type = get_dick('strategy_type')
            if strategy_type == '2':
                set_val('current_pricestatus', '动态提交中')
            else:
                current_pricestatus = '{0:.1f}秒提前{1}'.format(
                    one_time2, one_advance)
                set_val('current_pricestatus', current_pricestatus)
            ##5.1秒后调用取消出
            timer = threading.Timer(5.1, Cancel_chujia)
            timer.start()
        elif tijiao_num == 2 and twice:
            own_price2 = lowest_price + second_diff
            set_val('own_price2', own_price2)
            guopai_chujia(own_price2)
            set_val('current_pricestatus_label', '等待第三次提交')
            second_time2 = get_val('second_time2')
            second_advance = get_val('second_advance')
            strategy_type = get_dick('strategy_type')

            ##提交关闭
            set_val('tijiao_OK', False)
    else:
        wx.CallAfter(pub.sendMessage, 'moni chujia')  # 调用方法
    set_val('tijiao_on', True)
    set_val('chujia_on', False)
    set_val('chujia_interval', False)  # 间隔结束
Ejemplo n.º 10
0
def init_strategy():
    set_val('smartprice_chujia', False)
    strategy_type = get_dick('strategy_type')
    init_description()
    if strategy_type == '0':
        init_strategy0()
    elif strategy_type == '1':
        init_strategy1()
    elif strategy_type == '2':
        init_strategy2()
    elif strategy_type == '3':
        init_strategy3()
Ejemplo n.º 11
0
    def init_dlg(self):
        identify = get_val('identify')
        set_val('identify', identify)
        strategy_data = get_val('strategy_data')
        strategy_dick = strategy_data[identify]['strategy_dick']
        strategy_dick = json.loads(strategy_dick)
        set_strategy_dick(strategy_dick)
        strategy_type = get_dick('strategy_type')
        strategy_list = get_dick(str(strategy_type))
        advance_list = [100, 200, 300, 0]

        if strategy_type == '2':
            self.second_tijiao_pricediff_smart1.SetSelection(
                advance_list.index(strategy_list[14]))
            self.second_tijiaoyanchi_time_smart1.SetValue(strategy_list[15])
            self.second_tijiao_time_smart1.SetValue(strategy_list[16])
            self.second_tijiao_pricediff_smart2.SetSelection(
                advance_list.index(strategy_list[17]))
            self.second_tijiaoyanchi_time_smart2.SetValue(strategy_list[18])
            self.second_tijiao_time_smart2.SetValue(strategy_list[19])
            self.second_tijiao_pricediff_smart3.SetSelection(
                advance_list.index(strategy_list[20]))
            self.second_tijiaoyanchi_time_smart3.SetValue(strategy_list[21])
            self.second_tijiao_time_smart3.SetValue(strategy_list[22])
            self.second_tijiao_time_smart.SetValue(strategy_list[23])

        elif strategy_type == '3':
            self.second_tijiao_pricediff_smart1.SetSelection(
                advance_list.index(strategy_list[14]))
            self.second_tijiaoyanchi_time_smart1.SetValue(strategy_list[15])
            self.second_tijiao_time_smart1.SetValue(strategy_list[16])
            self.second_tijiao_pricediff_smart2.SetSelection(
                advance_list.index(strategy_list[17]))
            self.second_tijiaoyanchi_time_smart2.SetValue(strategy_list[18])
            self.second_tijiao_time_smart2.SetValue(strategy_list[19])
            self.second_tijiao_pricediff_smart3.SetSelection(
                advance_list.index(strategy_list[20]))
            self.second_tijiaoyanchi_time_smart3.SetValue(strategy_list[21])
            self.second_tijiao_time_smart3.SetValue(strategy_list[22])
            self.second_tijiao_time_smart.SetValue(strategy_list[23])
Ejemplo n.º 12
0
 def Yanzhengma_scale(self):
     ##------------------------------
     ###判定验证码放大框
     final_stage = get_val('final_stage')
     yanzhengma_view = get_val('yanzhengma_view')
     Yanzhengmasize = get_val('Yanzhengmasize')
     if final_stage:
         find_yan_confirm()
         yanzhengma_scale = get_dick('yanzhengma_scale')
         if yanzhengma_scale:
             yanzhengma_close = get_val("yanzhengma_close")
             if yanzhengma_close:
                 try:
                     if self.yanzhengmaframe.IsShown():
                         self.yanzhengmaframe.Show(False)
                         self.tipframe.Show(False)  ##关闭提交提示
                         set_val('auto_yanzhengma_on',
                                 False)  ##关闭自动关闭验证码的触发
                         self.currentstatusframe.Show(True)
                         set_val('yanzhengma_view', False)  #开关与动作在一起
                 except:
                     logger.exception('this is an exception message')
             #验证码放大是否需要刷新
             if yanzhengma_view:
                 auto_yanzhengma_on = get_val("auto_yanzhengma_on")
                 set_val('yanzhengma_close', False)
                 path = get_val('path')
                 yanpath = path + "\\yanzhengma.png"
                 cut_pic(Yanzhengmasize, yanpath)  # 直接调用得到 png 保存图片
                 try:
                     yanpath = get_val('yanpath')
                     yan = self.yanzhengmaframe
                     yan.Show()
                     yan.ShowImage(yanpath)
                     self.currentstatusframe.Show(False)
                     ##打开提示
                     if not auto_yanzhengma_on:
                         self.tipframe.Show(True)
                         self.tipframe.ShowImage('icons/tip1.png')
                     else:
                         self.tipframe.Show(True)
                         self.tipframe.ShowImage('icons/tip2.png')
                 except:  # 找不到的情况下也要重新创建
                     logger.exception('this is an exception message')
                 finally:
                     pass
     else:
         set_val('yanzhengma_view', False)
         set_val('yanzhengma_close', True)
         if self.yanzhengmaframe.IsShown():
             self.yanzhengmaframe.Show(False)
             self.currentstatusframe.Show(True)
Ejemplo n.º 13
0
 def refreshweb(self, event):
     tijiao_on = get_val('tijiao_on')
     enter_on = get_dick('enter_on')
     smartprice_chujia = get_val('smartprice_chujia')
     if not enter_on:
         set_val('tijiao_OK', True)
         set_val('yanzhengma_view', False)
         set_val('yanzhengma_close', True)
         set_val('yanzhengma_control', False)
     elif not enter_on and smartprice_chujia:
         set_val('tijiao_OK', True)
         set_val('yanzhengma_view', False)
         set_val('yanzhengma_close', True)
         set_val('yanzhengma_control', False)
Ejemplo n.º 14
0
    def update_strategy(self):
        strategy_data = get_val('strategy_data')
        identify = get_val("identify")
        strategy_dick = strategy_data[identify]['strategy_dick']
        strategy_type = get_dick('strategy_type')
        advance_list = [100, 200, 300, 0]
        templist = strategy_dick[strategy_type]
        if strategy_type == '2':
            templist[14] = advance_list[
                self.second_tijiao_pricediff_smart1.GetSelection()]
            templist[15] = self.second_tijiaoyanchi_time_smart1.GetValue()
            templist[16] = self.second_tijiao_time_smart1.GetValue()
            templist[17] = advance_list[
                self.second_tijiao_pricediff_smart2.GetSelection()]
            templist[18] = self.second_tijiaoyanchi_time_smart2.GetValue()
            templist[19] = self.second_tijiao_time_smart2.GetValue()
            templist[20] = advance_list[
                self.second_tijiao_pricediff_smart3.GetSelection()]
            templist[21] = self.second_tijiaoyanchi_time_smart3.GetValue()
            templist[22] = self.second_tijiao_time_smart3.GetValue()
            templist[23] = self.second_tijiao_time_smart.GetValue()

        elif strategy_type == '3':
            templist[14] = advance_list[
                self.second_tijiao_pricediff_smart1.GetSelection()]
            templist[15] = self.second_tijiaoyanchi_time_smart1.GetValue()
            templist[16] = self.second_tijiao_time_smart1.GetValue()
            templist[17] = advance_list[
                self.second_tijiao_pricediff_smart2.GetSelection()]
            templist[18] = self.second_tijiaoyanchi_time_smart2.GetValue()
            templist[19] = self.second_tijiao_time_smart2.GetValue()
            templist[20] = advance_list[
                self.second_tijiao_pricediff_smart3.GetSelection()]
            templist[21] = self.second_tijiaoyanchi_time_smart3.GetValue()
            templist[22] = self.second_tijiao_time_smart3.GetValue()
            templist[23] = self.second_tijiao_time_smart.GetValue()
        strategy_dick[strategy_type] = templist
        strategy_data[identify]['strategy_dick'] = json.dumps(strategy_dick)
        set_val('strategy_data', strategy_data)
Ejemplo n.º 15
0
 def init_strategy(self):
     strategy_type = get_dick('strategy_type')
     self.update_ui(strategy_type)
Ejemplo n.º 16
0
    def update_ui(self, strategy_type):  ##根据不同的出价策略调整界面
        strategy_list = get_dick(strategy_type)
        if strategy_type == '0':  # 单次
            init_strategy()
            set_val('one_time1', strategy_list[1])  # 第一次出价加价
            set_val('one_diff', strategy_list[2])  # 第一次加价幅度
            set_val('one_advance', strategy_list[3])  # 第一次提交提前量
            set_val('one_delay', strategy_list[4])  # 第一次延迟
            set_val('one_time2', strategy_list[5])  # 第一次出价提交
            set_val('second_forcetijiao_on', strategy_list[6])  # 强制提交
            set_val('smart_autoprice', strategy_list[7])  # 强制提交

            one_time1 = get_val('one_time1')
            one_time2 = get_val('one_time2')
            second_time1 = get_val('second_time1')
            second_time2 = get_val('second_time2')
            set_val('one_real_time1', gettime(one_time1))
            set_val('one_real_time2', gettime(one_time2))
            set_val('second_real_time1', gettime(second_time1))
            set_val('second_real_time2', gettime(second_time2))
            self.Layout()

        elif strategy_type == '1':  # 双枪
            init_strategy()
            set_val('one_time1', strategy_list[1])  # 第一次出价加价
            set_val('one_diff', strategy_list[2])  # 第一次加价幅度
            set_val('one_advance', strategy_list[3])  # 第一次提交提前量
            set_val('one_delay', strategy_list[4])  # 第一次延迟
            set_val('one_time2', strategy_list[5])  # 第一次出价提交
            set_val('one_forcetijiao_on', strategy_list[6])

            set_val('second_time1', strategy_list[8])  # 第二次次出价加价
            set_val('second_diff', strategy_list[9])  # 第二次加价幅度
            set_val('second_advance', strategy_list[10])  # 第二次出价提交提前量
            set_val('second_delay', strategy_list[11])  # 第二次出价延迟
            set_val('second_time2', strategy_list[12])  # 第二次出价提交
            set_val('second_forcetijiao_on', strategy_list[13])

            one_time1 = get_val('one_time1')
            one_time2 = get_val('one_time2')
            second_time1 = get_val('second_time1')
            second_time2 = get_val('second_time2')
            set_val('one_real_time1', gettime(one_time1))
            set_val('one_real_time2', gettime(one_time2))
            set_val('second_real_time1', gettime(second_time1))
            set_val('second_real_time2', gettime(second_time2))

        elif strategy_type == '2':  # 单枪动态提交
            init_strategy()
            set_val('one_time1', strategy_list[1])  # 第一次出价加价
            set_val('one_diff', strategy_list[2])  # 第一次加价幅度
            set_val('smart_autoprice', strategy_list[7])  # 强制提交

            set_val('one_advance_smart1', strategy_list[14])
            set_val('one_delay_smart1', strategy_list[15])
            set_val('one_time2_smart1', strategy_list[16])
            set_val('one_advance_smart2', strategy_list[17])
            set_val('one_delay_smart2', strategy_list[18])
            set_val('one_time2_smart2', strategy_list[19])
            set_val('one_advance_smart3', strategy_list[20])
            set_val('one_delay_smart3', strategy_list[21])
            set_val('one_time2_smart3', strategy_list[22])
            set_val('one_time2_smart', strategy_list[23])

            set_val('one_real_time1', gettime(strategy_list[1]))  ##第一次出价时间戳
            set_val('one_realtime2_smart1', gettime(strategy_list[16]))
            set_val('one_realtime2_smart2', gettime(strategy_list[19]))
            set_val('one_realtime2_smart3', gettime(strategy_list[22]))
            set_val('one_realtime2_smart', gettime(strategy_list[23]))

        elif strategy_type == '3':  # 双枪动态提交
            init_strategy()

            set_val('one_time1', strategy_list[1])  # 第一次出价加价
            set_val('one_diff', strategy_list[2])  # 第一次加价幅度
            set_val('one_advance', strategy_list[3])  # 第一次提交提前量
            set_val('one_delay', strategy_list[4])  # 第一次延迟
            set_val('one_time2', strategy_list[5])  # 第一次出价提交
            set_val('one_forcetijiao_on', strategy_list[6])

            set_val('second_time1', strategy_list[8])  # 第二次次出价加价
            set_val('second_diff', strategy_list[9])  # 第二次加价幅度

            set_val('one_advance_smart1', strategy_list[14])
            set_val('one_delay_smart1', strategy_list[15])
            set_val('one_time2_smart1', strategy_list[16])
            set_val('one_advance_smart2', strategy_list[17])
            set_val('one_delay_smart2', strategy_list[18])
            set_val('one_time2_smart2', strategy_list[19])
            set_val('one_advance_smart3', strategy_list[20])
            set_val('one_delay_smart3', strategy_list[21])
            set_val('one_time2_smart3', strategy_list[22])
            set_val('one_time2_smart', strategy_list[23])

            one_time1 = get_val('one_time1')
            one_time2 = get_val('one_time2')
            second_time1 = get_val('second_time1')
            set_val('one_real_time1', gettime(one_time1))
            set_val('one_real_time2', gettime(one_time2))
            set_val('second_real_time1', gettime(second_time1))

            set_val('one_realtime2_smart1', gettime(strategy_list[16]))
            set_val('one_realtime2_smart2', gettime(strategy_list[19]))
            set_val('one_realtime2_smart3', gettime(strategy_list[22]))
            set_val('one_realtime2_smart', gettime(strategy_list[23]))

            self.Layout()
Ejemplo n.º 17
0
    def Modify(self):  # 更新
        self.SetForegroundColour('#FF8000')  ##设置文字颜色
        x1, y1 = get_val('status_time')
        x2, y2 = get_val('lowestprice_text')
        x3, y3 = get_val('pricelabeltext')
        x4, y4 = get_val('pricetext')
        x5, y5 = get_val('timestatustext')
        x6, y6 = get_val('pricestatustext')
        ##当前时间label
        currenttime_label = get_val("currenttime_label")
        dc = wx.BufferedDC(
            wx.ClientDC(self))  # ClientDC客户区  ,BufferedDC双缓冲绘图设备
        a_time = get_val('a_time')
        temp = int((a_time - int(a_time)) * 10)
        time_local = time.localtime(a_time)
        st = time.strftime("%H:%M:%S", time_local)  # + '.' + str(b_time)
        set_val('a_time_str', st)

        # st="%s:%s:%s"%(b_time[0],b_time[1],b_time[2])
        st = '{0}{1}.{2}'.format(currenttime_label, st, temp)
        w, h = self.GetClientSize()
        dc.SetBackground(wx.Brush(self.GetBackgroundColour()))
        dc.Clear()
        dc.SetFont(self.timefont)
        tw, th = dc.GetTextExtent(st)
        dc.DrawText(st, x1, y1)

        ##显示最低成交价
        findpos_on = get_val('findpos_on')
        yanzhengma_view = get_val('yanzhengma_view')
        final_stage = get_val('final_stage')  ##判断是不是11点之后

        if findpos_on or yanzhengma_view or not final_stage:  ##final_stage 是否处于修改出价阶段
            if self.parent.IsShown():
                self.parent.Show(False)
            # lowestpricelabel = get_val('lowestpricelabel')
            # lowestpricetext = "{0}: {1}".format(lowestpricelabel, '未识别')
            # dc.DrawText(lowestpricetext, x2, y2)
        else:
            if not self.parent.IsShown():
                self.parent.Show(True)
            lowest_price = get_val('lowest_price')
            lowestpricelabel = get_val('lowestpricelabel')
            lowestpricetext = "{0}: {1}".format(lowestpricelabel, lowest_price)
            dc.DrawText(lowestpricetext, x2, y2)

            ##第二行  出价情况
            userprice = get_val('userprice')
            tijiao_on = get_val('tijiao_on')
            usertime = get_val('usertime')
            smartprice_chujia = get_val('smartprice_chujia')
            strategy_type = get_dick('strategy_type')

            if userprice and tijiao_on:  ##提交状态
                current_pricestatus_label = get_val(
                    'current_pricestatus_label')
                current_pricestatus = get_val('current_pricestatus')
                pricelabeltext = "{0}".format(current_pricestatus_label)
                pricetext = "{0}".format(current_pricestatus)
                ##第三行  剩余状态
                # 显示截止时间与当前时间相差
                max_price = get_val('lowest_price') + 300
                diff_price = int(userprice) - max_price
                # 显示截止时间与当前时间相差
                currenttime = get_val('a_time')
                timediff = float(usertime) - float(currenttime)
                timestatustext = "提交倒计时{0:.1f}秒".format(timediff)
                pricestatustext = "差价{0}".format(diff_price)
                dc.DrawText(pricelabeltext, x3, y3)
                dc.DrawText(pricetext, x4, y4)
                dc.DrawText(timestatustext, x5, y5)
                dc.DrawText(pricestatustext, x6, y6)
            else:
                if smartprice_chujia:
                    current_pricestatus_label = get_val(
                        'current_pricestatus_label')
                    current_pricestatus = get_val('current_pricestatus')
                    pricelabeltext = "{0}".format(current_pricestatus_label)
                    pricetext = "{0}".format(current_pricestatus)
                    ##第三行  剩余状态
                    max_price = get_val('lowest_price') + 300
                    # diff_price = int(userprice) - max_price
                    diff_price = '-'
                    timediff = '-'
                    timestatustext = "提交倒计时{0}秒".format(timediff)
                    pricestatustext = "差价{0}".format(diff_price)
                    dc.DrawText(pricelabeltext, x3, y3)
                    dc.DrawText(pricetext, x4, y4)
                    dc.DrawText(timestatustext, x5, y5)
                    dc.DrawText(pricestatustext, x6, y6)
                else:
                    tijiao_num = get_val('tijiao_num')
                    # 显示截止时间与当前时间相差
                    currenttime = get_val('a_time')
                    if tijiao_num == 1:
                        one_time1 = get_val('one_real_time1')
                        timediff = float(one_time1) - float(currenttime)
                        ##修改状态
                        one_time1 = get_val('one_time1')
                        one_diff = get_val('one_diff')
                        current_pricestatus = '{0}秒加{1}'.format(
                            one_time1, one_diff)
                        set_val('current_pricestatus', current_pricestatus)
                    elif tijiao_num == 2:
                        second_real_time1 = get_val('second_real_time1')
                        timediff = float(second_real_time1) - float(
                            currenttime)
                        ##修改状态
                        second_time1 = get_val('second_time1')
                        second_diff = get_val('second_diff')
                        current_pricestatus = '{0}秒加{1}'.format(
                            second_time1, second_diff)
                        set_val('current_pricestatus', current_pricestatus)
                    else:
                        timediff = '-'
                    current_pricestatus_label = get_val(
                        'current_pricestatus_label')
                    current_pricestatus = get_val('current_pricestatus')
                    pricelabeltext = "{0}".format(current_pricestatus_label)
                    pricetext = "{0}".format(current_pricestatus)
                    if timediff == '-':
                        timestatustext = "出价倒计时{0}秒".format(timediff)
                    else:
                        timestatustext = "出价倒计时{0:.1f}秒".format(timediff)

                # pricestatustext = "差价{0}".format('-')
                    pricestatustext = "请勿操作"
                    dc.DrawText(pricelabeltext, x3, y3)
                    dc.DrawText(pricetext, x4, y4)
                    dc.DrawText(timestatustext, x5, y5)
                    dc.DrawText(pricestatustext, x6, y6)
Ejemplo n.º 18
0
    def tijiao(self):
        # -------------------------------------------------------
        lowest_price = get_val('lowest_price')
        own_price1 = get_val('own_price1')
        own_price2 = get_val('own_price2')
        strategy_on = get_val('strategy_on')
        second_real_time2 = get_val('second_real_time2')
        one_advance = get_val('one_advance')
        second_advance = get_val('second_advance')
        tijiao_num = get_val('tijiao_num')
        tijiao_OK = get_val('tijiao_OK')
        tijiao_on = get_val('tijiao_on')
        a_time = get_val('a_time')
        one_real_time2 = get_val('one_real_time2')
        one_delay = get_val('one_delay')
        second_delay = get_val('second_delay')
        smartprice_chujia = get_val('smartprice_chujia')  ##智能出价
        one_forcetijiao_on = get_val('one_forcetijiao_on')
        second_forcetijiao_on = get_val('second_forcetijiao_on')
        strategy_type = get_dick('strategy_type')
        ##提交
        one_advance_smart1 = get_val('one_advance_smart1')
        one_delay_smart1 = get_val('one_delay_smart1')
        one_realtime2_smart1 = get_val('one_realtime2_smart1')
        one_advance_smart2 = get_val('one_advance_smart2')
        one_delay_smart2 = get_val('one_delay_smart2')
        one_realtime2_smart2 = get_val('one_realtime2_smart2')
        one_advance_smart3 = get_val('one_advance_smart3')
        one_delay_smart3 = get_val('one_delay_smart3')
        one_realtime2_smart3 = get_val('one_realtime2_smart3')
        one_realtime2_smart = get_val('one_realtime2_smart')
        smartprice_tijiao = get_val('smartprice_tijiao')
        ##提交
        # if not smartprice_tijiao:  ##智能出价触发之后出价无效
        if strategy_type == '2':  ##单枪动态提交
            if tijiao_on and strategy_on and tijiao_OK:  # 判断是否需要提交,国拍开启状态方可触发
                if lowest_price >= own_price1 - 300 - one_advance_smart1 and a_time <= one_realtime2_smart1 + 0.1:  # 判断是否满足条件
                    OnClick_Tijiao(one_delay_smart1)
                    wx.CallAfter(pub.sendMessage,
                                 'update info',
                                 action=f'触发动态提交')
                elif lowest_price >= own_price1 - 300 - one_advance_smart2 \
                        and one_realtime2_smart1 + 0.1 <= a_time <= one_realtime2_smart2 + 0.1:  # 判断是否满足条件
                    OnClick_Tijiao(one_delay_smart2)
                    wx.CallAfter(pub.sendMessage,
                                 'update info',
                                 action=f'触发动态提交')
                elif lowest_price >= own_price1 - 300 - one_advance_smart3 \
                        and one_realtime2_smart2 + 0.1 <= a_time \
                        <= min(one_realtime2_smart3 + 0.1, one_realtime2_smart - one_delay_smart3):  # 判断是否满足条件
                    OnClick_Tijiao(one_delay_smart3)
                    wx.CallAfter(pub.sendMessage,
                                 'update info',
                                 action=f'触发动态提交')
                elif a_time >= one_realtime2_smart:  # 截止时间
                    OnClick_Tijiao()
                    wx.CallAfter(pub.sendMessage,
                                 'update info',
                                 action=f'触发动态提交')

        elif strategy_type == '3':  ##双枪动态提交
            if tijiao_on and strategy_on and tijiao_OK:  # 判断是否需要提交,国拍开启状态方可触发
                if tijiao_num == 1:
                    if a_time >= one_real_time2 and one_forcetijiao_on:  # 判断是否满足条件
                        OnClick_Tijiao()
                        wx.CallAfter(pub.sendMessage,
                                     'update info',
                                     action=f'触发第二次出价提交')
                    elif lowest_price >= own_price1 - 300 - one_advance and a_time <= one_real_time2 - one_delay:  # 价格判断
                        OnClick_Tijiao(one_delay)
                        wx.CallAfter(pub.sendMessage,
                                     'update info',
                                     action=f'触发第二次出价提交')
                    elif lowest_price >= own_price1 - 300 - one_advance and a_time > one_real_time2:  # 价格判断
                        OnClick_Tijiao()  ##价格到了,同时时间也到了
                        wx.CallAfter(pub.sendMessage,
                                     'update info',
                                     action=f'触发第二次出价提交')
                elif tijiao_num == 2:
                    if lowest_price >= own_price2 - 300 - one_advance_smart1 and a_time <= one_realtime2_smart1 + 0.1:  # 判断是否满足条件
                        OnClick_Tijiao(one_delay_smart1)
                        wx.CallAfter(pub.sendMessage,
                                     'update info',
                                     action=f'触发第三次出价提交')
                    elif lowest_price >= own_price2 - 300 - one_advance_smart2 \
                            and one_realtime2_smart1 + 0.1 <= a_time <= one_realtime2_smart2 + 0.1:  # 55.1时间会有点超出
                        OnClick_Tijiao(one_delay_smart2)
                        wx.CallAfter(pub.sendMessage,
                                     'update info',
                                     action=f'触发第三次出价提交')
                    elif lowest_price >= own_price2 - 300 - one_advance_smart3 \
                            and one_realtime2_smart2 + 0.1 <= a_time \
                            <= min(one_realtime2_smart3 + 0.1, one_realtime2_smart - one_delay_smart3):  # 判断是否满足条件
                        OnClick_Tijiao(one_delay_smart3)  # 考虑延迟时间
                        wx.CallAfter(pub.sendMessage,
                                     'update info',
                                     action=f'触发第三次出价提交')
                    elif a_time >= one_realtime2_smart:  # 截止时间
                        OnClick_Tijiao()
                        wx.CallAfter(pub.sendMessage,
                                     'update info',
                                     action=f'触发第三次出价提交')
        else:
            if tijiao_on and strategy_on and tijiao_OK:  # 判断是否需要提交,国拍开启状态方可触发
                if tijiao_num == 1 and a_time >= one_real_time2 and one_forcetijiao_on:  # 判断是否满足条件
                    OnClick_Tijiao(one_delay)
                    wx.CallAfter(pub.sendMessage,
                                 'update info',
                                 action=f'触发第二次出价提交')
                    # SmartTijiao()
                elif tijiao_num == 2 and a_time >= second_real_time2 and second_forcetijiao_on:  # 判断是否满足条件
                    OnClick_Tijiao(second_delay)
                    wx.CallAfter(pub.sendMessage,
                                 'update info',
                                 action=f'触发第三次出价提交')
                    # SmartTijiao()
                elif tijiao_num == 1 and lowest_price >= own_price1 - 300 - one_advance and a_time <= one_real_time2 - one_delay:  # 价格判断
                    OnClick_Tijiao(one_delay)
                    wx.CallAfter(pub.sendMessage,
                                 'update info',
                                 action=f'触发第二次出价提交')
                elif tijiao_num == 2 and lowest_price >= own_price2 - 300 - second_advance and a_time <= second_real_time2 - second_delay:  # 价格判断
                    OnClick_Tijiao(second_delay)
                    wx.CallAfter(pub.sendMessage,
                                 'update info',
                                 action=f'触发第三次出价提交')

        ###-----------------------------------------------------------------------------
        ##智能出价之后提交判定
        userprice = get_val('userprice')
        final_time = get_val('final_time')
        # print('smartprice_chujia', smartprice_chujia)
        # print('tijiao_OK', tijiao_OK)
        smartprice_tijiao = get_val('smartprice_tijiao')
        if smartprice_chujia and tijiao_OK:
            if lowest_price >= userprice - 300 or a_time >= final_time:
                set_val('smartprice_tijiao', False)  ##关闭确认查找,停止智能出价
                print("智能提交ffffffffffffff")
                OnClick_Tijiao()  # 调用方法
Ejemplo n.º 19
0
 def chujia(self):
     # -------------------------------------------------------
     lowest_price = get_val('lowest_price')
     strategy_on = get_val('strategy_on')
     second_real_time1 = get_val('second_real_time1')
     second_real_time2 = get_val('second_real_time2')
     tijiao_num = get_val('tijiao_num')
     chujia_on = get_val('chujia_on')
     a_time = get_val('a_time')
     one_real_time1 = get_val('one_real_time1')
     one_real_time2 = get_val('one_real_time2')
     twice = get_val('twice')
     one_diff = get_val('one_diff')
     second_diff = get_val('second_diff')
     strategy_type = get_dick('strategy_type')
     one_realtime2_smart = get_val('one_realtime2_smart')
     ##出价
     if strategy_type == '2':  ##如果为动态提交
         if strategy_on and chujia_on:  # 判断是否需要提交,国拍开启状态方可触发
             if tijiao_num == 1 and one_real_time1 <= a_time <= one_real_time1 + 0.6:  # 判断是否满足条件
                 set_val('own_price1', lowest_price + one_diff)
                 set_val('userprice', lowest_price + one_diff)
                 set_val('usertime', one_realtime2_smart)
                 OnClick_chujia()  # 调用出价
                 userprice = get_val('userprice')
                 wx.CallAfter(pub.sendMessage,
                              'update info',
                              action=f'第二次出价{userprice}')
     elif strategy_type == '3':
         if strategy_on and chujia_on:  # 判断是否需要提交,国拍开启状态方可触发
             if tijiao_num == 1 and one_real_time1 <= a_time <= one_real_time1 + 0.6:  # 判断是否满足条件
                 set_val('own_price1', lowest_price + one_diff)
                 set_val('userprice', lowest_price + one_diff)
                 set_val('usertime', one_real_time2)  # 设定当前的截止时间
                 OnClick_chujia()  # 调用出价
                 userprice = get_val('userprice')
                 wx.CallAfter(pub.sendMessage,
                              'update info',
                              action=f'第二次出价{userprice}')
             elif tijiao_num == 2 and twice and second_real_time1 <= a_time:  # 判断是否满足条件
                 set_val('own_price2', lowest_price + second_diff)
                 set_val('userprice', lowest_price + second_diff)
                 set_val('usertime', one_realtime2_smart)  # 设定当前的截止时间
                 set_val('tijiao_on', True)
                 ##国拍与模拟触发方式不一样
                 OnClick_chujia()  # 调用出价
                 userprice = get_val('userprice')
                 wx.CallAfter(pub.sendMessage,
                              'update info',
                              action=f'第三次出价{userprice}')
     else:
         if strategy_on and chujia_on:  # 判断是否需要提交,国拍开启状态方可触发
             if tijiao_num == 1 and one_real_time1 <= a_time <= one_real_time1 + 0.6:  # 判断是否满足条件
                 set_val('own_price1', lowest_price + one_diff)
                 set_val('userprice', lowest_price + one_diff)
                 set_val('usertime', one_real_time2)  # 设定当前的截止时间
                 OnClick_chujia()  # 调用出价
                 userprice = get_val('userprice')
                 wx.CallAfter(pub.sendMessage,
                              'update info',
                              action=f'第二次出价{userprice}')
             elif tijiao_num == 2 and twice and second_real_time1 <= a_time:  # 判断是否满足条件
                 set_val('own_price2', lowest_price + second_diff)
                 set_val('userprice', lowest_price + second_diff)
                 set_val('usertime', second_real_time2)  # 设定当前的截止时间
                 set_val('tijiao_on', True)
                 ##国拍与模拟触发方式不一样
                 OnClick_chujia()  # 调用出价
                 userprice = get_val('userprice')
                 wx.CallAfter(pub.sendMessage,
                              'update info',
                              action=f'第三次出价{userprice}')