ConfigGroupController.java 2.05 KB
package cn.fw.dalaran.server.controller.web;

import cn.fw.common.web.auth.LoginAuthBean;
import cn.fw.common.web.auth.annotation.CurrentUser;
import cn.fw.dalaran.domain.vo.ConfigGroupVo;
import cn.fw.dalaran.service.data.ConfigGroupService;
import cn.fw.data.base.domain.common.Message;
import cn.fw.security.auth.client.annotation.Authorization;
import cn.fw.security.auth.client.annotation.IgnoreAuth;
import cn.fw.security.auth.client.enums.AuthType;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;

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

import static cn.fw.common.web.util.ResultBuilder.success;

/**
 * @author wmy3969
 * @date 2022-4-28 14:41:47
 * @description 配置组控制器
 */
@Slf4j
@Validated
@RestController
@RequiredArgsConstructor
@Authorization(AuthType.ERP)
@RequestMapping("/config/group")
@IgnoreAuth
public class ConfigGroupController {

    private final ConfigGroupService configGroupService;

    /**
     * 初始化一个配置组
     *
     * @param user 登录用户
     * @return 操作结果
     */
    @GetMapping("/init")
    public Message<ConfigGroupVo> init(@CurrentUser LoginAuthBean user) {
        return success(configGroupService.init(user.getUserId(), user.getGroupId()));
    }

    /**
     * 修改配置
     *
     * @param user  登录用户
     * @param param 新的配置参数
     * @return 操作结果
     */
    @PostMapping("/update")
    public Message<Boolean> saveOrUpdate(@CurrentUser LoginAuthBean user, @RequestBody @Valid ConfigGroupVo param) {
        return success(configGroupService.update(user.getUserId(), param));
    }

    /**
     * 查询配置组列表
     *
     * @param user 当前登录用户信息
     * @return 符合条件的配置列表
     */
    @GetMapping("/list")
    public Message<List<ConfigGroupVo>> list(@CurrentUser LoginAuthBean user) {
        return success(configGroupService.queryList(user.getUserId(), user.getGroupId()));
    }

}