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.*;
|
|
import javax.validation.Valid;
|
import java.util.List;
|
|
/**
|
* 经销商管理后台 - 公司信息 前端控制器
|
*
|
* @author xiaochen
|
* @since 2025-12-23
|
*/
|
@RestController
|
@RequestMapping("/agent/company")
|
@Api(tags = "(嘉视达经销商后台)公司信息")
|
@RequiredArgsConstructor(onConstructor_ = @Lazy)
|
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 (SecurityUtils.isAgentUser()) {
|
throw new ServiceException("请使用经销商/股东帐号访问");
|
}
|
// 获取用户所属公司ID
|
Integer companyId = user.getCompanyId();
|
if (companyId == null) {
|
return R.fail("当前用户未关联公司");
|
}
|
|
// 查询公司详情
|
TCompany company = companyService.getById(companyId);
|
if (company == null) {
|
return R.fail("公司信息不存在");
|
}
|
|
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);
|
}
|
}
|