1
chenye
2023-07-11 f975b6d0832b447654aaf2372ce72f71ebb7f095
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java
@@ -25,14 +25,12 @@
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;
import java.math.BigDecimal;
import java.nio.charset.StandardCharsets;
import java.text.ParseException;
import java.util.*;
import java.util.function.Function;
@@ -103,6 +101,8 @@
    @Resource
    private RemoteUserService remoteUserService;
    @Resource
    private RemoteSysStaffService remoteSysStaffService;
    /**
     * 获取商户详情
@@ -203,6 +203,12 @@
            newShop = true;
        }
        BeanUtils.copyProperties(mgtEditShopDto,shop);
        String shopDetail = shop.getShopDetail();
        if(StringUtils.isNotBlank(shopDetail)){
            byte[] decodedBytes = Base64.getDecoder().decode(shopDetail);
            shopDetail = new String(decodedBytes, StandardCharsets.UTF_8);
            shop.setShopDetail(shopDetail);
        }
        //商户编号
        if(mgtEditShopDto.getShopId()==null){
            String shopNo = CodeFactoryUtil.getShopNo();
@@ -496,6 +502,12 @@
        Shop shop = this.getById(shopId);
        //基本信息拷贝
        BeanUtils.copyProperties(shop,mgtShopInfoVo);
        String shopDetail = mgtShopInfoVo.getShopDetail();
        if(StringUtils.isNotBlank(shopDetail)){
            byte[] encodedBytes = Base64.getEncoder().encode(shopDetail.getBytes(StandardCharsets.UTF_8));
            shopDetail = new String(encodedBytes, StandardCharsets.UTF_8);
            mgtShopInfoVo.setShopDetail(shopDetail);
        }
        //商户标签
        List<ShopRelTag> shopRelTagList = shopRelTagService.listShopRelTagByShopId(shopId);
        if(shopRelTagList!=null&&!shopRelTagList.isEmpty()){
@@ -653,6 +665,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(null!=orderVo?orderVo.getTodayShop():0);
            merHomeShopTotalVo.setUnHandleOrder(null!=orderVo?orderVo.getUnHandleOrder():0);
            merHomeShopTotalVo.setShopTurnover(null!=orderVo?orderVo.getShopTurnover():BigDecimal.ZERO);
            ShopTotal shopTotal = shopTotalService.shopsTotalByIds(shopIds);
            merHomeShopTotalVo.setCycleSurp(null!=shopTotal?shopTotal.getUseableCyclePerson():0);
            merHomeShopTotalVo.setExplorationSurp(null!=shopTotal?shopTotal.getUseableExperiencePerson():0);
            Integer taskCount = memberTaskService.getMembersIngTotal(shopIds);
            merHomeShopTotalVo.setTask(taskCount);
            return merHomeShopTotalVo;
        }
    /**
     * 获取商户端
     * @param userId
     * @return