最低版本要求jdk17, 升级spring boot3.0

This commit is contained in:
FrozenWatermelon
2023-03-16 15:37:04 +08:00
parent 07f919b8ab
commit 324d91bc0a
84 changed files with 248 additions and 455 deletions

View File

@@ -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
CMD java -jar -Xms1024m -Xmx1024m -Xmn256m -Xss256k -XX:SurvivorRatio=8 -XX:+UseConcMarkSweepGC -Dspring.profiles.active=docker yami-shop-api-0.0.1-SNAPSHOT.jar

View File

@@ -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;

View File

@@ -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<List<UserAddrDto>> dvyList() {
String userId = SecurityUtils.getUser().getUserId();
List<UserAddr> userAddrs = userAddrService.list(new LambdaQueryWrapper<UserAddr>().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<UserAddr>().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));
}
}

View File

@@ -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<List<CategoryDto>> categoryInfo(@RequestParam(value = "parentId", defaultValue = "0") Long parentId) {
List<Category> categories = categoryService.listByParentId(parentId);
List<CategoryDto> categoryDtos = mapperFacade.mapAsList(categories, CategoryDto.class);
List<CategoryDto> categoryDtos = BeanUtil.copyToList(categories, CategoryDto.class);
return ServerResponseEntity.success(categoryDtos);
}

View File

@@ -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<List<IndexImgDto>> indexImgs() {
List<IndexImg> indexImgList = indexImgService.listIndexImg();
List<IndexImgDto> indexImgDtos = mapperFacade.mapAsList(indexImgList, IndexImgDto.class);
List<IndexImgDto> indexImgDtos = BeanUtil.copyToList(indexImgList, IndexImgDto.class);
return ServerResponseEntity.success(indexImgDtos);
}
}

View File

@@ -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<OrderItem> orderItems = orderItemService.getOrderItemsByOrderNumber(orderNumber);
List<OrderItemDto> orderItemDtos = mapperFacade.mapAsList(orderItems, OrderItemDto.class);
List<OrderItemDto> orderItemDtos = BeanUtil.copyToList(orderItems, OrderItemDto.class);
orderShopDto.setShopId(shopDetail.getShopId());
orderShopDto.setShopName(shopDetail.getShopName());

View File

@@ -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<List<NoticeDto>> getTopNoticeList() {
List<Notice> noticeList = noticeService.listNotice();
List<NoticeDto> noticeDtoList = mapperFacade.mapAsList(noticeList, NoticeDto.class);
List<NoticeDto> noticeDtoList = BeanUtil.copyToList(noticeList, NoticeDto.class);
return ServerResponseEntity.success(noticeDtoList);
}
@@ -62,7 +62,7 @@ public class NoticeController {
@JsonView(NoticeDto.WithContent.class)
public ServerResponseEntity<NoticeDto> 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);
}

View File

@@ -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);
// 组装获取用户提交的购物车商品项

View File

@@ -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<WxPayMpOrderResult> pay(@RequestBody PayParam payParam) {
public ServerResponseEntity<Void> pay(@RequestBody PayParam payParam) {
YamiUser user = SecurityUtils.getUser();
String userId = user.getUserId();

View File

@@ -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<Sku> 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);
// 商品的配送方式

View File

@@ -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<List<ProdTagDto>> getProdTagList() {
List<ProdTag> prodTagList = prodTagService.listProdTag();
List<ProdTagDto> prodTagDtoList = mapperFacade.mapAsList(prodTagList, ProdTagDto.class);
List<ProdTagDto> prodTagDtoList = BeanUtil.copyToList(prodTagList, ProdTagDto.class);
return ServerResponseEntity.success(prodTagDtoList);
}

View File

@@ -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;

View File

@@ -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<SkuDto> skuDtoList = mapperFacade.mapAsList(skus, SkuDto.class);
List<SkuDto> skuDtoList = BeanUtil.copyToList(skus, SkuDto.class);
return ServerResponseEntity.success(skuDtoList);
}
}

View File

@@ -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<UserDto> 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);
}

View File

@@ -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;
/**

View File

@@ -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<Long, Product> 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("请填写收货地址");
}

View File

@@ -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

View File

@@ -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

View File

@@ -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