Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
gic-webapp-plug
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
base_platform_enterprise
gic-webapp-plug
Commits
2a00277c
Commit
2a00277c
authored
Feb 01, 2021
by
guojuxing
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
门店选择器日志接口调整
parent
90ce1e53
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
33 additions
and
221 deletions
+33
-221
StoreController.java
...ain/java/com/gic/plug/web/controller/StoreController.java
+5
-16
StoreWidgetQO.java
src/main/java/com/gic/plug/web/qo/StoreWidgetQO.java
+28
-0
StoreWidgetLogUtils.java
...main/java/com/gic/plug/web/utils/StoreWidgetLogUtils.java
+0
-205
No files found.
src/main/java/com/gic/plug/web/controller/StoreController.java
View file @
2a00277c
...
...
@@ -29,7 +29,6 @@ import com.gic.plug.web.qo.StoreWidgetCountQO;
import
com.gic.plug.web.qo.StoreWidgetQO
;
import
com.gic.plug.web.strategy.init.StrategyInit
;
import
com.gic.plug.web.utils.StoreResourceAuthUtils
;
import
com.gic.plug.web.utils.StoreWidgetLogUtils
;
import
com.gic.plug.web.utils.storeresourceauth.StoreResourceUtils
;
import
com.gic.plug.web.vo.*
;
import
com.gic.store.constant.StoreESFieldsEnum
;
...
...
@@ -60,8 +59,6 @@ public class StoreController {
@Autowired
private
UserResourceApiService
userResourceApiService
;
@Autowired
private
StoreWidgetLogUtils
storeWidgetLogUtils
;
@Autowired
private
StoreWidgetLogApiService
storeWidgetLogApiService
;
@Autowired
private
ResourceGroupApiService
resourceGroupApiService
;
...
...
@@ -133,18 +130,15 @@ public class StoreController {
/**
* 更新权限范围
* @param storeWidgetId
* @param authSearchParam
* @return
*/
@RequestMapping
(
"update-auth-search-param"
)
public
RestResponse
updateAuth
(
Integer
storeWidgetId
,
String
authSearchParam
)
{
public
RestResponse
updateAuth
(
Integer
storeWidgetId
)
{
StoreWidgetDTO
storeWidgetDTO
=
new
StoreWidgetDTO
();
storeWidgetDTO
.
setStoreWidgetId
(
storeWidgetId
);
storeWidgetDTO
.
set
AuthSearchParam
(
authSearchParam
);
storeWidgetDTO
.
set
UserId
(
UserDetailUtils
.
getUserDetail
().
getUserId
()
);
ServiceResponse
<
Integer
>
response
=
storeWidgetApiService
.
updateAuth
(
storeWidgetDTO
);
if
(
response
.
isSuccess
())
{
//写日志
storeWidgetLogUtils
.
saveStoreWidgetWhenEditAuth
(
storeWidgetId
,
authSearchParam
);
return
RestResponse
.
success
();
}
return
RestResponse
.
failure
(
response
.
getCode
(),
response
.
getMessage
());
...
...
@@ -154,22 +148,17 @@ public class StoreController {
public
RestResponse
saveStoreWidget
(
@RequestBody
StoreWidgetQO
storeWidgetQO
){
//参数组装
StoreWidgetDTO
storeWidgetDTO
=
new
StoreWidgetDTO
();
//前端约定了,该字段不会传值
//问题:跟下面写日志接口有重合调用查询旧纪录接口
storeWidgetDTO
.
setAuthSearchParam
(
storeWidgetLogUtils
.
getAuthSearchParamData
(
storeWidgetQO
.
getStoreWidgetId
(),
storeWidgetQO
.
getAuthSearchParam
()));
storeWidgetDTO
.
setSearchParam
(
storeWidgetQO
.
getSearchParam
());
storeWidgetDTO
.
setStoreWidgetId
(
storeWidgetQO
.
getStoreWidgetId
());
storeWidgetDTO
.
setStoreWidgetId
(
null
);
storeWidgetDTO
.
setWriteBackParam
(
storeWidgetQO
.
getWriteBackParam
());
storeWidgetDTO
.
setAuthMode
(
storeWidgetQO
.
getAuthMode
());
storeWidgetDTO
.
setScreenDetailData
(
storeWidgetQO
.
getScreenDetailData
());
storeWidgetDTO
.
setScreenSimpleData
(
storeWidgetQO
.
getScreenSimpleData
());
storeWidgetDTO
.
setUserId
(
UserDetailUtils
.
getUserDetail
().
getUserId
());
ServiceResponse
<
Integer
>
storeWidgetResponse
=
this
.
storeWidgetApiService
.
saveAuthStoreWidget
(
storeWidgetDTO
);
if
(
storeWidgetResponse
.
isSuccess
())
{
//写日志
storeWidgetLogUtils
.
saveStoreWidgetLog
(
storeWidgetQO
,
storeWidgetResponse
.
getResult
());
return
RestResponse
.
success
(
storeWidgetResponse
.
getResult
());
}
return
RestResponse
.
success
();
...
...
src/main/java/com/gic/plug/web/qo/StoreWidgetQO.java
View file @
2a00277c
...
...
@@ -15,6 +15,16 @@ public class StoreWidgetQO implements Serializable {
private
String
writeBackParam
;
private
Integer
authMode
;
/**
* 前端需要字段(条件筛选)
*/
private
String
screenDetailData
;
/**
* 前端需要字段(条件筛选)
*/
private
String
screenSimpleData
;
public
Integer
getStoreWidgetId
()
{
return
storeWidgetId
;
}
...
...
@@ -54,4 +64,22 @@ public class StoreWidgetQO implements Serializable {
public
void
setAuthMode
(
Integer
authMode
)
{
this
.
authMode
=
authMode
;
}
public
String
getScreenDetailData
()
{
return
screenDetailData
;
}
public
StoreWidgetQO
setScreenDetailData
(
String
screenDetailData
)
{
this
.
screenDetailData
=
screenDetailData
;
return
this
;
}
public
String
getScreenSimpleData
()
{
return
screenSimpleData
;
}
public
StoreWidgetQO
setScreenSimpleData
(
String
screenSimpleData
)
{
this
.
screenSimpleData
=
screenSimpleData
;
return
this
;
}
}
src/main/java/com/gic/plug/web/utils/StoreWidgetLogUtils.java
deleted
100644 → 0
View file @
90ce1e53
package
com
.
gic
.
plug
.
web
.
utils
;
import
com.gic.store.dto.StoreWidgetLogDTO
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.apache.logging.log4j.LogManager
;
import
org.apache.logging.log4j.Logger
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
com.gic.api.base.commons.ServiceResponse
;
import
com.gic.enterprise.utils.UserDetailUtils
;
import
com.gic.plug.web.qo.StoreWidgetQO
;
import
com.gic.store.dto.StoreWidgetDTO
;
import
com.gic.store.dto.StoreWidgetLogSaveDTO
;
import
com.gic.store.service.StoreWidgetApiService
;
import
com.gic.store.service.StoreWidgetLogApiService
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.stream.Collectors
;
/**
* 门店选择器操作日志工具类
* @ClassName:
* @Description:
* @author guojuxing
* @date 2021/1/13 7:54 PM
*/
@Component
public
class
StoreWidgetLogUtils
{
private
static
Logger
logger
=
LogManager
.
getLogger
(
StoreWidgetLogUtils
.
class
);
@Autowired
private
StoreWidgetLogApiService
storeWidgetLogApiService
;
@Autowired
private
StoreWidgetApiService
storeWidgetApiService
;
/**
* 写门店选择器日志
* @param storeWidgetQO
* @param newStoreWidgetId
*/
public
void
saveStoreWidgetLog
(
StoreWidgetQO
storeWidgetQO
,
Integer
newStoreWidgetId
)
{
Integer
storeWidgetId
=
storeWidgetQO
.
getStoreWidgetId
();
//如果是编辑,则会有值,用于判断创建还是编辑
StoreWidgetDTO
oldStoreWidget
=
getOldStoreWidget
(
storeWidgetId
);
//操作日志对象组装
StoreWidgetLogSaveDTO
logSaveDTO
;
if
(
oldStoreWidget
==
null
)
{
logSaveDTO
=
buildStoreWidgetLogWhenCreate
(
storeWidgetQO
,
newStoreWidgetId
);
}
else
{
//copy旧门店选择器ID上挂载的日志到新的ID上面
copyStoreWidgetLog
(
storeWidgetId
,
newStoreWidgetId
);
//新门店选择器ID上新增新的日志
logSaveDTO
=
buildStoreWidgetLogWhenUpdate
(
oldStoreWidget
,
storeWidgetQO
,
newStoreWidgetId
);
}
//写日志
storeWidgetLogApiService
.
saveStoreWidgetLog
(
logSaveDTO
);
}
/**
* 因为该字段和其他数据分离开来,需要根据ID查询旧记录数据
* @param storeWidgetId
* @param authSearchParam
* @return
*/
public
String
getAuthSearchParamData
(
Integer
storeWidgetId
,
String
authSearchParam
)
{
if
(
StringUtils
.
isBlank
(
authSearchParam
))
{
StoreWidgetDTO
oldStoreWidget
=
getOldStoreWidget
(
storeWidgetId
);
if
(
oldStoreWidget
!=
null
)
{
return
oldStoreWidget
.
getAuthSearchParam
();
}
}
return
authSearchParam
;
}
/**
* 只更新权限范围数据的日志
* @param storeWidgetId
* @param authSearchParam
*/
public
void
saveStoreWidgetWhenEditAuth
(
Integer
storeWidgetId
,
String
authSearchParam
)
{
StoreWidgetDTO
oldStoreWidget
=
getOldStoreWidget
(
storeWidgetId
);
if
(
oldStoreWidget
!=
null
)
{
//操作日志对象组装
StoreWidgetQO
storeWidgetQO
=
new
StoreWidgetQO
();
storeWidgetQO
.
setAuthSearchParam
(
authSearchParam
);
StoreWidgetLogSaveDTO
logSaveDTO
=
buildStoreWidgetLogWhenUpdate
(
oldStoreWidget
,
storeWidgetQO
,
storeWidgetId
);
//写日志
storeWidgetLogApiService
.
saveStoreWidgetLog
(
logSaveDTO
);
}
}
/**
* copy旧门店选择器ID上挂载的日志到新的ID上面
* @param oldStoreWidgetId
* @param newStoreWidgetId
*/
private
void
copyStoreWidgetLog
(
Integer
oldStoreWidgetId
,
Integer
newStoreWidgetId
)
{
//查询旧uuid上面挂载的日志数据
ServiceResponse
<
List
<
StoreWidgetLogDTO
>>
response
=
storeWidgetLogApiService
.
listStoreWidgetLog
(
oldStoreWidgetId
);
if
(
response
.
isSuccess
())
{
List
<
StoreWidgetLogDTO
>
list
=
response
.
getResult
();
if
(
CollectionUtils
.
isNotEmpty
(
list
))
{
//复制数据到新uuid上面
List
<
StoreWidgetLogDTO
>
copyList
=
list
.
stream
().
map
(
e
->
e
.
setStoreWidgetId
(
newStoreWidgetId
)
.
setStoreWidgetLogId
(
null
)).
collect
(
Collectors
.
toList
());
//
storeWidgetLogApiService
.
tmpInsert
(
copyList
);
}
}
}
private
StoreWidgetDTO
getOldStoreWidget
(
Integer
storeWidgetId
)
{
if
(
storeWidgetId
==
null
)
{
return
null
;
}
ServiceResponse
<
StoreWidgetDTO
>
oldStoreWidgetResponse
=
storeWidgetApiService
.
getStoreWidget
(
storeWidgetId
);
if
(!
oldStoreWidgetResponse
.
isSuccess
())
{
logger
.
info
(
"根据门店选择器ID:{},查询不到记录"
,
storeWidgetId
);
return
null
;
}
return
oldStoreWidgetResponse
.
getResult
();
}
/**
* 组装日志对象-编辑场景
* @param oldStoreWidget 老数据
* @param storeWidgetQO 前端传入的参数
* @param newStoreWidgetId 新增门店选择器产生的ID
* @return
*/
private
static
StoreWidgetLogSaveDTO
buildStoreWidgetLogWhenUpdate
(
StoreWidgetDTO
oldStoreWidget
,
StoreWidgetQO
storeWidgetQO
,
Integer
newStoreWidgetId
)
{
String
authSearchParam
=
storeWidgetQO
.
getAuthSearchParam
();
String
searchParam
=
storeWidgetQO
.
getSearchParam
();
//操作日志对象组装
StoreWidgetLogSaveDTO
logSaveDTO
=
buildCommon
(
newStoreWidgetId
);
//编辑
//编辑类型
logSaveDTO
.
setOperationType
(
2
);
//是否是权限变更范围类型
boolean
isNotAuthChangeType
=
StringUtils
.
isBlank
(
authSearchParam
)
||
authSearchParam
.
equals
(
oldStoreWidget
.
getAuthSearchParam
());
if
(
isNotAuthChangeType
)
{
//编辑筛选条件类型
logSaveDTO
.
setLogType
(
2
);
logSaveDTO
.
setSearchParamBefore
(
oldStoreWidget
.
getSearchParam
());
if
(
StringUtils
.
isNotBlank
(
searchParam
))
{
logSaveDTO
.
setSearchParamAfter
(
searchParam
);
}
}
else
{
//权限变更范围类型
logSaveDTO
.
setLogType
(
1
);
//记录变更前的权限范围数据
logSaveDTO
.
setSearchParamBefore
(
oldStoreWidget
.
getAuthSearchParam
());
if
(
StringUtils
.
isNotBlank
(
authSearchParam
))
{
//记录变更后的权限范围数据
logSaveDTO
.
setSearchParamAfter
(
authSearchParam
);
}
}
return
logSaveDTO
;
}
/**
* 组装日志对象-创建场景
* @param storeWidgetQO 前端传入的参数
* @param newStoreWidgetId 新增门店选择器产生的ID
* @return
*/
private
static
StoreWidgetLogSaveDTO
buildStoreWidgetLogWhenCreate
(
StoreWidgetQO
storeWidgetQO
,
Integer
newStoreWidgetId
)
{
String
authSearchParam
=
storeWidgetQO
.
getAuthSearchParam
();
String
searchParam
=
storeWidgetQO
.
getSearchParam
();
//操作日志对象组装
StoreWidgetLogSaveDTO
logSaveDTO
=
buildCommon
(
newStoreWidgetId
);
//创建
logSaveDTO
.
setOperationType
(
1
);
boolean
isAuthChangeType
=
StringUtils
.
isNotBlank
(
authSearchParam
);
if
(
isAuthChangeType
)
{
//权限变更范围类型
logSaveDTO
.
setLogType
(
1
);
logSaveDTO
.
setSearchParamAfter
(
authSearchParam
);
}
else
{
//编辑筛选条件类型
logSaveDTO
.
setLogType
(
2
);
logSaveDTO
.
setSearchParamAfter
(
searchParam
);
}
return
logSaveDTO
;
}
private
static
StoreWidgetLogSaveDTO
buildCommon
(
Integer
newStoreWidgetId
)
{
StoreWidgetLogSaveDTO
logSaveDTO
=
new
StoreWidgetLogSaveDTO
();
logSaveDTO
.
setOperationId
(
UserDetailUtils
.
getUserDetail
().
getUserId
());
logSaveDTO
.
setEnterpriseId
(
UserDetailUtils
.
getUserDetail
().
getEnterpriseId
());
logSaveDTO
.
setStoreWidgetId
(
newStoreWidgetId
);
return
logSaveDTO
;
}
}
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