|
|
@@ -120,7 +120,7 @@ public class UserMirrorFissionFrontServiceImpl implements UserMirrorFissionFront
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public void recordUserMirrorFission(long userId, Long relationId) throws Exception {
|
|
|
+ public UserMirrorFissionRecord recordUserMirrorFission(long userId, Long relationId) throws Exception {
|
|
|
List<Long> userIdList = userBindRelationService.getRelationUserIdList(userId, null);
|
|
|
GroupsRelation relation = groupsRelationMapper.selectOne(Wrappers.lambdaQuery(GroupsRelation.class)
|
|
|
.in(GroupsRelation::getUserId, userIdList)
|
|
|
@@ -130,13 +130,19 @@ public class UserMirrorFissionFrontServiceImpl implements UserMirrorFissionFront
|
|
|
if (relation == null) {
|
|
|
throw BusinessRuntimeException.getInstance("车票不存在");
|
|
|
}
|
|
|
+ UserMirrorFissionRecord userMirrorFissionRecord;
|
|
|
GroupsTrips groupsTrips = groupsMapper.selectById(relation.getGroupsId());
|
|
|
GoodsDonSku sku = goodsDonSkuMapper.selectById(groupsTrips.getSkuId());
|
|
|
Integer count = userMirrorFissionRecordMapper.selectCount(Wrappers.lambdaQuery(UserMirrorFissionRecord.class)
|
|
|
.eq(UserMirrorFissionRecord::getGoodsId, sku.getGoodsId())
|
|
|
.in(UserMirrorFissionRecord::getUserId, userIdList));
|
|
|
if (count > 0) {
|
|
|
- return;
|
|
|
+ userMirrorFissionRecord = userMirrorFissionRecordMapper.selectOne(Wrappers.lambdaQuery(UserMirrorFissionRecord.class)
|
|
|
+ .in(UserMirrorFissionRecord::getUserId, userIdList)
|
|
|
+ .eq(UserMirrorFissionRecord::getRelationId, relationId)
|
|
|
+ .eq(UserMirrorFissionRecord::getGoodsId, sku.getGoodsId())
|
|
|
+ .last("limit 1"));
|
|
|
+ return userMirrorFissionRecord;
|
|
|
}
|
|
|
//特定老用户可进行镜像裂变活动
|
|
|
SysConfig sysConfig = sysConfigMapper.selectOne(Wrappers.lambdaQuery(SysConfig.class)
|
|
|
@@ -159,7 +165,7 @@ public class UserMirrorFissionFrontServiceImpl implements UserMirrorFissionFront
|
|
|
.eq(UserMirrorFissionTicketConfig::getGoodsId, sku.getGoodsId())
|
|
|
.last("limit 1"));
|
|
|
try {
|
|
|
- UserMirrorFissionRecord userMirrorFissionRecord = new UserMirrorFissionRecord();
|
|
|
+ userMirrorFissionRecord = new UserMirrorFissionRecord();
|
|
|
userMirrorFissionRecord.setUserId(relation.getUserId());
|
|
|
userMirrorFissionRecord.setRelationId(relationId);
|
|
|
userMirrorFissionRecord.setGoodsId(sku.getGoodsId());
|
|
|
@@ -168,7 +174,13 @@ public class UserMirrorFissionFrontServiceImpl implements UserMirrorFissionFront
|
|
|
userMirrorFissionRecord.setTrialSkuId(userMirrorFissionRecord.getTrialSkuId());
|
|
|
userMirrorFissionRecordMapper.insert(userMirrorFissionRecord);
|
|
|
} catch (DuplicateKeyException e) {
|
|
|
+ userMirrorFissionRecord = userMirrorFissionRecordMapper.selectOne(Wrappers.lambdaQuery(UserMirrorFissionRecord.class)
|
|
|
+ .in(UserMirrorFissionRecord::getUserId, userIdList)
|
|
|
+ .eq(UserMirrorFissionRecord::getRelationId, relationId)
|
|
|
+ .eq(UserMirrorFissionRecord::getGoodsId, sku.getGoodsId())
|
|
|
+ .last("limit 1"));
|
|
|
}
|
|
|
+ return userMirrorFissionRecord;
|
|
|
}
|
|
|
|
|
|
|