diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/LabelGroupListVo.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/LabelGroupListVo.java index e7a109e41..c17c12106 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/vo/LabelGroupListVo.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/LabelGroupListVo.java @@ -4,6 +4,7 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; +import java.util.List; /** * @author Fun Li 2023/8/10 13:33 @@ -27,4 +28,7 @@ public class LabelGroupListVo { @ApiModelProperty("编辑时间") private Date editDate; + @ApiModelProperty("标签列表") + private List labelList; + } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/LabelService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/LabelService.java index 16b3d3a1f..9c73e01cd 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/LabelService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/LabelService.java @@ -6,6 +6,7 @@ import com.cool.store.dto.label.LabelListDTO; import com.cool.store.dto.label.LabelUpdateDTO; import com.cool.store.entity.HyPartnerLabelDO; import com.cool.store.exception.ApiException; +import com.cool.store.vo.LabelGroupListVo; import com.cool.store.vo.LabelListVo; import java.util.List; @@ -61,4 +62,5 @@ public interface LabelService { void addEcLabel(HyPartnerLabelDO hyPartnerLabelDO); + List getAllGroupAndLabelList(); } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/LabelServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/LabelServiceImpl.java index dcdf395b8..dc673833c 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/LabelServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/LabelServiceImpl.java @@ -10,7 +10,9 @@ import com.cool.store.enums.ErrorCodeEnum; import com.cool.store.exception.ApiException; import com.cool.store.mapper.HyPartnerLabelMapper; import com.cool.store.service.LabelService; +import com.cool.store.vo.LabelGroupListVo; import com.cool.store.vo.LabelListVo; +import com.google.common.collect.Lists; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; @@ -18,7 +20,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; -import javax.annotation.Resource; import java.util.*; import java.util.stream.Collectors; @@ -116,6 +117,24 @@ public class LabelServiceImpl implements LabelService { labelMapper.insertSelective(hyPartnerLabelDO); } + @Override + public List getAllGroupAndLabelList() { + List labelList = labelMapper.getLabelList(new LabelListDTO()); + if (CollectionUtils.isEmpty(labelList)) { + log.info("标签列表为空"); + return Lists.newArrayList(new LabelGroupListVo()); + } + Map> idForVo = labelList.stream().collect(Collectors.groupingBy(LabelListVo::getLabelGroupId)); + List result = idForVo.entrySet().stream().map(entry -> { + LabelGroupListVo labelGroupListVo = new LabelGroupListVo(); + labelGroupListVo.setId(entry.getKey()); + labelGroupListVo.setLabelGroupName(entry.getValue().get(0).getLabelGroupName()); + labelGroupListVo.setLabelList(entry.getValue()); + return labelGroupListVo; + }).sorted(Comparator.comparing(LabelGroupListVo::getId)).collect(Collectors.toList()); + return result; + } + private Boolean whetherLabelRepeat(HyPartnerLabelDO label) throws ApiException { Long id = label.getId(); label.setId(null); diff --git a/coolstore-partner-webb/src/main/java/com/cool/store/controller/LabelController.java b/coolstore-partner-webb/src/main/java/com/cool/store/controller/LabelController.java index ac950909f..f6599cdaa 100644 --- a/coolstore-partner-webb/src/main/java/com/cool/store/controller/LabelController.java +++ b/coolstore-partner-webb/src/main/java/com/cool/store/controller/LabelController.java @@ -7,16 +7,14 @@ import com.cool.store.dto.label.LabelUpdateDTO; import com.cool.store.exception.ApiException; import com.cool.store.response.ResponseResult; import com.cool.store.service.LabelService; +import com.cool.store.vo.LabelGroupListVo; import com.cool.store.vo.LabelListVo; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import java.util.List; @@ -40,6 +38,13 @@ public class LabelController { return ResponseResult.success(new PageInfo<>(result)); } + @ApiOperation("查询标签组及子标签列表") + @GetMapping("/labelGroupAndLabelList") + public ResponseResult> getAllLabelList() { + List result = labelService.getAllGroupAndLabelList(); + return ResponseResult.success(result); + } + @ApiOperation("新增标签") @PostMapping("/add") public ResponseResult addLabel(@RequestBody LabelAddDTO dto) throws ApiException {