Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Q
qk_backend
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
quanku
qk_backend
Commits
3dc95b53
Commit
3dc95b53
authored
Aug 16, 2023
by
shiyu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
重构
parent
447e178a
Changes
42
Hide whitespace changes
Inline
Side-by-side
Showing
42 changed files
with
1411 additions
and
712 deletions
+1411
-712
ch-admin-api/src/main/java/com/wwdz/ch/admin/controller/AdminAdminController.java
...va/com/wwdz/ch/admin/controller/AdminAdminController.java
+15
-58
ch-admin-api/src/main/java/com/wwdz/ch/admin/controller/AdminAuthController.java
...ava/com/wwdz/ch/admin/controller/AdminAuthController.java
+8
-99
ch-admin-api/src/main/java/com/wwdz/ch/admin/controller/AdminCollectController.java
.../com/wwdz/ch/admin/controller/AdminCollectController.java
+26
-34
ch-admin-api/src/main/java/com/wwdz/ch/admin/controller/AdminDashbordController.java
...com/wwdz/ch/admin/controller/AdminDashbordController.java
+10
-19
ch-admin-api/src/main/java/com/wwdz/ch/admin/controller/AdminFeedbackController.java
...com/wwdz/ch/admin/controller/AdminFeedbackController.java
+10
-9
ch-admin-api/src/main/java/com/wwdz/ch/admin/controller/AdminFootprintController.java
...om/wwdz/ch/admin/controller/AdminFootprintController.java
+10
-18
ch-admin-api/src/main/java/com/wwdz/ch/admin/controller/AdminHistoryController.java
.../com/wwdz/ch/admin/controller/AdminHistoryController.java
+14
-23
ch-admin-api/src/main/java/com/wwdz/ch/admin/controller/AdminIssueController.java
...va/com/wwdz/ch/admin/controller/AdminIssueController.java
+28
-50
ch-admin-api/src/main/java/com/wwdz/ch/admin/controller/AdminKeywordController.java
.../com/wwdz/ch/admin/controller/AdminKeywordController.java
+15
-27
ch-admin-api/src/main/java/com/wwdz/ch/admin/controller/AdminProfileController.java
.../com/wwdz/ch/admin/controller/AdminProfileController.java
+3
-2
ch-admin-api/src/main/java/com/wwdz/ch/admin/controller/AdminRoleController.java
...ava/com/wwdz/ch/admin/controller/AdminRoleController.java
+31
-122
ch-admin-api/src/main/java/com/wwdz/ch/admin/controller/AdminUserController.java
...ava/com/wwdz/ch/admin/controller/AdminUserController.java
+15
-22
ch-admin-api/src/main/java/com/wwdz/ch/admin/impl/AdminAuthServiceImpl.java
...ain/java/com/wwdz/ch/admin/impl/AdminAuthServiceImpl.java
+132
-0
ch-admin-api/src/main/java/com/wwdz/ch/admin/impl/AdminCollectServiceImpl.java
.../java/com/wwdz/ch/admin/impl/AdminCollectServiceImpl.java
+34
-0
ch-admin-api/src/main/java/com/wwdz/ch/admin/impl/AdminDashbordServiceImpl.java
...java/com/wwdz/ch/admin/impl/AdminDashbordServiceImpl.java
+40
-0
ch-admin-api/src/main/java/com/wwdz/ch/admin/impl/AdminDataAuthServiceImpl.java
...java/com/wwdz/ch/admin/impl/AdminDataAuthServiceImpl.java
+37
-0
ch-admin-api/src/main/java/com/wwdz/ch/admin/impl/AdminFeedbackServiceImpl.java
...java/com/wwdz/ch/admin/impl/AdminFeedbackServiceImpl.java
+35
-0
ch-admin-api/src/main/java/com/wwdz/ch/admin/impl/AdminFootprintServiceImpl.java
...ava/com/wwdz/ch/admin/impl/AdminFootprintServiceImpl.java
+33
-0
ch-admin-api/src/main/java/com/wwdz/ch/admin/impl/AdminGoodsServiceImpl.java
...in/java/com/wwdz/ch/admin/impl/AdminGoodsServiceImpl.java
+184
-0
ch-admin-api/src/main/java/com/wwdz/ch/admin/impl/AdminHistoryServiceImpl.java
.../java/com/wwdz/ch/admin/impl/AdminHistoryServiceImpl.java
+33
-0
ch-admin-api/src/main/java/com/wwdz/ch/admin/impl/AdminIssueServiceImpl.java
...in/java/com/wwdz/ch/admin/impl/AdminIssueServiceImpl.java
+80
-0
ch-admin-api/src/main/java/com/wwdz/ch/admin/impl/AdminKeywordServiceImpl.java
.../java/com/wwdz/ch/admin/impl/AdminKeywordServiceImpl.java
+93
-0
ch-admin-api/src/main/java/com/wwdz/ch/admin/impl/AdminRoleServiceImpl.java
...ain/java/com/wwdz/ch/admin/impl/AdminRoleServiceImpl.java
+201
-0
ch-admin-api/src/main/java/com/wwdz/ch/admin/impl/AdminServiceImpl.java
...rc/main/java/com/wwdz/ch/admin/impl/AdminServiceImpl.java
+111
-0
ch-admin-api/src/main/java/com/wwdz/ch/admin/impl/AdminUserServiceImpl.java
...ain/java/com/wwdz/ch/admin/impl/AdminUserServiceImpl.java
+34
-0
ch-admin-api/src/main/java/com/wwdz/ch/admin/service/AdminAuthService.java
...main/java/com/wwdz/ch/admin/service/AdminAuthService.java
+13
-0
ch-admin-api/src/main/java/com/wwdz/ch/admin/service/AdminCollectService.java
...n/java/com/wwdz/ch/admin/service/AdminCollectService.java
+5
-0
ch-admin-api/src/main/java/com/wwdz/ch/admin/service/AdminDashbordService.java
.../java/com/wwdz/ch/admin/service/AdminDashbordService.java
+6
-0
ch-admin-api/src/main/java/com/wwdz/ch/admin/service/AdminDataAuthService.java
.../java/com/wwdz/ch/admin/service/AdminDataAuthService.java
+2
-32
ch-admin-api/src/main/java/com/wwdz/ch/admin/service/AdminFeedbackService.java
.../java/com/wwdz/ch/admin/service/AdminFeedbackService.java
+6
-0
ch-admin-api/src/main/java/com/wwdz/ch/admin/service/AdminFootprintService.java
...java/com/wwdz/ch/admin/service/AdminFootprintService.java
+6
-0
ch-admin-api/src/main/java/com/wwdz/ch/admin/service/AdminGoodsService.java
...ain/java/com/wwdz/ch/admin/service/AdminGoodsService.java
+9
-169
ch-admin-api/src/main/java/com/wwdz/ch/admin/service/AdminHistoryService.java
...n/java/com/wwdz/ch/admin/service/AdminHistoryService.java
+6
-0
ch-admin-api/src/main/java/com/wwdz/ch/admin/service/AdminIssueService.java
...ain/java/com/wwdz/ch/admin/service/AdminIssueService.java
+17
-0
ch-admin-api/src/main/java/com/wwdz/ch/admin/service/AdminKeywordService.java
...n/java/com/wwdz/ch/admin/service/AdminKeywordService.java
+19
-0
ch-admin-api/src/main/java/com/wwdz/ch/admin/service/AdminRoleService.java
...main/java/com/wwdz/ch/admin/service/AdminRoleService.java
+32
-0
ch-admin-api/src/main/java/com/wwdz/ch/admin/service/AdminService.java
...src/main/java/com/wwdz/ch/admin/service/AdminService.java
+19
-0
ch-admin-api/src/main/java/com/wwdz/ch/admin/service/AdminUserService.java
...main/java/com/wwdz/ch/admin/service/AdminUserService.java
+10
-0
ch-dao/src/main/java/com/wwdz/ch/db/domain/Item.java
ch-dao/src/main/java/com/wwdz/ch/db/domain/Item.java
+7
-7
ch-dao/src/main/java/com/wwdz/ch/db/impl/ItemDaoImpl.java
ch-dao/src/main/java/com/wwdz/ch/db/impl/ItemDaoImpl.java
+2
-2
ch-dao/src/main/java/com/wwdz/ch/db/mapper/ItemMapper.java
ch-dao/src/main/java/com/wwdz/ch/db/mapper/ItemMapper.java
+2
-2
ch-dao/src/main/resources/com/wwdz/ch/db/mapper/ItemMapper.xml
...o/src/main/resources/com/wwdz/ch/db/mapper/ItemMapper.xml
+18
-17
No files found.
ch-admin-api/src/main/java/com/wwdz/ch/admin/controller/AdminAdminController.java
View file @
3dc95b53
package
com.wwdz.ch.admin.controller
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
javax.validation.constraints.NotNull
;
import
com.wwdz.ch.admin.annotation.RequiresPermissionsDesc
;
import
com.wwdz.ch.admin.service.AdminService
;
import
com.wwdz.ch.admin.util.AdminResponseCode
;
import
com.wwdz.ch.admin.util.AdminResponseUtil
;
import
com.wwdz.ch.admin.util.AuthSupport
;
...
...
@@ -23,12 +19,9 @@ 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.RestController
;
import
com.alibaba.fastjson.JSONObject
;
import
com.github.pagehelper.PageInfo
;
import
com.wwdz.ch.core.util.RegexUtil
;
import
com.wwdz.ch.core.util.ResponseUtil
;
import
com.wwdz.ch.core.util.bcrypt.BCryptPasswordEncoder
;
import
com.wwdz.ch.core.validator.Order
;
import
com.wwdz.ch.db.domain.Admin
;
...
...
@@ -41,6 +34,9 @@ public class AdminAdminController {
@Autowired
private
DtsAdminDao
dtsAdminDao
;
@Autowired
private
AdminService
adminService
;
@RequiresPermissions
(
"admin:admin:list"
)
@RequiresPermissionsDesc
(
menu
=
{
"系统管理"
,
"管理员管理"
},
button
=
"查询"
)
@GetMapping
(
"/list"
)
...
...
@@ -49,14 +45,13 @@ public class AdminAdminController {
@RequestParam
(
defaultValue
=
"add_time"
)
String
sort
,
@Order
@RequestParam
(
defaultValue
=
"desc"
)
String
order
)
{
logger
.
info
(
"【请求开始】操作人:["
+
AuthSupport
.
userName
()+
"] 系统管理->管理员管理->查询,请求参数:username:{},page:{}"
,
username
,
page
);
List
<
Admin
>
adminList
=
dtsAdminDao
.
querySelective
(
username
,
page
,
limit
,
sort
,
order
);
long
total
=
PageInfo
.
of
(
adminList
).
getTotal
();
Map
<
String
,
Object
>
data
=
new
HashMap
<>();
data
.
put
(
"total"
,
total
);
data
.
put
(
"items"
,
adminList
);
logger
.
info
(
"【请求结束】系统管理->管理员管理->查询,响应结果:{}"
,
JSONObject
.
toJSONString
(
data
));
Object
data
=
null
;
try
{
data
=
adminService
.
findList
(
username
,
page
,
limit
,
sort
,
order
);
}
catch
(
Exception
e
)
{
logger
.
error
(
"管理员管理->查询 error :{}"
,
e
);
}
logger
.
info
(
"【请求结束】系统管理->管理员管理->查询,响应结果:{}"
,
data
);
return
ResponseUtil
.
ok
(
data
);
}
...
...
@@ -87,22 +82,7 @@ public class AdminAdminController {
if
(
error
!=
null
)
{
return
error
;
}
String
username
=
admin
.
getUsername
();
List
<
Admin
>
adminList
=
dtsAdminDao
.
findAdmin
(
username
);
if
(
adminList
.
size
()
>
0
)
{
logger
.
error
(
"系统管理->管理员管理->添加 ,错误:{}"
,
AdminResponseCode
.
ADMIN_NAME_EXIST
.
desc
());
return
AdminResponseUtil
.
fail
(
AdminResponseCode
.
ADMIN_NAME_EXIST
);
}
String
rawPassword
=
admin
.
getPassword
();
BCryptPasswordEncoder
encoder
=
new
BCryptPasswordEncoder
();
String
encodedPassword
=
encoder
.
encode
(
rawPassword
);
admin
.
setPassword
(
encodedPassword
);
dtsAdminDao
.
add
(
admin
);
logger
.
info
(
"【请求结束】系统管理->管理员管理->添加,响应结果:{}"
,
JSONObject
.
toJSONString
(
admin
));
return
ResponseUtil
.
ok
(
admin
);
return
adminService
.
create
(
admin
);
}
@RequiresPermissions
(
"admin:admin:read"
)
...
...
@@ -110,9 +90,7 @@ public class AdminAdminController {
@GetMapping
(
"/read"
)
public
Object
read
(
@NotNull
Integer
id
)
{
logger
.
info
(
"【请求开始】操作人:["
+
AuthSupport
.
userName
()+
"] 系统管理->管理员管理->详情,请求参数,id:{}"
,
id
);
Admin
admin
=
dtsAdminDao
.
findById
(
id
);
Admin
admin
=
adminService
.
read
(
id
);
logger
.
info
(
"【请求结束】系统管理->管理员管理->详情,响应结果:{}"
,
JSONObject
.
toJSONString
(
admin
));
return
ResponseUtil
.
ok
(
admin
);
}
...
...
@@ -127,24 +105,7 @@ public class AdminAdminController {
if
(
error
!=
null
)
{
return
error
;
}
Integer
anotherAdminId
=
admin
.
getId
();
if
(
anotherAdminId
==
null
)
{
return
ResponseUtil
.
badArgument
();
}
String
rawPassword
=
admin
.
getPassword
();
BCryptPasswordEncoder
encoder
=
new
BCryptPasswordEncoder
();
String
encodedPassword
=
encoder
.
encode
(
rawPassword
);
admin
.
setPassword
(
encodedPassword
);
if
(
dtsAdminDao
.
updateById
(
admin
)
==
0
)
{
logger
.
error
(
"系统管理->管理员管理-编辑 ,错误:{}"
,
"更新数据失败!"
);
return
ResponseUtil
.
updatedDataFailed
();
}
logger
.
info
(
"【请求结束】系统管理->管理员管理->编辑,响应结果:{}"
,
JSONObject
.
toJSONString
(
admin
));
return
ResponseUtil
.
ok
(
admin
);
return
adminService
.
update
(
admin
);
}
@RequiresPermissions
(
"admin:admin:delete"
)
...
...
@@ -157,10 +118,6 @@ public class AdminAdminController {
if
(
anotherAdminId
==
null
)
{
return
ResponseUtil
.
badArgument
();
}
dtsAdminDao
.
deleteById
(
anotherAdminId
);
logger
.
info
(
"【请求结束】系统管理->管理员管理->删除 成功!"
);
return
ResponseUtil
.
ok
();
return
adminService
.
deleteById
(
anotherAdminId
);
}
}
ch-admin-api/src/main/java/com/wwdz/ch/admin/controller/AdminAuthController.java
View file @
3dc95b53
package
com.wwdz.ch.admin.controller
;
import
java.io.ByteArrayOutputStream
;
import
java.io.IOException
;
import
java.util.Collection
;
import
java.util.HashMap
;
import
java.util.HashSet
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Set
;
import
javax.servlet.http.HttpServletResponse
;
import
javax.servlet.http.HttpServletResponse
;
import
com.wwdz.ch.admin.entity.request.LoginRequestDto
;
import
com.wwdz.ch.db.dao.dts.DtsPermissionDao
;
import
com.wwdz.ch.db.dao.dts.DtsRoleDao
;
import
com.wwdz.ch.admin.service.AdminAuthService
;
import
com.xxdxxs.utils.JsonUtils
;
import
org.apache.shiro.SecurityUtils
;
import
org.apache.shiro.authc.AuthenticationException
;
...
...
@@ -25,7 +16,6 @@ import org.apache.shiro.subject.Subject;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.context.ApplicationContext
;
import
org.springframework.util.StringUtils
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.GetMapping
;
...
...
@@ -36,14 +26,9 @@ import org.springframework.web.bind.annotation.RestController;
import
com.alibaba.fastjson.JSONObject
;
import
com.wwdz.ch.admin.util.AdminResponseCode
;
import
com.wwdz.ch.admin.util.AdminResponseUtil
;
import
com.wwdz.ch.admin.util.Permission
;
import
com.wwdz.ch.admin.util.PermissionUtil
;
import
com.wwdz.ch.admin.util.VerifyCodeUtils
;
import
com.wwdz.ch.core.captcha.CaptchaCodeManager
;
import
com.wwdz.ch.core.util.Base64
;
import
com.wwdz.ch.core.util.ResponseUtil
;
import
com.wwdz.ch.core.util.UUID
;
import
com.wwdz.ch.db.domain.Admin
;
@RestController
@RequestMapping
(
"/admin/auth"
)
...
...
@@ -52,10 +37,7 @@ public class AdminAuthController {
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
AdminAuthController
.
class
);
@Autowired
private
DtsRoleDao
dtsRoleDao
;
@Autowired
private
DtsPermissionDao
dtsPermissionDao
;
private
AdminAuthService
adminAuthService
;
/*
* { username : value, password : value }
...
...
@@ -119,90 +101,17 @@ public class AdminAuthController {
@RequiresAuthentication
@GetMapping
(
"/info"
)
public
Object
info
()
{
try
{
Subject
currentUser
=
SecurityUtils
.
getSubject
();
Admin
admin
=
(
Admin
)
currentUser
.
getPrincipal
();
Map
<
String
,
Object
>
data
=
new
HashMap
<>();
data
.
put
(
"name"
,
admin
.
getUsername
());
data
.
put
(
"avatar"
,
admin
.
getAvatar
());
Integer
[]
roleIds
=
admin
.
getRoleIds
();
Set
<
String
>
roles
=
dtsRoleDao
.
queryByIds
(
roleIds
);
Set
<
String
>
permissions
=
dtsPermissionDao
.
queryByRoleIds
(
roleIds
);
data
.
put
(
"roles"
,
roles
);
// NOTE
// 这里需要转换perms结构,因为对于前端而已API形式的权限更容易理解
data
.
put
(
"perms"
,
toAPI
(
permissions
));
logger
.
info
(
"【请求结束】系统管理->用户信息获取,响应结果:{}"
,
JSONObject
.
toJSONString
(
data
));
return
ResponseUtil
.
ok
(
data
);
}
catch
(
Exception
e
)
{
logger
.
error
(
"用户信息获取 error{}"
,
e
);
}
return
ResponseUtil
.
fail
();
return
adminAuthService
.
info
();
}
@Autowired
private
ApplicationContext
context
;
private
HashMap
<
String
,
String
>
systemPermissionsMap
=
null
;
private
Collection
<
String
>
toAPI
(
Set
<
String
>
permissions
)
{
if
(
systemPermissionsMap
==
null
)
{
systemPermissionsMap
=
new
HashMap
<>();
final
String
basicPackage
=
"com.wwdz.ch.admin"
;
List
<
Permission
>
systemPermissions
=
PermissionUtil
.
listPermission
(
context
,
basicPackage
);
for
(
Permission
permission
:
systemPermissions
)
{
String
perm
=
permission
.
getRequiresPermissions
().
value
()[
0
];
String
api
=
permission
.
getApi
();
systemPermissionsMap
.
put
(
perm
,
api
);
}
}
Collection
<
String
>
apis
=
new
HashSet
<>();
for
(
String
perm
:
permissions
)
{
String
api
=
systemPermissionsMap
.
get
(
perm
);
apis
.
add
(
api
);
if
(
perm
.
equals
(
"*"
))
{
apis
.
clear
();
apis
.
add
(
"*"
);
return
apis
;
// return systemPermissionsMap.values();
}
}
return
apis
;
}
/**
* 生成验证码
*/
@GetMapping
(
"/captchaImage"
)
public
Object
getCode
(
HttpServletResponse
response
)
throws
IOException
{
// 生成随机字串
String
verifyCode
=
VerifyCodeUtils
.
generateVerifyCode
(
4
);
// 唯一标识
String
uuid
=
UUID
.
randomUUID
().
toString
(
true
);
boolean
successful
=
CaptchaCodeManager
.
addToCache
(
uuid
,
verifyCode
,
10
);
//存储内存
if
(!
successful
)
{
logger
.
error
(
"请求验证码出错:{}"
,
AdminResponseCode
.
AUTH_CAPTCHA_FREQUENCY
.
desc
());
return
AdminResponseUtil
.
fail
(
AdminResponseCode
.
AUTH_CAPTCHA_FREQUENCY
);
}
// 生成图片
int
w
=
111
,
h
=
36
;
ByteArrayOutputStream
stream
=
new
ByteArrayOutputStream
();
VerifyCodeUtils
.
outputImage
(
w
,
h
,
stream
,
verifyCode
);
try
{
Map
<
String
,
Object
>
data
=
new
HashMap
<>();
data
.
put
(
"uuid"
,
uuid
);
data
.
put
(
"img"
,
Base64
.
encode
(
stream
.
toByteArray
()));
return
ResponseUtil
.
ok
(
data
);
}
catch
(
Exception
e
){
e
.
printStackTrace
();
return
ResponseUtil
.
serious
();
}
finally
{
stream
.
close
();
}
public
Object
getCode
(
HttpServletResponse
response
)
{
return
adminAuthService
.
getCode
();
}
@GetMapping
(
"/401"
)
...
...
ch-admin-api/src/main/java/com/wwdz/ch/admin/controller/AdminCollectController.java
View file @
3dc95b53
package
com.wwdz.ch.admin.controller
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
com.wwdz.ch.admin.annotation.RequiresPermissionsDesc
;
import
com.wwdz.ch.admin.service.AdminCollectService
;
import
com.wwdz.ch.admin.util.AuthSupport
;
import
com.wwdz.ch.db.dao.dts.DtsCollectDao
;
import
com.wwdz.ch.core.util.ResponseUtil
;
import
com.wwdz.ch.core.validator.Order
;
import
com.wwdz.ch.core.validator.Sort
;
import
org.apache.shiro.authz.annotation.RequiresPermissions
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
...
...
@@ -17,38 +17,30 @@ import org.springframework.web.bind.annotation.RequestMapping;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
import
com.alibaba.fastjson.JSONObject
;
import
com.github.pagehelper.PageInfo
;
import
com.wwdz.ch.core.util.ResponseUtil
;
import
com.wwdz.ch.core.validator.Order
;
import
com.wwdz.ch.core.validator.Sort
;
import
com.wwdz.ch.db.domain.CollectObsolete
;
@RestController
@RequestMapping
(
"/admin/collect"
)
@Validated
public
class
AdminCollectController
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
AdminCollectController
.
class
);
@Autowired
private
DtsCollectDao
dtsCollectDao
;
@RequiresPermissions
(
"admin:collect:list"
)
@RequiresPermissionsDesc
(
menu
=
{
"用户管理"
,
"用户收藏"
},
button
=
"查询"
)
@GetMapping
(
"/list"
)
public
Object
list
(
String
userId
,
String
valueId
,
@RequestParam
(
defaultValue
=
"1"
)
Integer
page
,
@RequestParam
(
defaultValue
=
"10"
)
Integer
limit
,
@Sort
@RequestParam
(
defaultValue
=
"add_time"
)
String
sort
,
@Order
@RequestParam
(
defaultValue
=
"desc"
)
String
order
)
{
logger
.
info
(
"【请求开始】操作人:["
+
AuthSupport
.
userName
()+
"] 用户管理->用户收藏->查询,请求参数:userId:{},page:{}"
,
userId
,
page
);
List
<
CollectObsolete
>
collectList
=
dtsCollectDao
.
querySelective
(
userId
,
valueId
,
page
,
limit
,
sort
,
order
);
long
total
=
PageInfo
.
of
(
collectList
).
getTotal
();
Map
<
String
,
Object
>
data
=
new
HashMap
<>();
data
.
put
(
"total"
,
total
);
data
.
put
(
"items"
,
collectList
);
logger
.
info
(
"【请求结束】用户管理->用户收藏->查询:total:{}"
,
JSONObject
.
toJSONString
(
data
));
return
ResponseUtil
.
ok
(
data
);
}
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
AdminCollectController
.
class
);
@Autowired
private
AdminCollectService
adminCollectService
;
@RequiresPermissions
(
"admin:collect:list"
)
@RequiresPermissionsDesc
(
menu
=
{
"用户管理"
,
"用户收藏"
},
button
=
"查询"
)
@GetMapping
(
"/list"
)
public
Object
list
(
String
userId
,
String
valueId
,
@RequestParam
(
defaultValue
=
"1"
)
Integer
page
,
@RequestParam
(
defaultValue
=
"10"
)
Integer
limit
,
@Sort
@RequestParam
(
defaultValue
=
"add_time"
)
String
sort
,
@Order
@RequestParam
(
defaultValue
=
"desc"
)
String
order
)
{
logger
.
info
(
"【请求开始】操作人:["
+
AuthSupport
.
userName
()
+
"] 用户管理->用户收藏->查询,请求参数:userId:{},page:{}"
,
userId
,
page
);
try
{
Object
data
=
adminCollectService
.
findList
(
userId
,
valueId
,
page
,
limit
,
sort
,
order
);
logger
.
info
(
"【请求结束】用户管理->用户收藏->查询:total:{}"
,
data
);
return
ResponseUtil
.
ok
(
data
);
}
catch
(
Exception
e
)
{
logger
.
error
(
"用户管理->用户收藏->查询 error :{}"
,
e
);
}
return
ResponseUtil
.
fail
();
}
}
ch-admin-api/src/main/java/com/wwdz/ch/admin/controller/AdminDashbordController.java
View file @
3dc95b53
...
...
@@ -8,12 +8,10 @@ import java.util.HashSet;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Set
;
import
com.wwdz.ch.admin.entity.vo.OrderAmtsVo
;
import
com.wwdz.ch.admin.entity.vo.UserOrderCntVo
;
import
com.wwdz.ch.admin.service.AdminDashbordService
;
import
com.wwdz.ch.admin.util.AuthSupport
;
import
com.wwdz.ch.db.dao.ItemDao
;
import
com.wwdz.ch.db.dao.dts.DtsGoodsProductDao
;
import
com.wwdz.ch.db.dao.dts.DtsUserDao
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
...
...
@@ -22,7 +20,6 @@ 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.RestController
;
import
com.alibaba.fastjson.JSONObject
;
import
com.wwdz.ch.core.util.ResponseUtil
;
import
com.wwdz.ch.db.bean.DayStatis
;
...
...
@@ -38,26 +35,21 @@ public class AdminDashbordController {
@Autowired
private
DtsUserDao
userService
;
@Autowired
private
ItemDao
itemDao
;
@Autowired
private
DtsGoodsProductDao
product
Service
;
AdminDashbordService
adminDashbord
Service
;
@GetMapping
(
""
)
public
Object
info
()
{
logger
.
info
(
"【请求开始】操作人:["
+
AuthSupport
.
userName
()
+
"] 系统管理->首页仪表盘查询"
);
int
userTotal
=
userService
.
count
();
int
goodsTotal
=
itemDao
.
count
();
// int productTotal = productService.count();
Map
<
String
,
Integer
>
data
=
new
HashMap
<>();
data
.
put
(
"userTotal"
,
userTotal
);
data
.
put
(
"goodsTotal"
,
goodsTotal
);
// data.put("productTotal", productTotal);
logger
.
info
(
"【请求结束】系统管理->首页仪表盘查询:响应结果:{}"
,
JSONObject
.
toJSONString
(
data
));
return
ResponseUtil
.
ok
(
data
);
try
{
Object
data
=
adminDashbordService
.
info
();
logger
.
info
(
"【请求结束】系统管理->首页仪表盘查询:响应结果:{}"
,
data
);
return
ResponseUtil
.
ok
(
data
);
}
catch
(
Exception
e
)
{
logger
.
error
(
"系统管理->首页仪表盘查询 error : {}"
,
e
);
}
return
ResponseUtil
.
fail
();
}
@GetMapping
(
"/chart"
)
...
...
@@ -68,7 +60,6 @@ public class AdminDashbordController {
UserOrderCntVo
userOrderCnt
=
new
UserOrderCntVo
();
List
<
DayStatis
>
userCnts
=
userService
.
recentCount
(
STATIS_DAYS_RANG
);
Map
<
String
,
Object
>
data
=
new
HashMap
<>();
data
.
put
(
"userOrderCnt"
,
userOrderCnt
);
...
...
ch-admin-api/src/main/java/com/wwdz/ch/admin/controller/AdminFeedbackController.java
View file @
3dc95b53
...
...
@@ -5,6 +5,7 @@ import java.util.List;
import
java.util.Map
;
import
com.wwdz.ch.admin.annotation.RequiresPermissionsDesc
;
import
com.wwdz.ch.admin.service.AdminFeedbackService
;
import
com.wwdz.ch.admin.util.AuthSupport
;
import
com.wwdz.ch.db.dao.dts.DtsFeedbackDao
;
import
org.apache.shiro.authz.annotation.RequiresPermissions
;
...
...
@@ -36,7 +37,7 @@ public class AdminFeedbackController {
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
AdminFeedbackController
.
class
);
@Autowired
private
DtsFeedbackDao
dtsFeedbackDao
;
AdminFeedbackService
adminFeedbackService
;
@RequiresPermissions
(
"admin:feedback:list"
)
@RequiresPermissionsDesc
(
menu
=
{
"用户管理"
,
"意见反馈"
},
button
=
"查询"
)
...
...
@@ -47,13 +48,13 @@ public class AdminFeedbackController {
@Order
@RequestParam
(
defaultValue
=
"desc"
)
String
order
)
{
logger
.
info
(
"【请求开始】操作人:["
+
AuthSupport
.
userName
()+
"] 用户管理->意见反馈->查询,请求参数:userId:{},username:{},page:{}"
,
userId
,
username
,
page
);
List
<
Feedback
>
feedbackList
=
dtsFeedbackDao
.
querySelective
(
userId
,
username
,
page
,
limit
,
sort
,
order
);
long
total
=
PageInfo
.
of
(
feedbackList
).
getTotal
(
);
Map
<
String
,
Object
>
data
=
new
HashMap
<>(
);
data
.
put
(
"total"
,
total
);
data
.
put
(
"items"
,
feedbackList
);
logger
.
info
(
"【请求结束】用户管理->意见反馈->查询,响应结果:{}"
,
JSONObject
.
toJSONString
(
data
));
return
ResponseUtil
.
ok
(
data
);
try
{
Object
data
=
adminFeedbackService
.
findList
(
userId
,
username
,
page
,
limit
,
sort
,
order
);
logger
.
info
(
"【请求结束】用户管理->意见反馈->查询,响应结果:{}"
,
JSONObject
.
toJSONString
(
data
)
);
return
ResponseUtil
.
ok
(
data
);
}
catch
(
Exception
e
)
{
logger
.
error
(
"用户管理->意见反馈->查询 error :{}"
,
e
);
}
return
ResponseUtil
.
fail
(
);
}
}
ch-admin-api/src/main/java/com/wwdz/ch/admin/controller/AdminFootprintController.java
View file @
3dc95b53
package
com.wwdz.ch.admin.controller
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
com.wwdz.ch.admin.annotation.RequiresPermissionsDesc
;
import
com.wwdz.ch.admin.service.AdminFootprintService
;
import
com.wwdz.ch.admin.util.AuthSupport
;
import
com.wwdz.ch.db.dao.dts.DtsFootprintDao
;
import
org.apache.shiro.authz.annotation.RequiresPermissions
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
...
...
@@ -16,13 +12,10 @@ 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
com.alibaba.fastjson.JSONObject
;
import
com.github.pagehelper.PageInfo
;
import
com.wwdz.ch.core.util.ResponseUtil
;
import
com.wwdz.ch.core.validator.Order
;
import
com.wwdz.ch.core.validator.Sort
;
import
com.wwdz.ch.db.domain.Footprint
;
@RestController
@RequestMapping
(
"/admin/footprint"
)
...
...
@@ -31,7 +24,7 @@ public class AdminFootprintController {
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
AdminFootprintController
.
class
);
@Autowired
private
DtsFootprintDao
dtsFootprintDao
;
private
AdminFootprintService
adminFootprintService
;
@RequiresPermissions
(
"admin:footprint:list"
)
@RequiresPermissionsDesc
(
menu
=
{
"用户管理"
,
"用户足迹"
},
button
=
"查询"
)
...
...
@@ -41,14 +34,13 @@ public class AdminFootprintController {
@Sort
@RequestParam
(
defaultValue
=
"add_time"
)
String
sort
,
@Order
@RequestParam
(
defaultValue
=
"desc"
)
String
order
)
{
logger
.
info
(
"【请求开始】操作人:["
+
AuthSupport
.
userName
()+
"] 用户管理->用户足迹->查询,请求参数:userId:{},goodsId:{},page:{}"
,
userId
,
goodsId
,
page
);
List
<
Footprint
>
footprintList
=
dtsFootprintDao
.
querySelective
(
userId
,
goodsId
,
page
,
limit
,
sort
,
order
);
long
total
=
PageInfo
.
of
(
footprintList
).
getTotal
();
Map
<
String
,
Object
>
data
=
new
HashMap
<>();
data
.
put
(
"total"
,
total
);
data
.
put
(
"items"
,
footprintList
);
logger
.
info
(
"【请求结束】用户管理->用户足迹->查询,响应结果:{}"
,
JSONObject
.
toJSONString
(
data
));
return
ResponseUtil
.
ok
(
data
);
try
{
Object
data
=
adminFootprintService
.
findList
(
userId
,
goodsId
,
page
,
limit
,
sort
,
order
);
logger
.
info
(
"【请求结束】用户管理->用户足迹->查询,响应结果:{}"
,
JSONObject
.
toJSONString
(
data
));
return
ResponseUtil
.
ok
(
data
);
}
catch
(
Exception
e
)
{
logger
.
error
(
"用户管理->用户足迹->查询 error :{}"
,
e
);
}
return
ResponseUtil
.
fail
();
}
}
ch-admin-api/src/main/java/com/wwdz/ch/admin/controller/AdminHistoryController.java
View file @
3dc95b53
package
com.wwdz.ch.admin.controller
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
com.alibaba.fastjson.JSONObject
;
import
com.wwdz.ch.admin.annotation.RequiresPermissionsDesc
;
import
com.wwdz.ch.admin.service.AdminHistoryService
;
import
com.wwdz.ch.admin.util.AuthSupport
;
import
com.wwdz.ch.db.dao.dts.DtsSearchHistoryDao
;
import
com.wwdz.ch.core.util.ResponseUtil
;
import
com.wwdz.ch.core.validator.Order
;
import
com.wwdz.ch.core.validator.Sort
;
import
org.apache.shiro.authz.annotation.RequiresPermissions
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
...
...
@@ -16,20 +16,13 @@ import org.springframework.web.bind.annotation.RequestMapping;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
import
com.alibaba.fastjson.JSONObject
;
import
com.github.pagehelper.PageInfo
;
import
com.wwdz.ch.core.util.ResponseUtil
;
import
com.wwdz.ch.core.validator.Order
;
import
com.wwdz.ch.core.validator.Sort
;
import
com.wwdz.ch.db.domain.SearchHistory
;
@RestController
@RequestMapping
(
"/admin/history"
)
public
class
AdminHistoryController
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
AdminHistoryController
.
class
);
@Autowired
private
DtsSearchHistoryDao
dtsSearchHistoryDao
;
private
AdminHistoryService
adminHistoryService
;
@RequiresPermissions
(
"admin:history:list"
)
@RequiresPermissionsDesc
(
menu
=
{
"用户管理"
,
"搜索历史"
},
button
=
"查询"
)
...
...
@@ -39,15 +32,13 @@ public class AdminHistoryController {
@Sort
@RequestParam
(
defaultValue
=
"add_time"
)
String
sort
,
@Order
@RequestParam
(
defaultValue
=
"desc"
)
String
order
)
{
logger
.
info
(
"【请求开始】操作人:["
+
AuthSupport
.
userName
()+
"] 用户管理->搜索历史->查询,请求参数:userId:{},keyword:{},page:{}"
,
userId
,
keyword
,
page
);
List
<
SearchHistory
>
footprintList
=
dtsSearchHistoryDao
.
querySelective
(
userId
,
keyword
,
page
,
limit
,
sort
,
order
);
long
total
=
PageInfo
.
of
(
footprintList
).
getTotal
();
Map
<
String
,
Object
>
data
=
new
HashMap
<>();
data
.
put
(
"total"
,
total
);
data
.
put
(
"items"
,
footprintList
);
logger
.
info
(
"【请求结束】用户管理->搜索历史->查询,响应结果:{}"
,
JSONObject
.
toJSONString
(
data
));
return
ResponseUtil
.
ok
(
data
);
try
{
Object
data
=
adminHistoryService
.
findList
(
userId
,
keyword
,
page
,
limit
,
sort
,
order
);
logger
.
info
(
"【请求结束】用户管理->搜索历史->查询,响应结果:{}"
,
JSONObject
.
toJSONString
(
data
));
return
ResponseUtil
.
ok
(
data
);
}
catch
(
Exception
e
)
{
logger
.
error
(
"用户管理->搜索历史->查询 error:{}"
,
e
);
}
return
ResponseUtil
.
fail
();
}
}
ch-admin-api/src/main/java/com/wwdz/ch/admin/controller/AdminIssueController.java
View file @
3dc95b53
package
com.wwdz.ch.admin.controller
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
javax.validation.constraints.NotNull
;
import
com.alibaba.fastjson.JSONObject
;
import
com.wwdz.ch.admin.annotation.RequiresPermissionsDesc
;
import
com.wwdz.ch.admin.service.AdminIssueService
;
import
com.wwdz.ch.admin.util.AuthSupport
;
import
com.wwdz.ch.db.dao.dts.DtsIssueDao
;
import
com.wwdz.ch.core.util.ResponseUtil
;
import
com.wwdz.ch.core.validator.Order
;
import
com.wwdz.ch.core.validator.Sort
;
import
com.wwdz.ch.db.domain.Issue
;
import
org.apache.shiro.authz.annotation.RequiresPermissions
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.util.StringUtils
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
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.RestController
;
import
com.alibaba.fastjson.JSONObject
;
import
com.github.pagehelper.PageInfo
;
import
com.wwdz.ch.core.util.ResponseUtil
;
import
com.wwdz.ch.core.validator.Order
;
import
com.wwdz.ch.core.validator.Sort
;
import
com.wwdz.ch.db.domain.Issue
;
import
org.springframework.web.bind.annotation.*
;
import
javax.validation.constraints.NotNull
;
@RestController
@RequestMapping
(
"/admin/issue"
)
...
...
@@ -36,7 +24,7 @@ public class AdminIssueController {
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
AdminIssueController
.
class
);
@Autowired
private
DtsIssueDao
dtsIssueDao
;
private
AdminIssueService
adminIssueService
;
@RequiresPermissions
(
"admin:issue:list"
)
@RequiresPermissionsDesc
(
menu
=
{
"商场管理"
,
"通用问题"
},
button
=
"查询"
)
...
...
@@ -46,15 +34,14 @@ public class AdminIssueController {
@Sort
@RequestParam
(
defaultValue
=
"add_time"
)
String
sort
,
@Order
@RequestParam
(
defaultValue
=
"desc"
)
String
order
)
{
logger
.
info
(
"【请求开始】操作人:["
+
AuthSupport
.
userName
()+
"] 商场管理->通用问题->查询,请求参数:question:{},page:{}"
,
question
,
page
);
List
<
Issue
>
issueList
=
dtsIssueDao
.
querySelective
(
question
,
page
,
limit
,
sort
,
order
);
long
total
=
PageInfo
.
of
(
issueList
).
getTotal
();
Map
<
String
,
Object
>
data
=
new
HashMap
<>();
data
.
put
(
"total"
,
total
);
data
.
put
(
"items"
,
issueList
);
logger
.
info
(
"【请求结束】商场管理->通用问题->查询,响应结果:{}"
,
JSONObject
.
toJSONString
(
data
));
return
ResponseUtil
.
ok
(
data
);
try
{
Object
data
=
adminIssueService
.
findList
(
question
,
page
,
limit
,
sort
,
order
);
logger
.
info
(
"【请求结束】商场管理->通用问题->查询,响应结果:{}"
,
JSONObject
.
toJSONString
(
data
));
return
ResponseUtil
.
ok
(
data
);
}
catch
(
Exception
e
)
{
logger
.
error
(
"商场管理->通用问题->查询 error :{}"
,
e
);
}
return
ResponseUtil
.
fail
();
}
private
Object
validate
(
Issue
issue
)
{
...
...
@@ -79,21 +66,21 @@ public class AdminIssueController {
if
(
error
!=
null
)
{
return
error
;
}
dtsIssueDao
.
add
(
issue
);
logger
.
info
(
"【请求结束】商场管理->通用问题->查询,响应结果:{}"
,
JSONObject
.
toJSONString
(
issue
));
return
ResponseUtil
.
ok
(
issue
);
return
adminIssueService
.
create
(
issue
);
}
@RequiresPermissions
(
"admin:issue:read"
)
@GetMapping
(
"/read"
)
public
Object
read
(
@NotNull
Integer
id
)
{
logger
.
info
(
"【请求开始】操作人:["
+
AuthSupport
.
userName
()+
"] 商场管理->通用问题->详情,请求参数,id:{}"
,
id
);
Issue
issue
=
dtsIssueDao
.
findById
(
id
);
logger
.
info
(
"【请求结束】商场管理->通用问题->详情,响应结果:{}"
,
JSONObject
.
toJSONString
(
issue
));
return
ResponseUtil
.
ok
(
issue
);
try
{
Issue
issue
=
adminIssueService
.
read
(
id
);
logger
.
info
(
"【请求结束】商场管理->通用问题->详情,响应结果:{}"
,
JSONObject
.
toJSONString
(
issue
));
return
ResponseUtil
.
ok
(
issue
);
}
catch
(
Exception
e
)
{
logger
.
error
(
"商场管理->通用问题->详情 error :{}"
,
e
);
}
return
ResponseUtil
.
fail
();
}
@RequiresPermissions
(
"admin:issue:update"
)
...
...
@@ -106,13 +93,7 @@ public class AdminIssueController {
if
(
error
!=
null
)
{
return
error
;
}
if
(
dtsIssueDao
.
updateById
(
issue
)
==
0
)
{
logger
.
error
(
"商场管理->通用问题->编辑 失败:{}"
,
"更新数据失败!"
);
return
ResponseUtil
.
updatedDataFailed
();
}
logger
.
info
(
"【请求结束】商场管理->通用问题->编辑,响应结果:{}"
,
JSONObject
.
toJSONString
(
issue
));
return
ResponseUtil
.
ok
(
issue
);
return
adminIssueService
.
update
(
issue
);
}
@RequiresPermissions
(
"admin:issue:delete"
)
...
...
@@ -125,10 +106,7 @@ public class AdminIssueController {
if
(
id
==
null
)
{
return
ResponseUtil
.
badArgument
();
}
dtsIssueDao
.
deleteById
(
id
);
logger
.
info
(
"【请求结束】商场管理->通用问题->删除,响应结果:{}"
,
"成功!"
);
return
ResponseUtil
.
ok
();
return
adminIssueService
.
deleteById
(
id
);
}
}
ch-admin-api/src/main/java/com/wwdz/ch/admin/controller/AdminKeywordController.java
View file @
3dc95b53
...
...
@@ -6,6 +6,8 @@ import java.util.Map;
import
javax.validation.constraints.NotNull
;
import
com.sun.corba.se.spi.ior.ObjectKey
;
import
com.wwdz.ch.admin.service.AdminKeywordService
;
import
com.wwdz.ch.db.dao.dts.DtsKeywordDao
;
import
org.apache.shiro.authz.annotation.RequiresPermissions
;
import
org.slf4j.Logger
;
...
...
@@ -36,7 +38,7 @@ public class AdminKeywordController {
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
AdminKeywordController
.
class
);
@Autowired
private
DtsKeywordDao
dtsKeywordDao
;
private
AdminKeywordService
adminKeywordService
;
@RequiresPermissions
(
"admin:keyword:list"
)
@RequiresPermissionsDesc
(
menu
=
{
"商场管理"
,
"关键词"
},
button
=
"查询"
)
...
...
@@ -46,15 +48,14 @@ public class AdminKeywordController {
@Sort
@RequestParam
(
defaultValue
=
"add_time"
)
String
sort
,
@Order
@RequestParam
(
defaultValue
=
"desc"
)
String
order
)
{
logger
.
info
(
"【请求开始】操作人:["
+
AuthSupport
.
userName
()+
"] 商场管理->关键词->查询,请求参数:keyword:{},url:{},page:{}"
,
keyword
,
url
,
page
);
List
<
Keyword
>
brandList
=
dtsKeywordDao
.
querySelective
(
keyword
,
url
,
page
,
limit
,
sort
,
order
);
long
total
=
PageInfo
.
of
(
brandList
).
getTotal
();
Map
<
String
,
Object
>
data
=
new
HashMap
<>();
data
.
put
(
"total"
,
total
);
data
.
put
(
"items"
,
brandList
);
logger
.
info
(
"【请求结束】商场管理->关键词->查询,响应结果:{}"
,
JSONObject
.
toJSONString
(
data
));
return
ResponseUtil
.
ok
(
data
);
try
{
Object
data
=
adminKeywordService
.
findList
(
keyword
,
url
,
page
,
limit
,
sort
,
order
);
logger
.
info
(
"【请求结束】商场管理->关键词->查询,响应结果:{}"
,
JSONObject
.
toJSONString
(
data
));
return
ResponseUtil
.
ok
(
data
);
}
catch
(
Exception
e
)
{
logger
.
error
(
"商场管理->关键词->查询 error:{}"
,
e
);
}
return
ResponseUtil
.
fail
();
}
private
Object
validate
(
Keyword
keywords
)
{
...
...
@@ -78,9 +79,7 @@ public class AdminKeywordController {
if
(
error
!=
null
)
{
return
error
;
}
dtsKeywordDao
.
add
(
keywords
);
logger
.
info
(
"【请求结束】商场管理->关键词->添加,响应结果:{}"
,
JSONObject
.
toJSONString
(
keywords
));
return
ResponseUtil
.
ok
(
keywords
);
return
adminKeywordService
.
create
(
keywords
);
}
@RequiresPermissions
(
"admin:keyword:read"
)
...
...
@@ -88,9 +87,7 @@ public class AdminKeywordController {
@GetMapping
(
"/read"
)
public
Object
read
(
@NotNull
Integer
id
)
{
logger
.
info
(
"【请求开始】操作人:["
+
AuthSupport
.
userName
()+
"] 商场管理->关键词->详情,请求参数,id:{}"
,
id
);
Keyword
keywords
=
dtsKeywordDao
.
findById
(
id
);
Keyword
keywords
=
adminKeywordService
.
read
(
id
);
logger
.
info
(
"【请求结束】商场管理->关键词->详情,响应结果:{}"
,
JSONObject
.
toJSONString
(
keywords
));
return
ResponseUtil
.
ok
(
keywords
);
}
...
...
@@ -105,13 +102,7 @@ public class AdminKeywordController {
if
(
error
!=
null
)
{
return
error
;
}
if
(
dtsKeywordDao
.
updateById
(
keywords
)
==
0
)
{
logger
.
info
(
"商场管理->关键词->编辑 错误:{}"
,
"更新数据失败!"
);
return
ResponseUtil
.
updatedDataFailed
();
}
logger
.
info
(
"【请求结束】商场管理->关键词->编辑,响应结果:{}"
,
JSONObject
.
toJSONString
(
keywords
));
return
ResponseUtil
.
ok
(
keywords
);
return
adminKeywordService
.
updateById
(
keywords
);
}
@RequiresPermissions
(
"admin:keyword:delete"
)
...
...
@@ -124,10 +115,7 @@ public class AdminKeywordController {
if
(
id
==
null
)
{
return
ResponseUtil
.
badArgument
();
}
dtsKeywordDao
.
deleteById
(
id
);
logger
.
info
(
"【请求结束】商场管理->关键词->删除,响应结果:{}"
,
"成功!"
);
return
ResponseUtil
.
ok
();
return
adminKeywordService
.
deleteById
(
id
);
}
}
ch-admin-api/src/main/java/com/wwdz/ch/admin/controller/AdminProfileController.java
View file @
3dc95b53
package
com.wwdz.ch.admin.controller
;
import
com.wwdz.ch.admin.service.AdminService
;
import
com.wwdz.ch.admin.util.AdminResponseCode
;
import
com.wwdz.ch.admin.util.AdminResponseUtil
;
import
com.wwdz.ch.admin.util.AuthSupport
;
...
...
@@ -29,7 +30,7 @@ public class AdminProfileController {
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
AdminProfileController
.
class
);
@Autowired
private
DtsAdminDao
dtsAdminDao
;
private
AdminService
adminService
;
@RequiresAuthentication
@PostMapping
(
"/password"
)
...
...
@@ -57,7 +58,7 @@ public class AdminProfileController {
String
encodedNewPassword
=
encoder
.
encode
(
newPassword
);
admin
.
setPassword
(
encodedNewPassword
);
dtsAdminDao
.
updateById
(
admin
);
adminService
.
updateById
(
admin
);
logger
.
info
(
"【请求结束】系统管理->修改密码,响应结果:{}"
,
"成功!"
);
return
ResponseUtil
.
ok
();
...
...
ch-admin-api/src/main/java/com/wwdz/ch/admin/controller/AdminRoleController.java
View file @
3dc95b53
package
com.wwdz.ch.admin.controller
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Set
;
import
javax.validation.constraints.NotNull
;
import
com.alibaba.fastjson.JSONObject
;
import
com.wwdz.ch.admin.annotation.RequiresPermissionsDesc
;
import
com.wwdz.ch.db.dao.dts.DtsPermissionDao
;
import
com.wwdz.ch.db.dao.dts.DtsRoleDao
;
import
com.wwdz.ch.admin.service.AdminRoleService
;
import
com.wwdz.ch.admin.util.AuthSupport
;
import
com.wwdz.ch.admin.util.PermVo
;
import
com.wwdz.ch.core.util.JacksonUtil
;
import
com.wwdz.ch.core.util.ResponseUtil
;
import
com.wwdz.ch.core.validator.Order
;
import
com.wwdz.ch.db.domain.Role
;
import
org.apache.shiro.authz.annotation.RequiresPermissions
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.context.ApplicationContext
;
import
org.springframework.util.StringUtils
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
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.RestController
;
import
com.alibaba.fastjson.JSONObject
;
import
com.github.pagehelper.PageInfo
;
import
com.wwdz.ch.admin.util.AdminResponseCode
;
import
com.wwdz.ch.admin.util.AdminResponseUtil
;
import
com.wwdz.ch.admin.util.AuthSupport
;
import
com.wwdz.ch.admin.util.PermVo
;
import
com.wwdz.ch.admin.util.PermissionUtil
;
import
com.wwdz.ch.core.util.JacksonUtil
;
import
com.wwdz.ch.core.util.ResponseUtil
;
import
com.wwdz.ch.core.validator.Order
;
import
com.wwdz.ch.db.domain.Permission
;
import
org.springframework.web.bind.annotation.*
;
import
javax.validation.constraints.NotNull
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Set
;
@RestController
@RequestMapping
(
"/admin/role"
)
...
...
@@ -45,10 +29,9 @@ public class AdminRoleController {
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
AdminRoleController
.
class
);
@Autowired
private
DtsRoleDao
dtsRoleDao
;
private
AdminRoleService
adminRoleService
;
@Autowired
private
DtsPermissionDao
dtsPermissionDao
;
@RequiresPermissions
(
"admin:role:list"
)
@RequiresPermissionsDesc
(
menu
=
{
"系统管理"
,
"角色管理"
},
button
=
"角色查询"
)
...
...
@@ -58,32 +41,19 @@ public class AdminRoleController {
@RequestParam
(
defaultValue
=
"add_time"
)
String
sort
,
@Order
@RequestParam
(
defaultValue
=
"desc"
)
String
order
)
{
logger
.
info
(
"【请求开始】操作人:["
+
AuthSupport
.
userName
()+
"] 系统管理->角色管理->角色查询,请求参数,name:{},page:{}"
,
name
,
page
);
List
<
Role
>
roleList
=
dtsRoleDao
.
querySelective
(
name
,
page
,
limit
,
sort
,
order
);
long
total
=
PageInfo
.
of
(
roleList
).
getTotal
();
Map
<
String
,
Object
>
data
=
new
HashMap
<>();
data
.
put
(
"total"
,
total
);
data
.
put
(
"items"
,
roleList
);
logger
.
info
(
"【请求结束】系统管理->角色管理->角色查询,响应结果:{}"
,
JSONObject
.
toJSONString
(
data
));
return
ResponseUtil
.
ok
(
data
);
try
{
Object
data
=
adminRoleService
.
findList
(
name
,
page
,
limit
,
sort
,
order
);
logger
.
info
(
"【请求结束】系统管理->角色管理->角色查询,响应结果:{}"
,
JSONObject
.
toJSONString
(
data
));
return
ResponseUtil
.
ok
(
data
);
}
catch
(
Exception
e
){
logger
.
error
(
"系统管理->角色管理->角色查询 error:{}"
,
e
);
}
return
ResponseUtil
.
fail
();
}
@GetMapping
(
"/options"
)
public
Object
options
()
{
List
<
Role
>
roleList
=
dtsRoleDao
.
queryAll
();
logger
.
info
(
"【请求开始】操作人:["
+
AuthSupport
.
userName
()+
"] 系统管理->角色管理->查询所有角色"
);
List
<
Map
<
String
,
Object
>>
options
=
new
ArrayList
<>(
roleList
.
size
());
for
(
Role
role
:
roleList
)
{
Map
<
String
,
Object
>
option
=
new
HashMap
<>(
2
);
option
.
put
(
"value"
,
role
.
getId
());
option
.
put
(
"label"
,
role
.
getName
());
options
.
add
(
option
);
}
logger
.
info
(
"【请求结束】系统管理->角色管理->查询所有角色,响应结果:{}"
,
JSONObject
.
toJSONString
(
options
));
return
ResponseUtil
.
ok
(
options
);
return
adminRoleService
.
options
();
}
@RequiresPermissions
(
"admin:role:read"
)
...
...
@@ -92,10 +62,7 @@ public class AdminRoleController {
public
Object
read
(
@NotNull
Integer
id
)
{
logger
.
info
(
"【请求开始】操作人:["
+
AuthSupport
.
userName
()+
"] 系统管理->角色管理->角色详情,请求参数,id:{}"
,
id
);
Role
role
=
dtsRoleDao
.
findById
(
id
);
logger
.
info
(
"【请求结束】系统管理->角色管理->角色详情,响应结果:{}"
,
JSONObject
.
toJSONString
(
role
));
return
ResponseUtil
.
ok
(
role
);
return
adminRoleService
.
read
(
id
);
}
private
Object
validate
(
Role
role
)
{
...
...
@@ -117,16 +84,7 @@ public class AdminRoleController {
if
(
error
!=
null
)
{
return
error
;
}
if
(
dtsRoleDao
.
checkExist
(
role
.
getName
()))
{
logger
.
info
(
"系统管理->角色管理->角色添加错误:{}"
,
AdminResponseCode
.
ROLE_NAME_EXIST
.
desc
());
return
AdminResponseUtil
.
fail
(
AdminResponseCode
.
ROLE_NAME_EXIST
);
}
dtsRoleDao
.
add
(
role
);
logger
.
info
(
"【请求结束】系统管理->角色管理->角色添加,响应结果:{}"
,
JSONObject
.
toJSONString
(
role
));
return
ResponseUtil
.
ok
(
role
);
return
adminRoleService
.
create
(
role
);
}
@RequiresPermissions
(
"admin:role:update"
)
...
...
@@ -139,10 +97,7 @@ public class AdminRoleController {
if
(
error
!=
null
)
{
return
error
;
}
dtsRoleDao
.
updateById
(
role
);
logger
.
info
(
"【请求结束】系统管理->角色管理->角色编辑,响应结果:{}"
,
"成功!"
);
return
ResponseUtil
.
ok
();
return
adminRoleService
.
update
(
role
);
}
@RequiresPermissions
(
"admin:role:delete"
)
...
...
@@ -155,40 +110,11 @@ public class AdminRoleController {
if
(
id
==
null
)
{
return
ResponseUtil
.
badArgument
();
}
dtsRoleDao
.
deleteById
(
id
);
logger
.
info
(
"【请求结束】系统管理->角色管理->角色删除,响应结果:{}"
,
"成功!"
);
return
ResponseUtil
.
ok
();
}
return
adminRoleService
.
delete
(
role
);
@Autowired
private
ApplicationContext
context
;
private
List
<
PermVo
>
systemPermissions
=
null
;
private
Set
<
String
>
systemPermissionsString
=
null
;
private
List
<
PermVo
>
getSystemPermissions
()
{
final
String
basicPackage
=
"com.wwdz.ch.admin"
;
if
(
systemPermissions
==
null
)
{
List
<
com
.
wwdz
.
ch
.
admin
.
util
.
Permission
>
permissions
=
PermissionUtil
.
listPermission
(
context
,
basicPackage
);
systemPermissions
=
PermissionUtil
.
listPermVo
(
permissions
);
systemPermissionsString
=
PermissionUtil
.
listPermissionString
(
permissions
);
}
return
systemPermissions
;
}
private
Set
<
String
>
getAssignedPermissions
(
Integer
roleId
)
{
// 这里需要注意的是,如果存在超级权限*,那么这里需要转化成当前所有系统权限。
// 之所以这么做,是因为前端不能识别超级权限,所以这里需要转换一下。
Set
<
String
>
assignedPermissions
=
null
;
if
(
dtsPermissionDao
.
checkSuperPermission
(
roleId
))
{
getSystemPermissions
();
assignedPermissions
=
systemPermissionsString
;
}
else
{
assignedPermissions
=
dtsPermissionDao
.
queryByRoleId
(
roleId
);
}
return
assignedPermissions
;
}
/**
* 管理员的权限情况
...
...
@@ -201,8 +127,8 @@ public class AdminRoleController {
public
Object
getPermissions
(
Integer
roleId
)
{
logger
.
info
(
"【请求开始】操作人:["
+
AuthSupport
.
userName
()+
"] 系统管理->角色管理->权限详情,请求参数,roleId:{}"
,
roleId
);
List
<
PermVo
>
systemPermissions
=
getSystemPermissions
();
Set
<
String
>
assignedPermissions
=
getAssignedPermissions
(
roleId
);
List
<
PermVo
>
systemPermissions
=
adminRoleService
.
getSystemPermissions
();
Set
<
String
>
assignedPermissions
=
adminRoleService
.
getAssignedPermissions
(
roleId
);
Map
<
String
,
Object
>
data
=
new
HashMap
<>();
data
.
put
(
"systemPermissions"
,
systemPermissions
);
...
...
@@ -229,24 +155,7 @@ public class AdminRoleController {
if
(
roleId
==
null
||
permissions
==
null
)
{
return
ResponseUtil
.
badArgument
();
}
// 如果修改的角色是超级权限,则拒绝修改。
if
(
dtsPermissionDao
.
checkSuperPermission
(
roleId
))
{
logger
.
error
(
"系统管理->角色管理->权限变更 错误:{}"
,
AdminResponseCode
.
ROLE_SUPER_SUPERMISSION
.
desc
());
return
AdminResponseUtil
.
fail
(
AdminResponseCode
.
ROLE_SUPER_SUPERMISSION
);
}
// 先删除旧的权限,再更新新的权限
dtsPermissionDao
.
deleteByRoleId
(
roleId
);
for
(
String
permission
:
permissions
)
{
Permission
permission1
=
new
Permission
();
permission1
.
setRoleId
(
roleId
);
permission1
.
setPermission
(
permission
);
dtsPermissionDao
.
add
(
permission1
);
}
logger
.
info
(
"【请求结束】系统管理->角色管理->权限变更,响应结果:{}"
,
"成功!"
);
return
ResponseUtil
.
ok
();
return
adminRoleService
.
updatePermissions
(
body
);
}
}
ch-admin-api/src/main/java/com/wwdz/ch/admin/controller/AdminUserController.java
View file @
3dc95b53
package
com.wwdz.ch.admin.controller
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
com.alibaba.fastjson.JSONObject
;
import
com.wwdz.ch.admin.annotation.RequiresPermissionsDesc
;
import
com.wwdz.ch.admin.service.AdminUserService
;
import
com.wwdz.ch.admin.util.AuthSupport
;
import
com.wwdz.ch.db.dao.dts.DtsUserDao
;
import
com.wwdz.ch.core.util.ResponseUtil
;
import
com.wwdz.ch.core.validator.Order
;
import
com.wwdz.ch.core.validator.Sort
;
import
org.apache.shiro.authz.annotation.RequiresPermissions
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
...
...
@@ -17,13 +17,6 @@ import org.springframework.web.bind.annotation.RequestMapping;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
import
com.alibaba.fastjson.JSONObject
;
import
com.github.pagehelper.PageInfo
;
import
com.wwdz.ch.core.util.ResponseUtil
;
import
com.wwdz.ch.core.validator.Order
;
import
com.wwdz.ch.core.validator.Sort
;
import
com.wwdz.ch.db.domain.User
;
@RestController
@RequestMapping
(
"/admin/user"
)
@Validated
...
...
@@ -31,7 +24,8 @@ public class AdminUserController {
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
AdminUserController
.
class
);
@Autowired
private
DtsUserDao
dtsUserDao
;
private
AdminUserService
adminUserService
;
@RequiresPermissions
(
"admin:user:list"
)
@RequiresPermissionsDesc
(
menu
=
{
"用户管理"
,
"会员管理"
},
button
=
"查询"
)
...
...
@@ -41,15 +35,14 @@ public class AdminUserController {
@Sort
@RequestParam
(
defaultValue
=
"add_time"
)
String
sort
,
@Order
@RequestParam
(
defaultValue
=
"desc"
)
String
order
)
{
logger
.
info
(
"【请求开始】操作人:["
+
AuthSupport
.
userName
()+
"] 用户管理->会员管理->查询,请求参数,username:{},code:{},page:{}"
,
username
,
mobile
,
page
);
List
<
User
>
userList
=
dtsUserDao
.
querySelective
(
username
,
mobile
,
page
,
limit
,
sort
,
order
);
long
total
=
PageInfo
.
of
(
userList
).
getTotal
();
Map
<
String
,
Object
>
data
=
new
HashMap
<>();
data
.
put
(
"total"
,
total
);
data
.
put
(
"items"
,
userList
);
logger
.
info
(
"【请求结束】用户管理->会员管理->查询:响应结果:{}"
,
JSONObject
.
toJSONString
(
data
));
return
ResponseUtil
.
ok
(
data
);
try
{
Object
data
=
adminUserService
.
findList
(
username
,
mobile
,
page
,
limit
,
sort
,
order
);
logger
.
info
(
"【请求结束】用户管理->会员管理->查询:响应结果:{}"
,
JSONObject
.
toJSONString
(
data
));
return
ResponseUtil
.
ok
(
data
);
}
catch
(
Exception
e
)
{
logger
.
error
(
"用户管理->会员管理->查询 error:{]"
,
e
);
}
return
ResponseUtil
.
fail
();
}
}
ch-admin-api/src/main/java/com/wwdz/ch/admin/impl/AdminAuthServiceImpl.java
0 → 100644
View file @
3dc95b53
package
com.wwdz.ch.admin.impl
;
import
com.alibaba.fastjson.JSONObject
;
import
com.wwdz.ch.admin.controller.AdminAuthController
;
import
com.wwdz.ch.admin.service.AdminAuthService
;
import
com.wwdz.ch.admin.util.*
;
import
com.wwdz.ch.core.captcha.CaptchaCodeManager
;
import
com.wwdz.ch.core.util.Base64
;
import
com.wwdz.ch.core.util.ResponseUtil
;
import
com.wwdz.ch.core.util.UUID
;
import
com.wwdz.ch.db.dao.dts.DtsPermissionDao
;
import
com.wwdz.ch.db.dao.dts.DtsRoleDao
;
import
com.wwdz.ch.db.domain.Admin
;
import
org.apache.shiro.SecurityUtils
;
import
org.apache.shiro.subject.Subject
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.context.ApplicationContext
;
import
org.springframework.stereotype.Service
;
import
java.io.ByteArrayOutputStream
;
import
java.io.IOException
;
import
java.util.*
;
@Service
public
class
AdminAuthServiceImpl
implements
AdminAuthService
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
AdminAuthServiceImpl
.
class
);
private
HashMap
<
String
,
String
>
systemPermissionsMap
=
null
;
@Autowired
private
DtsRoleDao
dtsRoleDao
;
@Autowired
private
DtsPermissionDao
dtsPermissionDao
;
@Autowired
private
ApplicationContext
context
;
@Override
public
Object
info
()
{
try
{
Subject
currentUser
=
SecurityUtils
.
getSubject
();
Admin
admin
=
(
Admin
)
currentUser
.
getPrincipal
();
Map
<
String
,
Object
>
data
=
new
HashMap
<>();
data
.
put
(
"name"
,
admin
.
getUsername
());
data
.
put
(
"avatar"
,
admin
.
getAvatar
());
Integer
[]
roleIds
=
admin
.
getRoleIds
();
Set
<
String
>
roles
=
dtsRoleDao
.
queryByIds
(
roleIds
);
Set
<
String
>
permissions
=
dtsPermissionDao
.
queryByRoleIds
(
roleIds
);
data
.
put
(
"roles"
,
roles
);
// NOTE
// 这里需要转换perms结构,因为对于前端而已API形式的权限更容易理解
data
.
put
(
"perms"
,
toAPI
(
permissions
));
logger
.
info
(
"【请求结束】系统管理->用户信息获取,响应结果:{}"
,
JSONObject
.
toJSONString
(
data
));
return
ResponseUtil
.
ok
(
data
);
}
catch
(
Exception
e
)
{
logger
.
error
(
"用户信息获取 error{}"
,
e
);
}
return
ResponseUtil
.
fail
();
}
@Override
public
Object
getCode
()
{
// 生成随机字串
String
verifyCode
=
VerifyCodeUtils
.
generateVerifyCode
(
4
);
// 唯一标识
String
uuid
=
UUID
.
randomUUID
().
toString
(
true
);
boolean
successful
=
CaptchaCodeManager
.
addToCache
(
uuid
,
verifyCode
,
10
);
//存储内存
if
(!
successful
)
{
logger
.
error
(
"请求验证码出错:{}"
,
AdminResponseCode
.
AUTH_CAPTCHA_FREQUENCY
.
desc
());
return
AdminResponseUtil
.
fail
(
AdminResponseCode
.
AUTH_CAPTCHA_FREQUENCY
);
}
// 生成图片
int
w
=
111
,
h
=
36
;
ByteArrayOutputStream
stream
=
new
ByteArrayOutputStream
();
try
{
VerifyCodeUtils
.
outputImage
(
w
,
h
,
stream
,
verifyCode
);
}
catch
(
IOException
e
)
{
throw
new
RuntimeException
(
e
);
}
try
{
Map
<
String
,
Object
>
data
=
new
HashMap
<>();
data
.
put
(
"uuid"
,
uuid
);
data
.
put
(
"img"
,
Base64
.
encode
(
stream
.
toByteArray
()));
return
ResponseUtil
.
ok
(
data
);
}
catch
(
Exception
e
){
e
.
printStackTrace
();
return
ResponseUtil
.
serious
();
}
finally
{
try
{
stream
.
close
();
}
catch
(
IOException
e
)
{
throw
new
RuntimeException
(
e
);
}
}
}
private
Collection
<
String
>
toAPI
(
Set
<
String
>
permissions
)
{
if
(
systemPermissionsMap
==
null
)
{
systemPermissionsMap
=
new
HashMap
<>();
final
String
basicPackage
=
"com.wwdz.ch.admin"
;
List
<
Permission
>
systemPermissions
=
PermissionUtil
.
listPermission
(
context
,
basicPackage
);
for
(
Permission
permission
:
systemPermissions
)
{
String
perm
=
permission
.
getRequiresPermissions
().
value
()[
0
];
String
api
=
permission
.
getApi
();
systemPermissionsMap
.
put
(
perm
,
api
);
}
}
Collection
<
String
>
apis
=
new
HashSet
<>();
for
(
String
perm
:
permissions
)
{
String
api
=
systemPermissionsMap
.
get
(
perm
);
apis
.
add
(
api
);
if
(
perm
.
equals
(
"*"
))
{
apis
.
clear
();
apis
.
add
(
"*"
);
return
apis
;
// return systemPermissionsMap.values();
}
}
return
apis
;
}
}
ch-admin-api/src/main/java/com/wwdz/ch/admin/impl/AdminCollectServiceImpl.java
0 → 100644
View file @
3dc95b53
package
com.wwdz.ch.admin.impl
;
import
com.github.pagehelper.PageInfo
;
import
com.wwdz.ch.admin.service.AdminCollectService
;
import
com.wwdz.ch.db.dao.dts.DtsCollectDao
;
import
com.wwdz.ch.db.domain.CollectObsolete
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
@Service
public
class
AdminCollectServiceImpl
implements
AdminCollectService
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
AdminCollectServiceImpl
.
class
);
@Autowired
private
DtsCollectDao
dtsCollectDao
;
@Override
public
Object
findList
(
String
userId
,
String
valueId
,
Integer
page
,
Integer
size
,
String
sort
,
String
order
)
{
List
<
CollectObsolete
>
collectList
=
dtsCollectDao
.
querySelective
(
userId
,
valueId
,
page
,
size
,
sort
,
order
);
long
total
=
PageInfo
.
of
(
collectList
).
getTotal
();
Map
<
String
,
Object
>
data
=
new
HashMap
<>();
data
.
put
(
"total"
,
total
);
data
.
put
(
"items"
,
collectList
);
return
data
;
}
}
ch-admin-api/src/main/java/com/wwdz/ch/admin/impl/AdminDashbordServiceImpl.java
0 → 100644
View file @
3dc95b53
package
com.wwdz.ch.admin.impl
;
import
com.wwdz.ch.admin.controller.AdminDashbordController
;
import
com.wwdz.ch.admin.service.AdminDashbordService
;
import
com.wwdz.ch.db.dao.ItemDao
;
import
com.wwdz.ch.db.dao.dts.DtsUserDao
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.HashMap
;
import
java.util.Map
;
@Service
public
class
AdminDashbordServiceImpl
implements
AdminDashbordService
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
AdminDashbordServiceImpl
.
class
);
@Autowired
private
DtsUserDao
userService
;
@Autowired
private
ItemDao
itemDao
;
@Override
public
Object
info
()
{
int
userTotal
=
userService
.
count
();
int
goodsTotal
=
itemDao
.
count
();
// int productTotal = productService.count();
Map
<
String
,
Integer
>
data
=
new
HashMap
<>();
data
.
put
(
"userTotal"
,
userTotal
);
data
.
put
(
"goodsTotal"
,
goodsTotal
);
// data.put("productTotal", productTotal);
return
data
;
}
}
ch-admin-api/src/main/java/com/wwdz/ch/admin/impl/AdminDataAuthServiceImpl.java
0 → 100644
View file @
3dc95b53
package
com.wwdz.ch.admin.impl
;
import
java.util.Set
;
import
com.wwdz.ch.admin.service.AdminDataAuthService
;
import
com.wwdz.ch.db.dao.dts.DtsRoleDao
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
com.wwdz.ch.admin.util.AuthSupport
;
import
com.wwdz.ch.db.domain.Admin
;
@Service
public
class
AdminDataAuthServiceImpl
implements
AdminDataAuthService
{
@Autowired
private
DtsRoleDao
dtsRoleDao
;
/**
* 是否属于运营商管理员,超级管理员除外
* @return
*/
@Override
public
boolean
isBrandManager
()
{
Integer
[]
roleIds
=
null
;
Admin
currentUser
=
AuthSupport
.
currentUser
();
if
(
currentUser
!=
null
)
{
roleIds
=
currentUser
.
getRoleIds
();
Set
<
String
>
roles
=
dtsRoleDao
.
queryByIds
(
roleIds
);
//仅仅只是品牌管理员且不属于超级管理员
if
(
roles
.
contains
(
AuthSupport
.
BRAND_ROLE_NAME
)
&&
!
roles
.
contains
(
AuthSupport
.
SUPER_ROLE_NAME
))
{
return
true
;
}
}
return
false
;
}
}
ch-admin-api/src/main/java/com/wwdz/ch/admin/impl/AdminFeedbackServiceImpl.java
0 → 100644
View file @
3dc95b53
package
com.wwdz.ch.admin.impl
;
import
com.github.pagehelper.PageInfo
;
import
com.wwdz.ch.admin.controller.AdminFeedbackController
;
import
com.wwdz.ch.admin.service.AdminFeedbackService
;
import
com.wwdz.ch.db.dao.dts.DtsFeedbackDao
;
import
com.wwdz.ch.db.domain.Feedback
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
@Service
public
class
AdminFeedbackServiceImpl
implements
AdminFeedbackService
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
AdminFeedbackServiceImpl
.
class
);
@Autowired
private
DtsFeedbackDao
dtsFeedbackDao
;
@Override
public
Object
findList
(
Long
userId
,
String
username
,
Integer
page
,
Integer
limit
,
String
sort
,
String
order
)
{
List
<
Feedback
>
feedbackList
=
dtsFeedbackDao
.
querySelective
(
userId
,
username
,
page
,
limit
,
sort
,
order
);
long
total
=
PageInfo
.
of
(
feedbackList
).
getTotal
();
Map
<
String
,
Object
>
data
=
new
HashMap
<>();
data
.
put
(
"total"
,
total
);
data
.
put
(
"items"
,
feedbackList
);
return
data
;
}
}
ch-admin-api/src/main/java/com/wwdz/ch/admin/impl/AdminFootprintServiceImpl.java
0 → 100644
View file @
3dc95b53
package
com.wwdz.ch.admin.impl
;
import
com.github.pagehelper.PageInfo
;
import
com.wwdz.ch.admin.service.AdminFootprintService
;
import
com.wwdz.ch.db.dao.dts.DtsFootprintDao
;
import
com.wwdz.ch.db.domain.Footprint
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
@Service
public
class
AdminFootprintServiceImpl
implements
AdminFootprintService
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
AdminFootprintServiceImpl
.
class
);
@Autowired
private
DtsFootprintDao
dtsFootprintDao
;
@Override
public
Object
findList
(
String
userId
,
String
coinsId
,
Integer
page
,
Integer
size
,
String
sort
,
String
order
)
{
List
<
Footprint
>
footprintList
=
dtsFootprintDao
.
querySelective
(
userId
,
coinsId
,
page
,
size
,
sort
,
order
);
long
total
=
PageInfo
.
of
(
footprintList
).
getTotal
();
Map
<
String
,
Object
>
data
=
new
HashMap
<>();
data
.
put
(
"total"
,
total
);
data
.
put
(
"items"
,
footprintList
);
return
data
;
}
}
ch-admin-api/src/main/java/com/wwdz/ch/admin/impl/AdminGoodsServiceImpl.java
0 → 100644
View file @
3dc95b53
package
com.wwdz.ch.admin.impl
;
import
java.util.*
;
import
java.util.stream.Collectors
;
import
com.wwdz.ch.admin.entity.vo.ItemVo
;
import
com.wwdz.ch.admin.service.AdminGoodsService
;
import
com.wwdz.ch.db.dao.CategoryDao
;
import
com.wwdz.ch.db.dao.ItemDao
;
import
com.wwdz.ch.db.domain.*
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.util.StringUtils
;
import
com.alibaba.fastjson.JSONObject
;
import
com.github.pagehelper.PageInfo
;
import
com.wwdz.ch.core.qcode.QCodeService
;
import
com.wwdz.ch.core.util.ResponseUtil
;
@Service
public
class
AdminGoodsServiceImpl
implements
AdminGoodsService
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
AdminGoodsServiceImpl
.
class
);
@Autowired
private
ItemDao
itemDao
;
@Autowired
private
CategoryDao
categoryDao
;
@Autowired
private
QCodeService
qCodeService
;
@Override
public
Object
list
(
String
name
,
Integer
page
,
Integer
limit
,
String
sort
,
String
order
)
{
Map
<
String
,
Object
>
data
=
new
HashMap
<>();
try
{
List
<
Item
>
itemList
=
itemDao
.
querySelective
(
name
,
page
,
limit
,
sort
,
order
);
long
total
=
PageInfo
.
of
(
itemList
).
getTotal
();
List
<
ItemVo
>
itemVoList
=
new
ArrayList
<>();
itemVoList
=
itemList
.
stream
().
map
(
i
->
ItemVo
.
fromItem
(
i
)).
collect
(
Collectors
.
toList
());
data
.
put
(
"total"
,
total
);
data
.
put
(
"items"
,
itemVoList
);
logger
.
info
(
"【请求结束】商品管理->商品管理->查询,响应结果:{}"
,
JSONObject
.
toJSONString
(
data
));
return
ResponseUtil
.
ok
(
data
);
}
catch
(
Exception
e
)
{
logger
.
error
(
"钱币列表 error {}"
,
e
);
}
return
ResponseUtil
.
fail
();
}
private
Object
validate
(
Item
item
)
{
String
name
=
item
.
getName
();
if
(
StringUtils
.
isEmpty
(
name
))
{
return
ResponseUtil
.
badArgument
();
}
// 分类可以不设置,如果设置则需要验证分类存在
Integer
categoryId
=
item
.
getCid
();
if
(
categoryId
!=
null
&&
categoryId
!=
0
)
{
if
(
categoryDao
.
findById
(
categoryId
)
==
null
)
{
return
ResponseUtil
.
badArgumentValue
();
}
}
return
null
;
}
/**
* 编辑商品
* <p>
* TODO 目前商品修改的逻辑是 1. 更新Dts_goods表 2.
* 逻辑删除Dts_goods_specification、Dts_goods_attribute、Dts_goods_product 3.
* 添加Dts_goods_specification、Dts_goods_attribute、Dts_goods_product
* <p>
* 这里商品三个表的数据采用删除再添加的策略是因为 商品编辑页面,支持管理员添加删除商品规格、添加删除商品属性,因此这里仅仅更新是不可能的,
* 只能删除三个表旧的数据,然后添加新的数据。 但是这里又会引入新的问题,就是存在订单商品货品ID指向了失效的商品货品表。
* 因此这里会拒绝管理员编辑商品,如果订单或购物车中存在商品。 所以这里可能需要重新设计。
*/
@Override
public
Object
update
(
Item
item
)
{
logger
.
error
(
"商品管理->商品管理->编辑商品item :{}"
,
item
);
Object
error
=
validate
(
item
);
if
(
error
!=
null
)
{
return
error
;
}
//如果该商品为标准件则替换原有的标准件
if
(
item
.
getIsStd
())
{
//查询出该分类下原有的标准件
Item
oldStanardItem
=
itemDao
.
findStandard
(
item
.
getCid
());
if
(
oldStanardItem
!=
null
)
{
itemDao
.
cancelStandardItem
(
oldStanardItem
.
getId
());
}
}
Long
id
=
item
.
getId
();
Item
oldItem
=
itemDao
.
findDetails
(
id
);
oldItem
.
setName
(
item
.
getName
());
oldItem
.
setCid
(
item
.
getCid
());
oldItem
.
setDetail
(
item
.
getDetail
());
oldItem
.
setImages
(
item
.
getImages
());
oldItem
.
setPrice
(
item
.
getPrice
());
oldItem
.
setIsOnSale
(
item
.
getIsOnSale
());
oldItem
.
setIsStd
(
item
.
getIsStd
());
oldItem
.
setTopImage
(
item
.
getTopImage
());
if
(
itemDao
.
updateById
(
oldItem
)
==
0
)
{
logger
.
error
(
"商品管理->商品管理->编辑错误:{}"
,
"更新数据失败"
);
throw
new
RuntimeException
(
"更新数据失败"
);
}
logger
.
info
(
"【请求结束】商品管理->商品管理->编辑,响应结果:{}"
,
"成功!"
);
return
ResponseUtil
.
ok
();
}
@Override
@Transactional
public
Object
delete
(
Item
item
)
{
Long
id
=
item
.
getId
();
if
(
id
==
null
)
{
return
ResponseUtil
.
badArgument
();
}
Long
gid
=
item
.
getId
();
itemDao
.
deleteById
(
id
);
logger
.
info
(
"【请求结束】商品管理->商品管理->删除,响应结果:{}"
,
"成功!"
);
return
ResponseUtil
.
ok
();
}
@Override
@Transactional
public
Object
create
(
Item
item
)
{
Object
error
=
validate
(
item
);
if
(
error
!=
null
)
{
return
error
;
}
Date
now
=
new
Date
();
// 商品基本信息表Dts_goods
item
.
setCreateTime
(
now
);
item
.
setUpdateTime
(
now
);
item
.
setIsDeleted
(
false
);
itemDao
.
add
(
item
);
// 将生成的分享图片地址写入数据库
/* String url = qCodeService.createGoodShareImage(null, item.getId().toString(), item.getImages().split(";")[0], item.getName(), item.getPrice());
if (!StringUtils.isEmpty(url)) {
item.setShareImage(url);
if (itemService.updateById(item) == 0) {
logger.error("商品管理->商品管理->上架错误:{}", "更新数据失败");
throw new RuntimeException("更新数据失败");
}
}*/
logger
.
info
(
"【请求结束】商品管理->商品管理->上架,响应结果:{}"
,
"成功!"
);
return
ResponseUtil
.
ok
();
}
@Override
public
Object
detail
(
Long
id
)
{
Item
item
=
itemDao
.
findById
(
id
);
//用于展示商品归属的类目(页面级联下拉控件数据展示)
Integer
categoryId
=
item
.
getCid
();
Category
category
=
categoryDao
.
findById
(
categoryId
);
List
<
Integer
>
categoryIds
=
new
ArrayList
<>();
if
(
null
!=
category
)
{
categoryIds
.
add
(
0
,
category
.
getId
());
Integer
pid
=
category
.
getPid
();
while
(
pid
!=
0
)
{
categoryIds
.
add
(
0
,
pid
);
Category
pCategory
=
categoryDao
.
findById
(
pid
);
if
(
null
!=
pCategory
)
{
pid
=
pCategory
.
getPid
();
}
else
{
break
;
}
}
}
Map
<
String
,
Object
>
data
=
new
HashMap
<>();
data
.
put
(
"goods"
,
ItemVo
.
fromItem
(
item
));
data
.
put
(
"categoryIds"
,
categoryIds
.
toArray
());
logger
.
info
(
"【请求结束】商品管理->商品管理->详情,响应结果:{}"
,
"成功!"
);
return
ResponseUtil
.
ok
(
data
);
}
}
ch-admin-api/src/main/java/com/wwdz/ch/admin/impl/AdminHistoryServiceImpl.java
0 → 100644
View file @
3dc95b53
package
com.wwdz.ch.admin.impl
;
import
com.github.pagehelper.PageInfo
;
import
com.wwdz.ch.admin.service.AdminHistoryService
;
import
com.wwdz.ch.db.dao.dts.DtsSearchHistoryDao
;
import
com.wwdz.ch.db.domain.SearchHistory
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
@Service
public
class
AdminHistoryServiceImpl
implements
AdminHistoryService
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
AdminHistoryServiceImpl
.
class
);
@Autowired
private
DtsSearchHistoryDao
dtsSearchHistoryDao
;
@Override
public
Object
findList
(
String
userId
,
String
keyword
,
Integer
page
,
Integer
size
,
String
sort
,
String
order
)
{
List
<
SearchHistory
>
footprintList
=
dtsSearchHistoryDao
.
querySelective
(
userId
,
keyword
,
page
,
size
,
sort
,
order
);
long
total
=
PageInfo
.
of
(
footprintList
).
getTotal
();
Map
<
String
,
Object
>
data
=
new
HashMap
<>();
data
.
put
(
"total"
,
total
);
data
.
put
(
"items"
,
footprintList
);
return
data
;
}
}
ch-admin-api/src/main/java/com/wwdz/ch/admin/impl/AdminIssueServiceImpl.java
0 → 100644
View file @
3dc95b53
package
com.wwdz.ch.admin.impl
;
import
com.alibaba.fastjson.JSONObject
;
import
com.github.pagehelper.PageInfo
;
import
com.wwdz.ch.admin.controller.AdminIssueController
;
import
com.wwdz.ch.admin.service.AdminIssueService
;
import
com.wwdz.ch.core.util.ResponseUtil
;
import
com.wwdz.ch.db.dao.dts.DtsIssueDao
;
import
com.wwdz.ch.db.domain.Admin
;
import
com.wwdz.ch.db.domain.Issue
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
@Service
public
class
AdminIssueServiceImpl
implements
AdminIssueService
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
AdminIssueServiceImpl
.
class
);
@Autowired
private
DtsIssueDao
dtsIssueDao
;
@Override
public
Object
findList
(
String
question
,
Integer
page
,
Integer
size
,
String
sort
,
String
order
)
{
List
<
Issue
>
issueList
=
dtsIssueDao
.
querySelective
(
question
,
page
,
size
,
sort
,
order
);
long
total
=
PageInfo
.
of
(
issueList
).
getTotal
();
Map
<
String
,
Object
>
data
=
new
HashMap
<>();
data
.
put
(
"total"
,
total
);
data
.
put
(
"items"
,
issueList
);
return
data
;
}
@Override
public
Object
create
(
Issue
issue
)
{
try
{
dtsIssueDao
.
add
(
issue
);
logger
.
info
(
"【请求结束】商场管理->通用问题->添加,响应结果:{}"
,
JSONObject
.
toJSONString
(
issue
));
return
ResponseUtil
.
ok
(
issue
);
}
catch
(
Exception
e
)
{
logger
.
error
(
"商场管理->通用问题->添加 error:{}"
,
e
);
}
return
ResponseUtil
.
fail
();
}
@Override
public
Issue
read
(
Integer
id
)
{
Issue
issue
=
dtsIssueDao
.
findById
(
id
);
return
issue
;
}
@Override
public
Object
update
(
Issue
issue
)
{
if
(
dtsIssueDao
.
updateById
(
issue
)
==
0
)
{
logger
.
error
(
"商场管理->通用问题->编辑 失败:{}"
,
"更新数据失败!"
);
return
ResponseUtil
.
updatedDataFailed
();
}
logger
.
info
(
"【请求结束】商场管理->通用问题->编辑,响应结果:{}"
,
JSONObject
.
toJSONString
(
issue
));
return
ResponseUtil
.
ok
(
issue
);
}
@Override
public
Object
deleteById
(
Integer
id
)
{
try
{
dtsIssueDao
.
deleteById
(
id
);
logger
.
info
(
"【请求结束】商场管理->通用问题->删除,响应结果:{}"
,
"成功!"
);
return
ResponseUtil
.
ok
();
}
catch
(
Exception
e
)
{
logger
.
error
(
"商场管理->通用问题->删除 error:{}"
,
e
);
}
return
ResponseUtil
.
fail
();
}
}
ch-admin-api/src/main/java/com/wwdz/ch/admin/impl/AdminKeywordServiceImpl.java
0 → 100644
View file @
3dc95b53
package
com.wwdz.ch.admin.impl
;
import
com.alibaba.fastjson.JSONObject
;
import
com.github.pagehelper.PageInfo
;
import
com.wwdz.ch.admin.service.AdminKeywordService
;
import
com.wwdz.ch.core.util.ResponseUtil
;
import
com.wwdz.ch.db.dao.dts.DtsKeywordDao
;
import
com.wwdz.ch.db.domain.Keyword
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
@Service
public
class
AdminKeywordServiceImpl
implements
AdminKeywordService
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
AdminKeywordServiceImpl
.
class
);
@Autowired
private
DtsKeywordDao
dtsKeywordDao
;
@Override
public
Object
findList
(
String
keyword
,
String
url
,
Integer
page
,
Integer
limit
,
String
sort
,
String
order
)
{
List
<
Keyword
>
brandList
=
dtsKeywordDao
.
querySelective
(
keyword
,
url
,
page
,
limit
,
sort
,
order
);
long
total
=
PageInfo
.
of
(
brandList
).
getTotal
();
Map
<
String
,
Object
>
data
=
new
HashMap
<>();
data
.
put
(
"total"
,
total
);
data
.
put
(
"items"
,
brandList
);
return
data
;
}
@Override
public
Object
create
(
Keyword
issue
)
{
try
{
dtsKeywordDao
.
add
(
issue
);
logger
.
info
(
"【请求结束】商场管理->关键词->添加,响应结果:{}"
,
JSONObject
.
toJSONString
(
issue
));
return
ResponseUtil
.
ok
(
issue
);
}
catch
(
Exception
e
)
{
logger
.
error
(
"商场管理->关键词->添加 error:{}"
,
e
);
}
return
ResponseUtil
.
fail
();
}
@Override
public
Keyword
read
(
Integer
id
)
{
Keyword
keyword
=
dtsKeywordDao
.
findById
(
id
);
return
keyword
;
}
@Override
public
Object
update
(
Keyword
keyword
)
{
if
(
dtsKeywordDao
.
updateById
(
keyword
)
==
0
)
{
logger
.
error
(
"商场管理->关键词->编辑 失败:{}"
,
"更新数据失败!"
);
return
ResponseUtil
.
updatedDataFailed
();
}
logger
.
info
(
"【请求结束】商场管理->关键词->编辑,响应结果:{}"
,
JSONObject
.
toJSONString
(
keyword
));
return
ResponseUtil
.
ok
(
keyword
);
}
@Override
public
Object
deleteById
(
Integer
id
)
{
try
{
dtsKeywordDao
.
deleteById
(
id
);
logger
.
info
(
"【请求结束】商场管理->关键词->删除,响应结果:{}"
,
"成功!"
);
return
ResponseUtil
.
ok
();
}
catch
(
Exception
e
)
{
logger
.
error
(
"商场管理->关键词->删除 error:{}"
,
e
);
}
return
ResponseUtil
.
fail
();
}
@Override
public
Object
updateById
(
Keyword
keyword
)
{
try
{
if
(
dtsKeywordDao
.
updateById
(
keyword
)
==
0
)
{
logger
.
info
(
"商场管理->关键词->编辑 错误:{}"
,
"更新数据失败!"
);
return
ResponseUtil
.
updatedDataFailed
();
}
logger
.
info
(
"【请求结束】商场管理->关键词->编辑,响应结果:{}"
,
JSONObject
.
toJSONString
(
keyword
));
return
ResponseUtil
.
ok
(
keyword
);
}
catch
(
Exception
e
)
{
logger
.
error
(
"商场管理->关键词->编辑 error:{}"
,
e
);
}
return
ResponseUtil
.
fail
();
}
}
ch-admin-api/src/main/java/com/wwdz/ch/admin/impl/AdminRoleServiceImpl.java
0 → 100644
View file @
3dc95b53
package
com.wwdz.ch.admin.impl
;
import
com.alibaba.fastjson.JSONObject
;
import
com.github.pagehelper.PageInfo
;
import
com.wwdz.ch.admin.service.AdminRoleService
;
import
com.wwdz.ch.admin.util.*
;
import
com.wwdz.ch.core.util.JacksonUtil
;
import
com.wwdz.ch.core.util.ResponseUtil
;
import
com.wwdz.ch.db.dao.dts.DtsPermissionDao
;
import
com.wwdz.ch.db.dao.dts.DtsRoleDao
;
import
com.wwdz.ch.db.domain.Permission
;
import
com.wwdz.ch.db.domain.Role
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.context.ApplicationContext
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.StringUtils
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
javax.validation.constraints.NotNull
;
import
java.util.*
;
@Service
public
class
AdminRoleServiceImpl
implements
AdminRoleService
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
AdminRoleServiceImpl
.
class
);
@Autowired
private
DtsRoleDao
dtsRoleDao
;
@Autowired
private
DtsPermissionDao
dtsPermissionDao
;
@Override
public
Object
findList
(
String
roleName
,
Integer
page
,
Integer
size
,
String
sort
,
String
order
)
{
List
<
Role
>
roleList
=
dtsRoleDao
.
querySelective
(
roleName
,
page
,
size
,
sort
,
order
);
long
total
=
PageInfo
.
of
(
roleList
).
getTotal
();
Map
<
String
,
Object
>
data
=
new
HashMap
<>();
data
.
put
(
"total"
,
total
);
data
.
put
(
"items"
,
roleList
);
return
data
;
}
@Override
public
Object
options
()
{
List
<
Role
>
roleList
=
dtsRoleDao
.
queryAll
();
logger
.
info
(
"【请求开始】操作人:["
+
AuthSupport
.
userName
()+
"] 系统管理->角色管理->查询所有角色"
);
List
<
Map
<
String
,
Object
>>
options
=
new
ArrayList
<>(
roleList
.
size
());
for
(
Role
role
:
roleList
)
{
Map
<
String
,
Object
>
option
=
new
HashMap
<>(
2
);
option
.
put
(
"value"
,
role
.
getId
());
option
.
put
(
"label"
,
role
.
getName
());
options
.
add
(
option
);
}
logger
.
info
(
"【请求结束】系统管理->角色管理->查询所有角色,响应结果:{}"
,
JSONObject
.
toJSONString
(
options
));
return
ResponseUtil
.
ok
(
options
);
}
@Override
public
Object
read
(
@NotNull
Integer
id
)
{
logger
.
info
(
"【请求开始】操作人:["
+
AuthSupport
.
userName
()+
"] 系统管理->角色管理->角色详情,请求参数,id:{}"
,
id
);
Role
role
=
dtsRoleDao
.
findById
(
id
);
logger
.
info
(
"【请求结束】系统管理->角色管理->角色详情,响应结果:{}"
,
JSONObject
.
toJSONString
(
role
));
return
ResponseUtil
.
ok
(
role
);
}
private
Object
validate
(
Role
role
)
{
String
name
=
role
.
getName
();
if
(
StringUtils
.
isEmpty
(
name
))
{
return
ResponseUtil
.
badArgument
();
}
return
null
;
}
@Override
public
Object
create
(
Role
role
)
{
Object
error
=
validate
(
role
);
if
(
error
!=
null
)
{
return
error
;
}
if
(
dtsRoleDao
.
checkExist
(
role
.
getName
()))
{
logger
.
info
(
"系统管理->角色管理->角色添加错误:{}"
,
AdminResponseCode
.
ROLE_NAME_EXIST
.
desc
());
return
AdminResponseUtil
.
fail
(
AdminResponseCode
.
ROLE_NAME_EXIST
);
}
dtsRoleDao
.
add
(
role
);
logger
.
info
(
"【请求结束】系统管理->角色管理->角色添加,响应结果:{}"
,
JSONObject
.
toJSONString
(
role
));
return
ResponseUtil
.
ok
(
role
);
}
@Override
public
Object
update
(
Role
role
)
{
Object
error
=
validate
(
role
);
if
(
error
!=
null
)
{
return
error
;
}
dtsRoleDao
.
updateById
(
role
);
logger
.
info
(
"【请求结束】系统管理->角色管理->角色编辑,响应结果:{}"
,
"成功!"
);
return
ResponseUtil
.
ok
();
}
@Override
public
Object
delete
(
Role
role
)
{
Integer
id
=
role
.
getId
();
if
(
id
==
null
)
{
return
ResponseUtil
.
badArgument
();
}
dtsRoleDao
.
deleteById
(
id
);
logger
.
info
(
"【请求结束】系统管理->角色管理->角色删除,响应结果:{}"
,
"成功!"
);
return
ResponseUtil
.
ok
();
}
@Autowired
private
ApplicationContext
context
;
private
List
<
PermVo
>
systemPermissions
=
null
;
private
Set
<
String
>
systemPermissionsString
=
null
;
public
List
<
PermVo
>
getSystemPermissions
()
{
final
String
basicPackage
=
"com.wwdz.ch.admin"
;
if
(
systemPermissions
==
null
)
{
List
<
com
.
wwdz
.
ch
.
admin
.
util
.
Permission
>
permissions
=
PermissionUtil
.
listPermission
(
context
,
basicPackage
);
systemPermissions
=
PermissionUtil
.
listPermVo
(
permissions
);
systemPermissionsString
=
PermissionUtil
.
listPermissionString
(
permissions
);
}
return
systemPermissions
;
}
public
Set
<
String
>
getAssignedPermissions
(
Integer
roleId
)
{
// 这里需要注意的是,如果存在超级权限*,那么这里需要转化成当前所有系统权限。
// 之所以这么做,是因为前端不能识别超级权限,所以这里需要转换一下。
Set
<
String
>
assignedPermissions
=
null
;
if
(
dtsPermissionDao
.
checkSuperPermission
(
roleId
))
{
getSystemPermissions
();
assignedPermissions
=
systemPermissionsString
;
}
else
{
assignedPermissions
=
dtsPermissionDao
.
queryByRoleId
(
roleId
);
}
return
assignedPermissions
;
}
@Override
public
Object
getPermissions
(
Integer
roleId
)
{
List
<
PermVo
>
systemPermissions
=
getSystemPermissions
();
Set
<
String
>
assignedPermissions
=
getAssignedPermissions
(
roleId
);
Map
<
String
,
Object
>
data
=
new
HashMap
<>();
data
.
put
(
"systemPermissions"
,
systemPermissions
);
data
.
put
(
"assignedPermissions"
,
assignedPermissions
);
logger
.
info
(
"【请求结束】系统管理->角色管理->权限详情,响应结果:{}"
,
JSONObject
.
toJSONString
(
data
));
return
ResponseUtil
.
ok
(
data
);
}
/**
* 更新管理员的权限
*
* @param body
* @return
*/
@Override
public
Object
updatePermissions
(
@RequestBody
String
body
)
{
Integer
roleId
=
JacksonUtil
.
parseInteger
(
body
,
"roleId"
);
List
<
String
>
permissions
=
JacksonUtil
.
parseStringList
(
body
,
"permissions"
);
if
(
roleId
==
null
||
permissions
==
null
)
{
return
ResponseUtil
.
badArgument
();
}
// 如果修改的角色是超级权限,则拒绝修改。
if
(
dtsPermissionDao
.
checkSuperPermission
(
roleId
))
{
logger
.
error
(
"系统管理->角色管理->权限变更 错误:{}"
,
AdminResponseCode
.
ROLE_SUPER_SUPERMISSION
.
desc
());
return
AdminResponseUtil
.
fail
(
AdminResponseCode
.
ROLE_SUPER_SUPERMISSION
);
}
// 先删除旧的权限,再更新新的权限
dtsPermissionDao
.
deleteByRoleId
(
roleId
);
for
(
String
permission
:
permissions
)
{
Permission
permission1
=
new
Permission
();
permission1
.
setRoleId
(
roleId
);
permission1
.
setPermission
(
permission
);
dtsPermissionDao
.
add
(
permission1
);
}
logger
.
info
(
"【请求结束】系统管理->角色管理->权限变更,响应结果:{}"
,
"成功!"
);
return
ResponseUtil
.
ok
();
}
}
ch-admin-api/src/main/java/com/wwdz/ch/admin/impl/AdminServiceImpl.java
0 → 100644
View file @
3dc95b53
package
com.wwdz.ch.admin.impl
;
import
com.alibaba.fastjson.JSONObject
;
import
com.github.pagehelper.PageInfo
;
import
com.wwdz.ch.admin.service.AdminService
;
import
com.wwdz.ch.admin.util.AdminResponseCode
;
import
com.wwdz.ch.admin.util.AdminResponseUtil
;
import
com.wwdz.ch.core.util.ResponseUtil
;
import
com.wwdz.ch.core.util.bcrypt.BCryptPasswordEncoder
;
import
com.wwdz.ch.db.dao.dts.DtsAdminDao
;
import
com.wwdz.ch.db.domain.Admin
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
@Service
public
class
AdminServiceImpl
implements
AdminService
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
AdminServiceImpl
.
class
);
@Autowired
private
DtsAdminDao
dtsAdminDao
;
@Override
public
Object
findList
(
String
username
,
Integer
page
,
Integer
limit
,
String
sort
,
String
order
)
{
List
<
Admin
>
adminList
=
dtsAdminDao
.
querySelective
(
username
,
page
,
limit
,
sort
,
order
);
long
total
=
PageInfo
.
of
(
adminList
).
getTotal
();
Map
<
String
,
Object
>
data
=
new
HashMap
<>();
data
.
put
(
"total"
,
total
);
data
.
put
(
"items"
,
adminList
);
return
data
;
}
@Override
public
Object
create
(
Admin
admin
)
{
try
{
String
username
=
admin
.
getUsername
();
List
<
Admin
>
adminList
=
dtsAdminDao
.
findAdmin
(
username
);
if
(
adminList
.
size
()
>
0
)
{
logger
.
error
(
"系统管理->管理员管理->添加 ,错误:{}"
,
AdminResponseCode
.
ADMIN_NAME_EXIST
.
desc
());
return
AdminResponseUtil
.
fail
(
AdminResponseCode
.
ADMIN_NAME_EXIST
);
}
String
rawPassword
=
admin
.
getPassword
();
BCryptPasswordEncoder
encoder
=
new
BCryptPasswordEncoder
();
String
encodedPassword
=
encoder
.
encode
(
rawPassword
);
admin
.
setPassword
(
encodedPassword
);
dtsAdminDao
.
add
(
admin
);
logger
.
info
(
"【请求结束】系统管理->管理员管理->添加,响应结果:{}"
,
JSONObject
.
toJSONString
(
admin
));
return
ResponseUtil
.
ok
(
admin
);
}
catch
(
Exception
e
)
{
logger
.
error
(
"系统管理->管理员管理->添加 ,错误:{}"
,
e
);
}
return
ResponseUtil
.
fail
();
}
@Override
public
Admin
read
(
Integer
id
)
{
Admin
admin
=
dtsAdminDao
.
findById
(
id
);
return
admin
;
}
@Override
public
Object
update
(
Admin
admin
)
{
Integer
anotherAdminId
=
admin
.
getId
();
if
(
anotherAdminId
==
null
)
{
return
ResponseUtil
.
badArgument
();
}
try
{
String
rawPassword
=
admin
.
getPassword
();
BCryptPasswordEncoder
encoder
=
new
BCryptPasswordEncoder
();
String
encodedPassword
=
encoder
.
encode
(
rawPassword
);
admin
.
setPassword
(
encodedPassword
);
if
(
dtsAdminDao
.
updateById
(
admin
)
==
0
)
{
logger
.
error
(
"系统管理->管理员管理-编辑 ,错误:{}"
,
"更新数据失败!"
);
return
ResponseUtil
.
updatedDataFailed
();
}
logger
.
info
(
"【请求结束】系统管理->管理员管理->编辑,响应结果:{}"
,
JSONObject
.
toJSONString
(
admin
));
return
ResponseUtil
.
ok
(
admin
);
}
catch
(
Exception
e
)
{
logger
.
error
(
"管理员管理->编辑 ,错误:{}"
,
e
);
}
return
ResponseUtil
.
fail
();
}
@Override
public
int
updateById
(
Admin
admin
)
{
return
dtsAdminDao
.
updateById
(
admin
);
}
@Override
public
Object
deleteById
(
Integer
id
)
{
try
{
dtsAdminDao
.
deleteById
(
id
);
logger
.
info
(
"【请求结束】系统管理->管理员管理->删除 成功!"
);
return
ResponseUtil
.
ok
();
}
catch
(
Exception
e
)
{
logger
.
error
(
"管理员管理->删除 ,错误:{}"
,
e
);
}
return
ResponseUtil
.
fail
();
}
}
ch-admin-api/src/main/java/com/wwdz/ch/admin/impl/AdminUserServiceImpl.java
0 → 100644
View file @
3dc95b53
package
com.wwdz.ch.admin.impl
;
import
com.github.pagehelper.PageInfo
;
import
com.wwdz.ch.admin.controller.AdminUserController
;
import
com.wwdz.ch.admin.service.AdminUserService
;
import
com.wwdz.ch.db.dao.dts.DtsUserDao
;
import
com.wwdz.ch.db.domain.User
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
@Service
public
class
AdminUserServiceImpl
implements
AdminUserService
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
AdminUserServiceImpl
.
class
);
@Autowired
private
DtsUserDao
dtsUserDao
;
@Override
public
Object
findList
(
String
username
,
String
mobile
,
Integer
page
,
Integer
size
,
String
sort
,
String
order
)
{
List
<
User
>
userList
=
dtsUserDao
.
querySelective
(
username
,
mobile
,
page
,
size
,
sort
,
order
);
long
total
=
PageInfo
.
of
(
userList
).
getTotal
();
Map
<
String
,
Object
>
data
=
new
HashMap
<>();
data
.
put
(
"total"
,
total
);
data
.
put
(
"items"
,
userList
);
return
data
;
}
}
ch-admin-api/src/main/java/com/wwdz/ch/admin/service/AdminAuthService.java
0 → 100644
View file @
3dc95b53
package
com.wwdz.ch.admin.service
;
public
interface
AdminAuthService
{
Object
info
();
/**
* 生成验证码
* @return
*/
Object
getCode
();
}
ch-admin-api/src/main/java/com/wwdz/ch/admin/service/AdminCollectService.java
0 → 100644
View file @
3dc95b53
package
com.wwdz.ch.admin.service
;
public
interface
AdminCollectService
{
Object
findList
(
String
userId
,
String
valueId
,
Integer
page
,
Integer
size
,
String
sort
,
String
order
);
}
ch-admin-api/src/main/java/com/wwdz/ch/admin/service/AdminDashbordService.java
0 → 100644
View file @
3dc95b53
package
com.wwdz.ch.admin.service
;
public
interface
AdminDashbordService
{
Object
info
();
}
ch-admin-api/src/main/java/com/wwdz/ch/admin/service/AdminDataAuthService.java
View file @
3dc95b53
package
com.wwdz.ch.admin.service
;
import
java.util.Set
;
import
com.wwdz.ch.db.dao.dts.DtsRoleDao
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
com.wwdz.ch.admin.util.AuthSupport
;
import
com.wwdz.ch.db.domain.Admin
;
@Service
public
class
AdminDataAuthService
{
@Autowired
private
DtsRoleDao
dtsRoleDao
;
/**
* 是否属于运营商管理员,超级管理员除外
* @return
*/
public
boolean
isBrandManager
()
{
Integer
[]
roleIds
=
null
;
Admin
currentUser
=
AuthSupport
.
currentUser
();
if
(
currentUser
!=
null
)
{
roleIds
=
currentUser
.
getRoleIds
();
Set
<
String
>
roles
=
dtsRoleDao
.
queryByIds
(
roleIds
);
//仅仅只是品牌管理员且不属于超级管理员
if
(
roles
.
contains
(
AuthSupport
.
BRAND_ROLE_NAME
)
&&
!
roles
.
contains
(
AuthSupport
.
SUPER_ROLE_NAME
))
{
return
true
;
}
}
return
false
;
}
public
interface
AdminDataAuthService
{
boolean
isBrandManager
();
}
ch-admin-api/src/main/java/com/wwdz/ch/admin/service/AdminFeedbackService.java
0 → 100644
View file @
3dc95b53
package
com.wwdz.ch.admin.service
;
public
interface
AdminFeedbackService
{
Object
findList
(
Long
userId
,
String
username
,
Integer
page
,
Integer
limit
,
String
sort
,
String
order
);
}
ch-admin-api/src/main/java/com/wwdz/ch/admin/service/AdminFootprintService.java
0 → 100644
View file @
3dc95b53
package
com.wwdz.ch.admin.service
;
public
interface
AdminFootprintService
{
Object
findList
(
String
userId
,
String
coinsId
,
Integer
page
,
Integer
size
,
String
sort
,
String
order
);
}
ch-admin-api/src/main/java/com/wwdz/ch/admin/service/AdminGoodsService.java
View file @
3dc95b53
package
com.wwdz.ch.admin.service
;
import
java.util.*
;
import
java.util.stream.Collectors
;
import
com.wwdz.ch.admin.entity.vo.ItemVo
;
import
com.wwdz.ch.db.dao.CategoryDao
;
import
com.wwdz.ch.db.dao.ItemDao
;
import
com.wwdz.ch.db.domain.*
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
com.wwdz.ch.db.domain.Item
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.util.StringUtils
;
import
com.alibaba.fastjson.JSONObject
;
import
com.github.pagehelper.PageInfo
;
import
com.wwdz.ch.core.qcode.QCodeService
;
import
com.wwdz.ch.core.util.ResponseUtil
;
@Service
public
class
AdminGoodsService
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
AdminGoodsService
.
class
);
@Autowired
private
ItemDao
itemDao
;
@Autowired
private
CategoryDao
categoryDao
;
@Autowired
private
QCodeService
qCodeService
;
public
Object
list
(
String
name
,
Integer
page
,
Integer
limit
,
String
sort
,
String
order
)
{
Map
<
String
,
Object
>
data
=
new
HashMap
<>();
try
{
List
<
Item
>
itemList
=
itemDao
.
querySelective
(
name
,
page
,
limit
,
sort
,
order
);
long
total
=
PageInfo
.
of
(
itemList
).
getTotal
();
List
<
ItemVo
>
itemVoList
=
new
ArrayList
<>();
itemVoList
=
itemList
.
stream
().
map
(
i
->
ItemVo
.
fromItem
(
i
)).
collect
(
Collectors
.
toList
());
data
.
put
(
"total"
,
total
);
data
.
put
(
"items"
,
itemVoList
);
logger
.
info
(
"【请求结束】商品管理->商品管理->查询,响应结果:{}"
,
JSONObject
.
toJSONString
(
data
));
return
ResponseUtil
.
ok
(
data
);
}
catch
(
Exception
e
)
{
logger
.
error
(
"钱币列表 error {}"
,
e
);
}
return
ResponseUtil
.
fail
();
}
private
Object
validate
(
Item
item
)
{
String
name
=
item
.
getName
();
if
(
StringUtils
.
isEmpty
(
name
))
{
return
ResponseUtil
.
badArgument
();
}
// 分类可以不设置,如果设置则需要验证分类存在
Integer
categoryId
=
item
.
getCid
();
if
(
categoryId
!=
null
&&
categoryId
!=
0
)
{
if
(
categoryDao
.
findById
(
categoryId
)
==
null
)
{
return
ResponseUtil
.
badArgumentValue
();
}
}
return
null
;
}
/**
* 编辑商品
* <p>
* TODO 目前商品修改的逻辑是 1. 更新Dts_goods表 2.
* 逻辑删除Dts_goods_specification、Dts_goods_attribute、Dts_goods_product 3.
* 添加Dts_goods_specification、Dts_goods_attribute、Dts_goods_product
* <p>
* 这里商品三个表的数据采用删除再添加的策略是因为 商品编辑页面,支持管理员添加删除商品规格、添加删除商品属性,因此这里仅仅更新是不可能的,
* 只能删除三个表旧的数据,然后添加新的数据。 但是这里又会引入新的问题,就是存在订单商品货品ID指向了失效的商品货品表。
* 因此这里会拒绝管理员编辑商品,如果订单或购物车中存在商品。 所以这里可能需要重新设计。
*/
public
Object
update
(
Item
item
)
{
logger
.
error
(
"商品管理->商品管理->编辑商品item :{}"
,
item
);
Object
error
=
validate
(
item
);
if
(
error
!=
null
)
{
return
error
;
}
//如果该商品为标准件则替换原有的标准件
if
(
item
.
getIsStd
())
{
//查询出该分类下原有的标准件
Item
oldStanardItem
=
itemDao
.
findStandard
(
item
.
getCid
());
if
(
oldStanardItem
!=
null
)
{
itemDao
.
cancelStandardItem
(
oldStanardItem
.
getId
());
}
}
Long
id
=
item
.
getId
();
Item
oldItem
=
itemDao
.
findDetails
(
id
);
oldItem
.
setName
(
item
.
getName
());
oldItem
.
setCid
(
item
.
getCid
());
oldItem
.
setDetail
(
item
.
getDetail
());
oldItem
.
setImages
(
item
.
getImages
());
oldItem
.
setPrice
(
item
.
getPrice
());
oldItem
.
setIsOnSale
(
item
.
getIsOnSale
());
oldItem
.
setIsStd
(
item
.
getIsStd
());
oldItem
.
setTopImage
(
item
.
getTopImage
());
if
(
itemDao
.
updateById
(
oldItem
)
==
0
)
{
logger
.
error
(
"商品管理->商品管理->编辑错误:{}"
,
"更新数据失败"
);
throw
new
RuntimeException
(
"更新数据失败"
);
}
logger
.
info
(
"【请求结束】商品管理->商品管理->编辑,响应结果:{}"
,
"成功!"
);
return
ResponseUtil
.
ok
();
}
@Transactional
public
Object
delete
(
Item
item
)
{
Long
id
=
item
.
getId
();
if
(
id
==
null
)
{
return
ResponseUtil
.
badArgument
();
}
Long
gid
=
item
.
getId
();
itemDao
.
deleteById
(
id
);
logger
.
info
(
"【请求结束】商品管理->商品管理->删除,响应结果:{}"
,
"成功!"
);
return
ResponseUtil
.
ok
();
}
@Transactional
public
Object
create
(
Item
item
)
{
Object
error
=
validate
(
item
);
if
(
error
!=
null
)
{
return
error
;
}
Date
now
=
new
Date
();
// 商品基本信息表Dts_goods
item
.
setCreateTime
(
now
);
item
.
setUpdateTime
(
now
);
item
.
setIsDeleted
(
false
);
itemDao
.
add
(
item
);
// 将生成的分享图片地址写入数据库
/* String url = qCodeService.createGoodShareImage(null, item.getId().toString(), item.getImages().split(";")[0], item.getName(), item.getPrice());
if (!StringUtils.isEmpty(url)) {
item.setShareImage(url);
if (itemService.updateById(item) == 0) {
logger.error("商品管理->商品管理->上架错误:{}", "更新数据失败");
throw new RuntimeException("更新数据失败");
}
}*/
logger
.
info
(
"【请求结束】商品管理->商品管理->上架,响应结果:{}"
,
"成功!"
);
return
ResponseUtil
.
ok
();
}
public
Object
detail
(
Long
id
)
{
Item
item
=
itemDao
.
findById
(
id
);
public
interface
AdminGoodsService
{
Object
list
(
String
name
,
Integer
page
,
Integer
limit
,
String
sort
,
String
order
);
//用于展示商品归属的类目(页面级联下拉控件数据展示)
Integer
categoryId
=
item
.
getCid
();
Category
category
=
categoryDao
.
findById
(
categoryId
);
List
<
Integer
>
categoryIds
=
new
ArrayList
<>();
if
(
null
!=
category
)
{
categoryIds
.
add
(
0
,
category
.
getId
());
Integer
pid
=
category
.
getPid
();
while
(
pid
!=
0
)
{
categoryIds
.
add
(
0
,
pid
);
Category
pCategory
=
categoryDao
.
findById
(
pid
);
if
(
null
!=
pCategory
)
{
pid
=
pCategory
.
getPid
();
}
else
{
break
;
}
}
}
Object
update
(
Item
item
);
Map
<
String
,
Object
>
data
=
new
HashMap
<>();
data
.
put
(
"goods"
,
ItemVo
.
fromItem
(
item
));
data
.
put
(
"categoryIds"
,
categoryIds
.
toArray
());
@Transactional
Object
delete
(
Item
item
);
logger
.
info
(
"【请求结束】商品管理->商品管理->详情,响应结果:{}"
,
"成功!"
);
return
ResponseUtil
.
ok
(
data
);
}
@Transactional
Object
create
(
Item
item
);
Object
detail
(
Long
id
);
}
ch-admin-api/src/main/java/com/wwdz/ch/admin/service/AdminHistoryService.java
0 → 100644
View file @
3dc95b53
package
com.wwdz.ch.admin.service
;
public
interface
AdminHistoryService
{
Object
findList
(
String
userId
,
String
keyword
,
Integer
page
,
Integer
size
,
String
sort
,
String
order
);
}
ch-admin-api/src/main/java/com/wwdz/ch/admin/service/AdminIssueService.java
0 → 100644
View file @
3dc95b53
package
com.wwdz.ch.admin.service
;
import
com.wwdz.ch.db.domain.Issue
;
public
interface
AdminIssueService
{
Object
findList
(
String
question
,
Integer
page
,
Integer
size
,
String
sort
,
String
order
);
Object
create
(
Issue
issue
);
Issue
read
(
Integer
id
);
Object
update
(
Issue
issue
);
Object
deleteById
(
Integer
id
);
}
ch-admin-api/src/main/java/com/wwdz/ch/admin/service/AdminKeywordService.java
0 → 100644
View file @
3dc95b53
package
com.wwdz.ch.admin.service
;
import
com.wwdz.ch.db.domain.Keyword
;
public
interface
AdminKeywordService
{
Object
findList
(
String
keyword
,
String
url
,
Integer
page
,
Integer
limit
,
String
sort
,
String
order
);
Object
create
(
Keyword
keyword
);
Keyword
read
(
Integer
id
);
Object
update
(
Keyword
keyword
);
Object
deleteById
(
Integer
id
);
Object
updateById
(
Keyword
keyword
);
}
ch-admin-api/src/main/java/com/wwdz/ch/admin/service/AdminRoleService.java
0 → 100644
View file @
3dc95b53
package
com.wwdz.ch.admin.service
;
import
com.wwdz.ch.admin.util.PermVo
;
import
com.wwdz.ch.admin.util.PermissionUtil
;
import
com.wwdz.ch.db.domain.Role
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
javax.validation.constraints.NotNull
;
import
java.util.List
;
import
java.util.Set
;
public
interface
AdminRoleService
{
Object
findList
(
String
roleName
,
Integer
page
,
Integer
size
,
String
sort
,
String
order
);
Object
options
();
Object
read
(
@NotNull
Integer
id
);
Object
create
(
Role
role
);
Object
update
(
Role
role
);
Object
delete
(
Role
role
);
Object
getPermissions
(
Integer
roleId
);
Object
updatePermissions
(
@RequestBody
String
body
);
List
<
PermVo
>
getSystemPermissions
();
Set
<
String
>
getAssignedPermissions
(
Integer
roleId
);
}
ch-admin-api/src/main/java/com/wwdz/ch/admin/service/AdminService.java
0 → 100644
View file @
3dc95b53
package
com.wwdz.ch.admin.service
;
import
com.wwdz.ch.db.domain.Admin
;
public
interface
AdminService
{
Object
findList
(
String
username
,
Integer
page
,
Integer
limit
,
String
sort
,
String
order
);
Object
create
(
Admin
admin
);
Admin
read
(
Integer
id
);
Object
update
(
Admin
admin
);
Object
deleteById
(
Integer
id
);
int
updateById
(
Admin
admin
);
}
ch-admin-api/src/main/java/com/wwdz/ch/admin/service/AdminUserService.java
0 → 100644
View file @
3dc95b53
package
com.wwdz.ch.admin.service
;
import
com.wwdz.ch.db.domain.User
;
import
java.util.List
;
public
interface
AdminUserService
{
Object
findList
(
String
username
,
String
mobile
,
Integer
page
,
Integer
size
,
String
sort
,
String
order
);
}
ch-dao/src/main/java/com/wwdz/ch/db/domain/Item.java
View file @
3dc95b53
...
...
@@ -10,7 +10,7 @@ import lombok.Data;
/**
* @author shiyu
* @date 2023/08/1
5
* @date 2023/08/1
6
*/
@Data
public
class
Item
implements
Entity
{
...
...
@@ -97,7 +97,7 @@ public class Item implements Entity {
private
String
originalSourceUrl
;
/**
* 来源
(1,2,3,7
,8,10,11):中国的
* 来源
7(1,2,3,
,8,10,11):中国的
*/
private
Integer
source
;
...
...
@@ -119,7 +119,7 @@ public class Item implements Entity {
/**
* 商品视频, 分号分隔
*/
private
String
v
edi
os
;
private
String
v
ide
os
;
/**
* 商品详细介绍,是富文本格式
...
...
@@ -160,7 +160,7 @@ public class Item implements Entity {
sb
.
append
(
", type="
).
append
(
type
);
sb
.
append
(
", extra="
).
append
(
extra
);
sb
.
append
(
", images="
).
append
(
images
);
sb
.
append
(
", v
edios="
).
append
(
vedi
os
);
sb
.
append
(
", v
ideos="
).
append
(
vide
os
);
sb
.
append
(
", detail="
).
append
(
detail
);
sb
.
append
(
", originalExtra="
).
append
(
originalExtra
);
sb
.
append
(
", serialVersionUID="
).
append
(
serialVersionUID
);
...
...
@@ -201,7 +201,7 @@ public class Item implements Entity {
&&
(
this
.
getType
()
==
null
?
other
.
getType
()
==
null
:
this
.
getType
().
equals
(
other
.
getType
()))
&&
(
this
.
getExtra
()
==
null
?
other
.
getExtra
()
==
null
:
this
.
getExtra
().
equals
(
other
.
getExtra
()))
&&
(
this
.
getImages
()
==
null
?
other
.
getImages
()
==
null
:
this
.
getImages
().
equals
(
other
.
getImages
()))
&&
(
this
.
getV
edios
()
==
null
?
other
.
getVedios
()
==
null
:
this
.
getVedios
().
equals
(
other
.
getVedi
os
()))
&&
(
this
.
getV
ideos
()
==
null
?
other
.
getVideos
()
==
null
:
this
.
getVideos
().
equals
(
other
.
getVide
os
()))
&&
(
this
.
getDetail
()
==
null
?
other
.
getDetail
()
==
null
:
this
.
getDetail
().
equals
(
other
.
getDetail
()))
&&
(
this
.
getOriginalExtra
()
==
null
?
other
.
getOriginalExtra
()
==
null
:
this
.
getOriginalExtra
().
equals
(
other
.
getOriginalExtra
()));
}
...
...
@@ -231,7 +231,7 @@ public class Item implements Entity {
result
=
prime
*
result
+
((
getType
()
==
null
)
?
0
:
getType
().
hashCode
());
result
=
prime
*
result
+
((
getExtra
()
==
null
)
?
0
:
getExtra
().
hashCode
());
result
=
prime
*
result
+
((
getImages
()
==
null
)
?
0
:
getImages
().
hashCode
());
result
=
prime
*
result
+
((
getV
edios
()
==
null
)
?
0
:
getVedi
os
().
hashCode
());
result
=
prime
*
result
+
((
getV
ideos
()
==
null
)
?
0
:
getVide
os
().
hashCode
());
result
=
prime
*
result
+
((
getDetail
()
==
null
)
?
0
:
getDetail
().
hashCode
());
result
=
prime
*
result
+
((
getOriginalExtra
()
==
null
)
?
0
:
getOriginalExtra
().
hashCode
());
return
result
;
...
...
@@ -266,7 +266,7 @@ public class Item implements Entity {
type
(
"type"
,
"type"
,
"INTEGER"
,
true
),
extra
(
"extra"
,
"extra"
,
"LONGVARCHAR"
,
false
),
images
(
"images"
,
"images"
,
"LONGVARCHAR"
,
false
),
v
edios
(
"vedios"
,
"vedi
os"
,
"LONGVARCHAR"
,
false
),
v
ideos
(
"videos"
,
"vide
os"
,
"LONGVARCHAR"
,
false
),
detail
(
"detail"
,
"detail"
,
"LONGVARCHAR"
,
false
),
originalExtra
(
"original_extra"
,
"originalExtra"
,
"LONGVARCHAR"
,
false
);
...
...
ch-dao/src/main/java/com/wwdz/ch/db/impl/ItemDaoImpl.java
View file @
3dc95b53
...
...
@@ -66,9 +66,9 @@ public class ItemDaoImpl implements ItemDao {
ItemExample
example
=
new
ItemExample
();
ItemExample
.
Criteria
criteria
=
example
.
createCriteria
();
criteria
.
andIsDeletedEqualTo
(
false
);
//暂时去除华夏古泉和天眷堂的钱币, 对应编码
1
和7
//暂时去除华夏古泉和天眷堂的钱币, 对应编码
2
和7
if
(!
ObjectUtils
.
isEmpty
(
coinRequestDto
.
getIsExcluded
())
&&
coinRequestDto
.
getIsExcluded
()
==
1
)
{
criteria
.
andSourceNotEqualTo
(
1
);
criteria
.
andSourceNotEqualTo
(
2
);
criteria
.
andSourceNotEqualTo
(
7
);
}
example
.
orderBy
(
"update_time desc"
);
...
...
ch-dao/src/main/java/com/wwdz/ch/db/mapper/ItemMapper.java
View file @
3dc95b53
...
...
@@ -2,11 +2,11 @@ package com.wwdz.ch.db.mapper;
import
com.wwdz.ch.db.domain.Item
;
import
com.wwdz.ch.db.domain.ItemExample
;
import
java.util.List
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
@Mapper
public
interface
ItemMapper
{
long
countByExample
(
ItemExample
example
);
...
...
ch-dao/src/main/resources/com/wwdz/ch/db/mapper/ItemMapper.xml
View file @
3dc95b53
...
...
@@ -25,7 +25,7 @@
<resultMap
extends=
"BaseResultMap"
id=
"ResultMapWithBLOBs"
type=
"com.wwdz.ch.db.domain.Item"
>
<result
column=
"extra"
jdbcType=
"LONGVARCHAR"
property=
"extra"
/>
<result
column=
"images"
jdbcType=
"LONGVARCHAR"
property=
"images"
/>
<result
column=
"v
edios"
jdbcType=
"LONGVARCHAR"
property=
"vedi
os"
/>
<result
column=
"v
ideos"
jdbcType=
"LONGVARCHAR"
property=
"vide
os"
/>
<result
column=
"detail"
jdbcType=
"LONGVARCHAR"
property=
"detail"
/>
<result
column=
"original_extra"
jdbcType=
"LONGVARCHAR"
property=
"originalExtra"
/>
</resultMap>
...
...
@@ -95,7 +95,7 @@
`source`, `type`
</sql>
<sql
id=
"Blob_Column_List"
>
extra, images, v
edi
os, detail, original_extra
extra, images, v
ide
os, detail, original_extra
</sql>
<select
id=
"selectByExampleWithBLOBs"
parameterType=
"com.wwdz.ch.db.domain.ItemExample"
resultMap=
"ResultMapWithBLOBs"
>
select
...
...
@@ -149,7 +149,7 @@
<otherwise>
id, `name`, cid, is_on_sale, is_std, sort, share_image, top_image, price, create_time,
source_type, update_time, is_deleted, bid_time, remark, is_setted, original_source_url,
`source`, `type`, extra, images, v
edi
os, detail, original_extra
`source`, `type`, extra, images, v
ide
os, detail, original_extra
</otherwise>
</choose>
from item
...
...
@@ -184,7 +184,7 @@
<otherwise>
id, `name`, cid, is_on_sale, is_std, sort, share_image, top_image, price, create_time,
source_type, update_time, is_deleted, bid_time, remark, is_setted, original_source_url,
`source`, `type`, extra, images, v
edi
os, detail, original_extra
`source`, `type`, extra, images, v
ide
os, detail, original_extra
</otherwise>
</choose>
from item
...
...
@@ -210,7 +210,7 @@
source_type, update_time, is_deleted,
bid_time, remark, is_setted,
original_source_url, `source`, `type`,
extra, images, v
edi
os,
extra, images, v
ide
os,
detail, original_extra)
values (#{name,jdbcType=VARCHAR}, #{cid,jdbcType=INTEGER}, #{isOnSale,jdbcType=BIT},
#{isStd,jdbcType=BIT}, #{sort,jdbcType=INTEGER}, #{shareImage,jdbcType=VARCHAR},
...
...
@@ -218,7 +218,7 @@
#{sourceType,jdbcType=INTEGER}, #{updateTime,jdbcType=TIMESTAMP}, #{isDeleted,jdbcType=BIT},
#{bidTime,jdbcType=VARCHAR}, #{remark,jdbcType=VARCHAR}, #{isSetted,jdbcType=INTEGER},
#{originalSourceUrl,jdbcType=VARCHAR}, #{source,jdbcType=INTEGER}, #{type,jdbcType=INTEGER},
#{extra,jdbcType=LONGVARCHAR}, #{images,jdbcType=LONGVARCHAR}, #{v
edi
os,jdbcType=LONGVARCHAR},
#{extra,jdbcType=LONGVARCHAR}, #{images,jdbcType=LONGVARCHAR}, #{v
ide
os,jdbcType=LONGVARCHAR},
#{detail,jdbcType=LONGVARCHAR}, #{originalExtra,jdbcType=LONGVARCHAR})
</insert>
<insert
id=
"insertSelective"
parameterType=
"com.wwdz.ch.db.domain.Item"
>
...
...
@@ -287,8 +287,8 @@
<if
test=
"images != null"
>
images,
</if>
<if
test=
"v
edi
os != null"
>
v
edi
os,
<if
test=
"v
ide
os != null"
>
v
ide
os,
</if>
<if
test=
"detail != null"
>
detail,
...
...
@@ -358,8 +358,8 @@
<if
test=
"images != null"
>
#{images,jdbcType=LONGVARCHAR},
</if>
<if
test=
"v
edi
os != null"
>
#{v
edi
os,jdbcType=LONGVARCHAR},
<if
test=
"v
ide
os != null"
>
#{v
ide
os,jdbcType=LONGVARCHAR},
</if>
<if
test=
"detail != null"
>
#{detail,jdbcType=LONGVARCHAR},
...
...
@@ -441,8 +441,8 @@
<if
test=
"record.images != null"
>
images = #{record.images,jdbcType=LONGVARCHAR},
</if>
<if
test=
"record.v
edi
os != null"
>
v
edios = #{record.vedi
os,jdbcType=LONGVARCHAR},
<if
test=
"record.v
ide
os != null"
>
v
ideos = #{record.vide
os,jdbcType=LONGVARCHAR},
</if>
<if
test=
"record.detail != null"
>
detail = #{record.detail,jdbcType=LONGVARCHAR},
...
...
@@ -478,7 +478,7 @@
`type` = #{record.type,jdbcType=INTEGER},
extra = #{record.extra,jdbcType=LONGVARCHAR},
images = #{record.images,jdbcType=LONGVARCHAR},
v
edios = #{record.vedi
os,jdbcType=LONGVARCHAR},
v
ideos = #{record.vide
os,jdbcType=LONGVARCHAR},
detail = #{record.detail,jdbcType=LONGVARCHAR},
original_extra = #{record.originalExtra,jdbcType=LONGVARCHAR}
<if
test=
"_parameter != null"
>
...
...
@@ -573,8 +573,8 @@
<if
test=
"images != null"
>
images = #{images,jdbcType=LONGVARCHAR},
</if>
<if
test=
"v
edi
os != null"
>
v
edios = #{vedi
os,jdbcType=LONGVARCHAR},
<if
test=
"v
ide
os != null"
>
v
ideos = #{vide
os,jdbcType=LONGVARCHAR},
</if>
<if
test=
"detail != null"
>
detail = #{detail,jdbcType=LONGVARCHAR},
...
...
@@ -607,7 +607,7 @@
`type` = #{type,jdbcType=INTEGER},
extra = #{extra,jdbcType=LONGVARCHAR},
images = #{images,jdbcType=LONGVARCHAR},
v
edios = #{vedi
os,jdbcType=LONGVARCHAR},
v
ideos = #{vide
os,jdbcType=LONGVARCHAR},
detail = #{detail,jdbcType=LONGVARCHAR},
original_extra = #{originalExtra,jdbcType=LONGVARCHAR}
where id = #{id,jdbcType=BIGINT}
...
...
@@ -689,7 +689,7 @@
<otherwise>
id, `name`, cid, is_on_sale, is_std, sort, share_image, top_image, price, create_time,
source_type, update_time, is_deleted, bid_time, remark, is_setted, original_source_url,
`source`, `type`, extra, images, v
edi
os, detail, original_extra
`source`, `type`, extra, images, v
ide
os, detail, original_extra
</otherwise>
</choose>
from item
...
...
@@ -701,6 +701,7 @@
</if>
limit 1
</select>
<select
id=
"selectNameByExample"
parameterType=
"com.wwdz.ch.db.domain.ItemExample"
resultMap=
"StringResultMap"
>
select
<if
test=
"distinct"
>
...
...
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