skyline 2 жил өмнө
parent
commit
84658b501f

+ 2 - 0
admin/src/main/java/com/kym/admin/jobs/ActivityDelayJob.java

@@ -14,10 +14,12 @@ import com.kym.service.admin.RechargeRightsService;
 import com.kym.service.jobs.DelayService;
 import com.kym.service.jobs.DelayedItem;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.config.ConfigurableBeanFactory;
 import org.springframework.context.event.ContextRefreshedEvent;
 import org.springframework.context.event.EventListener;
 import org.springframework.stereotype.Service;
 
+import org.springframework.context.annotation.Scope;
 import java.util.concurrent.DelayQueue;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;

+ 1 - 1
service/src/main/java/com/kym/service/queue/consumer/UserCouponConsumer.java → admin/src/main/java/com/kym/admin/mq/consumer/UserCouponConsumer.java

@@ -1,4 +1,4 @@
-package com.kym.service.queue.consumer;
+package com.kym.admin.mq.consumer;
 
 import com.alibaba.fastjson2.JSONObject;
 import com.baomidou.dynamic.datasource.annotation.DS;

+ 6 - 75
service/src/main/java/com/kym/service/admin/impl/ActivityServiceImpl.java

@@ -3,7 +3,6 @@ package com.kym.service.admin.impl;
 import com.baomidou.dynamic.datasource.annotation.DS;
 import com.baomidou.dynamic.datasource.annotation.DSTransactional;
 import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.github.pagehelper.PageHelper;
 import com.github.yulichang.base.MPJBaseServiceImpl;
 import com.kym.common.utils.CommUtil;
@@ -13,16 +12,11 @@ import com.kym.entity.admin.delay.DelayActivity;
 import com.kym.entity.admin.queryParams.ActivityQueryParam;
 import com.kym.entity.admin.vo.ActivityVo;
 import com.kym.entity.common.PageBean;
-import com.kym.entity.miniapp.User;
-import com.kym.entity.miniapp.UserCoupon;
 import com.kym.entity.miniapp.UserRechargeRights;
 import com.kym.mapper.admin.ActivityMapper;
 import com.kym.service.admin.*;
 import com.kym.service.jobs.DelayService;
-import com.kym.service.miniapp.UserCouponService;
 import com.kym.service.miniapp.UserRechargeRightsService;
-import com.kym.service.miniapp.UserService;
-import com.kym.service.queue.producer.UserCouponSender;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.BeanUtils;
 import org.springframework.context.annotation.Lazy;
@@ -32,13 +26,10 @@ import org.springframework.transaction.annotation.Transactional;
 
 import java.time.LocalDateTime;
 import java.time.LocalTime;
-import java.util.ArrayList;
 import java.util.List;
 import java.util.stream.Collectors;
 
-import static com.kym.entity.admin.Activity.APPLY_STATION_部分站点;
-import static com.kym.entity.admin.Activity.DISCOUNT_TYPE_优惠券;
-import static com.kym.entity.admin.Activity.DISCOUNT_TYPE_服务费折扣权益;
+import static com.kym.entity.admin.Activity.*;
 
 
 /**
@@ -63,15 +54,9 @@ public class ActivityServiceImpl extends MPJBaseServiceImpl<ActivityMapper, Acti
     private final DelayService<DelayActivity> activityDelayService;
     private final BannerService bannerService;
 
-    private final UserService userService;
-
-    private final UserCouponService userCouponService;
-
-    private final UserCouponSender userCouponSender;
-
     public ActivityServiceImpl(ActivityStationService activityStationService, RechargeRightsService rechargeRightsService, CouponService couponService,
                                UserRechargeRightsService userRechargeRightsService, StationService stationService,
-                               @Lazy DelayService<DelayActivity> activityDelayService, BannerService bannerService, UserService userService, UserCouponService userCouponService, UserCouponSender userCouponSender) {
+                               @Lazy DelayService<DelayActivity> activityDelayService, BannerService bannerService) {
         this.activityStationService = activityStationService;
         this.rechargeRightsService = rechargeRightsService;
         this.couponService = couponService;
@@ -79,9 +64,6 @@ public class ActivityServiceImpl extends MPJBaseServiceImpl<ActivityMapper, Acti
         this.stationService = stationService;
         this.activityDelayService = activityDelayService;
         this.bannerService = bannerService;
-        this.userService = userService;
-        this.userCouponService = userCouponService;
-        this.userCouponSender = userCouponSender;
     }
 
     /**
@@ -117,11 +99,10 @@ public class ActivityServiceImpl extends MPJBaseServiceImpl<ActivityMapper, Acti
         // 新增优惠券活动
         if (activityVo.getDiscountType().equals(Activity.DISCOUNT_TYPE_优惠券) && !CommUtil.isEmptyOrNull(activityVo.getCouponList())) {
             List<Coupon> couponList = activityVo.getCouponList().stream().peek(coupon -> {
-                BeanUtils.copyProperties(activity, coupon, "id","name");
+                BeanUtils.copyProperties(activity, coupon, "id", "name");
                 coupon.setActivityId(activity.getId());
             }).collect(Collectors.toList());
             couponService.saveBatch(couponList);
-//            handleUserCoupons(activity, activityVo);
         }
 
         // 加入活动延迟启停队列
@@ -131,56 +112,6 @@ public class ActivityServiceImpl extends MPJBaseServiceImpl<ActivityMapper, Acti
     }
 
 
-    /**
-     * 处理优惠券用户绑定
-     *
-     * @param activity
-     * @param activityVo
-     */
-    @DS("db-miniapp")
-    @DSTransactional(rollbackFor = Exception.class)
-    void handleUserCoupons(Activity activity, ActivityVo activityVo) {
-        List<UserCoupon> userCouponList = new ArrayList<>();
-        var couponList = activityVo.getCouponList();
-
-        var targetUsersType = activityVo.getTargetUsers();
-        switch (targetUsersType) {
-            case Activity.TARGET_USERS_全部用户:
-                userService.listObjs(new QueryWrapper<User>().lambda().select(User::getId))
-                        .forEach(useId -> couponList.forEach(coupon -> addUserCoupon(userCouponList, coupon, activity.getId(), Long.valueOf(useId.toString()))));
-                break;
-            case Activity.TARGET_USERS_指定用户:
-                activityVo.getTargetUserIds().forEach(useId -> couponList.forEach(coupon -> addUserCoupon(userCouponList, coupon, activity.getId(), useId)));
-                break;
-        }
-//        userCouponService.saveBatch(userCouponList);
-         // userCoupon存储量大 发送消息至队列 todo 发券改为手动,以领券为主
-         userCouponList.forEach(userCouponSender::sendMessage);
-    }
-
-    /**
-     * 添加用户优惠券
-     *
-     * @param userCouponList
-     * @param coupon
-     * @param activityId
-     * @param userId
-     */
-    private void addUserCoupon(List<UserCoupon> userCouponList, Coupon coupon, Long activityId, Long userId) {
-        var userCoupon = new UserCoupon()
-                .setCouponId(coupon.getId())
-                .setActivityId(activityId)
-                .setUserId(userId)
-                .setStartTime(coupon.getStartTime())
-                .setEndTime(coupon.getEndTime())
-                .setCouponType(coupon.getCouponType())
-                .setDiscount(coupon.getDiscount())
-                .setMinServiceMoney(coupon.getMinServiceMoney())
-                .setAllowStacke(coupon.getAllowStacke())
-                .setStatus(Coupon.STATUS_有效);
-        userCouponList.add(userCoupon);
-    }
-
     /**
      * 主活动列表
      *
@@ -193,10 +124,10 @@ public class ActivityServiceImpl extends MPJBaseServiceImpl<ActivityMapper, Acti
         var list = lambdaQuery()
                 .like(!CommUtil.isEmptyOrNull(params.getName()), Activity::getName, params.getName())
                 .eq(params.getStatus() != null, Activity::getStatus, params.getStatus())
-                .eq(null!=params.getDiscountType(), Activity::getDiscountType, params.getDiscountType())
+                .eq(params.getDiscountType() != null, Activity::getDiscountType, params.getDiscountType())
                 .gt(params.getStartTime() != null, Activity::getStartTime, params.getStartTime())
                 .lt(params.getEndTime() != null, Activity::getEndTime, params.getEndTime())
-                .orderByDesc(Activity::getCreateTime)
+                .orderByDesc(Activity::getId)
                 .list();
         return new PageBean<>(list);
     }
@@ -221,7 +152,7 @@ public class ActivityServiceImpl extends MPJBaseServiceImpl<ActivityMapper, Acti
                 var stationList = stationService.lambdaQuery().in(Station::getStationId, activityStationIds).list();
                 activityVo.setStationList(stationList);
             }
-        }else if(activity.getDiscountType().equals(DISCOUNT_TYPE_优惠券)){
+        } else if (activity.getDiscountType().equals(DISCOUNT_TYPE_优惠券)) {
             List<Coupon> couponList = couponService.lambdaQuery().eq(Coupon::getActivityId, activityId).list();
             activityVo.setCouponList(couponList);
             var activityStationIds = activityStationService.lambdaQuery().eq(ActivityStation::getActivityId, activityId).list().stream().map(ActivityStation::getStationId).toList();

+ 1 - 1
service/src/main/java/com/kym/service/admin/impl/CouponServiceImpl.java

@@ -14,7 +14,7 @@ import com.kym.entity.miniapp.UserCoupon;
 import com.kym.mapper.admin.CouponMapper;
 import com.kym.service.admin.CouponService;
 import com.kym.service.miniapp.UserService;
-import com.kym.service.queue.producer.UserCouponSender;
+import com.kym.service.mq.producer.UserCouponSender;
 import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;

+ 1 - 1
service/src/main/java/com/kym/service/queue/callback/ConfirmCallbackService.java → service/src/main/java/com/kym/service/mq/callback/ConfirmCallbackService.java

@@ -1,4 +1,4 @@
-package com.kym.service.queue.callback;
+package com.kym.service.mq.callback;
 
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.amqp.rabbit.connection.CorrelationData;

+ 1 - 1
service/src/main/java/com/kym/service/queue/callback/ReturnCallbackService.java → service/src/main/java/com/kym/service/mq/callback/ReturnCallbackService.java

@@ -1,4 +1,4 @@
-package com.kym.service.queue.callback;
+package com.kym.service.mq.callback;
 
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.amqp.core.ReturnedMessage;

+ 1 - 1
service/src/main/java/com/kym/service/queue/config/RabbitConfig.java → service/src/main/java/com/kym/service/mq/config/RabbitConfig.java

@@ -1,4 +1,4 @@
-package com.kym.service.queue.config;
+package com.kym.service.mq.config;
 
 import com.kym.entity.common.Exchanges;
 import com.kym.entity.common.Queues;

+ 3 - 3
service/src/main/java/com/kym/service/queue/producer/MessageSender.java → service/src/main/java/com/kym/service/mq/producer/MessageSender.java

@@ -1,7 +1,7 @@
-package com.kym.service.queue.producer;
+package com.kym.service.mq.producer;
 
-import com.kym.service.queue.callback.ConfirmCallbackService;
-import com.kym.service.queue.callback.ReturnCallbackService;
+import com.kym.service.mq.callback.ConfirmCallbackService;
+import com.kym.service.mq.callback.ReturnCallbackService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.amqp.rabbit.connection.CorrelationData;
 import org.springframework.amqp.rabbit.core.RabbitTemplate;

+ 1 - 1
service/src/main/java/com/kym/service/queue/producer/UserCouponSender.java → service/src/main/java/com/kym/service/mq/producer/UserCouponSender.java

@@ -1,4 +1,4 @@
-package com.kym.service.queue.producer;
+package com.kym.service.mq.producer;
 
 import com.kym.entity.common.Exchanges;
 import com.kym.entity.common.RoutingKeys;