其他分享
首页 > 其他分享> > 销帮帮数据处理工具

销帮帮数据处理工具

作者:互联网

 

 

开发背景:

       公司CRM采购了销帮帮的CRM系统,由于CRM系统不完善,导出功能不能满足公司对数据进行分析的需求。每次整理数据,分析人员部门等各种情况,再有如果人员重名,销帮帮不能区分出具体是谁,必须去根据人员或其他数据进行区分。

解决方案:

       由于销帮帮数据的人员是有UserID的,而该UserID对应钉钉的UserID,所以可以根据钉钉提供的API接口轻松的判断出人员部门、分公司等信息,不用关心人员重名的情况。

开发环境:

软件使用C#+SQLSERVER进行开发。

使用教程:

       开始前先给大家看看软件的整体界面。   

 

 

 

 

软件主要包括清空今日数据,采集、数据分析、同步用户信息、获取数据 5部分功能。

创建并配置SQLServer数据库

在安装好的SQLServer服务器上,创建数据库,数据库名称根据需要定义,此处我定义的数据库名称是xbb,如下图的配置[1],正确配置数据库连接

获取销帮帮的组织编码和Token

根据销帮帮提供的网址[https://dingtalk.xbongbong.com/apiSetting/detail.html]获取对应的组织编码和token.,如下图配置[2]配置销帮帮石药使用的组织编码和Token.

创建企业内部应用

在钉钉的【开发者后台】创建企业内部应用。开放查询部门、人员信息的权限即可。并配置对应的appkey/appsecret到下图【3】处。

 

 

 

 

清空今日数据

开始采集前,如果今天的数据已经采集过,请点击【清空今日数据】,会自动清空今天已经采集的数据,重新开始采集。

采集

点击【开始】进行数据采集,采集的内容主要包括功能上勾选的数据。等待最下面的状态栏采集后待处理数据变为0条,则代表采集完成。

数据分析

采集后会把数据统计分配到一张表里,点击数据分析会自动根据采集到的数据创建表,并把数据插入到对应的表里面。

同步用户数据

同步用户数据是为了增量备份钉钉的所有的用户信息。

获取数据

点击【获取数据】按钮,自动导出销帮帮销售机会、合同、跟进记录等信息。

备注:如果哪天销帮帮数据发生变化,可以在软件的ExecSQL文件夹下修改对应的导出SQL语句,不用修改代码。

 

 

 

 

 

软件技能更新

dynamic关键字

第一次在开发中使用了dynamic关键字,通过对Json进行反序列化很好用。减少了很多Model的创建工作,也减少了以前通过正则表达式匹配的方式的工作量。

 

 

 

 

RichTextBox颜色问题

通过下面的语句修改当前显示的文字做的颜色。

      rtbContent.SelectionColor = Color.Red;

rtbContent.SelectedText = msg+"\r\n";

为了每天备份数据,所有的表都带有年月日格式

为了备份每天的数据,所有的表都带上了年月日yyyyMMdd格式结尾。所有的查询都是通过{Date}关键字,用今天的日期替换{Date}关键字后形成SQL查询语句

分页数据抓取规则

每次抓取分页数据时,由于是异步的,不能马上确定是否有下一页的时候,尤其是抓取第一页的时候,由于数据分类不同,以前都是根据不同的数据分页设置一下队列,然后依次从队列中进行数据弹出、采集等。现在采用字典Dic<string,ConcurrencyQueye<int>> 可以通过统一的方法,设置不同的关键字插入分页或者弹出分页。

加密方法

以前的加密方法大多是md5/AES等加密方式,最近大多都在改成sha256,可能与统一的前端架构有关系把。

C#的sha256加密方式:

public static string sha256(string data)
        {
            byte[] bytes = Encoding.UTF8.GetBytes(data);
            byte[] hash = SHA256Managed.Create().ComputeHash(bytes);

            StringBuilder builder = new StringBuilder();
            for (int i = 0; i < hash.Length; i++)
            {
                builder.Append(hash[i].ToString("X2"));
            }
            return builder.ToString();
        }

 

数据库处理(Dapper)

以前处理数据库都是自己手动写个简单的DbHelper,由于用不到各种复杂的处理。所以还算够用。

后来发现通过Dapper可以轻松实现数据的批量处理,而且总体来说效率还可以,毕竟写的代码少了,还是很高兴的。

轻量级的ORM工具,我选Dapper.。但是ADO.NET原理不能忘。

NPOI导出Excel

NPOI依然是最好的处理Excel的工具

软件开发思路

不再使用Model,正则表达式,把所有Json格式的数据通过,数据主键ID、列名、列值、数据类型 插入到一张表,通过统一的SQL创建插入规则把数据在统一插入到对应的表中,不需要提前知道表的列名。

自动创建、增加列。自动插入数据。

 

标签:帮帮,插入,创建,数据库,采集,数据处理,工具,数据
来源: https://www.cnblogs.com/wenqingluomo/p/11881644.html