|
|
@@ -67,14 +67,14 @@ public class UserBenefitsFrontController {
|
|
|
|
|
|
private final UserActivityMapper userActivityMapper;
|
|
|
|
|
|
- private final UserBenefitsMapper userBenefitsMapper;
|
|
|
+ private final GroupsRelationMapper relationMapper;
|
|
|
|
|
|
|
|
|
/**
|
|
|
* 权益分类
|
|
|
*/
|
|
|
@GetMapping("/get/classification")
|
|
|
- public Result<Map<UserBenefits.Type, List<UserBenefitsFrontView>>> getUserBenefitsClassification() {
|
|
|
+ public Result<Map<UserBenefits.Type, List<UserBenefitsFrontView>>> getUserBenefitsClassification(Long relationId) {
|
|
|
String key = RedisService.key.USER_BENEFITS_KEY.getName() + ":cfc";
|
|
|
long userId = StpUserUtil.getLoginIdAsLong();
|
|
|
Object o = redisService.get(key);
|
|
|
@@ -88,7 +88,7 @@ public class UserBenefitsFrontController {
|
|
|
classifications = (Map<UserBenefits.Type, List<UserBenefitsFrontView>>) o;
|
|
|
}
|
|
|
List<Long> userIdList = userBindRelationService.getRelationUserIdList(userId, null);
|
|
|
- classifications.values().forEach(list -> setDataInfo(list, null, userIdList, true));
|
|
|
+ classifications.values().forEach(list -> setDataInfo(list, null, userIdList, true, relationId));
|
|
|
return GatewayResponse.SUCCESS.newBuilder().toResult(classifications);
|
|
|
}
|
|
|
|
|
|
@@ -96,7 +96,7 @@ public class UserBenefitsFrontController {
|
|
|
* 用户权益
|
|
|
*/
|
|
|
@GetMapping("/get")
|
|
|
- public Result<List<UserBenefitsFrontView>> getUserBenefits(UserBenefits.Type type) {
|
|
|
+ public Result<List<UserBenefitsFrontView>> getUserBenefits(UserBenefits.Type type, Long relationId) {
|
|
|
long userId = StpUserUtil.getLoginIdAsLong();
|
|
|
String key = RedisService.key.USER_BENEFITS_KEY.getName();
|
|
|
if (type != null) {
|
|
|
@@ -118,12 +118,12 @@ public class UserBenefitsFrontController {
|
|
|
userBenefitsFrontViews = (List<UserBenefitsFrontView>) o;
|
|
|
}
|
|
|
List<Long> userIdList = userBindRelationService.getRelationUserIdList(userId, null);
|
|
|
- setDataInfo(userBenefitsFrontViews, type, userIdList, false);
|
|
|
+ setDataInfo(userBenefitsFrontViews, type, userIdList, false, relationId);
|
|
|
return GatewayResponse.SUCCESS.newBuilder().toResult(userBenefitsFrontViews);
|
|
|
}
|
|
|
|
|
|
|
|
|
- public void setDataInfo(List<UserBenefitsFrontView> userBenefitsFrontViews, UserBenefits.Type type, List<Long> userIdList, Boolean isAll) {
|
|
|
+ public void setDataInfo(List<UserBenefitsFrontView> userBenefitsFrontViews, UserBenefits.Type type, List<Long> userIdList, Boolean isAll, Long relationId) {
|
|
|
for (UserBenefitsFrontView data : userBenefitsFrontViews) {
|
|
|
if (isAll || type == null) {
|
|
|
type = data.getType();
|
|
|
@@ -135,7 +135,7 @@ public class UserBenefitsFrontController {
|
|
|
//近一年是否已经使用过该权益
|
|
|
DateTime lastYear = DateUtil.offsetMonth(DateTime.now(), -12);
|
|
|
//是否已经使用过该权益
|
|
|
- Integer comboCount = userBenefitsOrderRecordMapper.selectUseComboRecordByUid(userIdList, data.getType(), data.getGoodsId(), null, Constant.noOrderStatus, lastYear);
|
|
|
+ Integer comboCount = userBenefitsOrderRecordMapper.selectUseComboRecordByUid(userIdList, data.getType(), data.getGoodsId(), null, Constant.noOrderStatus, lastYear, null);
|
|
|
data.setIsComboUsed(comboCount > 0);
|
|
|
|
|
|
if (StrUtil.isNotBlank(data.getComboSkuIds())) {
|
|
|
@@ -164,7 +164,10 @@ public class UserBenefitsFrontController {
|
|
|
.field(RenewalView::getExpiryTime, DateTime.now()).op(Operator.GreaterThan)
|
|
|
.build());
|
|
|
fhCount = tickets.intValue();
|
|
|
- Integer renewCount = userBenefitsOrderRecordMapper.selectUseComboRecordByUid(userIdList, data.getType(), data.getGoodsId(), data.getSkuId(), Constant.noOrderAllStatus, null);
|
|
|
+ GroupsRelation relation = relationMapper.selectOne(Wrappers.lambdaQuery(GroupsRelation.class)
|
|
|
+ .eq(GroupsRelation::getId, relationId)
|
|
|
+ .in(GroupsRelation::getUserId, userIdList));
|
|
|
+ Integer renewCount = userBenefitsOrderRecordMapper.selectUseComboRecordByUid(userIdList, data.getType(), data.getGoodsId(), data.getSkuId(), Constant.noOrderAllStatus, null, relation.getStartTime());
|
|
|
data.setRenewCount(renewCount);
|
|
|
}
|
|
|
if (type == UserBenefits.Type.CERT) {
|