package com.diagbot.web;


import com.diagbot.annotation.SysLogger;
import com.diagbot.dto.RespDTO;
import com.diagbot.dto.SysUserPagesetDTO;
import com.diagbot.facade.SysUserPagesetFacade;
import com.diagbot.vo.SysUserPagesetQueryVO;
import com.diagbot.vo.SysUserPagesetSaveVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

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

/**
 * <p>
 * 用户页面设定表 前端控制器
 * </p>
 *
 * @author gaodm
 * @since 2020-06-12
 */
@RestController
@Api(value = "用户页面设置API", tags = { "用户页面设置API" })
@RequestMapping("/sys/user/pageset")
@SuppressWarnings("unchecked")
public class SysUserPagesetController {

    @Autowired
    private SysUserPagesetFacade sysUserPagesetFacade;

    @ApiOperation(value = "获取用户对应页面设置[by:gaodm]",
            notes = "pageType：页面分组，必填<br>")
    @PostMapping("/getPageSet")
    @SysLogger("getPageSet")
    public RespDTO<List<SysUserPagesetDTO>> getPageSet(@RequestBody @Valid SysUserPagesetQueryVO sysUserPagesetQueryVO) {
        return RespDTO.onSuc(sysUserPagesetFacade.getPageSet(sysUserPagesetQueryVO));
    }


    @ApiOperation(value = "保存用户对应页面设置[by:gaodm]",
            notes = "pageType：页面分组，必填<br>" +
                    "name： 列名，必填<br>" +
                    "val： 列名值，必填<br>" +
                    "status：  是否启用(0:停用，1：启用)，必填<br>" +
                    "orderNo： 排序号，必填<br>")
    @PostMapping("/savePageSet")
    @SysLogger("savePageSet")
    public RespDTO<Boolean> savePageSet(@RequestBody @Valid SysUserPagesetSaveVO sysUserPagesetSaveVO) {
        return RespDTO.onSuc(sysUserPagesetFacade.savePageSet(sysUserPagesetSaveVO));
    }

    @ApiOperation(value = "获取默认列设置[by:zhaops]",
            notes = "pageType：页面分组，必填<br>")
    @PostMapping("/getDefaultPageSet")
    @SysLogger("getDefaultPageSet")
    public RespDTO<List<SysUserPagesetDTO>> getDefaultPageSet(@RequestBody @Valid SysUserPagesetQueryVO sysUserPagesetQueryVO) {
        return RespDTO.onSuc(sysUserPagesetFacade.getDefaultPageSet(sysUserPagesetQueryVO));
    }
}
