小傻羊7.28学习笔记——Spring后端框架搭建

7.28~学习笔记——Spring后端框架搭建

  • mapper层定义方法

    package com.cdeledu.yunqi.biz.dao;
    
    import com.cdeledu.yunqi.biz.model.BizReferInfo;
    import java.util.List;
    import java.util.Map;
    
    public interface BizReferInfoMapper {
        int insert(BizReferInfo record);
    
        List<BizReferInfo> selectAll();
    
        /**
         * 获取访问来源列表
         * @param dn
         * @param time
         * @return
         */
        List<Map<String,Object>> selectReferList(String dn,String time);
    
        List<BizReferInfo> selectReferParent();
    }
    
  • xml层写mapper层的方法的sql

      <select id="selectAll" resultMap="BaseResultMap">
        select id, url, des, pid, description
        from biz_refer_info
      </select>
    
      <select id="selectReferParent" resultType="com.cdeledu.yunqi.biz.model.BizReferInfo">
            select
             id, url, des, pid, description
             from biz_refer_info
             where id=pid
              order by pid asc
      </select>
      <select id="selectReferList" resultType="java.util.HashMap">
    
            SELECT
                t1.id,
                t1.description,
                t1.url,
                t1.pid,
                t2.pv,
                t2.uv,
                t2.ip_count
            FROM
                biz_refer_info t1
                JOIN (
            SELECT
                refer,
                sum( pv ) AS pv,
                sum( uv ) AS uv,
                sum( ip_count ) AS ip_count
            FROM
                biz_flow_refer
            WHERE
                dn = #{dn}
                AND dt = #{time}
            GROUP BY
                refer
                ) AS t2 ON t1.id = t2.refer
                order by t1.pid asc
      </select>
    
    </mapper>
    
  • server接口函数

    package com.cdeledu.yunqi.biz.service;
    
    import com.cdeledu.yunqi.biz.model.BizReferInfo;
    
    import java.util.List;
    
    public interface IBizReferInfoService {
    
        List<BizReferInfo> selectReferList(String dn,String time);
    }
    
  • server实现类

    package com.cdeledu.yunqi.biz.service.impl;
    
    import com.cdeledu.yunqi.biz.dao.BizReferInfoMapper;
    import com.cdeledu.yunqi.biz.model.BizReferInfo;
    import com.cdeledu.yunqi.biz.service.IBizReferInfoService;
    import com.cdeledu.yunqi.common.utils.StringUtils;
    import org.apache.poi.hssf.record.DVALRecord;
    import org.springframework.stereotype.Service;
    
    import javax.annotation.Resource;
    import java.util.*;
    
    @Service
    public class BizReferInfoServiceImpl implements IBizReferInfoService {
    
        @Resource
        private BizReferInfoMapper bizReferInfoMapper;
    
        @Override
        public List<BizReferInfo> selectReferList(String dn, String time) {
    
            List<Map<String, Object>> list = bizReferInfoMapper.selectReferList(dn, time);
            Map<Integer, BizReferInfo> map = new HashMap<>();
            if (list != null && list.size() > 0) {
                for (int i = 0; i < list.size(); i++) {
                    Map<String, Object> stringObjectMap = list.get(i);
                    if (stringObjectMap.get("id") == null || stringObjectMap.get("pid") == null) {
                        continue;
                    }
                    Integer id = Integer.valueOf(stringObjectMap.get("id") + "");
                    Integer pid = Integer.valueOf(stringObjectMap.get("pid") + "");
                    String description = stringObjectMap.get("description") + "";
                    String url = stringObjectMap.get("url") + "";
                    String des = stringObjectMap.get("des") + "";
                    Integer pv = stringObjectMap.get("pv") == null ? 0 : Integer.valueOf(stringObjectMap.get("pv") + "");
                    Integer uv = stringObjectMap.get("uv") == null ? 0 : Integer.valueOf(stringObjectMap.get("uv") + "");
                    Integer ip_count = stringObjectMap.get("ip_count") == null ? 0 : Integer.valueOf(stringObjectMap.get("ip_count") + "");
                    BizReferInfo item = new BizReferInfo();
                    item.setId(id);
                    item.setDescription(description);
                    item.setUrl(url);
                    item.setPid(pid);
                    item.setDes(des);
                    item.setPv(pv);
                    item.setUv(uv);
                    item.setIp(ip_count);
                    if (id.equals(pid)) {
                        BizReferInfo bizReferInfo = map.get(pid);
                        if (bizReferInfo != null) {
                            System.out.println(bizReferInfo);
                        } else {
                            map.put(pid, item);
                        }
                    } else {
                        BizReferInfo bizReferInfo = map.get(pid);
                        if (bizReferInfo != null) {
                            List<BizReferInfo> children = bizReferInfo.getChildren();
                            children.add(item);
                        } else {
                            List<BizReferInfo> children = new ArrayList<>();
                            bizReferInfo = new BizReferInfo();
                            children.add(item);
                            bizReferInfo.setChildren(children);
                            map.put(pid,bizReferInfo);
                        }
                    }
                }
            }
    //        System.out.println(map);
            List<BizReferInfo> listPa = bizReferInfoMapper.selectReferParent();
    //        System.out.println(listPa);
            Map<Integer,BizReferInfo> mapPa = new HashMap<>();
            for(int i = 0;i<listPa.size();i++){
                BizReferInfo bizReferInfo = listPa.get(i);
                if(bizReferInfo!=null){
                    mapPa.put(bizReferInfo.getId(),bizReferInfo);
                }
            }
    
            List<BizReferInfo> reList = new ArrayList<>();
            if(map!=null && map.size()>0){
                Set<Integer> keys = map.keySet();
                for (Integer key :keys){
                    BizReferInfo  tmp = map.get(key);
                    BizReferInfo bizReferInfo = mapPa.get(key);
                    if(bizReferInfo!=null){
                        tmp.setDescription(bizReferInfo.getDescription());
                        tmp.setDes(bizReferInfo.getDes());
                        tmp.setId(bizReferInfo.getId());
                        tmp.setUrl(bizReferInfo.getUrl());
                        tmp.setPid(bizReferInfo.getPid());
                    }
                    reList.add(tmp);
                }
            }
    
            for (int i = 0; i < reList.size() ; i++) {
                BizReferInfo bizReferInfo = reList.get(i);
                List<BizReferInfo> children = bizReferInfo.getChildren();
                if(children !=null ||children.size()>0){
                    int Pv=0,Uv=0,Ip=0;
                    for (int j = 0;j<children.size();j++){
                        BizReferInfo bizReferInfo1 = children.get(j);
                        Pv += bizReferInfo1.getPv();
                        Uv +=bizReferInfo1.getUv();
                        Ip +=bizReferInfo1.getIp();
                    }
                    bizReferInfo.setPv(Pv);
                    bizReferInfo.setUv(Uv);
                    bizReferInfo.setIp(Ip);
                }
            }
    
    //        System.out.println(reList);
    
    
            return null ;
        }
    
    }
    
  • java类声明对象

    package com.cdeledu.yunqi.biz.model;
    
    import io.swagger.models.auth.In;
    
    import java.io.Serializable;
    import java.util.ArrayList;
    import java.util.List;
    
    public class BizReferInfo implements Serializable {
        private Integer id;
    
        private String url;
    
        private String des;
    
        private Integer pid;
    
        private String description;
    
        private static final long serialVersionUID = 1L;
    
        public Integer getId() {
            return id;
        }
    
        public void setId(Integer id) {
            this.id = id;
        }
    
        public String getUrl() {
            return url;
        }
    
        public void setUrl(String url) {
            this.url = url == null ? null : url.trim();
        }
    
        public String getDes() {
            return des;
        }
    
        public void setDes(String des) {
            this.des = des == null ? null : des.trim();
        }
    
        public Integer getPid() {
            return pid;
        }
    
        public void setPid(Integer pid) {
            this.pid = pid;
        }
    
        public String getDescription() {
            return description;
        }
    
        public void setDescription(String description) {
            this.description = description == null ? null : description.trim();
        }
    
        /**
         * 子节点
         */
        List<BizReferInfo> children = new ArrayList<>();
    
        private Integer pv;
    
        private Integer uv;
    
        private Integer ip;
    
    
        public List<BizReferInfo> getChildren() {
            return children;
        }
    
        public void setChildren(List<BizReferInfo> children) {
            this.children = children;
        }
    
        public Integer getPv() {
            return pv;
        }
    
        public void setPv(Integer pv) {
            this.pv = pv;
        }
    
        public Integer getUv() {
            return uv;
        }
    
        public void setUv(Integer uv) {
            this.uv = uv;
        }
    
        public Integer getIp() {
            return ip;
        }
    
        public void setIp(Integer ip) {
            this.ip = ip;
        }
    
        @Override
        public String toString() {
            StringBuilder sb = new StringBuilder();
            sb.append(getClass().getSimpleName());
            sb.append(" [");
            sb.append("Hash = ").append(hashCode());
            sb.append(", id=").append(id);
            sb.append(", url=").append(url);
            sb.append(", des=").append(des);
            sb.append(", pid=").append(pid);
            sb.append(", description=").append(description);
            sb.append(", serialVersionUID=").append(serialVersionUID);
            sb.append("]");
            return sb.toString();
        }
    }
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值