package jnpf.attendance;

import jnpf.attendance.dto.GroupUpdateByUserDTO;
import jnpf.attendance.fallback.AttendanceUserApiFallback;
import jnpf.base.ActionResult;
import jnpf.util.NoDataSourceBind;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;

/**
 * describe
 *
 * @author HuangLinPan
 * @date 2023/11/27
 */

@FeignClient(name = "jnpf-ftb", fallbackFactory = AttendanceUserApiFallback.class, path = "/user")
public interface AttendanceUserApi {
    /**
     * 花名册考勤组变更
     *
     * @param groupUpdateByUserDTO
     * @return
     */
    @PostMapping("groupUpdateByPersonnel")
    ActionResult groupUpdateByPersonnel(@RequestBody GroupUpdateByUserDTO groupUpdateByUserDTO);

    /**
     * 借调考勤组变动通知
     * @param tenantId
     * @return
     */
    @NoDataSourceBind
    @GetMapping(value = "/userGroupUpdateBySecondNotice")
    ActionResult<Boolean> userGroupUpdateBySecondNotice(@RequestParam(value = "tenantId") String tenantId);
}
