package com.muzhi.dingtalk.test.controller;


import com.muzhi.dingtalk.test.entity.Department;
import com.muzhi.dingtalk.test.entity.Employee;
import com.muzhi.dingtalk.test.exceptionhander.R;
import com.muzhi.dingtalk.test.service.TongbuService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@Api(description = "同步数据至数据库")
@RestController
@RequestMapping("/tongbuservice/tongbu")
@CrossOrigin//解决跨域问题
public class TongbuController {

    @Autowired
    private TongbuService tongbuService;

    //查询数据库中employee表的所有数据
    @ApiOperation(value = "查询数据库中employee表的所有数据")
    @GetMapping("getEmployee")
    public List<Employee> getEmployee(){
        List<Employee> employee = tongbuService.getEmployee();
        return employee;
    }

    //删除employee表中的所有数据
    @ApiOperation(value = "删除employee表中的所有数据")
    @PostMapping("removeEmployee")
    public R removeEmployee(){
        String result = tongbuService.removeEmployee();
        return R.ok().data("result", result);
    }

    //同步花名册数据至数据库
    @ApiOperation(value = "同步花名册数据至数据库")
    @PostMapping("addHuamingce")
//    @Scheduled(cron = "0 1 15 * * ?")//每天下午15：01触发（也就是下午3点触发）
//    @Scheduled(cron = "0 0 0 * * ?")//每天00：00触发（也就是凌晨0点整触发）
    public R addHuamingce(){
        //先删除清空employee表中的所有数据
        tongbuService.removeEmployee();

        //再执行插入花名册数据库表的接口
        String result = tongbuService.addHuamingce();
        return R.ok().data("result", result);
    }

    //删除department表中的所有数据
    @ApiOperation(value = "同步部门列表数据至数据库")
    @PostMapping("removeDepartment")
    public R removeDepartment(){
        String result = tongbuService.removeDepartment();
        return R.ok().data("result", result);
    }

    //同步部门数据至数据库
    @ApiOperation(value = "删除department表中的所有数据")
    @PostMapping("addDepartment")
//    @Scheduled(cron = "0 1 15 * * ?")//每天下午15：01触发（也就是下午3点触发）
//    @Scheduled(cron = "0 0 0 * * ?")//每天00：00触发（也就是凌晨0点整触发）
    public R addDepartment(){
        //先删除清空department表中的所有数据
        tongbuService.removeDepartment();

        //再执行插入部门数据库表的接口
        String result = tongbuService.addDepartment();
        return R.ok().data("result", result);
    }

    //删除user表中的所有数据
    @ApiOperation(value = "删除user表中的所有数据")
    @PostMapping("removeUser")
    public R removeUser(){
        String result = tongbuService.removeUser();
        return R.ok().data("result", result);
    }

    //同步用户通讯录数据至数据库
    @ApiOperation(value = "同步用户通讯录数据至数据库")
    @PostMapping("addUser")
//    @Scheduled(cron = "0 1 15 * * ?")//每天下午15：01触发（也就是下午3点触发）
//    @Scheduled(cron = "0 0 0 * * ?")//每天00：00触发（也就是凌晨0点整触发）
    public R addUser(){
        //先删除清空user表中的所有数据
        tongbuService.removeUser();

        //再执行插入用户通讯录数据库表的接口
        String result = tongbuService.addUser();
        return R.ok().data("result", result);
    }
}
