Selaa lähdekoodia

fix 个人中心可选车票数量

zoujiajian 1 vuosi sitten
vanhempi
sitoutus
2db864f733

+ 1 - 1
netflix-service/src/main/java/com/cyksj/service/order/UserRealOrderBenefitsService.java

@@ -33,7 +33,7 @@ public interface UserRealOrderBenefitsService {
 	/**
 	 * 实物权益可选车票
 	 */
-	List<UserAvailableGoodsTicketView> getAvailableBenefitsTickets(Long userId, Long orderId, Long yhsId);
+	List<UserAvailableGoodsTicketView> getAvailableBenefitsTickets(Long userId, Long orderId, String customId, Integer cmt);
 
 	void sendUserBenefitsTicket(OrderDon orderDon, List<GoodsDonSku> goodsDonSkus);
 }

+ 20 - 3
netflix-service/src/main/java/com/cyksj/service/order/impl/UserRealOrderBenefitsImpl.java

@@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.date.DateField;
 import cn.hutool.core.date.DateTime;
 import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.cyksj.common.exception.BusinessRuntimeException;
 import com.cyksj.mapper.GoodsDonSkuMapper;
@@ -12,8 +13,10 @@ import com.cyksj.mapper.OrderDonMapper;
 import com.cyksj.mapper.UserBenefitsComboRelationRecordMapper;
 import com.cyksj.mapper.channel.UserPayEquipmentAvailableBenefitsMapper;
 import com.cyksj.mapper.channel.UserPayEquipmentReceiveBenefitsRecordMapper;
+import com.cyksj.mapper.mirrorshop.UserMirrorShopMapper;
 import com.cyksj.model.entity.*;
 import com.cyksj.model.manage.views.GroupsRelationView;
+import com.cyksj.model.views.RenewalView;
 import com.cyksj.model.views.UserAvailableGoodsTicketView;
 import com.cyksj.service.exchange.ExchangeCodeService;
 import com.cyksj.service.order.UserRealOrderBenefitsService;
@@ -21,6 +24,7 @@ import com.cyksj.service.relation.GroupRelationClearService;
 import com.cyksj.service.user.UserBindRelationService;
 import com.ejlchina.searcher.BeanSearcher;
 import com.ejlchina.searcher.param.Operator;
+import com.ejlchina.searcher.util.MapBuilder;
 import com.ejlchina.searcher.util.MapUtils;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
@@ -63,6 +67,8 @@ public class UserRealOrderBenefitsImpl implements UserRealOrderBenefitsService {
 
 	private final UserBindRelationService userBindRelationService;
 
+	private final UserMirrorShopMapper userMirrorShopMapper;
+
 	@Override
 	public Boolean getPayRealGoodsBenefits(Long userId, Long orderId, Long yhsId, List<GoodsDonSku> skuIds) {
 		Boolean isReceivedAll = true;
@@ -196,17 +202,28 @@ public class UserRealOrderBenefitsImpl implements UserRealOrderBenefitsService {
 	}
 
 	@Override
-	public List<UserAvailableGoodsTicketView> getAvailableBenefitsTickets(Long userId, Long orderId,Long yhsId) {
+	public List<UserAvailableGoodsTicketView> getAvailableBenefitsTickets(Long userId, Long orderId, String customId, Integer cmt) {
 		List<Long> userIdList = userBindRelationService.getRelationUserIdList(userId, null);
 		List<UserAvailableGoodsTicketView> ticketViews = beanSearcher.searchAll(UserAvailableGoodsTicketView.class, MapUtils.builder()
 				.field(UserAvailableGoodsTicketView::getUserId, userIdList).op(Operator.InList)
 				.field(UserAvailableGoodsTicketView::getDeleted, true)
 				.field(UserAvailableGoodsTicketView::getRealOrderId, orderId)
 				.build());
+		MapBuilder builder = MapUtils.builder();
+		if (cmt != null && cmt == 2 && StrUtil.isNotBlank(customId)) {
+			UserMirrorShop userMirrorShop = userMirrorShopMapper.selectOne(Wrappers.lambdaQuery(UserMirrorShop.class)
+					.eq(UserMirrorShop::getCustomId, customId)
+					.last("limit 1"));
+			if (userMirrorShop != null) {
+				builder.field(RenewalView::getCmt, cmt).field(RenewalView::getYhsId, userMirrorShop.getId());
+			}
+		}
+		if (cmt == null || cmt != 2) {
+			builder.field(RenewalView::getCmt, 2).op(Operator.NotEqual);
+		}
 		ticketViews.forEach(ticket -> {
-			List<GroupsRelationView> relationViewList = beanSearcher.searchAll(GroupsRelationView.class, MapUtils.builder()
+			List<GroupsRelationView> relationViewList = beanSearcher.searchAll(GroupsRelationView.class, builder
 					.field(GroupsRelationView::getUserId, userIdList).op(Operator.InList)
-					.field(GroupsRelationView::getYhsId, yhsId)
 					.field(GroupsRelationView::getGoodsId, ticket.getGoodsId())
 					.field(GroupsRelationView::getStatus, GroupsRelation.Status.validity.name())
 					.field(GroupsRelationView::getExpiryTime).op(Operator.NotNull)

+ 17 - 4
netflix-web/src/main/java/com/cyksj/web/controller/user/UserController.java

@@ -15,6 +15,7 @@ import com.cyksj.mapper.UserDistributePosterRecordMapper;
 import com.cyksj.mapper.UserIpRecordMapper;
 import com.cyksj.mapper.manage.coupon.CouponUserMapper;
 import com.cyksj.mapper.manage.distribute.*;
+import com.cyksj.mapper.mirrorshop.UserMirrorShopMapper;
 import com.cyksj.model.dto.UserWhoami;
 import com.cyksj.model.entity.*;
 import com.cyksj.model.manage.views.GroupsRelationView;
@@ -99,6 +100,8 @@ public class UserController {
 
     private final BusinessDistributeDefaultSkuRateConfigMapper businessDistributeDefaultSkuRateConfigMapper;
 
+    private final UserMirrorShopMapper userMirrorShopMapper;
+
     @GetMapping(value = "/wx/whoami")
     public Result<UserWhoami> whoami() {
         long userId = StpUserUtil.getLoginIdAsLong();
@@ -121,11 +124,22 @@ public class UserController {
      * 个人中心详情
      */
     @GetMapping("/personal")
-    public Result<UserPersonalView> getPersonalView(String customId) {
+    public Result<UserPersonalView> getPersonalView(String customId, Integer cmt) {
         long userId = StpUserUtil.getLoginIdAsLong();
         List<Long> userIdList = userBindRelationService.getRelationUserIdList(userId, null);
         String userIds = userIdList.toString().replace("[", "(").replace("]", ")");
         MapBuilder builder = MapUtils.flatBuilder(request.getParameterMap());
+        if (cmt != null && cmt == 2 && StrUtil.isNotBlank(customId)) {
+            UserMirrorShop userMirrorShop = userMirrorShopMapper.selectOne(Wrappers.lambdaQuery(UserMirrorShop.class)
+                    .eq(UserMirrorShop::getCustomId, customId)
+                    .last("limit 1"));
+            if (userMirrorShop != null) {
+                builder.field(RenewalView::getCmt, cmt).field(RenewalView::getYhsId, userMirrorShop.getId());
+            }
+        }
+        if (cmt == null || cmt != 2) {
+            builder.field(RenewalView::getCmt, 2).op(Operator.NotEqual);
+        }
         List<RenewalView> renewalViews = beanSearcher.searchAll(RenewalView.class, builder
                 .field(RenewalView::getUserId, 0).op(Operator.GreaterThan)
                 .field(RenewalView::getUserId, userIdList).op(Operator.InList)
@@ -173,10 +187,9 @@ public class UserController {
      * 用户已有实物权益 可选车票
      */
     @GetMapping("/get/available/benefits/tickets")
-    public Result<List<UserAvailableGoodsTicketView>> getAvailableBenefitsTickets(Long orderId, String customId) {
+    public Result<List<UserAvailableGoodsTicketView>> getAvailableBenefitsTickets(Long orderId, String customId, Integer cmt) {
         Long userId = StpUserUtil.getLoginIdAsLong();
-        Long yhsId = yhShopFrontService.getYhsIdByCustomId(customId);
-        List<UserAvailableGoodsTicketView> tickets = userRealOrderBenefitsService.getAvailableBenefitsTickets(userId, orderId, yhsId);
+        List<UserAvailableGoodsTicketView> tickets = userRealOrderBenefitsService.getAvailableBenefitsTickets(userId, orderId, customId, cmt);
         return GatewayResponse.SUCCESS.newBuilder().toResult(tickets);
     }