Sfoglia il codice sorgente

Merge branch 'distribute_func' into pre

zoujiajian 2 anni fa
parent
commit
80b5b2a51b

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

@@ -36,4 +36,7 @@ public class DistributePosterGoodsDetailView {
 
 	@DbIgnore
 	private String nickname;
+
+	@DbField("g.rate")
+	private Integer rate;
 }

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

@@ -21,7 +21,10 @@ import com.cyksj.common.util.StringUtil;
 import com.cyksj.common.util.TicketCodeCommonUtil;
 import com.cyksj.enums.GatewayApiCode;
 import com.cyksj.mapper.*;
-import com.cyksj.mapper.manage.distribute.DistributePosterGoodsMapper;
+import com.cyksj.mapper.manage.distribute.DistributeGeneralSkuRateMapper;
+import com.cyksj.mapper.manage.distribute.UserDistributeMapper;
+import com.cyksj.mapper.manage.distribute.UserPlatDistributeRateMapper;
+import com.cyksj.mapper.manage.distribute.UserPlatSkuDistributeRateMapper;
 import com.cyksj.mapper.sys.SysEmailMapper;
 import com.cyksj.model.entity.*;
 import com.cyksj.model.request.SpecialGoodsTicketReq;
@@ -128,7 +131,15 @@ public class GroupRelationFrontServiceImpl implements GroupRelationFrontService
 
 	private final GroupsRelationNetflixService groupsRelationNetflixService;
 
-	private final DistributePosterGoodsMapper distributePosterGoodsMapper;
+	private final UserDistributeMapper userDistributeMapper;
+
+	private final UserPlatDistributeRateMapper userPlatDistributeRateMapper;
+
+	private final GoodsDonMapper goodsDonMapper;
+
+	private final UserPlatSkuDistributeRateMapper userPlatSkuDistributeRateMapper;
+
+	private final DistributeGeneralSkuRateMapper distributeGeneralSkuRateMapper;
 
 	@Override
 	public SearchResult<RenewalView> getMyTicket(long userId, Boolean isLoginPopularize, String customId, String account) {
@@ -299,14 +310,8 @@ public class GroupRelationFrontServiceImpl implements GroupRelationFrontService
 			}
 			Long qaId = groupsRelationMapper.selectGoodsDonQaByGoodsId(ticket.getGoodsId());
 			ticket.setQa(qaId > 0 ? true : false);
-
 			//是否存在海报
-			DistributePosterGoodsDetailView distributePosterGoodsDetailView = beanSearcher.searchFirst(DistributePosterGoodsDetailView.class, MapUtils.flatBuilder(request.getParameterMap())
-					.field(DistributePosterGoodsFrontView::getGoodsId, ticket.getGoodsId()).build());
-			if (distributePosterGoodsDetailView != null) {
-				distributePosterGoodsDetailView.setNickname(u.getNickname());
-			}
-			ticket.setPosterInfo(distributePosterGoodsDetailView);
+			ticket.setPosterInfo(setGoodsPoster(ticket, u));
 		});
 		userLoginRecordService.saveUserLoginDayRecord(userId);
 		return list;
@@ -867,4 +872,57 @@ public class GroupRelationFrontServiceImpl implements GroupRelationFrontService
 		}
 		return renewalView;
 	}
+
+	private DistributePosterGoodsDetailView setGoodsPoster(RenewalView ticket, User user) {
+		DistributePosterGoodsDetailView distributePosterGoodsDetailView = beanSearcher.searchFirst(DistributePosterGoodsDetailView.class, MapUtils.flatBuilder(request.getParameterMap())
+				.field(DistributePosterGoodsFrontView::getGoodsId, ticket.getGoodsId()).build());
+		if (distributePosterGoodsDetailView == null) {
+			return null;
+		}
+		distributePosterGoodsDetailView.setNickname(user.getNickname());
+		UserDistribute userDistribute = userDistributeMapper.selectOne(Wrappers.lambdaQuery(UserDistribute.class)
+				.eq(UserDistribute::getUserId, user.getId())
+				.eq(UserDistribute::getDeleted, 1)
+				.last("limit 1"));
+		if (userDistribute != null) {
+			UserPlatDistributeRate userPlatDistributeRate = userPlatDistributeRateMapper.selectOne(Wrappers.lambdaQuery(UserPlatDistributeRate.class)
+					.eq(UserPlatDistributeRate::getDistributeId, userDistribute.getId())
+					.eq(UserPlatDistributeRate::getGoodsId, ticket.getGoodsId())
+					.last("limit 1"));
+			if (userPlatDistributeRate != null) {
+				distributePosterGoodsDetailView.setRate(userPlatDistributeRate.getRate());
+			}
+		}
+		GoodsDon goodsDon = goodsDonMapper.selectById(ticket.getGoodsId());
+		if (goodsDon.getIsSkuDistribute()) {
+			//最低规格价格
+			BigDecimal price = goodsDon.getMinPrice();
+			GoodsDonSku sku = goodsDonSkuMapper.selectOne(Wrappers.lambdaQuery(GoodsDonSku.class)
+					.eq(GoodsDonSku::getGoodsId, goodsDon.getId())
+					.eq(GoodsDonSku::getPrice, price)
+					.last("limit 1"));
+			if (sku != null) {
+				if (userDistribute != null) {
+					UserPlatSkuDistributeRate userPlatSkuDistributeRate = userPlatSkuDistributeRateMapper.selectOne(Wrappers.lambdaQuery(UserPlatSkuDistributeRate.class)
+							.eq(UserPlatSkuDistributeRate::getDistributeId, userDistribute.getId())
+							.eq(UserPlatSkuDistributeRate::getGoodsId, goodsDon.getId())
+							.eq(UserPlatSkuDistributeRate::getSkuId, sku.getId())
+							.last("limit 1"));
+					if (userPlatSkuDistributeRate != null) {
+						distributePosterGoodsDetailView.setRate(userPlatSkuDistributeRate.getRate());
+					}
+				} else {
+					DistributeGeneralSkuRate distributeGeneralSkuRate = distributeGeneralSkuRateMapper.selectOne(Wrappers.lambdaQuery(DistributeGeneralSkuRate.class)
+							.eq(DistributeGeneralSkuRate::getGoodsId, goodsDon.getId())
+							.eq(DistributeGeneralSkuRate::getSkuId, sku.getId())
+							.last("limit 1"));
+					if (distributeGeneralSkuRate != null) {
+						distributePosterGoodsDetailView.setRate(distributeGeneralSkuRate.getRate());
+					}
+				}
+			}
+		}
+		return distributePosterGoodsDetailView;
+	}
+
 }