Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
gic-store
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-store
Commits
6d822122
Commit
6d822122
authored
Jul 04, 2019
by
guojuxing
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
分组策略
parent
704c711e
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
478 additions
and
13 deletions
+478
-13
StoreStrategyApiService.java
...n/java/com/gic/store/service/StoreStrategyApiService.java
+19
-6
StoreStrategyService.java
...main/java/com/gic/store/service/StoreStrategyService.java
+2
-0
StoreStrategyServiceImpl.java
.../com/gic/store/service/impl/StoreStrategyServiceImpl.java
+2
-1
StoreStrategyApiServiceImpl.java
.../gic/store/service/outer/StoreStrategyApiServiceImpl.java
+38
-6
StoreStrategyController.java
...com/gic/store/web/controller/StoreStrategyController.java
+131
-0
StoreStrategyQO.java
...a/com/gic/store/web/qo/storestrategy/StoreStrategyQO.java
+221
-0
StoreGroupStrateVO.java
...om/gic/store/web/vo/storestrategy/StoreGroupStrateVO.java
+65
-0
No files found.
gic-store-api/src/main/java/com/gic/store/service/StoreStrategyApiService.java
View file @
6d822122
...
...
@@ -32,30 +32,43 @@ public interface StoreStrategyApiService {
*/
ServiceResponse
<
Integer
>
modifyStoreGroupStrategy
(
StoreStrategyDTO
storeStrategyDTO
);
/**
* 根据主键ID获取数据
* @param strategyId
* @return
*/
ServiceResponse
<
StoreStrategyDTO
>
getStoreGroupStrategyById
(
int
strategyId
);
/**
* 置底
* @param strategyId
* @param strategyType
* @return
*/
ServiceResponse
<
Integer
>
sortBottom
(
int
strategyId
,
int
strategyType
);
ServiceResponse
<
Integer
>
sortBottom
(
int
strategyId
);
/**
* 置顶
* @param strategyId
* @param strategyType
* @return
*/
ServiceResponse
<
Integer
>
sortTopping
(
int
strategyId
,
int
strategyType
);
ServiceResponse
<
Integer
>
sortTopping
(
int
strategyId
);
/**
* 上移、下移
* @param strategyId
* @param isUp
* @return
*/
ServiceResponse
<
Integer
>
upOrDown
(
int
strategyId
,
boolean
isUp
);
/**
* 设置排序值
* @param strategyId
* @param setValue
* @param strategyType
* @return
*/
ServiceResponse
<
Integer
>
setStoreStrategySort
(
int
strategyId
,
int
setValue
,
int
strategyType
);
ServiceResponse
<
Integer
>
setStoreStrategySort
(
int
strategyId
,
int
setValue
);
/**
* 分页查询分组策略数据
...
...
gic-store-service/src/main/java/com/gic/store/service/StoreStrategyService.java
View file @
6d822122
...
...
@@ -101,4 +101,6 @@ public interface StoreStrategyService {
*/
Page
<
TabStoreStrategy
>
listStoreStrategy
(
int
enterpriseId
,
String
search
,
int
strategyType
,
Integer
pageNum
,
Integer
pageSize
);
void
updateSortById
(
int
strategyId
,
double
sort
);
}
gic-store-service/src/main/java/com/gic/store/service/impl/StoreStrategyServiceImpl.java
View file @
6d822122
...
...
@@ -123,7 +123,8 @@ public class StoreStrategyServiceImpl implements StoreStrategyService{
return
sort
==
null
?
1
d
:
sort
;
}
private
void
updateSortById
(
int
strategyId
,
double
sort
)
{
@Override
public
void
updateSortById
(
int
strategyId
,
double
sort
)
{
TabStoreStrategy
storeStrategy
=
new
TabStoreStrategy
();
storeStrategy
.
setStrategyId
(
strategyId
);
storeStrategy
.
setSort
(
sort
);
...
...
gic-store-service/src/main/java/com/gic/store/service/outer/StoreStrategyApiServiceImpl.java
View file @
6d822122
...
...
@@ -85,32 +85,64 @@ public class StoreStrategyApiServiceImpl implements StoreStrategyApiService{
}
@Override
public
ServiceResponse
<
Integer
>
sortBottom
(
int
strategyId
,
int
strategyType
)
{
public
ServiceResponse
<
StoreStrategyDTO
>
getStoreGroupStrategyById
(
int
strategyId
)
{
TabStoreStrategy
storeStrategy
=
storeStrategyService
.
getStoreStrategyById
(
strategyId
);
if
(
storeStrategy
==
null
)
{
return
ServiceResponse
.
failure
(
ErrorCode
.
ERR_5
.
getCode
(),
"策略主键ID错误,查询不到数据"
);
}
storeStrategyService
.
sortBottom
(
storeStrategy
.
getEnterpriseId
(),
strategyId
,
strategyType
);
return
ServiceResponse
.
success
(
EntityUtil
.
changeEntityNew
(
StoreStrategyDTO
.
class
,
storeStrategy
));
}
@Override
public
ServiceResponse
<
Integer
>
sortBottom
(
int
strategyId
)
{
TabStoreStrategy
storeStrategy
=
storeStrategyService
.
getStoreStrategyById
(
strategyId
);
if
(
storeStrategy
==
null
)
{
return
ServiceResponse
.
failure
(
ErrorCode
.
ERR_5
.
getCode
(),
"策略主键ID错误,查询不到数据"
);
}
storeStrategyService
.
sortBottom
(
storeStrategy
.
getEnterpriseId
(),
strategyId
,
storeStrategy
.
getStrategyType
());
return
ServiceResponse
.
success
();
}
@Override
public
ServiceResponse
<
Integer
>
sortTopping
(
int
strategyId
)
{
TabStoreStrategy
storeStrategy
=
storeStrategyService
.
getStoreStrategyById
(
strategyId
);
if
(
storeStrategy
==
null
)
{
return
ServiceResponse
.
failure
(
ErrorCode
.
ERR_5
.
getCode
(),
"策略主键ID错误,查询不到数据"
);
}
storeStrategyService
.
sortTopping
(
storeStrategy
.
getEnterpriseId
(),
strategyId
,
storeStrategy
.
getStrategyType
());
return
ServiceResponse
.
success
();
}
@Override
public
ServiceResponse
<
Integer
>
sortTopping
(
int
strategyId
,
int
strategyType
)
{
public
ServiceResponse
<
Integer
>
upOrDown
(
int
strategyId
,
boolean
isUp
)
{
TabStoreStrategy
storeStrategy
=
storeStrategyService
.
getStoreStrategyById
(
strategyId
);
if
(
storeStrategy
==
null
)
{
return
ServiceResponse
.
failure
(
ErrorCode
.
ERR_5
.
getCode
(),
"策略主键ID错误,查询不到数据"
);
}
storeStrategyService
.
sortTopping
(
storeStrategy
.
getEnterpriseId
(),
strategyId
,
strategyType
);
TabStoreStrategy
needUpdateSort
;
if
(
isUp
)
{
needUpdateSort
=
storeStrategyService
.
getPrevSort
(
storeStrategy
.
getEnterpriseId
(),
storeStrategy
.
getSort
(),
storeStrategy
.
getStrategyType
());
if
(
needUpdateSort
==
null
)
{
return
ServiceResponse
.
failure
(
ErrorCode
.
ERR_5
.
getCode
(),
"已经是第一条,不能上移"
);
}
}
else
{
needUpdateSort
=
storeStrategyService
.
getNextSort
(
storeStrategy
.
getEnterpriseId
(),
storeStrategy
.
getSort
(),
storeStrategy
.
getStrategyType
());
if
(
needUpdateSort
==
null
)
{
return
ServiceResponse
.
failure
(
ErrorCode
.
ERR_5
.
getCode
(),
"已经是最后一条,不能下移"
);
}
}
storeStrategyService
.
updateSortById
(
needUpdateSort
.
getStrategyId
(),
storeStrategy
.
getSort
());
storeStrategyService
.
updateSortById
(
storeStrategy
.
getStrategyId
(),
needUpdateSort
.
getSort
());
return
ServiceResponse
.
success
();
}
@Override
public
ServiceResponse
<
Integer
>
setStoreStrategySort
(
int
strategyId
,
int
setValue
,
int
strategyType
)
{
public
ServiceResponse
<
Integer
>
setStoreStrategySort
(
int
strategyId
,
int
setValue
)
{
TabStoreStrategy
storeStrategy
=
storeStrategyService
.
getStoreStrategyById
(
strategyId
);
if
(
storeStrategy
==
null
)
{
return
ServiceResponse
.
failure
(
ErrorCode
.
ERR_5
.
getCode
(),
"策略主键ID错误,查询不到数据"
);
}
storeStrategyService
.
setStoreStrategySort
(
strategyId
,
storeStrategy
.
getEnterpriseId
(),
setValue
,
st
rategyType
);
storeStrategyService
.
setStoreStrategySort
(
strategyId
,
storeStrategy
.
getEnterpriseId
(),
setValue
,
st
oreStrategy
.
getStrategyType
()
);
return
ServiceResponse
.
success
();
}
...
...
gic-store-web/src/main/java/com/gic/store/web/controller/StoreStrategyController.java
0 → 100644
View file @
6d822122
package
com
.
gic
.
store
.
web
.
controller
;
import
com.gic.api.base.commons.Page
;
import
com.gic.api.base.commons.ServiceResponse
;
import
com.gic.commons.util.EntityUtil
;
import
com.gic.commons.webapi.reponse.RestResponse
;
import
com.gic.store.constant.StoreGroupConstant
;
import
com.gic.store.dto.StoreStrategyDTO
;
import
com.gic.store.service.StoreStrategyApiService
;
import
com.gic.store.web.qo.PageQO
;
import
com.gic.store.web.qo.storestrategy.StoreStrategyQO
;
import
com.gic.store.web.vo.storestrategy.StoreGroupStrateVO
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
/**
* @author guojx
* @date 2019/7/4 1:56 PM
*/
@RestController
@RequestMapping
(
"/store-strategy"
)
public
class
StoreStrategyController
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
StoreStrategyController
.
class
);
@Autowired
private
StoreStrategyApiService
storeStrategyApiService
;
@RequestMapping
(
"/save-store-group-strategy"
)
public
RestResponse
saveStoreGroupStrategy
(
@Validated
({
StoreStrategyQO
.
SaveValidView
.
class
})
StoreStrategyQO
storeStrategyQO
)
{
//分组策略类型
storeStrategyQO
.
setStrategyType
(
StoreGroupConstant
.
STORE_GROUP_STRATEGY_TYPE
);
ServiceResponse
result
=
storeStrategyApiService
.
saveStoreGroupStrategy
(
transferQoToDTO
(
storeStrategyQO
));
if
(!
result
.
isSuccess
())
{
return
RestResponse
.
failure
(
result
.
getCode
(),
result
.
getMessage
());
}
return
RestResponse
.
success
(
result
.
getResult
());
}
@RequestMapping
(
"/edit-store-group-strategy"
)
public
RestResponse
editStoreGroupStrategy
(
@Validated
({
StoreStrategyQO
.
SaveValidView
.
class
,
StoreStrategyQO
.
RemoveValidView
.
class
})
StoreStrategyQO
storeStrategyQO
)
{
ServiceResponse
result
=
storeStrategyApiService
.
modifyStoreGroupStrategy
(
transferQoToDTO
(
storeStrategyQO
));
if
(!
result
.
isSuccess
())
{
return
RestResponse
.
failure
(
result
.
getCode
(),
result
.
getMessage
());
}
return
RestResponse
.
success
(
result
.
getResult
());
}
@RequestMapping
(
"/get-store-group-strategy"
)
public
RestResponse
getStoreGroupStrategy
(
@Validated
({
StoreStrategyQO
.
RemoveValidView
.
class
})
StoreStrategyQO
storeStrategyQO
)
{
ServiceResponse
result
=
storeStrategyApiService
.
getStoreGroupStrategyById
(
storeStrategyQO
.
getStrategyId
());
if
(!
result
.
isSuccess
())
{
return
RestResponse
.
failure
(
result
.
getCode
(),
result
.
getMessage
());
}
return
RestResponse
.
success
(
result
.
getResult
());
}
@RequestMapping
(
"/delete-store-group-strategy"
)
public
RestResponse
deleteStoreGroupStrategy
(
@Validated
({
StoreStrategyQO
.
RemoveValidView
.
class
})
StoreStrategyQO
storeStrategyQO
)
{
ServiceResponse
result
=
storeStrategyApiService
.
deleteStoreGroupStrategy
(
storeStrategyQO
.
getStrategyId
());
if
(!
result
.
isSuccess
())
{
return
RestResponse
.
failure
(
result
.
getCode
(),
result
.
getMessage
());
}
return
RestResponse
.
success
(
result
.
getResult
());
}
@RequestMapping
(
"/swap-store-group-strategy"
)
public
RestResponse
swapStoreGroupStrategy
(
@Validated
({
StoreStrategyQO
.
SwapValidView
.
class
,
StoreStrategyQO
.
RemoveValidView
.
class
})
StoreStrategyQO
storeStrategyQO
)
{
int
upOrDown
=
storeStrategyQO
.
getUpOrDown
();
ServiceResponse
result
;
switch
(
upOrDown
)
{
case
StoreGroupConstant
.
SORT_UP
:
result
=
storeStrategyApiService
.
upOrDown
(
storeStrategyQO
.
getStrategyId
(),
true
);
break
;
case
StoreGroupConstant
.
SORT_DOWN
:
result
=
storeStrategyApiService
.
upOrDown
(
storeStrategyQO
.
getStrategyId
(),
false
);
break
;
case
StoreGroupConstant
.
SORT_BOTTOM
:
result
=
storeStrategyApiService
.
sortBottom
(
storeStrategyQO
.
getStrategyId
());
break
;
case
StoreGroupConstant
.
SORT_TOPPING
:
result
=
storeStrategyApiService
.
sortTopping
(
storeStrategyQO
.
getStrategyId
());
break
;
default
:
result
=
null
;
}
if
(
result
.
isSuccess
())
{
return
RestResponse
.
success
(
result
.
getResult
());
}
else
{
return
RestResponse
.
failure
(
result
.
getCode
(),
result
.
getMessage
());
}
}
@RequestMapping
(
"/set-store-group-strategy-sort-value"
)
public
RestResponse
setStoreGroupStrategySortValue
(
@Validated
({
StoreStrategyQO
.
SetSortValueValidView
.
class
,
StoreStrategyQO
.
RemoveValidView
.
class
})
StoreStrategyQO
storeStrategyQO
)
{
ServiceResponse
result
=
storeStrategyApiService
.
setStoreStrategySort
(
storeStrategyQO
.
getStrategyId
(),
storeStrategyQO
.
getSortValue
());
if
(
result
.
isSuccess
())
{
return
RestResponse
.
success
(
result
.
getResult
());
}
else
{
return
RestResponse
.
failure
(
result
.
getCode
(),
result
.
getMessage
());
}
}
@RequestMapping
(
"/list-store-group-strategy"
)
public
RestResponse
listStoreGroupStrategy
(
String
search
,
PageQO
pageQO
)
{
ServiceResponse
<
Page
<
StoreStrategyDTO
>>
result
=
storeStrategyApiService
.
listStoreField
(
StoreGroupConstant
.
TEST_ENTERPRISE_ID
,
search
,
StoreGroupConstant
.
STORE_GROUP_STRATEGY_TYPE
,
pageQO
.
getCurrentPage
(),
pageQO
.
getPageSize
());
if
(
result
.
isSuccess
())
{
Page
<
StoreStrategyDTO
>
resultPage
=
result
.
getResult
();
Page
<
StoreGroupStrateVO
>
voPage
=
EntityUtil
.
changeEntityNew
(
Page
.
class
,
resultPage
);
voPage
.
setResult
(
EntityUtil
.
changeEntityListNew
(
StoreGroupStrateVO
.
class
,
resultPage
.
getResult
()));
return
RestResponse
.
success
(
voPage
);
}
else
{
return
RestResponse
.
failure
(
result
.
getCode
(),
result
.
getMessage
());
}
}
private
StoreStrategyDTO
transferQoToDTO
(
StoreStrategyQO
storeStrategyQO
)
{
StoreStrategyDTO
storeStrategyDTO
=
EntityUtil
.
changeEntityNew
(
StoreStrategyDTO
.
class
,
storeStrategyQO
);
storeStrategyDTO
.
setEnterpriseId
(
StoreGroupConstant
.
TEST_ENTERPRISE_ID
);
return
storeStrategyDTO
;
}
}
gic-store-web/src/main/java/com/gic/store/web/qo/storestrategy/StoreStrategyQO.java
0 → 100644
View file @
6d822122
package
com
.
gic
.
store
.
web
.
qo
.
storestrategy
;
import
com.gic.store.constant.StoreGroupConstant
;
import
javax.validation.constraints.Max
;
import
javax.validation.constraints.Min
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotNull
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* @author guojx
* @date 2019/7/4 1:59 PM
*/
public
class
StoreStrategyQO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
8909390650431679960L
;
public
interface
SaveValidView
{
}
public
interface
RemoveValidView
{
}
public
interface
SwapValidView
{
}
public
interface
SetSortValueValidView
{
}
/**
*
*/
@NotNull
(
message
=
"主键ID不能为空"
,
groups
=
{
RemoveValidView
.
class
})
private
Integer
strategyId
;
/**
* 策略名称
*/
@NotBlank
(
message
=
"策略名称不能为空"
,
groups
=
{
SaveValidView
.
class
})
private
String
strategyName
;
/**
*
*/
private
Integer
enterpriseId
;
/**
* 门店域id
*/
@NotNull
(
message
=
"门店域不能为空"
,
groups
=
{
SaveValidView
.
class
})
private
Integer
storeRegionId
;
/**
* 门店分组条件,json数组
*/
private
String
condition
;
/**
* 策略命中值;如果type为门店分组策略,对应分组id;否则为门店启用和不启用值
*/
@NotBlank
(
message
=
"策略命中值不能为空"
,
groups
=
{
SaveValidView
.
class
})
private
String
targetValue
;
/**
*
*/
private
Date
createTime
;
/**
*
*/
private
Date
updateTime
;
/**
* 状态值 1有效 0无效
*/
private
Integer
status
;
/**
* 策略类型,1门店状态策略, 2门店分组策略
*/
private
Integer
strategyType
;
/**
* 排序字段
*/
private
Double
sort
;
/**
* 排序值
*/
private
Integer
seq
;
/**
* 上移或者下移
*/
@NotNull
(
message
=
"移动标志参数值不能为空"
,
groups
=
{
SwapValidView
.
class
})
@Min
(
value
=
StoreGroupConstant
.
SORT_UP
,
message
=
"移动标志参数值错误,小于1"
,
groups
=
{
SwapValidView
.
class
})
@Max
(
value
=
StoreGroupConstant
.
SORT_TOPPING
,
message
=
"移动标志参数值错误,大于4"
,
groups
=
{
SwapValidView
.
class
})
private
Integer
upOrDown
;
/**
* 想要排序的值
*/
@NotNull
(
message
=
"排序值不能为空"
,
groups
=
{
SetSortValueValidView
.
class
})
private
Integer
sortValue
;
public
Integer
getStrategyId
()
{
return
strategyId
;
}
public
void
setStrategyId
(
Integer
strategyId
)
{
this
.
strategyId
=
strategyId
;
}
public
String
getStrategyName
()
{
return
strategyName
;
}
public
void
setStrategyName
(
String
strategyName
)
{
this
.
strategyName
=
strategyName
;
}
public
Integer
getEnterpriseId
()
{
return
enterpriseId
;
}
public
void
setEnterpriseId
(
Integer
enterpriseId
)
{
this
.
enterpriseId
=
enterpriseId
;
}
public
Integer
getStoreRegionId
()
{
return
storeRegionId
;
}
public
void
setStoreRegionId
(
Integer
storeRegionId
)
{
this
.
storeRegionId
=
storeRegionId
;
}
public
String
getCondition
()
{
return
condition
;
}
public
void
setCondition
(
String
condition
)
{
this
.
condition
=
condition
;
}
public
String
getTargetValue
()
{
return
targetValue
;
}
public
void
setTargetValue
(
String
targetValue
)
{
this
.
targetValue
=
targetValue
;
}
public
Date
getCreateTime
()
{
return
createTime
;
}
public
void
setCreateTime
(
Date
createTime
)
{
this
.
createTime
=
createTime
;
}
public
Date
getUpdateTime
()
{
return
updateTime
;
}
public
void
setUpdateTime
(
Date
updateTime
)
{
this
.
updateTime
=
updateTime
;
}
public
Integer
getStatus
()
{
return
status
;
}
public
void
setStatus
(
Integer
status
)
{
this
.
status
=
status
;
}
public
Integer
getStrategyType
()
{
return
strategyType
;
}
public
void
setStrategyType
(
Integer
strategyType
)
{
this
.
strategyType
=
strategyType
;
}
public
Double
getSort
()
{
return
sort
;
}
public
void
setSort
(
Double
sort
)
{
this
.
sort
=
sort
;
}
public
Integer
getSeq
()
{
return
seq
;
}
public
void
setSeq
(
Integer
seq
)
{
this
.
seq
=
seq
;
}
public
Integer
getUpOrDown
()
{
return
upOrDown
;
}
public
void
setUpOrDown
(
Integer
upOrDown
)
{
this
.
upOrDown
=
upOrDown
;
}
public
Integer
getSortValue
()
{
return
sortValue
;
}
public
void
setSortValue
(
Integer
sortValue
)
{
this
.
sortValue
=
sortValue
;
}
}
gic-store-web/src/main/java/com/gic/store/web/vo/storestrategy/StoreGroupStrateVO.java
0 → 100644
View file @
6d822122
package
com
.
gic
.
store
.
web
.
vo
.
storestrategy
;
import
java.io.Serializable
;
/**
* @author guojx
* @date 2019/7/4 2:36 PM
*/
public
class
StoreGroupStrateVO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
9043482944829812330L
;
/**
*
*/
private
Integer
strategyId
;
/**
* 策略名称
*/
private
String
strategyName
;
/**
* 排序字段
*/
private
Double
sort
;
/**
* 排序值
*/
private
Integer
seq
;
public
Integer
getStrategyId
()
{
return
strategyId
;
}
public
void
setStrategyId
(
Integer
strategyId
)
{
this
.
strategyId
=
strategyId
;
}
public
String
getStrategyName
()
{
return
strategyName
;
}
public
void
setStrategyName
(
String
strategyName
)
{
this
.
strategyName
=
strategyName
;
}
public
Double
getSort
()
{
return
sort
;
}
public
void
setSort
(
Double
sort
)
{
this
.
sort
=
sort
;
}
public
Integer
getSeq
()
{
return
seq
;
}
public
void
setSeq
(
Integer
seq
)
{
this
.
seq
=
seq
;
}
}
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