通过对参数的解析,最终形成查询的SQL语句,获取精准的结果数据。
@Service public class TagDataSetServiceImpl extends ServiceImpl<TagDataSetMapper, TagDataSet> implements TagDataSetService { @Resource private TagDataSetMapper tagDataSetMapper ; @Override public Integer analyze(List<TagParam> tagParamList) { StringBuffer querySQL = new StringBuffer() ; for (TagParam tagParam:tagParamList){ querySQL.append(" AND ") ; querySQL.append(tagParam.getBindColumn()) ; // 1枚举,2数值,3日期,4布尔,5值类型 List<String> valueList = tagParam.getValueList(); switch (tagParam.getDataType()){ case 1: querySQL.append(" IN (") ; for (int i = 0 ; i < valueList.size() ;i++){ if (i != valueList.size()-1){ querySQL.append("'").append(valueList.get(i)).append("',"); } else { querySQL.append("'").append(valueList.get(i)).append("'"); } } querySQL.append(" )") ; break; case 2: querySQL.append("=").append(tagParam.getValueList().get(0)) ; break; case 3: querySQL.append(">='").append(tagParam.getValueList().get(0)).append("'") ; break; case 4: querySQL.append("=").append(tagParam.getValueList().get(0)) ; break; case 5: querySQL.append(" LIKE '%").append(tagParam.getValueList().get(0)).append("%'") ; break; default: break; } } /* 最终执行的 SQL SELECT COUNT(*) FROM tc_tag_data_set WHERE 1 = 1 AND origin_place IN ('深圳', '广东') AND unit_price = 1999 AND create_time >= '2020-05-01 13:43:54' AND is_shelves = 1 AND product_name LIKE '%智能%' */ String whereCondition = String.valueOf(querySQL); return tagDataSetMapper.analyze(whereCondition); } }可能有人会说这不就是个查询流程吗?如果有这样的疑问,把上述案例换成用户查询,标签数据的价值会更直观。
三、智能画像 1、基本概念用户画像
作为一种勾画目标用户、联系用户诉求与设计方向的有效工具,用户画像在各领域得到了广泛的应用。最初是在电商领域得到应用的,在大数据时代背景下,用户信息充斥在网络中,将用户的每个具体信息抽象成标签,利用这些标签将用户形象具体化,从而为用户提供有针对性的服务。
行业画像
通过行业属性标签,行业下用户标签的综合分析,生成行业分析报告,提供极有价值的导向,这是最近两年极其热门的应用。
画像补全
通过不断分析用户数据,丰富标签库,使用户的画像更加丰富立体。
2、画像报告通过标签数据的分析,生成一份分析报告,报告内容包含丰富的用户标签统计数据。
例如:90后画像报告
这个报告,互联网用户一定或多或少都看到过。主要是一些标签统计,共性标签展示,或者哪些群体对90后三观影响最大,收入来源,学历等各种分析解读。
四、源代码地址 GitHub·地址 https://github.com/cicadasmile/data-manage-parent GitEE·地址 https://gitee.com/cicadasmile/data-manage-parent推荐阅读:《架构设计系列》,萝卜青菜,各有所需
序号 标题01 架构设计:单服务.集群.分布式,基本区别和联系
02 架构设计:分布式业务系统中,全局ID生成策略
03 架构设计:分布式系统调度,Zookeeper集群化管理
04 架构设计:接口幂等性原则,防重复提交Token管理
05 架构设计:缓存管理模式,监控和内存回收策略