zoujiajian 2 年 前
コミット
cbef4be8a8

+ 3 - 0
netflix-dao/src/main/java/com/cyksj/model/views/DistributePosterGoodsDetailView.java

@@ -41,4 +41,7 @@ public class DistributePosterGoodsDetailView {
 
 	@DbField("g.rate")
 	private Integer rate;
+
+	@DbIgnore
+	private Long rid;
 }

+ 9 - 2
netflix-service/src/main/java/com/cyksj/service/relation/impl/GroupRelationFrontServiceImpl.java

@@ -148,6 +148,8 @@ public class GroupRelationFrontServiceImpl implements GroupRelationFrontService
 
 	private final YhMailService yhMailService;
 
+	private final UserDistributePosterRecordMapper userDistributePosterRecordMapper;
+
 	@Override
 	public SearchResult<RenewalView> getMyTicket(long userId, Boolean isLoginPopularize, String customId, String account) {
 		User u = userMapper.selectById(userId);
@@ -345,7 +347,7 @@ public class GroupRelationFrontServiceImpl implements GroupRelationFrontService
 			Long qaId = groupsRelationMapper.selectGoodsDonQaByGoodsId(ticket.getGoodsId());
 			ticket.setQa(qaId > 0 ? true : false);
 			//是否存在海报
-			ticket.setPosterInfo(setGoodsPoster(ticket, u));
+			ticket.setPosterInfo(setGoodsPoster(ticket, u, userIds));
 
 			//续费升级折扣
 			setRenewDiscount(ticket);
@@ -908,7 +910,7 @@ public class GroupRelationFrontServiceImpl implements GroupRelationFrontService
 		}
 	}
 
-	private DistributePosterGoodsDetailView setGoodsPoster(RenewalView ticket, User user) {
+	private DistributePosterGoodsDetailView setGoodsPoster(RenewalView ticket, User user, List<Long> userIds) {
 		DistributePosterGoodsDetailView distributePosterGoodsDetailView = beanSearcher.searchFirst(DistributePosterGoodsDetailView.class, MapUtils.flatBuilder(request.getParameterMap())
 				.field(DistributePosterGoodsFrontView::getGoodsId, ticket.getGoodsId()).build());
 		if (distributePosterGoodsDetailView == null) {
@@ -947,6 +949,11 @@ public class GroupRelationFrontServiceImpl implements GroupRelationFrontService
 				}
 			}
 		}
+		//用户推广海报记录id
+		Optional.ofNullable(userDistributePosterRecordMapper.selectOne(Wrappers.lambdaQuery(UserDistributePosterRecord.class)
+				.eq(UserDistributePosterRecord::getPosterId, distributePosterGoodsDetailView.getId())
+				.in(UserDistributePosterRecord::getUserId, userIds)
+				.last("limit 1"))).ifPresent(re -> distributePosterGoodsDetailView.setRid(re.getId()));
 		return distributePosterGoodsDetailView;
 	}
 

+ 5 - 1
netflix-web/src/main/java/com/cyksj/web/controller/cps/CpsPopularizeController.java

@@ -19,6 +19,7 @@ import com.cyksj.model.views.DistributePosterGoodsCpsView;
 import com.cyksj.model.views.UserDistributePopularizeView;
 import com.cyksj.model.views.UserDistributePosterOrderDetailView;
 import com.cyksj.service.cps.CpsPopularizeService;
+import com.cyksj.service.user.UserBindRelationService;
 import com.cyksj.service.user.UserService;
 import com.cyksj.web.util.StpCpsManageUser;
 import com.ejlchina.searcher.BeanSearcher;
@@ -75,6 +76,8 @@ public class CpsPopularizeController {
 
 	private final DistributePosterGoodsMapper distributePosterGoodsMapper;
 
+	private final UserBindRelationService userBindRelationService;
+
 	/**
 	 * 渠道推广链接列表
 	 */
@@ -263,6 +266,7 @@ public class CpsPopularizeController {
 		if (endTime != null) {
 			time.append(String.format(" and od.created_time < '%s'", endTime));
 		}
+		List<Long> userIdList = userBindRelationService.getRelationUserIdList(cpsUserId, null);
 		List<DistributePosterGoodsCpsView> searchAll = beanSearcher.searchAll(DistributePosterGoodsCpsView.class, builder.build());
 		searchAll.forEach(e -> {
 			if (userDistribute != null) {
@@ -348,7 +352,7 @@ public class CpsPopularizeController {
 
 			UserDistributePosterRecord distributePosterRecord = userDistributePosterRecordMapper.selectOne(Wrappers.lambdaQuery(UserDistributePosterRecord.class)
 					.eq(UserDistributePosterRecord::getPosterId, e.getId())
-					.eq(UserDistributePosterRecord::getUserId, cpsUserId)
+					.in(UserDistributePosterRecord::getUserId, userIdList)
 					.last("limit 1"));
 			if (distributePosterRecord != null) {
 				e.setRid(distributePosterRecord.getId());

+ 2 - 1
netflix-web/src/main/java/com/cyksj/web/controller/user/UserController.java

@@ -454,6 +454,7 @@ public class UserController {
                 .eq(UserDistribute::getUserId, userId)
                 .eq(UserDistribute::getDeleted, 1)
                 .last("limit 1"));
+        List<Long> userIdList = userBindRelationService.getRelationUserIdList(userId, null);
         MapBuilder builder = MapUtils.flatBuilder(request.getParameterMap());
         List<DistributePosterGoodsFrontView> searchAll = beanSearcher.searchAll(DistributePosterGoodsFrontView.class, builder.build());
         searchAll.forEach(e -> {
@@ -522,7 +523,7 @@ public class UserController {
             }
             UserDistributePosterRecord distributePosterRecord = userDistributePosterRecordMapper.selectOne(Wrappers.lambdaQuery(UserDistributePosterRecord.class)
                     .eq(UserDistributePosterRecord::getPosterId, e.getId())
-                    .eq(UserDistributePosterRecord::getUserId, userId)
+                    .in(UserDistributePosterRecord::getUserId, userIdList)
                     .last("limit 1"));
             if (distributePosterRecord != null) {
                 e.setRid(distributePosterRecord.getId());