chenye
2023-07-07 71e8df212d838586050b52e62ebd34956fc8400b
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java
@@ -11,7 +11,6 @@
import com.ruoyi.common.core.utils.uuid.IdUtils;
import com.ruoyi.common.security.utils.CodeFactoryUtil;
import com.ruoyi.shop.domain.dto.*;
import com.ruoyi.shop.domain.pojo.shop.ShopTotal;
import com.ruoyi.shop.domain.pojo.shop.*;
import com.ruoyi.shop.domain.pojo.task.ShopFile;
import com.ruoyi.shop.domain.vo.*;
@@ -26,10 +25,7 @@
import com.ruoyi.system.api.domain.poji.shop.Shop;
import com.ruoyi.system.api.domain.poji.sys.SysUser;
import com.ruoyi.system.api.domain.vo.*;
import com.ruoyi.system.api.service.RemoteConfigService;
import com.ruoyi.system.api.service.RemoteMemberService;
import com.ruoyi.system.api.service.RemoteOrderService;
import com.ruoyi.system.api.service.RemoteUserService;
import com.ruoyi.system.api.service.*;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@@ -104,6 +100,8 @@
    @Resource
    private RemoteUserService remoteUserService;
    @Resource
    private RemoteSysStaffService remoteSysStaffService;
    /**
     * 获取商户详情
@@ -155,13 +153,24 @@
            String[] relUserIdArray = relUserIds.split(",");
            ShopRelUser shopRelUser;
            Long userId;
            for (String str : relUserIdArray) {
                userId = Long.valueOf(str);
                shopRelUser = shopRelUserService.getByUserId(userId);
                if(shopRelUser!=null){
                    throw new ServiceException(AppErrorConstant.SHOP_USER_DOUBLE);
            if(mgtEditShopDto.getShopId()!=null){
                for (String str : relUserIdArray) {
                    userId = Long.valueOf(str);
                    shopRelUser = shopRelUserService.getByUserId(userId);
                    if(shopRelUser!=null&&!shopRelUser.getShopId().equals(mgtEditShopDto.getShopId())){
                        throw new ServiceException(AppErrorConstant.SHOP_USER_DOUBLE);
                    }
                }
            }else {
                for (String str : relUserIdArray) {
                    userId = Long.valueOf(str);
                    shopRelUser = shopRelUserService.getByUserId(userId);
                    if(shopRelUser!=null){
                        throw new ServiceException(AppErrorConstant.SHOP_USER_DOUBLE);
                    }
                }
            }
        }
        //验证商户名唯一
        Shop shopSame = this.getOne(new LambdaQueryWrapper<Shop>().eq(Shop::getDelFlag,0).eq(Shop::getShopName,mgtEditShopDto.getShopName()));
@@ -629,6 +638,43 @@
    }
    /**
     * 获取获取员工端首页统计
     * @param userId
     * @return
     */
    @Override
    public MerHomeShopTotalVo getStaffHomeTotal(Long userId){
        List<Long> userIds = null;
        List<Long> shopIds = null;
        //如果是leader 查询leader下面所有的员工下的所有shopId
        if(remoteSysStaffService.isLeader()){
            Long deptId = sysUserService.getSysUser(userId).getData().getDeptId();
            userIds = remoteSysStaffService.getUserIds(deptId).getData();
            //根据用户所有id查询关联的商户id
            MgtBasePlatformDto mgtBasePlatformDto = new MgtBasePlatformDto();
            mgtBasePlatformDto.setUserIdList(userIds);
            shopIds = shopMapper.listShopIdByTotal(mgtBasePlatformDto);
        }else {
            //普通员工查询商户归属的shopId
            MgtShopIdByCodeDto mgtShopIdByCodeDto = new MgtShopIdByCodeDto();
            mgtShopIdByCodeDto.setBelongUserId(userId);
            shopIds = shopMapper.getShopIdByCode(mgtShopIdByCodeDto);
        }
            //分别查询
            MerHomeShopTotalVo merHomeShopTotalVo = new MerHomeShopTotalVo();
            merHomeShopTotalVo.setShopIds(shopIds);
            MerHomeShopTotalVo orderVo = remoteOrderService.getMerHomeTotal(merHomeShopTotalVo).getData();
            merHomeShopTotalVo.setTodayShop(orderVo.getTodayShop());
            merHomeShopTotalVo.setUnHandleOrder(orderVo.getUnHandleOrder());
            merHomeShopTotalVo.setShopTurnover(orderVo.getShopTurnover());
            ShopTotal shopTotal = shopTotalService.shopsTotalByIds(shopIds);
            merHomeShopTotalVo.setCycleSurp(shopTotal.getUseableCyclePerson());
            merHomeShopTotalVo.setExplorationSurp(shopTotal.getUseableExperiencePerson());
            Integer taskCount = memberTaskService.getMembersIngTotal(shopIds);
            merHomeShopTotalVo.setTask(taskCount);
            return merHomeShopTotalVo;
        }
    /**
     * 获取商户端
     * @param userId
     * @return
@@ -949,4 +995,40 @@
        mgtShopAuthCodeVo.setLegalValidationUrl(shopAuthentication.getLegalValidationUrl());
        return mgtShopAuthCodeVo;
    }
    /**
     * @description  获取商户下属代理商
     * @author  jqs
     * @date    2023/7/3 17:27
     * @param shopId
     * @return  List<Long>
     */
    @Override
    public List<Long> listShopIdByShopId(Long shopId){
        List<Long> shopIds = shopMapper.selectList(
                new LambdaQueryWrapper<Shop>().eq(Shop::getDelFlag, 0).eq(Shop::getBelongShopId, shopId)
        ).stream().map(Shop::getShopId).collect(Collectors.toList());
        return shopIds;
    }
    /**
     * @description  获取商户下属代理商
     * @author  jqs
     * @date    2023/7/3 18:18
     * @param shopId
     * @return  List<MgtSimpleShopVo>
     */
    @Override
    public List<MgtSimpleShopVo> listShopByShop(Long shopId){
        List<MgtSimpleShopVo> simpleShopVoList = shopMapper.selectList(
                new LambdaQueryWrapper<Shop>().eq(Shop::getDelFlag, 0).eq(Shop::getBelongShopId, shopId)).
                stream().map(shop->{
                    MgtSimpleShopVo simpleShopVo = new MgtSimpleShopVo();
                    simpleShopVo.setShopId(shop.getShopId());
                    simpleShopVo.setShopName(shop.getShopName());
                    return simpleShopVo;
                }).collect(Collectors.toList());
        return simpleShopVoList;
    }
}