zhentao 1 month ago
commit
773b9f54c0
91 changed files with 1624 additions and 0 deletions
  1. 8 0
      .idea/.gitignore
  2. 19 0
      .idea/compiler.xml
  3. 12 0
      .idea/dataSources.xml
  4. 8 0
      .idea/encodings.xml
  5. 20 0
      .idea/jarRepositories.xml
  6. 14 0
      .idea/misc.xml
  7. 106 0
      .idea/mybatisx/templates.xml
  8. 58 0
      pom.xml
  9. 48 0
      wangyongchun-user/pom.xml
  10. 13 0
      wangyongchun-user/src/main/java/com/zhentao/UserApplication.java
  11. 19 0
      wangyongchun-user/src/main/java/com/zhentao/controller/coupon/CouponController.java
  12. 13 0
      wangyongchun-user/src/main/java/com/zhentao/controller/coupon/dto/CouponDto.java
  13. 21 0
      wangyongchun-user/src/main/java/com/zhentao/controller/orderinfo/OrderInfoController.java
  14. 12 0
      wangyongchun-user/src/main/java/com/zhentao/controller/orderinfo/dto/OrderDto.java
  15. 13 0
      wangyongchun-user/src/main/java/com/zhentao/controller/orderinfo/dto/ProductOrder.java
  16. 9 0
      wangyongchun-user/src/main/java/com/zhentao/controller/user/dto/UserDto.java
  17. 32 0
      wangyongchun-user/src/main/java/com/zhentao/controller/user/userController.java
  18. 41 0
      wangyongchun-user/src/main/java/com/zhentao/domain/Coupon.java
  19. 67 0
      wangyongchun-user/src/main/java/com/zhentao/domain/OrderInfo.java
  20. 62 0
      wangyongchun-user/src/main/java/com/zhentao/domain/OrderItem.java
  21. 52 0
      wangyongchun-user/src/main/java/com/zhentao/domain/Productsku.java
  22. 29 0
      wangyongchun-user/src/main/java/com/zhentao/domain/UserCoupon.java
  23. 71 0
      wangyongchun-user/src/main/java/com/zhentao/domain/UserLogin.java
  24. 18 0
      wangyongchun-user/src/main/java/com/zhentao/mapper/CouponMapper.java
  25. 18 0
      wangyongchun-user/src/main/java/com/zhentao/mapper/OrderInfoMapper.java
  26. 18 0
      wangyongchun-user/src/main/java/com/zhentao/mapper/OrderItemMapper.java
  27. 18 0
      wangyongchun-user/src/main/java/com/zhentao/mapper/ProductskuMapper.java
  28. 18 0
      wangyongchun-user/src/main/java/com/zhentao/mapper/UserCouponMapper.java
  29. 18 0
      wangyongchun-user/src/main/java/com/zhentao/mapper/UserLoginMapper.java
  30. 15 0
      wangyongchun-user/src/main/java/com/zhentao/service/CouponService.java
  31. 15 0
      wangyongchun-user/src/main/java/com/zhentao/service/OrderInfoService.java
  32. 13 0
      wangyongchun-user/src/main/java/com/zhentao/service/OrderItemService.java
  33. 13 0
      wangyongchun-user/src/main/java/com/zhentao/service/ProductskuService.java
  34. 13 0
      wangyongchun-user/src/main/java/com/zhentao/service/UserCouponService.java
  35. 18 0
      wangyongchun-user/src/main/java/com/zhentao/service/UserLoginService.java
  36. 39 0
      wangyongchun-user/src/main/java/com/zhentao/service/impl/CouponServiceImpl.java
  37. 107 0
      wangyongchun-user/src/main/java/com/zhentao/service/impl/OrderInfoServiceImpl.java
  38. 22 0
      wangyongchun-user/src/main/java/com/zhentao/service/impl/OrderItemServiceImpl.java
  39. 22 0
      wangyongchun-user/src/main/java/com/zhentao/service/impl/ProductskuServiceImpl.java
  40. 22 0
      wangyongchun-user/src/main/java/com/zhentao/service/impl/UserCouponServiceImpl.java
  41. 77 0
      wangyongchun-user/src/main/java/com/zhentao/service/impl/UserLoginServiceImpl.java
  42. 93 0
      wangyongchun-user/src/main/java/com/zhentao/tool/TokenUtils.java
  43. 24 0
      wangyongchun-user/src/main/java/com/zhentao/vo/Result.java
  44. 12 0
      wangyongchun-user/src/main/resources/application.yml
  45. 18 0
      wangyongchun-user/src/main/resources/mapper/CouponMapper.xml
  46. 24 0
      wangyongchun-user/src/main/resources/mapper/OrderInfoMapper.xml
  47. 23 0
      wangyongchun-user/src/main/resources/mapper/OrderItemMapper.xml
  48. 20 0
      wangyongchun-user/src/main/resources/mapper/ProductskuMapper.xml
  49. 15 0
      wangyongchun-user/src/main/resources/mapper/UserCouponMapper.xml
  50. 26 0
      wangyongchun-user/src/main/resources/mapper/UserLoginMapper.xml
  51. 12 0
      wangyongchun-user/target/classes/application.yml
  52. BIN
      wangyongchun-user/target/classes/com/zhentao/UserApplication.class
  53. BIN
      wangyongchun-user/target/classes/com/zhentao/controller/coupon/CouponController.class
  54. BIN
      wangyongchun-user/target/classes/com/zhentao/controller/coupon/dto/CouponDto.class
  55. BIN
      wangyongchun-user/target/classes/com/zhentao/controller/orderinfo/OrderInfoController.class
  56. BIN
      wangyongchun-user/target/classes/com/zhentao/controller/orderinfo/dto/OrderDto.class
  57. BIN
      wangyongchun-user/target/classes/com/zhentao/controller/orderinfo/dto/ProductOrder.class
  58. BIN
      wangyongchun-user/target/classes/com/zhentao/controller/user/dto/UserDto.class
  59. BIN
      wangyongchun-user/target/classes/com/zhentao/controller/user/userController.class
  60. BIN
      wangyongchun-user/target/classes/com/zhentao/domain/Coupon.class
  61. BIN
      wangyongchun-user/target/classes/com/zhentao/domain/OrderInfo.class
  62. BIN
      wangyongchun-user/target/classes/com/zhentao/domain/OrderItem.class
  63. BIN
      wangyongchun-user/target/classes/com/zhentao/domain/Productsku.class
  64. BIN
      wangyongchun-user/target/classes/com/zhentao/domain/UserCoupon.class
  65. BIN
      wangyongchun-user/target/classes/com/zhentao/domain/UserLogin.class
  66. BIN
      wangyongchun-user/target/classes/com/zhentao/mapper/CouponMapper.class
  67. BIN
      wangyongchun-user/target/classes/com/zhentao/mapper/OrderInfoMapper.class
  68. BIN
      wangyongchun-user/target/classes/com/zhentao/mapper/OrderItemMapper.class
  69. BIN
      wangyongchun-user/target/classes/com/zhentao/mapper/ProductskuMapper.class
  70. BIN
      wangyongchun-user/target/classes/com/zhentao/mapper/UserCouponMapper.class
  71. BIN
      wangyongchun-user/target/classes/com/zhentao/mapper/UserLoginMapper.class
  72. BIN
      wangyongchun-user/target/classes/com/zhentao/service/CouponService.class
  73. BIN
      wangyongchun-user/target/classes/com/zhentao/service/OrderInfoService.class
  74. BIN
      wangyongchun-user/target/classes/com/zhentao/service/OrderItemService.class
  75. BIN
      wangyongchun-user/target/classes/com/zhentao/service/ProductskuService.class
  76. BIN
      wangyongchun-user/target/classes/com/zhentao/service/UserCouponService.class
  77. BIN
      wangyongchun-user/target/classes/com/zhentao/service/UserLoginService.class
  78. BIN
      wangyongchun-user/target/classes/com/zhentao/service/impl/CouponServiceImpl.class
  79. BIN
      wangyongchun-user/target/classes/com/zhentao/service/impl/OrderInfoServiceImpl.class
  80. BIN
      wangyongchun-user/target/classes/com/zhentao/service/impl/OrderItemServiceImpl.class
  81. BIN
      wangyongchun-user/target/classes/com/zhentao/service/impl/ProductskuServiceImpl.class
  82. BIN
      wangyongchun-user/target/classes/com/zhentao/service/impl/UserCouponServiceImpl.class
  83. BIN
      wangyongchun-user/target/classes/com/zhentao/service/impl/UserLoginServiceImpl.class
  84. BIN
      wangyongchun-user/target/classes/com/zhentao/tool/TokenUtils.class
  85. BIN
      wangyongchun-user/target/classes/com/zhentao/vo/Result.class
  86. 18 0
      wangyongchun-user/target/classes/mapper/CouponMapper.xml
  87. 24 0
      wangyongchun-user/target/classes/mapper/OrderInfoMapper.xml
  88. 23 0
      wangyongchun-user/target/classes/mapper/OrderItemMapper.xml
  89. 20 0
      wangyongchun-user/target/classes/mapper/ProductskuMapper.xml
  90. 15 0
      wangyongchun-user/target/classes/mapper/UserCouponMapper.xml
  91. 26 0
      wangyongchun-user/target/classes/mapper/UserLoginMapper.xml

+ 8 - 0
.idea/.gitignore

@@ -0,0 +1,8 @@
+# 默认忽略的文件
+/shelf/
+/workspace.xml
+# 基于编辑器的 HTTP 客户端请求
+/httpRequests/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml

+ 19 - 0
.idea/compiler.xml

@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="CompilerConfiguration">
+    <annotationProcessing>
+      <profile name="Maven default annotation processors profile" enabled="true">
+        <sourceOutputDir name="target/generated-sources/annotations" />
+        <sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
+        <outputRelativeToContentRoot value="true" />
+        <module name="wangyongchun-user" />
+      </profile>
+    </annotationProcessing>
+  </component>
+  <component name="JavacSettings">
+    <option name="ADDITIONAL_OPTIONS_OVERRIDE">
+      <module name="wangyongchun-user" options="-parameters" />
+      <module name="wangyongchunsale" options="" />
+    </option>
+  </component>
+</project>

+ 12 - 0
.idea/dataSources.xml

@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="DataSourceManagerImpl" format="xml" multifile-model="true">
+    <data-source source="LOCAL" name="diyiwyc@localhost" uuid="f5258239-ffff-46a5-b4c2-57e9355060fe">
+      <driver-ref>mysql.8</driver-ref>
+      <synchronize>true</synchronize>
+      <jdbc-driver>com.mysql.cj.jdbc.Driver</jdbc-driver>
+      <jdbc-url>jdbc:mysql://localhost:3306/diyiwyc</jdbc-url>
+      <working-dir>$ProjectFileDir$</working-dir>
+    </data-source>
+  </component>
+</project>

+ 8 - 0
.idea/encodings.xml

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="Encoding">
+    <file url="file://$PROJECT_DIR$/src/main/java" charset="UTF-8" />
+    <file url="file://$PROJECT_DIR$/src/main/resources" charset="UTF-8" />
+    <file url="file://$PROJECT_DIR$/wangyongchun-user/src/main/java" charset="UTF-8" />
+  </component>
+</project>

+ 20 - 0
.idea/jarRepositories.xml

@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="RemoteRepositoriesConfiguration">
+    <remote-repository>
+      <option name="id" value="central" />
+      <option name="name" value="Maven Central repository" />
+      <option name="url" value="https://repo1.maven.org/maven2" />
+    </remote-repository>
+    <remote-repository>
+      <option name="id" value="central" />
+      <option name="name" value="Central Repository" />
+      <option name="url" value="http://maven.aliyun.com/nexus/content/groups/public" />
+    </remote-repository>
+    <remote-repository>
+      <option name="id" value="jboss.community" />
+      <option name="name" value="JBoss Community repository" />
+      <option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
+    </remote-repository>
+  </component>
+</project>

+ 14 - 0
.idea/misc.xml

@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="ExternalStorageConfigurationManager" enabled="true" />
+  <component name="MavenProjectsManager">
+    <option name="originalFiles">
+      <list>
+        <option value="$PROJECT_DIR$/pom.xml" />
+      </list>
+    </option>
+  </component>
+  <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
+    <output url="file://$PROJECT_DIR$/out" />
+  </component>
+</project>

+ 106 - 0
.idea/mybatisx/templates.xml

@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="TemplatesSettings">
+    <option name="templateConfigs">
+      <TemplateContext>
+        <option name="generateConfig">
+          <GenerateConfig>
+            <option name="annotationType" value="MYBATIS_PLUS3" />
+            <option name="basePackage" value="com.zhentao" />
+            <option name="basePath" value="src/main/java" />
+            <option name="classNameStrategy" value="camel" />
+            <option name="encoding" value="UTF-8" />
+            <option name="extraClassSuffix" value="" />
+            <option name="ignoreFieldPrefix" value="" />
+            <option name="ignoreFieldSuffix" value="" />
+            <option name="ignoreTablePrefix" value="" />
+            <option name="ignoreTableSuffix" value="" />
+            <option name="moduleName" value="wangyongchun-user" />
+            <option name="modulePath" value="$PROJECT_DIR$/wangyongchun-user" />
+            <option name="moduleUIInfoList">
+              <list>
+                <ModuleInfoGo>
+                  <option name="basePath" value="${domain.basePath}" />
+                  <option name="configFileName" value="serviceImpl.ftl" />
+                  <option name="configName" value="serviceImpl" />
+                  <option name="encoding" value="${domain.encoding}" />
+                  <option name="fileName" value="${domain.fileName}ServiceImpl" />
+                  <option name="fileNameWithSuffix" value="${domain.fileName}ServiceImpl.java" />
+                  <option name="modulePath" value="$PROJECT_DIR$/wangyongchun-user" />
+                  <option name="packageName" value="${domain.basePackage}.service.impl" />
+                </ModuleInfoGo>
+                <ModuleInfoGo>
+                  <option name="basePath" value="${domain.basePath}" />
+                  <option name="configFileName" value="mapperInterface.ftl" />
+                  <option name="configName" value="mapperInterface" />
+                  <option name="encoding" value="${domain.encoding}" />
+                  <option name="fileName" value="${domain.fileName}Mapper" />
+                  <option name="fileNameWithSuffix" value="${domain.fileName}Mapper.java" />
+                  <option name="modulePath" value="$PROJECT_DIR$/wangyongchun-user" />
+                  <option name="packageName" value="${domain.basePackage}.mapper" />
+                </ModuleInfoGo>
+                <ModuleInfoGo>
+                  <option name="basePath" value="${domain.basePath}" />
+                  <option name="configFileName" value="serviceInterface.ftl" />
+                  <option name="configName" value="serviceInterface" />
+                  <option name="encoding" value="${domain.encoding}" />
+                  <option name="fileName" value="${domain.fileName}Service" />
+                  <option name="fileNameWithSuffix" value="${domain.fileName}Service.java" />
+                  <option name="modulePath" value="$PROJECT_DIR$/wangyongchun-user" />
+                  <option name="packageName" value="${domain.basePackage}.service" />
+                </ModuleInfoGo>
+                <ModuleInfoGo>
+                  <option name="basePath" value="src/main/resources" />
+                  <option name="configFileName" value="mapperXml.ftl" />
+                  <option name="configName" value="mapperXml" />
+                  <option name="encoding" value="${domain.encoding}" />
+                  <option name="fileName" value="${domain.fileName}Mapper" />
+                  <option name="fileNameWithSuffix" value="${domain.fileName}Mapper.xml" />
+                  <option name="modulePath" value="$PROJECT_DIR$/wangyongchun-user" />
+                  <option name="packageName" value="mapper" />
+                </ModuleInfoGo>
+              </list>
+            </option>
+            <option name="needsComment" value="true" />
+            <option name="needsModel" value="true" />
+            <option name="relativePackage" value="domain" />
+            <option name="superClass" value="" />
+            <option name="tableUIInfoList">
+              <list>
+                <TableUIInfo>
+                  <option name="className" value="Coupon" />
+                  <option name="tableName" value="coupon" />
+                </TableUIInfo>
+                <TableUIInfo>
+                  <option name="className" value="OrderInfo" />
+                  <option name="tableName" value="order_info" />
+                </TableUIInfo>
+                <TableUIInfo>
+                  <option name="className" value="OrderItem" />
+                  <option name="tableName" value="order_item" />
+                </TableUIInfo>
+                <TableUIInfo>
+                  <option name="className" value="Productsku" />
+                  <option name="tableName" value="productsku" />
+                </TableUIInfo>
+                <TableUIInfo>
+                  <option name="className" value="UserCoupon" />
+                  <option name="tableName" value="user_coupon" />
+                </TableUIInfo>
+                <TableUIInfo>
+                  <option name="className" value="UserLogin" />
+                  <option name="tableName" value="user_login" />
+                </TableUIInfo>
+              </list>
+            </option>
+            <option name="templatesName" value="mybatis-plus3" />
+            <option name="useLombokPlugin" value="true" />
+          </GenerateConfig>
+        </option>
+        <option name="moduleName" value="wangyongchun-user" />
+        <option name="projectPath" value="$PROJECT_DIR$" />
+        <option name="templateName" value="mybatis-plus3" />
+      </TemplateContext>
+    </option>
+  </component>
+</project>

+ 58 - 0
pom.xml

@@ -0,0 +1,58 @@
+<?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>
+
+    <groupId>com.zhentao</groupId>
+    <artifactId>wangyongchunsale</artifactId>
+    <version>1.0-SNAPSHOT</version>
+    <packaging>pom</packaging>
+    <modules>
+        <module>wangyongchun-user</module>
+    </modules>
+
+    <properties>
+        <maven.compiler.source>8</maven.compiler.source>
+        <maven.compiler.target>8</maven.compiler.target>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    </properties>
+    <parent>
+        <groupId>org.springframework.boot</groupId>
+        <artifactId>spring-boot-starter-parent</artifactId>
+        <version>2.3.2.RELEASE</version>
+        <relativePath/>
+    </parent>
+    <dependencies>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-test</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-web</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-configuration-processor</artifactId>
+            <optional>true</optional>
+        </dependency>
+        <dependency>
+            <groupId>com.alibaba.cloud</groupId>
+            <artifactId>spring-cloud-alibaba-dependencies</artifactId>
+            <version>2.2.5.RELEASE</version>
+            <type>pom</type>
+            <scope>import</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.cloud</groupId>
+            <artifactId>spring-cloud-dependencies</artifactId>
+            <version>Hoxton.SR8</version>
+            <type>pom</type>
+            <scope>import</scope>
+        </dependency>
+
+
+    </dependencies>
+</project>

+ 48 - 0
wangyongchun-user/pom.xml

@@ -0,0 +1,48 @@
+<?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.zhentao</groupId>
+        <artifactId>wangyongchunsale</artifactId>
+        <version>1.0-SNAPSHOT</version>
+    </parent>
+
+    <artifactId>wangyongchun-user</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>mysql</groupId>
+            <artifactId>mysql-connector-java</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.projectlombok</groupId>
+            <artifactId>lombok</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>cn.hutool</groupId>
+            <artifactId>hutool-all</artifactId>
+            <version>5.8.11</version> <!-- 确保版本号是正确的 -->
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-data-redis</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>io.jsonwebtoken</groupId>
+            <artifactId>jjwt</artifactId>
+            <version>0.9.1</version>
+        </dependency>
+        <dependency>
+            <groupId>com.baomidou</groupId>
+            <artifactId>mybatis-plus-boot-starter</artifactId>
+            <version>3.5.4</version>
+        </dependency>
+    </dependencies>
+</project>

+ 13 - 0
wangyongchun-user/src/main/java/com/zhentao/UserApplication.java

@@ -0,0 +1,13 @@
+package com.zhentao;
+
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@SpringBootApplication
+@MapperScan("com.zhentao.mapper")
+public class UserApplication {
+    public static void main(String[] args) {
+        SpringApplication.run(UserApplication.class,args);
+    }
+}

+ 19 - 0
wangyongchun-user/src/main/java/com/zhentao/controller/coupon/CouponController.java

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

+ 13 - 0
wangyongchun-user/src/main/java/com/zhentao/controller/coupon/dto/CouponDto.java

@@ -0,0 +1,13 @@
+package com.zhentao.controller.coupon.dto;
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+@Data
+public class CouponDto {
+    private Integer couponStatus;
+
+    private BigDecimal couponMublit;
+
+    private BigDecimal couponC;
+}

+ 21 - 0
wangyongchun-user/src/main/java/com/zhentao/controller/orderinfo/OrderInfoController.java

@@ -0,0 +1,21 @@
+package com.zhentao.controller.orderinfo;
+
+import com.zhentao.controller.orderinfo.dto.OrderDto;
+import com.zhentao.service.OrderInfoService;
+import com.zhentao.vo.Result;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping("order")
+public class OrderInfoController {
+    @Autowired
+    private OrderInfoService service;
+    @PostMapping("add")
+    public Result add(@RequestBody OrderDto orderDto){
+        return service.add(orderDto);
+    }
+}

+ 12 - 0
wangyongchun-user/src/main/java/com/zhentao/controller/orderinfo/dto/OrderDto.java

@@ -0,0 +1,12 @@
+package com.zhentao.controller.orderinfo.dto;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class OrderDto {
+    private List<ProductOrder> list;
+    private Long couid;
+    private String token;
+}

+ 13 - 0
wangyongchun-user/src/main/java/com/zhentao/controller/orderinfo/dto/ProductOrder.java

@@ -0,0 +1,13 @@
+package com.zhentao.controller.orderinfo.dto;
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class ProductOrder {
+    private Long skuId;
+    private BigDecimal productPrice;
+
+    private BigDecimal productStock;
+}

+ 9 - 0
wangyongchun-user/src/main/java/com/zhentao/controller/user/dto/UserDto.java

@@ -0,0 +1,9 @@
+package com.zhentao.controller.user.dto;
+
+import lombok.Data;
+
+@Data
+public class UserDto {
+    private String username;
+    private String password;
+}

+ 32 - 0
wangyongchun-user/src/main/java/com/zhentao/controller/user/userController.java

@@ -0,0 +1,32 @@
+package com.zhentao.controller.user;
+
+import cn.hutool.core.util.IdUtil;
+import com.zhentao.controller.user.dto.UserDto;
+import com.zhentao.service.UserLoginService;
+import com.zhentao.vo.Result;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+public class userController {
+    @Autowired
+    private UserLoginService service;
+//注册
+    @PostMapping("register")
+    public Result register(@RequestBody UserDto userDto){
+        return service.register(userDto);
+    }
+//    登录
+    @PostMapping("login")
+    public Result login(@RequestBody UserDto userDto){
+        return service.login(userDto);
+    }
+//    获取雪花
+    @PostMapping("xu")
+    public void xu(){
+        long l = IdUtil.getSnowflake(1, 1).nextId();
+        System.err.println(l);
+    }
+}

+ 41 - 0
wangyongchun-user/src/main/java/com/zhentao/domain/Coupon.java

@@ -0,0 +1,41 @@
+package com.zhentao.domain;
+
+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;
+
+    /**
+     * 优惠券的分类 1直接扣减的优惠券 2打折的优惠券
+     */
+    private Integer couponStatus;
+
+    /**
+     * 扣减的金额
+     */
+    private BigDecimal couponMublit;
+
+    /**
+     * 打折几折
+     */
+    private BigDecimal couponC;
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+}

+ 67 - 0
wangyongchun-user/src/main/java/com/zhentao/domain/OrderInfo.java

@@ -0,0 +1,67 @@
+package com.zhentao.domain;
+
+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 orderSum;
+
+    /**
+     * 用户实际支付的金额
+     */
+    private BigDecimal orderZsum;
+
+    /**
+     * 优惠券id
+     */
+    private Long couponId;
+
+    /**
+     * 优惠的金额
+     */
+    private BigDecimal couponMublit;
+
+    /**
+     * 订单的状态 1未支付 2已支付
+     */
+    private Integer orderStatus;
+
+    /**
+     * 订单的状态 1待发货 2已发放 3代取件 4已取走
+     */
+    private Integer orderStatusE;
+
+    /**
+     * 订单的创建时间
+     */
+    private Date orderCreateTime;
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+}

+ 62 - 0
wangyongchun-user/src/main/java/com/zhentao/domain/OrderItem.java

@@ -0,0 +1,62 @@
+package com.zhentao.domain;
+
+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_item
+ */
+@TableName(value ="order_item")
+@Data
+public class OrderItem implements Serializable {
+    /**
+     * 订单详情id
+     */
+    @TableId
+    private Long id;
+
+    /**
+     * 用户id
+     */
+    private Long userId;
+
+    /**
+     * 商品的id
+     */
+    private Long productSkuId;
+
+    /**
+     * 商品的数量
+     */
+    private BigDecimal sum;
+
+    /**
+     * 单价
+     */
+    private BigDecimal price;
+
+    /**
+     * 小合计
+     */
+    private BigDecimal orderSum;
+
+    /**
+     * 状态
+     */
+    private Integer orderItmeStatus;
+
+    /**
+     * 创建时间
+     */
+    private Date createTime;
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+}

+ 52 - 0
wangyongchun-user/src/main/java/com/zhentao/domain/Productsku.java

@@ -0,0 +1,52 @@
+package com.zhentao.domain;
+
+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 productsku
+ */
+@TableName(value ="productsku")
+@Data
+public class Productsku implements Serializable {
+    /**
+     * sku id
+     */
+    @TableId
+    private Long skuId;
+
+    /**
+     * 商品的名称
+     */
+    private String productName;
+
+    /**
+     * 商品的单价
+     */
+    private BigDecimal productPrice;
+
+    /**
+     * 商品的数量
+     */
+    private BigDecimal productStock;
+
+    /**
+     * 商品的创建时间
+     */
+    private Date productCreateTime;
+
+    /**
+     * 商品的修改时间
+     */
+    private Date productUpdateTime;
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+}

+ 29 - 0
wangyongchun-user/src/main/java/com/zhentao/domain/UserCoupon.java

@@ -0,0 +1,29 @@
+package com.zhentao.domain;
+
+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_coupon
+ */
+@TableName(value ="user_coupon")
+@Data
+public class UserCoupon implements Serializable {
+    /**
+     * 用户id
+     */
+    private Long uid;
+
+    /**
+     * 优惠券id
+     */
+    private Long couponId;
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+}

+ 71 - 0
wangyongchun-user/src/main/java/com/zhentao/domain/UserLogin.java

@@ -0,0 +1,71 @@
+package com.zhentao.domain;
+
+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.util.Date;
+import lombok.Data;
+
+/**
+ * 
+ * @TableName user_login
+ */
+@TableName(value ="user_login")
+@Data
+public class UserLogin implements Serializable {
+    /**
+     * 用户的主键id
+     */
+    @TableId
+    private Long id;
+
+    /**
+     * 
+     */
+    private Long openid;
+
+    /**
+     * 
+     */
+    private Long unionid;
+
+    /**
+     * key
+     */
+    private String sesseionkey;
+
+    /**
+     * 用户的名称
+     */
+    private String userName;
+
+    /**
+     * 用户的账号
+     */
+    private String userUsername;
+
+    /**
+     * 密码
+     */
+    private String userPassword;
+
+    /**
+     * 盐
+     */
+    private String userSalt;
+
+    /**
+     * 用户的创建时间
+     */
+    private Date userCreateTime;
+
+    /**
+     * 用户的修改时间
+     */
+    private Date userUpdateTime;
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+}

+ 18 - 0
wangyongchun-user/src/main/java/com/zhentao/mapper/CouponMapper.java

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

+ 18 - 0
wangyongchun-user/src/main/java/com/zhentao/mapper/OrderInfoMapper.java

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

+ 18 - 0
wangyongchun-user/src/main/java/com/zhentao/mapper/OrderItemMapper.java

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

+ 18 - 0
wangyongchun-user/src/main/java/com/zhentao/mapper/ProductskuMapper.java

@@ -0,0 +1,18 @@
+package com.zhentao.mapper;
+
+import com.zhentao.domain.Productsku;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+* @author 86183
+* @description 针对表【productsku】的数据库操作Mapper
+* @createDate 2025-05-10 10:21:48
+* @Entity com.zhentao.domain.Productsku
+*/
+public interface ProductskuMapper extends BaseMapper<Productsku> {
+
+}
+
+
+
+

+ 18 - 0
wangyongchun-user/src/main/java/com/zhentao/mapper/UserCouponMapper.java

@@ -0,0 +1,18 @@
+package com.zhentao.mapper;
+
+import com.zhentao.domain.UserCoupon;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+* @author 86183
+* @description 针对表【user_coupon】的数据库操作Mapper
+* @createDate 2025-05-10 10:21:49
+* @Entity com.zhentao.domain.UserCoupon
+*/
+public interface UserCouponMapper extends BaseMapper<UserCoupon> {
+
+}
+
+
+
+

+ 18 - 0
wangyongchun-user/src/main/java/com/zhentao/mapper/UserLoginMapper.java

@@ -0,0 +1,18 @@
+package com.zhentao.mapper;
+
+import com.zhentao.domain.UserLogin;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+* @author 86183
+* @description 针对表【user_login】的数据库操作Mapper
+* @createDate 2025-05-10 10:21:49
+* @Entity com.zhentao.domain.UserLogin
+*/
+public interface UserLoginMapper extends BaseMapper<UserLogin> {
+
+}
+
+
+
+

+ 15 - 0
wangyongchun-user/src/main/java/com/zhentao/service/CouponService.java

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

+ 15 - 0
wangyongchun-user/src/main/java/com/zhentao/service/OrderInfoService.java

@@ -0,0 +1,15 @@
+package com.zhentao.service;
+
+import com.zhentao.controller.orderinfo.dto.OrderDto;
+import com.zhentao.domain.OrderInfo;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.zhentao.vo.Result;
+
+/**
+* @author 86183
+* @description 针对表【order_info】的数据库操作Service
+* @createDate 2025-05-10 10:21:48
+*/
+public interface OrderInfoService extends IService<OrderInfo> {
+    Result add(OrderDto orderDto);
+}

+ 13 - 0
wangyongchun-user/src/main/java/com/zhentao/service/OrderItemService.java

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

+ 13 - 0
wangyongchun-user/src/main/java/com/zhentao/service/ProductskuService.java

@@ -0,0 +1,13 @@
+package com.zhentao.service;
+
+import com.zhentao.domain.Productsku;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+* @author 86183
+* @description 针对表【productsku】的数据库操作Service
+* @createDate 2025-05-10 10:21:48
+*/
+public interface ProductskuService extends IService<Productsku> {
+
+}

+ 13 - 0
wangyongchun-user/src/main/java/com/zhentao/service/UserCouponService.java

@@ -0,0 +1,13 @@
+package com.zhentao.service;
+
+import com.zhentao.domain.UserCoupon;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+* @author 86183
+* @description 针对表【user_coupon】的数据库操作Service
+* @createDate 2025-05-10 10:21:49
+*/
+public interface UserCouponService extends IService<UserCoupon> {
+
+}

+ 18 - 0
wangyongchun-user/src/main/java/com/zhentao/service/UserLoginService.java

@@ -0,0 +1,18 @@
+package com.zhentao.service;
+
+import com.zhentao.controller.user.dto.UserDto;
+import com.zhentao.domain.UserLogin;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.zhentao.vo.Result;
+
+/**
+* @author 86183
+* @description 针对表【user_login】的数据库操作Service
+* @createDate 2025-05-10 10:21:49
+*/
+public interface UserLoginService extends IService<UserLogin> {
+//    注册用户
+    Result register(UserDto userDto);
+//    登录用户
+    Result login(UserDto userDto);
+}

+ 39 - 0
wangyongchun-user/src/main/java/com/zhentao/service/impl/CouponServiceImpl.java

@@ -0,0 +1,39 @@
+package com.zhentao.service.impl;
+
+import cn.hutool.core.util.IdUtil;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.zhentao.controller.coupon.dto.CouponDto;
+import com.zhentao.domain.Coupon;
+import com.zhentao.service.CouponService;
+import com.zhentao.mapper.CouponMapper;
+import com.zhentao.vo.Result;
+import org.springframework.stereotype.Service;
+
+/**
+* @author 86183
+* @description 针对表【coupon】的数据库操作Service实现
+* @createDate 2025-05-10 10:21:48
+*/
+@Service
+public class CouponServiceImpl extends ServiceImpl<CouponMapper, Coupon>
+    implements CouponService{
+
+    @Override
+    public Result add(CouponDto couponDto) {
+        Coupon coupon = new Coupon();
+        long l = IdUtil.getSnowflake(1, 1).nextId();
+        coupon.setId(l);
+        coupon.setCouponMublit(couponDto.getCouponMublit());
+        coupon.setCouponC(couponDto.getCouponC());
+        coupon.setCouponStatus(couponDto.getCouponStatus());
+        boolean save = this.save(coupon);
+        if (save){
+            return Result.OK("添加成功",null);
+        }
+        return null;
+    }
+}
+
+
+
+

+ 107 - 0
wangyongchun-user/src/main/java/com/zhentao/service/impl/OrderInfoServiceImpl.java

@@ -0,0 +1,107 @@
+package com.zhentao.service.impl;
+
+import cn.hutool.core.util.IdUtil;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.sun.xml.internal.bind.v2.model.core.ID;
+import com.zhentao.controller.orderinfo.dto.OrderDto;
+import com.zhentao.controller.orderinfo.dto.ProductOrder;
+import com.zhentao.domain.Coupon;
+import com.zhentao.domain.OrderInfo;
+import com.zhentao.domain.OrderItem;
+import com.zhentao.domain.Productsku;
+import com.zhentao.mapper.ProductskuMapper;
+import com.zhentao.service.CouponService;
+import com.zhentao.service.OrderInfoService;
+import com.zhentao.mapper.OrderInfoMapper;
+import com.zhentao.service.OrderItemService;
+import com.zhentao.service.ProductskuService;
+import com.zhentao.tool.TokenUtils;
+import com.zhentao.vo.Result;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.redis.core.StringRedisTemplate;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+* @author 86183
+* @description 针对表【order_info】的数据库操作Service实现
+* @createDate 2025-05-10 10:21:48
+*/
+@Service
+public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo>
+    implements OrderInfoService{
+    @Autowired
+    private StringRedisTemplate stringRedisTemplate;
+    @Autowired
+    private ProductskuMapper productskuMapper;
+    @Autowired
+    private CouponService service;
+    @Autowired
+    private OrderItemService orderItemService;
+    @Transactional
+    @Override
+    public Result add(OrderDto orderDto) {
+        OrderInfo orderInfo = new OrderInfo();
+//        设置主键id
+        long l = IdUtil.getSnowflake(1, 1).nextId();
+        orderInfo.setId(l);
+//        设置用户ID
+        String userIdFromToken = TokenUtils.getUserIdFromToken(orderDto.getToken());
+        if (userIdFromToken==null){
+            String token = stringRedisTemplate.opsForValue().get("token");
+            String userIdFromToken1 = TokenUtils.getUserIdFromToken(token);
+            orderInfo.setUserId(Long.valueOf(userIdFromToken1));
+        }else {
+            orderInfo.setUserId(Long.valueOf(userIdFromToken));
+        }
+//        计算总价格
+        BigDecimal bigDecimal = new BigDecimal("0");
+//        获取下单的所有skuid
+        List<Long> collect = orderDto.getList().stream().map(ProductOrder::getSkuId).collect(Collectors.toList());
+        List<Productsku> productskus = productskuMapper.selectBatchIds(collect);
+        System.err.println(productskus);
+        for (Productsku p:productskus) {
+            for (ProductOrder a:orderDto.getList()) {
+                if (p.getSkuId().equals(a.getSkuId())){
+                    bigDecimal = bigDecimal.add(p.getProductPrice().multiply(a.getProductStock()));
+                }
+            }
+        }
+        System.err.println(bigDecimal);
+        orderInfo.setOrderSum(bigDecimal);
+//        设置实际支付金额
+        Coupon byId = service.getById(orderDto.getCouid());
+        orderInfo.setCouponId(orderDto.getCouid());
+        orderInfo.setOrderZsum(bigDecimal.subtract(byId.getCouponMublit()));
+        this.save(orderInfo);
+//        添加详情
+        for (ProductOrder p:orderDto.getList()) {
+            OrderItem orderItem = new OrderItem();
+            long l1 = IdUtil.getSnowflake(1, 1).nextId();
+            orderItem.setId(l1);
+            orderItem.setUserId(Long.valueOf(userIdFromToken));
+            orderItem.setProductSkuId(l);
+            orderItem.setPrice(p.getProductPrice());
+            orderItem.setSum(p.getProductStock());
+            orderItem.setOrderSum(p.getProductPrice().multiply(p.getProductStock()));
+            orderItemService.save(orderItem);
+        }
+        for (Productsku p:productskus){
+            for (ProductOrder a:orderDto.getList()) {
+                if (p.getSkuId().equals(a.getSkuId())){
+                    p.setProductStock(p.getProductStock().subtract(a.getProductStock()));
+                    productskuMapper.updateById(p);
+                }
+            }
+        }
+        return Result.OK("添加成功",null);
+    }
+}
+
+
+
+

+ 22 - 0
wangyongchun-user/src/main/java/com/zhentao/service/impl/OrderItemServiceImpl.java

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

+ 22 - 0
wangyongchun-user/src/main/java/com/zhentao/service/impl/ProductskuServiceImpl.java

@@ -0,0 +1,22 @@
+package com.zhentao.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.zhentao.domain.Productsku;
+import com.zhentao.service.ProductskuService;
+import com.zhentao.mapper.ProductskuMapper;
+import org.springframework.stereotype.Service;
+
+/**
+* @author 86183
+* @description 针对表【productsku】的数据库操作Service实现
+* @createDate 2025-05-10 10:21:48
+*/
+@Service
+public class ProductskuServiceImpl extends ServiceImpl<ProductskuMapper, Productsku>
+    implements ProductskuService{
+
+}
+
+
+
+

+ 22 - 0
wangyongchun-user/src/main/java/com/zhentao/service/impl/UserCouponServiceImpl.java

@@ -0,0 +1,22 @@
+package com.zhentao.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.zhentao.domain.UserCoupon;
+import com.zhentao.service.UserCouponService;
+import com.zhentao.mapper.UserCouponMapper;
+import org.springframework.stereotype.Service;
+
+/**
+* @author 86183
+* @description 针对表【user_coupon】的数据库操作Service实现
+* @createDate 2025-05-10 10:21:49
+*/
+@Service
+public class UserCouponServiceImpl extends ServiceImpl<UserCouponMapper, UserCoupon>
+    implements UserCouponService{
+
+}
+
+
+
+

+ 77 - 0
wangyongchun-user/src/main/java/com/zhentao/service/impl/UserLoginServiceImpl.java

@@ -0,0 +1,77 @@
+package com.zhentao.service.impl;
+
+import cn.hutool.core.util.IdUtil;
+import cn.hutool.crypto.digest.DigestUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.zhentao.controller.user.dto.UserDto;
+import com.zhentao.domain.UserLogin;
+import com.zhentao.service.UserLoginService;
+import com.zhentao.mapper.UserLoginMapper;
+import com.zhentao.tool.TokenUtils;
+import com.zhentao.vo.Result;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.redis.core.StringRedisTemplate;
+import org.springframework.stereotype.Service;
+import org.springframework.util.DigestUtils;
+
+import java.util.Date;
+import java.util.UUID;
+
+/**
+* @author 86183
+* @description 针对表【user_login】的数据库操作Service实现
+* @createDate 2025-05-10 10:21:49
+*/
+@Service
+public class UserLoginServiceImpl extends ServiceImpl<UserLoginMapper, UserLogin>
+    implements UserLoginService{
+    @Autowired
+    private StringRedisTemplate stringRedisTemplate;
+//注册
+    @Override
+    public Result register(UserDto userDto) {
+//        创建一个用户对象
+        UserLogin user = new UserLogin();
+        user.setUserUsername(userDto.getUsername());
+//        生成一个雪花算法id
+        long l = IdUtil.getSnowflake(1, 1).nextId();
+        user.setId(l);
+//        用UUID生成一个随机字符串
+        String uuid = String.valueOf(UUID.randomUUID());
+        user.setUserSalt(uuid);
+//        对Miami进行MD5加密
+        String s = DigestUtils.md5DigestAsHex((uuid+userDto.getPassword()).getBytes());
+        user.setUserPassword(s);
+        user.setUserCreateTime(new Date());
+        user.setUserUpdateTime(new Date());
+        boolean save = this.save(user);
+        if (save){
+            return Result.OK("注册成功",save);
+        }
+        return Result.ERR("注册失败",null);
+    }
+//登录
+    @Override
+    public Result login(UserDto userDto) {
+//        查询用户名称是否存在
+        QueryWrapper<UserLogin> queryWrapper =new QueryWrapper<>();
+        queryWrapper.eq("user_username",userDto.getUsername());
+        UserLogin one = this.getOne(queryWrapper);
+        if (one==null){
+            return Result.ERR("用户名不正确",null);
+        }
+        String userSalt = one.getUserSalt();
+        String s = DigestUtils.md5DigestAsHex((userSalt + userDto.getPassword()).getBytes());
+        if (!s.equals(one.getUserPassword())){
+            return Result.ERR("密码不正确",null);
+        }
+        String token = TokenUtils.generateToken(one.getId()+"");
+        stringRedisTemplate.opsForValue().set("token",token);
+        return Result.OK("登录成功",token);
+    }
+}
+
+
+
+

+ 93 - 0
wangyongchun-user/src/main/java/com/zhentao/tool/TokenUtils.java

@@ -0,0 +1,93 @@
+package com.zhentao.tool;
+
+import io.jsonwebtoken.Claims;
+import io.jsonwebtoken.Jwts;
+import io.jsonwebtoken.SignatureAlgorithm;
+
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
+public class TokenUtils {
+
+    // 密钥,生产环境应该从配置文件中读取
+    private static final String SECRET_KEY = "your-secret-key-here";
+
+    // Token有效期(毫秒),这里设置为24小时
+    private static final long EXPIRATION_TIME = 24 * 60 * 60 * 1000;
+
+    /**
+     * 生成JWT Token
+     * @param userId 用户ID
+     * @return JWT Token
+     */
+    public static String generateToken(String userId) {
+        Map<String, Object> claims = new HashMap<>();
+        claims.put("userId", userId);
+
+        return Jwts.builder()
+                .setClaims(claims)
+                .setSubject(userId)
+                .setIssuedAt(new Date(System.currentTimeMillis()))
+                .setExpiration(new Date(System.currentTimeMillis() + EXPIRATION_TIME)) // 修正此处
+                .signWith(SignatureAlgorithm.HS512, SECRET_KEY)
+                .compact();
+    }
+    /**
+     * 从Token中获取用户ID
+     * @param token JWT Token
+     * @return 用户ID
+     */
+    public static String getUserIdFromToken(String token) {
+        try {
+            Claims claims = Jwts.parser()
+                    .setSigningKey(SECRET_KEY)
+                    .parseClaimsJws(token)
+                    .getBody();
+
+            return claims.get("userId", String.class);
+        } catch (Exception e) {
+            // 处理Token解析异常
+            e.printStackTrace();
+            return null;
+        }
+    }
+
+    /**
+     * 验证Token是否有效
+     * @param token JWT Token
+     * @return 是否有效
+     */
+    public static boolean validateToken(String token) {
+        try {
+            Jwts.parser().setSigningKey(SECRET_KEY).parseClaimsJws(token);
+            return true;
+        } catch (Exception e) {
+            // 处理Token验证异常
+            e.printStackTrace();
+            return false;
+        }
+    }
+
+    /**
+     * 从Token中获取所有Claims
+     * @param token JWT Token
+     * @return Claims
+     */
+    private static Claims getAllClaimsFromToken(String token) {
+        return Jwts.parser()
+                .setSigningKey(SECRET_KEY)
+                .parseClaimsJws(token)
+                .getBody();
+    }
+
+    /**
+     * 检查Token是否已过期
+     * @param token JWT Token
+     * @return 是否过期
+     */
+    private static boolean isTokenExpired(String token) {
+        Date expiration = getAllClaimsFromToken(token).getExpiration();
+        return expiration.before(new Date());
+    }
+
+}

+ 24 - 0
wangyongchun-user/src/main/java/com/zhentao/vo/Result.java

@@ -0,0 +1,24 @@
+package com.zhentao.vo;
+
+import lombok.Data;
+
+@Data
+public class Result {
+    private Integer code;
+    private String msg;
+    private Object object;
+    public static Result OK(String msg,Object object){
+        Result result = new Result();
+        result.setMsg(msg);
+        result.setObject(object);
+        result.setCode(200);
+        return result;
+    }
+    public static Result ERR(String msg,Object object){
+        Result result = new Result();
+        result.setMsg(msg);
+        result.setObject(object);
+        result.setCode(400);
+        return result;
+    }
+}

+ 12 - 0
wangyongchun-user/src/main/resources/application.yml

@@ -0,0 +1,12 @@
+server:
+  port: 9800
+spring:
+  datasource:
+    driver-class-name: com.mysql.cj.jdbc.Driver
+    url: jdbc:mysql://localhost:3306/diyiwyc?useSSL=false&serverTimezone=UTC
+    username: root
+    password: root
+  redis:
+    host: localhost
+    port: 6379
+    database: 0

+ 18 - 0
wangyongchun-user/src/main/resources/mapper/CouponMapper.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.zhentao.mapper.CouponMapper">
+
+    <resultMap id="BaseResultMap" type="com.zhentao.domain.Coupon">
+            <id property="id" column="id" jdbcType="BIGINT"/>
+            <result property="couponStatus" column="coupon_status" jdbcType="INTEGER"/>
+            <result property="couponMublit" column="coupon_mublit" jdbcType="DECIMAL"/>
+            <result property="couponC" column="coupon_c" jdbcType="DECIMAL"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id,coupon_status,coupon_mublit,
+        coupon_c
+    </sql>
+</mapper>

+ 24 - 0
wangyongchun-user/src/main/resources/mapper/OrderInfoMapper.xml

@@ -0,0 +1,24 @@
+<?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.zhentao.mapper.OrderInfoMapper">
+
+    <resultMap id="BaseResultMap" type="com.zhentao.domain.OrderInfo">
+            <id property="id" column="id" jdbcType="BIGINT"/>
+            <result property="userId" column="user_id" jdbcType="BIGINT"/>
+            <result property="orderSum" column="order_sum" jdbcType="DECIMAL"/>
+            <result property="orderZsum" column="order_zsum" jdbcType="DECIMAL"/>
+            <result property="couponId" column="coupon_id" jdbcType="BIGINT"/>
+            <result property="couponMublit" column="coupon_mublit" jdbcType="DECIMAL"/>
+            <result property="orderStatus" column="order_status" jdbcType="INTEGER"/>
+            <result property="orderStatusE" column="order_status_e" jdbcType="INTEGER"/>
+            <result property="orderCreateTime" column="order_create_time" jdbcType="TIMESTAMP"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id,user_id,order_sum,
+        order_zsum,coupon_id,coupon_mublit,
+        order_status,order_status_e,order_create_time
+    </sql>
+</mapper>

+ 23 - 0
wangyongchun-user/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.zhentao.mapper.OrderItemMapper">
+
+    <resultMap id="BaseResultMap" type="com.zhentao.domain.OrderItem">
+            <id property="id" column="id" jdbcType="BIGINT"/>
+            <result property="userId" column="user_id" jdbcType="BIGINT"/>
+            <result property="productSkuId" column="product_sku_id" jdbcType="BIGINT"/>
+            <result property="sum" column="sum" jdbcType="INTEGER"/>
+            <result property="price" column="price" jdbcType="DECIMAL"/>
+            <result property="orderSum" column="order_sum" jdbcType="DECIMAL"/>
+            <result property="orderItmeStatus" column="order_itme_status" jdbcType="INTEGER"/>
+            <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id,user_id,product_sku_id,
+        sum,price,order_sum,
+        order_itme_status,create_time
+    </sql>
+</mapper>

+ 20 - 0
wangyongchun-user/src/main/resources/mapper/ProductskuMapper.xml

@@ -0,0 +1,20 @@
+<?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.zhentao.mapper.ProductskuMapper">
+
+    <resultMap id="BaseResultMap" type="com.zhentao.domain.Productsku">
+            <id property="skuId" column="sku_id" jdbcType="BIGINT"/>
+            <result property="productName" column="product_name" jdbcType="VARCHAR"/>
+            <result property="productPrice" column="product_price" jdbcType="DECIMAL"/>
+            <result property="productStock" column="product_stock" jdbcType="INTEGER"/>
+            <result property="productCreateTime" column="product_create_time" jdbcType="TIMESTAMP"/>
+            <result property="productUpdateTime" column="product_update_time" jdbcType="TIMESTAMP"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        sku_id,product_name,product_price,
+        product_stock,product_create_time,product_update_time
+    </sql>
+</mapper>

+ 15 - 0
wangyongchun-user/src/main/resources/mapper/UserCouponMapper.xml

@@ -0,0 +1,15 @@
+<?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.zhentao.mapper.UserCouponMapper">
+
+    <resultMap id="BaseResultMap" type="com.zhentao.domain.UserCoupon">
+            <result property="uid" column="uid" jdbcType="BIGINT"/>
+            <result property="couponId" column="coupon_id" jdbcType="BIGINT"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        uid,coupon_id
+    </sql>
+</mapper>

+ 26 - 0
wangyongchun-user/src/main/resources/mapper/UserLoginMapper.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.zhentao.mapper.UserLoginMapper">
+
+    <resultMap id="BaseResultMap" type="com.zhentao.domain.UserLogin">
+            <id property="id" column="id" jdbcType="BIGINT"/>
+            <result property="openid" column="openid" jdbcType="BIGINT"/>
+            <result property="unionid" column="unionid" jdbcType="BIGINT"/>
+            <result property="sesseionkey" column="sesseionkey" jdbcType="VARCHAR"/>
+            <result property="userName" column="user_name" jdbcType="VARCHAR"/>
+            <result property="userUsername" column="user_username" jdbcType="VARCHAR"/>
+            <result property="userPassword" column="user_password" jdbcType="VARCHAR"/>
+            <result property="userSalt" column="user_salt" jdbcType="VARCHAR"/>
+            <result property="userCreateTime" column="user_create_time" jdbcType="TIMESTAMP"/>
+            <result property="userUpdateTime" column="user_update_time" jdbcType="TIMESTAMP"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id,openid,unionid,
+        sesseionkey,user_name,user_username,
+        user_password,user_salt,user_create_time,
+        user_update_time
+    </sql>
+</mapper>

+ 12 - 0
wangyongchun-user/target/classes/application.yml

@@ -0,0 +1,12 @@
+server:
+  port: 9800
+spring:
+  datasource:
+    driver-class-name: com.mysql.cj.jdbc.Driver
+    url: jdbc:mysql://localhost:3306/diyiwyc?useSSL=false&serverTimezone=UTC
+    username: root
+    password: root
+  redis:
+    host: localhost
+    port: 6379
+    database: 0

BIN
wangyongchun-user/target/classes/com/zhentao/UserApplication.class


BIN
wangyongchun-user/target/classes/com/zhentao/controller/coupon/CouponController.class


BIN
wangyongchun-user/target/classes/com/zhentao/controller/coupon/dto/CouponDto.class


BIN
wangyongchun-user/target/classes/com/zhentao/controller/orderinfo/OrderInfoController.class


BIN
wangyongchun-user/target/classes/com/zhentao/controller/orderinfo/dto/OrderDto.class


BIN
wangyongchun-user/target/classes/com/zhentao/controller/orderinfo/dto/ProductOrder.class


BIN
wangyongchun-user/target/classes/com/zhentao/controller/user/dto/UserDto.class


BIN
wangyongchun-user/target/classes/com/zhentao/controller/user/userController.class


BIN
wangyongchun-user/target/classes/com/zhentao/domain/Coupon.class


BIN
wangyongchun-user/target/classes/com/zhentao/domain/OrderInfo.class


BIN
wangyongchun-user/target/classes/com/zhentao/domain/OrderItem.class


BIN
wangyongchun-user/target/classes/com/zhentao/domain/Productsku.class


BIN
wangyongchun-user/target/classes/com/zhentao/domain/UserCoupon.class


BIN
wangyongchun-user/target/classes/com/zhentao/domain/UserLogin.class


BIN
wangyongchun-user/target/classes/com/zhentao/mapper/CouponMapper.class


BIN
wangyongchun-user/target/classes/com/zhentao/mapper/OrderInfoMapper.class


BIN
wangyongchun-user/target/classes/com/zhentao/mapper/OrderItemMapper.class


BIN
wangyongchun-user/target/classes/com/zhentao/mapper/ProductskuMapper.class


BIN
wangyongchun-user/target/classes/com/zhentao/mapper/UserCouponMapper.class


BIN
wangyongchun-user/target/classes/com/zhentao/mapper/UserLoginMapper.class


BIN
wangyongchun-user/target/classes/com/zhentao/service/CouponService.class


BIN
wangyongchun-user/target/classes/com/zhentao/service/OrderInfoService.class


BIN
wangyongchun-user/target/classes/com/zhentao/service/OrderItemService.class


BIN
wangyongchun-user/target/classes/com/zhentao/service/ProductskuService.class


BIN
wangyongchun-user/target/classes/com/zhentao/service/UserCouponService.class


BIN
wangyongchun-user/target/classes/com/zhentao/service/UserLoginService.class


BIN
wangyongchun-user/target/classes/com/zhentao/service/impl/CouponServiceImpl.class


BIN
wangyongchun-user/target/classes/com/zhentao/service/impl/OrderInfoServiceImpl.class


BIN
wangyongchun-user/target/classes/com/zhentao/service/impl/OrderItemServiceImpl.class


BIN
wangyongchun-user/target/classes/com/zhentao/service/impl/ProductskuServiceImpl.class


BIN
wangyongchun-user/target/classes/com/zhentao/service/impl/UserCouponServiceImpl.class


BIN
wangyongchun-user/target/classes/com/zhentao/service/impl/UserLoginServiceImpl.class


BIN
wangyongchun-user/target/classes/com/zhentao/tool/TokenUtils.class


BIN
wangyongchun-user/target/classes/com/zhentao/vo/Result.class


+ 18 - 0
wangyongchun-user/target/classes/mapper/CouponMapper.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.zhentao.mapper.CouponMapper">
+
+    <resultMap id="BaseResultMap" type="com.zhentao.domain.Coupon">
+            <id property="id" column="id" jdbcType="BIGINT"/>
+            <result property="couponStatus" column="coupon_status" jdbcType="INTEGER"/>
+            <result property="couponMublit" column="coupon_mublit" jdbcType="DECIMAL"/>
+            <result property="couponC" column="coupon_c" jdbcType="DECIMAL"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id,coupon_status,coupon_mublit,
+        coupon_c
+    </sql>
+</mapper>

+ 24 - 0
wangyongchun-user/target/classes/mapper/OrderInfoMapper.xml

@@ -0,0 +1,24 @@
+<?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.zhentao.mapper.OrderInfoMapper">
+
+    <resultMap id="BaseResultMap" type="com.zhentao.domain.OrderInfo">
+            <id property="id" column="id" jdbcType="BIGINT"/>
+            <result property="userId" column="user_id" jdbcType="BIGINT"/>
+            <result property="orderSum" column="order_sum" jdbcType="DECIMAL"/>
+            <result property="orderZsum" column="order_zsum" jdbcType="DECIMAL"/>
+            <result property="couponId" column="coupon_id" jdbcType="BIGINT"/>
+            <result property="couponMublit" column="coupon_mublit" jdbcType="DECIMAL"/>
+            <result property="orderStatus" column="order_status" jdbcType="INTEGER"/>
+            <result property="orderStatusE" column="order_status_e" jdbcType="INTEGER"/>
+            <result property="orderCreateTime" column="order_create_time" jdbcType="TIMESTAMP"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id,user_id,order_sum,
+        order_zsum,coupon_id,coupon_mublit,
+        order_status,order_status_e,order_create_time
+    </sql>
+</mapper>

+ 23 - 0
wangyongchun-user/target/classes/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.zhentao.mapper.OrderItemMapper">
+
+    <resultMap id="BaseResultMap" type="com.zhentao.domain.OrderItem">
+            <id property="id" column="id" jdbcType="BIGINT"/>
+            <result property="userId" column="user_id" jdbcType="BIGINT"/>
+            <result property="productSkuId" column="product_sku_id" jdbcType="BIGINT"/>
+            <result property="sum" column="sum" jdbcType="INTEGER"/>
+            <result property="price" column="price" jdbcType="DECIMAL"/>
+            <result property="orderSum" column="order_sum" jdbcType="DECIMAL"/>
+            <result property="orderItmeStatus" column="order_itme_status" jdbcType="INTEGER"/>
+            <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id,user_id,product_sku_id,
+        sum,price,order_sum,
+        order_itme_status,create_time
+    </sql>
+</mapper>

+ 20 - 0
wangyongchun-user/target/classes/mapper/ProductskuMapper.xml

@@ -0,0 +1,20 @@
+<?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.zhentao.mapper.ProductskuMapper">
+
+    <resultMap id="BaseResultMap" type="com.zhentao.domain.Productsku">
+            <id property="skuId" column="sku_id" jdbcType="BIGINT"/>
+            <result property="productName" column="product_name" jdbcType="VARCHAR"/>
+            <result property="productPrice" column="product_price" jdbcType="DECIMAL"/>
+            <result property="productStock" column="product_stock" jdbcType="INTEGER"/>
+            <result property="productCreateTime" column="product_create_time" jdbcType="TIMESTAMP"/>
+            <result property="productUpdateTime" column="product_update_time" jdbcType="TIMESTAMP"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        sku_id,product_name,product_price,
+        product_stock,product_create_time,product_update_time
+    </sql>
+</mapper>

+ 15 - 0
wangyongchun-user/target/classes/mapper/UserCouponMapper.xml

@@ -0,0 +1,15 @@
+<?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.zhentao.mapper.UserCouponMapper">
+
+    <resultMap id="BaseResultMap" type="com.zhentao.domain.UserCoupon">
+            <result property="uid" column="uid" jdbcType="BIGINT"/>
+            <result property="couponId" column="coupon_id" jdbcType="BIGINT"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        uid,coupon_id
+    </sql>
+</mapper>

+ 26 - 0
wangyongchun-user/target/classes/mapper/UserLoginMapper.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.zhentao.mapper.UserLoginMapper">
+
+    <resultMap id="BaseResultMap" type="com.zhentao.domain.UserLogin">
+            <id property="id" column="id" jdbcType="BIGINT"/>
+            <result property="openid" column="openid" jdbcType="BIGINT"/>
+            <result property="unionid" column="unionid" jdbcType="BIGINT"/>
+            <result property="sesseionkey" column="sesseionkey" jdbcType="VARCHAR"/>
+            <result property="userName" column="user_name" jdbcType="VARCHAR"/>
+            <result property="userUsername" column="user_username" jdbcType="VARCHAR"/>
+            <result property="userPassword" column="user_password" jdbcType="VARCHAR"/>
+            <result property="userSalt" column="user_salt" jdbcType="VARCHAR"/>
+            <result property="userCreateTime" column="user_create_time" jdbcType="TIMESTAMP"/>
+            <result property="userUpdateTime" column="user_update_time" jdbcType="TIMESTAMP"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id,openid,unionid,
+        sesseionkey,user_name,user_username,
+        user_password,user_salt,user_create_time,
+        user_update_time
+    </sql>
+</mapper>