diff --git a/src/main/java/com/greenorange/promotion/controller/project/ProjectCommissionController.java b/src/main/java/com/greenorange/promotion/controller/project/ProjectCommissionController.java index 813ac6a..4c7f3d2 100644 --- a/src/main/java/com/greenorange/promotion/controller/project/ProjectCommissionController.java +++ b/src/main/java/com/greenorange/promotion/controller/project/ProjectCommissionController.java @@ -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 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 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 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 projectCommissionLambdaQueryWrapper = new LambdaQueryWrapper<>(); projectCommissionLambdaQueryWrapper.eq(ProjectCommission::getUserId, userId); List projectCommissionList = projectCommissionService.list(projectCommissionLambdaQueryWrapper); diff --git a/src/main/java/com/greenorange/promotion/service/userInfo/impl/UserInfoServiceImpl.java b/src/main/java/com/greenorange/promotion/service/userInfo/impl/UserInfoServiceImpl.java index a1c25ad..aada021 100644 --- a/src/main/java/com/greenorange/promotion/service/userInfo/impl/UserInfoServiceImpl.java +++ b/src/main/java/com/greenorange/promotion/service/userInfo/impl/UserInfoServiceImpl.java @@ -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 private UserInfoMapper userInfoMapper; + private static final String SUB_USER_COMMISSION_RATE = "subUserCommissionRate"; + + /** * 获取查询条件 */ @@ -167,6 +171,9 @@ public class UserInfoServiceImpl extends ServiceImpl } 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());