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