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])
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()
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)
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()
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)
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) ##设置成查看状态
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)
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)
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) # 间隔结束
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()
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])
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)
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)
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)
def init_strategy(self): strategy_type = get_dick('strategy_type') self.update_ui(strategy_type)
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()
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)
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() # 调用方法
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}')