Merge remote-tracking branch 'origin/test' into test
This commit is contained in:
@@ -8,14 +8,8 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.sqx.common.utils.DateUtils;
|
||||
import com.sqx.modules.app.entity.InviteAchievement;
|
||||
import com.sqx.modules.app.entity.UserEntity;
|
||||
import com.sqx.modules.app.entity.UserMoney;
|
||||
import com.sqx.modules.app.entity.UserMoneyDetails;
|
||||
import com.sqx.modules.app.service.InviteAchievementService;
|
||||
import com.sqx.modules.app.service.UserMoneyDetailsService;
|
||||
import com.sqx.modules.app.service.UserMoneyService;
|
||||
import com.sqx.modules.app.service.UserService;
|
||||
import com.sqx.modules.app.entity.*;
|
||||
import com.sqx.modules.app.service.*;
|
||||
import com.sqx.modules.common.service.CommonInfoService;
|
||||
import com.sqx.modules.complet.entity.CompletAward;
|
||||
import com.sqx.modules.complet.service.CompletAwardService;
|
||||
@@ -47,6 +41,8 @@ import javax.annotation.Resource;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
|
||||
@Component
|
||||
@@ -83,13 +79,15 @@ public class TempOrdersTask {
|
||||
private final InviteAchievementService inviteAchievementService;
|
||||
private final CourseService courseService;
|
||||
private final SysUserMoneyDetailsService sysUserMoneyDetailsService;
|
||||
private final UserInfoService userInfoService;
|
||||
|
||||
private Logger logger = LoggerFactory.getLogger(getClass());
|
||||
|
||||
public TempOrdersTask(InviteAchievementService inviteAchievementService, CourseService courseService, SysUserMoneyDetailsService sysUserMoneyDetailsService) {
|
||||
public TempOrdersTask(InviteAchievementService inviteAchievementService, CourseService courseService, SysUserMoneyDetailsService sysUserMoneyDetailsService, UserInfoService userInfoService) {
|
||||
this.inviteAchievementService = inviteAchievementService;
|
||||
this.courseService = courseService;
|
||||
this.sysUserMoneyDetailsService = sysUserMoneyDetailsService;
|
||||
this.userInfoService = userInfoService;
|
||||
}
|
||||
|
||||
@Scheduled(cron = "0 0/10 * * * ? ")
|
||||
@@ -255,11 +253,17 @@ public class TempOrdersTask {
|
||||
}
|
||||
}
|
||||
|
||||
int count = inviteAchievementService.count(
|
||||
new LambdaQueryWrapper<InviteAchievement>()
|
||||
.eq(InviteAchievement::getUserId, sourceUser.getUserId())
|
||||
.eq(InviteAchievement::getState, 1));
|
||||
logger.info("邀请人员: {}", count);
|
||||
// int count = inviteAchievementService.count(
|
||||
// new LambdaQueryWrapper<InviteAchievement>()
|
||||
// .eq(InviteAchievement::getUserId, sourceUser.getUserId())
|
||||
// .eq(InviteAchievement::getState, 1));
|
||||
Set<Long> byUserIdList = inviteAchievementService.list(new LambdaQueryWrapper<InviteAchievement>().eq(InviteAchievement::getUserId, sourceUser.getUserId())
|
||||
.eq(InviteAchievement::getState, 1).select(InviteAchievement::getTargetUserId)).stream().map(InviteAchievement::getTargetUserId).collect(Collectors.toSet());
|
||||
int count = 0;
|
||||
if (!byUserIdList.isEmpty()) {
|
||||
count = userInfoService.count(new LambdaQueryWrapper<UserInfo>().in(UserInfo::getUserId, byUserIdList).isNotNull(UserInfo::getAccountNo));
|
||||
}
|
||||
logger.info("邀请达标人员: {}", count);
|
||||
//count 邀请的已达标人数
|
||||
for (CompletAward completAward : completAwardService.list(new QueryWrapper<CompletAward>().eq("invite_count", count).eq("status", 1))) {
|
||||
QueryWrapper<UserMoneyDetails> moneyDetailsQuery = new QueryWrapper<>();
|
||||
|
||||
@@ -36,6 +36,7 @@ import com.sqx.modules.pay.wuyou.BaseResp;
|
||||
import com.sqx.modules.pay.wuyou.Encrypt;
|
||||
import com.sqx.modules.pay.wuyou.NotifyDto;
|
||||
import com.sqx.modules.pay.wuyou.WuyouPay;
|
||||
import com.sqx.modules.redisService.RedisService;
|
||||
import com.sqx.modules.sys.entity.SysUserEntity;
|
||||
import com.sqx.modules.sys.service.SysUserService;
|
||||
import com.sqx.modules.utils.AliPayOrderUtil;
|
||||
@@ -74,12 +75,14 @@ public class WuyouController {
|
||||
private final CashOutDao cashOutDao;
|
||||
private final WuyouPay wuyouPay;
|
||||
private final TempOrdersTask ordersTask;
|
||||
private final UserService userService;
|
||||
private final RedisService redisService;
|
||||
@Resource
|
||||
private WuyouCallbackService wuyouCallbackService;
|
||||
|
||||
WuyouController(OrdersService ordersService, PayDetailsDao payDetailsDao, CashOutDao cashOutDao, UserMoneyService userMoneyService,
|
||||
UserMoneyDetailsService userMoneyDetailsService, TempOrdersTask ordersTask,
|
||||
WuyouPay wuyouPay) {
|
||||
WuyouPay wuyouPay, UserService userService, RedisService redisService) {
|
||||
this.ordersService = ordersService;
|
||||
this.payDetailsDao = payDetailsDao;
|
||||
this.cashOutDao = cashOutDao;
|
||||
@@ -87,6 +90,8 @@ public class WuyouController {
|
||||
this.userMoneyDetailsService = userMoneyDetailsService;
|
||||
this.wuyouPay = wuyouPay;
|
||||
this.ordersTask = ordersTask;
|
||||
this.userService = userService;
|
||||
this.redisService = redisService;
|
||||
}
|
||||
|
||||
@Debounce(interval = 1000, value = "#orderId")
|
||||
@@ -101,6 +106,9 @@ public class WuyouController {
|
||||
if (order.getStatus() != 0) {
|
||||
return Result.error("订单已支付");
|
||||
}
|
||||
if (redisService.setCreateOrderFlagAndCheckLimit(order.getUserId(), orderId)) {
|
||||
userService.addBlackUser(order.getUserId(), "一分钟频繁下单超12次");
|
||||
}
|
||||
|
||||
PayDetails payDetails = payDetailsDao.selectByOrderId(order.getOrdersNo());
|
||||
if (payDetails == null) {
|
||||
|
||||
@@ -75,7 +75,7 @@ public class WuyouCallbackServiceImpl implements WuyouCallbackService {
|
||||
@Transactional
|
||||
public int executeExtractCallback(CashOut cashOut, int status, String reason) {
|
||||
if (StringUtils.isNotBlank(reason) && reason.contains("已驳回")) {
|
||||
reason = "提现失败,请检查支付宝账号与收款人姓名后重试。";
|
||||
reason = "提现失败,请检查收款账号与收款人姓名后重试。";
|
||||
}
|
||||
BigDecimal money = new BigDecimal(cashOut.getMoney());
|
||||
if (status == 1) {
|
||||
|
||||
@@ -30,4 +30,6 @@ public interface RedisService {
|
||||
void setCanCashFlag(Long userId, Long id);
|
||||
|
||||
boolean isCanCash(Long userId);
|
||||
|
||||
boolean setCreateOrderFlagAndCheckLimit(Long userId, Long orderId);
|
||||
}
|
||||
|
||||
@@ -342,4 +342,13 @@ public class RedisServiceImpl implements RedisService {
|
||||
String s = redisUtils.get(key);
|
||||
return StrUtil.isNotBlank(s);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean setCreateOrderFlagAndCheckLimit(Long userId, Long orderId) {
|
||||
String key = "createOrder:" + userId;
|
||||
redisTemplate.opsForSet().add(key, orderId.toString());
|
||||
redisUtils.expire(key, 60);
|
||||
Set<String> members = redisTemplate.opsForSet().members(key);
|
||||
return members != null && members.size() > 12;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user