You've already forked qlg.tsgz.moe
							
							
		
			
				
	
	
		
			207 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			207 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
<?php
 | 
						|
 | 
						|
namespace wstmart\admin\model;
 | 
						|
 | 
						|
use think\Db;
 | 
						|
 | 
						|
/**
 | 
						|
 | 
						|
 * ============================================================================
 | 
						|
 | 
						|
 * 商城消息业务处理
 | 
						|
 | 
						|
 */
 | 
						|
 | 
						|
class Messages extends Base{
 | 
						|
 | 
						|
	/**
 | 
						|
 | 
						|
	 * 分页
 | 
						|
 | 
						|
	 */
 | 
						|
 | 
						|
	public function pageQuery(){
 | 
						|
 | 
						|
		$where = [];
 | 
						|
 | 
						|
		$where['m.dataFlag'] = 1;
 | 
						|
 | 
						|
		$msgType = (int)input('msgType');  
 | 
						|
 | 
						|
		if($msgType >= 0)$where['msgType'] = $msgType;
 | 
						|
 | 
						|
		$msgContent = input('msgContent');
 | 
						|
 | 
						|
		if(!empty($msgContent))$where['msgContent']=['like',"%$msgContent%"];
 | 
						|
 | 
						|
		$rs = $this->alias('m')
 | 
						|
 | 
						|
		->field('m.*,u.loginName,s.shopName,st.loginName stName')
 | 
						|
 | 
						|
		->join('__USERS__ u','m.receiveUserId=u.userId','left')
 | 
						|
 | 
						|
		->join('__SHOPS__ s','m.receiveUserId=s.shopId','left')
 | 
						|
 | 
						|
		->join('__STAFFS__ st','m.sendUserId=st.staffId','left')
 | 
						|
 | 
						|
		->order('id desc')
 | 
						|
 | 
						|
		->where($where)
 | 
						|
 | 
						|
		->paginate(input('limit/d'))->toArray();
 | 
						|
 | 
						|
	    foreach ($rs['Rows'] as $key => $v){
 | 
						|
 | 
						|
         	$rs['Rows'][$key]['msgContent'] = WSTMSubstr(strip_tags($v['msgContent']),0,140);
 | 
						|
 | 
						|
        }
 | 
						|
 | 
						|
		return $rs;
 | 
						|
 | 
						|
	}
 | 
						|
 | 
						|
	public function getById($id){
 | 
						|
 | 
						|
		return $this->get(['id'=>$id,'dataFlag'=>1]);
 | 
						|
 | 
						|
	}
 | 
						|
 | 
						|
	/**
 | 
						|
 | 
						|
	 * 新增
 | 
						|
 | 
						|
	 */
 | 
						|
 | 
						|
	public function add(){
 | 
						|
 | 
						|
		$data = input('post.');
 | 
						|
 | 
						|
		// 图片记录
 | 
						|
 | 
						|
		// $rule = '/src="\/(upload.*?)"/';
 | 
						|
 | 
						|
		// preg_match_all($rule,$data['msgContent'],$result);
 | 
						|
 | 
						|
		//  mark 20180608 by zl
 | 
						|
 | 
						|
		$rule = '/src=".*?\/(upload.*?)"/';
 | 
						|
 | 
						|
        preg_match_all($rule,htmlspecialchars_decode($data['msgContent']),$result);
 | 
						|
 | 
						|
        // 获取src数组
 | 
						|
 | 
						|
        $imgs = $result[1];
 | 
						|
 | 
						|
		$data['createTime'] = date('Y-m-d H:i:s');
 | 
						|
 | 
						|
		$data['sendUserId'] = session('WST_STAFF.staffId');
 | 
						|
 | 
						|
		//判断发送对象
 | 
						|
 | 
						|
		if($data['sendType']=='theUser'){
 | 
						|
 | 
						|
			$ids = explode(',',$data['htarget']);
 | 
						|
 | 
						|
		}
 | 
						|
 | 
						|
		elseif($data['sendType']=='shop'){
 | 
						|
 | 
						|
			//获取所有店铺的id
 | 
						|
 | 
						|
			$ids = model('Shops')->getAllShopId();
 | 
						|
 | 
						|
		}elseif($data['sendType']=='users'){
 | 
						|
 | 
						|
			//获取所有用户id
 | 
						|
 | 
						|
			$ids = model('users')->getAllUserId();
 | 
						|
 | 
						|
		}
 | 
						|
 | 
						|
		WSTUnset($data,'id,sendType,htarget');//删除多余字段
 | 
						|
 | 
						|
		$list = [];
 | 
						|
 | 
						|
		//去重
 | 
						|
 | 
						|
		array_unique($ids);
 | 
						|
 | 
						|
		foreach($ids as $v)
 | 
						|
 | 
						|
		{
 | 
						|
 | 
						|
			$data['receiveUserId'] = $v;
 | 
						|
 | 
						|
			$data['msgType'] = 0;//后台手工发送消息
 | 
						|
 | 
						|
			$list[] = $data;
 | 
						|
 | 
						|
		}
 | 
						|
 | 
						|
 | 
						|
 | 
						|
		Db::startTrans();
 | 
						|
 | 
						|
		try{
 | 
						|
 | 
						|
			$result = $this->allowField(true)->saveAll($list);
 | 
						|
 | 
						|
			$id = $result[0]['id'];//新增的第一条消息id
 | 
						|
 | 
						|
        	if(false !== $result){
 | 
						|
 | 
						|
        	    //启用上传图片
 | 
						|
 | 
						|
			    WSTUseImages(1, $id, $imgs);
 | 
						|
 | 
						|
        		Db::commit();
 | 
						|
 | 
						|
        	    return WSTReturn("新增成功", 1);
 | 
						|
 | 
						|
        	}
 | 
						|
 | 
						|
		}catch (\Exception $e) {
 | 
						|
 | 
						|
            Db::rollback();errLog($e);
 | 
						|
 | 
						|
        }
 | 
						|
 | 
						|
        return WSTReturn('新增失败',-1);
 | 
						|
 | 
						|
        
 | 
						|
 | 
						|
	}
 | 
						|
 | 
						|
	/**
 | 
						|
 | 
						|
	 * 删除
 | 
						|
 | 
						|
	 */
 | 
						|
 | 
						|
    public function del(){
 | 
						|
 | 
						|
	    $id = input('post.id/d');
 | 
						|
 | 
						|
		$data = [];
 | 
						|
 | 
						|
		$data['dataFlag'] = -1;
 | 
						|
 | 
						|
	    $result = $this->update($data,['id'=>$id]);
 | 
						|
 | 
						|
        if(false !== $result){
 | 
						|
 | 
						|
        	return WSTReturn("删除成功", 1);
 | 
						|
 | 
						|
        }else{
 | 
						|
 | 
						|
        	return WSTReturn($this->getError(),-1);
 | 
						|
 | 
						|
        }
 | 
						|
 | 
						|
	}
 | 
						|
 | 
						|
	
 | 
						|
 | 
						|
}
 | 
						|
 |