• 众创项目首页推荐需求


    需求:首页众创项目的推荐八个案例规则改变(之前需求是默认每类项目推荐两个,现在需求为四类项目推荐个数随意、总数为八个);

    思路:
    1、查看原有推荐如何完成
    2、自己建立推荐规则——建立一个单独的表设置项目和推荐的关系(项目di和推荐时间)
    3、修改每一类项目推荐的代码
    4、测出新规则是否可行

    第一步 查看原有页面
    inc_project_wea.html——注解@CmsProjectNew——core-context-directive.xml——ProjectNewDirective.java

     

    第二步:建立自己的规则
    建立一个表——字段(id, 项目类型, 项目id, 更新时间)

    第三步 修改每一类项目推荐的代码
    推荐的时候,把该项目加入推荐表中并生成最新时间

    取消推荐的时候,从推荐表中删除该项目


    先看第一类项目的推荐
    先找第一类项目推荐的页面 core/project/project_list_new
    推荐controller层函数 @RequestMapping( "/projectUpdateType.do" )
    项目推荐字段 visiblesort

     1     修改该方法  该方法源代码
     2     @RequiresPermissions( "core:project:updatetype" )
     3     @RequestMapping( "/projectUpdateType.do" )
     4     public String projectUpdateType( int projectId, int type, HttpServletRequest request, org.springframework.ui.Model modelMap ) {
     5         CmsProjectNew project = cmsProjectNewService.findOne( projectId );
     6         if( project.getVisiblesort() == 0 ) {
     7             project.setVisiblesort(3);
     8         }
     9         else {
    10             project.setVisiblesort(0);
    11         }
    12         cmsProjectNewService.save( project);
    13         return "redirect:projectNewList.do?search_EQ_type="+type;
    14     }
    15 
    16     修改之后,该方法代码
    17     @RequiresPermissions( "core:project:updatetype" )
    18     @RequestMapping( "/projectUpdateType.do" )
    19     public String projectUpdateType( int projectId, int type, HttpServletRequest request, org.springframework.ui.Model modelMap ) {
    20         CmsProjectNew project = cmsProjectNewService.findOne( projectId );
    21         if( project.getVisiblesort() == 0 ) {
    22             project.setVisiblesort(3);
    23             spsService.save(new ScProjectShow(1,projectId,new Date()));
    24         }
    25         else {
    26             project.setVisiblesort(0);
    27             List<ScProjectShow> scProjectShow = spsService.findOne(projectId, 1);
    28             for(ScProjectShow sc:scProjectShow){
    29                 spsService.delete(sc.getId());
    30             }
    31         }
    32         cmsProjectNewService.save( project);
    33         return "redirect:projectNewList.do?search_EQ_type="+type;
    34     }
    35 
    36 其中dao中有个一个关键方法:利用jpa的注解方法特性
    37 @Query("from ScProjectShow bean where bean.projectid=?1 and bean.type=?2")
    38 public List<ScProjectShow> findOne(Integer projectid,Integer type);

    剩余三类项目类似 比较省略

  • 相关阅读:
    Unity3d Platformer Pro 2D游戏开发框架使用教程
    程序员如何学习一门新的编程语言
    走进函数式编程
    1001. Exponentiation高精度运算总结
    Kindle PaperWhite3 越狱和PDF插件的安装
    Unity3d中的PlayerPrefs游戏存档API的扩展
    程序员学习路线和学习书单
    1000. A+B Problem
    Mac端SVN工具CornerStone详解
    Unity3d粒子系统详解
  • 原文地址:https://www.cnblogs.com/dixinyunpan/p/5993924.html
Copyright © 2020-2023  润新知