package com.jeeplus.human.enrollment.enrollmentRegistration.controller;

import com.jeeplus.human.enrollment.enrollmentRegistration.domain.EnrollmentLanguageInfo;
import com.jeeplus.human.enrollment.enrollmentRegistration.domain.EnrollmentPerformanceInfo;
import com.jeeplus.human.enrollment.enrollmentRegistration.domain.EnrollmentSocietyInfo;
import com.jeeplus.human.enrollment.enrollmentRegistration.service.EnrollmentPerformanceInfoService;
import com.jeeplus.human.enrollment.enrollmentRegistration.service.EnrollmentSocietyInfoService;
import com.jeeplus.logging.annotation.ApiLog;
import com.jeeplus.logging.constant.enums.LogTypeEnum;
import io.swagger.annotations.Api;
import lombok.extern.slf4j.Slf4j;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;
import javax.validation.Valid;
import java.util.List;

@Slf4j
@RestController
@Api("工作业绩")
@RequestMapping(value = "/performanceInfo")
public class EnrollmentPerformanceInfoController {

    @Resource
    private EnrollmentPerformanceInfoService service;


    /**
     * 保存工作业绩
     * @return
     */
    @ApiLog(value = "保存工作业绩", type = LogTypeEnum.SAVE)
    @PostMapping("save")
    public ResponseEntity save(@Valid @RequestBody EnrollmentPerformanceInfo info) throws Exception {
        service.saveOrUpdateWorkInfo(info);
        return ResponseEntity.ok ("操作成功");
    }

    /**
     * 删除工作业绩
     * @return
     */
    @ApiLog(value = "删除工作业绩", type = LogTypeEnum.SAVE)
    @PostMapping("delete")
    public ResponseEntity<String> delete(@Valid @RequestBody EnrollmentPerformanceInfo info) throws Exception {
        service.removeById(info.getId());
        return ResponseEntity.ok ("操作成功");
    }

    /**
     * 工作业绩列表
     * @return
     */
    @ApiLog(value = "工作业绩列表", type = LogTypeEnum.SAVE)
    @GetMapping("list")
    public ResponseEntity<List<EnrollmentPerformanceInfo>> findList(EnrollmentPerformanceInfo info) throws Exception {
        List<EnrollmentPerformanceInfo> list = service.findByUserId(info.getUserId(),"5");
        return ResponseEntity.ok (list);
    }

    /**
     * 根据id查询工作业绩信息
     * @return
     */
    @ApiLog(value = "根据id查询工作业绩信息", type = LogTypeEnum.SAVE)
    @GetMapping("findById")
    public ResponseEntity<EnrollmentPerformanceInfo> findById(EnrollmentPerformanceInfo info) throws Exception {
        EnrollmentPerformanceInfo res = service.findById(info.getId());
        return ResponseEntity.ok (res);
    }


    /**
     * 工作业绩用户端列表
     * @return
     */
    @ApiLog(value = "工作业绩用户端列表", type = LogTypeEnum.SAVE)
    @GetMapping("findAuditList")
    public ResponseEntity<List<EnrollmentPerformanceInfo>> findAuditList(EnrollmentPerformanceInfo info) throws Exception {
        List<EnrollmentPerformanceInfo> list = service.findByUserId(info.getUserId(),"1");
        return ResponseEntity.ok (list);
    }
}
