package com.se.system.controller; import java.util.List; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.se.system.domain.vo.LicenseExtraParamVo; import com.se.system.domain.vo.NacosConfigVo; import com.se.system.service.NacosService; import com.se.system.service.inte.IAServerInfoService; import com.se.system.utils.CommonUtils; import org.springframework.web.bind.annotation.*; import com.se.common.log.annotation.Log; import com.se.common.log.enums.BusinessType; import com.se.common.security.annotation.RequiresPermissions; import com.se.system.domain.*; import com.se.system.service.inte.ISysSoftService; import com.se.common.core.web.controller.BaseController; import com.se.common.core.web.domain.AjaxResult; import com.se.common.core.utils.poi.ExcelUtil; import com.se.common.core.web.page.TableDataInfo; /** * 软件Controller * * @author se * @date 2024-11-22 */ @RestController @SuppressWarnings("ALL") @RequestMapping("/soft") public class SysSoftController extends BaseController { @Resource NacosService nacosService; @Resource private ISysSoftService sysSoftService; /** * 查询软件列表 */ @RequiresPermissions("system:soft:list") @GetMapping("/list") public TableDataInfo list(SysSoft sysSoft) { startPage(); List list = sysSoftService.selectSysSoftList(sysSoft); return getDataTable(list); } /** * 导出软件列表 */ @RequiresPermissions("system:soft:export") @Log(title = "软件", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(HttpServletResponse response, SysSoft sysSoft) { List list = sysSoftService.selectSysSoftList(sysSoft); ExcelUtil util = new ExcelUtil(SysSoft.class); util.exportExcel(response, list, "软件数据"); } /** * 获取软件详细信息 */ @RequiresPermissions("system:soft:query") @GetMapping(value = "/{softId}") public AjaxResult getInfo(@PathVariable("softId") Long softId) { return success(sysSoftService.selectSysSoftBySoftId(softId)); } /** * 新增软件 */ @RequiresPermissions("system:soft:add") @Log(title = "软件", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@RequestBody SysSoft sysSoft) { return toAjax(sysSoftService.insertSysSoft(sysSoft)); } /** * 修改软件 */ @RequiresPermissions("system:soft:edit") @Log(title = "软件", businessType = BusinessType.UPDATE) @PutMapping public AjaxResult edit(@RequestBody SysSoft sysSoft) { return toAjax(sysSoftService.updateSysSoft(sysSoft)); } /** * 删除软件 */ @RequiresPermissions("system:soft:remove") @Log(title = "软件", businessType = BusinessType.DELETE) @DeleteMapping("/{softIds}") public AjaxResult remove(@PathVariable Long[] softIds) { return toAjax(sysSoftService.deleteSysSoftBySoftIds(softIds)); } @Log(title = "软件-获取配置", businessType = BusinessType.OTHER) @RequiresPermissions("system:soft:query") @GetMapping(value = "getNacosConfig") public void getNacosConfig(String dataId, HttpServletRequest req, HttpServletResponse res) { try { nacosService.getNacosConfig(dataId, req, res); } catch (Exception e) { try { res.getWriter().print(e.getMessage()); } catch (Exception ex) { logger.error(ex.getMessage(), ex); } } } @Log(title = "软件-更新配置", businessType = BusinessType.UPDATE) @RequiresPermissions("system:soft:edit") @PostMapping(value = "updateNacosConfig") public void updateNacosConfig(@RequestBody NacosConfigVo vo, HttpServletRequest req, HttpServletResponse res) { try { nacosService.updateNacosConfig(vo, req, res); } catch (Exception e) { try { res.getWriter().print(e.getMessage()); } catch (Exception ex) { logger.error(ex.getMessage(), ex); } } } @GetMapping(value = "/getServerInfo") public AjaxResult getServerInfo() { LicenseExtraParamVo serverInfos = IAServerInfoService.getServer("").getServerInfos(); System.out.println("serverInfos = " + serverInfos); return success(serverInfos); } @GetMapping(value = "/getLicenseKey") public AjaxResult getLicenseKey() throws Exception { LicenseExtraParamVo serverInfos = IAServerInfoService.getServer("").getServerInfos(); String jsonString = serverInfos.toJsonString(); System.out.println("原始数据 = " + jsonString); String encryptedJson = CommonUtils.encrypt(jsonString); System.out.println("加密数据 = " + serverInfos); return success(encryptedJson); } }