我是靠谱客的博主 英俊招牌,最近开发中收集的这篇文章主要介绍PortalCore和portalAgent解析,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

修改主键id的开始值得语法:
ALTER SEQUENCE PUBLIC.t_series_poster_id_seq RESTART WITH 1001;

PortalCore对应方法:

@Override
    public Portal selectByPortalCodeOne(String portalCode)
    {
        Portal portal = null;
        if (null != portalCode)
        {
            RedisClient redisClient = null;
            try
            {   
                //获取到对应的缓存库,对应portalAgent中的redis_operation方法中的第二个参数
                redisClient = RedisRoute.getRedisClient(CommonConsts.REDIS_PORTAL);
                if (null != redisClient)
                {
                //①得到id:  buildKey是以"_"组装这两个参数作为key值,getStr底层是得到key对应的value值,这里得到的value值应该是portal的id值(对应的portalAgent中的redis_info的前两个参数应该对应这两个参数,第三个参数对应这个portalIdStr)
                    String portalIdStr = redisClient.getStr(
                        RedisRoute.buildKey(CommonConsts.REDIS_PORTAL_CODE, portalCode));
                    //② 得到对象:通过getObjClass方法,以第一个和第二个组装为key值,并将得到的json对象转换为Portal对象(同上,前两个参数对应的是portalAgent中的redis_info的前两个,第三个对应结果对象)
                    portal = (Portal)redisClient.getObjClass(CommonConsts.REDIS_PORTAL,
                        portalIdStr, Portal.class);
                }
                if (null == portal)
                {
                    portal = portalMapper.selectByPortalCode(portalCode);
                    if (null != portal && null != redisClient)
                    {
                        redisClient.setObjClass(CommonConsts.REDIS_PORTAL,
                            portal.getId().toString(), portal);
                        redisClient.setStr(
                            RedisRoute.buildKey(CommonConsts.REDIS_PORTAL_CODE, portal.getCode()),
                            portal.getId().toString());
                    }
                }
            }
            catch (Exception e)
            {
                logger.error(e);
            }
        }
        return portal;
    }

portalAgent对应方法:

def updatePortal(session, values):
    """
        PortalMS同步门户信息接口调用函数,service层更新逻辑处理。
        参数:
            values  字典
    """
    return_code = Code.SYSTEM_SUCCESS_CODE
    error_message = Message.SYSTEM_SUCCESS_MSG

    # 根据id更新PortalCore数据库门户信息
    result = session.query(Portal).filter(Portal.id == values["id"]).update(values)
    if result == 0:
        raise PortalAgentException(Code.DATABASE_ERROR_CODE, Message.DATABASE_ERROR_MSG)

    # 组装redis的相关信息
    redis_info = [
        # 因为portalCore的对应方法中需要得到id,所以这里需要有id保存在redis中
        (RedisKey.REDIS_PORTAL_CODE, values["code"], values["id"]),
    ]
    # 写入redis,以RedisKey.REDIS_PORTAL为key,redis_info为value保存
    # 其中底层为:将第三个参数redis_info(集合)的前两个参数以"_"连接,将第三个参数作为值保存
    # ①保存id到redis缓存中
    result_code = redis_operation("write", RedisKey.REDIS_PORTAL, redis_info)
    if result_code == 0:
        raise PortalAgentException(Code.DATABASE_ERROR_CODE, Message.DATABASE_ERROR_MSG)
    # 组装redis的相关信息
    redis_info = [
        # portalCore需要通过id来得到对应的Portal对象,所以这里需要保存values
        (RedisKey.REDIS_PORTAL, values["id"], values),
    ]
    # 写入redis
    # ②保存对象到缓存中
    result_code = redis_operation("write", RedisKey.REDIS_PORTAL, redis_info)
    if result_code == 0:
        raise PortalAgentException(Code.DATABASE_ERROR_CODE, Message.DATABASE_ERROR_MSG)

    return return_code, error_message

最后

以上就是英俊招牌为你收集整理的PortalCore和portalAgent解析的全部内容,希望文章能够帮你解决PortalCore和portalAgent解析所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部