Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
wwwanlingxiao
mall
Commits
424cbe0d
Commit
424cbe0d
authored
May 23, 2018
by
zhh
Browse files
商品分类及属性接口修改
parent
96fc15e0
Changes
12
Hide whitespace changes
Inline
Side-by-side
mall-admin/src/main/java/com/macro/mall/controller/PmsProductAttributeController.java
View file @
424cbe0d
...
...
@@ -2,6 +2,7 @@ package com.macro.mall.controller;
import
com.macro.mall.dto.CommonResult
;
import
com.macro.mall.dto.PmsProductAttributeParam
;
import
com.macro.mall.dto.ProductAttrInfo
;
import
com.macro.mall.model.PmsProductAttribute
;
import
com.macro.mall.service.PmsProductAttributeService
;
import
io.swagger.annotations.Api
;
...
...
@@ -83,4 +84,12 @@ public class PmsProductAttributeController {
return
new
CommonResult
().
failed
();
}
}
@ApiOperation
(
"根据商品分类的id获取商品属性及属性分类"
)
@RequestMapping
(
value
=
"/attrInfo/{productCategoryId}"
,
method
=
RequestMethod
.
GET
)
@ResponseBody
public
Object
getAttrInfo
(
@PathVariable
Long
productCategoryId
){
List
<
ProductAttrInfo
>
productAttrInfoList
=
productAttributeService
.
getProductAttrInfo
(
productCategoryId
);
return
new
CommonResult
().
success
(
productAttrInfoList
);
}
}
mall-admin/src/main/java/com/macro/mall/controller/PmsProductCategoryController.java
View file @
424cbe0d
...
...
@@ -21,7 +21,7 @@ import java.util.List;
* Created by macro on 2018/4/26.
*/
@Controller
@Api
(
tags
=
"PmsProductCategoryController"
,
description
=
"商品分类管理"
)
@Api
(
tags
=
"PmsProductCategoryController"
,
description
=
"商品分类管理"
)
@RequestMapping
(
"/productCategory"
)
public
class
PmsProductCategoryController
{
@Autowired
...
...
@@ -30,9 +30,9 @@ public class PmsProductCategoryController {
@ApiOperation
(
"添加产品分类"
)
@RequestMapping
(
value
=
"/create"
,
method
=
RequestMethod
.
POST
)
@ResponseBody
public
Object
create
(
@Validated
@RequestBody
PmsProductCategoryParam
p
msP
roductCategoryParam
,
public
Object
create
(
@Validated
@RequestBody
PmsProductCategoryParam
productCategoryParam
,
BindingResult
result
)
{
int
count
=
productCategoryService
.
create
(
p
msP
roductCategoryParam
);
int
count
=
productCategoryService
.
create
(
productCategoryParam
);
if
(
count
>
0
)
{
return
new
CommonResult
().
success
(
count
);
}
else
{
...
...
@@ -45,9 +45,9 @@ public class PmsProductCategoryController {
@ResponseBody
public
Object
update
(
@PathVariable
Long
id
,
@Validated
@RequestBody
PmsProductCategoryParam
p
msP
roductCategoryParam
,
@RequestBody
PmsProductCategoryParam
productCategoryParam
,
BindingResult
result
)
{
int
count
=
productCategoryService
.
update
(
id
,
p
msP
roductCategoryParam
);
int
count
=
productCategoryService
.
update
(
id
,
productCategoryParam
);
if
(
count
>
0
)
{
return
new
CommonResult
().
success
(
count
);
}
else
{
...
...
@@ -59,8 +59,8 @@ public class PmsProductCategoryController {
@RequestMapping
(
value
=
"/list/{parentId}"
,
method
=
RequestMethod
.
GET
)
@ResponseBody
public
Object
getList
(
@PathVariable
Long
parentId
,
@RequestParam
(
value
=
"pageSize"
,
defaultValue
=
"5"
)
Integer
pageSize
,
@RequestParam
(
value
=
"pageNum"
,
defaultValue
=
"1"
)
Integer
pageNum
)
{
@RequestParam
(
value
=
"pageSize"
,
defaultValue
=
"5"
)
Integer
pageSize
,
@RequestParam
(
value
=
"pageNum"
,
defaultValue
=
"1"
)
Integer
pageNum
)
{
List
<
PmsProductCategory
>
productCategoryList
=
productCategoryService
.
getList
(
parentId
,
pageSize
,
pageNum
);
return
new
CommonResult
().
pageSuccess
(
productCategoryList
);
}
...
...
@@ -84,4 +84,28 @@ public class PmsProductCategoryController {
return
new
CommonResult
().
failed
();
}
}
@ApiOperation
(
"修改导航栏显示状态"
)
@RequestMapping
(
value
=
"/update/navStatus"
,
method
=
RequestMethod
.
POST
)
@ResponseBody
public
Object
updateNavStatus
(
@RequestParam
(
"ids"
)
List
<
Long
>
ids
,
@RequestParam
(
"navStatus"
)
Integer
navStatus
)
{
int
count
=
productCategoryService
.
updateNavStatus
(
ids
,
navStatus
);
if
(
count
>
0
)
{
return
new
CommonResult
().
success
(
count
);
}
else
{
return
new
CommonResult
().
failed
();
}
}
@ApiOperation
(
"修改显示状态"
)
@RequestMapping
(
value
=
"/update/showStatus"
,
method
=
RequestMethod
.
POST
)
@ResponseBody
public
Object
updateShowStatus
(
@RequestParam
(
"ids"
)
List
<
Long
>
ids
,
@RequestParam
(
"showStatus"
)
Integer
showStatus
)
{
int
count
=
productCategoryService
.
updateShowStatus
(
ids
,
showStatus
);
if
(
count
>
0
)
{
return
new
CommonResult
().
success
(
count
);
}
else
{
return
new
CommonResult
().
failed
();
}
}
}
mall-admin/src/main/java/com/macro/mall/dao/PmsProductAttributeDao.java
0 → 100644
View file @
424cbe0d
package
com.macro.mall.dao
;
import
com.macro.mall.dto.ProductAttrInfo
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
/**
* 自定义商品属性Dao
* Created by macro on 2018/5/23.
*/
public
interface
PmsProductAttributeDao
{
List
<
ProductAttrInfo
>
getProductAttrInfo
(
@Param
(
"id"
)
Long
productCategoryId
);
}
mall-admin/src/main/java/com/macro/mall/dao/PmsProductCategoryAttributeRelationDao.java
0 → 100644
View file @
424cbe0d
package
com.macro.mall.dao
;
import
com.macro.mall.model.PmsProductCategoryAttributeRelation
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
/**
* 自定义商品分类和属性关系Dao
* Created by macro on 2018/5/23.
*/
public
interface
PmsProductCategoryAttributeRelationDao
{
int
insertList
(
@Param
(
"list"
)
List
<
PmsProductCategoryAttributeRelation
>
productCategoryAttributeRelationList
);
}
mall-admin/src/main/java/com/macro/mall/dto/PmsProductCategoryParam.java
View file @
424cbe0d
...
...
@@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
import
org.hibernate.validator.constraints.NotEmpty
;
import
javax.validation.constraints.Min
;
import
java.util.List
;
/**
* 添加更新产品分类的参数
...
...
@@ -33,6 +34,8 @@ public class PmsProductCategoryParam {
private
String
keywords
;
@ApiModelProperty
(
"描述"
)
private
String
description
;
@ApiModelProperty
(
"产品相关筛选属性集合"
)
private
List
<
Long
>
productAttributeIdList
;
public
Long
getParentId
()
{
return
parentId
;
...
...
@@ -105,4 +108,12 @@ public class PmsProductCategoryParam {
public
void
setDescription
(
String
description
)
{
this
.
description
=
description
;
}
public
List
<
Long
>
getProductAttributeIdList
()
{
return
productAttributeIdList
;
}
public
void
setProductAttributeIdList
(
List
<
Long
>
productAttributeIdList
)
{
this
.
productAttributeIdList
=
productAttributeIdList
;
}
}
mall-admin/src/main/java/com/macro/mall/dto/ProductAttrInfo.java
0 → 100644
View file @
424cbe0d
package
com.macro.mall.dto
;
/**
* 商品分类对应属性信息
* Created by macro on 2018/5/23.
*/
public
class
ProductAttrInfo
{
private
Long
attributeId
;
private
Long
attributeCategoryId
;
public
Long
getAttributeId
()
{
return
attributeId
;
}
public
void
setAttributeId
(
Long
attributeId
)
{
this
.
attributeId
=
attributeId
;
}
public
Long
getAttributeCategoryId
()
{
return
attributeCategoryId
;
}
public
void
setAttributeCategoryId
(
Long
attributeCategoryId
)
{
this
.
attributeCategoryId
=
attributeCategoryId
;
}
}
mall-admin/src/main/java/com/macro/mall/service/PmsProductAttributeService.java
View file @
424cbe0d
package
com.macro.mall.service
;
import
com.macro.mall.dto.PmsProductAttributeParam
;
import
com.macro.mall.dto.ProductAttrInfo
;
import
com.macro.mall.model.PmsProductAttribute
;
import
org.springframework.transaction.annotation.Transactional
;
...
...
@@ -37,4 +38,6 @@ public interface PmsProductAttributeService {
@Transactional
int
delete
(
List
<
Long
>
ids
);
List
<
ProductAttrInfo
>
getProductAttrInfo
(
Long
productCategoryId
);
}
mall-admin/src/main/java/com/macro/mall/service/PmsProductCategoryService.java
View file @
424cbe0d
...
...
@@ -13,12 +13,19 @@ import java.util.List;
* Created by macro on 2018/4/26.
*/
public
interface
PmsProductCategoryService
{
@Transactional
int
create
(
PmsProductCategoryParam
pmsProductCategoryParam
);
@Transactional
int
update
(
Long
id
,
PmsProductCategoryParam
pmsProductCategoryParam
);
List
<
PmsProductCategory
>
getList
(
Long
parentId
,
Integer
pageSize
,
Integer
pageNum
);
int
delete
(
Long
id
);
PmsProductCategory
getItem
(
Long
id
);
int
updateNavStatus
(
List
<
Long
>
ids
,
Integer
navStatus
);
int
updateShowStatus
(
List
<
Long
>
ids
,
Integer
showStatus
);
}
mall-admin/src/main/java/com/macro/mall/service/impl/PmsProductAttributeServiceImpl.java
View file @
424cbe0d
package
com.macro.mall.service.impl
;
import
com.github.pagehelper.PageHelper
;
import
com.macro.mall.dao.PmsProductAttributeDao
;
import
com.macro.mall.dto.PmsProductAttributeParam
;
import
com.macro.mall.dto.ProductAttrInfo
;
import
com.macro.mall.mapper.PmsProductAttributeCategoryMapper
;
import
com.macro.mall.mapper.PmsProductAttributeMapper
;
import
com.macro.mall.model.PmsProductAttribute
;
...
...
@@ -24,6 +26,8 @@ public class PmsProductAttributeServiceImpl implements PmsProductAttributeServic
private
PmsProductAttributeMapper
productAttributeMapper
;
@Autowired
private
PmsProductAttributeCategoryMapper
productAttributeCategoryMapper
;
@Autowired
private
PmsProductAttributeDao
productAttributeDao
;
@Override
public
List
<
PmsProductAttribute
>
getList
(
Long
cid
,
Integer
type
,
Integer
pageSize
,
Integer
pageNum
)
{
...
...
@@ -89,4 +93,9 @@ public class PmsProductAttributeServiceImpl implements PmsProductAttributeServic
productAttributeCategoryMapper
.
updateByPrimaryKey
(
pmsProductAttributeCategory
);
return
count
;
}
@Override
public
List
<
ProductAttrInfo
>
getProductAttrInfo
(
Long
productCategoryId
)
{
return
productAttributeDao
.
getProductAttrInfo
(
productCategoryId
);
}
}
mall-admin/src/main/java/com/macro/mall/service/impl/PmsProductCategoryServiceImpl.java
View file @
424cbe0d
package
com.macro.mall.service.impl
;
import
com.github.pagehelper.PageHelper
;
import
com.macro.mall.dao.PmsProductCategoryAttributeRelationDao
;
import
com.macro.mall.dto.PmsProductCategoryParam
;
import
com.macro.mall.mapper.PmsProductCategoryMapper
;
import
com.macro.mall.mapper.PmsProductMapper
;
import
com.macro.mall.model.PmsProduct
;
import
com.macro.mall.model.PmsProductCategory
;
import
com.macro.mall.model.PmsProductCategoryExample
;
import
com.macro.mall.model.PmsProductExample
;
import
com.macro.mall.model.*
;
import
com.macro.mall.service.PmsProductCategoryService
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
...
...
@@ -25,6 +25,8 @@ public class PmsProductCategoryServiceImpl implements PmsProductCategoryService
private
PmsProductCategoryMapper
productCategoryMapper
;
@Autowired
private
PmsProductMapper
productMapper
;
@Autowired
private
PmsProductCategoryAttributeRelationDao
pmsProductCategoryAttributeRelationDao
;
@Override
public
int
create
(
PmsProductCategoryParam
pmsProductCategoryParam
)
{
...
...
@@ -33,7 +35,20 @@ public class PmsProductCategoryServiceImpl implements PmsProductCategoryService
BeanUtils
.
copyProperties
(
pmsProductCategoryParam
,
productCategory
);
//没有父分类时为一级分类
setCategoryLevel
(
productCategory
);
return
productCategoryMapper
.
insertSelective
(
productCategory
);
int
count
=
productCategoryMapper
.
insertSelective
(
productCategory
);
//创建筛选属性关联
List
<
Long
>
productAttributeIdList
=
pmsProductCategoryParam
.
getProductAttributeIdList
();
if
(!
CollectionUtils
.
isEmpty
(
productAttributeIdList
)){
List
<
PmsProductCategoryAttributeRelation
>
relationList
=
new
ArrayList
<>();
for
(
Long
productAttrId
:
productAttributeIdList
)
{
PmsProductCategoryAttributeRelation
relation
=
new
PmsProductCategoryAttributeRelation
();
relation
.
setProductAttributeId
(
productAttrId
);
relation
.
setProductCategoryId
(
productCategory
.
getId
());
relationList
.
add
(
relation
);
}
pmsProductCategoryAttributeRelationDao
.
insertList
(
relationList
);
}
return
count
;
}
@Override
...
...
@@ -70,6 +85,24 @@ public class PmsProductCategoryServiceImpl implements PmsProductCategoryService
return
productCategoryMapper
.
selectByPrimaryKey
(
id
);
}
@Override
public
int
updateNavStatus
(
List
<
Long
>
ids
,
Integer
navStatus
)
{
PmsProductCategory
productCategory
=
new
PmsProductCategory
();
productCategory
.
setNavStatus
(
navStatus
);
PmsProductCategoryExample
example
=
new
PmsProductCategoryExample
();
example
.
createCriteria
().
andIdIn
(
ids
);
return
productCategoryMapper
.
updateByExampleSelective
(
productCategory
,
example
);
}
@Override
public
int
updateShowStatus
(
List
<
Long
>
ids
,
Integer
showStatus
)
{
PmsProductCategory
productCategory
=
new
PmsProductCategory
();
productCategory
.
setShowStatus
(
showStatus
);
PmsProductCategoryExample
example
=
new
PmsProductCategoryExample
();
example
.
createCriteria
().
andIdIn
(
ids
);
return
productCategoryMapper
.
updateByExampleSelective
(
productCategory
,
example
);
}
/**
* 根据分类的parentId设置分类的level
*/
...
...
mall-admin/src/main/resources/dao/PmsProductAttributeDao.xml
0 → 100644
View file @
424cbe0d
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.macro.mall.dao.PmsProductAttributeDao"
>
<select
id=
"getProductAttrInfo"
resultType=
"com.macro.mall.dto.ProductAttrInfo"
>
SELECT
pa.id attributeId,
pac.id attributeCategoryId
FROM
pms_product_category_attribute_relation pcar
LEFT JOIN pms_product_attribute pa ON pa.id = pcar.product_attribute_id
LEFT JOIN pms_product_attribute_category pac ON pa.product_attribute_category_id = pac.id
WHERE
pcar.product_category_id = #{id}
</select>
</mapper>
\ No newline at end of file
mall-admin/src/main/resources/dao/PmsProductCategoryAttributeRelationDao.xml
0 → 100644
View file @
424cbe0d
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.macro.mall.dao.PmsProductCategoryAttributeRelationDao"
>
<!--批量新增回写主键支持-->
<insert
id=
"insertList"
>
INSERT INTO pms_product_category_attribute_relation (product_category_id, product_attribute_id) VALUES
<foreach
collection=
"list"
separator=
","
item=
"item"
index=
"index"
>
(#{item.productCategoryId,jdbcType=BIGINT},
#{item.productAttributeId,jdbcType=BIGINT})
</foreach>
</insert>
</mapper>
\ No newline at end of file
Write
Preview
Supports
Markdown
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