Commit 8008e620048defed8de2cf8795e3618c59ff9997
1 parent
d9b31eb7
feat: 修改配置信息
Showing
19 changed files
with
141 additions
and
72 deletions
trash-garbage/src/main/java/com/trash/garbage/controller/GarbageOrderController.java
| ... | ... | @@ -47,7 +47,7 @@ public class GarbageOrderController { |
| 47 | 47 | private ServerConfig serverConfig; |
| 48 | 48 | |
| 49 | 49 | @PostMapping("/add") |
| 50 | - @Log(title = "创建派单", businessType = BusinessType.INSERT) | |
| 50 | + @Log(title = "创建订单", businessType = BusinessType.INSERT) | |
| 51 | 51 | public Result<?> saveOrder(@Validated @RequestBody OrderDto dto) { |
| 52 | 52 | return Result.OK(garOrderService.saveOrder(dto)); |
| 53 | 53 | } |
| ... | ... | @@ -115,10 +115,10 @@ public class GarbageOrderController { |
| 115 | 115 | } |
| 116 | 116 | |
| 117 | 117 | /** |
| 118 | - * 导出清运派单列表 | |
| 118 | + * 导出清运订单列表 | |
| 119 | 119 | */ |
| 120 | 120 | @PreAuthorize("@ss.hasPermi('garbage:order:export')") |
| 121 | - @Log(title = "清运派单", businessType = BusinessType.EXPORT) | |
| 121 | + @Log(title = "清运订单", businessType = BusinessType.EXPORT) | |
| 122 | 122 | @GetMapping("/export") |
| 123 | 123 | public AjaxResult export(GarOrder garOrder) { |
| 124 | 124 | List<GarOrder> list = garOrderService.queryOrderListByGarOrder(garOrder); | ... | ... |
trash-garbage/src/main/java/com/trash/garbage/mapper/GarOrderCarMapper.java
| ... | ... | @@ -5,7 +5,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| 5 | 5 | |
| 6 | 6 | /** |
| 7 | 7 | * @author 20412 |
| 8 | -* @description 针对表【gar_order_car(派单车辆信息)】的数据库操作Mapper | |
| 8 | +* @description 针对表【gar_order_car(订单车辆信息)】的数据库操作Mapper | |
| 9 | 9 | * @createDate 2024-01-09 14:26:09 |
| 10 | 10 | * @Entity com.trash.garbage.pojo.domain.GarOrderCar |
| 11 | 11 | */ | ... | ... |
trash-garbage/src/main/java/com/trash/garbage/mapper/GarOrderEvaluateMapper.java
| ... | ... | @@ -8,7 +8,7 @@ import java.util.List; |
| 8 | 8 | |
| 9 | 9 | /** |
| 10 | 10 | * @author 20412 |
| 11 | -* @description 针对表【gar_order_evaluate(建筑垃圾-派单评分)】的数据库操作Mapper | |
| 11 | +* @description 针对表【gar_order_evaluate(建筑垃圾-订单评分)】的数据库操作Mapper | |
| 12 | 12 | * @createDate 2023-11-29 14:19:18 |
| 13 | 13 | * @Entity com.trash.garbage.pojo.domain.GarOrderEvaluate |
| 14 | 14 | */ | ... | ... |
trash-garbage/src/main/java/com/trash/garbage/mapper/GarOrderMatchHandlerMapper.java
| ... | ... | @@ -10,7 +10,7 @@ import java.util.List; |
| 10 | 10 | |
| 11 | 11 | /** |
| 12 | 12 | * @author 20412 |
| 13 | -* @description 针对表【gar_order_match_handler(派单分发处理表)】的数据库操作Mapper | |
| 13 | +* @description 针对表【gar_order_match_handler(订单分发处理表)】的数据库操作Mapper | |
| 14 | 14 | * @createDate 2024-01-09 14:26:09 |
| 15 | 15 | * @Entity com.trash.garbage.pojo.domain.GarOrderMatchHandler |
| 16 | 16 | */ | ... | ... |
trash-garbage/src/main/java/com/trash/garbage/pojo/domain/GarOrderCar.java
trash-garbage/src/main/java/com/trash/garbage/pojo/domain/GarOrderEvaluate.java
trash-garbage/src/main/java/com/trash/garbage/pojo/domain/GarOrderMatchHandler.java
| ... | ... | @@ -12,7 +12,7 @@ import org.apache.commons.lang3.builder.EqualsBuilder; |
| 12 | 12 | import org.apache.commons.lang3.builder.HashCodeBuilder; |
| 13 | 13 | |
| 14 | 14 | /** |
| 15 | - * 派单分发处理表 | |
| 15 | + * 订单分发处理表 | |
| 16 | 16 | * @TableName gar_order_match_handler |
| 17 | 17 | */ |
| 18 | 18 | @TableName(value ="gar_order_match_handler") | ... | ... |
trash-garbage/src/main/java/com/trash/garbage/pojo/dto/EnterpriseDto.java
0 → 100644
trash-garbage/src/main/java/com/trash/garbage/pojo/vo/GarOrderDriverVo.java
| ... | ... | @@ -10,7 +10,7 @@ import lombok.EqualsAndHashCode; |
| 10 | 10 | public class GarOrderDriverVo extends GarOrder { |
| 11 | 11 | |
| 12 | 12 | /** |
| 13 | - * gar_order_status 代表订单的全局状态 员order 的gar_order_handler_status 变为代表分发后驾驶员自己处理派单的状态 | |
| 13 | + * gar_order_status 代表订单的全局状态 员order 的gar_order_handler_status 变为代表分发后驾驶员自己处理订单的状态 | |
| 14 | 14 | */ |
| 15 | 15 | private Integer garOrderStatus; |
| 16 | 16 | ... | ... |
trash-garbage/src/main/java/com/trash/garbage/pojo/vo/TransportationEnterpriseVo.java
| ... | ... | @@ -12,6 +12,8 @@ public class TransportationEnterpriseVo extends TransportationEnterprise { |
| 12 | 12 | private String score; |
| 13 | 13 | |
| 14 | 14 | private Integer cleanNumber; |
| 15 | + private String distance; | |
| 16 | + | |
| 15 | 17 | |
| 16 | 18 | public Integer getCleanNumber() { |
| 17 | 19 | return cleanNumber; |
| ... | ... | @@ -26,7 +28,20 @@ public class TransportationEnterpriseVo extends TransportationEnterprise { |
| 26 | 28 | } |
| 27 | 29 | |
| 28 | 30 | public void setScore(Float score) { |
| 29 | - DecimalFormat df =new DecimalFormat("#0.0"); | |
| 30 | - this.score = df.format(score);; | |
| 31 | + DecimalFormat df = new DecimalFormat("#0.0"); | |
| 32 | + this.score = df.format(score); | |
| 33 | + } | |
| 34 | + | |
| 35 | + public void setScore(String score) { | |
| 36 | + this.score = score; | |
| 37 | + } | |
| 38 | + | |
| 39 | + public String getDistance() { | |
| 40 | + return distance; | |
| 41 | + } | |
| 42 | + | |
| 43 | + public void setDistance(double distance) { | |
| 44 | + DecimalFormat df = new DecimalFormat("#0.0"); | |
| 45 | + this.distance = df.format(distance); | |
| 31 | 46 | } |
| 32 | 47 | } | ... | ... |
trash-garbage/src/main/java/com/trash/garbage/service/GarOrderCarService.java
| ... | ... | @@ -5,7 +5,7 @@ import com.baomidou.mybatisplus.extension.service.IService; |
| 5 | 5 | |
| 6 | 6 | /** |
| 7 | 7 | * @author 20412 |
| 8 | -* @description 针对表【gar_order_car(派单车辆信息)】的数据库操作Service | |
| 8 | +* @description 针对表【gar_order_car(订单车辆信息)】的数据库操作Service | |
| 9 | 9 | * @createDate 2024-01-09 14:26:09 |
| 10 | 10 | */ |
| 11 | 11 | public interface GarOrderCarService extends IService<GarOrderCar> { | ... | ... |
trash-garbage/src/main/java/com/trash/garbage/service/GarOrderEvaluateService.java
| ... | ... | @@ -8,7 +8,7 @@ import java.util.List; |
| 8 | 8 | |
| 9 | 9 | /** |
| 10 | 10 | * @author 20412 |
| 11 | -* @description 针对表【gar_order_evaluate(建筑垃圾-派单评分)】的数据库操作Service | |
| 11 | +* @description 针对表【gar_order_evaluate(建筑垃圾-订单评分)】的数据库操作Service | |
| 12 | 12 | * @createDate 2023-11-29 14:19:18 |
| 13 | 13 | */ |
| 14 | 14 | public interface GarOrderEvaluateService extends IService<GarOrderEvaluate> { | ... | ... |
trash-garbage/src/main/java/com/trash/garbage/service/GarOrderMatchHandlerService.java
| ... | ... | @@ -9,7 +9,7 @@ import java.util.List; |
| 9 | 9 | |
| 10 | 10 | /** |
| 11 | 11 | * @author 20412 |
| 12 | -* @description 针对表【gar_order_match_handler(派单分发处理表)】的数据库操作Service | |
| 12 | +* @description 针对表【gar_order_match_handler(订单分发处理表)】的数据库操作Service | |
| 13 | 13 | * @createDate 2024-01-09 14:26:09 |
| 14 | 14 | */ |
| 15 | 15 | public interface GarOrderMatchHandlerService extends IService<GarOrderMatchHandler> { | ... | ... |
trash-garbage/src/main/java/com/trash/garbage/service/impl/GarOrderCarServiceImpl.java
trash-garbage/src/main/java/com/trash/garbage/service/impl/GarOrderEvaluateServiceImpl.java
trash-garbage/src/main/java/com/trash/garbage/service/impl/GarOrderMatchHandlerServiceImpl.java
| ... | ... | @@ -11,7 +11,7 @@ import java.util.List; |
| 11 | 11 | |
| 12 | 12 | /** |
| 13 | 13 | * @author 20412 |
| 14 | - * @description 针对表【gar_order_match_handler(派单分发处理表)】的数据库操作Service实现 | |
| 14 | + * @description 针对表【gar_order_match_handler(订单分发处理表)】的数据库操作Service实现 | |
| 15 | 15 | * @createDate 2024-01-09 14:26:09 |
| 16 | 16 | */ |
| 17 | 17 | @Service | ... | ... |
trash-garbage/src/main/java/com/trash/garbage/service/impl/GarOrderServiceImpl.java
| ... | ... | @@ -13,6 +13,7 @@ import com.trash.garbage.pojo.vo.DispatchDriverVo; |
| 13 | 13 | import com.trash.garbage.pojo.vo.GarOrderDriverVo; |
| 14 | 14 | import com.trash.garbage.pojo.vo.TransportationEnterpriseVo; |
| 15 | 15 | import com.trash.garbage.service.*; |
| 16 | +import com.trash.garbage.utils.SMSUtils; | |
| 16 | 17 | import org.apache.commons.lang3.StringUtils; |
| 17 | 18 | import org.springframework.beans.factory.annotation.Autowired; |
| 18 | 19 | import org.springframework.stereotype.Service; |
| ... | ... | @@ -45,6 +46,9 @@ public class GarOrderServiceImpl extends ServiceImpl<GarOrderMapper, GarOrder> |
| 45 | 46 | private GarOrderImageService garOrderImageService; |
| 46 | 47 | |
| 47 | 48 | @Autowired |
| 49 | + private GarAddressService garAddressService; | |
| 50 | + | |
| 51 | + @Autowired | |
| 48 | 52 | private ITransportationEnterpriseService transportationEnterpriseService; |
| 49 | 53 | |
| 50 | 54 | @Autowired |
| ... | ... | @@ -108,6 +112,8 @@ public class GarOrderServiceImpl extends ServiceImpl<GarOrderMapper, GarOrder> |
| 108 | 112 | images.add(image); |
| 109 | 113 | } |
| 110 | 114 | garOrderImageService.saveBatch(images); |
| 115 | + // TODO 短信提醒 居民下单 | |
| 116 | + SMSUtils.sendMessage(order.getGarOrderCompanyTel(), "企业收单:您有新的清运订单,请及时查看并处理。"); | |
| 111 | 117 | return order.getGarOrderId(); |
| 112 | 118 | } |
| 113 | 119 | |
| ... | ... | @@ -265,13 +271,14 @@ public class GarOrderServiceImpl extends ServiceImpl<GarOrderMapper, GarOrder> |
| 265 | 271 | public String updateOrder(OrderUpdateDto dto) { |
| 266 | 272 | String userId = SecurityUtils.getLoginUser().getUser().getUserId(); |
| 267 | 273 | GarUser user = garUserService.getById(userId); |
| 268 | - // 处理用户派单 居民用户 | 企业负责人 | |
| 274 | + // 处理用户订单 居民用户 | 企业负责人 | |
| 269 | 275 | if (user.getGarUserType().equals(GlobalStatus.GarUserStatusEnum.RESPONSIBLE_USER.getDescription()) |
| 270 | 276 | || user.getGarUserType().equals(GlobalStatus.GarUserStatusEnum.NORMAL_USER.getDescription())) { |
| 271 | 277 | return handlerOrderStatus(dto, user); |
| 272 | 278 | } |
| 273 | - // 处理分发派单 驾驶员 | |
| 279 | + // 处理分发订单 驾驶员 | |
| 274 | 280 | else if (user.getGarUserType().equals(GlobalStatus.GarUserStatusEnum.DRIVER_USER.getDescription())) { |
| 281 | + // TODO 后续删除 驾驶员无法取消 | |
| 275 | 282 | return handlerDispatchOrderStatus(dto, user); |
| 276 | 283 | } |
| 277 | 284 | |
| ... | ... | @@ -279,6 +286,7 @@ public class GarOrderServiceImpl extends ServiceImpl<GarOrderMapper, GarOrder> |
| 279 | 286 | |
| 280 | 287 | } |
| 281 | 288 | |
| 289 | + @Deprecated | |
| 282 | 290 | private String handlerDispatchOrderStatus(OrderUpdateDto dto, GarUser user) { |
| 283 | 291 | // GarOrder order = getById(dto.getGarOrderId()); |
| 284 | 292 | GarOrderDriverVo order = baseMapper.queryOrderByTelWithType(user.getGarUserTel(), dto.getGarOrderId(), GlobalStatus.GarOrderStatus.CANCEL_FLAG_NO.getValue()); |
| ... | ... | @@ -289,7 +297,7 @@ public class GarOrderServiceImpl extends ServiceImpl<GarOrderMapper, GarOrder> |
| 289 | 297 | .set(GarOrderMatchHandler::getGarReason, dto.getGarReason()) |
| 290 | 298 | .eq(GarOrderMatchHandler::getGarOrderId, dto.getGarOrderId()); |
| 291 | 299 | handlerService.update(uw); |
| 292 | - return "已取消派单"; | |
| 300 | + return "已取消订单"; | |
| 293 | 301 | } else { |
| 294 | 302 | // 公司所属 待清运- 》 清运中 |
| 295 | 303 | if (order.getGarOrderHandlerStatus().equals(GlobalStatus.GarOrderStatus.NEW_ORDER.getValue()) |
| ... | ... | @@ -299,7 +307,7 @@ public class GarOrderServiceImpl extends ServiceImpl<GarOrderMapper, GarOrder> |
| 299 | 307 | .eq(GarOrderMatchHandler::getGarOrderHandlerTel, user.getGarUserTel()) |
| 300 | 308 | .set(GarOrderMatchHandler::getGarOrderStatus, GlobalStatus.GarOrderStatus.ACTIVE_ORDER.getValue()); |
| 301 | 309 | handlerService.update(uw); |
| 302 | - return "已接受派单"; | |
| 310 | + return "已接受订单"; | |
| 303 | 311 | } |
| 304 | 312 | // 运输驾驶员 清运中 ==》已完成 |
| 305 | 313 | if (GlobalStatus.GarOrderStatus.ACTIVE_ORDER.getValue().equals(order.getGarOrderHandlerStatus()) |
| ... | ... | @@ -310,7 +318,7 @@ public class GarOrderServiceImpl extends ServiceImpl<GarOrderMapper, GarOrder> |
| 310 | 318 | .set(GarOrderMatchHandler::getGarOrderStatus, GlobalStatus.GarOrderStatus.SUCCESS_ORDER.getValue()); |
| 311 | 319 | handlerService.update(uw); |
| 312 | 320 | } |
| 313 | - return "派单已完成"; | |
| 321 | + return "订单已完成"; | |
| 314 | 322 | } |
| 315 | 323 | } |
| 316 | 324 | |
| ... | ... | @@ -323,9 +331,15 @@ public class GarOrderServiceImpl extends ServiceImpl<GarOrderMapper, GarOrder> |
| 323 | 331 | .set(GarOrder::getGarReason, dto.getGarReason()) |
| 324 | 332 | .eq(GarOrder::getGarOrderId, dto.getGarOrderId()); |
| 325 | 333 | update(uw); |
| 334 | + // TODO 短信提醒 公司 | 居民 | |
| 335 | + String tel = GlobalStatus.GarUserStatusEnum.NORMAL_USER.getDescription().equals(user.getGarUserType()) ? | |
| 336 | + order.getGarOrderCompanyTel() : order.getGarOrderContactTel(); | |
| 337 | + String message = GlobalStatus.GarUserStatusEnum.NORMAL_USER.getDescription().equals(user.getGarUserType()) ? | |
| 338 | + "居民取消订单:您的清运订单已取消,详情可在小程序查看" : "企业拒单"; | |
| 339 | + SMSUtils.sendMessage(tel, message); | |
| 326 | 340 | return "订单取消成功"; |
| 327 | 341 | } |
| 328 | - // 企业负责人 TODO | |
| 342 | + // 企业负责人 | |
| 329 | 343 | else { |
| 330 | 344 | // 公司所属 待清运- 》 清运中 |
| 331 | 345 | if (order.getGarOrderHandlerStatus().equals(GlobalStatus.GarOrderStatus.NEW_ORDER.getValue()) |
| ... | ... | @@ -338,7 +352,9 @@ public class GarOrderServiceImpl extends ServiceImpl<GarOrderMapper, GarOrder> |
| 338 | 352 | .set(GarOrder::getGarOrderHandlerStatus, GlobalStatus.GarOrderStatus.ACTIVE_ORDER.getValue()) |
| 339 | 353 | .set(GarOrder::getGarOrderHandlerId, user.getGarUserId()); |
| 340 | 354 | update(uw); |
| 341 | - return "已接受派单"; | |
| 355 | + // TODO 短信提醒 | |
| 356 | + SMSUtils.sendMessage(order.getGarOrderContactTel(), "运输公司已接受订单号为 " + order.getGarOrderId() + " 的订单。"); | |
| 357 | + return "已接受订单"; | |
| 342 | 358 | } |
| 343 | 359 | // 企业负责人 清运中 ==》已完成 |
| 344 | 360 | if (GlobalStatus.GarOrderStatus.ACTIVE_ORDER.getValue().equals(order.getGarOrderHandlerStatus()) |
| ... | ... | @@ -350,7 +366,9 @@ public class GarOrderServiceImpl extends ServiceImpl<GarOrderMapper, GarOrder> |
| 350 | 366 | .set(GarOrder::getGarEvaluateFlag, GlobalStatus.GarOrderStatus.EVALUATE_ORDER_NO.getValue()); |
| 351 | 367 | update(uw); |
| 352 | 368 | } |
| 353 | - return "派单已完成"; | |
| 369 | + // TODO 短信提醒 | |
| 370 | + SMSUtils.sendMessage(order.getGarOrderContactTel(), "运输公司已完成订单号为 " + order.getGarOrderId() + " 的订单。"); | |
| 371 | + return "订单已完成"; | |
| 354 | 372 | } |
| 355 | 373 | } |
| 356 | 374 | |
| ... | ... | @@ -487,15 +505,21 @@ public class GarOrderServiceImpl extends ServiceImpl<GarOrderMapper, GarOrder> |
| 487 | 505 | evaluate.add(garOrderEvaluate); |
| 488 | 506 | } |
| 489 | 507 | } |
| 490 | - | |
| 508 | + // 获取当前选中地址计算距离 | |
| 509 | + LambdaQueryWrapper<GarAddress> qw = new LambdaQueryWrapper<>(); | |
| 510 | + qw.eq(GarAddress::getGarUserId, SecurityUtils.getLoginUser().getUser().getUserId()) | |
| 511 | + .eq(GarAddress::getGarUserDefault, GlobalStatus.GarAddressStatus.CURRENT_ADDRESS.getValue()); | |
| 512 | + GarAddress address = garAddressService.getOne(qw); | |
| 491 | 513 | List<TransportationEnterpriseVo> voList = list.stream().map(item -> { |
| 492 | 514 | TransportationEnterpriseVo vo = new TransportationEnterpriseVo(); |
| 493 | 515 | BeanUtils.copyProperties(item, vo); |
| 494 | 516 | List<GarOrderEvaluate> evaluate = evaluateMap.get(String.valueOf(item.getId())); |
| 495 | 517 | handleCleanNumber(vo, orderList); |
| 496 | 518 | handleScore(vo, evaluate); |
| 519 | + handleKilometre(vo, address); | |
| 497 | 520 | return vo; |
| 498 | 521 | }) |
| 522 | + .sorted(Comparator.comparing(TransportationEnterpriseVo::getDistance)) | |
| 499 | 523 | .collect(Collectors.toList()); |
| 500 | 524 | PageInfo<TransportationEnterpriseVo> pageInfo = new PageInfo<>(); |
| 501 | 525 | pageInfo.setList(voList); |
| ... | ... | @@ -503,6 +527,31 @@ public class GarOrderServiceImpl extends ServiceImpl<GarOrderMapper, GarOrder> |
| 503 | 527 | return pageInfo; |
| 504 | 528 | } |
| 505 | 529 | |
| 530 | + private void handleKilometre(TransportationEnterpriseVo vo, GarAddress address) { | |
| 531 | + String[] params = vo.getOfficeAddressGps().split(","); | |
| 532 | + double kilometre = calculateDistance(Double.parseDouble(params[1]), Double.parseDouble(params[0]), address.getGarLatitude(), address.getGarLongitude()); | |
| 533 | + vo.setDistance(kilometre); | |
| 534 | + } | |
| 535 | + | |
| 536 | + private double calculateDistance(double lat1, double lon1, double lat2, double lon2) { | |
| 537 | + // 将经纬度转换为弧度 | |
| 538 | + double lat1Rad = Math.toRadians(lat1); | |
| 539 | + double lon1Rad = Math.toRadians(lon1); | |
| 540 | + double lat2Rad = Math.toRadians(lat2); | |
| 541 | + double lon2Rad = Math.toRadians(lon2); | |
| 542 | + | |
| 543 | + // 应用 Haversine 公式计算距离 | |
| 544 | + double dlon = lon2Rad - lon1Rad; | |
| 545 | + double dlat = lat2Rad - lat1Rad; | |
| 546 | + double a = Math.sin(dlat / 2) * Math.sin(dlat / 2) + | |
| 547 | + Math.cos(lat1Rad) * Math.cos(lat2Rad) * | |
| 548 | + Math.sin(dlon / 2) * Math.sin(dlon / 2); | |
| 549 | + double c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a)); | |
| 550 | + double radius = 6371; // 地球平均半径(单位:公里) | |
| 551 | + double distance = radius * c; | |
| 552 | + return distance; | |
| 553 | + } | |
| 554 | + | |
| 506 | 555 | @Override |
| 507 | 556 | public List<GarOrderEvaluate> queryEvaluateDetail(String orderId) { |
| 508 | 557 | LambdaQueryWrapper<GarOrderEvaluate> qw = new LambdaQueryWrapper<>(); | ... | ... |
trash-garbage/src/main/java/com/trash/garbage/utils/JwtUtils.java
| ... | ... | @@ -8,17 +8,24 @@ import java.util.Date; |
| 8 | 8 | |
| 9 | 9 | /** |
| 10 | 10 | * jwt 工具类 |
| 11 | + * | |
| 11 | 12 | * @author 20412 |
| 12 | 13 | */ |
| 13 | 14 | @Slf4j |
| 14 | 15 | public class JwtUtils { |
| 15 | 16 | |
| 16 | - /** 过期时间设置 365天*/ | |
| 17 | + /** | |
| 18 | + * 过期时间设置 最近 365天 | |
| 19 | + */ | |
| 17 | 20 | private final static long tokenExpiration = 365 * 24 * 60 * 60 * 1000; |
| 18 | - /** jwt密钥*/ | |
| 21 | + /** | |
| 22 | + * jwt密钥 | |
| 23 | + */ | |
| 19 | 24 | private final static String tokenSecret = "guzijian"; |
| 20 | 25 | |
| 21 | - /** 创建token */ | |
| 26 | + /** | |
| 27 | + * 创建token | |
| 28 | + */ | |
| 22 | 29 | public static String createToken(String id, String tel) { |
| 23 | 30 | String token = Jwts.builder() |
| 24 | 31 | // 说明 |
| ... | ... | @@ -26,8 +33,8 @@ public class JwtUtils { |
| 26 | 33 | // 过期时间 |
| 27 | 34 | .setExpiration(new Date(System.currentTimeMillis() + tokenExpiration)) |
| 28 | 35 | // 加入认证信息 |
| 29 | - .claim("tel",tel) | |
| 30 | - .claim("userId",id) | |
| 36 | + .claim("tel", tel) | |
| 37 | + .claim("userId", id) | |
| 31 | 38 | // 加密方式 jwt 密钥方便解密 |
| 32 | 39 | .signWith(SignatureAlgorithm.HS256, tokenSecret) |
| 33 | 40 | // 压缩方式 |
| ... | ... | @@ -37,8 +44,10 @@ public class JwtUtils { |
| 37 | 44 | return token; |
| 38 | 45 | } |
| 39 | 46 | |
| 40 | - /** 通过token获取user id */ | |
| 41 | - public static String getUserId(String token){ | |
| 47 | + /** | |
| 48 | + * 通过token获取user id | |
| 49 | + */ | |
| 50 | + public static String getUserId(String token) { | |
| 42 | 51 | Claims claims = null; |
| 43 | 52 | try { |
| 44 | 53 | Jws<Claims> claimsJws = Jwts.parser() |
| ... | ... | @@ -46,14 +55,16 @@ public class JwtUtils { |
| 46 | 55 | .parseClaimsJws(token); |
| 47 | 56 | claims = claimsJws.getBody(); |
| 48 | 57 | } catch (Exception e) { |
| 49 | - | |
| 58 | + | |
| 50 | 59 | return null; |
| 51 | 60 | } |
| 52 | - return (String)claims.get("userId"); | |
| 61 | + return (String) claims.get("userId"); | |
| 53 | 62 | } |
| 54 | 63 | |
| 55 | - /** 获取用户id*/ | |
| 56 | - public static String getUserId(HttpServletRequest request){ | |
| 64 | + /** | |
| 65 | + * 获取用户id | |
| 66 | + */ | |
| 67 | + public static String getUserId(HttpServletRequest request) { | |
| 57 | 68 | String token = request.getHeader("Authority"); |
| 58 | 69 | Claims claims = null; |
| 59 | 70 | try { |
| ... | ... | @@ -64,10 +75,10 @@ public class JwtUtils { |
| 64 | 75 | } catch (Exception e) { |
| 65 | 76 | throw new RuntimeException("解析失败" + e.getMessage()); |
| 66 | 77 | } |
| 67 | - return (String)claims.get("userId"); | |
| 78 | + return (String) claims.get("userId"); | |
| 68 | 79 | } |
| 69 | 80 | |
| 70 | - public static String getUserName(String token){ | |
| 81 | + public static String getUserName(String token) { | |
| 71 | 82 | Claims claims = null; |
| 72 | 83 | try { |
| 73 | 84 | Jws<Claims> claimsJws = Jwts.parser() |
| ... | ... | @@ -77,10 +88,10 @@ public class JwtUtils { |
| 77 | 88 | } catch (Exception e) { |
| 78 | 89 | throw new RuntimeException("token解析失败" + e.getMessage()); |
| 79 | 90 | } |
| 80 | - return (String)claims.get("username"); | |
| 91 | + return (String) claims.get("username"); | |
| 81 | 92 | } |
| 82 | 93 | |
| 83 | - public static String getUserName(HttpServletRequest request){ | |
| 94 | + public static String getUserName(HttpServletRequest request) { | |
| 84 | 95 | String token = request.getHeader("Authority"); |
| 85 | 96 | Claims claims = null; |
| 86 | 97 | try { |
| ... | ... | @@ -91,10 +102,10 @@ public class JwtUtils { |
| 91 | 102 | } catch (Exception e) { |
| 92 | 103 | throw new RuntimeException("token解析失败" + e.getMessage()); |
| 93 | 104 | } |
| 94 | - return (String)claims.get("username"); | |
| 105 | + return (String) claims.get("username"); | |
| 95 | 106 | } |
| 96 | 107 | |
| 97 | - public String getUserIdByRequest(HttpServletRequest request){ | |
| 108 | + public String getUserIdByRequest(HttpServletRequest request) { | |
| 98 | 109 | String authorization = request.getHeader("Authorization"); |
| 99 | 110 | Claims claims = null; |
| 100 | 111 | try { |
| ... | ... | @@ -105,7 +116,7 @@ public class JwtUtils { |
| 105 | 116 | } catch (Exception e) { |
| 106 | 117 | throw new RuntimeException("token解析失败" + e.getMessage()); |
| 107 | 118 | } |
| 108 | - return (String)claims.get("userId"); | |
| 119 | + return (String) claims.get("userId"); | |
| 109 | 120 | } |
| 110 | 121 | |
| 111 | 122 | // public static void main(String[] args) { | ... | ... |
trash-garbage/src/main/java/com/trash/garbage/utils/SMSUtils.java
| ... | ... | @@ -7,6 +7,12 @@ import com.aliyuncs.dysmsapi.model.v20170525.SendSmsRequest; |
| 7 | 7 | import com.aliyuncs.dysmsapi.model.v20170525.SendSmsResponse; |
| 8 | 8 | import com.aliyuncs.exceptions.ClientException; |
| 9 | 9 | import com.aliyuncs.profile.DefaultProfile; |
| 10 | +import com.trash.common.utils.util.PostSms; | |
| 11 | +import com.trash.common.utils.vo.mt.JsonSmsSend; | |
| 12 | +import com.trash.common.utils.vo.mt.Mobile; | |
| 13 | + | |
| 14 | +import java.util.ArrayList; | |
| 15 | +import java.util.List; | |
| 10 | 16 | |
| 11 | 17 | /** |
| 12 | 18 | * 短信发送工具类 |
| ... | ... | @@ -15,34 +21,18 @@ public class SMSUtils { |
| 15 | 21 | |
| 16 | 22 | /** |
| 17 | 23 | * 发送短信 |
| 18 | - * @param signName 签名 | |
| 19 | - * @param templateCode 模板 | |
| 20 | - * @param phoneNumbers 手机号 | |
| 21 | - * @param param 参数 | |
| 24 | + * | |
| 25 | + * @param tell 手机号 | |
| 26 | + * @param content 模板 | |
| 22 | 27 | */ |
| 23 | - public static void sendMessage(String signName, String templateCode,String phoneNumbers,String param) throws ClientException { | |
| 24 | - DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", "LTAI5tHRxs2FeCu5JcJTGbm2", "v0H4PaJpXSwNr6XChtlVYAgmQWgKRA"); | |
| 25 | - | |
| 26 | - IAcsClient client = new DefaultAcsClient(profile); | |
| 27 | - | |
| 28 | - SendSmsRequest request = new SendSmsRequest(); | |
| 29 | - | |
| 30 | - request.setSysRegionId("cn-hangzhou"); | |
| 31 | -// 要发送给那个人的电话号码 | |
| 32 | - request.setPhoneNumbers(phoneNumbers); | |
| 33 | -// 我们在阿里云设置的签名 | |
| 34 | - request.setSignName(signName); | |
| 35 | -// 我们在阿里云设置的模板 | |
| 36 | - request.setTemplateCode(templateCode); | |
| 37 | -// 在设置模板的时候有一个占位符 | |
| 38 | - request.setTemplateParam("{\"code\":\""+param+"\"}"); | |
| 39 | - | |
| 40 | -// request.setPhoneNumbers("1368846****");//接收短信的手机号码 | |
| 41 | -// request.setSignName("阿里云");//短信签名名称 | |
| 42 | -// request.setTemplateCode("SMS_20933****");//短信模板CODE | |
| 43 | -// request.setTemplateParam("张三");//短信模板变量对应的实际值 | |
| 44 | - | |
| 45 | - SendSmsResponse response = client.getAcsResponse(request); | |
| 28 | + public static void sendMessage(String tell, String content) { | |
| 29 | + //发送 | |
| 30 | + Mobile mobile = new Mobile(); | |
| 31 | + mobile.setMobile(tell); | |
| 32 | + List<Mobile> mobileList = new ArrayList<Mobile>(); | |
| 33 | + mobileList.add(mobile); | |
| 34 | + //更新提交信息 | |
| 35 | + JsonSmsSend jsonSmsSend = PostSms.sendSms(mobileList, content); | |
| 46 | 36 | } |
| 47 | 37 | |
| 48 | 38 | } |
| 49 | 39 | \ No newline at end of file | ... | ... |