添加了(小程序用户查看下级用户统一的抽佣比例)接口,并修改了接口(小程序用户一键设置项目的的抽佣比例)

This commit is contained in:
chen-xin-zhi 2025-06-04 09:57:57 +08:00
parent 98f95befd7
commit 2dd21bf657
2 changed files with 31 additions and 4 deletions

View File

@ -30,10 +30,8 @@ import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.validation.Valid;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.web.bind.annotation.*;
import java.math.BigDecimal;
import java.math.RoundingMode;
@ -70,6 +68,27 @@ public class ProjectCommissionController {
@Resource
private UserInfoService userInfoService;
@Resource
private RedisTemplate<String, String> redisTemplate;
private static final String SUB_USER_COMMISSION_RATE = "subUserCommissionRate";
/**
* 小程序用户查看下级用户统一的抽佣比例
* @return 是否添加成功
*/
@PostMapping("get/redis/Rate")
@Operation(summary = "小程序用户查看下级用户统一的抽佣比例", description = "参数用户id权限用户方法名querySubUserUnitCommissionRate")
@RequiresPermission(mustRole = UserConstant.DEFAULT_ROLE)
public BaseResponse<String> querySubUserUnitCommissionRate(HttpServletRequest request) {
Long userId = (Long) request.getAttribute("userId");
String rate = redisTemplate.opsForValue().get(SUB_USER_COMMISSION_RATE + ":" + userId);
return ResultUtils.success(rate);
}
/**
* 小程序用户查看查询项目的抽佣情况
@ -279,6 +298,7 @@ public class ProjectCommissionController {
public BaseResponse<Boolean> uniteProjectCommissionRate(@Valid @RequestBody ProjectCommissionUniteUpdateRequest projectCommissionUniteUpdateRequest, HttpServletRequest request) {
Long userId = (Long) request.getAttribute("userId");
BigDecimal uniteCommissionRate = projectCommissionUniteUpdateRequest.getUniteCommissionRate();
redisTemplate.opsForValue().set(SUB_USER_COMMISSION_RATE + ":" + userId, uniteCommissionRate.setScale(2, RoundingMode.HALF_UP).toString()); // 保留两位小数
LambdaQueryWrapper<ProjectCommission> projectCommissionLambdaQueryWrapper = new LambdaQueryWrapper<>();
projectCommissionLambdaQueryWrapper.eq(ProjectCommission::getUserId, userId);
List<ProjectCommission> projectCommissionList = projectCommissionService.list(projectCommissionLambdaQueryWrapper);

View File

@ -37,6 +37,7 @@ import org.springframework.stereotype.Service;
import java.io.IOException;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@ -81,6 +82,9 @@ public class UserInfoServiceImpl extends ServiceImpl<UserInfoMapper, UserInfo>
private UserInfoMapper userInfoMapper;
private static final String SUB_USER_COMMISSION_RATE = "subUserCommissionRate";
/**
* 获取查询条件
*/
@ -167,6 +171,9 @@ public class UserInfoServiceImpl extends ServiceImpl<UserInfoMapper, UserInfo>
}
userMainInfoService.updateBatchById(userMainInfoList);
// 为当前用户添加一个下级统一抽佣比例
redisTemplate.opsForValue().set(SUB_USER_COMMISSION_RATE + ":" + myUserInfo.getId(), BigDecimal.ZERO.setScale(2, RoundingMode.HALF_UP).toString()); // 保留两位小数
// 生成邀请二维码
try {
String view = wechatGetQrcodeService.getWxQrCode(myUserInfo.getInvitationCode());