def countTotTerm(opentime,termnum): """ 计算总期数 如果是时间分段那么要算时间跨度+1 """ if opentime == 'all': M = 24 * 60 if M % termnum >0: PubErrorCustom("根据开奖时间和期数间隔时间无法精确算出总期数,请调整后提交!") return int(M / termnum) else: ut = UtilTime() tot = 0 C = opentime.split('|') for item in C: start_time = item.split('-')[0] end_time = item.split('-')[1] a = ut.arrow_to_string(ut.string_to_arrow(string_s=end_time, format_v="HHmm").shift(hours=-(int(start_time[0:2])), minutes=-(int(start_time[2:4]))), "HH:mm") tot += int(a.split(":")[0]) * 60 + int(a.split(":")[1]) return tot/20+len(C)
def save(self, *args, **kwargs): if not self.createtime: self.createtime = UtilTime().timestamp print(self.createtime) self.updtime = UtilTime().timestamp return super(Cardvirtual, self).save(*args, **kwargs)
def get_sendobjects_format(self,obj): ut = UtilTime() res = "" if obj.type == '1': return "全部粉丝" else: if obj.select_sex == '1': res+='仅男性粉丝' elif obj.select_sex == '2': res += '仅女性粉丝' elif obj.select_sex == '0': res += '未知性别' if len(obj.select_followtime): res += "{}-{}".format(ut.timestamp_to_string(obj.select_followtime.split('-')[0]),ut.timestamp_to_string(obj.select_followtime.split('-')[1])) if len(obj.select_province) and len(obj.select_city): res += "{}-{}".format(obj.select_province,obj.select_city) for j,item in enumerate(AccTag.objects.filter(id__in=json.loads(obj.select_tags))): if j>0: res += "," res += item.name return res
def OrderCanleSysEx(self, request): logger.info("晚上批量处理订单!") today = UtilTime().today.shift(minutes=ORDERCANLETIME * -1) for order in Order.objects.select_for_update().filter( createtime__lte=today.timestamp, status='0'): OrderBase(order=order).callbackStock() order.status = '9' order.save() today = UtilTime().today.shift(days=-7) for order in Order.objects.select_for_update().filter( fhtime__lte=today.timestamp, status='2'): order.status = '3' order.save() today = UtilTime().today.shift(days=-1) for order in Order.objects.select_for_update().filter( createtime__lte=today.timestamp, status='9'): order.status = '8' order.save() logger.info("晚上批量处理成功!")
def save(self, *args, **kwargs): if not self.createtime: self.createtime = UtilTime().timestamp print(self.createtime) self.updtime = UtilTime().timestamp return super(DeliveryCode, self).save(*args, **kwargs)
def makeQgIsOk(self, request, *args, **kwargs): """ 抢购 """ try: obj = Makes.objects.get( active_id=request.data_format.get('active_id'), userid=request.user['userid']) try: acObj = Active.objects.get( id=request.data_format.get('active_id')) except Active.DoesNotExist: raise PubErrorCustom("此活动不存在!") if acObj.status != '0': raise PubErrorCustom("此活动已关闭!") if acObj.start_time1 / 1000 > UtilTime().timestamp: raise PubErrorCustom("此活动抢购时间未开始!") if acObj.end_time1 / 1000 <= UtilTime().timestamp: raise PubErrorCustom("此活动抢购时间已结束!") if obj.status != '1': raise PubErrorCustom("只有预约成功才能进行抢购!") obj.status = '3' obj.save() except Makes.DoesNotExist: raise PubErrorCustom("未预约!")
def save(self, *args, **kwargs): ut = UtilTime() if not self.date: self.date = ut.arrow_to_string(format_v="YYYY-MM-DD") if not self.createtime: self.createtime = ut.timestamp return super(AccSend, self).save(*args, **kwargs)
def save(self, *args, **kwargs): if not self.orderid: self.orderid = idGenerator().ordercode() if not self.createtime: self.createtime = UtilTime().timestamp self.updtime = UtilTime().timestamp return super(Order, self).save(*args, **kwargs)
def save(self, *args, **kwargs): if not self.typeid: self.typeid = idGenerator.goodsthemecategory() if not self.createtime: self.createtime = UtilTime().timestamp self.updtime = UtilTime().timestamp return super(GoodsTheme, self).save(*args, **kwargs)
def save(self, *args, **kwargs): if not self.gdcgid: self.gdcgid = idGenerator.goodscategory() if not self.createtime: self.createtime = UtilTime().timestamp self.updtime = UtilTime().timestamp return super(GoodsCateGory, self).save(*args, **kwargs)
def timeHandler(timeSpan, timeUnit): if timeUnit == 'y': return UtilTime().today.shift(years=timeSpan).timestamp elif timeUnit == 'm': return UtilTime().today.shift(months=timeSpan).timestamp elif timeUnit == 'd': return UtilTime().today.shift(days=timeSpan).timestamp elif timeUnit == 'h': return UtilTime().today.shift(hours=timeSpan).timestamp else: return timeUnit
def save(self, *args, **kwargs): if not self.gdid: self.gdid = idGenerator.goods() # self.qrcode = get_qrcode_wechat(self.gdid) if not self.createtime: self.createtime = UtilTime().timestamp self.updtime = UtilTime().timestamp # self.qrcode = get_qrcode_wechat(self.gdid) return super(Goods, self).save(*args, **kwargs)
def viphandler(time,unit,term): ut = UtilTime() exprise= 0 paytime_arrow = ut.timestamp_to_arrow(time) if unit == '0': exprise = paytime_arrow.shift(weeks=term).timestamp elif unit == '1': exprise = paytime_arrow.shift(months=term).timestamp elif unit == '2': exprise = paytime_arrow.shift(years=term).timestamp return exprise
def sync(accid): logger.info("[{}]正在处理[{}]公众号标签同步...".format(UtilTime().arrow_to_string(), accid)) AccTag.objects.filter(accid=accid).update(umark='1') res = WeChatAccTag(accid=accid, isAccessToken=True).get_tag_list() handler(accid, res['tags']) logger.info("公众号[{}]标签同步[{}]处理完毕!".format(accid, UtilTime().arrow_to_string()))
def getOrderWeb(self, request): query_format = str() query_params = list() if request.query_params_format.get("cpid"): query_format = query_format + " and t1.cpid =%s" query_params.append(request.query_params_format.get("cpid")) if request.query_params_format.get("status"): query_format = query_format + " and t1.status =%s" query_params.append(request.query_params_format.get("status")) if request.query_params_format.get("userid"): query_format = query_format + " and t1.userid =%s" query_params.append(request.query_params_format.get("userid")) if request.query_params_format.get("orderid"): query_format = query_format + " and t1.orderid =%s" query_params.append(request.query_params_format.get("orderid")) if request.query_params_format.get( "startdate") and request.query_params_format.get("enddate"): query_format = query_format + " and t1.createtime>={} and t1.createtime<={}".format( UtilTime().string_to_timestamp( request.query_params_format.get("startdate")), UtilTime().string_to_timestamp( request.query_params_format.get("enddate"))) # limit_format = " limit %d,%d" % ((page - 1) * page_size, page_size) orders = list( Order.objects.raw( """ SELECT t1.*,t2.name as cpname,t2.url as cpurl,t3.name as gamename,t4.name as minitypename FROM `order` as t1 INNER JOIN `cp` as t2 ON t1.cpid = t2.id INNER JOIN `cpgames` as t3 ON t1.gamesid = t3.typeid INNER JOIN `cpminitype` as t4 ON t3.minitypeid = t4.typeid WHERE 1=1 %s order by t1.createtime desc """ % (query_format), query_params)) page = int(request.query_params_format.get('page')) page_size = int(request.query_params_format.get('page_size')) page_start = page_size * page - page_size page_end = page_size * page count = len(orders) return { "data": OrderSerializer(orders[page_start:page_end], many=True).data, "count": count }
def save(self, *args, **kwargs): if not self.account: self.account = idGenerator.getcardid() if not self.password: self.password = random.randint(10000000, 99999999) if not self.createtime: self.createtime = UtilTime().timestamp print(self.createtime) self.updtime = UtilTime().timestamp return super(Card, self).save(*args, **kwargs)
def getDataCount(self, request): pass data = {"amount": 0.0, "zjamount": 0.0} ut = UtilTime() if request.query_params_format.get( "startdate") and request.query_params_format.get("enddate"): start = ut.string_to_timestamp( request.query_params_format.get("startdate")) end = ut.string_to_timestamp( request.query_params_format.get("enddate")) else: start = ut.string_to_timestamp( ut.arrow_to_string(format_v="YYYY-MM-DD") + ' 00:00:00') end = ut.string_to_timestamp( ut.arrow_to_string(format_v="YYYY-MM-DD") + ' 23:59:59') data["amount"] = sum([ item.amount for item in Order.objects.filter(status__in=['0', '1', '3'], createtime__gte=start, createtime__lte=end) ]) return {"data": data}
def get_open_history(cp): ut = UtilTime() res = CpTermListHistory.objects.filter(cpid=cp['id']).filter(~Q(cpno='')).order_by('-createtime')[:10] data=[] if res.exists: for item in res: data.append({ "cpno":[ no for no in item.cpno.split(",") ], "term":item.term, "createtime" : ut.timestamp_to_string(item.createtime), "createtime_format" : showdatetime(item.createtime) }) return data
def getActive(self, request, *args, **kwargs): id = request.query_params_format.get('id', None) status = request.query_params_format.get('status', None) isapp = request.query_params_format.get('isapp', None) if id: try: return { "data": ActiveModelSerializer(Active.objects.get(id=id), many=False).data } except Active.DoesNotExist: raise PubErrorCustom("此活动不存在!") else: query = Active.objects.filter() if status: query = query.filter(status=status) if isapp: query = query.filter(end_time__gt=UtilTime().timestamp * 1000) return { "data": ActiveModelSerializer(query.order_by('-createtime'), many=True).data }
def count_time_strand(t): if t: ut = UtilTime() today = ut.today dissday = (t - today) days = dissday.days seconds = dissday.seconds hours = days * 24 + seconds // 3600 minutes = (seconds % 3600) // 60 seconds = seconds % 60 return { "d":days, "h":hours, "m":minutes, "s":seconds } else: return { "d":0, "h":0, "m":0, "s":0 }
def RefundHandler(self, request): """ 申请退款 :param request: :return: """ orderid = request.data_format.get("orderid", None) refundmsg = request.data_format.get("refundmsg", None) # raise PubErrorCustom("目前不支持退款!") if not refundmsg: raise PubErrorCustom("理由不能为空!") try: order = Order.objects.select_for_update().get(orderid=orderid) if order.status not in ['1', '2', '3']: raise PubErrorCustom("只允许已付款的订单申请退款!") if order.before_status == '1': raise PubErrorCustom("请勿重复申请退款!") if order.before_status == '2': raise PubErrorCustom("已退款,请勿再申请退款!") order.before_status = '1' order.refundmsg = refundmsg order.apply_refund_time = UtilTime().timestamp order.save() except Order.DoesNotExist: raise PubErrorCustom("订单异常!")
def save(self, *args, **kwargs): t = UtilTime().timestamp if not self.createtime: self.createtime = t self.updtime = t return super(OrderGoodsLink, self).save(*args, **kwargs)
def save(self, *args, **kwargs): t = UtilTime().timestamp if not self.createtime: self.createtime = t self.updtime = t return super(ShopCart, self).save(*args, **kwargs)
def save(self, *args, **kwargs): if not self.typeid: self.typeid = idGenerator().cpgames() if not self.createtime: self.createtime = UtilTime().timestamp return super(CpGames, self).save(*args, **kwargs)
def save(self, *args, **kwargs): ut = UtilTime() if not self.createtime: self.createtime = ut.timestamp if self.type == '0': self.endtime = ut.today.shift(days=30).timestamp return super(AccQrcode, self).save(*args, **kwargs)
def upload_bin(self, request): file = request.data_format['file'].split("data:image/png;base64,")[1] timestr = UtilTime().arrow_to_string(format_v="YYYYMMDD") path = os.path.join(IMAGE_PATH, '{}'.format(timestr)) name = UtilTime().arrow_to_string(format_v="YYYYMMDDHHmmss") + ".jpg" if os.path.exists(os.path.join(path, name)): c = 0 while True: if len(name.split('images_teshudaima_images')) > 1: name = name.split('images_teshudaima_images')[1] name = "copy{}images_teshudaima_images{}".format(c, name) c = c + 1 if not os.path.exists( os.path.join( path, name.replace("images_teshudaima_images", "_"))): name = name.replace("images_teshudaima_images", "_") break if not os.path.exists(path): os.makedirs(path) with open(os.path.join(path, name), 'wb') as f: f.write(base64.b64decode(file)) return { "data": { "path": "{}/statics/images/{}/{}".format(ServerUrl, timestr, name) } }
def showdatetime(createtime): ut = UtilTime() today = ut.arrow_to_string(format_v="YYYY-MM-DD") t = ut.timestamp_to_arrow(createtime) if today == ut.arrow_to_string(t,format_v="YYYY-MM-DD"): before = "今天" elif today == ut.arrow_to_string(t.shift(days=1),format_v="YYYY-MM-DD"): before = "昨天" else: before = ut.arrow_to_string(t)[5:10].replace('-','月')+'日' return before + ut.arrow_to_string(t)[10:]
def save(self, *args, **kwargs): if not self.gdid: self.gdid = idGenerator.goods() t = UtilTime().timestamp if not self.createtime: self.createtime = t self.updtime = t return super(Goods, self).save(*args, **kwargs)
def save(self, *args, **kwargs): if not self.createtime: self.createtime = UtilTime().timestamp if not self.passwd: self.passwd = md5pass('123456') if not self.pay_passwd: self.pay_passwd = md5pass('123456') return super(Users, self).save(*args, **kwargs)
def save(self, *args, **kwargs): # if self.number: # self.number +=1 # else: # self.number =0 if not self.createtime: self.createtime = UtilTime().timestamp return super(AttachMentGroup, self).save(*args, **kwargs)