From b0b94a084ed6c1a685caebb8dfb1a0d65fdd9ef6 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期二, 16 七月 2024 10:57:42 +0800
Subject: [PATCH] 提交

---
 server/service/src/main/java/com/doumee/service/business/impl/ShopServiceImpl.java |  405 +++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 389 insertions(+), 16 deletions(-)

diff --git a/server/service/src/main/java/com/doumee/service/business/impl/ShopServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/ShopServiceImpl.java
index bf00898..62ed2f3 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/ShopServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/ShopServiceImpl.java
@@ -1,5 +1,6 @@
 package com.doumee.service.business.impl;
 
+import com.doumee.biz.system.SystemDictDataBiz;
 import com.doumee.core.annotation.excel.ExcelImporter;
 import com.doumee.core.constants.ResponseStatus;
 import com.doumee.core.exception.BusinessException;
@@ -8,16 +9,19 @@
 import com.doumee.core.model.PageWrap;
 import com.doumee.core.utils.Constants;
 import com.doumee.core.utils.Utils;
+import com.doumee.dao.admin.request.CategoryImport;
 import com.doumee.dao.admin.request.FcodeImport;
 import com.doumee.dao.admin.request.ShopImport;
 import com.doumee.dao.admin.request.UpdateShopSortDTO;
-import com.doumee.dao.business.ShopMapper;
+import com.doumee.dao.business.CategorySegMapper;
+import com.doumee.dao.business.MemberMapper;
+import com.doumee.dao.business.SegmentsMapper;
+import com.doumee.dao.business.UsersMapper;
 import com.doumee.dao.business.join.ShopJoinMapper;
-import com.doumee.dao.business.model.Member;
-import com.doumee.dao.business.model.Shop;
+import com.doumee.dao.business.model.*;
 import com.doumee.dao.business.vo.ShopTree;
 import com.doumee.dao.business.vo.ShopTreeVo;
-import com.doumee.dao.system.model.SystemUser;
+import com.doumee.dao.web.reqeust.ShopQueryByLLDTO;
 import com.doumee.service.business.ShopService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
@@ -34,10 +38,10 @@
 import org.springframework.util.CollectionUtils;
 import org.springframework.web.multipart.MultipartFile;
 
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Objects;
+import java.util.*;
+import java.util.concurrent.Callable;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
 
 /**
  * 蹇楅偊缁勭粐淇℃伅琛⊿ervice瀹炵幇
@@ -46,11 +50,22 @@
  */
 @Service
 public class ShopServiceImpl implements ShopService {
-
+    ExecutorService executor = Executors.newFixedThreadPool(1);
     @Autowired
     private RedisTemplate<String, Object> redisTemplate;
     @Autowired
     private ShopJoinMapper shopMapper;
+
+    @Autowired
+    private SegmentsMapper segmentsMapper;
+    @Autowired
+    private CategorySegMapper categorySegMapper;
+    @Autowired
+    private UsersMapper usersMapper;
+    @Autowired
+    private SystemDictDataBiz systemDictDataBiz;
+    @Autowired
+    private MemberMapper memberMapper;
 
     @Override
     public Long create(Shop shop) {
@@ -237,6 +252,8 @@
         }
         queryWrapper.apply(StringUtils.isNotBlank(pageWrap.getModel().getParentName()),
                     "(t1.name like '%"+pageWrap.getModel().getParentName()+"%' or t1.code like '%"+pageWrap.getModel().getParentName()+"%' )" );
+        queryWrapper.exists(StringUtils.isNotBlank(pageWrap.getModel().getSiteCode()),
+                    "(select c.id from category_seg c where c.isdeleted=0 and (c.org_id=t.code or c.scode =t1.code ) limit 1)" );
         for(PageWrap.SortData sortData: pageWrap.getSorts()) {
             if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
                 queryWrapper.orderByDesc(sortData.getProperty());
@@ -253,6 +270,7 @@
         return shopMapper.selectCount(wrapper);
     }
     @Override
+//    @Async
     @Transactional(rollbackFor = {BusinessException.class,Exception.class})
     public String importFcodeBatch(MultipartFile file){
         Boolean importing = (Boolean) redisTemplate.opsForValue().get(Constants.RedisKeys.IMPORTING_SHOP);
@@ -274,7 +292,22 @@
                 throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝褰曞叆鏁版嵁涓虹┖锛�");
             }
             Date date =new Date();
-            List<Shop> updateShops = new ArrayList<>();
+            List<FcodeImport> finalDataList = dataList;
+            Callable<String> task = () -> {
+                dealFcodeDataBiz(finalDataList,date,loginUserInfo);
+                return "寮傛浠诲姟瀹屾垚";
+            };
+            executor.submit(task);
+            return "瀵煎叆鎴愬姛";
+        }catch (BusinessException e){
+            throw e;
+        }catch (Exception e){
+            throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"淇℃伅瀵煎叆澶辫触锛岃绋嶅悗閲嶈瘯");
+        }
+    }
+
+    private void dealFcodeDataBiz(List<FcodeImport> dataList, Date date, LoginUserInfo loginUserInfo) {
+        try {
             for(int i=0;i<dataList.size();i++){
                 FcodeImport model = dataList.get(i);
                 if(StringUtils.isBlank(model.getOrgId())  ){
@@ -302,16 +335,258 @@
                 shopMapper.updateById(shop);
             }
 
-            return "瀵煎叆鎴愬姛";
         }catch (BusinessException e){
             throw e;
         }catch (Exception e){
             throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"淇℃伅瀵煎叆澶辫触锛岃绋嶅悗閲嶈瘯");
         }finally {
+            executor.shutdown();
             redisTemplate.delete(Constants.RedisKeys.IMPORTING_SHOP);
         }
     }
+
     @Override
+    @Transactional(rollbackFor = {BusinessException.class,Exception.class})
+    public String importCategoryBatch(MultipartFile file){
+        Boolean importing = (Boolean) redisTemplate.opsForValue().get(Constants.RedisKeys.IMPORTING_SHOP);
+        if(importing!=null && importing){
+            throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝宸插瓨鍦ㄥ鍏ユ垨鑰呬笂涓嬬骇閲嶇疆浠诲姟姝e湪鎵ц涓紝璇风◢鍚庡啀璇曪紒");
+        }
+        redisTemplate.opsForValue().set(Constants.RedisKeys.IMPORTING_SHOP,true);
+        try {
+            LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+            ExcelImporter ie = null;
+            List<CategoryImport> dataList =null;
+            try {
+                ie = new ExcelImporter(file,0,0);
+                dataList = ie.getDataList(CategoryImport.class,null);
+            }  catch (Exception e) {
+                e.printStackTrace();
+            }
+            if(dataList == null || dataList.size() ==0){
+                throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝褰曞叆鏁版嵁涓虹┖锛�");
+            }
+            Date date =new Date();
+            List<CategoryImport> finalDataList = dataList;
+            Callable<String> task = () -> {
+                dealCategoryDataBiz(finalDataList,date,loginUserInfo);
+                return "寮傛浠诲姟瀹屾垚";
+            };
+            executor.submit(task);
+            return "瀵煎叆鎴愬姛";
+        }catch (BusinessException e){
+            throw e;
+        }catch (Exception e){
+            throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"淇℃伅瀵煎叆澶辫触锛岃绋嶅悗閲嶈瘯");
+        }
+    }
+
+    @Async
+    private void dealCategoryDataBiz(List<CategoryImport> dataList, Date date, LoginUserInfo loginUserInfo) {
+        try {
+            List<CategorySeg> categorySegList = new ArrayList<>();
+            List<Segments> segmentsList = new ArrayList<>();
+            Map<String,List<String>> siteCodes = new HashMap<>();
+            List<String> orgIdList = new ArrayList<>();
+            for(int i=0;i<dataList.size();i++){
+                CategoryImport model = dataList.get(i);
+                if(StringUtils.isBlank(model.getOrgId())  ){
+                    continue;
+                }
+                orgIdList.add(model.getOrgId());
+                dealSegmentData(date,model,loginUserInfo,segmentsList);
+                categorySegList.add(initInsertCategorySeg(date,model,loginUserInfo,siteCodes));
+            }
+            if(orgIdList.size()>0){
+                categorySegMapper.delete(new UpdateWrapper<CategorySeg>().lambda() .in(CategorySeg::getOrgId,orgIdList));
+            }
+            if(siteCodes.size()>0){
+                for(Map.Entry<String ,List<String>> entry : siteCodes.entrySet()){
+                    String key = entry.getKey();
+                    List<String> codes = entry.getValue();
+                    Shop ts = null;
+                    String tcode =key.substring(2);
+                    if(StringUtils.startsWith(key,"f_")){
+                        ts = shopMapper.selectOne(new QueryWrapper<Shop>().lambda()
+                                .eq(Shop::getCode,tcode)
+                                .eq(Shop::getSecondType,Constants.TWO ));
+                    }
+                    if(StringUtils.startsWith(key,"f_")){
+                        ts = shopMapper.selectOne(new QueryWrapper<Shop>().lambda()
+                                .eq(Shop::getCode,tcode)
+                                .eq(Shop::getSecondType,Constants.ONE ));
+                    }
+                    if(ts!=null){
+                        ts.setSiteCode(String.join("; ", codes) +";");
+                        shopMapper.updateById(ts);
+                    }
+                }
+            }
+            if(categorySegList.size()>0){
+                int temp = 0;
+                while(temp < categorySegList.size()){
+                    int index;
+                    if(temp + 500 <= categorySegList.size()){
+                        index = temp+500;
+                    }else{
+                        index = categorySegList.size();
+                    }
+                    categorySegMapper.insert(categorySegList.subList(temp,index));
+                    temp = index;
+                }
+            }
+            if(segmentsList.size()>0){
+                int temp = 0;
+                while(temp < segmentsList.size()){
+                    int index;
+                    if(temp + 500 <= segmentsList.size()){
+                        index = temp+500;
+                    }else{
+                        index = segmentsList.size();
+                    }
+                    segmentsMapper.insert(segmentsList.subList(temp,index));
+                    temp = index;
+                }
+            }
+        }catch (BusinessException e){
+            throw e;
+        }catch (Exception e){
+            throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"淇℃伅瀵煎叆澶辫触锛岃绋嶅悗閲嶈瘯");
+        }finally {
+            executor.shutdown(); // 鍏抽棴ExecutorService
+            redisTemplate.delete(Constants.RedisKeys.IMPORTING_SHOP);
+        }
+    }
+
+    private void dealSegmentData(Date date, CategoryImport model, LoginUserInfo loginUserInfo, List<Segments> segmentsList) {
+
+        if(StringUtils.isNotBlank(model.getSegId())){
+            //濡傛灉鎴樺尯涓嶄负绌�
+            if(newSegment(model.getSegId(),Constants.ZERO,segmentsList) && segmentsMapper.selectCount(new QueryWrapper<Segments>().lambda()
+                    .eq(Segments::getSegmentId,model.getSegId())
+                    .eq(Segments::getUnitCode,model.getUnitCode())
+                    .eq(Segments::getType,Constants.ZERO)) ==0){
+                segmentsList.add(initSegmentData(model,date,loginUserInfo,Constants.ZERO));
+            }
+        }
+        if(StringUtils.isNotBlank(model.getSegId2())){
+            //濡傛灉鐪佸尯涓嶄负绌�
+            if(newSegment(model.getSegId2(),Constants.ONE,segmentsList) && segmentsMapper.selectCount(new QueryWrapper<Segments>().lambda()
+                    .eq(Segments::getSegmentId,model.getSegId2())
+                    .eq(Segments::getParentId,model.getSegId())
+                    .eq(Segments::getUnitCode,model.getUnitCode())
+                    .eq(Segments::getType,Constants.ONE)) ==0){
+                segmentsList.add(initSegmentData(model,date,loginUserInfo,Constants.ONE));
+            }
+        }
+        if(StringUtils.isNotBlank(model.getSegId3())){
+            //濡傛灉鐗囧尯涓嶄负绌�
+            if(newSegment(model.getSegId3(),Constants.TWO,segmentsList) && segmentsMapper.selectCount(new QueryWrapper<Segments>().lambda()
+                    .eq(Segments::getSegmentId,model.getSegId3())
+                    .eq(Segments::getUnitCode,model.getUnitCode())
+                    .eq(Segments::getParentId,model.getSegId2())
+                    .eq(Segments::getType,Constants.TWO)) ==0){
+                segmentsList.add(initSegmentData(model,date,loginUserInfo,Constants.TWO));
+            }
+        }
+    }
+
+    private boolean newSegment(String segId2, int one, List<Segments> segmentsList) {
+        for(Segments s : segmentsList){
+            if(StringUtils.equals(s.getSegmentId(),segId2) && Constants.equalsInteger(one,s.getType())){
+                return false;
+            }
+        }
+        return true;
+    }
+
+    private Segments initSegmentData(CategoryImport model, Date date, LoginUserInfo loginUserInfo, int type) {
+        Segments data = new Segments();
+        data.setCreateDate(date);
+        data.setEditDate(date);
+        data.setCreator(loginUserInfo.getId());
+        data.setEditor(loginUserInfo.getId());
+        data.setIsdeleted(Constants.ZERO);
+        data.setStatus(Constants.ZERO);
+        data.setUnitCode(model.getUnitCode());
+        data.setType(type);
+        if(type ==Constants.ZERO){
+            data.setName(model.getSegName());
+            data.setSegmentId(model.getSegId());
+            data.setParentId(null);
+            data.setRemark(model.getSegName());
+        }else if(type ==Constants.ONE){
+            data.setName(model.getSegName2());
+            data.setSegmentId(model.getSegId2());
+            data.setParentId(model.getSegId());
+            data.setRemark(model.getSegName()+"/"+model.getSegName2());
+        }else{
+            data.setName(model.getSegName3());
+            data.setSegmentId(model.getSegId3());
+            data.setParentId(model.getSegId2());
+            data.setRemark(model.getSegName()+"/"+model.getSegName2()+"/"+model.getSegName3());
+        }
+        return data;
+    }
+
+    private CategorySeg initInsertCategorySeg(Date date, CategoryImport model, LoginUserInfo loginUserInfo,Map<String,List<String>> siteCodes) {
+        CategorySeg data = new CategorySeg();
+        data.setCreateDate(date);
+        data.setEditDate(date);
+        data.setCreator(loginUserInfo.getId());
+        data.setEditor(loginUserInfo.getId());
+        data.setIsdeleted(Constants.ZERO);
+        data.setOrgId(model.getOrgId());
+        data.setSegId(model.getSegId());
+        data.setSegId2(model.getSegId2());
+        data.setSegId3(model.getSegId3());
+        data.setSegName(model.getSegName());
+        data.setSegName2(model.getSegName2());
+        data.setSegName3(model.getSegName3());
+        data.setShipToAddress(model.getShipToAddress());
+        data.setShipToPhone(model.getShipToPhone());
+        data.setShipToPerson(model.getShipToPerson());
+        data.setBrandId(model.getBrandId());
+        data.setUnitCode(model.getUnitCode());
+        data.setSiteCode(model.getSiteCode());
+        data.setScode(model.getScode());
+        dealSiteCode(model,siteCodes);
+
+        return data;
+    }
+
+    private void dealSiteCode(CategoryImport model, Map<String, List<String>> siteCodes) {
+        List<String> tList = siteCodes.get(model.getOrgId());
+        if(tList == null){
+            tList = new ArrayList<>();
+        }
+        if(isNewSiteCode(model.getSiteCode(),tList)){
+            tList.add(model.getSiteCode());
+            siteCodes.put("f_"+model.getOrgId(),tList);
+        }
+        tList = siteCodes.get(model.getScode());
+        if(tList == null){
+            tList = new ArrayList<>();
+        }
+        if(isNewSiteCode(model.getSiteCode(),tList)){
+            tList.add(model.getSiteCode());
+            siteCodes.put("s_"+model.getScode(),tList);
+        }
+    }
+
+    private boolean isNewSiteCode(String siteCode, List<String> tList) {
+        if(tList!=null){
+            for(String s :tList){
+                if(StringUtils.equals(s,siteCode)){
+                    return false;
+                }
+            }
+        }
+        return  true;
+    }
+
+    @Override
+//    @Async
     @Transactional(rollbackFor = {BusinessException.class,Exception.class})
     public String importBatch(MultipartFile file){
         Boolean importing = (Boolean) redisTemplate.opsForValue().get(Constants.RedisKeys.IMPORTING_SHOP);
@@ -332,11 +607,28 @@
             if(dataList == null || dataList.size() ==0){
                 throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝褰曞叆鏁版嵁涓虹┖锛�");
             }
+            Date date =new Date();
+            List<ShopImport> finalDataList = dataList;
+            Callable<String> task = () -> {
+                dealShopDataBiz(finalDataList,date,loginUserInfo);
+                return "寮傛浠诲姟瀹屾垚";
+            };
+            executor.submit(task);
+
+            return "瀵煎叆鎴愬姛";
+        }catch (BusinessException e){
+            throw e;
+        }catch (Exception e){
+            throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"淇℃伅瀵煎叆澶辫触锛岃绋嶅悗閲嶈瘯");
+        }
+    }
+
+    private void dealShopDataBiz(List<ShopImport> dataList, Date date, LoginUserInfo loginUserInfo) {
+        try {
             List<Shop> list =  shopMapper.selectJoinList(Shop.class,new MPJLambdaWrapper<Shop>()
                     .selectAll(Shop.class)
             );
             List<Shop> insertShops = new ArrayList<>();
-            Date date =new Date();
             List<Shop> updateShops = new ArrayList<>();
             for(int i=0;i<dataList.size();i++){
                 ShopImport model = dataList.get(i);
@@ -365,12 +657,12 @@
                     shopMapper.updateById(s);
                 }
             }
-            return "瀵煎叆鎴愬姛";
         }catch (BusinessException e){
             throw e;
         }catch (Exception e){
             throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"淇℃伅瀵煎叆澶辫触锛岃绋嶅悗閲嶈瘯");
         }finally {
+            executor.shutdown();
             redisTemplate.delete(Constants.RedisKeys.IMPORTING_SHOP);
         }
     }
@@ -556,10 +848,16 @@
                     s.setIdPath(s.getId()+"/");
                     shopMapper.updateById(s);
                 }else{
+                    String idPath = StringUtils.defaultString(parent.getIdPath(),"")+ shop.getId()+"/";
+                    String namePath =StringUtils.defaultString(parent.getNamePath(),"")+"/"+shop.getName();
                     s.setParentId(parent.getId());
-                    s.setNamePath(parent.getNamePath()+"/"+s.getName());
-                    s.setIdPath(parent.getIdPath()+s.getId()+"/");
-                    shopMapper.updateById(s);
+                    s.setNamePath(namePath);
+                    s.setIdPath(idPath);
+                    if(!(Constants.equalsLong(parent.getId(),shop.getParentId())
+                            && StringUtils.equals(idPath,shop.getIdPath())
+                            &&StringUtils.equals(namePath,shop.getNamePath())) ){
+                        shopMapper.updateById(s);
+                    }
                 }
                 if(shop.getChildList()!=null && shop.getChildList().size()>0){
                     updateNamePath(s,shop.getChildList());
@@ -567,4 +865,79 @@
             }
         }
     }
+
+
+
+    @Override
+    public PageData<Shop> queryShopByLL(PageWrap<Shop> pageWrap) {
+        if(Objects.isNull(pageWrap.getModel())
+                || Objects.isNull(pageWrap.getModel().getLatitude())
+                || Objects.isNull(pageWrap.getModel().getLongitude())){
+            return null;
+        }
+        IPage<Shop> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
+        MPJLambdaWrapper<Shop> queryWrapper = new MPJLambdaWrapper<>();
+        queryWrapper.select("ID,NAME,ADDRESS,PROVINCE_NAME,CITY_NAME,AREA_NAME,TOWN,AREA_NAME,LEGAL_PHONE," +
+                        " CONVERT (ST_Distance_Sphere (point ("+pageWrap.getModel().getLongitude()+", "+pageWrap.getModel().getLatitude()+" ), point ( LONGITUDE, LATITUDE )) /1000,decimal(15,2)) as distance ")
+                .eq("isdeleted",Constants.ZERO)
+                .isNotNull("LATITUDE")
+                .isNotNull("LONGITUDE")
+                .eq("ATTRIBUTE",Constants.ONE)
+                .orderByAsc(" distance ");
+        Utils.MP.blankToNull(pageWrap.getModel());
+        PageData<Shop> pageData = PageData.from(shopMapper.selectPage(page, queryWrapper));
+        String prefix = StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE,Constants.RESOURCE_PATH).getCode()) +
+        StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE,Constants.USERS_FILE).getCode());
+        for (Shop shop:pageData.getRecords()) {
+            //鏌ヨ闂ㄥ簵涓嬪璐暟鎹�
+            List<Users> usersList =usersMapper.selectList(new QueryWrapper<Users>().lambda().eq(Users::getDepartmentId,shop.getId())
+                    .eq(Users::getIsdeleted,Constants.ZERO)
+                    .eq(Users::getStatus,Constants.ONE)
+                    .eq(Users::getType,Constants.ZERO)
+            );
+            for (Users users:usersList) {
+                if(StringUtils.isNotBlank(users.getImgurl())){
+                    users.setImgurlFull(prefix + users.getImgurl());
+                }
+            }
+            shop.setUsersList(usersList);
+        }
+        return pageData;
+    }
+
+    @Override
+    public Shop shopDetail(Long id,Long memberId) {
+        Member member = memberMapper.selectById(memberId);
+        if(Objects.isNull(member)){
+            throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鏈煡璇㈠埌鐢ㄦ埛淇℃伅");
+        }
+        QueryWrapper<Shop> queryWrapper = new QueryWrapper<Shop>();
+        //濡傛灉浜哄憳娌℃湁缁忕含搴︿俊鎭紝鍒欎笉鏌ヨ璺濈
+        if(Objects.nonNull(member.getLatitude())&&Objects.nonNull(member.getLongitude())){
+            queryWrapper.select("ID,NAME,ADDRESS,PROVINCE_NAME,CITY_NAME,AREA_NAME,TOWN,AREA_NAME,LEGAL_PHONE," +
+                    " CONVERT (ST_Distance_Sphere (point ("+member.getLongitude()+", "+member.getLatitude()+" ), point ( LONGITUDE, LATITUDE )) /1000,decimal(15,2)) as distance ");
+        }
+        queryWrapper.eq("id",id);
+        Shop shop = shopMapper.selectOne(queryWrapper);
+        if(Objects.isNull(shop)){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY);
+        }
+        String prefix = StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE,Constants.RESOURCE_PATH).getCode()) +
+                StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE,Constants.USERS_FILE).getCode());
+        List<Users> usersList =usersMapper.selectList(new QueryWrapper<Users>().lambda().eq(Users::getDepartmentId,shop.getId())
+                .eq(Users::getIsdeleted,Constants.ZERO)
+                .eq(Users::getStatus,Constants.ONE)
+                .eq(Users::getType,Constants.ZERO)
+        );
+        for (Users users:usersList) {
+            if(StringUtils.isNotBlank(users.getImgurl())){
+                users.setImgurlFull(prefix + users.getImgurl());
+            }
+        }
+        shop.setUsersList(usersList);
+        return shop;
+    }
+
+
+
 }

--
Gitblit v1.9.3