Commit 8cc3c01683e57b64bcf7b4f5ae0eb9f4d9fd5183
1 parent
4cac73f9
同步司机信息
Showing
3 changed files
with
92 additions
and
14 deletions
Bsth-admin/src/main/java/com/ruoyi/config/BsthSystemConfig.java
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<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<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<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 | # 随机字符串 | ... | ... |