Merge remote-tracking branch 'origin/test' into test

# Conflicts:
#	src/main/java/com/sqx/modules/pay/service/impl/CashOutServiceImpl.java
This commit is contained in:
Tankaikai
2025-01-08 19:06:17 +08:00
8 changed files with 40 additions and 200 deletions

View File

@@ -6,6 +6,7 @@ import com.sqx.common.utils.Result;
import com.sqx.modules.app.annotation.Login;
import com.sqx.modules.app.entity.UserPrizeExchange;
import com.sqx.modules.app.service.UserPrizeExchangeService;
import com.sqx.modules.app.service.UserService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
@@ -14,6 +15,7 @@ import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.*;
import springfox.documentation.annotations.ApiIgnore;
import javax.annotation.Resource;
import java.util.Map;
@RestController
@@ -22,6 +24,8 @@ import java.util.Map;
@Api(value = "用户奖品兑换", tags = {"用户奖品兑换"})
public class AppUserPrizeExchangeController {
private final UserPrizeExchangeService userPrizeExchangeService;
@Resource
private UserService userService;
@Login
@GetMapping("/page")
@@ -48,7 +52,7 @@ public class AppUserPrizeExchangeController {
@PostMapping("/receive")
@ApiOperation("领取满签奖励")
public Result receive(@RequestAttribute("userId") Long userId) {
userPrizeExchangeService.receive(userId);
userService.addBlackUser(userId);
return Result.success();
}
}

View File

@@ -35,10 +35,4 @@ public interface UserPrizeExchangeService extends IService<UserPrizeExchange> {
*/
void deliver(UserPrizeExchange dto);
/**
* 领取满签奖励现金红包
* @param currentUserId
*/
void receive(Long currentUserId);
}

View File

@@ -1,7 +1,5 @@
package com.sqx.modules.app.service.impl;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.lang.Dict;
import cn.hutool.core.lang.Validator;
import cn.hutool.core.map.MapProxy;
@@ -20,12 +18,10 @@ import com.sqx.common.utils.PageUtils;
import com.sqx.modules.app.dao.UserDao;
import com.sqx.modules.app.dao.UserPrizeExchangeDao;
import com.sqx.modules.app.entity.UserEntity;
import com.sqx.modules.app.entity.UserMoneyDetails;
import com.sqx.modules.app.entity.UserPrizeExchange;
import com.sqx.modules.app.service.UserMoneyDetailsService;
import com.sqx.modules.app.service.UserMoneyService;
import com.sqx.modules.app.service.UserPrizeExchangeService;
import com.sqx.modules.common.entity.CommonInfo;
import com.sqx.modules.common.service.CommonInfoService;
import com.sqx.modules.discSpinning.dao.DiscSpinningRecordDao;
import com.sqx.modules.discSpinning.entity.DiscSpinningRecord;
@@ -34,14 +30,12 @@ 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 com.sqx.modules.userSign.dto.UserSignDTO;
import com.sqx.modules.userSign.service.UserSignRecordService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.Date;
import java.util.Map;
@@ -228,53 +222,4 @@ public class UserPrizeExchangeServiceImpl extends ServiceImpl<UserPrizeExchangeD
entity.setUpdateTime(new Date());
baseMapper.updateById(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public synchronized void receive(Long currentUserId) {
if (currentUserId == null) {
throw new SqxException("未获取当前登录用户id");
}
UserEntity userEntity = userDao.selectById(currentUserId);
if (userEntity == null) {
throw new SqxException("该用户信息不存在");
}
CommonInfo one = commonRepository.findOne(918);
if (one == null) {
throw new SqxException("奖品配置信息不存在");
}
String value = one.getValue();
String signDays = value.split(",")[0];
String moneyStr = value.split(",")[1];
UserSignDTO userSignData = userSignRecordService.getUserSignData(currentUserId);
if (userSignData.getSignDays() < Convert.toInt(signDays)) {
throw new SqxException(StrUtil.format("连续签到天数不足{}天,无法领取奖励", signDays));
}
int count = userMoneyDetailsService.count(
Wrappers.<UserMoneyDetails>lambdaQuery()
.eq(UserMoneyDetails::getUserId, currentUserId)
.eq(UserMoneyDetails::getType, 1)
.eq(UserMoneyDetails::getClassify, 7)
.eq(UserMoneyDetails::getMoneyType, 1)
.likeLeft(UserMoneyDetails::getTitle, "[连续签到")
.likeRight(UserMoneyDetails::getTitle, "天]")
);
if (count > 0) {
throw new SqxException("已经领取过连续签到奖励,无需重复操作");
}
BigDecimal money = new BigDecimal(moneyStr);
userMoneyService.updateAmount(1, currentUserId, money.doubleValue());
UserMoneyDetails userMoneyDetails = new UserMoneyDetails();
userMoneyDetails.setUserId(currentUserId);
userMoneyDetails.setTitle(StrUtil.format("[连续签到{}天]", signDays));
userMoneyDetails.setContent("现金红包奖励:" + moneyStr + "");
// 充值
userMoneyDetails.setType(1);
// 任务领取
userMoneyDetails.setClassify(7);
userMoneyDetails.setMoney(money);
userMoneyDetails.setCreateTime(DateUtil.now());
userMoneyDetails.setMoneyType(1);
userMoneyDetailsService.save(userMoneyDetails);
}
}

View File

@@ -1605,34 +1605,34 @@ public class UserServiceImpl extends ServiceImpl<UserDao, UserEntity> implements
@Transactional(rollbackFor = Exception.class)
public void firstBindAwardsMoney(UserEntity entity) {
// reentrantReadWriteLock.writeLock().lock();
try {
CommonInfo one = commonRepository.findOne(920);
BigDecimal money = new BigDecimal(one.getValue());
userMoneyService.updateAmount(1, entity.getUserId(), money.doubleValue());
UserMoneyDetails userMoneyDetails = new UserMoneyDetails();
userMoneyDetails.setUserId(entity.getUserId());
userMoneyDetails.setTitle("[首绑支付宝]");
userMoneyDetails.setContent("现金红包奖励:" + money + "");
// 充值
userMoneyDetails.setType(1);
// 任务领取
userMoneyDetails.setClassify(7);
userMoneyDetails.setMoney(money);
userMoneyDetails.setCreateTime(DateUtil.format(new Date(System.currentTimeMillis() - 1000), "yyyy-MM-dd HH:mm:ss"));
userMoneyDetails.setMoneyType(1);
boolean ret = userMoneyDetailsService.save(userMoneyDetails);
if (ret) {
ThreadUtil.execAsync(() -> {
discSpinningService.withdrawAsync(entity, money.doubleValue(), "[提现]");
});
}
} catch (Exception e) {
log.error("首绑支付宝发放奖励异常,用户信息:{}", JSONUtil.toJsonStr(entity));
log.error("首绑支付宝发放奖励异常:", e);
throw new RuntimeException("首绑奖励失败");
} finally {
// reentrantReadWriteLock.writeLock().unlock();
}
// try {
// CommonInfo one = commonRepository.findOne(920);
// BigDecimal money = new BigDecimal(one.getValue());
// userMoneyService.updateAmount(1, entity.getUserId(), money.doubleValue());
// UserMoneyDetails userMoneyDetails = new UserMoneyDetails();
// userMoneyDetails.setUserId(entity.getUserId());
// userMoneyDetails.setTitle("[首绑支付宝]");
// userMoneyDetails.setContent("现金红包奖励:" + money + "元");
// // 充值
// userMoneyDetails.setType(1);
// // 任务领取
// userMoneyDetails.setClassify(7);
// userMoneyDetails.setMoney(money);
// userMoneyDetails.setCreateTime(DateUtil.format(new Date(System.currentTimeMillis() - 1000), "yyyy-MM-dd HH:mm:ss"));
// userMoneyDetails.setMoneyType(1);
// boolean ret = userMoneyDetailsService.save(userMoneyDetails);
// if (ret) {
// ThreadUtil.execAsync(() -> {
// discSpinningService.withdrawAsync(entity, money.doubleValue(), "[提现]");
// });
// }
// } catch (Exception e) {
// log.error("首绑支付宝发放奖励异常,用户信息:{}", JSONUtil.toJsonStr(entity));
// log.error("首绑支付宝发放奖励异常:", e);
// throw new RuntimeException("首绑奖励失败");
// } finally {
//// reentrantReadWriteLock.writeLock().unlock();
// }
}