链街Dcat后台
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

111 lines
4.9 KiB

5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Admin\Common\Order;
  4. use App\Models\LanzuCsInfo;
  5. use Illuminate\Support\Facades\DB;
  6. use Illuminate\Support\Facades\Log;
  7. class Salesman extends \Illuminate\Routing\Controller
  8. {
  9. public function addData()
  10. {
  11. set_time_limit(0);
  12. $rows = LanzuCsInfo::select(
  13. DB::raw('count("lanzu_cs_info.person_id") as total'),
  14. DB::raw('group_concat(lanzu_cs_info.admin_user_id) as admin_user_id'),
  15. DB::raw('group_concat(rb.user_id) as user_id'),
  16. 'lanzu_cs_info.person_id','lanzu_user.nick_name')
  17. ->groupBy('lanzu_cs_info.person_id')
  18. ->leftJoin('lanzu_user','lanzu_user.id','lanzu_cs_info.person_id')
  19. ->leftJoin('lanzu_user_relation_bind as rb','rb.source_id','lanzu_cs_info.admin_user_id')
  20. ->where('lanzu_cs_info.person_id','>',0)->get()->toArray();
  21. foreach ($rows as &$value){
  22. $value['admin_user_id'] = array_unique(explode(',',$value['admin_user_id']));
  23. $value['total'] = count($value['admin_user_id']);
  24. $uid = explode(',',$value['user_id']);
  25. $value['t_num'] = Order::getOrderData([
  26. 'user_type'=>'lanzu_biz',//谁取数据 user_type 用户类型
  27. 'data_type'=>'number',//取什么数据 data_type 数据类型
  28. 'market_id'=>'',//取哪个市场数据
  29. 'condition'=>1,//取数据维度 condition
  30. 'user_ids'=>$uid?$uid:null
  31. ],1);//今日订单数
  32. $value['t_amount'] = Order::getOrderData([
  33. 'user_type'=>'lanzu_biz',//谁取数据 user_type 用户类型
  34. 'data_type'=>'amount',//取什么数据 data_type 数据类型
  35. 'market_id'=>'',//取哪个市场数据
  36. 'condition'=>1,//取数据维度 condition
  37. 'user_ids'=>$uid?$uid:null
  38. ],1);//今日订单金额
  39. $value['y_num'] = Order::getOrderData([
  40. 'user_type'=>'lanzu_biz',//谁取数据 user_type 用户类型
  41. 'data_type'=>'number',//取什么数据 data_type 数据类型
  42. 'market_id'=>'',//取哪个市场数据
  43. 'condition'=>1,//取数据维度 condition
  44. 'user_ids'=>$uid?$uid:null
  45. ],-1);//昨日订单数
  46. $value['y_amount'] = Order::getOrderData([
  47. 'user_type'=>'lanzu_biz',//谁取数据 user_type 用户类型
  48. 'data_type'=>'amount',//取什么数据 data_type 数据类型
  49. 'market_id'=>'',//取哪个市场数据
  50. 'condition'=>1,//取数据维度 condition
  51. 'user_ids'=>$uid?$uid:null
  52. ],-1);//昨日订单金额
  53. $value['w_num'] = Order::getOrderData([
  54. 'user_type'=>'lanzu_biz',//谁取数据 user_type 用户类型
  55. 'data_type'=>'number',//取什么数据 data_type 数据类型
  56. 'market_id'=>'',//取哪个市场数据
  57. 'condition'=>1,//取数据维度 condition
  58. 'user_ids'=>$uid?$uid:null
  59. ],'w');//本周订单 数
  60. $value['w_amount'] = Order::getOrderData([
  61. 'user_type'=>'lanzu_biz',//谁取数据 user_type 用户类型
  62. 'data_type'=>'amount',//取什么数据 data_type 数据类型
  63. 'market_id'=>'',//取哪个市场数据
  64. 'condition'=>1,//取数据维度 condition
  65. 'user_ids'=>$uid?$uid:null
  66. ],'w');//本周订单金额
  67. $value['m_num'] = Order::getOrderData([
  68. 'user_type'=>'lanzu_biz',//谁取数据 user_type 用户类型
  69. 'data_type'=>'number',//取什么数据 data_type 数据类型
  70. 'market_id'=>'',//取哪个市场数据
  71. 'condition'=>1,//取数据维度 condition
  72. 'user_ids'=>$uid?$uid:null
  73. ],'30');//本月订单数
  74. $value['m_amount'] = Order::getOrderData([
  75. 'user_type'=>'lanzu_biz',//谁取数据 user_type 用户类型
  76. 'data_type'=>'amount',//取什么数据 data_type 数据类型
  77. 'market_id'=>'',//取哪个市场数据
  78. 'condition'=>1,//取数据维度 condition
  79. 'user_ids'=>$uid?$uid:null
  80. ],'30');//本月订单金额
  81. unset($value['admin_user_id']);
  82. unset($value['user_id']);
  83. }
  84. DB::beginTransaction();
  85. try {
  86. DB::table('lanzu_salesman_data')->delete();
  87. $result = DB::table('lanzu_salesman_data')->insert($rows);
  88. if ($result){
  89. echo 'success';
  90. }else{
  91. echo 'fail';
  92. }
  93. DB::commit();
  94. }catch (\Exception $e){
  95. Log::debug('社区拓展员数据添加失败',[$e->getMessage()]);
  96. DB::rollBack();
  97. }
  98. }
  99. }