Exemplo n.º 1
0
def handleHttp(dict_param: dict):
    """修改头像"""
    objRsp = cResp()

    strAccountId = dict_param.get("accountId", "")
    bytesBase64Png = dict_param.get("base64Png", "")
    if not bytesBase64Png:
        raise exceptionLogic(errorLogic.client_param_invalid)
    objPlayerData, objLock = yield from classDataBaseMgr.getInstance(
    ).getPlayerDataByLock(strAccountId)
    try:
        avatorName = hashlib.md5(bytesBase64Png.encode()).hexdigest()
        imageData = base64.b64decode(bytesBase64Png[22:])
        #objFileHandle = yield from aiofiles.open("/var/www/html/avator/" + avatorName + ".png", "wb")
        #yield from objFileHandle.write(imageData)
        #yield from objFileHandle.close()
        dirPrefix = "avator/"
        uploadDataFileToOss(imageData, dirPrefix, avatorName + ".png")

    except Exception as e:
        logging.exception(e)
    if procVariable.debug:
        objPlayerData.strHeadAddress = "http://probet-avator.oss-us-west-1.aliyuncs.com/{}{}.png".format(
            dirPrefix, avatorName)
    else:
        objPlayerData.strHeadAddress = "http://probet-avator.oss-us-west-1.aliyuncs.com/{}{}.png".format(
            dirPrefix, avatorName)
    yield from classDataBaseMgr.getInstance().setPlayerDataByLock(
        objPlayerData, objLock)
    # 构造回包
    objRsp.data = cData()
    objRsp.data.headAddress = objPlayerData.strHeadAddress

    return classJsonDump.dumps(objRsp)
Exemplo n.º 2
0
def handleHttp(request: dict):
    # 更新轮播图信息
    bannerId = request.get('bannerId')
    title = request.get('title', '')
    link_url = request.get('link_url', '')
    bytesBase64Png = request.get("base64Png", "")

    if not bannerId:
        logging.debug(errorLogic.client_param_invalid)
        raise exceptionLogic(errorLogic.client_param_invalid)
    if bytesBase64Png:
        bannerName = hashlib.md5(bytesBase64Png.encode()).hexdigest()
        imageData = base64.b64decode(bytesBase64Png[22:])
        dirPrefix = "banner/"
        image_url = "http://probet-avator.oss-us-west-1.aliyuncs.com/{}{}.png".format(dirPrefix, bannerName)
        uploadDataFileToOss(imageData, dirPrefix, bannerName + ".png")
        sql = "update dj_banner set title='{}',link_url='{}',image_url='{}' WHERE id={} ".format(title, link_url,image_url, bannerId)
    else:
        sql = "update dj_banner set title='{}',link_url='{}' WHERE id={} ".format(title, link_url, bannerId)

    conn=classSqlBaseMgr.getInstance()
    try:
        yield from conn._exeCuteCommit(sql)

        sql="select * from dj_banner"
        listRest=yield from conn._exeCute(sql)
        banners=yield from listRest.fetchall()
        objRsp=cResp()
        if len(banners) == 0:
            return classJsonDump.dumps(objRsp)
        else:
            for var_row in banners:
                dataDict = cData()
                dataDict.index = var_row['index']
                dataDict.title = var_row['title']
                dataDict.image_url = var_row['image_url']
                dataDict.link_url = var_row['link_url']
                dataDict.update_time = var_row['update_time']
                dataDict.addAccount = var_row['addAccount']
                dataDict.id = var_row['id']
                objRsp.data.append(dataDict)

        fileName = __name__
        nameList = fileName.split('.')
        methodName = nameList.pop()
        # 日志
        dictActionBill = {
            'billType': 'adminActionBill',
            'accountId': request.get('accountId', ''),
            'action': "修改轮播图信息",
            'actionTime': timeHelp.getNow(),
            'actionMethod': methodName,
            'actionDetail': "修改轮播图信息Id:{}".format(bannerId),
            'actionIp': request.get('srcIp', ''),
        }
        logging.getLogger('bill').info(json.dumps(dictActionBill))
        return classJsonDump.dumps(objRsp)
    except Exception as e:
        logging.exception(e)
        raise exceptionLogic(errorLogic.db_error)
Exemplo n.º 3
0
def handleHttp(request: dict):
    """新增推广素材"""
    objRep = cResp()

    bytesBase64Png = request.get("base64Png", "")
    imageSize = request.get("imageSize", "")

    if not all([bytesBase64Png, imageSize]):
        logging.debug(errorLogic.client_param_invalid)
        raise exceptionLogic(errorLogic.client_param_invalid)

    materialName = hashlib.md5(bytesBase64Png.encode()).hexdigest()
    imageData = base64.b64decode(bytesBase64Png[22:])
    dirPrefix = "material/"
    uploadDataFileToOss(imageData, dirPrefix, materialName + ".png")
    image_url = "http://probet-avator.oss-us-west-1.aliyuncs.com/{}{}.png".format(
        dirPrefix, materialName)
    imageId = str(uuid.uuid1())
    try:
        sql = tb_material.insert().values(imageId=imageId,
                                          image_url=image_url,
                                          imageSize=imageSize,
                                          create_time=timeHelp.getNow(),
                                          update_time=timeHelp.getNow())
        yield from classSqlBaseMgr.getInstance()._exeCuteCommit(sql)

        sql = "select * from dj_material order by update_time desc"
        result = yield from classSqlBaseMgr.getInstance()._exeCute(sql)
        if result.rowcount <= 0:
            return classJsonDump.dumps(objRep)
        else:
            for var in result:
                materialData = {}
                materialData['imageId'] = var.imageId
                materialData['image_url'] = var.image_url
                materialData['imageSize'] = var.imageSize
                objRep.data.append(materialData)
        fileName = __name__
        nameList = fileName.split('.')
        methodName = nameList.pop()
        # 日志
        dictActionBill = {
            'billType': 'adminActionBill',
            'accountId': request.get('accountId', ''),
            'action': "新增推广素材",
            'actionTime': timeHelp.getNow(),
            'actionMethod': methodName,
            'actionDetail': "新增推广素材imageId:{}".format(imageId),
            'actionIp': request.get('srcIp', ''),
        }
        logging.getLogger('bill').info(json.dumps(dictActionBill))
        return classJsonDump.dumps(objRep)

    except Exception as e:
        logging.exception(e)
        raise exceptionLogic(errorLogic.db_error)
Exemplo n.º 4
0
def handleHttp(request: dict):
    # 新增轮播图信息
    accountId = request.get('accountId')
    title = request.get('title', '')
    bytesBase64Png = request.get("base64Png", "")
    link_url = request.get('link_url', '')
    if not all([title, bytesBase64Png]):
        logging.debug(errorLogic.client_param_invalid)
        raise exceptionLogic(errorLogic.client_param_invalid)

    bannerName = hashlib.md5(bytesBase64Png.encode()).hexdigest()
    imageData = base64.b64decode(bytesBase64Png[22:])
    dirPrefix = "banner/"
    uploadDataFileToOss(imageData, dirPrefix, bannerName + ".png")

    try:
        sql = "select dj_banner.index from dj_banner"
        listRest = yield from classSqlBaseMgr.getInstance()._exeCute(sql)
        listRest = yield from listRest.fetchall()
        if len(listRest) == 0:
            index = 0
        else:
            sql = "select max(dj_banner.index) from dj_banner"
            ret = yield from classSqlBaseMgr.getInstance()._exeCute(sql)
            ret = yield from ret.fetchone()
            index = ret[0] + 1

        sql = tb_banner.insert().values(
            index=index,
            link_url=link_url,
            image_url="http://probet-avator.oss-us-west-1.aliyuncs.com/{}{}.png"
            .format(dirPrefix, bannerName),
            title=title,
            addAccount=accountId,
            create_time=timeHelp.getNow(),
            update_time=timeHelp.getNow())
        yield from classSqlBaseMgr.getInstance()._exeCuteCommit(sql)
        objResp = cResp()
        fileName = __name__
        nameList = fileName.split('.')
        methodName = nameList.pop()
        # 日志
        dictActionBill = {
            'billType': 'adminActionBill',
            'accountId': request.get('accountId', ''),
            'action': "新增轮播图",
            'actionTime': timeHelp.getNow(),
            'actionMethod': methodName,
            'actionDetail': "新增轮播图,标题:{}".format(title),
            'actionIp': request.get('srcIp', ''),
        }
        logging.getLogger('bill').info(json.dumps(dictActionBill))
        return classJsonDump.dumps(objResp)
    except Exception as e:
        logging.exception(e)
        raise exceptionLogic(errorLogic.db_error)
Exemplo n.º 5
0
def handleHttp(dict_param: dict):
    """CKEditor上传图片"""
    objRsp = cResp()
    objFile = dict_param["upload"]
    #读取文件的raw 数据
    try:
        bytesPicData = objFile.file.read()
        strPicName = hashlib.md5(bytesPicData).hexdigest()
        dirPrefix = 'upload/'
        uploadDataFileToOss(bytesPicData, dirPrefix, strPicName + ".png")
    except Exception as e:
        logging.exception(e)

    objRsp.url = "http://probet-avator.oss-us-west-1.aliyuncs.com/{}{}.png".format(
        dirPrefix, strPicName)
    objRsp.fileName = strPicName

    return classJsonDump.dumps(objRsp)