UserOperateService.java 3.92 KB
package com.sincere.haikangface.service;

import com.sincere.haikangface.bean.Result;
import com.sincere.haikangface.bean.face.AuthRecordDto;
import com.sincere.haikangface.bean.face.DeviceAuthRecord;
import com.sincere.haikangface.bean.face.SendFaceDto;
import org.springframework.web.multipart.MultipartFile;

/**
 * 用户操作业务接口
 * @author xuquan
 * @date 2020/12/10 17:25
 */

public interface UserOperateService {

    /**
     * 创建权限
     * @param recordDto
     * @return
     */
    boolean createHKAuth(AuthRecordDto recordDto);

    /**
     * 下发权限
     * @param authId
     * @return
     */
    Result sendHKAuth(Integer authId);

    /**
     * 权限ID删除权限下发记录
     * @param authId
     * @return
     */
    void deleteAuthRecord(Integer authId);

    /**
     * 获取权限
     * @param authId
     * @return
     */
    DeviceAuthRecord getAuthRecord(Integer authId);

    /**
     * 重新下发人脸
     * @param userId
     * @param deviceId
     * @param userType
     * @return
     */
    Result againSendFace(String userId,String deviceId,Integer userType);

    /**
     * 多线程照片下发
     * @param sendFaceDto
     * @return
     */
    Result sendUserFaceByThread(SendFaceDto sendFaceDto,Integer groupId);

    /**
     * 删除失败表人脸
     * @param schoolId
     * @return
     */
    Result deleteFailFace(Integer schoolId);

    /**
     * 下发失败表人脸
     * @param schoolId
     * @return
     */
    Result sendFailFace(Integer schoolId);

    Result sendFailFace2(Integer schoolId,String deviceIds);

    /**
     * 删除指定人脸
     * @param schoolId
     * @param cards
     * @param deviceIds
     * @return
     */
    Result deleteFace(Integer schoolId,String cards,String deviceIds);

    /**
     * 下发未下发完的人脸,仅供测试使用
     * @param schoolId
     * @param studentType
     * @param sex
     * @param deviceIds
     * @return
     */
    Result sendFaceForNoSend(Integer schoolId,Integer studentType,String sex,Integer userType,String deviceIds,Integer groupId);

    /**
     * 补发单个人脸至指定设备
     * @param file
     * @param schoolId
     * @param cardNum
     * @param userType
     * @param deviceIds
     * @return
     */
    Result againNoSendOneFace(MultipartFile file,Integer schoolId,String cardNum,Integer userType,String deviceIds);

    /**
     * 捷安成闸机导入
     * @param cardNums
     * @return
     */
    Result insertUpdateCard(String cardNums);

    /**
     * 压缩包上传下发人脸
     * @param schoolId
     * @param userType
     * @param deviceIds
     * @param faceSrcPath
     * @return
     */
    Result exportFace(Integer schoolId,Integer userType,String deviceIds,String faceSrcPath);

    /**
     * 按班级下发人脸
     * @param schoolId
     * @param classIds
     * @param deviceIds
     * @param isCheck
     * @return
     */
    Result sendFaceByClassId(Integer schoolId,String classIds,String deviceIds,Integer studentType,String sex,Integer isCheck);

    /**
     * 根据班级新生班级关键字下发
     * @param schoolId
     * @param deviceIds
     * @param keyword
     * @param studentType
     * @param sex
     * @param isCheck
     * @return
     */
    Result sendFaceByKeyword(Integer schoolId,String deviceIds,String keyword,Integer studentType,String sex,Integer isCheck);

    Result noSendByKeyword(Integer schoolId,String keyword,String deviceIds);

    /**
     * 根据寝室号下发人脸
     * @param schoolId
     * @param groupId
     * @param deviceIds
     * @return
     */
    Result sendFaceByRoomId(Integer schoolId,Integer groupId,String deviceIds);

    /**
     * 删除指定学校下的人脸
     * @param schoolId
     * @param deviceIds
     * @return
     */
    Result deleteFaceBySchoolId(Integer schoolId,String deviceIds);

    void checkFaceSend();

    Result replaceFaceByKeyword(Integer schoolId,String deviceIds,String keyword);
}