From 2f13f59f023fba63aa993172d48c14bcaaafb233 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期四, 16 五月 2024 13:53:34 +0800
Subject: [PATCH] 代码提交
---
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/DingTalkServiceImpl.java | 105 +++++++++++++-
ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml | 18 ++
ruoyi-project/src/main/resources/mapper/project/ServiceDonationwitnessMapper.xml | 3
ruoyi-project/src/main/resources/mapper/project/ServiceMedicalevaluationMapper.xml | 3
ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/DingUserInfoVo.java | 38 +++++
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/DingTalkController.java | 20 ++
ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/DingDetpInfoVo.java | 50 +++++++
ruoyi-project/src/main/resources/mapper/project/ServiceDonatecompletioninfoMapper.xml | 5
ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java | 12 +
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java | 24 +++
ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/MedicalEvaluationVO.java | 3
ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java | 14 ++
ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java | 8 +
ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/DonationCompletionVO.java | 3
ruoyi-project/src/main/resources/mapper/project/ServiceRelativesconfirmationMapper.xml | 5
ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/DonationWitnessVO.java | 3
ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/LoginBody.java | 60 +-------
ruoyi-project/pom.xml | 7
ruoyi-project/src/main/java/com/ruoyi/project/service/DingTalkService.java | 12 +
ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/RelativeConfirmationVO.java | 3
20 files changed, 319 insertions(+), 77 deletions(-)
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/DingTalkController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/DingTalkController.java
index 9bebbd1..9a3a4f5 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/DingTalkController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/DingTalkController.java
@@ -1,5 +1,7 @@
package com.ruoyi.web.controller.project;
+import com.aliyun.dingtalkoauth2_1_0.models.GetSsoUserInfoResponseBody;
+import com.aliyun.tea.Validation;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.project.domain.vo.DingTalkReqVo;
@@ -11,10 +13,7 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.PropertySource;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
/**
* 閽夐拤鎺ュ彛
@@ -55,5 +54,18 @@
return error();
}
+ /**
+ * 缁欓儴闂ㄤ笅鐨勭敤鎴蜂俊鎭祴dingUserId,骞惰褰曞埌sys_user琛ㄤ腑
+ *
+ * @param deptID
+ * @return
+ */
+ @ApiOperation("缁欓儴闂ㄤ笅鐨勭敤鎴蜂俊鎭祴dingUserId")
+ @GetMapping("/deptidList/{deptID}")
+ public AjaxResult deptidList(@PathVariable("deptID") Long deptID) {
+ dingTalkService.deptidList(deptID, 1);
+ return success();
+ }
+
}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java
index 6328a4c..ba0c22b 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java
@@ -1,12 +1,19 @@
package com.ruoyi.web.controller.system;
import java.util.List;
+import java.util.Map;
import java.util.Set;
import java.util.UUID;
+import com.aliyun.dingtalkoauth2_1_0.models.GetSsoUserInfoResponseBody;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.domain.model.LoginBodyByOpenID;
import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.project.service.DingTalkService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
@@ -39,6 +46,9 @@
@Autowired
private SysPermissionService permissionService;
+ @Autowired
+ private DingTalkService dingTalkService;
+
/**
* 寰俊OpenID鐧诲綍鏂规硶
@@ -55,7 +65,6 @@
return ajax;
}
-
/**
* 鐧诲綍鏂规硶
*
@@ -67,8 +76,19 @@
@PostMapping("/login")
public AjaxResult login(@RequestBody LoginBody loginBody) {
AjaxResult ajax = AjaxResult.success();
+// dingTalkService.deptidList(1L, 1);
+ Map<String, Object> userIdMap = null;
+ if (StringUtils.isNotEmpty(loginBody.getAuthCode())) {
+ Map<String, Object> map = dingTalkService.noLogin(loginBody.getAuthCode());
+ userIdMap = (Map<String, Object>) map.get("result");
+ }
// 鐢熸垚浠ょ墝
- String token = loginService.login(loginBody.getUsername(), loginBody.getPassword(), loginBody.getCode(), loginBody.getUuid(), loginBody.getOpenid());
+ String token = null;
+ if (!ObjectUtils.isEmpty(userIdMap)) {
+ token = loginService.login(loginBody.getUsername(), loginBody.getPassword(), loginBody.getCode(), loginBody.getUuid(), loginBody.getOpenid(), userIdMap.get("userid").toString());
+ } else {
+ token = loginService.login(loginBody.getUsername(), loginBody.getPassword(), loginBody.getCode(), loginBody.getUuid(), loginBody.getOpenid(), null);
+ }
ajax.put(Constants.TOKEN, token);
return ajax;
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java
index 26f7b38..8984cc4 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java
@@ -153,10 +153,24 @@
*/
private String errorTimes;
+
+ /**
+ * 閽夐拤userID
+ */
+ private String dingUserId;
+
public SysUser() {
}
+ public String getDingUserId() {
+ return dingUserId;
+ }
+
+ public void setDingUserId(String dingUserId) {
+ this.dingUserId = dingUserId;
+ }
+
public int getErrorNums() {
return errorNums;
}
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/LoginBody.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/LoginBody.java
index 961e53d..9058533 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/LoginBody.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/LoginBody.java
@@ -1,12 +1,14 @@
package com.ruoyi.common.core.domain.model;
+import lombok.Data;
+
/**
* 鐢ㄦ埛鐧诲綍瀵硅薄
- *
+ *
* @author ruoyi
*/
-public class LoginBody
-{
+@Data
+public class LoginBody {
/**
* 寰俊OpenID
@@ -33,54 +35,10 @@
private String uuid = "";
+ /**
+ * 鍏嶇櫥鎺堟潈鐮�
+ */
+ private String authCode;
-
- public String getUsername()
- {
- return username;
- }
-
- public void setUsername(String username)
- {
- this.username = username;
- }
-
- public String getPassword()
- {
- return password;
- }
-
- public void setPassword(String password)
- {
- this.password = password;
- }
-
- public String getCode()
- {
- return code;
- }
-
- public void setCode(String code)
- {
- this.code = code;
- }
-
- public String getUuid()
- {
- return uuid;
- }
-
- public void setUuid(String uuid)
- {
- this.uuid = uuid;
- }
-
- public String getOpenid() {
- return openid;
- }
-
- public void setOpenid(String openid) {
- this.openid = openid;
- }
}
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java
index 6e79b6e..dcbdfd2 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java
@@ -66,7 +66,17 @@
* @param uuid 鍞竴鏍囪瘑
* @return 缁撴灉
*/
- public String login(String username, String password, String code, String uuid, String openId) {
+ public String login(String username, String password, String code, String uuid, String openId, String dingUserId) {
+ //鍏嶇櫥
+ if (StringUtils.isNotEmpty(dingUserId)) {
+ SysUser sysUser = sysUserMapper.selectUserByDingUserId(dingUserId);
+ LoginUser loginUser = new LoginUser();
+ loginUser.setUserId(sysUser.getUserId());
+ loginUser.setDeptId(sysUser.getDeptId());
+ loginUser.setUser(sysUser);
+ return tokenService.createToken(loginUser);
+ }
+
SysUser sysUser = sysUserMapper.selectUserByUserName(username);
if (sysUser.getErrorNums() >= 3) {
//鏍¢獙澶辫触娆℃暟
diff --git a/ruoyi-project/pom.xml b/ruoyi-project/pom.xml
index 820fe03..5d89934 100644
--- a/ruoyi-project/pom.xml
+++ b/ruoyi-project/pom.xml
@@ -48,6 +48,11 @@
<artifactId>fastjson2</artifactId>
<version>2.0.25</version>
</dependency>
+ <dependency>
+ <groupId>com.aliyun</groupId>
+ <artifactId>dingtalk</artifactId>
+ <version>2.1.14</version>
+ </dependency>
</dependencies>
-</project>
\ No newline at end of file
+</project>
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/DingDetpInfoVo.java b/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/DingDetpInfoVo.java
new file mode 100644
index 0000000..2ac55d9
--- /dev/null
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/DingDetpInfoVo.java
@@ -0,0 +1,50 @@
+package com.ruoyi.project.domain.vo;
+
+import com.ruoyi.common.core.domain.BaseEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+import java.util.concurrent.ConcurrentHashMap;
+
+/**
+ * 閽夐拤娑堟伅鍙戦��
+ *
+ * @author ls
+ * @date 2023-07-14
+ */
+@Data
+@ApiModel(value = "DingDeptInfoVo", description = "閽夐拤閮ㄩ棬淇℃伅")
+public class DingDetpInfoVo {
+
+ /**
+ * 鏄惁鑷姩娣诲姞鐢ㄦ埛
+ */
+ @ApiModelProperty(value = "鐢ㄦ埛鎵嬫満鍙�")
+ private Boolean auto_add_user;
+
+ /**
+ * 鏄惁鍒涘缓閮ㄩ棬鍒嗙粍
+ */
+ @ApiModelProperty(value = "閮ㄩ棬ID")
+ private Boolean create_dept_group;
+
+ /**
+ * 閮ㄩ棬ID
+ */
+ @ApiModelProperty(value = "鍙戦�佹秷鎭殑鏍囬")
+ private Integer dept_id;
+
+ /**
+ * 閮ㄩ棬鍚嶇О
+ */
+ @ApiModelProperty(value = "璺宠浆url")
+ private String name;
+
+ /**
+ * 鐖秈d
+ */
+ @ApiModelProperty(value = "璺宠浆url")
+ private String parent_id;
+}
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/DingUserInfoVo.java b/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/DingUserInfoVo.java
new file mode 100644
index 0000000..db6e0d9
--- /dev/null
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/DingUserInfoVo.java
@@ -0,0 +1,38 @@
+package com.ruoyi.project.domain.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 閽夐拤娑堟伅鍙戦��
+ *
+ * @author ls
+ * @date 2023-07-14
+ */
+@Data
+@ApiModel(value = "DingUserInfoVo", description = "閽夐拤鐢ㄦ埛淇℃伅")
+public class DingUserInfoVo {
+
+ /**
+ * 鐢ㄦ埛鎵嬫満鍙�
+ */
+ @ApiModelProperty(value = "鐢ㄦ埛鎵嬫満鍙�")
+ private String mobile;
+
+ /**
+ * 鏄惁鍒涘缓閮ㄩ棬鍒嗙粍
+ */
+ @ApiModelProperty(value = "濮撳悕")
+ private String name;
+
+ /**
+ * 鐢ㄦ埛ID
+ */
+ @ApiModelProperty(value = "鐢ㄦ埛ID")
+ private String userid;
+
+
+ private String unionid;
+
+}
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/DonationCompletionVO.java b/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/DonationCompletionVO.java
index 5106455..2944fb8 100644
--- a/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/DonationCompletionVO.java
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/DonationCompletionVO.java
@@ -35,6 +35,9 @@
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date reporttime;
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date donatetime;
private Long dcid;
private Long infoid;
private String dcdonorno;
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/DonationWitnessVO.java b/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/DonationWitnessVO.java
index 0a14c28..2c6153f 100644
--- a/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/DonationWitnessVO.java
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/DonationWitnessVO.java
@@ -28,6 +28,9 @@
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date reporttime;
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date donatetime;
private Long dwid;
private Long infoid;
private String gainhospitalno;
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/MedicalEvaluationVO.java b/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/MedicalEvaluationVO.java
index df6f97c..7beb664 100644
--- a/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/MedicalEvaluationVO.java
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/MedicalEvaluationVO.java
@@ -33,6 +33,9 @@
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date reporttime;
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date donatetime;
private Long meid;
private Long infoid;
private String hospitalassesscontent;
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/RelativeConfirmationVO.java b/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/RelativeConfirmationVO.java
index e210c1b..4ef4b85 100644
--- a/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/RelativeConfirmationVO.java
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/RelativeConfirmationVO.java
@@ -42,6 +42,9 @@
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date reporttime;
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date donatetime;
private String donorno;
private String treatmenthospitalno;
private String treatmenthospitalname;
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/service/DingTalkService.java b/ruoyi-project/src/main/java/com/ruoyi/project/service/DingTalkService.java
index 02e099f..174068b 100644
--- a/ruoyi-project/src/main/java/com/ruoyi/project/service/DingTalkService.java
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/service/DingTalkService.java
@@ -1,6 +1,9 @@
package com.ruoyi.project.service;
+import com.aliyun.dingtalkoauth2_1_0.models.GetSsoUserInfoResponseBody;
import com.ruoyi.project.domain.vo.DingTalkReqVo;
+
+import java.util.Map;
/**
* 瀹f暀鍒嗙被Service鎺ュ彛
@@ -15,4 +18,13 @@
* @param dingTalkReqVo
*/
Boolean sendNotification(DingTalkReqVo dingTalkReqVo);
+
+ Map<String, Object> noLogin(String code);
+
+ /**
+ *
+ * @param deptID 閮ㄩ棬ID
+ * @param begin 棣栨寮�濮嬬姸鎬侊紝涓嶈兘绛変簬2
+ */
+ public void deptidList(Long deptID, Integer begin);
}
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/DingTalkServiceImpl.java b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/DingTalkServiceImpl.java
index 92ea7e4..99fb158 100644
--- a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/DingTalkServiceImpl.java
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/DingTalkServiceImpl.java
@@ -2,22 +2,25 @@
import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.dingtalk.api.DefaultDingTalkClient;
import com.dingtalk.api.DingTalkClient;
-import com.dingtalk.api.request.OapiGettokenRequest;
-import com.dingtalk.api.request.OapiMessageCorpconversationAsyncsendV2Request;
-import com.dingtalk.api.request.OapiUserListidRequest;
-import com.dingtalk.api.request.OapiV2UserGetbymobileRequest;
-import com.dingtalk.api.response.OapiGettokenResponse;
-import com.dingtalk.api.response.OapiMessageCorpconversationAsyncsendV2Response;
-import com.dingtalk.api.response.OapiUserListidResponse;
-import com.dingtalk.api.response.OapiV2UserGetbymobileResponse;
+import com.dingtalk.api.request.*;
+import com.dingtalk.api.response.*;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.common.exception.base.BaseException;
import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.common.utils.http.HttpUtils;
+import com.ruoyi.project.domain.vo.DingDetpInfoVo;
import com.ruoyi.project.domain.vo.DingTalkReqVo;
+import com.ruoyi.project.domain.vo.DingUserInfoVo;
import com.ruoyi.project.service.DingTalkService;
+import com.ruoyi.system.mapper.SysUserMapper;
import com.taobao.api.ApiException;
-import lombok.Data;
import lombok.extern.log4j.Log4j;
+import org.apache.commons.collections4.CollectionUtils;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
@@ -47,6 +50,9 @@
@Value("${agentId}")
private Long agentId;
+
+ @Autowired
+ private SysUserMapper sysUserMapper;
@Override
public Boolean sendNotification(DingTalkReqVo dingTalkReqVo) {
@@ -160,6 +166,86 @@
return result;
}
+ /**
+ * 鍏嶇櫥闄嗘帴鍙�
+ *
+ * @param authCode
+ * @return
+ */
+ public Map<String, Object> noLogin(String authCode) {
+ try {
+ String urlString = "https://oapi.dingtalk.com/topapi/v2/user/getuserinfo";
+ String params = "access_token=" + getAccessToken() + "&code=" + authCode;
+ String result = HttpUtils.sendPost(urlString, params);
+ ObjectMapper objectMapper = new ObjectMapper();
+ Map<String, Object> map = objectMapper.readValue(result, Map.class);
+ return map;
+ } catch (Exception e) {
+ log.error(e.getMessage());
+ new BaseException("鐧诲綍鍑哄紓甯镐簡锛岃鑱旂郴绠$悊鍛樺鐞�");
+ }
+ return null;
+ }
+
+ @Override
+ public void deptidList(Long deptID, Integer begin) {
+ try {
+ //鏍规嵁浼犺繃鏉ョ殑閮ㄩ棬ID锛屽幓鑾峰彇璇ラ儴闂ㄤ笅鐨勭敤鎴蜂俊鎭�
+ if (begin != 1) DingUserInfoList(deptID);
+ //鑾峰彇瀛愰儴闂ㄧ殑dept_id
+ DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/v2/department/listsub");
+ OapiV2DepartmentListsubRequest req = new OapiV2DepartmentListsubRequest();
+ req.setDeptId(deptID);
+ req.setLanguage("zh_CN");
+ OapiV2DepartmentListsubResponse rsp = client.execute(req, getAccessToken());
+ ObjectMapper objectMapper = new ObjectMapper();
+ Map<String, Object> map = objectMapper.readValue(rsp.getBody(), Map.class);
+ if (ObjectUtils.isNotEmpty(map)) {
+ List<Map<String, Object>> dingDetpInfoList = (List<Map<String, Object>>) map.get("result");
+ if (Integer.valueOf(map.get("errcode").toString()) == 0) {
+ for (int i = 0; i < dingDetpInfoList.size(); i++) {
+ Map<String, Object> map1 = dingDetpInfoList.get(i);
+ deptidList(Long.valueOf(map1.get("dept_id").toString()), 2);
+ }
+ }
+ }
+ } catch (Exception e) {
+ log.error(e.getMessage());
+ new BaseException("鐧诲綍鍑哄紓甯镐簡锛岃鑱旂郴绠$悊鍛樺鐞�");
+ }
+ }
+
+ public void DingUserInfoList(Long deptId) {
+ DingTalkClient client = null;
+ try {
+ client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/v2/user/list?access_token=" + getAccessToken());
+ OapiV2UserListRequest req = new OapiV2UserListRequest();
+ req.setDeptId(deptId);
+ req.setCursor(0L);
+ req.setSize(100L);
+ req.setLanguage("zh_CN");
+ OapiV2UserListResponse rsp = client.execute(req, "");
+ //鑾峰彇resp閲岀殑鐢ㄦ埛淇℃伅闆嗗悎
+ ObjectMapper objectMapper = new ObjectMapper();
+ Map<String, Object> map = objectMapper.readValue(rsp.getBody(), Map.class);
+ Map<String, Object> mapResult = (Map<String, Object>) map.get("result");
+ List<Map<String, Object>> userInfoMapList = (List<Map<String, Object>>) mapResult.get("list");
+ if (!CollectionUtils.isEmpty(userInfoMapList)) {
+ //鏍规嵁鎵嬫満鍙凤紝灏唘serID鍐欒繘瀵瑰簲鐨勫瓧娈典笂
+ for (Map<String, Object> objectMap : userInfoMapList) {
+ SysUser sysUser = new SysUser();
+ sysUser.setPhonenumber(objectMap.get("mobile").toString());
+ sysUser.setDingUserId(objectMap.get("userid").toString());
+ sysUserMapper.updateUser(sysUser);
+ }
+ }
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ }
+
/**
* 鑾峰彇 access_token
@@ -176,4 +262,5 @@
OapiGettokenResponse response = client.execute(request);
return response.getAccessToken();
}
+
}
diff --git a/ruoyi-project/src/main/resources/mapper/project/ServiceDonatecompletioninfoMapper.xml b/ruoyi-project/src/main/resources/mapper/project/ServiceDonatecompletioninfoMapper.xml
index c113b15..3ff21a4 100644
--- a/ruoyi-project/src/main/resources/mapper/project/ServiceDonatecompletioninfoMapper.xml
+++ b/ruoyi-project/src/main/resources/mapper/project/ServiceDonatecompletioninfoMapper.xml
@@ -3,7 +3,7 @@
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.project.mapper.ServiceDonatecompletioninfoMapper">
-
+
<resultMap type="com.ruoyi.project.domain.ServiceDonatecompletioninfo" id="ServiceDonatecompletioninfoResult">
<result property="id" column="ID" />
<result property="infoid" column="InfoID" />
@@ -75,6 +75,7 @@
`service_donatebaseinfo`.`create_by` AS `basecreateby`,
`service_donatebaseinfo`.`workflow` AS `workflow`,
`service_donatebaseinfo`.`termination_case` AS `terminationCase`,
+ `service_donatebaseinfo`.`donatetime` AS `donatetime`,
`service_donatecompletioninfo`.`ID` AS `dcID`,
`service_donatecompletioninfo`.`InfoID` AS `InfoID`,
`service_donatecompletioninfo`.`DonorNo` AS `dcDonorNo`,
@@ -150,4 +151,4 @@
where InfoID = #{infoid}
</update>
-</mapper>
\ No newline at end of file
+</mapper>
diff --git a/ruoyi-project/src/main/resources/mapper/project/ServiceDonationwitnessMapper.xml b/ruoyi-project/src/main/resources/mapper/project/ServiceDonationwitnessMapper.xml
index 3c78bbc..6071d8c 100644
--- a/ruoyi-project/src/main/resources/mapper/project/ServiceDonationwitnessMapper.xml
+++ b/ruoyi-project/src/main/resources/mapper/project/ServiceDonationwitnessMapper.xml
@@ -121,6 +121,7 @@
`service_donatebaseinfo`.`create_by` AS `basecreateby`,
`service_donatebaseinfo`.`workflow` AS `workflow`,
`service_donatebaseinfo`.`termination_case` AS `terminationCase`,
+ `service_donatebaseinfo`.`donatetime` AS `donatetime`,
`service_donationwitness`.`ID` AS `dwID`,
`service_donationwitness`.`InfoID` AS `InfoID`,
`service_donationwitness`.`DonorNo` AS `dwDonorNo`,
@@ -270,4 +271,4 @@
</select>
-</mapper>
\ No newline at end of file
+</mapper>
diff --git a/ruoyi-project/src/main/resources/mapper/project/ServiceMedicalevaluationMapper.xml b/ruoyi-project/src/main/resources/mapper/project/ServiceMedicalevaluationMapper.xml
index d0b44d5..e2696ba 100644
--- a/ruoyi-project/src/main/resources/mapper/project/ServiceMedicalevaluationMapper.xml
+++ b/ruoyi-project/src/main/resources/mapper/project/ServiceMedicalevaluationMapper.xml
@@ -71,6 +71,7 @@
`service_donatebaseinfo`.`create_by` AS `basecreateby`,
`service_donatebaseinfo`.`workflow` AS `workflow`,
`service_donatebaseinfo`.`termination_case` AS `terminationCase`,
+ `service_donatebaseinfo`.`donatetime` AS `donatetime`,
`service_medicalevaluation`.`ID` AS `meID`,
`service_medicalevaluation`.`HospitalAssessContent` AS `HospitalAssessContent`,
`service_medicalevaluation`.`HospitalAssessConclusion` AS `HospitalAssessConclusion`,
@@ -126,4 +127,4 @@
where CoreTeamAssessTime >= #{starttime} and CoreTeamAssessTime <= #{endtime}
</select>
-</mapper>
\ No newline at end of file
+</mapper>
diff --git a/ruoyi-project/src/main/resources/mapper/project/ServiceRelativesconfirmationMapper.xml b/ruoyi-project/src/main/resources/mapper/project/ServiceRelativesconfirmationMapper.xml
index 0211b64..9a6d0be 100644
--- a/ruoyi-project/src/main/resources/mapper/project/ServiceRelativesconfirmationMapper.xml
+++ b/ruoyi-project/src/main/resources/mapper/project/ServiceRelativesconfirmationMapper.xml
@@ -3,7 +3,7 @@
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.project.mapper.ServiceRelativesconfirmationMapper">
-
+
<resultMap type="com.ruoyi.project.domain.ServiceRelativesconfirmation" id="ServiceRelativesconfirmationResult">
<result property="id" column="ID" />
<result property="infoid" column="InfoID" />
@@ -106,6 +106,7 @@
`service_donatebaseinfo`.`create_by` AS `basecreateby`,
`service_donatebaseinfo`.`workflow` AS `workflow`,
`service_donatebaseinfo`.`termination_case` AS `terminationCase`,
+ `service_donatebaseinfo`.`donatetime` AS `donatetime`,
`service_relativesconfirmation`.`ID` AS `rcID`,
`service_relativesconfirmation`.`InfoID` AS `InfoID`,
`service_relativesconfirmation`.`DonorNo` AS `rcDonroNo`,
@@ -183,4 +184,4 @@
where SignDate >= #{starttime} and SignDate <= #{endtime}
</select>
-</mapper>
\ No newline at end of file
+</mapper>
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java
index 8c49d68..cb58f46 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java
@@ -47,6 +47,14 @@
public SysUser selectUserByUserName(String userName);
/**
+ * 閫氳繃閽夐拤鐢ㄦ埛id
+ *
+ * @param dingUserId 鐢ㄦ埛鍚�
+ * @return 鐢ㄦ埛瀵硅薄淇℃伅
+ */
+ public SysUser selectUserByDingUserId(String dingUserId);
+
+ /**
* 閫氳繃寰俊OpenID鏌ヨ鐢ㄦ埛
*
* @param openid 寰俊OpenID
diff --git a/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml b/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
index 1fc0b8f..b3030a9 100644
--- a/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
@@ -27,6 +27,7 @@
<result property="errorNums" column="error_nums"/>
<result property="errorTimes" column="error_times"/>
<result property="standardlevel" column="standardlevel"/>
+ <result property="dingUserId" column="ding_user_id"/>
<association property="dept" column="dept_id" javaType="com.ruoyi.common.core.domain.entity.SysDept"
resultMap="deptResult"/>
<collection property="roles" javaType="java.util.List" resultMap="RoleResult"/>
@@ -54,6 +55,7 @@
select u.user_id,
u.openid,
u.dept_id,
+ u.ding_user_id,
u.error_nums,
u.error_times,
u.user_name,
@@ -90,7 +92,8 @@
</sql>
<select id="selectUserList" parameterType="com.ruoyi.common.core.domain.entity.SysUser" resultMap="SysUserResult">
- select u.user_id, u.dept_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, u.password, u.sex,
+ select u.user_id,u.ding_user_id, u.dept_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber,
+ u.password, u.sex,
u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark,u.standardlevel,
d.dept_name, d.leader from sys_user u
left join sys_dept d on u.dept_id = d.dept_id
@@ -163,6 +166,10 @@
<include refid="selectUserVo"/>
where u.user_name = #{userName}
</select>
+ <select id="selectUserByDingUserId" parameterType="String" resultMap="SysUserResult">
+ <include refid="selectUserVo"/>
+ where u.ding_user_id = #{dingUserId}
+ </select>
<select id="selectUserByOpenID" parameterType="String" resultMap="SysUserResult">
<include refid="selectUserVo"/>
@@ -211,6 +218,7 @@
<if test="status != null and status != ''">status,</if>
<if test="createBy != null and createBy != ''">create_by,</if>
<if test="remark != null and remark != ''">remark,</if>
+ <if test="dingUserId != null and dingUserId != ''">ding_user_id,</if>
create_time
)values(
<if test="userId != null and userId != ''">#{userId},</if>
@@ -225,6 +233,7 @@
<if test="status != null and status != ''">#{status},</if>
<if test="createBy != null and createBy != ''">#{createBy},</if>
<if test="remark != null and remark != ''">#{remark},</if>
+ <if test="dingUserId != null and dingUserId != ''">#{dingUserId},</if>
sysdate()
)
</insert>
@@ -247,9 +256,12 @@
<if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
<if test="remark != null">remark = #{remark},</if>
<if test="errorNums != null">error_nums = #{errorNums},</if>
+ <if test="dingUserId != null and dingUserId != ''">ding_user_id = #{dingUserId},</if>
update_time = sysdate()
</set>
- where user_id = #{userId}
+ where del_flag=0
+ <if test="userId != null and userId != ''">and user_id = #{userId}</if>
+ <if test="phonenumber != null and phonenumber != ''">and phonenumber = #{phonenumber}</if>
</update>
<update id="updateUserStatus" parameterType="com.ruoyi.common.core.domain.entity.SysUser">
@@ -264,7 +276,7 @@
where user_name = #{userName}
</update>
- <update id="resetUserPwd" parameterType="SysUser">
+ <update id="resetUserPwd" parameterType="com.ruoyi.common.core.domain.entity.SysUser">
update sys_user
set password = #{password}
where user_name = #{userName}
--
Gitblit v1.9.3