Jiashicang.php 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179
  1. <?php
  2. namespace app\api\controller;
  3. use app\common\controller\Api;
  4. use app\common\library\RsaUtil;
  5. use think\Db;
  6. /**
  7. * 驾驶舱数据
  8. */
  9. class Jiashicang extends Api
  10. {
  11. // 无需登录的接口,*表示全部
  12. protected $noNeedLogin = ['*'];
  13. // 无需鉴权的接口,*表示全部
  14. protected $noNeedRight = ['*'];
  15. /**
  16. * 政法委
  17. * 链接数据库
  18. */
  19. public function test1()
  20. {
  21. $rs1 = Db::connect('database_jsc')->query('SHOW TABLE STATUS');
  22. dump($rs1);
  23. $rs2 = Db::connect('database_jsc')->query('SELECT DATABASE()');
  24. dump($rs2);
  25. }
  26. /**
  27. * 政法委
  28. * 链接表
  29. */
  30. public function test11()
  31. {
  32. $fields = Db::connect('database_jsc')->query('SHOW FULL COLUMNS FROM dp_wccn');
  33. dump($fields);
  34. $list = Db::connect('database_jsc')->name('dp_wccn')->limit(1,10)->select();
  35. dump($list);
  36. /*$fields = Db::connect('database_jsc')->query('SHOW FULL COLUMNS FROM sys_dept');
  37. dump($fields);
  38. $list = Db::connect('database_jsc')->name('sys_dept')->limit(1,10)->select();
  39. dump($list);*/
  40. }
  41. //政法委
  42. //查询关键数据
  43. public function zfw_data(){
  44. //定义变量
  45. $jzrs = 0; //居住人数
  46. $fwts = 0; //房屋套数
  47. $wgypzs = 0; //网格员配置数
  48. $zxyjdy = 0; //最小应急单元
  49. $wgsj = 0; //网格事件数
  50. $bjl = 0; //办结率
  51. //获取数据并过滤
  52. $shequ_list = Db::connect('database_jsc')->name('dp_wccn')->select();
  53. //dump($shequ_list);
  54. if(!empty($shequ_list)){
  55. //为空的都改为0
  56. foreach($shequ_list as $k => $v){
  57. foreach($v as $k1 => $v1){
  58. if(empty($v1)){
  59. $v1 = 0;
  60. }
  61. $v[$k1] = $v1;
  62. }
  63. $shequ_list[$k] = $v;
  64. }
  65. $jzrs = array_sum(array_column($shequ_list, 'jzrs'));
  66. $fwts = array_sum(array_column($shequ_list, 'fwts'));
  67. $wgypzs = array_sum(array_column($shequ_list, 'wgypzs'));
  68. $zxyjdy = array_sum(array_column($shequ_list, 'zxyjdy'));
  69. $wgsj = array_sum(array_column($shequ_list, 'wgsj'));
  70. $bjs = array_sum(array_column($shequ_list, 'bjs'));
  71. //$bjl = bcdiv(array_sum(array_column($shequ_list, 'bjl')),count($shequ_list),8); // 办结率总和 / 社区数量
  72. $bjl = bcdiv($bjs,$wgsj,8);// 总办结数 / 总网格事件数
  73. }
  74. //已经校验过的数据,最终推出
  75. dump((string)$jzrs);
  76. dump((string)$fwts);
  77. dump((string)$wgypzs);
  78. dump((string)$zxyjdy);
  79. dump((string)$wgsj);
  80. dump((string)$bjl);
  81. //分割线
  82. }
  83. //社区小程序 推送数据
  84. public function shequ_data(){
  85. $sqhds = Db::name('unishop_product')->whereNull('deletetime')->where('switch',1)->count();//社区活动数
  86. $hdbms = Db::name('unishop_order')->whereNull('deletetime')->where('have_paid','gt',0)->where('status',1)->count();//活动报名数
  87. $gonghang_data = Db::name('dp_gonghang')->where('id',1)->find();
  88. $jkdars = $gonghang_data['jkdars'];//健康档案人数
  89. $whcss = $gonghang_data['whcss'];//文化场所数
  90. $smxykcs = $gonghang_data['smxykcs'];//市民学院课程数
  91. $hdmyd = $gonghang_data['hdmyd'];//活动满意度
  92. $ddgz_djd = $gonghang_data['ddgz_djd'];//订单跟踪(待接单)
  93. $ddgz_fwz = $gonghang_data['ddgz_fwz'];//订单跟踪(服务中)
  94. $ddgz_wcpj = $gonghang_data['ddgz_wcpj'];//订单跟踪(完成评价)
  95. dump($jkdars);
  96. dump($whcss);
  97. dump($smxykcs);
  98. dump($hdmyd);
  99. dump($ddgz_djd);
  100. dump($ddgz_fwz);
  101. dump($ddgz_wcpj);
  102. dump((string)$sqhds);
  103. dump((string)$hdbms);
  104. }
  105. /**
  106. * 需要登录且需要验证有相应组的权限
  107. */
  108. public function test3()
  109. {
  110. $this->send_score(1, 1);
  111. }
  112. public function send_score($score, $grade_id)
  113. {
  114. $url = 'http://apip-gateway-nrouter-saas-gn-C.month.sdc.cs.icbc:8081/api/mybank/farm/farmplatf/updateVillagerIntegral/V1';
  115. $biz_content = [
  116. 'fSeqNo' => createUniqueNo('fseq', $grade_id),
  117. 'corpCode' => 'xingfulishequ',
  118. 'mobilePhone' => $this->auth->mobile,
  119. 'integralValue' => $score,
  120. 'integralType' => '',
  121. /* 'remark1' => '',
  122. 'remark2' => '',
  123. 'remark3' => '',
  124. 'remark4' => '',
  125. 'remark5' => '',
  126. 'remark6' => '',
  127. 'remark7' => '',*/
  128. ];
  129. $public_key = APP_PATH.'/common/certs/icbc/public_key.pem';
  130. $private_key = APP_PATH.'/common/certs/icbc/private_key.pem';
  131. $rsautil = new RsaUtil($public_key,$private_key);
  132. $sign = $rsautil->publicEncrypt(json_encode($biz_content));
  133. dump($sign);
  134. $data = [
  135. 'app_id' => '10000000000004096993',
  136. 'msg_id' => createUniqueNo('msg', $grade_id),
  137. 'format' => 'json',
  138. 'charset' => 'UTF-8',
  139. // 'encrypt_type'=> 'AES',
  140. 'sign_type' => 'RSA',
  141. 'sign' => $sign,
  142. 'timestamp' => date('Y-m-d H:i:s'),
  143. // 'ca' => '',
  144. 'biz_content' => $biz_content,
  145. ];
  146. $rs = curl_post($url, json_encode($data, JSON_UNESCAPED_UNICODE));
  147. dump($rs);
  148. }
  149. }