Parcourir la source

fix 平台发券退款清除

zoujiajian il y a 1 an
Parent
commit
746d763cae

+ 7 - 0
netflix-dao/src/main/java/com/cyksj/model/views/UserActivityView.java

@@ -56,6 +56,13 @@ public class UserActivityView {
 	@DbField("ua.rules")
 	private String rules;
 
+	/**
+	 * 是否领取过活动
+	 * true已领取
+	 */
+	@DbIgnore
+	private Boolean isReceived;
+
 	@DbIgnore
 	private List<CouponView> couponViews;
 }

+ 13 - 1
netflix-service/src/main/java/com/cyksj/service/mange/impl/CmsOrderDonServiceImpl.java

@@ -29,6 +29,7 @@ import com.cyksj.mapper.channel.ShopConfigMapper;
 import com.cyksj.mapper.channel.UserPayEquipmentAvailableBenefitsMapper;
 import com.cyksj.mapper.channel.UserPayEquipmentReceiveBenefitsRecordMapper;
 import com.cyksj.mapper.manage.cms.CmsUserMapper;
+import com.cyksj.mapper.manage.coupon.CouponUserMapper;
 import com.cyksj.mapper.manage.distribute.DistributeWaitingSendPointsMapper;
 import com.cyksj.mapper.manage.distribute.UserDistributeBusinessOrderDonRecordMapper;
 import com.cyksj.mapper.manage.distribute.UserDistributeMapper;
@@ -224,7 +225,7 @@ public class CmsOrderDonServiceImpl extends ServiceImpl<OrderDonMapper,OrderDon>
 
     private final NetflixUserChangeOtherTicketRecordMapper netflixUserChangeOtherTicketRecordMapper;
 
-    private final OrderDonGalaxyCoinRecordMapper orderDonGalaxyCoinRecordMapper;
+    private final CouponUserMapper couponUserMapper;
 
     private final UserGalaxyCoinService userGalaxyCoinService;
 
@@ -1312,6 +1313,17 @@ public class CmsOrderDonServiceImpl extends ServiceImpl<OrderDonMapper,OrderDon>
         if (orderDon.getGoodsId() == Constant.GPT_PLUS_GID && sku.getNum() == 1) {
             subRechargeNumOrder(orderDon.getUserId(), orderDon.getRelationId(), sku.getMonths(), operator);
         }
+
+        //GPT独立会员退款 或代充退款 退还平台发券
+        if ((orderDon.getGoodsId() == Constant.GPT_PLUS_GID && sku.getNum() == 1) || orderDon.getGoodsId() == Constant.GPT_RECHARGE_GOODS_ID) {
+            List<CouponUser> couponUsers = couponUserMapper.selectList(Wrappers.lambdaQuery(CouponUser.class)
+                    .eq(CouponUser::getUserId, orderDon.getUserId())
+                    .eq(CouponUser::getChannel, CouponUser.Channel.ptfq)
+                    .eq(CouponUser::getStatus, CouponUser.Status.unused));
+            if (CollUtil.isNotEmpty(couponUsers)) {
+                couponUserMapper.deleteBatchIds(couponUsers.stream().map(CouponUser::getId).collect(Collectors.toList()));
+            }
+        }
     }
 
     //处理下级渠道分销提成

+ 6 - 0
netflix-web/src/main/java/com/cyksj/web/controller/coupon/CouponFrontController.java

@@ -534,6 +534,7 @@ public class CouponFrontController {
 	 */
 	@GetMapping("/get/goods/activity")
 	public Result<UserActivityView> getGoodsActivity() throws Exception {
+		Long userId = StpUserUtil.getUserIdAfterLogin();
 		String dateStr = DateTime.now().toString();
 		String time = String.format(" and (ua.start_time is null or (ua.start_time < '%s' and ua.end_time > '%s'))", dateStr, dateStr);
 		UserActivityView userActivityView = beanSearcher.searchFirst(UserActivityView.class, MapUtils.flatBuilder(request.getParameterMap())
@@ -543,6 +544,11 @@ public class CouponFrontController {
 		if (StrUtil.isNotBlank(userActivityView.getCouponIds())) {
 			List<Long> couponIds = Jsons.parseList(userActivityView.getCouponIds(), Long.class);
 			userActivityView.setCouponViews(beanSearcher.searchAll(CouponView.class, MapUtils.builder().field(CouponView::getId, couponIds).op(Operator.InList).build()));
+			//是否领取过
+			if (userId != null) {
+				Integer selectCount = couponUserMapper.selectCount(Wrappers.lambdaQuery(CouponUser.class).eq(CouponUser::getCouponId, couponIds).eq(CouponUser::getUserId, userId));
+				userActivityView.setIsReceived(selectCount == couponIds.size());
+			}
 		}
 		return GatewayResponse.SUCCESS.newBuilder().toResult(userActivityView);
 	}