def post(self): data = {} for key,arg in self.request.arguments.iteritems(): if key == 'purchases': data[key] = eval(arg[0]) else: data[key] = arg[0] data['invoice'] = data['invoice'] if data.has_key('invoice') and data['invoice'] != "" else "0" data['paytype'] = data['paytype'] if data.has_key("paytype") and data['paytype'] != "" else "0" data['payday'] = data['payday'] if data.has_key('payday') and data['payday'] != "" else "0" data['payinfo'] = data['payinfo'] if data.has_key('payinfo') and data['payinfo'] != "" else "" data['sample'] = data['sample'] if data.has_key('sample') and data['sample'] != "" else "0" data['permit'] = data['permit'] if data.has_key('permit') and data['permit'] != "" else "0" data['deadline'] = data['deadline'] if data.has_key('deadline') and data['deadline'] != "" else "0" data['contact']="" data['demand']="" data['replenish']="" data['others']="" if data['purchases']['0']["nUrl"]=="": uploadfiles = self.session.get("uploadfiles") del uploadfiles self.session["uploadfiles"] = {} self.session.save() status, purchaseid, varids = purchasetransaction(self, data) if status: # 为采购商积分: self.db.execute("update users set pushscore=pushscore+1 where id=%s", self.session.get("userid")) try: purchaseinfo = self.db.query("select id,status from purchase_info where purchaseid=%s", purchaseid) for item in purchaseinfo: if item["status"] != 0: task = {"purchaseinfoid": item["id"], "tasktype": 1, "channel": 1} task_generate.apply_async(args=[task]) task = {"purchaseinfoid": item["id"], "tasktype": 1, "channel": 2} task_generate.apply_async(args=[task]) except Exception, ex: self.log.info("purchaseinfo task_generate error %s", str(ex)) self.api_response({'status': 'success', 'message': '请求成功', 'data': varids, 'purchaseid': purchaseid})
def post(self): data = {} for key, arg in self.request.arguments.iteritems(): if key == 'purchases': data[key] = eval(arg[0]) else: data[key] = arg[0] data['invoice'] = data['invoice'] if data.has_key( 'invoice') and data['invoice'] != "" else "0" data['paytype'] = data['paytype'] if data.has_key( "paytype") and data['paytype'] != "" else "0" data['payday'] = data['payday'] if data.has_key( 'payday') and data['payday'] != "" else "0" data['payinfo'] = data['payinfo'] if data.has_key( 'payinfo') and data['payinfo'] != "" else "" data['sample'] = data['sample'] if data.has_key( 'sample') and data['sample'] != "" else "0" data['permit'] = data['permit'] if data.has_key( 'permit') and data['permit'] != "" else "0" data['deadline'] = data['deadline'] if data.has_key( 'deadline') and data['deadline'] != "" else "0" data['contact'] = "" data['demand'] = "" data['replenish'] = "" data['others'] = "" if data['purchases']['0']["nUrl"] == "": uploadfiles = self.session.get("uploadfiles") del uploadfiles self.session["uploadfiles"] = {} self.session.save() status, purchaseid, varids = purchasetransaction(self, data) if status: # 为采购商积分: self.db.execute( "update users set pushscore=pushscore+1 where id=%s", self.session.get("userid")) try: purchaseinfo = self.db.query( "select id,status from purchase_info where purchaseid=%s", purchaseid) for item in purchaseinfo: if item["status"] != 0: task = { "purchaseinfoid": item["id"], "tasktype": 1, "channel": 1 } task_generate.apply_async(args=[task]) task = { "purchaseinfoid": item["id"], "tasktype": 1, "channel": 2 } task_generate.apply_async(args=[task]) except Exception, ex: self.log.info("purchaseinfo task_generate error %s", str(ex)) self.api_response({ 'status': 'success', 'message': '请求成功', 'data': varids, 'purchaseid': purchaseid })
def post(self): data = {} for key, arg in self.request.arguments.iteritems(): if key == 'purchases': data[key] = eval(arg[0]) else: data[key] = arg[0] if self.current_user is None or self.current_user == "": #如果未登陆,则先注册 if data['phone'] is None or data['name'] is None or data[ 'smscode'] is None: self.api_response({ 'status': 'fail', 'message': '采购单位/采购人信息填写不完整' }) return if data['smscode'] != self.session.get("smscode"): self.api_response({ 'status': 'fail', 'message': '短信验证码不正确', 'data': data['phone'] }) return username = "******" + time.strftime("%y%m%d%H%M%S") password = str(random.randint(100000, 999999)) lastrowid = self.db.execute_lastrowid( "insert into users (username, password, phone, type, name, nickname, createtime)" "value(%s, %s, %s, %s, %s, %s, %s)", username, md5(str(password + config.salt)), data['phone'], data['type'], data['name'], data['username'], int(time.time())) self.session["userid"] = lastrowid self.session["user"] = username self.session.save() #发短信告知用户登陆名和密码 regInfo(data['phone'], username, password) data['invoice'] = data['invoice'] if data.has_key( 'invoice') and data['invoice'] != "" else "0" data['paytype'] = data['paytype'] if data.has_key( "paytype") and data['paytype'] != "" else "0" data['payday'] = data['payday'] if data.has_key( 'payday') and data['payday'] != "" else "0" data['payinfo'] = data['payinfo'] if data.has_key( 'payinfo') and data['payinfo'] != "" else "" data['sample'] = data['sample'] if data.has_key( 'sample') and data['sample'] != "" else "0" data['permit'] = data['permit'] if data.has_key( 'permit') and data['permit'] != "" else "0" data['deadline'] = data['deadline'] if data.has_key( 'deadline') and data['deadline'] != "" else "0" #存储采购主体信息 if data.has_key("address"): # purchaseid = get_purchaseid() # self.db.execute("insert into purchase (id, userid, areaid, invoice, pay, payday, payinfo," # " send, receive, accept, other, supplier, remark, limited, term, createtime)" # "value(%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)", # purchaseid, self.session.get("userid"), data["address"], data['invoice'], data['paytype'], # data['payday'], data['payinfo'], data['sample'], data['contact'], # data['demand'], data['replenish'], data['permit'], data['others'],0, # data['deadline'], int(time.time())) # #存储采购品种信息 # varids = [] # for i,purchase in data['purchases'].iteritems(): # varids.append(purchase["nVarietyId"]) # purchase['nPrice'] = purchase['nPrice'] if purchase['nPrice'] else 0 # purchase_infoid = self.db.execute_lastrowid("insert into purchase_info (purchaseid, varietyid, name, specification, quantity, unit," # " quality, origin, price)value(%s, %s, %s, %s, %s, %s, %s, %s, %s)", # purchaseid, purchase["nVarietyId"], purchase['nVariety'], purchase['nRank'], # purchase['nQuantity'], purchase['nUnit'], ",".join([ q for q in purchase['nQuality'] if q != '' ]), # ",".join([ a for a in purchase['nArea'] if a != '' ]), purchase['nPrice']) # #插入图片 # if self.session.get("uploadfiles") and self.session.get("uploadfiles").has_key(i): # for attachment in self.session.get("uploadfiles")[i]: # self.db.execute("insert into purchase_attachment (purchase_infoid, attachment)" # "value(%s, %s)", purchase_infoid, attachment) # self.session["uploadfiles"] = {} # self.session.save() status, purchaseid, varids = purchasetransaction(self, data) if status: # 为采购商积分: self.db.execute( "update users set pushscore=pushscore+1 where id=%s", self.session.get("userid")) try: purchaseinfo = self.db.query( "select id,status from purchase_info where purchaseid=%s", purchaseid) for item in purchaseinfo: if item["status"] != 0: task = { "purchaseinfoid": item["id"], "tasktype": 1, "channel": 1 } task_generate.apply_async(args=[task]) task = { "purchaseinfoid": item["id"], "tasktype": 1, "channel": 2 } task_generate.apply_async(args=[task]) except Exception, ex: self.log.info("purchaseinfo task_generate error %s", str(ex)) self.api_response({ 'status': 'success', 'message': '请求成功', 'data': varids, 'purchaseid': purchaseid }) else: self.api_response({ 'status': 'fail', 'message': '发布失败,请刷新页面重试' })
def post(self): data = {} for key,arg in self.request.arguments.iteritems(): if key == 'purchases': data[key] = eval(arg[0]) else: data[key] = arg[0] if self.current_user is None or self.current_user == "":#如果未登陆,则先注册 if data['phone'] is None or data['name'] is None or data['smscode'] is None: self.api_response({'status':'fail','message':'采购单位/采购人信息填写不完整'}) return if data['smscode'] != self.session.get("smscode"): self.api_response({'status':'fail','message':'短信验证码不正确','data':data['phone']}) return username = "******" + time.strftime("%y%m%d%H%M%S") password = str(random.randint(100000, 999999)) lastrowid = self.db.execute_lastrowid("insert into users (username, password, phone, type, name, nickname, createtime)" "value(%s, %s, %s, %s, %s, %s, %s)", username, md5(str(password + config.salt)), data['phone'] , data['type'], data['name'], data['username'], int(time.time())) self.session["userid"] = lastrowid self.session["user"] = username self.session.save() #发短信告知用户登陆名和密码 regInfo(data['phone'], username, password) data['invoice'] = data['invoice'] if data.has_key('invoice') and data['invoice'] != "" else "0" data['paytype'] = data['paytype'] if data.has_key("paytype") and data['paytype'] != "" else "0" data['payday'] = data['payday'] if data.has_key('payday') and data['payday'] != "" else "0" data['payinfo'] = data['payinfo'] if data.has_key('payinfo') and data['payinfo'] != "" else "" data['sample'] = data['sample'] if data.has_key('sample') and data['sample'] != "" else "0" data['permit'] = data['permit'] if data.has_key('permit') and data['permit'] != "" else "0" data['deadline'] = data['deadline'] if data.has_key('deadline') and data['deadline'] != "" else "0" #存储采购主体信息 if data.has_key("address"): # purchaseid = get_purchaseid() # self.db.execute("insert into purchase (id, userid, areaid, invoice, pay, payday, payinfo," # " send, receive, accept, other, supplier, remark, limited, term, createtime)" # "value(%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)", # purchaseid, self.session.get("userid"), data["address"], data['invoice'], data['paytype'], # data['payday'], data['payinfo'], data['sample'], data['contact'], # data['demand'], data['replenish'], data['permit'], data['others'],0, # data['deadline'], int(time.time())) # #存储采购品种信息 # varids = [] # for i,purchase in data['purchases'].iteritems(): # varids.append(purchase["nVarietyId"]) # purchase['nPrice'] = purchase['nPrice'] if purchase['nPrice'] else 0 # purchase_infoid = self.db.execute_lastrowid("insert into purchase_info (purchaseid, varietyid, name, specification, quantity, unit," # " quality, origin, price)value(%s, %s, %s, %s, %s, %s, %s, %s, %s)", # purchaseid, purchase["nVarietyId"], purchase['nVariety'], purchase['nRank'], # purchase['nQuantity'], purchase['nUnit'], ",".join([ q for q in purchase['nQuality'] if q != '' ]), # ",".join([ a for a in purchase['nArea'] if a != '' ]), purchase['nPrice']) # #插入图片 # if self.session.get("uploadfiles") and self.session.get("uploadfiles").has_key(i): # for attachment in self.session.get("uploadfiles")[i]: # self.db.execute("insert into purchase_attachment (purchase_infoid, attachment)" # "value(%s, %s)", purchase_infoid, attachment) # self.session["uploadfiles"] = {} # self.session.save() status,purchaseid,varids = purchasetransaction(self, data) if status: # 为采购商积分: self.db.execute("update users set pushscore=pushscore+1 where id=%s", self.session.get("userid")) try: purchaseinfo=self.db.query("select id,status from purchase_info where purchaseid=%s",purchaseid) for item in purchaseinfo: if item["status"]!=0: task = {"purchaseinfoid": item["id"], "tasktype": 1, "channel": 1} task_generate.apply_async(args=[task]) task = {"purchaseinfoid": item["id"], "tasktype": 1, "channel": 2} task_generate.apply_async(args=[task]) except Exception,ex: self.log.info("purchaseinfo task_generate error %s",str(ex)) self.api_response({'status':'success','message':'请求成功','data':varids,'purchaseid':purchaseid}) else: self.api_response({'status':'fail','message':'发布失败,请刷新页面重试'})
def post(self): #purchaseinfoid = self.get_argument("purchaseinfoid") #purchaser = self.get_argument("purchaser")#其实不需要这个参数 #purchaseinfo = self.db.get("select pi.id purchaseinfoid,pi.varietyid,pi.name variety,pi.specification,pi.quantity,pi.unit,pi.quality,pi.origin,pi.pushcount,p.userid,p.createtime from purchase_info pi left join purchase p on pi.purchaseid = p.id where pi.id = %s", purchaseinfoid) #u = self.db.get("select name,nickname from users where id = %s", purchaseinfo["userid"]) #purchaseinfo["name"] = u["name"] #purchaseinfo["nickname"] = u["nickname"] #users = self.db.query("select phone,openid from users where find_in_set(%s,varietyids)", purchaseinfo["varietyid"]) #yt = self.db.query("select mobile from supplier where find_in_set(%s,variety) and mobile != '' and pushstatus=1", purchaseinfo["varietyid"]) #phones = set() #openids = set() #for i in users: # phones.add(i["phone"]) # openids.add(i["openid"]) #for j in yt: # phones.add(j["mobile"]) #phones = list(set(phones)) #phones =["13638654365"] #openids=["oTEeNweXKZh8FXoP3Fwu_y3AGPkk"] #if phones: # #测试先不发送信息,只保存信息到mongodb # push_user_infos = [] # uuidmap={} # createtime = int(time.time()) # quote = 0 # 0,未报价,1,已报价 # sendstatus = 0 # 0,未发送,1:发送成功,2:失败 # mongodb = PymongoDateBase.instance().get_db() # colleciton= mongodb.transform_rate # push_phone_id=colleciton.insert({"purchaseinfoid":purchaseinfoid ,"order":int(purchaseinfo["pushcount"])+1,"quote":"","type":1,"createtime":createtime}) # push_wx_id=colleciton.insert({"purchaseinfoid":purchaseinfoid ,"order":int(purchaseinfo["pushcount"])+1,"quote":"","type":2,"createtime":createtime}) # for phone in phones: # uuid = md5(str(time.time())+ str(phone))[8:-8] # sendid = phone # createtime = int(time.time()) # push_user = {"pushid":push_phone_id ,"uuid":uuid,"createtime":createtime,"click":0,"sendid":sendid,"sendstatus":sendstatus,"type":1} # push_user_infos.append(push_user) # uuidmap[sendid]=uuid # for openid in openids: # uuid = md5(str(time.time()) + str(openid))[8:-8] # sendid = openid # createtime = int(time.time()) # push_user = {"pushid":push_wx_id ,"uuid": uuid, "createtime": createtime,"click":0, "sendid": sendid,"sendstatus":sendstatus,"type":2} # push_user_infos.append(push_user) # uuidmap[sendid] = uuid # colleciton = mongodb.push_record # colleciton.insert_many(push_user_infos) # logger = logging.getLogger() # logger.info("pushPurchase start thread,phone=%s,purchaseinfo=%s,uuidmap=%s",phones, purchaseinfo,uuidmap) # thread.start_new_thread(pushPurchase, (phones, purchaseinfo,uuidmap)) # thread.start_new_thread(pushPurchaseWx, (openids, purchaseinfo,uuidmap)) # self.db.execute("update purchase_info set pushcount=%s where id=%s",int(purchaseinfo["pushcount"])+1, purchaseinfoid) #pushPurchase(phones, purchaseinfo) #pushPurchaseWx(openids, purchaseinfo) #生成celery任务,只要发送任务id logger = logging.getLogger() purchaseinfoid = self.get_argument("purchaseinfoid") logger.info("pushPurchase purchaseinfoid=%s", purchaseinfoid) task={"purchaseinfoid":purchaseinfoid,"tasktype":1,"channel":1} task_generate.apply_async(args=[task]) logger.info("pushPurchase push task=%s", task) task={"purchaseinfoid":purchaseinfoid,"tasktype":1,"channel":2} task_generate.apply_async(args=[task]) logger.info("pushPurchase push task=%s", task) self.api_response({'status':'success','message':'推送成功'})
def post(self): #purchaseinfoid = self.get_argument("purchaseinfoid") #purchaser = self.get_argument("purchaser")#其实不需要这个参数 #purchaseinfo = self.db.get("select pi.id purchaseinfoid,pi.varietyid,pi.name variety,pi.specification,pi.quantity,pi.unit,pi.quality,pi.origin,pi.pushcount,p.userid,p.createtime from purchase_info pi left join purchase p on pi.purchaseid = p.id where pi.id = %s", purchaseinfoid) #u = self.db.get("select name,nickname from users where id = %s", purchaseinfo["userid"]) #purchaseinfo["name"] = u["name"] #purchaseinfo["nickname"] = u["nickname"] #users = self.db.query("select phone,openid from users where find_in_set(%s,varietyids)", purchaseinfo["varietyid"]) #yt = self.db.query("select mobile from supplier where find_in_set(%s,variety) and mobile != '' and pushstatus=1", purchaseinfo["varietyid"]) #phones = set() #openids = set() #for i in users: # phones.add(i["phone"]) # openids.add(i["openid"]) #for j in yt: # phones.add(j["mobile"]) #phones = list(set(phones)) #phones =["13638654365"] #openids=["oTEeNweXKZh8FXoP3Fwu_y3AGPkk"] #if phones: # #测试先不发送信息,只保存信息到mongodb # push_user_infos = [] # uuidmap={} # createtime = int(time.time()) # quote = 0 # 0,未报价,1,已报价 # sendstatus = 0 # 0,未发送,1:发送成功,2:失败 # mongodb = PymongoDateBase.instance().get_db() # colleciton= mongodb.transform_rate # push_phone_id=colleciton.insert({"purchaseinfoid":purchaseinfoid ,"order":int(purchaseinfo["pushcount"])+1,"quote":"","type":1,"createtime":createtime}) # push_wx_id=colleciton.insert({"purchaseinfoid":purchaseinfoid ,"order":int(purchaseinfo["pushcount"])+1,"quote":"","type":2,"createtime":createtime}) # for phone in phones: # uuid = md5(str(time.time())+ str(phone))[8:-8] # sendid = phone # createtime = int(time.time()) # push_user = {"pushid":push_phone_id ,"uuid":uuid,"createtime":createtime,"click":0,"sendid":sendid,"sendstatus":sendstatus,"type":1} # push_user_infos.append(push_user) # uuidmap[sendid]=uuid # for openid in openids: # uuid = md5(str(time.time()) + str(openid))[8:-8] # sendid = openid # createtime = int(time.time()) # push_user = {"pushid":push_wx_id ,"uuid": uuid, "createtime": createtime,"click":0, "sendid": sendid,"sendstatus":sendstatus,"type":2} # push_user_infos.append(push_user) # uuidmap[sendid] = uuid # colleciton = mongodb.push_record # colleciton.insert_many(push_user_infos) # logger = logging.getLogger() # logger.info("pushPurchase start thread,phone=%s,purchaseinfo=%s,uuidmap=%s",phones, purchaseinfo,uuidmap) # thread.start_new_thread(pushPurchase, (phones, purchaseinfo,uuidmap)) # thread.start_new_thread(pushPurchaseWx, (openids, purchaseinfo,uuidmap)) # self.db.execute("update purchase_info set pushcount=%s where id=%s",int(purchaseinfo["pushcount"])+1, purchaseinfoid) #pushPurchase(phones, purchaseinfo) #pushPurchaseWx(openids, purchaseinfo) #生成celery任务,只要发送任务id logger = logging.getLogger() purchaseinfoid = self.get_argument("purchaseinfoid") logger.info("pushPurchase purchaseinfoid=%s", purchaseinfoid) task = {"purchaseinfoid": purchaseinfoid, "tasktype": 1, "channel": 1} task_generate.apply_async(args=[task]) logger.info("pushPurchase push task=%s", task) task = {"purchaseinfoid": purchaseinfoid, "tasktype": 1, "channel": 2} task_generate.apply_async(args=[task]) logger.info("pushPurchase push task=%s", task) self.api_response({'status': 'success', 'message': '推送成功'})