| | |
| | | import cn.lili.modules.lmk.mapper.ScanPrizeMapper; |
| | | import cn.lili.modules.lmk.service.ScanPrizeService; |
| | | import cn.lili.base.Result; |
| | | import com.baomidou.mybatisplus.core.toolkit.StringUtils; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import cn.lili.modules.lmk.domain.form.ScanPrizeForm; |
| | |
| | | import lombok.RequiredArgsConstructor; |
| | | import cn.lili.utils.PageUtil; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.transaction.support.TransactionSynchronization; |
| | | import org.springframework.transaction.support.TransactionSynchronizationManager; |
| | | import org.springframework.util.Assert; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | |
| | | */ |
| | | @Override |
| | | public Result page(ScanPrizeQuery query) { |
| | | |
| | | IPage<ScanPrizeVO> page = PageUtil.getPage(query, ScanPrizeVO.class); |
| | | LambdaQueryWrapper<ScanPrize> wrapper = Wrappers.lambdaQuery(); |
| | | wrapper.eq(Objects.nonNull(query.getStoreId()), ScanPrize::getStoreId, query.getStoreId()); |
| | | wrapper.eq(StringUtils.isNotBlank(query.getStatus()), ScanPrize::getStatus, query.getStatus()); |
| | | wrapper.eq(StringUtils.isNotBlank(query.getGenerateStatus()), ScanPrize::getGenerateStatus, query.getGenerateStatus()); |
| | | baseMapper.getPage(page, query); |
| | | return Result.ok().data(page.getRecords()).total(page.getTotal()); |
| | | } |
| | |
| | | } |
| | | |
| | | @Override |
| | | @Transactional |
| | | public Result generateStorePrize(String id) { |
| | | |
| | | RLock redissonLock = redissonClient.getLock(STORE_PRIZE_GENERATE + id); |
| | |
| | | prizeClaimRecord.setStoreId(scanPrize.getStoreId()); |
| | | prizeClaimRecord.setStoreName(scanPrize.getStoreName()); |
| | | prizeClaimRecord.setPrizeActivityId(scanPrize.getPrizeActivityId()); |
| | | prizeClaimRecord.setPrizeActivityName(scanPrize.getPrizeActivityNmae()); |
| | | prizeClaimRecord.setPrizeActivityName(scanPrize.getPrizeActivityName()); |
| | | prizeClaimRecord.setClaimStatus(ClaimStatusEnum.NOT_CLAIM.name()); |
| | | prizeClaimRecord.setNo(String.format("%08d", i)); |
| | | prizeClaimRecord.setMaterial(MaterialStatusEnum.NOT_GENERATE.name()); |