From ef80305b0c4b0b4a8a101fc6418d4968fdf0a121 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=91=E7=9A=87?= <236220500@qq.com> Date: Sat, 23 May 2020 18:36:58 +0800 Subject: [PATCH] 1 --- .../com/kiisoo/ic/store/bean/PoiStoreDTO.java | 21 ++++ .../store/controller/PoiStoreController.java | 28 ++++++ .../ic/store/mapper/PoiStoreDOMapper.java | 5 + .../ic/store/service/PoiStoreService.java | 30 ++++++ .../resources/mapper/PoiStoreDOMapper.xml | 97 ++++++++++++------- src/test/java/init/OrganizationInit.java | 4 +- src/test/java/init/OrganizationInitPhone.java | 4 +- src/test/java/test/InitDataTest.java | 10 +- 8 files changed, 153 insertions(+), 46 deletions(-) create mode 100644 src/main/java/com/kiisoo/ic/store/bean/PoiStoreDTO.java diff --git a/src/main/java/com/kiisoo/ic/store/bean/PoiStoreDTO.java b/src/main/java/com/kiisoo/ic/store/bean/PoiStoreDTO.java new file mode 100644 index 0000000..d46eb40 --- /dev/null +++ b/src/main/java/com/kiisoo/ic/store/bean/PoiStoreDTO.java @@ -0,0 +1,21 @@ +package com.kiisoo.ic.store.bean; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.kiisoo.ic.store.entity.PoiStore; +import lombok.Data; + +import java.util.Date; + +/** + * @Description: 店铺信息 + * @Author: Caps + * @Date 2020-04-08 + */ +@Data +public class PoiStoreDTO extends PoiStore { + private Long companyId; + + private Long parentId; +} diff --git a/src/main/java/com/kiisoo/ic/store/controller/PoiStoreController.java b/src/main/java/com/kiisoo/ic/store/controller/PoiStoreController.java index a7802c8..e1e8ca9 100644 --- a/src/main/java/com/kiisoo/ic/store/controller/PoiStoreController.java +++ b/src/main/java/com/kiisoo/ic/store/controller/PoiStoreController.java @@ -59,6 +59,34 @@ public class PoiStoreController extends BaseController { } + /** + * 根据用户id,区域id获取店铺 + * @return + */ + @RequestMapping(value = "/user/shopDTO",method = RequestMethod.POST) + @ResponseBody + public Map getUserShopDTO(@RequestParam("userId")long userId, @RequestParam(value = "customerIds",required =false)String customerIds){ + try { + List customers = null; + if (StringUtils.isNotBlank(customerIds)){ + String[] split = customerIds.replace("[", "").replace("]", "").split(","); + List strings = Arrays.asList(split); + if (CollectionUtils.isNotEmpty(strings)){ + customers = new ArrayList<>(); + for (String customerId:strings){ + if (StringUtils.isNotBlank(customerId)){ + customers.add(Long.parseLong(customerId)); + } + } + } + } + return data(poiStoreService.getRegionShopDTO(userId,customers)); + }catch (Exception e){ + log.error("获取用户店铺失败",e); + return fail(); + } + + } /** * 查询所有店铺 * diff --git a/src/main/java/com/kiisoo/ic/store/mapper/PoiStoreDOMapper.java b/src/main/java/com/kiisoo/ic/store/mapper/PoiStoreDOMapper.java index 4aa1d9c..7716887 100644 --- a/src/main/java/com/kiisoo/ic/store/mapper/PoiStoreDOMapper.java +++ b/src/main/java/com/kiisoo/ic/store/mapper/PoiStoreDOMapper.java @@ -3,11 +3,14 @@ package com.kiisoo.ic.store.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.kiisoo.ic.generalize.entity.CompanyStoreDO; import com.kiisoo.ic.generalize.entity.ShopRegionDO; +import com.kiisoo.ic.store.bean.PoiStoreDTO; import com.kiisoo.ic.store.entity.PoiStore; import com.kiisoo.ic.system.entity.PrivilageUserDO; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; +import java.io.Serializable; +import java.util.Collection; import java.util.List; import java.util.Map; @@ -33,6 +36,8 @@ public interface PoiStoreDOMapper extends BaseMapper { ShopRegionDO selectShopMsg(Long shopId); + List selectDTOBatchIds(@Param("shopIds") Collection shopIds); + CompanyStoreDO selectCompanyStore(Long sellerId); List selectShopByCompany(Long orgId); diff --git a/src/main/java/com/kiisoo/ic/store/service/PoiStoreService.java b/src/main/java/com/kiisoo/ic/store/service/PoiStoreService.java index c67b922..094407b 100644 --- a/src/main/java/com/kiisoo/ic/store/service/PoiStoreService.java +++ b/src/main/java/com/kiisoo/ic/store/service/PoiStoreService.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.kiisoo.ic.customer.service.CustomerViewService; import com.kiisoo.ic.domain.service.PrivilageDomainService; import com.kiisoo.ic.generalize.service.RetailCompanyService; +import com.kiisoo.ic.store.bean.PoiStoreDTO; import com.kiisoo.ic.store.bean.PoiStoreStaffDTO; import com.kiisoo.ic.store.entity.PoiStore; import com.kiisoo.ic.store.entity.PoiStoreStaff; @@ -76,6 +77,35 @@ public class PoiStoreService { return poiStores; } + /** + * 根据区域id找到店铺集合,若没有,则查用户所有店铺 + * @param regionId + */ + public List getRegionShopDTO(long userId,List customerIds){ + List poiStores = new ArrayList<>(); + //找到店铺集合 + List shopsIds = privilageDomainService.listUserDatePermission(userId); + if(null != customerIds && customerIds.size()>0){ + Set shopIds = new HashSet<>(); + customerIds.forEach(customerId -> { + Set shops = customerViewService.getCompanyShop(customerId,userId); + if (CollectionUtils.isNotEmpty(shops)){ + shopIds.addAll(shops); + } + }); + if(shopIds.size() > 0){ + List regionPoiStores = poiStoreDOMapper.selectDTOBatchIds(shopIds); + for(PoiStoreDTO item : regionPoiStores){ + if(shopsIds.contains(item.getId())){ + poiStores.add(item); + } + } + } + }else{ + poiStores = poiStoreDOMapper.selectDTOBatchIds(shopsIds); + } + return poiStores; + } /** * 查询所有店铺 * diff --git a/src/main/resources/mapper/PoiStoreDOMapper.xml b/src/main/resources/mapper/PoiStoreDOMapper.xml index 046b6ca..964c2b9 100644 --- a/src/main/resources/mapper/PoiStoreDOMapper.xml +++ b/src/main/resources/mapper/PoiStoreDOMapper.xml @@ -48,7 +48,31 @@ and t2.entity_id = t3.id and t2.type = 3 - + @@ -130,46 +154,45 @@ diff --git a/src/test/java/init/OrganizationInit.java b/src/test/java/init/OrganizationInit.java index cf734e7..2cd06a0 100644 --- a/src/test/java/init/OrganizationInit.java +++ b/src/test/java/init/OrganizationInit.java @@ -148,13 +148,13 @@ public class OrganizationInit { //查看用户 PrivilageUserDO userdo = new PrivilageUserDO(); - userdo.setMobil(phone); + userdo.setMobile(phone); PrivilageUserDO us = privilageUserDOMapper.selectOne(new QueryWrapper<>(userdo)); if (null == us) { //如果没有用户就增加 us = new PrivilageUserDO(); us.setName(v.getName()); - us.setMobil(phone); + us.setMobile(phone); us.setEmail(v.getEmail()); us.setAddress(v.getAdress()); us.setStatus(1); diff --git a/src/test/java/init/OrganizationInitPhone.java b/src/test/java/init/OrganizationInitPhone.java index 2ae1c7a..d588493 100644 --- a/src/test/java/init/OrganizationInitPhone.java +++ b/src/test/java/init/OrganizationInitPhone.java @@ -129,12 +129,12 @@ public class OrganizationInitPhone { //查看用户 PrivilageUserDO userdo = new PrivilageUserDO(); - userdo.setMobil(userI); + userdo.setMobile(userI); if(StringUtils.isNotBlank(userI)){ try{ PrivilageUserDO us = privilageUserDOMapper.selectOne(new QueryWrapper<>(userdo)); if (null != us) { - us.setMobil(phone); + us.setMobile(phone); us.setUpdateTime(new Date()); privilageUserDOMapper.updateById(us); } diff --git a/src/test/java/test/InitDataTest.java b/src/test/java/test/InitDataTest.java index f3dfe33..9b0967b 100644 --- a/src/test/java/test/InitDataTest.java +++ b/src/test/java/test/InitDataTest.java @@ -290,11 +290,11 @@ public class InitDataTest { //查看用户 PrivilageUserDO userdo = new PrivilageUserDO(); - userdo.setMobil(phone); + userdo.setMobile(phone); // 用户手机号码更新 PrivilageUserDO us = privilageUserDOMapper.selectOne(new QueryWrapper<>(userdo)); if (null != us) { - us.setMobil(newPhone); + us.setMobile(newPhone); privilageUserDOMapper.updateById(us); } else { return; @@ -893,13 +893,13 @@ public class InitDataTest { //查看用户 PrivilageUserDO userdo = new PrivilageUserDO(); - userdo.setMobil(phone); + userdo.setMobile(phone); PrivilageUserDO us = privilageUserDOMapper.selectOne(new QueryWrapper<>(userdo)); if (null == us) { //如果没有用户就增加 us = new PrivilageUserDO(); us.setName(name); - us.setMobil(phone); + us.setMobile(phone); us.setEmail(""); us.setAddress(""); us.setStatus(1); @@ -1137,7 +1137,7 @@ public class InitDataTest { // System.out.println("没有对应用户" + ArrayUtils.toString(arr)); PrivilageUserDO userDOEntity = new PrivilageUserDO(); - userDOEntity.setMobil(phone); + userDOEntity.setMobile(phone); userDOEntity.setName(name); userDOEntity.setAbbreviation(abName); userDOEntity.setStatus(1);