package com.ym.mec.web.controller;

import com.ym.mec.auth.api.client.SysUserFeignService;
import com.ym.mec.biz.dal.dao.EmployeeDao;
import com.ym.mec.biz.dal.entity.VipGroupCategory;
import com.ym.mec.biz.service.VipGroupCategoryService;
import com.ym.mec.common.controller.BaseController;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.Date;

@Api(tags = "vip课类别")
@RequestMapping("vipGroupCategory")
@RestController
public class VipGroupCategoryController extends BaseController {

	@Autowired
	private VipGroupCategoryService vipGroupCategoryService;
	@Autowired
	private SysUserFeignService sysUserFeignService;
	@Autowired
	private EmployeeDao employeeDao;

	@ApiOperation("单查询")
	@GetMapping(value = "/query")
    @PreAuthorize("@pcs.hasPermissions('vipGroupCategory/query')")
	public Object query(int id) {
		return succeed(vipGroupCategoryService.get(id));
	}

	@ApiOperation("全查询")
	@GetMapping(value = "/queryAll")
    @PreAuthorize("@pcs.hasPermissions('vipGroupCategory/queryAll')")
	public Object queryAll(String organId) {
		return succeed(vipGroupCategoryService.findAllByOrgan(organId));
	}

	@ApiOperation("获取教师课酬")
	@PostMapping(value = "/findTeacherDefaultSalary")
	@PreAuthorize("@pcs.hasPermissions('vipGroupCategory/findTeacherDefaultSalary')")
	public Object findTeacherDefaultSalary(Integer userId) {
		return succeed(vipGroupCategoryService.findTeacherSalary(userId));
	}


	@ApiOperation("新增")
	@PostMapping(value = "/add")
    @PreAuthorize("@pcs.hasPermissions('vipGroupCategory/add')")
	public Object add(VipGroupCategory vipGroupCategory) {
		Date date = new Date();
		vipGroupCategory.setCreateTime(date);
		vipGroupCategory.setUpdateTime(date);
		vipGroupCategory.setDelFlag("0");
		vipGroupCategoryService.insert(vipGroupCategory);
		return succeed();
	}

	@ApiOperation("修改")
	@PostMapping(value = "/update")
    @PreAuthorize("@pcs.hasPermissions('vipGroupCategory/update')")
	public Object update(VipGroupCategory vipGroupCategory) {
		Date date = new Date();
		vipGroupCategory.setUpdateTime(date);
		vipGroupCategoryService.update(vipGroupCategory);
		return succeed();
	}

	@ApiOperation("删除")
	@PostMapping(value = "/delete")
    @PreAuthorize("@pcs.hasPermissions('vipGroupCategory/delete')")
	public Object delete(int id) {
		VipGroupCategory vipGroupCategory = vipGroupCategoryService.get(id);
		Date date = new Date();
		vipGroupCategory.setUpdateTime(date);
		vipGroupCategory.setDelFlag("1");
		vipGroupCategoryService.update(vipGroupCategory);
		return succeed();
	}

}
