This commit is contained in:
777
2025-10-21 16:50:45 +08:00
parent e368d333ef
commit 30f25788cc
17 changed files with 309 additions and 39 deletions

View File

@@ -0,0 +1,56 @@
package com.ruoyi.cai.manager;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.ruoyi.cai.domain.User;
import com.ruoyi.cai.dto.proxy.BindUserListDTO;
import com.ruoyi.cai.dto.proxy.OrderListDTO;
import com.ruoyi.cai.dto.proxy.ProxyTotalDTO;
import com.ruoyi.cai.mapper.ConsumeLogMapper;
import com.ruoyi.cai.mapper.UserInviteMapper;
import com.ruoyi.cai.service.UserService;
import com.ruoyi.common.core.domain.PageQuery;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.math.BigDecimal;
@Component
public class ProxyUserManager {
@Autowired
private UserService userService;
@Resource
private ConsumeLogMapper consumeLogMapper;
@Resource
private UserInviteMapper userInviteMapper;
public IPage<OrderListDTO> orderLogList(String usercode,PageQuery pageQuery, OrderListDTO query){
User user = getUser(usercode);
return consumeLogMapper.selectProxyUserOrderPage(pageQuery.build(),user.getUsercode(), query);
}
public IPage<BindUserListDTO> bindUserList(String userCode, PageQuery pageQuery, BindUserListDTO query) {
User user = getUser(userCode);
return userInviteMapper.selectProxyBindUserPage(pageQuery.build(),user.getId(),query);
}
public ProxyTotalDTO total(String userCode) {
User user = getUser(userCode);
BigDecimal priceSum = consumeLogMapper.sumProxyUserOrder(user.getUsercode());
Long userCount = userInviteMapper.countProxyBindUser(user.getId());
ProxyTotalDTO proxyTotalDTO = new ProxyTotalDTO();
proxyTotalDTO.setBindUserCount(userCount == null ? 0 : userCount);
proxyTotalDTO.setPriceSum(priceSum == null ? BigDecimal.ZERO : priceSum);
return proxyTotalDTO;
}
private User getUser(String usercode){
User user = userService.getByUserCode(usercode);
if(user == null){
throw new RuntimeException("您的后台账户未绑定APP账户请联系管理员操作");
}
return user;
}
}