diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/RegionDao.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/RegionDao.java index 069b8cc4f..a5ab6ede9 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/RegionDao.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/RegionDao.java @@ -1,6 +1,5 @@ package com.cool.store.dao; -import com.alibaba.fastjson.JSONObject; import com.cool.store.dto.RegionNode; import com.cool.store.entity.RegionDO; import com.cool.store.mapper.RegionMapper; @@ -8,11 +7,13 @@ import com.google.common.collect.Lists; import com.google.common.collect.Maps; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.ListUtils; -import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Repository; import javax.annotation.Resource; -import java.util.*; +import java.util.Collections; +import java.util.List; +import java.util.Map; +import java.util.Objects; import java.util.stream.Collectors; /** @@ -172,5 +173,8 @@ public class RegionDao { return regionMapper.getRegionByParentIds(regionIdList); } + public List listByThirdRegionType(Long parentId, String thirdRegionType) { + return regionMapper.listByThirdRegionType(parentId, thirdRegionType); + } } diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/RegionMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/RegionMapper.java index ea7ff8b24..8b85f836e 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/RegionMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/RegionMapper.java @@ -94,4 +94,7 @@ public interface RegionMapper { List getRegionByParentIds(@Param("regionIdList") List regionIdList); + List listByThirdRegionType(@Param("parentId")Long parentId, @Param("thirdRegionType")String thirdRegionType); + + } diff --git a/coolstore-partner-dao/src/main/resources/mapper/RegionMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/RegionMapper.xml index a89d96481..99e986823 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/RegionMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/RegionMapper.xml @@ -17,7 +17,8 @@ region_type as regionType, region_path as regionPath, deleted as deleted, - third_dept_id as thirdDeptId + third_dept_id as thirdDeptId, + third_region_type as thirdRegionType + + + \ No newline at end of file diff --git a/coolstore-partner-model/src/main/java/com/cool/store/entity/RegionDO.java b/coolstore-partner-model/src/main/java/com/cool/store/entity/RegionDO.java index 8ee50368d..43e016ebd 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/entity/RegionDO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/entity/RegionDO.java @@ -150,6 +150,8 @@ public class RegionDO { */ private Boolean isExternalNode; + private String thirdRegionType; + public RegionDO(Long id, String name, String parentId, String groupId, Long createTime, String createName) { this.id = id; this.name = name; diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/RegionService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/RegionService.java index 065daba3e..6ef6c3a1c 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/RegionService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/RegionService.java @@ -1,7 +1,10 @@ package com.cool.store.service; +import com.cool.store.entity.RegionDO; import com.cool.store.vo.RegionPathNameVO; +import java.util.List; + public interface RegionService { RegionPathNameVO getAllRegionName(Long regionId); @@ -13,4 +16,6 @@ public interface RegionService { */ Long getBigRegionIdByAreaId(Long wantShopAreaId); + List listByThirdRegionType(Long parentId, String thirdRegionType); + } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/RegionServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/RegionServiceImpl.java index 4271ba9b0..a2c7b8c4d 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/RegionServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/RegionServiceImpl.java @@ -24,6 +24,8 @@ import javax.annotation.Resource; import java.util.*; import java.util.stream.Collectors; +import static com.cool.store.enums.ErrorCodeEnum.PARAMS_VALIDATE_ERROR; + /** * @ClassName RegionServiceImpl * @Description 区域服务 @@ -114,4 +116,12 @@ public class RegionServiceImpl implements RegionService { } return 0L; } + + @Override + public List listByThirdRegionType(Long parentId, String thirdRegionType) { + if(Objects.isNull(parentId) && StringUtils.isBlank(thirdRegionType)){ + throw new ServiceException(PARAMS_VALIDATE_ERROR); + } + return regionDao.listByThirdRegionType(parentId, thirdRegionType); + } } diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/RegionController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/RegionController.java new file mode 100644 index 000000000..3e91e4af8 --- /dev/null +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/RegionController.java @@ -0,0 +1,38 @@ +package com.cool.store.controller.webb; + +import com.cool.store.entity.RegionDO; +import com.cool.store.response.ResponseResult; +import com.cool.store.service.RegionService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * @ClassName RegionController + * @Description 区域 + */ +@RestController +@RequestMapping("/pc/region") +@Api(tags = "区域信息") +@Slf4j +public class RegionController { + + @Autowired + private RegionService regionService; + + @ApiOperation("根据三方区域类型获取区域列表 0-根 1=大区 2=战区 3=小区(督导区 4=门店") + @GetMapping("/listByThirdRegionType") + public ResponseResult> listByThirdRegionType(@RequestParam(value = "parentId", required = false) Long parentId, + @RequestParam(value = "thirdRegionType", required = false) String thirdRegionType) { + return ResponseResult.success(regionService.listByThirdRegionType(parentId, thirdRegionType)); + } + + +}