diff --git a/README.md b/README.md index e0179d5..cdfa3fc 100644 --- a/README.md +++ b/README.md @@ -45,21 +45,20 @@ uni-app:https://gitee.com/gz-yami/mall4uni ## 技术选型 -| 技术 | 版本 | 说明 | -|----------------------|--------|------------------------------| -| Spring Boot | 2.7.0 | MVC核心框架 | -| Spring Security web | 2.7.0 | web应用安全防护 | -| MyBatis | 3.5.0 | ORM框架 | -| MyBatisPlus | 3.1.0 | 基于mybatis,使用lambda表达式的 | -| spring-doc | 1.6.9 | 接口文档工具 | -| Hibernator-Validator | 6.0.17 | 验证框架 | -| redisson | 3.10.6 | 对redis进行封装、集成分布式锁等 | -| hikari | 3.2.0 | 数据库连接池 | -| logback | 1.2.11 | log日志工具 | -| orika | 1.5.4 | 更快的bean复制工具 | -| lombok | 1.18.8 | 简化对象封装工具 | -| hutool | 5.7.22 | 更适合国人的java工具集 | -| knife4j | 4.0.0 | 基于swagger,更便于国人使用的swagger ui | +| 技术 | 版本 | 说明 | +|---------------------|---------|------------------------------| +| Spring Boot | 3.0.4 | MVC核心框架 | +| Spring Security web | 3.0.4 | web应用安全防护 | +| MyBatis | 3.5.10 | ORM框架 | +| MyBatisPlus | 3.5.3.1 | 基于mybatis,使用lambda表达式的 | +| spring-doc | 2.0.0 | 接口文档工具 | +| jakarta-validation | 3.0.2 | 验证框架 | +| redisson | 3.19.3 | 对redis进行封装、集成分布式锁等 | +| hikari | 5.0.1 | 数据库连接池 | +| logback | 1.4.5 | log日志工具 | +| lombok | 1.18.26 | 简化对象封装工具 | +| hutool | 5.8.15 | 更适合国人的java工具集 | +| knife4j | 4.0.0 | 基于swagger,更便于国人使用的swagger ui | 通过阿里的代码规范扫描工具(Alibaba Java Coding Guidelines plugin),扫描无异常: diff --git a/db/Dockerfile b/db/Dockerfile index bc4ec24..6d451a6 100644 --- a/db/Dockerfile +++ b/db/Dockerfile @@ -1,7 +1,6 @@ FROM mysql:5.7 -MAINTAINER opgames(opgames.cn@gmail.com) RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime -COPY ./db/yami_shop.sql /docker-entrypoint-initdb.d \ No newline at end of file +COPY ./db/yami_shop.sql /docker-entrypoint-initdb.d diff --git a/doc/接口设计/3. 订单设计-提交订单.md b/doc/接口设计/3. 订单设计-提交订单.md index 219e46d..d49b66f 100644 --- a/doc/接口设计/3. 订单设计-提交订单.md +++ b/doc/接口设计/3. 订单设计-提交订单.md @@ -70,7 +70,7 @@ public class SubmitOrderListener { ```java // 把订单地址保存到数据库 -UserAddrOrder userAddrOrder = mapperFacade.map(mergerOrder.getUserAddr(), UserAddrOrder.class); +UserAddrOrder userAddrOrder = BeanUtil.copyProperties(mergerOrder.getUserAddr(), UserAddrOrder.class); if (userAddrOrder == null) { throw new YamiShopBindException("请填写收货地址"); } diff --git a/pom.xml b/pom.xml index 2b519bc..8e24a57 100644 --- a/pom.xml +++ b/pom.xml @@ -22,24 +22,22 @@ UTF-8 UTF-8 3.8.1 - 2.7.0 - 1.8 + 3.0.4 + 17 31.1-jre - 5.7.22 + 5.8.15 1.15.3 5.2.3 7.2.18 - 3.5.0 - 1.5.4 4.3.9 1.1.0 3.5.3.1 - 3.12.5 + 3.19.3 2.12.1 2.17.2 4.0.0 2.3.1 - 3.1.1 + 4.0.1 @@ -58,26 +56,6 @@ pom import - - com.github.binarywang - weixin-java-pay - ${weixin.version} - - - com.github.binarywang - weixin-java-miniapp - ${weixin.version} - - - com.github.binarywang - weixin-java-mp - ${weixin.version} - - - ma.glasnost.orika - orika-core - ${orika.version} - com.aliyun aliyun-java-sdk-core @@ -169,11 +147,7 @@ com.github.xiaoymin - knife4j-openapi3-spring-boot-starter - - - org.springdoc - springdoc-openapi-ui + knife4j-openapi3-jakarta-spring-boot-starter diff --git a/yami-shop-admin/Dockerfile b/yami-shop-admin/Dockerfile index 88163d1..6152f4b 100644 --- a/yami-shop-admin/Dockerfile +++ b/yami-shop-admin/Dockerfile @@ -1,6 +1,5 @@ -FROM anapsix/alpine-java:8_server-jre_unlimited +FROM openjdk:17.0.2 -MAINTAINER opgames(opgames.cn@gmail.com) RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime @@ -12,4 +11,4 @@ ADD ./yami-shop-admin/target/yami-shop-admin-0.0.1-SNAPSHOT.jar ./ EXPOSE 8085 -CMD java -jar -Xms512m -Xmx512m -Xss256k -XX:SurvivorRatio=8 -XX:+UseConcMarkSweepGC -Dspring.profiles.active=docker yami-shop-admin-0.0.1-SNAPSHOT.jar \ No newline at end of file +CMD java -jar -Xms512m -Xmx512m -Xss256k -XX:SurvivorRatio=8 -XX:+UseConcMarkSweepGC -Dspring.profiles.active=docker yami-shop-admin-0.0.1-SNAPSHOT.jar diff --git a/yami-shop-admin/src/main/java/com/yami/shop/admin/config/SwaggerConfiguration.java b/yami-shop-admin/src/main/java/com/yami/shop/admin/config/SwaggerConfiguration.java index ede3c95..c3d49d2 100644 --- a/yami-shop-admin/src/main/java/com/yami/shop/admin/config/SwaggerConfiguration.java +++ b/yami-shop-admin/src/main/java/com/yami/shop/admin/config/SwaggerConfiguration.java @@ -13,7 +13,7 @@ package com.yami.shop.admin.config; import io.swagger.v3.oas.models.OpenAPI; import io.swagger.v3.oas.models.info.Info; import io.swagger.v3.oas.models.info.License; -import org.springdoc.core.GroupedOpenApi; +import org.springdoc.core.models.GroupedOpenApi; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; diff --git a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/AdminLoginController.java b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/AdminLoginController.java index 333853d..d9a7446 100644 --- a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/AdminLoginController.java +++ b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/AdminLoginController.java @@ -31,12 +31,11 @@ import com.yami.shop.sys.service.SysUserService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.beans.factory.annotation.Autowired; -import com.yami.shop.common.response.ServerResponseEntity; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; -import javax.validation.Valid; +import jakarta.validation.Valid; import java.util.Arrays; import java.util.List; import java.util.Objects; diff --git a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/AreaController.java b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/AreaController.java index b09651d..1a4659b 100644 --- a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/AreaController.java +++ b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/AreaController.java @@ -22,7 +22,7 @@ import com.yami.shop.common.response.ServerResponseEntity; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; -import javax.validation.Valid; +import jakarta.validation.Valid; import java.util.List; import java.util.Objects; diff --git a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/AttributeController.java b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/AttributeController.java index c8bc756..5cea597 100644 --- a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/AttributeController.java +++ b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/AttributeController.java @@ -22,7 +22,7 @@ import com.yami.shop.common.response.ServerResponseEntity; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; -import javax.validation.Valid; +import jakarta.validation.Valid; import java.util.Objects; /** diff --git a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/BrandController.java b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/BrandController.java index b84bce8..d6d56a6 100644 --- a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/BrandController.java +++ b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/BrandController.java @@ -22,7 +22,7 @@ import com.yami.shop.common.response.ServerResponseEntity; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; -import javax.validation.Valid; +import jakarta.validation.Valid; import java.util.Objects; diff --git a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/HotSearchController.java b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/HotSearchController.java index 9f263b1..a06a041 100644 --- a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/HotSearchController.java +++ b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/HotSearchController.java @@ -22,7 +22,7 @@ import com.yami.shop.common.response.ServerResponseEntity; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; -import javax.validation.Valid; +import jakarta.validation.Valid; import java.util.Date; import java.util.List; @@ -61,7 +61,7 @@ public class HotSearchController { HotSearch hotSearch = hotSearchService.getById(id); return ServerResponseEntity.success(hotSearch); } - + /** * 保存 */ @@ -75,7 +75,7 @@ public class HotSearchController { hotSearchService.removeHotSearchDtoCacheByShopId(SecurityUtils.getSysUser().getShopId()); return ServerResponseEntity.success(); } - + /** * 修改 */ diff --git a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/IndexImgController.java b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/IndexImgController.java index 65914cc..4fc3f68 100644 --- a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/IndexImgController.java +++ b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/IndexImgController.java @@ -24,7 +24,7 @@ import com.yami.shop.common.response.ServerResponseEntity; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; -import javax.validation.Valid; +import jakarta.validation.Valid; import java.util.Date; import java.util.Objects; diff --git a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/NoticeController.java b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/NoticeController.java index 2d48a69..fdb76fd 100644 --- a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/NoticeController.java +++ b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/NoticeController.java @@ -22,7 +22,7 @@ import com.yami.shop.common.response.ServerResponseEntity; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; -import javax.validation.Valid; +import jakarta.validation.Valid; import java.util.Date; /** diff --git a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/OrderController.java b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/OrderController.java index 3016051..ec242ad 100644 --- a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/OrderController.java +++ b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/OrderController.java @@ -37,8 +37,8 @@ import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; -import javax.servlet.ServletOutputStream; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.ServletOutputStream; +import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.Arrays; import java.util.Date; diff --git a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/PickAddrController.java b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/PickAddrController.java index e520387..b170280 100644 --- a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/PickAddrController.java +++ b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/PickAddrController.java @@ -24,7 +24,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; -import javax.validation.Valid; +import jakarta.validation.Valid; import java.util.Arrays; import java.util.Objects; diff --git a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/ProdCommController.java b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/ProdCommController.java index 732207b..9f0846d 100644 --- a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/ProdCommController.java +++ b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/ProdCommController.java @@ -18,7 +18,7 @@ import com.yami.shop.common.util.Json; import com.yami.shop.service.ProdCommService; import lombok.AllArgsConstructor; -import javax.validation.Valid; +import jakarta.validation.Valid; import lombok.SneakyThrows; import org.apache.commons.lang3.StringUtils; @@ -30,7 +30,6 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.yami.shop.common.util.PageParam; import com.baomidou.mybatisplus.core.metadata.IPage; -import java.util.ArrayList; import java.util.Date; /** diff --git a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/ProdTagController.java b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/ProdTagController.java index b8f96bd..8e921fb 100644 --- a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/ProdTagController.java +++ b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/ProdTagController.java @@ -25,7 +25,7 @@ import com.yami.shop.common.response.ServerResponseEntity; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; -import javax.validation.Valid; +import jakarta.validation.Valid; import java.util.Date; import java.util.List; @@ -136,4 +136,4 @@ public class ProdTagController { } -} \ No newline at end of file +} diff --git a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/ProdTagReferenceController.java b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/ProdTagReferenceController.java index 07a430a..dde86eb 100644 --- a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/ProdTagReferenceController.java +++ b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/ProdTagReferenceController.java @@ -22,7 +22,7 @@ import com.yami.shop.common.response.ServerResponseEntity; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; -import javax.validation.Valid; +import jakarta.validation.Valid; /** * 分组标签引用 diff --git a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/ProductController.java b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/ProductController.java index fdc0028..8aeafd2 100644 --- a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/ProductController.java +++ b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/ProductController.java @@ -26,12 +26,12 @@ import com.yami.shop.service.BasketService; import com.yami.shop.service.ProdTagReferenceService; import com.yami.shop.service.ProductService; import com.yami.shop.service.SkuService; -import ma.glasnost.orika.MapperFacade; +import cn.hutool.core.bean.BeanUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; -import javax.validation.Valid; +import jakarta.validation.Valid; import java.util.Date; import java.util.List; import java.util.Objects; @@ -49,8 +49,6 @@ public class ProductController { @Autowired private ProductService productService; - @Autowired - private MapperFacade mapperFacade; @Autowired private SkuService skuService; @@ -103,7 +101,7 @@ public class ProductController { public ServerResponseEntity save(@Valid @RequestBody ProductParam productParam) { checkParam(productParam); - Product product = mapperFacade.map(productParam, Product.class); + Product product = BeanUtil.copyProperties(productParam, Product.class); product.setDeliveryMode(Json.toJsonString(productParam.getDeliveryModeVo())); product.setShopId(SecurityUtils.getSysUser().getShopId()); product.setUpdateTime(new Date()); @@ -130,7 +128,7 @@ public class ProductController { List dbSkus = skuService.listByProdId(dbProduct.getProdId()); - Product product = mapperFacade.map(productParam, Product.class); + Product product = BeanUtil.copyProperties(productParam, Product.class); product.setDeliveryMode(Json.toJsonString(productParam.getDeliveryModeVo())); product.setUpdateTime(new Date()); diff --git a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/ShopDetailController.java b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/ShopDetailController.java index a435829..7852a8a 100644 --- a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/ShopDetailController.java +++ b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/ShopDetailController.java @@ -18,14 +18,14 @@ import com.yami.shop.bean.param.ShopDetailParam; import com.yami.shop.common.util.PageParam; import com.yami.shop.security.admin.util.SecurityUtils; import com.yami.shop.service.ShopDetailService; -import ma.glasnost.orika.MapperFacade; +import cn.hutool.core.bean.BeanUtil; import org.springframework.beans.factory.annotation.Autowired; import com.yami.shop.common.response.ServerResponseEntity; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; -import javax.validation.Valid; +import jakarta.validation.Valid; import java.util.Date; import java.util.List; import java.util.stream.Collectors; @@ -43,9 +43,6 @@ public class ShopDetailController { @Autowired private ShopDetailService shopDetailService; - @Autowired - private MapperFacade mapperFacade; - /** * 修改分销开关 @@ -83,7 +80,7 @@ public class ShopDetailController { .orderByDesc(ShopDetail::getShopId)); return ServerResponseEntity.success(shopDetails); } - + /** * 获取信息 */ @@ -101,13 +98,13 @@ public class ShopDetailController { @PostMapping @PreAuthorize("@pms.hasPermission('shop:shopDetail:save')") public ServerResponseEntity save(@Valid ShopDetailParam shopDetailParam){ - ShopDetail shopDetail = mapperFacade.map(shopDetailParam, ShopDetail.class); + ShopDetail shopDetail = BeanUtil.copyProperties(shopDetailParam, ShopDetail.class); shopDetail.setCreateTime(new Date()); shopDetail.setShopStatus(1); shopDetailService.save(shopDetail); return ServerResponseEntity.success(); } - + /** * 修改 */ @@ -115,12 +112,12 @@ public class ShopDetailController { @PreAuthorize("@pms.hasPermission('shop:shopDetail:update')") public ServerResponseEntity update(@Valid ShopDetailParam shopDetailParam){ ShopDetail daShopDetail = shopDetailService.getShopDetailByShopId(shopDetailParam.getShopId()); - ShopDetail shopDetail = mapperFacade.map(shopDetailParam, ShopDetail.class); + ShopDetail shopDetail = BeanUtil.copyProperties(shopDetailParam, ShopDetail.class); shopDetail.setUpdateTime(new Date()); shopDetailService.updateShopDetail(shopDetail,daShopDetail); return ServerResponseEntity.success(); } - + /** * 删除 */ @@ -130,7 +127,7 @@ public class ShopDetailController { shopDetailService.deleteShopDetailByShopId(id); return ServerResponseEntity.success(); } - + /** * 更新店铺状态 */ @@ -145,8 +142,8 @@ public class ShopDetailController { shopDetailService.removeShopDetailCacheByShopId(shopDetail.getShopId()); return ServerResponseEntity.success(); } - - + + /** * 获取所有的店铺名称 */ diff --git a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/SpecController.java b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/SpecController.java index c6a987b..181fe05 100644 --- a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/SpecController.java +++ b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/SpecController.java @@ -25,7 +25,7 @@ import com.yami.shop.common.response.ServerResponseEntity; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; -import javax.validation.Valid; +import jakarta.validation.Valid; import java.util.List; import java.util.Objects; diff --git a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/UserAddrController.java b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/UserAddrController.java index 7fa2b0b..50550ec 100644 --- a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/UserAddrController.java +++ b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/UserAddrController.java @@ -21,7 +21,7 @@ import com.yami.shop.common.response.ServerResponseEntity; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; -import javax.validation.Valid; +import jakarta.validation.Valid; /** * 用户地址管理 diff --git a/yami-shop-admin/src/main/resources/application-dev.yml b/yami-shop-admin/src/main/resources/application-dev.yml index aa3c093..bee5541 100644 --- a/yami-shop-admin/src/main/resources/application-dev.yml +++ b/yami-shop-admin/src/main/resources/application-dev.yml @@ -13,14 +13,11 @@ spring: idle-timeout: 10000 auto-commit: true connection-test-query: SELECT 1 - cache: - type: redis + data: redis: - cache-null-values: true - redis: - host: 127.0.0.1 - port: 6379 - database: 0 + host: 127.0.0.1 + port: 6379 + database: 0 logging: config: classpath:logback/logback-dev.xml xxl-job: diff --git a/yami-shop-admin/src/main/resources/application-docker.yml b/yami-shop-admin/src/main/resources/application-docker.yml index cb4cb19..1cae553 100644 --- a/yami-shop-admin/src/main/resources/application-docker.yml +++ b/yami-shop-admin/src/main/resources/application-docker.yml @@ -13,14 +13,15 @@ spring: idle-timeout: 25000 auto-commit: true connection-test-query: SELECT 1 - redis: - host: ${REDIS_HOST} - port: ${REDIS_PORT} - database: ${REDIS_DATABASE:0} + data: + redis: + host: ${REDIS_HOST} + port: ${REDIS_PORT} + database: ${REDIS_DATABASE:0} logging: config: classpath:logback/logback-prod.xml xxl-job: accessToken: ${XXL_JOB_ACCESS_TOKEN:default_token} logPath: ${XXL_JOB_LOG_PATH:/data/applogs/xxl-job/jobhandler} admin: - addresses: ${XXL_JOB_ADDRESS:http://mall4j-job:8080/xxl-job-admin} \ No newline at end of file + addresses: ${XXL_JOB_ADDRESS:http://mall4j-job:8080/xxl-job-admin} diff --git a/yami-shop-admin/src/main/resources/application-prod.yml b/yami-shop-admin/src/main/resources/application-prod.yml index 5227fe3..6c08820 100644 --- a/yami-shop-admin/src/main/resources/application-prod.yml +++ b/yami-shop-admin/src/main/resources/application-prod.yml @@ -13,14 +13,15 @@ spring: idle-timeout: 25000 auto-commit: true connection-test-query: SELECT 1 - redis: - host: 127.0.0.1 - port: 6379 - database: ${REDIS_DATABASE:0} + data: + redis: + host: 127.0.0.1 + port: 6379 + database: ${REDIS_DATABASE:0} logging: config: classpath:logback/logback-prod.xml xxl-job: accessToken: default_token logPath: /data/applogs/xxl-job/jobhandler admin: - addresses: http://localhost:8080/xxl-job-admin \ No newline at end of file + addresses: http://localhost:8080/xxl-job-admin diff --git a/yami-shop-api/Dockerfile b/yami-shop-api/Dockerfile index 6551ce2..6c6a5af 100644 --- a/yami-shop-api/Dockerfile +++ b/yami-shop-api/Dockerfile @@ -1,6 +1,5 @@ -FROM anapsix/alpine-java:8_server-jre_unlimited +FROM openjdk:17.0.2 -MAINTAINER opgames(opgames.cn@gmail.com) RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime @@ -12,4 +11,4 @@ EXPOSE 8086 ADD ./yami-shop-api/target/yami-shop-api-0.0.1-SNAPSHOT.jar ./ -CMD java -jar -Xms1024m -Xmx1024m -Xmn256m -Xss256k -XX:SurvivorRatio=8 -XX:+UseConcMarkSweepGC -Dspring.profiles.active=docker yami-shop-api-0.0.1-SNAPSHOT.jar \ No newline at end of file +CMD java -jar -Xms1024m -Xmx1024m -Xmn256m -Xss256k -XX:SurvivorRatio=8 -XX:+UseConcMarkSweepGC -Dspring.profiles.active=docker yami-shop-api-0.0.1-SNAPSHOT.jar diff --git a/yami-shop-api/src/main/java/com/yami/shop/api/config/SwaggerConfiguration.java b/yami-shop-api/src/main/java/com/yami/shop/api/config/SwaggerConfiguration.java index 41b9fe6..e2048f3 100644 --- a/yami-shop-api/src/main/java/com/yami/shop/api/config/SwaggerConfiguration.java +++ b/yami-shop-api/src/main/java/com/yami/shop/api/config/SwaggerConfiguration.java @@ -13,7 +13,7 @@ package com.yami.shop.api.config; import io.swagger.v3.oas.models.OpenAPI; import io.swagger.v3.oas.models.info.Info; import io.swagger.v3.oas.models.info.License; -import org.springdoc.core.GroupedOpenApi; +import org.springdoc.core.models.GroupedOpenApi; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; diff --git a/yami-shop-api/src/main/java/com/yami/shop/api/controller/AddrController.java b/yami-shop-api/src/main/java/com/yami/shop/api/controller/AddrController.java index e79bbf4..739cd7e 100644 --- a/yami-shop-api/src/main/java/com/yami/shop/api/controller/AddrController.java +++ b/yami-shop-api/src/main/java/com/yami/shop/api/controller/AddrController.java @@ -22,11 +22,11 @@ import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.AllArgsConstructor; -import ma.glasnost.orika.MapperFacade; +import cn.hutool.core.bean.BeanUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; -import javax.validation.Valid; +import jakarta.validation.Valid; import java.util.Date; import java.util.List; @@ -39,8 +39,6 @@ import java.util.List; @AllArgsConstructor public class AddrController { - @Autowired - private MapperFacade mapperFacade; @Autowired private UserAddrService userAddrService; @@ -52,7 +50,7 @@ public class AddrController { public ServerResponseEntity> dvyList() { String userId = SecurityUtils.getUser().getUserId(); List userAddrs = userAddrService.list(new LambdaQueryWrapper().eq(UserAddr::getUserId, userId).orderByDesc(UserAddr::getCommonAddr).orderByDesc(UserAddr::getUpdateTime)); - return ServerResponseEntity.success(mapperFacade.mapAsList(userAddrs, UserAddrDto.class)); + return ServerResponseEntity.success(BeanUtil.copyToList(userAddrs, UserAddrDto.class)); } @PostMapping("/addAddr") @@ -64,7 +62,7 @@ public class AddrController { return ServerResponseEntity.showFailMsg("该地址已存在"); } long addrCount = userAddrService.count(new LambdaQueryWrapper().eq(UserAddr::getUserId, userId)); - UserAddr userAddr = mapperFacade.map(addrParam, UserAddr.class); + UserAddr userAddr = BeanUtil.copyProperties(addrParam, UserAddr.class); if (addrCount == 0) { userAddr.setCommonAddr(1); @@ -96,7 +94,7 @@ public class AddrController { return ServerResponseEntity.showFailMsg("该地址已被删除"); } - UserAddr userAddr = mapperFacade.map(addrParam, UserAddr.class); + UserAddr userAddr = BeanUtil.copyProperties(addrParam, UserAddr.class); userAddr.setUserId(userId); userAddr.setUpdateTime(new Date()); userAddrService.updateById(userAddr); @@ -154,7 +152,7 @@ public class AddrController { if (userAddr == null) { throw new YamiShopBindException("该地址已被删除"); } - return ServerResponseEntity.success(mapperFacade.map(userAddr, UserAddrDto.class)); + return ServerResponseEntity.success(BeanUtil.copyProperties(userAddr, UserAddrDto.class)); } } diff --git a/yami-shop-api/src/main/java/com/yami/shop/api/controller/CategoryController.java b/yami-shop-api/src/main/java/com/yami/shop/api/controller/CategoryController.java index 37c252b..939a315 100644 --- a/yami-shop-api/src/main/java/com/yami/shop/api/controller/CategoryController.java +++ b/yami-shop-api/src/main/java/com/yami/shop/api/controller/CategoryController.java @@ -26,7 +26,7 @@ import com.yami.shop.service.CategoryService; import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Operation; -import ma.glasnost.orika.MapperFacade; +import cn.hutool.core.bean.BeanUtil; /** * @author lanhai @@ -39,8 +39,6 @@ public class CategoryController { @Autowired private CategoryService categoryService; - @Autowired - private MapperFacade mapperFacade; /** * 分类信息列表接口 @@ -50,7 +48,7 @@ public class CategoryController { @Parameter(name = "parentId", description = "分类ID", required = false) public ServerResponseEntity> categoryInfo(@RequestParam(value = "parentId", defaultValue = "0") Long parentId) { List categories = categoryService.listByParentId(parentId); - List categoryDtos = mapperFacade.mapAsList(categories, CategoryDto.class); + List categoryDtos = BeanUtil.copyToList(categories, CategoryDto.class); return ServerResponseEntity.success(categoryDtos); } diff --git a/yami-shop-api/src/main/java/com/yami/shop/api/controller/IndexImgController.java b/yami-shop-api/src/main/java/com/yami/shop/api/controller/IndexImgController.java index bbbf850..487a093 100644 --- a/yami-shop-api/src/main/java/com/yami/shop/api/controller/IndexImgController.java +++ b/yami-shop-api/src/main/java/com/yami/shop/api/controller/IndexImgController.java @@ -15,7 +15,7 @@ import com.yami.shop.bean.model.IndexImg; import com.yami.shop.service.IndexImgService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; -import ma.glasnost.orika.MapperFacade; +import cn.hutool.core.bean.BeanUtil; import org.springframework.beans.factory.annotation.Autowired; import com.yami.shop.common.response.ServerResponseEntity; import org.springframework.web.bind.annotation.GetMapping; @@ -29,8 +29,6 @@ import java.util.List; @RestController @Tag(name = "首页轮播图接口") public class IndexImgController { - @Autowired - private MapperFacade mapperFacade; @Autowired private IndexImgService indexImgService; @@ -42,7 +40,7 @@ public class IndexImgController { @Operation(summary = "首页轮播图" , description = "获取首页轮播图列表信息") public ServerResponseEntity> indexImgs() { List indexImgList = indexImgService.listIndexImg(); - List indexImgDtos = mapperFacade.mapAsList(indexImgList, IndexImgDto.class); + List indexImgDtos = BeanUtil.copyToList(indexImgList, IndexImgDto.class); return ServerResponseEntity.success(indexImgDtos); } } diff --git a/yami-shop-api/src/main/java/com/yami/shop/api/controller/MyOrderController.java b/yami-shop-api/src/main/java/com/yami/shop/api/controller/MyOrderController.java index 8068fda..a12f05b 100644 --- a/yami-shop-api/src/main/java/com/yami/shop/api/controller/MyOrderController.java +++ b/yami-shop-api/src/main/java/com/yami/shop/api/controller/MyOrderController.java @@ -27,7 +27,7 @@ import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Parameters; import io.swagger.v3.oas.annotations.Operation; import lombok.AllArgsConstructor; -import ma.glasnost.orika.MapperFacade; +import cn.hutool.core.bean.BeanUtil; import com.yami.shop.common.response.ServerResponseEntity; import org.springframework.web.bind.annotation.*; @@ -46,7 +46,7 @@ public class MyOrderController { private final OrderService orderService; - private final MapperFacade mapperFacade; + private final UserAddrOrderService userAddrOrderService; @@ -83,9 +83,9 @@ public class MyOrderController { ShopDetail shopDetail = shopDetailService.getShopDetailByShopId(order.getShopId()); UserAddrOrder userAddrOrder = userAddrOrderService.getById(order.getAddrOrderId()); - UserAddrDto userAddrDto = mapperFacade.map(userAddrOrder, UserAddrDto.class); + UserAddrDto userAddrDto = BeanUtil.copyProperties(userAddrOrder, UserAddrDto.class); List orderItems = orderItemService.getOrderItemsByOrderNumber(orderNumber); - List orderItemDtos = mapperFacade.mapAsList(orderItems, OrderItemDto.class); + List orderItemDtos = BeanUtil.copyToList(orderItems, OrderItemDto.class); orderShopDto.setShopId(shopDetail.getShopId()); orderShopDto.setShopName(shopDetail.getShopName()); diff --git a/yami-shop-api/src/main/java/com/yami/shop/api/controller/NoticeController.java b/yami-shop-api/src/main/java/com/yami/shop/api/controller/NoticeController.java index 7f58577..d400da5 100644 --- a/yami-shop-api/src/main/java/com/yami/shop/api/controller/NoticeController.java +++ b/yami-shop-api/src/main/java/com/yami/shop/api/controller/NoticeController.java @@ -20,7 +20,7 @@ import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.Parameters; import io.swagger.v3.oas.annotations.Operation; import lombok.AllArgsConstructor; -import ma.glasnost.orika.MapperFacade; +import cn.hutool.core.bean.BeanUtil; import com.yami.shop.common.response.ServerResponseEntity; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; @@ -40,7 +40,7 @@ public class NoticeController { private NoticeService noticeService; - private MapperFacade mapperFacade; + /** * 置顶公告列表接口 @@ -50,7 +50,7 @@ public class NoticeController { @JsonView(NoticeDto.NoContent.class) public ServerResponseEntity> getTopNoticeList() { List noticeList = noticeService.listNotice(); - List noticeDtoList = mapperFacade.mapAsList(noticeList, NoticeDto.class); + List noticeDtoList = BeanUtil.copyToList(noticeList, NoticeDto.class); return ServerResponseEntity.success(noticeDtoList); } @@ -62,7 +62,7 @@ public class NoticeController { @JsonView(NoticeDto.WithContent.class) public ServerResponseEntity getNoticeById(@PathVariable("id") Long id) { Notice notice = noticeService.getNoticeById(id); - NoticeDto noticeDto = mapperFacade.map(notice, NoticeDto.class); + NoticeDto noticeDto = BeanUtil.copyProperties(notice, NoticeDto.class); return ServerResponseEntity.success(noticeDto); } diff --git a/yami-shop-api/src/main/java/com/yami/shop/api/controller/OrderController.java b/yami-shop-api/src/main/java/com/yami/shop/api/controller/OrderController.java index d0c5540..bf20799 100644 --- a/yami-shop-api/src/main/java/com/yami/shop/api/controller/OrderController.java +++ b/yami-shop-api/src/main/java/com/yami/shop/api/controller/OrderController.java @@ -24,7 +24,7 @@ import com.yami.shop.security.api.util.SecurityUtils; import com.yami.shop.service.*; import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.Operation; -import ma.glasnost.orika.MapperFacade; +import cn.hutool.core.bean.BeanUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ApplicationContext; import com.yami.shop.common.response.ServerResponseEntity; @@ -33,7 +33,7 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import javax.validation.Valid; +import jakarta.validation.Valid; import java.util.ArrayList; import java.util.List; import java.util.Objects; @@ -49,8 +49,6 @@ public class OrderController { @Autowired private OrderService orderService; @Autowired - private MapperFacade mapperFacade; - @Autowired private SkuService skuService; @Autowired private ProductService productService; @@ -72,7 +70,7 @@ public class OrderController { // 订单的地址信息 UserAddr userAddr = userAddrService.getUserAddrByUserId(orderParam.getAddrId(), userId); - UserAddrDto userAddrDto = mapperFacade.map(userAddr, UserAddrDto.class); + UserAddrDto userAddrDto = BeanUtil.copyProperties(userAddr, UserAddrDto.class); // 组装获取用户提交的购物车商品项 diff --git a/yami-shop-api/src/main/java/com/yami/shop/api/controller/PayController.java b/yami-shop-api/src/main/java/com/yami/shop/api/controller/PayController.java index 3fbe9fa..fd12a1f 100644 --- a/yami-shop-api/src/main/java/com/yami/shop/api/controller/PayController.java +++ b/yami-shop-api/src/main/java/com/yami/shop/api/controller/PayController.java @@ -10,7 +10,6 @@ package com.yami.shop.api.controller; -import com.github.binarywang.wxpay.bean.order.WxPayMpOrderResult; import com.yami.shop.bean.app.param.PayParam; import com.yami.shop.bean.pay.PayInfoDto; import com.yami.shop.security.api.model.YamiUser; @@ -42,7 +41,7 @@ public class PayController { */ @PostMapping("/pay") @Operation(summary = "根据订单号进行支付" , description = "根据订单号进行支付") - public ServerResponseEntity pay(@RequestBody PayParam payParam) { + public ServerResponseEntity pay(@RequestBody PayParam payParam) { YamiUser user = SecurityUtils.getUser(); String userId = user.getUserId(); diff --git a/yami-shop-api/src/main/java/com/yami/shop/api/controller/ProdController.java b/yami-shop-api/src/main/java/com/yami/shop/api/controller/ProdController.java index 9b3e724..6c61fc0 100644 --- a/yami-shop-api/src/main/java/com/yami/shop/api/controller/ProdController.java +++ b/yami-shop-api/src/main/java/com/yami/shop/api/controller/ProdController.java @@ -26,7 +26,7 @@ import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Parameters; import io.swagger.v3.oas.annotations.tags.Tag; -import ma.glasnost.orika.MapperFacade; +import cn.hutool.core.bean.BeanUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; @@ -47,8 +47,6 @@ public class ProdController { @Autowired private ProductService prodService; - @Autowired - private MapperFacade mapperFacade; @Autowired private SkuService skuService; @@ -82,7 +80,7 @@ public class ProdController { // 启用的sku列表 List useSkuList = skuList.stream().filter(sku -> sku.getStatus() == 1).collect(Collectors.toList()); product.setSkuList(useSkuList); - ProductDto productDto = mapperFacade.map(product, ProductDto.class); + ProductDto productDto = BeanUtil.copyProperties(product, ProductDto.class); // 商品的配送方式 diff --git a/yami-shop-api/src/main/java/com/yami/shop/api/controller/ProdTagController.java b/yami-shop-api/src/main/java/com/yami/shop/api/controller/ProdTagController.java index ac1b36f..d1a1e65 100644 --- a/yami-shop-api/src/main/java/com/yami/shop/api/controller/ProdTagController.java +++ b/yami-shop-api/src/main/java/com/yami/shop/api/controller/ProdTagController.java @@ -16,7 +16,7 @@ import com.yami.shop.service.ProdTagService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.AllArgsConstructor; -import ma.glasnost.orika.MapperFacade; +import cn.hutool.core.bean.BeanUtil; import com.yami.shop.common.response.ServerResponseEntity; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; @@ -35,7 +35,7 @@ public class ProdTagController { private ProdTagService prodTagService; - private MapperFacade mapperFacade; + /** * 商品分组标签列表接口 @@ -44,7 +44,7 @@ public class ProdTagController { @Operation(summary = "商品分组标签列表" , description = "获取所有的商品分组列表") public ServerResponseEntity> getProdTagList() { List prodTagList = prodTagService.listProdTag(); - List prodTagDtoList = mapperFacade.mapAsList(prodTagList, ProdTagDto.class); + List prodTagDtoList = BeanUtil.copyToList(prodTagList, ProdTagDto.class); return ServerResponseEntity.success(prodTagDtoList); } diff --git a/yami-shop-api/src/main/java/com/yami/shop/api/controller/ShopCartController.java b/yami-shop-api/src/main/java/com/yami/shop/api/controller/ShopCartController.java index 1e6c97f..8a9aa03 100644 --- a/yami-shop-api/src/main/java/com/yami/shop/api/controller/ShopCartController.java +++ b/yami-shop-api/src/main/java/com/yami/shop/api/controller/ShopCartController.java @@ -32,7 +32,7 @@ import org.springframework.context.ApplicationContext; import com.yami.shop.common.response.ServerResponseEntity; import org.springframework.web.bind.annotation.*; -import javax.validation.Valid; +import jakarta.validation.Valid; import java.util.Collections; import java.util.List; import java.util.Map; diff --git a/yami-shop-api/src/main/java/com/yami/shop/api/controller/SkuController.java b/yami-shop-api/src/main/java/com/yami/shop/api/controller/SkuController.java index a5548ad..217c29e 100644 --- a/yami-shop-api/src/main/java/com/yami/shop/api/controller/SkuController.java +++ b/yami-shop-api/src/main/java/com/yami/shop/api/controller/SkuController.java @@ -18,7 +18,7 @@ import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Operation; import lombok.AllArgsConstructor; -import ma.glasnost.orika.MapperFacade; +import cn.hutool.core.bean.BeanUtil; import com.yami.shop.common.response.ServerResponseEntity; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; @@ -37,7 +37,7 @@ public class SkuController { private final SkuService skuService; - private final MapperFacade mapperFacade; + @GetMapping("/getSkuList") @Operation(summary = "通过prodId获取商品全部规格列表" , description = "通过prodId获取商品全部规格列表") @@ -48,7 +48,7 @@ public class SkuController { .eq(Sku::getIsDelete, 0) .eq(Sku::getProdId, prodId) ); - List skuDtoList = mapperFacade.mapAsList(skus, SkuDto.class); + List skuDtoList = BeanUtil.copyToList(skus, SkuDto.class); return ServerResponseEntity.success(skuDtoList); } } diff --git a/yami-shop-api/src/main/java/com/yami/shop/api/controller/UserController.java b/yami-shop-api/src/main/java/com/yami/shop/api/controller/UserController.java index f3febc1..1d8843f 100644 --- a/yami-shop-api/src/main/java/com/yami/shop/api/controller/UserController.java +++ b/yami-shop-api/src/main/java/com/yami/shop/api/controller/UserController.java @@ -18,7 +18,7 @@ import com.yami.shop.service.UserService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.AllArgsConstructor; -import ma.glasnost.orika.MapperFacade; +import cn.hutool.core.bean.BeanUtil; import com.yami.shop.common.response.ServerResponseEntity; import org.springframework.web.bind.annotation.*; /** @@ -32,7 +32,7 @@ public class UserController { private final UserService userService; - private final MapperFacade mapperFacade; + /** * 查看用户接口 */ @@ -41,7 +41,7 @@ public class UserController { public ServerResponseEntity userInfo() { String userId = SecurityUtils.getUser().getUserId(); User user = userService.getById(userId); - UserDto userDto = mapperFacade.map(user, UserDto.class); + UserDto userDto = BeanUtil.copyProperties(user, UserDto.class); return ServerResponseEntity.success(userDto); } diff --git a/yami-shop-api/src/main/java/com/yami/shop/api/controller/UserRegisterController.java b/yami-shop-api/src/main/java/com/yami/shop/api/controller/UserRegisterController.java index a476500..0241868 100644 --- a/yami-shop-api/src/main/java/com/yami/shop/api/controller/UserRegisterController.java +++ b/yami-shop-api/src/main/java/com/yami/shop/api/controller/UserRegisterController.java @@ -20,7 +20,7 @@ import com.yami.shop.common.response.ServerResponseEntity; import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.web.bind.annotation.*; -import javax.validation.Valid; +import jakarta.validation.Valid; import java.util.Date; /** diff --git a/yami-shop-api/src/main/java/com/yami/shop/api/listener/SubmitOrderListener.java b/yami-shop-api/src/main/java/com/yami/shop/api/listener/SubmitOrderListener.java index e6952aa..2cb0f8d 100644 --- a/yami-shop-api/src/main/java/com/yami/shop/api/listener/SubmitOrderListener.java +++ b/yami-shop-api/src/main/java/com/yami/shop/api/listener/SubmitOrderListener.java @@ -29,7 +29,7 @@ import com.yami.shop.service.ProductService; import com.yami.shop.service.SkuService; import com.yami.shop.service.UserAddrOrderService; import lombok.AllArgsConstructor; -import ma.glasnost.orika.MapperFacade; +import cn.hutool.core.bean.BeanUtil; import org.springframework.context.event.EventListener; import org.springframework.core.annotation.Order; import org.springframework.stereotype.Component; @@ -46,7 +46,7 @@ import java.util.*; public class SubmitOrderListener { - private final MapperFacade mapperFacade; + private final UserAddrOrderService userAddrOrderService; @@ -89,7 +89,7 @@ public class SubmitOrderListener { Map prodStocksMap = new HashMap<>(16); // 把订单地址保存到数据库 - UserAddrOrder userAddrOrder = mapperFacade.map(mergerOrder.getUserAddr(), UserAddrOrder.class); + UserAddrOrder userAddrOrder = BeanUtil.copyProperties(mergerOrder.getUserAddr(), UserAddrOrder.class); if (userAddrOrder == null) { throw new YamiShopBindException("请填写收货地址"); } diff --git a/yami-shop-api/src/main/resources/application-dev.yml b/yami-shop-api/src/main/resources/application-dev.yml index 7c11224..e014318 100644 --- a/yami-shop-api/src/main/resources/application-dev.yml +++ b/yami-shop-api/src/main/resources/application-dev.yml @@ -12,10 +12,11 @@ spring: maximum-pool-size: 20 idle-timeout: 10000 connection-test-query: select 1 - redis: - host: 127.0.0.1 - port: 6379 - database: 0 + data: + redis: + host: 127.0.0.1 + port: 6379 + database: 0 logging: config: classpath:logback/logback-dev.xml diff --git a/yami-shop-api/src/main/resources/application-docker.yml b/yami-shop-api/src/main/resources/application-docker.yml index f0b4092..58c7a95 100644 --- a/yami-shop-api/src/main/resources/application-docker.yml +++ b/yami-shop-api/src/main/resources/application-docker.yml @@ -12,9 +12,10 @@ spring: minimum-idle: 0 maximum-pool-size: 20 connection-test-query: select 1 - redis: - host: ${REDIS_HOST} - port: ${REDIS_PORT} - database: ${REDIS_DATABASE:0} + data: + redis: + host: ${REDIS_HOST} + port: ${REDIS_PORT} + database: ${REDIS_DATABASE:0} logging: config: classpath:logback/logback-prod.xml diff --git a/yami-shop-api/src/main/resources/application-prod.yml b/yami-shop-api/src/main/resources/application-prod.yml index 1071a33..d25012f 100644 --- a/yami-shop-api/src/main/resources/application-prod.yml +++ b/yami-shop-api/src/main/resources/application-prod.yml @@ -12,9 +12,10 @@ spring: minimum-idle: 0 maximum-pool-size: 20 connection-test-query: select 1 - redis: - host: 127.0.0.1 - port: 6379 - database: ${REDIS_DATABASE:0} + data: + redis: + host: 127.0.0.1 + port: 6379 + database: ${REDIS_DATABASE:0} logging: config: classpath:logback/logback-prod.xml diff --git a/yami-shop-bean/src/main/java/com/yami/shop/bean/app/param/AddrParam.java b/yami-shop-bean/src/main/java/com/yami/shop/bean/app/param/AddrParam.java index 86e5cb1..e0f179c 100644 --- a/yami-shop-bean/src/main/java/com/yami/shop/bean/app/param/AddrParam.java +++ b/yami-shop-bean/src/main/java/com/yami/shop/bean/app/param/AddrParam.java @@ -12,57 +12,57 @@ package com.yami.shop.bean.app.param; import io.swagger.v3.oas.annotations.media.Schema; -import javax.validation.constraints.NotNull; +import jakarta.validation.constraints.NotNull; /** * @author lanhai */ @Schema(description = "地址参数") public class AddrParam { - + @Schema(description = "地址ID" ,required=true) private Long addrId; @NotNull(message = "收货人不能为空") @Schema(description = "收货人" ,required=true) private String receiver; - + @NotNull(message = "地址不能为空") @Schema(description = "地址" ,required=true) private String addr; - + @Schema(description = "邮编" ,required=false) private String postCode; - + @NotNull(message = "手机不能为空") @Schema(description = "手机" ,required=true) private String mobile; - + @NotNull(message = "省ID不能为空") @Schema(description = "省ID" ,required=true) private Long provinceId; - + @NotNull(message = "城市ID不能为空") @Schema(description = "城市ID" ,required=true) private Long cityId; - + @NotNull(message = "区ID不能为空") @Schema(description = "区ID" ,required=true) private Long areaId; - + @NotNull(message = "省不能为空") @Schema(description = "省" ,required=true) private String province; - + @NotNull(message = "城市不能为空") @Schema(description = "城市" ,required=true) private String city; - + @NotNull(message = "区不能为空") @Schema(description = "区" ,required=true) private String area; - + public Long getAddrId() { return addrId; } @@ -150,5 +150,5 @@ public class AddrParam { public void setArea(String area) { this.area = area; } - + } diff --git a/yami-shop-bean/src/main/java/com/yami/shop/bean/app/param/ChangeShopCartParam.java b/yami-shop-bean/src/main/java/com/yami/shop/bean/app/param/ChangeShopCartParam.java index c92894b..86ebb6c 100644 --- a/yami-shop-bean/src/main/java/com/yami/shop/bean/app/param/ChangeShopCartParam.java +++ b/yami-shop-bean/src/main/java/com/yami/shop/bean/app/param/ChangeShopCartParam.java @@ -10,7 +10,7 @@ package com.yami.shop.bean.app.param; -import javax.validation.constraints.NotNull; +import jakarta.validation.constraints.NotNull; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; diff --git a/yami-shop-bean/src/main/java/com/yami/shop/bean/app/param/OrderItemParam.java b/yami-shop-bean/src/main/java/com/yami/shop/bean/app/param/OrderItemParam.java index d3aac71..78cb24c 100644 --- a/yami-shop-bean/src/main/java/com/yami/shop/bean/app/param/OrderItemParam.java +++ b/yami-shop-bean/src/main/java/com/yami/shop/bean/app/param/OrderItemParam.java @@ -13,8 +13,8 @@ package com.yami.shop.bean.app.param; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; -import javax.validation.constraints.Min; -import javax.validation.constraints.NotNull; +import jakarta.validation.constraints.Min; +import jakarta.validation.constraints.NotNull; /** * @author lanhai @@ -26,11 +26,11 @@ public class OrderItemParam { @NotNull(message = "产品ID不能为空") @Schema(description = "产品ID" ,required=true) private Long prodId; - + @NotNull(message = "skuId不能为空") @Schema(description = "skuId" ,required=true) private Long skuId; - + @NotNull(message = "产品数量不能为空") @Min(value = 1,message = "产品数量不能为空") @Schema(description = "产品数量" ,required=true) diff --git a/yami-shop-bean/src/main/java/com/yami/shop/bean/app/param/OrderParam.java b/yami-shop-bean/src/main/java/com/yami/shop/bean/app/param/OrderParam.java index 5262073..ec88b95 100644 --- a/yami-shop-bean/src/main/java/com/yami/shop/bean/app/param/OrderParam.java +++ b/yami-shop-bean/src/main/java/com/yami/shop/bean/app/param/OrderParam.java @@ -13,7 +13,7 @@ package com.yami.shop.bean.app.param; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; -import javax.validation.constraints.NotNull; +import jakarta.validation.constraints.NotNull; import java.util.List; /** diff --git a/yami-shop-bean/src/main/java/com/yami/shop/bean/app/param/OrderRefundExpressParam.java b/yami-shop-bean/src/main/java/com/yami/shop/bean/app/param/OrderRefundExpressParam.java index 915215c..975e28d 100644 --- a/yami-shop-bean/src/main/java/com/yami/shop/bean/app/param/OrderRefundExpressParam.java +++ b/yami-shop-bean/src/main/java/com/yami/shop/bean/app/param/OrderRefundExpressParam.java @@ -3,7 +3,7 @@ package com.yami.shop.bean.app.param; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; -import javax.validation.constraints.NotEmpty; +import jakarta.validation.constraints.NotEmpty; /** * @author lanhai diff --git a/yami-shop-bean/src/main/java/com/yami/shop/bean/app/param/OrderRefundParam.java b/yami-shop-bean/src/main/java/com/yami/shop/bean/app/param/OrderRefundParam.java index 744d3d4..2e37e39 100644 --- a/yami-shop-bean/src/main/java/com/yami/shop/bean/app/param/OrderRefundParam.java +++ b/yami-shop-bean/src/main/java/com/yami/shop/bean/app/param/OrderRefundParam.java @@ -3,8 +3,8 @@ package com.yami.shop.bean.app.param; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; -import javax.validation.constraints.NotEmpty; -import javax.validation.constraints.NotNull; +import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.NotNull; /** * @author lanhai diff --git a/yami-shop-bean/src/main/java/com/yami/shop/bean/app/param/PayParam.java b/yami-shop-bean/src/main/java/com/yami/shop/bean/app/param/PayParam.java index 8ade3f1..3b919ad 100644 --- a/yami-shop-bean/src/main/java/com/yami/shop/bean/app/param/PayParam.java +++ b/yami-shop-bean/src/main/java/com/yami/shop/bean/app/param/PayParam.java @@ -10,8 +10,8 @@ package com.yami.shop.bean.app.param; -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotNull; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; import io.swagger.v3.oas.annotations.media.Schema; diff --git a/yami-shop-bean/src/main/java/com/yami/shop/bean/app/param/ProdCommParam.java b/yami-shop-bean/src/main/java/com/yami/shop/bean/app/param/ProdCommParam.java index a315583..d979108 100644 --- a/yami-shop-bean/src/main/java/com/yami/shop/bean/app/param/ProdCommParam.java +++ b/yami-shop-bean/src/main/java/com/yami/shop/bean/app/param/ProdCommParam.java @@ -13,7 +13,7 @@ package com.yami.shop.bean.app.param; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; -import javax.validation.constraints.NotNull; +import jakarta.validation.constraints.NotNull; /** * @author lanhai diff --git a/yami-shop-bean/src/main/java/com/yami/shop/bean/app/param/SendSmsParam.java b/yami-shop-bean/src/main/java/com/yami/shop/bean/app/param/SendSmsParam.java index 7f66285..b161583 100644 --- a/yami-shop-bean/src/main/java/com/yami/shop/bean/app/param/SendSmsParam.java +++ b/yami-shop-bean/src/main/java/com/yami/shop/bean/app/param/SendSmsParam.java @@ -12,14 +12,14 @@ package com.yami.shop.bean.app.param; import io.swagger.v3.oas.annotations.media.Schema; -import javax.validation.constraints.Pattern; +import jakarta.validation.constraints.Pattern; /** * @author lanhai */ @Schema(description = "发送验证码参数") public class SendSmsParam { - + @Schema(description = "手机号" ) @Pattern(regexp="1[0-9]{10}",message = "请输入正确的手机号") private String mobile; @@ -32,5 +32,5 @@ public class SendSmsParam { this.mobile = mobile; } - + } diff --git a/yami-shop-bean/src/main/java/com/yami/shop/bean/model/ProdProp.java b/yami-shop-bean/src/main/java/com/yami/shop/bean/model/ProdProp.java index cac4b89..63e2122 100644 --- a/yami-shop-bean/src/main/java/com/yami/shop/bean/model/ProdProp.java +++ b/yami-shop-bean/src/main/java/com/yami/shop/bean/model/ProdProp.java @@ -15,8 +15,8 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotEmpty; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotEmpty; import java.io.Serializable; import java.util.List; diff --git a/yami-shop-bean/src/main/java/com/yami/shop/bean/param/DeliveryOrderParam.java b/yami-shop-bean/src/main/java/com/yami/shop/bean/param/DeliveryOrderParam.java index 9014ac1..11cb958 100644 --- a/yami-shop-bean/src/main/java/com/yami/shop/bean/param/DeliveryOrderParam.java +++ b/yami-shop-bean/src/main/java/com/yami/shop/bean/param/DeliveryOrderParam.java @@ -12,21 +12,21 @@ package com.yami.shop.bean.param; import io.swagger.v3.oas.annotations.media.Schema; -import javax.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotBlank; /** * @author lanhai */ public class DeliveryOrderParam { - + @NotBlank(message="订单号不能为空") @Schema(description = "订单号" ,required=true) private String orderNumber; - + @NotBlank(message="快递公司id不能为空") @Schema(description = "快递公司" ,required=true) private Long dvyId; - + @NotBlank(message="物流单号不能为空") @Schema(description = "物流单号" ,required=true) private String dvyFlowId; @@ -55,5 +55,5 @@ public class DeliveryOrderParam { public void setOrderNumber(String orderNumber) { this.orderNumber = orderNumber; } - + } diff --git a/yami-shop-bean/src/main/java/com/yami/shop/bean/param/ProductParam.java b/yami-shop-bean/src/main/java/com/yami/shop/bean/param/ProductParam.java index d297c42..79f38d8 100644 --- a/yami-shop-bean/src/main/java/com/yami/shop/bean/param/ProductParam.java +++ b/yami-shop-bean/src/main/java/com/yami/shop/bean/param/ProductParam.java @@ -14,9 +14,9 @@ import com.yami.shop.bean.model.Product; import com.yami.shop.bean.model.Sku; import lombok.Data; -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; import java.util.List; /** diff --git a/yami-shop-bean/src/main/java/com/yami/shop/bean/param/ShopDetailParam.java b/yami-shop-bean/src/main/java/com/yami/shop/bean/param/ShopDetailParam.java index e6d5d2a..14f94ee 100644 --- a/yami-shop-bean/src/main/java/com/yami/shop/bean/param/ShopDetailParam.java +++ b/yami-shop-bean/src/main/java/com/yami/shop/bean/param/ShopDetailParam.java @@ -10,17 +10,17 @@ package com.yami.shop.bean.param; -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.Size; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Size; /** * @author lanhai */ public class ShopDetailParam { - + private Long shopId; - + /** * 店铺名称(数字、中文,英文(可混合,不可有特殊字符),可修改)、不唯一 */ @@ -74,14 +74,14 @@ public class ShopDetailParam { @NotBlank(message="店铺所在区域不能为空") @Size(max = 10,message = "店铺所在省份区域长度应该小于{max}") private String area; - + /** * 店铺省市区代码,用于回显 */ @NotBlank(message="店铺省市区代码不能为空") @Size(max = 20,message = "店铺省市区代码长度应该小于{max}") private String pcaCode; - + /** * 店铺logo(可修改) */ @@ -101,7 +101,7 @@ public class ShopDetailParam { @NotBlank(message="每天营业时间段不能为空") @Size(max = 100,message = "每天营业时间段长度应该小于{max}") private String openTime; - + /** * 店铺状态(-1:未开通 0: 停业中 1:营业中),可修改 */ diff --git a/yami-shop-common/pom.xml b/yami-shop-common/pom.xml index 249e153..0839da8 100644 --- a/yami-shop-common/pom.xml +++ b/yami-shop-common/pom.xml @@ -40,9 +40,9 @@ com.qiniu qiniu-java-sdk - - mysql - mysql-connector-java + + com.mysql + mysql-connector-j @@ -58,10 +58,6 @@ redisson-spring-boot-starter - ma.glasnost.orika - orika-core - - com.aliyun aliyun-java-sdk-core @@ -69,18 +65,6 @@ com.aliyun aliyun-java-sdk-dysmsapi - - com.github.binarywang - weixin-java-pay - - - com.github.binarywang - weixin-java-miniapp - - - com.github.binarywang - weixin-java-mp - com.alibaba transmittable-thread-local diff --git a/yami-shop-common/src/main/java/com/yami/shop/common/config/OrikaConfig.java b/yami-shop-common/src/main/java/com/yami/shop/common/config/OrikaConfig.java deleted file mode 100644 index 76ffc04..0000000 --- a/yami-shop-common/src/main/java/com/yami/shop/common/config/OrikaConfig.java +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright (c) 2018-2999 广州市蓝海创新科技有限公司 All rights reserved. - * - * https://www.mall4j.com/ - * - * 未经允许,不可做商业用途! - * - * 版权所有,侵权必究! - */ - -package com.yami.shop.common.config; - -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; - -import ma.glasnost.orika.MapperFacade; -import ma.glasnost.orika.MapperFactory; -import ma.glasnost.orika.impl.DefaultMapperFactory; - -/** - * MapperFacade 用于dto ->entity的转换 - * @author lgh - */ -@Configuration -public class OrikaConfig { - - @Bean - public MapperFactory mapperFactory() { - return new DefaultMapperFactory.Builder().build(); - } - - @Bean - public MapperFacade mapperFacade() { - return mapperFactory().getMapperFacade(); - } -} diff --git a/yami-shop-common/src/main/java/com/yami/shop/common/config/Swagger2Config.java b/yami-shop-common/src/main/java/com/yami/shop/common/config/Swagger2Config.java deleted file mode 100644 index 1f9e1f2..0000000 --- a/yami-shop-common/src/main/java/com/yami/shop/common/config/Swagger2Config.java +++ /dev/null @@ -1,103 +0,0 @@ -package com.yami.shop.common.config; - -import cn.hutool.core.util.StrUtil; -import com.fasterxml.jackson.annotation.JsonIgnore; -import com.yami.shop.common.util.PageParam; -import io.swagger.v3.oas.annotations.Hidden; -import org.apache.commons.lang3.reflect.FieldUtils; -import org.springdoc.api.annotations.ParameterObject; -import org.springdoc.core.DelegatingMethodParameter; -import org.springdoc.core.GenericParameterService; -import org.springdoc.core.PropertyResolverUtils; -import org.springdoc.core.SpringDocUtils; -import org.springdoc.core.customizers.DelegatingMethodParameterCustomizer; -import org.springdoc.core.providers.ObjectMapperProvider; -import org.springdoc.core.providers.WebConversionServiceProvider; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.core.MethodParameter; - -import java.lang.annotation.Annotation; -import java.lang.reflect.Field; -import java.util.Arrays; -import java.util.List; -import java.util.Optional; -import java.util.stream.Collectors; -import java.util.stream.Stream; - -/** - * @author FrozenWatermelon - * @date 2022/4/24 - */ -@Configuration -public class Swagger2Config { - - static { - SpringDocUtils.getConfig().addAnnotationsToIgnore(JsonIgnore.class); - } - - @Bean - public GenericParameterService parameterBuilder(PropertyResolverUtils propertyResolverUtils, Optional optionalWebConversionServiceProvider, ObjectMapperProvider objectMapperProvider) { - return new GenericParameterService(propertyResolverUtils, delegatingMethodParameterCustomizer(), - optionalWebConversionServiceProvider,objectMapperProvider); - } - - /** - * 解决@ParameterObject和@Hidden, JsonIgnore同时使用不生效的问题 - * @return - */ - private Optional delegatingMethodParameterCustomizer() { - // NOSONAR - return Optional.of((originalMethodParam, methodParam) -> { - // 这个方法类拥有的注解 - Annotation[] annotations = originalMethodParam.getParameterType().getAnnotations(); - boolean typeContainParameterObject = false; - if (annotations.length > 0) { - List> annotationTypes = Arrays.stream(annotations).map(Annotation::annotationType).collect(Collectors.toList()); - typeContainParameterObject = annotationTypes.contains(ParameterObject.class); - } - - boolean hasParameterAnnotations = (originalMethodParam.hasParameterAnnotations() && originalMethodParam.hasParameterAnnotation(ParameterObject.class)); - if (typeContainParameterObject || hasParameterAnnotations) { - try { - if (isParameterIgnore(originalMethodParam, methodParam)) { - Field field = FieldUtils.getDeclaredField(DelegatingMethodParameter.class, "additionalParameterAnnotations", true); - try { - field.set(methodParam, new Annotation[] {new Hidden() { // NOSONAR - @Override - public Class annotationType() { - return Hidden.class; - }} - }); - } catch (IllegalArgumentException|IllegalAccessException e) { - e.printStackTrace(); - } - } - } catch (NoSuchFieldException | SecurityException e) { - e.printStackTrace(); - } - } - }); - } - - private boolean isParameterIgnore(MethodParameter originalMethodParam, MethodParameter methodParam) throws NoSuchFieldException, SecurityException { - String searchCount = "searchCount"; - String parameterName = StrUtil.isBlank(methodParam.getParameterName())? "":methodParam.getParameterName(); - String fieldName = parameterName.indexOf('.') == -1 ? parameterName : parameterName.substring(0, parameterName.indexOf('.')); - // 解决mybatis-plus返回的查询参数污染的问题 - if (originalMethodParam.getParameterType().isAssignableFrom(PageParam.class)) { - if (searchCount.equals(fieldName)) { - return true; - } - } - Field declaredField; - try { - declaredField = originalMethodParam.getParameterType().getDeclaredField(fieldName); - } catch (NoSuchFieldException e) { - e.printStackTrace(); - declaredField = originalMethodParam.getParameterType().getSuperclass().getDeclaredField(fieldName); - } - return Stream.of(declaredField.getAnnotations()) - .filter(annot -> Arrays.asList(Hidden.class, JsonIgnore.class).contains(annot.annotationType())).count() > 0; - } -} diff --git a/yami-shop-common/src/main/java/com/yami/shop/common/filter/XssFilter.java b/yami-shop-common/src/main/java/com/yami/shop/common/filter/XssFilter.java index 89fc5f7..870349b 100644 --- a/yami-shop-common/src/main/java/com/yami/shop/common/filter/XssFilter.java +++ b/yami-shop-common/src/main/java/com/yami/shop/common/filter/XssFilter.java @@ -15,9 +15,9 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; -import javax.servlet.*; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.*; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; /** @@ -28,7 +28,7 @@ import java.io.IOException; @Component public class XssFilter implements Filter { Logger logger = LoggerFactory.getLogger(getClass().getName()); - + @Override public void init(FilterConfig filterConfig) throws ServletException { @@ -39,7 +39,7 @@ public class XssFilter implements Filter { HttpServletRequest req = (HttpServletRequest) request; HttpServletResponse resp = (HttpServletResponse) response; - + logger.info("uri:{}",req.getRequestURI()); // xss 过滤 chain.doFilter(new XssWrapper(req), resp); diff --git a/yami-shop-common/src/main/java/com/yami/shop/common/handler/HttpHandler.java b/yami-shop-common/src/main/java/com/yami/shop/common/handler/HttpHandler.java index e5a606d..ff19f1b 100644 --- a/yami-shop-common/src/main/java/com/yami/shop/common/handler/HttpHandler.java +++ b/yami-shop-common/src/main/java/com/yami/shop/common/handler/HttpHandler.java @@ -12,7 +12,7 @@ import org.springframework.stereotype.Component; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter; import java.util.Objects; diff --git a/yami-shop-common/src/main/java/com/yami/shop/common/util/HttpContextUtils.java b/yami-shop-common/src/main/java/com/yami/shop/common/util/HttpContextUtils.java index 6932e94..7991943 100644 --- a/yami-shop-common/src/main/java/com/yami/shop/common/util/HttpContextUtils.java +++ b/yami-shop-common/src/main/java/com/yami/shop/common/util/HttpContextUtils.java @@ -13,7 +13,7 @@ package com.yami.shop.common.util; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; -import javax.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletRequest; /** * @author lanhai diff --git a/yami-shop-common/src/main/java/com/yami/shop/common/util/IpHelper.java b/yami-shop-common/src/main/java/com/yami/shop/common/util/IpHelper.java index fd276b8..d8e1e67 100644 --- a/yami-shop-common/src/main/java/com/yami/shop/common/util/IpHelper.java +++ b/yami-shop-common/src/main/java/com/yami/shop/common/util/IpHelper.java @@ -10,7 +10,7 @@ package com.yami.shop.common.util; -import javax.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletRequest; /** * IP帮助工具 diff --git a/yami-shop-common/src/main/java/com/yami/shop/common/util/PageParam.java b/yami-shop-common/src/main/java/com/yami/shop/common/util/PageParam.java index 88d1b7b..4ca8cd3 100644 --- a/yami-shop-common/src/main/java/com/yami/shop/common/util/PageParam.java +++ b/yami-shop-common/src/main/java/com/yami/shop/common/util/PageParam.java @@ -14,7 +14,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.fasterxml.jackson.annotation.JsonIgnore; import io.swagger.v3.oas.annotations.Hidden; import io.swagger.v3.oas.annotations.media.Schema; -import org.springdoc.api.annotations.ParameterObject; +import org.springdoc.core.annotations.ParameterObject; import java.util.List; /** diff --git a/yami-shop-common/src/main/java/com/yami/shop/common/xss/XssWrapper.java b/yami-shop-common/src/main/java/com/yami/shop/common/xss/XssWrapper.java index bc51fca..bb4239e 100644 --- a/yami-shop-common/src/main/java/com/yami/shop/common/xss/XssWrapper.java +++ b/yami-shop-common/src/main/java/com/yami/shop/common/xss/XssWrapper.java @@ -12,8 +12,8 @@ package com.yami.shop.common.xss; import cn.hutool.core.util.StrUtil; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletRequestWrapper; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletRequestWrapper; /** * xss 攻击过滤 diff --git a/yami-shop-security/yami-shop-security-api/src/main/java/com/yami/shop/security/api/controller/LoginController.java b/yami-shop-security/yami-shop-security-api/src/main/java/com/yami/shop/security/api/controller/LoginController.java index b3791bb..1b266ed 100644 --- a/yami-shop-security/yami-shop-security-api/src/main/java/com/yami/shop/security/api/controller/LoginController.java +++ b/yami-shop-security/yami-shop-security-api/src/main/java/com/yami/shop/security/api/controller/LoginController.java @@ -20,7 +20,7 @@ import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; -import javax.validation.Valid; +import jakarta.validation.Valid; /** * @author 菠萝凤梨 diff --git a/yami-shop-security/yami-shop-security-common/src/main/java/com/yami/shop/security/common/adapter/MallWebSecurityConfigurerAdapter.java b/yami-shop-security/yami-shop-security-common/src/main/java/com/yami/shop/security/common/adapter/MallWebSecurityConfigurerAdapter.java index 6b1a617..0b2db39 100644 --- a/yami-shop-security/yami-shop-security-common/src/main/java/com/yami/shop/security/common/adapter/MallWebSecurityConfigurerAdapter.java +++ b/yami-shop-security/yami-shop-security-common/src/main/java/com/yami/shop/security/common/adapter/MallWebSecurityConfigurerAdapter.java @@ -23,7 +23,7 @@ public class MallWebSecurityConfigurerAdapter { .and().sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS) .and().authorizeRequests().requestMatchers(CorsUtils::isPreFlightRequest).permitAll() .and() - .authorizeRequests().antMatchers( + .authorizeRequests().requestMatchers( "/**").permitAll().and().build(); } diff --git a/yami-shop-security/yami-shop-security-common/src/main/java/com/yami/shop/security/common/config/AuthConfig.java b/yami-shop-security/yami-shop-security-common/src/main/java/com/yami/shop/security/common/config/AuthConfig.java index e841b12..da7079b 100644 --- a/yami-shop-security/yami-shop-security-common/src/main/java/com/yami/shop/security/common/config/AuthConfig.java +++ b/yami-shop-security/yami-shop-security-common/src/main/java/com/yami/shop/security/common/config/AuthConfig.java @@ -21,7 +21,7 @@ import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Lazy; import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity; -import javax.servlet.DispatcherType; +import jakarta.servlet.DispatcherType; /** * 授权配置 diff --git a/yami-shop-security/yami-shop-security-common/src/main/java/com/yami/shop/security/common/controller/LogoutController.java b/yami-shop-security/yami-shop-security-common/src/main/java/com/yami/shop/security/common/controller/LogoutController.java index 4b1d5d0..fe8eddf 100644 --- a/yami-shop-security/yami-shop-security-common/src/main/java/com/yami/shop/security/common/controller/LogoutController.java +++ b/yami-shop-security/yami-shop-security-common/src/main/java/com/yami/shop/security/common/controller/LogoutController.java @@ -18,7 +18,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RestController; -import javax.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletRequest; /** * @author 菠萝凤梨 diff --git a/yami-shop-security/yami-shop-security-common/src/main/java/com/yami/shop/security/common/controller/TokenController.java b/yami-shop-security/yami-shop-security-common/src/main/java/com/yami/shop/security/common/controller/TokenController.java index 3a3213f..19c9094 100644 --- a/yami-shop-security/yami-shop-security-common/src/main/java/com/yami/shop/security/common/controller/TokenController.java +++ b/yami-shop-security/yami-shop-security-common/src/main/java/com/yami/shop/security/common/controller/TokenController.java @@ -15,13 +15,13 @@ import com.yami.shop.security.common.dto.RefreshTokenDTO; import com.yami.shop.security.common.manager.TokenStore; import com.yami.shop.security.common.vo.TokenInfoVO; import io.swagger.v3.oas.annotations.tags.Tag; -import ma.glasnost.orika.MapperFacade; +import cn.hutool.core.bean.BeanUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; -import javax.validation.Valid; +import jakarta.validation.Valid; /** * @author 菠萝凤梨 @@ -34,15 +34,13 @@ public class TokenController { @Autowired private TokenStore tokenStore; - @Autowired - private MapperFacade mapperFacade; @PostMapping("/token/refresh") public ServerResponseEntity refreshToken(@Valid @RequestBody RefreshTokenDTO refreshTokenDTO) { TokenInfoBO tokenInfoServerResponseEntity = tokenStore .refreshToken(refreshTokenDTO.getRefreshToken()); return ServerResponseEntity - .success(mapperFacade.map(tokenInfoServerResponseEntity, TokenInfoVO.class)); + .success(BeanUtil.copyProperties(tokenInfoServerResponseEntity, TokenInfoVO.class)); } } diff --git a/yami-shop-security/yami-shop-security-common/src/main/java/com/yami/shop/security/common/dto/AuthenticationDTO.java b/yami-shop-security/yami-shop-security-common/src/main/java/com/yami/shop/security/common/dto/AuthenticationDTO.java index a8843bc..5aaf809 100644 --- a/yami-shop-security/yami-shop-security-common/src/main/java/com/yami/shop/security/common/dto/AuthenticationDTO.java +++ b/yami-shop-security/yami-shop-security-common/src/main/java/com/yami/shop/security/common/dto/AuthenticationDTO.java @@ -12,7 +12,7 @@ package com.yami.shop.security.common.dto; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; -import javax.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotBlank; /** * 用于登陆传递账号密码 diff --git a/yami-shop-security/yami-shop-security-common/src/main/java/com/yami/shop/security/common/dto/RefreshTokenDTO.java b/yami-shop-security/yami-shop-security-common/src/main/java/com/yami/shop/security/common/dto/RefreshTokenDTO.java index 93127d1..f794c88 100644 --- a/yami-shop-security/yami-shop-security-common/src/main/java/com/yami/shop/security/common/dto/RefreshTokenDTO.java +++ b/yami-shop-security/yami-shop-security-common/src/main/java/com/yami/shop/security/common/dto/RefreshTokenDTO.java @@ -11,7 +11,7 @@ package com.yami.shop.security.common.dto; import io.swagger.v3.oas.annotations.media.Schema; -import javax.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotBlank; /** * 刷新token diff --git a/yami-shop-security/yami-shop-security-common/src/main/java/com/yami/shop/security/common/filter/AuthFilter.java b/yami-shop-security/yami-shop-security-common/src/main/java/com/yami/shop/security/common/filter/AuthFilter.java index f20ce3a..aa4f11c 100644 --- a/yami-shop-security/yami-shop-security-common/src/main/java/com/yami/shop/security/common/filter/AuthFilter.java +++ b/yami-shop-security/yami-shop-security-common/src/main/java/com/yami/shop/security/common/filter/AuthFilter.java @@ -25,9 +25,9 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.util.AntPathMatcher; -import javax.servlet.*; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.*; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.List; diff --git a/yami-shop-service/src/main/java/com/yami/shop/service/impl/CategoryServiceImpl.java b/yami-shop-service/src/main/java/com/yami/shop/service/impl/CategoryServiceImpl.java index a50dc2b..0509e33 100644 --- a/yami-shop-service/src/main/java/com/yami/shop/service/impl/CategoryServiceImpl.java +++ b/yami-shop-service/src/main/java/com/yami/shop/service/impl/CategoryServiceImpl.java @@ -12,6 +12,7 @@ package com.yami.shop.service.impl; import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.google.common.collect.Lists; import com.yami.shop.bean.model.Category; @@ -20,8 +21,6 @@ import com.yami.shop.dao.CategoryMapper; import com.yami.shop.dao.CategoryPropMapper; import com.yami.shop.service.AttachFileService; import com.yami.shop.service.CategoryService; -import ma.glasnost.orika.MapperFacade; -import org.apache.commons.collections.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -38,19 +37,16 @@ public class CategoryServiceImpl extends ServiceImpl i @Autowired private CategoryMapper categoryMapper; - + @Autowired private CategoryBrandMapper categoryBrandMapper; - + @Autowired private CategoryPropMapper categoryPropMapper; - + @Autowired private AttachFileService attachFileService; - - @Autowired - private MapperFacade mapperFacade; - + @Override public List listByParentId(Long parentId) { return categoryMapper.listByParentId(parentId); @@ -67,7 +63,7 @@ public class CategoryServiceImpl extends ServiceImpl i category.setRecTime(new Date()); // 保存分类信息 categoryMapper.insert(category); - + insertBrandsAndAttributes(category); } @@ -86,19 +82,19 @@ public class CategoryServiceImpl extends ServiceImpl i // attachFileService.deleteFile(dbCategory.getPic()); // } } - + @Override @Transactional(rollbackFor = Exception.class) public void deleteCategory(Long categoryId) { Category category = categoryMapper.selectById(categoryId); categoryMapper.deleteById(categoryId); - + deleteBrandsAndAttributes(categoryId); // if (StrUtil.isNotBlank(category.getPic())) { // attachFileService.deleteFile(category.getPic()); // } } - + private void deleteBrandsAndAttributes(Long categoryId) { // 删除所有分类所关联的品牌 @@ -106,13 +102,13 @@ public class CategoryServiceImpl extends ServiceImpl i // 删除所有分类所关联的参数 categoryPropMapper.deleteByCategoryId(categoryId); } - + private void insertBrandsAndAttributes(Category category) { //保存分类与品牌信息 if(CollUtil.isNotEmpty(category.getBrandIds())){ categoryBrandMapper.insertCategoryBrand(category.getCategoryId(), category.getBrandIds()); } - + //保存分类与参数信息 if(CollUtil.isNotEmpty(category.getAttributeIds())){ categoryPropMapper.insertCategoryProp(category.getCategoryId(), category.getAttributeIds()); @@ -124,18 +120,18 @@ public class CategoryServiceImpl extends ServiceImpl i List categories = categoryMapper.selectList(new LambdaQueryWrapper().le(Category::getGrade,grade).eq(Category::getShopId,shopId)); return categoryListToTree(categories); } - + public List categoryListToTree(List categorys){ if (CollectionUtils.isEmpty(categorys)) { return Lists.newArrayList(); } Map> categoryMap = categorys.stream().collect(Collectors.groupingBy(Category::getParentId)); - + List rootList = categoryMap.get(0L); transformCategoryTree(rootList,categoryMap); return rootList; } - + public void transformCategoryTree(List categorys,Map> categoryMap) { for (Category category : categorys) { List nextList = categoryMap.get(category.getCategoryId()); diff --git a/yami-shop-service/src/main/java/com/yami/shop/service/impl/ProdPropServiceImpl.java b/yami-shop-service/src/main/java/com/yami/shop/service/impl/ProdPropServiceImpl.java index ab76c08..0966503 100644 --- a/yami-shop-service/src/main/java/com/yami/shop/service/impl/ProdPropServiceImpl.java +++ b/yami-shop-service/src/main/java/com/yami/shop/service/impl/ProdPropServiceImpl.java @@ -26,7 +26,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import javax.validation.Valid; +import jakarta.validation.Valid; import java.util.Objects; /** diff --git a/yami-shop-sys/src/main/java/com/yami/shop/sys/controller/SysConfigController.java b/yami-shop-sys/src/main/java/com/yami/shop/sys/controller/SysConfigController.java index f859487..ab00109 100644 --- a/yami-shop-sys/src/main/java/com/yami/shop/sys/controller/SysConfigController.java +++ b/yami-shop-sys/src/main/java/com/yami/shop/sys/controller/SysConfigController.java @@ -11,7 +11,7 @@ package com.yami.shop.sys.controller; -import javax.validation.Valid; +import jakarta.validation.Valid; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; @@ -47,7 +47,7 @@ import cn.hutool.core.util.StrUtil; public class SysConfigController{ @Autowired private SysConfigService sysConfigService; - + /** * 所有配置列表 */ @@ -57,8 +57,8 @@ public class SysConfigController{ IPage sysConfigs = sysConfigService.page(page, new LambdaQueryWrapper().like(StrUtil.isNotBlank(paramKey),SysConfig::getParamKey,paramKey)); return ServerResponseEntity.success(sysConfigs); } - - + + /** * 配置信息 */ @@ -68,7 +68,7 @@ public class SysConfigController{ SysConfig config = sysConfigService.getById(id); return ServerResponseEntity.success(config); } - + /** * 保存配置 */ @@ -79,7 +79,7 @@ public class SysConfigController{ sysConfigService.save(config); return ServerResponseEntity.success(); } - + /** * 修改配置 */ @@ -90,7 +90,7 @@ public class SysConfigController{ sysConfigService.updateById(config); return ServerResponseEntity.success(); } - + /** * 删除配置 */ diff --git a/yami-shop-sys/src/main/java/com/yami/shop/sys/controller/SysMenuController.java b/yami-shop-sys/src/main/java/com/yami/shop/sys/controller/SysMenuController.java index da2a8b7..badefa7 100644 --- a/yami-shop-sys/src/main/java/com/yami/shop/sys/controller/SysMenuController.java +++ b/yami-shop-sys/src/main/java/com/yami/shop/sys/controller/SysMenuController.java @@ -25,7 +25,7 @@ import com.yami.shop.common.response.ServerResponseEntity; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; -import javax.validation.Valid; +import jakarta.validation.Valid; import java.util.List; import java.util.Map; import java.util.Objects; diff --git a/yami-shop-sys/src/main/java/com/yami/shop/sys/controller/SysUserController.java b/yami-shop-sys/src/main/java/com/yami/shop/sys/controller/SysUserController.java index 6a4880a..576e9c9 100644 --- a/yami-shop-sys/src/main/java/com/yami/shop/sys/controller/SysUserController.java +++ b/yami-shop-sys/src/main/java/com/yami/shop/sys/controller/SysUserController.java @@ -34,7 +34,7 @@ import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.web.bind.annotation.*; -import javax.validation.Valid; +import jakarta.validation.Valid; import java.util.List; import java.util.Objects; diff --git a/yami-shop-sys/src/main/java/com/yami/shop/sys/dto/UpdatePasswordDto.java b/yami-shop-sys/src/main/java/com/yami/shop/sys/dto/UpdatePasswordDto.java index efbdc51..d3ddf53 100644 --- a/yami-shop-sys/src/main/java/com/yami/shop/sys/dto/UpdatePasswordDto.java +++ b/yami-shop-sys/src/main/java/com/yami/shop/sys/dto/UpdatePasswordDto.java @@ -13,8 +13,8 @@ package com.yami.shop.sys.dto; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.Size; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Size; /** * @author lanhai */ @@ -26,7 +26,7 @@ public class UpdatePasswordDto { @Size(max = 50) @Schema(description = "旧密码" ,required=true) private String password; - + @NotBlank(message="新密码不能为空") @Size(max = 50) @Schema(description = "新密码" ,required=true) diff --git a/yami-shop-sys/src/main/java/com/yami/shop/sys/model/SysConfig.java b/yami-shop-sys/src/main/java/com/yami/shop/sys/model/SysConfig.java index 1287958..2046191 100644 --- a/yami-shop-sys/src/main/java/com/yami/shop/sys/model/SysConfig.java +++ b/yami-shop-sys/src/main/java/com/yami/shop/sys/model/SysConfig.java @@ -14,7 +14,7 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; -import javax.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotBlank; /** * 系统配置信息 @@ -25,13 +25,13 @@ import javax.validation.constraints.NotBlank; public class SysConfig { @TableId private Long id; - + @NotBlank(message="参数名不能为空") private String paramKey; - + @NotBlank(message="参数值不能为空") private String paramValue; - + private String remark; } diff --git a/yami-shop-sys/src/main/java/com/yami/shop/sys/model/SysMenu.java b/yami-shop-sys/src/main/java/com/yami/shop/sys/model/SysMenu.java index e39b524..f026b85 100644 --- a/yami-shop-sys/src/main/java/com/yami/shop/sys/model/SysMenu.java +++ b/yami-shop-sys/src/main/java/com/yami/shop/sys/model/SysMenu.java @@ -16,8 +16,8 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotNull; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; import java.io.Serializable; import java.util.List; @@ -29,7 +29,7 @@ import java.util.List; @TableName("tz_sys_menu") public class SysMenu implements Serializable { private static final long serialVersionUID = 1L; - + /** * 菜单ID */ @@ -41,13 +41,13 @@ public class SysMenu implements Serializable { */ @NotNull(message="上级菜单不能为空") private Long parentId; - + /** * 父菜单名称 */ @TableField(exist=false) private String parentName; - + /** * 菜单名称 */ @@ -78,7 +78,7 @@ public class SysMenu implements Serializable { * 排序 */ private Integer orderNum; - + @TableField(exist=false) private List list; diff --git a/yami-shop-sys/src/main/java/com/yami/shop/sys/model/SysRole.java b/yami-shop-sys/src/main/java/com/yami/shop/sys/model/SysRole.java index 262eb80..7f02675 100644 --- a/yami-shop-sys/src/main/java/com/yami/shop/sys/model/SysRole.java +++ b/yami-shop-sys/src/main/java/com/yami/shop/sys/model/SysRole.java @@ -17,7 +17,7 @@ import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; -import javax.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotBlank; import java.io.Serializable; import java.util.Date; import java.util.List; @@ -30,7 +30,7 @@ import java.util.List; @TableName("tz_sys_role") public class SysRole implements Serializable { private static final long serialVersionUID = 1L; - + /** * 角色ID * @@ -52,7 +52,7 @@ public class SysRole implements Serializable { @TableField(exist=false) private List menuIdList; - + /** * 创建时间 */ diff --git a/yami-shop-sys/src/main/java/com/yami/shop/sys/model/SysUser.java b/yami-shop-sys/src/main/java/com/yami/shop/sys/model/SysUser.java index a07d5dc..b45055f 100644 --- a/yami-shop-sys/src/main/java/com/yami/shop/sys/model/SysUser.java +++ b/yami-shop-sys/src/main/java/com/yami/shop/sys/model/SysUser.java @@ -18,10 +18,10 @@ import com.fasterxml.jackson.annotation.JsonProperty; import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; -import javax.validation.constraints.Email; -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.Pattern; -import javax.validation.constraints.Size; +import jakarta.validation.constraints.Email; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Pattern; +import jakarta.validation.constraints.Size; import java.io.Serializable; import java.util.Date; import java.util.List; @@ -34,7 +34,7 @@ import java.util.List; @TableName("tz_sys_user") public class SysUser implements Serializable { private static final long serialVersionUID = 1L; - + /** * 用户ID * @@ -72,18 +72,18 @@ public class SysUser implements Serializable { * 状态 0:禁用 1:正常 */ private Integer status; - + /** * 用户所在店铺id */ private Long shopId; - + /** * 角色ID列表 */ @TableField(exist=false) private List roleIdList; - + /** * 创建时间 */