123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272 |
- <?php
- namespace app\api\controller;
- use app\common\controller\Api;
- use app\common\library\RsaUtil;
- use think\Db;
- include_once EXTEND_PATH.'icbc\DefaultIcbcClient.php';
- /**
- * 驾驶舱数据
- */
- class Jiashicang extends Api
- {
- // 无需登录的接口,*表示全部
- protected $noNeedLogin = ['*'];
- // 无需鉴权的接口,*表示全部
- protected $noNeedRight = ['*'];
- /**
- * 政法委
- * 链接数据库
- */
- public function test1()
- {
- $rs1 = Db::connect('database_jsc')->query('SHOW TABLE STATUS');
- dump($rs1);
- $rs2 = Db::connect('database_jsc')->query('SELECT DATABASE()');
- dump($rs2);
- }
- /**
- * 政法委
- * 链接表
- */
- public function test11()
- {
- $fields = Db::connect('database_jsc')->query('SHOW FULL COLUMNS FROM dp_wccn');
- dump($fields);
- $list = Db::connect('database_jsc')->name('dp_wccn')->limit(1,10)->select();
- dump($list);
- /*$fields = Db::connect('database_jsc')->query('SHOW FULL COLUMNS FROM sys_dept');
- dump($fields);
- $list = Db::connect('database_jsc')->name('sys_dept')->limit(1,10)->select();
- dump($list);*/
- }
- //政法委
- //查询关键数据
- public function zfw_data(){
- //定义变量
- $jzrs = 0; //居住人数
- $fwts = 0; //房屋套数
- $wgypzs = 0; //网格员配置数
- $zxyjdy = 0; //最小应急单元
- $wgsj = 0; //网格事件数
- $bjl = 0; //办结率
- //获取数据并过滤
- $shequ_list = Db::connect('database_jsc')->name('dp_wccn')->select();
- //dump($shequ_list);
- if(!empty($shequ_list)){
- //为空的都改为0
- foreach($shequ_list as $k => $v){
- foreach($v as $k1 => $v1){
- if(empty($v1)){
- $v1 = 0;
- }
- $v[$k1] = $v1;
- }
- $shequ_list[$k] = $v;
- }
- $jzrs = array_sum(array_column($shequ_list, 'jzrs'));
- $fwts = array_sum(array_column($shequ_list, 'fwts'));
- $wgypzs = array_sum(array_column($shequ_list, 'wgypzs'));
- $zxyjdy = array_sum(array_column($shequ_list, 'zxyjdy'));
- $wgsj = array_sum(array_column($shequ_list, 'wgsj'));
- $bjs = array_sum(array_column($shequ_list, 'bjs'));
- //$bjl = bcdiv(array_sum(array_column($shequ_list, 'bjl')),count($shequ_list),8); // 办结率总和 / 社区数量
- $bjl = bcdiv($bjs,$wgsj,8);// 总办结数 / 总网格事件数
- }
- //已经校验过的数据,最终推出
- dump((string)$jzrs);
- dump((string)$fwts);
- dump((string)$wgypzs);
- dump((string)$zxyjdy);
- dump((string)$wgsj);
- dump((string)$bjl);
- //分割线
- }
- //社区小程序 推送数据
- private function shequ_data(){
- $sqhds = Db::name('unishop_product')->whereNull('deletetime')->where('switch',1)->count();//社区活动数
- $hdbms = Db::name('unishop_order')->whereNull('deletetime')->where('have_paid','gt',0)->where('status',1)->count();//活动报名数
- $gonghang_data = Db::name('dp_gonghang')->where('id',1)->find();
- $jkdars = $gonghang_data['jkdars'];//健康档案人数
- $whcss = $gonghang_data['whcss'];//文化场所数
- $smxykcs = $gonghang_data['smxykcs'];//市民学院课程数
- $hdmyd = $gonghang_data['hdmyd'];//活动满意度
- $ddgz_djd = $gonghang_data['ddgz_djd'];//订单跟踪(待接单)
- $ddgz_fwz = $gonghang_data['ddgz_fwz'];//订单跟踪(服务中)
- $ddgz_wcpj = $gonghang_data['ddgz_wcpj'];//订单跟踪(完成评价)
- $mxbjds = $gonghang_data['mxbjds'];//慢性病建档数
- $result = [
- 'jkdars' => $jkdars,
- 'whcss' => $whcss,
- 'smxykcs' => $smxykcs,
- 'hdmyd' => $hdmyd,
- 'ddgzdjd' => $ddgz_djd,
- 'ddgzfwz' => $ddgz_fwz,
- 'ddgzwcpj' => $ddgz_wcpj,
- 'mxbjds' => $mxbjds,
- 'sqhds' => (string)$sqhds,
- 'hdbms' => (string)$hdbms,
- ];
- return $result;
- }
- /**
- * 需要登录且需要验证有相应组的权限
- */
- public function test3()
- {
- $this->send_score(1, 1);
- }
- public function index(){
- echo 140;
- }
- public function send(){
- $data = $this->shequ_data();
- $biz_content = [
- 'batchDate' => date('Ymd'),
- 'corpCode' => 'icbc',
- 'dataType' => '1',//1-幸福里;2-政法委
- 'data' => json_encode($data),
- ];
- $public_key = 'MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwFgHD4kzEVPdOj03ctKM7KV+16bWZ5BMNgvEeuEQwfQYkRVwI9HFOGkwNTMn5hiJXHnlXYCX+zp5r6R52MY0O7BsTCLT7aHaxsANsvI9ABGx3OaTVlPB59M6GPbJh0uXvio0m1r/lTW3Z60RU6Q3oid/rNhP3CiNgg0W6O3AGqwIDAQAB';
- $private_key = 'MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCR8/ZvKPAdZzsyvapySvztQm56s1N59ynKMOWpUbK4c5MNWMl+q3dvsp+UiSAx2TAeGkYfW3W6nO/3Y0hAZki99fmuzpPujEeHhs79HNwGZYQjN71Vck2JeflTq8jpL+9/up0Kz2nbwtZDMKTTEgbfNeO24gV1bmvD2kQ9j66RIyuXSDwQbVbQfl6LiqKoJm3rbtsbwX1Ytc0/Szslyor1VdPZWnHDMm3m78Hqu7X3vL6K7fAW/4FVbeKV7vWjvyiTQfETmuADqMdsqV5YeqUZWE/Dnzg+6JV/3L9nJ8f+/mPlh8k1h1oW035GrADKFKf1M2ujKKeHICnj7qKCdBeNAgMBAAECggEAHkh+U2YtHAy1Tbvox7ojbJ8iCTd4FJBiDV/D5zPaX0crtdM8S5oMOBLZ5ZnmIjGsODK/ZfY2ITg62huxfBs88J0+5zRZoV9d4BLqk74PMQyTNDN2h2omCGZUgzXbg/a8PMZdm0aZ8k0k4+AN8vWEk3+89c9Dzq/QkFyTWCqdz+Mp9NkcOjA255kj5/D1q9Zj0x9VcmKg3oTtrKL/dkspUxVaMKXcpo6J4AszC05tT3N0SNLhcq51I6B9QdbYsYCkP9whPNYIl/y4dN4QnNEivQzA5/ltr5DDQZc7Xke1+SpJN+ylBOBJ8yvNoDnuxx0xEWuNJ5bUzyri/DNjZRKNQQKBgQDKkxn5R4Q3rChI/KVIXHMecTs9fXN5pbnA8UKU6ZeTl+wHffxwRieHZJJp1nDcQ5i8YXCtqEJcJGFn3T0rEjVCJ/RVHclFO+TjYaK9HtyNJLPrvKmAzjCzV1yPfe4qmpgJddzZI7Vii2uFgklixvhkoY74hwSJtvLPTO0p0xrYdQKBgQC4cgfpCMLYlaHQGz+dAEf4IewQpwBGn7XShCpiXGFciGZZEIzvJMzXP7yo8pDMHQbB4kQsTRRG2fcdHGWI5VQGHPqG5O0tUueKGUlSg7j8Y/Pp8ZrBGSrlilAf17I/u9MC7Xe2ZRVGNgPDYAyjMEGmClI0n2+aN6b4CFVBjYmfuQKBgEKO9KDIE7QrF41rnW7aGWTuNVWty2wzvIWdf4/n9EqlRwLrLS9CjahZrhWiRLDKcPusVFZqi2s09OAoe/mT4PXcpNX2lHPwCvN+1/allje10HvrIBJXLP8v/BSVftR2uO+azzZ1GhrHzksulKgk0eZWguA7lI0fFEZycxYj65UlAoGAD9p1RZlkLfuGgf2llRgOF4zK3o+MHYXiuep0PioUkECFE4ixpGh0Vtf6nkbjHTgteYK6O1iQsppPfCgRrheQBkp9WhTZMfkbP6p2u+nof4ET2PrUQ16naj1eL655erLpKypADORZVMSVxDhAPdKLAfuHH1DI5ed8qXsF4PGKb7kCgYEAm/d+daT6YsbHDZlJ/J9Q8rRkKmiqj43NGQSHKg6Z6BEDibm8wRmj3Itu1N6XVChuaH+ekJzvUnZ/q1nyYzGvy6bOHYn3ziF9aH7wuhcRZ4qARmKDnzTBLg2QXBK1+400O3LJ+sAH/yuH/Y4hzRE6YMxBQpdYfnlJcIFVimAsT1w=';
- $sign = '';
- $data = [
- 'app_id' => '10000000000004096993',
- 'msg_id' => createUniqueNo('msg', 1),
- 'format' => 'json',
- 'charset' => 'UTF-8',
- 'encrypt_type'=> 'AES',
- 'sign_type' => 'RSA',
- 'sign' => $sign,
- 'timestamp' => date('Y-m-d H:i:s'),
- // 'ca' => '',
- 'biz_content' => $biz_content,
- ];
- $client = new \DefaultIcbcClient($data['app_id'],$private_key,$data['sign_type'],$data['charset'],$data['format'],$public_key,'','','','');
- $request = [
- 'serviceUrl' => 'https://gw.dccnet.com.cn:8082/api/mybank/farm/farmplatf/syncCommunityData',
- 'method' => 'POST',
- 'isNeedEncrypt' => false,
- 'extraParams' => null,
- 'biz_content' => $biz_content,
- ];
- $resp = $client->execute($request,$data['msg_id'],'');
- $respObj = json_decode($resp,true);
- dump($respObj);exit;
- if($respObj["return_code"] == 0){ //sucess
- echo $respObj["return_msg"];
- }else{//fail
- echo $respObj["return_msg"];
- }
- }
- public function senddata(){
- $url = 'https://gw.dccnet.com.cn:8082/api/mybank/farm/farmplatf/syncCommunityData';
- //$url = 'http://apip-gateway-nrouter-saas-gn-C.month.sdc.cs.icbc:8081/api/mybank/farm/farmplatf/syncCommunityData';
- $data = $this->shequ_data();
- $biz_content = [
- 'batchDate' => date('Ymd'),
- 'corpCode' => 'icbc',
- 'dataType' => '1',//1-幸福里;2-政法委
- 'data' => json_encode($data),
- ];
- $public_key = APP_PATH.'/common/certs/icbc/public_test.pem';
- $private_key = APP_PATH.'/common/certs/icbc/private_test.pem';
- $rsautil = new RsaUtil($public_key,$private_key);
- $sign = $rsautil->publicEncrypt(json_encode($biz_content));
- $data = [
- 'app_id' => '10000000000004096993',
- 'msg_id' => createUniqueNo('msg', 1),
- 'format' => 'json',
- 'charset' => 'UTF-8',
- 'encrypt_type'=> 'AES',
- 'sign_type' => 'RSA',
- 'sign' => $sign,
- 'timestamp' => date('Y-m-d H:i:s'),
- // 'ca' => '',
- 'biz_content' => $biz_content,
- ];
- $rs = curl_post($url, json_encode($data, JSON_UNESCAPED_UNICODE));
- dump($rs);
- }
- public function send_score($score, $grade_id)
- {
- $url = 'http://apip-gateway-nrouter-saas-gn-C.month.sdc.cs.icbc:8081/api/mybank/farm/farmplatf/updateVillagerIntegral/V1';
- $biz_content = [
- 'fSeqNo' => createUniqueNo('fseq', $grade_id),
- 'corpCode' => 'xingfulishequ',
- 'mobilePhone' => $this->auth->mobile,
- 'integralValue' => $score,
- 'integralType' => '',
- /* 'remark1' => '',
- 'remark2' => '',
- 'remark3' => '',
- 'remark4' => '',
- 'remark5' => '',
- 'remark6' => '',
- 'remark7' => '',*/
- ];
- $public_key = APP_PATH.'/common/certs/icbc/public_key.pem';
- $private_key = APP_PATH.'/common/certs/icbc/private_key.pem';
- $rsautil = new RsaUtil($public_key,$private_key);
- $sign = $rsautil->publicEncrypt(json_encode($biz_content));
- dump($sign);
- $data = [
- 'app_id' => '10000000000004096993',
- 'msg_id' => createUniqueNo('msg', $grade_id),
- 'format' => 'json',
- 'charset' => 'UTF-8',
- // 'encrypt_type'=> 'AES',
- 'sign_type' => 'RSA',
- 'sign' => $sign,
- 'timestamp' => date('Y-m-d H:i:s'),
- // 'ca' => '',
- 'biz_content' => $biz_content,
- ];
- $rs = curl_post($url, json_encode($data, JSON_UNESCAPED_UNICODE));
- dump($rs);
- }
- }
|