108 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			PHP
		
	
	
			
		
		
	
	
			108 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			PHP
		
	
	
| <?php
 | |
| 
 | |
| namespace app\traits\account;
 | |
| 
 | |
| use app\model\Account;
 | |
| use app\model\ApplyStaff;
 | |
| 
 | |
| trait ApplyStaffTrait
 | |
| {
 | |
|     /**
 | |
|      * 获取申请员工记录
 | |
|      * @param $userCode
 | |
|      * @return ApplyStaff|array|\think\Model|null
 | |
|      * @throws \think\db\exception\DataNotFoundException
 | |
|      * @throws \think\db\exception\DbException
 | |
|      * @throws \think\db\exception\ModelNotFoundException
 | |
|      */
 | |
|     public function getApplyStaffByUserCode($userCode)
 | |
|     {
 | |
|         return ApplyStaff::with(["business","account"])->where("user_code",$userCode)->find();
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * 获取指定商家申请员工记录
 | |
|      * @param $userCode
 | |
|      * @return ApplyStaff|array|\think\Model|null
 | |
|      * @throws \think\db\exception\DataNotFoundException
 | |
|      * @throws \think\db\exception\DbException
 | |
|      * @throws \think\db\exception\ModelNotFoundException
 | |
|      */
 | |
|     public function getApplyStaffByUserCodeAndBusinessCode($userCode,$businessCode)
 | |
|     {
 | |
|         return ApplyStaff::with(["business","account"])->where("user_code",$userCode)->where("business_code",$businessCode)->find();
 | |
|     }
 | |
| 
 | |
| 
 | |
|     /**
 | |
|      * 创建一个加入员工申请
 | |
|      * @param $userCode
 | |
|      * @param $businessCode
 | |
|      */
 | |
|     public function createApplyStaff($userCode,$businessCode)
 | |
|     {
 | |
|         $data = [
 | |
|             "user_code"=>$userCode,
 | |
|             "business_code"=>$businessCode,
 | |
|             "status"=>ApplyStaff::status_default,
 | |
|             "create_time"=>date("Y-m-d H:i:s"),
 | |
|         ];
 | |
|         ApplyStaff::create($data);
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * 获取商家的员工列表
 | |
|      * @param $businessCode
 | |
|      * @param $mainCode
 | |
|      * @return Account
 | |
|      */
 | |
|     public function getStaffListByBusinessCode($businessCode,$mainCode,$keyword)
 | |
|     {
 | |
|         $where = [
 | |
|             ["type","=",Account::type_staff],
 | |
|             ["main_code","=",$mainCode],
 | |
|             ["business_code","=",$businessCode],
 | |
|         ];
 | |
|         if(!empty($keyword)){
 | |
|             $where [] = ["nick_name","like","%{$keyword}%"] ;
 | |
|         }
 | |
|         $field = [
 | |
|             "nick_name as nickName",
 | |
|             "avatar_url as avatarUrl",
 | |
|             "gender",
 | |
|             "user_code",
 | |
|         ];
 | |
|         return Account::where($where)->field($field)->select()->toArray();
 | |
|     }
 | |
|     /**
 | |
|      * 获取商家的员工申请列表
 | |
|      * @param $businessCode
 | |
|      * @param $mainCode
 | |
|      * @return Account
 | |
|      */
 | |
|     public function getApplyStaffListByBusinessCode($businessCode,$keyword)
 | |
|     {
 | |
|         $where = [
 | |
|             ["a.business_code","=",$businessCode],
 | |
|             ["a.status","=",ApplyStaff::status_default],
 | |
|         ];
 | |
| 
 | |
|         if(!empty($keyword)){
 | |
|             $where[] = ["b.nick_name","like","%{$keyword}%"] ;
 | |
|         }
 | |
|         $field = [
 | |
|             "b.nick_name as nickName",
 | |
|             "b.avatar_url as avatarUrl",
 | |
|             "b.gender",
 | |
|             "b.user_code",
 | |
|             "a.create_time",
 | |
|         ];
 | |
|         return ApplyStaff::alias("a")
 | |
|             ->join("account b","a.user_code = b.user_code")
 | |
|             ->where($where)
 | |
|             ->field($field)
 | |
|             ->select()
 | |
|             ->toArray();
 | |
|     }
 | |
| }
 |