From 095210f9149c73e6e00d997b39fd6c44a65e4d38 Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期二, 28 四月 2026 22:04:17 +0800
Subject: [PATCH] 代码生成
---
server/services/src/main/java/com/doumee/service/business/impl/DriverInfoServiceImpl.java | 202 +++++++++++++++++++++++++++++++-------------------
1 files changed, 125 insertions(+), 77 deletions(-)
diff --git a/server/services/src/main/java/com/doumee/service/business/impl/DriverInfoServiceImpl.java b/server/services/src/main/java/com/doumee/service/business/impl/DriverInfoServiceImpl.java
index 98f0720..7d642a5 100644
--- a/server/services/src/main/java/com/doumee/service/business/impl/DriverInfoServiceImpl.java
+++ b/server/services/src/main/java/com/doumee/service/business/impl/DriverInfoServiceImpl.java
@@ -34,6 +34,8 @@
import com.doumee.dao.vo.DriverCancelLimitVO;
import com.doumee.dao.vo.DriverCenterVO;
import com.doumee.dao.vo.DriverGrabOrderVO;
+import com.doumee.dao.system.model.SystemUser;
+import com.doumee.service.system.SystemUserService;
import com.doumee.dao.vo.DriverOrderDetailVO;
import com.doumee.core.utils.aliyun.AliSmsService;
import com.doumee.service.business.DriverInfoService;
@@ -115,6 +117,9 @@
@Autowired
private AreasBizImpl areasBiz;
+
+ @Autowired
+ private SystemUserService systemUserService;
/**
* 鍙戦�佽鍗曠珯鍐呬俊閫氱煡
@@ -270,13 +275,7 @@
.select(" ( select ifnull(sum(r.OPT_TYPE * r.AMOUNT),0) from revenue r where r.MEMBER_TYPE = 1 and r.MEMBER_ID= t.id and r.VAILD_STATUS = 1 ) as memberAmount ")
.selectAs(Category::getName,DriverInfo::getCarTypeName)
.leftJoin(Category.class, Category::getId,DriverInfo::getCarType);
- for (PageWrap.SortData sortData : pageWrap.getSorts()) {
- if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
- queryWrapper.orderByDesc(sortData.getProperty());
- } else {
- queryWrapper.orderByAsc(sortData.getProperty());
- }
- }
+ queryWrapper.orderByDesc(DriverInfo::getId);
PageData<DriverInfo> pageData = PageData.from(driverInfoMapper.selectPage(page, queryWrapper));
for (DriverInfo d : pageData.getRecords()) {
d.setGender(Constants.getGenderByIdCard(d.getIdcard()));
@@ -301,7 +300,7 @@
String code = RandomStringUtils.randomNumeric(6);
// 鍙戦�佺煭淇�
String templateParam = "{\"code\":\"" + code + "\"}";
- AliSmsService.sendSms(telephone, "SMS_491325122", templateParam);
+ AliSmsService.sendSms(telephone, Constants.SmsNotify.VERIFY_CODE.getTemplateCode(), templateParam);
// 淇濆瓨鐭俊璁板綍
Smsrecord smsrecord = new Smsrecord();
smsrecord.setDeleted(Constants.ZERO);
@@ -480,7 +479,7 @@
}
// 鐘舵�佹牎楠岋細auditStatus=null(鏈彁浜�)鎴朼uditStatus=2(瀹℃壒椹冲洖)鍙彁浜よ璇�
if (driverInfo.getAuditStatus() != null
- && !Constants.equalsInteger(driverInfo.getAuditStatus(), Constants.TWO)) {
+ && !(Constants.equalsInteger(driverInfo.getAuditStatus(), Constants.TWO)||Constants.equalsInteger(driverInfo.getAuditStatus(), 99))) {
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "褰撳墠鐘舵�佷笉鍏佽鎻愪氦璁よ瘉");
}
// 鏍规嵁杞﹁締绫诲瀷鍒ゆ柇鏄惁闇�瑕侀┚椹惰瘉
@@ -634,7 +633,7 @@
// 瀹℃壒缁撴灉锛歛uditDTO.auditStatus 0=閫氳繃鈫抋uditStatus=1锛�1=鎷掔粷鈫抋uditStatus=2
Integer newAuditStatus;
if (Constants.equalsInteger(auditDTO.getAuditStatus(), Constants.ZERO)) {
- newAuditStatus = Constants.ONE; // 瀹℃壒閫氳繃
+ newAuditStatus = Constants.THREE; // 瀹℃壒閫氳繃
// 瀹℃壒閫氳繃鏃跺徃鏈哄畾绾т负蹇呭~
if (auditDTO.getDriverLevel() == null || auditDTO.getDriverLevel() < 1 || auditDTO.getDriverLevel() > 5) {
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "瀹℃壒閫氳繃鏃跺繀椤诲~鍐欏徃鏈哄畾绾�");
@@ -714,6 +713,17 @@
} else if (Constants.equalsInteger(mf.getObjType(), 8)) {
driverInfo.getOtherImgList().add(mf);
}
+ }
+ }
+ // 鏌ヨ瀹℃壒浜哄悕绉�
+ if (driverInfo.getAuditUser() != null) {
+ try {
+ SystemUser auditUser = systemUserService.findById(driverInfo.getAuditUser());
+ if (auditUser != null) {
+ driverInfo.setAuditUserName(auditUser.getRealname());
+ }
+ } catch (Exception e) {
+ // 瀹℃壒浜哄凡鍒犻櫎绛夊紓甯稿拷鐣�
}
}
return driverInfo;
@@ -812,6 +822,7 @@
vo.setCarCode(driver.getCarCode());
vo.setScore(driver.getScore() != null ? driver.getScore().toPlainString() : "0");
vo.setDriverLevel(driver.getDriverLevel());
+ vo.setDriverLevelName(Constants.getDriverLevelName(driver.getDriverLevel()));
vo.setAuditStatus(driver.getAuditStatus());
vo.setAuditRemark(driver.getAuditRemark());
vo.setBalance(driver.getBalance() != null ? driver.getBalance() : 0L);
@@ -823,7 +834,7 @@
vo.setFullImgUrl(imgPrefix + driver.getImgurl());
}
- // 浠婃棩棰勮浣i噾锛歳evenue琛ㄤ腑浠婂ぉ鐨勬敹鍏ヨ褰曢噾棰濅箣鍜�
+ // 浠婃棩棰勮浣i噾锛氫粖鏃ユ帴鍗曠殑鍙告満浣i噾 + 骞冲彴濂栧姳閲�
Date now = new Date();
Calendar cal = Calendar.getInstance();
cal.setTime(now);
@@ -833,16 +844,16 @@
cal.set(Calendar.MILLISECOND, 0);
Date todayStart = cal.getTime();
- QueryWrapper<Revenue> revenueWrapper = new QueryWrapper<>();
- revenueWrapper.lambda()
- .eq(Revenue::getMemberId, memberId)
- .eq(Revenue::getMemberType, Constants.ONE)
- .eq(Revenue::getOptType, Constants.ONE)
- .eq(Revenue::getDeleted, Constants.ZERO)
- .ge(Revenue::getCreateTime, todayStart);
- revenueWrapper.select("IFNULL(SUM(AMOUNT),0) as amount");
- Revenue sumResult = revenueMapper.selectOne(revenueWrapper);
- vo.setTodayCommission(sumResult != null && sumResult.getAmount() != null ? sumResult.getAmount() : 0L);
+ QueryWrapper<Orders> commissionWrapper = new QueryWrapper<>();
+ commissionWrapper.lambda()
+ .eq(Orders::getAcceptDriver, driver.getId())
+ .eq(Orders::getDeleted, Constants.ZERO)
+ .ge(Orders::getAcceptTime, todayStart);
+ commissionWrapper.select("IFNULL(SUM(DRIVER_FEE),0) as driverFee", "IFNULL(SUM(PLATFORM_REWARD_AMOUNT),0) as platformRewardAmount");
+ Orders commissionResult = ordersMapper.selectOne(commissionWrapper);
+ long driverFee = commissionResult != null && commissionResult.getDriverFee() != null ? commissionResult.getDriverFee() : 0L;
+ long rewardAmount = commissionResult != null && commissionResult.getPlatformRewardAmount() != null ? commissionResult.getPlatformRewardAmount() : 0L;
+ vo.setTodayCommission(driverFee + rewardAmount);
// 浠婃棩鎺ュ崟鏁帮細浠婂ぉ瀹屾垚鐨勮鍗曟暟锛坅cceptDriver=鍙告満涓婚敭锛岀姸鎬�=宸插畬鎴愶級
Long todayOrderCount = ordersMapper.selectCount(new QueryWrapper<Orders>().lambda()
@@ -966,7 +977,7 @@
.select("c2.other_field as c2OtherField")
.select("c2.name as goodLevelName")
// 鏄惁瀛樺湪鐗瑰ぇ灏哄
- .select("IF(EXISTS(SELECT 1 FROM orders_detail od JOIN category c3 ON c3.id = od.LUGGAGE_ID AND c3.TYPE = 4 AND c3.OTHER_FIELD = '1' WHERE od.ORDER_ID = t.ID AND od.DELETED = 0), 1, 0) as hasOversized")
+ .select("IF(EXISTS(SELECT 1 FROM orders_detail od JOIN category c3 ON c3.id = od.LUGGAGE_ID AND c3.TYPE = 4 AND c3.detail = '1' WHERE od.ORDER_ID = t.ID AND od.DELETED = 0), 1, 0) as hasOversized")
// JOIN
.leftJoin("shop_info s1 on s1.id = t.DEPOSIT_SHOP_ID and s1.DELETED = 0")
.leftJoin("shop_info s2 on s2.id = t.TAKE_SHOP_ID and s2.DELETED = 0")
@@ -1109,10 +1120,12 @@
wrapper.selectAll(Orders.class)
.select("s1.name", Orders::getDepositShopName)
.select("s1.address", Orders::getDepositShopAddress)
+ .select("s1.telephone", Orders::getDepositShopLinkPhone)
.select("s2.name", Orders::getTakeShopName)
.select("s2.address", Orders::getTakeShopAddress)
- .select("s2.link_phone as takeShopLinkPhone")
+ .select("s2.telephone", Orders::getTakeShopLinkPhone)
.select("c2.other_field as c2OtherField")
+ .select("c1.name as goodTypeName")
.select("IF(EXISTS(SELECT 1 FROM orders_detail od JOIN category c3 ON c3.id = od.LUGGAGE_ID AND c3.TYPE = 4 AND c3.OTHER_FIELD = '1' WHERE od.ORDER_ID = t.ID AND od.DELETED = 0), 1, 0) as hasOversized")
.leftJoin("shop_info s1 on s1.id = t.DEPOSIT_SHOP_ID and s1.DELETED = 0")
.leftJoin("shop_info s2 on s2.id = t.TAKE_SHOP_ID and s2.DELETED = 0")
@@ -1175,11 +1188,23 @@
vo.setTakeShopId(base.getTakeShopId());
vo.setTakeDistance(base.getTakeDistance());
- vo.setContactPhone(base.getContactPhone());
+
+ // 鑱旂郴鐢佃瘽锛氭寜璁㈠崟鐘舵�佽繑鍥�
+ vo.setDepositShopPhone(order.getDepositShopLinkPhone());
+ if (Constants.equalsInteger(order.getStatus(), Constants.OrderStatus.delivering.getStatus())
+ || Constants.equalsInteger(order.getStatus(), Constants.OrderStatus.arrived.getStatus())) {
+ if (order.getTakeShopId() != null && StringUtils.isNotBlank(order.getTakeShopLinkPhone())) {
+ vo.setTakeContactPhone(order.getTakeShopLinkPhone());
+ } else {
+ vo.setTakeContactPhone(order.getTakePhone());
+ }
+ }
vo.setDriverFee(base.getDriverFee());
vo.setUrgentAmount(base.getUrgentAmount());
+ vo.setPlatformRewardAmount(order.getPlatformRewardAmount());
vo.setIsValuable(base.getIsValuable());
vo.setGoodLevelName(base.getGoodLevelName());
+ vo.setGoodTypeName(order.getGoodTypeName());
vo.setHasOversized(base.getHasOversized());
vo.setDriverVerifyCode(base.getDriverVerifyCode());
@@ -1199,6 +1224,11 @@
// 璇︽儏鐗规湁瀛楁
vo.setStatus(order.getStatus());
vo.setStatusDesc(getStatusDesc(order.getStatus()));
+ vo.setCreateTime(order.getCreateTime());
+ vo.setAcceptTime(order.getAcceptTime());
+ vo.setDriverTakeTime(order.getDriverTakeTime());
+ vo.setFinishTime(order.getFinishTime());
+ vo.setRemark(order.getRemark());
// 瀹㈡埛淇℃伅
String customerInfo = "";
@@ -1211,52 +1241,27 @@
vo.setCustomerInfo(customerInfo);
// 瀵艰埅缁忕含搴︼紙浣跨敤Orders鑷甫鍧愭爣锛�
- if (Constants.equalsInteger(order.getStatus(), Constants.TWO)) {
+ if (Constants.equalsInteger(order.getStatus(), Constants.OrderStatus.accepted.getStatus())) {
if (order.getDepositLgt() != null && order.getDepositLat() != null) {
vo.setNavigateLat(order.getDepositLgt().doubleValue());
vo.setNavigateLng(order.getDepositLat().doubleValue());
}
- } else {
+ } else if(Constants.equalsInteger(order.getStatus(), Constants.OrderStatus.delivering.getStatus())){
if (order.getTakeLgt() != null && order.getTakeLat() != null) {
vo.setNavigateLat(order.getTakeLgt().doubleValue());
vo.setNavigateLng(order.getTakeLat().doubleValue());
}
}
- // 寮傚湴瀵勫瓨瀹炴椂缁忕含搴︼紙鎸夌姸鎬佽繑鍥烇級
- if (Constants.ONE.equals(order.getType())) {
- // 鍙告満鑷韩缁忕含搴�
- vo.setDriverLng(driverLng);
- vo.setDriverLat(driverLat);
-
- // status=3(宸叉帴鍗�)锛氳繑鍥炲瓨浠堕棬搴楃粡绾害
- if (Constants.equalsInteger(order.getStatus(), Constants.OrderStatus.accepted.getStatus())) {
- if (order.getDepositShopId() != null) {
- ShopInfo depositShop = shopInfoMapper.selectById(order.getDepositShopId());
- if (depositShop != null) {
- vo.setDepositShopLng(depositShop.getLongitude());
- vo.setDepositShopLat(depositShop.getLatitude());
- }
- }
- }
- // status=4(閰嶉�佷腑)锛氳繑鍥炲彇浠剁偣缁忕含搴�
- if (Constants.equalsInteger(order.getStatus(), Constants.OrderStatus.delivering.getStatus())) {
- if (order.getTakeShopId() != null) {
- ShopInfo takeShop = shopInfoMapper.selectById(order.getTakeShopId());
- if (takeShop != null) {
- vo.setTakeLng(takeShop.getLongitude());
- vo.setTakeLat(takeShop.getLatitude());
- }
- } else if (order.getTakeLgt() != null && order.getTakeLat() != null) {
- vo.setTakeLng(order.getTakeLgt().doubleValue());
- vo.setTakeLat(order.getTakeLat().doubleValue());
- }
- }
- }
-
+ vo.setDepositShopLng(order.getDepositLgt().doubleValue());
+ vo.setDepositShopLat(order.getDepositLat().doubleValue());
+ vo.setTakeLng(order.getTakeLgt().doubleValue());
+ vo.setTakeLat(order.getTakeLat().doubleValue());
+ vo.setDriverLng(driverLng);
+ vo.setDriverLat(driverLat);
// 涓嬪崟闄勪欢鍥剧墖
String imgPrefix = systemDictDataBiz.queryByCode(Constants.OSS, Constants.RESOURCE_PATH).getCode()
- + systemDictDataBiz.queryByCode(Constants.OSS, Constants.MEMBER_FILES).getCode();
+ + systemDictDataBiz.queryByCode(Constants.OSS, Constants.ORDERS_FILES).getCode();
vo.setOrderImages(getFileUrls(orderId, Constants.FileType.ORDER_FILE.getKey(), imgPrefix));
// 璇勪环淇℃伅
@@ -1297,7 +1302,7 @@
if (!Constants.ONE.equals(order.getType())) {
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "浠呭紓鍦板瘎瀛樿鍗曞彲鍙栨秷");
}
- if (!Constants.TWO.equals(order.getStatus())) {
+ if (!Constants.equalsInteger(Constants.OrderStatus.accepted.getStatus(), order.getStatus())) {
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "褰撳墠璁㈠崟鐘舵�佷笉鍏佽鍙栨秷");
}
if (!driverId.equals(order.getAcceptDriver())) {
@@ -1330,6 +1335,7 @@
.set(Orders::getAcceptDriver, null)
.set(Orders::getAcceptTime, null)
.set(Orders::getAcceptType, null)
+ .set(Orders::getStatus, Constants.OrderStatus.deposited.getStatus())
.eq(Orders::getId, orderId));
// 5. 鍐欏叆鍙栨秷鏃ュ織
@@ -1423,12 +1429,14 @@
// 7. 閫氱煡浼氬憳锛氬徃鏈哄凡鎶㈠崟
sendOrderNotice(order.getMemberId(), Constants.MemberOrderNotify.WAIT_PICKUP_GRABBED, orderId,
+ "orderNo", order.getCode(),
"driverName", driver.getName());
// 閫氱煡瀛樹欢闂ㄥ簵锛氳鍗曞凡鎶㈠崟寰呭彇浠�
if (order.getDepositShopId() != null) {
sendShopNotice(order.getDepositShopId(), Constants.ShopOrderNotify.WAIT_PICKUP, orderId,
- "orderNo", order.getCode());
+ "orderNo", order.getCode(),
+ "name", driver.getName());
}
// 閫氱煡鍙告満锛氭姠鍗曟垚鍔�
@@ -1490,6 +1498,7 @@
// 4. 鏇存柊璁㈠崟鐘舵�佷负娲鹃�佷腑(4)
ordersMapper.update(new UpdateWrapper<Orders>().lambda()
.set(Orders::getStatus, Constants.OrderStatus.delivering.getStatus())
+ .set(Orders::getTakeTime, now)
.set(Orders::getUpdateTime, now)
.eq(Orders::getId, orderId));
@@ -1715,14 +1724,17 @@
vo.setIsUrgent(order.getIsUrgent());
vo.setDriverFee(order.getDriverFee());
vo.setUrgentAmount(order.getUrgentAmount());
+ vo.setPlatformRewardAmount(order.getPlatformRewardAmount());
// 瀛樹欢闂ㄥ簵锛堜娇鐢∣rders鑷甫鍧愭爣锛�
vo.setDepositShopName(order.getDepositShopName());
vo.setDepositShopAddress(order.getDepositShopAddress());
+ vo.setDepositLng(order.getDepositLgt() != null ? order.getDepositLgt().doubleValue() : null);
+ vo.setDepositLat(order.getDepositLat() != null ? order.getDepositLat().doubleValue() : null);
if (needDepositDist && driverLat != null && driverLng != null
&& order.getDepositLgt() != null && order.getDepositLat() != null) {
- double distKm = haversine(driverLat, driverLng,
- order.getDepositLgt().doubleValue(), order.getDepositLat().doubleValue());
+ double distKm = haversine(driverLat, driverLng, order.getDepositLat().doubleValue(),
+ order.getDepositLgt().doubleValue());
vo.setDepositDistance(formatDistance(distKm));
}
@@ -1738,10 +1750,12 @@
vo.setTakeAddress(order.getTakeLocationRemark());
vo.setContactPhone(order.getTakePhone());
}
+ vo.setTakeLng(order.getTakeLgt() != null ? order.getTakeLgt().doubleValue() : null);
+ vo.setTakeLat(order.getTakeLat() != null ? order.getTakeLat().doubleValue() : null);
if (driverLat != null && driverLng != null
&& order.getTakeLgt() != null && order.getTakeLat() != null) {
- double takeDist = haversine(driverLat, driverLng,
- order.getTakeLgt().doubleValue(), order.getTakeLat().doubleValue());
+ double takeDist = haversine(driverLat, driverLng, order.getTakeLat().doubleValue(),
+ order.getTakeLgt().doubleValue());
vo.setTakeDistance(formatDistance(takeDist));
}
@@ -1754,6 +1768,11 @@
if (Constants.equalsInteger(order.getStatus(), Constants.THREE)||Constants.equalsInteger(order.getStatus(), Constants.FOUR)) {
vo.setDriverVerifyCode(order.getDriverVerifyCode());
}
+
+ // 璁㈠崟鐘舵��
+ vo.setStatus(order.getStatus());
+ vo.setStatusDesc(getStatusDesc(order.getStatus()));
+ vo.setCreateTime(order.getCreateTime());
// 鐗╁搧鏄庣粏
List<OrdersDetail> details = detailMap.getOrDefault(order.getId(), Collections.emptyList());
@@ -1797,19 +1816,16 @@
for (int i = 0; i < paramPairs.length - 1; i += 2) {
templateParam.put(paramPairs[i], paramPairs[i + 1]);
}
- boolean result = AliSmsService.sendSms(phone, smsNotify.getTemplateCode(),
+ String error = AliSmsService.sendSms(phone, smsNotify.getTemplateCode(),
templateParam.toJSONString());
- if (result) {
- log.info("鐭俊鍙戦�佹垚鍔�: phone={}, template={}", phone, smsNotify.name());
- } else {
- log.warn("鐭俊鍙戦�佸け璐�: phone={}, template={}", phone, smsNotify.name());
- }
- // 瀛樺偍鐭俊璁板綍
Smsrecord record = new Smsrecord();
record.setPhone(phone);
record.setContent(content);
- record.setType(Constants.ONE); // 1=璁㈠崟閫氱煡
- record.setStatus(result ? Constants.ONE : Constants.ZERO);
+ record.setType(Constants.ONE);
+ record.setStatus(error == null ? Constants.ONE : Constants.ZERO);
+ if (error != null) {
+ record.setRemark(error);
+ }
record.setCreateTime(new Date());
record.setDeleted(Constants.ZERO);
smsrecordMapper.insert(record);
@@ -1821,6 +1837,7 @@
record.setContent(content);
record.setType(Constants.ONE);
record.setStatus(Constants.ZERO);
+ record.setRemark(e.getMessage());
record.setCreateTime(new Date());
record.setDeleted(Constants.ZERO);
smsrecordMapper.insert(record);
@@ -1829,11 +1846,14 @@
}
@Override
- public void changePassword(Integer driverId, String newPassword, String token) {
- if (StringUtils.isBlank(newPassword)) {
- throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "瀵嗙爜涓嶈兘涓虹┖");
+ public void changePassword(Integer driverId, String oldPassword, String newPassword, String token) {
+ if (StringUtils.isBlank(oldPassword)) {
+ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "鏃у瘑鐮佷笉鑳戒负绌�");
}
- // 鏍¢獙瀵嗙爜蹇呴』鍚屾椂鍖呭惈瀛楁瘝鍜屾暟瀛�
+ if (StringUtils.isBlank(newPassword)) {
+ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "鏂板瘑鐮佷笉鑳戒负绌�");
+ }
+ // 鏍¢獙鏂板瘑鐮佸繀椤诲悓鏃跺寘鍚瓧姣嶅拰鏁板瓧
boolean hasLetter = newPassword.chars().anyMatch(Character::isLetter);
boolean hasDigit = newPassword.chars().anyMatch(Character::isDigit);
if (!hasLetter || !hasDigit) {
@@ -1847,6 +1867,11 @@
Member member = memberMapper.selectById(driverInfo.getMemberId());
if (member == null) {
throw new BusinessException(ResponseStatus.DATA_EMPTY);
+ }
+ // 鏍¢獙鏃у瘑鐮�
+ String oldEncryptPwd = secure.encryptPassword(oldPassword, member.getSalt());
+ if (!oldEncryptPwd.equals(member.getPassword())) {
+ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "鏃у瘑鐮侀敊璇�");
}
// 鍔犲瘑鏂板瘑鐮佸苟鏇存柊
String salt = RandomStringUtils.randomAlphanumeric(6);
@@ -1893,6 +1918,7 @@
List<Integer> validStatuses = Arrays.asList(
Constants.OrderStatus.accepted.getStatus(),
Constants.OrderStatus.delivering.getStatus(),
+ Constants.OrderStatus.arrived.getStatus(),
Constants.OrderStatus.finished.getStatus());
if (status != null && !validStatuses.contains(status)) {
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "鐘舵�佸彧鑳戒负3(寰呭彇浠�)銆�4(閰嶉�佷腑)銆�7(宸插畬鎴�)");
@@ -1990,4 +2016,26 @@
return vo;
}
+ @Override
+ public boolean checkDriverToken(String token) {
+ if (StringUtils.isBlank(token) || !token.startsWith(Constants.ONE + "")) {
+ return false;
+ }
+ String tokenRedis = (String) redisTemplate.opsForValue().get(Constants.REDIS_TOKEN_KEY + token);
+ if (StringUtils.isBlank(tokenRedis)) {
+ return false;
+ }
+ try {
+ int lastIndex = token.lastIndexOf("_") + 1;
+ Integer memberId = Integer.valueOf(token.substring(lastIndex));
+ Member member = memberMapper.selectById(memberId);
+ return member != null
+ && !Constants.ONE.equals(member.getDeleted())
+ && !Constants.ONE.equals(member.getStatus())
+ && Constants.ONE.equals(member.getUserType());
+ } catch (Exception e) {
+ return false;
+ }
+ }
+
}
--
Gitblit v1.9.3