package jnpf.attendance.service; import jnpf.attendance.annotation.Machine; import jnpf.base.service.SuperService; import jnpf.entity.attendance.AttendanceMachineManage; import jnpf.enums.attendance.ActionEnum; import jnpf.enums.attendance.MachineEnum; import jnpf.model.attendance.vo.attendance.UserTenantVo; import jnpf.permission.model.user.PartUserInfoVo; import java.util.List; import java.util.Map; /** * 考勤机服务 * * @author yanwenfu * @create 2023-11-29 */ public interface AttenceMachineService extends SuperService { /** * 发送用户到设备 * @param userId 用户id * @param sn 设备号 * @param code 厂商编码 */ void sendUserToMachine(String code, String userId, String sn); /** * 发送用户到设备 * @param user 用户信息 * @param sn 设备号 * @param code 厂商编码 */ void sendUserToMachine(String code, PartUserInfoVo user, String sn); /** * 更新考勤机用户信息 * @param sn 设备号 * @param userId 用户id * @param userName 用户名称 */ void updateUserInfoByWebsocket(String sn, String userId, String userName); /** * 删除人员 * @param sn 设备号 * @param userId 用户id */ void deleteUser(String sn, String userId); /** * 批量删除人员 * @param sn 设备号 * @param userIds 用户ids */ void deleteUserList(String code, String sn, List userIds); /** * 更新用户信息 * @param params 参数 * @return java.util.Map */ Map updateUserInfoPhoto(Map params); /** * 修改图片 * 此方法用于执行图片的修改操作它可能涉及从一个源获取图片数据, * 应用一些转换或更新,并将修改后的图片保存回原始位置或新位置 * 具体的实现细节在这个方法内部,包括如何获取、修改和保存图片, * 依赖于进一步的代码实现 * * @return String 返回一个字符串,可能包含修改后的图片的路径、URL或状态信息 */ String changeImg(); /** * 考勤机打卡 * @param sn 设备号 * @param userId 用户id * @param tenantId 租户id * java.lang.String */ String machineClockIn(String sn, String userId, String tenantId, String clockInId) throws Exception; /** * 打卡/更新打卡 * @param sn 设备号 * @param userId 用户id * @param tenantId 租户id * @return boolean 是否成功 */ String clockIn(String sn, String userId, String tenantId); /** * 更新用户照片 * @param userId 用户id * @param photoUrl 照片 */ void updateKeMiPhoto(String userId, String photoUrl, String tenantId); /** * 科密考勤机打卡 * @param userTenant 用户租户信息 * @param devId 设备id * @param tenantId 租户id */ void KeMiClockIn(UserTenantVo userTenant, String devId, String tenantId); }