Browse Source

删除 mall 模块

reghao 1 year ago
parent
commit
0fb07c0873
100 changed files with 0 additions and 4328 deletions
  1. 0 28
      mall/mall-api/pom.xml
  2. 0 27
      mall/mall-api/src/main/java/cn/reghao/tnb/mall/api/dto/TaobaoItem.java
  3. 0 22
      mall/mall-api/src/main/java/cn/reghao/tnb/mall/api/dto/geo/JobLoc.java
  4. 0 48
      mall/mall-api/src/main/java/cn/reghao/tnb/mall/api/dto/geo/MallReplyDto.java
  5. 0 44
      mall/mall-api/src/main/java/cn/reghao/tnb/mall/api/dto/geo/MallReplyPhotoDto.java
  6. 0 7
      mall/mall-service/Dockerfile
  7. 0 201
      mall/mall-service/pom.xml
  8. 0 13
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/MallApplication.java
  9. 0 37
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/aop/DataSourceAspect.java
  10. 0 15
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/aop/TimeConsumed.java
  11. 0 44
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/aop/TimeConsumedAspect.java
  12. 0 40
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/config/CacheConfig.java
  13. 0 23
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/config/DataSourceType.java
  14. 0 43
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/config/SwaggerConfig.java
  15. 0 351
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/config/mybatis/CustomSqlSessionTemplate.java
  16. 0 69
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/config/mybatis/DataSourceConfig.java
  17. 0 34
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/config/mybatis/DynamicDataSource.java
  18. 0 37
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/config/mybatis/DynamicDataSourceConfig.java
  19. 0 85
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/config/mybatis/PageListInterceptor.java
  20. 0 85
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/config/mybatis/SqlSessionConfig.java
  21. 0 37
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/config/shard/DataSourceUtil.java
  22. 0 17
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/config/shard/ModuloShardingTableAlgorithm.java
  23. 0 44
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/config/shard/ShardingDataSourceConfig.java
  24. 0 25
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/config/spring/AppLifecycle.java
  25. 0 36
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/config/spring/JacksonConfig.java
  26. 0 41
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/config/web/AccessLogInterceptor.java
  27. 0 56
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/config/web/TokenFilter.java
  28. 0 35
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/config/web/WebConfig.java
  29. 0 59
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/controller/CartController.java
  30. 0 51
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/controller/DeliveryController.java
  31. 0 55
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/controller/LogisticsController.java
  32. 0 79
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/controller/OrderController.java
  33. 0 59
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/controller/ProductController.java
  34. 0 16
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/db/mapper/DeliveryMapper.java
  35. 0 15
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/db/mapper/LogisticsMapper.java
  36. 0 16
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/db/mapper/LogisticsProgressMapper.java
  37. 0 20
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/db/mapper/OrderMapper.java
  38. 0 16
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/db/mapper/ProductMapper.java
  39. 0 14
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/db/mapper/ProductSnapshotMapper.java
  40. 0 27
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/db/repository/MallRepository.java
  41. 0 109
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/geo/controller/MapController.java
  42. 0 19
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/geo/db/mapper/BusStationMapper.java
  43. 0 25
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/geo/db/mapper/CameraPhotoMapper.java
  44. 0 14
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/geo/db/mapper/GeoEarthMapper.java
  45. 0 13
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/geo/db/mapper/GeoItemMapper.java
  46. 0 13
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/geo/db/mapper/GeoPointMapper.java
  47. 0 17
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/geo/db/mapper/GeoPolygonMapper.java
  48. 0 15
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/geo/db/mapper/GeoScopeMapper.java
  49. 0 17
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/geo/db/mapper/JobLocationMapper.java
  50. 0 18
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/geo/db/mapper/MallReplyMapper.java
  51. 0 26
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/geo/db/mapper/MallReplyPhotoMapper.java
  52. 0 30
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/geo/model/po/BusStation.java
  53. 0 42
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/geo/model/po/CameraPhoto.java
  54. 0 13
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/geo/model/po/GeoEarth.java
  55. 0 16
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/geo/model/po/GeoItem.java
  56. 0 29
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/geo/model/po/GeoPoint.java
  57. 0 27
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/geo/model/po/GeoPolygon.java
  58. 0 37
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/geo/model/po/GeoScope.java
  59. 0 39
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/geo/model/po/JobLocation.java
  60. 0 36
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/geo/model/po/MallReply.java
  61. 0 44
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/geo/model/po/MallReplyPhoto.java
  62. 0 20
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/geo/model/vo/MapMarker.java
  63. 0 39
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/geo/model/vo/MapPoint.java
  64. 0 21
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/geo/model/vo/MarkerInfo.java
  65. 0 18
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/geo/model/vo/PublicBus.java
  66. 0 120
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/geo/service/EarthService.java
  67. 0 48
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/geo/service/GeoService.java
  68. 0 40
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/geo/service/JobLocationService.java
  69. 0 253
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/geo/service/MapService.java
  70. 0 19
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/geo/util/Gps.java
  71. 0 174
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/geo/util/GpsTransfer.java
  72. 0 33
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/job/JobService.java
  73. 0 32
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/job/task/OrderTask.java
  74. 0 43
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/model/constant/LogisticsStatus.java
  75. 0 42
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/model/constant/OrderStatus.java
  76. 0 17
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/model/dto/CartDto.java
  77. 0 19
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/model/dto/OrderDto.java
  78. 0 23
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/model/dto/OrderItem.java
  79. 0 18
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/model/dto/ProductAddDto.java
  80. 0 21
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/model/po/Delivery.java
  81. 0 19
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/model/po/Logistics.java
  82. 0 31
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/model/po/LogisticsProgress.java
  83. 0 39
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/model/po/Order.java
  84. 0 11
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/model/po/OrderProduct.java
  85. 0 49
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/model/po/Product.java
  86. 0 29
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/model/po/ProductSnapshot.java
  87. 0 27
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/model/vo/CartCard.java
  88. 0 34
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/model/vo/OrderDetail.java
  89. 0 30
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/redis/RedisConfig.java
  90. 0 19
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/redis/RedisKey.java
  91. 0 62
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/redis/ds/RedisHash.java
  92. 0 35
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/redis/ds/RedisKey.java
  93. 0 32
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/redis/ds/RedisList.java
  94. 0 52
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/redis/ds/RedisOps.java
  95. 0 65
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/redis/ds/RedisSet.java
  96. 0 69
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/redis/ds/RedisSetStr.java
  97. 0 33
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/redis/ds/RedisSortedSet.java
  98. 0 42
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/redis/ds/RedisSortedSetStr.java
  99. 0 40
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/redis/ds/RedisString.java
  100. 0 40
      mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/redis/ds/RedisStringObject.java

+ 0 - 28
mall/mall-api/pom.xml

@@ -1,28 +0,0 @@
-<?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">
-    <parent>
-        <artifactId>mall</artifactId>
-        <groupId>cn.reghao.tnb</groupId>
-        <version>1.0.0</version>
-    </parent>
-    <modelVersion>4.0.0</modelVersion>
-
-    <groupId>cn.reghao.tnb.mall</groupId>
-    <artifactId>mall-api</artifactId>
-    <version>1.0.0-SNAPSHOT</version>
-
-    <properties>
-        <maven.compiler.source>11</maven.compiler.source>
-        <maven.compiler.target>11</maven.compiler.target>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>cn.reghao.tnb.user</groupId>
-            <artifactId>user-api</artifactId>
-            <version>1.0.0-SNAPSHOT</version>
-        </dependency>
-    </dependencies>
-</project>

+ 0 - 27
mall/mall-api/src/main/java/cn/reghao/tnb/mall/api/dto/TaobaoItem.java

@@ -1,27 +0,0 @@
-package cn.reghao.tnb.mall.api.dto;
-
-import lombok.AllArgsConstructor;
-import lombok.Getter;
-import lombok.Setter;
-
-import java.io.Serializable;
-
-/**
- * @author reghao
- * @date 2024-04-16 09:21:44
- */
-@AllArgsConstructor
-@Setter
-@Getter
-public class TaobaoItem implements Serializable {
-    private static final long serialVersionUID = 1L;
-
-    private Long itemId;
-    private String itemUrl;
-    private String title;
-    private String picUrl;
-    private Double price;
-    private String monthSale;
-    private Long shopId;
-    private Long sellerId;
-}

+ 0 - 22
mall/mall-api/src/main/java/cn/reghao/tnb/mall/api/dto/geo/JobLoc.java

@@ -1,22 +0,0 @@
-package cn.reghao.tnb.mall.api.dto.geo;
-
-import lombok.AllArgsConstructor;
-import lombok.Getter;
-
-/**
- * @author reghao
- * @date 2024-11-24 14:12:00
- */
-@AllArgsConstructor
-@Getter
-public class JobLoc {
-    private String companyName;
-    private String issueDate;
-    private String jobHref;
-    private String jobDescribe;
-    private long salaryMin;
-    private long salaryMax;
-    private String salaryStr;
-    private double lat;
-    private double lng;
-}

+ 0 - 48
mall/mall-api/src/main/java/cn/reghao/tnb/mall/api/dto/geo/MallReplyDto.java

@@ -1,48 +0,0 @@
-package cn.reghao.tnb.mall.api.dto.geo;
-
-import lombok.Getter;
-import lombok.Setter;
-
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.NotEmpty;
-import javax.validation.constraints.NotNull;
-import java.io.Serializable;
-import java.util.List;
-
-/**
- * @author reghao
- * @date 2023-09-01 09:09:35
- */
-@Setter
-@Getter
-public class MallReplyDto implements Serializable {
-    private static final long serialVersionUID = 1L;
-
-    @NotNull
-    private Integer itemType;
-    @NotBlank
-    private String itemId;
-    @NotBlank
-    private String replyId;
-    private String replyContent;
-    private String appendContent;
-    private String extra;
-    @NotBlank
-    private String username;
-    @NotBlank
-    private String avatarUrl;
-    @NotEmpty
-    private List<MallReplyPhotoDto> photos;
-
-    public MallReplyDto(int itemType, String itemId, String replyId, String replyContent, String appendContent,
-                        String extra, String username, String avatarUrl) {
-        this.itemType = itemType;
-        this.itemId = itemId;
-        this.replyId = replyId;
-        this.replyContent = replyContent;
-        this.appendContent = appendContent;
-        this.extra = extra;
-        this.username = username;
-        this.avatarUrl = avatarUrl;
-    }
-}

+ 0 - 44
mall/mall-api/src/main/java/cn/reghao/tnb/mall/api/dto/geo/MallReplyPhotoDto.java

@@ -1,44 +0,0 @@
-package cn.reghao.tnb.mall.api.dto.geo;
-
-import lombok.Getter;
-import lombok.NoArgsConstructor;
-import lombok.Setter;
-
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.NotNull;
-import java.io.Serializable;
-
-/**
- * @author reghao
- * @date 2023-08-31 10:38:26
- */
-@NoArgsConstructor
-@Setter
-@Getter
-public class MallReplyPhotoDto implements Serializable {
-    private static final long serialVersionUID = 1L;
-
-    @NotBlank
-    private String replyId;
-    @NotBlank
-    private String uploadId;
-    @NotNull
-    private Integer channelId;
-    @NotBlank
-    private String photoUrl;
-    private String manufacturer;
-    private String model;
-    private String software;
-    private String shotAt;
-    @NotNull
-    private Double longitude;
-    @NotNull
-    private Double latitude;
-
-    public MallReplyPhotoDto(String replyId, String uploadId, int channelId, String photoUrl) {
-        this.replyId = replyId;
-        this.uploadId = uploadId;
-        this.channelId = channelId;
-        this.photoUrl = photoUrl;
-    }
-}

+ 0 - 7
mall/mall-service/Dockerfile

@@ -1,7 +0,0 @@
-FROM adoptopenjdk/openjdk11:x86_64-alpine-jre-11.0.15_10
-
-WORKDIR /app
-RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone
-COPY target/tnb-mall.jar /app/tnb-mall.jar
-
-ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app/tnb-mall.jar"]

+ 0 - 201
mall/mall-service/pom.xml

@@ -1,201 +0,0 @@
-<?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">
-    <parent>
-        <artifactId>mall</artifactId>
-        <groupId>cn.reghao.tnb</groupId>
-        <version>1.0.0</version>
-    </parent>
-    <modelVersion>4.0.0</modelVersion>
-
-    <groupId>cn.reghao.tnb.mall</groupId>
-    <artifactId>mall-service</artifactId>
-
-    <properties>
-        <maven.compiler.source>11</maven.compiler.source>
-        <maven.compiler.target>11</maven.compiler.target>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>cn.reghao.tnb.mall</groupId>
-            <artifactId>mall-api</artifactId>
-            <version>1.0.0-SNAPSHOT</version>
-        </dependency>
-
-        <dependency>
-            <groupId>cn.reghao.jutil</groupId>
-            <artifactId>web</artifactId>
-            <version>1.0.0-SNAPSHOT</version>
-        </dependency>
-
-        <dependency>
-            <groupId>cn.reghao.tnb</groupId>
-            <artifactId>common</artifactId>
-            <version>1.0.0-SNAPSHOT</version>
-        </dependency>
-        <dependency>
-            <groupId>cn.reghao.tnb.account</groupId>
-            <artifactId>account-api</artifactId>
-            <version>1.0.0-SNAPSHOT</version>
-        </dependency>
-        <dependency>
-            <groupId>cn.reghao.tnb.user</groupId>
-            <artifactId>user-api</artifactId>
-            <version>1.0.0-SNAPSHOT</version>
-        </dependency>
-        <dependency>
-            <groupId>cn.reghao.tnb.file</groupId>
-            <artifactId>file-api</artifactId>
-            <version>1.0.0-SNAPSHOT</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.dom4j</groupId>
-            <artifactId>dom4j</artifactId>
-            <version>2.1.1</version>
-        </dependency>
-
-        <dependency>
-            <groupId>mysql</groupId>
-            <artifactId>mysql-connector-java</artifactId>
-            <version>8.0.17</version>
-        </dependency>
-        <dependency>
-            <groupId>com.zaxxer</groupId>
-            <artifactId>HikariCP</artifactId>
-            <version>3.3.1</version>
-        </dependency>
-        <dependency>
-            <groupId>org.mybatis.spring.boot</groupId>
-            <artifactId>mybatis-spring-boot-starter</artifactId>
-            <version>2.1.1</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.aspectj</groupId>
-            <artifactId>aspectjweaver</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.shardingsphere</groupId>
-            <artifactId>sharding-jdbc-spring-boot-starter</artifactId>
-            <version>4.1.1</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.shardingsphere</groupId>
-            <artifactId>sharding-core-common</artifactId>
-            <version>4.1.1</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-spring-boot-starter</artifactId>
-            <version>2.7.8</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.springframework.cloud</groupId>
-            <artifactId>spring-cloud-starter-zookeeper-discovery</artifactId>
-            <exclusions>
-                <exclusion>
-                    <groupId>org.apache.zookeeper</groupId>
-                    <artifactId>zookeeper</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.zookeeper</groupId>
-            <artifactId>zookeeper</artifactId>
-            <version>3.4.6</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>org.slf4j</groupId>
-                    <artifactId>slf4j-log4j12</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-data-redis</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>io.springfox</groupId>
-            <artifactId>springfox-swagger2</artifactId>
-            <version>2.9.2</version>
-        </dependency>
-        <dependency>
-            <groupId>io.springfox</groupId>
-            <artifactId>springfox-swagger-ui</artifactId>
-            <version>2.9.2</version>
-        </dependency>
-    </dependencies>
-
-    <profiles>
-        <profile>
-            <id>dev</id>
-            <properties>
-                <profile.active>dev</profile.active>
-            </properties>
-            <activation>
-                <activeByDefault>true</activeByDefault>
-            </activation>
-        </profile>
-        <profile>
-            <id>test</id>
-            <properties>
-                <profile.active>test</profile.active>
-            </properties>
-        </profile>
-        <profile>
-            <id>prod</id>
-            <properties>
-                <profile.active>prod</profile.active>
-            </properties>
-        </profile>
-        <profile>
-            <id>cluster</id>
-            <properties>
-                <profile.active>cluster</profile.active>
-            </properties>
-        </profile>
-    </profiles>
-
-    <build>
-        <finalName>tnb-mall</finalName>
-        <extensions>
-            <extension>
-                <groupId>kr.motd.maven</groupId>
-                <artifactId>os-maven-plugin</artifactId>
-                <version>1.5.0.Final</version>
-            </extension>
-        </extensions>
-
-        <resources>
-            <resource>
-                <directory>src/main/resources</directory>
-                <filtering>true</filtering>
-                <includes>
-                    <include>application.yml</include>
-                    <include>application-${profile.active}.yml</include>
-                    <include>mapper/**</include>
-                    <include>*.xml</include>
-                </includes>
-            </resource>
-        </resources>
-
-        <plugins>
-            <plugin>
-                <groupId>org.springframework.boot</groupId>
-                <artifactId>spring-boot-maven-plugin</artifactId>
-                <configuration>
-                    <executable>true</executable>
-                    <fork>true</fork>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
-</project>

+ 0 - 13
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/MallApplication.java

@@ -1,13 +0,0 @@
-package cn.reghao.tnb.mall.app;
-
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.context.annotation.ComponentScan;
-
-@SpringBootApplication
-@ComponentScan({"cn.reghao.tnb.mall.app", "cn.reghao.tnb.common"})
-public class MallApplication {
-    public static void main(String[] args) {
-        SpringApplication.run(MallApplication.class, args);
-    }
-}

+ 0 - 37
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/aop/DataSourceAspect.java

@@ -1,37 +0,0 @@
-package cn.reghao.tnb.mall.app.aop;
-
-import cn.reghao.tnb.mall.app.config.DataSourceType;
-import cn.reghao.tnb.mall.app.config.mybatis.DynamicDataSource;
-import lombok.extern.slf4j.Slf4j;
-import org.aspectj.lang.JoinPoint;
-import org.aspectj.lang.annotation.Aspect;
-import org.aspectj.lang.annotation.Before;
-import org.aspectj.lang.annotation.Pointcut;
-import org.springframework.context.annotation.EnableAspectJAutoProxy;
-import org.springframework.stereotype.Component;
-
-/**
- * @author reghao
- * @date 2023-12-31 03:01:16
- */
-@Slf4j
-@Aspect
-@Component
-@EnableAspectJAutoProxy(proxyTargetClass = true)
-public class DataSourceAspect {
-    @Pointcut("execution(* cn.reghao.tnb.mall.app.db.mapper.*.*(..))")
-    public void aspect() {
-    }
-
-    @Before("aspect()")
-    public void before(JoinPoint point) {
-        String method = point.getSignature().getName();
-        if (method.startsWith("find")) {
-            log.info("method {} hit slave DataSource", method);
-            DynamicDataSource.name.set(DataSourceType.slave.getName());
-        } else {
-            log.info("method {} hit master DataSource", method);
-            DynamicDataSource.name.set(DataSourceType.master.getName());
-        }
-    }
-}

+ 0 - 15
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/aop/TimeConsumed.java

@@ -1,15 +0,0 @@
-package cn.reghao.tnb.mall.app.aop;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * @author reghao
- * @date 2023-11-19 23:09:30
- */
-@Target(ElementType.METHOD)
-@Retention(RetentionPolicy.RUNTIME)
-public @interface TimeConsumed {
-}

+ 0 - 44
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/aop/TimeConsumedAspect.java

@@ -1,44 +0,0 @@
-package cn.reghao.tnb.mall.app.aop;
-
-import cn.reghao.jutil.web.ServletUtil;
-import lombok.extern.slf4j.Slf4j;
-import org.aspectj.lang.JoinPoint;
-import org.aspectj.lang.annotation.*;
-import org.springframework.stereotype.Component;
-
-import javax.servlet.http.HttpServletRequest;
-
-/**
- * @author reghao
- * @date 2023-11-19 23:10:19
- */
-@Slf4j
-@Component
-@Aspect
-public class TimeConsumedAspect {
-    ThreadLocal<Long> startTime = new ThreadLocal<>();
-
-    @Pointcut("@annotation(cn.reghao.tnb.mall.app.aop.TimeConsumed)")
-    public void pointCut(){
-    }
-
-    @Before("pointCut()")
-    public void doBefore(JoinPoint joinPoint) throws Throwable {
-        startTime.set(System.currentTimeMillis());
-    }
-
-    @AfterReturning(returning = "ret", pointcut = "pointCut()")
-    public void doAfterReturning(Object ret) {
-        HttpServletRequest request = ServletUtil.getRequest();
-        String method = request.getMethod();
-        String uri = request.getRequestURI();
-        String queryString = request.getQueryString();
-        if (queryString != null) {
-            uri += "?" + queryString;
-        }
-
-        log.info("处理请求 {} {} 耗时 {}ms", method, uri, System.currentTimeMillis() - startTime.get());
-        //处理完请求后,返回内容
-        //log.info("方法返回值:" + ret);
-    }
-}

+ 0 - 40
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/config/CacheConfig.java

@@ -1,40 +0,0 @@
-package cn.reghao.tnb.mall.app.config;
-
-import org.springframework.cache.CacheManager;
-import org.springframework.cache.annotation.EnableCaching;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.data.redis.cache.RedisCacheConfiguration;
-import org.springframework.data.redis.cache.RedisCacheManager;
-import org.springframework.data.redis.core.RedisTemplate;
-import org.springframework.data.redis.serializer.RedisSerializationContext;
-import org.springframework.data.redis.serializer.RedisSerializer;
-
-import java.time.Duration;
-import java.util.Objects;
-
-/**
- * 缓存配置
- *
- * @author reghao
- * @date 2023-05-22 16:31:04
- */
-@EnableCaching
-@Configuration
-public class CacheConfig {
-    @Bean
-    public CacheManager cacheManager(RedisTemplate<String, Object> template) {
-        RedisCacheConfiguration config = RedisCacheConfiguration
-                .defaultCacheConfig()
-                .serializeKeysWith(RedisSerializationContext.SerializationPair.fromSerializer(RedisSerializer.string()))
-                .serializeValuesWith(RedisSerializationContext.SerializationPair.fromSerializer(RedisSerializer.java()))
-                .disableCachingNullValues()
-                .entryTtl(Duration.ofHours(1));
-
-        return RedisCacheManager.RedisCacheManagerBuilder
-                        .fromConnectionFactory(Objects.requireNonNull(template.getConnectionFactory()))
-                        .cacheDefaults(config)
-                        .transactionAware()
-                        .build();
-    }
-}

+ 0 - 23
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/config/DataSourceType.java

@@ -1,23 +0,0 @@
-package cn.reghao.tnb.mall.app.config;
-
-/**
- * @author reghao
- * @date 2023-12-31 03:08:06
- */
-public enum DataSourceType {
-    master("write"),
-    slave("read");
-
-    private final String value;
-    DataSourceType(String value) {
-        this.value = value;
-    }
-
-    public String getName() {
-        return this.name();
-    }
-
-    public String getValue() {
-        return value;
-    }
-}

+ 0 - 43
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/config/SwaggerConfig.java

@@ -1,43 +0,0 @@
-package cn.reghao.tnb.mall.app.config;
-
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.Profile;
-import springfox.documentation.builders.ApiInfoBuilder;
-import springfox.documentation.builders.PathSelectors;
-import springfox.documentation.builders.RequestHandlerSelectors;
-import springfox.documentation.service.ApiInfo;
-import springfox.documentation.spi.DocumentationType;
-import springfox.documentation.spring.web.plugins.Docket;
-import springfox.documentation.swagger2.annotations.EnableSwagger2;
-
-/**
- * 配置 Swagger
- * Swagger 仅在 dev 环境生效
- *
- * @author reghao
- * @date 2019-05-14 17:01:07
- */
-@Profile({"dev"})
-@Configuration
-@EnableSwagger2
-public class SwaggerConfig {
-    @Bean
-    public Docket createRestApi() {
-        return new Docket(DocumentationType.SWAGGER_2)
-                .apiInfo(apiInfo())
-                .select()
-                .apis(RequestHandlerSelectors.basePackage("cn.reghao.tnb.mall.app.controller"))
-                .paths(PathSelectors.any())
-                .build();
-    }
-
-    private ApiInfo apiInfo() {
-        return new ApiInfoBuilder()
-                .title("mall APIs")
-                .description("")
-                .termsOfServiceUrl("")
-                .version("1.0.0")
-                .build();
-    }
-}

+ 0 - 351
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/config/mybatis/CustomSqlSessionTemplate.java

@@ -1,351 +0,0 @@
-package cn.reghao.tnb.mall.app.config.mybatis;
-
-import org.apache.ibatis.exceptions.PersistenceException;
-import org.apache.ibatis.executor.BatchResult;
-import org.apache.ibatis.session.*;
-import org.mybatis.spring.MyBatisExceptionTranslator;
-import org.mybatis.spring.SqlSessionTemplate;
-import org.springframework.dao.support.PersistenceExceptionTranslator;
-import org.springframework.util.Assert;
-
-import java.lang.reflect.InvocationHandler;
-import java.lang.reflect.Method;
-import java.sql.Connection;
-import java.util.List;
-import java.util.Map;
-
-import static java.lang.reflect.Proxy.newProxyInstance;
-import static org.apache.ibatis.reflection.ExceptionUtil.unwrapThrowable;
-import static org.mybatis.spring.SqlSessionUtils.getSqlSession;
-import static org.mybatis.spring.SqlSessionUtils.isSqlSessionTransactional;
-
-/**
- * @author reghao
- * @date 2023-12-30 19:26:21
- */
-public class CustomSqlSessionTemplate extends SqlSessionTemplate {
-    private final SqlSessionFactory sqlSessionFactory;
-    private final ExecutorType executorType;
-    private final SqlSession sqlSessionProxy;
-    private final PersistenceExceptionTranslator exceptionTranslator;
-
-    private Map<Object, SqlSessionFactory> targetSqlSessionFactories;
-    private SqlSessionFactory defaultTargetSqlSessionFactory;
-
-    public CustomSqlSessionTemplate(SqlSessionFactory sqlSessionFactory) {
-        this(sqlSessionFactory, sqlSessionFactory.getConfiguration().getDefaultExecutorType());
-    }
-
-    private CustomSqlSessionTemplate(SqlSessionFactory sqlSessionFactory, ExecutorType executorType) {
-        this(sqlSessionFactory, executorType, new MyBatisExceptionTranslator(sqlSessionFactory.getConfiguration()
-                .getEnvironment().getDataSource(), true));
-    }
-
-    private CustomSqlSessionTemplate(SqlSessionFactory sqlSessionFactory, ExecutorType executorType,
-                                     PersistenceExceptionTranslator exceptionTranslator) {
-
-        super(sqlSessionFactory, executorType, exceptionTranslator);
-
-        this.sqlSessionFactory = sqlSessionFactory;
-        this.executorType = executorType;
-        this.exceptionTranslator = exceptionTranslator;
-
-        this.sqlSessionProxy = (SqlSession) newProxyInstance(
-                SqlSessionFactory.class.getClassLoader(),
-                new Class[] { SqlSession.class },
-                new SqlSessionInterceptor());
-
-        this.defaultTargetSqlSessionFactory = sqlSessionFactory;
-    }
-
-    public void setTargetSqlSessionFactories(Map<Object, SqlSessionFactory> targetSqlSessionFactories) {
-        this.targetSqlSessionFactories = targetSqlSessionFactories;
-    }
-
-    public void setDefaultTargetSqlSessionFactory(SqlSessionFactory defaultTargetSqlSessionFactory) {
-        this.defaultTargetSqlSessionFactory = defaultTargetSqlSessionFactory;
-    }
-
-    @Override
-    public SqlSessionFactory getSqlSessionFactory() {
-        String databaseId = DynamicDataSource.name.get();
-        if (databaseId == null) {
-            databaseId = "master";
-        }
-
-        SqlSessionFactory targetSqlSessionFactory = targetSqlSessionFactories.get(databaseId);
-        if (targetSqlSessionFactory != null) {
-            return targetSqlSessionFactory;
-        } else if (defaultTargetSqlSessionFactory != null) {
-            return defaultTargetSqlSessionFactory;
-        } else {
-            Assert.notNull(targetSqlSessionFactories, "Property 'targetSqlSessionFactories' or 'defaultTargetSqlSessionFactory' are required");
-            Assert.notNull(defaultTargetSqlSessionFactory, "Property 'defaultTargetSqlSessionFactory' or 'targetSqlSessionFactories' are required");
-        }
-        return this.sqlSessionFactory;
-    }
-
-    @Override
-    public Configuration getConfiguration() {
-        return this.getSqlSessionFactory().getConfiguration();
-    }
-
-    @Override
-    public ExecutorType getExecutorType() {
-        return this.executorType;
-    }
-
-    @Override
-    public PersistenceExceptionTranslator getPersistenceExceptionTranslator() {
-        return this.exceptionTranslator;
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public <T> T selectOne(String statement) {
-        return this.sqlSessionProxy.<T> selectOne(statement);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public <T> T selectOne(String statement, Object parameter) {
-        return this.sqlSessionProxy.<T> selectOne(statement, parameter);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public <K, V> Map<K, V> selectMap(String statement, String mapKey) {
-        return this.sqlSessionProxy.<K, V> selectMap(statement, mapKey);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public <K, V> Map<K, V> selectMap(String statement, Object parameter, String mapKey) {
-        return this.sqlSessionProxy.<K, V> selectMap(statement, parameter, mapKey);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public <K, V> Map<K, V> selectMap(String statement, Object parameter, String mapKey, RowBounds rowBounds) {
-        return this.sqlSessionProxy.<K, V> selectMap(statement, parameter, mapKey, rowBounds);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public <E> List<E> selectList(String statement) {
-        return this.sqlSessionProxy.<E> selectList(statement);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-
-    @Override
-    public <E> List<E> selectList(String statement, Object parameter) {
-        return this.sqlSessionProxy.<E> selectList(statement, parameter);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public <E> List<E> selectList(String statement, Object parameter, RowBounds rowBounds) {
-        return this.sqlSessionProxy.<E> selectList(statement, parameter, rowBounds);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public void select(String statement, ResultHandler handler) {
-        this.sqlSessionProxy.select(statement, handler);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public void select(String statement, Object parameter, ResultHandler handler) {
-        this.sqlSessionProxy.select(statement, parameter, handler);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public void select(String statement, Object parameter, RowBounds rowBounds, ResultHandler handler) {
-        this.sqlSessionProxy.select(statement, parameter, rowBounds, handler);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public int insert(String statement) {
-        return this.sqlSessionProxy.insert(statement);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public int insert(String statement, Object parameter) {
-        return this.sqlSessionProxy.insert(statement, parameter);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public int update(String statement) {
-        return this.sqlSessionProxy.update(statement);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public int update(String statement, Object parameter) {
-        return this.sqlSessionProxy.update(statement, parameter);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public int delete(String statement) {
-        return this.sqlSessionProxy.delete(statement);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public int delete(String statement, Object parameter) {
-        return this.sqlSessionProxy.delete(statement, parameter);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public <T> T getMapper(Class<T> type) {
-        return getConfiguration().getMapper(type, this);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public void commit() {
-        throw new UnsupportedOperationException("Manual commit is not allowed over a Spring managed SqlSession");
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public void commit(boolean force) {
-        throw new UnsupportedOperationException("Manual commit is not allowed over a Spring managed SqlSession");
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public void rollback() {
-        throw new UnsupportedOperationException("Manual rollback is not allowed over a Spring managed SqlSession");
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public void rollback(boolean force) {
-        throw new UnsupportedOperationException("Manual rollback is not allowed over a Spring managed SqlSession");
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public void close() {
-        throw new UnsupportedOperationException("Manual close is not allowed over a Spring managed SqlSession");
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public void clearCache() {
-        this.sqlSessionProxy.clearCache();
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public Connection getConnection() {
-        return this.sqlSessionProxy.getConnection();
-    }
-
-    /**
-     * {@inheritDoc}
-     * @since 1.0.2
-     */
-    @Override
-    public List<BatchResult> flushStatements() {
-        return this.sqlSessionProxy.flushStatements();
-    }
-
-    /**
-     * Proxy needed to route MyBatis method calls to the proper SqlSession got from Spring's Transaction Manager It also
-     * unwraps exceptions thrown by {@code Method#invoke(Object, Object...)} to pass a {@code PersistenceException} to
-     * the {@code PersistenceExceptionTranslator}.
-     */
-    private class SqlSessionInterceptor implements InvocationHandler {
-        @Override
-        public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
-            final SqlSession sqlSession = getSqlSession(
-                    CustomSqlSessionTemplate.this.getSqlSessionFactory(),
-                    CustomSqlSessionTemplate.this.executorType,
-                    CustomSqlSessionTemplate.this.exceptionTranslator);
-            try {
-                Object result = method.invoke(sqlSession, args);
-                if (!isSqlSessionTransactional(sqlSession, CustomSqlSessionTemplate.this.getSqlSessionFactory())) {
-                    // force commit even on non-dirty sessions because some databases require
-                    // a commit/rollback before calling close()
-                    sqlSession.commit(true);
-                }
-                return result;
-            } catch (Throwable t) {
-                Throwable unwrapped = unwrapThrowable(t);
-                if (CustomSqlSessionTemplate.this.exceptionTranslator != null && unwrapped instanceof PersistenceException) {
-                    Throwable translated = CustomSqlSessionTemplate.this.exceptionTranslator
-                            .translateExceptionIfPossible((PersistenceException) unwrapped);
-                    if (translated != null) {
-                        unwrapped = translated;
-                    }
-                }
-                throw unwrapped;
-            } finally {
-                closeSqlSession(sqlSession, CustomSqlSessionTemplate.this.getSqlSessionFactory());
-            }
-        }
-    }
-
-    private void closeSqlSession(SqlSession sqlSession, SqlSessionFactory sqlSessionFactory) {
-    }
-}

+ 0 - 69
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/config/mybatis/DataSourceConfig.java

@@ -1,69 +0,0 @@
-package cn.reghao.tnb.mall.app.config.mybatis;
-
-import org.apache.ibatis.plugin.Interceptor;
-import org.apache.ibatis.session.SqlSessionFactory;
-import org.mybatis.spring.SqlSessionFactoryBean;
-import org.mybatis.spring.SqlSessionTemplate;
-import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
-import org.springframework.jdbc.datasource.DataSourceTransactionManager;
-import org.springframework.transaction.PlatformTransactionManager;
-
-import javax.sql.DataSource;
-
-/**
- * MyBatis 初始化配置
- * 若配置了多数据源,则不启用此配置
- *
- * @author reghao
- * @date 2021-04-26 17:48:29
- */
-//@Configuration
-public class DataSourceConfig {
-    private final DataSource dataSource;
-
-    public DataSourceConfig(@Qualifier("dynamicDataSource") DataSource dataSource) {
-        this.dataSource = dataSource;
-    }
-
-    @Bean
-    public SqlSessionFactory sqlSessionFactory() throws Exception {
-        SqlSessionFactoryBean factoryBean = new SqlSessionFactoryBean();
-        factoryBean.setDataSource(dataSource);
-        factoryBean.setPlugins(new Interceptor[]{pageListInterceptor()});
-
-        org.apache.ibatis.session.Configuration configuration = new org.apache.ibatis.session.Configuration();
-        configuration.setMapUnderscoreToCamelCase(true);
-        configuration.setDefaultFetchSize(100);
-        configuration.setDefaultStatementTimeout(600);
-        factoryBean.setConfiguration(configuration);
-
-        String location = "classpath*:mapper/**/**.xml";
-        factoryBean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources(location));
-        return factoryBean.getObject();
-    }
-
-    /**
-     * 配置 mybatis 的分页拦截器
-     *
-     * @param
-     * @return
-     * @date 2021-12-21 下午5:23
-     */
-    @Bean
-    public PageListInterceptor pageListInterceptor() {
-        return new PageListInterceptor();
-    }
-
-    @Bean(value = "sqlSession")
-    public SqlSessionTemplate sqlSessionTemplate(SqlSessionFactory sqlSessionFactory) {
-        return new SqlSessionTemplate(sqlSessionFactory);
-    }
-
-    @Bean(value = "transactionManager")
-    public PlatformTransactionManager annotationDrivenTransactionManager() {
-        return new DataSourceTransactionManager(dataSource);
-    }
-}

+ 0 - 34
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/config/mybatis/DynamicDataSource.java

@@ -1,34 +0,0 @@
-package cn.reghao.tnb.mall.app.config.mybatis;
-
-import cn.reghao.tnb.mall.app.config.DataSourceType;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource;
-
-import javax.sql.DataSource;
-import java.util.Map;
-
-/**
- * @author reghao
- * @date 2023-12-30 22:32:40
- */
-@Slf4j
-public class DynamicDataSource extends AbstractRoutingDataSource {
-    public static final ThreadLocal<String> name = new ThreadLocal<>();
-
-    public DynamicDataSource(DataSource defaultTargetDataSource, Map<Object, Object> targetDataSources) {
-        super.setDefaultTargetDataSource(defaultTargetDataSource);
-        super.setTargetDataSources(targetDataSources);
-        super.afterPropertiesSet();
-    }
-
-    @Override
-    protected Object determineCurrentLookupKey() {
-        String type = name.get();
-        if (type == null) {
-            type = DataSourceType.master.getName();
-        }
-
-        //log.info("use DataSource -> {}", type);
-        return type;
-    }
-}

+ 0 - 37
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/config/mybatis/DynamicDataSourceConfig.java

@@ -1,37 +0,0 @@
-package cn.reghao.tnb.mall.app.config.mybatis;
-
-import cn.reghao.tnb.mall.app.config.DataSourceType;
-import org.apache.shardingsphere.shardingjdbc.jdbc.core.datasource.ShardingDataSource;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-
-import javax.sql.DataSource;
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * @author reghao
- * @date 2023-12-31 01:02:45
- */
-@Configuration
-public class DynamicDataSourceConfig {
-    @Bean(name = "dynamicDataSource")
-    public DynamicDataSource dynamicDataSource(DataSource dataSource) throws Exception {
-        if (dataSource instanceof ShardingDataSource) {
-            ShardingDataSource shardingDataSource = (ShardingDataSource) dataSource;
-            Map<String, DataSource> map = shardingDataSource.getDataSourceMap();
-            DataSource dataSourceMaster = map.get(DataSourceType.master.getName());
-            DataSource dataSourceSlave = map.get(DataSourceType.slave.getName());
-            return getDynamicDataSource(dataSourceMaster, dataSourceSlave);
-        }
-
-        throw new Exception("DataSource is not ShardingDataSource");
-    }
-
-    private DynamicDataSource getDynamicDataSource(DataSource master, DataSource slave) {
-        Map<Object, Object> targetDataSources = new HashMap<>();
-        targetDataSources.put(DataSourceType.master.getName(), master);
-        targetDataSources.put(DataSourceType.slave.getName(), slave);
-        return new DynamicDataSource(master, targetDataSources);
-    }
-}

+ 0 - 85
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/config/mybatis/PageListInterceptor.java

@@ -1,85 +0,0 @@
-package cn.reghao.tnb.mall.app.config.mybatis;
-
-import cn.reghao.jutil.jdk.db.Page;
-import org.apache.ibatis.binding.MapperMethod;
-import org.apache.ibatis.executor.parameter.ParameterHandler;
-import org.apache.ibatis.executor.statement.StatementHandler;
-import org.apache.ibatis.mapping.MappedStatement;
-import org.apache.ibatis.plugin.*;
-import org.apache.ibatis.reflection.MetaObject;
-import org.apache.ibatis.reflection.SystemMetaObject;
-
-import java.sql.Connection;
-import java.util.Properties;
-
-/**
- * MyBatis 分页拦截器
- *
- * @author reghao
- * @date 2021-04-26 17:40:32
- */
-@Intercepts({@Signature(type=StatementHandler.class,method="prepare",args={Connection.class,Integer.class})})
-public class PageListInterceptor implements Interceptor {
-    private final String methodSuffix = "ByPage";
-    @Deprecated
-    private int page;
-    @Deprecated
-    private int size;
-    private String dbType;
-
-    @Override
-    public Object intercept(Invocation invocation) throws Throwable {
-        StatementHandler statementHandler = (StatementHandler)invocation.getTarget();
-        MetaObject metaObject = SystemMetaObject.forObject(statementHandler);
-        while(metaObject.hasGetter("h")){
-            Object object = metaObject.getValue("h");
-            metaObject = SystemMetaObject.forObject(object);
-        }
-
-        while(metaObject.hasGetter("target")){
-            Object object = metaObject.getValue("target");
-            metaObject = SystemMetaObject.forObject(object);
-        }
-
-        MappedStatement mappedStatement = (MappedStatement)metaObject.getValue("delegate.mappedStatement");
-        String mapId = mappedStatement.getId();
-        /*String databaseId = mappedStatement.getDatabaseId();
-        DynamicDataSource.name.set(databaseId);*/
-        if (mapId.matches(String.format(".+%s$", methodSuffix))){
-            ParameterHandler parameterHandler = (ParameterHandler)metaObject.getValue("delegate.parameterHandler");
-            Object object = parameterHandler.getParameterObject();
-            Page page;
-            if (object instanceof Page) {
-                page = (Page) object;
-            } else if (object instanceof MapperMethod.ParamMap) {
-                MapperMethod.ParamMap paramMap = (MapperMethod.ParamMap) object;
-                Object param1 = paramMap.get("param1");
-                if (param1 instanceof Page) {
-                    page = (Page) param1;
-                } else {
-                    throw new Exception("byPage 方法的第一个参数不是 Page 类型");
-                }
-            } else {
-                throw new Exception("没有 Page 类型的参数");
-            }
-
-            String sql = (String) metaObject.getValue("delegate.boundSql.sql");
-            //sql += " limit "+(page-1)*size +","+size;
-            sql += String.format(" limit %s,%s", (page.getPage()-1)*page.getSize(), page.getSize());
-            metaObject.setValue("delegate.boundSql.sql", sql);
-        }
-        return invocation.proceed();
-    }
-
-    @Override
-    public Object plugin(Object target) {
-        return Plugin.wrap(target, this);
-    }
-
-    @Override
-    public void setProperties(Properties properties) {
-        String limit = properties.getProperty("limit","10");
-        this.page = Integer.parseInt(limit);
-        this.dbType = properties.getProperty("dbType", "mysql");
-    }
-}

+ 0 - 85
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/config/mybatis/SqlSessionConfig.java

@@ -1,85 +0,0 @@
-package cn.reghao.tnb.mall.app.config.mybatis;
-
-import org.apache.ibatis.session.SqlSessionFactory;
-import org.apache.shardingsphere.shardingjdbc.jdbc.core.datasource.ShardingDataSource;
-import org.mybatis.spring.SqlSessionFactoryBean;
-import org.mybatis.spring.SqlSessionTemplate;
-import org.mybatis.spring.annotation.MapperScan;
-import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
-
-import javax.sql.DataSource;
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * @author reghao
- * @date 2023-12-31 01:04:32
- */
-@Configuration
-//@MapperScan(basePackages = "cn.reghao.springweb.db.mapper", sqlSessionTemplateRef = "sqlSessionTemplate")
-@MapperScan(basePackages = {"cn.reghao.tnb.mall.app.db.mapper", "cn.reghao.tnb.mall.app.geo.db.mapper"},
-        sqlSessionFactoryRef = "sqlSessionFactory")
-public class SqlSessionConfig {
-    //@Bean(name = "sqlSessionTemplate")
-    public SqlSessionTemplate sqlSessionTemplate(@Qualifier("shardingDataSource") DataSource dataSource) throws Exception {
-        if (dataSource instanceof ShardingDataSource) {
-            ShardingDataSource shardingDataSource = (ShardingDataSource) dataSource;
-            Map<String, DataSource> map = shardingDataSource.getDataSourceMap();
-            DataSource dataSourceMaster = map.get("master");
-            DataSource dataSourceSlave = map.get("slave");
-
-            SqlSessionFactory master = getSqlSessionFactory("master", dataSourceMaster);
-            SqlSessionFactory slave = getSqlSessionFactory("slave", dataSourceSlave);
-            Map<Object, SqlSessionFactory> factoryMap = new HashMap<>();
-            factoryMap.put("master", master);
-            factoryMap.put("slave", slave);
-
-            CustomSqlSessionTemplate sqlSessionTemplate = new CustomSqlSessionTemplate(master);
-            sqlSessionTemplate.setTargetSqlSessionFactories(factoryMap);
-            return sqlSessionTemplate;
-        }
-
-        throw new Exception("DataSource is not ShardingDataSource");
-    }
-
-    private SqlSessionFactory getSqlSessionFactory(String databaseId, DataSource dataSource) throws Exception {
-        SqlSessionFactoryBean factoryBean = new SqlSessionFactoryBean();
-        factoryBean.setDataSource(dataSource);
-        factoryBean.setPlugins(pageListInterceptor());
-
-        org.apache.ibatis.session.Configuration configuration = new org.apache.ibatis.session.Configuration();
-        configuration.setMapUnderscoreToCamelCase(true);
-        configuration.setDefaultFetchSize(100);
-        configuration.setDefaultStatementTimeout(30);
-        configuration.setDatabaseId(databaseId);
-        factoryBean.setConfiguration(configuration);
-
-        String location = "classpath*:mapper/**/**.xml";
-        factoryBean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources(location));
-        return factoryBean.getObject();
-    }
-
-    @Bean(name = "sqlSessionFactory")
-    public SqlSessionFactory sqlSessionFactory(@Qualifier("dynamicDataSource") DataSource dataSource) throws Exception {
-        SqlSessionFactoryBean factoryBean = new SqlSessionFactoryBean();
-        factoryBean.setDataSource(dataSource);
-        factoryBean.setPlugins(pageListInterceptor());
-
-        org.apache.ibatis.session.Configuration configuration = new org.apache.ibatis.session.Configuration();
-        configuration.setMapUnderscoreToCamelCase(true);
-        configuration.setDefaultFetchSize(100);
-        configuration.setDefaultStatementTimeout(30);
-        factoryBean.setConfiguration(configuration);
-
-        String location = "classpath*:mapper/**/**.xml";
-        factoryBean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources(location));
-        return factoryBean.getObject();
-    }
-
-    private PageListInterceptor pageListInterceptor() {
-        return new PageListInterceptor();
-    }
-}

+ 0 - 37
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/config/shard/DataSourceUtil.java

@@ -1,37 +0,0 @@
-package cn.reghao.tnb.mall.app.config.shard;
-
-import com.zaxxer.hikari.HikariConfig;
-import com.zaxxer.hikari.HikariDataSource;
-
-import javax.sql.DataSource;
-
-/**
- * @author reghao
- * @date 2022-03-15 18:58:56
- */
-public class DataSourceUtil {
-    private static final String HOST = "localhost";
-    private static final int PORT = 3306;
-    private static final String USERNAME = "dev";
-    private static final String PASSWORD = "Dev@123456";
-
-    public static DataSource createDataSource(final String database) {
-        HikariConfig hikariConfig = new HikariConfig();
-        hikariConfig.setMinimumIdle(5);
-        hikariConfig.setMaximumPoolSize(10);
-        hikariConfig.setAutoCommit(true);
-        hikariConfig.setIdleTimeout(30000);
-        hikariConfig.setPoolName("EvaluationHikariCP");
-        hikariConfig.setMaxLifetime(1800000);
-        hikariConfig.setConnectionTimeout(30000);
-        hikariConfig.setConnectionTestQuery("SELECT 1");
-        hikariConfig.setDriverClassName("com.mysql.cj.jdbc.Driver");
-
-        String prefix = String.format("jdbc:mysql://%s:%s/%s?", HOST, PORT, database);
-        String jdbcUrl = prefix + "useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2b8";
-        hikariConfig.setJdbcUrl(jdbcUrl);
-        hikariConfig.setUsername(USERNAME);
-        hikariConfig.setPassword(PASSWORD);
-        return new HikariDataSource(hikariConfig);
-    }
-}

+ 0 - 17
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/config/shard/ModuloShardingTableAlgorithm.java

@@ -1,17 +0,0 @@
-package cn.reghao.tnb.mall.app.config.shard;
-
-import org.apache.shardingsphere.api.sharding.standard.PreciseShardingAlgorithm;
-import org.apache.shardingsphere.api.sharding.standard.PreciseShardingValue;
-
-import java.util.Collection;
-
-/**
- * @author reghao
- * @date 2022-03-15 21:01:01
- */
-public class ModuloShardingTableAlgorithm implements PreciseShardingAlgorithm<String> {
-    @Override
-    public String doSharding(Collection<String> var1, PreciseShardingValue<String> var2) {
-        return "qq_mobile_$->{qq % 4}";
-    }
-}

+ 0 - 44
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/config/shard/ShardingDataSourceConfig.java

@@ -1,44 +0,0 @@
-package cn.reghao.tnb.mall.app.config.shard;
-
-import org.apache.shardingsphere.api.config.sharding.ShardingRuleConfiguration;
-import org.apache.shardingsphere.api.config.sharding.TableRuleConfiguration;
-import org.apache.shardingsphere.api.config.sharding.strategy.StandardShardingStrategyConfiguration;
-import org.apache.shardingsphere.shardingjdbc.api.ShardingDataSourceFactory;
-import org.springframework.context.annotation.Configuration;
-
-import javax.sql.DataSource;
-import java.sql.SQLException;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Properties;
-
-/**
- * @author reghao
- * @date 2022-03-15 18:46:37
- */
-//@Configuration
-public class ShardingDataSourceConfig {
-    private final String database = "reghao_oss_rdb";
-
-    //@Bean
-    public DataSource getShardingDataSource() throws SQLException {
-        ShardingRuleConfiguration shardingRuleConfig = new ShardingRuleConfiguration();
-        shardingRuleConfig.getTableRuleConfigs().add(getTableRuleConfiguration());
-        //shardingRuleConfig.setDefaultDatabaseShardingStrategyConfig(new InlineShardingStrategyConfiguration("qq", "qq_mobile_$->{qq % 4}"));
-        shardingRuleConfig.setDefaultTableShardingStrategyConfig(
-                new StandardShardingStrategyConfiguration("qq", new ModuloShardingTableAlgorithm()));
-        return ShardingDataSourceFactory.createDataSource(createDataSourceMap(), shardingRuleConfig, new Properties());
-    }
-
-    private TableRuleConfiguration getTableRuleConfiguration() {
-        String logicalTalbe = "qq_mobile";
-        String actualDataNodes = database + ".qq_mobile_$->{0..3}";
-        return new TableRuleConfiguration(logicalTalbe, actualDataNodes);
-    }
-
-    private Map<String, DataSource> createDataSourceMap() {
-        Map<String, DataSource> result = new HashMap<>();
-        result.put(database, DataSourceUtil.createDataSource(database));
-        return result;
-    }
-}

+ 0 - 25
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/config/spring/AppLifecycle.java

@@ -1,25 +0,0 @@
-package cn.reghao.tnb.mall.app.config.spring;
-
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.DisposableBean;
-import org.springframework.boot.ApplicationArguments;
-import org.springframework.boot.ApplicationRunner;
-import org.springframework.stereotype.Component;
-
-/**
- * @author reghao
- * @date 2022-03-28 11:54:49
- */
-@Slf4j
-@Component
-public class AppLifecycle implements ApplicationRunner, DisposableBean {
-    @Override
-    public void run(ApplicationArguments args) {
-        log.info("MallService 启动...");
-    }
-
-    @Override
-    public void destroy() {
-        log.info("MallService 停止...");
-    }
-}

+ 0 - 36
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/config/spring/JacksonConfig.java

@@ -1,36 +0,0 @@
-package cn.reghao.tnb.mall.app.config.spring;
-
-import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateDeserializer;
-import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
-import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateSerializer;
-import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
-import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-
-import java.time.LocalDate;
-import java.time.LocalDateTime;
-import java.time.format.DateTimeFormatter;
-
-/**
- * @author reghao
- * @date 2024-02-03 16:48:41
- */
-@Configuration
-public class JacksonConfig {
-    private static final String DATE_FORMAT = "yyyy-MM-dd";
-    private static final String DATE_TIME_FORMAT = "yyyy-MM-dd HH:mm:ss";
-
-    @Bean
-    public Jackson2ObjectMapperBuilderCustomizer jackson2ObjectMapperBuilderCustomizer() {
-        return jacksonObjectMapperBuilder -> {
-            // 配置 Jackson 序列化 LocalDate、LocalDateTime 时使用的格式
-            jacksonObjectMapperBuilder.serializers(new LocalDateSerializer(DateTimeFormatter.ofPattern(DATE_FORMAT)));
-            jacksonObjectMapperBuilder.serializers(new LocalDateTimeSerializer(DateTimeFormatter.ofPattern(DATE_TIME_FORMAT)));
-
-            // 配置 Jackson 反序列化 LocalDate、LocalDateTime 时使用的格式
-            jacksonObjectMapperBuilder.deserializerByType(LocalDateTime.class, new LocalDateTimeDeserializer(DateTimeFormatter.ofPattern(DATE_TIME_FORMAT)));
-            jacksonObjectMapperBuilder.deserializerByType(LocalDate.class, new LocalDateDeserializer(DateTimeFormatter.ofPattern(DATE_FORMAT)));
-        };
-    }
-}

+ 0 - 41
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/config/web/AccessLogInterceptor.java

@@ -1,41 +0,0 @@
-package cn.reghao.tnb.mall.app.config.web;
-
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.lang.Nullable;
-import org.springframework.stereotype.Component;
-import org.springframework.web.servlet.HandlerInterceptor;
-import org.springframework.web.servlet.ModelAndView;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-/**
- * 用户访问日志拦截器
- *
- * @author reghao
- * @date 2021-11-14 14:19:07
- */
-@Slf4j
-@Component
-public class AccessLogInterceptor implements HandlerInterceptor {
-    @Override
-    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
-            throws Exception {
-        String uri = request.getRequestURI();
-        String method = request.getMethod();
-        String userAgent = request.getHeader("user-agent");
-        String ipv4 = request.getRemoteAddr();
-        //log.info("{} {}", uri, method);
-        return true;
-    }
-
-    @Override
-    public void postHandle(HttpServletRequest request, HttpServletResponse response,
-                           Object handler, @Nullable ModelAndView modelAndView) throws Exception {
-    }
-
-    @Override
-    public void afterCompletion(HttpServletRequest request, HttpServletResponse response,
-                                Object handler, @Nullable Exception ex) throws Exception {
-    }
-}

+ 0 - 56
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/config/web/TokenFilter.java

@@ -1,56 +0,0 @@
-package cn.reghao.tnb.mall.app.config.web;
-
-import cn.reghao.jutil.web.ServletUtil;
-import cn.reghao.tnb.account.api.constant.TokenType;
-import cn.reghao.tnb.account.api.dto.AuthedAccount;
-import cn.reghao.tnb.account.api.iface.AccountQuery;
-import cn.reghao.tnb.common.auth.LoginUser;
-import cn.reghao.tnb.common.auth.UserContext;
-import org.apache.dubbo.config.annotation.DubboReference;
-import org.springframework.stereotype.Component;
-
-import javax.servlet.*;
-import java.io.IOException;
-
-/**
- * @author reghao
- * @date 2023-08-25 21:14:23
- */
-@Component
-public class TokenFilter implements Filter {
-    private final String cookieName = "USERDATA";
-    @DubboReference(check = false)
-    private AccountQuery accountQuery;
-
-    @Override
-    public void init(FilterConfig filterConfig) throws ServletException {
-    }
-
-    @Override
-    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
-            throws IOException, ServletException {
-        String userdata = ServletUtil.getCookie(cookieName, request);
-        AuthedAccount authedAccount = null;
-        if (userdata != null) {
-            authedAccount = accountQuery.getAuthedAccount(TokenType.cookie.getValue(), userdata);
-        } else {
-            userdata = ServletUtil.getBearerToken();
-            if (userdata != null) {
-                authedAccount = accountQuery.getAuthedAccount(TokenType.token.getValue(), userdata);
-            }
-        }
-
-        LoginUser loginUser = null;
-        if (authedAccount != null) {
-            loginUser = new LoginUser(authedAccount.getUserId());
-        }
-
-        try (UserContext context = new UserContext(loginUser)) {
-            chain.doFilter(request, response);
-        }
-    }
-
-    @Override
-    public void destroy() {
-    }
-}

+ 0 - 35
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/config/web/WebConfig.java

@@ -1,35 +0,0 @@
-package cn.reghao.tnb.mall.app.config.web;
-
-import org.springframework.boot.web.servlet.FilterRegistrationBean;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
-import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
-
-import javax.servlet.Filter;
-
-/**
- * @author reghao
- * @date 2023-08-25 21:14:23
- */
-@Configuration
-public class WebConfig implements WebMvcConfigurer {
-    private final AccessLogInterceptor accessLogInterceptor;
-
-    public WebConfig(AccessLogInterceptor accessLogInterceptor) {
-        this.accessLogInterceptor = accessLogInterceptor;
-    }
-
-    @Override
-    public void addInterceptors(InterceptorRegistry registry) {
-        registry.addInterceptor(accessLogInterceptor);
-    }
-
-    @Bean
-    public FilterRegistrationBean<Filter> filterRegistrationBean(TokenFilter tokenFilter) {
-        FilterRegistrationBean<Filter> registrationBean = new FilterRegistrationBean<>();
-        registrationBean.setFilter(tokenFilter);
-        registrationBean.addUrlPatterns("*");
-        return registrationBean;
-    }
-}

+ 0 - 59
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/controller/CartController.java

@@ -1,59 +0,0 @@
-package cn.reghao.tnb.mall.app.controller;
-
-import cn.reghao.jutil.web.WebResult;
-import cn.reghao.tnb.common.auth.AuthUser;
-import cn.reghao.tnb.common.auth.UserContext;
-import cn.reghao.tnb.mall.app.model.dto.CartDto;
-import cn.reghao.tnb.mall.app.model.vo.CartCard;
-import cn.reghao.tnb.mall.app.service.CartService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.springframework.http.MediaType;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.*;
-
-import java.util.List;
-
-/**
- * @author reghao
- * @date 2024-04-16 10:54:44
- */
-@Api(tags = "购物车接口")
-@RestController
-@RequestMapping("/api/mall/cart")
-public class CartController {
-    private final CartService cartService;
-
-    public CartController(CartService cartService) {
-        this.cartService = cartService;
-    }
-
-    @ApiOperation(value = "将商品加入购物车", notes = "N")
-    @AuthUser
-    @PostMapping("")
-    public String addCart(@RequestBody @Validated CartDto cartDto) {
-        long loginUser = UserContext.getUser();
-        long itemId = cartDto.getItemId();
-        int num = cartDto.getNum();
-        cartService.addCartItem(loginUser, itemId, num);
-        return WebResult.success();
-    }
-
-    @ApiOperation(value = "从购物车中删除商品", notes = "N")
-    @AuthUser
-    @DeleteMapping("/{itemId}")
-    public String deleteItem(@PathVariable("itemId") Long itemId) {
-        long loginUser = UserContext.getUser();
-        cartService.deleteCartItem(loginUser, itemId);
-        return WebResult.success();
-    }
-
-    @ApiOperation(value = "获取购物车中的商品", notes = "N")
-    @AuthUser
-    @GetMapping(value = "", produces = MediaType.APPLICATION_JSON_VALUE)
-    public String getCartItems() {
-        long loginUser = UserContext.getUser();
-        List<CartCard> list = cartService.getUserCart(loginUser);
-        return WebResult.success(list);
-    }
-}

+ 0 - 51
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/controller/DeliveryController.java

@@ -1,51 +0,0 @@
-package cn.reghao.tnb.mall.app.controller;
-
-import cn.reghao.jutil.web.WebResult;
-import cn.reghao.tnb.common.auth.AuthUser;
-import cn.reghao.tnb.common.auth.UserContext;
-import cn.reghao.tnb.mall.app.model.po.Delivery;
-import cn.reghao.tnb.mall.app.service.DeliveryService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.springframework.http.MediaType;
-import org.springframework.web.bind.annotation.*;
-
-import java.util.List;
-
-/**
- * @author reghao
- * @date 2024-04-26 11:45:14
- */
-@Api(tags = "收货地址接口")
-@RestController
-@RequestMapping("/api/mall/delivery")
-public class DeliveryController {
-    private final DeliveryService deliveryService;
-
-    public DeliveryController(DeliveryService deliveryService) {
-        this.deliveryService = deliveryService;
-    }
-
-    @ApiOperation(value = "添加收获地址", notes = "N")
-    @AuthUser
-    @PostMapping(value = "", produces = MediaType.APPLICATION_JSON_VALUE)
-    public String addDeliveryAddress() {
-        return WebResult.success();
-    }
-
-    @ApiOperation(value = "删除收获地址", notes = "N")
-    @AuthUser
-    @DeleteMapping(value = "", produces = MediaType.APPLICATION_JSON_VALUE)
-    public String deleteDeliveryAddress() {
-        return WebResult.success();
-    }
-
-    @ApiOperation(value = "获取用户的收获地址列表", notes = "N")
-    @AuthUser
-    @GetMapping(value = "", produces = MediaType.APPLICATION_JSON_VALUE)
-    public String getDeliveryAddress() {
-        long loginUser = UserContext.getUser();
-        List<Delivery> list = deliveryService.getUserAddresses(loginUser);
-        return WebResult.success(list);
-    }
-}

+ 0 - 55
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/controller/LogisticsController.java

@@ -1,55 +0,0 @@
-package cn.reghao.tnb.mall.app.controller;
-
-import cn.reghao.jutil.web.WebResult;
-import cn.reghao.tnb.common.auth.AuthUser;
-import cn.reghao.tnb.common.auth.UserContext;
-import cn.reghao.tnb.mall.app.model.po.Logistics;
-import cn.reghao.tnb.mall.app.model.po.LogisticsProgress;
-import cn.reghao.tnb.mall.app.service.LogisticsService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.springframework.http.MediaType;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.*;
-
-import java.util.List;
-
-/**
- * @author reghao
- * @date 2024-09-19 09:06:30
- */
-@Api(tags = "订单物流接口")
-@RestController
-@RequestMapping("/api/mall/logistics")
-public class LogisticsController {
-    private final LogisticsService logisticsService;
-
-    public LogisticsController(LogisticsService logisticsService) {
-        this.logisticsService = logisticsService;
-    }
-
-    @ApiOperation(value = "添加订单物流", notes = "N")
-    @AuthUser
-    @PostMapping(value = "/order", produces = MediaType.APPLICATION_JSON_VALUE)
-    public String putOrderLogistics(@RequestBody @Validated Logistics logistics) {
-        logisticsService.putOrderLogistics(logistics);
-        return WebResult.success();
-    }
-
-    @ApiOperation(value = "更新订单物流进度", notes = "N")
-    @AuthUser
-    @PostMapping(value = "/progress", produces = MediaType.APPLICATION_JSON_VALUE)
-    public String putOrderLogisticsProgress(@RequestBody @Validated LogisticsProgress logisticsProgress) {
-        logisticsService.putOrderLogisticsProgress(logisticsProgress);
-        return WebResult.success();
-    }
-
-    @ApiOperation(value = "获取订单物流进度", notes = "N")
-    @AuthUser
-    @GetMapping(value = "/order/{orderId}", produces = MediaType.APPLICATION_JSON_VALUE)
-    public String getOrderLogistics(@PathVariable("orderId") Long orderId) {
-        long userId = UserContext.getUser();
-        List<LogisticsProgress> list = logisticsService.getOrderLogistics(userId, orderId);
-        return WebResult.success(list);
-    }
-}

+ 0 - 79
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/controller/OrderController.java

@@ -1,79 +0,0 @@
-package cn.reghao.tnb.mall.app.controller;
-
-import cn.reghao.jutil.jdk.result.Result;
-import cn.reghao.jutil.web.WebResult;
-import cn.reghao.tnb.common.auth.AuthUser;
-import cn.reghao.tnb.mall.app.model.dto.OrderDto;
-import cn.reghao.tnb.mall.app.model.vo.OrderDetail;
-import cn.reghao.tnb.mall.app.service.OrderService;
-import cn.reghao.tnb.mall.app.service.PayService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.*;
-
-import java.util.List;
-
-/**
- * @author reghao
- * @date 2024-04-16 10:54:52
- */
-@Api(tags = "订单接口")
-@RestController
-@RequestMapping("/api/mall/order")
-public class OrderController {
-    private final OrderService orderService;
-    private final PayService payService;
-
-    public OrderController(OrderService orderService, PayService payService) {
-        this.orderService = orderService;
-        this.payService = payService;
-    }
-
-    @AuthUser
-    @ApiOperation(value = "提交订单", notes = "N")
-    @PostMapping("")
-    public String submitOrder(@RequestBody @Validated OrderDto orderDto) {
-        long orderId = orderService.submitOrder(orderDto);
-        return WebResult.success(orderId);
-    }
-
-    @AuthUser
-    @ApiOperation(value = "取消订单", notes = "N")
-    @PostMapping("/cancel/{orderId}")
-    public String cancelOrder(@PathVariable("orderId") Long orderId) {
-        return WebResult.success();
-    }
-
-    @ApiOperation(value = "支付订单", notes = "N")
-    @AuthUser
-    @PostMapping("/pay/{orderId}")
-    public String payOrder(@PathVariable("orderId") Long orderId) {
-        Result result = payService.pay(orderId);
-        return WebResult.result(result);
-    }
-
-    @ApiOperation(value = "订单退款", notes = "N")
-    @AuthUser
-    @PostMapping("/refund/{orderId}")
-    public String refund(@PathVariable("orderId") Long orderId) {
-        Result result = payService.pay(orderId);
-        return WebResult.result(result);
-    }
-
-    @AuthUser
-    @ApiOperation(value = "获取订单列表", notes = "N")
-    @GetMapping("")
-    public String getOrders() {
-        List<OrderDetail> list = orderService.getOrders(1);
-        return WebResult.success(list);
-    }
-
-    @AuthUser
-    @ApiOperation(value = "获取订单详情", notes = "N")
-    @GetMapping("/{orderId}")
-    public String getOrderDetail(@PathVariable("orderId") Long orderId) {
-        OrderDetail orderDetail = orderService.getOrderDetail(orderId);
-        return WebResult.success(orderDetail);
-    }
-}

+ 0 - 59
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/controller/ProductController.java

@@ -1,59 +0,0 @@
-package cn.reghao.tnb.mall.app.controller;
-
-import cn.reghao.jutil.jdk.db.PageList;
-import cn.reghao.jutil.jdk.result.Result;
-import cn.reghao.jutil.web.WebResult;
-import cn.reghao.tnb.mall.api.dto.TaobaoItem;
-import cn.reghao.tnb.mall.app.model.dto.ProductAddDto;
-import cn.reghao.tnb.mall.app.model.po.Product;
-import cn.reghao.tnb.mall.app.service.ProductService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.springframework.http.MediaType;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.*;
-
-import java.util.List;
-
-/**
- * @author reghao
- * @date 2024-04-16 10:53:54
- */
-@Api(tags = "商品接口")
-@RestController
-@RequestMapping("/api/mall/product")
-public class ProductController {
-    private final ProductService productService;
-
-    public ProductController(ProductService productService) {
-        this.productService = productService;
-    }
-
-    @ApiOperation(value = "添加淘宝商品", notes = "N")
-    @PostMapping("/taobao")
-    public String addCam(@RequestBody @Validated TaobaoItem taobaoItem) {
-        productService.add(taobaoItem);
-        return WebResult.success();
-    }
-
-    @ApiOperation(value = "发布商品", notes = "N")
-    @PostMapping("")
-    public String addProduct(@RequestBody @Validated ProductAddDto productAddDto) throws Exception {
-        Result result = productService.addProduct(productAddDto);
-        return WebResult.result(result);
-    }
-
-    @ApiOperation(value = "获取商品列表", notes = "N")
-    @GetMapping(value = "", produces = MediaType.APPLICATION_JSON_VALUE)
-    public String getUserCams(@RequestParam("page") int page) {
-        PageList<Product> pageList = productService.getPage(page);
-        return WebResult.success(pageList);
-    }
-
-    @ApiOperation(value = "获取商品详情", notes = "N")
-    @GetMapping(value = "/{itemId}", produces = MediaType.APPLICATION_JSON_VALUE)
-    public String getProduct(@PathVariable("itemId") Long itemId) {
-        Product product = productService.getProduct(itemId);
-        return WebResult.success(product);
-    }
-}

+ 0 - 16
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/db/mapper/DeliveryMapper.java

@@ -1,16 +0,0 @@
-package cn.reghao.tnb.mall.app.db.mapper;
-
-import cn.reghao.jutil.jdk.db.BaseMapper;
-import cn.reghao.tnb.mall.app.model.po.Delivery;
-import org.apache.ibatis.annotations.Mapper;
-
-import java.util.List;
-
-/**
- * @author reghao
- * @date 2024-04-19 09:46:32
- */
-@Mapper
-public interface DeliveryMapper extends BaseMapper<Delivery> {
-    List<Delivery> findByOwner(long owner);
-}

+ 0 - 15
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/db/mapper/LogisticsMapper.java

@@ -1,15 +0,0 @@
-package cn.reghao.tnb.mall.app.db.mapper;
-
-import cn.reghao.jutil.jdk.db.BaseMapper;
-import cn.reghao.tnb.mall.app.model.po.Logistics;
-import org.apache.ibatis.annotations.Mapper;
-
-/**
- * @author reghao
- * @date 2024-09-19 09:01:13
- */
-@Mapper
-public interface LogisticsMapper extends BaseMapper<Logistics> {
-    Logistics findByOrderId(long orderId);
-    Logistics findByLogisticsId(String logisticsId);
-}

+ 0 - 16
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/db/mapper/LogisticsProgressMapper.java

@@ -1,16 +0,0 @@
-package cn.reghao.tnb.mall.app.db.mapper;
-
-import cn.reghao.jutil.jdk.db.BaseMapper;
-import cn.reghao.tnb.mall.app.model.po.LogisticsProgress;
-import org.apache.ibatis.annotations.Mapper;
-
-import java.util.List;
-
-/**
- * @author reghao
- * @date 2024-09-19 09:23:55
- */
-@Mapper
-public interface LogisticsProgressMapper extends BaseMapper<LogisticsProgress> {
-    List<LogisticsProgress> findByLogisticsId(String logisticsId);
-}

+ 0 - 20
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/db/mapper/OrderMapper.java

@@ -1,20 +0,0 @@
-package cn.reghao.tnb.mall.app.db.mapper;
-
-import cn.reghao.jutil.jdk.db.BaseMapper;
-import cn.reghao.tnb.mall.app.model.po.Order;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-
-import java.util.List;
-
-/**
- * @author reghao
- * @date 2024-04-16 10:56:47
- */
-@Mapper
-public interface OrderMapper extends BaseMapper<Order> {
-    void updateOrderStatus(@Param("orderId") long orderId, @Param("status") int status);
-
-    List<Order> findByOwner(int pageSize, long owner);
-    Order findByOrderId(long orderId);
-}

+ 0 - 16
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/db/mapper/ProductMapper.java

@@ -1,16 +0,0 @@
-package cn.reghao.tnb.mall.app.db.mapper;
-
-import cn.reghao.jutil.jdk.db.BaseMapper;
-import cn.reghao.tnb.mall.app.model.po.Product;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-
-/**
- * @author reghao
- * @date 2024-04-16 10:56:38
- */
-@Mapper
-public interface ProductMapper extends BaseMapper<Product> {
-    void updateStockMinus(@Param("itemId") long itemId, @Param("num") int num);
-    Product findByItemId(long itemId);
-}

+ 0 - 14
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/db/mapper/ProductSnapshotMapper.java

@@ -1,14 +0,0 @@
-package cn.reghao.tnb.mall.app.db.mapper;
-
-import cn.reghao.jutil.jdk.db.BaseMapper;
-import cn.reghao.tnb.mall.app.model.po.ProductSnapshot;
-import org.apache.ibatis.annotations.Mapper;
-
-/**
- * @author reghao
- * @date 2024-04-26 16:37:48
- */
-@Mapper
-public interface ProductSnapshotMapper extends BaseMapper<ProductSnapshot> {
-    ProductSnapshot findByOrderId(long orderId);
-}

+ 0 - 27
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/db/repository/MallRepository.java

@@ -1,27 +0,0 @@
-package cn.reghao.tnb.mall.app.db.repository;
-
-import cn.reghao.tnb.mall.app.model.po.Product;
-import cn.reghao.tnb.mall.app.db.mapper.ProductMapper;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.cache.annotation.Cacheable;
-import org.springframework.stereotype.Repository;
-
-/**
- * @author reghao
- * @date 2024-04-16 15:27:35
- */
-@Slf4j
-@Repository
-public class MallRepository {
-    private final ProductMapper productMapper;
-
-    public MallRepository(ProductMapper productMapper) {
-        this.productMapper = productMapper;
-    }
-
-    @Cacheable(cacheNames = "tnb:mall:product", key = "#itemId", unless = "#result == null")
-    public Product getProduct(Long itemId) {
-        log.info("miss cache");
-        return productMapper.findByItemId(itemId);
-    }
-}

+ 0 - 109
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/geo/controller/MapController.java

@@ -1,109 +0,0 @@
-package cn.reghao.tnb.mall.app.geo.controller;
-
-import cn.reghao.jutil.web.WebResult;
-import cn.reghao.tnb.common.db.SelectOption;
-import cn.reghao.tnb.mall.api.dto.geo.JobLoc;
-import cn.reghao.tnb.mall.api.dto.geo.MallReplyDto;
-import cn.reghao.tnb.mall.api.dto.geo.MallReplyPhotoDto;
-import cn.reghao.tnb.mall.app.geo.model.vo.MapPoint;
-import cn.reghao.tnb.mall.app.geo.model.vo.MapMarker;
-import cn.reghao.tnb.mall.app.geo.model.vo.MarkerInfo;
-import cn.reghao.tnb.mall.app.geo.service.EarthService;
-import cn.reghao.tnb.mall.app.geo.service.JobLocationService;
-import cn.reghao.tnb.mall.app.geo.service.MapService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.springframework.http.MediaType;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.*;
-
-import java.util.List;
-
-/**
- * @author reghao
- * @date 2023-08-31 10:32:28
- */
-@Api(tags = "地图接口")
-@RestController
-@RequestMapping("/api/mall/map")
-public class MapController {
-    private final MapService mapService;
-    private final EarthService earthService;
-    private final JobLocationService jobLocationService;
-
-    public MapController(MapService mapService, EarthService earthService, JobLocationService jobLocationService) {
-        this.mapService = mapService;
-        this.earthService = earthService;
-        this.jobLocationService = jobLocationService;
-    }
-
-    @ApiOperation(value = "添加工作位置", notes = "N")
-    @PostMapping(value = "/job", produces = MediaType.APPLICATION_JSON_VALUE)
-    public String addJobLocation(@RequestBody JobLoc jobLoc) {
-        jobLocationService.addJobLocation(jobLoc);
-        return WebResult.success();
-    }
-
-    @ApiOperation(value = "检查淘宝商品评论是否存在", notes = "N")
-    @GetMapping(value = "/reply/{replyId}", produces = MediaType.APPLICATION_JSON_VALUE)
-    public String checkReply(@PathVariable("replyId") String replyId) {
-        boolean exist = mapService.checkReplyId(replyId);
-        return WebResult.success(exist);
-    }
-
-    @ApiOperation(value = "添加淘宝商品评论", notes = "N")
-    @PostMapping(value = "/reply", produces = MediaType.APPLICATION_JSON_VALUE)
-    public String addReply(@RequestBody @Validated MallReplyDto mallReplyDto) {
-        mapService.addTmallReply(mallReplyDto);
-        return WebResult.success();
-    }
-
-    @ApiOperation(value = "添加淘宝商品评论中的照片", notes = "N")
-    @PostMapping(value = "/photo", produces = MediaType.APPLICATION_JSON_VALUE)
-    public String addPhoto(@RequestBody List<MallReplyPhotoDto> list) {
-        mapService.addCameraPhotos(list);
-        return WebResult.success();
-    }
-
-    @ApiOperation(value = "获取地图中标记的点", notes = "N")
-    @GetMapping(value = "/markers", produces = MediaType.APPLICATION_JSON_VALUE)
-    public String getMapMarkers(@RequestParam("type") Integer type) {
-        List<MapMarker> list = mapService.getMapMarkers(type);
-        return WebResult.success(list);
-    }
-
-    @ApiOperation(value = "获取 GoogleEarth kml 文件", notes = "N")
-    @GetMapping(value = "/markers/earth", produces = MediaType.APPLICATION_JSON_VALUE)
-    public void getEarthMarkers(@RequestParam("type") Integer type) throws Exception {
-        List<MapMarker> list = mapService.getMapMarkers(type);
-        earthService.getEarthKml(list);
-    }
-
-    @ApiOperation(value = "获取地图中标记点的详情", notes = "N")
-    @GetMapping(value = "/marker", produces = MediaType.APPLICATION_JSON_VALUE)
-    public String getMarkerInfo(@RequestParam("id") String id) {
-        MarkerInfo markerInfo = mapService.getMarkerInfo(id);
-        return WebResult.success(markerInfo);
-    }
-
-    @ApiOperation(value = "获取地图中标记点分类的 select options 列表", notes = "N")
-    @GetMapping(value = "/item", produces = MediaType.APPLICATION_JSON_VALUE)
-    public String getGeoItems() {
-        List<SelectOption> selectOptions = mapService.getGeoItems();
-        return WebResult.success(selectOptions);
-    }
-
-    @ApiOperation(value = "添加一个经纬度坐标", notes = "N")
-    @PostMapping(value = "/point", produces = MediaType.APPLICATION_JSON_VALUE)
-    public String addGeoPoint(@RequestBody @Validated MapPoint mapPoint) {
-        mapService.addGeoPoint(mapPoint);
-        return WebResult.success();
-    }
-
-    @ApiOperation(value = "获取经纬度坐标列表", notes = "N")
-    @GetMapping(value = "/point", produces = MediaType.APPLICATION_JSON_VALUE)
-    public String getGeoPoint() {
-        List list = mapService.getGeoPoints();
-        return WebResult.success(list);
-    }
-}

+ 0 - 19
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/geo/db/mapper/BusStationMapper.java

@@ -1,19 +0,0 @@
-package cn.reghao.tnb.mall.app.geo.db.mapper;
-
-import cn.reghao.jutil.jdk.db.BaseMapper;
-import cn.reghao.tnb.mall.app.geo.model.po.BusStation;
-import cn.reghao.tnb.mall.app.geo.model.vo.PublicBus;
-import org.apache.ibatis.annotations.Mapper;
-
-import java.util.List;
-
-/**
- * @author reghao
- * @date 2024-08-22 22:30:58
- */
-@Mapper
-public interface BusStationMapper extends BaseMapper<BusStation> {
-    List<PublicBus> findByLineName(String lineName);
-    List<BusStation> findByStationName(String stationName);
-    List<String> findByGroupLineName();
-}

+ 0 - 25
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/geo/db/mapper/CameraPhotoMapper.java

@@ -1,25 +0,0 @@
-package cn.reghao.tnb.mall.app.geo.db.mapper;
-
-import cn.reghao.jutil.jdk.db.BaseMapper;
-import cn.reghao.tnb.mall.app.geo.model.po.CameraPhoto;
-import cn.reghao.tnb.mall.app.geo.model.vo.MapMarker;
-import cn.reghao.tnb.mall.app.geo.model.vo.MarkerInfo;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-
-import java.util.List;
-
-/**
- * @author reghao
- * @date 2024-09-07 12:01:54
- */
-@Mapper
-public interface CameraPhotoMapper extends BaseMapper<CameraPhoto> {
-    void updateSetAlbumId(@Param("objectId") String objectId, @Param("albumId") Long albumId);
-
-    List<MapMarker> findByGeoGroup(int pageSize);
-    List<MapMarker> findByWestGeoGroup(int pageSize);
-    List<MapMarker> findByAlbumId(int pageSize, long albumId);
-    MarkerInfo findMarkerInfoById(String id);
-    CameraPhoto findByObjectId(String objectId);
-}

+ 0 - 14
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/geo/db/mapper/GeoEarthMapper.java

@@ -1,14 +0,0 @@
-package cn.reghao.tnb.mall.app.geo.db.mapper;
-
-import cn.reghao.jutil.jdk.db.BaseMapper;
-import cn.reghao.tnb.mall.app.geo.model.po.GeoEarth;
-import org.apache.ibatis.annotations.Mapper;
-
-/**
- * @author reghao
- * @date 2023-09-12 11:44:17
- */
-@Mapper
-public interface GeoEarthMapper extends BaseMapper<GeoEarth> {
-    GeoEarth findByName(String name);
-}

+ 0 - 13
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/geo/db/mapper/GeoItemMapper.java

@@ -1,13 +0,0 @@
-package cn.reghao.tnb.mall.app.geo.db.mapper;
-
-import cn.reghao.jutil.jdk.db.BaseMapper;
-import cn.reghao.tnb.mall.app.geo.model.po.GeoItem;
-import org.apache.ibatis.annotations.Mapper;
-
-/**
- * @author reghao
- * @date 2024-09-10 14:30:23
- */
-@Mapper
-public interface GeoItemMapper extends BaseMapper<GeoItem> {
-}

+ 0 - 13
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/geo/db/mapper/GeoPointMapper.java

@@ -1,13 +0,0 @@
-package cn.reghao.tnb.mall.app.geo.db.mapper;
-
-import cn.reghao.jutil.jdk.db.BaseMapper;
-import cn.reghao.tnb.mall.app.geo.model.po.GeoPoint;
-import org.apache.ibatis.annotations.Mapper;
-
-/**
- * @author reghao
- * @date 2024-09-10 17:37:19
- */
-@Mapper
-public interface GeoPointMapper extends BaseMapper<GeoPoint> {
-}

+ 0 - 17
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/geo/db/mapper/GeoPolygonMapper.java

@@ -1,17 +0,0 @@
-package cn.reghao.tnb.mall.app.geo.db.mapper;
-
-import cn.reghao.jutil.jdk.db.BaseMapper;
-import cn.reghao.tnb.mall.app.geo.model.vo.MapPoint;
-import cn.reghao.tnb.mall.app.geo.model.po.GeoPolygon;
-import org.apache.ibatis.annotations.Mapper;
-
-import java.util.List;
-
-/**
- * @author reghao
- * @date 2023-09-12 15:20:49
- */
-@Mapper
-public interface GeoPolygonMapper extends BaseMapper<GeoPolygon> {
-    List<Integer> findByPoint(MapPoint mapPoint);
-}

+ 0 - 15
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/geo/db/mapper/GeoScopeMapper.java

@@ -1,15 +0,0 @@
-package cn.reghao.tnb.mall.app.geo.db.mapper;
-
-import cn.reghao.jutil.jdk.db.BaseMapper;
-import cn.reghao.tnb.mall.app.geo.model.po.GeoScope;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-
-/**
- * @author reghao
- * @date 2023-09-11 18:09:02
- */
-@Mapper
-public interface GeoScopeMapper extends BaseMapper<GeoScope> {
-    GeoScope findByName(@Param("name") String name);
-}

+ 0 - 17
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/geo/db/mapper/JobLocationMapper.java

@@ -1,17 +0,0 @@
-package cn.reghao.tnb.mall.app.geo.db.mapper;
-
-import cn.reghao.jutil.jdk.db.BaseMapper;
-import cn.reghao.tnb.mall.app.geo.model.po.JobLocation;
-import cn.reghao.tnb.mall.app.geo.model.vo.MapMarker;
-import org.apache.ibatis.annotations.Mapper;
-
-import java.util.List;
-
-/**
- * @author reghao
- * @date 2024-11-24 14:18:23
- */
-@Mapper
-public interface JobLocationMapper extends BaseMapper<JobLocation> {
-    List<MapMarker> findMapMarker();
-}

+ 0 - 18
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/geo/db/mapper/MallReplyMapper.java

@@ -1,18 +0,0 @@
-package cn.reghao.tnb.mall.app.geo.db.mapper;
-
-import cn.reghao.jutil.jdk.db.BaseMapper;
-import cn.reghao.tnb.mall.app.geo.model.po.MallReply;
-import org.apache.ibatis.annotations.Mapper;
-
-import java.util.List;
-
-/**
- * @author reghao
- * @date 2023-08-27 13:23:13
- */
-@Mapper
-public interface MallReplyMapper extends BaseMapper<MallReply> {
-    List<MallReply> findByItemType(int itemType);
-    List<MallReply> findByItemId(String itemId);
-    MallReply findByReplyId(String replyId);
-}

+ 0 - 26
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/geo/db/mapper/MallReplyPhotoMapper.java

@@ -1,26 +0,0 @@
-package cn.reghao.tnb.mall.app.geo.db.mapper;
-
-import cn.reghao.jutil.jdk.db.BaseMapper;
-import cn.reghao.tnb.mall.app.geo.model.po.GeoScope;
-import cn.reghao.tnb.mall.app.geo.model.vo.MapMarker;
-import cn.reghao.tnb.mall.app.geo.model.vo.MarkerInfo;
-import cn.reghao.tnb.mall.app.geo.model.po.MallReplyPhoto;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-
-import java.util.List;
-
-/**
- * @author reghao
- * @date 2023-08-27 13:23:13
- */
-@Mapper
-public interface MallReplyPhotoMapper extends BaseMapper<MallReplyPhoto> {
-    List<MapMarker> findAllByReplyIdGroup(int pageSize);
-    List<MapMarker> findByReplyIdGroup(int pageSize, int itemType);
-    List<MapMarker> findByGeoScope(@Param("pageSize") int pageSize,
-                                   @Param("itemType") int itemType,
-                                   @Param("geoScope") GeoScope geoScope);
-    List<MapMarker> findByWestChina(int pageSize, int itemType);
-    MarkerInfo findMarkerInfoById(int id);
-}

+ 0 - 30
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/geo/model/po/BusStation.java

@@ -1,30 +0,0 @@
-package cn.reghao.tnb.mall.app.geo.model.po;
-
-import cn.reghao.jutil.jdk.db.BaseObject;
-import lombok.Getter;
-import lombok.NoArgsConstructor;
-import lombok.Setter;
-
-/**
- * @author reghao
- * @date 2024-08-22 22:15:09
- */
-@NoArgsConstructor
-@Setter
-@Getter
-public class BusStation extends BaseObject<Integer> {
-    private long lng;
-    private long lat;
-    private String stationName;
-    private int pm;
-    private int tid;
-    private String lineName;
-
-    public BusStation(long lng, long lat, String stationName, int pm, int tid) {
-        this.lng = lng;
-        this.lat = lat;
-        this.stationName = stationName;
-        this.pm = pm;
-        this.tid = tid;
-    }
-}

+ 0 - 42
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/geo/model/po/CameraPhoto.java

@@ -1,42 +0,0 @@
-package cn.reghao.tnb.mall.app.geo.model.po;
-
-import cn.reghao.jutil.jdk.db.BaseObject;
-import cn.reghao.tnb.mall.api.dto.geo.MallReplyPhotoDto;
-import lombok.Getter;
-import lombok.NoArgsConstructor;
-import lombok.Setter;
-
-import java.math.BigDecimal;
-import java.time.LocalDateTime;
-
-/**
- * @author reghao
- * @date 2024-09-07 12:01:03
- */
-@NoArgsConstructor
-@Setter
-@Getter
-public class CameraPhoto extends BaseObject<Integer> {
-    private Long albumId;
-    private String objectId;
-    private Integer channelId;
-    private String photoUrl;
-    private String manufacturer;
-    private String model;
-    private String software;
-    private LocalDateTime shotAt;
-    private BigDecimal longitude;
-    private BigDecimal latitude;
-
-    public CameraPhoto(MallReplyPhotoDto mallReplyPhotoDto) {
-        this.albumId = 0L;
-        this.objectId = mallReplyPhotoDto.getUploadId();
-        this.channelId = mallReplyPhotoDto.getChannelId();
-        this.photoUrl = mallReplyPhotoDto.getPhotoUrl();
-        this.manufacturer = mallReplyPhotoDto.getManufacturer();
-        this.model = mallReplyPhotoDto.getModel();
-        this.software = mallReplyPhotoDto.getSoftware();
-        this.longitude = BigDecimal.valueOf(mallReplyPhotoDto.getLongitude());
-        this.latitude = BigDecimal.valueOf(mallReplyPhotoDto.getLatitude());
-    }
-}

+ 0 - 13
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/geo/model/po/GeoEarth.java

@@ -1,13 +0,0 @@
-package cn.reghao.tnb.mall.app.geo.model.po;
-
-import lombok.Getter;
-
-/**
- * @author reghao
- * @date 2023-09-12 11:43:50
- */
-@Getter
-public class GeoEarth {
-    private String name;
-    private String template;
-}

+ 0 - 16
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/geo/model/po/GeoItem.java

@@ -1,16 +0,0 @@
-package cn.reghao.tnb.mall.app.geo.model.po;
-
-import lombok.AllArgsConstructor;
-import lombok.Getter;
-
-/**
- * @author reghao
- * @date 2024-09-10 14:29:32
- */
-@AllArgsConstructor
-@Getter
-public class GeoItem {
-    private Integer id;
-    private String name;
-    private Integer total;
-}

+ 0 - 29
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/geo/model/po/GeoPoint.java

@@ -1,29 +0,0 @@
-package cn.reghao.tnb.mall.app.geo.model.po;
-
-import cn.reghao.jutil.jdk.db.BaseObject;
-import cn.reghao.tnb.common.auth.UserContext;
-import cn.reghao.tnb.mall.app.geo.model.vo.MapPoint;
-import lombok.Getter;
-import lombok.NoArgsConstructor;
-
-import java.math.BigDecimal;
-
-/**
- * @author reghao
- * @date 2024-09-10 17:37:07
- */
-@NoArgsConstructor
-@Getter
-public class GeoPoint extends BaseObject<Integer> {
-    // 经度
-    private BigDecimal longitude;
-    // 纬度
-    private BigDecimal latitude;
-    private Long createBy;
-
-    public GeoPoint(MapPoint mapPoint) {
-        this.longitude = BigDecimal.valueOf(mapPoint.getLng());
-        this.latitude = BigDecimal.valueOf(mapPoint.getLat());
-        this.createBy = UserContext.getUser();
-    }
-}

+ 0 - 27
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/geo/model/po/GeoPolygon.java

@@ -1,27 +0,0 @@
-package cn.reghao.tnb.mall.app.geo.model.po;
-
-import lombok.AllArgsConstructor;
-import lombok.Getter;
-import lombok.NoArgsConstructor;
-import lombok.Setter;
-
-import java.math.BigDecimal;
-
-/**
- * @author reghao
- * @date 2023-09-12 15:19:41
- */
-@NoArgsConstructor
-@AllArgsConstructor
-@Setter
-@Getter
-public class GeoPolygon {
-    private Integer id;
-    private Integer pid;
-    private Integer deep;
-    private String name;
-    private String extName;
-    private BigDecimal longitude;
-    private BigDecimal latitude;
-    private String polygon;
-}

+ 0 - 37
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/geo/model/po/GeoScope.java

@@ -1,37 +0,0 @@
-package cn.reghao.tnb.mall.app.geo.model.po;
-
-import lombok.AllArgsConstructor;
-import lombok.Getter;
-import lombok.NoArgsConstructor;
-import lombok.Setter;
-
-import java.io.Serializable;
-import java.math.BigDecimal;
-
-/**
- * @author reghao
- * @date 2023-09-11 17:18:31
- */
-@NoArgsConstructor
-@AllArgsConstructor
-@Setter
-@Getter
-public class GeoScope implements Serializable {
-    private static final long serialVersionUID = 1L;
-
-    private int id;
-    private int pid;
-    private String name;
-    // 起始经度
-    private BigDecimal lngEast;
-    private BigDecimal lngWest;
-    // 起始纬度
-    private BigDecimal latNorth;
-    private BigDecimal latSouth;
-
-    public GeoScope(int id, int pid, String name) {
-        this.id = id;
-        this.pid = pid;
-        this.name = name;
-    }
-}

+ 0 - 39
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/geo/model/po/JobLocation.java

@@ -1,39 +0,0 @@
-package cn.reghao.tnb.mall.app.geo.model.po;
-
-import cn.reghao.jutil.jdk.db.BaseObject;
-import cn.reghao.tnb.mall.api.dto.geo.JobLoc;
-import lombok.Getter;
-import lombok.NoArgsConstructor;
-
-import java.math.BigDecimal;
-import java.time.LocalDateTime;
-
-/**
- * @author reghao
- * @date 2024-11-24 14:08:53
- */
-@NoArgsConstructor
-@Getter
-public class JobLocation extends BaseObject<Integer> {
-    private String companyName;
-    private LocalDateTime issueDate;
-    private String jobHref;
-    private String jobDescribe;
-    private long salaryMin;
-    private long salaryMax;
-    private String salaryStr;
-    private BigDecimal longitude;
-    private BigDecimal latitude;
-
-    public JobLocation(JobLoc jobLoc, LocalDateTime issueDate) {
-        this.companyName = jobLoc.getCompanyName();
-        this.issueDate = issueDate;
-        this.jobHref = jobLoc.getJobHref();
-        this.jobDescribe = jobLoc.getJobDescribe();
-        this.salaryMin = jobLoc.getSalaryMin();
-        this.salaryMax = jobLoc.getSalaryMax();
-        this.salaryStr = jobLoc.getSalaryStr();
-        this.longitude = BigDecimal.valueOf(jobLoc.getLng());
-        this.latitude = BigDecimal.valueOf(jobLoc.getLat());
-    }
-}

+ 0 - 36
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/geo/model/po/MallReply.java

@@ -1,36 +0,0 @@
-package cn.reghao.tnb.mall.app.geo.model.po;
-
-import cn.reghao.jutil.jdk.db.BaseObject;
-import cn.reghao.tnb.mall.api.dto.geo.MallReplyDto;
-import lombok.AllArgsConstructor;
-import lombok.Getter;
-import lombok.NoArgsConstructor;
-
-/**
- * @author reghao
- * @date 2023-08-31 16:56:17
- */
-@NoArgsConstructor
-@AllArgsConstructor
-@Getter
-public class MallReply extends BaseObject<Integer> {
-    private Integer itemType;
-    private String itemId;
-    private String replyId;
-    private String replyContent;
-    private String appendContent;
-    private String extra;
-    private String username;
-    private String avatarUrl;
-
-    public MallReply(MallReplyDto mallReplyDto) {
-        this.itemType = mallReplyDto.getItemType();
-        this.itemId = mallReplyDto.getItemId();
-        this.replyId = mallReplyDto.getReplyId();
-        this.replyContent = mallReplyDto.getReplyContent();
-        this.appendContent = mallReplyDto.getAppendContent();
-        this.extra = mallReplyDto.getExtra();
-        this.username = mallReplyDto.getUsername();
-        this.avatarUrl = mallReplyDto.getAvatarUrl();
-    }
-}

+ 0 - 44
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/geo/model/po/MallReplyPhoto.java

@@ -1,44 +0,0 @@
-package cn.reghao.tnb.mall.app.geo.model.po;
-
-import cn.reghao.jutil.jdk.db.BaseObject;
-import cn.reghao.tnb.mall.api.dto.geo.MallReplyPhotoDto;
-import lombok.Getter;
-import lombok.NoArgsConstructor;
-import lombok.Setter;
-
-import java.math.BigDecimal;
-import java.time.LocalDateTime;
-
-/**
- * @author reghao
- * @date 2023-08-31 16:56:59
- */
-@NoArgsConstructor
-@Setter
-@Getter
-public class MallReplyPhoto extends BaseObject<Integer> {
-    private String replyId;
-    private String uploadId;
-    private Integer channelId;
-    private String photoUrl;
-    private String manufacturer;
-    private String model;
-    private String software;
-    private LocalDateTime shotAt;
-    private BigDecimal longitude;
-    private BigDecimal latitude;
-    private transient GeoPoint geoPoint;
-    //private String geohash;
-
-    public MallReplyPhoto(MallReplyPhotoDto mallReplyPhotoDto) {
-        this.replyId = mallReplyPhotoDto.getReplyId();
-        this.uploadId = mallReplyPhotoDto.getUploadId();
-        this.channelId = mallReplyPhotoDto.getChannelId();
-        this.photoUrl = mallReplyPhotoDto.getPhotoUrl();
-        this.manufacturer = mallReplyPhotoDto.getManufacturer();
-        this.model = mallReplyPhotoDto.getModel();
-        this.software = mallReplyPhotoDto.getSoftware();
-        this.longitude = BigDecimal.valueOf(mallReplyPhotoDto.getLongitude());
-        this.latitude = BigDecimal.valueOf(mallReplyPhotoDto.getLatitude());
-    }
-}

+ 0 - 20
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/geo/model/vo/MapMarker.java

@@ -1,20 +0,0 @@
-package cn.reghao.tnb.mall.app.geo.model.vo;
-
-import lombok.Getter;
-import lombok.NoArgsConstructor;
-import lombok.Setter;
-
-/**
- * 百度地图标记
- *
- * @author reghao
- * @date 2023-08-31 10:38:26
- */
-@NoArgsConstructor
-@Setter
-@Getter
-public class MapMarker {
-    private String id;
-    private String title;
-    private MapPoint position;
-}

+ 0 - 39
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/geo/model/vo/MapPoint.java

@@ -1,39 +0,0 @@
-package cn.reghao.tnb.mall.app.geo.model.vo;
-
-import lombok.AllArgsConstructor;
-import lombok.Getter;
-import lombok.NoArgsConstructor;
-import lombok.Setter;
-
-import javax.validation.constraints.NotNull;
-import java.math.BigDecimal;
-
-/**
- * @author reghao
- * @date 2023-08-31 17:43:27
- */
-@NoArgsConstructor
-@AllArgsConstructor
-@Setter
-@Getter
-public class MapPoint {
-    // 经度
-    private BigDecimal lng1;
-    // 纬度
-    private BigDecimal lat1;
-    @NotNull
-    private Double lng;
-    @NotNull
-    private Double lat;
-    private Long timestamp;
-
-    /*public GeoPoint(String lng, String lat) {
-        this.lng = new BigDecimal(lng);
-        this.lat = new BigDecimal(lat);
-    }*/
-
-    /*@Override
-    public String toString() {
-        return "{"+lng+","+lat+"}";
-    }*/
-}

+ 0 - 21
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/geo/model/vo/MarkerInfo.java

@@ -1,21 +0,0 @@
-package cn.reghao.tnb.mall.app.geo.model.vo;
-
-import lombok.Getter;
-import lombok.Setter;
-
-/**
- * @author reghao
- * @date 2023-08-31 10:38:13
- */
-@Setter
-@Getter
-public class MarkerInfo {
-    private String itemId;
-    private String replyId;
-    private String sku;
-    private String replyContent;
-    private String appendContent;
-    private String uploadId;
-    private Integer channelId;
-    private String photoUrl;
-}

+ 0 - 18
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/geo/model/vo/PublicBus.java

@@ -1,18 +0,0 @@
-package cn.reghao.tnb.mall.app.geo.model.vo;
-
-import lombok.Getter;
-import lombok.NoArgsConstructor;
-import lombok.Setter;
-
-/**
- * @author reghao
- * @date 2024-09-05 21:59:48
- */
-@NoArgsConstructor
-@Setter
-@Getter
-public class PublicBus {
-    private String lineName;
-    private int pos;
-    private String stationName;
-}

+ 0 - 120
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/geo/service/EarthService.java

@@ -1,120 +0,0 @@
-package cn.reghao.tnb.mall.app.geo.service;
-
-import cn.reghao.jutil.web.ServletUtil;
-import cn.reghao.tnb.mall.app.geo.db.mapper.GeoEarthMapper;
-import cn.reghao.tnb.mall.app.geo.model.po.GeoEarth;
-import cn.reghao.tnb.mall.app.geo.model.vo.MapMarker;
-import org.dom4j.Document;
-import org.dom4j.Element;
-import org.dom4j.io.OutputFormat;
-import org.dom4j.io.SAXReader;
-import org.dom4j.io.XMLWriter;
-import org.springframework.stereotype.Service;
-
-import javax.servlet.http.HttpServletResponse;
-import java.io.*;
-import java.net.URLEncoder;
-import java.nio.charset.StandardCharsets;
-import java.util.Iterator;
-import java.util.List;
-
-/**
- * GoogleEarth kml 文件
- *
- * @author reghao
- * @date 2023-09-12 11:11:14
- */
-@Service
-public class EarthService {
-    private final GeoEarthMapper geoEarthMapper;
-
-    public EarthService(GeoEarthMapper geoEarthMapper) {
-        this.geoEarthMapper = geoEarthMapper;
-    }
-
-    public void getEarthKml(List<MapMarker> list) throws Exception {
-        GeoEarth geoEarth = geoEarthMapper.findByName("default");
-        String template = geoEarth.getTemplate();
-        ByteArrayInputStream inputStream = new ByteArrayInputStream(template.getBytes(StandardCharsets.UTF_8));
-        SAXReader reader = new SAXReader();
-        Document document = reader.read(inputStream);
-        Iterator<Element> iterator = document.getRootElement().elementIterator();
-        // 根元素 <Document></Document>
-        Element root = iterator.next();
-        root.addElement("name").setText("exports");
-        Element folder = addFolder(root, "dir1");
-        for (MapMarker mapMarker : list) {
-            addPlaceMark(folder, mapMarker);
-        }
-
-        /*Element folder1 = addFolder(root, "目录2");
-        for (MapMarker mapMarker : list.subList(101, 200)) {
-            addPlaceMark(folder1, mapMarker);
-        }
-        Element folder2 = addFolder(root, "目录3");
-        for (MapMarker mapMarker : list.subList(201, 300)) {
-            addPlaceMark(folder2, mapMarker);
-        }*/
-
-        File out = new File("/home/reghao/Downloads/places2.kml");
-        OutputStream outputStream = new FileOutputStream(out);
-        //ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
-        OutputFormat format = OutputFormat.createPrettyPrint();
-        format.setEncoding(StandardCharsets.UTF_8.name());
-        XMLWriter writer = new XMLWriter(outputStream, format);
-        writer.setEscapeText(false);
-        writer.write(document);
-        writer.close();
-
-        /*ByteArrayInputStream bais = new ByteArrayInputStream(outputStream.toByteArray());
-        download("GoogleEarth.kml", bais);*/
-    }
-
-    private Element addFolder(Element element, String name) {
-        Element folder = element.addElement("Folder");
-        folder.addElement("name").setText(name);
-        folder.addElement("visibility").setText("0");
-        // 目录关闭
-        folder.addElement("open").setText("0");
-        return folder;
-    }
-
-    private void addPlaceMark(Element element, MapMarker mapMarker) {
-        String name = mapMarker.getTitle();
-        String lat = mapMarker.getPosition().getLat().toString();
-        String lng = mapMarker.getPosition().getLng().toString();
-
-        Element placeMark = element.addElement("Placemark");
-        placeMark.addElement("name").setText(name);
-        placeMark.addElement("visibility").setText("0");
-        Element point = placeMark.addElement("Point");
-        Element coordinates = point.addElement("coordinates");
-        // 坐标关闭
-        coordinates.setText(lng + " " + lat + ",0");
-    }
-
-    public void download(String filename, InputStream in) throws IOException {
-        HttpServletResponse response = ServletUtil.getResponse();
-        prepareResponse(filename, response);
-        download(in, response.getOutputStream());
-    }
-
-    private void prepareResponse(String filename, HttpServletResponse response) throws UnsupportedEncodingException {
-        response.setHeader("content-type", "application/octet-stream");
-        response.setContentType("application/octet-stream");
-        response.setHeader("Content-Disposition",
-                "attachment;filename=" + URLEncoder.encode(filename, StandardCharsets.UTF_8.toString()));
-    }
-
-    private void download(InputStream in, OutputStream out) throws IOException {
-        // 1MiB
-        byte[] buffer = new byte[1024*1024];
-        int i = in.read(buffer);
-        while (i != -1) {
-            out.write(buffer, 0, i);
-            i = in.read(buffer);
-        }
-        in.close();
-        out.close();
-    }
-}

+ 0 - 48
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/geo/service/GeoService.java

@@ -1,48 +0,0 @@
-package cn.reghao.tnb.mall.app.geo.service;
-
-import cn.reghao.jutil.jdk.text.TextFile;
-import cn.reghao.tnb.mall.app.geo.model.po.GeoPolygon;
-
-import java.math.BigDecimal;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-/**
- * @author reghao
- * @date 2024-09-09 15:39:46
- */
-public class GeoService {
-    public static void main(String[] args) {
-        TextFile textFile = new TextFile();
-
-        String filePath = "/home/reghao/Downloads/geo/ok_geo.csv";
-        List<String> list = textFile.read(filePath);
-        Map<Integer, GeoPolygon> map = new HashMap<>();
-        for (int i = 1; i < list.size(); i++) {
-            String line = list.get(i);
-            String[] arr = line.split(",\"");
-            String[] arr1 = arr[0].split(",");
-
-            if (arr1[0].startsWith("71")) {
-                continue;
-            }
-
-            Integer id = Integer.parseInt(arr1[0]);
-            Integer pid = Integer.parseInt(arr1[1]);
-            Integer deep = Integer.parseInt(arr1[2]);
-            String name = arr[1];
-            String extPath = arr[2];
-            String geo = arr[3];
-            String[] geoArr = geo.replace("\"", "").split(" ");
-            BigDecimal lat = BigDecimal.valueOf(Double.parseDouble(geoArr[0]));
-            BigDecimal lng = BigDecimal.valueOf(Double.parseDouble(geoArr[1]));
-            String polygon = arr[4];
-
-            GeoPolygon geoPolygon = new GeoPolygon(id, pid, deep, name, extPath, lat, lng, polygon);
-            map.put(id, geoPolygon);
-        }
-
-        System.out.println();
-    }
-}

+ 0 - 40
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/geo/service/JobLocationService.java

@@ -1,40 +0,0 @@
-package cn.reghao.tnb.mall.app.geo.service;
-
-import cn.reghao.jutil.jdk.converter.DateTimeConverter;
-import cn.reghao.tnb.mall.api.dto.geo.JobLoc;
-import cn.reghao.tnb.mall.app.geo.db.mapper.JobLocationMapper;
-import cn.reghao.tnb.mall.app.geo.model.po.JobLocation;
-import cn.reghao.tnb.mall.app.geo.model.vo.MapMarker;
-import org.springframework.stereotype.Service;
-
-import java.time.LocalDateTime;
-import java.util.List;
-
-/**
- * @author reghao
- * @date 2024-11-24 14:17:52
- */
-@Service
-public class JobLocationService {
-    private final JobLocationMapper jobLocationMapper;
-
-    public JobLocationService(JobLocationMapper jobLocationMapper) {
-        this.jobLocationMapper = jobLocationMapper;
-    }
-
-    public void addJobLocation(JobLoc jobLoc) {
-        LocalDateTime issueDate = LocalDateTime.MIN;
-        try {
-            issueDate = DateTimeConverter.localDateTime2(jobLoc.getIssueDate());
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-
-        JobLocation jobLocation = new JobLocation(jobLoc, issueDate);
-        jobLocationMapper.save(jobLocation);
-    }
-
-    public List<MapMarker> getMapMarks() {
-        return jobLocationMapper.findMapMarker();
-    }
-}

+ 0 - 253
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/geo/service/MapService.java

@@ -1,253 +0,0 @@
-package cn.reghao.tnb.mall.app.geo.service;
-
-import cn.reghao.file.api.iface.OssService;
-import cn.reghao.jutil.jdk.converter.DateTimeConverter;
-import cn.reghao.jutil.jdk.serializer.JsonConverter;
-import cn.reghao.tnb.common.db.SelectOption;
-import cn.reghao.tnb.mall.api.dto.geo.MallReplyDto;
-import cn.reghao.tnb.mall.api.dto.geo.MallReplyPhotoDto;
-import cn.reghao.tnb.mall.app.geo.db.mapper.*;
-import cn.reghao.tnb.mall.app.geo.model.po.CameraPhoto;
-import cn.reghao.tnb.mall.app.geo.model.po.GeoPoint;
-import cn.reghao.tnb.mall.app.geo.model.po.MallReply;
-import cn.reghao.tnb.mall.app.geo.model.po.MallReplyPhoto;
-import cn.reghao.tnb.mall.app.geo.model.vo.MapMarker;
-import cn.reghao.tnb.mall.app.geo.model.vo.MapPoint;
-import cn.reghao.tnb.mall.app.geo.model.vo.MarkerInfo;
-import com.google.gson.JsonObject;
-import lombok.extern.slf4j.Slf4j;
-import org.apache.dubbo.config.annotation.DubboReference;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-import java.time.LocalDateTime;
-import java.util.*;
-import java.util.regex.Pattern;
-import java.util.stream.Collectors;
-
-/**
- * @author reghao
- * @date 2023-08-31 17:49:48
- */
-@Slf4j
-@Service
-public class MapService {
-    @DubboReference(check = false, retries = 0)
-    private OssService ossService;
-
-    private final MallReplyMapper mallReplyMapper;
-    private final MallReplyPhotoMapper mallReplyPhotoMapper;
-    private final GeoScopeMapper geoScopeMapper;
-    private final GeoItemMapper geoItemMapper;
-    private final GeoPointMapper geoPointMapper;
-    private final CameraPhotoMapper cameraPhotoMapper;
-    private JobLocationService jobLocationService;
-
-    public MapService(MallReplyMapper mallReplyMapper, MallReplyPhotoMapper mallReplyPhotoMapper,
-                      GeoScopeMapper geoScopeMapper, GeoItemMapper geoItemMapper,
-                      GeoPointMapper geoPointMapper, CameraPhotoMapper cameraPhotoMapper,
-                      JobLocationService jobLocationService) {
-        this.mallReplyMapper = mallReplyMapper;
-        this.mallReplyPhotoMapper = mallReplyPhotoMapper;
-        this.geoScopeMapper = geoScopeMapper;
-        this.geoItemMapper = geoItemMapper;
-        this.geoPointMapper = geoPointMapper;
-        this.cameraPhotoMapper = cameraPhotoMapper;
-        this.jobLocationService = jobLocationService;
-    }
-
-    public boolean checkReplyId(String replyId) {
-        MallReply mallReply = mallReplyMapper.findByReplyId(replyId);
-        return mallReply != null;
-    }
-
-    public synchronized void addTmallReply(MallReplyDto mallReplyDto) {
-        String replyId = mallReplyDto.getReplyId();
-        MallReply mallReply = mallReplyMapper.findByReplyId(replyId);
-        if (mallReply != null) {
-            log.info("{} 已存在", replyId);
-            return;
-        }
-
-        mallReply = new MallReply(mallReplyDto);
-        List<MallReplyPhoto> list = mallReplyDto.getPhotos().stream()
-                .map(mallReplyPhotoDto -> {
-                    MallReplyPhoto mallReplyPhoto = new MallReplyPhoto(mallReplyPhotoDto);
-                    try {
-                        String shotAtStr = mallReplyPhotoDto.getShotAt();
-                        if (shotAtStr != null) {
-                            LocalDateTime shotAt = DateTimeConverter.localDateTime2(mallReplyPhotoDto.getShotAt());
-                            mallReplyPhoto.setShotAt(shotAt);
-                        }
-                    } catch (Exception e) {
-                        e.printStackTrace();
-                    }
-
-                    return mallReplyPhoto;
-                })
-                .collect(Collectors.toList());
-        if (!list.isEmpty()) {
-            saveTmallReply(mallReply, list);
-        }
-    }
-
-    public void addCameraPhotos(List<MallReplyPhotoDto> list) {
-        List<CameraPhoto> locations = list.stream().map(mallReplyPhotoDto -> {
-            CameraPhoto cameraPhoto = new CameraPhoto(mallReplyPhotoDto);
-            try {
-                String shotAtStr = mallReplyPhotoDto.getShotAt();
-                if (shotAtStr != null) {
-                    LocalDateTime shotAt = DateTimeConverter.localDateTime2(mallReplyPhotoDto.getShotAt());
-                    cameraPhoto.setShotAt(shotAt);
-                }
-            } catch (Exception e) {
-                e.printStackTrace();
-            }
-            return cameraPhoto;
-        }).collect(Collectors.toList());
-        if (!locations.isEmpty()) {
-            cameraPhotoMapper.saveAll(locations);
-        }
-    }
-
-    @Transactional(rollbackFor = Exception.class)
-    public void saveTmallReply(MallReply mallReply, List<MallReplyPhoto> list) {
-        mallReplyMapper.save(mallReply);
-        mallReplyPhotoMapper.saveAll(list);
-    }
-
-    public List<MapMarker> getMapMarkers(int itemType) {
-        int pageSize = 1000;
-        if (itemType == 1) {
-            List<MapMarker> list = mallReplyPhotoMapper.findAllByReplyIdGroup(pageSize);
-            //List<MapMarker> list = mallReplyPhotoMapper.findAllByGeoScope(pageSize, geoScope.getId());
-            return list;
-        } else if (itemType == 2) {
-            List<MapMarker> list = mallReplyPhotoMapper.findByWestChina(pageSize, itemType);
-            //List<MapMarker> list = mallReplyPhotoMapper.findByGeoScope(pageSize, itemType, geoScope1);
-            setMarkTitle(list);
-            return list;
-        } else if (itemType == 3) {
-            List<MapMarker> list = mallReplyPhotoMapper.findByReplyIdGroup(pageSize, itemType);
-            return list;
-        } else if (itemType == 4) {
-            List<MapMarker> list = mallReplyPhotoMapper.findByReplyIdGroup(pageSize, itemType);
-            return list;
-        } else if (itemType == 5) {
-            List<MapMarker> list = cameraPhotoMapper.findByWestGeoGroup(pageSize);
-            return list;
-        } else if (itemType == 6) {
-            List<MapMarker> list = cameraPhotoMapper.findByAlbumId(pageSize, 0);
-            list.forEach(mapMarker -> {
-                String objectId = mapMarker.getId();
-            });
-            return list;
-        } else if (itemType == 7) {
-            List<MapMarker> list = jobLocationService.getMapMarks();
-            return list;
-        }
-
-        return Collections.emptyList();
-    }
-
-    private void setMarkTitle(List<MapMarker> list) {
-        list.forEach(mapMarker -> {
-            String title = mapMarker.getTitle();
-            if (title == null) {
-                mapMarker.setTitle("标记");
-                return;
-            }
-
-            mapMarker.setTitle(getFormattedTitle1(title));
-        });
-    }
-
-    private String getFormattedTitle1(String title) {
-        String extra1 = null;
-        if (title.startsWith("{")) {
-            JsonObject jsonObject = JsonConverter.jsonToJsonElement(title).getAsJsonObject();
-            extra1 = jsonObject.get("尺码").getAsString();
-        } else {
-            extra1 = title.split("尺码:")[1];
-            String[] arr = title.split("&nbsp;&nbsp");
-            for (String str : arr) {
-                if (str.startsWith("尺码")) {
-                    extra1 = str.split(":")[1];
-                    break;
-                }
-            }
-        }
-        return extra1;
-    }
-
-    public MarkerInfo getMarkerInfo(String id) {
-        MarkerInfo markerInfo;
-        if (isInteger(id)) {
-            markerInfo = mallReplyPhotoMapper.findMarkerInfoById(Integer.parseInt(id));
-        } else {
-            markerInfo = cameraPhotoMapper.findMarkerInfoById(id);
-        }
-
-        int channelId = markerInfo.getChannelId();
-        if (channelId != 0) {
-            String uploadId = markerInfo.getUploadId();
-            try {
-                String signedUrl = ossService.getSignedUrl(channelId, uploadId);
-                if (signedUrl != null) {
-                    markerInfo.setPhotoUrl(signedUrl);
-                }
-            } catch (Exception e) {
-                e.printStackTrace();
-            }
-        }
-
-        return markerInfo;
-    }
-
-    private boolean isInteger(String str) {
-        Pattern pattern = Pattern.compile("^[-+]?[\\d]*$");
-        return pattern.matcher(str).matches();
-    }
-
-    public List<SelectOption> getGeoItems() {
-        return geoItemMapper.findAll().stream()
-                .map(geoItem -> {
-                    String name = geoItem.getName();
-                    int id = geoItem.getId();
-                    return new SelectOption(name, id);
-                }).collect(Collectors.toList());
-    }
-
-    public MarkerInfo getMarkerInfo(int id) {
-        MarkerInfo markerInfo = mallReplyPhotoMapper.findMarkerInfoById(id);
-        int channelId = markerInfo.getChannelId();
-        String uploadId = markerInfo.getUploadId();
-        try {
-            String signedUrl = ossService.getSignedUrl(channelId, uploadId);
-            if (signedUrl != null) {
-                markerInfo.setPhotoUrl(signedUrl);
-            }
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-        return markerInfo;
-    }
-
-    public void addGeoPoint(MapPoint mapPoint) {
-        GeoPoint geoPoint = new GeoPoint(mapPoint);
-        geoPointMapper.save(geoPoint);
-    }
-
-    public List getGeoPoints() {
-        List<GeoPoint> list = geoPointMapper.findAll();
-        List<List<Double>> list1 = list.stream().map(geoPoint -> {
-            Double lng = geoPoint.getLongitude().doubleValue();
-            Double lat = geoPoint.getLatitude().doubleValue();
-            return List.of(lng, lat);
-        }).collect(Collectors.toList());
-
-        Map<String, List<List<Double>>> map = new HashMap<>();
-        map.put("path", list1);
-        return List.of(map);
-    }
-}

+ 0 - 19
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/geo/util/Gps.java

@@ -1,19 +0,0 @@
-package cn.reghao.tnb.mall.app.geo.util;
-
-/**
- * @author reghao
- * @date 2024-09-13 22:49:27
- */
-public class Gps{
-    double lat,lng;
-    public Gps() {
-    }
-    public Gps(double lat,double lng){
-        this.lat = lat;
-        this.lng = lng;
-    }
-    @Override
-    public String toString() {
-        return "{"+lng+","+lat+"}";
-    }
-}

+ 0 - 174
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/geo/util/GpsTransfer.java

@@ -1,174 +0,0 @@
-package cn.reghao.tnb.mall.app.geo.util;
-
-/***
- * wgs84 84年提出,大地坐标,也是原始坐标。
- * gcj02 02年提出,火星坐标,经过加密算法。大多数非百度中国地图厂商基本都是使用的火星坐标:高德,腾讯,谷歌中国cn
- * bd09  09年提出,百度坐标,经过火星坐标再次加密,相当于对大地坐标经过了二次加密。百度自己使用
- * 一般的算法,没有直接bd09->wgs84或者wgs84->bd09,都需要借助wgs84->gcj02或者gcj02->wgs84算法推导。
- */
-public class GpsTransfer {
-    //π的定义
-    public static double pi = 3.1415926535897932384626;
-    //椭球长半径,依据克拉索索夫斯基椭球系数计算
-    public static double a = 6378245.0;
-    //第一偏心率的平方
-    public static double ee = 0.00669342162296594323;
-
-    public static double transformLat(double x, double y) {
-        double ret = -100.0 + 2.0 * x + 3.0 * y + 0.2 * y * y + 0.1 * x * y
-                + 0.2 * Math.sqrt(Math.abs(x));
-        ret += (20.0 * Math.sin(6.0 * x * pi) + 20.0 * Math.sin(2.0 * x * pi)) * 2.0 / 3.0;
-        ret += (20.0 * Math.sin(y * pi) + 40.0 * Math.sin(y / 3.0 * pi)) * 2.0 / 3.0;
-        ret += (160.0 * Math.sin(y / 12.0 * pi) + 320 * Math.sin(y * pi / 30.0)) * 2.0 / 3.0;
-        return ret;
-    }
-
-    public static double transformLng(double x, double y) {
-        double ret = 300.0 + x + 2.0 * y + 0.1 * x * x + 0.1 * x * y + 0.1
-                * Math.sqrt(Math.abs(x));
-        ret += (20.0 * Math.sin(6.0 * x * pi) + 20.0 * Math.sin(2.0 * x * pi)) * 2.0 / 3.0;
-        ret += (20.0 * Math.sin(x * pi) + 40.0 * Math.sin(x / 3.0 * pi)) * 2.0 / 3.0;
-        ret += (150.0 * Math.sin(x / 12.0 * pi) + 300.0 * Math.sin(x / 30.0
-                * pi)) * 2.0 / 3.0;
-        return ret;
-    }
-
-    /***
-     * 判断是否在中国范围之内
-     * @param lat
-     * @param lng
-     * @return
-     */
-    public static boolean outOfChina(double lat, double lng) {
-        if (lng < 72.004 || lng > 137.8347)
-            return true;
-        if (lat < 0.8293 || lat > 55.8271)
-            return true;
-        return false;
-    }
-
-    /***
-     * 把公式部分抽取出来
-     * @param lat
-     * @param lng
-     * @return
-     */
-    public static Gps transform(double lat, double lng) {
-        if (outOfChina(lat, lng)) {
-            return new Gps(lat, lng);
-        }
-        double dLat = transformLat(lng - 105.0, lat - 35.0);
-        double dLng = transformLng(lng - 105.0, lat - 35.0);
-        double radLat = lat / 180.0 * pi;
-        double magic = Math.sin(radLat);
-        magic = 1 - ee * magic * magic;
-        double sqrtMagic = Math.sqrt(magic);
-        dLat = (dLat * 180.0) / ((a * (1 - ee)) / (magic * sqrtMagic) * pi);
-        dLng = (dLng * 180.0) / (a / sqrtMagic * Math.cos(radLat) * pi);
-        double mgLat = lat + dLat;
-        double mgLng = lng + dLng;
-        return new Gps(mgLat, mgLng);
-    }
-
-    /***
-     * wgs84到gcj02转换
-     * @param lat
-     * @param lng
-     * @return
-     */
-    public static Gps wgs84_To_Gcj02(double lat, double lng) {
-        return transform(lat, lng);
-    }
-
-    /***
-     * 简单的gcj02到wgs84坐标类型转换,只做了一次迭代
-     */
-    public static Gps gcj02_To_Wgs84(double lat, double lng) {
-        Gps gps = transform(lat, lng);
-        double lngtitude = lng * 2 - gps.lng;
-        double latitude = lat * 2 - gps.lat;
-        return new Gps(latitude, lngtitude);
-    }
-
-    /***
-     * 稍微精确一点的gcj02到wgs84转换
-     * @param lat
-     * @param lng
-     * @return
-     */
-    public static Gps gcj02_To_Wgs84_exact(double lat,double lng) {
-        if (outOfChina(lat, lng)) {
-            return gcj02_To_Wgs84(lat, lng);
-        }
-        double initDelta = 0.01;
-        double threshold = 0.000001;
-        double dLat = initDelta;
-        double dLng = initDelta;
-        double mLat = lat - dLat;
-        double mLng = lng - dLng;
-        double pLat = lat + dLat;
-        double pLng = lng + dLng;
-        double wgsLat = 0;
-        double wgsLng = 0;
-        int i = 0;
-        while (true) {
-            wgsLat = (mLat + pLat) / 2;
-            wgsLng = (mLng + pLng) / 2;
-            Gps tmp = wgs84_To_Gcj02(wgsLat, wgsLng);
-            dLat = tmp.lat - lat;
-            dLng = tmp.lng - lng;
-            if ((Math.abs(dLat) < threshold) && (Math.abs(dLng) < threshold)) {
-                break;
-            }
-            if (dLat > 0) { pLat = wgsLat; } else { mLat = wgsLat;}
-            if (dLng > 0) { pLng = wgsLng; } else { mLng = wgsLng;}
-
-            if (++i > 1000) break;
-        }
-
-        return new Gps(wgsLat, wgsLng);
-    }
-
-    /***
-     * 百度坐标是在火星坐标基础上做的二次加密
-     * @param gg_lat
-     * @param gg_lng
-     * @return
-     */
-    public static Gps gcj02_To_Bd09(double gg_lat, double gg_lng) {
-        double x = gg_lng, y = gg_lat;
-        double z = Math.sqrt(x * x + y * y) + 0.00002 * Math.sin(y * pi);
-        double theta = Math.atan2(y, x) + 0.000003 * Math.cos(x * pi);
-        double bd_lng = z * Math.cos(theta) + 0.0065;
-        double bd_lat = z * Math.sin(theta) + 0.006;
-        return new Gps(bd_lat, bd_lng);
-    }
-
-    /***
-     * 百度坐标与火星坐标逆向转换
-     * @param bd_lat
-     * @param bd_lng
-     * @return
-     */
-    public static Gps bd09_To_Gcj02(double bd_lat, double bd_lng) {
-        double x = bd_lng - 0.0065, y = bd_lat - 0.006;
-        double z = Math.sqrt(x * x + y * y) - 0.00002 * Math.sin(y * pi);
-        double theta = Math.atan2(y, x) - 0.000003 * Math.cos(x * pi);
-        double gg_lng = z * Math.cos(theta);
-        double gg_lat = z * Math.sin(theta);
-        return new Gps(gg_lat, gg_lng);
-    }
-
-    public static void main(String[] args) {
-        Gps gps1 = new Gps(39.9072885060602, 116.39123343289631);
-        Gps gps = new Gps(33.41499708333333, 102.34823608333333);
-
-        System.out.println(gps);//{39.9072885060602,116.39123343289631}
-        Gps gps2 = wgs84_To_Gcj02(gps.lat, gps.lng);
-        System.out.println(gps2);//{39.9086897410389,116.39747455259267}
-        Gps gps3 = gcj02_To_Wgs84(gps2.lat, gps2.lng);
-        System.out.println(gps3);//{39.907286247736586,116.39123098626051}
-        Gps gps4 = gcj02_To_Wgs84_exact(gps2.lat, gps2.lng);
-        System.out.println(gps4);//{39.907288984202964,116.3912337078661} 相对一次迭代是精确了,但是好像也不是完全还原
-    }
-}

+ 0 - 33
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/job/JobService.java

@@ -1,33 +0,0 @@
-package cn.reghao.tnb.mall.app.job;
-
-import cn.reghao.jutil.jdk.thread.ThreadPoolWrapper;
-import cn.reghao.tnb.mall.app.db.mapper.OrderMapper;
-import cn.reghao.tnb.mall.app.job.task.OrderTask;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.stereotype.Service;
-
-import java.util.concurrent.ScheduledExecutorService;
-import java.util.concurrent.ScheduledFuture;
-import java.util.concurrent.TimeUnit;
-
-/**
- * @author reghao
- * @date 2024-09-14 16:01:30
- */
-@Slf4j
-@Service
-public class JobService {
-    private final ScheduledExecutorService scheduler;
-    private final OrderMapper orderMapper;
-
-    public JobService(OrderMapper orderMapper) {
-        this.scheduler = ThreadPoolWrapper.scheduledThreadPool("delay-job", 10);
-        this.orderMapper = orderMapper;
-    }
-
-    public void addDelayJob(long orderId) {
-        OrderTask orderTask = new OrderTask(orderId, orderMapper);
-        ScheduledFuture<?> future = scheduler.schedule(orderTask, 15, TimeUnit.MINUTES);
-        log.info("add order related delay job");
-    }
-}

+ 0 - 32
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/job/task/OrderTask.java

@@ -1,32 +0,0 @@
-package cn.reghao.tnb.mall.app.job.task;
-
-import cn.reghao.tnb.mall.app.db.mapper.OrderMapper;
-import cn.reghao.tnb.mall.app.model.constant.OrderStatus;
-import cn.reghao.tnb.mall.app.model.po.Order;
-import lombok.extern.slf4j.Slf4j;
-
-/**
- * @author reghao
- * @date 2024-09-14 16:06:01
- */
-@Slf4j
-public class OrderTask implements Runnable {
-    private final long orderId;
-    private final OrderMapper orderMapper;
-
-    public OrderTask(long orderId, OrderMapper orderMapper) {
-        this.orderId = orderId;
-        this.orderMapper = orderMapper;
-    }
-
-    @Override
-    public void run() {
-        Order order = orderMapper.findByOrderId(orderId);
-        int status = order.getStatus();
-        if (status == OrderStatus.toPay.getCode()) {
-            orderMapper.updateOrderStatus(orderId, OrderStatus.cancelled.getCode());
-            log.info("cancel order");
-        }
-        log.info("exec order task");
-    }
-}

+ 0 - 43
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/model/constant/LogisticsStatus.java

@@ -1,43 +0,0 @@
-package cn.reghao.tnb.mall.app.model.constant;
-
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * @author reghao
- * @date 2024-09-19 11:27:40
- */
-public enum LogisticsStatus {
-    status1(1, "已发货"),
-    status2(2, "已揽件"),
-    status3(3, "运输中"),
-    status4(4, "派送中"),
-    status5(5, "待取件"),
-    status6(6, "已签收");
-
-    private final int code;
-    private final String desc;
-
-    private static Map<Integer, LogisticsStatus> map = new HashMap<>();
-    static {
-        for (LogisticsStatus status : LogisticsStatus.values()) {
-            map.put(status.code, status);
-        }
-    }
-    LogisticsStatus(int code, String desc) {
-        this.code = code;
-        this.desc = desc;
-    }
-
-    public Integer getCode() {
-        return code;
-    }
-
-    public String getDesc() {
-        return desc;
-    }
-
-    public static LogisticsStatus getByCode(int code) {
-        return map.get(code);
-    }
-}

+ 0 - 42
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/model/constant/OrderStatus.java

@@ -1,42 +0,0 @@
-package cn.reghao.tnb.mall.app.model.constant;
-
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * @author reghao
- * @date 2024-04-26 15:50:53
- */
-public enum OrderStatus {
-    toPay(1, "待付款"),
-    toDelivery(2, "待收货"),
-    toConfirm(3, "待确认"),
-    cancelled(4, "已取消"),
-    completed(5, "已完成");
-    
-    private final int code;
-    private final String desc;
-
-    private static Map<Integer, OrderStatus> map = new HashMap<>();
-    static {
-        for (OrderStatus status : OrderStatus.values()) {
-            map.put(status.code, status);
-        }
-    }
-    OrderStatus(int code, String desc) {
-        this.code = code;
-        this.desc = desc;
-    }
-
-    public Integer getCode() {
-        return code;
-    }
-
-    public String getDesc() {
-        return desc;
-    }
-
-    public static OrderStatus getByCode(int code) {
-        return map.get(code);
-    }
-}

+ 0 - 17
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/model/dto/CartDto.java

@@ -1,17 +0,0 @@
-package cn.reghao.tnb.mall.app.model.dto;
-
-import lombok.Getter;
-
-import javax.validation.constraints.NotNull;
-
-/**
- * @author reghao
- * @date 2024-04-16 15:05:08
- */
-@Getter
-public class CartDto {
-    @NotNull
-    private Long itemId;
-    @NotNull
-    private Integer num;
-}

+ 0 - 19
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/model/dto/OrderDto.java

@@ -1,19 +0,0 @@
-package cn.reghao.tnb.mall.app.model.dto;
-
-import lombok.Getter;
-
-import javax.validation.constraints.NotNull;
-import javax.validation.constraints.Size;
-import java.util.List;
-
-/**
- * @author reghao
- * @date 2024-04-16 15:59:27
- */
-@Getter
-public class OrderDto {
-    @NotNull
-    private Long deliveryId;
-    @Size(min = 1, max = 100)
-    private List<OrderItem> items;
-}

+ 0 - 23
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/model/dto/OrderItem.java

@@ -1,23 +0,0 @@
-package cn.reghao.tnb.mall.app.model.dto;
-
-import lombok.Getter;
-import lombok.Setter;
-
-import javax.validation.constraints.NotNull;
-
-/**
- * @author reghao
- * @date 2024-04-26 15:34:11
- */
-@Setter
-@Getter
-public class OrderItem {
-    @NotNull
-    private Long itemId;
-    @NotNull
-    private Integer num;
-    @NotNull
-    private Long shopId;
-    @NotNull
-    private Long sellerId;
-}

+ 0 - 18
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/model/dto/ProductAddDto.java

@@ -1,18 +0,0 @@
-package cn.reghao.tnb.mall.app.model.dto;
-
-import lombok.Getter;
-import lombok.Setter;
-
-/**
- * @author reghao
- * @date 2024-11-08 09:31:00
- */
-@Setter
-@Getter
-public class ProductAddDto {
-    private String title;
-    private String coverFileId;
-    private Integer coverChannelId;
-    private Double price;
-    private Integer amount;
-}

+ 0 - 21
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/model/po/Delivery.java

@@ -1,21 +0,0 @@
-package cn.reghao.tnb.mall.app.model.po;
-
-import cn.reghao.jutil.jdk.db.BaseObject;
-import lombok.AllArgsConstructor;
-import lombok.Getter;
-import lombok.NoArgsConstructor;
-import lombok.Setter;
-
-/**
- * @author reghao
- * @date 2024-04-19 09:43:06
- */
-@NoArgsConstructor
-@AllArgsConstructor
-@Setter
-@Getter
-public class Delivery extends BaseObject<Integer> {
-    private Long deliveryId;
-    private String address;
-    private Long owner;
-}

+ 0 - 19
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/model/po/Logistics.java

@@ -1,19 +0,0 @@
-package cn.reghao.tnb.mall.app.model.po;
-
-import lombok.Getter;
-
-import javax.validation.constraints.NotNull;
-
-/**
- * @author reghao
- * @date 2024-09-19 09:00:07
- */
-@Getter
-public class Logistics {
-    @NotNull
-    private Long orderId;
-    @NotNull
-    private String tpl;
-    @NotNull
-    private String logisticsId;
-}

+ 0 - 31
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/model/po/LogisticsProgress.java

@@ -1,31 +0,0 @@
-package cn.reghao.tnb.mall.app.model.po;
-
-import cn.reghao.tnb.mall.app.model.constant.LogisticsStatus;
-import lombok.Getter;
-import lombok.Setter;
-
-import java.time.LocalDateTime;
-
-/**
- * @author reghao
- * @date 2024-09-19 09:22:10
- */
-@Setter
-@Getter
-public class LogisticsProgress {
-    private Long orderId;
-    private String logisticsId;
-    private Integer status;
-    private String current;
-    private LocalDateTime createAt;
-
-    public LogisticsProgress() {
-        this.createAt = LocalDateTime.now();
-    }
-
-    public LogisticsProgress(String logisticsId) {
-        this.status = LogisticsStatus.status1.getCode();
-        this.current = "包裹正在等待揽收";
-        this.createAt = LocalDateTime.now();
-    }
-}

+ 0 - 39
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/model/po/Order.java

@@ -1,39 +0,0 @@
-package cn.reghao.tnb.mall.app.model.po;
-
-import cn.reghao.jutil.jdk.db.BaseObject;
-import cn.reghao.tnb.common.auth.UserContext;
-import cn.reghao.tnb.mall.app.model.constant.OrderStatus;
-import cn.reghao.tnb.mall.app.model.dto.OrderDto;
-import cn.reghao.tnb.mall.app.model.dto.OrderItem;
-import lombok.AllArgsConstructor;
-import lombok.Getter;
-import lombok.NoArgsConstructor;
-import lombok.Setter;
-
-/**
- * @author reghao
- * @date 2024-04-16 10:56:56
- */
-@NoArgsConstructor
-@AllArgsConstructor
-@Setter
-@Getter
-public class Order extends BaseObject<Integer> {
-    private Long orderId;
-    private Long deliveryId;
-    private Long productId;
-    private Double price;
-    private Integer amount;
-    private Long owner;
-    private Integer status;
-
-    public Order(long orderId, double price, long deliveryId, OrderItem orderItem) {
-        this.orderId = orderId;
-        this.deliveryId = deliveryId;
-        this.productId = orderItem.getItemId();
-        this.price = price;
-        this.amount = orderItem.getNum();
-        this.owner = UserContext.getUser();
-        this.status = OrderStatus.toPay.getCode();
-    }
-}

+ 0 - 11
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/model/po/OrderProduct.java

@@ -1,11 +0,0 @@
-package cn.reghao.tnb.mall.app.model.po;
-
-/**
- * @author reghao
- * @date 2024-04-26 15:42:06
- */
-public class OrderProduct {
-    private Long orderId;
-    private Long itemId;
-    private Integer num;
-}

+ 0 - 49
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/model/po/Product.java

@@ -1,49 +0,0 @@
-package cn.reghao.tnb.mall.app.model.po;
-
-import cn.reghao.jutil.jdk.db.BaseObject;
-import cn.reghao.tnb.common.auth.UserContext;
-import cn.reghao.tnb.mall.api.dto.TaobaoItem;
-import cn.reghao.tnb.mall.app.model.dto.ProductAddDto;
-import lombok.Getter;
-import lombok.NoArgsConstructor;
-import lombok.Setter;
-
-/**
- * @author reghao
- * @date 2024-04-16 10:56:20
- */
-@NoArgsConstructor
-@Setter
-@Getter
-public class Product extends BaseObject<Integer> {
-    private Long itemId;
-    private String itemUrl;
-    private String title;
-    private String picUrl;
-    private Double price;
-    private String monthSale;
-    private Integer stock;
-    private Long shopId;
-    private Long sellerId;
-
-    public Product(TaobaoItem taobaoItem) {
-        this.itemId = taobaoItem.getItemId();
-        this.itemUrl = taobaoItem.getItemUrl();
-        this.title = taobaoItem.getTitle();
-        this.picUrl = taobaoItem.getPicUrl();
-        this.price = taobaoItem.getPrice();
-        this.monthSale = taobaoItem.getMonthSale();
-        this.stock = 1000;
-        this.shopId = taobaoItem.getShopId();
-        this.sellerId = taobaoItem.getSellerId();
-    }
-
-    public Product(ProductAddDto productAddDto, long productId, String coverUrl) {
-        this.itemId = productId;
-        this.title = productAddDto.getTitle();
-        this.picUrl = coverUrl;
-        this.price = productAddDto.getPrice();
-        this.stock = productAddDto.getAmount();
-        this.sellerId = UserContext.getUser();
-    }
-}

+ 0 - 29
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/model/po/ProductSnapshot.java

@@ -1,29 +0,0 @@
-package cn.reghao.tnb.mall.app.model.po;
-
-import cn.reghao.jutil.jdk.db.BaseObject;
-import lombok.Getter;
-import lombok.NoArgsConstructor;
-import lombok.Setter;
-
-/**
- * @author reghao
- * @date 2024-04-26 16:37:29
- */
-@NoArgsConstructor
-@Getter
-@Setter
-public class ProductSnapshot extends BaseObject<Integer> {
-    private Long orderId;
-    private Long itemId;
-    private String title;
-    private String picUrl;
-    private Double price;
-
-    public ProductSnapshot(long orderId, Product product) {
-        this.orderId = orderId;
-        this.itemId = product.getItemId();
-        this.title = product.getTitle();
-        this.picUrl = product.getPicUrl();
-        this.price = product.getPrice();
-    }
-}

+ 0 - 27
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/model/vo/CartCard.java

@@ -1,27 +0,0 @@
-package cn.reghao.tnb.mall.app.model.vo;
-
-import cn.reghao.tnb.mall.app.model.po.Product;
-
-/**
- * @author reghao
- * @date 2024-04-16 15:16:56
- */
-public class CartCard {
-    private Long itemId;
-    private String title;
-    private String picUrl;
-    private Double price;
-    private Integer num;
-    private Long shopId;
-    private Long sellerId;
-
-    public CartCard(Product product, int num) {
-        this.itemId = product.getItemId();
-        this.title = product.getTitle();
-        this.picUrl = product.getPicUrl();
-        this.price = product.getPrice();
-        this.num = num;
-        this.shopId = product.getShopId();
-        this.sellerId = product.getSellerId();
-    }
-}

+ 0 - 34
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/model/vo/OrderDetail.java

@@ -1,34 +0,0 @@
-package cn.reghao.tnb.mall.app.model.vo;
-
-import cn.reghao.jutil.jdk.converter.DateTimeConverter;
-import cn.reghao.tnb.mall.app.model.constant.OrderStatus;
-import cn.reghao.tnb.mall.app.model.po.Order;
-import cn.reghao.tnb.mall.app.model.po.ProductSnapshot;
-
-/**
- * @author reghao
- * @date 2024-04-19 16:58:24
- */
-public class OrderDetail {
-    private Long itemId;
-    private Long orderId;
-    private String title;
-    private String picUrl;
-    private double price;
-    private int amount;
-    private int status;
-    private String statusText;
-    private String createAt;
-
-    public OrderDetail(Order order, ProductSnapshot productSnapshot) {
-        this.itemId = productSnapshot.getItemId();
-        this.orderId = order.getOrderId();
-        this.title = productSnapshot.getTitle();
-        this.picUrl = productSnapshot.getPicUrl();
-        this.price = productSnapshot.getPrice();
-        this.amount = order.getAmount();
-        this.status = OrderStatus.getByCode(order.getStatus()).getCode();
-        this.statusText = OrderStatus.getByCode(order.getStatus()).getDesc();
-        this.createAt = DateTimeConverter.format(order.getCreateTime());
-    }
-}

+ 0 - 30
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/redis/RedisConfig.java

@@ -1,30 +0,0 @@
-package cn.reghao.tnb.mall.app.redis;
-
-import org.springframework.cache.annotation.CachingConfigurerSupport;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.data.redis.connection.RedisConnectionFactory;
-import org.springframework.data.redis.core.RedisTemplate;
-import org.springframework.data.redis.serializer.RedisSerializer;
-
-/**
- * Redis 连接和序列化配置
- *
- * @author reghao
- * @date 2021-11-15 14:40:57
- */
-@Configuration
-public class RedisConfig extends CachingConfigurerSupport {
-    @Bean
-    public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory factory) {
-        RedisTemplate<String, Object> template = new RedisTemplate<>();
-        template.setConnectionFactory(factory);
-
-        template.setKeySerializer(RedisSerializer.string());
-        template.setValueSerializer(RedisSerializer.string());
-
-        template.setHashKeySerializer(RedisSerializer.string());
-        template.setHashValueSerializer(RedisSerializer.string());
-        return template;
-    }
-}

+ 0 - 19
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/redis/RedisKey.java

@@ -1,19 +0,0 @@
-package cn.reghao.tnb.mall.app.redis;
-
-/**
- * @author reghao
- * @date 2023-05-02 21:01:48
- */
-public class RedisKey {
-    public static String recommendZsetKey() {
-        return String.format("video:recommend:zset");
-    }
-
-    public static String recommendHashKey() {
-        return String.format("video:recommend:hash");
-    }
-
-    public static String cardHashKey() {
-        return String.format("video:card:hash");
-    }
-}

+ 0 - 62
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/redis/ds/RedisHash.java

@@ -1,62 +0,0 @@
-package cn.reghao.tnb.mall.app.redis.ds;
-
-import org.springframework.data.redis.core.HashOperations;
-import org.springframework.data.redis.core.RedisTemplate;
-import org.springframework.stereotype.Component;
-
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-/**
- * @author reghao
- * @date 2021-03-07 17:44:23
- */
-@Component
-public class RedisHash<T> {
-    private final HashOperations<String, String, T> hashOps;
-
-    public RedisHash(RedisTemplate<String, Object> redisTemplate) {
-        this.hashOps = redisTemplate.opsForHash();
-    }
-
-    public void set(String key, String hashKey, T hashValue) {
-        hashOps.put(key, hashKey, hashValue);
-    }
-
-    public T get(String key, String hashKey) {
-        return hashOps.get(key, hashKey);
-    }
-
-    public List<T> multiGet(String key, Set<String> hashKeys) {
-        return hashOps.multiGet(key, hashKeys);
-    }
-
-    public Map<String, T> entries(String key) {
-        return hashOps.entries(key);
-    }
-
-    public void delete(String key, String hashKey) {
-        hashOps.delete(key, hashKey);
-    }
-
-    public void hset(String key, String hashKey, T hashValue) {
-        hashOps.put(key, hashKey, hashValue);
-    }
-
-    public void hincrby(String key, String hashKey, int value) {
-        hashOps.increment(key, hashKey, value);
-    }
-
-    public Long hlen(String key) {
-        return hashOps.size(key);
-    }
-
-    public void hdel(String key, String hashKey) {
-        hashOps.delete(key, hashKey);
-    }
-
-    public Map<String, T> hgetall(String key) {
-        return hashOps.entries(key);
-    }
-}

+ 0 - 35
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/redis/ds/RedisKey.java

@@ -1,35 +0,0 @@
-package cn.reghao.tnb.mall.app.redis.ds;
-
-import org.springframework.data.redis.core.RedisOperations;
-import org.springframework.data.redis.core.RedisTemplate;
-import org.springframework.data.redis.core.script.DefaultRedisScript;
-import org.springframework.stereotype.Component;
-
-import java.util.Arrays;
-import java.util.concurrent.TimeUnit;
-
-/**
- * @author reghao
- * @date 2021-03-07 17:44:23
- */
-@Component
-public class RedisKey {
-    private final RedisOperations<String, String> redisOps;
-
-    public RedisKey(RedisTemplate<String, String> redisTemplate) {
-        this.redisOps = redisTemplate;
-    }
-
-    public Long eval(String lua, String[] keys, Object... values) {
-        DefaultRedisScript<Long> redisScript = new DefaultRedisScript<>(lua, Long.class);
-        return redisOps.execute(redisScript, Arrays.asList(keys), values);
-    }
-
-    public Boolean expire(String key, long timeout) {
-        return redisOps.expire(key, timeout, TimeUnit.SECONDS);
-    }
-
-    public Boolean exists(String key) {
-        return false;
-    }
-}

+ 0 - 32
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/redis/ds/RedisList.java

@@ -1,32 +0,0 @@
-package cn.reghao.tnb.mall.app.redis.ds;
-
-import org.springframework.data.redis.core.ListOperations;
-import org.springframework.data.redis.core.RedisTemplate;
-import org.springframework.stereotype.Component;
-
-import java.util.List;
-
-/**
- * @author reghao
- * @date 2021-03-07 17:44:23
- */
-@Component
-public class RedisList {
-    private final ListOperations<String, Object> listOps;
-
-    public RedisList(RedisTemplate<String, Object> redisTemplate) {
-        this.listOps = redisTemplate.opsForList();
-    }
-
-    public Object blpop(String key) {
-        return listOps.leftPop(key);
-    }
-
-    public void add(String key, Object value) {
-        listOps.leftPush(key, value);
-    }
-
-    public List<Object> getAll(String key) {
-        return listOps.range(key, 0, -1);
-    }
-}

+ 0 - 52
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/redis/ds/RedisOps.java

@@ -1,52 +0,0 @@
-package cn.reghao.tnb.mall.app.redis.ds;
-
-import org.springframework.data.redis.core.RedisOperations;
-import org.springframework.data.redis.core.RedisTemplate;
-import org.springframework.data.redis.core.script.DefaultRedisScript;
-import org.springframework.stereotype.Component;
-
-import java.util.Arrays;
-import java.util.List;
-import java.util.Set;
-import java.util.concurrent.TimeUnit;
-
-/**
- * @author reghao
- * @date 2021-03-07 17:44:23
- */
-@Component
-public class RedisOps {
-    private final RedisOperations<String, String> redisOps;
-
-    public RedisOps(RedisTemplate<String, String> redisTemplate) {
-        this.redisOps = redisTemplate;
-    }
-
-    public Long eval(String lua, String[] keys, Object... values) {
-        DefaultRedisScript<Long> redisScript = new DefaultRedisScript<>(lua, Long.class);
-        return redisOps.execute(redisScript, Arrays.asList(keys), values);
-    }
-
-    public boolean expire(String key, long timeout) {
-        Boolean ret = redisOps.expire(key, timeout, TimeUnit.SECONDS);
-        return ret != null && ret;
-    }
-
-    public long ttl(String key) {
-        Long ttl = redisOps.getExpire(key);
-        return ttl != null ? ttl : 0;
-    }
-
-    public boolean exists(String key) {
-        Boolean ret = redisOps.hasKey(key);
-        return ret != null && ret;
-    }
-
-    public Set<String> keys(String pattern) {
-        return redisOps.keys(pattern);
-    }
-
-    public void del(String... key) {
-        Long ret = redisOps.delete(List.of(key));
-    }
-}

+ 0 - 65
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/redis/ds/RedisSet.java

@@ -1,65 +0,0 @@
-package cn.reghao.tnb.mall.app.redis.ds;
-
-import org.springframework.data.redis.core.RedisTemplate;
-import org.springframework.data.redis.core.SetOperations;
-import org.springframework.stereotype.Component;
-
-import java.util.List;
-import java.util.Set;
-
-/**
- * Redis set 操作
- *
- * @author reghao
- * @date 2021-03-07 17:40:50
- */
-@Component
-public class RedisSet {
-    private final SetOperations<String, Object> setOps;
-
-    public RedisSet(RedisTemplate<String, Object> redisTemplate) {
-        this.setOps = redisTemplate.opsForSet();
-    }
-
-    public void sadd(String key, Object value) {
-        setOps.add(key, value);
-    }
-
-    public void smove(String srcKey, Object value, String dstKey) {
-        setOps.move(srcKey, value, dstKey);
-    }
-
-    public void sadd(String key, Object... values) {
-        setOps.add(key, values);
-    }
-
-    public Object spop(String key) {
-        return setOps.pop(key);
-    }
-
-    public List<Object> spop(String key, long count) {
-        return setOps.pop(key, count);
-    }
-
-    public Set<Object> smembers(String key) {
-        return setOps.members(key);
-    }
-
-    public boolean sismember(String key, Object value) {
-        Boolean ret = setOps.isMember(key, value);
-        return ret != null && ret;
-    }
-
-    public Set<Object> sunion(List<String> keys) {
-        return setOps.union(keys);
-    }
-
-    public long scard(String key) {
-        Long size = setOps.size(key);
-        return size == null ? 0 : size;
-    }
-
-    public void remove(String key, Object value) {
-        setOps.remove(key, value);
-    }
-}

+ 0 - 69
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/redis/ds/RedisSetStr.java

@@ -1,69 +0,0 @@
-package cn.reghao.tnb.mall.app.redis.ds;
-
-import org.springframework.data.redis.core.RedisTemplate;
-import org.springframework.data.redis.core.SetOperations;
-import org.springframework.stereotype.Component;
-
-import java.util.List;
-import java.util.Set;
-
-/**
- * Redis set 操作
- *
- * @author reghao
- * @date 2023-02-21 21:40:50
- */
-@Component
-public class RedisSetStr {
-    private final SetOperations<String, String> setOps;
-
-    public RedisSetStr(RedisTemplate<String, String> redisTemplate) {
-        this.setOps = redisTemplate.opsForSet();
-    }
-
-    public void sadd(String key, String value) {
-        setOps.add(key, value);
-    }
-
-    public void smove(String srcKey, String value, String dstKey) {
-        setOps.move(srcKey, value, dstKey);
-    }
-
-    public void sadd(String key, String... values) {
-        setOps.add(key, values);
-    }
-
-    public Object spop(String key) {
-        return setOps.pop(key);
-    }
-
-    public List<String> spop(String key, long count) {
-        return setOps.pop(key, count);
-    }
-
-    public Set<String> smembers(String key) {
-        return setOps.members(key);
-    }
-
-    public boolean sismember(String key, Object value) {
-        Boolean ret = setOps.isMember(key, value);
-        return ret != null && ret;
-    }
-
-    public Set<String> sunion(Set<String> keys) {
-        return setOps.union(keys);
-    }
-
-    public Long sunionstore(String destKey, Set<String> keys) {
-        return setOps.unionAndStore(keys, destKey);
-    }
-
-    public long scard(String key) {
-        Long size = setOps.size(key);
-        return size == null ? 0 : size;
-    }
-
-    public void remove(String key, Object value) {
-        setOps.remove(key, value);
-    }
-}

+ 0 - 33
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/redis/ds/RedisSortedSet.java

@@ -1,33 +0,0 @@
-package cn.reghao.tnb.mall.app.redis.ds;
-
-import org.springframework.data.redis.core.RedisTemplate;
-import org.springframework.data.redis.core.ZSetOperations;
-import org.springframework.stereotype.Component;
-
-import java.util.Set;
-
-/**
- * @author reghao
- * @date 2022-09-04 00:11:16
- */
-@Component
-public class RedisSortedSet {
-    private final ZSetOperations<String, String> zsetOps;
-
-    public RedisSortedSet(RedisTemplate<String, String> redisTemplate) {
-        this.zsetOps = redisTemplate.opsForZSet();
-    }
-
-    public void add(String key, String object, long score) {
-        zsetOps.add(key, object, score);
-    }
-
-    public long count(String key) {
-        Long total = zsetOps.count(key, 0, System.currentTimeMillis());
-        return total != null ? total : 0;
-    }
-
-    public Set<String> get(String key, long start, long end) {
-        return zsetOps.range(key, start, end);
-    }
-}

+ 0 - 42
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/redis/ds/RedisSortedSetStr.java

@@ -1,42 +0,0 @@
-package cn.reghao.tnb.mall.app.redis.ds;
-
-import org.springframework.data.redis.connection.RedisZSetCommands;
-import org.springframework.data.redis.core.RedisTemplate;
-import org.springframework.data.redis.core.ZSetOperations;
-import org.springframework.stereotype.Component;
-
-import java.util.Set;
-
-/**
- * @author reghao
- * @date 2023-02-21 21:40:50
- */
-@Component
-public class RedisSortedSetStr {
-    private final ZSetOperations<String, String> zsetOps;
-
-    public RedisSortedSetStr(RedisTemplate<String, String> redisTemplate) {
-        this.zsetOps = redisTemplate.opsForZSet();
-    }
-
-    public void add(String key, double score, String value) {
-        zsetOps.add(key, value, score);
-    }
-
-    public Set<String> zrange(String key, long start, long stop) {
-        return zsetOps.range(key, start, stop);
-    }
-
-    public Long zunionstore(String destKey, String numKeys, Set<String> keys) {
-        return zsetOps.unionAndStore(numKeys, keys, destKey);
-    }
-
-    public Long zinterstore(String destKey, String numKeys, Set<String> keys) {
-        return zsetOps.intersectAndStore(numKeys, keys, destKey);
-    }
-
-    public Long zinterstore(String destKey, String numKeys, Set<String> keys, int weight1, int weight2) {
-        return zsetOps.intersectAndStore(numKeys, keys, destKey,
-                RedisZSetCommands.Aggregate.SUM, RedisZSetCommands.Weights.of(weight1, weight2));
-    }
-}

+ 0 - 40
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/redis/ds/RedisString.java

@@ -1,40 +0,0 @@
-package cn.reghao.tnb.mall.app.redis.ds;
-
-import org.springframework.data.redis.core.RedisTemplate;
-import org.springframework.data.redis.core.ValueOperations;
-import org.springframework.stereotype.Component;
-
-import java.util.concurrent.TimeUnit;
-
-/**
- * @author reghao
- * @date 2021-03-07 17:44:23
- */
-@Component
-public class RedisString {
-    private final ValueOperations<String, String> stringOps;
-
-    public RedisString(RedisTemplate<String, String> redisTemplate) {
-        this.stringOps = redisTemplate.opsForValue();
-    }
-
-    public void set(String key, String value) {
-        stringOps.set(key, value);
-    }
-
-    public void setWithTimeout(String key, String value, long timeout) {
-        stringOps.set(key, value, timeout, TimeUnit.SECONDS);
-    }
-
-    public Boolean setIfAbsent(String key, String value, long timeout) {
-        return stringOps.setIfAbsent(key, value, timeout, TimeUnit.SECONDS);
-    }
-
-    public String get(String key) {
-        return stringOps.get(key);
-    }
-
-    public long incr(String key) {
-        return stringOps.increment(key);
-    }
-}

+ 0 - 40
mall/mall-service/src/main/java/cn/reghao/tnb/mall/app/redis/ds/RedisStringObject.java

@@ -1,40 +0,0 @@
-package cn.reghao.tnb.mall.app.redis.ds;
-
-import org.springframework.data.redis.core.RedisTemplate;
-import org.springframework.data.redis.core.ValueOperations;
-import org.springframework.stereotype.Component;
-
-import java.util.concurrent.TimeUnit;
-
-/**
- * @author reghao
- * @date 2021-03-07 17:44:23
- */
-@Component
-public class RedisStringObject {
-    private final ValueOperations<String, Object> stringOps;
-
-    public RedisStringObject(RedisTemplate<String, Object> redisTemplate) {
-        this.stringOps = redisTemplate.opsForValue();
-    }
-
-    public void set(String key, Object value) {
-        stringOps.set(key, value);
-    }
-
-    public void setWithTimeout(String key, Object value, long timeout) {
-        stringOps.set(key, value, timeout, TimeUnit.SECONDS);
-    }
-
-    public Boolean setIfAbsent(String key, Object value) {
-        return stringOps.setIfAbsent(key, value);
-    }
-
-    public Boolean setIfAbsent(String key, Object value, long timeout) {
-        return stringOps.setIfAbsent(key, value, timeout, TimeUnit.SECONDS);
-    }
-
-    public Object get(String key) {
-        return stringOps.get(key);
-    }
-}

Some files were not shown because too many files changed in this diff