Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
为 GitLab 提交贡献
登录/注册
切换导航
C
chinafrica
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分枝图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
分枝图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
zhengfg
chinafrica
Commits
4833a4f5
提交
4833a4f5
authored
12月 21, 2020
作者:
吴德鹏
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
属性管理
上级
54fa8b2e
隐藏空白字符变更
内嵌
并排
正在显示
9 个修改的文件
包含
732 行增加
和
0 行删除
+732
-0
AttributesController.java
...in/java/com/platform/controller/AttributesController.java
+155
-0
AttributesDao.java
...m-admin/src/main/java/com/platform/dao/AttributesDao.java
+13
-0
AttributesEntity.java
...n/src/main/java/com/platform/entity/AttributesEntity.java
+136
-0
AttributesService.java
...src/main/java/com/platform/service/AttributesService.java
+71
-0
AttributesServiceImpl.java
...java/com/platform/service/impl/AttributesServiceImpl.java
+59
-0
AttributesVo.java
...orm-admin/src/main/java/com/platform/vo/AttributesVo.java
+14
-0
AttributesDao.xml
...min/src/main/resources/com/platform/dao/AttributesDao.xml
+107
-0
attributes.html
...rm-admin/src/main/webapp/WEB-INF/page/sys/attributes.html
+62
-0
attributes.js
platform-admin/src/main/webapp/js/sys/attributes.js
+115
-0
没有找到文件。
platform-admin/src/main/java/com/platform/controller/AttributesController.java
0 → 100644
浏览文件 @
4833a4f5
package
com
.
platform
.
controller
;
import
com.platform.entity.AttributesEntity
;
import
com.platform.service.AttributesService
;
import
com.platform.utils.PageUtils
;
import
com.platform.utils.Query
;
import
com.platform.utils.R
;
import
com.platform.utils.util.StringUtil
;
import
com.platform.vo.AttributesVo
;
import
org.apache.commons.lang.StringUtils
;
import
org.apache.shiro.authz.annotation.RequiresPermissions
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.web.bind.annotation.PathVariable
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.ResponseBody
;
import
java.util.*
;
import
java.util.regex.Matcher
;
import
java.util.regex.Pattern
;
import
java.util.stream.Collectors
;
import
java.util.stream.Stream
;
/**
* Controller
*
* @author lipengjun
* @date 2020-12-18 10:23:23
*/
@Controller
@RequestMapping
(
"attributes"
)
public
class
AttributesController
{
@Autowired
private
AttributesService
attributesService
;
/**
* 查看列表
*/
@RequestMapping
(
"/list"
)
@RequiresPermissions
(
"attributes:list"
)
@ResponseBody
public
R
list
(
@RequestParam
Map
<
String
,
Object
>
params
)
{
//查询列表数据
Query
query
=
new
Query
(
params
);
List
<
AttributesEntity
>
attributesList
=
attributesService
.
queryList
(
query
);
int
total
=
attributesService
.
queryTotal
(
query
);
PageUtils
pageUtil
=
new
PageUtils
(
attributesList
,
total
,
query
.
getLimit
(),
query
.
getPage
());
return
R
.
ok
().
put
(
"page"
,
pageUtil
);
}
/**
* 查看信息
*/
@RequestMapping
(
"/info/{id}"
)
@RequiresPermissions
(
"attributes:info"
)
@ResponseBody
public
R
info
(
@PathVariable
(
"id"
)
String
id
)
{
AttributesEntity
attributes
=
attributesService
.
queryObject
(
id
);
return
R
.
ok
().
put
(
"attributes"
,
attributes
);
}
/**
* 保存
*/
@RequestMapping
(
"/save"
)
@RequiresPermissions
(
"attributes:save"
)
@ResponseBody
public
R
save
(
@RequestBody
AttributesEntity
attributes
)
{
attributesService
.
save
(
attributes
);
return
R
.
ok
();
}
/**
* 修改
*/
@RequestMapping
(
"/update"
)
@RequiresPermissions
(
"attributes:update"
)
@ResponseBody
public
R
update
(
@RequestBody
AttributesEntity
attributes
)
{
attributesService
.
update
(
attributes
);
return
R
.
ok
();
}
/**
* 删除
*/
@RequestMapping
(
"/delete"
)
@RequiresPermissions
(
"attributes:delete"
)
@ResponseBody
public
R
delete
(
@RequestBody
String
[]
ids
)
{
attributesService
.
deleteBatch
(
ids
);
return
R
.
ok
();
}
/**
* 查看所有列表
*/
@RequestMapping
(
"/queryAll"
)
@ResponseBody
public
R
queryAll
(
@RequestParam
Map
<
String
,
Object
>
params
)
{
List
<
AttributesEntity
>
list
=
attributesService
.
queryList
(
params
);
return
R
.
ok
().
put
(
"list"
,
list
);
}
@RequestMapping
(
"/queryAttrNames"
)
@ResponseBody
public
R
queryAttrNames
(
@RequestParam
Map
<
String
,
Object
>
params
)
{
LinkedList
<
AttributesVo
>
attrNameList
=
new
LinkedList
<>();
List
<
AttributesEntity
>
list
=
attributesService
.
queryList
(
params
);
list
.
forEach
(
attr
->
{
AttributesVo
attrNames
=
new
AttributesVo
();
attrNames
.
setId
(
attr
.
getId
());
attrNames
.
setAttrName
(
attr
.
getAttrName
());
attrNameList
.
add
(
attrNames
);
});
return
R
.
ok
().
put
(
"list"
,
attrNameList
);
}
@RequestMapping
(
"/queryAttrDescs"
)
@ResponseBody
public
R
queryAttrDescs
(
@RequestParam
(
"id"
)
String
id
,
@RequestParam
(
value
=
"attrDesc"
,
required
=
false
)
String
attrDesc
)
{
if
(
StringUtils
.
isBlank
(
id
))
{
return
R
.
error
(
"id不能为空!"
);
}
AttributesEntity
attributes
=
attributesService
.
queryObject
(
id
);
List
<
String
>
list
=
new
ArrayList
<>();
if
(
attributes
!=
null
)
{
String
[]
descs
=
attributes
.
getAttrDesc
().
split
(
","
);
list
=
Arrays
.
asList
(
descs
);
list
=
list
.
stream
().
sorted
(
String:
:
compareTo
).
collect
(
Collectors
.
toList
());
}
if
(
attrDesc
!=
null
&&
list
.
size
()
>
0
&&
list
!=
null
)
{
/*for (String attr : list) {
if (attr.indexOf(attrDesc) <= -1)
list.remove(attr);
}*/
list
=
list
.
stream
().
filter
(
attr
->
attr
.
indexOf
(
attrDesc
)
>
-
1
).
collect
(
Collectors
.
toList
());
}
return
R
.
ok
().
put
(
"list"
,
list
);
}
}
platform-admin/src/main/java/com/platform/dao/AttributesDao.java
0 → 100644
浏览文件 @
4833a4f5
package
com
.
platform
.
dao
;
import
com.platform.entity.AttributesEntity
;
/**
* Dao
*
* @author lipengjun
* @date 2020-12-18 10:23:23
*/
public
interface
AttributesDao
extends
BaseDao
<
AttributesEntity
>
{
}
platform-admin/src/main/java/com/platform/entity/AttributesEntity.java
0 → 100644
浏览文件 @
4833a4f5
package
com
.
platform
.
entity
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* 实体
* 表名 attributes
*
* @author lipengjun
* @date 2020-12-18 15:16:22
*/
public
class
AttributesEntity
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
/**
* 商品属性ID
*/
private
String
id
;
/**
* 属性名
*/
private
String
attrName
;
/**
* 属性描述
*/
private
String
attrDesc
;
/**
* 状态 0:隐藏 1:正常
*/
private
Integer
status
;
/**
* 排序
*/
private
Integer
sort
;
/**
* 创建时间
*/
private
Date
createTime
;
/**
* 更新时间
*/
private
Date
updateTime
;
/**
* 设置:商品属性ID
*/
public
void
setId
(
String
id
)
{
this
.
id
=
id
;
}
/**
* 获取:商品属性ID
*/
public
String
getId
()
{
return
id
;
}
/**
* 设置:属性名
*/
public
void
setAttrName
(
String
attrName
)
{
this
.
attrName
=
attrName
;
}
/**
* 获取:属性名
*/
public
String
getAttrName
()
{
return
attrName
;
}
/**
* 设置:属性描述
*/
public
void
setAttrDesc
(
String
attrDesc
)
{
this
.
attrDesc
=
attrDesc
;
}
/**
* 获取:属性描述
*/
public
String
getAttrDesc
()
{
return
attrDesc
;
}
/**
* 设置:状态 0:隐藏 1:正常
*/
public
void
setStatus
(
Integer
status
)
{
this
.
status
=
status
;
}
/**
* 获取:状态 0:隐藏 1:正常
*/
public
Integer
getStatus
()
{
return
status
;
}
/**
* 设置:排序
*/
public
void
setSort
(
Integer
sort
)
{
this
.
sort
=
sort
;
}
/**
* 获取:排序
*/
public
Integer
getSort
()
{
return
sort
;
}
/**
* 设置:创建时间
*/
public
void
setCreateTime
(
Date
createTime
)
{
this
.
createTime
=
createTime
;
}
/**
* 获取:创建时间
*/
public
Date
getCreateTime
()
{
return
createTime
;
}
/**
* 设置:更新时间
*/
public
void
setUpdateTime
(
Date
updateTime
)
{
this
.
updateTime
=
updateTime
;
}
/**
* 获取:更新时间
*/
public
Date
getUpdateTime
()
{
return
updateTime
;
}
}
platform-admin/src/main/java/com/platform/service/AttributesService.java
0 → 100644
浏览文件 @
4833a4f5
package
com
.
platform
.
service
;
import
com.platform.entity.AttributesEntity
;
import
java.util.List
;
import
java.util.Map
;
/**
* Service接口
*
* @author lipengjun
* @date 2020-12-18 10:23:23
*/
public
interface
AttributesService
{
/**
* 根据主键查询实体
*
* @param id 主键
* @return 实体
*/
AttributesEntity
queryObject
(
String
id
);
/**
* 分页查询
*
* @param map 参数
* @return list
*/
List
<
AttributesEntity
>
queryList
(
Map
<
String
,
Object
>
map
);
/**
* 分页统计总数
*
* @param map 参数
* @return 总数
*/
int
queryTotal
(
Map
<
String
,
Object
>
map
);
/**
* 保存实体
*
* @param attributes 实体
* @return 保存条数
*/
int
save
(
AttributesEntity
attributes
);
/**
* 根据主键更新实体
*
* @param attributes 实体
* @return 更新条数
*/
int
update
(
AttributesEntity
attributes
);
/**
* 根据主键删除
*
* @param id
* @return 删除条数
*/
int
delete
(
String
id
);
/**
* 根据主键批量删除
*
* @param ids
* @return 删除条数
*/
int
deleteBatch
(
String
[]
ids
);
}
platform-admin/src/main/java/com/platform/service/impl/AttributesServiceImpl.java
0 → 100644
浏览文件 @
4833a4f5
package
com
.
platform
.
service
.
impl
;
import
com.platform.dao.AttributesDao
;
import
com.platform.entity.AttributesEntity
;
import
com.platform.service.AttributesService
;
import
com.platform.utils.IdUtil
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
import
java.util.Map
;
/**
* Service实现类
*
* @author lipengjun
* @date 2020-12-18 10:23:23
*/
@Service
(
"attributesService"
)
public
class
AttributesServiceImpl
implements
AttributesService
{
@Autowired
private
AttributesDao
attributesDao
;
@Override
public
AttributesEntity
queryObject
(
String
id
)
{
return
attributesDao
.
queryObject
(
id
);
}
@Override
public
List
<
AttributesEntity
>
queryList
(
Map
<
String
,
Object
>
map
)
{
return
attributesDao
.
queryList
(
map
);
}
@Override
public
int
queryTotal
(
Map
<
String
,
Object
>
map
)
{
return
attributesDao
.
queryTotal
(
map
);
}
@Override
public
int
save
(
AttributesEntity
attributes
)
{
attributes
.
setId
(
IdUtil
.
createIdbyUUID
());
return
attributesDao
.
save
(
attributes
);
}
@Override
public
int
update
(
AttributesEntity
attributes
)
{
return
attributesDao
.
update
(
attributes
);
}
@Override
public
int
delete
(
String
id
)
{
return
attributesDao
.
delete
(
id
);
}
@Override
public
int
deleteBatch
(
String
[]
ids
)
{
return
attributesDao
.
deleteBatch
(
ids
);
}
}
platform-admin/src/main/java/com/platform/vo/AttributesVo.java
0 → 100644
浏览文件 @
4833a4f5
package
com
.
platform
.
vo
;
import
lombok.Data
;
/**
* @Auther: wudepeng
* @Date: 2020/12/18
* @Description:
*/
@Data
public
class
AttributesVo
{
private
String
id
;
private
String
attrName
;
}
platform-admin/src/main/resources/com/platform/dao/AttributesDao.xml
0 → 100644
浏览文件 @
4833a4f5
<?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.platform.dao.AttributesDao"
>
<resultMap
type=
"com.platform.entity.AttributesEntity"
id=
"attributesMap"
>
<result
property=
"id"
column=
"id"
/>
<result
property=
"attrName"
column=
"attr_name"
/>
<result
property=
"attrDesc"
column=
"attr_desc"
/>
<result
property=
"status"
column=
"status"
/>
<result
property=
"sort"
column=
"sort"
/>
<result
property=
"createTime"
column=
"create_time"
/>
<result
property=
"updateTime"
column=
"update_time"
/>
</resultMap>
<select
id=
"queryObject"
resultType=
"com.platform.entity.AttributesEntity"
>
select
`id`,
`attr_name`,
`attr_desc`,
`status`,
`sort`,
`create_time`,
`update_time`
from attributes
where id = #{id}
</select>
<select
id=
"queryList"
resultType=
"com.platform.entity.AttributesEntity"
>
select
`id`,
`attr_name`,
`attr_desc`,
`status`,
`sort`,
`create_time`,
`update_time`
from attributes
WHERE 1=1
<if
test=
"name != null and name.trim() != ''"
>
AND (attr_name LIKE concat('%',#{name},'%') OR attr_desc LIKE concat('%',#{name},'%'))
</if>
<choose>
<when
test=
"sidx != null and sidx.trim() != ''"
>
order by ${sidx} ${order}
</when>
<otherwise>
order by sort
</otherwise>
</choose>
<if
test=
"offset != null and limit != null"
>
limit #{offset}, #{limit}
</if>
</select>
<select
id=
"queryTotal"
resultType=
"int"
>
select count(*) from attributes
WHERE 1=1
<if
test=
"name != null and name.trim() != ''"
>
AND (attr_name LIKE concat('%',#{name},'%') OR attr_desc LIKE concat('%',#{name},'%'))
</if>
</select>
<insert
id=
"save"
parameterType=
"com.platform.entity.AttributesEntity"
>
insert into attributes(
`id`,
`attr_name`,
`attr_desc`,
`status`,
`sort`,
`create_time`,
`update_time`)
values(
#{id},
#{attrName},
#{attrDesc},
#{status},
#{sort},
#{createTime},
#{updateTime})
</insert>
<update
id=
"update"
parameterType=
"com.platform.entity.AttributesEntity"
>
update attributes
<set>
<if
test=
"attrName != null"
>
`attr_name` = #{attrName},
</if>
<if
test=
"attrDesc != null"
>
`attr_desc` = #{attrDesc},
</if>
<if
test=
"status != null"
>
`status` = #{status},
</if>
<if
test=
"sort != null"
>
`sort` = #{sort},
</if>
<if
test=
"createTime != null"
>
`create_time` = #{createTime},
</if>
<if
test=
"updateTime != null"
>
`update_time` = #{updateTime}
</if>
</set>
where id = #{id}
</update>
<delete
id=
"delete"
>
delete from attributes where id = #{value}
</delete>
<delete
id=
"deleteBatch"
>
delete from attributes where id in
<foreach
item=
"id"
collection=
"array"
open=
"("
separator=
","
close=
")"
>
#{id}
</foreach>
</delete>
</mapper>
platform-admin/src/main/webapp/WEB-INF/page/sys/attributes.html
0 → 100644
浏览文件 @
4833a4f5
<!DOCTYPE html>
<html>
<head>
<title></title>
#parse("sys/header.html")
</head>
<body>
<div
id=
"rrapp"
v-cloak
style=
"height: calc(100% - 15px);"
>
<div
v-show=
"showList"
style=
"height: 100%;"
>
<Row
:gutter=
"16"
>
<div
class=
"search-group"
>
<i-col
span=
"4"
>
<i-input
v-model=
"q.name"
@
on-enter=
"query"
placeholder=
"名称"
/>
</i-col>
<i-button
@
click=
"query"
>
查询
</i-button>
<i-button
@
click=
"reloadSearch"
>
重置
</i-button>
</div>
<div
class=
"buttons-group"
>
#if($shiro.hasPermission("attributes:save"))
<i-button
type=
"info"
@
click=
"add"
><i
class=
"fa fa-plus"
></i>
新增
</i-button>
#end
#if($shiro.hasPermission("attributes:update"))
<i-button
type=
"warning"
@
click=
"update"
><i
class=
"fa fa-pencil-square-o"
></i>
修改
</i-button>
#end
#if($shiro.hasPermission("attributes:delete"))
<i-button
type=
"error"
@
click=
"del"
><i
class=
"fa fa-trash-o"
></i>
删除
</i-button>
#end
</div>
</Row>
<table
id=
"jqGrid"
></table>
</div>
<Card
v-show=
"!showList"
>
<p
slot=
"title"
>
{{title}}
</p>
<i-form
ref=
"formValidate"
:model=
"attributes"
:rules=
"ruleValidate"
:label-width=
"80"
>
<Form-item
label=
"属性名"
prop=
"attrName"
>
<i-input
v-model=
"attributes.attrName"
placeholder=
"属性名"
/>
</Form-item>
<Form-item
label=
"属性描述"
prop=
"attrDesc"
>
<i-input
v-model=
"attributes.attrDesc"
placeholder=
"属性描述"
/>
</Form-item>
<Form-item
label=
"状态 0:删除 1:正常"
prop=
"status"
>
<i-input
v-model=
"attributes.status"
placeholder=
"状态 0:删除 1:正常"
/>
</Form-item>
<Form-item
label=
"创建时间"
prop=
"createTime"
>
<i-input
v-model=
"attributes.createTime"
placeholder=
"创建时间"
/>
</Form-item>
<Form-item
label=
"更新时间"
prop=
"updateTime"
>
<i-input
v-model=
"attributes.updateTime"
placeholder=
"更新时间"
/>
</Form-item>
<Form-item>
<i-button
type=
"primary"
@
click=
"handleSubmit('formValidate')"
>
提交
</i-button>
<i-button
type=
"warning"
@
click=
"reload"
style=
"margin-left: 8px"
/>
返回
</i-button>
<i-button
type=
"ghost"
@
click=
"handleReset('formValidate')"
style=
"margin-left: 8px"
>
重置
</i-button>
</Form-item>
</i-form>
</Card>
</div>
<script
src=
"${rc.contextPath}/js/sys/attributes.js?_${date.systemTime}"
></script>
</body>
</html>
\ No newline at end of file
platform-admin/src/main/webapp/js/sys/attributes.js
0 → 100644
浏览文件 @
4833a4f5
$
(
function
()
{
$
(
"#jqGrid"
).
Grid
({
url
:
'../attributes/list'
,
colModel
:
[
{
label
:
'id'
,
name
:
'id'
,
index
:
'id'
,
key
:
true
,
hidden
:
true
},
{
label
:
'属性名'
,
name
:
'attrName'
,
index
:
'attr_name'
,
width
:
80
},
{
label
:
'属性描述'
,
name
:
'attrDesc'
,
index
:
'attr_desc'
,
width
:
80
},
{
label
:
'状态 0:删除 1:正常'
,
name
:
'status'
,
index
:
'status'
,
width
:
80
},
{
label
:
'创建时间'
,
name
:
'createTime'
,
index
:
'create_time'
,
width
:
80
},
{
label
:
'更新时间'
,
name
:
'updateTime'
,
index
:
'update_time'
,
width
:
80
}]
});
});
let
vm
=
new
Vue
({
el
:
'#rrapp'
,
data
:
{
showList
:
true
,
title
:
null
,
attributes
:
{},
ruleValidate
:
{
name
:
[
{
required
:
true
,
message
:
'名称不能为空'
,
trigger
:
'blur'
}
]
},
q
:
{
name
:
''
}
},
methods
:
{
query
:
function
()
{
vm
.
reload
();
},
add
:
function
()
{
vm
.
showList
=
false
;
vm
.
title
=
"新增"
;
vm
.
attributes
=
{};
},
update
:
function
(
event
)
{
let
id
=
getSelectedRow
(
"#jqGrid"
);
if
(
id
==
null
)
{
return
;
}
vm
.
showList
=
false
;
vm
.
title
=
"修改"
;
vm
.
getInfo
(
id
);
},
saveOrUpdate
:
function
(
event
)
{
let
url
=
vm
.
attributes
.
id
==
null
?
"../attributes/save"
:
"../attributes/update"
;
Ajax
.
request
({
url
:
url
,
params
:
JSON
.
stringify
(
vm
.
attributes
),
type
:
"POST"
,
contentType
:
"application/json"
,
successCallback
:
function
(
r
)
{
alert
(
'操作成功'
,
function
(
index
)
{
vm
.
reload
();
});
}
});
},
del
:
function
(
event
)
{
let
ids
=
getSelectedRows
(
"#jqGrid"
);
if
(
ids
==
null
){
return
;
}
confirm
(
'确定要删除选中的记录?'
,
function
()
{
Ajax
.
request
({
url
:
"../attributes/delete"
,
params
:
JSON
.
stringify
(
ids
),
type
:
"POST"
,
contentType
:
"application/json"
,
successCallback
:
function
()
{
alert
(
'操作成功'
,
function
(
index
)
{
vm
.
reload
();
});
}
});
});
},
getInfo
:
function
(
id
){
Ajax
.
request
({
url
:
"../attributes/info/"
+
id
,
async
:
true
,
successCallback
:
function
(
r
)
{
vm
.
attributes
=
r
.
attributes
;
}
});
},
reload
:
function
(
event
)
{
vm
.
showList
=
true
;
let
page
=
$
(
"#jqGrid"
).
jqGrid
(
'getGridParam'
,
'page'
);
$
(
"#jqGrid"
).
jqGrid
(
'setGridParam'
,
{
postData
:
{
'name'
:
vm
.
q
.
name
},
page
:
page
}).
trigger
(
"reloadGrid"
);
vm
.
handleReset
(
'formValidate'
);
},
reloadSearch
:
function
()
{
vm
.
q
=
{
name
:
''
};
vm
.
reload
();
},
handleSubmit
:
function
(
name
)
{
handleSubmitValidate
(
this
,
name
,
function
()
{
vm
.
saveOrUpdate
()
});
},
handleReset
:
function
(
name
)
{
handleResetForm
(
this
,
name
);
}
}
});
\ No newline at end of file
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论