From 098ab281505fd6e45bfe70d2a5dcc09b8fa95885 Mon Sep 17 00:00:00 2001 From: andy <1042025947@qq.com> Date: Fri, 24 Apr 2026 16:39:25 +0800 Subject: [PATCH] =?UTF-8?q?=E9=92=89=E9=92=89=E7=89=88=E6=9C=AC=E8=B0=83?= =?UTF-8?q?=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../evo/common/controller/TestController.java | 51 ++++++++++++++- .../com/evo/common/utils/http/HttpUtils.java | 65 +++++++++++++++++++ .../evo/framework/config/SecurityConfig.java | 1 + .../system/controller/SysStaffController.java | 9 +++ .../com/evo/system/mapper/SysStaffMapper.java | 2 + .../evo/system/service/ISysStaffService.java | 2 + .../service/impl/SysStaffServiceImpl.java | 9 +++ .../src/main/resources/application-dev.yml | 2 +- .../mapper/system/SysStaffMapper.xml | 6 ++ 9 files changed, 143 insertions(+), 4 deletions(-) diff --git a/evo-admin/src/main/java/com/evo/common/controller/TestController.java b/evo-admin/src/main/java/com/evo/common/controller/TestController.java index 5eca18d..68fd051 100644 --- a/evo-admin/src/main/java/com/evo/common/controller/TestController.java +++ b/evo-admin/src/main/java/com/evo/common/controller/TestController.java @@ -26,12 +26,16 @@ import com.evo.wechat.dto.MessageTemplate; import com.evo.wechat.service.GZHAccessTokenService; import org.apache.ibatis.annotations.Param; import org.jasypt.encryption.StringEncryptor; +import org.springframework.core.io.FileSystemResource; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; +import org.springframework.util.LinkedMultiValueMap; +import org.springframework.util.MultiValueMap; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.client.RestTemplate; import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; @@ -191,9 +195,50 @@ public class TestController { */ @GetMapping("/testAdapterSend") public AjaxResult testSend() throws ParseException { - String data = "{\"FormId\":\"BD_Empinfo\",\"FieldKeys\":\"FID\",\"FilterString\":[{\"Left\":\"\",\"FieldName\":\"FStaffNumber\",\"Compare\":\"17\",\"Value\":\"00046\",\"Right\":\"\",\"Logic\":0}],\"OrderString\":\"\",\"TopRowCount\":0,\"StartRow\":0,\"Limit\":2000,\"SubSystemId\":\"\"}"; - return AjaxResult.success(HttpUtils.sendPost("http://localhost:8089/distribution/kingdee/send", JSONObject.toJSONString( - Collections.asMap("fromId","BD_Empinfo", "month","executeBillQuery", "parameterTypes",Collections.asList(String.class),"data",Collections.asMap("data",data))))); + RestTemplate restTemplate = new RestTemplate(); + MultiValueMap params = new LinkedMultiValueMap<>(); + // 文件 +// File file = new File("D:\\andy\\ideaWorker\\shangban12.png"); +// FileSystemResource resource = new FileSystemResource(file); +// params.add("file", resource); + StringBuilder markdownMsg = new StringBuilder(); + markdownMsg.append("### 🚀 安全库存提醒\n\n") + .append("今日暂无安全库存预警数据。\n\n"); + // 只显示前三个安全库存数据 + markdownMsg.append("**物料编号: ").append("123321").append("**\n") + .append("- 物料名称: ").append("测试测试567").append("\n") + .append("- 预计可用量: ").append("200").append("\n") + .append("- 即时库存: ").append("100").append("\n") + .append("- 最大库存: ").append("50").append("\n") + .append("- 创建时间: ").append(DateUtil.formatDateTime(new Date())).append("\n") + .append("---\n"); // 添加分隔线 + // 添加总数汇总 + markdownMsg.append("**总数汇总**\n") + .append("- 今日安全库存预警数据总数: **").append(50).append("**\n"); + + + + + Map dataMap = Collections.emptyMap(); + dataMap.put("month", "sendMarkdownToUser"); + dataMap.put("robotCode", "dingwoaeaozawfochwoo"); + dataMap.put("clientId", "dingwoaeaozawfochwoo"); + dataMap.put("clientSecret", "rGrAQ7cReWeYzIK5j71l8d2qOLgUTyc-qnlacQcl3n0dKG3M8bgbbaSoc9AbKeUy"); + dataMap.put("users", JSON.toJSONString(Collections.asList("史国臣","田志阳"))); + dataMap.put("parameterTypes", JSON.toJSONString(Collections.asList("java.lang.String","java.lang.String"))); + dataMap.put("parameters", JSON.toJSONString(Collections.asList("test测试",markdownMsg.toString()))); + + + params.add("data", JSON.toJSONString(dataMap)); + + String url = "http://localhost:8089/ding/send"; + return AjaxResult.success(restTemplate.postForObject(url, params, String.class)); + + + +// String data = "{\"FormId\":\"BD_Empinfo\",\"FieldKeys\":\"FID\",\"FilterString\":[{\"Left\":\"\",\"FieldName\":\"FStaffNumber\",\"Compare\":\"17\",\"Value\":\"00046\",\"Right\":\"\",\"Logic\":0}],\"OrderString\":\"\",\"TopRowCount\":0,\"StartRow\":0,\"Limit\":2000,\"SubSystemId\":\"\"}"; +// return AjaxResult.success(HttpUtils.sendPost("http://localhost:8089/distribution/kingdee/send", JSONObject.toJSONString( +// Collections.asMap("fromId","BD_Empinfo", "month","executeBillQuery", "parameterTypes",Collections.asList(String.class),"data",Collections.asMap("data",data))))); } diff --git a/evo-admin/src/main/java/com/evo/common/utils/http/HttpUtils.java b/evo-admin/src/main/java/com/evo/common/utils/http/HttpUtils.java index 6d6eba0..aaaba66 100644 --- a/evo-admin/src/main/java/com/evo/common/utils/http/HttpUtils.java +++ b/evo-admin/src/main/java/com/evo/common/utils/http/HttpUtils.java @@ -191,6 +191,71 @@ public class HttpUtils return result.toString(); } + public static String sendPost(String url, String param, String contentType) { + PrintWriter out = null; + BufferedReader in = null; + StringBuilder result = new StringBuilder(); + try + { + log.info("sendPost - {}", url); + URL realUrl = new URL(url); + URLConnection conn = realUrl.openConnection(); + conn.setRequestProperty("accept", "*/*"); + conn.setRequestProperty("connection", "Keep-Alive"); + conn.setRequestProperty("user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64)"); + conn.setRequestProperty("Accept-Charset", "UTF-8"); + conn.setRequestProperty("Content-Type", contentType); + + conn.setDoOutput(true); + conn.setDoInput(true); + out = new PrintWriter(conn.getOutputStream()); + out.print(param); + out.flush(); + in = new BufferedReader(new InputStreamReader(conn.getInputStream(), StandardCharsets.UTF_8)); + String line; + while ((line = in.readLine()) != null) + { + result.append(line); + } + log.info("recv - {}", result); + } + catch (ConnectException e) + { + log.error("调用HttpUtils.sendPost ConnectException, url=" + url + ",param=" + param, e); + } + catch (SocketTimeoutException e) + { + log.error("调用HttpUtils.sendPost SocketTimeoutException, url=" + url + ",param=" + param, e); + } + catch (IOException e) + { + log.error("调用HttpUtils.sendPost IOException, url=" + url + ",param=" + param, e); + } + catch (Exception e) + { + log.error("调用HttpsUtil.sendPost Exception, url=" + url + ",param=" + param, e); + } + finally + { + try + { + if (out != null) + { + out.close(); + } + if (in != null) + { + in.close(); + } + } + catch (IOException ex) + { + log.error("调用in.close Exception, url=" + url + ",param=" + param, ex); + } + } + return result.toString(); + } + public static String sendSSLPost(String url, String param) { StringBuilder result = new StringBuilder(); diff --git a/evo-admin/src/main/java/com/evo/framework/config/SecurityConfig.java b/evo-admin/src/main/java/com/evo/framework/config/SecurityConfig.java index 68a9ce9..8271636 100644 --- a/evo-admin/src/main/java/com/evo/framework/config/SecurityConfig.java +++ b/evo-admin/src/main/java/com/evo/framework/config/SecurityConfig.java @@ -119,6 +119,7 @@ public class SecurityConfig .antMatchers("/wechat/**").permitAll() .antMatchers("/websocket/**").permitAll() .antMatchers("/test/**").permitAll() + .antMatchers("/system/staff/tree/getDingUserId").permitAll() .antMatchers("/callback/**/**").permitAll() .antMatchers("/api/v1/verify_user").permitAll() .antMatchers("/api/v1/record/face").permitAll() diff --git a/evo-admin/src/main/java/com/evo/system/controller/SysStaffController.java b/evo-admin/src/main/java/com/evo/system/controller/SysStaffController.java index 0abac71..4d58e11 100644 --- a/evo-admin/src/main/java/com/evo/system/controller/SysStaffController.java +++ b/evo-admin/src/main/java/com/evo/system/controller/SysStaffController.java @@ -11,6 +11,7 @@ import com.evo.common.utils.poi.ExcelUtil; import com.evo.system.domain.SysStaff; import com.evo.system.domain.vo.SysStaffVo; import com.evo.system.service.ISysStaffService; +import org.apache.ibatis.annotations.Param; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; @@ -184,4 +185,12 @@ public class SysStaffController extends BaseController { return sysStaffService.reEmployment(userId); } + +// @Log(title = "员工管理-离职员工重新入职", businessType = BusinessType.OTHER) + @GetMapping("/tree/getDingUserId") + public AjaxResult getDingUserId(@RequestParam("userName") String userName) throws Exception + { + return sysStaffService.getDingUserId(userName); + } + } diff --git a/evo-admin/src/main/java/com/evo/system/mapper/SysStaffMapper.java b/evo-admin/src/main/java/com/evo/system/mapper/SysStaffMapper.java index 1244ded..35850fd 100644 --- a/evo-admin/src/main/java/com/evo/system/mapper/SysStaffMapper.java +++ b/evo-admin/src/main/java/com/evo/system/mapper/SysStaffMapper.java @@ -102,4 +102,6 @@ s * @return */ public SysStaff selectSysStaffByDingUserId(String dingUserId); + String getDingUserId(@Param("userName") String userName); + } diff --git a/evo-admin/src/main/java/com/evo/system/service/ISysStaffService.java b/evo-admin/src/main/java/com/evo/system/service/ISysStaffService.java index 38d33a5..d6a1b0d 100644 --- a/evo-admin/src/main/java/com/evo/system/service/ISysStaffService.java +++ b/evo-admin/src/main/java/com/evo/system/service/ISysStaffService.java @@ -135,4 +135,6 @@ public interface ISysStaffService extends IService * @param dingUserId */ public void sysStaffLeaveByDingUserId(String dingUserId); + + AjaxResult getDingUserId(String userName); } diff --git a/evo-admin/src/main/java/com/evo/system/service/impl/SysStaffServiceImpl.java b/evo-admin/src/main/java/com/evo/system/service/impl/SysStaffServiceImpl.java index c870f96..1856bde 100644 --- a/evo-admin/src/main/java/com/evo/system/service/impl/SysStaffServiceImpl.java +++ b/evo-admin/src/main/java/com/evo/system/service/impl/SysStaffServiceImpl.java @@ -1017,6 +1017,15 @@ public class SysStaffServiceImpl extends ServiceImpl i updateSysStaff(sysStaff); } + @Override + public AjaxResult getDingUserId(String userName) { + Object dingUserId = baseMapper.getDingUserId(userName); + if(ObjectUtils.isEmpty(dingUserId)){ + return AjaxResult.error("钉钉UserId不存在"); + } + return AjaxResult.success(dingUserId); + } + public String getAllParentName(List sysDepts, Long parentId, List allParentNames){ for (SysDept sysDept : sysDepts){ diff --git a/evo-admin/src/main/resources/application-dev.yml b/evo-admin/src/main/resources/application-dev.yml index 400bfe9..d1d3599 100644 --- a/evo-admin/src/main/resources/application-dev.yml +++ b/evo-admin/src/main/resources/application-dev.yml @@ -7,7 +7,7 @@ spring: # 热部署开关 redis: # 地址 - host: 192.168.5.232 + host: localhost # 端口,默认为6379 port: 6379 # 数据库索引 diff --git a/evo-admin/src/main/resources/mapper/system/SysStaffMapper.xml b/evo-admin/src/main/resources/mapper/system/SysStaffMapper.xml index 06e19ed..0cc9e82 100644 --- a/evo-admin/src/main/resources/mapper/system/SysStaffMapper.xml +++ b/evo-admin/src/main/resources/mapper/system/SysStaffMapper.xml @@ -313,4 +313,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where del_flag = '0' and status != '-1' and dept_id = #{deptId} and is_leader='是' limit 1 + + + +