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

百度网站 收录/免费舆情监测平台

百度网站 收录,免费舆情监测平台,免费论坛创建,广州海珠区繁华吗说明:任何一个运行的平台都需要一个很清楚的报表来显示,那么作为Java开源生鲜电商平台而言,我们应该如何设计报表呢?或者说我们希望报表来看到什么数据呢? 通过报表我们可以分析出目前整个公司的运营情况,以…

说明:任何一个运行的平台都需要一个很清楚的报表来显示,那么作为Java开源生鲜电商平台而言,我们应该如何设计报表呢?或者说我们希望报表来看到什么数据呢?

          通过报表我们可以分析出目前整个公司的运营情况,以及下一步的调整方向,这样更加有理有据的掌握整个市场与决策。

 

设计基础维度:

         1. 今日订单,今日营业额,总订单数,总营业额

         2. 今日的注册买家,总的注册买家。

         3. 实时的营收,实时的下单买家。

         4. 今日下单买家,空降A(空降A指的是今天注册同时下单的客户)

 

数据的力量在于清楚的明白的告诉整个系统运营人员,昨天我们的销售团队创造了多少的业绩,以及整个趋势是怎么样的,今天的努力方向是怎么样的,昨天的所获是怎么样的

如何进行一起努力与学习。

 

业务分析: 今日订单,今日营业额,总订单数,总营业额等来源于订单表以及订单汇总表。鉴于数据量并不是很大,所以可以实时的进行查询。

                    如果存在数据量过大,比如订单表我们有100w的数量,那么可以采用定时器在规定的时间内进行执行,然后把统计结果放在统计表中

 

统计表的系统设计如下:

       

复制代码
CREATE TABLE `report_days` (`id` bigint(20) DEFAULT NULL,`order_number_count` int(11) DEFAULT NULL COMMENT '今日订单数',`order_rmb_count` decimal(12,2) DEFAULT NULL COMMENT '今日营业额',`order_number_amount` int(11) DEFAULT NULL COMMENT '总订单数',`order_rmb_amount` decimal(12,2) DEFAULT NULL COMMENT '总营业额',`create_time` datetime DEFAULT NULL COMMENT '创建时间'
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='每日报表';
复制代码

说明:其实就是向这里面进行数据的更新与增加操作即可,每天进行报表的读取与显示

           不过有些网友提出采用缓存来处理,我个人的意见是不需要。数据也没那么多,而且都是定时器来执行,缓存的价值与意义很小。

 

相关的执行代码如下:

复制代码
@Component
public class TaskReport {private static final Logger logger=LoggerFactory.getLogger(TaskReport.class);@Autowiredprivate BuyerOrderReportService buyerOrderReportService;@Autowiredprivate ReportDayService reportDayService;@Autowiredprivate BillService billService;/*** 计算每天报表;*    每日上午6:00触发*/@Scheduled(cron="0 0 6 * * ?")protected void day(){try{logger.info("TaskReport.day.start");//统计每天订单报表;Integer today = 0;//0表示今天    1表示昨天;reportDayService.insertBatch(today);//统计买家每日订单金额;buyerOrderReportService.insertBatch(today);}catch(Exception e){logger.error("TaskReport.day.exception",e);}finally {logger.info("TaskReport.day.end");}
复制代码

 

2. 相关的报表的形状显示,目前折线图,柱状图是比较理想的一种方式,采用百度的echarts进行显示

   

相关的运行实例如下:

 

 

 

 

 

 

 

 补充说明:相关的echarts的用法,这边就不列举了,的确蛮简单的,返回json给echarts所需要的数据格式即可。

代码这里只贴出相对核心的代码:

复制代码
public class IndexController extends BaseController {private static final Logger logger = LoggerFactory.getLogger(IndexController.class);@Autowiredprivate OrderInfoService orderInfoService;@Autowiredprivate OrderItemService orderItemService;@Autowiredprivate SalesService salesService;@Autowiredprivate BuyerService buyerService;@Autowiredprivate SellerService sellerService;@Autowiredprivate ReportedService reportedService;@RequestMapping(value = "/index", method = { RequestMethod.GET, RequestMethod.POST })public String index(HttpServletRequest request, HttpServletResponse response, Model model, Long areaId) {logger.info("[IndexController][index] :查询订单统计数据");try {// 查询订单总数量和金额Map<String, Object> totalMap = orderInfoService.getCountAndAmount();int totalCount = (int) totalMap.get("count");BigDecimal totalAmount = (BigDecimal) totalMap.get("amount");if (totalAmount == null) {totalAmount = BigDecimal.ZERO;}// 查询今日的订单总数量和金额Map<String, Object> todayMap = orderInfoService.getOrderCountAndAmountByToday();int todayOrderCount = (int) todayMap.get("count");BigDecimal todayOrderAmount = (BigDecimal) todayMap.get("amount");if (todayOrderAmount == null) {todayOrderAmount = BigDecimal.ZERO;}// 查询实时的订单总数量和金额Map<String, Object> realTimeRevenueMap = orderInfoService.getRealTimeRevenueCount();int realTimeOrderCount = (int) realTimeRevenueMap.get("count");BigDecimal realTimeOrderAmount = (BigDecimal) realTimeRevenueMap.get("amount");if (realTimeOrderAmount == null) {realTimeOrderAmount = BigDecimal.ZERO;}// 入驻买家数量int totalBuyerCount = buyerService.getBuyerCount(null);// 当日注册买家数量int todayBuyercount = buyerService.getDailyBuyerCount();// 当日入驻卖家数量int todaySellerCount = sellerService.getDailySellerCount();model.addAttribute("totalCount", totalCount);model.addAttribute("totalAmount", totalAmount);model.addAttribute("todayOrderCount", todayOrderCount);model.addAttribute("todayOrderAmount", todayOrderAmount);model.addAttribute("totalBuyerCount", totalBuyerCount);model.addAttribute("todayBuyercount", todayBuyercount);model.addAttribute("todaySellerCount", todaySellerCount);model.addAttribute("realTimeOrderAmount", realTimeOrderAmount);model.addAttribute("realTimeOrderCount", realTimeOrderCount);// 查询今儿下单买家数量和空降A;int order_buyerCount = orderInfoService.getBuyerCountByTodayOrder();int newBuyerNum = orderInfoService.getBuyerNumByThatDay();model.addAttribute("order_buyerCount", order_buyerCount);model.addAttribute("newBuyerNum", newBuyerNum);Reported reported = new Reported();reported.setrSolveStatus(1);int count = reportedService.getCount(reported);model.addAttribute("count", count);} catch (Exception ex) {logger.error("[IndexController][index] :exception", ex);}return "index";}
复制代码

 

3.对于卖家而言,我们的报表需要有以下几个维度来统计(统计最新的TOP的卖家)

        3.1   买家消费。

        3. 2  卖家收入

        3.3   热卖的菜品

        3.4   销售业绩

        3. 5  订单项最多的买家。

 

   

 

 这里面也是些统计的数据,相对而言跟上面的买家维度差不多,代码方面也类似,无外乎需要的是多点数据库的查询与统计即可。

 

总结:其实整个报表的设计与实现过程并不难,难的是你为什么要这样设计,你通过这个运营的后台给整个项目的运营能够带来怎么样的用户体验与指导,

            你需要通过数据来诊断这个销售团队过程中是否存在什么问题。有没什么刷单以及其他的作弊嫌疑在里面。

 

最后:很多人说系统功能很强大很好,但是我的一种思维方式是不一定,强大固然好,但是你需要通过这么多的系统数据中来分析出问题的关键,而不是所谓的代码堆积。

           你所需要的是思考,再思考,最终思考。

 

 

转载自-- https://www.cnblogs.com/jurendage/p/9108863.html

转载于:https://www.cnblogs.com/lu-manman/p/10052358.html

http://www.lbrq.cn/news/1066051.html

相关文章:

  • 佛山手机网站建设优化/宣传推广
  • 开周边网站怎么做品牌/广告收益平台
  • 微信小商店开店流程/长沙seo就选智优营家
  • 做ppt好用的网站有哪些/阿里云自助建站
  • 东莞企业网站制作出售/小红书推广
  • 济南做网站优化公司/怎么自己创建网站
  • 动态网站建设软件/广告策划书
  • 为什么做民宿网站/郑州网络推广哪个好
  • 如何备份织梦系统做的网站/淘宝直通车推广怎么收费
  • 网站数据库安全/网络优化seo
  • 做简历网站有什么/网络优化网站
  • 网站正在建设中 模板/搜索引擎排名谷歌
  • 网站改版设计思路/seo企业顾问
  • 嘉兴最大网络平台/关键词优化公司费用多少
  • 电商网站建设培训学校/什么是seo搜索引擎优化
  • 赣州企业做网站/b站推广是什么意思
  • 建设网站好难/百姓网推广怎么收费标准
  • 新疆好地方app下载安装一码通/seo软文代写
  • 国外的有趣设计网站/阳江seo
  • 如何做网站收徒弟网站/重庆关键词优化
  • 如何做自己的论坛网站/什么是seo优化推广
  • 顺德装修网站建设/全网媒体发布平台
  • 新网做网站流程/班级优化大师下载安装最新版
  • 做网站看/世界大学排名
  • 摄影设计网站/0元做游戏代理
  • 手机网站的模板下载软件/北京seo的排名优化
  • 做苗木行业网站赚钱/百度seo优化排名客服电话
  • 网站建设公司知名企业/网页首页设计图片
  • 代刷网站怎么做/电子商务网站设计方案
  • 怎么创建网站挣钱/郑州聚商网络科技有限公司
  • 【ROS2】ROS2节点Node机制与常用命令行
  • SmartCLIP:具有识别保证的模块化视觉-语言对齐
  • 学习笔记:无锁队列的原理以及c++实现
  • SH3001六轴传感器应用(二)(IIC驱动开发)
  • 使用 whisper, 音频分割, 整理需求 2
  • Verilog与SytemVerilog差别