Beispiel #1
0
    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})
Beispiel #2
0
    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
            })
Beispiel #3
0
    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': '发布失败,请刷新页面重试'
                })
Beispiel #4
0
    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':'发布失败,请刷新页面重试'})
Beispiel #5
0
    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':'推送成功'})
Beispiel #6
0
    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': '推送成功'})