h 1 Minggu lalu
melakukan
31788640da
100 mengubah file dengan 1721 tambahan dan 0 penghapusan
  1. 35 0
      common/pom.xml
  2. 12 0
      common/src/main/java/com/zt/dto/CouponDto.java
  3. 9 0
      common/src/main/java/com/zt/dto/LoginDto.java
  4. 11 0
      common/src/main/java/com/zt/dto/OrderInfoDto.java
  5. 9 0
      common/src/main/java/com/zt/dto/OrderItemDto.java
  6. 22 0
      common/src/main/java/com/zt/enums/CodeEnums.java
  7. 46 0
      common/src/main/java/com/zt/pojo/Coupon.java
  8. 35 0
      common/src/main/java/com/zt/pojo/CouponUser.java
  9. 41 0
      common/src/main/java/com/zt/pojo/GoodsSku.java
  10. 72 0
      common/src/main/java/com/zt/pojo/OrderInfo.java
  11. 61 0
      common/src/main/java/com/zt/pojo/OrderItem.java
  12. 50 0
      common/src/main/java/com/zt/pojo/UserLogin.java
  13. 125 0
      common/src/main/java/com/zt/utils/AppJwtUtil.java
  14. 30 0
      common/src/main/java/com/zt/vo/Result.java
  15. TEMPAT SAMPAH
      common/target/classes/com/zt/dto/CouponDto.class
  16. TEMPAT SAMPAH
      common/target/classes/com/zt/dto/LoginDto.class
  17. TEMPAT SAMPAH
      common/target/classes/com/zt/dto/OrderInfoDto.class
  18. TEMPAT SAMPAH
      common/target/classes/com/zt/dto/OrderItemDto.class
  19. TEMPAT SAMPAH
      common/target/classes/com/zt/enums/CodeEnums.class
  20. TEMPAT SAMPAH
      common/target/classes/com/zt/pojo/Coupon.class
  21. TEMPAT SAMPAH
      common/target/classes/com/zt/pojo/CouponUser.class
  22. TEMPAT SAMPAH
      common/target/classes/com/zt/pojo/GoodsSku.class
  23. TEMPAT SAMPAH
      common/target/classes/com/zt/pojo/OrderInfo.class
  24. TEMPAT SAMPAH
      common/target/classes/com/zt/pojo/OrderItem.class
  25. TEMPAT SAMPAH
      common/target/classes/com/zt/pojo/UserLogin.class
  26. TEMPAT SAMPAH
      common/target/classes/com/zt/utils/AppJwtUtil.class
  27. TEMPAT SAMPAH
      common/target/classes/com/zt/vo/Result.class
  28. 51 0
      coupon/pom.xml
  29. 16 0
      coupon/src/main/java/com/zt/CouponApplication.java
  30. 22 0
      coupon/src/main/java/com/zt/controller/CouponController.java
  31. 18 0
      coupon/src/main/java/com/zt/mapper/CouponMapper.java
  32. 17 0
      coupon/src/main/java/com/zt/service/CouponService.java
  33. 34 0
      coupon/src/main/java/com/zt/service/impl/CouponServiceImpl.java
  34. 14 0
      coupon/src/main/resources/bootstrap.yml
  35. 19 0
      coupon/src/main/resources/mapper/CouponMapper.xml
  36. 14 0
      coupon/target/classes/bootstrap.yml
  37. TEMPAT SAMPAH
      coupon/target/classes/com/zt/CouponApplication.class
  38. TEMPAT SAMPAH
      coupon/target/classes/com/zt/controller/CouponController.class
  39. TEMPAT SAMPAH
      coupon/target/classes/com/zt/mapper/CouponMapper.class
  40. TEMPAT SAMPAH
      coupon/target/classes/com/zt/pojo/Coupon.class
  41. TEMPAT SAMPAH
      coupon/target/classes/com/zt/service/CouponService.class
  42. TEMPAT SAMPAH
      coupon/target/classes/com/zt/service/impl/CouponServiceImpl.class
  43. 19 0
      coupon/target/classes/mapper/CouponMapper.xml
  44. 30 0
      feign/pom.xml
  45. 12 0
      feign/src/main/java/feign/GoodsFeign.java
  46. TEMPAT SAMPAH
      feign/target/classes/feign/GoodsFeign.class
  47. 51 0
      goodsSku/pom.xml
  48. 18 0
      goodsSku/src/main/java/com/zt/GoodsApplication.java
  49. 18 0
      goodsSku/src/main/java/com/zt/mapper/GoodsSkuMapper.java
  50. 13 0
      goodsSku/src/main/java/com/zt/service/GoodsSkuService.java
  51. 22 0
      goodsSku/src/main/java/com/zt/service/impl/GoodsSkuServiceImpl.java
  52. 14 0
      goodsSku/src/main/resources/bootstrap.yml
  53. 18 0
      goodsSku/src/main/resources/mapper/GoodsSkuMapper.xml
  54. 14 0
      goodsSku/target/classes/bootstrap.yml
  55. TEMPAT SAMPAH
      goodsSku/target/classes/com/zt/GoodsApplication.class
  56. TEMPAT SAMPAH
      goodsSku/target/classes/com/zt/mapper/GoodsSkuMapper.class
  57. TEMPAT SAMPAH
      goodsSku/target/classes/com/zt/service/GoodsSkuService.class
  58. TEMPAT SAMPAH
      goodsSku/target/classes/com/zt/service/impl/GoodsSkuServiceImpl.class
  59. 18 0
      goodsSku/target/classes/mapper/GoodsSkuMapper.xml
  60. 56 0
      order/pom.xml
  61. 18 0
      order/src/main/java/com/zt/OrderApplication.java
  62. 22 0
      order/src/main/java/com/zt/controller/OrderController.java
  63. 18 0
      order/src/main/java/com/zt/mapper/CouponMapper.java
  64. 18 0
      order/src/main/java/com/zt/mapper/CouponUserMapper.java
  65. 18 0
      order/src/main/java/com/zt/mapper/GoodsSkuMapper.java
  66. 18 0
      order/src/main/java/com/zt/mapper/OrderInfoMapper.java
  67. 18 0
      order/src/main/java/com/zt/mapper/OrderItemMapper.java
  68. 72 0
      order/src/main/java/com/zt/pojo/OrderInfo.java
  69. 61 0
      order/src/main/java/com/zt/pojo/OrderItem.java
  70. 17 0
      order/src/main/java/com/zt/service/CouponService.java
  71. 13 0
      order/src/main/java/com/zt/service/CouponUserService.java
  72. 13 0
      order/src/main/java/com/zt/service/GoodsSkuService.java
  73. 18 0
      order/src/main/java/com/zt/service/OrderInfoService.java
  74. 13 0
      order/src/main/java/com/zt/service/OrderItemService.java
  75. 34 0
      order/src/main/java/com/zt/service/impl/CouponServiceImpl.java
  76. 22 0
      order/src/main/java/com/zt/service/impl/CouponUserServiceImpl.java
  77. 22 0
      order/src/main/java/com/zt/service/impl/GoodsSkuServiceImpl.java
  78. 88 0
      order/src/main/java/com/zt/service/impl/OrderInfoServiceImpl.java
  79. 22 0
      order/src/main/java/com/zt/service/impl/OrderItemServiceImpl.java
  80. 14 0
      order/src/main/resources/bootstrap.yml
  81. 19 0
      order/src/main/resources/mapper/CouponMapper.xml
  82. 16 0
      order/src/main/resources/mapper/CouponUserMapper.xml
  83. 18 0
      order/src/main/resources/mapper/GoodsSkuMapper.xml
  84. 26 0
      order/src/main/resources/mapper/OrderInfoMapper.xml
  85. 23 0
      order/src/main/resources/mapper/OrderItemMapper.xml
  86. 14 0
      order/target/classes/bootstrap.yml
  87. TEMPAT SAMPAH
      order/target/classes/com/zt/OrderApplication.class
  88. TEMPAT SAMPAH
      order/target/classes/com/zt/controller/OrderController.class
  89. TEMPAT SAMPAH
      order/target/classes/com/zt/mapper/CouponMapper.class
  90. TEMPAT SAMPAH
      order/target/classes/com/zt/mapper/CouponUserMapper.class
  91. TEMPAT SAMPAH
      order/target/classes/com/zt/mapper/GoodsSkuMapper.class
  92. TEMPAT SAMPAH
      order/target/classes/com/zt/mapper/OrderInfoMapper.class
  93. TEMPAT SAMPAH
      order/target/classes/com/zt/mapper/OrderItemMapper.class
  94. TEMPAT SAMPAH
      order/target/classes/com/zt/pojo/OrderInfo.class
  95. TEMPAT SAMPAH
      order/target/classes/com/zt/pojo/OrderItem.class
  96. TEMPAT SAMPAH
      order/target/classes/com/zt/service/CouponService.class
  97. TEMPAT SAMPAH
      order/target/classes/com/zt/service/CouponUserService.class
  98. TEMPAT SAMPAH
      order/target/classes/com/zt/service/GoodsSkuService.class
  99. TEMPAT SAMPAH
      order/target/classes/com/zt/service/OrderInfoService.class
  100. TEMPAT SAMPAH
      order/target/classes/com/zt/service/OrderItemService.class

+ 35 - 0
common/pom.xml

@@ -0,0 +1,35 @@
+<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>com.zt</groupId>
+        <artifactId>fengYiHanSale</artifactId>
+        <version>1.0-SNAPSHOT</version>
+    </parent>
+
+    <artifactId>common</artifactId>
+
+    <properties>
+        <maven.compiler.source>8</maven.compiler.source>
+        <maven.compiler.target>8</maven.compiler.target>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    </properties>
+    <dependencies>
+        <dependency>
+            <groupId>com.baomidou</groupId>
+            <artifactId>mybatis-plus-boot-starter</artifactId>
+            <version>3.5.3.1</version>
+        </dependency>
+        <dependency>
+            <groupId>org.projectlombok</groupId>
+            <artifactId>lombok</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>io.jsonwebtoken</groupId>
+            <artifactId>jjwt</artifactId>
+            <version>0.9.1</version>
+        </dependency>
+    </dependencies>
+</project>

+ 12 - 0
common/src/main/java/com/zt/dto/CouponDto.java

@@ -0,0 +1,12 @@
+package com.zt.dto;
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class CouponDto {
+    private String name;
+    private BigDecimal faceValue;
+    private Integer type;
+}

+ 9 - 0
common/src/main/java/com/zt/dto/LoginDto.java

@@ -0,0 +1,9 @@
+package com.zt.dto;
+
+import lombok.Data;
+
+@Data
+public class LoginDto {
+    private String username;
+    private String password;
+}

+ 11 - 0
common/src/main/java/com/zt/dto/OrderInfoDto.java

@@ -0,0 +1,11 @@
+package com.zt.dto;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class OrderInfoDto {
+    private Long couponId;
+    private List<OrderItemDto> orderItemDtoList;
+}

+ 9 - 0
common/src/main/java/com/zt/dto/OrderItemDto.java

@@ -0,0 +1,9 @@
+package com.zt.dto;
+
+import lombok.Data;
+
+@Data
+public class OrderItemDto {
+    private Long goodsId;
+    private Integer num;
+}

+ 22 - 0
common/src/main/java/com/zt/enums/CodeEnums.java

@@ -0,0 +1,22 @@
+package com.zt.enums;
+
+public enum CodeEnums {
+    EXECUTION_SUCCESSFUL(200, "操作成功"),
+    WRONG_USERNAME_OR_PASSWORD(401, "用户名或密码错误"),
+    EXECUTION_FAILED(400,"操作失败");
+    private int code;
+    private String msg;
+
+    CodeEnums(int code, String msg) {
+        this.code = code;
+        this.msg = msg;
+    }
+
+    public int getCode() {
+        return code;
+    }
+
+    public String getMsg() {
+        return msg;
+    }
+}

+ 46 - 0
common/src/main/java/com/zt/pojo/Coupon.java

@@ -0,0 +1,46 @@
+package com.zt.pojo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import lombok.Data;
+
+/**
+ * 
+ * @TableName coupon
+ */
+@TableName(value ="coupon")
+@Data
+public class Coupon implements Serializable {
+    /**
+     * 雪花id
+     */
+    @TableId
+    private Long id;
+
+    /**
+     * 优惠券名称
+     */
+    private String name;
+
+    /**
+     * 面值
+     */
+    private BigDecimal faceValue;
+
+    /**
+     * 条件
+     */
+    private BigDecimal terms;
+
+    /**
+     * 类型0通用1商品2类型
+     */
+    private Integer type;
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+}

+ 35 - 0
common/src/main/java/com/zt/pojo/CouponUser.java

@@ -0,0 +1,35 @@
+package com.zt.pojo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import lombok.Data;
+
+/**
+ * 
+ * @TableName coupon_user
+ */
+@TableName(value ="coupon_user")
+@Data
+public class CouponUser implements Serializable {
+    /**
+     * 雪花id
+     */
+    @TableId
+    private Long id;
+
+    /**
+     * 用户id
+     */
+    private Long userId;
+
+    /**
+     * 优惠券id
+     */
+    private Long couponId;
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+}

+ 41 - 0
common/src/main/java/com/zt/pojo/GoodsSku.java

@@ -0,0 +1,41 @@
+package com.zt.pojo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import lombok.Data;
+
+/**
+ * 
+ * @TableName goods_sku
+ */
+@TableName(value ="goods_sku")
+@Data
+public class GoodsSku implements Serializable {
+    /**
+     * 雪花id
+     */
+    @TableId
+    private Long skuId;
+
+    /**
+     * 商品id
+     */
+    private Long goodsId;
+
+    /**
+     * 售价
+     */
+    private BigDecimal price;
+
+    /**
+     * 
+     */
+    private String name;
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+}

+ 72 - 0
common/src/main/java/com/zt/pojo/OrderInfo.java

@@ -0,0 +1,72 @@
+package com.zt.pojo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+import lombok.Data;
+
+/**
+ * 
+ * @TableName order_info
+ */
+@TableName(value ="order_info")
+@Data
+public class OrderInfo implements Serializable {
+    /**
+     * 雪花id
+     */
+    @TableId
+    private Long id;
+
+    /**
+     * 用户id
+     */
+    private Long userId;
+
+    /**
+     * 总价
+     */
+    private BigDecimal totalPrice;
+
+    /**
+     * 实付金额
+     */
+    private BigDecimal realPrice;
+
+    /**
+     * 优惠金额
+     */
+    private BigDecimal preferentialPrice;
+
+    /**
+     * 订单状态0带发货1未支付1待发货2待收货3完成订单
+     */
+    private Integer orderState;
+
+    /**
+     * 支付标识0未支付1已支付2退款
+     */
+    private Integer paymentState;
+
+    /**
+     * 订单时间
+     */
+    private Date orderTime;
+
+    /**
+     * 支付时间
+     */
+    private Date paymentTime;
+
+    /**
+     * 优惠券id
+     */
+    private Integer couponId;
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+}

+ 61 - 0
common/src/main/java/com/zt/pojo/OrderItem.java

@@ -0,0 +1,61 @@
+package com.zt.pojo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import lombok.Data;
+
+/**
+ * 
+ * @TableName order_item
+ */
+@TableName(value ="order_item")
+@Data
+public class OrderItem implements Serializable {
+    /**
+     * 雪花id
+     */
+    @TableId
+    private Long id;
+
+    /**
+     * 订单id
+     */
+    private Long orderId;
+
+    /**
+     * 商品id
+     */
+    private Long goodsId;
+
+    /**
+     * 数量
+     */
+    private Integer num;
+
+    /**
+     * 单价
+     */
+    private BigDecimal price;
+
+    /**
+     * 用户id
+     */
+    private Integer userId;
+
+    /**
+     * 小合计
+     */
+    private BigDecimal totalPrice;
+
+    /**
+     * 状态
+     */
+    private Integer state;
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+}

+ 50 - 0
common/src/main/java/com/zt/pojo/UserLogin.java

@@ -0,0 +1,50 @@
+package com.zt.pojo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import lombok.Data;
+
+/**
+ * 
+ * @TableName user_login
+ */
+@TableName(value ="user_login")
+@Data
+public class UserLogin implements Serializable {
+    /**
+     * 
+     */
+    @TableId
+    private Integer id;
+
+    /**
+     * 
+     */
+    private Integer poenid;
+
+    /**
+     * 
+     */
+    private Integer unionid;
+
+    /**
+     * 
+     */
+    private String sesseionkey;
+
+    /**
+     * 
+     */
+    private String username;
+
+    /**
+     * 
+     */
+    private String password;
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+}

+ 125 - 0
common/src/main/java/com/zt/utils/AppJwtUtil.java

@@ -0,0 +1,125 @@
+package com.zt.utils;
+
+import io.jsonwebtoken.*;
+
+import javax.crypto.SecretKey;
+import javax.crypto.spec.SecretKeySpec;
+import java.util.*;
+
+public class AppJwtUtil {
+
+    // TOKEN的有效期一天(S)
+    private static final int TOKEN_TIME_OUT = 3_600;
+    // 加密KEY
+    private static final String TOKEN_ENCRY_KEY = "MDk4ZjZiY2Q0NjIxZDM3M2NhZGU0ZTgzMjYyN2I0ZjY";
+    // 最小刷新间隔(S)
+    private static final int REFRESH_TIME = 300;
+
+    // 生产ID
+    public static String getToken(Long id){
+        Map<String, Object> claimMaps = new HashMap<>();
+        claimMaps.put("id",id);
+        long currentTime = System.currentTimeMillis();
+        return Jwts.builder()
+                .setId(UUID.randomUUID().toString())
+                .setIssuedAt(new Date(currentTime))  //签发时间
+                .setSubject("system")  //说明
+                .setIssuer("heima") //签发者信息
+                .setAudience("app")  //接收用户
+                .compressWith(CompressionCodecs.GZIP)  //数据压缩方式
+                .signWith(SignatureAlgorithm.HS512, generalKey()) //加密方式
+                .setExpiration(new Date(currentTime + TOKEN_TIME_OUT * 1000))  //过期时间戳
+                .addClaims(claimMaps) //cla信息
+                .compact();
+    }
+
+    /**
+     * 获取token中的claims信息
+     *
+     * @param token
+     * @return
+     */
+    private static Jws<Claims> getJws(String token) {
+            return Jwts.parser()
+                    .setSigningKey(generalKey())
+                    .parseClaimsJws(token);
+    }
+
+    /**
+     * 获取payload body信息
+     *
+     * @param token
+     * @return
+     */
+    public static Claims getClaimsBody(String token) {
+        try {
+            return getJws(token).getBody();
+        }catch (ExpiredJwtException e){
+            return null;
+        }
+    }
+
+    /**
+     * 获取hearder body信息
+     *
+     * @param token
+     * @return
+     */
+    public static JwsHeader getHeaderBody(String token) {
+        return getJws(token).getHeader();
+    }
+
+    /**
+     * 是否过期
+     *
+     * @param claims
+     * @return -1:有效,0:有效,1:过期,2:过期
+     */
+    public static int verifyToken(Claims claims) {
+        if(claims==null){
+            return 1;
+        }
+        try {
+            claims.getExpiration()
+                    .before(new Date());
+            // 需要自动刷新TOKEN
+            if((claims.getExpiration().getTime()-System.currentTimeMillis())>REFRESH_TIME*1000){
+                return -1;
+            }else {
+                return 0;
+            }
+        } catch (ExpiredJwtException ex) {
+            return 1;
+        }catch (Exception e){
+            return 2;
+        }
+    }
+
+    /**
+     * 由字符串生成加密key
+     *
+     * @return
+     */
+    public static SecretKey generalKey() {
+        byte[] encodedKey = Base64.getEncoder().encode(TOKEN_ENCRY_KEY.getBytes());
+        SecretKey key = new SecretKeySpec(encodedKey, 0, encodedKey.length, "AES");
+        return key;
+    }
+
+    public static void main(String[] args) {
+       /* Map map = new HashMap();
+        map.put("id","11");*/
+        System.out.println(AppJwtUtil.getToken(1102L));
+        Jws<Claims> jws = AppJwtUtil.getJws("eyJhbGciOiJIUzUxMiIsInppcCI6IkdaSVAifQ.H4sIAAAAAAAAAC2L0QqDMAwA_yXPFkw6a-LfxDawDoRCK2yM_bsR9nbHcV94jQobRGHKO-UwG1F4mEkQ1hJy4ZjKWjRyggmqDtgwIQuvssgE_dz97p8-7Lh7765Pq4e66VnctDVne7f_KbjcZ_WGONPvAsM25luDAAAA._HLSpxHpSl4KZbYtSx1xnyeaRpsJTQ5xz6wMfFehqUr5etW6pOhCuP4EdrhSBefJZ5evmfYcUAj_dbHkLVdxSQ");
+        Claims claims = jws.getBody();
+        int i = AppJwtUtil.verifyToken(claims);
+        System.out.println(i);
+        System.out.println(claims.get("id"));
+        /*Date date = new Date(20000000000000L);
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+        String format = sdf.format(date);
+        System.out.println(format);*/
+
+    }
+
+}

+ 30 - 0
common/src/main/java/com/zt/vo/Result.java

@@ -0,0 +1,30 @@
+package com.zt.vo;
+
+import com.zt.enums.CodeEnums;
+import lombok.Data;
+
+@Data
+public class Result {
+    private Integer code;
+    private String msg;
+    private Object data;
+    public static Result ok (CodeEnums codeEnums){
+        Result result = new Result();
+        result.setCode(codeEnums.getCode());
+        result.setMsg(codeEnums.getMsg());
+        return result;
+    }
+    public static Result ok (CodeEnums codeEnums,Object data){
+        Result result = new Result();
+        result.setCode(codeEnums.getCode());
+        result.setMsg(codeEnums.getMsg());
+        result.setData(data);
+        return result;
+    }
+    public static Result error (CodeEnums codeEnums){
+        Result result = new Result();
+        result.setCode(codeEnums.getCode());
+        result.setMsg(codeEnums.getMsg());
+        return result;
+    }
+}

TEMPAT SAMPAH
common/target/classes/com/zt/dto/CouponDto.class


TEMPAT SAMPAH
common/target/classes/com/zt/dto/LoginDto.class


TEMPAT SAMPAH
common/target/classes/com/zt/dto/OrderInfoDto.class


TEMPAT SAMPAH
common/target/classes/com/zt/dto/OrderItemDto.class


TEMPAT SAMPAH
common/target/classes/com/zt/enums/CodeEnums.class


TEMPAT SAMPAH
common/target/classes/com/zt/pojo/Coupon.class


TEMPAT SAMPAH
common/target/classes/com/zt/pojo/CouponUser.class


TEMPAT SAMPAH
common/target/classes/com/zt/pojo/GoodsSku.class


TEMPAT SAMPAH
common/target/classes/com/zt/pojo/OrderInfo.class


TEMPAT SAMPAH
common/target/classes/com/zt/pojo/OrderItem.class


TEMPAT SAMPAH
common/target/classes/com/zt/pojo/UserLogin.class


TEMPAT SAMPAH
common/target/classes/com/zt/utils/AppJwtUtil.class


TEMPAT SAMPAH
common/target/classes/com/zt/vo/Result.class


+ 51 - 0
coupon/pom.xml

@@ -0,0 +1,51 @@
+<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>com.zt</groupId>
+        <artifactId>fengYiHanSale</artifactId>
+        <version>1.0-SNAPSHOT</version>
+    </parent>
+
+    <artifactId>coupon</artifactId>
+
+    <properties>
+        <maven.compiler.source>8</maven.compiler.source>
+        <maven.compiler.target>8</maven.compiler.target>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    </properties>
+    <dependencies>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-web</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter</artifactId>
+        </dependency>
+        <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>
+        <dependency>
+            <groupId>org.springframework.cloud</groupId>
+            <artifactId>spring-cloud-starter-openfeign</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>mysql</groupId>
+            <artifactId>mysql-connector-java</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.zt</groupId>
+            <artifactId>common</artifactId>
+            <version>1.0-SNAPSHOT</version>
+        </dependency>
+    </dependencies>
+</project>

+ 16 - 0
coupon/src/main/java/com/zt/CouponApplication.java

@@ -0,0 +1,16 @@
+package com.zt;
+
+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
+@MapperScan("com.zt.mapper")
+@EnableDiscoveryClient
+public class CouponApplication {
+    public static void main(String[] args) {
+        SpringApplication.run(CouponApplication.class,args);
+    }
+}

+ 22 - 0
coupon/src/main/java/com/zt/controller/CouponController.java

@@ -0,0 +1,22 @@
+package com.zt.controller;
+
+import com.zt.dto.CouponDto;
+import com.zt.service.CouponService;
+import com.zt.vo.Result;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.HttpRequestHandler;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+
+@RestController
+@RequestMapping("coupon")
+public class CouponController {
+    @Autowired
+    private CouponService couponService;
+    @RequestMapping("add")
+    public Result add(@RequestBody CouponDto couponDto){
+        return couponService.add(couponDto);
+    }
+}

+ 18 - 0
coupon/src/main/java/com/zt/mapper/CouponMapper.java

@@ -0,0 +1,18 @@
+package com.zt.mapper;
+
+import com.zt.pojo.Coupon;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+* @author H
+* @description 针对表【coupon】的数据库操作Mapper
+* @createDate 2025-05-10 10:31:06
+* @Entity com.zt.pojo.Coupon
+*/
+public interface CouponMapper extends BaseMapper<Coupon> {
+
+}
+
+
+
+

+ 17 - 0
coupon/src/main/java/com/zt/service/CouponService.java

@@ -0,0 +1,17 @@
+package com.zt.service;
+
+import com.zt.dto.CouponDto;
+import com.zt.pojo.Coupon;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.zt.vo.Result;
+
+/**
+* @author H
+* @description 针对表【coupon】的数据库操作Service
+* @createDate 2025-05-10 10:31:06
+*/
+public interface CouponService extends IService<Coupon> {
+
+
+    Result add(CouponDto couponDto);
+}

+ 34 - 0
coupon/src/main/java/com/zt/service/impl/CouponServiceImpl.java

@@ -0,0 +1,34 @@
+package com.zt.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.zt.dto.CouponDto;
+import com.zt.enums.CodeEnums;
+import com.zt.pojo.Coupon;
+import com.zt.service.CouponService;
+import com.zt.mapper.CouponMapper;
+import com.zt.vo.Result;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+
+/**
+* @author H
+* @description 针对表【coupon】的数据库操作Service实现
+* @createDate 2025-05-10 10:31:06
+*/
+@Service
+public class CouponServiceImpl extends ServiceImpl<CouponMapper, Coupon>
+    implements CouponService{
+
+
+    @Override
+    public Result add(CouponDto couponDto) {
+        Coupon coupon = new Coupon();
+        BeanUtils.copyProperties(couponDto,coupon);
+        this.save(coupon);
+        return Result.ok(CodeEnums.EXECUTION_SUCCESSFUL);
+    }
+}
+
+
+
+

+ 14 - 0
coupon/src/main/resources/bootstrap.yml

@@ -0,0 +1,14 @@
+server:
+  port: 8085
+spring:
+  application:
+    name: coupon-service
+  cloud:
+    nacos:
+      discovery:
+        server-addr: localhost:8848
+  datasource:
+    driver-class-name: com.mysql.cj.jdbc.Driver
+    url: jdbc:mysql://127.0.0.1:3306/gaowuz1?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
+    username: root
+    password: root

+ 19 - 0
coupon/src/main/resources/mapper/CouponMapper.xml

@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.zt.mapper.CouponMapper">
+
+    <resultMap id="BaseResultMap" type="com.zt.pojo.Coupon">
+            <id property="id" column="id" jdbcType="BIGINT"/>
+            <result property="name" column="name" jdbcType="VARCHAR"/>
+            <result property="faceValue" column="face_value" jdbcType="DECIMAL"/>
+            <result property="terms" column="terms" jdbcType="DECIMAL"/>
+            <result property="type" column="type" jdbcType="INTEGER"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id,name,face_value,
+        terms,type
+    </sql>
+</mapper>

+ 14 - 0
coupon/target/classes/bootstrap.yml

@@ -0,0 +1,14 @@
+server:
+  port: 8085
+spring:
+  application:
+    name: coupon-service
+  cloud:
+    nacos:
+      discovery:
+        server-addr: localhost:8848
+  datasource:
+    driver-class-name: com.mysql.cj.jdbc.Driver
+    url: jdbc:mysql://127.0.0.1:3306/gaowuz1?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
+    username: root
+    password: root

TEMPAT SAMPAH
coupon/target/classes/com/zt/CouponApplication.class


TEMPAT SAMPAH
coupon/target/classes/com/zt/controller/CouponController.class


TEMPAT SAMPAH
coupon/target/classes/com/zt/mapper/CouponMapper.class


TEMPAT SAMPAH
coupon/target/classes/com/zt/pojo/Coupon.class


TEMPAT SAMPAH
coupon/target/classes/com/zt/service/CouponService.class


TEMPAT SAMPAH
coupon/target/classes/com/zt/service/impl/CouponServiceImpl.class


+ 19 - 0
coupon/target/classes/mapper/CouponMapper.xml

@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.zt.mapper.CouponMapper">
+
+    <resultMap id="BaseResultMap" type="com.zt.pojo.Coupon">
+            <id property="id" column="id" jdbcType="BIGINT"/>
+            <result property="name" column="name" jdbcType="VARCHAR"/>
+            <result property="faceValue" column="face_value" jdbcType="DECIMAL"/>
+            <result property="terms" column="terms" jdbcType="DECIMAL"/>
+            <result property="type" column="type" jdbcType="INTEGER"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id,name,face_value,
+        terms,type
+    </sql>
+</mapper>

+ 30 - 0
feign/pom.xml

@@ -0,0 +1,30 @@
+<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>com.zt</groupId>
+        <artifactId>fengYiHanSale</artifactId>
+        <version>1.0-SNAPSHOT</version>
+    </parent>
+
+    <artifactId>feign</artifactId>
+
+    <properties>
+        <maven.compiler.source>8</maven.compiler.source>
+        <maven.compiler.target>8</maven.compiler.target>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    </properties>
+    <dependencies>
+        <dependency>
+            <groupId>com.zt</groupId>
+            <artifactId>common</artifactId>
+            <version>1.0-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.cloud</groupId>
+            <artifactId>spring-cloud-starter-openfeign</artifactId>
+        </dependency>
+    </dependencies>
+</project>

+ 12 - 0
feign/src/main/java/feign/GoodsFeign.java

@@ -0,0 +1,12 @@
+package feign;
+
+import com.zt.pojo.GoodsSku;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+
+@FeignClient(name = "goods-service")
+public interface GoodsFeign {
+    @RequestMapping("goods/selby")
+    public GoodsSku selby(@RequestParam("id") Integer id);
+}

TEMPAT SAMPAH
feign/target/classes/feign/GoodsFeign.class


+ 51 - 0
goodsSku/pom.xml

@@ -0,0 +1,51 @@
+<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>com.zt</groupId>
+        <artifactId>fengYiHanSale</artifactId>
+        <version>1.0-SNAPSHOT</version>
+    </parent>
+
+    <artifactId>goodsSku</artifactId>
+
+    <properties>
+        <maven.compiler.source>8</maven.compiler.source>
+        <maven.compiler.target>8</maven.compiler.target>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    </properties>
+    <dependencies>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-web</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter</artifactId>
+        </dependency>
+        <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>
+        <dependency>
+            <groupId>org.springframework.cloud</groupId>
+            <artifactId>spring-cloud-starter-openfeign</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>mysql</groupId>
+            <artifactId>mysql-connector-java</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.zt</groupId>
+            <artifactId>common</artifactId>
+            <version>1.0-SNAPSHOT</version>
+        </dependency>
+    </dependencies>
+</project>

+ 18 - 0
goodsSku/src/main/java/com/zt/GoodsApplication.java

@@ -0,0 +1,18 @@
+package com.zt;
+
+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
+@MapperScan("com.zt.mapper")
+@EnableDiscoveryClient
+@EnableFeignClients
+public class GoodsApplication {
+    public static void main(String[] args) {
+        SpringApplication.run(GoodsApplication.class,args);
+    }
+}

+ 18 - 0
goodsSku/src/main/java/com/zt/mapper/GoodsSkuMapper.java

@@ -0,0 +1,18 @@
+package com.zt.mapper;
+
+import com.zt.pojo.GoodsSku;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+* @author H
+* @description 针对表【goods_sku】的数据库操作Mapper
+* @createDate 2025-05-10 09:56:25
+* @Entity com.zt.pojo.GoodsSku
+*/
+public interface GoodsSkuMapper extends BaseMapper<GoodsSku> {
+
+}
+
+
+
+

+ 13 - 0
goodsSku/src/main/java/com/zt/service/GoodsSkuService.java

@@ -0,0 +1,13 @@
+package com.zt.service;
+
+import com.zt.pojo.GoodsSku;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+* @author H
+* @description 针对表【goods_sku】的数据库操作Service
+* @createDate 2025-05-10 09:56:25
+*/
+public interface GoodsSkuService extends IService<GoodsSku> {
+
+}

+ 22 - 0
goodsSku/src/main/java/com/zt/service/impl/GoodsSkuServiceImpl.java

@@ -0,0 +1,22 @@
+package com.zt.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.zt.pojo.GoodsSku;
+import com.zt.service.GoodsSkuService;
+import com.zt.mapper.GoodsSkuMapper;
+import org.springframework.stereotype.Service;
+
+/**
+* @author H
+* @description 针对表【goods_sku】的数据库操作Service实现
+* @createDate 2025-05-10 09:56:25
+*/
+@Service
+public class GoodsSkuServiceImpl extends ServiceImpl<GoodsSkuMapper, GoodsSku>
+    implements GoodsSkuService{
+
+}
+
+
+
+

+ 14 - 0
goodsSku/src/main/resources/bootstrap.yml

@@ -0,0 +1,14 @@
+server:
+  port: 8082
+spring:
+  application:
+    name: goods-service
+  cloud:
+    nacos:
+      discovery:
+        server-addr: localhost:8848
+  datasource:
+    driver-class-name: com.mysql.cj.jdbc.Driver
+    url: jdbc:mysql://127.0.0.1:3306/gaowuz1?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
+    username: root
+    password: root

+ 18 - 0
goodsSku/src/main/resources/mapper/GoodsSkuMapper.xml

@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.zt.mapper.GoodsSkuMapper">
+
+    <resultMap id="BaseResultMap" type="com.zt.pojo.GoodsSku">
+            <id property="skuId" column="sku_id" jdbcType="BIGINT"/>
+            <result property="goodsId" column="goods_id" jdbcType="BIGINT"/>
+            <result property="price" column="price" jdbcType="DECIMAL"/>
+            <result property="name" column="name" jdbcType="VARCHAR"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        sku_id,goods_id,price,
+        name
+    </sql>
+</mapper>

+ 14 - 0
goodsSku/target/classes/bootstrap.yml

@@ -0,0 +1,14 @@
+server:
+  port: 8082
+spring:
+  application:
+    name: goods-service
+  cloud:
+    nacos:
+      discovery:
+        server-addr: localhost:8848
+  datasource:
+    driver-class-name: com.mysql.cj.jdbc.Driver
+    url: jdbc:mysql://127.0.0.1:3306/gaowuz1?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
+    username: root
+    password: root

TEMPAT SAMPAH
goodsSku/target/classes/com/zt/GoodsApplication.class


TEMPAT SAMPAH
goodsSku/target/classes/com/zt/mapper/GoodsSkuMapper.class


TEMPAT SAMPAH
goodsSku/target/classes/com/zt/service/GoodsSkuService.class


TEMPAT SAMPAH
goodsSku/target/classes/com/zt/service/impl/GoodsSkuServiceImpl.class


+ 18 - 0
goodsSku/target/classes/mapper/GoodsSkuMapper.xml

@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.zt.mapper.GoodsSkuMapper">
+
+    <resultMap id="BaseResultMap" type="com.zt.pojo.GoodsSku">
+            <id property="skuId" column="sku_id" jdbcType="BIGINT"/>
+            <result property="goodsId" column="goods_id" jdbcType="BIGINT"/>
+            <result property="price" column="price" jdbcType="DECIMAL"/>
+            <result property="name" column="name" jdbcType="VARCHAR"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        sku_id,goods_id,price,
+        name
+    </sql>
+</mapper>

+ 56 - 0
order/pom.xml

@@ -0,0 +1,56 @@
+<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>com.zt</groupId>
+        <artifactId>fengYiHanSale</artifactId>
+        <version>1.0-SNAPSHOT</version>
+    </parent>
+
+    <artifactId>order</artifactId>
+
+    <properties>
+        <maven.compiler.source>8</maven.compiler.source>
+        <maven.compiler.target>8</maven.compiler.target>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    </properties>
+    <dependencies>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-web</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter</artifactId>
+        </dependency>
+        <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>
+        <dependency>
+            <groupId>org.springframework.cloud</groupId>
+            <artifactId>spring-cloud-starter-openfeign</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>mysql</groupId>
+            <artifactId>mysql-connector-java</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.zt</groupId>
+            <artifactId>common</artifactId>
+            <version>1.0-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>com.zt</groupId>
+            <artifactId>feign</artifactId>
+            <version>1.0-SNAPSHOT</version>
+        </dependency>
+    </dependencies>
+</project>

+ 18 - 0
order/src/main/java/com/zt/OrderApplication.java

@@ -0,0 +1,18 @@
+package com.zt;
+
+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
+@MapperScan("com.zt.mapper")
+@EnableDiscoveryClient
+@EnableFeignClients()
+public class OrderApplication {
+    public static void main(String[] args) {
+        SpringApplication.run(OrderApplication.class,args);
+    }
+}

+ 22 - 0
order/src/main/java/com/zt/controller/OrderController.java

@@ -0,0 +1,22 @@
+package com.zt.controller;
+
+import com.zt.dto.OrderInfoDto;
+import com.zt.service.OrderInfoService;
+import com.zt.vo.Result;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletRequest;
+
+@RestController
+@RequestMapping("order")
+public class OrderController {
+    @Autowired
+    private OrderInfoService orderInfoService;
+    @RequestMapping("add")
+    public Result add(@RequestBody OrderInfoDto orderInfoDto, HttpServletRequest request){
+        return orderInfoService.add(orderInfoDto,request);
+    }
+}

+ 18 - 0
order/src/main/java/com/zt/mapper/CouponMapper.java

@@ -0,0 +1,18 @@
+package com.zt.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zt.pojo.Coupon;
+
+/**
+* @author H
+* @description 针对表【coupon】的数据库操作Mapper
+* @createDate 2025-05-10 10:31:06
+* @Entity com.zt.pojo.Coupon
+*/
+public interface CouponMapper extends BaseMapper<Coupon> {
+
+}
+
+
+
+

+ 18 - 0
order/src/main/java/com/zt/mapper/CouponUserMapper.java

@@ -0,0 +1,18 @@
+package com.zt.mapper;
+
+import com.zt.pojo.CouponUser;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+* @author H
+* @description 针对表【coupon_user】的数据库操作Mapper
+* @createDate 2025-05-10 09:56:14
+* @Entity com.zt.pojo.CouponUser
+*/
+public interface CouponUserMapper extends BaseMapper<CouponUser> {
+
+}
+
+
+
+

+ 18 - 0
order/src/main/java/com/zt/mapper/GoodsSkuMapper.java

@@ -0,0 +1,18 @@
+package com.zt.mapper;
+
+import com.zt.pojo.GoodsSku;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+* @author H
+* @description 针对表【goods_sku】的数据库操作Mapper
+* @createDate 2025-05-10 09:56:25
+* @Entity com.zt.pojo.GoodsSku
+*/
+public interface GoodsSkuMapper extends BaseMapper<GoodsSku> {
+
+}
+
+
+
+

+ 18 - 0
order/src/main/java/com/zt/mapper/OrderInfoMapper.java

@@ -0,0 +1,18 @@
+package com.zt.mapper;
+
+import com.zt.pojo.OrderInfo;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+* @author H
+* @description 针对表【order_info】的数据库操作Mapper
+* @createDate 2025-05-10 10:50:47
+* @Entity com.zt.pojo.OrderInfo
+*/
+public interface OrderInfoMapper extends BaseMapper<OrderInfo> {
+
+}
+
+
+
+

+ 18 - 0
order/src/main/java/com/zt/mapper/OrderItemMapper.java

@@ -0,0 +1,18 @@
+package com.zt.mapper;
+
+import com.zt.pojo.OrderItem;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+* @author H
+* @description 针对表【order_item】的数据库操作Mapper
+* @createDate 2025-05-10 10:59:55
+* @Entity com.zt.pojo.OrderItem
+*/
+public interface OrderItemMapper extends BaseMapper<OrderItem> {
+
+}
+
+
+
+

+ 72 - 0
order/src/main/java/com/zt/pojo/OrderInfo.java

@@ -0,0 +1,72 @@
+package com.zt.pojo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+import lombok.Data;
+
+/**
+ * 
+ * @TableName order_info
+ */
+@TableName(value ="order_info")
+@Data
+public class OrderInfo implements Serializable {
+    /**
+     * 雪花id
+     */
+    @TableId
+    private Long id;
+
+    /**
+     * 用户id
+     */
+    private Long userId;
+
+    /**
+     * 总价
+     */
+    private BigDecimal totalPrice;
+
+    /**
+     * 实付金额
+     */
+    private BigDecimal realPrice;
+
+    /**
+     * 优惠金额
+     */
+    private BigDecimal preferentialPrice;
+
+    /**
+     * 订单状态0带发货1未支付1待发货2待收货3完成订单
+     */
+    private Integer orderState;
+
+    /**
+     * 支付标识0未支付1已支付2退款
+     */
+    private Integer paymentState;
+
+    /**
+     * 订单时间
+     */
+    private Date orderTime;
+
+    /**
+     * 支付时间
+     */
+    private Date paymentTime;
+
+    /**
+     * 优惠券id
+     */
+    private Long couponId;
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+}

+ 61 - 0
order/src/main/java/com/zt/pojo/OrderItem.java

@@ -0,0 +1,61 @@
+package com.zt.pojo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import lombok.Data;
+
+/**
+ * 
+ * @TableName order_item
+ */
+@TableName(value ="order_item")
+@Data
+public class OrderItem implements Serializable {
+    /**
+     * 雪花id
+     */
+    @TableId
+    private Long id;
+
+    /**
+     * 订单id
+     */
+    private Long orderId;
+
+    /**
+     * 商品id
+     */
+    private Long goodsId;
+
+    /**
+     * 数量
+     */
+    private Integer num;
+
+    /**
+     * 单价
+     */
+    private BigDecimal price;
+
+    /**
+     * 用户id
+     */
+    private Long userId;
+
+    /**
+     * 小合计
+     */
+    private BigDecimal totalPrice;
+
+    /**
+     * 状态
+     */
+    private Integer state;
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+}

+ 17 - 0
order/src/main/java/com/zt/service/CouponService.java

@@ -0,0 +1,17 @@
+package com.zt.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.zt.dto.CouponDto;
+import com.zt.pojo.Coupon;
+import com.zt.vo.Result;
+
+/**
+* @author H
+* @description 针对表【coupon】的数据库操作Service
+* @createDate 2025-05-10 10:31:06
+*/
+public interface CouponService extends IService<Coupon> {
+
+
+    Result add(CouponDto couponDto);
+}

+ 13 - 0
order/src/main/java/com/zt/service/CouponUserService.java

@@ -0,0 +1,13 @@
+package com.zt.service;
+
+import com.zt.pojo.CouponUser;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+* @author H
+* @description 针对表【coupon_user】的数据库操作Service
+* @createDate 2025-05-10 09:56:14
+*/
+public interface CouponUserService extends IService<CouponUser> {
+
+}

+ 13 - 0
order/src/main/java/com/zt/service/GoodsSkuService.java

@@ -0,0 +1,13 @@
+package com.zt.service;
+
+import com.zt.pojo.GoodsSku;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+* @author H
+* @description 针对表【goods_sku】的数据库操作Service
+* @createDate 2025-05-10 09:56:25
+*/
+public interface GoodsSkuService extends IService<GoodsSku> {
+
+}

+ 18 - 0
order/src/main/java/com/zt/service/OrderInfoService.java

@@ -0,0 +1,18 @@
+package com.zt.service;
+
+import com.zt.dto.OrderInfoDto;
+import com.zt.pojo.OrderInfo;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.zt.vo.Result;
+
+import javax.servlet.http.HttpServletRequest;
+
+/**
+* @author H
+* @description 针对表【order_info】的数据库操作Service
+* @createDate 2025-05-10 10:50:47
+*/
+public interface OrderInfoService extends IService<OrderInfo> {
+
+    Result add(OrderInfoDto orderInfoDto, HttpServletRequest request);
+}

+ 13 - 0
order/src/main/java/com/zt/service/OrderItemService.java

@@ -0,0 +1,13 @@
+package com.zt.service;
+
+import com.zt.pojo.OrderItem;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+* @author H
+* @description 针对表【order_item】的数据库操作Service
+* @createDate 2025-05-10 10:59:55
+*/
+public interface OrderItemService extends IService<OrderItem> {
+
+}

+ 34 - 0
order/src/main/java/com/zt/service/impl/CouponServiceImpl.java

@@ -0,0 +1,34 @@
+package com.zt.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.zt.dto.CouponDto;
+import com.zt.enums.CodeEnums;
+import com.zt.mapper.CouponMapper;
+import com.zt.pojo.Coupon;
+import com.zt.service.CouponService;
+import com.zt.vo.Result;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+
+/**
+* @author H
+* @description 针对表【coupon】的数据库操作Service实现
+* @createDate 2025-05-10 10:31:06
+*/
+@Service
+public class CouponServiceImpl extends ServiceImpl<CouponMapper, Coupon>
+    implements CouponService{
+
+
+    @Override
+    public Result add(CouponDto couponDto) {
+        Coupon coupon = new Coupon();
+        BeanUtils.copyProperties(couponDto,coupon);
+        this.save(coupon);
+        return Result.ok(CodeEnums.EXECUTION_SUCCESSFUL);
+    }
+}
+
+
+
+

+ 22 - 0
order/src/main/java/com/zt/service/impl/CouponUserServiceImpl.java

@@ -0,0 +1,22 @@
+package com.zt.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.zt.pojo.CouponUser;
+import com.zt.service.CouponUserService;
+import com.zt.mapper.CouponUserMapper;
+import org.springframework.stereotype.Service;
+
+/**
+* @author H
+* @description 针对表【coupon_user】的数据库操作Service实现
+* @createDate 2025-05-10 09:56:14
+*/
+@Service
+public class CouponUserServiceImpl extends ServiceImpl<CouponUserMapper, CouponUser>
+    implements CouponUserService{
+
+}
+
+
+
+

+ 22 - 0
order/src/main/java/com/zt/service/impl/GoodsSkuServiceImpl.java

@@ -0,0 +1,22 @@
+package com.zt.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.zt.pojo.GoodsSku;
+import com.zt.service.GoodsSkuService;
+import com.zt.mapper.GoodsSkuMapper;
+import org.springframework.stereotype.Service;
+
+/**
+* @author H
+* @description 针对表【goods_sku】的数据库操作Service实现
+* @createDate 2025-05-10 09:56:25
+*/
+@Service
+public class GoodsSkuServiceImpl extends ServiceImpl<GoodsSkuMapper, GoodsSku>
+    implements GoodsSkuService{
+
+}
+
+
+
+

+ 88 - 0
order/src/main/java/com/zt/service/impl/OrderInfoServiceImpl.java

@@ -0,0 +1,88 @@
+package com.zt.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.zt.dto.OrderInfoDto;
+import com.zt.dto.OrderItemDto;
+import com.zt.enums.CodeEnums;
+import com.zt.pojo.Coupon;
+import com.zt.pojo.GoodsSku;
+import com.zt.pojo.OrderInfo;
+import com.zt.pojo.OrderItem;
+import com.zt.service.CouponService;
+import com.zt.service.GoodsSkuService;
+import com.zt.service.OrderInfoService;
+import com.zt.mapper.OrderInfoMapper;
+import com.zt.service.OrderItemService;
+import com.zt.utils.AppJwtUtil;
+import com.zt.vo.Result;
+import feign.GoodsFeign;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import javax.servlet.http.HttpServletRequest;
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+/**
+* @author H
+* @description 针对表【order_info】的数据库操作Service实现
+* @createDate 2025-05-10 10:50:46
+*/
+@Service
+public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo>
+    implements OrderInfoService{
+    @Autowired
+    private OrderItemService orderItemService;
+    @Autowired
+    private GoodsSkuService goodsSkuService;
+    @Autowired
+    private CouponService couponService;
+
+    @Override
+    public Result add(OrderInfoDto orderInfoDto, HttpServletRequest request) {
+        OrderInfo orderInfo = new OrderInfo();
+        orderInfo.setOrderTime(new Date());
+        orderInfo.setPaymentTime(new Date());
+        orderInfo.setCouponId(orderInfoDto.getCouponId());
+        String token = request.getHeader("token");
+        Object id = AppJwtUtil.getClaimsBody(token).get("id");
+        orderInfo.setUserId((Long) id);
+        List<Long> collect = orderInfoDto.getOrderItemDtoList().stream().map(OrderItemDto::getGoodsId).collect(Collectors.toList());
+        QueryWrapper<OrderItem> queryWrapper=new QueryWrapper<>();
+        queryWrapper.lambda().in(OrderItem::getGoodsId,collect);
+        Map<Long, GoodsSku> collect2 = goodsSkuService.list().stream().collect(Collectors.toMap(GoodsSku::getSkuId, GoodsSku -> GoodsSku));
+        BigDecimal zero = BigDecimal.ZERO;
+        for (OrderItemDto orderItemDto : orderInfoDto.getOrderItemDtoList()) {
+            GoodsSku goodsSku = collect2.get(orderItemDto.getGoodsId());
+            BigDecimal multiply = goodsSku.getPrice().multiply(BigDecimal.valueOf(orderItemDto.getNum()));
+            zero=zero.add(multiply);
+        }
+        orderInfo.setTotalPrice(zero);
+        Coupon byId1 = couponService.getById(orderInfo.getCouponId());
+        orderInfo.setRealPrice(zero.subtract(byId1.getFaceValue()));
+        orderInfo.setPreferentialPrice(byId1.getFaceValue());
+
+        this.save(orderInfo);
+        for (OrderItemDto orderItemDto : orderInfoDto.getOrderItemDtoList()) {
+            OrderItem orderItem = new OrderItem();
+            orderItem.setOrderId(orderInfo.getId());
+            orderItem.setUserId((Long) id);
+            orderItem.setGoodsId(orderItemDto.getGoodsId());
+            GoodsSku byId = goodsSkuService.getById(orderItemDto.getGoodsId());
+            orderItem.setPrice(byId.getPrice());
+            orderItem.setTotalPrice(byId.getPrice().multiply(BigDecimal.valueOf(orderItemDto.getNum())));
+            orderItem.setNum(orderItemDto.getNum());
+            orderItemService.save(orderItem);
+        }
+
+        return Result.ok(CodeEnums.EXECUTION_SUCCESSFUL);
+    }
+}
+
+
+
+

+ 22 - 0
order/src/main/java/com/zt/service/impl/OrderItemServiceImpl.java

@@ -0,0 +1,22 @@
+package com.zt.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.zt.pojo.OrderItem;
+import com.zt.service.OrderItemService;
+import com.zt.mapper.OrderItemMapper;
+import org.springframework.stereotype.Service;
+
+/**
+* @author H
+* @description 针对表【order_item】的数据库操作Service实现
+* @createDate 2025-05-10 10:59:55
+*/
+@Service
+public class OrderItemServiceImpl extends ServiceImpl<OrderItemMapper, OrderItem>
+    implements OrderItemService{
+
+}
+
+
+
+

+ 14 - 0
order/src/main/resources/bootstrap.yml

@@ -0,0 +1,14 @@
+server:
+  port: 8083
+spring:
+  application:
+    name: order-service
+  cloud:
+    nacos:
+      discovery:
+        server-addr: localhost:8848
+  datasource:
+    driver-class-name: com.mysql.cj.jdbc.Driver
+    url: jdbc:mysql://127.0.0.1:3306/gaowuz1?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
+    username: root
+    password: root

+ 19 - 0
order/src/main/resources/mapper/CouponMapper.xml

@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.zt.mapper.CouponMapper">
+
+    <resultMap id="BaseResultMap" type="com.zt.pojo.Coupon">
+            <id property="id" column="id" jdbcType="BIGINT"/>
+            <result property="name" column="name" jdbcType="VARCHAR"/>
+            <result property="faceValue" column="face_value" jdbcType="DECIMAL"/>
+            <result property="terms" column="terms" jdbcType="DECIMAL"/>
+            <result property="type" column="type" jdbcType="INTEGER"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id,name,face_value,
+        terms,type
+    </sql>
+</mapper>

+ 16 - 0
order/src/main/resources/mapper/CouponUserMapper.xml

@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.zt.mapper.CouponUserMapper">
+
+    <resultMap id="BaseResultMap" type="com.zt.pojo.CouponUser">
+            <id property="id" column="id" jdbcType="BIGINT"/>
+            <result property="userId" column="user_id" jdbcType="BIGINT"/>
+            <result property="couponId" column="coupon_id" jdbcType="BIGINT"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id,user_id,coupon_id
+    </sql>
+</mapper>

+ 18 - 0
order/src/main/resources/mapper/GoodsSkuMapper.xml

@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.zt.mapper.GoodsSkuMapper">
+
+    <resultMap id="BaseResultMap" type="com.zt.pojo.GoodsSku">
+            <id property="skuId" column="sku_id" jdbcType="BIGINT"/>
+            <result property="goodsId" column="goods_id" jdbcType="BIGINT"/>
+            <result property="price" column="price" jdbcType="DECIMAL"/>
+            <result property="name" column="name" jdbcType="VARCHAR"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        sku_id,goods_id,price,
+        name
+    </sql>
+</mapper>

+ 26 - 0
order/src/main/resources/mapper/OrderInfoMapper.xml

@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.zt.mapper.OrderInfoMapper">
+
+    <resultMap id="BaseResultMap" type="com.zt.pojo.OrderInfo">
+            <id property="id" column="id" jdbcType="BIGINT"/>
+            <result property="userId" column="user_id" jdbcType="BIGINT"/>
+            <result property="totalPrice" column="total_price" jdbcType="DECIMAL"/>
+            <result property="realPrice" column="real_price" jdbcType="DECIMAL"/>
+            <result property="preferentialPrice" column="preferential_price" jdbcType="DECIMAL"/>
+            <result property="orderState" column="order_state" jdbcType="INTEGER"/>
+            <result property="paymentState" column="payment_state" jdbcType="INTEGER"/>
+            <result property="orderTime" column="order_time" jdbcType="TIMESTAMP"/>
+            <result property="paymentTime" column="payment_time" jdbcType="TIMESTAMP"/>
+            <result property="couponId" column="coupon_id" jdbcType="BIGINT"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id,user_id,total_price,
+        real_price,preferential_price,order_state,
+        payment_state,order_time,payment_time,
+        coupon_id
+    </sql>
+</mapper>

+ 23 - 0
order/src/main/resources/mapper/OrderItemMapper.xml

@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.zt.mapper.OrderItemMapper">
+
+    <resultMap id="BaseResultMap" type="com.zt.pojo.OrderItem">
+            <id property="id" column="id" jdbcType="BIGINT"/>
+            <result property="orderId" column="order_id" jdbcType="BIGINT"/>
+            <result property="goodsId" column="goods_id" jdbcType="BIGINT"/>
+            <result property="num" column="num" jdbcType="INTEGER"/>
+            <result property="price" column="price" jdbcType="DECIMAL"/>
+            <result property="userId" column="user_id" jdbcType="BIGINT"/>
+            <result property="totalPrice" column="total_price" jdbcType="DECIMAL"/>
+            <result property="state" column="state" jdbcType="INTEGER"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id,order_id,goods_id,
+        num,price,user_id,
+        total_price,state
+    </sql>
+</mapper>

+ 14 - 0
order/target/classes/bootstrap.yml

@@ -0,0 +1,14 @@
+server:
+  port: 8083
+spring:
+  application:
+    name: order-service
+  cloud:
+    nacos:
+      discovery:
+        server-addr: localhost:8848
+  datasource:
+    driver-class-name: com.mysql.cj.jdbc.Driver
+    url: jdbc:mysql://127.0.0.1:3306/gaowuz1?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
+    username: root
+    password: root

TEMPAT SAMPAH
order/target/classes/com/zt/OrderApplication.class


TEMPAT SAMPAH
order/target/classes/com/zt/controller/OrderController.class


TEMPAT SAMPAH
order/target/classes/com/zt/mapper/CouponMapper.class


TEMPAT SAMPAH
order/target/classes/com/zt/mapper/CouponUserMapper.class


TEMPAT SAMPAH
order/target/classes/com/zt/mapper/GoodsSkuMapper.class


TEMPAT SAMPAH
order/target/classes/com/zt/mapper/OrderInfoMapper.class


TEMPAT SAMPAH
order/target/classes/com/zt/mapper/OrderItemMapper.class


TEMPAT SAMPAH
order/target/classes/com/zt/pojo/OrderInfo.class


TEMPAT SAMPAH
order/target/classes/com/zt/pojo/OrderItem.class


TEMPAT SAMPAH
order/target/classes/com/zt/service/CouponService.class


TEMPAT SAMPAH
order/target/classes/com/zt/service/CouponUserService.class


TEMPAT SAMPAH
order/target/classes/com/zt/service/GoodsSkuService.class


TEMPAT SAMPAH
order/target/classes/com/zt/service/OrderInfoService.class


TEMPAT SAMPAH
order/target/classes/com/zt/service/OrderItemService.class


Beberapa file tidak ditampilkan karena terlalu banyak file yang berubah dalam diff ini