Эх сурвалжийг харах

Merge branch 'master' into work_order_batach

# Conflicts:
#	app/Http/Controllers/TestController.php
zengjun 4 жил өмнө
parent
commit
41e4ede42e

+ 51 - 0
app/Http/ApiControllers/LoginController.php

@@ -7,6 +7,7 @@ namespace App\Http\ApiControllers;
 use App\User;
 use Illuminate\Http\JsonResponse;
 use Illuminate\Http\Request;
+use Illuminate\Http\Response;
 use Illuminate\Support\Facades\Auth;
 use Illuminate\Support\Facades\Hash;
 
@@ -88,6 +89,56 @@ class LoginController
         }
     }
 
+    public function getUserInfo(Request $request)
+    {
+        $userName = $request->get('username','');
+        $password = $request->get('password','');
+        $users = User::query()->where("name",$userName)->orWhereHas("userDetail",function ($query)use($userName){
+            $query->where("mobile_phone",$userName);
+        })->get();
+        $user = null;
+        foreach ($users as $item){
+            if (Hash::check($password,$item->password)){
+                $user = $item;
+                break;
+            }
+        }
+        if (!$user){
+            return response("用户不存在或密码错误", 401);
+        }
+        $user->load("userDetail");
+        return response()->json([
+            "id" => $user->id,
+            "username" => $user->name,
+            "name" => $user->userDetail->full_name ?? "",
+            "sex" => $user->userDetail->gender ?? "",
+            "id_card" => $user->userDetail->identity_number ?? "",
+            "phone" => $user->userDetail->mobile_phone ?? "",
+        ]);
+    }
+
+    public function resetNameOrPwd(Request $request)
+    {
+        $userId = $request->get('id');
+        $userName = $request->get('username');
+        $password = $request->get('password');
+        $user = null;
+        if (!$userId || (!$userName && !$password) || !$user = User::query()->find($userId)){
+            return response("参数错误或用户不存在", 401);
+        }
+        $update = [];
+        if ($userName) {
+            $update["name"] = $userName;
+        }
+        if ($password) {
+            $update["password"] = Hash::make($password);
+        }
+        if ($user->update($update)) {
+            return response("OK");
+        }
+        return response("用户信息修改失败", 410);
+    }
+
     private function getMenu($user)
     {
         Auth::setUser($user);

+ 4 - 6
app/Http/Controllers/RejectedController.php

@@ -406,16 +406,14 @@ class RejectedController extends Controller
             config('database.connections.mysql.port'),config('database.connections.mysql.database')
             ,config('database.connections.mysql.username'),config('database.connections.mysql.password'));
         $e->setFileName("退货单列表-".date('ymdHis'));
-        $e->setDatum("id");
-        $e->setMergeFormat([
-//            "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "P",
-//            "Q", "R"
-        ]);
+        //$e->setDatum("logistic_number_return");
+        $e->setDateTimeColumn("record_time");
         return $e->sql($sql,[
             "created_at"=>"日期","checked_numbers"=>"审核号",
             "owner_name"=>"客户名称","order_number"=>"订单号",
             "sender"=>"姓名","mobile_sender"=>"手机",
-            "logistic_number"=>"原单单号","logistic_number_return"=>"退回单号","logistic_name"=>"退回公司",
+            "record_time" => "退回时间","logistic_name"=>"退回公司",
+            "logistic_number"=>"原单单号","logistic_number_return"=>"退回单号",
             "fee_collected"=>"到付费用","loaded"=>"是否入库",
             "item_barcode"=>"商品条码","item_name"=>"商品名称",
             "item_amount"=>"商品数量","quality_label_name"=>"商品质量","item_remark"=>"备注","operator_name"=>"录入人","remark"=>"退单备注"

+ 7 - 17
app/Http/Controllers/TestController.php

@@ -11,10 +11,13 @@ use App\Services\OrderIssueService;
 use App\Services\OrderIssueTypeService;
 use App\Services\OrderRejectedBillRelationService;
 use App\Services\OrderService;
+use App\Exceptions\Exception;
 use App\Services\WaybillService;
+use App\User;
 use App\Waybill;
 use Illuminate\Http\Request;
 use Illuminate\Support\Facades\DB;
+use Illuminate\Support\Facades\Hash;
 
 class TestController extends Controller
 {
@@ -35,23 +38,10 @@ class TestController extends Controller
             dd("方法不存在");
         }
     }
-    public function test(){
-        $sql = <<<SQL
-select * from equipment where id in (
-    select parent_id from equipment where parent_id in (select id from equipment where info like '%"id":2%' and code like 'H%')
-    group by parent_id having (count(*)<5)
-);
-SQL;
-
-        $arr = DB::connection("aliyunMysql")->select(DB::raw($sql));
-        $insert = <<<SQL
-insert into equipment(repository_id, code, parent_id, info, depth, width, height, containers, location_tab, created_at, updated_at, tandem)
-values (?,?,?,null,?,?,1.8,null,'0-0','2022-01-13 16:08:00','2022-01-13 16:08:00',null)
-SQL;
-
-        foreach ($arr as $item){
-            DB::connection("aliyunMysql")->insert($insert, [$item->repository_id,$item->code."-1",$item->id,$item->depth,$item->width]);
-        }
+    public function test()
+    {
+        dd(Hash::make("12345678"));
+        User::query()->find(468)->update(["password"=>Hash::make("12345678")]);
     }
 
     public function batch(){

+ 2 - 0
app/Http/Kernel.php

@@ -2,6 +2,7 @@
 
 namespace App\Http;
 
+use App\Http\Middleware\AccessRestriction;
 use App\Http\Middleware\AuthorizingApi;
 use App\Http\Middleware\CheckCsrfToken;
 use App\Http\Middleware\LogPostRequest;
@@ -77,6 +78,7 @@ class Kernel extends HttpKernel
         'procurement.auth.api' => \App\Http\Middleware\ProcurementApiAuth::class,
         'check.token' => CheckCsrfToken::class,
         'authorizing' => AuthorizingApi::class,
+        'access.restriction' => AccessRestriction::class,
     ];
 
     /**

+ 29 - 0
app/Http/Middleware/AccessRestriction.php

@@ -0,0 +1,29 @@
+<?php
+
+namespace App\Http\Middleware;
+
+use Closure;
+
+class AccessRestriction
+{
+    /**
+     * Handle an incoming request.
+     *
+     * @param  \Illuminate\Http\Request  $request
+     * @param  \Closure  $next
+     * @return mixed
+     */
+    public function handle($request, Closure $next)
+    {
+        $ip=[
+            '101.85.200.172',
+            '101.133.135.193'
+        ];
+        if(in_array($request->getClientIp(), $ip)){
+            return $next($request);
+        } else {
+            $request->headers->set('Accept', 'application/json');
+            return response('无权限访问,您的IP:'.$request->getClientIp(), 403);
+        }
+    }
+}

+ 4 - 1
app/Services/OrderRejectedBillRelationService.php

@@ -79,7 +79,10 @@ class OrderRejectedBillRelationService
             return ['order_id' => $order->id,'logistic_number_return' => $item,'order_issue_id' => $order_issue->id ?? ''];
         },$logistic_number_returns));
 
-        OrderIssueRejectedBill::query()->where("order_id",$order->id)->update(['order_issue_id'=>$order_issue->id]);
+        if(!$order->id ?? null){
+            return ;
+        }
+        OrderIssueRejectedBill::query()->where("order_id",$order->id)->update(['order_issue_id'=>$order_issue->id ?? null]);
         $this->service->syncRejectingStatus($order);
     }
 

+ 3 - 1
app/Services/RejectedService.php

@@ -177,7 +177,9 @@ class RejectedService
             ->leftJoin('quality_labels','rejected_bill_items.id_quality_label','=','quality_labels.id')
             ->selectRaw('quality_labels.name quality_label_name')
             ->leftJoin('users','rejected_bills.id_operator','=','users.id')
-            ->selectRaw('users.name operator_name');
+            ->selectRaw('users.name operator_name')
+            ->leftJoin('receive_records', 'rejected_bills.logistic_number_return', '=', 'receive_records.logistic_number')
+            ->selectRaw('IFNULL(receive_records.location_at,receive_records.record_at) record_time');
         return $sql->sql();
     }
 

+ 19 - 0
config/database.php

@@ -84,6 +84,25 @@ return [
             ]) : [],
         ],
 
+        'system' => [
+            'driver' => 'mysql',
+            'url' => env('DATABASE_URL'),
+            'host' => 'rm-uf6f5v208b07hp198bo.mysql.rds.aliyuncs.com',
+            'port' => '3306',
+            'database' => 'system',
+            'username' => 'root',
+            'password' => 'baoshiSYSTEM123!',
+            'unix_socket' => env('DB_SOCKET', ''),
+            'charset' => 'utf8mb4',
+            'collation' => 'utf8mb4_unicode_ci',
+            'prefix' => '',
+            'prefix_indexes' => true,
+            'strict' => false,
+            'engine' => null,
+            'options' => extension_loaded('pdo_mysql') ? array_filter([
+                \PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
+            ]) : [],
+        ],
         'aliyunMysql' => [
             'driver' => 'mysql',
             'url' => env('DATABASE_URL'),

+ 2 - 0
resources/views/order/workOrder/index.blade.php

@@ -405,6 +405,7 @@
                                         <select class="form-control form-control-sm"
                                                 v-model="item.logistic_express_remission"
                                                 @change="changeWorkOrderInfo(item,'logistic_express_remission',$event)">
+                                            <option value></option>
                                             <option v-for="type in workOrderRemissionType" :value="type.name"
                                                     v-text="type.name"></option>
                                         </select>
@@ -419,6 +420,7 @@
                                             class="form-control form-control-sm"
                                             v-model="item.bao_shi_express_remission"
                                             @change="changeWorkOrderInfo(item,'bao_shi_express_remission',$event)">
+                                            <option value></option>
                                             <option v-for="type in workOrderRemissionType" :value="type.name"
                                                     v-text="type.name"></option>
                                         </select>

+ 3 - 0
routes/api.php

@@ -13,6 +13,9 @@ use Illuminate\Support\Facades\Route;
 | is assigned the "api" middleware group. Enjoy building your API!
 |
 */
+Route::get("getUserInfo", 'LoginController@getUserInfo')->middleware("access.restriction");
+Route::get("resetNameOrPwd", 'LoginController@resetNameOrPwd')->middleware("access.restriction");
+
 
 Route::prefix("v1")->group(function (){
     Route::middleware('throttle:' . config('api.rate_limits.sign'))