Commit 8cc3c01683e57b64bcf7b4f5ae0eb9f4d9fd5183

Authored by liujun001
1 parent 4cac73f9

同步司机信息

Bsth-admin/src/main/java/com/ruoyi/config/BsthSystemConfig.java
@@ -24,4 +24,7 @@ public class BsthSystemConfig { @@ -24,4 +24,7 @@ public class BsthSystemConfig {
24 @Value("${bsth.face.lib.path}") 24 @Value("${bsth.face.lib.path}")
25 private String faceLibPath; 25 private String faceLibPath;
26 26
  27 + @Value("${api.url.getDriverInfo}")
  28 + private String getDriverInfoURL;
  29 +
27 } 30 }
Bsth-admin/src/main/java/com/ruoyi/service/impl/driver/NewDriverServiceImpl.java
1 package com.ruoyi.service.impl.driver; 1 package com.ruoyi.service.impl.driver;
2 2
  3 +import cn.hutool.core.convert.Convert;
  4 +import com.alibaba.fastjson2.JSON;
  5 +import com.alibaba.fastjson2.JSONArray;
  6 +import com.alibaba.fastjson2.JSONObject;
3 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; 7 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
4 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; 8 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
5 import com.baomidou.mybatisplus.core.metadata.IPage; 9 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -17,6 +21,7 @@ import com.ruoyi.domain.OrderEntity; @@ -17,6 +21,7 @@ import com.ruoyi.domain.OrderEntity;
17 import com.ruoyi.domain.driver.NewDriver; 21 import com.ruoyi.domain.driver.NewDriver;
18 import com.ruoyi.mapper.driver.NewDriverMapper; 22 import com.ruoyi.mapper.driver.NewDriverMapper;
19 import com.ruoyi.service.driver.NewDriverService; 23 import com.ruoyi.service.driver.NewDriverService;
  24 +import com.ruoyi.utils.UploadUtil;
20 import lombok.extern.slf4j.Slf4j; 25 import lombok.extern.slf4j.Slf4j;
21 import org.apache.commons.collections4.CollectionUtils; 26 import org.apache.commons.collections4.CollectionUtils;
22 import org.springframework.beans.factory.annotation.Autowired; 27 import org.springframework.beans.factory.annotation.Autowired;
@@ -25,6 +30,7 @@ import org.springframework.stereotype.Service; @@ -25,6 +30,7 @@ import org.springframework.stereotype.Service;
25 import java.io.File; 30 import java.io.File;
26 import java.io.IOException; 31 import java.io.IOException;
27 import java.util.*; 32 import java.util.*;
  33 +import java.util.stream.Collectors;
28 34
29 @Service 35 @Service
30 @Slf4j 36 @Slf4j
@@ -33,6 +39,9 @@ public class NewDriverServiceImpl extends ServiceImpl<NewDriverMapper, NewDriver @@ -33,6 +39,9 @@ public class NewDriverServiceImpl extends ServiceImpl<NewDriverMapper, NewDriver
33 private NewDriverMapper newDriverMapper; 39 private NewDriverMapper newDriverMapper;
34 @Autowired 40 @Autowired
35 private BsthSystemConfig bsthSystemConfig; 41 private BsthSystemConfig bsthSystemConfig;
  42 + @Autowired
  43 + private UploadUtil uploadUtil;
  44 +
36 45
37 /** 46 /**
38 * 分页查询 47 * 分页查询
@@ -144,7 +153,7 @@ public class NewDriverServiceImpl extends ServiceImpl<NewDriverMapper, NewDriver @@ -144,7 +153,7 @@ public class NewDriverServiceImpl extends ServiceImpl<NewDriverMapper, NewDriver
144 @Override 153 @Override
145 public NewDriver getOne(String jobCode) { 154 public NewDriver getOne(String jobCode) {
146 LambdaQueryWrapper<NewDriver> wrapper = new LambdaQueryWrapper<>(); 155 LambdaQueryWrapper<NewDriver> wrapper = new LambdaQueryWrapper<>();
147 - wrapper.eq(NewDriver::getJobCode,jobCode); 156 + wrapper.eq(NewDriver::getJobCode, jobCode);
148 return getOne(wrapper); 157 return getOne(wrapper);
149 } 158 }
150 159
@@ -174,25 +183,91 @@ public class NewDriverServiceImpl extends ServiceImpl&lt;NewDriverMapper, NewDriver @@ -174,25 +183,91 @@ public class NewDriverServiceImpl extends ServiceImpl&lt;NewDriverMapper, NewDriver
174 183
175 @Override 184 @Override
176 public boolean insertJob() { 185 public boolean insertJob() {
177 - String SHR_LOCAL = "http://dsh.bdo2o.com:6280/shr"; 186 +
178 //OSF���ƣ�ע�������Ʋ��DZ��� 187 //OSF���ƣ�ע�������Ʋ��DZ���
179 String serviceName = "getPersonByListService"; 188 String serviceName = "getPersonByListService";
180 SHRClient client = new SHRClient(); 189 SHRClient client = new SHRClient();
181 //����OSF����Ҫ�IJ��� 190 //����OSF����Ҫ�IJ���
182 - Map<String,Object> param = new HashMap<String,Object>(); 191 + Map<String, Object> param = new HashMap<String, Object>();
183 192
184 ArrayList<String> dataList = new ArrayList<String>(); 193 ArrayList<String> dataList = new ArrayList<String>();
185 dataList.add("05-008018"); 194 dataList.add("05-008018");
186 param.put("personlist", dataList); 195 param.put("personlist", dataList);
  196 + List<NewDriver> drivers = requestDrivers(client, bsthSystemConfig.getGetDriverInfoURL(), serviceName, param);
  197 + if (CollectionUtils.isEmpty(drivers)) {
  198 + return false;
  199 + }
  200 +
  201 + return saveBatch(drivers);
  202 + }
  203 +
  204 + private List<NewDriver> requestDrivers(SHRClient client, String SHR_LOCAL, String serviceName, Map<String, Object> param) {
187 Response res = null; 205 Response res = null;
  206 + String resDataStr = null;
188 try { 207 try {
189 - res = client.executeService(SHR_LOCAL ,serviceName,param); 208 + res = client.executeService(SHR_LOCAL, serviceName, param);
  209 + if (Objects.nonNull(res)) {
  210 + resDataStr = Convert.toStr(res.getData());
  211 + JSONObject jsonObject = JSON.parseObject(resDataStr);
  212 + if (!Objects.equals(Convert.toInt(jsonObject.get("code")), 200)) {
  213 + log.info("同步用户数据返回错误代码,代码为:[{}],返回的 结果为:[{}]", jsonObject.get("code"), resDataStr);
  214 + return null;
  215 + }
  216 +
  217 + JSONArray jsonArray = (JSONArray) jsonObject.get("data");
  218 +
  219 + if (CollectionUtils.isEmpty(jsonArray)) {
  220 + log.info("同步用户数据返回空,返回的 结果为:[{}]", resDataStr);
  221 + return null;
  222 + }
  223 +
  224 + return jsonArray.stream().map(jo -> {
  225 + if (jo instanceof JSONObject) {
  226 + JSONObject obj = (JSONObject) jo;
  227 + NewDriver driver = new NewDriver();
  228 + driver.setJobCode(Convert.toStr(obj.get("personNumber")));
  229 + driver.setCompanyCode(Convert.toStr(obj.get("companyNumner")));
  230 + driver.setBrancheCompanyCode(Convert.toStr(obj.get("companyNumner")));
  231 + driver.setPersonnelName(Convert.toStr(obj.get("personName")));
  232 +// driver.setPapersCode(Convert.toStr(obj.get("personNumber")));
  233 +// driver.setIcCardCode(Convert.toStr(obj.get("personNumber")));
  234 + driver.setPersonnelType(Convert.toStr(obj.get("gender")));
  235 + driver.setPosts(Convert.toStr(obj.get("position")));
  236 + driver.setCard(Convert.toStr(obj.get("IDcardNo")));
  237 + driver.setTelphone(Convert.toStr(obj.get("cell")));
  238 +// driver.setIcRfid(Convert.toStr(obj.get("personNumber")));
  239 +// driver.setIdRfid(Convert.toStr(obj.get("personNumber")));
  240 +// driver.setTagRfid(Convert.toStr(obj.get("personNumber")));
  241 +// driver.setRemark(Convert.toStr(obj.get("personNumber")));
  242 + driver.setLineName(Convert.toStr(obj.get("deptLineName")));
  243 + driver.setLineCode(Convert.toStr(obj.get("deptLineNumber")));
  244 +
  245 + String photo = Convert.toStr("photo");
  246 + if (StringUtils.isNotEmpty(photo)) {
  247 + StringBuilder builder = new StringBuilder();
  248 + builder.append(obj.get("personID"));
  249 + builder.append("/image/");
  250 + builder.append(UUID.randomUUID().toString().replaceAll("-", ""));
  251 + builder.append(".png");
  252 +
  253 + uploadUtil.uploadImageOfBase64(photo, builder.toString(), "png");
  254 + driver.setImage(builder.toString());
  255 + }
  256 +
  257 + driver.setFleetName(Convert.toStr(obj.get("deptCarName")));
  258 + driver.setImageVersion("0.0.1");
  259 + return driver;
  260 + }
  261 +
  262 + return null;
  263 + }).filter(obj -> Objects.nonNull(obj)).collect(Collectors.toList());
  264 + }
190 } catch (IOException e) { 265 } catch (IOException e) {
191 - throw new RuntimeException(e); 266 + log.error("同步用户数据异常,返回的结果为:[{}]", resDataStr, e);
  267 + } catch (Exception e) {
  268 + log.error("同步用户数据异常,返回的结果为:[{}]", resDataStr, e);
192 } 269 }
193 - System.out.println(res.getData());  
194 -  
195 - return false; 270 + return null;
196 } 271 }
197 272
198 /** 273 /**
@@ -206,7 +281,7 @@ public class NewDriverServiceImpl extends ServiceImpl&lt;NewDriverMapper, NewDriver @@ -206,7 +281,7 @@ public class NewDriverServiceImpl extends ServiceImpl&lt;NewDriverMapper, NewDriver
206 @Override 281 @Override
207 public TipEnum updateClient(NewDriver entity) { 282 public TipEnum updateClient(NewDriver entity) {
208 NewDriver driver = new NewDriver(); 283 NewDriver driver = new NewDriver();
209 - if(StringUtils.isNotEmpty(entity.getJobCode())) { 284 + if (StringUtils.isNotEmpty(entity.getJobCode())) {
210 driver.setJobCode(entity.getJobCode()); 285 driver.setJobCode(entity.getJobCode());
211 } 286 }
212 driver.setId(entity.getId()); 287 driver.setId(entity.getId());
@@ -221,7 +296,7 @@ public class NewDriverServiceImpl extends ServiceImpl&lt;NewDriverMapper, NewDriver @@ -221,7 +296,7 @@ public class NewDriverServiceImpl extends ServiceImpl&lt;NewDriverMapper, NewDriver
221 wrapper.set(NewDriver::getImage, entity.getImage()).set(NewDriver::getFaceFeature, entity.getFaceFeature()) 296 wrapper.set(NewDriver::getImage, entity.getImage()).set(NewDriver::getFaceFeature, entity.getFaceFeature())
222 .set(NewDriver::getBlueTooth, entity.getBlueTooth()).set(NewDriver::getInteger, entity.getInteger()) 297 .set(NewDriver::getBlueTooth, entity.getBlueTooth()).set(NewDriver::getInteger, entity.getInteger())
223 .set(NewDriver::getSyncontent, entity.getSyncontent()).set(NewDriver::getCsn, entity.getCsn()) 298 .set(NewDriver::getSyncontent, entity.getSyncontent()).set(NewDriver::getCsn, entity.getCsn())
224 - .set(NewDriver::getIcCardCode,entity.getIcCardCode()).set(NewDriver::getImageVersion,entity.getImageVersion()) 299 + .set(NewDriver::getIcCardCode, entity.getIcCardCode()).set(NewDriver::getImageVersion, entity.getImageVersion())
225 .eq(NewDriver::getId, entity.getId()); 300 .eq(NewDriver::getId, entity.getId());
226 boolean flag = update(wrapper); 301 boolean flag = update(wrapper);
227 return flag ? TipEnum.TIP_200 : TipEnum.TIP_500; 302 return flag ? TipEnum.TIP_200 : TipEnum.TIP_500;
Bsth-admin/src/main/resources/application-druid-dev.yml
@@ -160,12 +160,12 @@ api: @@ -160,12 +160,12 @@ api:
160 template: 车队与线路匹配模板 160 template: 车队与线路匹配模板
161 url: 161 url:
162 # all 为获取所有驾驶员信息 162 # all 为获取所有驾驶员信息
163 - getDriverInfo: http://101.95.136.206:9089/webservice/rest/person/%s 163 + getDriverInfo: http://dsh.bdo2o.com:6280/shr
164 # 获取公司编码下的员工信息 暂时没用 164 # 获取公司编码下的员工信息 暂时没用
165 - getCompanyInfo: http://101.95.136.206:9089/webservice/rest/person/company/%d?timestamp=%&nonce=%s&password=%s&sign=%s 165 + getCompanyInfo:
166 # 获取排班信息 166 # 获取排班信息
167 - getSchedulingInfo: http://101.95.136.206:9089/webservice/rest/schedule_real/sch_jk/%s/%s?timestamp=%d&nonce=%s&password=%s&sign=%s  
168 - getSchedulingInfoNew: http://101.95.136.206:9089/webservice/rest/schedule_real/sch_jk_db/%s/%s?timestamp=%d&nonce=%s&password=%s&sign=%s 167 + getSchedulingInfo: http://58.34.47.74:9089/webservice/rest/schedule_real/sch_jk/%s/%s?timestamp=%d&nonce=%s&password=%s&sign=%s
  168 + getSchedulingInfoNew: http://58.34.47.74:9089/webservice/rest/schedule_real/sch_jk/%s/%s?timestamp=%d&nonce=%s&password=%s&sign=%s
169 config: 169 config:
170 password: c4dd3d8cb9a82f6d6a625818618b28ca7bebb464 170 password: c4dd3d8cb9a82f6d6a625818618b28ca7bebb464
171 # 随机字符串 171 # 随机字符串