package com.hotent.uc.manager;

import com.fasterxml.jackson.databind.JsonNode;
import com.hotent.base.manager.BaseManager;
import com.hotent.base.model.CommonResult;
import com.hotent.uc.model.ScanLogin;
import com.hotent.uc.model.User;

import java.util.List;
import java.util.Optional;

/**
 * 用户与外部通讯录关系表 服务类
 *
 * @company 广州宏天软件股份有限公司
 * @author pangquan
 * @since 2020-10-30
 */
public interface ScanLoginManager extends BaseManager<ScanLogin> {
    /**生成扫码二维码
     * @description
     * @author  yangzibin
     * @date    2023/12/26 14:02
     * @param	type
     * @return  com.hotent.uc.model.ScanLogin
     */
    ScanLogin productScanLogin(String  type);
    /**钉钉code换取钉钉用户
     * @description
     * @author  yangzibin
     * @date    2023/12/26 14:02
     * @param	code
     * @return  com.hotent.uc.model.User
     */
    User getDingUserInfo(String code);

    /**更新扫码登录记录表
     * @description
     * @author  yangzibin
     * @date    2023/12/26 14:32
     * @param	userId
     * @param	scanId
     * @return  void
     */
    void  updateScanLoginInfo(String scanId,String userId);


    User  queryScanLoginInfo(String scanId);
    /**
     * @description  查询扫码结果
     * @author  yangzibin
     * @date    2024/1/22 9:52
     * @param	scanId
     * @return  com.hotent.base.model.CommonResult<?>
     */
    CommonResult<?> queryScanIng(String scanId);


    /**
     * @description  更新扫码结果
     * @author  yangzibin
     * @date    2024/1/22 9:52
     * @param	scanId
     * @return  com.hotent.base.model.CommonResult<?>
     */
    CommonResult<?> putScanResult(String scanId);

}
