Beispiel #1
0
    def designLinePrice(self, openid, data):
        jdkSign = objWeixin.get_jdk_sign(self.url)
        busline_id = data.busline_id
        company_id = data.company_id
        #获取相关数据
        sites = linedb.getSitesByLineid(busline_id)
        prices = linedb.getLinePrice(busline_id)
        _ret = db.query(
            "SELECT * FROM BusLine WHERE id = {0}".format(busline_id))
        busline = _ret[0]
        line_name = busline.from_name + "-" + busline.to_name
        #结果拼装
        cfgPara = {
            "openid": openid,
            "sites": sites,
            "prices": prices,
            "line_name": line_name,
            "busline_id": busline_id,
            "company_id": company_id
        }

        fixPara = icfg.getFixPara(openid,
                                  busline_id=busline_id,
                                  company_id=company_id)
        _cfgPara = json.dumps(cfgPara, ensure_ascii=False)
        ret = self.render.design_line_price(_cfgPara, jdkSign, fixPara)
        return ret
Beispiel #2
0
 def regeditCompany(self, openid, data):
     cfgPara = {'openid': openid}
     if web.ctx.method == 'GET':
         cfgPara["actionEN"] = "regedit"
         cfgPara["actionCH"] = "注册"
         cfgPara["homedomain"] = self.env["homedomain"]
         cfgPara["appid"] = icfg.objWeixin.appid
         jdkSign = icfg.objWeixin.get_jdk_sign(self.env["url"])
         fixPara = icfg.getFixPara(openid)
         ret = self.render.regedit_company(cfgPara, jdkSign, fixPara)
     else:
         id = linedb.regeditCompany(
             name=data.name,
             qq=data.qq,
             weixin=data.weixin,
             #alipay  =data.alipay,
             #idCard  =data.idCard,
             phone=data.phone,
             district=data.district,
             province=data.province,
             city=data.city,
             addr=data.address,
             company=data.company,
             regedit_openid=data.regedit_openid,
             valid="待确认",
         )
         cfgPara["result"] = ("success" if id >= 0 else "fail")
         cfgPara["company_id"] = id
         ret = uTools.formatPostMsg(cfgPara)
     return ret
Beispiel #3
0
    def startLineStat(self, openid, data):
        busline_id = data.busline_id
        company_id = data.company_id

        _ret = db.query(
            "SELECT * FROM BusLine WHERE id={0}".format(busline_id))
        busline = _ret[0]

        items = devdb.getDeviceByGroupid(openid, busline.busgroupid)
        line_name = busline.from_name + " " + busline.to_name

        jdkSign = objWeixin.get_jdk_sign(self.url)
        fixPara = icfg.getFixPara(openid,
                                  busline_id=busline_id,
                                  company_id=company_id)

        cfgPara = {
            "openid": openid,
            "buses": items,
            "busline_id": busline_id,
            "company_id": company_id,
            "line_name": line_name
        }
        _cfgPara = json.dumps(cfgPara, ensure_ascii=False)
        ret = self.render.start_busline_stat(_cfgPara, jdkSign, fixPara)
        return ret
Beispiel #4
0
    def designLineSiteQQ(self, openid, data):
        jdkSign = objWeixin.get_jdk_sign(self.url)
        #对站点进行排序

        if data.has_key('busline_id'):  #已有的线路重新调整
            sites = linedb.getSitesByLineid(data.busline_id, "manual")
            busline = linedb.getBuslineByid(data.busline_id, format="string")
            linedb.orderLineSiteSeq(busline["id"])
        else:  #创建新的线路
            sites = {"manual": [], "auto": []}
            busline = {"id": -1, "from_name": "", "to_name": ""}
        user = userdb.getUserByOpenid(objWeixin.weixinName, openid)

        cfgPara = {
            "openid": openid,
            "sites": sites,
            "user": user,
            "busline": busline,
            "company_id": data.company_id
        }
        fixPara = icfg.getFixPara(openid,
                                  busline=busline,
                                  company_id=data.company_id)
        _cfgPara = json.dumps(cfgPara, ensure_ascii=False)
        ret = self.render.line_sites_qq(_cfgPara, jdkSign, fixPara)
        return ret
Beispiel #5
0
 def getLineBuses(self, openid, data):
     _ret = db.query("SELECT * FROM BusLine WHERE id={0}".format(
         data.busline_id))
     busline = _ret[0]
     #判定是否为赛维员工
     manager = linedb.getManageEmployee(openid)
     items = devdb.getDeviceByGroupid(openid, busline.busgroupid)
     line_name = busline.from_name + " " + busline.to_name
     if web.ctx.method == 'GET':
         jdkSign = objWeixin.get_jdk_sign(self.url)
         cfgPara = {
             "openid": openid,
             "items": items,
             "busline_id": data.busline_id,
             "busgroupid": busline.busgroupid,
             "company_id": data.company_id,
             "line_name": line_name
         }
         fixPara = icfg.getFixPara(openid,
                                   manager=manager,
                                   busline_id=data.busline_id,
                                   busgroupid=busline.busgroupid,
                                   company_id=busline.company_id)
         _cfgPara = json.dumps(cfgPara, ensure_ascii=False)
         ret = self.render.line_buses(_cfgPara, jdkSign, fixPara)
     else:
         cfgPara = {"items": items, "result": "succuss"}
         ret = uTools.formatPostMsg(cfgPara)
     return ret
Beispiel #6
0
 def getOnlineState(self,openid,data):
     #查询纳入
     buses = devdb.getCompanyBusSate()
     if  web.ctx.method=='GET': 
         jdkSign = objWeixin.get_jdk_sign(self.env["url"])
         fixPara = icfg.getFixPara(openid)
         cfgPara = {"buses":buses,"openid":openid}
         _cfgPara =json.dumps(cfgPara,ensure_ascii=False)
         ret     = self.render.online_state(_cfgPara,jdkSign,fixPara)
     else:
         ret =uTools.formatPostMsg({"buses":buses})
     return ret
Beispiel #7
0
 def company_home_metro(self, openid, data):
     user = icfg.objWeixin.get_user_info2(openid, format="string")
     jdkSign = icfg.objWeixin.get_jdk_sign(self.env["url"])
     idCard = devdb.getCompany(openid)
     cfgPara = {
         'openid': openid,
         'user': user,
         'idCard': idCard,
         'grid': "abc"
     }
     fixPara = icfg.getFixPara(openid)
     ret = self.render.company_home(cfgPara, jdkSign, fixPara)
     return ret
Beispiel #8
0
 def getOnlineTestViewMsg(self,openid):
     if openid not in ["vk","zongheng"]:
         return
     openid = "online-test"
     cfgPara = devdb.getDeviceDistrubtorView(openid)
     cfgPara["openid"]=openid
     #iUrl = "&".join(self.env["qrcode_url"].split("&")[0:2])+"&grpType={0}&grpName={1}".format(grpType,grpName)
     
     _cfgPara = json.dumps(cfgPara,ensure_ascii=False)
     if  web.ctx.method=='GET':
         jdkSign = objWeixin.get_jdk_sign(self.env["url"])
         fixPara = icfg.getFixPara(openid)
         ret = self.render.online_test(_cfgPara,jdkSign,fixPara)
     else:
         ret =_cfgPara
     return ret
Beispiel #9
0
    def manager_home_metro(self, openid, data):
        user = icfg.objWeixin.get_user_info(openid)
        jdkSign = icfg.objWeixin.get_jdk_sign(self.env["url"])

        mgr = devdb.getRole(openid)
        fixPara = icfg.getFixPara(openid)
        cfgPara = {
            'openid': openid,
            'user': user,
            'role': mgr["role"],
            'appid': icfg.objWeixin.appid,
            'homedomain': self.env["homedomain"],
            'range': mgr["range"],
            'grid': "abc"
        }
        ret = self.render.manager_home(cfgPara, jdkSign, fixPara)
        return ret
Beispiel #10
0
 def designLineSite(self, openid, data):
     jdkSign = objWeixin.get_jdk_sign(self.url)
     sites = [{
         "name": "无菊",
         "addr": "云南省红河州金平县无菊酒吧",
         "lat": 223.1455,
         "lng": 109.1231
     }, {
         "name": "蒙自",
         "addr": "云南省红河州蒙自县无菊酒吧",
         "lat": 223.1455,
         "lng": 109.1231
     }]
     cfgPara = {"openid": openid, "sites": sites}
     _cfgPara = json.dumps(cfgPara, ensure_ascii=False)
     ret = self.render.line_sites(_cfgPara, jdkSign,
                                  icfg.getFixPara(openid))
     return ret
Beispiel #11
0
    def showLineStatTask(self,openid,data):
        busline_id = data.busline_id
        company_id = data.company_id
        from_time = datetime.datetime.now() - datetime.timedelta(hours=24)

        tasks   = utidb.getLineStatTaskByOpenid(openid,from_time)

        jdkSign = icfg.objWeixin.get_jdk_sign(self.url)
        fixPara = icfg.getFixPara(openid,busline_id=busline_id,
                                         company_id=company_id)
        
        cfgPara={"openid"    :openid,
                 "busline_id":busline_id,
                 "company_id":company_id,
                 "tasks"     :tasks}
        _cfgPara = json.dumps(cfgPara,ensure_ascii=False)
        ret = self.render.show_task(_cfgPara,jdkSign,fixPara)
        return ret
Beispiel #12
0
    def getCompanyBuses(self, openid, data):
        #manager = objWeixin.getManager(openid)
        #判定是否为赛维员工
        manager = linedb.getManageEmployee(openid)

        user = objWeixin.get_user_info2(openid, format="string")
        #获取公司信息
        company_id = uTools.get_data_value(data, "company_id", default=0)
        if company_id == 0:
            companys = linedb.getCompanyByOpenid(openid, format="string")
            company = companys[0]
            company_id = company["id"]
        else:
            company_id = int(company_id)
            company = linedb.getCompany(company_id, format="string")

        items = devdb.getBusesByCompany(openid, company["id"])

        if web.ctx.method == 'GET':
            jdkSign = objWeixin.get_jdk_sign(self.url)
            cfgPara = {
                "openid": openid,
                "devs": items,
                "company": company,
                "user": user
            }
            #生成分享链接
            share_app_link = "{0}/m/company?act=cert-company&company_id={1}".format(
                self.env["homedomain"], company_id)
            share_app_title = "扫一扫,成为-{0}-运营管理员 ".format(company["company"])
            fixPara = icfg.getFixPara(
                openid,
                manager=manager,
                company_id=company["id"],
                company_name=company["company"],
                share_app_link=share_app_link,
                share_app_title=share_app_title,
            )
            _cfgPara = json.dumps(cfgPara, ensure_ascii=False)
            ret = self.render.company_buses(_cfgPara, jdkSign, fixPara)
        else:
            cfgPara = {"devs": items, "result": "succuss"}
            ret = uTools.formatPostMsg(cfgPara)
        return ret
Beispiel #13
0
    def startSingleBusStat(self, openid, data):
        busline_id = data.busline_id
        company_id = data.company_id
        imei = data.imei

        jdkSign = objWeixin.get_jdk_sign(self.url)
        fixPara = icfg.getFixPara(openid,
                                  busline_id=busline_id,
                                  company_id=company_id)

        cfgPara = {
            "openid": openid,
            "busline_id": busline_id,
            "company_id": company_id,
            "imei": imei
        }
        _cfgPara = json.dumps(cfgPara, ensure_ascii=False)
        ret = self.render.start_bus_stat(_cfgPara, jdkSign, fixPara)
        return ret
Beispiel #14
0
    def getCompanyBusLines(self, openid, data):
        jdkSign = objWeixin.get_jdk_sign(self.url)
        user = objWeixin.get_user_info2(openid, format="string")
        #获取openid对应的公司
        manager = objWeixin.getManager(openid)
        company_mgr = linedb.getManageEmployee(openid)
        company_id = uTools.get_data_value(data, "company_id", default=0)

        ret = linedb.getBusLineByOpenid(openid, company_id)

        if len(ret["company_ids"]) == 0:  #不是有效员工
            if manager != None:  #是管理员
                return web.seeother(
                    "/company?act=manager-home&openid={0}".format(openid))
            else:
                return web.seeother(icfg.urlHome)
        else:
            company_id = ret["company_ids"][0]
            company = linedb.getCompany(company_id, format="string")
            employee = linedb.getEmployeeByid(company_id, with_manager=True)
            cfgPara = {
                "openid": openid,
                "user": user,
                "items": ret["items"],
                "company": company,
                "employee": employee
            }
            #生成分享链接
            share_app_link = "{0}/m/company?act=cert-company&company_id={1}".format(
                self.env["homedomain"], company_id)
            share_app_title = "扫一扫,成为-{0}-运营管理员 ".format(company["company"])
            mgr = ("manager"
                   if manager != None or company_mgr != None else None)
            fixPara = icfg.getFixPara(openid,
                                      manager=mgr,
                                      share_app_link=share_app_link,
                                      share_app_title=share_app_title,
                                      company_id=company_id)
            _cfgPara = json.dumps(cfgPara, ensure_ascii=False)
            ret = self.render.company_buslines(_cfgPara, jdkSign, fixPara)
        return ret
Beispiel #15
0
    def home_metro(self, openid, data):
        grpMgrStat = devdb.getDeviceTypeStat(openid, "管理分组")
        grpStat = {"mgr": grpMgrStat["sum"]}

        user = icfg.objWeixin.get_user_info(openid)
        jdkSign = icfg.objWeixin.get_jdk_sign(self.env["url"])

        mgr = devdb.getRole(openid)
        idCard = devdb.getcompany(openid)
        customerType = ("older" if grpStat["mgr"] > 0 else "newer")
        cfgPara = {
            'openid': openid,
            'user': user,
            'grpStat': grpStat,
            'role': mgr["role"],
            'range': mgr["range"],
            'customerType': customerType,
            'idCard': idCard,
            'grid': "abc"
        }
        fixPara = icfg.getFixPara(openid)
        ret = self.render.home(cfgPara, jdkSign, fixPara)
        return ret
Beispiel #16
0
 def certCompany(self, openid, data):
     if data.has_key("act2"):  #来自auth的请求
         company_id = data.act2.split("_")[2]
     else:
         company_id = data.company_id
     _distRret = icfg.db.query(
         """SELECT *,Company.id AS company_id FROM Company, WeixinQRcodeScene
                                      WHERE Company.id='{0}' AND
                                            Company.WeixinQRcodeScene_id = WeixinQRcodeScene.id
                                      """.format(company_id))
     if (len(_distRret) > 0):
         company = _distRret[0]
     else:
         return web.seeother(icfg.urlHome)
     cfgPara = {
         'openid': openid,
         'company': company,
         'homedomain': self.env["homedomain"],
         "appid": icfg.objWeixin.appid
     }
     jdkSign = icfg.objWeixin.get_jdk_sign(self.env["url"])
     fixPara = icfg.getFixPara(openid)
     ret = self.render.cert_company(cfgPara, jdkSign, fixPara)
     return ret