From e39dda2f25df9680e66c9e0dd3a606149e21bcc5 Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期三, 22 四月 2026 20:06:37 +0800
Subject: [PATCH] 代码生成
---
server/services/src/main/java/com/doumee/service/business/impl/DriverInfoServiceImpl.java | 119 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 119 insertions(+), 0 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 b0b876c..548fc41 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
@@ -15,9 +15,11 @@
import com.doumee.dao.business.DriverInfoMapper;
import com.doumee.dao.business.MemberMapper;
import com.doumee.dao.business.MultifileMapper;
+import com.doumee.dao.business.OrderCommentMapper;
import com.doumee.dao.business.SmsrecordMapper;
import com.doumee.dao.business.CategoryMapper;
import com.doumee.dao.business.OrdersMapper;
+import com.doumee.dao.business.ShopInfoMapper;
import com.doumee.dao.business.OrdersDetailMapper;
import com.doumee.dao.business.RevenueMapper;
import com.doumee.biz.system.SystemDictDataBiz;
@@ -26,6 +28,8 @@
import com.doumee.dao.business.model.Category;
import com.doumee.dao.business.model.DriverInfo;
import com.doumee.dao.business.model.OrderLog;
+import com.doumee.dao.business.model.OrderComment;
+import com.doumee.dao.business.model.ShopInfo;
import com.doumee.dao.business.model.Member;
import com.doumee.dao.business.model.Multifile;
import com.doumee.dao.business.model.Smsrecord;
@@ -43,6 +47,7 @@
import com.doumee.service.business.NoticeService;
import com.alibaba.fastjson.JSONObject;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.RandomStringUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -59,6 +64,7 @@
* @author rk
* @date 2026/04/08
*/
+@Slf4j
@Service
public class DriverInfoServiceImpl implements DriverInfoService {
@@ -88,6 +94,12 @@
@Autowired
private OrdersMapper ordersMapper;
+
+ @Autowired
+ private ShopInfoMapper shopInfoMapper;
+
+ @Autowired
+ private OrderCommentMapper orderCommentMapper;
@Autowired
private RevenueMapper revenueMapper;
@@ -1114,10 +1126,59 @@
}
}
+ // 寮傚湴瀵勫瓨瀹炴椂缁忕含搴︼紙鎸夌姸鎬佽繑鍥烇級
+ 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());
+ }
+ }
+ }
+
// 涓嬪崟闄勪欢鍥剧墖
String imgPrefix = systemDictDataBiz.queryByCode(Constants.OSS, Constants.RESOURCE_PATH).getCode()
+ systemDictDataBiz.queryByCode(Constants.OSS, Constants.MEMBER_FILES).getCode();
vo.setOrderImages(getFileUrls(orderId, Constants.FileType.ORDER_FILE.getKey(), imgPrefix));
+
+ // 璇勪环淇℃伅
+ vo.setCommentStatus(order.getCommentStatus());
+ if (Constants.equalsInteger(order.getCommentStatus(), Constants.ONE)) {
+ vo.setCommentTime(order.getCommentTime());
+ // 鏌ヨ鍙告満璇勪环璁板綍
+ OrderComment driverComment = orderCommentMapper.selectOne(new QueryWrapper<OrderComment>().lambda()
+ .eq(OrderComment::getOrderId, orderId)
+ .eq(OrderComment::getTargetType, Constants.THREE)
+ .eq(OrderComment::getDeleted, Constants.ZERO)
+ .last("limit 1"));
+ if (driverComment != null) {
+ vo.setDriverScore(driverComment.getScore());
+ vo.setCommentContent(driverComment.getContent());
+ }
+ // 璇勪环闄勪欢鍥剧墖
+ vo.setCommentImages(getFileUrls(orderId, Constants.FileType.COMMENT_ATTACH.getKey(), imgPrefix));
+ }
return vo;
}
@@ -1276,6 +1337,12 @@
sendDriverNotice(driverId, Constants.DriverOrderNotify.WAIT_DELIVER, orderId,
"orderNo", order.getCode(),
"shopName", shopName != null ? shopName : "");
+
+ // 鐭俊閫氱煡鍙告満锛氭姠鍗曟垚鍔燂紝寰呭彇浠�
+ String pickupAddress = order.getDepositShopAddress() != null ? order.getDepositShopAddress() : order.getDepositLocation();
+ sendSmsNotify(driver.getTelephone(), Constants.SmsNotify.DRIVER_WAIT_PICKUP,
+ "orderNo", order.getCode(),
+ "address", pickupAddress != null ? pickupAddress : "");
}
@Override
@@ -1355,6 +1422,14 @@
// 閫氱煡鍙告満锛氬凡鍙栦欢閰嶉�佷腑
sendDriverNotice(driverId, Constants.DriverOrderNotify.DELIVERING, orderId,
"orderNo", order.getCode());
+
+ // 鐭俊閫氱煡浼氬憳锛氬徃鏈哄凡鍙栦欢锛岄厤閫佷腑
+ Member deliveringMember = memberMapper.selectById(order.getMemberId());
+ if (deliveringMember != null) {
+ sendSmsNotify(deliveringMember.getTelephone(), Constants.SmsNotify.MEMBER_DELIVERING,
+ "orderNo", order.getCode(),
+ "name", driver.getName());
+ }
}
@Override
@@ -1567,4 +1642,48 @@
return vo;
}
+ /**
+ * 鍙戦�佺煭淇¢�氱煡锛堝け璐ヤ笉褰卞搷涓讳笟鍔★級
+ */
+ private void sendSmsNotify(String phone, Constants.SmsNotify smsNotify, String... paramPairs) {
+ if (StringUtils.isBlank(phone)) {
+ return;
+ }
+ String content = smsNotify.format(paramPairs);
+ try {
+ JSONObject templateParam = new JSONObject();
+ for (int i = 0; i < paramPairs.length - 1; i += 2) {
+ templateParam.put(paramPairs[i], paramPairs[i + 1]);
+ }
+ boolean result = 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.setCreateTime(new Date());
+ record.setDeleted(Constants.ZERO);
+ smsrecordMapper.insert(record);
+ } catch (Exception e) {
+ log.error("鐭俊鍙戦�佸紓甯�: phone={}, template={}, error={}", phone, smsNotify.name(), e.getMessage());
+ try {
+ Smsrecord record = new Smsrecord();
+ record.setPhone(phone);
+ record.setContent(content);
+ record.setType(Constants.ONE);
+ record.setStatus(Constants.ZERO);
+ record.setCreateTime(new Date());
+ record.setDeleted(Constants.ZERO);
+ smsrecordMapper.insert(record);
+ } catch (Exception ignored) {}
+ }
+ }
+
}
--
Gitblit v1.9.3