将某一用户下的所有provideID到redis缓存

业务需求:
     1.在添加自媒体时将属于畅读号的自媒体的provideID加入缓存
     2.输入:appObjectId有页面传入
     3.当传入的appObjectId等于注入的appObjectId及表示为畅读号下,然后做缓存加入操作
     4.涉及到的表和类以及页面:
    • 页面
      • viva/typeManage/cpTypeLink.html
      • com.contx.cssp.console.viva.platform.controller.CpTypeLinkController
      • com.contx.cssp.console.viva.platform.service.CpTypeLinkService
      • contx.cp_type
      • contx.cssp_provider
      • contx.cp_type_link
业务关系:
     1.三个表之间的关系:  cp_type----cp_type_link ----cssp_provider(外键逻辑关联)
     
     
     
     
       
      2.在执行添加自媒体时过滤掉属于畅读号的自媒体并将其加入到缓存
    
    

页面:
viva/typeManage/cpTypeLink.html

function removeContextSource(){
        var zIndex = $(".maskbg").css("z-index");
        $("#miaDiv").css({
             "z-index" : parseInt(zIndex) + 1,
             "top" : "50px"
        });
        $('#cpItems').html('');
        $('#miaName').val('');
        $('#addSortNo').val('');
        $('#searchCpBtn').unbind('click').click(function(){
        $('#cpItems').html('');
        var name = $.trim($('#miaName').val());
        if(name==""){
            framework.hint("请输入自媒体名称");
            return;
        }
        var param={
                       "name":name,
                       "appObjectId":$("#appObjectId").val()
               };
            $.rest('get',"/provider/findWeMidia/exact",param,
                 function(data){
                 if(data!=""){
                     var selectTags = '';
                         selectTags +='<label class="checkBoxS leftF"><a value="'+data.id+'" name="miaResult" class="selectBoxRadio" href="javascript:void(0);"></a><span>'+data.name+'</span></label>';
                         $('#cpItems').html('');
                         $('#cpItems').append(selectTags);
                          $('#cpItems a[name=miaResult]').mixRadio({
                         callBack:function(){
                         }
                         });
                 }else{
                     $('#cpItems').html('');
                     $('#cpItems').append('<span>没有找到该自媒体</span>');
                 }
            }
        );
        });

        framework.popUp($("#miaDiv"), function() {
             var cpid = $().mixRadio("getCheckedValue", "miaResult");
             if(cpid==null||cpid==""){
                 framework.hint("请选择自媒体后保存");
                 return false;
             }
             var param = {
                              "cpId":cpid,
                             "appObjectId":$("#appObjectId").val(),
                         };

             $.rest('get', "/ctypelink/findCpTypeLink",
                 param, function(data) {
                     var addSortNo = $("#addSortNo").val();
                     var addParam = {
                         "cpId":cpid,
                         "typeId":$("#cptypeId").val(),
                         "sortNo":addSortNo==""?"99999":addSortNo,
                         "oldTypeId":data.typeId,
                         "appObjectId":$("#appObjectId").val()
                     }
                     if (data=="") {
                         $.rest('get', "/ctypelink/addCpTypeLink",
                                  addParam, function(data) {
                                  if (data==true) {
                                      framework.hint("操作成功");
                                      initPage();
                                      return true;
                                  } else {
                                      framework.hint("操作失败");
                                      return false;
                                  }
                              });
                     } else {
                         framework.confirm("该自媒体已经存在于"+data.typeId+"分类下,确定移动至此?",function(){
                              $.rest('get', "/ctypelink/addCpTypeLink",
                                  addParam, function(data) {
                                      if (data==true) {
                                          framework.hint("操作成功");
                                          initPage();
                                          return true;
                                      } else {
                                          framework.hint("操作失败");
                                          return false;
                                      }
                                  });
                     },function(){
                          return;
                     });
                         return false;
                     }
                 });
             return true;
        }, function() {
             return true;
        });
    };

控制层:
com.contx.cssp.console.viva.platform.controller.CpTypeLinkController
    @RequestMapping(value="/addCpTypeLink",method = RequestMethod.GET)
    @ResponseBody
    public boolean addCpTypeLink(Long cpId,Long typeId, Integer sortNo,Long oldTypeId,String appObjectId){
         return cpTypeLinkService.addCpTypeLink(cpId, typeId, sortNo, oldTypeId, appObjectId);
    }
业务层:
com.contx.cssp.console.viva.platform.service.CpTypeLinkService

    @Value("${viva_app_object_id:83ee783f8111b5ec3f0d888d0e5a0381}")     //值注入
    private String vivaAppObjectId;
     
public boolean addCpTypeLink(Long cpId, Long typeId, Integer sortNo, Long oldTypeId,String appObjectId) {
        try {
            if (oldTypeId != null) {
                CpTypeLink oc = cpTypeLinkDao.findSpecialType(cpId, oldTypeId);
                cpTypeLinkDao.delete(oc);
            }

            CpTypeLink c = new CpTypeLink();
            c.setCpId(cpId);
            c.setCreateTime(new Date());
            c.setStatus(1);
            c.setTypeId(typeId);
            c.setSortNo(sortNo);
            cpTypeLinkDao.saveAndFlush(c);
            if (vivaAppObjectId.equals(appObjectId)) {    //注入值等于传入值
                Provider p = providerDao.findOne(cpId);
                if (p != null) {
                    redisDao.setValue2Set(Constant.VIVA_WEMEDIA_KEY, p.getObjectId());
                }
            }
            setCpTypeLinkIntoRedis(c.getTypeId());
            return true;
        }catch(Exception e){
            e.printStackTrace();
            return false;
        }

    }

    public boolean updateStatus(Long id, Integer status) {
        CpTypeLink c = cpTypeLinkDao.findOne(id);
        c.setStatus(status);
        cpTypeLinkDao.save(c);
        Provider p=providerDao.findOne(c.getCpId());
        if(p!=null){
             if(status==0){
                 redisDao.removeValueFromSet(Constant.VIVA_WEMEDIA_KEY,p.getObjectId());
             }else{
                 redisDao.setValue2Set(Constant.VIVA_WEMEDIA_KEY,p.getObjectId());
             }
        }
        setCpTypeLinkIntoRedis(c.getTypeId());
        return true;
    }
     
     /**
     *
     * 添加畅读下所有providerID到redis
     * @return
     */
    public void addProviderIdIntoRedis(){
        List<CpType> cpTypeList =  cpTypeDao.findAllType(vivaAppObjectId);
         if(cpTypeList.size()==0){
              logger.info("viva no classify");
         }
         List<Long> ll =  new LinkedList<Long>();
         for(CpType ct : cpTypeList){
              ll.add(ct.getId());
         }
         List<CpTypeLink> cpTypeLinkList= cpTypeLinkDao.findListByTypeIds(ll);
         for(CpTypeLink ctl:cpTypeLinkList){
              if(!StringUtils.isEmpty(ctl.getCpId())){
                  Provider p=providerDao.findOne(ctl.getCpId());
                  if(p!=null){
                      redisDao.setValue2Set(Constant.VIVA_WEMEDIA_KEY,p.getObjectId());
                  }
              }
         }
    }

     
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值