本文介绍: *** 查询男性粉丝数量、女性粉丝数量;* @return*/@ApiOperation(value = “查询男女粉丝数量”, notes = “查询男女粉丝数量”, httpMethod = “POST”)说明:(1)需要前端保持一致;/*** 查询某作者的,某个性别的粉丝数* @return*//*** 查询粉丝地域分布数据

说明

(1)本篇博客内容比较简单;只有一点:论及早掌握前端的重要性~~~

目录

零:本篇博客,内容说明;

一:开发【查询男性粉丝数、女性粉丝数,接口】;

1.在【api】接口工程的MyFansControllerApi接口中,定义一个接口;

2.在【user】用户服务的MyFansController类中,去实现这个接口;

3.在【user】用户服务的MyFansService接口中,定义一个查询男女粉丝数量的方法;

4.在【user】用户服务的MyFansServiceImpl类中,去实现查询男女粉丝数量的方法;

5.效果;

二:开发【粉丝地域分布数,接口】;

1.在【api】接口工程的MyFansControllerApi接口中,定义一个接口;

2.在【user】用户服务的MyFansController类中,去实现这个接口;

3.在【user】用户服务的MyFansService接口中,定义一个查询男女粉丝数量的方法;

4.在【user】用户服务的MyFansServiceImpl类中,去实现查询男女粉丝数量的方法;

5.效果;


零:本篇博客内容说明

我们开发好后,其长这样:

(1)为了实现这些效果,前端采用的是Echarts插件;(以前是百度的,后来百度捐赠给了Apache基金会)

(2)在【监听器四:综合案例:请求流量分析(重要!!!)】、【百度开源的绘图JS组件:Echarts组件(本篇博客仅仅是简介,入门级别)】中对Echarts作过入门介绍

项目中,前端使用Echarts基本套路:

……………………………………………………

……………………………………………………

……………………………………………………

然后我们需要做的,就是开发对应接口,查询出数据,交给前端去渲染

……………………………………………………


一:开发【查询男性粉丝数、女性粉丝数,接口】;

1.在【api接口工程的MyFansControllerApi接口中,定义一个接口;

    /**
     * 查询男性粉丝数量、女性粉丝数量;
     * @param writerId
     * @return
     */
    @ApiOperation(value = "查询男女粉丝数量", notes = "查询男女粉丝数量", httpMethod = "POST")
    @PostMapping("/queryRatio")
    public GraceJSONResult queryRatio(@RequestParam String writerId);

说明

(1)需要和前端保持一致;

2.在【user用户服务的MyFansController类中,去实现这个接口;

    /**
     * 查询男性粉丝数量、女性粉丝数量;
     * @param writerId
     * @return
     */
    @Override
    public GraceJSONResult queryRatio(String writerId) {

        //调用service方法,分别查询男女粉丝数量
        int manCounts = myFansService.queryFansCount(writerId, Sex.man);
        int womanCounts = myFansService.queryFansCount(writerId, Sex.woman);

        //根据前端对返回数据格式的要求,创建FansCountsVO对象
        FansCountsVO fansCountsVO = new FansCountsVO();
        fansCountsVO.setManCounts(manCounts);
        fansCountsVO.setWomanCounts(womanCounts);

        return GraceJSONResult.ok(fansCountsVO);
    }

说明

(1)为了满足前端对返回数据的要求,我们创建了FansCountsVO实体类,来包装返回给前端的数据;

3.在【user】用户服务的MyFansService接口中,定义一个查询男女粉丝数量的方法

    /**
     * 查询某作者的,某个性别的粉丝数
     * @param writerId
     * @param sex
     * @return
     */
    public Integer queryFansCount(String writerId, Sex sex);

4.在【user】用户服务的MyFansServiceImpl类中,去实现查询男女粉丝数量的方法

    /**
     * 查询某作者的,某个性别的粉丝数
     * @param writerId
     * @param sex
     * @return
     */
    @Override
    public IntegerqueryFansCount(String writerId, Sex sex) {
        Fans fans = new Fans();
        fans.setWriterId(writerId);
        fans.setSex(sex.type);

        int count = fansMapper.selectCount(fans);//去查询数量
        return count;
    }

5.效果

(1)先install一下整个项目;(2)记得使用SwitchHost开启虚拟域名映射;(3)使用Tomcat启动前端项目;(4)然后启动后端项目; 

PS:我们设计fans表的时候添加了很多冗余字段;现在,能感受到这些冗余字段带来的好处了;即,为了实现这儿的业务,我只查询fans表就够了,而不用多表关联查询了;


二:开发【粉丝地域分布数,接口】;

1.在【api】接口工程的MyFansControllerApi接口中,定义一个接口;

    /**
     * 查询粉丝地域分布数据;
     * @param writerId
     * @return
     */
    @ApiOperation(value = "查询粉丝地域分布数据", notes = "查询粉丝地域分布数据", httpMethod = "POST")
    @PostMapping("/queryRatioByRegion")
    public GraceJSONResult queryRatioByRegion(@RequestParam String writerId);

说明:

(1)需要和前端保持一致;

2.在【user】用户服务的MyFansController类中,去实现这个接口;

    /**
     * 查询粉丝地域分布数据;
     * @param writerId
     * @return
     */
    @Override
    public GraceJSONResult queryRatioByRegion(String writerId) {
        List<RegionRatioVO> list = myFansService.queryRegionRatioCounts(writerId);
        return GraceJSONResult.ok(list);
    }

说明:

(1)为了满足前端对返回数据的要求,我们创建了RegionRatioVO实体类,来包装返回给前端的数据;

 

3.在【user】用户服务的MyFansService接口中,定义一个查询男女粉丝数量的方法

    /**
     * 查询某用户的、粉丝的地域分布数据;
     * @param writerId
     * @return
     */
    public List<RegionRatioVO> queryRegionRatioCounts(String writerId);

4.在【user】用户服务的MyFansServiceImpl类中,去实现查询男女粉丝数量的方法

    //这儿的循环策略可以改成在mybatis的SQL中去循环;同时,后续我们将采用另一种策略,即在Elasticsearch中去做;
    public static final String[] regions = {"北京", "天津", "上海", "重庆",
            "河北", "山西", "辽宁", "吉林", "黑龙江", "江苏", "浙江", "安徽", "福建", "江西", "山东",
            "河南", "湖北", "湖南", "广东", "海南", "四川", "贵州", "云南", "陕西", "甘肃", "青海", "台湾",
            "内蒙古", "广西", "西藏", "宁夏", "新疆",
            "香港", "澳门"};
    /**
     * 查询某用户的、粉丝的地域分布数据;
     * @param writerId
     * @return
     */
    @Override
    public List<RegionRatioVO> queryRegionRatioCounts(String writerId) {
        //还是那句话,简单的条件查询,就没必要使用Example了;tkmybatis提供了很多根据具体对象去查询的方法;
        Fans fans = new Fans();
        fans.setWriterId(writerId);
        List<RegionRatioVO> list = new ArrayList<>();//创建List,用于存储所有的数据

        //遍历所有省份,去分别获取省份中的粉丝人数;
        for (String region : regions) {
            fans.setProvince(region);
            Integer count = fansMapper.selectCount(fans);//查询出该省份中的,粉丝人数;

            //构建VO,并存到List中;
            RegionRatioVO regionRatioVO = new RegionRatioVO();
            regionRatioVO.setName(region);
            regionRatioVO.setValue(count);
            list.add(regionRatioVO);

        }
        return list;
    }

5.效果

(1)先install一下整个项目;(2)记得使用SwitchHost开启虚拟域名映射;(3)使用Tomcat启动前端项目;(4)然后,启动后端项目; 

 

原文地址:https://blog.csdn.net/csucsgoat/article/details/126873337

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_35476.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注