mirror of
https://github.com/kirklin/kkmall.git
synced 2024-09-20 06:46:15 +08:00
项目微服务架设
This commit is contained in:
parent
6e006f172d
commit
f4a4abb50d
|
@ -16,6 +16,34 @@
|
|||
</content>
|
||||
<orderEntry type="jdk" jdkName="1.8" jdkType="JavaSDK" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
<orderEntry type="library" name="Maven: com.alibaba.cloud:spring-cloud-starter-alibaba-nacos-discovery:2021.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.alibaba.cloud:spring-cloud-alibaba-commons:2021.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.alibaba.nacos:nacos-client:1.4.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.alibaba.nacos:nacos-common:1.4.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.7" level="project" />
|
||||
<orderEntry type="library" name="Maven: commons-io:commons-io:2.2" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apache.httpcomponents:httpasyncclient:4.1.3" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apache.httpcomponents:httpcore-nio:4.4.6" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apache.httpcomponents:httpclient:4.5.3" level="project" />
|
||||
<orderEntry type="library" name="Maven: commons-logging:commons-logging:1.2" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.alibaba.nacos:nacos-api:1.4.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.google.guava:guava:24.1.1-jre" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.google.code.findbugs:jsr305:1.3.9" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.checkerframework:checker-compat-qual:2.0.0" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.google.errorprone:error_prone_annotations:2.1.3" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.google.j2objc:j2objc-annotations:1.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.codehaus.mojo:animal-sniffer-annotations:1.14" level="project" />
|
||||
<orderEntry type="library" name="Maven: commons-codec:commons-codec:1.11" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.10.4" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.10.4" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.10.4" level="project" />
|
||||
<orderEntry type="library" name="Maven: io.prometheus:simpleclient:0.5.0" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.yaml:snakeyaml:1.23" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.alibaba.spring:spring-context-support:1.0.10" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-commons:3.0.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework.security:spring-security-crypto:5.4.2" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-context:3.0.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.alibaba.cloud:spring-cloud-starter-alibaba-nacos-config:2021.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-boot-starter:3.4.3" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus:3.4.3" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-extension:3.4.3" level="project" />
|
||||
|
@ -40,9 +68,7 @@
|
|||
<orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-api:2.13.3" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.slf4j:jul-to-slf4j:1.7.30" level="project" />
|
||||
<orderEntry type="library" name="Maven: jakarta.annotation:jakarta.annotation-api:1.3.5" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.yaml:snakeyaml:1.27" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.zaxxer:HikariCP:3.4.5" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.25" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-jdbc:5.3.6" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-beans:5.3.6" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-tx:5.3.6" level="project" />
|
||||
|
|
|
@ -19,7 +19,31 @@
|
|||
<lombok.version>1.18.18</lombok.version>
|
||||
<javax.servlet.version>2.5</javax.servlet.version>
|
||||
</properties>
|
||||
|
||||
<dependencyManagement>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>com.alibaba.cloud</groupId>
|
||||
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
|
||||
<version>2021.1</version>
|
||||
<type>pom</type>
|
||||
<scope>import</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</dependencyManagement>
|
||||
|
||||
<dependencies>
|
||||
<!-- 服务注册/发现-->
|
||||
<dependency>
|
||||
<groupId>com.alibaba.cloud</groupId>
|
||||
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
|
||||
</dependency>
|
||||
<!-- 服务配置中心-->
|
||||
<dependency>
|
||||
<groupId>com.alibaba.cloud</groupId>
|
||||
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- Mybatis-Plus -->
|
||||
<dependency>
|
||||
<groupId>com.baomidou</groupId>
|
||||
|
|
|
@ -33,7 +33,10 @@
|
|||
<groupId>org.springframework.cloud</groupId>
|
||||
<artifactId>spring-cloud-starter-openfeign</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.springframework.cloud</groupId>
|
||||
<artifactId>spring-cloud-starter-loadbalancer</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-test</artifactId>
|
||||
|
|
|
@ -3,8 +3,10 @@ package name.lkk.kkmall.coupon;
|
|||
import org.mybatis.spring.annotation.MapperScan;
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
|
||||
|
||||
@SpringBootApplication
|
||||
@EnableDiscoveryClient
|
||||
@MapperScan("name.lkk.kkmall.coupon.dao")
|
||||
public class KkmallCouponApplication {
|
||||
|
||||
|
|
|
@ -30,6 +30,12 @@ public class CouponController {
|
|||
@Autowired
|
||||
private CouponService couponService;
|
||||
|
||||
@RequestMapping("/member/list")
|
||||
public R memberCoupons(){
|
||||
CouponEntity couponEntity = new CouponEntity();
|
||||
couponEntity.setCouponName("满100减10");
|
||||
return R.ok().put("coupons", Arrays.asList(couponEntity));
|
||||
}
|
||||
/**
|
||||
* 列表
|
||||
*/
|
||||
|
|
|
@ -5,6 +5,14 @@ spring:
|
|||
url: jdbc:mysql://localhost:3306/kkmall_sms?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
|
||||
username: root
|
||||
password: 66CcFf!!
|
||||
|
||||
cloud:
|
||||
nacos:
|
||||
discovery:
|
||||
server-addr: localhost:8848
|
||||
application:
|
||||
name: kkmall-coupon
|
||||
|
||||
mybatis-plus:
|
||||
mapper-locations: classpath:/mapper/**/*.xml
|
||||
global-config:
|
||||
|
|
65
kkmall-gateway/pom.xml
Normal file
65
kkmall-gateway/pom.xml
Normal file
|
@ -0,0 +1,65 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-parent</artifactId>
|
||||
<version>2.5.0</version>
|
||||
<relativePath/> <!-- lookup parent from repository -->
|
||||
</parent>
|
||||
<groupId>name.lkk.kkmall</groupId>
|
||||
<artifactId>kkmall-gateway</artifactId>
|
||||
<version>0.0.1-SNAPSHOT</version>
|
||||
<name>kkmall-gateway</name>
|
||||
<description>API 网关</description>
|
||||
<properties>
|
||||
<java.version>1.8</java.version>
|
||||
<spring-cloud.version>2020.0.3</spring-cloud.version>
|
||||
</properties>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>name.lkk.kkmall</groupId>
|
||||
<artifactId>kkmall-common</artifactId>
|
||||
<version>0.0.1-SNAPSHOT</version>
|
||||
<exclusions>
|
||||
<!-- 排除 Mybatis-Plus -->
|
||||
<exclusion>
|
||||
<groupId>com.baomidou</groupId>
|
||||
<artifactId>mybatis-plus-boot-starter</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.cloud</groupId>
|
||||
<artifactId>spring-cloud-starter-gateway</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-test</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<dependencyManagement>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.springframework.cloud</groupId>
|
||||
<artifactId>spring-cloud-dependencies</artifactId>
|
||||
<version>${spring-cloud.version}</version>
|
||||
<type>pom</type>
|
||||
<scope>import</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</dependencyManagement>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-maven-plugin</artifactId>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
</project>
|
|
@ -0,0 +1,16 @@
|
|||
package name.lkk.kkmall.gateway;
|
||||
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
|
||||
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
|
||||
|
||||
@EnableDiscoveryClient
|
||||
@SpringBootApplication
|
||||
public class KkmallGatewayApplication {
|
||||
|
||||
public static void main(String[] args) {
|
||||
SpringApplication.run(KkmallGatewayApplication.class, args);
|
||||
}
|
||||
|
||||
}
|
21
kkmall-gateway/src/main/resources/application.yml
Normal file
21
kkmall-gateway/src/main/resources/application.yml
Normal file
|
@ -0,0 +1,21 @@
|
|||
spring:
|
||||
cloud:
|
||||
nacos:
|
||||
discovery:
|
||||
server-addr: localhost:8848
|
||||
gateway:
|
||||
routes:
|
||||
- id: test_route
|
||||
uri: http://www.baidu.com
|
||||
predicates:
|
||||
- Query=url,baidu
|
||||
|
||||
- id: qq_route
|
||||
uri: http://www.qq.com
|
||||
predicates:
|
||||
- Query=url,qq
|
||||
|
||||
application:
|
||||
name: kkmall-gateway
|
||||
server:
|
||||
port: 88
|
8
kkmall-gateway/src/main/resources/bootstrap.yml
Normal file
8
kkmall-gateway/src/main/resources/bootstrap.yml
Normal file
|
@ -0,0 +1,8 @@
|
|||
spring:
|
||||
application:
|
||||
name: kkmall-gateway
|
||||
cloud:
|
||||
nacos:
|
||||
config:
|
||||
server-addr: localhost:8848
|
||||
namespace: 1491b51d-35bb-4278-8760-80cdbd28eb31
|
|
@ -0,0 +1,13 @@
|
|||
package name.lkk.kkmall.gateway;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
|
||||
@SpringBootTest
|
||||
class KkmallGatewayApplicationTests {
|
||||
|
||||
@Test
|
||||
void contextLoads() {
|
||||
}
|
||||
|
||||
}
|
|
@ -29,10 +29,15 @@
|
|||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-web</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.springframework.cloud</groupId>
|
||||
<artifactId>spring-cloud-starter-openfeign</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.cloud</groupId>
|
||||
<artifactId>spring-cloud-starter-loadbalancer</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
|
|
|
@ -3,8 +3,12 @@ package name.lkk.kkmall.member;
|
|||
import org.mybatis.spring.annotation.MapperScan;
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
|
||||
import org.springframework.cloud.openfeign.EnableFeignClients;
|
||||
|
||||
@SpringBootApplication
|
||||
@EnableDiscoveryClient
|
||||
@EnableFeignClients(basePackages = "name.lkk.kkmall.member.feign")
|
||||
@MapperScan("name.lkk.kkmall.member.dao")
|
||||
public class KkmallMemberApplication {
|
||||
|
||||
|
|
|
@ -3,6 +3,7 @@ package name.lkk.kkmall.member.controller;
|
|||
import java.util.Arrays;
|
||||
import java.util.Map;
|
||||
|
||||
import name.lkk.kkmall.member.feign.CouponFeignService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
|
@ -15,6 +16,7 @@ import name.lkk.kkmall.member.service.MemberService;
|
|||
import name.lkk.common.utils.PageUtils;
|
||||
import name.lkk.common.utils.R;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
|
||||
/**
|
||||
|
@ -30,6 +32,19 @@ public class MemberController {
|
|||
@Autowired
|
||||
private MemberService memberService;
|
||||
|
||||
@Autowired
|
||||
private CouponFeignService couponFeignService;
|
||||
|
||||
@RequestMapping("/coupons")
|
||||
public R test(){
|
||||
MemberEntity memberEntity = new MemberEntity();
|
||||
memberEntity.setNickname("fireNay");
|
||||
// 远程调用
|
||||
System.out.println(couponFeignService);
|
||||
R memberCoupons = couponFeignService.memberCoupons();
|
||||
return R.ok().put("member", memberEntity).put("coupons", memberCoupons.get("coupons"));
|
||||
}
|
||||
|
||||
/**
|
||||
* 列表
|
||||
*/
|
||||
|
|
|
@ -0,0 +1,18 @@
|
|||
package name.lkk.kkmall.member.feign;
|
||||
|
||||
import name.lkk.common.utils.R;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
|
||||
/**
|
||||
* @author: kirklin
|
||||
* @date: 2021/6/7 9:02 下午
|
||||
* @description:
|
||||
*/
|
||||
@FeignClient("kkmall-coupon")
|
||||
public interface CouponFeignService {
|
||||
|
||||
@RequestMapping("/coupon/coupon/member/list")
|
||||
public R memberCoupons();
|
||||
|
||||
}
|
|
@ -5,6 +5,14 @@ spring:
|
|||
url: jdbc:mysql://localhost:3306/kkmall_ums?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
|
||||
username: root
|
||||
password: 66CcFf!!
|
||||
|
||||
cloud:
|
||||
nacos:
|
||||
discovery:
|
||||
server-addr: localhost:8848
|
||||
application:
|
||||
name: kkmall-member
|
||||
|
||||
mybatis-plus:
|
||||
mapper-locations: classpath:/mapper/**/*.xml
|
||||
global-config:
|
||||
|
|
|
@ -29,10 +29,15 @@
|
|||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-web</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.springframework.cloud</groupId>
|
||||
<artifactId>spring-cloud-starter-openfeign</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.cloud</groupId>
|
||||
<artifactId>spring-cloud-starter-loadbalancer</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
|
|
|
@ -3,8 +3,10 @@ package name.lkk.kkmall.order;
|
|||
import org.mybatis.spring.annotation.MapperScan;
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
|
||||
|
||||
@SpringBootApplication
|
||||
@EnableDiscoveryClient
|
||||
@MapperScan("name.lkk.kkmall.order.dao")
|
||||
public class KkmallOrderApplication {
|
||||
|
||||
|
|
|
@ -5,6 +5,14 @@ spring:
|
|||
url: jdbc:mysql://localhost:3306/kkmall_oms?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
|
||||
username: root
|
||||
password: 66CcFf!!
|
||||
|
||||
cloud:
|
||||
nacos:
|
||||
discovery:
|
||||
server-addr: localhost:8848
|
||||
application:
|
||||
name: kkmall-order
|
||||
|
||||
mybatis-plus:
|
||||
mapper-locations: classpath:/mapper/**/*.xml
|
||||
global-config:
|
||||
|
|
|
@ -29,10 +29,15 @@
|
|||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-web</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.springframework.cloud</groupId>
|
||||
<artifactId>spring-cloud-starter-openfeign</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.cloud</groupId>
|
||||
<artifactId>spring-cloud-starter-loadbalancer</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
|
|
|
@ -3,6 +3,7 @@ package name.lkk.kkmall.product;
|
|||
import org.mybatis.spring.annotation.MapperScan;
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
|
||||
|
||||
/**
|
||||
* @author: kirklin
|
||||
|
@ -11,6 +12,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
|
|||
*/
|
||||
@MapperScan("name.lkk.kkmall.product.dao")
|
||||
@SpringBootApplication
|
||||
@EnableDiscoveryClient
|
||||
public class KkmallProductApplication {
|
||||
|
||||
public static void main(String[] args) {
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
package name.lkk.kkmall.product.controller;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
@ -31,16 +32,25 @@ public class CategoryController {
|
|||
private CategoryService categoryService;
|
||||
|
||||
/**
|
||||
* 列表
|
||||
* 树形列表
|
||||
*/
|
||||
@RequestMapping("/list")
|
||||
//@RequiresPermissions("product:category:list")
|
||||
public R list(@RequestParam Map<String, Object> params){
|
||||
PageUtils page = categoryService.queryPage(params);
|
||||
|
||||
return R.ok().put("page", page);
|
||||
@RequestMapping("/list/tree")
|
||||
public R list(){
|
||||
List<CategoryEntity> entities = categoryService.listWithTree();
|
||||
return R.ok().put("page", entities);
|
||||
}
|
||||
|
||||
// /**
|
||||
// * 列表
|
||||
// */
|
||||
// @RequestMapping("/list")
|
||||
// //@RequiresPermissions("product:category:list")
|
||||
// public R list(@RequestParam Map<String, Object> params){
|
||||
// PageUtils page = categoryService.queryPage(params);
|
||||
//
|
||||
// return R.ok().put("page", page);
|
||||
// }
|
||||
|
||||
|
||||
/**
|
||||
* 信息
|
||||
|
|
|
@ -1,10 +1,13 @@
|
|||
package name.lkk.kkmall.product.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
|
@ -56,5 +59,10 @@ public class CategoryEntity implements Serializable {
|
|||
* 商品数量
|
||||
*/
|
||||
private Integer productCount;
|
||||
/**
|
||||
* 商品子分类
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private List<CategoryEntity> children;
|
||||
|
||||
}
|
||||
|
|
|
@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
|
|||
import name.lkk.common.utils.PageUtils;
|
||||
import name.lkk.kkmall.product.entity.CategoryEntity;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
|
@ -16,5 +17,20 @@ import java.util.Map;
|
|||
public interface CategoryService extends IService<CategoryEntity> {
|
||||
|
||||
PageUtils queryPage(Map<String, Object> params);
|
||||
|
||||
/**
|
||||
* 查出所有分类 以及子分类,以树形结构组装起来
|
||||
* @return
|
||||
*/
|
||||
List<CategoryEntity> listWithTree();
|
||||
|
||||
|
||||
/**
|
||||
* 递归找所有的子菜单、中途要排序
|
||||
* @param root
|
||||
* @param all
|
||||
* @return
|
||||
*/
|
||||
List<CategoryEntity> getChildrens(CategoryEntity root, List<CategoryEntity> all);
|
||||
}
|
||||
|
||||
|
|
|
@ -1,7 +1,12 @@
|
|||
package name.lkk.kkmall.product.service.impl;
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
|
@ -26,4 +31,40 @@ public class CategoryServiceImpl extends ServiceImpl<CategoryDao, CategoryEntity
|
|||
return new PageUtils(page);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查出所有分类 以及子分类,以树形结构组装起来
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public List<CategoryEntity> listWithTree() {
|
||||
List<CategoryEntity> entities = baseMapper.selectList(null);
|
||||
// 筛选出所有一级分类
|
||||
List<CategoryEntity> level1Menus = entities.stream().
|
||||
filter((categoryEntity) -> categoryEntity.getParentCid() == 0)
|
||||
.map((menu) -> {
|
||||
menu.setChildren(getChildrens(menu, entities));
|
||||
return menu;
|
||||
}).sorted(Comparator.comparingInt(menu -> (menu.getSort() == null ? 0 : menu.getSort())))
|
||||
.collect(Collectors.toList());
|
||||
|
||||
return level1Menus;
|
||||
}
|
||||
|
||||
/**
|
||||
* 递归找所有的子菜单、中途要排序
|
||||
* @param root
|
||||
* @param all
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public List<CategoryEntity> getChildrens(CategoryEntity root, List<CategoryEntity> all){
|
||||
List<CategoryEntity> children = all.stream().filter(categoryEntity ->
|
||||
categoryEntity.getParentCid() == root.getCatId()
|
||||
).map(categoryEntity -> {
|
||||
categoryEntity.setChildren(getChildrens(categoryEntity, all));
|
||||
return categoryEntity;
|
||||
}).sorted(Comparator.comparingInt(menu -> (menu.getSort() == null ? 0 : menu.getSort()))).collect(Collectors.toList());
|
||||
return children;
|
||||
}
|
||||
|
||||
}
|
|
@ -5,6 +5,14 @@ spring:
|
|||
url: jdbc:mysql://localhost:3306/kkmall_pms?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
|
||||
username: root
|
||||
password: 66CcFf!!
|
||||
|
||||
cloud:
|
||||
nacos:
|
||||
discovery:
|
||||
server-addr: localhost:8848
|
||||
application:
|
||||
name: kkmall-product
|
||||
|
||||
mybatis-plus:
|
||||
mapper-locations: classpath:/mapper/**/*.xml
|
||||
global-config:
|
||||
|
|
|
@ -29,10 +29,15 @@
|
|||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-web</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.springframework.cloud</groupId>
|
||||
<artifactId>spring-cloud-starter-openfeign</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.cloud</groupId>
|
||||
<artifactId>spring-cloud-starter-loadbalancer</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
|
|
|
@ -3,8 +3,10 @@ package name.lkk.kkmall.ware;
|
|||
import org.mybatis.spring.annotation.MapperScan;
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
|
||||
|
||||
@SpringBootApplication
|
||||
@EnableDiscoveryClient
|
||||
@MapperScan("name.lkk.kkmall.ware.dao")
|
||||
public class KkmallWareApplication {
|
||||
|
||||
|
|
|
@ -5,6 +5,14 @@ spring:
|
|||
url: jdbc:mysql://localhost:3306/kkmall_wms?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
|
||||
username: root
|
||||
password: 66CcFf!!
|
||||
|
||||
cloud:
|
||||
nacos:
|
||||
discovery:
|
||||
server-addr: localhost:8848
|
||||
application:
|
||||
name: kkmall-ware
|
||||
|
||||
mybatis-plus:
|
||||
mapper-locations: classpath:/mapper/**/*.xml
|
||||
global-config:
|
||||
|
|
13
renren-fast-vue/src/views/modules/product/category.vue
Normal file
13
renren-fast-vue/src/views/modules/product/category.vue
Normal file
|
@ -0,0 +1,13 @@
|
|||
<template>
|
||||
<h1>Hello </h1>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "category"
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
|
@ -5,7 +5,7 @@
|
|||
window.SITE_CONFIG = {};
|
||||
|
||||
// api接口请求地址
|
||||
window.SITE_CONFIG['baseUrl'] = 'http://localhost:8080/renren-fast';
|
||||
window.SITE_CONFIG['baseUrl'] = 'http://localhost:88';
|
||||
|
||||
// cdn地址 = 域名 + 版本号
|
||||
window.SITE_CONFIG['domain'] = './'; // 域名
|
||||
|
|
|
@ -11,15 +11,16 @@
|
|||
<parent>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-parent</artifactId>
|
||||
<version>2.2.4.RELEASE</version>
|
||||
<version>2.5.0</version>
|
||||
</parent>
|
||||
|
||||
<properties>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
|
||||
<java.version>1.8</java.version>
|
||||
<spring-cloud.version>2020.0.3</spring-cloud.version>
|
||||
<mybatisplus.version>3.3.1</mybatisplus.version>
|
||||
<mysql.version>8.0.17</mysql.version>
|
||||
<mysql.version>8.0.23</mysql.version>
|
||||
<mssql.version>4.0</mssql.version>
|
||||
<oracle.version>11.2.0.3</oracle.version>
|
||||
<druid.version>1.1.13</druid.version>
|
||||
|
@ -40,7 +41,7 @@
|
|||
<gson.version>2.8.5</gson.version>
|
||||
<fastjson.version>1.2.72</fastjson.version>
|
||||
<hutool.version>4.1.1</hutool.version>
|
||||
<lombok.version>1.18.4</lombok.version>
|
||||
<lombok.version>1.18.18</lombok.version>
|
||||
|
||||
<!--wagon plugin 配置-->
|
||||
<service-path>/work/renren</service-path>
|
||||
|
@ -49,8 +50,29 @@
|
|||
<remote-username>root</remote-username>
|
||||
<remote-passwd>123456</remote-passwd>
|
||||
</properties>
|
||||
|
||||
<dependencyManagement>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.springframework.cloud</groupId>
|
||||
<artifactId>spring-cloud-dependencies</artifactId>
|
||||
<version>${spring-cloud.version}</version>
|
||||
<type>pom</type>
|
||||
<scope>import</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</dependencyManagement>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>name.lkk.kkmall</groupId>
|
||||
<artifactId>kkmall-common</artifactId>
|
||||
<version>0.0.1-SNAPSHOT</version>
|
||||
</dependency>
|
||||
<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-validation -->
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-validation</artifactId>
|
||||
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-test</artifactId>
|
||||
|
|
|
@ -10,9 +10,11 @@ package io.renren;
|
|||
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
|
||||
|
||||
|
||||
@SpringBootApplication
|
||||
@EnableDiscoveryClient
|
||||
public class RenrenApplication {
|
||||
|
||||
public static void main(String[] args) {
|
||||
|
|
|
@ -39,7 +39,12 @@ spring:
|
|||
throw-exception-if-no-handler-found: true
|
||||
# resources:
|
||||
# add-mappings: false
|
||||
|
||||
cloud:
|
||||
nacos:
|
||||
discovery:
|
||||
server-addr: localhost:8848
|
||||
application:
|
||||
name: kkmall-admin
|
||||
|
||||
#mybatis
|
||||
mybatis-plus:
|
||||
|
|
Loading…
Reference in a new issue