“mitao”
2025-12-24 b82e78ceb8f52b05203f05eb4b14151b1ab408a2
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/agent/AgentCompanyController.java
@@ -1,19 +1,31 @@
package com.ruoyi.web.controller.api.agent;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.BasePage;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.system.model.TCompany;
import com.ruoyi.system.query.CompanyUserQuery;
import com.ruoyi.system.query.ProfitPageListQuery;
import com.ruoyi.system.query.PromotionPageListQuery;
import com.ruoyi.system.service.ISysUserService;
import com.ruoyi.system.service.TAppUserService;
import com.ruoyi.system.service.TBigGiftPackageOrderService;
import com.ruoyi.system.service.TCompanyService;
import com.ruoyi.system.vo.ProfitPageListVo;
import com.ruoyi.system.vo.PromotionPageListVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.context.annotation.Lazy;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.List;
/**
 * 经销商管理后台 - 公司信息 前端控制器
@@ -28,15 +40,17 @@
public class AgentCompanyController extends BaseController {
    private final TCompanyService companyService;
    private final ISysUserService userService;
    private final TAppUserService appUserService;
    private final TBigGiftPackageOrderService bigGiftPackageOrderService;
    @ApiOperation(value = "获取当前用户所属公司详情")
    @GetMapping("/detail")
    public R<TCompany> getDetail() {
        // 获取当前登录用户
        LoginUser loginUser = SecurityUtils.getLoginUser();
        SysUser user = loginUser.getUser();
        if (!user.getRoleType().equals(2)) {
            return R.fail("请使用经销商账号访问");
        if (!SecurityUtils.isAgentUser()) {
            throw new ServiceException("请使用经销商/股东帐号访问");
        }
        // 获取用户所属公司ID
        Integer companyId = user.getCompanyId();
@@ -53,4 +67,43 @@
        return R.ok(company);
    }
    @ApiOperation(value = "公司详情-管理人员列表")
    @PostMapping(value = "/getCompanyUserList")
    public R<Page<SysUser>> getCompanyUserList(@RequestBody BasePage pageReq) {
        if (!SecurityUtils.isAgentUser()) {
            throw new ServiceException("请使用经销商/股东帐号访问");
        }
        // 获取当前登录用户
        LoginUser loginUser = SecurityUtils.getLoginUser();
        Integer companyId = loginUser.getUser().getCompanyId();
        Page<SysUser> page = new Page<>(pageReq.getPageNum(), pageReq.getPageSize());
        List<SysUser> list =  userService.getCompanyUserList(page,companyId);
        page.setRecords(list);
        return R.ok(page);
    }
    @ApiOperation(value = "推广记录")
    @PostMapping("/promotionPageList")
    public R<Page<PromotionPageListVo>> promotionPageList(@RequestBody @Valid PromotionPageListQuery query) {
        if (!SecurityUtils.isAgentUser()) {
            throw new ServiceException("请使用经销商/股东帐号访问");
        }
        Page<PromotionPageListVo> page = new Page<>(query.getPageNum(), query.getPageSize());
        query.setCompanyId(SecurityUtils.getLoginUser().getUser().getCompanyId());
        List<PromotionPageListVo> list = appUserService.promotionPageList(page,query);
        page.setRecords(list);
        return R.ok(page);
    }
    @ApiOperation(value = "收益明细")
    @PostMapping("/profitPageList")
    public R<Page<ProfitPageListVo>> profitPageList(@RequestBody @Valid ProfitPageListQuery query) {
        if (!SecurityUtils.isAgentUser()) {
            throw new ServiceException("请使用经销商/股东帐号访问");
        }
        Page<ProfitPageListVo> page = new Page<>(query.getPageNum(), query.getPageSize());
        List<ProfitPageListVo> list = bigGiftPackageOrderService.profitPageList(page,query);
        page.setRecords(list);
        return R.ok(page);
    }
}