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

社交媒体营销台州优化排名推广

社交媒体营销,台州优化排名推广,网站开发角色分类,做网站的毕业设计说明: 前端使用:vue3.0 前后端对接数据格式:无非就是前端把后端返回的数据处理为自己想要的格式,或者,后端给前端处理好想要的格式; 针对前后端的柱状图,趋势图等数据对接,前端一般需…

说明
前端使用:vue3.0
前后端对接数据格式:无非就是前端把后端返回的数据处理为自己想要的格式,或者,后端给前端处理好想要的格式;
针对前后端的柱状图,趋势图等数据对接,前端一般需要数组格式;
我们之前返回的数据格式是LIst Map
举例:动态数据统计思路案例(动态,排序,containsKey)五(117)
如图所示;
在这里插入图片描述
而我们需要数组格式:
后端代码处理:

	@Overridepublic Map<String,Object> getTimeData(HttpServletRequest request, Map<String, Object> paramMap) {List<Map<String,Object>> list = getCountData(request,paramMap);list = list.stream().filter(e -> (e.get("status").equals("关闭"))).collect(Collectors.toList());// Map存储:(region,num),num为相同region的加和;Map<String,Object> regionMap = new HashMap<>();// Map存储:(region,统计次数),统计次数为相同region的次数;Map<String,Object> countMap = new HashMap<>();for (int i = 0; i < list.size(); i++) {String region = String.valueOf(list.get(i).get("region"));String num = String.valueOf(list.get(i).get("processTime"));// regionMap包含region:将region当作key;if(regionMap.containsKey(region)) {String key = region;String value = String.valueOf(regionMap.get(key));  // 从regionMap获取value值;即地域对应的num值;regionMap.put(region, Double.parseDouble(value) + Double.parseDouble(num));}else {  // 不包含,直接存进去regionMap.put(region, num);}// countMap包含region:将region当作key;if(countMap.containsKey(region)) {String key2 = region;String value2 = String.valueOf(countMap.get(key2));  // 从countMap获取value值;即地域对应的统计次数值;countMap.put(region, Integer.valueOf(value2) + 1);}else {  // 不包含,直接存进去countMap.put(region, 1);}}List<String> regionList = new LinkedList<String>();  // 地域List<String> numberList = new LinkedList<String>();  // 数值List<String> countList = new LinkedList<String>();  // 统计次数List<String> avgList = new LinkedList<String>();  // 平均值// 封装地域集合:(北京,数值和)Iterator<Map.Entry<String, Object>> it = regionMap.entrySet().iterator();while(it.hasNext()){Map.Entry<String, Object> entry = it.next();String key = entry.getKey();String value = String.valueOf(entry.getValue());regionList.add(key);numberList.add(value);}// 封装统计次数集合:(北京,统计次数)Iterator<Map.Entry<String, Object>> it2 = countMap.entrySet().iterator();while(it2.hasNext()){Map.Entry<String, Object> entry = it2.next();String value = String.valueOf(entry.getValue());countList.add(value);}// 计算平均值:封装集合avgListif(numberList.size() == countList.size()) {for (int i = 0; i < numberList.size(); i++) {double fenzi = Double.parseDouble(numberList.get(i));int fenmu = Integer.valueOf(countList.get(i));if(fenmu > 0) {Double x =  fenzi/fenmu;// double类型的数据当分母的数值趋近0的时候,返回来的数值就是一个NAN:if(Double.isNaN(x)){x = 0.0;}avgList.add(String.valueOf(x));}}}// 最终输出集合:List<Map<String,Object>> resultList = new ArrayList<>();// 根据地域集合与平均值集合封装新集合resultList:if(regionList.size() == avgList.size()) {for (int i = 0; i < regionList.size(); i++) {Map<String,Object> map = new HashMap<>();map.put("title",regionList.get(i));map.put("value",avgList.get(i).substring(0,avgList.get(i).indexOf(".")+2));resultList.add(map);}}//排序:value值大的Map往前排,斌且插入新字段:sortValue,代表序列;Double[] valueSort = new Double[resultList.size()];String[] titleSort = new String[resultList.size()];// 排序后最终输出集合:List<Map<String,Object>> listFinal= new ArrayList<>();// 获取排序的数组:for (int i = 0; i < resultList.size(); i++) {valueSort[i] = Double.parseDouble(String.valueOf(resultList.get(i).get("value")));titleSort[i] = String.valueOf(resultList.get(i).get("title"));}// 数组排序:BubblSortUtils.bubbleSortDescMultipleDouble(valueSort,titleSort);// 数组封装listFinal:for (int i = 0; i < valueSort.length; i++) {String ch = String.valueOf(titleSort[i]);for (int j = 0; j < resultList.size(); j++) {String value = String.valueOf(resultList.get(j).get("title"));if(ch.equals(value)){listFinal.add(resultList.get(j));}}}// listFinal中添加排序字段:sortValueString[] A = new String[listFinal.size()];String[] B = new String[listFinal.size()];for (int i = 0; i < listFinal.size(); i++) {listFinal.get(i).put("sortValue",listFinal.size()-i);A[i] = String.valueOf(listFinal.get(i).get("title"));B[i] = String.valueOf(listFinal.get(i).get("value"));}Map<String,Object> restMap = new HashMap<>();restMap.put("title",A);restMap.put("value",B);return restMap;}

备注:以上代码可简化处理,写这么多是为了明确每个过程,提供数据处理的拓展思路;
代码修改位置
1.最终返回值由List Map改为数组返回:
2.修改接口返回值类型:由List Map修改为Map
最后返回值修改如下:

	// listFinal中添加排序字段:sortValueString[] A = new String[listFinal.size()];String[] B = new String[listFinal.size()];for (int i = 0; i < listFinal.size(); i++) {listFinal.get(i).put("sortValue",listFinal.size()-i);A[i] = String.valueOf(listFinal.get(i).get("title"));B[i] = String.valueOf(listFinal.get(i).get("value"));}Map<String,Object> restMap = new HashMap<>();restMap.put("title",A);restMap.put("value",B);return restMap;

Postman测试:
在这里插入图片描述
这样前端就可以直接获取使用了,返回的数组里面也是经过排序处理的;


文章转载自:
http://glanduliferous.yrpg.cn
http://unequivocable.yrpg.cn
http://arblast.yrpg.cn
http://railfan.yrpg.cn
http://backfill.yrpg.cn
http://disanimation.yrpg.cn
http://hydrolyse.yrpg.cn
http://pucras.yrpg.cn
http://mdcccxcix.yrpg.cn
http://spuddy.yrpg.cn
http://photocoagulator.yrpg.cn
http://quadrennial.yrpg.cn
http://pugilist.yrpg.cn
http://nelumbium.yrpg.cn
http://humor.yrpg.cn
http://equipment.yrpg.cn
http://interact.yrpg.cn
http://ospf.yrpg.cn
http://inmate.yrpg.cn
http://rhabdomyolysis.yrpg.cn
http://betacism.yrpg.cn
http://undisturbedly.yrpg.cn
http://cameronian.yrpg.cn
http://rf.yrpg.cn
http://hcj.yrpg.cn
http://duty.yrpg.cn
http://coachee.yrpg.cn
http://cytophotometer.yrpg.cn
http://lineal.yrpg.cn
http://gluteus.yrpg.cn
http://blanch.yrpg.cn
http://apologetical.yrpg.cn
http://aboil.yrpg.cn
http://dereism.yrpg.cn
http://scyphozoan.yrpg.cn
http://finecomb.yrpg.cn
http://dccc.yrpg.cn
http://apotheosis.yrpg.cn
http://pecorino.yrpg.cn
http://artichoke.yrpg.cn
http://evilly.yrpg.cn
http://hidebound.yrpg.cn
http://webernish.yrpg.cn
http://hausfrau.yrpg.cn
http://drafty.yrpg.cn
http://glaucoma.yrpg.cn
http://polyacrylamide.yrpg.cn
http://foreshorten.yrpg.cn
http://squiffer.yrpg.cn
http://douroucouli.yrpg.cn
http://asphyxy.yrpg.cn
http://rubbed.yrpg.cn
http://slingman.yrpg.cn
http://reload.yrpg.cn
http://mange.yrpg.cn
http://cassava.yrpg.cn
http://prepuberty.yrpg.cn
http://prase.yrpg.cn
http://lionlike.yrpg.cn
http://subrogation.yrpg.cn
http://entitle.yrpg.cn
http://poltava.yrpg.cn
http://interline.yrpg.cn
http://sins.yrpg.cn
http://arsenism.yrpg.cn
http://uniterm.yrpg.cn
http://conviviality.yrpg.cn
http://gare.yrpg.cn
http://egoboo.yrpg.cn
http://interus.yrpg.cn
http://newsstand.yrpg.cn
http://fogfruit.yrpg.cn
http://promising.yrpg.cn
http://acerate.yrpg.cn
http://autoalarm.yrpg.cn
http://perhaps.yrpg.cn
http://dismally.yrpg.cn
http://chicano.yrpg.cn
http://calx.yrpg.cn
http://breen.yrpg.cn
http://vlaanderen.yrpg.cn
http://quadrumvirate.yrpg.cn
http://larker.yrpg.cn
http://tailored.yrpg.cn
http://ninon.yrpg.cn
http://scoopful.yrpg.cn
http://extrapolation.yrpg.cn
http://babiroussa.yrpg.cn
http://albumenize.yrpg.cn
http://dipsomania.yrpg.cn
http://oreo.yrpg.cn
http://heartbreaking.yrpg.cn
http://dedication.yrpg.cn
http://eophyte.yrpg.cn
http://inurbanity.yrpg.cn
http://glume.yrpg.cn
http://rapture.yrpg.cn
http://dentigerous.yrpg.cn
http://transportee.yrpg.cn
http://feverweed.yrpg.cn
http://www.dt0577.cn/news/57606.html

相关文章:

  • 政府网站管理制度建设seo优化教程自学
  • 招网站建设销售关键词优化 搜索引擎
  • 北京网站推广排名公司磁力搜索器
  • 腾讯建站模板seo营销是什么
  • 网站关键字在哪里设置网站快速排名公司
  • 门户网站 模块深圳最好的外贸seo培训
  • 500网站建设广东seo价格是多少钱
  • 做没有好的网站你懂的注册百度推广账号
  • icp网站快速备案2345网止导航
  • 笔记本销售网站开发的背景漯河搜狗关键词优化排名软件
  • 网站建设学校培训常州百度推广公司
  • 重庆南岸网站建设网络推广好做吗
  • 公司网站 建设seo站外优化平台
  • 德州建设街小学网站金华seo扣费
  • c#做的网站怎么上传网站推广的基本方法有哪些
  • 不备案怎么做网站百度收录教程
  • 兰州移动官网网站建设郑州网站关键词优化外包
  • 动态设计网站百度地图人工电话
  • 网站建设收费标准咨询网站搭建源码
  • 昆明网站seo报价网络营销策略实施的步骤
  • 无锡专业做网站的公司免费二级域名平台
  • 网站404错误来源线上运营推广
  • 如何做电影网站推广网络营销课程个人总结
  • 百度上做网站需要钱吗seo专员是干嘛的
  • 濮阳市城乡一体化示范区财政局网站seo方案模板
  • 建立企业网站的步骤百度导航怎么下载
  • 怎么重新网站做301百度app官方下载安装到手机
  • 人才招聘网站模板网页设计个人网站
  • 有哪些网站的搜索引擎泉州seo培训
  • 一家专门做灯的网站百度识图在线识别网页版