From d00edd861c360b01d3fe4bc1318a8913a867e3ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B0=AD=E5=87=AF=E5=87=AF?= Date: Wed, 25 Dec 2024 15:20:44 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A5=96=E5=93=81=E5=85=91=E6=8D=A2=E9=9C=80?= =?UTF-8?q?=E6=B1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/app/entity/UserPrizeExchange.java | 9 +- .../impl/UserPrizeExchangeServiceImpl.java | 89 +++++++++++++++---- 2 files changed, 78 insertions(+), 20 deletions(-) diff --git a/src/main/java/com/sqx/modules/app/entity/UserPrizeExchange.java b/src/main/java/com/sqx/modules/app/entity/UserPrizeExchange.java index bf29d0f4..cdab4dae 100644 --- a/src/main/java/com/sqx/modules/app/entity/UserPrizeExchange.java +++ b/src/main/java/com/sqx/modules/app/entity/UserPrizeExchange.java @@ -25,11 +25,14 @@ public class UserPrizeExchange implements Serializable { */ @TableId(type = IdType.ID_WORKER) private Long id; - /** - * 奖品记录id + * 奖品引用id */ - private Long discSpinningRecordId; + private Long foreignId; + /** + * 活动类型 task-任务奖励 spinning-大转盘 + */ + private String foreignType; /** * 奖品名称 */ diff --git a/src/main/java/com/sqx/modules/app/service/impl/UserPrizeExchangeServiceImpl.java b/src/main/java/com/sqx/modules/app/service/impl/UserPrizeExchangeServiceImpl.java index 2ae329dd..88e06587 100644 --- a/src/main/java/com/sqx/modules/app/service/impl/UserPrizeExchangeServiceImpl.java +++ b/src/main/java/com/sqx/modules/app/service/impl/UserPrizeExchangeServiceImpl.java @@ -1,5 +1,6 @@ package com.sqx.modules.app.service.impl; +import cn.hutool.core.lang.Dict; import cn.hutool.core.lang.Validator; import cn.hutool.core.map.MapProxy; import cn.hutool.core.util.ArrayUtil; @@ -20,6 +21,10 @@ import com.sqx.modules.app.entity.UserPrizeExchange; import com.sqx.modules.app.service.UserPrizeExchangeService; import com.sqx.modules.discSpinning.dao.DiscSpinningRecordDao; import com.sqx.modules.discSpinning.entity.DiscSpinningRecord; +import com.sqx.modules.taskCenter.dao.TaskCenterRecordDao; +import com.sqx.modules.taskCenter.dao.TaskCenterRewardDao; +import com.sqx.modules.taskCenter.entity.TaskCenterRecord; +import com.sqx.modules.taskCenter.entity.TaskCenterReward; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -38,6 +43,10 @@ public class UserPrizeExchangeServiceImpl extends ServiceImpl params) { MapProxy proxy = MapProxy.create(params); - Long discSpinningRecordId = proxy.getLong("discSpinningRecordId"); + Long foreignId = proxy.getLong("foreignId"); + String foreignType = proxy.getStr("foreignType"); Long userId = proxy.getLong("userId"); String userName = proxy.getStr("userName"); String prizeName = proxy.getStr("prizeName"); @@ -55,7 +65,8 @@ public class UserPrizeExchangeServiceImpl extends ServiceImpl wrapper = Wrappers.lambdaQuery(); - wrapper.eq(discSpinningRecordId != null, UserPrizeExchange::getDiscSpinningRecordId, discSpinningRecordId); + wrapper.eq(foreignId != null, UserPrizeExchange::getForeignId, foreignId); + wrapper.eq(StrUtil.isNotEmpty(foreignType), UserPrizeExchange::getForeignType, foreignType); wrapper.eq(userId != null, UserPrizeExchange::getUserId, userId); wrapper.like(StrUtil.isNotEmpty(userName), UserPrizeExchange::getUserName, userName); wrapper.like(StrUtil.isNotEmpty(prizeName), UserPrizeExchange::getPrizeName, prizeName); @@ -78,9 +89,15 @@ public class UserPrizeExchangeServiceImpl extends ServiceImpllambdaQuery() - .eq(UserPrizeExchange::getDiscSpinningRecordId, record.getId()) + .eq(UserPrizeExchange::getForeignId, dto.getForeignId()) + .eq(UserPrizeExchange::getForeignType, dto.getForeignType()) ); if (count != null && count > 0) { throw new SqxException("奖品已兑换,请勿重复操作"); } - dto.setPrizeName(record.getName()); - dto.setUserId(record.getUserId()); + dto.setPrizeName(name); + dto.setUserId(userId); dto.setUserName(user.getUserName()); dto.setStatus(0); dto.setCreateTime(new Date()); - dto.setImgUrl(record.getImgUrl()); + dto.setImgUrl(imgUrl); baseMapper.insert(dto); - record.setTarget("3"); - record.setTargetId(dto.getId()); - discSpinningRecordDao.updateById(record); + if ("spinning".equals(dto.getForeignType())) { + discSpinningRecordDao.update(null, + Wrappers.lambdaUpdate() + .set(DiscSpinningRecord::getTarget, "3") + .set(DiscSpinningRecord::getTargetId, dto.getId()) + .eq(DiscSpinningRecord::getId, dto.getForeignId()) + ); + } else if ("task".equals(dto.getForeignType())) { + taskCenterRecordDao.update(null, + Wrappers.lambdaUpdate() + .set(TaskCenterRecord::getTargetId, dto.getId()) + .eq(TaskCenterRecord::getId, dto.getForeignId()) + ); + } } @Override