|
@@ -15,6 +15,7 @@ import com.cyksj.mapper.fission.UserMirrorFissionRecordMapper;
|
|
|
import com.cyksj.mapper.fission.UserMirrorFissionTicketConfigMapper;
|
|
import com.cyksj.mapper.fission.UserMirrorFissionTicketConfigMapper;
|
|
|
import com.cyksj.mapper.sys.SysConfigMapper;
|
|
import com.cyksj.mapper.sys.SysConfigMapper;
|
|
|
import com.cyksj.model.entity.*;
|
|
import com.cyksj.model.entity.*;
|
|
|
|
|
+import com.cyksj.model.response.UserMirrorFissionReceiveResp;
|
|
|
import com.cyksj.model.views.RenewalView;
|
|
import com.cyksj.model.views.RenewalView;
|
|
|
import com.cyksj.service.fission.UserMirrorFissionFrontService;
|
|
import com.cyksj.service.fission.UserMirrorFissionFrontService;
|
|
|
import com.cyksj.service.relation.GroupRelationFrontService;
|
|
import com.cyksj.service.relation.GroupRelationFrontService;
|
|
@@ -70,18 +71,24 @@ public class UserMirrorFissionFrontServiceImpl implements UserMirrorFissionFront
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
@Transactional(rollbackFor = Throwable.class)
|
|
@Transactional(rollbackFor = Throwable.class)
|
|
|
- public void receiveTrialMirrorTicket(long userId, Long fissionId) {
|
|
|
|
|
|
|
+ public UserMirrorFissionReceiveResp receiveTrialMirrorTicket(long userId, Long fissionId) {
|
|
|
UserMirrorFissionRecord userMirrorFissionRecord = userMirrorFissionRecordMapper.selectOne(Wrappers.lambdaQuery(UserMirrorFissionRecord.class)
|
|
UserMirrorFissionRecord userMirrorFissionRecord = userMirrorFissionRecordMapper.selectOne(Wrappers.lambdaQuery(UserMirrorFissionRecord.class)
|
|
|
.eq(UserMirrorFissionRecord::getId, fissionId)
|
|
.eq(UserMirrorFissionRecord::getId, fissionId)
|
|
|
.last("limit 1"));
|
|
.last("limit 1"));
|
|
|
if (userMirrorFissionRecord == null) {
|
|
if (userMirrorFissionRecord == null) {
|
|
|
throw BusinessRuntimeException.getInstance("活动不存在");
|
|
throw BusinessRuntimeException.getInstance("活动不存在");
|
|
|
}
|
|
}
|
|
|
|
|
+ UserMirrorFissionReceiveResp resp = new UserMirrorFissionReceiveResp();
|
|
|
|
|
+ resp.setStatus(UserMirrorFissionReceiveResp.Status.success);
|
|
|
if (userMirrorFissionRecord.getRemainNum() == 0) {
|
|
if (userMirrorFissionRecord.getRemainNum() == 0) {
|
|
|
- throw BusinessRuntimeException.getInstance("很抱歉,您来晚了,体验卡已被领完");
|
|
|
|
|
|
|
+ resp.setStatus(UserMirrorFissionReceiveResp.Status.completed);
|
|
|
|
|
+// throw BusinessRuntimeException.getInstance("很抱歉,您来晚了,体验卡已被领完");
|
|
|
|
|
+ return resp;
|
|
|
}
|
|
}
|
|
|
if (hasPaidMirrorTicket(userId, userMirrorFissionRecord.getGoodsId())) {
|
|
if (hasPaidMirrorTicket(userId, userMirrorFissionRecord.getGoodsId())) {
|
|
|
- throw BusinessRuntimeException.getInstance("很抱歉,您已购买过GPT镜像车票,无法参加此活动");
|
|
|
|
|
|
|
+ resp.setStatus(UserMirrorFissionReceiveResp.Status.purchased);
|
|
|
|
|
+// throw BusinessRuntimeException.getInstance("很抱歉,您已购买过GPT镜像车票,无法参加此活动");
|
|
|
|
|
+ return resp;
|
|
|
}
|
|
}
|
|
|
Long trialSkuId = userMirrorFissionRecord.getTrialSkuId();
|
|
Long trialSkuId = userMirrorFissionRecord.getTrialSkuId();
|
|
|
//发送试用镜像车票
|
|
//发送试用镜像车票
|
|
@@ -91,14 +98,18 @@ public class UserMirrorFissionFrontServiceImpl implements UserMirrorFissionFront
|
|
|
}
|
|
}
|
|
|
Integer update = userMirrorFissionRecordMapper.updateFissionRemainNum(fissionId);
|
|
Integer update = userMirrorFissionRecordMapper.updateFissionRemainNum(fissionId);
|
|
|
if (update == 0) {
|
|
if (update == 0) {
|
|
|
- throw BusinessRuntimeException.getInstance("很抱歉,您来晚了,体验卡已被领完");
|
|
|
|
|
|
|
+ resp.setStatus(UserMirrorFissionReceiveResp.Status.completed);
|
|
|
|
|
+// throw BusinessRuntimeException.getInstance("很抱歉,您来晚了,体验卡已被领完");
|
|
|
|
|
+ return resp;
|
|
|
}
|
|
}
|
|
|
List<Long> userIdList = userBindRelationService.getRelationUserIdList(userId, null);
|
|
List<Long> userIdList = userBindRelationService.getRelationUserIdList(userId, null);
|
|
|
Integer selectCount = userMirrorFissionReceiveRecordMapper.selectCount(Wrappers.lambdaQuery(UserMirrorFissionReceiveRecord.class)
|
|
Integer selectCount = userMirrorFissionReceiveRecordMapper.selectCount(Wrappers.lambdaQuery(UserMirrorFissionReceiveRecord.class)
|
|
|
.in(UserMirrorFissionReceiveRecord::getUserId, userIdList)
|
|
.in(UserMirrorFissionReceiveRecord::getUserId, userIdList)
|
|
|
.eq(UserMirrorFissionReceiveRecord::getSkuId, trialSkuId));
|
|
.eq(UserMirrorFissionReceiveRecord::getSkuId, trialSkuId));
|
|
|
if (selectCount > 0) {
|
|
if (selectCount > 0) {
|
|
|
- throw BusinessRuntimeException.getInstance("您已领取该试用车票");
|
|
|
|
|
|
|
+ resp.setStatus(UserMirrorFissionReceiveResp.Status.claimed);
|
|
|
|
|
+// throw BusinessRuntimeException.getInstance("您已领取该试用车票");
|
|
|
|
|
+ return resp;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
try {
|
|
try {
|
|
@@ -106,6 +117,7 @@ public class UserMirrorFissionFrontServiceImpl implements UserMirrorFissionFront
|
|
|
receiveRecord.setUserId(userId);
|
|
receiveRecord.setUserId(userId);
|
|
|
receiveRecord.setGoodsId(sku.getGoodsId());
|
|
receiveRecord.setGoodsId(sku.getGoodsId());
|
|
|
receiveRecord.setSkuId(trialSkuId);
|
|
receiveRecord.setSkuId(trialSkuId);
|
|
|
|
|
+ receiveRecord.setFissionId(fissionId);
|
|
|
//车票id
|
|
//车票id
|
|
|
Long relationId = groupRelationFrontService.getTrialTicketByUserIdAndGoodsId(userId, trialSkuId, 3);
|
|
Long relationId = groupRelationFrontService.getTrialTicketByUserIdAndGoodsId(userId, trialSkuId, 3);
|
|
|
receiveRecord.setRelationId(relationId);
|
|
receiveRecord.setRelationId(relationId);
|
|
@@ -113,8 +125,10 @@ public class UserMirrorFissionFrontServiceImpl implements UserMirrorFissionFront
|
|
|
//给裂变活动发起者车票添加时长
|
|
//给裂变活动发起者车票添加时长
|
|
|
groupsRelationMapper.incrExpiryTime(userMirrorFissionRecord.getRelationId(), userMirrorFissionRecord.getUserId());
|
|
groupsRelationMapper.incrExpiryTime(userMirrorFissionRecord.getRelationId(), userMirrorFissionRecord.getUserId());
|
|
|
} catch (DuplicateKeyException e) {
|
|
} catch (DuplicateKeyException e) {
|
|
|
- throw BusinessRuntimeException.getInstance("您已领取该试用车票");
|
|
|
|
|
|
|
+ resp.setStatus(UserMirrorFissionReceiveResp.Status.claimed);
|
|
|
|
|
+// throw BusinessRuntimeException.getInstance("您已领取该试用车票");
|
|
|
}
|
|
}
|
|
|
|
|
+ return resp;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|