|
|
@@ -1,28 +1,17 @@
|
|
|
package com.izouma.nineth.web;
|
|
|
|
|
|
-import com.izouma.nineth.domain.MetaLuckyDraw;
|
|
|
-import com.izouma.nineth.domain.MetaLuckyDrawAwardModel;
|
|
|
import com.izouma.nineth.domain.MetaLuckyDrawAwardReceiveRecord;
|
|
|
import com.izouma.nineth.dto.MetaRestResult;
|
|
|
import com.izouma.nineth.dto.PageQuery;
|
|
|
-import com.izouma.nineth.enums.MetaAwardTypeEnum;
|
|
|
-import com.izouma.nineth.repo.MetaLuckyDrawAwardReceiveRecordRepo;
|
|
|
-import com.izouma.nineth.repo.MetaLuckyDrawRepo;
|
|
|
import com.izouma.nineth.service.MetaLuckyDrawAwardReceiveRecordService;
|
|
|
-import com.izouma.nineth.utils.LotteryUtils;
|
|
|
-import com.izouma.nineth.utils.SecurityUtils;
|
|
|
import com.izouma.nineth.utils.excel.ExcelUtils;
|
|
|
import lombok.AllArgsConstructor;
|
|
|
-import org.apache.commons.collections.CollectionUtils;
|
|
|
import org.springframework.data.domain.Page;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
import java.io.IOException;
|
|
|
-import java.time.LocalDateTime;
|
|
|
-import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
-import java.util.Objects;
|
|
|
|
|
|
@RestController
|
|
|
@RequestMapping("/metaLuckyDrawAwardReceiveRecord")
|
|
|
@@ -31,48 +20,12 @@ public class MetaLuckyDrawAwardReceiveRecordController extends BaseController {
|
|
|
|
|
|
private MetaLuckyDrawAwardReceiveRecordService metaLuckyDrawAwardReceiveRecordService;
|
|
|
|
|
|
- private MetaLuckyDrawRepo metaLuckyDrawRepo;
|
|
|
-
|
|
|
- private MetaLuckyDrawAwardReceiveRecordRepo metaLuckyDrawAwardReceiveRecordRepo;
|
|
|
-
|
|
|
-
|
|
|
//@PreAuthorize("hasRole('ADMIN')")
|
|
|
@PostMapping("/save")
|
|
|
- public MetaRestResult<MetaLuckyDrawAwardReceiveRecord> save(@RequestBody MetaLuckyDrawAwardReceiveRecord metaLuckyDrawAwardReceiveRecord) {
|
|
|
- if (Objects.isNull(metaLuckyDrawAwardReceiveRecord)) {
|
|
|
- return MetaRestResult.returnError("Illegal parameter : params must be null");
|
|
|
- }
|
|
|
- if (Objects.isNull(metaLuckyDrawAwardReceiveRecord.getMetaLuckyDrawId())) {
|
|
|
- return MetaRestResult.returnError("Illegal parameter : metaLuckyDrawId must be null");
|
|
|
- }
|
|
|
- Long userId = SecurityUtils.getAuthenticatedUser().getId();
|
|
|
- MetaLuckyDraw metaLuckyDraw = metaLuckyDrawRepo.findById(metaLuckyDrawAwardReceiveRecord.getMetaLuckyDrawId()).orElse(null);
|
|
|
- if (Objects.isNull(metaLuckyDraw)) {
|
|
|
- return MetaRestResult.returnError("不存在该抽奖活动");
|
|
|
- }
|
|
|
- List<MetaLuckyDrawAwardModel> metaLuckDrawAwards = metaLuckyDraw.getMetaLuckDrawAwards();
|
|
|
- if (CollectionUtils.isEmpty(metaLuckDrawAwards)) {
|
|
|
- return MetaRestResult.returnError("该抽奖活动未配置奖励");
|
|
|
- }
|
|
|
- List<MetaLuckyDrawAwardModel> newMetaLuckDrawAwards = new ArrayList<>();
|
|
|
- metaLuckDrawAwards.forEach(metaLuckyDrawAwardModel -> {
|
|
|
- if (metaLuckyDrawAwardModel.getAwardType().equals(MetaAwardTypeEnum.NFT) && metaLuckyDrawAwardModel.isLimitNum()) {
|
|
|
- int count = metaLuckyDrawAwardReceiveRecordRepo.countByMetaLuckyDrawIdAndMetaLuckDrawAwardName(metaLuckyDrawAwardReceiveRecord.getMetaLuckyDrawId(), metaLuckyDrawAwardModel.getName());
|
|
|
- if (count < metaLuckyDrawAwardModel.getMaxNum()) {
|
|
|
- newMetaLuckDrawAwards.add(metaLuckyDrawAwardModel);
|
|
|
- }
|
|
|
- }
|
|
|
- newMetaLuckDrawAwards.add(metaLuckyDrawAwardModel);
|
|
|
- });
|
|
|
- MetaLuckyDrawAwardModel metaLuckyDrawAwardModel = LotteryUtils.lotteryForMetaLuckyDrawAward(newMetaLuckDrawAwards);
|
|
|
- metaLuckyDrawAwardReceiveRecord.setUserId(userId);
|
|
|
- metaLuckyDrawAwardReceiveRecord.setFinishTime(LocalDateTime.now());
|
|
|
- metaLuckyDrawAwardReceiveRecord.setMetaLuckDrawAward(metaLuckyDrawAwardModel);
|
|
|
- metaLuckyDrawAwardReceiveRecord.setMetaLuckDrawAwardName(metaLuckyDrawAwardModel.getName());
|
|
|
- return MetaRestResult.returnSuccess(metaLuckyDrawAwardReceiveRecordRepo.save(metaLuckyDrawAwardReceiveRecord));
|
|
|
+ public MetaRestResult<MetaLuckyDrawAwardReceiveRecord> save(Long metaLuckyDrawId) {
|
|
|
+ return metaLuckyDrawAwardReceiveRecordService.save(metaLuckyDrawId);
|
|
|
}
|
|
|
|
|
|
-
|
|
|
//@PreAuthorize("hasRole('ADMIN')")
|
|
|
@PostMapping("/all")
|
|
|
public Page<MetaLuckyDrawAwardReceiveRecord> all(@RequestBody PageQuery pageQuery) {
|