1
13693261870
2024-12-30 fbca82f5994ec49092fb05bc236f0956fecd387c
1
已添加1个文件
已修改2个文件
134 ■■■■ 文件已修改
se-modules/se-system/src/main/java/com/se/system/controller/SysSoftController.java 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
se-modules/se-system/src/main/java/com/se/system/service/NacosService.java 85 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
se-modules/se-system/src/main/java/com/se/system/utils/CaffeineUtils.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
se-modules/se-system/src/main/java/com/se/system/controller/SysSoftController.java
@@ -1,8 +1,12 @@
package com.se.system.controller;
import java.util.List;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
import com.se.system.service.NacosService;
import org.omg.CORBA.ServerRequest;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
@@ -28,10 +32,13 @@
 * @date 2024-11-22
 */
@RestController
@SuppressWarnings("ALL")
@RequestMapping("/soft")
public class SysSoftController extends BaseController
{
    @Autowired
public class SysSoftController extends BaseController {
    @Resource
    NacosService nacosService;
    @Resource
    private ISysSoftService sysSoftService;
    /**
@@ -39,8 +46,7 @@
     */
    @RequiresPermissions("system:soft:list")
    @GetMapping("/list")
    public TableDataInfo list(SysSoft sysSoft)
    {
    public TableDataInfo list(SysSoft sysSoft) {
        startPage();
        List<SysSoft> list = sysSoftService.selectSysSoftList(sysSoft);
        return getDataTable(list);
@@ -52,8 +58,7 @@
    @RequiresPermissions("system:soft:export")
    @Log(title = "杞欢", businessType = BusinessType.EXPORT)
    @PostMapping("/export")
    public void export(HttpServletResponse response, SysSoft sysSoft)
    {
    public void export(HttpServletResponse response, SysSoft sysSoft) {
        List<SysSoft> list = sysSoftService.selectSysSoftList(sysSoft);
        ExcelUtil<SysSoft> util = new ExcelUtil<SysSoft>(SysSoft.class);
        util.exportExcel(response, list, "杞欢鏁版嵁");
@@ -64,8 +69,7 @@
     */
    @RequiresPermissions("system:soft:query")
    @GetMapping(value = "/{softId}")
    public AjaxResult getInfo(@PathVariable("softId") Long softId)
    {
    public AjaxResult getInfo(@PathVariable("softId") Long softId) {
        return success(sysSoftService.selectSysSoftBySoftId(softId));
    }
@@ -75,8 +79,7 @@
    @RequiresPermissions("system:soft:add")
    @Log(title = "杞欢", businessType = BusinessType.INSERT)
    @PostMapping
    public AjaxResult add(@RequestBody SysSoft sysSoft)
    {
    public AjaxResult add(@RequestBody SysSoft sysSoft) {
        return toAjax(sysSoftService.insertSysSoft(sysSoft));
    }
@@ -86,8 +89,7 @@
    @RequiresPermissions("system:soft:edit")
    @Log(title = "杞欢", businessType = BusinessType.UPDATE)
    @PutMapping
    public AjaxResult edit(@RequestBody SysSoft sysSoft)
    {
    public AjaxResult edit(@RequestBody SysSoft sysSoft) {
        return toAjax(sysSoftService.updateSysSoft(sysSoft));
    }
@@ -97,8 +99,21 @@
    @RequiresPermissions("system:soft:remove")
    @Log(title = "杞欢", businessType = BusinessType.DELETE)
    @DeleteMapping("/{softIds}")
    public AjaxResult remove(@PathVariable Long[] softIds)
    {
    public AjaxResult remove(@PathVariable Long[] softIds) {
        return toAjax(sysSoftService.deleteSysSoftBySoftIds(softIds));
    }
    @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);
            }
        }
    }
}
se-modules/se-system/src/main/java/com/se/system/service/NacosService.java
对比新文件
@@ -0,0 +1,85 @@
package com.se.system.service;
import com.alibaba.fastjson.JSONObject;
import com.se.system.utils.CaffeineUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Component;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import org.springframework.web.client.RestTemplate;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.PrintWriter;
import java.util.Map;
@Component
@SuppressWarnings("ALL")
public class NacosService {
    @Value("${spring.cloud.nacos.config.server-addr}")
    String serverAddr;
    @Value("${spring.cloud.nacos.username}")
    String username;
    @Value("${spring.cloud.nacos.password}")
    String password;
    @Resource
    RestTemplate restTemplate;
    final static String key = "nacos:login:token";
    private String getToken() {
        Object obj = CaffeineUtils.get(key);
        if (obj instanceof String) {
            return (String) obj;
        }
        String token = login();
        if (null != token) {
            CaffeineUtils.put(key, token);
        }
        return token;
    }
    private String login() {
        String url = "http://" + serverAddr + "/nacos/v1/auth/users/login";
        MultiValueMap<String, Object> map = new LinkedMultiValueMap();
        map.add("username", username);
        map.add("password", password);
        JSONObject obj = restTemplate.postForObject(url, map, JSONObject.class);
        if (null == obj || !obj.containsKey("accessToken")) {
            return null;
        }
        return obj.getString("accessToken");
    }
    public void getNacosConfig(String dataId, HttpServletRequest req, HttpServletResponse res) throws Exception {
        String token = getToken();
        if (null == token) throw new Exception("Nacos浠ょ墝涓虹┖");
        String url = "http://" + serverAddr + "/nacos/v1/cs/configs?dataId=se-system-dev.yml&group=&appName=&pageNo=1&pageSize=10&search=accurate";
        HttpHeaders headers = new HttpHeaders();
        headers.set("accessToken", token);
        HttpEntity<Map<String, Object>> requestEntity = new HttpEntity<>(headers);
        ResponseEntity<String> re = restTemplate.exchange(url, HttpMethod.GET, requestEntity, String.class);
        res.setContentType("application/json;charset=UTF-8");
        PrintWriter out = res.getWriter();
        out.print(re.getBody());
        out.flush();
        out.close();
    }
}
se-modules/se-system/src/main/java/com/se/system/utils/CaffeineUtils.java
@@ -6,12 +6,14 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import java.math.BigInteger;
import java.security.MessageDigest;
import java.util.List;
import java.util.concurrent.TimeUnit;
@RefreshScope
@SuppressWarnings("ALL")
public class CaffeineUtils {
    static Integer cacheTime;