|
|
@@ -18,6 +18,7 @@ import com.cyksj.model.entity.*;
|
|
|
import com.cyksj.model.response.UserMirrorFissionReceiveResp;
|
|
|
import com.cyksj.model.views.RenewalView;
|
|
|
import com.cyksj.service.fission.UserMirrorFissionFrontService;
|
|
|
+import com.cyksj.service.relation.GroupRelationClearService;
|
|
|
import com.cyksj.service.relation.GroupRelationFrontService;
|
|
|
import com.cyksj.service.user.UserBindRelationService;
|
|
|
import com.ejlchina.searcher.BeanSearcher;
|
|
|
@@ -64,6 +65,8 @@ public class UserMirrorFissionFrontServiceImpl implements UserMirrorFissionFront
|
|
|
|
|
|
private final BeanSearcher beanSearcher;
|
|
|
|
|
|
+ private final GroupRelationClearService groupRelationClearService;
|
|
|
+
|
|
|
@Override
|
|
|
public Boolean getPurchasedMirrorStatus(long userId, Long goodsId) {
|
|
|
return hasPaidMirrorTicket(userId, goodsId);
|
|
|
@@ -111,7 +114,7 @@ public class UserMirrorFissionFrontServiceImpl implements UserMirrorFissionFront
|
|
|
// throw BusinessRuntimeException.getInstance("您已领取该试用车票");
|
|
|
return resp;
|
|
|
}
|
|
|
-
|
|
|
+ Long relationId = null;
|
|
|
try {
|
|
|
UserMirrorFissionReceiveRecord receiveRecord = new UserMirrorFissionReceiveRecord();
|
|
|
receiveRecord.setUserId(userId);
|
|
|
@@ -119,13 +122,19 @@ public class UserMirrorFissionFrontServiceImpl implements UserMirrorFissionFront
|
|
|
receiveRecord.setSkuId(trialSkuId);
|
|
|
receiveRecord.setFissionId(fissionId);
|
|
|
//车票id
|
|
|
- Long relationId = groupRelationFrontService.getTrialTicketByUserIdAndGoodsId(userId, trialSkuId, 3);
|
|
|
+ relationId = groupRelationFrontService.getTrialTicketByUserIdAndGoodsId(userId, trialSkuId, 3);
|
|
|
receiveRecord.setRelationId(relationId);
|
|
|
userMirrorFissionReceiveRecordMapper.insert(receiveRecord);
|
|
|
//给裂变活动发起者车票添加时长
|
|
|
groupsRelationMapper.incrExpiryTime(userMirrorFissionRecord.getRelationId(), userMirrorFissionRecord.getUserId());
|
|
|
} catch (DuplicateKeyException e) {
|
|
|
resp.setStatus(UserMirrorFissionReceiveResp.Status.claimed);
|
|
|
+ if (relationId != null) {
|
|
|
+ GroupsRelation relation = groupsRelationMapper.selectById(relationId);
|
|
|
+ if (relation.getUserId().equals(userId)) {
|
|
|
+ groupRelationClearService.clearTicket(relation, UserTicketClearedRecord.Source.manual);
|
|
|
+ }
|
|
|
+ }
|
|
|
// throw BusinessRuntimeException.getInstance("您已领取该试用车票");
|
|
|
}
|
|
|
return resp;
|