修改邀请信息接口

This commit is contained in:
张松
2025-01-04 15:17:27 +08:00
parent 1f37a8e709
commit 2c5228b2eb
6 changed files with 144 additions and 11 deletions

View File

@@ -57,4 +57,7 @@ public class UserMoney implements Serializable {
@JsonSerialize(using = ToStringSerializer.class)
private Long sysUserId;
private BigDecimal inviteIncomeMoney;;
private BigDecimal inviteIncomeCoin;
}

View File

@@ -16,5 +16,4 @@ public interface UserMoneyService extends IService<UserMoney> {
void updateSysMoney(int i, Long userId, double money);
void updateSysAmount(int i, Long userId, double amount);
}

View File

@@ -1,5 +1,6 @@
package com.sqx.modules.app.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper;
@@ -7,6 +8,7 @@ import com.github.pagehelper.PageInfo;
import com.sqx.common.utils.PageUtils;
import com.sqx.common.utils.Result;
import com.sqx.modules.app.dao.UserMoneyDetailsDao;
import com.sqx.modules.app.entity.UserMoney;
import com.sqx.modules.app.entity.UserMoneyDetails;
import com.sqx.modules.app.service.UserMoneyDetailsService;
import org.springframework.stereotype.Service;
@@ -58,6 +60,7 @@ public class UserMoneyDetailsServiceImpl extends ServiceImpl<UserMoneyDetailsDao
Double inviteMoney = baseMapper.queryUserInviteMoney(userId);
Double inviteGoldMoney = baseMapper.queryUserInviteGoldMoney(userId);
Map<String, Double> map = new HashMap<>(2);
map.put("inviteMoney", inviteMoney == null ? 0 : inviteMoney);
map.put("inviteGoldMoney", inviteGoldMoney == null ? 0 : inviteGoldMoney);

View File

@@ -1,6 +1,8 @@
package com.sqx.modules.invite.controller.app;
import cn.hutool.core.map.MapBuilder;
import cn.hutool.core.map.MapUtil;
import cn.hutool.extra.qrcode.QrCodeUtil;
import cn.hutool.extra.qrcode.QrConfig;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -13,6 +15,7 @@ import com.sqx.modules.app.annotation.Login;
import com.sqx.modules.app.annotation.LoginUser;
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.service.InviteAchievementService;
import com.sqx.modules.app.service.UserMoneyDetailsService;
import com.sqx.modules.app.service.UserMoneyService;
@@ -114,12 +117,13 @@ public class AppInviteController {
// Integer inviteSignCount = inviteService.selectInviteSignCount(userEntity.getInvitationCode());
int inviteSignCount = inviteAchievementService.count(new LambdaQueryWrapper<InviteAchievement>().eq(InviteAchievement::getState, 1)
.eq(InviteAchievement::getUserId, userId));
Map<String, Double> earningMap = userMoneyDetailsService.queryUserTotalEarning(userId);
UserMoney userMoney = userMoneyService.getOne(new LambdaQueryWrapper<UserMoney>().eq(UserMoney::getUserId, userId));
// Map<String, Double> earningMap = userMoneyDetailsService.queryUserTotalEarning(userId);
Map<String, Object> result = new HashMap<>();
result.put("inviteMoney", inviteMoney);
result.put("inviteCount", inviteCount);
result.put("inviteSignCount", inviteSignCount);
result.put("earning", earningMap);
result.put("earning", MapUtil.builder().put("inviteMoney", userMoney == null ? null :userMoney.getInviteIncomeMoney()).put("inviteGoldMoney", userMoney.getInviteIncomeCoin()));
return Result.success().put("data", result);
}

View File

@@ -11,6 +11,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
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;
@@ -207,6 +208,9 @@ public class TempOrdersTask {
return;
}
InviteAchievement inviteAchievement = inviteAchievementService.getByUserId(user.getUserId());
BigDecimal incomeMoney = new BigDecimal(0);
BigDecimal incomeCoin = new BigDecimal(0);
// 首次达标
int signCount = Integer.parseInt(commonRepository.findOne(913).getValue());
logger.info("{}签到次数: {}", user.getUserName(), inviteAchievement.getCount());
@@ -230,6 +234,7 @@ public class TempOrdersTask {
inviteAchievement.setState(1);
inviteAchievementService.updateById(inviteAchievement);
incomeMoney = incomeMoney.add(new BigDecimal(amount));
//代理
if (StringUtils.isNotBlank(user.getQdCode()) && !"666666".equals(user.getQdCode())) {
@@ -242,6 +247,12 @@ public class TempOrdersTask {
userMoneyService.updateSysAmount(1, sysUser.getUserId(), Double.parseDouble(qdAward));
userMoneyDetailsService.save(userMoneyDetails4);
UserMoney userMoney = userMoneyService.selectSysUserMoneyByUserId(sysUser.getSysUserId());
userMoney.setInviteIncomeMoney(userMoney.getInviteIncomeMoney().add(new BigDecimal(qdAward)));
userMoneyService.update(userMoney, new LambdaQueryWrapper<UserMoney>()
.eq(UserMoney::getSysUserId, userMoney.getSysUserId())
.eq(UserMoney::getId, userMoney.getId()));
}
}
}
@@ -252,7 +263,7 @@ public class TempOrdersTask {
.eq(InviteAchievement::getState, 1));
logger.info("邀请人员: {}", count);
//count 邀请的已达标人数
completAwardService.list(new QueryWrapper<CompletAward>().eq("invite_count", count).eq("status", 1)).forEach(completAward -> {
for (CompletAward completAward : completAwardService.list(new QueryWrapper<CompletAward>().eq("invite_count", count).eq("status", 1))) {
QueryWrapper<UserMoneyDetails> moneyDetailsQuery = new QueryWrapper<>();
moneyDetailsQuery.eq("classify", 6);
moneyDetailsQuery.eq("user_id", sourceUser.getUserId());
@@ -269,6 +280,7 @@ public class TempOrdersTask {
userMoneyService.updateMoney(1, sourceUser.getUserId(), completAward.getAwardNumber().doubleValue());
userMoneyDetailsService.save(userMoneyDetails1);
incomeCoin = completAward.getAwardNumber();
break;
case 2:
UserMoneyDetails userMoneyDetails2 = new UserMoneyDetails(
@@ -277,10 +289,21 @@ public class TempOrdersTask {
userMoneyService.updateAmount(1, sourceUser.getUserId(), completAward.getAwardNumber().doubleValue());
userMoneyDetailsService.save(userMoneyDetails2);
incomeMoney = incomeMoney.add(completAward.getAwardNumber());
break;
}
}
});
}
if (incomeMoney.compareTo(BigDecimal.ZERO) > 0 || incomeCoin.compareTo(BigDecimal.ZERO) > 0) {
UserMoney userMoney = userMoneyService.selectUserMoneyByUserId(sourceUser.getUserId());
userMoney.setInviteIncomeCoin(userMoney.getInviteIncomeCoin().add(incomeCoin));
userMoney.setInviteIncomeMoney(userMoney.getInviteIncomeMoney().add(incomeMoney));
userMoneyService.update(userMoney, new LambdaQueryWrapper<UserMoney>()
.eq(UserMoney::getUserId, userMoney.getUserId())
.eq(UserMoney::getId, userMoney.getId()));
}
}
}

View File

@@ -2,13 +2,29 @@ package com.sqx;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil;
import cn.hutool.poi.excel.ExcelUtil;
import cn.hutool.poi.excel.ExcelWriter;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.aliyun.credentials.provider.StaticCredentialsProvider;
import com.aliyun.tea.TeaException;
import com.aliyun.teaopenapi.models.Config;
import com.aliyun.dytnsapi20200217.Client;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.sqx.modules.app.dao.UserMoneyDetailsDao;
import com.sqx.modules.app.entity.InviteAchievement;
import com.sqx.modules.app.entity.UserEntity;
import com.sqx.modules.app.entity.UserMoneyDetails;
import com.sqx.modules.app.service.InviteAchievementService;
import com.sqx.modules.app.service.UserService;
import com.sqx.modules.job.task.TempOrdersTask;
import com.sqx.modules.pay.controller.app.WuyouController;
import com.sqx.modules.pay.dao.PayDetailsDao;
import com.sqx.modules.pay.entity.PayDetails;
import com.sqx.modules.pay.service.PayDetailsService;
import com.sqx.modules.pay.wuyou.BaseResp;
import org.junit.jupiter.api.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
@@ -22,6 +38,7 @@ import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
@ActiveProfiles("dev")
@@ -31,18 +48,102 @@ public class Tets {
ApplicationContext applicationContext;
@Autowired
UserService userService;
@Autowired
TempOrdersTask tempOrdersTask;
@Autowired
InviteAchievementService inviteAchievementService;
@Autowired
PayDetailsService payDetailsService;
@Autowired
PayDetailsDao payDetailsDao;
@Autowired
UserMoneyDetailsDao userMoneyDetailsDao;
@Test
public void test2() {
inviteAchievementService.remove(new LambdaQueryWrapper<>());
List<UserEntity> userinfoList = userService.list();
for (UserEntity userEntity : userinfoList) {
if (StrUtil.isBlank(userEntity.getInviterCode())) continue;
UserEntity byUser = userService.queryByInvitationCode(userEntity.getInviterCode());
if (byUser == null) continue;
Integer count = payDetailsDao.selectCount(new LambdaQueryWrapper<PayDetails>()
.eq(PayDetails::getState, 1)
.eq(PayDetails::getUserId, userEntity.getUserId())
.eq(PayDetails::getClassify, 9));
Integer count1 = userMoneyDetailsDao.selectCount(new LambdaQueryWrapper<UserMoneyDetails>()
.eq(UserMoneyDetails::getClassify, 6)
.eq(UserMoneyDetails::getByUserId, userEntity.getUserId())
.eq(UserMoneyDetails::getUserId, byUser.getUserId())
.eq(UserMoneyDetails::getTitle, "分享达标奖励"));
InviteAchievement inviteAchievement = inviteAchievementService.getByUserId(userEntity.getUserId());
if (inviteAchievement == null) {
inviteAchievement = new InviteAchievement();
inviteAchievement.setState(count1 > 0 ? 1 : 0);
inviteAchievement.setCount(count);
inviteAchievement.setCreateTime(DateUtil.date());
inviteAchievement.setTargetUserId(userEntity.getUserId());
inviteAchievement.setUserId(byUser.getUserId());
inviteAchievementService.save(inviteAchievement);
} else {
inviteAchievement.setState(count1 > 0 ? 1 : 0);
inviteAchievement.setCount(count);
inviteAchievement.setCreateTime(DateUtil.date());
inviteAchievement.setTargetUserId(userEntity.getUserId());
inviteAchievement.setUserId(byUser.getUserId());
inviteAchievementService.update(new LambdaQueryWrapper<InviteAchievement>()
.eq(InviteAchievement::getUserId, inviteAchievement.getUserId())
.eq(InviteAchievement::getId, inviteAchievement.getId()));
}
}
}
@Test
public void test() {
// }
WuyouController proxy = applicationContext.getBean(WuyouController.class);
UserEntity userEntity = userService.selectUserById(26972L);
UserEntity byUser = userService.queryByInvitationCode(userEntity.getInviterCode());
// WuyouController proxy = applicationContext.getBean(WuyouController.class);
// UserEntity userEntity = userService.selectUserById(26972L);
// UserEntity byUser = userService.queryByInvitationCode(userEntity.getInviterCode());
//
// proxy.activities(userEntity, byUser);
System.out.println(proxy);
// System.out.println(proxy);
// BaseResp baseResp = JSONObject.parseObject("{\"msg\":\"查询成功\",\"code\":200,\"payStatus\":\"NOTPAY\",\"status\":99999}", BaseResp.class);
// tempOrdersTask.order();
// List<PayDetails> payDetailsList = payDetailsDao.selectList(new LambdaQueryWrapper<PayDetails>()
// .eq(PayDetails::getState, 0)
// .lt(PayDetails::getCreateTime, DateUtil.offsetMinute(DateUtil.date(), -15)));
}
public static com.aliyun.dytnsapi20200217.Client createClient() throws Exception {
// 工程代码泄露可能会导致 AccessKey 泄露,并威胁账号下所有资源的安全性。以下代码示例仅供参考。
// 建议使用更安全的 STS 方式更多鉴权访问方式请参见https://help.aliyun.com/document_detail/378657.html。
com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()
// 必填,请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_ID。
.setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"))
// 必填,请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_SECRET。
.setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
// Endpoint 请参考 https://api.aliyun.com/product/Dytnsapi
config.endpoint = "dytnsapi.aliyuncs.com";
return new com.aliyun.dytnsapi20200217.Client(config);
}
public static void main(String[] args) {
assert false : "asdasfqwerq3rqwr";
}
}