Commit c880dc07223ea5def3ec36e1257f64bcc30928fd

Authored by guzijian
1 parent 5ab2f5ee

fix: 新增日志,新增请求token任务

ruoyi-admin/src/main/java/com/ruoyi/in/service/impl/SignInServiceImpl.java
@@ -164,6 +164,7 @@ public class SignInServiceImpl implements ISignInService { @@ -164,6 +164,7 @@ public class SignInServiceImpl implements ISignInService {
164 SignInResponseVo vo = new SignInResponseVo(); 164 SignInResponseVo vo = new SignInResponseVo();
165 vo.setAddress(equipment.getAddress()); 165 vo.setAddress(equipment.getAddress());
166 vo.setDeviceId(signIn.getDeviceId()); 166 vo.setDeviceId(signIn.getDeviceId());
  167 + System.out.println("返回数据:" + vo.toString());
167 return SIGN_IN_SUCCESS.equals(signIn.getStatus()) ? AjaxResult.success(SIGN_IN_SUCCESS_STRING,vo) : AjaxResult.error(SIGN_IN_ERROR + signIn.getRemark(),vo); 168 return SIGN_IN_SUCCESS.equals(signIn.getStatus()) ? AjaxResult.success(SIGN_IN_SUCCESS_STRING,vo) : AjaxResult.error(SIGN_IN_ERROR + signIn.getRemark(),vo);
168 } 169 }
169 170
ruoyi-admin/src/main/java/com/ruoyi/job/DriverJob.java
@@ -4,14 +4,17 @@ import com.ruoyi.common.core.redis.RedisCache; @@ -4,14 +4,17 @@ import com.ruoyi.common.core.redis.RedisCache;
4 import com.ruoyi.driver.domain.Driver; 4 import com.ruoyi.driver.domain.Driver;
5 import com.ruoyi.driver.service.IDriverService; 5 import com.ruoyi.driver.service.IDriverService;
6 import com.ruoyi.pojo.response.ResponseScheduling; 6 import com.ruoyi.pojo.response.ResponseScheduling;
  7 +import com.ruoyi.pojo.response.TokenResponseVo;
7 import com.ruoyi.utils.ConstDateUtil; 8 import com.ruoyi.utils.ConstDateUtil;
8 import com.ruoyi.utils.ListUtils; 9 import com.ruoyi.utils.ListUtils;
9 import org.springframework.beans.factory.InitializingBean; 10 import org.springframework.beans.factory.InitializingBean;
10 import org.springframework.beans.factory.annotation.Autowired; 11 import org.springframework.beans.factory.annotation.Autowired;
11 import org.springframework.beans.factory.annotation.Value; 12 import org.springframework.beans.factory.annotation.Value;
12 import org.springframework.core.ParameterizedTypeReference; 13 import org.springframework.core.ParameterizedTypeReference;
13 -import org.springframework.http.HttpMethod; 14 +import org.springframework.http.*;
14 import org.springframework.stereotype.Component; 15 import org.springframework.stereotype.Component;
  16 +import org.springframework.util.LinkedMultiValueMap;
  17 +import org.springframework.util.MultiValueMap;
15 import org.springframework.web.client.RestTemplate; 18 import org.springframework.web.client.RestTemplate;
16 19
17 import javax.annotation.Resource; 20 import javax.annotation.Resource;
@@ -42,6 +45,16 @@ public class DriverJob implements InitializingBean { @@ -42,6 +45,16 @@ public class DriverJob implements InitializingBean {
42 @Value("${api.url.getDriverInfo}") 45 @Value("${api.url.getDriverInfo}")
43 private String getDriverInfoUrl; 46 private String getDriverInfoUrl;
44 47
  48 +
  49 + @Value("${api.personnel.token.tokenUrl}")
  50 + private String tokenUrl;
  51 +
  52 + @Value("${api.personnel.token.appKey}")
  53 + private String appKey;
  54 +
  55 + @Value("${api.personnel.token.appSecret}")
  56 + private String appSecret;
  57 +
45 @Value("${api.url.getSchedulingInfo}") 58 @Value("${api.url.getSchedulingInfo}")
46 private String getSchedulingInfoUrl; 59 private String getSchedulingInfoUrl;
47 60
@@ -51,6 +64,9 @@ public class DriverJob implements InitializingBean { @@ -51,6 +64,9 @@ public class DriverJob implements InitializingBean {
51 @Value("${api.config.nonce}") 64 @Value("${api.config.nonce}")
52 private String nonce; 65 private String nonce;
53 66
  67 + private static String APP_KEY;
  68 + private static String TOKEN_URL;
  69 + private static String APP_SECRET;
54 private static IDriverService DRIVER_SERVICE; 70 private static IDriverService DRIVER_SERVICE;
55 private static RedisCache REDIS_CACHE; 71 private static RedisCache REDIS_CACHE;
56 private static RestTemplate RESTTEMPLATE; 72 private static RestTemplate RESTTEMPLATE;
@@ -70,7 +86,7 @@ public class DriverJob implements InitializingBean { @@ -70,7 +86,7 @@ public class DriverJob implements InitializingBean {
70 String getDriverInfoUrl = String.format(GET_DRIVER_INFO_URL, params); 86 String getDriverInfoUrl = String.format(GET_DRIVER_INFO_URL, params);
71 long timestamp = System.currentTimeMillis(); 87 long timestamp = System.currentTimeMillis();
72 // 获取驾驶员信息 88 // 获取驾驶员信息
73 - List<Driver> drivers = getDrivers(getDriverInfoUrl, String.valueOf(timestamp)); 89 + List<Driver> drivers = getDrivers(APP_SECRET, String.valueOf(timestamp));
74 // 格式化请求 90 // 格式化请求
75 String getSchedulingInfoUrl = String.format(GET_SCHEDULING_INFO_URL, "99", ConstDateUtil.formatDate("yyyyMMdd"), timestamp, NONCE, PASSWORD, getSHA1(getStringStringMap(String.valueOf(timestamp)))); 91 String getSchedulingInfoUrl = String.format(GET_SCHEDULING_INFO_URL, "99", ConstDateUtil.formatDate("yyyyMMdd"), timestamp, NONCE, PASSWORD, getSHA1(getStringStringMap(String.valueOf(timestamp))));
76 // 获取排班信息并存入redis 92 // 获取排班信息并存入redis
@@ -89,6 +105,11 @@ public class DriverJob implements InitializingBean { @@ -89,6 +105,11 @@ public class DriverJob implements InitializingBean {
89 } 105 }
90 106
91 /** 107 /**
  108 + * 获取员工数据
  109 + */
  110 +
  111 +
  112 + /**
92 * 导入图片任务 113 * 导入图片任务
93 */ 114 */
94 public void importImages(){ 115 public void importImages(){
@@ -131,25 +152,30 @@ public class DriverJob implements InitializingBean { @@ -131,25 +152,30 @@ public class DriverJob implements InitializingBean {
131 return driverSchedulingMap; 152 return driverSchedulingMap;
132 } 153 }
133 154
134 - private List<Driver> getDrivers(String format, String timestamp) throws Exception { 155 + private List<Driver> getDrivers(String url, String timestamp) throws Exception {
135 Map<String, String> configMap = getStringStringMap(timestamp); 156 Map<String, String> configMap = getStringStringMap(timestamp);
136 String sign = getSHA1(configMap); 157 String sign = getSHA1(configMap);
137 - String url = format  
138 - + "?timestamp=" + timestamp  
139 - + "&nonce=" + NONCE  
140 - + "&password=" + PASSWORD  
141 - + "&sign=" + sign;  
142 //生成签名 158 //生成签名
143 - List<Driver> drivers = RESTTEMPLATE.exchange(  
144 - url,  
145 - HttpMethod.GET,  
146 - null,  
147 - new ParameterizedTypeReference<List<Driver>>() {  
148 - }).getBody().stream().map(item ->{  
149 - item.setJobCode(item.getJobCode().split("-")[1]);  
150 - return item;  
151 - }).collect(Collectors.toList());  
152 - return drivers; 159 + TokenResponseVo tokenVo = getToken(url);
  160 +// redisCache.setCacheObject();
  161 +// getPersonInfo(tokenVo);
  162 +// return drivers;
  163 + return null;
  164 + }
  165 +
  166 + private TokenResponseVo getToken(String url) {
  167 + MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
  168 + params.add("appSecret", APP_SECRET);
  169 + params.add("appKey", APP_KEY);
  170 + // 设置请求头
  171 + HttpHeaders headers = new HttpHeaders();
  172 + headers.setContentType(MediaType.APPLICATION_JSON);
  173 + // 创建HttpEntity对象
  174 + HttpEntity<MultiValueMap<String, String>> requestEntity = new HttpEntity<>(params, headers);
  175 +
  176 + // 发送POST请求
  177 + ResponseEntity<TokenResponseVo> responseEntity = restTemplate.postForEntity(url, requestEntity, TokenResponseVo.class);
  178 + return responseEntity.getBody();
153 } 179 }
154 180
155 public Map<String, String> getStringStringMap(String timestamp) { 181 public Map<String, String> getStringStringMap(String timestamp) {
@@ -229,5 +255,9 @@ public class DriverJob implements InitializingBean { @@ -229,5 +255,9 @@ public class DriverJob implements InitializingBean {
229 DRIVER_SERVICE = driverService; 255 DRIVER_SERVICE = driverService;
230 REDIS_CACHE = redisCache; 256 REDIS_CACHE = redisCache;
231 GET_SCHEDULING_INFO_URL = getSchedulingInfoUrl; 257 GET_SCHEDULING_INFO_URL = getSchedulingInfoUrl;
  258 +
  259 + TOKEN_URL = tokenUrl;
  260 + APP_KEY = appKey;
  261 + APP_SECRET = appSecret;
232 } 262 }
233 } 263 }
ruoyi-admin/src/main/java/com/ruoyi/pojo/request/TokenRequestVo.java 0 → 100644
  1 +package com.ruoyi.pojo.request;
  2 +
  3 +import lombok.Data;
  4 +
  5 +/**
  6 + * token请求vo
  7 + * @author 20412
  8 + */
  9 +@Data
  10 +public class TokenRequestVo {
  11 + String appKey;
  12 + String appSecret;
  13 +
  14 +}
ruoyi-admin/src/main/java/com/ruoyi/pojo/response/SignInResponseVo.java
@@ -10,4 +10,12 @@ import lombok.Data; @@ -10,4 +10,12 @@ import lombok.Data;
10 public class SignInResponseVo { 10 public class SignInResponseVo {
11 String address; 11 String address;
12 String deviceId; 12 String deviceId;
  13 +
  14 + @Override
  15 + public String toString() {
  16 + return "SignInResponseVo{" +
  17 + "address='" + address + '\'' +
  18 + ", deviceId='" + deviceId + '\'' +
  19 + '}';
  20 + }
13 } 21 }
ruoyi-admin/src/main/java/com/ruoyi/pojo/response/TokenResponseVo.java 0 → 100644
  1 +package com.ruoyi.pojo.response;
  2 +
  3 +import lombok.Data;
  4 +
  5 +/**
  6 + * token接收
  7 + * @author 20412
  8 + */
  9 +@Data
  10 +public class TokenResponseVo {
  11 + /**
  12 + * 生成的accessToken(此Token仅用于获取员工数据及获取临时照片下载地址)
  13 + */
  14 + String accessToken;
  15 + /**
  16 + * :accessToken的有效期为7200秒(2小时)
  17 + */
  18 + Long expireIn;
  19 +}
ruoyi-admin/src/main/resources/application-druid-dev.yml
@@ -144,4 +144,7 @@ api: @@ -144,4 +144,7 @@ api:
144 nonce: adfsad 144 nonce: adfsad
145 apk: 145 apk:
146 path: /apk/dev/ 146 path: /apk/dev/
147 - 147 + personnel:
  148 + tokenUrl: https://api.dingtalk.com/v1.0/oauth2/accessToken
  149 + appKey: dingsclwvxui5zilg1xk
  150 + appSecret: ckV20k3jMKJpUkfXXSGhLk077rQQjsSaAusiSVY-nm4glwweCmb_SMJ62Cpf4YQ5
148 \ No newline at end of file 151 \ No newline at end of file
ruoyi-admin/src/main/resources/application-druid-prd.yml
@@ -104,3 +104,7 @@ api: @@ -104,3 +104,7 @@ api:
104 nonce: adfsad 104 nonce: adfsad
105 apk: 105 apk:
106 path: /apk/dev/ 106 path: /apk/dev/
  107 + personnel:
  108 + tokenUrl: https://api.dingtalk.com/v1.0/oauth2/accessToken
  109 + appKey: dingsclwvxui5zilg1xk
  110 + appSecret: ckV20k3jMKJpUkfXXSGhLk077rQQjsSaAusiSVY-nm4glwweCmb_SMJ62Cpf4YQ5
107 \ No newline at end of file 111 \ No newline at end of file
ruoyi-admin/src/main/resources/application-druid-uat.yml
@@ -164,3 +164,10 @@ api: @@ -164,3 +164,10 @@ api:
164 nonce: adfsad 164 nonce: adfsad
165 apk: 165 apk:
166 path: /apk/dev/ 166 path: /apk/dev/
  167 + personnel:
  168 + token:
  169 + tokenUrl: https://api.dingtalk.com/v1.0/oauth2/accessToken
  170 + appKey: dingsclwvxui5zilg1xk
  171 + appSecret: ckV20k3jMKJpUkfXXSGhLk077rQQjsSaAusiSVY-nm4glwweCmb_SMJ62Cpf4YQ5
  172 + personnel:
  173 + url: https://api.dingtalk.com/v1.0/yida/forms/instances/search
167 \ No newline at end of file 174 \ No newline at end of file
ruoyi-admin/src/main/resources/application.yml
@@ -146,4 +146,8 @@ api: @@ -146,4 +146,8 @@ api:
146 config: 146 config:
147 password: c4dd3d8cb9a82f6d6a625818618b28ca7bebb464 147 password: c4dd3d8cb9a82f6d6a625818618b28ca7bebb464
148 # 随机字符串 148 # 随机字符串
149 - nonce: adfsad  
150 \ No newline at end of file 149 \ No newline at end of file
  150 + nonce: adfsad
  151 + personnel:
  152 + tokenUrl: https://api.dingtalk.com/v1.0/oauth2/accessToken
  153 + appKey: dingsclwvxui5zilg1xk
  154 + appSecret: ckV20k3jMKJpUkfXXSGhLk077rQQjsSaAusiSVY-nm4glwweCmb_SMJ62Cpf4YQ5