Commit c5bb0451 authored by yinxiaoling's avatar yinxiaoling

文档

parents
Pipeline #709 failed with stages
4.1上线说明
注意、增加号码归属地字段(运营平台 任务表 account相关表增加字段)
一个模板只属于一个主账号(后台处理好一个模板归属多个用户的情况)
数据初始化/table/build
配置fs字段信息area_code
执行删除redis键命令
/root/redis-2.8.17/src/redis-cli -p 8293 -a 5gwW1hWM7xAtFdKxxbeAhzDpW50MOdimAMMw keys "usersInfo:counts:realsAll:*" | xargs /root/redis-2.8.17/src/redis-cli -p 8293 -a 5gwW1hWM7xAtFdKxxbeAhzDpW50MOdimAMMw del
执行命令
psql -U postgres postgres < /opt/lampp/xiaoa/xiaoa/database/xiaoa4.1.sql
执行命令
php artisan db:seed --class=WarningSeeder
php artisan db:seed --class=xiaoa41
执行命令
psql -U postgres postgres < /opt/lampp/xiaoa/xiaoa/database/others.sql
自定义字段编辑表单字段含义
filed //字段值
filed_caption //字段名称
is_tts_import_filed //是否是tts_import_filed表字段 1是 0不是
tts_import_filed_id //是tts_import_filed表字段时tts_import_filed表id值
detault_value //默认值
is_must_fill //是否必填(1必填,0非必填)
is_import //是否导入(1是,0否)
is_export //是否导出(1是,0否)
is_list_show //是否列表显示(1是,0否)
is_detail_show //是否详情(1是,0否)
is_query //是否开启查询(1是,0否)
filed_type_first filed_type_type一级字段类型,之前表中的filed_type作为二级字段类型,兼容历史数据
query_type 查询类型,equal精确、like模糊、between范围
form_type //表单类型,0单行文本,1数字,2单选按钮组,3下拉框,4多行文本,5日期(年月日),6复选框组,7下拉复选框,8日期时间(年月日时分秒)9地址(省市县级联表单)
form_type_classify //表单类型 二级分类(10静态标签,11动态标签,12完整回答)
form_type_extra //(多个值逗号分隔)表单类型选择值,数组(静态标签动态标签选中值的存放,静态标签多选逗号分隔、动态标签存question_code,完整回答流程qustion_code)
form_type_extra_selected //表单类型选择值是否默认选中1默认选中0不选中,数组(与form_type_extra数组长度一致)
verify_type //验证格式类型,对应正则匹配 空无,phone手机号码、telephone电话号码、postcode邮政编码、idcard身份证号码、email邮箱、relation数据关联(10静态标签,11动态标签,12完整回答的一个类型,不需要验证格式)
手机号码:11位数字
^(13[0-9]|14[579]|15[0-3,5-9]|16[6]|17[0135678]|18[0-9]|19[89])\d{8}$
电话号码:7-12位数字,可含横杠-
^((0\d{2,3})-)?(\d{7,8})(-(\d{3,}))?$|(0\d{10})$
邮政编码:6位数字
^[0-9]{6}$
身份证号码:15或18位数字,可含X x
^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$)|(^[1-9]\d{5}\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{2}$
邮箱:大小写字母、数字、@、点.、划线 - _
^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$
\ No newline at end of file
v3.2.0 v3.3.0 版本更新说明
一、执行初始化文件 二、执行下面命令删除redis(删除之前无自定义宽度的crm列表设置redis结构) 三、执行下面的sql初始化语句(删除自动分类统计数据),注意修改/app/Console/Kernel.php第二次初始化时间(更新第二天时间) 四、修改vim /etc/supervisord.conf 添加内容、重启
二、
/root/redis-2.8.17/src/redis-cli -p 8293 -a 5gwW1hWM7xAtFdKxxbeAhzDpW50MOdimAMMw keys "usersInfo:listtable:crm:*" | xargs /root/redis-2.8.17/src/redis-cli -p 8293 -a 5gwW1hWM7xAtFdKxxbeAhzDpW50MOdimAMMw del
三、
psql -U postgres postgres < /opt/lampp/xiaoa/trunk/database/status_counts_init.sql
四、
[program:crm_account]
process_name=%(program_name)s_%(process_num)02d
command=/opt/lampp/bin/php /opt/lampp/xiaoa/trunk/artisan queue:work redis --queue=customerAccounts --sleep=3 --tries=3 --daemon
autostart=true
autorestart=true
user=forge
numprocs=1
redirect_stderr=true
stdout_logfile=/opt/lampp/htdocs/queue_log/worker.log
/opt/lampp/bin/php /opt/lampp/xiaoa/trunk/artisan command:SyncCountsHoursBinit second
/opt/lampp/bin/php /opt/lampp/xiaoa/trunk/artisan command:SyncCountsDaysBinit second
/opt/lampp/bin/php /opt/lampp/xiaoa/trunk/artisan command:SyncCountsHours
/opt/lampp/bin/php /opt/lampp/xiaoa/trunk/artisan command:SyncCountsDays
/opt/lampp/bin/php /opt/lampp/xiaoa/trunk/artisan command:SyncCountsAreaCode
/opt/lampp/bin/php /opt/lampp/xiaoa/trunk/artisan command:SyncCountsReals
v3.3.1 版本(去掉客户管理)
更新文件
/opt/lampp/xiaoa/trunk/app/Http/Controllers/client/taskManage/CallOutController.php
/opt/lampp/xiaoa/trunk/app/Http/Controllers/client/taskManage/CallOutUtils.php
/opt/lampp/xiaoa/trunk/resources/views/auth/login.blade.php
/opt/lampp/xiaoa/trunk/resources/views/client/nav.blade.php
/opt/lampp/xiaoa/trunk/resources/views/client/header.blade.php
配置 vim /etc/supervisord.conf 去掉 customerAccounts相关配置信息
启动 supervisord
\ No newline at end of file
V3.3补充说明 所有服务器操作
一、svn更新文件
二、初始化操作(给customer相关表加索引) (初始化完还原初始化文件)
三、运行命令: psql -U postgres postgres < /opt/lampp/xiaoa/trunk/database/status_counts_init.sql
四、修改定时任务命令路径 /opt/lampp/bin/php /opt/lampp/xiaoa/trunk/artisan schedule:run >> /dev/null 2>&1
#统计初始化 10月8号2点10分 更新晚上第二天时间
10 2 7 11 * /opt/lampp/bin/php /opt/lampp/htdocs/artisan command:SyncCountsHoursBinit
10 3 7 11 * /opt/lampp/bin/php /opt/lampp/htdocs/artisan command:SyncCountsDaysBinit
30 4 7 11 * /opt/lampp/bin/php /opt/lampp/htdocs/artisan command:SyncCountsAreaCodeBinit
#每晚统计数
1 2 * * * /opt/lampp/bin/php /opt/lampp/htdocs/artisan command:SyncCountsHours
1 3 * * * /opt/lampp/bin/php /opt/lampp/htdocs/artisan command:SyncCountsDays
1 4 * * * /opt/lampp/bin/php /opt/lampp/htdocs/artisan command:SyncCountsAreaCode
1 5 * * * /opt/lampp/bin/php /opt/lampp/htdocs/artisan command:SyncCountsReals
#统计初始化 10月8号2点10分 更新晚上第二天时间
10 2 21 11 * /opt/lampp/bin/php /opt/lampp/xiaoa/trunk/artisan command:SyncCountsHoursBinit
10 3 21 11 * /opt/lampp/bin/php /opt/lampp/xiaoa/trunk/artisan command:SyncCountsDaysBinit
30 4 21 11 * /opt/lampp/bin/php /opt/lampp/xiaoa/trunk/artisan command:SyncCountsAreaCodeBinit
#每晚统计数
1 2 * * * /opt/lampp/bin/php /opt/lampp/xiaoa/trunk/artisan command:SyncCountsHours
1 3 * * * /opt/lampp/bin/php /opt/lampp/xiaoa/trunk/artisan command:SyncCountsDays
1 4 * * * /opt/lampp/bin/php /opt/lampp/xiaoa/trunk/artisan command:SyncCountsAreaCode
1 5 * * * /opt/lampp/bin/php /opt/lampp/xiaoa/trunk/artisan command:SyncCountsReals
v3.5更新说明
一、执行下面命令(删除实时数据手机号滚动redis数据)
/root/redis-2.8.17/src/redis-cli -p 8293 -a 5gwW1hWM7xAtFdKxxbeAhzDpW50MOdimAMMw keys "usersInfo:counts:realsPhone:*" | xargs /root/redis-2.8.17/src/redis-cli -p 8293 -a 5gwW1hWM7xAtFdKxxbeAhzDpW50MOdimAMMw del
/root/redis-2.8.17/src/redis-cli -p 8293 -a 5gwW1hWM7xAtFdKxxbeAhzDpW50MOdimAMMw keys "usersInfo:counts:realsAll:*" | xargs /root/redis-2.8.17/src/redis-cli -p 8293 -a 5gwW1hWM7xAtFdKxxbeAhzDpW50MOdimAMMw del
一、 /etc/supervisord.conf 文件添加以下内容
[program:crm_account0]
process_name=%(program_name)s_%(process_num)02d
command=/opt/lampp/bin/php /opt/lampp/xiaoa/trunk/artisan queue:work redis --queue=customerAccounts0 --sleep=3 --tries=3 --daemon
autostart=true:
autorestart=true
user=forge
numprocs=1
redirect_stderr=true
stdout_logfile=/opt/lampp/htdocs/queue_log/worker.log
[program:crm_account1]
process_name=%(program_name)s_%(process_num)02d
command=/opt/lampp/bin/php /opt/lampp/xiaoa/trunk/artisan queue:work redis --queue=customerAccounts1 --sleep=3 --tries=3 --daemon
autostart=true
autorestart=true
user=forge
numprocs=1
redirect_stderr=true
stdout_logfile=/opt/lampp/htdocs/queue_log/worker.log
[program:crm_account2]
process_name=%(program_name)s_%(process_num)02d
command=/opt/lampp/bin/php /opt/lampp/xiaoa/trunk/artisan queue:work redis --queue=customerAccounts2 --sleep=3 --tries=3 --daemon
autostart=true
autorestart=true
user=forge
numprocs=1
redirect_stderr=true
stdout_logfile=/opt/lampp/htdocs/queue_log/worker.log
二、 /usr/local/freeswitch/conf/autoload_configs/fastcall.conf.xml 添加source、connected_at、da2_result、sex、qc_status配置,sex配置三个地方(三个板块 tables、 account、 urls)
三、sex字段添加,运营平台创建账户新建表添加字段
四、初始化 table/build?param1=projectFollowSet (注意:4.0第一次初始化加上参数 param1=projectFollowSet,非第一次初始化不能加参数)
4.3 上线说明
一、
初始化操作(注意前后关系,第1条只执行一次(注意),后面拉了代码也不能执行)
1、/opt/lampp/bin/php artisan db:seed --class=xiaoa43one
2、/opt/lampp/bin/php artisan db:seed --class=xiaoa43
二、
修改配置项/etc/supervisord.conf,添加多个进程(附件中supervisord.conf文件直接覆盖)
重启supervisord
三、
fs配置文件添加子分类的配置(两条),accounts表添加字段存放子分类(运营平台accounts表新建用户增加字段status_sub),人工介入字段
cdr
<field name="asr_f_sub" chan-var-name="getstatusexsub(uuid, project_sn, question2, question3, question4,asks_count_routine, talktimes,da2_result)"/>
<field name="fs_monitor_agent" chan-var-name="fs_monitor_agent"/>
account
<field name="status_sub" chan-var-name="getstatusexsub(uuid, project_sn, question2, question3, question4,asks_count_routine, talktimes,da2_result)"/>
<field name="fs_monitor_agent" chan-var-name="fs_monitor_agent"/>
数据表temp_accounts增加talk_info字段传输
post_dbs
<field name="talk_info" chan-var-name="question1"/>
<field name="fs_monitor_agent" chan-var-name="fs_monitor_agent"/>
<field name="is_into_blacklist" chan-var-name="asks_is_into_blacklist_value"/>
<field name="is_into_black_term" chan-var-name="asks_is_into_black_term"/>
增加配置模块
<post_dbs>
<post_db name="sendsms" table="temp_accounts">
<field name="parent_sn" chan-var-name="parent_sn"/>
<field name="team_name" chan-var-name="team_name"/>
<field name="project_sn" chan-var-name="project_sn"/>
<field name="phone" chan-var-name="callee"/>
<field name="labeling" chan-var-name="question2"/>
<field name="score" chan-var-name="question3"/>
<field name="ask_count" chan-var-name="question4"/>
<field name="name" chan-var-name="name"/>
<field name="address" chan-var-name="address"/>
<field name="unit" chan-var-name="unit"/>
<field name="mark" chan-var-name="mark"/>
<field name="data1" chan-var-name="data1"/>
<field name="data2" chan-var-name="data2"/>
<field name="data3" chan-var-name="data3"/>
<field name="data4" chan-var-name="data4"/>
<field name="data5" chan-var-name="data5"/>
<field name="data6" chan-var-name="data6"/>
<field name="data7" chan-var-name="data7"/>
<field name="data8" chan-var-name="data8"/>
<field name="data9" chan-var-name="data9"/>
<field name="data10" chan-var-name="data10"/>
<field name="fs_is_seat" chan-var-name="fs_is_seat"/>
<field name="direction" chan-var-name="direction"/>
<field name="account_sn" chan-var-name="account_sn"/>
<field name="user_sn" chan-var-name="user_sn"/>
<field name="talktimes" chan-var-name="talktimes"/>
<field name="asks_count_routine" chan-var-name="asks_count_routine"/>
<field name="uuid" chan-var-name="uuid"/>
<field name="all_asr_result" chan-var-name="all_asr_result"/>
<field name="all_asr_result1" chan-var-name="all_asr_result1"/>
<field name="recognition_count" chan-var-name="recognition_count"/>
<field name="uuid" chan-var-name="uuid"/>
<field name="project_name" chan-var-name="project_name"/>
<field name="user_name" chan-var-name="user_name"/>
<field name="user_sn" chan-var-name="user_sn"/>
<field name="callee" chan-var-name="callee"/>
<field name="caller" chan-var-name="account_phone"/>
<field name="dynamic_labelling" chan-var-name="dynamic_labelling"/>
<field name="source" chan-var-name="source"/>
<field name="connected_at" chan-var-name="nowtime"/>
<field name="da2_result" chan-var-name="da2_result"/>
<field name="qc_status" chan-var-name="qc_status"/>
<field name="area_code" chan-var-name="area_code"/>
<field name="is_into_blacklist" chan-var-name="asks_is_into_blacklist_value"/>
<field name="is_into_black_term" chan-var-name="asks_is_into_black_term"/>
<field name="talk_info" chan-var-name="question1"/>
<field name="fs_monitor_agent" chan-var-name="fs_monitor_agent"/>
</post_db>
</post_dbs>
删除配置模块(如下)
<urls>
<url name="sendsms" ref="http://120.78.227.216:81/sms/SendReminderSms">
<field name="parent_sn" chan-var-name="parent_sn"/>
<field name="team_name" chan-var-name="team_name"/>
<field name="project_sn" chan-var-name="project_sn"/>
<field name="phone" chan-var-name="callee"/>
<field name="labeling" chan-var-name="question2"/>
<field name="score" chan-var-name="question3"/>
<field name="ask_count" chan-var-name="question4"/>
<field name="name" chan-var-name="name"/>
<field name="address" chan-var-name="address"/>
<field name="unit" chan-var-name="unit"/>
<field name="mark" chan-var-name="mark"/>
<field name="data1" chan-var-name="data1"/>
<field name="data2" chan-var-name="data2"/>
<field name="data3" chan-var-name="data3"/>
<field name="data4" chan-var-name="data4"/>
<field name="data5" chan-var-name="data5"/>
<field name="data6" chan-var-name="data6"/>
<field name="data7" chan-var-name="data7"/>
<field name="data8" chan-var-name="data8"/>
<field name="data9" chan-var-name="data9"/>
<field name="data10" chan-var-name="data10"/>
<field name="fs_is_seat" chan-var-name="fs_is_seat"/>
<field name="direction" chan-var-name="direction"/>
<field name="account_sn" chan-var-name="account_sn"/>
<field name="user_sn" chan-var-name="user_sn"/>
<field name="talktimes" chan-var-name="talktimes"/>
<field name="asks_count_routine" chan-var-name="asks_count_routine"/>
<field name="uuid" chan-var-name="uuid"/>
<field name="all_asr_result" chan-var-name="all_asr_result"/>
<field name="all_asr_result1" chan-var-name="all_asr_result1"/>
<field name="recognition_count" chan-var-name="recognition_count"/>
<field name="uuid" chan-var-name="uuid"/>
<field name="project_name" chan-var-name="project_name"/>
<field name="user_name" chan-var-name="user_name"/>
<field name="user_sn" chan-var-name="user_sn"/>
<field name="callee" chan-var-name="callee"/>
<field name="caller" chan-var-name="account_phone"/>
<field name="dynamic_labelling" chan-var-name="dynamic_labelling"/>
<field name="source" chan-var-name="source"/>
<field name="connected_at" chan-var-name="nowtime"/>
<field name="da2_result" chan-var-name="da2_result"/>
<field name="qc_status" chan-var-name="qc_status"/>
<field name="area_code" chan-var-name="area_code"/>
</url>
</urls>
四、.env文件
添加配置项一(示例)(依次注释为 //服务器ip //端口号 // 域名 //协议 http 或者https)
HTTP_SERVER=120.78.227.216
HTTP_PORT=443
HTTP_DOMAIN=test216.ciopaas.com
HTTP_AGREEMENT=https
添加配置项二(全部一样)
DB_CONNECTION=industrysmysql
DB_HOST_industrys=rm-wz9gn84y2865go42gpo.mysql.rds.aliyuncs.com
DB_PORT_industrys=3306
DB_DATABASE_industrys=xiaoa_public
DB_USERNAME_industrys=xiaoa
DB_PASSWORD_industrys=2@2cGdXC4
DB_CONNECTION=yhai
DB_HOST_yhai=120.78.9.94
DB_PORT_yhai=3306
DB_DATABASE_yhai=yhai
DB_USERNAME_yhai=yunying
DB_PASSWORD_yhai=yunying
小a5.1版本更新说明
一、新建切换对应远程xiaoa5.1分支
二、运行初始化命令(如下)
/opt/lampp/bin/php artisan db:seed --class=xiaoa51
三、配置文件添加配置项(fastcall.conf.xml)后重启fs
table name="cdr" 下增加如下配置项
<field name="fs_monitor_change_talk" chan-var-name="fs_monitor_change_talk"/>
account下增加如下配置项
<field name="fs_monitor_change_talk" chan-var-name="fs_monitor_change_talk"/>
post_dbs name="sendsms"下增加如下配置项
<field name="fs_monitor_change_talk" chan-var-name="fs_monitor_change_talk"/>
四、更换so文件,重启fs
重启fs后执行当天日表合并命令 (20190530当天日期,先备份)
/opt/lampp/bin/php /opt/lampp/xiaoa/xiaoa/artisan command:monthTableMergeDBDay 20190530
五、执行备份命令-韩兆琦shell脚本
六、合并表命令(执行前请备份数据表;新建月分表,将日分表数据插入到月分表,删除日分表,执行前做好备份),201904开始月,201905结束月,处理开始月到结束月的所有数据(如下)
/opt/lampp/bin/php /opt/lampp/xiaoa/xiaoa/artisan command:monthTableMergeDB 201903 201904
七、重启supervisor
其他记录信息
//crm redis-db同步访问地址
https://test216.ciopaas.com:81/crm/customer/synchroCustomerRedisData (当前登录主账号下用户)
https://test216.ciopaas.com:81/crm/customer/synchroCustomerRedisData?sysAll=yxl (全部)
5.2更新说明
一、新建切换对应远程xiaoa5.2分支
二、运行初始化命令(如下)
/opt/lampp/bin/php artisan db:seed --class=xiaoa52
三、配置文件添加配置项(fastcall.conf.xml)后重启fs
table name="cdr" 下增加如下配置项
<field name="fs_monitor_change_talk" chan-var-name="fs_monitor_change_talk"/>
account下增加如下配置项
<field name="data11" chan-var-name="data11"/>
<field name="data12" chan-var-name="data12"/>
<field name="data13" chan-var-name="data13"/>
<field name="data14" chan-var-name="data14"/>
<field name="data15" chan-var-name="data15"/>
<field name="data16" chan-var-name="data16"/>
<field name="data17" chan-var-name="data17"/>
<field name="data18" chan-var-name="data18"/>
<field name="data19" chan-var-name="data19"/>
<field name="data20" chan-var-name="data20"/>
<field name="data21" chan-var-name="data21"/>
<field name="data22" chan-var-name="data22"/>
<field name="data23" chan-var-name="data23"/>
<field name="data24" chan-var-name="data24"/>
<field name="data25" chan-var-name="data25"/>
<field name="data26" chan-var-name="data26"/>
<field name="data27" chan-var-name="data27"/>
<field name="data28" chan-var-name="data28"/>
<field name="data29" chan-var-name="data29"/>
<field name="data30" chan-var-name="data30"/>
<field name="fs_monitor_change_talk" chan-var-name="fs_monitor_change_talk"/>
post_dbs name="sendsms"下增加如下配置项
<field name="fs_monitor_change_talk" chan-var-name="fs_monitor_change_talk"/>
四、重启supervisor
\ No newline at end of file
v5.3 v5.3.1更新说明
fs配置 /usr/local/freeswitch/conf/autoload_configs/fastcall.conf.xml cdr 增加account_sn
语音测试数据重新统计(以下顺序执行)
删除6月10号到前一天数据(2019-07-18为升级前一天日期)
delete from counts_hour where operated_at >= '2019-06-13';
delete from counts_hour_classify where operated_at >= '2019-06-13';
delete from counts_day where operated_at >= '2019-06-13';
delete from counts_day_classify where operated_at >= '2019-06-13';
手动执行初始化命令,一条执行完再执行第二条(不手动执行可升级前修改定时任务时间)
/opt/lampp/bin/php /opt/lampp/test/xiaoa2/artisan command:SyncCountsHoursBinit all
/opt/lampp/bin/php /opt/lampp/test/xiaoa2/artisan command:SyncCountsDaysBinit all
后同步大数据页面数据,升级后(初始化文件执行完成)第二天 执行以下命令
/root/redis-2.8.17/src/redis-cli -p 8293 -a 5gwW1hWM7xAtFdKxxbeAhzDpW50MOdimAMMw keys "usersInfo:counts:realsAll:*" | xargs /root/redis-2.8.17/src/redis-cli -p 8293 -a 5gwW1hWM7xAtFdKxxbeAhzDpW50MOdimAMMw del
ALTER TABLE counts_hour DROP CONSTRAINT tdohpu;
ALTER TABLE counts_day DROP CONSTRAINT tdopu;
ALTER TABLE counts_hour_classify DROP CONSTRAINT classify_dohpust;
ALTER TABLE counts_day_classify DROP CONSTRAINT classify_dopust;
alter table counts_hour add constraint tdohpup unique(type,dial_task_main_sn,operated_at, hour,parent_sn,user_sn,project_sn);
alter table counts_day add constraint tdopup unique(type,dial_task_main_sn,operated_at, parent_sn,user_sn,project_sn);
alter table counts_hour_classify add constraint classify_dohpustp unique(dial_task_main_sn,operated_at, hour,parent_sn,user_sn,status,type,project_sn);
alter table counts_day_classify add constraint classify_dopustp unique(dial_task_main_sn,operated_at, parent_sn,user_sn,status,type,project_sn);
v5.3更新说明
一、切换对应远程分支xiaoa5.3
二、运行初始化命令(如下)
/opt/lampp/bin/php artisan db:seed --class=xiaoa53
三、重启supervisor
四、替换流程文件 so文件的更新包、重启fs
\ No newline at end of file
v5.5更新说明
fs配置 /usr/local/freeswitch/conf/autoload_configs/fastcall.conf.xml
account 添加配置项 <field name="call_from_type" chan-var-name="call_from_type"/>
post_dbs 添加配置项 <field name="call_from_type" chan-var-name="call_from_type"/>
v5.6更新说明
注意:升级5.6及后期版本需要在初始化xiaoa56前用navicate工具手动删除dial_task_main字段的parentparentparent_sn字段
ALTER TABLE "public"."dial_task_main"
DROP COLUMN "parent
parent
parent_sn"
因为这个语句是有语法错误,不知道怎么用sql语句删除该字段
运行初始化文件
/opt/lampp/bin/php artisan db:seed --class=xiaoa56
fs配置 /usr/local/freeswitch/conf/autoload_configs/fastcall.conf.xml
account 添加配置项 <field name="number_status" chan-var-name="number_status"/>
post_dbs 添加配置项 <field name="number_status" chan-var-name="number_status"/> <field name="endreason" chan-var-name="endreason"/>
<dial_profiles>
<profile name="autodial">
<settings> 添加number_status字段
<param name="dial-task-detail-attach-fields" value="number_status,
执行命令
/opt/lampp/bin/php /opt/lampp/xiaoa/xiaoa/artisan view:clear
/opt/lampp/bin/php /opt/lampp/xiaoa/xiaoa/artisan config:clear
/opt/lampp/bin/php /opt/lampp/xiaoa/xiaoa/artisan cache:clear
/etc/supervisord.conf
启动配置改为 注意系统目录xiaoa/xiaoa
/usr/bin/python /usr/bin/supervisord -c /opt/lampp/xiaoa/xiaoa/config/supervisord.conf
.env文件加上配置项
number_check_appkey=b0d58d1c445255c68887b1d14424c277
v5.7更新说明
fs配置添加配置项 /usr/local/freeswitch/conf/autoload_configs/fastcall.conf.xml
account添加以下配置项
<field name="fs_intervention_time" chan-var-name="fs_intervention_time"/>
post_dbs 添加以下配置
<field name="fs_push_screens" chan-var-name="fs_push_screens"/>
<field name="fs_intervention_time" chan-var-name="fs_intervention_time"/>
<field name="base_info" chan-var-name="account_sn_callin"/>
\ No newline at end of file
v5.8更新说明
更新pgsql8版本到pgsql10.2
fs配置添加配置项 /usr/local/freeswitch/conf/autoload_configs/fastcall.conf.xml
account添加以下配置项
执行数据表初始化命令:/opt/lampp/bin/php artisan db:seed --class=SyncHmdata //初始化同步弹屏统计的数据
执行数据表初始化命令:/opt/lampp/bin/php artisan db:seed --class=xiaoa58
重启supervisord
更新代码初始化xiaoa58后 执行命令(统计hmdata数据初始化,可写在定时任务中定时执行,不同版本上线时间得修改,未修改则手动执行)/opt/lampp/bin/php artisan command:SyncCountsHoursBinit humanagent 222
\ No newline at end of file
v5.8更新说明
更新pgsql8版本到pgsql10.2
fs配置添加配置项 /usr/local/freeswitch/conf/autoload_configs/fastcall.conf.xml
account添加以下配置项
<field name="is_seating_assistance" chan-var-name="seating_assistance"/>
<post_dbs> //temp_accounts添加以下配置项
<field name="is_seating_assistance" chan-var-name="seating_assistance"/>
执行数据表初始化命令:/opt/lampp/bin/php artisan db:seed --class=xiaoa59
重启supervisord
\ No newline at end of file
APP_ENV=local
APP_KEY=base64:fCZqsnMYxF/98sx6J9uW9pJnZHB6cIA55u2+EWTgXyw=
APP_DEBUG=true
APP_LOG_LEVEL=debug
APP_URL=http://localhost
DB_CONNECTION=pgsql
DB_HOST=127.0.0.1
DB_PORT=5432
DB_DATABASE=postgres
DB_USERNAME=postgres
DB_PASSWORD=9FbATWj2wxIX
DB_CONNECTION_totalsys=totalsys
DB_HOST_totalsys=119.23.177.52
DB_PORT_totalsys=5432
DB_DATABASE_totalsys=postgres
DB_USERNAME_totalsys=postgres
DB_PASSWORD_totalsys=lb2JSwz76JBmlELN
#DB_PASSWORD_totalsys=9FbATWj2wxIX
BROADCAST_DRIVER=log
CACHE_DRIVER=array
SESSION_DRIVER=file
QUEUE_DRIVER=redis
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=5gwW1hWM7xAtFdKxxbeAhzDpW50MOdimAMMw
REDIS_PORT=8293
MAIL_DRIVER=smtp
MAIL_HOST=mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
PUSHER_APP_ID=
PUSHER_KEY=
PUSHER_SECRET=
exportCount=10000
get_ip_url=http://192.168.2.199:89/aa.php
guiyangip=58.42.239.81:61007
local_pgsql=pgsql
total_sys_sql=totalsys
total_system=1
total_system_ip=http://localhost:89/
expired_day=7
download_limit=500
tarpath=/home/record/tars
HTTP_SERVER=127.0.0.1 //服务器ip
HTTP_PORT=80 //端口号
HTTP_DOMAIN=test216.ciopaas.com// 域名
那就定 HTTP_AGREEMENT=https //协议 http 或者https
[supervisord]
http_port=/var/tmp/supervisor.sock ; (default is to run a UNIX domain socket server)
;http_port=127.0.0.1:9001 ; (alternately, ip_address:port specifies AF_INET)
;sockchmod=0700 ; AF_UNIX socketmode (AF_INET ignore, default 0700)
;sockchown=nobody.nogroup ; AF_UNIX socket uid.gid owner (AF_INET ignores)
;umask=022 ; (process file creation umask;default 022)
logfile=/var/log/supervisor/supervisord.log ; (main log file;default $CWD/supervisord.log)
logfile_maxbytes=50MB ; (max main logfile bytes b4 rotation;default 50MB)
logfile_backups=10 ; (num of main logfile rotation backups;default 10)
loglevel=info ; (logging level;default info; others: debug,warn)
pidfile=/var/run/supervisord.pid ; (supervisord pidfile;default supervisord.pid)
nodaemon=false ; (start in foreground if true;default false)
minfds=1024 ; (min. avail startup file descriptors;default 1024)
minprocs=200 ; (min. avail process descriptors;default 200)
;nocleanup=true ; (don't clean up tempfiles at start;default false)
;http_username=user ; (default is no username (open system))
;http_password=123 ; (default is no password (open system))
;childlogdir=/tmp ; ('AUTO' child log dir, default $TEMP)
;user=chrism ; (default is current user, required if root)
;directory=/tmp ; (default is not to cd during start)
;environment=KEY=value ; (key value pairs to add to environment)
[supervisorctl]
;serverurl=unix:///var/tmp/supervisor.sock ; use a unix:// URL for a unix socket
;serverurl=http://127.0.0.1:9001 ; use an http:// url to specify an inet socket
;username=mario ; should be same as http_username if set
;password=123 ; should be same as http_password if set
;prompt=mysupervisor ; cmd line prompt (default "supervisor")
; The below sample program section shows all possible program subsection values,
; create one or more 'real' program: sections to be able to control them under
; supervisor.
;[program:theprogramname]
;command=/bin/cat ; the program (relative uses PATH, can take args)
;priority=999 ; the relative start priority (default 999)
;autostart=true ; start at supervisord start (default: true)
;autorestart=true ; retstart at unexpected quit (default: true)
;startsecs=10 ; number of secs prog must stay running (def. 10)
;startretries=3 ; max # of serial start failures (default 3)
;exitcodes=0,2 ; 'expected' exit codes for process (default 0,2)
;stopsignal=QUIT ; signal used to kill process (default TERM)
;stopwaitsecs=10 ; max num secs to wait before SIGKILL (default 10)
;user=chrism ; setuid to this UNIX account to run the program
;log_stdout=true ; if true, log program stdout (default true)
;log_stderr=true ; if true, log program stderr (def false)
;logfile=/var/log/cat.log ; child log path, use NONE for none; default AUTO
;logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB)
;logfile_backups=10 ; # of logfile backups (default 10)
[program:sms-worker]
process_name=%(program_name)s_%(process_num)02d
command=/opt/lampp/bin/php /opt/lampp/xiaoa/xiaoa/artisan queue:work redis --queue=SmsInQueue --sleep=3 --tries=0 --daemon
autostart=true
autorestart=true
user=forge
numprocs=1
redirect_stderr=true
stdout_logfile=/opt/lampp/htdocs/queue_log/worker.log
[program:cio-worker]
process_name=%(program_name)s_%(process_num)02d
command=/opt/lampp/bin/php /opt/lampp/xiaoa/xiaoa/artisan queue:work redis --queue=accountCio --sleep=3 --tries=0 --daemon
autostart=true
autorestart=true
user=forge
numprocs=1
redirect_stderr=true
stdout_logfile=/opt/lampp/htdocs/queue_log/worker.log
[program:push_crm]
process_name=%(program_name)s_%(process_num)02d
command=/opt/lampp/bin/php /opt/lampp/xiaoa/xiaoa/artisan queue:work redis --queue=PushCrmQueue --sleep=3 --tries=0 --daemon
autostart=true
autorestart=true
user=forge
numprocs=1
redirect_stderr=true
stdout_logfile=/opt/lampp/htdocs/queue_log/worker.log
[program:buildTaskVoice-worker]
process_name=%(program_name)s_%(process_num)02d
command=/opt/lampp/bin/php /opt/lampp/xiaoa/branches/xiaoa_add/artisan queue:work redis --queue=buildTaskVoice --sleep=3 --tries=0 --daemon
autostart=true
autorestart=true
user=forge
numprocs=1
redirect_stderr=true
stdout_logfile=/opt/lampp/htdocs/queue_log/worker.log
[program:crm_account0]
process_name=%(program_name)s_%(process_num)02d
command=/opt/lampp/bin/php /opt/lampp/xiaoa/xiaoa/artisan queue:work redis --queue=customerAccounts0 --sleep=3 --tries=0 --daemon
autostart=true
autorestart=true
user=forge
numprocs=1
redirect_stderr=true
stdout_logfile=/opt/lampp/htdocs/queue_log/worker.log
[program:crm_account1]
process_name=%(program_name)s_%(process_num)02d
command=/opt/lampp/bin/php /opt/lampp/xiaoa/xiaoa/artisan queue:work redis --queue=customerAccounts1 --sleep=3 --tries=0 --daemon
autostart=true
autorestart=true
user=forge
numprocs=1
redirect_stderr=true
stdout_logfile=/opt/lampp/htdocs/queue_log/worker.log
[program:crm_account2]
process_name=%(program_name)s_%(process_num)02d
command=/opt/lampp/bin/php /opt/lampp/xiaoa/xiaoa/artisan queue:work redis --queue=customerAccounts2 --sleep=3 --tries=0 --daemon
autostart=true
autorestart=true
user=forge
numprocs=1
redirect_stderr=true
stdout_logfile=/opt/lampp/htdocs/queue_log/worker.logtdout_logfile=/opt/lampp/htdocs/queue_log/worker.log
[program:temp_accounts]
process_name=%(program_name)s_%(process_num)02d
command=/opt/lampp/bin/php /opt/lampp/xiaoa/xiaoa/artisan command:HandleTempAccounts
autostart=true
autorestart=true
user=forge
numprocs=1
redirect_stderr=true
stdout_logfile=/opt/lampp/htdocs/queue_log/worker.logtdout_logfile=/opt/lampp/htdocs/queue_log/worker.log
[program:industrys_blacklis]
process_name=%(program_name)s_%(process_num)02d
command=/opt/lampp/bin/php /opt/lampp/xiaoa/xiaoa/artisan queue:work redis --queue=IndustrysBlacklisQueue --sleep=3 --tries=0 --daemon
autostart=true
autorestart=true
user=forge
numprocs=1
redirect_stderr=true
stdout_logfile=/opt/lampp/htdocs/queue_log/worker.logtdout_logfile=/opt/lampp/htdocs/queue_log/worker.log
[program:handle_fieldConfig]
process_name=%(program_name)s_%(process_num)02d
command=/opt/lampp/bin/php /opt/lampp/xiaoa/xiaoa/artisan queue:work redis --queue=handleFieldConfig --sleep=3 --tries=0 --daemon
autostart=true
autorestart=true
user=forge
numprocs=1
redirect_stderr=true
stdout_logfile=/opt/lampp/htdocs/queue_log/worker.logtdout_logfile=/opt/lampp/htdocs/queue_log/worker.log
5.0 上线说明(git分支名 xiaoa5.0)
一、
初始化操作(注意前后关系,第1条只执行一次(注意),后面拉了代码也不能执行)
1、/opt/lampp/bin/php artisan db:seed --class=xiaoa50one (不能重复执行)
2、/opt/lampp/bin/php artisan db:seed --class=xiaoa50
二、
修改配置项/etc/supervisord.conf,添加多个进程(附件中supervisord.conf文件直接覆盖)
重启supervisord
三、
fs对应so文件替换
fs配置文件添加子分类的配置(两条),accounts表添加字段存放子分类(运营平台accounts表新建用户增加字段status_sub),人工介入字段
cdr
<field name="asr_f_sub" chan-var-name="getstatusexsub(uuid, project_sn, question2, question3, question4,asks_count_routine, talktimes,da2_result)"/>
<field name="fs_listen_agent" chan-var-name="fs_listen_agent"/>
account
<field name="status_sub" chan-var-name="getstatusexsub(uuid, project_sn, question2, question3, question4,asks_count_routine, talktimes,da2_result)"/>
<field name="fs_listen_agent" chan-var-name="fs_listen_agent"/>
数据表temp_accounts增加talk_info字段传输
post_dbs
<field name="talk_info" chan-var-name="question1"/>
<field name="fs_listen_agent" chan-var-name="fs_listen_agent"/>
<field name="is_into_blacklist" chan-var-name="asks_is_into_blacklist_value"/>
<field name="is_into_black_term" chan-var-name="asks_is_into_black_term"/>
增加配置模块
<post_dbs>
<post_db name="sendsms" table="temp_accounts">
<field name="parent_sn" chan-var-name="parent_sn"/>
<field name="team_name" chan-var-name="team_name"/>
<field name="project_sn" chan-var-name="project_sn"/>
<field name="phone" chan-var-name="callee"/>
<field name="labeling" chan-var-name="question2"/>
<field name="score" chan-var-name="question3"/>
<field name="ask_count" chan-var-name="question4"/>
<field name="name" chan-var-name="name"/>
<field name="address" chan-var-name="address"/>
<field name="unit" chan-var-name="unit"/>
<field name="mark" chan-var-name="mark"/>
<field name="data1" chan-var-name="data1"/>
<field name="data2" chan-var-name="data2"/>
<field name="data3" chan-var-name="data3"/>
<field name="data4" chan-var-name="data4"/>
<field name="data5" chan-var-name="data5"/>
<field name="data6" chan-var-name="data6"/>
<field name="data7" chan-var-name="data7"/>
<field name="data8" chan-var-name="data8"/>
<field name="data9" chan-var-name="data9"/>
<field name="data10" chan-var-name="data10"/>
<field name="fs_is_seat" chan-var-name="fs_is_seat"/>
<field name="direction" chan-var-name="direction"/>
<field name="account_sn" chan-var-name="account_sn"/>
<field name="user_sn" chan-var-name="user_sn"/>
<field name="talktimes" chan-var-name="talktimes"/>
<field name="asks_count_routine" chan-var-name="asks_count_routine"/>
<field name="uuid" chan-var-name="uuid"/>
<field name="all_asr_result" chan-var-name="all_asr_result"/>
<field name="all_asr_result1" chan-var-name="all_asr_result1"/>
<field name="recognition_count" chan-var-name="recognition_count"/>
<field name="uuid" chan-var-name="uuid"/>
<field name="project_name" chan-var-name="project_name"/>
<field name="user_name" chan-var-name="user_name"/>
<field name="user_sn" chan-var-name="user_sn"/>
<field name="callee" chan-var-name="callee"/>
<field name="caller" chan-var-name="account_phone"/>
<field name="dynamic_labelling" chan-var-name="dynamic_labelling"/>
<field name="source" chan-var-name="source"/>
<field name="connected_at" chan-var-name="nowtime"/>
<field name="da2_result" chan-var-name="da2_result"/>
<field name="qc_status" chan-var-name="qc_status"/>
<field name="area_code" chan-var-name="area_code"/>
<field name="is_into_blacklist" chan-var-name="asks_is_into_blacklist_value"/>
<field name="is_into_black_term" chan-var-name="asks_is_into_black_term"/>
<field name="talk_info" chan-var-name="question1"/>
<field name="fs_listen_agent" chan-var-name="fs_listen_agent"/>
</post_db>
</post_dbs>
删除配置模块(如下)
<urls>
<url name="sendsms" ref="http://120.78.227.216:81/sms/SendReminderSms">
<field name="parent_sn" chan-var-name="parent_sn"/>
<field name="team_name" chan-var-name="team_name"/>
<field name="project_sn" chan-var-name="project_sn"/>
<field name="phone" chan-var-name="callee"/>
<field name="labeling" chan-var-name="question2"/>
<field name="score" chan-var-name="question3"/>
<field name="ask_count" chan-var-name="question4"/>
<field name="name" chan-var-name="name"/>
<field name="address" chan-var-name="address"/>
<field name="unit" chan-var-name="unit"/>
<field name="mark" chan-var-name="mark"/>
<field name="data1" chan-var-name="data1"/>
<field name="data2" chan-var-name="data2"/>
<field name="data3" chan-var-name="data3"/>
<field name="data4" chan-var-name="data4"/>
<field name="data5" chan-var-name="data5"/>
<field name="data6" chan-var-name="data6"/>
<field name="data7" chan-var-name="data7"/>
<field name="data8" chan-var-name="data8"/>
<field name="data9" chan-var-name="data9"/>
<field name="data10" chan-var-name="data10"/>
<field name="fs_is_seat" chan-var-name="fs_is_seat"/>
<field name="direction" chan-var-name="direction"/>
<field name="account_sn" chan-var-name="account_sn"/>
<field name="user_sn" chan-var-name="user_sn"/>
<field name="talktimes" chan-var-name="talktimes"/>
<field name="asks_count_routine" chan-var-name="asks_count_routine"/>
<field name="uuid" chan-var-name="uuid"/>
<field name="all_asr_result" chan-var-name="all_asr_result"/>
<field name="all_asr_result1" chan-var-name="all_asr_result1"/>
<field name="recognition_count" chan-var-name="recognition_count"/>
<field name="uuid" chan-var-name="uuid"/>
<field name="project_name" chan-var-name="project_name"/>
<field name="user_name" chan-var-name="user_name"/>
<field name="user_sn" chan-var-name="user_sn"/>
<field name="callee" chan-var-name="callee"/>
<field name="caller" chan-var-name="account_phone"/>
<field name="dynamic_labelling" chan-var-name="dynamic_labelling"/>
<field name="source" chan-var-name="source"/>
<field name="connected_at" chan-var-name="nowtime"/>
<field name="da2_result" chan-var-name="da2_result"/>
<field name="qc_status" chan-var-name="qc_status"/>
<field name="area_code" chan-var-name="area_code"/>
</url>
</urls>
四、.env文件
添加配置项一(示例)(依次注释为 //服务器ip //端口号 // 域名 //协议 http 或者https)
HTTP_SERVER=120.78.227.216
HTTP_PORT=443
HTTP_DOMAIN=test216.ciopaas.com
HTTP_AGREEMENT=https
添加配置项二(全部一样)
DB_CONNECTION=industrysmysql
DB_HOST_industrys=rm-wz9gn84y2865go42gpo.mysql.rds.aliyuncs.com
DB_PORT_industrys=3306
DB_DATABASE_industrys=xiaoa_public
DB_USERNAME_industrys=xiaoa
DB_PASSWORD_industrys=2@2cGdXC4
DB_CONNECTION=yhai
DB_HOST_yhai=120.78.9.94
DB_PORT_yhai=3306
DB_DATABASE_yhai=yhai
DB_USERNAME_yhai=yunying
DB_PASSWORD_yhai=yunying
一、大数据页面数据跟统计页面数据不一致
/root/redis-2.8.17/src/redis-cli -p 8293 -a 5gwW1hWM7xAtFdKxxbeAhzDpW50MOdimAMMw keys "usersInfo:counts:realsAll:*" | xargs /root/redis-2.8.17/src/redis-cli -p 8293 -a 5gwW1hWM7xAtFdKxxbeAhzDpW50MOdimAMMw del
二、crm redis-db同步访问地址 5.1版本后
https://test216.ciopaas.com:81/crm/customer/synchroCustomerRedisData (当前登录主账号下用户)
https://test216.ciopaas.com:81/crm/customer/synchroCustomerRedisData?sysAll=yxl (全部)
psql -U postgres postgres < /opt/lampp/xiaoa/trunk/database/status_counts_init.sql
9503启动 netstat -tulnp |grep 9503
/opt/lampp/bin/php /opt/lampp/xiaoa/xiaoa/artisan Seating:action start
//获取重名信息 m-all 所有用户
/opt/lampp/bin/php /opt/lampp/xiaoa/xiaoa/artisan command:MigrationData verifyname yxl,fine
//获取所有主账号重名信息
/opt/lampp/bin/php /opt/lampp/xiaoa/xiaoa/artisan command:MigrationData verifyname m-all
//迁移指定主账号数据,逗号分隔
/opt/lampp/bin/php /opt/lampp/xiaoa/xiaoa/artisan command:MigrationData migration yxl,fine
//迁移所有账号数据
/opt/lampp/bin/php /opt/lampp/xiaoa/xiaoa/artisan command:MigrationData migration m-all
迁移配置,目标数据库连接信息,.env文件添加配置项
DB_CONNECTION_migration=pgsql
DB_HOST_migration=120.78.227.216
DB_PORT_migration=5432
DB_DATABASE_migration=postgres
DB_USERNAME_migration=postgres
DB_PASSWORD_migration=9FbATWj2wxIX
HTTP_DOMAIN_migration=test216.ciopaas.com
HTTP_SERVER_migration=120.78.227.216
\ No newline at end of file
{
"info": {
"_postman_id": "340fb64f-6418-438c-817f-bbdcbf126b4a",
"name": "api_cdr(流水表)",
"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
},
"item": [
{
"name": "http://admin.ai.com/api/cdrlist",
"request": {
"method": "POST",
"header": [],
"body": {
"mode": "formdata",
"formdata": [
{
"key": "url",
"value": "afe06afe",
"description": "",
"type": "text"
},
{
"key": "user_sn",
"value": "SYSUSER|5d03d133d7fb004e2ccf34eb8fbdc45c",
"description": "",
"type": "text"
},
{
"key": "api_key",
"value": "ZB38#lW8",
"description": "",
"type": "text"
},
{
"key": "pageSize",
"value": "5",
"description": "",
"type": "text"
},
{
"key": "pageIndex",
"value": "0",
"description": "",
"type": "text"
},
{
"key": "start_create_at",
"value": "2018-04-19",
"description": "",
"type": "text"
},
{
"key": "end_create_at",
"value": "2018-04-19",
"description": "",
"type": "text"
},
{
"key": "callee",
"value": "",
"description": "",
"type": "text",
"disabled": true
},
{
"key": "caller",
"value": "",
"description": "",
"type": "text",
"disabled": true
},
{
"key": "ai_user_sn",
"value": "",
"description": "",
"type": "text",
"disabled": true
},
{
"key": "talktimes_min",
"value": "",
"description": "",
"type": "text",
"disabled": true
},
{
"key": "talktimes_max",
"value": "",
"description": "",
"type": "text",
"disabled": true
},
{
"key": "asr_b",
"value": "",
"description": "",
"type": "text",
"disabled": true
},
{
"key": "asr_c",
"value": "",
"description": "",
"type": "text",
"disabled": true
},
{
"key": "asr_d",
"value": "",
"description": "",
"type": "text",
"disabled": true
}
]
},
"url": {
"raw": "http://120.77.61.117:8088/api/cdrlist",
"protocol": "http",
"host": [
"120",
"77",
"61",
"117"
],
"port": "8088",
"path": [
"api",
"cdrlist"
]
},
"description": "api/cdrlist"
},
"response": []
},
{
"name": "http://admin.ai.com/api/cdrshow",
"request": {
"method": "POST",
"header": [],
"body": {
"mode": "formdata",
"formdata": [
{
"key": "url",
"value": "bff2b7e0",
"description": "",
"type": "text"
},
{
"key": "user_sn",
"value": "SYSUSER|5d03d133d7fb004e2ccf34eb8fbdc45c",
"description": "",
"type": "text"
},
{
"key": "api_key",
"value": "Kpd2vKYC",
"description": "",
"type": "text"
},
{
"key": "cdr_sn",
"value": "c94d1e70-43a5-11e8-81b6-e71e66bc9eb1",
"description": "",
"type": "text"
},
{
"key": "recordfile",
"value": "/20180419/20180419154646_15999679436_15999679436_c94d1e70-43a5-11e8-81b6-e71e66bc9eb1.mp3",
"description": "",
"type": "text"
},
{
"key": "recordpath",
"value": "/home/record",
"description": "",
"type": "text"
},
{
"key": "connected_at",
"value": "2018-04-19 15:47:03",
"description": "",
"type": "text"
}
]
},
"url": {
"raw": "http://120.77.61.117:8088/api/cdrshow",
"protocol": "http",
"host": [
"120",
"77",
"61",
"117"
],
"port": "8088",
"path": [
"api",
"cdrshow"
]
},
"description": "api/cdrshow"
},
"response": []
},
{
"name": "http://admin.ai.com/api/cdrDownload?url=91d1806d&user_sn=SYSUSER|5d03d133d7fb004e2ccf34eb8fbdc45c&api_key=ErmvfC8v&recordpath=/home/record&recordfile=/20180419/20180419154646_15999679436_15999679436_c94d1e70-43a5-11e8-81b6-e71e66bc9eb1.mp3",
"request": {
"method": "GET",
"header": [],
"body": {},
"url": {
"raw": "http://120.77.61.117:8088/api/cdrDownload?url=3e415b12&user_sn=SYSUSER|5d03d133d7fb004e2ccf34eb8fbdc45c&api_key=Kpd2vKYC&recordpath=/home/record&recordfile=/20180419/20180419154646_15999679436_15999679436_c94d1e70-43a5-11e8-81b6-e71e66bc9eb1.mp3",
"protocol": "http",
"host": [
"120",
"77",
"61",
"117"
],
"port": "8088",
"path": [
"api",
"cdrDownload"
],
"query": [
{
"key": "url",
"value": "3e415b12"
},
{
"key": "user_sn",
"value": "SYSUSER|5d03d133d7fb004e2ccf34eb8fbdc45c"
},
{
"key": "api_key",
"value": "Kpd2vKYC"
},
{
"key": "recordpath",
"value": "/home/record"
},
{
"key": "recordfile",
"value": "/20180419/20180419154646_15999679436_15999679436_c94d1e70-43a5-11e8-81b6-e71e66bc9eb1.mp3"
}
]
},
"description": "cdrDownload"
},
"response": []
},
{
"name": "http://admin.ai.com/api/cdrFragmentDownload?url=15e60bfa&user_sn=SYSUSER|5d03d133d7fb004e2ccf34eb8fbdc45c&api_key=ErmvfC8v&recordfile=/home/record/20180419/fenduan_20180419154651_asr_ques_keya_15999679436_c94d1e70-43a5-11e8-81b6-e71e66bc9eb1.mp3",
"request": {
"method": "GET",
"header": [],
"body": {},
"url": {
"raw": "http://120.77.61.117:8088/api/cdrFragmentDownload?url=229daa6c&user_sn=SYSUSER|5d03d133d7fb004e2ccf34eb8fbdc45c&api_key=Kpd2vKYC&recordfile=/home/record/20180419/fenduan_20180419154651_asr_ques_keya_15999679436_c94d1e70-43a5-11e8-81b6-e71e66bc9eb1.mp3",
"protocol": "http",
"host": [
"120",
"77",
"61",
"117"
],
"port": "8088",
"path": [
"api",
"cdrFragmentDownload"
],
"query": [
{
"key": "url",
"value": "229daa6c"
},
{
"key": "user_sn",
"value": "SYSUSER|5d03d133d7fb004e2ccf34eb8fbdc45c"
},
{
"key": "api_key",
"value": "Kpd2vKYC"
},
{
"key": "recordfile",
"value": "/home/record/20180419/fenduan_20180419154651_asr_ques_keya_15999679436_c94d1e70-43a5-11e8-81b6-e71e66bc9eb1.mp3"
}
]
},
"description": "cdrFragmentDownload"
},
"response": []
}
]
}
\ No newline at end of file
{
"info": {
"_postman_id": "d3b33998-ff22-46bb-bd6f-2f5c0fbcd1d2",
"name": "api_crm(客户CRM )",
"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
},
"item": [
{
"name": "http://admin.ai.com/api/crmList",
"request": {
"method": "POST",
"header": [],
"body": {
"mode": "formdata",
"formdata": [
{
"key": "url",
"value": "43290411",
"description": "",
"type": "text"
},
{
"key": "user_sn",
"value": "SYSUSER|5d03d133d7fb004e2ccf34eb8fbdc45c",
"description": "",
"type": "text"
},
{
"key": "api_key",
"value": "Kpd2vKYC",
"description": "",
"type": "text"
},
{
"key": "pageIndex",
"value": "",
"description": "",
"type": "text"
},
{
"key": "pageSize",
"value": "",
"description": "",
"type": "text"
},
{
"key": "start_create_at",
"value": "",
"description": "",
"type": "text"
},
{
"key": "end_create_at",
"value": "",
"description": "",
"type": "text"
},
{
"key": "talktimes_min",
"value": "",
"description": "",
"type": "text"
},
{
"key": "talktimes_max",
"value": "",
"description": "",
"type": "text"
},
{
"key": "phone",
"value": "",
"description": "",
"type": "text"
},
{
"key": "asks_count",
"value": "",
"description": "",
"type": "text"
},
{
"key": "score",
"value": "",
"description": "",
"type": "text"
},
{
"key": "labelling",
"value": "",
"description": "",
"type": "text"
},
{
"key": "status",
"value": "",
"description": "类别A: A类 B: B类 C: C类 D: D类 E: E类 F: F类",
"type": "text"
}
]
},
"url": {
"raw": "http://120.77.61.117:8088/api/crmList",
"protocol": "http",
"host": [
"120",
"77",
"61",
"117"
],
"port": "8088",
"path": [
"api",
"crmList"
]
},
"description": "crmList"
},
"response": []
},
{
"name": "http://admin.ai.com/api/crmList",
"request": {
"method": "POST",
"header": [],
"body": {
"mode": "formdata",
"formdata": [
{
"key": "url",
"value": "32dce5e9",
"description": "",
"type": "text"
},
{
"key": "user_sn",
"value": "SYSUSER|5d03d133d7fb004e2ccf34eb8fbdc45c",
"description": "",
"type": "text"
},
{
"key": "api_key",
"value": "WIAYiIJ3",
"description": "",
"type": "text"
},
{
"key": "pageIndex",
"value": "0",
"description": "",
"type": "text"
},
{
"key": "pageSize",
"value": "6",
"description": "",
"type": "text"
},
{
"key": "start_create_at",
"value": "2018-04-19",
"description": "",
"type": "text"
},
{
"key": "end_create_at",
"value": "",
"description": "",
"type": "text"
},
{
"key": "talktimes_min",
"value": "",
"description": "",
"type": "text"
},
{
"key": "talktimes_max",
"value": "",
"description": "",
"type": "text"
},
{
"key": "phone",
"value": "",
"description": "",
"type": "text"
},
{
"key": "asks_count",
"value": "",
"description": "",
"type": "text"
},
{
"key": "score",
"value": "",
"description": "",
"type": "text"
},
{
"key": "labelling",
"value": "",
"description": "",
"type": "text"
}
]
},
"url": {
"raw": "http://120.77.61.117:8088/api/crmList",
"protocol": "http",
"host": [
"120",
"77",
"61",
"117"
],
"port": "8088",
"path": [
"api",
"crmList"
]
},
"description": "crmList"
},
"response": []
}
]
}
\ No newline at end of file
{
"info": {
"_postman_id": "257ca360-b5b8-4370-9c6c-d2eb4d42fca0",
"name": "api_task(营销任务)",
"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
},
"item": [
{
"name": "http://admin.ai.com/api/login",
"event": [
{
"listen": "test",
"script": {
"id": "c46e3065-265f-4089-a8a5-dbd0b4602a6a",
"type": "text/javascript",
"exec": [
"pm.test(\"Your test name\", function () {",
" var jsonData = pm.response.json();",
" pm.expect(jsonData.value).to.eql(100);",
"});"
]
}
}
],
"request": {
"method": "POST",
"header": [],
"body": {
"mode": "formdata",
"formdata": [
{
"key": "username",
"value": "hln",
"description": "",
"type": "text"
},
{
"key": "password",
"value": "hlnadmin",
"description": "",
"type": "text"
},
{
"key": "from",
"value": "2",
"description": "",
"type": "text"
},
{
"key": "url",
"value": "cfd00d89",
"description": "",
"type": "text"
}
]
},
"url": {
"raw": "http://120.77.61.117:8088/api/login",
"protocol": "http",
"host": [
"120",
"77",
"61",
"117"
],
"port": "8088",
"path": [
"api",
"login"
]
},
"description": "api/login"
},
"response": []
},
{
"name": "http://admin.ai.com/api/index",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"body": {
"mode": "formdata",
"formdata": [
{
"key": "pageIndex",
"value": "0",
"description": "",
"type": "text"
},
{
"key": "pageSize",
"value": "5",
"description": "",
"type": "text"
},
{
"key": "url",
"value": "6d08d7af",
"description": "",
"type": "text"
},
{
"key": "api_key",
"value": "Be8ok4Dj",
"description": "",
"type": "text"
},
{
"key": "user_sn",
"value": "SYSUSER|5d03d133d7fb004e2ccf34eb8fbdc45c",
"description": "",
"type": "text"
},
{
"key": "start_create_at",
"value": "2018-04-19",
"description": "",
"type": "text"
},
{
"key": "end_create_at",
"value": "",
"description": "",
"type": "text"
},
{
"key": "status",
"value": "",
"description": "",
"type": "text"
},
{
"key": "ai_user_sn",
"value": "",
"description": "",
"type": "text"
}
]
},
"url": {
"raw": "http://120.77.61.117:8088/api/index",
"protocol": "http",
"host": [
"120",
"77",
"61",
"117"
],
"port": "8088",
"path": [
"api",
"index"
]
},
"description": "api/index"
},
"response": []
},
{
"name": "http://admin.ai.com/api/getAiUsers",
"request": {
"method": "POST",
"header": [],
"body": {
"mode": "formdata",
"formdata": [
{
"key": "url",
"value": "19403192",
"description": "",
"type": "text"
},
{
"key": "user_sn",
"value": "SYSUSER|5d03d133d7fb004e2ccf34eb8fbdc45c",
"description": "",
"type": "text"
},
{
"key": "api_key",
"value": "VjOgQZMm",
"description": "",
"type": "text"
}
]
},
"url": {
"raw": "http://120.77.61.117:8088/api/getAiUsers",
"protocol": "http",
"host": [
"120",
"77",
"61",
"117"
],
"port": "8088",
"path": [
"api",
"getAiUsers"
]
},
"description": "api/getAiUsers"
},
"response": []
},
{
"name": "http://admin.ai.com/api/getProjects",
"request": {
"method": "POST",
"header": [],
"body": {
"mode": "formdata",
"formdata": [
{
"key": "url",
"value": "19403192",
"description": "",
"type": "text"
},
{
"key": "user_sn",
"value": "SYSUSER|5d03d133d7fb004e2ccf34eb8fbdc45c",
"description": "",
"type": "text"
},
{
"key": "api_key",
"value": "VjOgQZMm",
"description": "",
"type": "text"
}
]
},
"url": {
"raw": "http://120.77.61.117:8088/api/getProjects",
"protocol": "http",
"host": [
"120",
"77",
"61",
"117"
],
"port": "8088",
"path": [
"api",
"getProjects"
]
},
"description": "api/getProjects"
},
"response": []
},
{
"name": "http://admin.ai.com/api/add",
"request": {
"method": "POST",
"header": [],
"body": {
"mode": "formdata",
"formdata": [
{
"key": "url",
"value": "dfc9a9d5",
"description": "",
"type": "text"
},
{
"key": "user_sn",
"value": "SYSUSER|5d03d133d7fb004e2ccf34eb8fbdc45c",
"description": "",
"type": "text"
},
{
"key": "api_key",
"value": "ZB38#lW8",
"description": "",
"type": "text"
},
{
"key": "upload",
"value": "",
"description": "",
"type": "file"
},
{
"key": "project_sn",
"value": "project|8ac1cebd6407f30fb4f618615de41",
"description": "",
"type": "text"
},
{
"key": "is_zidong",
"value": "on",
"description": "",
"type": "text"
},
{
"key": "ai_user_sn",
"value": "SYSUSER|cdbe0021b3f5e11f43c9175757b11e2e",
"description": "",
"type": "text"
},
{
"key": "source",
"value": "接口测试",
"description": "",
"type": "text"
}
]
},
"url": {
"raw": "http://120.77.61.117:8088/api/add",
"protocol": "http",
"host": [
"120",
"77",
"61",
"117"
],
"port": "8088",
"path": [
"api",
"add"
]
},
"description": "api/add 添加任务"
},
"response": []
},
{
"name": "http://admin.ai.com/api/operateTask",
"request": {
"method": "POST",
"header": [],
"body": {
"mode": "formdata",
"formdata": [
{
"key": "url",
"value": "1e36933f",
"description": "",
"type": "text"
},
{
"key": "user_sn",
"value": "SYSUSER|5d03d133d7fb004e2ccf34eb8fbdc45c",
"description": "",
"type": "text"
},
{
"key": "api_key",
"value": "ZB38#lW8",
"description": "",
"type": "text"
},
{
"key": "pkeys",
"value": "1423",
"description": "",
"type": "text"
},
{
"key": "project_type",
"value": "2",
"description": "",
"type": "text"
},
{
"key": "oper",
"value": "failRe",
"description": "",
"type": "text"
}
]
},
"url": {
"raw": "http://120.77.61.117:8088/api/operateTask",
"protocol": "http",
"host": [
"120",
"77",
"61",
"117"
],
"port": "8088",
"path": [
"api",
"operateTask"
]
},
"description": "/api/operateTask"
},
"response": []
}
]
}
\ No newline at end of file
开发相关
系统:php框架leravel5.3 pgsql8.0 (数据库运行线上的)
1. 每天至少获取一次所有相关代码,以降低代码冲突的概率。
2. 本地自动生成的文件不要提交到git去(比如说session文件,解析的html文件,日志文件,还有配置文件)。
3. 多提交,每次提交的时候内容少一点。最好每个bug一次。每天至少一次,方便查看大家做的进度,跟每个人所负责的内容。每次提交的时候都需要备注好,备注分三类:①新增功能,② 修改功能(需求) ③修改bug ④ 其他。
4. 不要提交不能通过编译的代码。结合多提交的原则,这里其实要求你把工作细分成很小的单元。
5. 如果提交的时候发现有版本冲突,建议做法是把自己的修改在本地备份一下,然后revert自己的所有修改,然后重新获取,然后把自己的修改重做一遍。因为我们每次只提交少量改动,所以‘根据本地备份的代码重做修改’的工作量很小。这么做的好处是不需要进行复杂的冲突合并操作,不容易引入bug。
6. 每次commit之前,检查一下自己的修改,看是否符合预期,有没有提交错误的东西。因为每次提交的东西很少,所以每次自己提交了什么也很容易检查。每天下班前可以检查一下完成的事情然后确保代码稳定运行之后commit。
发布相关
运维部负责
git相关
git clone ssh://git@120.78.227.216:5252/mnt/record/git/xiaoa.git
账号密码 待定
git 分主干development用户新功能开发,各版本都会有一个分支,目前线上最新xiaoa5.4
小A各平台的产品原型
1.
小A原型交互
2.
https://org.modao.cc/app/61ux1o70rivjzhr4utrph8ov7fjoqb 1. pc端
https://pro.modao.cc/app/Kt2CQKK8Jzp00DDuT06Xc40X5RGWPs5 2. 移动端APP-主账号https://pro.modao.cc/app/cb955567ec786e6489f1a76f891ba8806c4e72cd 3. 移动端APP-子账号https://pro.modao.cc/app/0b150bf30b17f5fe1bb3ed8c5a7ba48b9fd93d80 4. 微信公众号-第四版
小a 日常工作表
公众号搜索tapd 注册账号。用于产品日常迭代
小a 接口文档
http://120.77.61.117:8888/ 注册一个账号(名字全拼)
账号相关
120.77.61.117:8088 小a1.0版本 账号:hln 密码:hlnadmin
120.78.227.216:80 小a主干线上测试服务器 账号hln 密码hlnadmin 账号lsk 密码 123456
https://test216.ciopaas.com 小a ssl 测试服务器 账号hln 密码hlnadmin 账号lsk 密码 123456
120.78.227.216:82 小a分支(delevopment)线上测试服务器 账号hln 密码hlnadmin 账号lsk 密码 123456
后台都加上xiaoaadmin 账号 admin 密码 kingland2017
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment