Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
phsl
/
api
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
0fe9c219
authored
Aug 12, 2025
by
lijinqi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
计算资源分类接口+分类对应商品接口完成
parent
1899c420
Show whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
300 additions
and
22 deletions
+300
-22
computility-module-biz/src/main/java/com/luhu/computility/module/biz/controller/app/bannerinfo/AppBannerInfoController.java
+3
-0
computility-module-biz/src/main/java/com/luhu/computility/module/biz/controller/app/computilityinformation/AppComputilityinformationController.java
+3
-0
computility-module-biz/src/main/java/com/luhu/computility/module/biz/controller/app/dict/AppDictController.java
+40
-0
computility-module-biz/src/main/java/com/luhu/computility/module/biz/controller/app/industryapplication/AppIndustryApplicationController.java
+2
-0
computility-module-biz/src/main/java/com/luhu/computility/module/biz/controller/app/information/AppInformationController.java
+2
-0
computility-module-mall/computility-module-product/src/main/java/com/luhu/computility/module/product/controller/admin/spu/vo/ProductSkuPageReqVO.java
+31
-0
computility-module-mall/computility-module-product/src/main/java/com/luhu/computility/module/product/controller/admin/spu/vo/ProductSkuRespVO.java
+0
-18
computility-module-mall/computility-module-product/src/main/java/com/luhu/computility/module/product/controller/app/category/AppCategoryController.java
+27
-0
computility-module-mall/computility-module-product/src/main/java/com/luhu/computility/module/product/controller/app/category/vo/AppCategoryRespVO.java
+4
-4
computility-module-mall/computility-module-product/src/main/java/com/luhu/computility/module/product/controller/app/sku/AppProductSkuController.java
+60
-0
computility-module-mall/computility-module-product/src/main/java/com/luhu/computility/module/product/controller/app/sku/vo/AppProductSkuRespVO.java
+41
-0
computility-module-mall/computility-module-product/src/main/java/com/luhu/computility/module/product/dal/mysql/category/ProductCategoryMapper.java
+9
-0
computility-module-mall/computility-module-product/src/main/java/com/luhu/computility/module/product/dal/mysql/sku/ProductSkuMapper.java
+38
-0
computility-module-mall/computility-module-product/src/main/java/com/luhu/computility/module/product/service/category/ProductCategoryService.java
+3
-0
computility-module-mall/computility-module-product/src/main/java/com/luhu/computility/module/product/service/category/ProductCategoryServiceImpl.java
+6
-0
computility-module-mall/computility-module-product/src/main/java/com/luhu/computility/module/product/service/sku/ProductSkuService.java
+16
-0
computility-module-mall/computility-module-product/src/main/java/com/luhu/computility/module/product/service/sku/ProductSkuServiceImpl.java
+15
-0
No files found.
computility-module-biz/src/main/java/com/luhu/computility/module/biz/controller/app/bannerinfo/AppBannerInfoController.java
View file @
0fe9c219
...
@@ -14,6 +14,7 @@ import org.springframework.web.bind.annotation.RequestParam;
...
@@ -14,6 +14,7 @@ import org.springframework.web.bind.annotation.RequestParam;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.RestController
;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
import
javax.annotation.security.PermitAll
;
import
java.util.Arrays
;
import
java.util.Arrays
;
import
java.util.List
;
import
java.util.List
;
...
@@ -29,6 +30,7 @@ public class AppBannerInfoController {
...
@@ -29,6 +30,7 @@ public class AppBannerInfoController {
private
BannerInfoService
bannerInfoService
;
private
BannerInfoService
bannerInfoService
;
// 只包含客户端需要的只读方法
// 只包含客户端需要的只读方法
@PermitAll
@GetMapping
(
"/get"
)
@GetMapping
(
"/get"
)
@Operation
(
summary
=
"获得banner页管理"
)
@Operation
(
summary
=
"获得banner页管理"
)
@Parameter
(
name
=
"id"
,
description
=
"编号"
,
required
=
true
,
example
=
"1024"
)
@Parameter
(
name
=
"id"
,
description
=
"编号"
,
required
=
true
,
example
=
"1024"
)
...
@@ -38,6 +40,7 @@ public class AppBannerInfoController {
...
@@ -38,6 +40,7 @@ public class AppBannerInfoController {
return
success
(
BeanUtils
.
toBean
(
bannerInfo
,
BannerInfoRespVO
.
class
));
return
success
(
BeanUtils
.
toBean
(
bannerInfo
,
BannerInfoRespVO
.
class
));
}
}
@PermitAll
@GetMapping
(
"/bannerList"
)
@GetMapping
(
"/bannerList"
)
public
CommonResult
<
List
<
BannerInfoRespVO
>>
getBannerList
()
{
public
CommonResult
<
List
<
BannerInfoRespVO
>>
getBannerList
()
{
List
<
BannerInfoDO
>
list
=
bannerInfoService
.
getAllBanners
();
// 新增Service方法
List
<
BannerInfoDO
>
list
=
bannerInfoService
.
getAllBanners
();
// 新增Service方法
...
...
computility-module-biz/src/main/java/com/luhu/computility/module/biz/controller/app/computilityinformation/AppComputilityinformationController.java
View file @
0fe9c219
...
@@ -14,6 +14,7 @@ import org.springframework.web.bind.annotation.RequestParam;
...
@@ -14,6 +14,7 @@ import org.springframework.web.bind.annotation.RequestParam;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.RestController
;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
import
javax.annotation.security.PermitAll
;
import
java.util.Arrays
;
import
java.util.Arrays
;
import
java.util.List
;
import
java.util.List
;
...
@@ -26,6 +27,7 @@ public class AppComputilityinformationController {
...
@@ -26,6 +27,7 @@ public class AppComputilityinformationController {
@Resource
@Resource
private
ComputilityInformationService
computilityInformationService
;
private
ComputilityInformationService
computilityInformationService
;
@PermitAll
@GetMapping
(
"/get"
)
@GetMapping
(
"/get"
)
@Operation
(
summary
=
"获得计算资源首页管理"
)
@Operation
(
summary
=
"获得计算资源首页管理"
)
@Parameter
(
name
=
"id"
,
description
=
"编号"
,
required
=
true
,
example
=
"1024"
)
@Parameter
(
name
=
"id"
,
description
=
"编号"
,
required
=
true
,
example
=
"1024"
)
...
@@ -35,6 +37,7 @@ public class AppComputilityinformationController {
...
@@ -35,6 +37,7 @@ public class AppComputilityinformationController {
return
success
(
BeanUtils
.
toBean
(
computilityInformation
,
ComputilityInformationRespVO
.
class
));
return
success
(
BeanUtils
.
toBean
(
computilityInformation
,
ComputilityInformationRespVO
.
class
));
}
}
@PermitAll
@GetMapping
(
"/computilityList"
)
@GetMapping
(
"/computilityList"
)
public
CommonResult
<
List
<
ComputilityInformationRespVO
>>
getList
()
{
public
CommonResult
<
List
<
ComputilityInformationRespVO
>>
getList
()
{
List
<
ComputilityInformationDO
>
list
=
computilityInformationService
.
getAllComputilityInformations
();
// 新增Service方法
List
<
ComputilityInformationDO
>
list
=
computilityInformationService
.
getAllComputilityInformations
();
// 新增Service方法
...
...
computility-module-biz/src/main/java/com/luhu/computility/module/biz/controller/app/dict/AppDictController.java
0 → 100644
View file @
0fe9c219
package
com
.
luhu
.
computility
.
module
.
biz
.
controller
.
app
.
dict
;
import
com.luhu.computility.framework.common.biz.system.dict.DictDataCommonApi
;
import
com.luhu.computility.framework.common.biz.system.dict.dto.DictDataRespDTO
;
import
com.luhu.computility.framework.common.pojo.CommonResult
;
import
com.luhu.computility.framework.common.util.object.BeanUtils
;
import
com.luhu.computility.module.biz.controller.admin.computilityinformation.vo.ComputilityInformationRespVO
;
import
com.luhu.computility.module.biz.dal.dataobject.computilityinformation.ComputilityInformationDO
;
import
com.luhu.computility.module.biz.service.computilityinformation.ComputilityInformationService
;
import
io.swagger.v3.oas.annotations.Operation
;
import
io.swagger.v3.oas.annotations.Parameter
;
import
io.swagger.v3.oas.annotations.tags.Tag
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
import
javax.annotation.Resource
;
import
javax.annotation.security.PermitAll
;
import
java.util.Arrays
;
import
java.util.List
;
import
static
com
.
luhu
.
computility
.
framework
.
common
.
pojo
.
CommonResult
.
success
;
@Tag
(
name
=
"用户 APP - 获得指定字典类型的字典数据列表 "
)
@RestController
@RequestMapping
(
"/biz/dict"
)
public
class
AppDictController
{
@Resource
private
DictDataCommonApi
dictDataCommonApi
;
@PermitAll
@GetMapping
(
"/getByType"
)
@Operation
(
summary
=
"获得指定字典类型的字典数据列表"
)
@Parameter
(
name
=
"dictType"
,
description
=
"字典类型"
,
required
=
true
,
example
=
""
)
public
CommonResult
<
List
<
DictDataRespDTO
>>
getDictDataList
(
@RequestParam
(
"dictType"
)
String
dictType
)
{
return
success
(
dictDataCommonApi
.
getDictDataList
(
dictType
));
}
}
\ No newline at end of file
computility-module-biz/src/main/java/com/luhu/computility/module/biz/controller/app/industryapplication/AppIndustryApplicationController.java
View file @
0fe9c219
...
@@ -11,6 +11,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
...
@@ -11,6 +11,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.RestController
;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
import
javax.annotation.security.PermitAll
;
import
java.util.Arrays
;
import
java.util.Arrays
;
import
java.util.List
;
import
java.util.List
;
...
@@ -24,6 +25,7 @@ public class AppIndustryApplicationController {
...
@@ -24,6 +25,7 @@ public class AppIndustryApplicationController {
@Resource
@Resource
private
IndustryApplicationService
industryApplicationService
;
private
IndustryApplicationService
industryApplicationService
;
@PermitAll
@GetMapping
(
"/assemblyList"
)
@GetMapping
(
"/assemblyList"
)
public
CommonResult
<
List
<
IndustryApplicationRespVO
>>
getIndustryApplicationList
()
{
public
CommonResult
<
List
<
IndustryApplicationRespVO
>>
getIndustryApplicationList
()
{
List
<
IndustryApplicationDO
>
list
=
industryApplicationService
.
getAllIndustryApplication
();
// 新增Service方法
List
<
IndustryApplicationDO
>
list
=
industryApplicationService
.
getAllIndustryApplication
();
// 新增Service方法
...
...
computility-module-biz/src/main/java/com/luhu/computility/module/biz/controller/app/information/AppInformationController.java
View file @
0fe9c219
...
@@ -15,6 +15,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
...
@@ -15,6 +15,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.RestController
;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
import
javax.annotation.security.PermitAll
;
import
java.util.Arrays
;
import
java.util.Arrays
;
import
java.util.List
;
import
java.util.List
;
...
@@ -28,6 +29,7 @@ public class AppInformationController {
...
@@ -28,6 +29,7 @@ public class AppInformationController {
@Resource
@Resource
private
InformationService
informationService
;
private
InformationService
informationService
;
@PermitAll
@GetMapping
(
"/informationList"
)
@GetMapping
(
"/informationList"
)
public
CommonResult
<
List
<
InformationRespVO
>>
getInformationList
()
{
public
CommonResult
<
List
<
InformationRespVO
>>
getInformationList
()
{
List
<
InformationDO
>
list
=
informationService
.
getAllInformation
();
// 新增Service方法
List
<
InformationDO
>
list
=
informationService
.
getAllInformation
();
// 新增Service方法
...
...
computility-module-mall/computility-module-product/src/main/java/com/luhu/computility/module/product/controller/admin/spu/vo/ProductSkuPageReqVO.java
0 → 100644
View file @
0fe9c219
package
com
.
luhu
.
computility
.
module
.
product
.
controller
.
admin
.
spu
.
vo
;
import
com.luhu.computility.framework.common.pojo.PageParam
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.ToString
;
import
org.springframework.format.annotation.DateTimeFormat
;
import
java.time.LocalDateTime
;
import
static
com
.
luhu
.
computility
.
framework
.
common
.
util
.
date
.
DateUtils
.
FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND
;
@Schema
(
description
=
"管理后台 - 商品 SKU 分页 Request VO"
)
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@ToString
(
callSuper
=
true
)
public
class
ProductSkuPageReqVO
extends
PageParam
{
@Schema
(
description
=
"商品名称"
,
example
=
"清凉小短袖"
)
private
String
name
;
@Schema
(
description
=
"商品分类编号"
,
example
=
"1"
)
private
Long
categoryId
;
@Schema
(
description
=
"创建时间"
,
example
=
"[2022-07-01 00:00:00, 2022-07-01 23:59:59]"
)
@DateTimeFormat
(
pattern
=
FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND
)
private
LocalDateTime
[]
createTime
;
}
computility-module-mall/computility-module-product/src/main/java/com/luhu/computility/module/product/controller/admin/spu/vo/ProductSkuRespVO.java
View file @
0fe9c219
...
@@ -24,27 +24,9 @@ public class ProductSkuRespVO {
...
@@ -24,27 +24,9 @@ public class ProductSkuRespVO {
@Schema
(
description
=
"成本价"
,
example
=
"19"
)
@Schema
(
description
=
"成本价"
,
example
=
"19"
)
private
Integer
costPrice
;
private
Integer
costPrice
;
@Schema
(
description
=
"条形码"
,
example
=
"15156165456"
)
private
String
barCode
;
@Schema
(
description
=
"图片地址"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
,
example
=
"https://www.iocoder.cn/xx.png"
)
@Schema
(
description
=
"图片地址"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
,
example
=
"https://www.iocoder.cn/xx.png"
)
private
String
picUrl
;
private
String
picUrl
;
@Schema
(
description
=
"库存"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
,
example
=
"200"
)
private
Integer
stock
;
@Schema
(
description
=
"商品重量,单位:kg 千克"
,
example
=
"1.2"
)
private
Double
weight
;
@Schema
(
description
=
"商品体积,单位:m^3 平米"
,
example
=
"2.5"
)
private
Double
volume
;
@Schema
(
description
=
"一级分销的佣金,单位:分"
,
example
=
"199"
)
private
Integer
firstBrokeragePrice
;
@Schema
(
description
=
"二级分销的佣金,单位:分"
,
example
=
"19"
)
private
Integer
secondBrokeragePrice
;
@Schema
(
description
=
"属性数组"
)
@Schema
(
description
=
"属性数组"
)
private
List
<
ProductSkuSaveReqVO
.
Property
>
properties
;
private
List
<
ProductSkuSaveReqVO
.
Property
>
properties
;
...
...
computility-module-mall/computility-module-product/src/main/java/com/luhu/computility/module/product/controller/app/category/AppCategoryController.java
View file @
0fe9c219
package
com
.
luhu
.
computility
.
module
.
product
.
controller
.
app
.
category
;
package
com
.
luhu
.
computility
.
module
.
product
.
controller
.
app
.
category
;
import
cn.hutool.core.collection.CollUtil
;
import
cn.hutool.core.collection.CollUtil
;
import
com.baomidou.mybatisplus.core.toolkit.StringUtils
;
import
com.luhu.computility.framework.common.pojo.CommonResult
;
import
com.luhu.computility.framework.common.pojo.CommonResult
;
import
com.luhu.computility.framework.common.util.object.BeanUtils
;
import
com.luhu.computility.framework.common.util.object.BeanUtils
;
import
com.luhu.computility.module.infra.api.config.ConfigApi
;
import
com.luhu.computility.module.product.controller.app.category.vo.AppCategoryRespVO
;
import
com.luhu.computility.module.product.controller.app.category.vo.AppCategoryRespVO
;
import
com.luhu.computility.module.product.dal.dataobject.category.ProductCategoryDO
;
import
com.luhu.computility.module.product.dal.dataobject.category.ProductCategoryDO
;
import
com.luhu.computility.module.product.service.category.ProductCategoryService
;
import
com.luhu.computility.module.product.service.category.ProductCategoryService
;
...
@@ -32,6 +34,12 @@ public class AppCategoryController {
...
@@ -32,6 +34,12 @@ public class AppCategoryController {
@Resource
@Resource
private
ProductCategoryService
categoryService
;
private
ProductCategoryService
categoryService
;
@Resource
private
ConfigApi
configApi
;
static
final
String
COMPUTILITY_CATEGORY
=
"computility_category"
;
@GetMapping
(
"/list"
)
@GetMapping
(
"/list"
)
@Operation
(
summary
=
"获得商品分类列表"
)
@Operation
(
summary
=
"获得商品分类列表"
)
@PermitAll
@PermitAll
...
@@ -41,6 +49,25 @@ public class AppCategoryController {
...
@@ -41,6 +49,25 @@ public class AppCategoryController {
return
success
(
BeanUtils
.
toBean
(
list
,
AppCategoryRespVO
.
class
));
return
success
(
BeanUtils
.
toBean
(
list
,
AppCategoryRespVO
.
class
));
}
}
@GetMapping
(
"/list-by-parentid"
)
@Operation
(
summary
=
"获取某一级分类下商品分类列表"
)
@PermitAll
public
CommonResult
<
List
<
AppCategoryRespVO
>>
getProductCategoryListByParentId
(
@RequestParam
(
"id"
)
Long
id
)
{
List
<
ProductCategoryDO
>
list
=
categoryService
.
getProductCategoryListByParentId
(
id
);
list
.
sort
(
Comparator
.
comparing
(
ProductCategoryDO:
:
getSort
));
return
success
(
BeanUtils
.
toBean
(
list
,
AppCategoryRespVO
.
class
));
}
@GetMapping
(
"/list-computility"
)
@Operation
(
summary
=
"获取计算资源分类列表"
)
public
CommonResult
<
List
<
AppCategoryRespVO
>>
getComputilityCategoryList
()
{
Long
parentId
=
Long
.
parseLong
(
configApi
.
getConfigValueByKey
(
COMPUTILITY_CATEGORY
));
List
<
ProductCategoryDO
>
list
=
categoryService
.
getProductCategoryListByParentId
(
parentId
);
list
.
sort
(
Comparator
.
comparing
(
ProductCategoryDO:
:
getSort
));
return
success
(
BeanUtils
.
toBean
(
list
,
AppCategoryRespVO
.
class
));
}
@GetMapping
(
"/list-by-ids"
)
@GetMapping
(
"/list-by-ids"
)
@Operation
(
summary
=
"获得商品分类列表,指定编号"
)
@Operation
(
summary
=
"获得商品分类列表,指定编号"
)
@Parameter
(
name
=
"ids"
,
description
=
"商品分类编号数组"
,
required
=
true
)
@Parameter
(
name
=
"ids"
,
description
=
"商品分类编号数组"
,
required
=
true
)
...
...
computility-module-mall/computility-module-product/src/main/java/com/luhu/computility/module/product/controller/app/category/vo/AppCategoryRespVO.java
View file @
0fe9c219
...
@@ -12,17 +12,17 @@ public class AppCategoryRespVO {
...
@@ -12,17 +12,17 @@ public class AppCategoryRespVO {
@Schema
(
description
=
"分类编号"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
,
example
=
"2"
)
@Schema
(
description
=
"分类编号"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
,
example
=
"2"
)
private
Long
id
;
private
Long
id
;
/*
@Schema(description = "父分类编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
@Schema(description = "父分类编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
@NotNull(message = "父分类编号不能为空")
@NotNull(message = "父分类编号不能为空")
private
Long
parentId
;
private Long parentId;
*/
@Schema
(
description
=
"分类名称"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
,
example
=
"办公文具"
)
@Schema
(
description
=
"分类名称"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
,
example
=
"办公文具"
)
@NotBlank
(
message
=
"分类名称不能为空"
)
@NotBlank
(
message
=
"分类名称不能为空"
)
private
String
name
;
private
String
name
;
/*
@Schema(description = "分类图片", requiredMode = Schema.RequiredMode.REQUIRED)
@Schema(description = "分类图片", requiredMode = Schema.RequiredMode.REQUIRED)
@NotBlank(message = "分类图片不能为空")
@NotBlank(message = "分类图片不能为空")
private
String
picUrl
;
private String picUrl;
*/
}
}
computility-module-mall/computility-module-product/src/main/java/com/luhu/computility/module/product/controller/app/sku/AppProductSkuController.java
0 → 100644
View file @
0fe9c219
package
com
.
luhu
.
computility
.
module
.
product
.
controller
.
app
.
sku
;
import
cn.hutool.core.collection.CollUtil
;
import
com.luhu.computility.framework.common.pojo.CommonResult
;
import
com.luhu.computility.framework.common.pojo.PageResult
;
import
com.luhu.computility.framework.common.util.object.BeanUtils
;
import
com.luhu.computility.module.product.controller.admin.spu.vo.ProductSkuPageReqVO
;
import
com.luhu.computility.module.product.controller.admin.spu.vo.ProductSkuRespVO
;
import
com.luhu.computility.module.product.controller.app.sku.vo.AppProductSkuRespVO
;
import
com.luhu.computility.module.product.dal.dataobject.sku.ProductSkuDO
;
import
com.luhu.computility.module.product.service.history.ProductBrowseHistoryService
;
import
com.luhu.computility.module.product.service.sku.ProductSkuService
;
import
io.swagger.v3.oas.annotations.Operation
;
import
io.swagger.v3.oas.annotations.Parameter
;
import
io.swagger.v3.oas.annotations.tags.Tag
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
import
javax.annotation.Resource
;
import
javax.annotation.security.PermitAll
;
import
javax.validation.Valid
;
import
java.util.Collections
;
import
java.util.List
;
import
java.util.Set
;
import
static
com
.
luhu
.
computility
.
framework
.
common
.
exception
.
util
.
ServiceExceptionUtil
.
exception
;
import
static
com
.
luhu
.
computility
.
framework
.
common
.
pojo
.
CommonResult
.
success
;
import
static
com
.
luhu
.
computility
.
framework
.
security
.
core
.
util
.
SecurityFrameworkUtils
.
getLoginUserId
;
import
static
com
.
luhu
.
computility
.
module
.
product
.
enums
.
ErrorCodeConstants
.
SKU_NOT_EXISTS
;
@Tag
(
name
=
"用户 APP - 商品 SKU"
)
@RestController
@RequestMapping
(
"/product/sku"
)
@Validated
public
class
AppProductSkuController
{
@Resource
private
ProductSkuService
productSkuService
;
@GetMapping
(
"/page"
)
@Operation
(
summary
=
"获得商品 SKU 分页"
)
public
CommonResult
<
PageResult
<
ProductSkuRespVO
>>
getSkuPage
(
@Valid
ProductSkuPageReqVO
pageVO
)
{
PageResult
<
ProductSkuRespVO
>
skuList
=
productSkuService
.
getSkuList
(
pageVO
);
return
success
(
skuList
);
}
@GetMapping
(
"/get-detail"
)
@Operation
(
summary
=
"获得商品 SKU 明细"
)
@Parameter
(
name
=
"id"
,
description
=
"编号"
,
required
=
true
)
@PermitAll
public
CommonResult
<
ProductSkuRespVO
>
getSKUDetail
(
@RequestParam
(
"id"
)
Long
id
)
{
// 获得商品 SKU
return
success
(
productSkuService
.
getDetail
(
id
));
}
}
computility-module-mall/computility-module-product/src/main/java/com/luhu/computility/module/product/controller/app/sku/vo/AppProductSkuRespVO.java
0 → 100644
View file @
0fe9c219
package
com
.
luhu
.
computility
.
module
.
product
.
controller
.
app
.
sku
.
vo
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Data
;
import
java.util.List
;
@Schema
(
description
=
"用户 App - 商品 SKU Response VO"
)
@Data
public
class
AppProductSkuRespVO
{
@Schema
(
description
=
"商品 SKU 编号"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
,
example
=
"1"
)
private
Long
id
;
@Schema
(
description
=
"商品名称"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
,
example
=
"服务器"
)
private
String
name
;
@Schema
(
description
=
"商品简介"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
,
example
=
"清凉小短袖简介"
)
private
String
properties
;
@Schema
(
description
=
"分类编号"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
private
Long
categoryId
;
@Schema
(
description
=
"商品封面图"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
private
String
picUrl
;
@Schema
(
description
=
"商品价格,单位使用:分"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
,
example
=
"1024"
)
private
Integer
price
;
@Schema
(
description
=
"市场价,单位使用:分"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
,
example
=
"1024"
)
private
Integer
marketPrice
;
@Schema
(
description
=
"库存"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
,
example
=
"666"
)
private
Integer
stock
;
// ========== 统计相关字段 =========
@Schema
(
description
=
"商品销量"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
,
example
=
"1024"
)
private
Integer
salesCount
;
}
computility-module-mall/computility-module-product/src/main/java/com/luhu/computility/module/product/dal/mysql/category/ProductCategoryMapper.java
View file @
0fe9c219
package
com
.
luhu
.
computility
.
module
.
product
.
dal
.
mysql
.
category
;
package
com
.
luhu
.
computility
.
module
.
product
.
dal
.
mysql
.
category
;
import
com.luhu.computility.framework.common.enums.CommonStatusEnum
;
import
com.luhu.computility.framework.mybatis.core.mapper.BaseMapperX
;
import
com.luhu.computility.framework.mybatis.core.mapper.BaseMapperX
;
import
com.luhu.computility.framework.mybatis.core.query.LambdaQueryWrapperX
;
import
com.luhu.computility.framework.mybatis.core.query.LambdaQueryWrapperX
;
import
com.luhu.computility.module.product.controller.admin.category.vo.ProductCategoryListReqVO
;
import
com.luhu.computility.module.product.controller.admin.category.vo.ProductCategoryListReqVO
;
...
@@ -26,6 +27,14 @@ public interface ProductCategoryMapper extends BaseMapperX<ProductCategoryDO> {
...
@@ -26,6 +27,14 @@ public interface ProductCategoryMapper extends BaseMapperX<ProductCategoryDO> {
.
orderByDesc
(
ProductCategoryDO:
:
getId
));
.
orderByDesc
(
ProductCategoryDO:
:
getId
));
}
}
default
List
<
ProductCategoryDO
>
selectListByParentId
(
Long
parentId
)
{
return
selectList
(
new
LambdaQueryWrapperX
<
ProductCategoryDO
>()
.
eqIfPresent
(
ProductCategoryDO:
:
getParentId
,
parentId
)
.
eqIfPresent
(
ProductCategoryDO:
:
getStatus
,
CommonStatusEnum
.
ENABLE
.
getStatus
())
.
orderByDesc
(
ProductCategoryDO:
:
getId
));
}
default
Long
selectCountByParentId
(
Long
parentId
)
{
default
Long
selectCountByParentId
(
Long
parentId
)
{
return
selectCount
(
ProductCategoryDO:
:
getParentId
,
parentId
);
return
selectCount
(
ProductCategoryDO:
:
getParentId
,
parentId
);
}
}
...
...
computility-module-mall/computility-module-product/src/main/java/com/luhu/computility/module/product/dal/mysql/sku/ProductSkuMapper.java
View file @
0fe9c219
package
com
.
luhu
.
computility
.
module
.
product
.
dal
.
mysql
.
sku
;
package
com
.
luhu
.
computility
.
module
.
product
.
dal
.
mysql
.
sku
;
import
cn.hutool.core.lang.Assert
;
import
cn.hutool.core.lang.Assert
;
import
cn.hutool.core.util.ArrayUtil
;
import
cn.hutool.core.util.ObjectUtil
;
import
cn.hutool.core.util.StrUtil
;
import
com.luhu.computility.framework.common.pojo.PageResult
;
import
com.luhu.computility.framework.mybatis.core.mapper.BaseMapperX
;
import
com.luhu.computility.framework.mybatis.core.mapper.BaseMapperX
;
import
com.luhu.computility.framework.mybatis.core.query.LambdaQueryWrapperX
;
import
com.luhu.computility.framework.mybatis.core.query.LambdaQueryWrapperX
;
import
com.luhu.computility.framework.mybatis.core.query.MPJLambdaWrapperX
;
import
com.luhu.computility.module.product.controller.admin.category.vo.ProductCategoryListReqVO
;
import
com.luhu.computility.module.product.controller.admin.spu.vo.ProductSkuPageReqVO
;
import
com.luhu.computility.module.product.controller.admin.spu.vo.ProductSkuRespVO
;
import
com.luhu.computility.module.product.controller.admin.spu.vo.ProductSpuPageReqVO
;
import
com.luhu.computility.module.product.dal.dataobject.category.ProductCategoryDO
;
import
com.luhu.computility.module.product.dal.dataobject.sku.ProductSkuDO
;
import
com.luhu.computility.module.product.dal.dataobject.sku.ProductSkuDO
;
import
com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper
;
import
com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper
;
import
com.luhu.computility.module.product.dal.dataobject.spu.ProductSpuDO
;
import
com.luhu.computility.module.system.dal.dataobject.permission.RoleDO
;
import
com.luhu.computility.module.system.dal.dataobject.permission.UserRoleDO
;
import
com.luhu.computility.module.system.dal.dataobject.user.AdminUserDO
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.annotations.Select
;
import
org.apache.ibatis.annotations.Select
;
...
@@ -63,4 +77,28 @@ public interface ProductSkuMapper extends BaseMapperX<ProductSkuDO> {
...
@@ -63,4 +77,28 @@ public interface ProductSkuMapper extends BaseMapperX<ProductSkuDO> {
return
update
(
null
,
updateWrapper
);
return
update
(
null
,
updateWrapper
);
}
}
/**
* 获取商品 SKU 分页列表数据
*
* @param queryVO 分页请求参数
* @return 商品 SKU 分页列表数据
*/
default
PageResult
<
ProductSkuRespVO
>
selectPage
(
ProductSkuPageReqVO
queryVO
)
{
return
selectJoinPage
(
queryVO
,
ProductSkuRespVO
.
class
,
new
MPJLambdaWrapperX
<
ProductSkuDO
>()
.
selectAll
(
ProductSkuDO
.
class
)
.
select
(
ProductSpuDO:
:
getName
)
.
leftJoin
(
ProductSpuDO
.
class
,
ProductSpuDO:
:
getId
,
ProductSkuDO:
:
getSpuId
)
.
eq
(!
ObjectUtil
.
isEmpty
(
queryVO
.
getCategoryId
()),
ProductSpuDO:
:
getCategoryId
,
queryVO
.
getCategoryId
()
)
.
orderByDesc
(
ProductSkuDO:
:
getCreator
));
}
default
ProductSkuRespVO
getDetail
(
Long
id
)
{
return
selectJoinOne
(
ProductSkuRespVO
.
class
,
new
MPJLambdaWrapperX
<
ProductSkuDO
>()
.
selectAll
(
ProductSkuDO
.
class
)
.
select
(
ProductSpuDO:
:
getName
)
.
leftJoin
(
ProductSpuDO
.
class
,
ProductSpuDO:
:
getId
,
ProductSkuDO:
:
getSpuId
)
.
eq
(!
ObjectUtil
.
isEmpty
(
id
),
ProductSkuDO:
:
getId
,
id
)
.
orderByDesc
(
ProductSkuDO:
:
getCreator
));
}
}
}
computility-module-mall/computility-module-product/src/main/java/com/luhu/computility/module/product/service/category/ProductCategoryService.java
View file @
0fe9c219
...
@@ -93,4 +93,7 @@ public interface ProductCategoryService {
...
@@ -93,4 +93,7 @@ public interface ProductCategoryService {
*/
*/
void
validateCategoryList
(
Collection
<
Long
>
ids
);
void
validateCategoryList
(
Collection
<
Long
>
ids
);
List
<
ProductCategoryDO
>
getProductCategoryListByParentId
(
Long
id
);
}
}
computility-module-mall/computility-module-product/src/main/java/com/luhu/computility/module/product/service/category/ProductCategoryServiceImpl.java
View file @
0fe9c219
...
@@ -176,6 +176,12 @@ public class ProductCategoryServiceImpl implements ProductCategoryService {
...
@@ -176,6 +176,12 @@ public class ProductCategoryServiceImpl implements ProductCategoryService {
return
productCategoryMapper
.
selectListByStatus
(
CommonStatusEnum
.
ENABLE
.
getStatus
());
return
productCategoryMapper
.
selectListByStatus
(
CommonStatusEnum
.
ENABLE
.
getStatus
());
}
}
@Override
public
List
<
ProductCategoryDO
>
getProductCategoryListByParentId
(
Long
id
)
{
return
productCategoryMapper
.
selectListByParentId
(
id
);
}
@Override
@Override
public
List
<
ProductCategoryDO
>
getEnableCategoryList
(
List
<
Long
>
ids
)
{
public
List
<
ProductCategoryDO
>
getEnableCategoryList
(
List
<
Long
>
ids
)
{
return
productCategoryMapper
.
selectListByIdAndStatus
(
ids
,
CommonStatusEnum
.
ENABLE
.
getStatus
());
return
productCategoryMapper
.
selectListByIdAndStatus
(
ids
,
CommonStatusEnum
.
ENABLE
.
getStatus
());
...
...
computility-module-mall/computility-module-product/src/main/java/com/luhu/computility/module/product/service/sku/ProductSkuService.java
View file @
0fe9c219
package
com
.
luhu
.
computility
.
module
.
product
.
service
.
sku
;
package
com
.
luhu
.
computility
.
module
.
product
.
service
.
sku
;
import
com.luhu.computility.framework.common.pojo.PageResult
;
import
com.luhu.computility.module.product.api.sku.dto.ProductSkuUpdateStockReqDTO
;
import
com.luhu.computility.module.product.api.sku.dto.ProductSkuUpdateStockReqDTO
;
import
com.luhu.computility.module.product.controller.admin.spu.vo.ProductSkuPageReqVO
;
import
com.luhu.computility.module.product.controller.admin.spu.vo.ProductSkuRespVO
;
import
com.luhu.computility.module.product.controller.admin.spu.vo.ProductSkuSaveReqVO
;
import
com.luhu.computility.module.product.controller.admin.spu.vo.ProductSkuSaveReqVO
;
import
com.luhu.computility.module.product.dal.dataobject.sku.ProductSkuDO
;
import
com.luhu.computility.module.product.dal.dataobject.sku.ProductSkuDO
;
...
@@ -29,6 +32,8 @@ public interface ProductSkuService {
...
@@ -29,6 +32,8 @@ public interface ProductSkuService {
*/
*/
ProductSkuDO
getSku
(
Long
id
);
ProductSkuDO
getSku
(
Long
id
);
/**
/**
* 获得商品 SKU 信息
* 获得商品 SKU 信息
*
*
...
@@ -47,6 +52,17 @@ public interface ProductSkuService {
...
@@ -47,6 +52,17 @@ public interface ProductSkuService {
List
<
ProductSkuDO
>
getSkuList
(
Collection
<
Long
>
ids
);
List
<
ProductSkuDO
>
getSkuList
(
Collection
<
Long
>
ids
);
/**
/**
* 根据商品分类获得商品 SKU 列表
*
* @param queryVO 编号
* @return 商品sku列表
*/
PageResult
<
ProductSkuRespVO
>
getSkuList
(
ProductSkuPageReqVO
queryVO
);
ProductSkuRespVO
getDetail
(
Long
id
);
/**
* 对 sku 的组合的属性等进行合法性校验
* 对 sku 的组合的属性等进行合法性校验
*
*
* @param list sku组合的集合
* @param list sku组合的集合
...
...
computility-module-mall/computility-module-product/src/main/java/com/luhu/computility/module/product/service/sku/ProductSkuServiceImpl.java
View file @
0fe9c219
...
@@ -3,8 +3,11 @@ package com.luhu.computility.module.product.service.sku;
...
@@ -3,8 +3,11 @@ package com.luhu.computility.module.product.service.sku;
import
cn.hutool.core.collection.CollUtil
;
import
cn.hutool.core.collection.CollUtil
;
import
cn.hutool.core.collection.ListUtil
;
import
cn.hutool.core.collection.ListUtil
;
import
cn.hutool.core.util.ObjectUtil
;
import
cn.hutool.core.util.ObjectUtil
;
import
com.luhu.computility.framework.common.pojo.PageResult
;
import
com.luhu.computility.framework.common.util.object.BeanUtils
;
import
com.luhu.computility.framework.common.util.object.BeanUtils
;
import
com.luhu.computility.module.product.api.sku.dto.ProductSkuUpdateStockReqDTO
;
import
com.luhu.computility.module.product.api.sku.dto.ProductSkuUpdateStockReqDTO
;
import
com.luhu.computility.module.product.controller.admin.spu.vo.ProductSkuPageReqVO
;
import
com.luhu.computility.module.product.controller.admin.spu.vo.ProductSkuRespVO
;
import
com.luhu.computility.module.product.controller.admin.spu.vo.ProductSkuSaveReqVO
;
import
com.luhu.computility.module.product.controller.admin.spu.vo.ProductSkuSaveReqVO
;
import
com.luhu.computility.module.product.convert.sku.ProductSkuConvert
;
import
com.luhu.computility.module.product.convert.sku.ProductSkuConvert
;
import
com.luhu.computility.module.product.dal.dataobject.property.ProductPropertyDO
;
import
com.luhu.computility.module.product.dal.dataobject.property.ProductPropertyDO
;
...
@@ -85,6 +88,18 @@ public class ProductSkuServiceImpl implements ProductSkuService {
...
@@ -85,6 +88,18 @@ public class ProductSkuServiceImpl implements ProductSkuService {
}
}
@Override
@Override
public
PageResult
<
ProductSkuRespVO
>
getSkuList
(
ProductSkuPageReqVO
queryVO
)
{
return
productSkuMapper
.
selectPage
(
queryVO
);
}
@Override
public
ProductSkuRespVO
getDetail
(
Long
id
)
{
return
productSkuMapper
.
getDetail
(
id
);
}
@Override
public
void
validateSkuList
(
List
<
ProductSkuSaveReqVO
>
skus
,
Boolean
specType
)
{
public
void
validateSkuList
(
List
<
ProductSkuSaveReqVO
>
skus
,
Boolean
specType
)
{
// 0、校验skus是否为空
// 0、校验skus是否为空
if
(
CollUtil
.
isEmpty
(
skus
))
{
if
(
CollUtil
.
isEmpty
(
skus
))
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment