package com.ruoyi.zzb.zdcx.controller;

import com.alibaba.fastjson.JSONObject;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.zzb.common.bean.RspResult;
import com.ruoyi.zzb.zdcx.domain.Zdcx;
import com.ruoyi.zzb.zdcx.service.ZdcxService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

@Slf4j
@RestController
@RequestMapping("/api/zdcx")
public class ZdcxController {

    @Autowired
    private ZdcxService zdcxService;

    /**
     * 根据条件分页查询一/多条制度信息
     * @param reqBody
     * @return
     */
    @PostMapping("/query")
    public JSONObject query(@RequestBody JSONObject reqBody){
        if(null == reqBody.getInteger("queryFlag")){
            log.error("queryFlag参数为空");
            return RspResult.error("queryFlag参数为空");
        }
        try {
            return RspResult.success(zdcxService.getDataByPage(reqBody));
        } catch (Exception e){
            log.error("根据条件分页查询制度信息发生异常", e);
            return RspResult.error("根据条件分页查询制度信息发生异常 - " + e.getMessage());
        }
    }

    /**
     * 保存一条制度信息
     * @param
     * @return
     */
    @PostMapping("/save")
    public JSONObject save(@RequestBody Zdcx zdcx){
        // 获取当前登录用户信息
        SysUser user = SecurityUtils.getLoginUser().getUser();
        try {
            if(null != user){
                if(zdcxService.insertStandardInfo(zdcx, user)){
                    return RspResult.success(true);
                }
            }
            return RspResult.error("用户信息为空，制度规范信息无法保存");
        } catch (Exception e){
            log.error("【制度查询】制度规范信息保存失败", e);
            return RspResult.error("【制度查询】制度规范信息保存失败 - " + e.getMessage());
        }
    }


}
