package cn.lili.controller.lmk; import cn.lili.base.Result; import cn.lili.common.utils.StringUtils; import cn.lili.modules.lmk.domain.vo.StoreRelationshipVO; import cn.lili.modules.member.entity.dos.Member; import cn.lili.modules.member.service.MemberService; import cn.lili.modules.store.entity.dos.Store; import cn.lili.modules.store.service.StoreService; import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; import io.swagger.annotations.Api; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.ArrayList; import java.util.List; /** * lmk-shop-java * * @author : zxl * @date : 2025-10-16 10:10 **/ @RequiredArgsConstructor @Api(value = "店铺关系", tags = "店铺关系") @RestController @RequestMapping("/manager/lmk/storeRelationship") public class StoreRelationshipController { private final StoreService storeService; private final MemberService memberService; @GetMapping("/{id}") public Result getStoreRelationship(@PathVariable String id){ //通过店铺信息获得会员信息 Store store = storeService.getById(id); String memberId = store.getMemberId(); Member member = memberService.getById(memberId); StoreRelationshipVO vo = new StoreRelationshipVO(); if (member !=null){ //获得会员分享店铺id String shareStoreId = member.getShareStoreId(); if (StringUtils.isNotBlank(shareStoreId)){ //存在上级店铺 Store upStore = storeService.getById(shareStoreId); vo.setUpStore(upStore); } } //判断是否拥有下级店铺 List members = new LambdaQueryChainWrapper<>(memberService.getBaseMapper()) .eq(Member::getDeleteFlag, Boolean.FALSE) .eq(Member::getShareStoreId, id) .list(); List downStore = new ArrayList<>(); for (Member m : members){ if (m.getHaveStore() && StringUtils.isNotBlank(m.getStoreId())){ downStore.add(storeService.getById(m.getStoreId())); } } StoreRelationshipVO storeRelationshipVO = new StoreRelationshipVO(); storeRelationshipVO.setUpStore(store); storeRelationshipVO.setDownStore(downStore); return Result.ok().data(storeRelationshipVO); } }