redis 配置修正,其他业务类 不能注入的问题

This commit is contained in:
Jack 2025-09-23 23:09:28 +08:00
parent 1d3fa6ebad
commit 872984f574
5 changed files with 56 additions and 24 deletions

View File

@ -26,8 +26,13 @@ public class RedisConfig extends BaseRedisConfig {
}
@Bean
MessageListenerAdapter keyExpiredListener() {
return new MessageListenerAdapter(new RedisKeyExpiredListener());
MessageListenerAdapter keyExpiredListener(RedisKeyExpiredListener redisKeyExpiredListener) {
return new MessageListenerAdapter(redisKeyExpiredListener);
}
@Bean
public RedisKeyExpiredListener redisKeyExpiredListener() {
return new RedisKeyExpiredListener();
}
// /**

View File

@ -45,7 +45,6 @@ import com.suisung.mall.shop.store.service.ShopMchEntryService;
import com.suisung.mall.shop.store.service.ShopStoreBaseService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.time.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Lazy;
import org.springframework.data.util.Pair;
@ -103,19 +102,19 @@ public class LakalaApiServiceImpl implements LakalaApiService {
private String TENGXUN_DEFAULT_DIR;
@Lazy
@Autowired
@Resource
private ShopService shopService;
@Lazy
@Autowired
@Resource
private LklLedgerMemberService lklLedgerMemberService;
@Lazy
@Autowired
@Resource
private LklLedgerReceiverService lklLedgerReceiverService;
@Lazy
@Autowired
@Resource
private LklLedgerMerReceiverBindService lklLedgerMerReceiverBindService;
@Lazy
@ -135,7 +134,7 @@ public class LakalaApiServiceImpl implements LakalaApiService {
private ShopStoreBaseService shopStoreBaseService;
@Lazy
@Autowired
@Resource
private LklLedgerEcService lklLedgerEcService;
@Lazy

View File

@ -33,6 +33,7 @@ import java.util.stream.Collectors;
public class PushMessageServiceImpl implements PushMessageService {
private static final String appName = "小发同城";
@Lazy
@Resource
private UniCloudPushService uniCloudPushService;

View File

@ -16,7 +16,6 @@ import com.suisung.mall.common.constant.CommonConstant;
import com.suisung.mall.common.constant.RedisConstant;
import com.suisung.mall.shop.message.service.PushMessageService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.annotation.Lazy;
import org.springframework.data.redis.connection.Message;
import org.springframework.data.redis.connection.MessageListener;
@ -25,7 +24,6 @@ import javax.annotation.Resource;
@Slf4j
public class RedisKeyExpiredListener implements MessageListener {
@Lazy
@Resource
private PushMessageService pushMessageService;
@ -93,8 +91,9 @@ public class RedisKeyExpiredListener implements MessageListener {
/**
* 处理订单超时消息
*
* @param storeId 店铺ID
* @param orderId 订单ID
* @param storeId 店铺ID
* @param orderId 订单ID
* @param willExpire 此刻还是即将
* @return 处理结果
*/
private boolean handleOrderExpiredMessage(String storeId, String orderId, boolean willExpire) {
@ -122,7 +121,7 @@ public class RedisKeyExpiredListener implements MessageListener {
return false;
}
String title = "有一笔" + addWord + "的订单!";
String title = "有一笔" + addWord + "超时的订单!";
String content = "您有一笔" + addWord + "超时的订单[" + orderId + "],请及时处理。";
log.debug("[订单{}超时处理] 准备推送消息. 标题: {}, 内容: {}", addWord, title, content);

View File

@ -632,43 +632,61 @@ public class ShopOrderBaseServiceImpl extends BaseServiceImpl<ShopOrderBaseMappe
}
/**
* 订单详情
* 获取订单详情
*
* @return
* @param order_id 订单ID
* @return 订单详情数据
*/
@Override
public Map detail(String order_id) {
log.debug("开始获取订单详情订单ID: {}", order_id);
Map data = new HashMap();
List<String> order_ids = Convert.toList(String.class, order_id);
if (CollUtil.isEmpty(order_ids)) {
log.warn("订单ID列表为空");
return data;
}
// 获取订单信息
Map row = Convert.toMap(String.class, Object.class, get(order_ids.get(0)));
if (CollUtil.isEmpty(row)) {
log.warn("订单信息不存在订单ID: {}", order_ids.get(0));
throw new ApiException(I18nUtil._("订单不存在!"));
}
//买家订单或者 // todo 分销订单
UserDto user = getCurrentUser();
if (user == null) {
log.warn("用户信息异常");
throw new ApiUserException(I18nUtil._("用户信息异常!"));
}
Integer user_id = user.getId();
log.debug("当前用户ID: {}", user_id);
QueryWrapper<ShopDistributionUserOrder> userOrderQueryWrapper = new QueryWrapper<>();
userOrderQueryWrapper.eq("user_id", user_id).in("order_id", order_ids);
ShopDistributionUserOrder distributionUserOrder = shopDistributionUserOrderService.findOne(userOrderQueryWrapper);
Map distributionUserOrderMap = Convert.toMap(String.class, Object.class, distributionUserOrder);
if (CheckUtil.checkDataRights(user_id, row, "buyer_user_id") || CheckUtil.checkDataRights(user_id, distributionUserOrderMap, "user_id")) {
data = getOrderDetail(order_id, row);
// 检查用户是否有权限访问该订单作为买家或分销商
boolean hasBuyerRights = CheckUtil.checkDataRights(user_id, row, "buyer_user_id");
boolean hasDistributionRights = CheckUtil.checkDataRights(user_id, distributionUserOrderMap, "user_id");
log.debug("订单访问权限检查,买家权限: {}, 分销权限: {}", hasBuyerRights, hasDistributionRights);
//diy, 判断是否上传素材
if (hasBuyerRights || hasDistributionRights) {
data = getOrderDetail(order_id, row);
log.debug("获取订单详细信息完成");
// diy, 判断是否上传素材
List<Map> items = (List<Map>) data.get("items");
for (Map item : items) {
String design_file_images = Convert.toStr(item.get("design_file_images"));
if (StrUtil.isNotBlank(design_file_images)) {
// row = apply_filters("product-cart-add", row);
if (CollUtil.isNotEmpty(items)) {
for (Map item : items) {
String design_file_images = Convert.toStr(item.get("design_file_images"));
if (StrUtil.isNotBlank(design_file_images)) {
// row = apply_filters("product-cart-add", row);
log.debug("订单项包含设计文件图片");
}
}
}
@ -679,15 +697,19 @@ public class ShopOrderBaseServiceImpl extends BaseServiceImpl<ShopOrderBaseMappe
Integer delivery_istimer = Convert.toInt(data.get("delivery_istimer"));
String deliveryTime = getDeliveryTime(delivery_time, delivery_time_rang, delivery_time_h, delivery_time_i, delivery_istimer);
data.put("delivery_time_name", deliveryTime);
log.debug("配送时间计算完成: {}", deliveryTime);
// 判断活动信息
Integer activity_type_id = Convert.toInt(data.get("activity_type_id"));
if (ObjectUtil.equal(StateCode.ACTIVITY_TYPE_GROUPBOOKING, activity_type_id)) {
log.debug("处理拼团活动订单");
QueryWrapper<ShopActivityGroupbookingHistory> historyQueryWrapper = new QueryWrapper<>();
historyQueryWrapper.eq("user_id", user_id).in("order_id", order_ids);
ShopActivityGroupbookingHistory group_booking_row = groupbookingHistoryService.findOne(historyQueryWrapper);
data.put("gb_id", group_booking_row.getGb_id());
if (group_booking_row != null) {
data.put("gb_id", group_booking_row.getGb_id());
log.debug("获取拼团ID: {}", group_booking_row.getGb_id());
}
}
Map queryParams = new HashMap();
@ -697,6 +719,7 @@ public class ShopOrderBaseServiceImpl extends BaseServiceImpl<ShopOrderBaseMappe
Map result = payService.findConsumeRecordHandleName(queryParams);
data.putAll(result);
log.debug("支付记录处理完成");
// 订单倒计时
boolean show_cancel_time = accountBaseConfigService.getConfig("show_cancel_time", false);
@ -713,6 +736,7 @@ public class ShopOrderBaseServiceImpl extends BaseServiceImpl<ShopOrderBaseMappe
order_time = DateUtil.offsetSecond(order_time, (int) (order_autocancel_time * 60 * 60));
long remain_pay_time = (order_time.getTime() - new DateTime().getTime()) / 1000;
data.put("remain_pay_time", remain_pay_time); // 修复以分钟扫描清除订单导致的误差
log.debug("订单自动取消倒计时计算完成,剩余时间: {}秒", remain_pay_time);
}
//自动收货倒计时 order_autofinish_time
@ -723,11 +747,15 @@ public class ShopOrderBaseServiceImpl extends BaseServiceImpl<ShopOrderBaseMappe
long remain_autofinish_time = (order_deal_time.getTime() - new DateTime().getTime()) / 1000;
data.put("remain_autofinish_time", remain_autofinish_time); // 修复以分钟扫描清除订单导致的误差
log.debug("订单自动收货倒计时计算完成,剩余时间: {}秒", remain_autofinish_time);
}
} else {
log.warn("用户无权限访问该订单用户ID: {}, 订单ID: {}", user_id, order_id);
throw new ApiException(I18nUtil._("无该订单访问权限!"));
}
log.info("订单详情获取完成订单ID: {}", order_id);
return data;
}