feat(修改): 无法启动项目问题
This commit is contained in:
parent
916dcab6f0
commit
e7eb08ca3b
|
@ -7,6 +7,36 @@
|
|||
<imported>true</imported>
|
||||
<jdbc-driver>com.mysql.cj.jdbc.Driver</jdbc-driver>
|
||||
<jdbc-url>jdbc:mysql://106.15.251.123:3305/shequ-acl?serverTimezone=GMT</jdbc-url>
|
||||
<jdbc-additional-properties>
|
||||
<property name="com.intellij.clouds.kubernetes.db.host.port" />
|
||||
<property name="com.intellij.clouds.kubernetes.db.enabled" value="false" />
|
||||
<property name="com.intellij.clouds.kubernetes.db.resource.type" value="Deployment" />
|
||||
<property name="com.intellij.clouds.kubernetes.db.container.port" />
|
||||
</jdbc-additional-properties>
|
||||
<working-dir>$ProjectFileDir$</working-dir>
|
||||
</data-source>
|
||||
<data-source source="LOCAL" name="shequ-sys@106.15.251.123" uuid="78d73e25-2234-4332-8e1f-cfdd278718d2">
|
||||
<driver-ref>mysql.8</driver-ref>
|
||||
<synchronize>true</synchronize>
|
||||
<imported>true</imported>
|
||||
<remarks>$PROJECT_DIR$/service/service-sys/src/main/resources/application.yml</remarks>
|
||||
<jdbc-driver>com.mysql.cj.jdbc.Driver</jdbc-driver>
|
||||
<jdbc-url>jdbc:mysql://106.15.251.123:3305/shequ-sys?serverTimezone=GMT</jdbc-url>
|
||||
<jdbc-additional-properties>
|
||||
<property name="com.intellij.clouds.kubernetes.db.host.port" />
|
||||
<property name="com.intellij.clouds.kubernetes.db.enabled" value="false" />
|
||||
<property name="com.intellij.clouds.kubernetes.db.resource.type" value="Deployment" />
|
||||
<property name="com.intellij.clouds.kubernetes.db.container.port" />
|
||||
</jdbc-additional-properties>
|
||||
<working-dir>$ProjectFileDir$</working-dir>
|
||||
</data-source>
|
||||
<data-source source="LOCAL" name="shequ-product@106.15.251.123" uuid="d3e0a640-b7a0-4ff1-8fba-50e8d871e2ae">
|
||||
<driver-ref>mysql.8</driver-ref>
|
||||
<synchronize>true</synchronize>
|
||||
<imported>true</imported>
|
||||
<remarks>$PROJECT_DIR$/service/service-product/src/main/resources/application.yml</remarks>
|
||||
<jdbc-driver>com.mysql.cj.jdbc.Driver</jdbc-driver>
|
||||
<jdbc-url>jdbc:mysql://106.15.251.123:3305/shequ-product?serverTimezone=GMT</jdbc-url>
|
||||
<jdbc-additional-properties>
|
||||
<property name="com.intellij.clouds.kubernetes.db.host.port" />
|
||||
<property name="com.intellij.clouds.kubernetes.db.enabled" value="false" />
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
<file url="file://$PROJECT_DIR$/model/src/main/resources-filtered" charset="UTF-8" />
|
||||
<file url="file://$PROJECT_DIR$/service/service-acl/src/main/java" charset="UTF-8" />
|
||||
<file url="file://$PROJECT_DIR$/service/service-product/src/main/java" charset="UTF-8" />
|
||||
<file url="file://$PROJECT_DIR$/service/service-search/src/main/java" charset="UTF-8" />
|
||||
<file url="file://$PROJECT_DIR$/service/service-sys/src/main/java" charset="UTF-8" />
|
||||
<file url="file://$PROJECT_DIR$/service/src/main/java" charset="UTF-8" />
|
||||
<file url="file://$PROJECT_DIR$/service/src/main/resources" charset="UTF-8" />
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
</list>
|
||||
</option>
|
||||
</component>
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_18" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
|
||||
<output url="file://$PROJECT_DIR$/out" />
|
||||
</component>
|
||||
</project>
|
7
pom.xml
7
pom.xml
|
@ -121,6 +121,13 @@
|
|||
<artifactId>okhttp</artifactId>
|
||||
<version>4.9.3</version>
|
||||
</dependency>
|
||||
|
||||
<!-- hutool -->
|
||||
<dependency>
|
||||
<groupId>cn.hutool</groupId>
|
||||
<artifactId>hutool-all</artifactId>
|
||||
<version>5.8.25</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</dependencyManagement>
|
||||
<!-- <repositories> -->
|
||||
|
|
|
@ -16,6 +16,7 @@
|
|||
<module>service-acl</module>
|
||||
<module>service-sys</module>
|
||||
<module>service-product</module>
|
||||
<module>service-search</module>
|
||||
</modules>
|
||||
|
||||
<properties>
|
||||
|
|
|
@ -11,7 +11,7 @@ spring:
|
|||
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||
url: jdbc:mysql://${bunny.datasource.host}:${bunny.datasource.port}/${bunny.datasource.sqlData}?serverTimezone=GMT%2B8&useSSL=false&characterEncoding=utf-8&allowPublicKeyRetrieval=true
|
||||
username: ${bunny.datasource.username}
|
||||
password: "${bunny.datasource.password}"
|
||||
password: ${bunny.datasource.password}
|
||||
|
||||
cloud:
|
||||
sentinel:
|
||||
|
|
|
@ -0,0 +1,21 @@
|
|||
FROM openjdk:17
|
||||
MAINTAINER bunny
|
||||
|
||||
#系统编码
|
||||
ENV LANG=C.UTF-8 LC_ALL=C.UTF-8
|
||||
|
||||
# 设置时区,构建镜像时执行的命令
|
||||
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
|
||||
RUN echo "Asia/Shanghai" > /etc/timezone
|
||||
|
||||
# 设定工作目录
|
||||
WORKDIR /home/bunny
|
||||
|
||||
# 复制jar包
|
||||
COPY target/*.jar /home/bunny/app.jar
|
||||
|
||||
#启动容器时的进程
|
||||
ENTRYPOINT ["java","-jar","/home/bunny/app.jar"]
|
||||
|
||||
#暴露 8080 端口
|
||||
EXPOSE 8080
|
|
@ -18,6 +18,9 @@
|
|||
</properties>
|
||||
|
||||
<dependencies>
|
||||
|
||||
<dependency>
|
||||
<groupId>cn.hutool</groupId>
|
||||
<artifactId>hutool-all</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
||||
|
|
|
@ -1,9 +1,20 @@
|
|||
package com.atguigu.ssyx.product.controller;
|
||||
|
||||
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import com.atguigu.ssyx.common.result.Result;
|
||||
import com.atguigu.ssyx.model.product.SkuInfo;
|
||||
import com.atguigu.ssyx.product.service.SkuInfoService;
|
||||
import com.atguigu.ssyx.vo.product.SkuInfoQueryVo;
|
||||
import com.atguigu.ssyx.vo.product.SkuInfoVo;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
|
@ -13,9 +24,84 @@ import org.springframework.web.bind.annotation.RestController;
|
|||
* @author bunny
|
||||
* @since 2024-04-03
|
||||
*/
|
||||
@Api(value = "SkuInfo管理", tags = "商品Sku管理")
|
||||
@RestController
|
||||
@RequestMapping("/product/sku-info")
|
||||
@RequestMapping(value = "/admin/product/skuInfo")
|
||||
public class SkuInfoController {
|
||||
@Autowired
|
||||
private SkuInfoService skuInfoService;
|
||||
|
||||
@ApiOperation(value = "获取sku分页列表")
|
||||
@GetMapping("{page}/{limit}")
|
||||
public Result<IPage<SkuInfo>> index(
|
||||
@ApiParam(name = "page", value = "当前页码", required = true)
|
||||
@PathVariable Long page,
|
||||
|
||||
@ApiParam(name = "limit", value = "每页记录数", required = true)
|
||||
@PathVariable Long limit,
|
||||
|
||||
@ApiParam(name = "skuInfoQueryVo", value = "查询对象", required = false)
|
||||
SkuInfoQueryVo skuInfoQueryVo) {
|
||||
Page<SkuInfo> pageParam = new Page<>(page, limit);
|
||||
IPage<SkuInfo> pageModel = skuInfoService.selectPage(pageParam, skuInfoQueryVo);
|
||||
return Result.success(pageModel);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "商品添加方法")
|
||||
@PostMapping("save")
|
||||
public Result<SkuInfo> save(@RequestBody SkuInfoVo skuInfoVo) {
|
||||
skuInfoService.saveSkuInfo(skuInfoVo);
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
@ApiOperation(value = "获取商品SKU信息")
|
||||
@GetMapping("get/{id}")
|
||||
public Result<SkuInfoVo> get(@PathVariable Long id) {
|
||||
SkuInfoVo skuInfoVo = skuInfoService.getSkuInfoVo(id);
|
||||
return Result.success(skuInfoVo);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "修改商品sku信息")
|
||||
@PutMapping("update")
|
||||
public Result<SkuInfoVo> updateById(@RequestBody SkuInfoVo skuInfoVo) {
|
||||
skuInfoService.updateSkuInfo(skuInfoVo);
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
@ApiOperation(value = "商品SKU删除")
|
||||
@DeleteMapping("remove/{id}")
|
||||
public Result<SkuInfoVo> remove(@PathVariable Long id) {
|
||||
skuInfoService.removeById(id);
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
@ApiOperation(value = "根据id列表删除")
|
||||
@DeleteMapping("batchRemove")
|
||||
public Result<SkuInfoVo> batchRemove(@RequestBody List<Long> ids) {
|
||||
skuInfoService.removeByIds(ids);
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
@ApiOperation(value = "商品审核")
|
||||
@GetMapping("check/{skuId}/{status}")
|
||||
public Result<SkuInfo> check(@PathVariable Long skuId, @PathVariable Integer status) {
|
||||
skuInfoService.check(skuId, status);
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
@ApiOperation(value = "商品上架")
|
||||
@GetMapping("publish/{skuId}/{status}")
|
||||
public Result<SkuInfo> publish(@PathVariable("skuId") Long skuId,
|
||||
@PathVariable("status") Integer status) {
|
||||
skuInfoService.publish(skuId, status);
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
@ApiOperation(value = "新人专享")
|
||||
@GetMapping("isNewPerson/{skuId}/{status}")
|
||||
public Result<SkuInfo> isNewPerson(@PathVariable Long skuId, @PathVariable Integer status) {
|
||||
skuInfoService.isNewPerson(skuId, status);
|
||||
return Result.success();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -3,6 +3,8 @@ package com.atguigu.ssyx.product.service;
|
|||
import com.atguigu.ssyx.model.product.SkuAttrValue;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* spu属性值 服务类
|
||||
|
@ -13,4 +15,11 @@ import com.baomidou.mybatisplus.extension.service.IService;
|
|||
*/
|
||||
public interface SkuAttrValueService extends IService<SkuAttrValue> {
|
||||
|
||||
/**
|
||||
* 根据id查询商品属性信息列表
|
||||
*
|
||||
* @param id 商品id
|
||||
* @return 图片列表
|
||||
*/
|
||||
List<SkuAttrValue> getAttrValueListBySkuId(Long id);
|
||||
}
|
||||
|
|
|
@ -3,6 +3,8 @@ package com.atguigu.ssyx.product.service;
|
|||
import com.atguigu.ssyx.model.product.SkuImage;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 商品图片 服务类
|
||||
|
@ -13,4 +15,11 @@ import com.baomidou.mybatisplus.extension.service.IService;
|
|||
*/
|
||||
public interface SkuImageService extends IService<SkuImage> {
|
||||
|
||||
/**
|
||||
* 根据id查询商品图片列表
|
||||
*
|
||||
* @param id 商品id
|
||||
* @return 商品图片列表
|
||||
*/
|
||||
List<SkuImage> getImageListBySkuId(Long id);
|
||||
}
|
||||
|
|
|
@ -1,6 +1,10 @@
|
|||
package com.atguigu.ssyx.product.service;
|
||||
|
||||
import com.atguigu.ssyx.model.product.SkuInfo;
|
||||
import com.atguigu.ssyx.vo.product.SkuInfoQueryVo;
|
||||
import com.atguigu.ssyx.vo.product.SkuInfoVo;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
/**
|
||||
|
@ -13,4 +17,58 @@ import com.baomidou.mybatisplus.extension.service.IService;
|
|||
*/
|
||||
public interface SkuInfoService extends IService<SkuInfo> {
|
||||
|
||||
/**
|
||||
* 获取sku分页列表
|
||||
*
|
||||
* @param pageParam 分页查询条件
|
||||
* @param skuInfoQueryVo 商品查询条件
|
||||
* @return 分页结果
|
||||
*/
|
||||
IPage<SkuInfo> selectPage(Page<SkuInfo> pageParam, SkuInfoQueryVo skuInfoQueryVo);
|
||||
|
||||
/**
|
||||
* 商品添加方法
|
||||
*
|
||||
* @param skuInfoVo 商品信息
|
||||
*/
|
||||
void saveSkuInfo(SkuInfoVo skuInfoVo);
|
||||
|
||||
/**
|
||||
* 获取商品SKU信息
|
||||
*
|
||||
* @param id 商品id
|
||||
* @return 商品信息
|
||||
*/
|
||||
SkuInfoVo getSkuInfoVo(Long id);
|
||||
|
||||
/**
|
||||
* 修改商品sku信息
|
||||
*
|
||||
* @param skuInfoVo 商品信息
|
||||
*/
|
||||
void updateSkuInfo(SkuInfoVo skuInfoVo);
|
||||
|
||||
/**
|
||||
* 商品审核
|
||||
*
|
||||
* @param skuId 商品ID
|
||||
* @param status 商品状态
|
||||
*/
|
||||
void check(Long skuId, Integer status);
|
||||
|
||||
/**
|
||||
* 商品上架
|
||||
*
|
||||
* @param skuId 商品ID
|
||||
* @param status 商品状态
|
||||
*/
|
||||
void publish(Long skuId, Integer status);
|
||||
|
||||
/**
|
||||
* 新人专享
|
||||
*
|
||||
* @param skuId 商品ID
|
||||
* @param status 商品状态
|
||||
*/
|
||||
void isNewPerson(Long skuId, Integer status);
|
||||
}
|
||||
|
|
|
@ -3,6 +3,8 @@ package com.atguigu.ssyx.product.service;
|
|||
import com.atguigu.ssyx.model.product.SkuPoster;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 商品海报表 服务类
|
||||
|
@ -13,4 +15,11 @@ import com.baomidou.mybatisplus.extension.service.IService;
|
|||
*/
|
||||
public interface SkuPosterService extends IService<SkuPoster> {
|
||||
|
||||
/**
|
||||
* 根据id查询商品海报列表
|
||||
*
|
||||
* @param id 商品id
|
||||
* @return 图片列表
|
||||
*/
|
||||
List<SkuPoster> getPosterListBySkuId(Long id);
|
||||
}
|
||||
|
|
|
@ -3,9 +3,12 @@ package com.atguigu.ssyx.product.service.impl;
|
|||
import com.atguigu.ssyx.model.product.SkuAttrValue;
|
||||
import com.atguigu.ssyx.product.mapper.SkuAttrValueMapper;
|
||||
import com.atguigu.ssyx.product.service.SkuAttrValueService;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* spu属性值 服务实现类
|
||||
|
@ -17,4 +20,14 @@ import org.springframework.stereotype.Service;
|
|||
@Service
|
||||
public class SkuAttrValueServiceImpl extends ServiceImpl<SkuAttrValueMapper, SkuAttrValue> implements SkuAttrValueService {
|
||||
|
||||
/**
|
||||
* 根据id查询商品属性信息列表
|
||||
*
|
||||
* @param id 商品id
|
||||
* @return 图片列表
|
||||
*/
|
||||
@Override
|
||||
public List<SkuAttrValue> getAttrValueListBySkuId(Long id) {
|
||||
return baseMapper.selectList(Wrappers.<SkuAttrValue>lambdaQuery().eq(SkuAttrValue::getSkuId, id));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,9 +3,12 @@ package com.atguigu.ssyx.product.service.impl;
|
|||
import com.atguigu.ssyx.model.product.SkuImage;
|
||||
import com.atguigu.ssyx.product.mapper.SkuImageMapper;
|
||||
import com.atguigu.ssyx.product.service.SkuImageService;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 商品图片 服务实现类
|
||||
|
@ -16,5 +19,14 @@ import org.springframework.stereotype.Service;
|
|||
*/
|
||||
@Service
|
||||
public class SkuImageServiceImpl extends ServiceImpl<SkuImageMapper, SkuImage> implements SkuImageService {
|
||||
|
||||
/**
|
||||
* 根据id查询商品图片列表
|
||||
*
|
||||
* @param id 商品id
|
||||
* @return 商品图片列表
|
||||
*/
|
||||
@Override
|
||||
public List<SkuImage> getImageListBySkuId(Long id) {
|
||||
return baseMapper.selectList(Wrappers.<SkuImage>lambdaQuery().eq(SkuImage::getSkuId, id));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,10 +1,29 @@
|
|||
package com.atguigu.ssyx.product.service.impl;
|
||||
|
||||
import com.atguigu.ssyx.model.product.SkuAttrValue;
|
||||
import com.atguigu.ssyx.model.product.SkuImage;
|
||||
import com.atguigu.ssyx.model.product.SkuInfo;
|
||||
import com.atguigu.ssyx.model.product.SkuPoster;
|
||||
import com.atguigu.ssyx.product.mapper.SkuInfoMapper;
|
||||
import com.atguigu.ssyx.product.service.SkuAttrValueService;
|
||||
import com.atguigu.ssyx.product.service.SkuImageService;
|
||||
import com.atguigu.ssyx.product.service.SkuInfoService;
|
||||
import com.atguigu.ssyx.product.service.SkuPosterService;
|
||||
import com.atguigu.ssyx.vo.product.SkuInfoQueryVo;
|
||||
import com.atguigu.ssyx.vo.product.SkuInfoVo;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import io.jsonwebtoken.lang.Collections;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
|
@ -16,5 +35,185 @@ import org.springframework.stereotype.Service;
|
|||
*/
|
||||
@Service
|
||||
public class SkuInfoServiceImpl extends ServiceImpl<SkuInfoMapper, SkuInfo> implements SkuInfoService {
|
||||
@Autowired
|
||||
private SkuAttrValueService skuAttrValueService;
|
||||
@Autowired
|
||||
private SkuImageService skuImageService;
|
||||
@Autowired
|
||||
private SkuPosterService skuPosterService;
|
||||
|
||||
|
||||
/**
|
||||
* 获取sku分页列表
|
||||
*
|
||||
* @param pageParam 分页查询条件
|
||||
* @param vo 商品查询条件
|
||||
* @return 分页结果
|
||||
*/
|
||||
@Override
|
||||
public IPage<SkuInfo> selectPage(Page<SkuInfo> pageParam, SkuInfoQueryVo vo) {
|
||||
String keyword = vo.getKeyword();
|
||||
String skuType = vo.getSkuType();
|
||||
Long categoryId = vo.getCategoryId();
|
||||
|
||||
// 封装查询条件
|
||||
LambdaQueryWrapper<SkuInfo> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.like(!StringUtils.isEmpty(keyword), SkuInfo::getSkuName, keyword);
|
||||
wrapper.eq(!StringUtils.isEmpty(skuType), SkuInfo::getSkuType, skuType);
|
||||
wrapper.eq(categoryId != null, SkuInfo::getCategoryId, categoryId);
|
||||
|
||||
// 返回结果
|
||||
return page(pageParam, wrapper);
|
||||
}
|
||||
|
||||
/**
|
||||
* 商品添加方法
|
||||
*
|
||||
* @param skuInfoVo 商品信息
|
||||
*/
|
||||
@Override
|
||||
public void saveSkuInfo(SkuInfoVo skuInfoVo) {
|
||||
// 添加sku基本信息
|
||||
SkuInfo skuInfo = new SkuInfo();
|
||||
BeanUtils.copyProperties(skuInfoVo, skuInfo);
|
||||
baseMapper.insert(skuInfo);
|
||||
// 保存sku海报
|
||||
List<SkuPoster> skuPosterList = skuInfoVo.getSkuPosterList();
|
||||
if (!Collections.isEmpty(skuPosterList)) {
|
||||
skuPosterList.forEach(skuPoster -> skuPoster.setSkuId(skuInfo.getId()));
|
||||
skuPosterService.saveBatch(skuPosterList);
|
||||
}
|
||||
// 保存sku图片
|
||||
List<SkuImage> skuImagesList = skuInfoVo.getSkuImagesList();
|
||||
if (!Collections.isEmpty(skuImagesList)) {
|
||||
skuImagesList.forEach(skuImage -> skuImage.setSkuId(skuImage.getId()));
|
||||
skuImageService.saveBatch(skuImagesList);
|
||||
}
|
||||
// 保存sku属性
|
||||
List<SkuAttrValue> skuAttrValueList = skuInfoVo.getSkuAttrValueList();
|
||||
if (!Collections.isEmpty(skuImagesList)) {
|
||||
skuAttrValueList.forEach(skuAttrValue -> skuAttrValue.setSkuId(skuInfo.getId()));
|
||||
skuAttrValueService.saveBatch(skuAttrValueList);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取商品SKU信息
|
||||
*
|
||||
* @param id 商品id
|
||||
* @return 商品信息
|
||||
*/
|
||||
@Override
|
||||
public SkuInfoVo getSkuInfoVo(Long id) {
|
||||
SkuInfoVo skuInfoVo = new SkuInfoVo();
|
||||
|
||||
// 根据id查询sku基本信息
|
||||
SkuInfo skuInfo = baseMapper.selectById(id);
|
||||
|
||||
// 根据id查询商品图片列表
|
||||
List<SkuImage> skuImageList = skuImageService.getImageListBySkuId(id);
|
||||
|
||||
// 根据id查询商品海报列表
|
||||
List<SkuPoster> skuPosterList = skuPosterService.getPosterListBySkuId(id);
|
||||
|
||||
// 根据id查询商品属性信息列表
|
||||
List<SkuAttrValue> skuAttrValueList = skuAttrValueService.getAttrValueListBySkuId(id);
|
||||
|
||||
BeanUtils.copyProperties(skuInfo, skuInfoVo);
|
||||
skuInfoVo.setSkuAttrValueList(skuAttrValueList);
|
||||
skuInfoVo.setSkuImagesList(skuImageList);
|
||||
skuInfoVo.setSkuPosterList(skuPosterList);
|
||||
|
||||
// 封装数据返回
|
||||
return skuInfoVo;
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改商品sku信息
|
||||
*
|
||||
* @param skuInfoVo 商品信息
|
||||
*/
|
||||
@Override
|
||||
public void updateSkuInfo(SkuInfoVo skuInfoVo) {
|
||||
// 修改sku基本信息
|
||||
SkuInfo skuInfo = new SkuInfo();
|
||||
BeanUtils.copyProperties(skuInfo, skuInfo);
|
||||
baseMapper.updateById(skuInfo);
|
||||
|
||||
// 海报信息
|
||||
Long skuId = skuInfoVo.getId();
|
||||
// 创建查询条件,并删除之前的海报内容
|
||||
LambdaQueryWrapper<SkuPoster> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(SkuPoster::getSkuId, skuId);
|
||||
skuPosterService.remove(wrapper);
|
||||
|
||||
// 设置海报图片skuId值,并完成添加
|
||||
List<SkuPoster> skuPosterList = skuInfoVo.getSkuPosterList();
|
||||
if (!CollectionUtils.isEmpty(skuPosterList)) {
|
||||
skuPosterList.forEach(skuPoster -> skuPoster.setSkuId(skuId));
|
||||
skuPosterService.saveBatch(skuPosterList);
|
||||
}
|
||||
|
||||
// 商品图片
|
||||
skuImageService.remove(Wrappers.<SkuImage>lambdaQuery().eq(SkuImage::getSkuId, skuId));
|
||||
List<SkuImage> skuImagesList = skuInfoVo.getSkuImagesList();
|
||||
if (!Collections.isEmpty(skuImagesList)) {
|
||||
skuImagesList.forEach(skuImage -> skuImage.setSkuId(skuId));
|
||||
skuImageService.saveBatch(skuImagesList);
|
||||
}
|
||||
|
||||
// 商品属性
|
||||
skuAttrValueService.remove(Wrappers.<SkuAttrValue>lambdaQuery().eq(SkuAttrValue::getSkuId, skuId));
|
||||
List<SkuAttrValue> skuAttrValueList = skuInfoVo.getSkuAttrValueList();
|
||||
if (!Collections.isEmpty(skuAttrValueList)) {
|
||||
skuAttrValueList.forEach(skuAttrValue -> skuAttrValue.setSkuId(skuId));
|
||||
skuAttrValueService.saveBatch(skuAttrValueList);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 商品审核
|
||||
*
|
||||
* @param skuId 商品ID
|
||||
* @param status 商品状态
|
||||
*/
|
||||
@Override
|
||||
public void check(Long skuId, Integer status) {
|
||||
SkuInfo skuInfo = new SkuInfo();
|
||||
skuInfo.setId(skuId);
|
||||
skuInfo.setCheckStatus(status);
|
||||
updateById(skuInfo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 商品上架
|
||||
*
|
||||
* @param skuId 商品ID
|
||||
* @param status 商品状态
|
||||
*/
|
||||
@Override
|
||||
public void publish(Long skuId, Integer status) {
|
||||
SkuInfo skuInfo = new SkuInfo();
|
||||
skuInfo.setId(skuId);
|
||||
if (status == 1) {
|
||||
skuInfo.setPublishStatus(status);
|
||||
} else {
|
||||
skuInfo.setPublishStatus(0);
|
||||
}
|
||||
baseMapper.updateById(skuInfo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 新人专享
|
||||
*
|
||||
* @param skuId 商品ID
|
||||
* @param status 商品状态
|
||||
*/
|
||||
@Override
|
||||
public void isNewPerson(Long skuId, Integer status) {
|
||||
SkuInfo skuInfo = new SkuInfo();
|
||||
skuInfo.setId(skuId);
|
||||
skuInfo.setIsNewPerson(status);
|
||||
baseMapper.updateById(skuInfo);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,9 +3,12 @@ package com.atguigu.ssyx.product.service.impl;
|
|||
import com.atguigu.ssyx.model.product.SkuPoster;
|
||||
import com.atguigu.ssyx.product.mapper.SkuPosterMapper;
|
||||
import com.atguigu.ssyx.product.service.SkuPosterService;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 商品海报表 服务实现类
|
||||
|
@ -16,5 +19,14 @@ import org.springframework.stereotype.Service;
|
|||
*/
|
||||
@Service
|
||||
public class SkuPosterServiceImpl extends ServiceImpl<SkuPosterMapper, SkuPoster> implements SkuPosterService {
|
||||
|
||||
/**
|
||||
* 根据id查询商品海报列表
|
||||
*
|
||||
* @param id 商品id
|
||||
* @return 图片列表
|
||||
*/
|
||||
@Override
|
||||
public List<SkuPoster> getPosterListBySkuId(Long id) {
|
||||
return baseMapper.selectList(Wrappers.<SkuPoster>lambdaQuery().eq(SkuPoster::getSkuId, id));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -11,7 +11,7 @@ spring:
|
|||
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||
url: jdbc:mysql://${bunny.datasource.host}:${bunny.datasource.port}/${bunny.datasource.sqlData}?serverTimezone=GMT%2B8&useSSL=false&characterEncoding=utf-8&allowPublicKeyRetrieval=true
|
||||
username: ${bunny.datasource.username}
|
||||
password: "${bunny.datasource.password}"
|
||||
password: ${bunny.datasource.password}
|
||||
|
||||
cloud:
|
||||
sentinel:
|
||||
|
|
|
@ -0,0 +1,21 @@
|
|||
FROM openjdk:17
|
||||
MAINTAINER bunny
|
||||
|
||||
#系统编码
|
||||
ENV LANG=C.UTF-8 LC_ALL=C.UTF-8
|
||||
|
||||
# 设置时区,构建镜像时执行的命令
|
||||
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
|
||||
RUN echo "Asia/Shanghai" > /etc/timezone
|
||||
|
||||
# 设定工作目录
|
||||
WORKDIR /home/bunny
|
||||
|
||||
# 复制jar包
|
||||
COPY target/*.jar /home/bunny/app.jar
|
||||
|
||||
#启动容器时的进程
|
||||
ENTRYPOINT ["java","-jar","/home/bunny/app.jar"]
|
||||
|
||||
#暴露 8080 端口
|
||||
EXPOSE 8080
|
|
@ -0,0 +1,32 @@
|
|||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>com.atguigu</groupId>
|
||||
<artifactId>service</artifactId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>service-search</artifactId>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
<name>service-search</name>
|
||||
<url>https://maven.apache.org</url>
|
||||
|
||||
<properties>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-data-elasticsearch</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- <dependency> -->
|
||||
<!-- <groupId>com.atguigu</groupId> -->
|
||||
<!-- <artifactId>service-product-client</artifactId> -->
|
||||
<!-- <version>1.0-SNAPSHOT</version> -->
|
||||
<!-- </dependency> -->
|
||||
</dependencies>
|
||||
</project>
|
|
@ -0,0 +1,27 @@
|
|||
server:
|
||||
port: 8203
|
||||
|
||||
bunny:
|
||||
datasource:
|
||||
host: 106.15.251.123
|
||||
port: 3305
|
||||
sqlData: shequ-product
|
||||
username: root
|
||||
password: "02120212"
|
||||
|
||||
nacos:
|
||||
server-addr: z-bunny.cn:8848
|
||||
discovery:
|
||||
namespace: ssyx
|
||||
|
||||
redis:
|
||||
host: 47.120.65.66
|
||||
port: 6379
|
||||
database: 2
|
||||
password: "02120212"
|
||||
|
||||
minio:
|
||||
endpointUrl: "http://129.211.31.58:9000"
|
||||
bucket-name: ssyx
|
||||
accessKey: bunny
|
||||
secretKey: "02120212"
|
|
@ -0,0 +1,62 @@
|
|||
server:
|
||||
port: 8203
|
||||
spring:
|
||||
application:
|
||||
name: service-product
|
||||
profiles:
|
||||
active: dev
|
||||
|
||||
datasource:
|
||||
type: com.zaxxer.hikari.HikariDataSource
|
||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||
url: jdbc:mysql://${bunny.datasource.host}:${bunny.datasource.port}/${bunny.datasource.sqlData}?serverTimezone=GMT%2B8&useSSL=false&characterEncoding=utf-8&allowPublicKeyRetrieval=true
|
||||
username: ${bunny.datasource.username}
|
||||
password: ${bunny.datasource.password}
|
||||
|
||||
cloud:
|
||||
sentinel:
|
||||
log:
|
||||
dir: logs/${spring.application.name}/sentinel
|
||||
nacos:
|
||||
discovery:
|
||||
namespace: ${bunny.nacos.discovery.namespace}
|
||||
server-addr: ${bunny.nacos.server-addr}
|
||||
|
||||
jackson:
|
||||
date-format: yyyy-MM-dd HH:mm:ss
|
||||
time-zone: GMT+8
|
||||
|
||||
|
||||
mybatis-plus:
|
||||
type-aliases-package: com.atguigu.model # 配置每个包前缀
|
||||
mapper-locations: classpath:mapper/*.xml
|
||||
configuration:
|
||||
map-underscore-to-camel-case: true
|
||||
auto-mapping-behavior: full
|
||||
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl # 查看日志
|
||||
global-config:
|
||||
db-config:
|
||||
# 设置表名前缀,不用在每个tableName添加前缀
|
||||
# table-prefix: t_
|
||||
# 全局配置主键值方式
|
||||
id-type: assign_id
|
||||
logic-not-delete-value: 0 # 未删除默认为0
|
||||
logic-delete-value: 1 # 删除
|
||||
logic-delete-field: deleted # 全局配置逻辑删除
|
||||
|
||||
logging:
|
||||
level:
|
||||
com.atguigu.ssyx.acl.mapper: debug
|
||||
com.atguigu.ssyx.acl.controller: info
|
||||
com.atguigu.ssyx.acl.service: info
|
||||
pattern:
|
||||
dateformat: HH:mm:ss:SSS
|
||||
file:
|
||||
path: "logs/${spring.application.name}"
|
||||
|
||||
bunny:
|
||||
minio:
|
||||
endpointUrl: ${bunny.minio.endpointUrl}
|
||||
accessKey: ${bunny.minio.accessKey}
|
||||
secretKey: ${bunny.minio.secretKey}
|
||||
bucket-name: ${bunny.minio.bucket-name}
|
|
@ -0,0 +1,16 @@
|
|||
-----------------▄██-█▄---------
|
||||
-----------------███▄██▄--------
|
||||
-----------------███████--------
|
||||
-----------------▀███████-------
|
||||
-------------------██████▄▄-----
|
||||
-------------------█████████▄---
|
||||
-------------------██████▄████--
|
||||
-------▄███████████████████████-
|
||||
-----▄███████████████████████▀--
|
||||
---▄██████████████████████------
|
||||
---███████████████████████------
|
||||
---███████████████████████------
|
||||
-▄▄██████████████████████▀------
|
||||
-█████████████████▀█████--------
|
||||
-▀██████████████▀▀-▀█████▄------
|
||||
-------▀▀▀▀▀▀▀▀▀------▀▀▀▀------
|
Binary file not shown.
After Width: | Height: | Size: 13 KiB |
|
@ -12,7 +12,7 @@ spring:
|
|||
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||
url: jdbc:mysql://${bunny.datasource.host}:${bunny.datasource.port}/${bunny.datasource.sqlData}?serverTimezone=GMT%2B8&useSSL=false&characterEncoding=utf-8&allowPublicKeyRetrieval=true
|
||||
username: ${bunny.datasource.username}
|
||||
password: "${bunny.datasource.password}"
|
||||
password: ${bunny.datasource.password}
|
||||
|
||||
cloud:
|
||||
sentinel:
|
||||
|
|
Loading…
Reference in New Issue