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 com.ruoyi.common.exception.ServiceException; 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 orderLogList(String usercode,PageQuery pageQuery, OrderListDTO query){ User user = getUser(usercode); return consumeLogMapper.selectProxyUserOrderPage(pageQuery.build(),user.getId(), query); } public IPage 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.getId()); 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 ServiceException("您的后台账户未绑定APP账户,请联系管理员操作"); } return user; } }