From cf17c2f7012fc4351f66c71d66a4aa3a9fe9e34a Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期四, 30 四月 2026 15:24:17 +0800
Subject: [PATCH] 代码生成
---
server/services/src/main/java/com/doumee/service/business/impl/DriverInfoServiceImpl.java | 163 +++++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 124 insertions(+), 39 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 6617be5..e6aab3c 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);
@@ -407,6 +406,7 @@
driverInfo.setMemberId(member.getId());
driverInfo.setStatus(Constants.ZERO);
driverInfo.setAuditStatus(99);
+ driverInfo.setJpushAlias(org.springframework.util.DigestUtils.md5DigestAsHex(telephone.getBytes()));
driverInfoMapper.insert(driverInfo);
}
@@ -582,6 +582,7 @@
if (Objects.nonNull(category)) {
driverInfo.setCarTypeName(category.getName());
driverInfo.setNeedLicense(Constants.equalsInteger(Integer.valueOf(category.getOtherField()), Constants.ONE) ? Constants.ONE : Constants.ZERO);
+ driverInfo.setDriverType(category.getDetail());
}
}
// 鏌ヨ鐪佸競鍖轰俊鎭�
@@ -716,7 +717,67 @@
}
}
}
+ // 鏌ヨ瀹℃壒浜哄悕绉�
+ if (driverInfo.getAuditUser() != null) {
+ try {
+ SystemUser auditUser = systemUserService.findById(driverInfo.getAuditUser());
+ if (auditUser != null) {
+ driverInfo.setAuditUserName(auditUser.getRealname());
+ }
+ } catch (Exception e) {
+ // 瀹℃壒浜哄凡鍒犻櫎绛夊紓甯稿拷鐣�
+ }
+ }
return driverInfo;
+ }
+
+ @Override
+ public DriverInfo updateDriverInfo(DriverVerifyRequest request) {
+ Integer id = request.getId();
+ if (id == null) {
+ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "鍙告満涓婚敭涓嶈兘涓虹┖");
+ }
+ DriverInfo driverInfo = driverInfoMapper.selectById(id);
+ if (Objects.isNull(driverInfo) || Constants.equalsInteger(driverInfo.getDeleted(), Constants.ONE)) {
+ throw new BusinessException(ResponseStatus.DATA_EMPTY);
+ }
+ Date now = new Date();
+ driverInfoMapper.update(new UpdateWrapper<DriverInfo>().lambda()
+ .set(DriverInfo::getName, request.getName())
+ .set(DriverInfo::getIdcard, request.getIdcard())
+ .set(DriverInfo::getMaritalStatus, request.getMaritalStatus())
+ .set(DriverInfo::getAreaId, request.getAreaId())
+ .set(DriverInfo::getLivePlace, request.getLivePlace())
+ .set(DriverInfo::getCarCode, request.getCarCode())
+ .set(DriverInfo::getCarType, request.getCarType())
+ .set(DriverInfo::getCarColor, request.getCarColor())
+ .set(DriverInfo::getCardStartDate, request.getCardStartDate())
+ .set(DriverInfo::getCardEndDate, request.getCardEndDate())
+ .set(DriverInfo::getIdcardImg, request.getIdcardImg())
+ .set(DriverInfo::getIdcardImgBack, request.getIdcardImgBack())
+ .set(DriverInfo::getAliAccount, request.getAliAccount())
+ .set(DriverInfo::getAliName, request.getAliName())
+ .set(DriverInfo::getUpdateTime, now)
+ .eq(DriverInfo::getId, id));
+
+ // 鍒犻櫎鏃х殑鐓х墖璁板綍骞朵繚瀛樻柊鐨�
+ multifileMapper.delete(new QueryWrapper<Multifile>().lambda()
+ .eq(Multifile::getObjId, id)
+ .in(Multifile::getObjType,
+ Constants.FileType.DRIVER_CAR.getKey(),
+ Constants.FileType.DRIVER_LICENSE.getKey(),
+ Constants.FileType.DRIVER_OTHER.getKey()));
+ if (!CollectionUtils.isEmpty(request.getCarImgUrls())) {
+ saveMultifileList(id, Constants.FileType.DRIVER_CAR.getKey(), request.getCarImgUrls(), now);
+ }
+ if (!CollectionUtils.isEmpty(request.getLicenseImgUrls())) {
+ saveMultifileList(id, Constants.FileType.DRIVER_LICENSE.getKey(), request.getLicenseImgUrls(), now);
+ }
+ if (!CollectionUtils.isEmpty(request.getOtherImgUrls())) {
+ saveMultifileList(id, Constants.FileType.DRIVER_OTHER.getKey(), request.getOtherImgUrls(), now);
+ }
+
+ return getDetail(id);
}
@Override
@@ -812,6 +873,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);
@@ -822,8 +884,11 @@
+ systemDictDataBiz.queryByCode(Constants.OSS, Constants.MEMBER_FILES).getCode();
vo.setFullImgUrl(imgPrefix + driver.getImgurl());
}
-
- // 浠婃棩棰勮浣i噾锛歳evenue琛ㄤ腑浠婂ぉ鐨勬敹鍏ヨ褰曢噾棰濅箣鍜�
+ Category category = categoryMapper.selectById(driver.getCarType());
+ if(Objects.nonNull(category)&&StringUtils.isNotBlank(category.getDetail())){
+ vo.setDriverType(category.getDetail());
+ }
+ // 浠婃棩棰勮浣i噾锛氫粖鏃ユ帴鍗曠殑鍙告満浣i噾 + 骞冲彴濂栧姳閲�
Date now = new Date();
Calendar cal = Calendar.getInstance();
cal.setTime(now);
@@ -833,16 +898,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 +1031,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")
@@ -1064,14 +1129,15 @@
.select("s1.address", Orders::getDepositShopAddress)
.select("s2.name", Orders::getTakeShopName)
.select("s2.address", Orders::getTakeShopAddress)
+ .select("s1.link_phone", Orders::getDepositShopLinkPhone)
.select("s2.link_phone as takeShopLinkPhone")
.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")
- .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")
- .leftJoin("category c1 on c1.id = t.GOOD_TYPE and c1.DELETED = 0")
- .leftJoin("category c2 on c2.id = c1.RELATION_ID and c2.DELETED = 0 and c2.TYPE = 3")
+ .leftJoin("shop_info s1 on s1.id = t.DEPOSIT_SHOP_ID ")
+ .leftJoin("shop_info s2 on s2.id = t.TAKE_SHOP_ID ")
+ .leftJoin("category c1 on c1.id = t.GOOD_TYPE ")
+ .leftJoin("category c2 on c2.id = c1.RELATION_ID and c2.TYPE = 3")
.eq(Orders::getAcceptDriver, driver.getId())
.eq(Orders::getType, Constants.ONE)
.eq(Objects.nonNull(dto.getStatus()),Orders::getStatus, dto.getStatus())
@@ -1113,7 +1179,7 @@
.select("s2.name", Orders::getTakeShopName)
.select("s2.address", Orders::getTakeShopAddress)
.select("s2.telephone", Orders::getTakeShopLinkPhone)
- .select("c2.other_field as c2OtherField")
+ .select("c1.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")
@@ -1418,6 +1484,7 @@
// 7. 閫氱煡浼氬憳锛氬徃鏈哄凡鎶㈠崟
sendOrderNotice(order.getMemberId(), Constants.MemberOrderNotify.WAIT_PICKUP_GRABBED, orderId,
+ "orderNo", order.getCode(),
"driverName", driver.getName());
// 閫氱煡瀛樹欢闂ㄥ簵锛氳鍗曞凡鎶㈠崟寰呭彇浠�
@@ -1726,17 +1793,15 @@
vo.setDepositDistance(formatDistance(distKm));
}
- // 鍙栦欢淇℃伅 + 鑱旂郴鐢佃瘽锛堜娇鐢∣rders鑷甫鍧愭爣锛�
+ // 鍙栦欢淇℃伅锛堜娇鐢∣rders鑷甫鍧愭爣锛�
boolean hasTakeShop = order.getTakeShopId() != null && StringUtils.isNotBlank(order.getTakeShopName());
if (hasTakeShop) {
vo.setTakeName(order.getTakeShopName());
vo.setTakeAddress(order.getTakeShopAddress());
vo.setTakeShopId(order.getTakeShopId());
- vo.setContactPhone(order.getTakeShopLinkPhone());
} else {
vo.setTakeName(order.getTakeLocation());
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);
@@ -1761,6 +1826,19 @@
vo.setStatus(order.getStatus());
vo.setStatusDesc(getStatusDesc(order.getStatus()));
vo.setCreateTime(order.getCreateTime());
+
+ // 鑱旂郴鐢佃瘽锛堟寜璁㈠崟鐘舵�侊級
+ if (Constants.equalsInteger(order.getStatus(), Constants.THREE)) {
+ vo.setContactPhone(order.getDepositShopLinkPhone());
+ } else if (Constants.equalsInteger(order.getStatus(), Constants.FOUR)) {
+ if (hasTakeShop) {
+ vo.setContactPhone(order.getTakeShopLinkPhone());
+ } else {
+ vo.setContactPhone(order.getTakePhone());
+ }
+ } else if (Constants.equalsInteger(order.getStatus(), Constants.FIVE)) {
+ vo.setContactPhone(order.getTakePhone());
+ }
// 鐗╁搧鏄庣粏
List<OrdersDetail> details = detailMap.getOrDefault(order.getId(), Collections.emptyList());
@@ -1804,19 +1882,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);
@@ -1828,6 +1903,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);
@@ -1920,7 +1996,8 @@
.select("s1.name", Orders::getDepositShopName)
.select("s1.address", Orders::getDepositShopAddress)
.select("s2.name", Orders::getTakeShopName)
- .select("s2.address", Orders::getTakeShopAddress)
+ .select("s2.address", Orders::getDepositShopAddress)
+ .select("s1.link_phone as takeShopLinkPhone")
.select("s2.link_phone as takeShopLinkPhone")
.select("c2.other_field as c2OtherField")
.select("c2.name as goodLevelName")
@@ -2028,4 +2105,12 @@
}
}
+ @Override
+ public void registerJpushAlias(Integer driverId, String jpushAlias) {
+ DriverInfo update = new DriverInfo();
+ update.setId(driverId);
+ update.setJpushAlias(jpushAlias);
+ driverInfoMapper.updateById(update);
+ }
+
}
--
Gitblit v1.9.3