package com.ruoyi.other.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.ruoyi.chargingPile.api.feignClient.SiteClient;
import com.ruoyi.chargingPile.api.model.Site;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.other.api.domain.TRoleSite;
import com.ruoyi.other.service.TRoleSiteService;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
import java.util.stream.Collectors;
/**
*
* 前端控制器
*
*
* @author 无关风月
* @since 2024-08-06
*/
@RestController
@RequestMapping("/t-role-site")
public class TRoleSiteController {
@Resource
private TRoleSiteService roleSiteService;
@Resource
private SiteClient siteClient;
/**
* 查询角色站点数据
* @param roleId
* @return
*/
@ResponseBody
@PostMapping("/getSiteIds/{roleId}")
public R> getSiteIds(@PathVariable Long roleId){
List list = roleSiteService.list(new LambdaQueryWrapper().eq(TRoleSite::getRoleId, roleId));
if(list.size() == 1){
Integer siteId = list.get(0).getSiteId();
if(0 == siteId){
List data = siteClient.getSiteAll().getData();
List collect = data.stream().map(Site::getId).collect(Collectors.toList());
return R.ok(collect);
}
}
List collect = list.stream().map(TRoleSite::getSiteId).collect(Collectors.toList());
return R.ok(collect);
}
/**
* 添加角色站点数据
* @param roleSites
* @return
*/
@ResponseBody
@PostMapping("/addRoleSite")
public R addRoleSite(@RequestBody List roleSites){
roleSiteService.saveBatch(roleSites);
return R.ok();
}
/**
* 删除角色站点数据
* @param roleId
* @return
*/
@ResponseBody
@DeleteMapping("/delRoleSite/{roleId}")
public R delRoleSite(@PathVariable("roleId") Long roleId){
roleSiteService.remove(new LambdaQueryWrapper().eq(TRoleSite::getRoleId, roleId));
return R.ok();
}
}