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