小问题修复

This commit is contained in:
Jack 2025-09-30 00:23:16 +08:00
parent 2a4dfe2b24
commit ce85d72cee
8 changed files with 67 additions and 13 deletions

View File

@ -39,6 +39,7 @@ import com.suisung.mall.shop.lakala.utils.LakalaUtil;
import com.suisung.mall.shop.message.service.PushMessageService;
import com.suisung.mall.shop.message.service.ShopMessageTemplateService;
import com.suisung.mall.shop.order.service.ShopOrderBaseService;
import com.suisung.mall.shop.order.service.ShopOrderInfoService;
import com.suisung.mall.shop.order.service.ShopOrderLklService;
import com.suisung.mall.shop.page.service.OssService;
import com.suisung.mall.shop.store.service.ShopMchEntryService;
@ -153,6 +154,10 @@ public class LakalaApiServiceImpl implements LakalaApiService {
@Resource
private ShopOrderBaseService shopOrderBaseService;
@Lazy
@Resource
private ShopOrderInfoService shopOrderInfoService;
@Lazy
@Resource
private PushMessageService pushMessageService;
@ -772,7 +777,7 @@ public class LakalaApiServiceImpl implements LakalaApiService {
/**
* 发货类交易确认收货通知处理
* 发货类交易确认收货通知处理 微信通知拉卡拉拉卡拉通知我们系统已经完成确认收货
* <p>
* 参考文档https://o.lakala.com/#/home/document/detail?id=1003
* </p>
@ -2825,8 +2830,12 @@ public class LakalaApiServiceImpl implements LakalaApiService {
if (CollUtil.isNotEmpty(detailDatas)) {
int idx = 1;
for (JSONObject detailData : detailDatas.jsonIter()) {
String recvNo = detailData.getStr("recv_no");
String amt = detailData.getStr("amt");
if (detailData == null || detailData.isEmpty()) {
continue;
}
String recvNo = Convert.toStr(detailData.get("recv_no"), "");
String amt = Convert.toStr(detailData.get("amt"), "");
if (StrUtil.isNotBlank(recvNo) && StrUtil.isNotBlank(amt)) {
String outSeparateNoTemp = String.format("%s_%d", outSeparateNo, idx);
Boolean drawSuccess = ewalletWithDrawD1(recvNo, outSeparateNoTemp, amt, JSONUtil.toJsonStr(detailDatas));

View File

@ -81,4 +81,12 @@ public interface ShopOrderInfoService extends IBaseService<ShopOrderInfo> {
*/
CommonResult orderPickingCompleted(String storeId, String orderId);
/**
* 确认收货之后更改订单的收货状态
*
* @param orderId 订单ID
* @return Boolean 更新是否成功
*/
Boolean updateOrderReceived(String orderId);
}

View File

@ -2374,10 +2374,10 @@ public class ShopOrderBaseServiceImpl extends BaseServiceImpl<ShopOrderBaseMappe
shopOrderInfo.setOrder_is_shipped(StateCode.ORDER_SHIPPED_STATE_YES);
queryWrapper.eq("order_state_id", order_state_id).in("order_is_shipped", Arrays.asList(StateCode.ORDER_SHIPPED_STATE_NO, StateCode.ORDER_SHIPPED_STATE_PART)).eq("order_is_received", 0);
break;
case StateCode.ORDER_STATE_SHIPPED: // 待收获确认
shopOrderInfo.setOrder_is_received(CommonConstant.Enable);
shopOrderInfo.setOrder_settlement_time(time);
shopOrderInfo.setOrder_qs_time(time);
case StateCode.ORDER_STATE_SHIPPED: // 待收货确认已发货
shopOrderInfo.setOrder_is_received(CommonConstant.Enable); // 已收货
shopOrderInfo.setOrder_settlement_time(time); // 结单时间
shopOrderInfo.setOrder_qs_time(time); // 签收时间
queryWrapper.eq("order_state_id", order_state_id).eq("order_is_received", CommonConstant.Disable);
break;
default:
@ -5025,6 +5025,9 @@ public class ShopOrderBaseServiceImpl extends BaseServiceImpl<ShopOrderBaseMappe
String order_id = order_row.getOrder_id();
Integer store_id = order_row.getStore_id();
// 更改订单收货状态为已确认收货如果状态已是不更改
shopOrderInfoService.updateOrderReceived(order_id);
ShopOrderData order_data_row = shopOrderDataService.get(order_id);
if (order_data_row == null) {
log.warn("[确认收货] 无法获取订单数据: orderId={}", order_id);

View File

@ -479,6 +479,41 @@ public class ShopOrderInfoServiceImpl extends BaseServiceImpl<ShopOrderInfoMappe
return CommonResult.success(data);
}
/**
* 确认收货之后更改订单的收货状态
*
* @param orderId 订单ID
* @return Boolean 更新是否成功
*/
@Override
public Boolean updateOrderReceived(String orderId) {
// 参数校验
if (orderId == null) {
logger.warn("[确认收货] 参数校验失败订单ID为空");
return false;
}
try {
UpdateWrapper<ShopOrderInfo> updateWrapper = new UpdateWrapper<>();
updateWrapper.eq("order_id", orderId)
.ne("order_is_received", CommonConstant.Enable);
updateWrapper.set("order_is_received", CommonConstant.Enable)
.set("order_deal_time", System.currentTimeMillis());
boolean result = update(updateWrapper);
if (result) {
logger.info("[确认收货] 订单收货状态更新成功, orderId={}", orderId);
} else {
logger.warn("[确认收货] 订单收货状态更新失败, orderId={}", orderId);
}
return result;
} catch (Exception e) {
logger.error("[确认收货] 订单收货状态更新异常, orderId={}", orderId, e);
return false;
}
}
// todo 优化多次远程查询
private Map dashboardPlantform() {
List<Integer> order_state = Arrays.asList(

View File

@ -263,7 +263,7 @@ public class SFExpressApiServiceImpl implements SFExpressApiService {
//汽配 18:珠宝 20:披萨 21:中餐 22:水产 27:专人直送 32:中端饮品 33:便利店 34:面包糕点 35:火锅 36:证照 40:烧烤小龙虾 41:外部落地配 47:烟酒
// 48:成人用品 99:其他
// 经营类型: 快餐,百货,生鲜,高端饮品,蛋糕,鲜花,数码,服装,披萨,水产,中端饮品,便利店,面包糕点,烟酒,其他
params.put("shop_product_types", "1,3,6,8,13,14,15,16,20,22,32,33,34,47,99");
params.put("shop_product_types", "33"); //"1,3,6,8,13,14,15,16,20,22,32,33,34,47,99"
params.put("shop_type", 1); // 店铺类型: 1-普通型 2-平台型
params.put("shop_address", shopAddress); // 店铺地址
params.put("longitude", longitude); // 经度
@ -1014,7 +1014,8 @@ public class SFExpressApiServiceImpl implements SFExpressApiService {
orderStatus = StateCode.ORDER_STATE_RECEIVED; //已签收
// 通知微信用户确认收货(同城配送不能调用微信的确认收货)
// wxOrderShippingService.notifyConfirmReceive(shopStoreSfOrder.getShop_order_id());
wxOrderShippingService.notifyConfirmReceive(shopStoreSfOrder.getShop_order_id());
// 不要提前 订单确认收货等微信拉卡拉确认通知
// try {
// shopOrderBaseService.receive(shopOrderId, null);

View File

@ -259,7 +259,6 @@ public class ShopStorePrinterServiceImpl extends BaseServiceImpl<ShopStorePrinte
return CommonResult.failed("打票机不存在,无法操作!");
}
if (CommonConstant.Enable.equals(status)) {
// 向厂家新增打印机
// 格式"922441475#r6ZXPvHH#核销柜台";
@ -413,7 +412,6 @@ public class ShopStorePrinterServiceImpl extends BaseServiceImpl<ShopStorePrinte
return find(queryWrapper);
}
/**
* 测试打印
**/

View File

@ -410,6 +410,7 @@ public class ShopStoreSameCityTransportBaseServiceImpl extends BaseServiceImpl<S
transportBase.setStore_longitude(storeBase.getStore_longitude());
transportBase.setStore_latitude(storeBase.getStore_latitude());
transportBase.setStore_address(storeBase.getStore_address());
transportBase.setBusiness_type(33); // 默认经营分类顺丰同城的便利店
// 保存或更新基础配送信息
Pair<Long, String> saveOrUpdateResult = saveOrUpdateShopStoreSameCityTransportBase(transportBase);

View File

@ -237,8 +237,7 @@ public class WxOrderShippingServiceImpl implements WxOrderShippingService {
// 跳转链接设置
setMsgJumpPath(orderId);
log.info("通知微信用户确认收货成功, 订单ID: {}", orderId);
return Pair.of(true, "通知微信用户确认收货成功");