You've already forked qlg.tsgz.moe
							
							
		
			
				
	
	
		
			271 lines
		
	
	
		
			4.9 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			271 lines
		
	
	
		
			4.9 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
| <?php
 | |
| 
 | |
| namespace wstmart\admin\model;
 | |
| 
 | |
| use wstmart\admin\model\Goods as M;
 | |
| 
 | |
| use think\Db;
 | |
| 
 | |
| /**
 | |
| 
 | |
|  * ============================================================================
 | |
| 
 | |
|  * 订单投诉业务处理
 | |
| 
 | |
|  */
 | |
| 
 | |
| class Informs extends Base{
 | |
| 
 | |
| 	/**
 | |
| 
 | |
| 	 * 获取举报列表
 | |
| 
 | |
| 	 */
 | |
| 
 | |
| 	public function pageQuery(){
 | |
| 
 | |
|      	$informStatus = (int)Input('informStatus',-1);
 | |
| 
 | |
| 	 	if($informStatus>-1)$where['o.informStatus']=$informStatus;
 | |
| 
 | |
|      	$where['o.dataFlag']=1;
 | |
| 
 | |
| 		$order = [];
 | |
| 
 | |
| 		$rs = Db::name('informs')->alias('o')
 | |
| 
 | |
| 		                      ->field('o.*,s.shopId,s.shopName,u.userName,u.loginName,oc.goodsImg,oc.goodsId,oc.goodsName')
 | |
| 
 | |
| 						      ->join('__SHOPS__ s','o.shopId=s.shopId','inner','left')
 | |
| 
 | |
| 						      ->join('__USERS__ u','o.informTargetId=u.userId','inner')
 | |
| 
 | |
| 						      ->join('__GOODS__ oc','oc.goodsId=o.goodId','inner')
 | |
| 
 | |
| 						      ->where($where)
 | |
| 
 | |
| 						      ->order('informId desc')
 | |
| 
 | |
| 						      ->paginate()
 | |
| 
 | |
| 						      ->toArray();
 | |
| 
 | |
| 	    $reason = WSTDatas('INFORMS_TYPE');
 | |
| 
 | |
| 	    for($i=1;$i<=count($reason);$i++){
 | |
| 
 | |
| 	    	for($j=0;$j<count($rs['Rows']);$j++)
 | |
| 
 | |
| 	    		if($rs['Rows'][$j]['informType'] == $i){
 | |
| 
 | |
| 	    			$rs['Rows'][$j]['informType'] = $reason[$i]['dataName'];
 | |
| 
 | |
| 	    		}
 | |
| 
 | |
| 	    	}
 | |
| 
 | |
| 		return $rs;
 | |
| 
 | |
| 	}
 | |
| 
 | |
| 
 | |
| 
 | |
| 	/**
 | |
| 
 | |
| 	 * 获取举报信息
 | |
| 
 | |
| 	 */
 | |
| 
 | |
| 	 public function getDetail(){
 | |
| 
 | |
| 	 	$informId = (int)Input('cid');
 | |
| 
 | |
| 	 	$data = $this->alias('oc')
 | |
| 
 | |
| 	 	             ->join('__SHOPS__ s','oc.shopId=s.shopId','inner','left')
 | |
| 
 | |
| 					 ->join('__USERS__ u','oc.informTargetId=u.userId','inner')
 | |
| 
 | |
| 	 				 ->where("oc.informId=$informId")
 | |
| 
 | |
| 	 				 ->find();
 | |
| 
 | |
| 	 	if($data){
 | |
| 
 | |
| 	 		if($data['informAnnex']!='')$data['informAnnex'] = explode(',',$data['informAnnex']);
 | |
| 
 | |
| 			$data['userName'] = ($data['userName']=='')?$data['loginName']:$data['userName'];
 | |
| 
 | |
| 		   
 | |
| 
 | |
| 	 	}
 | |
| 
 | |
| 	 	 return $data;
 | |
| 
 | |
| 	 }
 | |
| 
 | |
| 
 | |
| 
 | |
| 	
 | |
| 
 | |
| 
 | |
| 
 | |
| 	 /**
 | |
| 
 | |
| 	  * 处理
 | |
| 
 | |
| 	  */
 | |
| 
 | |
| 	 public function finalHandle(){
 | |
| 
 | |
| 	 	$rd = array('status'=>-1,'msg'=>'无效的举报信息');
 | |
| 
 | |
| 	 	$informId = (int)Input('cid');
 | |
| 
 | |
| 	 	$finalResult = Input('finalResult');
 | |
| 
 | |
| 	 	$informStatus = Input('informStatus');
 | |
| 
 | |
| 	 	if($informId==0){
 | |
| 
 | |
| 	 		return WSTReturn('无效的举报信息',-1);
 | |
| 
 | |
| 	 	}
 | |
| 
 | |
| 	 	//判断是否已经处理过了
 | |
| 
 | |
| 	 	$rs = Db::name('informs')->alias('oc')
 | |
| 
 | |
| 	 			   ->field('oc.informTargetId,oc.informStatus,oc.goodId,oc.shopId,oc.informTargetId')
 | |
| 
 | |
| 	 			   ->where("oc.informId=$informId")
 | |
| 
 | |
| 	 			   ->find();
 | |
| 
 | |
| 	    if($informStatus == 3){
 | |
| 
 | |
| 	    	 try{
 | |
| 
 | |
| 	    	 	$data['isInform'] = 0;
 | |
| 
 | |
| 	 	        $ers = Db::name('informs')->where('informTargetId='.$rs['informTargetId'])->delete();
 | |
| 
 | |
| 	 	        $res = Db::name('users')->where('userId='.$rs['informTargetId'])->update($data);
 | |
| 
 | |
| 	 	        if($ers!==false){
 | |
| 
 | |
| 					//发站内用户信息提醒
 | |
| 
 | |
| 		 	    	WSTSendMsg($rs['informTargetId'],"由于您被检验出恶意举报,您所有未处理举报商品已被取消并且已被禁止举报!",['from'=>3,'dataId'=>$informId]);                
 | |
| 
 | |
| 					Db::commit();
 | |
| 
 | |
| 					return WSTReturn('操作成功',2);
 | |
| 
 | |
| 	 	        }
 | |
| 
 | |
| 	 	    }catch(\Exception $e){
 | |
| 
 | |
| 	 	    	Db::rollback();errLog($e);
 | |
| 
 | |
| 	            return WSTReturn('操作失败',-1);
 | |
| 
 | |
| 	 	    }
 | |
| 
 | |
| 	    }
 | |
| 
 | |
| 	 	if($rs['informStatus']!=1 && $rs['informStatus']!=2){
 | |
| 
 | |
| 	 		if($informStatus == 2){
 | |
| 
 | |
| 	 			$m = new M();
 | |
| 
 | |
| 	 			$m->illegal($rs['goodId'],1);
 | |
| 
 | |
| 	 		}
 | |
| 
 | |
| 	 		$data = array();
 | |
| 
 | |
| 	 		$data['finalHandleStaffId'] = session('WST_STAFF.staffId');
 | |
| 
 | |
| 	 		$data['informStatus'] = $informStatus;
 | |
| 
 | |
| 	 		$data['respondContent'] = Input('finalResult');
 | |
| 
 | |
| 	 		$data['finalHandleTime'] = date('Y-m-d H:i:s');
 | |
| 
 | |
| 	 		Db::startTrans();
 | |
| 
 | |
| 		    try{
 | |
| 
 | |
| 	 	        $ers = Db::name('informs')->where('informId='.$informId)->update($data);
 | |
| 
 | |
| 	 	        if($ers!==false){
 | |
| 
 | |
| 		 	        //发站内商家信息提醒
 | |
| 
 | |
| 					$shopId = $rs["shopId"];
 | |
| 
 | |
| 					$tpl = WSTMsgTemplates('SHOP_GOODS_INFORM');
 | |
| 
 | |
| 			        if( $tpl['tplContent']!='' && $tpl['status']=='1'){
 | |
| 
 | |
| 			        	$goodId = $rs['goodId'];
 | |
| 
 | |
| 			        	$goods = Db::name("goods")->where(["goodsId"=>$goodId])->field("goodsName")->find();
 | |
| 
 | |
| 			            $find = ['${GOODS}'];
 | |
| 
 | |
| 			            $replace = [$goods['goodsName']];
 | |
| 
 | |
| 			            
 | |
| 
 | |
| 			            $msg = array();
 | |
| 
 | |
| 			            $msg["shopId"] = $shopId;
 | |
| 
 | |
| 			            $msg["tplCode"] = $tpl["tplCode"];
 | |
| 
 | |
| 			            $msg["msgType"] = 1;
 | |
| 
 | |
| 			            $msg["content"] = str_replace($find,$replace,$tpl['tplContent']);
 | |
| 
 | |
| 			            $msg["msgJson"] = ['from'=>3,'dataId'=>$informId];
 | |
| 
 | |
| 			            model("common/MessageQueues")->add($msg);
 | |
| 
 | |
| 			        }
 | |
| 
 | |
| 
 | |
| 
 | |
| 					//发站内用户信息提醒
 | |
| 
 | |
| 		 	    	WSTSendMsg($rs['informTargetId'],"您举报的商品已有回复,请查看违规举报详情。",['from'=>3,'dataId'=>$informId]);                
 | |
| 
 | |
| 					Db::commit();
 | |
| 
 | |
| 					return WSTReturn('操作成功',1);
 | |
| 
 | |
| 	 	        }
 | |
| 
 | |
| 	 	    }catch(\Exception $e){
 | |
| 
 | |
| 	 	    	Db::rollback();errLog($e);
 | |
| 
 | |
| 	            return WSTReturn('操作失败',-1);
 | |
| 
 | |
| 	 	    }
 | |
| 
 | |
| 	 	}else{
 | |
| 
 | |
| 	 	    return WSTReturn('操作失败,该举报状态已发生改变,请刷新后重试!',-1);
 | |
| 
 | |
| 	 	}
 | |
| 
 | |
| 
 | |
| 
 | |
| 	 }
 | |
| 
 | |
| }
 | |
| 
 |