当前位置: 首页 > news >正文

一个做音乐的网站2020做seo还有出路吗

一个做音乐的网站,2020做seo还有出路吗,网站代码优化的方法,落地页需要建网站吗前言 代码链接#xff1a; Echo0701/take-out⁤ (github.com) 1 Apache ECharts 基于 Javascript 的数据可视化图标库#xff0c;提供直观生动可交互可个性定制的数据可视化图表 柱形图饼形图折线图 【核心】通过直观的图表来展示数据。使用 Echarts #xff0c;重点在… 前言 代码链接 Echo0701/take-out⁤ (github.com) 1 Apache ECharts 基于 Javascript 的数据可视化图标库提供直观生动可交互可个性定制的数据可视化图表 柱形图饼形图折线图 【核心】通过直观的图表来展示数据。使用 Echarts 重点在于研究当前图表所需的数据格式通常是需要后端提供符合格式要求的动态数据然后响应给前端来展示图表。 2 营业额统计 2.1 需求分析和设计 产品原型 接口设计 【注】这里的 data 数据格式需要适应前端 前端需要什么格式数据就返回什么格式数据 设计 VO  2.2 代码开发 ReportController.java RestController RequestMapping(/admin/report) Api(tags 数据统计相关接口) Slf4j public class ReportController {Autowiredprivate ReportService reportService;/*** 营业额统计* param begin* param end* return*/GetMapping(/turnoverStatistics)ApiOperation(营业额统计)public ResultTurnoverReportVO turnoverStatistics(DateTimeFormat(pattern yyyy-MM-dd) LocalDate begin,DateTimeFormat(pattern yyyy-MM-dd) LocalDate end) {log.info(在这个时间区间的营业额数据统计{} {}, begin, end);return Result.success(reportService.getTurnoverStatistics(begin, end));} } ReportServiceImpl.java Service Slf4j public class ReportServiceImpl implements ReportService {Autowiredprivate OrderMapper orderMapper;/*** 统计指定时间区间内的营业额数据* param begin* param end* return*/public TurnoverReportVO getTurnoverStatistics(LocalDate begin, LocalDate end) {//1、计算日期把开始日期到结束日期放到一个集合里面再把这个集合的每个元素取出来中间添加“”放入到 dataList 里面去ListLocalDate dateList new ArrayList(); // 用于存放begin-end范围内的每天的日期dateList.add(begin);while (!begin.equals(end)) {//日期计算计算指定日期的后一天对应的日期begin begin.plusDays(1);dateList.add(begin);}//2、查询 datalist 里面的每天的营业额数据最后替换为字符串并加“”ListDouble turnoverList new ArrayList();for (LocalDate date : dateList) {//查询data 日期对应的营业额数据营业额是指状态为“已完成”的订单金额合计查询订单表每个订单都含有金额字段//date: LocalData 只有年月日 order_time LocalDataTime 既有年月日又有时分秒//order_time 应该是大于当天的最小时间小于当天的最大时间LocalDateTime beginTime LocalDateTime.of(date, LocalTime.MIN); //LocalTime.MIN 00:00 对应的就是零点零分LocalDateTime endTime LocalDateTime.of(date, LocalTime.MAX); //23:59:59.999999999//select sum(amount) from orders where order_time ? and order_time ? and status 5 (已完成)Map map new HashMap();map.put(beginTime, beginTime);map.put(endTime, endTime);map.put(status, Orders.COMPLETED); // 状态 5Double turnover orderMapper.sumByMap(map);//这里的营业额如果为0的话实际上返回的是空但是我们需要数据0所以这里需要判断turnover turnover null ? 0.0 :turnover;turnoverList.add(turnover);}return TurnoverReportVO.builder().dateList(StringUtils.join(dateList,,)).turnoverList(StringUtils.join(turnoverList, ,)).build();} } OrderMapper.xml select idsumByMap resultTypejava.lang.Doubleselect sum(amount) from orders where!-- 的转义字符 gt; 的转义字符 --if testbeginTime ! nulland order_time gt; #{beginTime}/ifif testendTime ! nulland order_time lt; #{endTime}/ifif teststatus ! nulland status #{status}/if/where/select 3 用户统计  3.1 需求分析和设计 用户统计包括两部分内容① 当日新增用户数量 ② 截止到当日的用户总量 产品原型 接口设计  3.2 代码开发 ReportController.java RestController RequestMapping(/admin/report) Api(tags 数据统计相关接口) Slf4j public class ReportController {Autowiredprivate ReportService reportService;/*** 用户数据统计* param begin* param end* return*/ApiOperation(用户数据统计)GetMapping(/userStatistics)public ResultUserReportVO userStatistics(DateTimeFormat(pattern yyyy-MM-dd) LocalDate begin,DateTimeFormat(pattern yyyy-MM-dd) LocalDate end) {log.info(在这个时间区间的用户数据统计{} {}, begin, end);return Result.success(reportService.getuserStatistics(begin, end));} } ReportServiceImpl.java Service Slf4j public class ReportServiceImpl implements ReportService {Autowiredprivate UserMapper userMapper;/*** 统计指定时间区间内的用户数据* param begin* param end* return*/public UserReportVO getuserStatistics(LocalDate begin, LocalDate end) {//1、计算日期把开始日期到结束日期放到一个集合里面再把这个集合的每个元素取出来中间添加“”放入到 dataList 里面去ListLocalDate dateList new ArrayList(); // 用于存放begin-end范围内的每天的日期dateList.add(begin);while (!begin.equals(end)) {//日期计算计算指定日期的后一天对应的日期begin begin.plusDays(1);dateList.add(begin);}//2、存放每天的新用户集合 select count(id) from user where create_time ? and create_time ?ListInteger newUserList new ArrayList();//3、存放每天的总用户集合 select count(id) from user where create_time ?//写一个动态sql兼容这两种情况就可以了ListInteger totalUserList new ArrayList();for (LocalDate date : dateList) {LocalDateTime beginTime LocalDateTime.of(date, LocalTime.MIN);LocalDateTime endTime LocalDateTime.of(date, LocalTime.MAX);Map map new HashMap();map.put(endTime, endTime);//总用户数量Integer totalUser userMapper.countByMap(map);totalUserList.add(totalUser);//新增用户数量map.put(beginTime, beginTime);Integer newUser userMapper.countByMap(map);newUserList.add(newUser);}return UserReportVO.builder().dateList(StringUtils.join(dateList,,)).newUserList(StringUtils.join(totalUserList,,)).totalUserList(StringUtils.join(newUserList, ,)).build();} } UserMapper.xml select idcountByMap resultTypejava.lang.Integerselect count(id) from userwhereif testbeginTime ! nulland create_time gt; #{beginTime}/ifif testendTime ! nulland create_time lt; #{endTime}/if/where/select 4 订单统计 4.1 需求分析和设计 订单统计包括两部分内容① 总的订单数 ② 有效订单数状态为已完成 产品原型 接口设计  设计 VO 4.2 代码开发 ReportController.java RestController RequestMapping(/admin/report) Api(tags 数据统计相关接口) Slf4j public class ReportController {Autowiredprivate ReportService reportService;/*** 订单统计* param begin* param end* return*/ApiOperation(订单统计)GetMapping(/ordersStatistics)public ResultOrderReportVO ordersStatistics(DateTimeFormat(pattern yyyy-MM-dd) LocalDate begin,DateTimeFormat(pattern yyyy-MM-dd) LocalDate end) {log.info(在这个时间区间的订单数据统计{} {}, begin, end);return Result.success(reportService.getOrderStatistics(begin, end));} } ReportServiceImpl.java Service Slf4j public class ReportServiceImpl implements ReportService {Autowiredprivate OrderMapper orderMapper;/*** 统计指定时间区间内的订单数据* param begin* param end* return*/public OrderReportVO getOrderStatistics(LocalDate begin, LocalDate end) {//准备日期列表ListLocalDate dateList new ArrayList(); // 用于存放begin-end范围内的每天的日期dateList.add(begin);while (!begin.equals(end)) {//日期计算计算指定日期的后一天对应的日期begin begin.plusDays(1);dateList.add(begin);}//存放每天的订单总数ListInteger orderCountList new ArrayList();//存放每天的有效订单总数ListInteger validOrderCountList new ArrayList();//遍历 dateList 集合查询每天的有效订单数和订单总数for (LocalDate date : dateList) {//时间格式转换LocalDateTime beginTime LocalDateTime.of(date, LocalTime.MIN);LocalDateTime endTime LocalDateTime.of(date, LocalTime.MAX);//查询每天的订单总数 select count(id) from orders where order_time ? and order_time ?Integer orderCount getOrderCount(beginTime, endTime, null);//查询每天的有效订单数 select sum(id) from orders where order_time ? and order_time ? and status ? (Orders.COMPLETED)Integer validOrderCount getOrderCount(beginTime, endTime, Orders.COMPLETED);//存放数据orderCountList.add(orderCount);validOrderCountList.add(validOrderCount);}//计算时间区间内的订单总数量可以通过 for 循环遍历上面两个集合进行累加也可以利用 stream 流来进行累加Integer totalOrderCount orderCountList.stream().reduce(Integer::sum).get();//计算时间区间内的有效订单数量Integer validOrderCount validOrderCountList.stream().reduce(Integer::sum).get();//计算订单完成率Double orderCompletionRate 0.0;if (totalOrderCount ! 0){orderCompletionRate validOrderCount.doubleValue() / totalOrderCount;}return OrderReportVO.builder().dateList(StringUtils.join(dateList,,)).orderCountList(StringUtils.join(orderCountList, ,)).validOrderCountList(StringUtils.join(validOrderCountList, ,)).totalOrderCount(totalOrderCount).validOrderCount(validOrderCount).orderCompletionRate(orderCompletionRate).build();}/*** 根据条件统计订单数量* param beginTime* param endTime* param status* return*/private Integer getOrderCount(LocalDateTime beginTime, LocalDateTime endTime, Integer status) {Map map new HashMap();map.put(beginTime, beginTime);map.put(endTime,endTime);map.put(status, status);Integer count orderMapper.countByMap(map);return count;} } OrderMapper.xml select idcountByMap resultTypejava.lang.Integerselect count(id) from orderswhereif testbeginTime ! nulland order_time gt; #{beginTime}/ifif testendTime ! nulland order_time lt; #{endTime}/ifif teststatus ! nulland status #{status}/if/where/select 5 销量排名 Top10 5.1 需求分析和设计 产品原型 接口设计  VO 设计  5.2 代码开发 ReportController.java RestController RequestMapping(/admin/report) Api(tags 数据统计相关接口) Slf4j public class ReportController {Autowiredprivate ReportService reportService;/*** 销量排名前10菜品统计* param begin* param end* return*/ApiOperation(销量排名前10菜品统计)GetMapping(/top10)public ResultSalesTop10ReportVO top10(DateTimeFormat(pattern yyyy-MM-dd) LocalDate begin,DateTimeFormat(pattern yyyy-MM-dd) LocalDate end) {log.info(在这个时间区间的销量排名前10菜品统计{} {}, begin, end);return Result.success(reportService.getSalesTop10(begin, end));}} ReportServiceImpl.java Service Slf4j public class ReportServiceImpl implements ReportService {Autowiredprivate OrderMapper orderMapper;/*** 销量排名前10菜品统计* param begin* param end* return*/public SalesTop10ReportVO getSalesTop10(LocalDate begin, LocalDate end) {LocalDateTime beginTime LocalDateTime.of(begin, LocalTime.MIN);LocalDateTime endTime LocalDateTime.of(end, LocalTime.MAX);ListGoodsSalesDTO salesTop10 orderMapper.getSalesTop10(beginTime, endTime);ListString names salesTop10.stream().map(GoodsSalesDTO::getName).collect(Collectors.toList());String nameList StringUtils.join(names, ,);ListInteger numbers salesTop10.stream().map(GoodsSalesDTO::getNumber).collect(Collectors.toList());String numberList StringUtils.join(numbers, ,);return SalesTop10ReportVO.builder().nameList(nameList).numberList(numberList).build();} } OrderMapper.xml select idgetSalesTop10 resultTypecom.sky.dto.GoodsSalesDTOselect od.name,sum(od.number) numberfrom order_detail od, orders owhere od.order_id o.id and o.status 5if testbegin ! nulland o.order_time gt; #{begin}/ifif testend ! nulland o.order_time lt; #{end}/ifgroup by od.nameorder by number desclimit 0, 10/select
http://www.huolong8.cn/news/29325/

相关文章:

  • 做网站的公司济南赛博科技市场泵网站建设
  • 网站建设对比分析网站建设测评报告
  • 淘宝网发布网站建设深圳专业网站开发
  • 网站seo在线诊断wordpress 自动上传插件
  • 广东省东莞市建设培训中心网站深圳网站建设开发需要多少钱
  • 网站建设项目结构分析多推网怎么推广
  • 怎样查别人网站的外链友情链接网站
  • 学校联系我们网站制作做网站找哪家好思南
  • 租网站服务器价格小程序需要租服务器吗
  • 响应式网站建设原则中装建设股票
  • 做3d打印网站wordpress文章设置到导航栏
  • 建设模板网站网站审核备案
  • 做外汇看什么网站网站建设培训 上海
  • 顺德 网站设计如何自定义wordpress登录
  • 如何看网站是用什么程序做的无锡本地做网站
  • 长沙可以做网站的公司wordpress如何做到手机端
  • 基于html做电商网站论文全球装饰公司排名
  • 鞍山网站制作云端无锡网站建设818gx
  • 新手如何做企业网站嵌入式软件开发外包
  • 广东电白建设集团有限公司官方网站网页设计总结收获和体会
  • 苏州企业建站公司广州网站优化哪家快
  • 做社交网站框架新公司名字大全参考
  • 广安 网站建设平湖市规划建设局网站
  • wordpress回收站在哪中信建设有限责任公司怎么样
  • 高端做网站价格网站首页动画效果
  • 建立网站赚钱吗网站建设可行性分析报告范文
  • 深圳移动网站建站wordpress heroku
  • 做网站顺序百度引擎入口官网
  • 网站机房建设做个网站 多少钱
  • 网站开发公司如何拓展业务网站插件模块原理