diff --git a/src/main/java/com/example/demo/controller/MarketController.java b/src/main/java/com/example/demo/controller/MarketController.java new file mode 100644 index 0000000..afd8bc8 --- /dev/null +++ b/src/main/java/com/example/demo/controller/MarketController.java @@ -0,0 +1,26 @@ +package com.example.demo.controller; + +import com.example.demo.domain.vo.Result; +import com.example.demo.service.MarketService; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.CrossOrigin; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/market") +@RequiredArgsConstructor +@Slf4j +@CrossOrigin +public class MarketController { + @Autowired + private MarketService marketService; + + @RequestMapping("/selectMarket") + public Result selectMarket() + { + return Result.success(marketService.selectMarket()); + } +} \ No newline at end of file diff --git a/src/main/java/com/example/demo/domain/entity/Market.java b/src/main/java/com/example/demo/domain/entity/Market.java new file mode 100644 index 0000000..f79ec67 --- /dev/null +++ b/src/main/java/com/example/demo/domain/entity/Market.java @@ -0,0 +1,33 @@ +package com.example.demo.domain.entity; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; +import java.util.List; + + +/** + * @program: GOLD + * @ClassName Export + * @description: + * @author: huangqizhen + * @create: 2025−07-26 16:17 + * @Version 1.0 + **/ +@Data +@NoArgsConstructor +public class Market { + private Integer id; + private String name; + private Integer parentId; + private Date createTime; + private String treelist; + private Integer type; + + private List children; + + + +} diff --git a/src/main/java/com/example/demo/mapper/MarketMapper.java b/src/main/java/com/example/demo/mapper/MarketMapper.java new file mode 100644 index 0000000..91b99c6 --- /dev/null +++ b/src/main/java/com/example/demo/mapper/MarketMapper.java @@ -0,0 +1,9 @@ +package com.example.demo.mapper; + +import com.example.demo.domain.entity.Market; + +import java.util.List; + +public interface MarketMapper { + List getMarket(); +} \ No newline at end of file diff --git a/src/main/java/com/example/demo/service/MarketService.java b/src/main/java/com/example/demo/service/MarketService.java new file mode 100644 index 0000000..85010d1 --- /dev/null +++ b/src/main/java/com/example/demo/service/MarketService.java @@ -0,0 +1,17 @@ +package com.example.demo.service; + +import com.example.demo.domain.entity.Market; + +import java.util.List; + +/** + * @program: GOLD + * @ClassName MarketService + * @description: + * @author: huangqizhen + * @create: 2025−07-26 15:20 + * @Version 1.0 + **/ +public interface MarketService { + List selectMarket(); +} diff --git a/src/main/java/com/example/demo/serviceImpl/MarketServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/MarketServiceImpl.java new file mode 100644 index 0000000..64bd0a5 --- /dev/null +++ b/src/main/java/com/example/demo/serviceImpl/MarketServiceImpl.java @@ -0,0 +1,42 @@ +package com.example.demo.serviceImpl; + +import com.example.demo.domain.entity.Market; +import com.example.demo.domain.vo.MenuVo; +import com.example.demo.mapper.MarketMapper; +import com.example.demo.service.MarketService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; + +@Service +public class MarketServiceImpl implements MarketService { + @Autowired + private MarketMapper marketMapper; + @Override + public List selectMarket() { + List markets = marketMapper.getMarket(); + + // 2. 构建树形结构(根节点parentId=1) + return buildTree(markets, 1); + } + private List buildTree(List markets, Integer parentId) { + // 过滤出当前父节点的子菜单 + List children = markets.stream() + .filter(menu -> Objects.equals(menu.getParentId(), parentId)) + .collect(Collectors.toList()); + // 过滤出当前父节点的子菜单,同时过滤掉id为9的权限 +// List children = allMenus.stream() +// .filter(menu -> Objects.equals(menu.getParentId(), parentId) && !Objects.equals(menu.getId(), 9)) +// .collect(Collectors.toList()); + + // 递归为每个子菜单设置子节点 + for (Market child : children) { + child.setChildren(buildTree(markets, child.getId())); + } + + return children; + } +} \ No newline at end of file diff --git a/src/main/java/com/example/demo/serviceImpl/UserServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/UserServiceImpl.java index cc3eb57..7f51f31 100644 --- a/src/main/java/com/example/demo/serviceImpl/UserServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/UserServiceImpl.java @@ -81,7 +81,7 @@ public class UserServiceImpl implements UserService { 每小时更新用户首充时间 */ @Override - @Scheduled(cron = "0 0 0 * * ?") +// @Scheduled(cron = "0 0 0 * * ?") public void updateFirstRecharge() { List jwcodeList = userMapper.getAllJwcode(); for(Integer jwcode : jwcodeList){ diff --git a/src/main/resources/mapper/MarketMapper.xml b/src/main/resources/mapper/MarketMapper.xml new file mode 100644 index 0000000..7a402b8 --- /dev/null +++ b/src/main/resources/mapper/MarketMapper.xml @@ -0,0 +1,7 @@ + + + + + \ No newline at end of file