zoujiajian 1 年之前
父节点
当前提交
67ec0d6fad

+ 5 - 0
netflix-dao/src/main/java/com/cyksj/model/entity/UserMirrorFissionRecord.java

@@ -35,4 +35,9 @@ public class UserMirrorFissionRecord extends BaseEntity{
 	 * 试用车票可领取剩余数量
 	 */
 	private Integer remainNum;
+
+	/**
+	 * 唯一标识
+	 */
+	private String code;
 }

+ 2 - 2
netflix-dao/src/main/java/com/cyksj/model/views/UserMirrorFissionReceiveRecordView.java

@@ -18,8 +18,8 @@ import java.util.Date;
 @Setter
 @SearchBean(tables = "user_mirror_fission_receive_record umr inner join user u on u.id = umr.user_id")
 public class UserMirrorFissionReceiveRecordView {
-	@DbField("umr.fission_id")
-	private Long fissionId;
+	@DbField("umr.code")
+	private String code;
 
 	@DbField("umr.user_id")
 	@JsonIgnore

+ 1 - 1
netflix-service/src/main/java/com/cyksj/service/fission/UserMirrorFissionFrontService.java

@@ -12,7 +12,7 @@ import com.cyksj.model.response.UserMirrorFissionReceiveResp;
 public interface UserMirrorFissionFrontService {
 	Boolean getPurchasedMirrorStatus(long userId, Long goodsId);
 
-	UserMirrorFissionReceiveResp receiveTrialMirrorTicket(long userId, Long fissionId);
+	UserMirrorFissionReceiveResp receiveTrialMirrorTicket(long userId, String code);
 
 	UserMirrorFissionRecord getPresentFissionTicket(long userId);
 

+ 5 - 2
netflix-service/src/main/java/com/cyksj/service/fission/impl/UserMirrorFissionFrontServiceImpl.java

@@ -1,6 +1,7 @@
 package com.cyksj.service.fission.impl;
 
 import cn.hutool.core.date.DateTime;
+import cn.hutool.core.util.RandomUtil;
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.cyksj.common.constant.Constant;
@@ -74,13 +75,14 @@ public class UserMirrorFissionFrontServiceImpl implements UserMirrorFissionFront
 
 	@Override
 	@Transactional(rollbackFor = Throwable.class)
-	public UserMirrorFissionReceiveResp receiveTrialMirrorTicket(long userId, Long fissionId) {
+	public UserMirrorFissionReceiveResp receiveTrialMirrorTicket(long userId, String code) {
 		UserMirrorFissionRecord userMirrorFissionRecord = userMirrorFissionRecordMapper.selectOne(Wrappers.lambdaQuery(UserMirrorFissionRecord.class)
-				.eq(UserMirrorFissionRecord::getId, fissionId)
+				.eq(UserMirrorFissionRecord::getCode, code)
 				.last("limit 1"));
 		if (userMirrorFissionRecord == null) {
 			throw BusinessRuntimeException.getInstance("活动不存在");
 		}
+		Long fissionId = userMirrorFissionRecord.getId();
 		UserMirrorFissionReceiveResp resp = new UserMirrorFissionReceiveResp();
 		resp.setStatus(UserMirrorFissionReceiveResp.Status.success);
 		if (userMirrorFissionRecord.getRemainNum() == 0) {
@@ -210,6 +212,7 @@ public class UserMirrorFissionFrontServiceImpl implements UserMirrorFissionFront
 			userMirrorFissionRecord.setNum(userMirrorFissionTicketConfig.getNum());
 			userMirrorFissionRecord.setRemainNum(userMirrorFissionTicketConfig.getNum());
 			userMirrorFissionRecord.setTrialSkuId(userMirrorFissionTicketConfig.getTrialSkuId());
+			userMirrorFissionRecord.setCode(RandomUtil.randomString(6));
 			userMirrorFissionRecordMapper.insert(userMirrorFissionRecord);
 		} catch (DuplicateKeyException e) {
 			userMirrorFissionRecord = userMirrorFissionRecordMapper.selectOne(Wrappers.lambdaQuery(UserMirrorFissionRecord.class)

+ 6 - 6
netflix-web/src/main/java/com/cyksj/web/controller/fission/UserMirrorFissionController.java

@@ -48,10 +48,10 @@ public class UserMirrorFissionController {
 	/**
 	 * 领取镜像试用车票
 	 */
-	@PostMapping("/receive/trial/mirror/ticket/{fissionId}")
-	public Result<String> receiveTrialMirrorTicket(@PathVariable Long fissionId) {
+	@PostMapping("/receive/trial/mirror/ticket/{code}")
+	public Result<String> receiveTrialMirrorTicket(@PathVariable String code) {
 		long userId = StpUserUtil.getLoginIdAsLong();
-		UserMirrorFissionReceiveResp resp = userMirrorFissionFrontService.receiveTrialMirrorTicket(userId, fissionId);
+		UserMirrorFissionReceiveResp resp = userMirrorFissionFrontService.receiveTrialMirrorTicket(userId, code);
 		return GatewayResponse.SUCCESS.newBuilder().toResult(resp.getStatus().name());
 	}
 
@@ -78,9 +78,9 @@ public class UserMirrorFissionController {
 	/**
 	 * 镜像分裂车票 赠送记录
 	 */
-	@GetMapping("/get/receive/record/{fissionId}")
-	public Result<SearchResult<UserMirrorFissionReceiveRecordView>> getFissionReceiveRecord(@PathVariable Long fissionId) {
-		SearchResult<UserMirrorFissionReceiveRecordView> search = beanSearcher.search(UserMirrorFissionReceiveRecordView.class, MapUtils.flatBuilder(request.getParameterMap()).field(UserMirrorFissionReceiveRecordView::getFissionId, fissionId).build());
+	@GetMapping("/get/receive/record/{code}")
+	public Result<SearchResult<UserMirrorFissionReceiveRecordView>> getFissionReceiveRecord(@PathVariable String code) {
+		SearchResult<UserMirrorFissionReceiveRecordView> search = beanSearcher.search(UserMirrorFissionReceiveRecordView.class, MapUtils.flatBuilder(request.getParameterMap()).field(UserMirrorFissionReceiveRecordView::getCode, code).build());
 		return GatewayResponse.SUCCESS.newBuilder().toResult(search);
 	}