jiangqs
2023-06-30 cbc564a7088503ad8cc7af4e1d2ba417d061e615
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java
@@ -7,10 +7,11 @@
import com.ruoyi.common.core.exception.ServiceException;
import com.ruoyi.common.core.utils.DateUtils;
import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.common.core.utils.bean.BeanUtils;
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.ShopTotal;
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.*;
@@ -29,7 +30,6 @@
import com.ruoyi.system.api.service.RemoteMemberService;
import com.ruoyi.system.api.service.RemoteOrderService;
import com.ruoyi.system.api.service.RemoteUserService;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@@ -98,6 +98,13 @@
    @Resource
    private MemberTaskService memberTaskService;
    @Resource
    private ShopTransferRecordService shopTransferRecordService;
    @Resource
    private RemoteUserService remoteUserService;
    /**
     * 获取商户详情
     * @param shopId
@@ -142,6 +149,21 @@
        Shop shop = new Shop();
        Boolean newShop = false;
        BigDecimal zeroBig = BigDecimal.ZERO;
        //验证关联账号唯一
        String relUserIds = mgtEditShopDto.getRelUserIds();
        if(StringUtils.isNotBlank(relUserIds)) {
            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);
                }
            }
        }
        //验证商户名唯一
        Shop shopSame = this.getOne(new LambdaQueryWrapper<Shop>().eq(Shop::getDelFlag,0).eq(Shop::getShopName,mgtEditShopDto.getShopName()));
        if(mgtEditShopDto.getShopId()!=null){
            if(shopSame!=null&&!Objects.equals(shopSame.getShopId(),mgtEditShopDto.getShopId())){
@@ -171,12 +193,12 @@
            newShop = true;
        }
        BeanUtils.copyProperties(mgtEditShopDto,shop);
        this.saveOrUpdate(shop);
        //商户编号
        if(mgtEditShopDto.getShopId()==null){
            String shopNo = CodeFactoryUtil.getShopNo();
            shop.setShopNumber(shopNo);
        }
        this.saveOrUpdate(shop);
        //商户标签
        String shopTagIds = mgtEditShopDto.getShopTagIds();
        if(StringUtils.isNotBlank(shopTagIds)){
@@ -199,13 +221,13 @@
            this.saveOrUpdate(shop);
        }
        //商户归属员工
        if(shop.getBelongUserId()!=null){
        /*if(shop.getBelongUserId()!=null){
            SysUser belongSysUser = sysUserService.getSysUser(shop.getBelongUserId()).getData();
            handleShopStaff(shop.getShopId(),belongSysUser);
        }
        }*/
        //商户关联人员
        String relUserIds = mgtEditShopDto.getRelUserIds();
        if(StringUtils.isNotBlank(relUserIds)){
            shopStaffService.clearShopStaffRelation(shop.getShopId());
            String[] relUserIdArray = relUserIds.split(",");
            ShopRelUser shopRelUser;
            Long userId;
@@ -279,7 +301,7 @@
            shopTotal.setTotalActivityCount(0);
            shopTotal.setTotalOrder(0);
            shopTotal.setTotalCycleOrder(0);
            shopTotal.setToltaExperienceOrder(0);
            shopTotal.setTotalExperienceOrder(0);
            shopTotal.setTotalServiceOrder(0);
            shopTotal.setTotalGoodsOrder(0);
            shopTotal.setTotalServiceCount(0);
@@ -522,6 +544,40 @@
        Shop shop = this.getById(shopId);
        shop.setShopTags(shopTags);
        this.saveOrUpdate(shop);
    }
    /**
     * @description  转移客户
     * @author  jqs
     * @date    2023/6/28 16:36
     * @param mgtTransferShopDto
     * @return  void
     */
    @Override
    public void transferMgtShop(MgtTransferShopDto mgtTransferShopDto){
        Shop shop = this.getByShopId(mgtTransferShopDto.getShopId());
        if(shop.getBelongUserId()!=null){
            ShopTransferRecord shopTransferRecord = new ShopTransferRecord();
            shopTransferRecord.setDelFlag(0);
            shopTransferRecord.setShopId(shop.getShopId());
            shopTransferRecord.setBeforeUserId(shop.getBelongUserId());
            shopTransferRecord.setAfterUserId(mgtTransferShopDto.getTransferUserId());
            shopTransferRecord.setTransferRemark(mgtTransferShopDto.getTransferRemark());
            shopTransferRecordService.save(shopTransferRecord);
            shopRelUserService.deleteByUserId(shop.getBelongUserId());
        }
        shop.setBelongUserId(mgtTransferShopDto.getTransferUserId());
        this.saveOrUpdate(shop);
        ShopRelUser shopRelUser = new ShopRelUser();
        shopRelUser.setDelFlag(0);
        shopRelUser.setShopId(shop.getShopId());
        shopRelUser.setUserId(mgtTransferShopDto.getTransferUserId());
        SysUser sysUser = remoteUserService.getSysUser(mgtTransferShopDto.getTransferUserId()).getData();
        shopRelUser.setUserMobile(sysUser.getPhonenumber());
        shopRelUser.setUserDeptId(sysUser.getDeptId());
        shopRelUser.setUserName(sysUser.getNickName());
        shopRelUserService.save(shopRelUser);
    }
    /**
@@ -794,25 +850,25 @@
            plTotalShopTotalVo.setAgeValue(shopTotalMemberVo.getAgeValue());
        }
        //获取商户类型
        List<MgtMapTotalVo> shopTypeTotal = shopMapper.listShopTypeTotal(mgtBasePlatformDto);
        List<MgtMapIntTotalVo> shopTypeTotal = shopMapper.listShopTypeTotal(mgtBasePlatformDto);
        if (shopTypeTotal != null && shopTypeTotal.size() > 0) {
            shopTypeTotal = listRemoveNull(shopTypeTotal);
            plTotalShopTotalVo.setShopTypeVos(shopTypeTotal);
        }
        //获取商户状态
        List<MgtMapTotalVo> shopStatusTotal = shopMapper.listShopStatusTotal(mgtBasePlatformDto);
        List<MgtMapIntTotalVo> shopStatusTotal = shopMapper.listShopStatusTotal(mgtBasePlatformDto);
        if (shopStatusTotal != null && shopStatusTotal.size() > 0) {
            shopStatusTotal = listRemoveNull(shopStatusTotal);
            plTotalShopTotalVo.setShopStatusVos(shopStatusTotal);
        }
        //获取区域排名
        List<MgtMapTotalVo> shopAreaRank = shopMapper.listShopAreaRank(mgtBasePlatformDto);
        List<MgtMapIntTotalVo> shopAreaRank = shopMapper.listShopAreaRank(mgtBasePlatformDto);
        if (shopAreaRank != null && shopAreaRank.size() > 0) {
            shopAreaRank = listRemoveNull(shopAreaRank);
            plTotalShopTotalVo.setAreaRankVos(shopAreaRank);
        }
        //获取销售排名
        List<MgtMapTotalVo> shopSalesRank = shopMapper.listShopSalesRank(mgtBasePlatformDto);
        List<MgtMapIntTotalVo> shopSalesRank = shopMapper.listShopSalesRank(mgtBasePlatformDto);
        if (shopSalesRank != null && shopSalesRank.size() > 0) {
            String[] shopSalesKey = new String[shopSalesRank.size()];
            Integer[] shopSalesValue = new Integer[shopSalesRank.size()];
@@ -825,7 +881,7 @@
            plTotalShopTotalVo.setShopSalesRankValue(shopSalesValue);
        }
        //获取推荐
        List<MgtMapTotalVo> shopRecommendRank = shopMapper.listShopRecommendRank(mgtBasePlatformDto);
        List<MgtMapIntTotalVo> shopRecommendRank = shopMapper.listShopRecommendRank(mgtBasePlatformDto);
        if (shopRecommendRank != null && shopRecommendRank.size() > 0) {
            shopRecommendRank = listRemoveNull(shopRecommendRank);
            plTotalShopTotalVo.setShopRecommendVos(shopRecommendRank);
@@ -837,16 +893,16 @@
     * @description  去除空字符串
     * @author  jqs
     * @date    2023/6/27 17:35
     * @param mgtMapTotalVos
     * @return  List<MgtMapTotalVo>
     * @param MgtMapIntTotalVos
     * @return  List<MgtMapIntTotalVo>
     */
    private List<MgtMapTotalVo> listRemoveNull(List<MgtMapTotalVo> mgtMapTotalVos){
        for (int i = 0; i < mgtMapTotalVos.size(); i++) {
            if(StringUtils.isBlank(mgtMapTotalVos.get(i).getMapKey())){
                mgtMapTotalVos.remove(i);
    private List<MgtMapIntTotalVo> listRemoveNull(List<MgtMapIntTotalVo> MgtMapIntTotalVos){
        for (int i = 0; i < MgtMapIntTotalVos.size(); i++) {
            if(StringUtils.isBlank(MgtMapIntTotalVos.get(i).getMapKey())){
                MgtMapIntTotalVos.remove(i);
            }
        }
        return mgtMapTotalVos;
        return MgtMapIntTotalVos;
    }
    /**