Pu Zhibing
2025-04-22 fd7b8fb7c89832c28a838b0449bbb8a392433ee2
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/AgentApplicationServiceImpl.java
@@ -1,12 +1,18 @@
package com.ruoyi.account.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.account.api.model.AgentApplication;
import com.ruoyi.account.api.model.AppUser;
import com.ruoyi.account.api.model.AppUserShop;
import com.ruoyi.account.dto.AgentQuery;
import com.ruoyi.account.mapper.AgentApplicationMapper;
import com.ruoyi.account.service.AgentApplicationService;
import com.ruoyi.account.service.AppUserService;
import com.ruoyi.account.service.AppUserShopService;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.security.service.TokenService;
import com.ruoyi.other.api.domain.Shop;
@@ -39,12 +45,23 @@
    @Resource
    private ShopClient shopClient;
    @Resource
    private AppUserShopService appUserShopService;
    @Override
    public void apply(AgentApplication agentApplication) {
        LoginUser loginUserApplet = tokenService.getLoginUserApplet();
        AppUser appUser = appUserService.getById(loginUserApplet.getUserid());
        Long aLong = agentApplicationMapper.selectCount(new QueryWrapper<AgentApplication>().eq("app_user_id", appUser.getId())
                .eq("application_vip_id", agentApplication.getApplicationVipId()).eq("status", 1).eq("del_flag", 0));
        if(0 != aLong){
            throw new RuntimeException("已发起申请,请等待平台工作人员与您联系");
        }
        agentApplication.setAppUserId(loginUserApplet.getUserid());
        agentApplication.setVipId(appUser.getVipId());
        agentApplication.setStatus(1);
        agentApplication.setApplicationTime(LocalDateTime.now());
        agentApplication.setShopPoint(appUser.getShopPoint());
        agentApplication.setSharePoint(appUser.getSharePoint());
@@ -58,13 +75,21 @@
        // 直推用户已成为代理数量
        List<AppUser> directAgentUserList = appUserService.list(new LambdaQueryWrapper<AppUser>()
                .eq(AppUser::getInviteUserId, appUser.getId())
                .eq(AppUser::getUserType, 4));
                .eq(AppUser::getVipId, 4));
        agentApplication.setDirectAgentNum(directAgentUserList.size());
        // 已绑定门店数量
        R<List<Shop>> R = shopClient.getShopByUserIds(Collections.singletonList(loginUserApplet.getUserid()));
        List<Shop> shopList = R.getData();
        agentApplication.setBindShopNum(shopList.size());
        long count = appUserShopService.count(new LambdaQueryWrapper<AppUserShop>().eq(AppUserShop::getAppUserId, loginUserApplet.getUserid()));
        agentApplication.setBindShopNum(Long.valueOf(count).intValue());
        agentApplicationMapper.insert(agentApplication);
    }
    @Override
    public IPage<AgentApplication> pageList(AgentQuery agentQuery) {
        Page<Shop> page = new Page<>();
        page.setCurrent(agentQuery.getPageNum());
        page.setSize(agentQuery.getPageSize());
        IPage<AgentApplication> shopIPage = agentApplicationMapper.pageList(page, agentQuery);
        return shopIPage;
    }
}