96 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			PHP
		
	
	
	
			
		
		
	
	
			96 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			PHP
		
	
	
	
| <?php
 | |
| namespace app\model;
 | |
| use think\Model;
 | |
| 
 | |
| class Sign extends Model
 | |
| {
 | |
|     protected $name = 'sign';
 | |
|     const SIGN_STATUS_DEFAULT = 0;
 | |
|     const SIGN_STATUS_SUCCESS = 1;
 | |
|     const SIGN_STATUS_RELEASE = 2;
 | |
|     public static function getSignSuccessUser()
 | |
|     {
 | |
|         return self::where(['sign_status' => self::SIGN_STATUS_SUCCESS])->select();
 | |
|     }
 | |
|     public static function getByOpenId(string $openId)
 | |
|     {
 | |
|         return self::where(['open_id' => $openId, 'sign_status' => 0])->findOrEmpty();
 | |
|     }
 | |
|     public static function getByUserId(int $userId)
 | |
|     {
 | |
|         return self::where(['user_id' => $userId])->findOrEmpty();
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * 查询最近一年该用户是否有签约
 | |
|      * @param int $userId
 | |
|      * @return Sign|array|mixed|Model
 | |
|      */
 | |
|     public static function getSignLastYear(int $userId)
 | |
|     {
 | |
|         return self::whereTime('create_time', '-1 year')->where(['user_id' => $userId, 'sign_status' => Sign::SIGN_STATUS_SUCCESS])->findOrEmpty();
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * 查询最近一年该用户是否有解约
 | |
|      * @param int $userId
 | |
|      * @return Sign|array|mixed|Model
 | |
|      */
 | |
| 
 | |
|     public static function getReleaseLastYear(int $userId)
 | |
|     {
 | |
|         return self::whereTime('create_time', '-1 year')->where(['user_id' => $userId, 'sign_status' => Sign::SIGN_STATUS_RELEASE])->findOrEmpty();
 | |
| 
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * 根据流水号查询数据
 | |
|      * @param string $requestSerial
 | |
|      * @return Sign|array|mixed|Model
 | |
|      */
 | |
|     public static function getByRequestSerial(string $requestSerial)
 | |
|     {
 | |
|         return self::where(['request_serial' => $requestSerial])->findOrEmpty();
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * 根据商户协议号获取数据
 | |
|      * @param string $agreementId
 | |
|      * @return Sign|array|mixed|Model
 | |
|      */
 | |
|     public static function getByAgreementId(string $agreementId)
 | |
|     {
 | |
|         return self::where(['m_agreement_id' => $agreementId])->findOrEmpty();
 | |
| 
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * 查询正在订阅的用户
 | |
|      * @param int $userId
 | |
|      * @return Sign|array|mixed|Model
 | |
|      */
 | |
|     public static function getSubscribeByUserId(int $userId)
 | |
|     {
 | |
|         return self::where(['user_id' => $userId, 'sign_status' => Sign::SIGN_STATUS_SUCCESS])->findOrEmpty();
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * 查询该用户正在签约的信息
 | |
|      * @param int $userId
 | |
|      * @return Sign|array|mixed|Model
 | |
|      */
 | |
|     public static function getWaitSignByUserId(int $userId)
 | |
|     {
 | |
|         return self::where(['user_id' => $userId, 'sign_status' => Sign::SIGN_STATUS_DEFAULT])->findOrEmpty();
 | |
|     }
 | |
|     /**
 | |
|      * 查询最近一年该用户是否有签约
 | |
|      * @param int $userId
 | |
|      * @return Sign|array|mixed|Model
 | |
|      */
 | |
|     public static function getSignLastYearByMobile(int $mobile)
 | |
|     {
 | |
|         return self::whereTime('create_time', '-1 year')->where(['mobile' => $mobile, 'sign_status' => Sign::SIGN_STATUS_SUCCESS])->findOrEmpty();
 | |
|     }
 | |
| 
 | |
| } |