提交 a4bf38a3 authored 作者: 窦斌's avatar 窦斌

edit

上级 3fad069b
<?php
namespace App\Console\Commands;
use App\Http\Controllers\Api\JdOrderApiController;
use Illuminate\Console\Command;
class SynCancelAuditList extends Command
{
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'SynCancelAuditList';
/**
* The console command description.
*
* @var string
*/
protected $description = 'Command SynCancelAuditList';
/**
* Create a new command instance.
*
* @return void
*/
public function __construct()
{
parent::__construct();
}
/**
* Execute the console command.
*
* @return mixed
*/
public function handle()
{
//
$getOrder = new JdOrderApiController();
$ret = $getOrder->getOrderCancelAuditList();
print_r($ret);
}
}
<?php
namespace App\Console\Commands;
use App\Http\Controllers\Api\JdOrderApiController;
use Illuminate\Console\Command;
class SynJdOrderApi extends Command
{
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'getOrder';
/**
* The console command description.
*
* @var string
*/
protected $description = 'Command getJdOrder';
/**
* Create a new command instance.
*
* @return void
*/
public function __construct()
{
parent::__construct();
}
/**
* Execute the console command.
*
* @return mixed
*/
public function handle()
{
//
$getOrder = new JdOrderApiController();
$ret = $getOrder->getOrderByJd();
print_r($ret);
}
}
......@@ -18,7 +18,9 @@ class Kernel extends ConsoleKernel
Commands\GetJdSelfOrder::class,
Commands\GetJdSelfRefund::class,
Commands\GetJdSelfShhOrder::class,
Commands\DeductionFee::class
Commands\DeductionFee::class,
Commands\SynJdOrderApi::class,
Commands\SynCancelAuditList::class
];
/**
......@@ -33,10 +35,12 @@ class Kernel extends ConsoleKernel
// ->hourly();
$schedule->command('getOrder')->everyFiveMinutes();//每五分钟执行一次
$schedule->command('decJdOrder')->everyFiveMinutes();//每五分钟执行一次
$schedule->command('getJdSelfOrder')->everyFiveMinutes();//每五分钟执行一次
// $schedule->command('getJdSelfOrder')->everyFiveMinutes();//每五分钟执行一次
// $schedule->command('getJdSelfRefund')->everyFiveMinutes();//每五分钟执行一次
$schedule->command('GetJdSelfShhOrder')->everyFiveMinutes();//每五分钟执行一次
// $schedule->command('GetJdSelfShhOrder')->everyFiveMinutes();//每五分钟执行一次
$schedule->command('DeductionFee')->everyFiveMinutes();//每三十分钟执行一次 everyThirtyMinutes
$schedule->command('SynJdOrderApi')->everyFiveMinutes();// 抓取京东社会化门店订单 //每五分钟执行一次
$schedule->command('SynCancelAuditList')->everyFiveMinutes();// 抓取京东社会化门店退款单 //每五分钟执行一次
}
/**
......
......@@ -42,6 +42,7 @@ trait ExcelTemp
['action_name' => '账目中心发票导出', 'action_value' => 'InvoiceExcel'],//2022-3-15
['action_name' => '缴费扣费记录', 'action_value' => 'PayOverList'],//2024-10-09
['action_name' => '服务商绩效明细', 'action_value' => 'SerStatisticsDetail'],//2024-10-31
];
......@@ -61,7 +62,6 @@ trait ExcelTemp
['field_name' => '剩余金额', 'field_value' => 'residue_money'],//
],
//2022-3-4
'F6StoreOrder' => [
['field_name' => '编号', 'field_value' => 'id'],
......@@ -89,7 +89,6 @@ trait ExcelTemp
//['field_name' => '申请备注', 'field_value' => 'note'],///
],
//2022-2-8
'SettlementThree' => [
['field_name' => '编号', 'field_value' => 'id'],
......@@ -159,6 +158,7 @@ trait ExcelTemp
['field_name' => '账号状态', 'field_value' => 'enable'],
],*/
'StatementsList' => [
['field_name' => '编号', 'field_value' => 'stl_id'],
......@@ -182,7 +182,6 @@ trait ExcelTemp
['field_name' => '用友编码', 'field_value' => 'ser_yycode'],
],
'SettlementMouth' => [
['field_name' => '系统单号', 'field_value' => 'sys_num'],//1
......@@ -308,7 +307,6 @@ trait ExcelTemp
// ['field_name' => '姓名', 'field_value' => 'shr_name'],['field_name' => '订单金额 ', 'field_value' => 'all_price'],
],
'aftercust' => [
['field_name' => '编号', 'field_value' => 'afc_id'],
......@@ -479,7 +477,6 @@ trait ExcelTemp
['field_name' => '服务商属性', 'field_value' => 'brand_service'], // 2022-6-22 new add dou
],
'OrdersMsg' => [
//2022-5-12
['field_name' => '编号', 'field_value' => 'id'],
......@@ -511,10 +508,6 @@ trait ExcelTemp
['field_name' => '日', 'field_value' => 'creact_day'],
],
'ptthree' => [
['field_name' => '编号', 'field_value' => 'id'],
......@@ -623,7 +616,8 @@ trait ExcelTemp
],
/* 'SerInfor' => [
/* 'SerInfor' => [
['field_name' => '平台名称', 'field_value' => 'pt_name'],
......@@ -647,10 +641,6 @@ trait ExcelTemp
],*/
'SendGoods' => [
['field_name' => '序号', 'field_value' => 'id'],
......@@ -686,8 +676,6 @@ trait ExcelTemp
],
'WxBinding' => [
['field_name' => '服务器名称', 'field_value' => 'ser'],
......@@ -932,6 +920,22 @@ trait ExcelTemp
['field_name' => '公司名称', 'field_value' => 'com_name'],//
['field_name' => '支付状态', 'field_value' => 'reo_pay_state'],
],
'SerStatisticsDetail'=>[
['field_name' => '公司名称', 'field_value' => 'company_name', 'field_with' => 45],
['field_name' => '单号', 'field_value' => 'order_num', 'field_with' => 40],
['field_name' => '订单状态', 'field_value' => 'stauas', 'field_with' => 20],
['field_name' => '派单时间', 'field_value' => 'create_time', 'field_with' => 30],
['field_name' => '接单时间', 'field_value' => 'get_time', 'field_with' => 30],
['field_name' => '反馈时间', 'field_value' => 'feeds_time', 'field_with' => 30],
['field_name' => '接单时效', 'field_value' => 'jdAgeing', 'field_with' => 20],
['field_name' => '5分钟接单达标', 'field_value' => 'fiveStandard', 'field_with' => 20],
['field_name' => '10分钟接单达标', 'field_value' => 'tenStandard', 'field_with' => 20],
['field_name' => '施工时效', 'field_value' => 'sgAgeing', 'field_with' => 20],
['field_name' => '12小时履约达标', 'field_value' => 'Standard12Hours', 'field_with' => 20],
['field_name' => '24小时履约达标', 'field_value' => 'Standard24Hours', 'field_with' => 20],
['field_name' => '是否计入时效考核', 'field_value' => 'takeEffect', 'field_with' => 20],
]
];
......
差异被折叠。
......@@ -969,7 +969,7 @@ class CommonController extends BaseController
* @author du
* @date 2021/8/26
*/
public function getExcelOut($pri_id,$sqls,$session,$limit = 500){
public function getExcelOut($pri_id,$sqls,$session,$limit = 500,$action_name = ''){
$exceout = new ExceloutService();
if(!$sqls){
return $this->error('暂无数据或请检查SQL日志是否打开', ErrorInc::MYSQL_FAILED);
......@@ -977,12 +977,16 @@ class CommonController extends BaseController
$list = $exceout->getSqls($sqls)['list'];
if($list){
$sql = $exceout->getSqls($sqls)['sqls'];
$avtion = FunctionsService::getFunctionsBy('function_id', $pri_id, ['function_name','function_model']);
if($action_name=='') {
$avtion = FunctionsService::getFunctionsBy('function_id', $pri_id, ['function_name', 'function_model']);
}else{
$avtion = $action_name;
}
$con_name = $avtion['function_name'];//控制器名称
$action = $avtion['function_model'];//控制器
$field_data = $exceout->gainFields($session['id'],$action);
if (empty($field_data)) {
return $this->error('您暂时无导出权限', ErrorInc::MYSQL_FAILED);
return $this->error('您暂时无导出权限', ErrorInc::MYSQL_FAILED,$action);
}
return $exceout->createPlan($list,$sql,$limit,$action,$con_name,$session['id'],$session['admin_acc'],$session['company_id']);
}else{
......
......@@ -49,8 +49,12 @@ class DataStatisticsController extends BaseController
}else {
$api = (string)$input['method'];
$data = DataStatisticsService::$api($session,$input);
return $this->success('操作成功
',$data);
return $data;
// if($data){
// return $this->success('获取成功', $data); exit;
// }else{
// return $this->error('暂无数据', ErrorInc::DATA_EMPTY,$data);exit;
// }
}
}
}
......@@ -12,11 +12,13 @@
namespace App\Http\Controllers\Dou;
use App\Exports\BasicExport;
use App\Http\Controllers\Orders\AotuorderController;
use App\Models\Admin;
use App\Models\OrderList;
use App\Models\OrderRejected;
use App\Services\CommonService;
use Chumper\Zipper\Zipper;
use Illuminate\Http\Request;
use BlueCity\Core\Controllers\MountingCoreController as Controller;
use BlueCity\Core\Traits\ResourceControllerMethod;
......@@ -44,7 +46,7 @@ class MyTestController extends Controller
if(empty($input['method'])){
return $this->error('缺少必要参数1',ErrorInc::FAILED_PARAM);
}
$api=['getSerStatistics','getSerStatisticsDetail'];
$api=['getSerStatistics','getSerStatisticsDetail','BasicExport'];
if(!in_array($input['method'],$api)){
return $this->error('接口不参数异常',ErrorInc::INVALID_PARAM,$input);
}else {
......@@ -240,4 +242,63 @@ class MyTestController extends Controller
$res = $days.'天'.$hours.'时'.$mins.'分'.$secs.'秒';
return $res;
}
/**|---------------------------------------------------------------------------------
* @name 自定义表头
* @retrun \Illuminate\Http\JsonResponse
* @author dou 2024/10/22 14:43
* |---------------------------------------------------------------------------------
*/
public function BasicExport ( $input ){
$exporter = New BasicExport();
// $ewa = $exporter->creacrExporSerStatisticsDetail(json_decode($data,true));
// $data = [];
// $data[0] = $ewa;
// return $this->error('接口不参数异常',ErrorInc::INVALID_PARAM,$data);
$con='SerStatisticsDetail';
// $id = intval($request->input('el_id'));
$id = $input['el_id'];
$res = DB::table("excel_list")
->where('el_id',$id)
->where('el_state','1')
->select("el_action","el_id","el_sql","el_path","el_item","el_adminid","company_id")
->orderBy('el_id','ASC')->first();
if($res) {
if (!file_exists($res['el_path'])) {
// 创建文件夹
mkdir($res['el_path'], 0775, true);
chmod($res['el_path'], 0775);
}
$detail = DB::table("excel_detail")->where("ed_elid", $res['el_id'])->where("ed_state", '1')->first();
if ($detail) {
$data = $exporter->creacrExporHeader($con, $res, $detail, 'B2');
if ($data['db']) {
$return = $exporter->addExceleDara($res, $detail, $data['file'], $data['db'], $data['group']);
return $this->success('操作成功1');
} else {
DB::table("excel_detail")->where("ed_id", $detail['ed_id'])->update(['ed_state' => 2]);
return $this->success('操作成功2');
}
} else {
DB::table("excel_list")->where('el_id', $res['el_id'])->update(['el_state' => 2]);
return $this->success('操作成功3');
}
}else{
$path = DB::table('excel_list')->where('el_id',$id)->value('el_path');
$zipper = new Zipper();
$arr = glob(public_path($path)); //$public_path 被压缩的文件名
$reduce_path = $path.'.zip';
$zipper->make(public_path($reduce_path))->add($arr)->close(); //public_path($reduce_path) 压缩之后 */
$zip = new \ZipArchive();
$zipStatus = $zip->open($reduce_path);
if ($zipStatus !== true) {
return $this->error('压缩失败', ErrorInc::FAILED_PARAM);exit;
}
DB::table("excel_list")->where('el_id',$id)->update(['el_state'=>2]);
// = $this->baseurl().$reduce_path;
return response()->json(['Data' =>'', 'ErrorMessage' => '执行完毕', 'ErrorCode' => 222]);exit;
}
}
}
......@@ -59,7 +59,7 @@ class ExceloutController extends BaseController
$res = DB::table("excel_list")
->where('el_id',$id)
->where('el_state','1')
->select("el_action","el_id","el_sql","el_path","el_item","el_adminid")
->select("el_action","el_id","el_sql","el_path","el_item","el_adminid","company_id")
->orderBy('el_id','ASC')->first();
if($res){
......
......@@ -1052,7 +1052,7 @@ class OrderListService extends Model
$arr['feedback_pic'] = $streamFilename;
$arr['install_time'] = date("Y-m-d H:i:s");
$arr['type_name'] = self::getPicName($request['type']);//'1';
$res = Feedback::where('type',$request['type'])->update($arr);
$res = Feedback::where('type',$request['type'])->where('gl_id',$orderListArr['id'])->update($arr);
$typename = '编辑';
}else {
$resu = Admin::where("id", $orderListArr['ser_id'])->first();
......
......@@ -12,9 +12,12 @@
namespace App\Services;
use App\Exports\BasicExport;
use App\Http\Controllers\Common\CommonController;
use App\Models\Admin;
use App\Models\OrderList;
use App\Models\OrderRejected;
use BlueCity\Core\Inc\ErrorInc;
use BlueCity\Core\Service\Service;
use DB;
......@@ -30,7 +33,7 @@ class DataStatisticsService extends Service{
$page_size = $input['page_size']??10;
$admindata = Admin::whereRaw("((company_id='".$session['company_id']."' and admin_groupnew=2) or admin_groupnew=3) and enable=1")
->select('id','company_name')
->paginate($page_size)
// ->paginate($page_size)
->get();
$admindata = CommonService::dataToArray($admindata);
$return = [];
......@@ -63,6 +66,7 @@ class DataStatisticsService extends Service{
$gl = "0.00%";
}else {
$gl = sprintf("%.2f", $order_rejectednum / ($order_listnum + $order_rejectednum) * 100);
$gl = $gl."%";
}
$return[$k]['rejectRate'] = $gl;//拒单率
if($data){
......@@ -81,8 +85,9 @@ class DataStatisticsService extends Service{
$gls = "0.00%";
}else {
$gls = sprintf("%.2f", $order_rejectedAllnum / ($order_listAllnum + $order_rejectedAllnum) * 100);
$gls = $gls."%";
}
$return[$k]['rejectRates'] = $gl;//拒单率
$return[$k]['rejectRates'] = $gls;//拒单率
if($data){
$pdAgeings = self::Compute_Time($datas1[0]['pdnum']);
$sgAgeings = self::Compute_Time($datas[0]['timenum']);
......@@ -94,7 +99,22 @@ class DataStatisticsService extends Service{
$return[$k]['sgAgeings'] = $sgAgeings;//施工时效
}
}
return $return;
if(isset($input['is_excel']) && $input['is_excel']==2 ){
$time1 = date("Y.m.d", strtotime($input['time_start']));
$time2 = date("Y.m.d", strtotime($input['time_start'] . " +6 day"));
$excel['time'] = "本周".$time1."-".$time2;
$excel['data'] = $return;
$excel['session'] = $session;
$exporter = New BasicExport();
$rea = $exporter->creacrExporSerStatistics($excel);
if($rea){
return response()->json(['Data' => $rea, 'ErrorMessage' => '操作成功', 'ErrorCode' => 1]);
}else{
return response()->json(['Data' => $rea, 'ErrorMessage' => '无数据', 'ErrorCode' => ErrorInc::DATA_EMPTY]);
}
}else {
return response()->json(['Data' => $return, 'ErrorMessage' => '操作成功', 'ErrorCode' => 1]);
}
}
/**|---------------------------------------------------------------------------------
......@@ -115,17 +135,25 @@ class DataStatisticsService extends Service{
// $sql = "SELECT (UNIX_TIMESTAMP(feeds_time)-UNIX_TIMESTAMP(get_time)) AS sgtime,(UNIX_TIMESTAMP(get_time)-UNIX_TIMESTAMP(create_time)) AS jdtime,stauas,order_num,ser_id,create_time,get_time,feeds_time FROM gone_order_list WHERE create_time BETWEEN '".$time_start."' and '".$time_end."' and is_delete=1 and company_id = ".$session['company_id']." order by create_time";
// $datas = DB::select($sql);
$page_size = $input['page_size']??10;
$is_excel = $input['is_excel']??'0';
if ($is_excel == 2) {
DB::connection()->enableQueryLog();#开启执行日志
}
$paginate = OrderList::where('is_delete',1)
->whereBetween('create_time',[$time_start,$time_end])
->where('company_id',$session['company_id'])
->selectRaw("(UNIX_TIMESTAMP(feeds_time)-UNIX_TIMESTAMP(get_time)) AS sgtime,(UNIX_TIMESTAMP(get_time)-UNIX_TIMESTAMP(create_time)) AS jdtime,stauas,order_num,ser_id,create_time,get_time,feeds_time")
->orderBy('create_time','ASC')
->paginate($page_size);
if ($is_excel == 2) {
DB::connection()->enableQueryLog();#开启执行日志
$sql = DB::getQueryLog()[1];
}
$datas = CommonService::dataToArray($paginate->items());
$statusName = ['10'=>'未接单','20'=>'未接单','30'=>'安装中','34'=>'待审核','40'=>'已完成','50'=>'已撤销','55'=>'已撤销(补邮费)'];
$return = [];
foreach($datas as $k => $v){
$return[$k]['ser_id'] = $admindata[$v['ser_id']];//公司名称
$return[$k]['company_name'] = $admindata[$v['ser_id']];//公司名称
$return[$k]['order_num'] = $v['order_num'];//订单单号
$return[$k]['stauas'] = $statusName[$v['stauas']];//订单状态
$return[$k]['create_time'] = $v['create_time'];//派单时间
......@@ -173,7 +201,12 @@ class DataStatisticsService extends Service{
$return[$k]['takeEffect'] = "否";//是否计入时效考核
}
}
return $return;
if(isset($input['is_excel']) && $input['is_excel']==2 ){
$excel = new CommonController();
return $excel->getExcelOut($input['Pri_id'], $sql, $session,200,['function_name'=>'服务商绩效明细','function_model'=>'SerStatisticsDetail']);
}else {
return response()->json(['Data' => $return, 'ErrorMessage' => '操作成功', 'ErrorCode' => 1]);
}
}
/**|---------------------------------------------------------------------------------
......@@ -183,7 +216,7 @@ class DataStatisticsService extends Service{
* @author dou 2024/8/23 11:43
* |---------------------------------------------------------------------------------
*/
private static function Compute_Time( $timediff ){
public static function Compute_Time($timediff ){
$days = intval($timediff/86400);
//计算小时数
$remain = $timediff%86400;
......
......@@ -52,7 +52,7 @@ class OrderDeductionFeeService extends Service
public static function deductFee($data) {
$find_recharge_order = DB::table('recharge_order')
->where('reo_order_number', $data['order_number'])
->where('reo_pay_state', 1)
->where('reo_pay_state', 2)
->first();
if (!empty($find_recharge_order)) {
return ['code'=>200, 'msg'=>'操作成功'];
......
......@@ -1654,7 +1654,7 @@ class OrderService extends Service
$wherecompany1['company_id'] = $session['company_id'];
$wherecompany1['company_type'] = 1;
$wherecompany1['admin_groupnew'] = 2;
$wherecompany2['id_searchin'] = [91];
$wherecompany2['id_searchin'] = [91,101];
$where['wherecompany_searchor']['wherecompany1_next_level'] = $wherecompany1;
$where['wherecompany_searchor']['wherecompany2_next_level'] = $wherecompany2;
}else {
......@@ -1815,7 +1815,7 @@ class OrderService extends Service
$wherecompany1['company_id'] = $session['company_id'];
$wherecompany1['company_type'] = 1;
$wherecompany1['admin_groupnew'] = 2;
$wherecompany2['id_searchin'] = [91];
$wherecompany2['id_searchin'] = [91,101];
$where['wherecompany_searchor']['wherecompany1_next_level'] = $wherecompany1;
$where['wherecompany_searchor']['wherecompany2_next_level'] = $wherecompany2;
}else {
......
......@@ -132,8 +132,8 @@ class OrderaddService extends Service{
$num = $num + 1;
}
}else{
$orderMsgData['goods_price'] = $new_money;//实收/商品单价
$orderMsgData['goods_paid'] = $new_money;//应收
$orderMsgData['goods_price'] = $value['goods_price']*$value['goods_num'];//实收/商品单价
$orderMsgData['goods_paid'] = $value['goods_price']*$value['goods_num'];//应收
$orderMsgData['goods_num'] = $value['goods_num'];
$newOrderId = OrderMsg::insert($orderMsgData);
if(!$newOrderId){
......
......@@ -14,6 +14,7 @@
"laravel/framework": "5.5.*",
"laravel/tinker": "~1.0",
"maatwebsite/excel": "~2.1.0",
"phpoffice/phpspreadsheet": "^1.25",
"predis/predis": "^1.1"
},
"require-dev": {
......@@ -64,7 +65,11 @@
"preferred-install": "dist",
"sort-packages": true,
"optimize-autoloader": true,
"secure-http": false
"secure-http": false,
"allow-plugins": {
"kylekatarnls/update-helper": true,
"symfony/thanks": true
}
},
"minimum-stability": "dev",
"prefer-stable": true,
......
......@@ -1162,6 +1162,11 @@ Route::group(
Route::group(['prefix'=>'getCallByTtsCost'], function (){
Route::get('getCallByTtsCost', 'SysCallByTtsCostController@getCallByTtsCost');//电弧通知扣费
});
//京东定单同步状态
Route::group(['prefix'=>'jdOrderApi'], function (){
Route::get('getOrderByJd', 'JdOrderApiController@getOrderByJd');//获取京东社会化门店订单
Route::get('getOrderCancelAuditList', 'JdOrderApiController@getOrderCancelAuditList');//获取社会化门店获取退款单
});
#天猫服务单
/* Route::group(['prefix'=>'tmOrder'], function (){
Route::post('addOrderByTm', 'AddTmOrderController@addOrderByTm');//添加天猫单
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论