package com.vincent.rsf.server.system.controller;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.vincent.rsf.framework.common.Cools;
|
import com.vincent.rsf.framework.common.R;
|
import com.vincent.rsf.framework.common.SnowflakeIdWorker;
|
import com.vincent.rsf.server.common.annotation.OperationLog;
|
import com.vincent.rsf.server.common.domain.BaseParam;
|
import com.vincent.rsf.server.common.domain.PageParam;
|
import com.vincent.rsf.server.common.utils.ExcelUtil;
|
import com.vincent.rsf.server.system.entity.AiDiagnosticToolConfig;
|
import com.vincent.rsf.server.system.service.AiDiagnosticToolConfigService;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.security.access.prepost.PreAuthorize;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.servlet.http.HttpServletResponse;
|
import java.util.Arrays;
|
import java.util.Date;
|
import java.util.List;
|
import java.util.Map;
|
|
@RestController
|
public class AiDiagnosticToolConfigController extends BaseController {
|
|
@Autowired
|
private AiDiagnosticToolConfigService aiDiagnosticToolConfigService;
|
@Autowired
|
private SnowflakeIdWorker snowflakeIdWorker;
|
|
@PreAuthorize("hasAuthority('system:aiToolConfig:list')")
|
@PostMapping("/aiToolConfig/page")
|
public R page(@RequestBody Map<String, Object> map) {
|
BaseParam baseParam = buildParam(map, BaseParam.class);
|
PageParam<AiDiagnosticToolConfig, BaseParam> pageParam = new PageParam<>(baseParam, AiDiagnosticToolConfig.class);
|
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper<AiDiagnosticToolConfig> wrapper = pageParam.buildWrapper(true);
|
wrapper.eq("tenant_id", getTenantId());
|
return R.ok().add(aiDiagnosticToolConfigService.page(pageParam, wrapper));
|
}
|
|
@PreAuthorize("hasAuthority('system:aiToolConfig:list')")
|
@GetMapping("/aiToolConfig/{id}")
|
public R get(@PathVariable("id") Long id) {
|
AiDiagnosticToolConfig config = aiDiagnosticToolConfigService.getTenantConfig(getTenantId(), id);
|
if (config == null) {
|
return R.error("config not found");
|
}
|
return R.ok().add(config);
|
}
|
|
@PreAuthorize("hasAuthority('system:aiToolConfig:save')")
|
@OperationLog("Create AiDiagnosticToolConfig")
|
@PostMapping("/aiToolConfig/save")
|
public R save(@RequestBody AiDiagnosticToolConfig config) {
|
if (Cools.isEmpty(config.getSceneCode()) || Cools.isEmpty(config.getToolCode())) {
|
return R.error("场景编码和工具编码不能为空");
|
}
|
Date now = new Date();
|
config.setUuid(String.valueOf(snowflakeIdWorker.nextId()).substring(3));
|
config.setTenantId(getTenantId());
|
config.setCreateBy(getLoginUserId());
|
config.setCreateTime(now);
|
config.setUpdateBy(getLoginUserId());
|
config.setUpdateTime(now);
|
if (config.getEnabledFlag() == null) {
|
config.setEnabledFlag(1);
|
}
|
if (config.getPriority() == null) {
|
config.setPriority(1);
|
}
|
if (config.getStatus() == null) {
|
config.setStatus(1);
|
}
|
if (!aiDiagnosticToolConfigService.save(config)) {
|
return R.error("Save Fail");
|
}
|
return R.ok("Save Success").add(config);
|
}
|
|
@PreAuthorize("hasAuthority('system:aiToolConfig:update')")
|
@OperationLog("Update AiDiagnosticToolConfig")
|
@PostMapping("/aiToolConfig/update")
|
public R update(@RequestBody AiDiagnosticToolConfig config) {
|
AiDiagnosticToolConfig existed = aiDiagnosticToolConfigService.getTenantConfig(getTenantId(), config.getId());
|
if (existed == null) {
|
return R.error("config not found");
|
}
|
config.setTenantId(getTenantId());
|
config.setUpdateBy(getLoginUserId());
|
config.setUpdateTime(new Date());
|
config.setCreateBy(existed.getCreateBy());
|
config.setCreateTime(existed.getCreateTime());
|
if (config.getEnabledFlag() == null) {
|
config.setEnabledFlag(existed.getEnabledFlag());
|
}
|
if (config.getPriority() == null) {
|
config.setPriority(existed.getPriority());
|
}
|
if (config.getStatus() == null) {
|
config.setStatus(existed.getStatus());
|
}
|
if (!aiDiagnosticToolConfigService.updateById(config)) {
|
return R.error("Update Fail");
|
}
|
return R.ok("Update Success").add(config);
|
}
|
|
@PreAuthorize("hasAuthority('system:aiToolConfig:remove')")
|
@OperationLog("Delete AiDiagnosticToolConfig")
|
@PostMapping("/aiToolConfig/remove/{ids}")
|
public R remove(@PathVariable Long[] ids) {
|
List<Long> idList = Arrays.asList(ids);
|
List<AiDiagnosticToolConfig> configs = aiDiagnosticToolConfigService.list(new LambdaQueryWrapper<AiDiagnosticToolConfig>()
|
.eq(AiDiagnosticToolConfig::getTenantId, getTenantId())
|
.in(AiDiagnosticToolConfig::getId, idList));
|
if (configs.size() != idList.size() || !aiDiagnosticToolConfigService.removeByIds(idList)) {
|
return R.error("Delete Fail");
|
}
|
return R.ok("Delete Success").add(ids);
|
}
|
|
@PreAuthorize("hasAuthority('system:aiToolConfig:list')")
|
@PostMapping("/aiToolConfig/export")
|
public void export(@RequestBody Map<String, Object> map, HttpServletResponse response) throws Exception {
|
ExcelUtil.build(ExcelUtil.create(aiDiagnosticToolConfigService.list(new LambdaQueryWrapper<AiDiagnosticToolConfig>()
|
.eq(AiDiagnosticToolConfig::getTenantId, getTenantId())), AiDiagnosticToolConfig.class), response);
|
}
|
|
@PreAuthorize("hasAuthority('system:aiToolConfig:list')")
|
@GetMapping("/ai/tool-config/list")
|
public R customList(@RequestParam(required = false) String sceneCode) {
|
LambdaQueryWrapper<AiDiagnosticToolConfig> wrapper = new LambdaQueryWrapper<AiDiagnosticToolConfig>()
|
.eq(AiDiagnosticToolConfig::getTenantId, getTenantId())
|
.orderByAsc(AiDiagnosticToolConfig::getSceneCode, AiDiagnosticToolConfig::getPriority, AiDiagnosticToolConfig::getId);
|
if (!Cools.isEmpty(sceneCode)) {
|
wrapper.eq(AiDiagnosticToolConfig::getSceneCode, sceneCode);
|
}
|
return R.ok().add(aiDiagnosticToolConfigService.list(wrapper));
|
}
|
|
@PreAuthorize("hasAnyAuthority('system:aiToolConfig:save','system:aiToolConfig:update')")
|
@PostMapping("/ai/tool-config/save")
|
public R customSave(@RequestBody AiDiagnosticToolConfig config) {
|
if (config.getId() == null) {
|
if (!hasAuthority("system:aiToolConfig:save")) {
|
return R.error("无新增权限");
|
}
|
return save(config);
|
}
|
if (!hasAuthority("system:aiToolConfig:update")) {
|
return R.error("无更新权限");
|
}
|
return update(config);
|
}
|
}
|