wugg 3 years ago
parent
commit
dfcbe8504c
3 changed files with 591 additions and 0 deletions
  1. 67 0
      app/admin/common/Ocr.php
  2. 33 0
      app/admin/controller/Ocrlicense.php
  3. 491 0
      app/admin/controller/Project.php

+ 67 - 0
app/admin/common/Ocr.php

@@ -0,0 +1,67 @@
+<?php
+
+
+namespace app\admin\common;
+use think\facade\Cache;
+
+class Ocr
+{
+    private  $name="hw98795781";
+    private  $id="0b5f3e336280f3c91f09c01ad29e253e";
+    private  $password="wyhtQazwsx12";
+    public   $region="cn-north-4";
+    public   $project_id	="0b5f50097c80f2722fd7c01af96659ce";
+    private  $auth_api="https://iam.cn-north-4.myhuaweicloud.com/v3/auth/tokens?nocatalog=1";
+    public  $token="";
+
+    public  function GetToken(){
+        $params=[
+            "auth"=>[
+                "identity"=>[
+                    "methods"=>["password"],
+                    "password"=>[
+                        "user"=>[
+                            "domain"=>["name"=>$this->name],
+                            "name"=>$this->name,
+                            "password"=>$this->password
+                        ]
+                    ]
+                ],
+                "scope"=>[
+                    "project"=>["name"=>$this->region,"id"=>$this->project_id]
+                ]
+            ]
+        ];
+        $this->token=Cache::get("x-auth-token");
+        if($this->token==""){
+            $result = post($this->auth_api,json_encode($params));
+            $data =explode("\r\n",$result);
+            array_walk($data,function (&$val,$key){
+                $temp = explode(":",$val);
+                if(count($temp)>1){
+                    $val=[$temp[0]=>$temp[1]];
+                }
+
+            });
+            $token=array_column($data,"X-Subject-Token");
+            $this->token= $token[0];
+            Cache::set("x-auth-token",$token[0],23*3600);
+        }
+    }
+    public function query($img="",$url=""){
+        if($img==""&&$url==""){
+           return  ["code"=>1003,"msg"=>"图片识别失败"];
+        }
+        $this->GetToken();
+        $header=["x-auth-token:" .$this->token,"Content-Type:application/json;charset=UTF-8"];
+        $urlc ="https://ocr.cn-north-4.myhuaweicloud.com/v2/".$this->project_id."/ocr/business-license";
+        $param=["url"=>$url,"image"=>$img];
+        $key = post2($urlc,json_encode($param),$header);
+        if($key==false){
+            $return = ["code"=>1003,"msg"=>"图片识别失败"];
+        }else{
+            $return = ["code"=>0,"msg"=>"图片识别成功","data"=>json_decode($key,true)];
+        }
+        return $return;
+    }
+}

+ 33 - 0
app/admin/controller/Ocrlicense.php

@@ -0,0 +1,33 @@
+<?php
+
+
+namespace app\admin\controller;
+use app\admin\common\Ocr;
+use app\command\qrd;
+use think\App;
+
+class Ocrlicense extends \app\BaseController
+{
+    public $post=[];
+    public function __construct(App $app)
+    {
+        parent::__construct($app);
+        $this->post =$this->request->post();
+    }
+
+    public function query(){
+        $img= isset($this->post['img'])&&$this->post['img']!="" ? trim($this->post['img']):"";
+        if($img==""){
+            return error_show(1005,"参数img不能为空");
+        }
+        $ocr=new Ocr();
+        $data =  $ocr->query("",$img);
+       // var_dump($data);
+        if($data['code']==0 && isset($data['data']['result'])){
+            return app_show(0,"识别成功",$data['data']['result']);
+        }else{
+            return error_show(1005,"识别失败");
+        }
+    }
+
+}

+ 491 - 0
app/admin/controller/Project.php

@@ -0,0 +1,491 @@
+<?php
+
+
+namespace app\admin\controller;
+use think\App;
+use think\facade\Db;
+
+class Project extends \app\BaseController
+{
+    private $post=[];
+    public function __construct(App $app)
+    {
+        parent::__construct($app);
+        $this->post=$this->request->post();
+    }
+    public function create(){
+        $name = isset($this->post['name'])&&$this->post['name']!=""? trim($this->post['name']):"";
+        if($name==""){
+            return error_show(1004,"参数name不能为空");
+        }
+        $platform = isset($this->post['platform'])&&$this->post['platform']!=""? trim($this->post['platform']):"";
+        if($platform==""){
+            return error_show(1004,"参数platform不能为空");
+        }
+        $khNo = isset($this->post['khNo'])&&$this->post['khNo']!=""?trim($this->post['khNo']):"";
+        $supplierNo = isset($this->post['supplierNo'])&&$this->post['supplierNo']!=""?trim($this->post['supplierNo']):"";
+        if($khNo==""){
+            return error_show(1004,"参数khNo不能为空");
+        }
+        if($supplierNo==""){
+            return error_show(1004,"参数supplierNo不能为空");
+        }
+        $use_desc = isset($this->post['use_desc'])&&$this->post['use_desc']!=""?trim($this->post['use_desc']):"";
+        $budget_total = isset($this->post['budget_total'])&&$this->post['budget_total']!=""?floatval($this->post['budget_total']):"";
+        $arrtime = isset($this->post['arrtime'])&&$this->post['arrtime']!=""?$this->post['arrtime']:"";
+        if($use_desc==""){
+            return error_show(1004,"参数use_desc不能为空");
+        }
+        if($budget_total==""){
+            return error_show(1004,"参数budget_total不能为空");
+        }
+        if($arrtime==""){
+            return error_show(1004,"参数arrtime不能为空");
+        }
+        $low_rate = isset($this->post['low_rate'])&&$this->post['low_rate']!=""?floatval($this->post['low_rate']):"";
+        if($low_rate==""){
+            return error_show(1004,"参数low_rate不能为空");
+        }
+        $ladder = isset($this->post['ladder'])&&!empty($this->post['ladder'])? $this->post['ladder']:"";
+        if($ladder==""){
+            return error_show(1004,"参数ladder不能为空");
+        }
+        $token = isset($this->post['token'])&& $this->post['token']!='' ? trim($this->post['token']):"";
+        if($token==''){
+            return error_show(1005,"参数token不能为空");
+        }
+        $user =GetUserInfo($token);
+        if(empty($user)||$user['code']!=0){
+            return error_show(1002,"用户数据不存在");
+        }
+        $createrid= isset($user["data"]['id']) ?  $user["data"]['id'] : "";
+        $creater= isset($user["data"]['nickname']) ?  $user["data"]['nickname'] : "";
+        Db::startTrans();
+        try {
+            $projectNo = makeNo("PRO");
+            $data=[
+                "projectNo"=>$projectNo,
+                "platform_id"=>$platform,
+                "khNo"=>$khNo,
+                "project_name"=>$name,
+                "budget_total"=>$budget_total,
+                "use_desc"=>$use_desc,
+                "low_rate"=>$low_rate,
+                "creater"=>$creater,
+                "createrid"=>$createrid,
+                "status"=>1,
+                "is_del"=>0,
+                "addtime"=>date("Y-m-d H:i:s"),
+                "updatetime"=>date("Y-m-d H:i:s")
+            ];
+            $pro=Db::name("good_project")->insert($data);
+            if($pro){
+                if(!empty($ladder)){
+                    $la=[];
+                    foreach ($ladder as $value){
+                        $pgNo = makeNo("PRI");
+                        $temp=[];
+                        $temp['pgNo']=$pgNo;
+                        $temp['projectNo']=$projectNo;
+                        $temp['good_type']=$value['good_type'];
+                        $temp['good_name']=$value['good_name'];
+                        $temp['good_img']=$value['good_img'];
+                        $temp['cat_id']=$value['cat_id'];
+                        $temp['budget_price']=$value['budget_price'];
+                        $temp['num']=$value['num'];
+                        $temp['creater']=$creater;
+                        $temp['createrid']=$createrid;
+                        $temp['status']=1;
+                        $temp['is_del']=0;
+                        $temp['addtime']=date("Y-m-d H:i:s");
+                        $temp['updatetime']=date("Y-m-d H:i:s");
+                        $la[]=$temp;
+                    }
+                    $in = Db::name("project_info")->insertAll($la);
+                    if($in>0){
+                        Db::commit();
+                        return app_show(0,"项目新建成功",['projectNo'=>$projectNo]);
+                    }
+                }
+            }
+            Db::rollback();
+            return error_show(1004,"项目新建失败");
+        }catch (\Exception $e){
+            Db::rollback();
+            return error_show(1004,$e->getMessage());
+        }
+    }
+
+    public function  addfeed(){
+        $pgNo =isset($this->post['pgNo']) && $this->post['pgNo']!=""? trim($this->post['pgNo']):"";
+        if($pgNo==""){
+            return error_show(1004,"参数pgNo不能为空");
+        }
+        $projectinfo = Db::name("project_info")->where(["pgNo"=>$pgNo,"is_del"=>0])->find();
+        if($projectinfo==false){
+            return error_show(1004,"未找到项目阶梯信息");
+        }
+        $spuCode =isset($this->post['spuCode'])&&!empty($this->post['spuCode']) ?$this->post['spuCode']:"";
+        if($spuCode==""){
+            return error_show(1004,"参数spuCode不能为空");
+        }
+        $source =isset($this->post['source'])&&$this->post['source']!=="" ?intval($this->post['source']):"";
+        if($source==""){
+            return error_show(1004,"参数source不能为空");
+        }
+        $good=[];
+        if($source==1){
+            $good=Db::name("good_basic")->where(["spuCode"=>$spuCode,"is_del"=>0])->select()->toArray();
+            if(empty($good)){
+                return error_show(1004,"未找到商品信息");
+            }
+        }
+        $token = isset($this->post['token'])&& $this->post['token']!='' ? trim($this->post['token']):"";
+        if($token==''){
+            return error_show(1005,"参数token不能为空");
+        }
+        $user =GetUserInfo($token);
+        if(empty($user)||$user['code']!=0){
+            return error_show(1002,"用户数据不存在");
+        }
+        $createrid= isset($user["data"]['id']) ?  $user["data"]['id'] : "";
+        $creater= isset($user["data"]['nickname']) ?  $user["data"]['nickname'] : "";
+        Db::startTrans();
+        try{
+            $data=[];
+            foreach ($good as $value){
+                    $temp=[];
+                    $temp['spuCode']=$value['spuCode'];
+                    $temp['pgNo']=$projectinfo['pgNo'];
+                    $temp['projectNo']=$projectinfo['projectNo'];
+                    $temp['good_name']=$value['good_name'];
+                    $temp['good_type']=$projectinfo['good_type'];
+                    $temp['data_source']=$source;
+                    $temp['cat_id']=$value['cat_id'];
+                    $temp['budget_price']=$projectinfo['budget_price'];
+                    $temp['sale_price']=$value['sale_price'];
+                    $temp['num']=$projectinfo['num'];
+                    $temp['status']=0;
+                    $temp['is_del']=0;
+                    $temp['creater']=$creater;
+                    $temp['createrid']=$createrid;
+                    $temp['addtime']=date("Y-m-d H:i:s");
+                    $temp['updatetime']=date("Y-m-d H:i:s");
+                    $data[]=$temp;
+            }
+            $nu = Db::name("project_feeback")->insertAll($data);
+            if($nu>0){
+                Db::commit();
+                return app_show(0,"添加成功");
+            }else{
+                Db::rollback();
+                return app_show(0,"添加成功");
+            }
+
+        }catch (\Exception $e){
+            Db::rollback();
+            return error_show(1004,$e->getMessage());
+        }
+    }
+
+    public function list(){
+        $page =isset($this->post['page'])&&$this->post['page']!=="" ? intval($this->post['page']):1;
+        $size =isset($this->post['size'])&&$this->post['size']!==""? intval($this->post['size']):10;
+        $where=[["is_del","=",0]];
+        $khNo = isset($this->post['khNo']) &&$this->post['khNo']!==""? trim($this->post['khNo']):"";
+        if($khNo!==""){
+            $where[]=["khNo","=",$khNo];
+        }
+        $project_name = isset($this->post['project_name']) &&$this->post['project_name']!==""? trim($this->post['project_name']):"";
+        if($project_name!==""){
+            $where[]=["project_name","like","%$project_name%"];
+        }
+        $status = isset($this->post['status']) &&$this->post['status']!==""? intval($this->post['status']):"";
+        if($status!==""){
+            $where[]=["status","=",$status];
+        }
+        $start = isset($this->post['start'])&&$this->post['start']!=="" ? $this->post['start']:"";
+        if($start!==''){
+            $where[]=["addtime",">=",$start];
+        }
+        $end = isset($this->post['end'])&&$this->post['end']!=="" ? $this->post['end']:"";
+        if($end!==''){
+            $where[]=["addtime","<=",$end];
+        }
+        $low = isset($this->post['low'])&&$this->post['low']!=="" ? floatval($this->post['low']):"";
+        if($low!==''){
+            $where[]=["budget_total",">=",$low];
+        }
+        $up = isset($this->post['up'])&&$this->post['up']!=="" ? floatval($this->post['up']):"";
+        if($up!==''){
+            $where[]=["budget_total","<=",$up];
+        }
+        $count = Db::name('project')->where($where)->count();
+        $total = ceil($count / $size);
+        $page = $page >= $total ? $total : $page;
+        $list = Db::name('project')->where($where)->page($page,$size)->order("addtime desc")->select();
+        $data=[];
+        foreach ($list as $value){
+            $info = Db::name("platform")->where(['id'=>$value['platform_id']])->find();
+            $value['platform_name']=isset($info['platform_name'])?$info['platform_name']:"";
+            $value['platform_code']=isset($info['platform_code'])?$info['platform_code']:"";
+            $khinfo = Db::name("customer_info")->where(["companyNo"=>$value['khNo']])->find();
+            $value['khName'] = isset($khinfo['CompanyName'])?$khinfo['CompanyName']:"";
+            $data[]=$value;
+        }
+        return app_show(0,"获取成功",['list'=>$data,'count'=>$count]);
+    }
+
+    public function  feedlist(){
+        $page =isset($this->post['page'])&&$this->post['page']!=="" ? intval($this->post['page']):1;
+        $size =isset($this->post['size'])&&$this->post['size']!==""? intval($this->post['size']):10;
+        $where=[["is_del","=",0]];
+        $pgNo =isset($this->post['pgNo'])&&$this->post['pgNo']!==""?trim($this->post['pgNo']):"";
+        if($pgNo!==""){
+          $where[]=["pgNo","=",$pgNo];
+        }
+        $source =isset($this->post['source'])&&$this->post['source']!==""?intval($this->post['source']):"";
+        if($source!==""){
+            $where[]=["data_source","=",$source];
+        }
+        $cat_id =isset($this->post['cat_id'])&&$this->post['cat_id']!==""?intval($this->post['cat_id']):"";
+        if($cat_id!==""){
+            $where[]=["cat_id","=",$cat_id];
+        }
+        $count = Db::name('project_feedback')->where($where)->count();
+        $total = ceil($count / $size);
+        $page = $page >= $total ? $total : $page;
+        $list = Db::name('project_feedback')->where($where)->page($page,$size)->order("addtime desc")->select();
+        return app_show(0,"获取成功",['list'=>$list,'count'=>$count]);
+    }
+
+    public function info(){
+        $projectNo = isset($this->post['projectNo'])&&$this->post['projectNo']!==""?trim($this->post['projectNo']):"";
+        if($projectNo==""){
+            return error_show(1004,"参数projectNo不能为空");
+        }
+
+        $type = isset($this->post['type'])&&$this->post['type']!=="" ? intval($this->post['type']) :0;
+
+        $info =Db::name("project")->where(["projectNo"=>$projectNo,"is_del"=>0])->find();
+        if($info==false){
+            return error_show(1004,"未找到项目信息");
+        }
+        $plat = Db::name("platform")->where(['id'=>$info['platform_id']])->find();
+        $info['platform_name']=isset($plat['platform_name'])?$plat['platform_name']:"";
+        $info['platform_code']=isset($plat['platform_code'])?$plat['platform_code']:"";
+
+        $khinfo = Db::name("customer_info")->where(["companyNo"=>$plat['khNo']])->find();
+        $info['khName'] = isset($khinfo['CompanyName'])?$khinfo['CompanyName']:"";
+
+        $ladder = Db::name("project_info")->where(['projectNo'=>$projectNo,"is_del"=>0])->select()->toArray();
+        $info['ladder']=[];
+        if(!empty($ladder)){
+            foreach ($ladder as $value){
+                $value["cat_info"]=isset($value['cat_id'])? made($value['cat_id'],[]):[];
+                $condition  = $type==0?['pgNo'=>$value['pgNo'],"is_del"=>0] : ['pgNo'=>$value['pgNo'],"is_del"=>0,"status"=>1];
+                $feedback = Db::name("project_info")->where($condition)->select()->toArray();
+                array_walk($feedback,function (&$v){
+                    $v["cat_info"]=isset($v['cat_id'])? made($v['cat_id'],[]):[];
+                });
+                $value['feedback']=$feedback;
+                $info['ladder'][]=$value;
+            }
+        }
+        return app_show(0,"获取成功",$info);
+    }
+
+    public function  plan_create(){
+        $projectNo = isset($this->post['projectNo'])&&$this->post['projectNo']!==""?trim($this->post['projectNo']):"";
+        if($projectNo==""){
+            return error_show(1004,"参数projectNo不能为空");
+        }
+        $info =Db::name("project")->where(["projectNo"=>$projectNo,"is_del"=>0])->find();
+        if($info==false){
+            return error_show(1004,"未找到项目信息");
+        }
+        $feedback =isset($this->post['feedback'])&&!empty($this->post['feedback'])?$this->post['feedback']:"";
+        if($feedback==""){
+            return error_show(1004,"参数feedback不能为空");
+        }
+        $feedinfo = Db::name("project_feedback")->where(['id'=>$feedback,"projectNo"=>$projectNo,"is_del"=>0])
+            ->select()->toArray();
+        if(empty($feedinfo)){
+            return error_show(1004,"反馈数据未找到");
+        }
+        $token = isset($this->post['token'])&& $this->post['token']!='' ? trim($this->post['token']):"";
+        if($token==''){
+            return error_show(1005,"参数token不能为空");
+        }
+        $user =GetUserInfo($token);
+        if(empty($user)||$user['code']!=0){
+            return error_show(1002,"用户数据不存在");
+        }
+        $createrid= isset($user["data"]['id']) ?  $user["data"]['id'] : "";
+        $creater= isset($user["data"]['nickname']) ?  $user["data"]['nickname'] : "";
+        Db::startTrans();
+        try {
+            $planNo=makeNo("PLA");
+            $total=0;
+            $dl=[];
+            foreach ($feedinfo as $value){
+                    $temp=[];
+                    $temp['planNo']=$planNo;
+                    $temp['feedback_id']=$value['id'];
+                    $temp['status']=1;
+                    $temp['is_del']=0;
+                    $temp['addtime']=date("Y-m-d H:i:s");
+                    $temp['updatetime']=date("Y-m-d H:i:s");
+                    $total+=$value['num']*$value['sale_price'];
+                    $dl[]=$temp;
+                }
+            $inn=Db::name("project_plan_rela")->insertAll($dl);
+            if($inn>0){
+                $data=[
+                    "planNo"=>$planNo,
+                    "projectNo"=>$projectNo,
+                    "createrid"=>$createrid,
+                    "creater"=>$creater,
+                    "sale_total"=>round($total,2),
+                    "status"=>0,
+                    "is_del"=>1,
+                    "addtime"=>date("Y-m-d H:i:s"),
+                    "updatetime"=>date("Y-m-d H:i:s")
+                ];
+                $up =Db::name("project_plan")->insert($data);
+                if($up){
+                    Db::commit();
+                    return app_show(0,"方案制作成功",["planNo"=>$planNo]);
+                }
+            }
+            Db::rollback();
+            return error_show(1004,"方案制作失败");
+        }catch (\Exception $e){
+            Db::rollback();
+            return error_show(1004,$e->getMessage());
+        }
+    }
+
+    public function planinfo(){
+       $planNo = isset($this->post['planNo'])&& $this->post['planNo']!==""?trim($this->post["planNo"]):"";
+       if($planNo==""){
+           return error_show(1004,"参数planNo不能为空");
+       }
+       $plan = Db::name("project_plan")->where(["planNo"=>$planNo,"is_del"=>0])->find();
+       if($plan==false){
+           return error_show(1004,"未找到项目方案信息");
+       }
+       $plan['feedback']=[];
+       $feedback =Db::name("preject_plan_rela")->where(["planNo"=>$planNo,"is_del"=>0])->column("feedback_id");
+       if(!empty($feedback)){
+        $feedlist = Db::name("project_feedback")->where(["id"=>$feedback,"is_del"=>0])->select();
+        if(!empty($feedlist)){
+            foreach ($feedlist as $value){
+                $value["cat_info"]=isset($value['cat_id'])? made($value['cat_id'],[]):[];
+                $plan['feedback'][]=$value;
+            }
+        }
+       }
+       return app_show(0,"获取成功",$plan);
+    }
+
+    public function project_plan(){
+        $projectNo = isset($this->post['projectNo'])&&$this->post['projectNo']!==""?trim($this->post['projectNo']):"";
+        if($projectNo==""){
+            return error_show(1004,"参数projectNo不能为空");
+        }
+
+        $type = isset($this->post['type'])&&$this->post['type']!=="" ? intval($this->post['type']) :0;
+
+        $info =Db::name("project")->where(["projectNo"=>$projectNo,"is_del"=>0])->find();
+        if($info==false){
+            return error_show(1004,"未找到项目信息");
+        }
+        $plat = Db::name("platform")->where(['id'=>$info['platform_id']])->find();
+        $info['platform_name']=isset($plat['platform_name'])?$plat['platform_name']:"";
+        $info['platform_code']=isset($plat['platform_code'])?$plat['platform_code']:"";
+
+        $khinfo = Db::name("customer_info")->where(["companyNo"=>$plat['khNo']])->find();
+        $info['khName'] = isset($khinfo['CompanyName'])?$khinfo['CompanyName']:"";
+
+        $ladder = Db::name("project_plan")->where(['projectNo'=>$projectNo,"is_del"=>0])->select()->toArray();
+        $info['plan']=[];
+        if(!empty($ladder)){
+            foreach ($ladder as $value){
+                $value['feedback']=[];
+                $feedback =Db::name("preject_plan_rela")->where(["planNo"=>$value['planNo'],"is_del"=>0])->column("feedback_id");
+                if(!empty($feedback)){
+                    $feedlist = Db::name("project_feedback")->where(["id"=>$feedback,"is_del"=>0])->select();
+                    if(!empty($feedlist)){
+                        foreach ($feedlist as $value){
+                            $value["cat_info"]=isset($value['cat_id'])? made($value['cat_id'],[]):[];
+                            $plan['feedback'][]=$value;
+                        }
+                    }
+                }
+                $info['ladder'][]=$value;
+            }
+        }
+        return app_show(0,"获取成功",$info);
+    }
+
+    public function  feedCheck(){
+        $feedid = isset($this->post['feedid'])&&!empty($this->post['feedid']) ? $this->post['feedid'] :[];
+        if(empty($feedid)){
+            return error_show(1004,"参数feedid不能为空");
+        }
+        $selec = Db::name("project_feedback")->where(["id"=>$feedid,'is_del'=>0,"status"=>0])->select();
+        if(empty($selec)){
+            return error_show(1004,"反馈数据信息未找到");
+        }
+        $up = Db::name("project_feedback")->where(["id"=>$feedid,'is_del'=>0,"status"=>0])->save(["stauts"=>1,"updatetime"=>date("Y-m-d H:i:s")]);
+        if($up){
+            return app_show(0,"反馈数据选择成功");
+        }else{
+            return error_show(1004,"反馈数据选择失败");
+        }
+    }
+    public function  planCheck(){
+        $planNos = isset($this->post['planNos'])&&$this->post['planNos']!==""? trim($this->post['planNos']) :[];
+        if($planNos==""){
+            return error_show(1004,"参数planNos不能为空");
+        }
+        $status=isset($this->post['status'])&&$this->post['status']!=="" ? intval($this->post['status']):"";
+        if($status==""){
+            return error_show(1004,"参数status不能为空");
+        }
+        $selec = Db::name("project_plan")->where(["planNo"=>$planNos,'is_del'=>0,"status"=>0])->select();
+        if(empty($selec)){
+            return error_show(1004,"项目方案数据信息未找到");
+        }
+        $up = Db::name("project_plan")->where(["planNo"=>$planNos,'is_del'=>0,"status"=>0])->save(["stauts"=>1,"updatetime"=>date("Y-m-d H:i:s")]);
+        if($up){
+            return app_show(0,"方案数据修改成功");
+        }else{
+            return error_show(1004,"方案数据修改失败");
+        }
+    }
+
+    public function changeRate(){
+        $projectNo = isset($this->post['projectNo'])&&$this->post['projectNo']!==""?trim($this->post['projectNo']):"";
+        if($projectNo==""){
+            return error_show(1004,"参数projectNo不能为空");
+        }
+        $info =Db::name("project")->where(["projectNo"=>$projectNo,"is_del"=>0])->find();
+        if($info==false){
+            return error_show(1004,"未找到项目信息");
+        }
+        $rate = isset($this->post['rate'])&&$this->post['rate']!=="" ?floatval($this->post['rate']):"";
+        if($rate===""){
+            return error_show(1004,"参数rate不能为空");
+        }
+        $info['low_rate']=$rate;
+        $info['updatetime']=date("Y-m-d H:i:s");
+        $up =Db::name("project")->save($info);
+        if($up){
+            return app_show(0,"利润率修改成功");
+        }else{
+            return app_show(0,"利润率修改失败");
+        }
+    }
+}