package com.css.simulation.resource.server.app.service;


import api.common.pojo.po.scene.SystemUserScenePO;
import api.common.util.TimeUtil;
import com.css.simulation.resource.server.infra.util.AuthUtil;
import com.css.simulation.resource.server.infra.db.mysql.mapper.SystemUserSceneMapper;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;

@Slf4j
@Service
public class SystemUserSceneService {

    @Resource
    private SystemUserSceneMapper systemUserSceneMapper;

    /**
     * 人员场景关联表数据录入
     */
    @SneakyThrows
    public void saveSystemUserScene(List<SystemUserScenePO> list) {
        for (SystemUserScenePO po:list) {
            po.setUserId(AuthUtil.getCurrentUserId());
            po.setIsDeleted("0");
            po.setCreateUserId(AuthUtil.getCurrentUserId());
            po.setCreateTime(TimeUtil.getNowForMysql());
            po.setModifyTime(TimeUtil.getNowForMysql());
        }
        systemUserSceneMapper.saveSystemUserScene(list);
    }

    //场景列表展示时使用
    @SneakyThrows
    public  List<String> querySystemUserSceneByUserId() {
        SystemUserScenePO po=new SystemUserScenePO();
        po.setUserId(AuthUtil.getCurrentUserId());
        return systemUserSceneMapper.querySystemUserSceneByUserId(po);
    }

    @SneakyThrows
    public List<SystemUserScenePO> querySystemUserScene(SystemUserScenePO po) {
        po.setUserId(AuthUtil.getCurrentUserId());
       return systemUserSceneMapper.querySystemUserScene(po);
    }

    //场景删除时关联删除关系表
    @SneakyThrows
    public void deleteSystemUserScene(SystemUserScenePO po) {
        po.setIsDeleted("1");
        po.setModifyTime(TimeUtil.getNowForMysql());
        po.setModifyUserId(AuthUtil.getCurrentUserId());
        systemUserSceneMapper.deleteSystemUserScene(po);
    }
}
