|
|
@@ -3,10 +3,7 @@ package com.izouma.dingdong.service.rider;
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
import cn.hutool.core.collection.CollUtil;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
-import com.izouma.dingdong.domain.MoneyRecord;
|
|
|
-import com.izouma.dingdong.domain.OrderInfo;
|
|
|
-import com.izouma.dingdong.domain.OrderRefundApply;
|
|
|
-import com.izouma.dingdong.domain.User;
|
|
|
+import com.izouma.dingdong.domain.*;
|
|
|
import com.izouma.dingdong.domain.merchant.Merchant;
|
|
|
import com.izouma.dingdong.domain.rider.Rider;
|
|
|
import com.izouma.dingdong.domain.rider.RiderSign;
|
|
|
@@ -16,6 +13,7 @@ import com.izouma.dingdong.enums.*;
|
|
|
import com.izouma.dingdong.exception.BusinessException;
|
|
|
import com.izouma.dingdong.repo.MoneyRecordRepo;
|
|
|
import com.izouma.dingdong.repo.OrderInfoRepo;
|
|
|
+import com.izouma.dingdong.repo.SysConfigRepo;
|
|
|
import com.izouma.dingdong.repo.UserRepo;
|
|
|
import com.izouma.dingdong.repo.rider.RiderRepo;
|
|
|
import com.izouma.dingdong.repo.rider.RiderSignRepo;
|
|
|
@@ -40,6 +38,7 @@ public class RiderService {
|
|
|
private OrderInfoRepo orderInfoRepo;
|
|
|
private OrderRefundApplyService orderRefundApplyService;
|
|
|
private RiderSignRepo riderSignRepo;
|
|
|
+ private SysConfigRepo sysConfigRepo;
|
|
|
|
|
|
|
|
|
/*
|
|
|
@@ -59,12 +58,12 @@ public class RiderService {
|
|
|
/*
|
|
|
骑手审核
|
|
|
*/
|
|
|
- public void riderAudit(Long riderId, Boolean pass) {
|
|
|
+ public String riderAudit(Long riderId, Boolean pass, String reason) {
|
|
|
Rider rider = riderRepo.findById(riderId).orElseThrow(new BusinessException("无骑手"));
|
|
|
if (pass) {
|
|
|
rider.setStatus(ApplyStatus.PASS);
|
|
|
- boolean i = true;
|
|
|
- while (i) {
|
|
|
+ //boolean i = true;
|
|
|
+ while (true) {
|
|
|
//随机生成骑手工号 一个首字母+四个数字
|
|
|
String jobNumber1 = RandomStringUtils.randomAlphabetic(1);
|
|
|
String jobNumber2 = RandomStringUtils.randomNumeric(4);
|
|
|
@@ -72,13 +71,16 @@ public class RiderService {
|
|
|
Rider byJobNumber = riderRepo.findByJobNumber(jobNumber);
|
|
|
if (ObjectUtil.isNull(byJobNumber)) {
|
|
|
rider.setJobNumber(jobNumber);
|
|
|
- i = false;
|
|
|
+ //i = false;
|
|
|
+ riderRepo.save(rider);
|
|
|
+ return jobNumber;
|
|
|
}
|
|
|
}
|
|
|
} else {
|
|
|
rider.setStatus(ApplyStatus.DENY);
|
|
|
+ riderRepo.save(rider);
|
|
|
+ return reason;
|
|
|
}
|
|
|
- riderRepo.save(rider);
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -88,7 +90,8 @@ public class RiderService {
|
|
|
public void sign(Long riderId, String password, Double longitude, Double latitude) {
|
|
|
Rider rider = riderRepo.findById(riderId).orElseThrow(new BusinessException("无骑手"));
|
|
|
Double distance = MapUtils.distance(longitude, latitude, rider.getLongitude(), rider.getLatitude());
|
|
|
- if (distance > 3000) {
|
|
|
+ String range = sysConfigRepo.findByName("range").orElseThrow(new BusinessException("无配置")).getValue();
|
|
|
+ if (distance > new Double(range)) {
|
|
|
throw new BusinessException("不在工作区域");
|
|
|
}
|
|
|
User user = userRepo.findById(rider.getUserId()).orElseThrow(new BusinessException("无用户"));
|