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
ac2862eb
Commit
ac2862eb
authored
May 14, 2020
by
zhiwj
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
导购店长
parent
53a4e73e
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
113 additions
and
22 deletions
+113
-22
ClerkSearchDTO.java
...e-api/src/main/java/com/gic/store/dto/ClerkSearchDTO.java
+9
-0
ClerkApiService.java
.../src/main/java/com/gic/store/service/ClerkApiService.java
+9
-0
TabClerkMapper.java
...rc/main/java/com/gic/store/dao/mapper/TabClerkMapper.java
+4
-1
ClerkService.java
...ice/src/main/java/com/gic/store/service/ClerkService.java
+9
-2
StoreService.java
...ice/src/main/java/com/gic/store/service/StoreService.java
+1
-1
ClerkServiceImpl.java
...ain/java/com/gic/store/service/impl/ClerkServiceImpl.java
+19
-3
ClerkApiServiceImpl.java
...com/gic/store/service/outer/impl/ClerkApiServiceImpl.java
+33
-6
TabClerkMapper.xml
...tore-service/src/main/resources/mapper/TabClerkMapper.xml
+13
-0
ClerkController.java
...in/java/com/gic/store/web/controller/ClerkController.java
+6
-0
ClerkImportController.java
...a/com/gic/store/web/controller/ClerkImportController.java
+6
-5
StoreImportController.java
...a/com/gic/store/web/controller/StoreImportController.java
+2
-2
ClerkQO.java
...web/src/main/java/com/gic/store/web/qo/clerk/ClerkQO.java
+1
-1
StoreQO.java
...web/src/main/java/com/gic/store/web/qo/store/StoreQO.java
+1
-1
No files found.
gic-store-api/src/main/java/com/gic/store/dto/ClerkSearchDTO.java
View file @
ac2862eb
...
...
@@ -18,6 +18,7 @@ public class ClerkSearchDTO implements Serializable {
private
String
storeIds
;
private
Integer
currentPage
=
1
;
private
Integer
pageSize
=
20
;
private
Integer
clerkType
;
private
String
fileName
;
private
Integer
excelExtension
;
...
...
@@ -112,4 +113,12 @@ public class ClerkSearchDTO implements Serializable {
public
void
setDataType
(
Integer
dataType
)
{
this
.
dataType
=
dataType
;
}
public
Integer
getClerkType
()
{
return
clerkType
;
}
public
void
setClerkType
(
Integer
clerkType
)
{
this
.
clerkType
=
clerkType
;
}
}
gic-store-api/src/main/java/com/gic/store/service/ClerkApiService.java
View file @
ac2862eb
...
...
@@ -157,4 +157,13 @@ public interface ClerkApiService {
*/
ServiceResponse
<
List
<
ClerkDTO
>>
listClerkByStoreBrand
(
Integer
enterpriseId
,
Integer
storeBrandId
,
String
clerkName
);
/**
* @Title: updateClerkLeader
* @Description:
* @author zhiwj
* @param clerkId
* @return com.gic.api.base.commons.ServiceResponse
* @throws
*/
ServiceResponse
updateClerkLeader
(
Integer
clerkId
);
}
gic-store-service/src/main/java/com/gic/store/dao/mapper/TabClerkMapper.java
View file @
ac2862eb
...
...
@@ -58,7 +58,7 @@ public interface TabClerkMapper {
Integer
countByPhoneNumber
(
@Param
(
"storeId"
)
Integer
storeId
,
@Param
(
"phoneNumber"
)
String
phoneNumber
,
@Param
(
"clerkId"
)
Integer
clerkId
);
List
<
TabClerk
>
listClerkByStoreInfoId
(
@Param
(
"enterpriseId"
)
Integer
enterpriseId
,
@Param
(
"storeClerkIds"
)
List
<
Integer
>
storeClerkIds
,
@Param
(
"storeInfoIds"
)
String
storeInfoIds
,
@Param
(
"search"
)
String
search
);
List
<
TabClerk
>
listClerkByStoreInfoId
(
@Param
(
"enterpriseId"
)
Integer
enterpriseId
,
@Param
(
"storeClerkIds"
)
List
<
Integer
>
storeClerkIds
,
@Param
(
"storeInfoIds"
)
String
storeInfoIds
,
@Param
(
"search"
)
String
search
,
@Param
(
"clerkType"
)
Integer
clerkType
);
Integer
getTotalClerk
(
@Param
(
"enterpriseId"
)
Integer
enterpriseId
,
@Param
(
"storeClerkIds"
)
List
<
Integer
>
storeClerkIds
,
@Param
(
"search"
)
String
search
);
...
...
@@ -71,4 +71,6 @@ public interface TabClerkMapper {
List
<
TabClerk
>
listClerkByIds
(
@Param
(
"enterpriseId"
)
Integer
enterpriseId
,
@Param
(
"ids"
)
List
<
Integer
>
clerkIdList
);
TabClerk
getClerkByCode
(
@Param
(
"enterpriseId"
)
Integer
enterpriseId
,
@Param
(
"clerkCode"
)
String
clerkCode
,
@Param
(
"storeInfoId"
)
Integer
storeInfoId
);
TabClerk
getClerkLeaderByStoreInfoId
(
@Param
(
"enterpriseId"
)
Integer
enterpriseId
,
@Param
(
"storeInfoId"
)
Integer
storeInfoId
);
}
\ No newline at end of file
gic-store-service/src/main/java/com/gic/store/service/ClerkService.java
View file @
ac2862eb
...
...
@@ -14,10 +14,10 @@ import java.util.List;
public
interface
ClerkService
{
/**
* @Title: isRepeatByClerkCode
* @Description: 导购
关联主键
是否重复
* @Description: 导购
代码
是否重复
* @author zhiwj
* @param storeInfoId 门店id
* @param clerkCode 导购
关联主键
* @param clerkCode 导购
代码
* @param clerkId 导购id 如果传了,会剔除这个id去判断
* @return boolean true:重复, false:不重复
* @throws
...
...
@@ -69,6 +69,8 @@ public interface ClerkService {
*/
Integer
update
(
ClerkDTO
clerkDTO
);
Integer
update
(
TabClerk
clerk
);
/**
* @Title: listClerkByStoreInfoId
* @Description: 查询下导购列表
...
...
@@ -83,6 +85,8 @@ public interface ClerkService {
List
<
TabClerk
>
listClerkByStoreInfoId
(
Integer
enterpriseId
,
String
storeInfoIds
,
String
search
);
List
<
TabClerk
>
listClerkByStoreInfoId
(
Integer
enterpriseId
,
List
<
Integer
>
storeInfoIds
,
String
search
,
Integer
clerkType
);
Integer
getTotalClerk
(
Integer
enterpriseId
,
List
<
Integer
>
storeInfoIds
,
String
search
);
/**
* @Title: getStoreInfoIdsBySearch
...
...
@@ -114,4 +118,7 @@ public interface ClerkService {
List
<
TabClerk
>
listClerkByStoreInfoId
(
Integer
enterpriseId
,
String
search
);
TabClerk
getClerkByCode
(
Integer
enterpriseId
,
String
clerkCode
,
Integer
storeInfoId
);
TabClerk
getClerkLeaderByStoreInfoId
(
Integer
enterpriseId
,
Integer
storeInfoId
);
}
gic-store-service/src/main/java/com/gic/store/service/StoreService.java
View file @
ac2862eb
...
...
@@ -46,7 +46,7 @@ public interface StoreService {
Integer
countByBrandId
(
Integer
brandId
);
/**
* 查询如企业下门店
关联主键
的个数
* 查询如企业下门店
代码
的个数
* @param enterpriseId
* @param storeCode
* @param storeId 如果id不为null, 会查询storeId不为传入参数的数据;如果id为null, 会略过
...
...
gic-store-service/src/main/java/com/gic/store/service/impl/ClerkServiceImpl.java
View file @
ac2862eb
...
...
@@ -83,18 +83,29 @@ public class ClerkServiceImpl implements ClerkService {
tabClerk
.
setClerkGender
(
copy
.
getClerkGender
());
tabClerk
.
setNationcode
(
copy
.
getNationcode
());
tabClerk
.
setPhoneNumber
(
copy
.
getPhoneNumber
());
tabClerk
.
setClerkType
(
copy
.
getClerkType
());
// tabClerk.setStatus(StoreEnableOrDisAbleEnum.ENABLE.getCode());
return
tabClerkMapper
.
updateByPrimaryKeySelective
(
tabClerk
);
}
@Override
public
Integer
update
(
TabClerk
clerk
)
{
return
tabClerkMapper
.
updateByPrimaryKeySelective
(
clerk
);
}
@Override
public
List
<
TabClerk
>
listClerkByStoreInfoId
(
Integer
enterpriseId
,
List
<
Integer
>
storeInfoIds
,
String
search
)
{
return
t
abClerkMapper
.
listClerkByStoreInfoId
(
enterpriseId
,
storeInfoIds
,
null
,
search
);
return
t
his
.
listClerkByStoreInfoId
(
enterpriseId
,
storeInfoIds
,
search
,
null
);
}
@Override
public
List
<
TabClerk
>
listClerkByStoreInfoId
(
Integer
enterpriseId
,
String
storeInfoIds
,
String
search
)
{
return
tabClerkMapper
.
listClerkByStoreInfoId
(
enterpriseId
,
null
,
storeInfoIds
,
search
);
return
tabClerkMapper
.
listClerkByStoreInfoId
(
enterpriseId
,
null
,
storeInfoIds
,
search
,
null
);
}
@Override
public
List
<
TabClerk
>
listClerkByStoreInfoId
(
Integer
enterpriseId
,
List
<
Integer
>
storeInfoIds
,
String
search
,
Integer
clerkType
)
{
return
tabClerkMapper
.
listClerkByStoreInfoId
(
enterpriseId
,
storeInfoIds
,
null
,
search
,
clerkType
);
}
@Override
...
...
@@ -138,7 +149,7 @@ public class ClerkServiceImpl implements ClerkService {
@Override
public
List
<
TabClerk
>
listClerkByStoreInfoId
(
Integer
enterpriseId
,
String
search
)
{
return
this
.
tabClerkMapper
.
listClerkByStoreInfoId
(
enterpriseId
,
null
,
null
,
search
);
return
this
.
tabClerkMapper
.
listClerkByStoreInfoId
(
enterpriseId
,
null
,
null
,
search
,
null
);
}
@Override
...
...
@@ -146,4 +157,9 @@ public class ClerkServiceImpl implements ClerkService {
return
tabClerkMapper
.
getClerkByCode
(
enterpriseId
,
clerkCode
,
storeInfoId
);
}
@Override
public
TabClerk
getClerkLeaderByStoreInfoId
(
Integer
enterpriseId
,
Integer
storeInfoId
)
{
return
tabClerkMapper
.
getClerkLeaderByStoreInfoId
(
enterpriseId
,
storeInfoId
);
}
}
gic-store-service/src/main/java/com/gic/store/service/outer/impl/ClerkApiServiceImpl.java
View file @
ac2862eb
...
...
@@ -63,7 +63,7 @@ public class ClerkApiServiceImpl implements ClerkApiService {
// 校验参数
if
(
clerkService
.
isRepeatByClerkCode
(
clerkDTO
.
getStoreInfoId
(),
clerkDTO
.
getClerkCode
(),
clerkDTO
.
getClerkId
()))
{
return
ServiceResponse
.
failure
(
ErrorCode
.
PARAMETER_ERROR
.
getCode
(),
"
导购关联主键
重复"
);
return
ServiceResponse
.
failure
(
ErrorCode
.
PARAMETER_ERROR
.
getCode
(),
"
门店下导购代码
重复"
);
}
if
(
StringUtils
.
isNotBlank
(
clerkDTO
.
getPhoneNumber
()))
{
String
nationcode
=
clerkDTO
.
getNationcode
();
...
...
@@ -78,18 +78,24 @@ public class ClerkApiServiceImpl implements ClerkApiService {
if
(
clerkService
.
isRepeatByPhoneNumber
(
clerkDTO
.
getStoreInfoId
(),
clerkDTO
.
getPhoneNumber
(),
clerkDTO
.
getClerkId
(),
clerkDTO
.
getNationcode
()))
{
return
ServiceResponse
.
failure
(
ErrorCode
.
PARAMETER_ERROR
.
getCode
(),
"手机号重复"
);
return
ServiceResponse
.
failure
(
ErrorCode
.
PARAMETER_ERROR
.
getCode
(),
"
门店下导购
手机号重复"
);
}
}
if
(
clerkService
.
isRepeatByClerkName
(
clerkDTO
.
getStoreInfoId
(),
clerkDTO
.
getClerkName
(),
clerkDTO
.
getClerkId
()))
{
return
ServiceResponse
.
failure
(
ErrorCode
.
PARAMETER_ERROR
.
getCode
(),
"导购名称重复"
);
return
ServiceResponse
.
failure
(
ErrorCode
.
PARAMETER_ERROR
.
getCode
(),
"
门店下
导购名称重复"
);
}
// 店长逻辑
// 如果门店下已经存在有导购是店长, 并且当前导购是店长 则做替换
// 如果门店下没有导购是店长,将当前导购设置成店长
TabClerk
clerkLeader
=
clerkService
.
getClerkLeaderByStoreInfoId
(
clerkDTO
.
getEnterpriseId
(),
clerkDTO
.
getStoreInfoId
());
if
(
clerkLeader
!=
null
&&
Integer
.
valueOf
(
1
).
equals
(
clerkDTO
.
getClerkType
()))
{
clerkLeader
.
setClerkType
(
0
);
clerkService
.
update
(
clerkLeader
);
clerkDTO
.
setClerkType
(
1
);
}
else
{
clerkDTO
.
setClerkType
(
1
);
}
if
(
clerkDTO
.
getClerkId
()
==
null
)
{
// Integer saveClerkLogBySaveClerk(Integer reason, Integer enterpriseId, Integer clerkId, String remark, Integer operatorId, String operatorName);
...
...
@@ -266,7 +272,15 @@ public class ClerkApiServiceImpl implements ClerkApiService {
storeInfoIds
.
add
(
store
.
getStoreInfoId
());
}
List
<
TabClerk
>
clerkList
=
clerkService
.
listClerkByStoreInfoId
(
enterpriseId
,
storeInfoIds
,
clerkSearchDTO
.
getSearch
());
clerkSearchDTO
.
getSearch
(),
clerkSearchDTO
.
getClerkType
());
if
(
CollectionUtils
.
isNotEmpty
(
clerkList
))
{
for
(
TabClerk
clerk
:
clerkList
)
{
if
(
Integer
.
valueOf
(
1
).
equals
(
clerk
.
getClerkType
()))
{
clerk
.
setPositionName
(
"店长"
);
}
}
}
Map
<
Integer
,
List
<
TabClerk
>>
storeIdMap
=
CollectionUtil
.
group
(
clerkList
,
"storeInfoId"
);
for
(
ClerkStoreListDTO
clerkStoreListDTO
:
storeClerkDTOList
)
{
List
<
TabClerk
>
tabClerks
=
storeIdMap
.
get
(
clerkStoreListDTO
.
getStoreInfoId
());
...
...
@@ -530,6 +544,19 @@ public class ClerkApiServiceImpl implements ClerkApiService {
return
EnterpriseServiceResponse
.
success
(
dtoList
);
}
@Override
public
ServiceResponse
updateClerkLeader
(
Integer
clerkId
)
{
TabClerk
clerk
=
this
.
clerkService
.
getById
(
clerkId
);
clerk
.
setClerkType
(
1
);
TabClerk
oldClerk
=
this
.
clerkService
.
getClerkLeaderByStoreInfoId
(
clerk
.
getEnterpriseId
(),
clerk
.
getStoreInfoId
());
oldClerk
.
setClerkType
(
0
);
this
.
clerkService
.
update
(
clerk
);
this
.
clerkService
.
update
(
oldClerk
);
return
EnterpriseServiceResponse
.
success
();
}
private
static
ServiceResponse
<
String
>
responseErrorElement
(
ImportClerkBatchResultEnum
error
)
{
logger
.
warn
(
"批处理导购错误返回结果:{}"
,
error
.
toString
());
return
ServiceResponse
.
failure
(
error
.
getCode
(),
error
.
toString
());
...
...
gic-store-service/src/main/resources/mapper/TabClerkMapper.xml
View file @
ac2862eb
...
...
@@ -247,6 +247,9 @@
<if
test=
"search != null and search != '' "
>
and (clerk_code like concat('%', #{search} ,'%') or clerk_name like concat('%', #{search} ,'%') )
</if>
<if
test=
"clerkType != null "
>
and clerk_type = #{clerkType}
</if>
</select>
<select
id=
"getTotalClerk"
resultType=
"int"
>
select
...
...
@@ -329,4 +332,13 @@
and store_info_id = #{storeInfoId}
and clerk_code = #{clerkCode}
</select>
<!-- getClerkLeaderByStoreInfoId-->
<select
id=
"getClerkLeaderByStoreInfoId"
resultMap=
"BaseResultMap"
>
select
<include
refid=
"Base_Column_List"
/>
where enterprise_id = #{enterpriseId}
and store_info_id = #{storeInfoId}
and clerk_type = 1
limit 1
</select>
</mapper>
\ No newline at end of file
gic-store-web/src/main/java/com/gic/store/web/controller/ClerkController.java
View file @
ac2862eb
...
...
@@ -272,6 +272,12 @@ public class ClerkController extends DownloadUtils {
}
}
@RequestMapping
(
"/update-clerk-leader"
)
public
RestResponse
updateClerkLeader
(
Integer
clerkId
)
{
ServiceResponse
serviceResponse
=
clerkApiService
.
updateClerkLeader
(
clerkId
);
return
ResultControllerUtils
.
commonResult
(
serviceResponse
);
}
@RequestMapping
(
"/list-clerk-log"
)
public
RestResponse
listClerkLog
(
PageQO
pageQO
,
String
content
,
Integer
reason
,
Integer
logType
,
Integer
clerkId
)
{
ClerkLogDTO
clerkLogDTO
=
new
ClerkLogDTO
();
...
...
gic-store-web/src/main/java/com/gic/store/web/controller/ClerkImportController.java
View file @
ac2862eb
...
...
@@ -232,7 +232,7 @@ public class ClerkImportController {
fileName
=
sdf
.
format
(
listErrorData
.
get
(
0
).
getUpdateTime
())
+
fileName
;
List
<
List
<
String
>>
errorList
=
clerkImportApiService
.
listError
(
enterpriseId
).
getResult
();
List
<
String
>
titleList
=
new
ArrayList
<>();
Collections
.
addAll
(
titleList
,
"序号"
,
"导购名"
,
"导购
关联主键"
,
"门店名"
,
"门店关联主键
"
,
"职位"
,
"性别"
,
"区号"
,
"手机号"
,
"错误信息"
);
Collections
.
addAll
(
titleList
,
"序号"
,
"导购名"
,
"导购
代码"
,
"门店名"
,
"门店代码
"
,
"职位"
,
"性别"
,
"区号"
,
"手机号"
,
"错误信息"
);
List
<
String
>
descriptionList
=
new
ArrayList
<>();
Collections
.
addAll
(
descriptionList
,
""
,
"必填,不能超过20个字"
,
"必填,不能超过20个字,为导购的唯一识别码"
,
"必填,不能超过20个字"
,
"必填,不能超过20个字"
,
"非必填,不能超过30个字"
,
"\"男\"或\"女\""
,
"区号,如不填默认为 086"
,
"必填,不能超过20个字"
,
""
);
...
...
@@ -250,6 +250,7 @@ public class ClerkImportController {
}
}
private
ClerkTmpDTO
validateData
(
Map
<
Integer
,
String
>
row
,
Integer
enterpriseId
)
{
boolean
validate
=
true
;
ClerkTmpDTO
bean
=
new
ClerkTmpDTO
();
...
...
@@ -275,7 +276,7 @@ public class ClerkImportController {
String
clerkCode
=
row
.
get
(
2
);
if
(
validate
)
{
if
(
StringUtils
.
isBlank
(
clerkCode
))
{
bean
.
setErrorMessage
(
"导购
关联主键
不能为空"
);
bean
.
setErrorMessage
(
"导购
代码
不能为空"
);
validate
=
false
;
}
}
...
...
@@ -283,7 +284,7 @@ public class ClerkImportController {
bean
.
setClerkCode
(
clerkCode
);
if
(
validate
)
{
if
(
this
.
lengthValidate
(
clerkCode
,
20
))
{
bean
.
setErrorMessage
(
"导购
关联主键
超过20个字"
);
bean
.
setErrorMessage
(
"导购
代码
超过20个字"
);
validate
=
false
;
}
}
...
...
@@ -307,7 +308,7 @@ public class ClerkImportController {
String
storeCode
=
row
.
get
(
4
);
if
(
validate
)
{
if
(
StringUtils
.
isBlank
(
storeCode
))
{
bean
.
setErrorMessage
(
"门店
关联主键
不能为空"
);
bean
.
setErrorMessage
(
"门店
代码
不能为空"
);
validate
=
false
;
}
}
...
...
@@ -315,7 +316,7 @@ public class ClerkImportController {
bean
.
setStoreCode
(
storeCode
);
if
(
validate
)
{
if
(
this
.
lengthValidate
(
storeCode
,
20
))
{
bean
.
setErrorMessage
(
"门店
关联主键
超过20个字"
);
bean
.
setErrorMessage
(
"门店
代码
超过20个字"
);
validate
=
false
;
}
}
...
...
gic-store-web/src/main/java/com/gic/store/web/controller/StoreImportController.java
View file @
ac2862eb
...
...
@@ -340,13 +340,13 @@ public class StoreImportController {
// 验证门店代码
String
storeCode
=
row
.
get
(
2
);
if
(
StringUtils
.
isBlank
(
storeCode
))
{
errorMessage
.
append
(
"门店
关联主键
不能为空,"
);
errorMessage
.
append
(
"门店
代码
不能为空,"
);
}
else
{
storeCode
=
storeCode
.
trim
();
bean
.
setStoreCode
(
storeCode
);
if
(
this
.
lengthValidate
(
storeCode
,
20
))
{
errorMessage
.
append
(
"门店
关联主键
长度超过20个字,"
);
errorMessage
.
append
(
"门店
代码
长度超过20个字,"
);
}
if
(!
isNeedReplaceStoreCode
)
{
// 验证门店code唯一
...
...
gic-store-web/src/main/java/com/gic/store/web/qo/clerk/ClerkQO.java
View file @
ac2862eb
...
...
@@ -32,7 +32,7 @@ public class ClerkQO implements Serializable {
/**
* 店员编码
*/
@NotNull
(
message
=
"导购
关联主键
不能为空"
,
groups
=
{
SaveValidView
.
class
,
EditValidView
.
class
})
@NotNull
(
message
=
"导购
代码
不能为空"
,
groups
=
{
SaveValidView
.
class
,
EditValidView
.
class
})
private
String
clerkCode
;
/**
* 门店id
...
...
gic-store-web/src/main/java/com/gic/store/web/qo/store/StoreQO.java
View file @
ac2862eb
...
...
@@ -33,7 +33,7 @@ public class StoreQO implements Serializable {
/**
* 门店code
*/
@NotNull
(
message
=
"门店
关联主键
不能为空"
,
groups
=
{
SaveValidView
.
class
})
@NotNull
(
message
=
"门店
代码
不能为空"
,
groups
=
{
SaveValidView
.
class
})
private
String
storeCode
;
/**
...
...
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