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 24 @Value("${bsth.face.lib.path}")
25 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 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 7 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
4 8 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
5 9 import com.baomidou.mybatisplus.core.metadata.IPage;
... ... @@ -17,6 +21,7 @@ import com.ruoyi.domain.OrderEntity;
17 21 import com.ruoyi.domain.driver.NewDriver;
18 22 import com.ruoyi.mapper.driver.NewDriverMapper;
19 23 import com.ruoyi.service.driver.NewDriverService;
  24 +import com.ruoyi.utils.UploadUtil;
20 25 import lombok.extern.slf4j.Slf4j;
21 26 import org.apache.commons.collections4.CollectionUtils;
22 27 import org.springframework.beans.factory.annotation.Autowired;
... ... @@ -25,6 +30,7 @@ import org.springframework.stereotype.Service;
25 30 import java.io.File;
26 31 import java.io.IOException;
27 32 import java.util.*;
  33 +import java.util.stream.Collectors;
28 34  
29 35 @Service
30 36 @Slf4j
... ... @@ -33,6 +39,9 @@ public class NewDriverServiceImpl extends ServiceImpl<NewDriverMapper, NewDriver
33 39 private NewDriverMapper newDriverMapper;
34 40 @Autowired
35 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 153 @Override
145 154 public NewDriver getOne(String jobCode) {
146 155 LambdaQueryWrapper<NewDriver> wrapper = new LambdaQueryWrapper<>();
147   - wrapper.eq(NewDriver::getJobCode,jobCode);
  156 + wrapper.eq(NewDriver::getJobCode, jobCode);
148 157 return getOne(wrapper);
149 158 }
150 159  
... ... @@ -174,25 +183,91 @@ public class NewDriverServiceImpl extends ServiceImpl&lt;NewDriverMapper, NewDriver
174 183  
175 184 @Override
176 185 public boolean insertJob() {
177   - String SHR_LOCAL = "http://dsh.bdo2o.com:6280/shr";
  186 +
178 187 //OSF���ƣ�ע�������Ʋ��DZ���
179 188 String serviceName = "getPersonByListService";
180 189 SHRClient client = new SHRClient();
181 190 //����OSF����Ҫ�IJ���
182   - Map<String,Object> param = new HashMap<String,Object>();
  191 + Map<String, Object> param = new HashMap<String, Object>();
183 192  
184 193 ArrayList<String> dataList = new ArrayList<String>();
185 194 dataList.add("05-008018");
186 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 205 Response res = null;
  206 + String resDataStr = null;
188 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 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 281 @Override
207 282 public TipEnum updateClient(NewDriver entity) {
208 283 NewDriver driver = new NewDriver();
209   - if(StringUtils.isNotEmpty(entity.getJobCode())) {
  284 + if (StringUtils.isNotEmpty(entity.getJobCode())) {
210 285 driver.setJobCode(entity.getJobCode());
211 286 }
212 287 driver.setId(entity.getId());
... ... @@ -221,7 +296,7 @@ public class NewDriverServiceImpl extends ServiceImpl&lt;NewDriverMapper, NewDriver
221 296 wrapper.set(NewDriver::getImage, entity.getImage()).set(NewDriver::getFaceFeature, entity.getFaceFeature())
222 297 .set(NewDriver::getBlueTooth, entity.getBlueTooth()).set(NewDriver::getInteger, entity.getInteger())
223 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 300 .eq(NewDriver::getId, entity.getId());
226 301 boolean flag = update(wrapper);
227 302 return flag ? TipEnum.TIP_200 : TipEnum.TIP_500;
... ...
Bsth-admin/src/main/resources/application-druid-dev.yml
... ... @@ -160,12 +160,12 @@ api:
160 160 template: 车队与线路匹配模板
161 161 url:
162 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 169 config:
170 170 password: c4dd3d8cb9a82f6d6a625818618b28ca7bebb464
171 171 # 随机字符串
... ...