红包任务
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package com.sqx.modules.pay.controller.app;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.thread.ThreadUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.sqx.common.annotation.Debounce;
|
||||
@@ -210,7 +211,7 @@ public class WuyouController {
|
||||
log.info("无忧支付回调成功, 参数: {}", JSONObject.toJSONString(notifyDto));
|
||||
|
||||
PayDetails payDetails = payDetailsDao.selectByTradeNo(notifyDto.getOut_trade_no());
|
||||
if(payDetails == null) {
|
||||
if (payDetails == null) {
|
||||
log.error("无忧支付回调订单不存在, 参数: {}", JSONObject.toJSONString(notifyDto));
|
||||
return "success";
|
||||
}
|
||||
@@ -240,76 +241,78 @@ public class WuyouController {
|
||||
@Transactional
|
||||
public void activities(UserEntity user, UserEntity sourceUser) {
|
||||
//分享达标
|
||||
if (sourceUser != null && sourceUser.getUserId() != 1) {
|
||||
QueryWrapper<UserMoneyDetails> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("classify", 6);
|
||||
queryWrapper.eq("user_id", sourceUser.getUserId());
|
||||
queryWrapper.eq("by_user_id", user.getUserId());
|
||||
int count = userMoneyDetailsService.count(queryWrapper);
|
||||
if (count == 0) {
|
||||
//满3笔
|
||||
Integer sumOrderNum = ordersService.countOrderNum(user.getUserId(), null);
|
||||
if (sumOrderNum >= Integer.parseInt(commonRepository.findOne(913).getValue())) {
|
||||
String amount = commonRepository.findOne(912).getValue();
|
||||
UserMoneyDetails userMoneyDetails = new UserMoneyDetails();
|
||||
userMoneyDetails.setClassify(6);
|
||||
userMoneyDetails.setMoney(new BigDecimal(amount));
|
||||
userMoneyDetails.setUserId(sourceUser.getUserId());
|
||||
userMoneyDetails.setByUserId(user.getUserId());
|
||||
userMoneyDetails.setCreateTime(DateUtil.now());
|
||||
userMoneyDetails.setContent("分享达标奖励" + amount + "元");
|
||||
userMoneyDetails.setTitle("分享达标奖励");
|
||||
userMoneyDetails.setState(2);
|
||||
userMoneyDetails.setType(1);
|
||||
userMoneyDetails.setMoneyType(1);
|
||||
userMoneyDetailsService.save(userMoneyDetails);
|
||||
//存入余额 钱
|
||||
userMoneyService.updateAmount(1, sourceUser.getUserId(), Double.parseDouble(amount));
|
||||
SysUserEntity sysUser = sysUserService.selectSysUserByQdCode(user.getQdCode());
|
||||
String qdAward = commonRepository.findOne(915).getValue();
|
||||
if (sourceUser == null || sourceUser.getUserId() == 1) {
|
||||
return;
|
||||
}
|
||||
QueryWrapper<UserMoneyDetails> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("classify", 6);
|
||||
queryWrapper.eq("user_id", sourceUser.getUserId());
|
||||
queryWrapper.eq("by_user_id", user.getUserId());
|
||||
int count = userMoneyDetailsService.count(queryWrapper);
|
||||
if (count == 0) {
|
||||
//满3笔
|
||||
Integer sumOrderNum = ordersService.countOrderNum(user.getUserId(), null);
|
||||
if (sumOrderNum >= Integer.parseInt(commonRepository.findOne(913).getValue())) {
|
||||
String amount = commonRepository.findOne(912).getValue();
|
||||
UserMoneyDetails userMoneyDetails = new UserMoneyDetails();
|
||||
userMoneyDetails.setClassify(6);
|
||||
userMoneyDetails.setMoney(new BigDecimal(amount));
|
||||
userMoneyDetails.setUserId(sourceUser.getUserId());
|
||||
userMoneyDetails.setByUserId(user.getUserId());
|
||||
userMoneyDetails.setCreateTime(DateUtil.now());
|
||||
userMoneyDetails.setContent("分享达标奖励" + amount + "元");
|
||||
userMoneyDetails.setTitle("分享达标奖励");
|
||||
userMoneyDetails.setState(2);
|
||||
userMoneyDetails.setType(1);
|
||||
userMoneyDetails.setMoneyType(1);
|
||||
userMoneyDetailsService.save(userMoneyDetails);
|
||||
//存入余额 钱
|
||||
userMoneyService.updateAmount(1, sourceUser.getUserId(), Double.parseDouble(amount));
|
||||
SysUserEntity sysUser = sysUserService.selectSysUserByQdCode(user.getQdCode());
|
||||
String qdAward = commonRepository.findOne(915).getValue();
|
||||
|
||||
UserMoneyDetails userMoneyDetails4 = new UserMoneyDetails(
|
||||
null, sysUser == null ? null : sysUser.getUserId(), null, "[分享达标额外奖励]", 6, 1, 2,
|
||||
new BigDecimal(qdAward), "推广人员首次达标,额外奖励现金红包" + qdAward, 2);
|
||||
UserMoneyDetails userMoneyDetails4 = new UserMoneyDetails(
|
||||
null, sysUser == null ? null : sysUser.getUserId(), null, "[分享达标额外奖励]", 6, 1, 2,
|
||||
new BigDecimal(qdAward), "推广人员首次达标,额外奖励现金红包" + qdAward, 2);
|
||||
|
||||
userMoneyService.updateSysAmount(1, sysUser == null ? null : sysUser.getUserId(), Double.parseDouble(qdAward));
|
||||
userMoneyDetailsService.save(userMoneyDetails4);
|
||||
userMoneyService.updateSysAmount(1, sysUser == null ? null : sysUser.getUserId(), Double.parseDouble(qdAward));
|
||||
userMoneyDetailsService.save(userMoneyDetails4);
|
||||
|
||||
Invite invite = inviteService.selectInviteByUser(sourceUser.getUserId(), user.getUserId(), 1);
|
||||
if (invite != null) {
|
||||
invite.setMoney(Double.valueOf(amount));
|
||||
invite.setState(1);
|
||||
inviteDao.updateById(invite);
|
||||
}
|
||||
Invite invite = inviteService.selectInviteByUser(sourceUser.getUserId(), user.getUserId(), 1);
|
||||
if (invite != null) {
|
||||
invite.setMoney(Double.valueOf(amount));
|
||||
invite.setState(1);
|
||||
inviteDao.updateById(invite);
|
||||
}
|
||||
}
|
||||
|
||||
QueryWrapper<UserMoneyDetails> moneyDetailsQuery = new QueryWrapper<>();
|
||||
moneyDetailsQuery.eq("classify", 6);
|
||||
moneyDetailsQuery.eq("user_id", sourceUser.getUserId());
|
||||
//达标人数
|
||||
int completeCount = userMoneyDetailsService.count(moneyDetailsQuery);
|
||||
completAwardService.list(new QueryWrapper<CompletAward>().eq("invite_count", completeCount)).forEach(completAward -> {
|
||||
switch (completAward.getType()) {
|
||||
case 1:
|
||||
UserMoneyDetails userMoneyDetails1 = new UserMoneyDetails(
|
||||
sourceUser.getUserId(), null, null, "[分享达标额外奖励]", 6, 1, 2,
|
||||
completAward.getAwardNumber(), "邀请人员已有"+completAward.getInviteCount()+"人完成达标任务,额外奖励金币" + completAward.getAwardNumber(), 2);
|
||||
|
||||
userMoneyService.updateMoney(1, sourceUser.getUserId(), completAward.getAwardNumber().doubleValue());
|
||||
userMoneyDetailsService.save(userMoneyDetails1);
|
||||
break;
|
||||
case 2:
|
||||
UserMoneyDetails userMoneyDetails2 = new UserMoneyDetails(
|
||||
sourceUser.getUserId(), null, null, "[分享达标额外奖励]", 6, 1, 2,
|
||||
completAward.getAwardNumber(), "邀请人员已有"+completAward.getInviteCount()+"人完成达标任务,额外奖励现金红包" + completAward.getAwardNumber(), 1);
|
||||
|
||||
userMoneyService.updateAmount(1, sourceUser.getUserId(), completAward.getAwardNumber().doubleValue());
|
||||
userMoneyDetailsService.save(userMoneyDetails2);
|
||||
break;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
QueryWrapper<UserMoneyDetails> moneyDetailsQuery = new QueryWrapper<>();
|
||||
moneyDetailsQuery.eq("classify", 6);
|
||||
moneyDetailsQuery.eq("user_id", sourceUser.getUserId());
|
||||
//达标人数
|
||||
int completeCount = userMoneyDetailsService.count(moneyDetailsQuery);
|
||||
completAwardService.list(new QueryWrapper<CompletAward>().eq("invite_count", completeCount)).forEach(completAward -> {
|
||||
switch (completAward.getType()) {
|
||||
case 1:
|
||||
UserMoneyDetails userMoneyDetails1 = new UserMoneyDetails(
|
||||
sourceUser.getUserId(), null, null, "[分享达标额外奖励]", 6, 1, 2,
|
||||
completAward.getAwardNumber(), "邀请人员已有" + completAward.getInviteCount() + "人完成达标任务,额外奖励金币" + completAward.getAwardNumber(), 2);
|
||||
|
||||
userMoneyService.updateMoney(1, sourceUser.getUserId(), completAward.getAwardNumber().doubleValue());
|
||||
userMoneyDetailsService.save(userMoneyDetails1);
|
||||
break;
|
||||
case 2:
|
||||
UserMoneyDetails userMoneyDetails2 = new UserMoneyDetails(
|
||||
sourceUser.getUserId(), null, null, "[分享达标额外奖励]", 6, 1, 2,
|
||||
completAward.getAwardNumber(), "邀请人员已有" + completAward.getInviteCount() + "人完成达标任务,额外奖励现金红包" + completAward.getAwardNumber(), 1);
|
||||
|
||||
userMoneyService.updateAmount(1, sourceUser.getUserId(), completAward.getAwardNumber().doubleValue());
|
||||
userMoneyDetailsService.save(userMoneyDetails2);
|
||||
break;
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
private void updateOrderStatus(PayDetails payDetails, Orders order) {
|
||||
@@ -344,17 +347,20 @@ public class WuyouController {
|
||||
}
|
||||
ordersService.updateById(order);
|
||||
ordersService.insertOrders(order);
|
||||
CompletableFuture.runAsync(() -> {
|
||||
ApiAccessLimitUtil.runFunAndCheckKey(() -> {
|
||||
WuyouController proxy = applicationContext.getBean(WuyouController.class);
|
||||
proxy.activities(user, byUser);
|
||||
return null;
|
||||
}, RedisKeys.getLockKey("activaties", user.getUserId(), byUser.getUserId()), 15);
|
||||
ThreadUtil.execAsync(() -> {
|
||||
activities(user, byUser);
|
||||
});
|
||||
// CompletableFuture.runAsync(() -> {
|
||||
// ApiAccessLimitUtil.runFunAndCheckKey(() -> {
|
||||
// WuyouController proxy = applicationContext.getBean(WuyouController.class);
|
||||
// proxy.activities(user, byUser);
|
||||
// return null;
|
||||
// }, RedisKeys.getLockKey("activaties", user.getUserId(), byUser.getUserId()), 15);
|
||||
// });
|
||||
}
|
||||
|
||||
|
||||
private void updateCashAsync(NotifyDto notifyDto){
|
||||
private void updateCashAsync(NotifyDto notifyDto) {
|
||||
log.info("无忧支付提现回调, {}", notifyDto);
|
||||
Map<String, Object> params = new HashMap<>();
|
||||
params.put("callbacks", notifyDto.getCallbacks());
|
||||
@@ -373,10 +379,10 @@ public class WuyouController {
|
||||
if ("2".equals(notifyDto.getStatus())) {
|
||||
cashOut.setState(1);
|
||||
cashOut.setOutAt(DateUtil.now());
|
||||
} else if(!cashOut.getState().equals(2)){
|
||||
} else if (!cashOut.getState().equals(2)) {
|
||||
cashOut.setState(2);
|
||||
cashOut.setRefund(notifyDto.getMsg());
|
||||
if(StringUtils.isNotBlank(notifyDto.getMsg()) && notifyDto.getMsg().contains("已驳回")){
|
||||
if (StringUtils.isNotBlank(notifyDto.getMsg()) && notifyDto.getMsg().contains("已驳回")) {
|
||||
cashOut.setRefund("提现失败,请检查支付宝账号与收款人姓名后重试。");
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user