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
f9ac815f
Commit
f9ac815f
authored
May 14, 2020
by
陶光胜
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'developer' of
http://115.159.76.241/base_platform_enterprise/gic-store
into developer
parents
eedc7ccd
4fef0330
Hide whitespace changes
Inline
Side-by-side
Showing
22 changed files
with
204 additions
and
34 deletions
+204
-34
ImportClerkBatchResultEnum.java
...va/com/gic/store/constant/ImportClerkBatchResultEnum.java
+1
-0
ClerkDTO.java
gic-store-api/src/main/java/com/gic/store/dto/ClerkDTO.java
+9
-0
ClerkSearchDTO.java
...e-api/src/main/java/com/gic/store/dto/ClerkSearchDTO.java
+9
-0
ClerkTmpDTO.java
...tore-api/src/main/java/com/gic/store/dto/ClerkTmpDTO.java
+9
-0
ProcessBatchClerkDTO.java
...in/java/com/gic/store/dto/clerk/ProcessBatchClerkDTO.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
TabClerkTmp.java
...rvice/src/main/java/com/gic/store/entity/TabClerkTmp.java
+13
-0
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
+42
-9
ClerkImportApiServiceImpl.java
...c/store/service/outer/impl/ClerkImportApiServiceImpl.java
+1
-0
ClerkTaskServiceImpl.java
...om/gic/store/service/outer/impl/ClerkTaskServiceImpl.java
+2
-0
TabClerkMapper.xml
...tore-service/src/main/resources/mapper/TabClerkMapper.xml
+13
-0
TabClerkTmpMapper.xml
...e-service/src/main/resources/mapper/TabClerkTmpMapper.xml
+18
-7
ClerkController.java
...in/java/com/gic/store/web/controller/ClerkController.java
+7
-0
ClerkImportController.java
...a/com/gic/store/web/controller/ClerkImportController.java
+25
-7
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
clerk_batch_import.xlsx
...tore-web/src/main/resources/excel/clerk_batch_import.xlsx
+0
-0
No files found.
gic-store-api/src/main/java/com/gic/store/constant/ImportClerkBatchResultEnum.java
View file @
f9ac815f
...
...
@@ -19,6 +19,7 @@ public enum ImportClerkBatchResultEnum {
D2
(
"D2"
,
"导购属性"
,
"标记不导入"
,
"性别"
,
"导购性别错误"
),
D3
(
"D3"
,
"导购属性"
,
"标记不导入"
,
"手机号"
,
"导购手机号重复"
),
D4
(
"D4"
,
"导购属性"
,
"标记不导入"
,
"手机号"
,
"导购手机号为空"
),
D5
(
"D5"
,
"导购属性"
,
"标记不导入"
,
"店长"
,
"是否店长字段为空"
),
E1
(
"E1"
,
"商户信息"
,
"标记不导入"
,
"商户"
,
"商户ID非法"
);
/**
...
...
gic-store-api/src/main/java/com/gic/store/dto/ClerkDTO.java
View file @
f9ac815f
...
...
@@ -82,6 +82,7 @@ public class ClerkDTO implements Serializable {
private
String
operatorName
;
private
String
storeName
;
private
String
haobanStatusName
;
private
String
clerkTypeName
;
public
Integer
getClerkId
()
{
...
...
@@ -235,4 +236,12 @@ public class ClerkDTO implements Serializable {
public
void
setHeadImg
(
String
headImg
)
{
this
.
headImg
=
headImg
;
}
public
void
setClerkTypeName
(
String
clerkTypeName
)
{
this
.
clerkTypeName
=
clerkTypeName
;
}
public
String
getClerkTypeName
()
{
return
clerkTypeName
;
}
}
gic-store-api/src/main/java/com/gic/store/dto/ClerkSearchDTO.java
View file @
f9ac815f
...
...
@@ -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/dto/ClerkTmpDTO.java
View file @
f9ac815f
...
...
@@ -81,6 +81,7 @@ public class ClerkTmpDTO implements Serializable {
*
*/
private
String
operatorName
;
private
String
clerkType
;
public
Integer
getClerkTmpId
()
{
return
clerkTmpId
;
...
...
@@ -201,4 +202,12 @@ public class ClerkTmpDTO implements Serializable {
public
void
setOperatorName
(
String
operatorName
)
{
this
.
operatorName
=
operatorName
;
}
public
String
getClerkType
()
{
return
clerkType
;
}
public
void
setClerkType
(
String
clerkType
)
{
this
.
clerkType
=
clerkType
;
}
}
gic-store-api/src/main/java/com/gic/store/dto/clerk/ProcessBatchClerkDTO.java
View file @
f9ac815f
...
...
@@ -62,6 +62,7 @@ public class ProcessBatchClerkDTO implements Serializable{
*/
private
Integer
regionId
;
private
Integer
clerkType
;
/********************操作日志**********************/
/**
* 事由 1:web后台操作 2:外部触发 3:订单同步 4:会员同步 5:系统配置触发 6 etl同步
...
...
@@ -192,4 +193,12 @@ public class ProcessBatchClerkDTO implements Serializable{
public
void
setOperatorName
(
String
operatorName
)
{
this
.
operatorName
=
operatorName
;
}
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 @
f9ac815f
...
...
@@ -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 @
f9ac815f
...
...
@@ -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/entity/TabClerkTmp.java
View file @
f9ac815f
...
...
@@ -57,6 +57,11 @@ public class TabClerkTmp {
private
String
phoneNumber
;
/**
* 是否店长
*/
private
String
clerkType
;
/**
*
*/
private
Date
createTime
;
...
...
@@ -166,6 +171,14 @@ public class TabClerkTmp {
this
.
phoneNumber
=
phoneNumber
;
}
public
String
getClerkType
()
{
return
clerkType
;
}
public
void
setClerkType
(
String
clerkType
)
{
this
.
clerkType
=
clerkType
;
}
public
Date
getCreateTime
()
{
return
createTime
;
}
...
...
gic-store-service/src/main/java/com/gic/store/service/ClerkService.java
View file @
f9ac815f
...
...
@@ -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 @
f9ac815f
...
...
@@ -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 @
f9ac815f
...
...
@@ -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 @
f9ac815f
...
...
@@ -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
());
...
...
@@ -458,22 +472,28 @@ public class ClerkApiServiceImpl implements ClerkApiService {
if
(
StringUtils
.
isBlank
(
phone
))
{
return
responseErrorElement
(
ImportClerkBatchResultEnum
.
D4
);
}
if
(
clerkInfo
.
getClerkType
()
==
null
)
{
return
responseErrorElement
(
ImportClerkBatchResultEnum
.
D5
);
}
if
(
clerkService
.
isRepeatByPhoneNumber
(
storeInfoId
,
phone
,
null
,
nationcode
))
{
return
responseErrorElement
(
ImportClerkBatchResultEnum
.
D3
);
}
ClerkDTO
clerkDTO
=
EntityUtil
.
changeEntityNew
(
ClerkDTO
.
class
,
clerkInfo
);
clerkDTO
.
setStoreInfoId
(
storeInfoId
);
clerkDTO
.
setStoreName
(
storeDTO
.
getStoreName
());
Integer
id
;
ServiceResponse
serviceResponse
=
saveOrUpdate
(
clerkDTO
);
if
(!
serviceResponse
.
isSuccess
())
{
return
serviceResponse
;
}
Integer
id
=
(
Integer
)
serviceResponse
.
getResult
();
if
(
isAdd
)
{
id
=
clerkService
.
save
(
clerkDTO
);
clerkLogService
.
saveClerkLogBySaveClerk
(
enterpriseId
,
id
,
clerkDTO
.
getReason
(),
clerkDTO
.
getRemark
(),
clerkDTO
.
getOperatorId
(),
clerkDTO
.
getOperatorName
());
storeLogByAddClerk
(
clerkDTO
);
}
else
{
id
=
clerk
.
getClerkId
();
clerkDTO
.
setClerkId
(
id
);
clerkService
.
update
(
clerkDTO
);
clerkLogService
.
saveClerkLogByUpdateClerk
(
clerk
,
clerkDTO
,
clerkDTO
.
getEnterpriseId
(),
clerkDTO
.
getClerkId
(),
clerkDTO
.
getReason
(),
clerkDTO
.
getRemark
(),
clerkDTO
.
getOperatorId
(),
clerkDTO
.
getOperatorName
());
...
...
@@ -530,6 +550,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/java/com/gic/store/service/outer/impl/ClerkImportApiServiceImpl.java
View file @
f9ac815f
...
...
@@ -110,6 +110,7 @@ public class ClerkImportApiServiceImpl implements ClerkImportApiService {
list
.
add
(
clerkTmpDTO
.
getClerkGender
());
list
.
add
(
clerkTmpDTO
.
getNationcode
());
list
.
add
(
clerkTmpDTO
.
getPhoneNumber
());
list
.
add
(
clerkTmpDTO
.
getClerkType
());
list
.
add
(
clerkTmpDTO
.
getErrorMessage
());
resultList
.
add
(
list
);
}
...
...
gic-store-service/src/main/java/com/gic/store/service/outer/impl/ClerkTaskServiceImpl.java
View file @
f9ac815f
...
...
@@ -15,6 +15,7 @@ import com.task.allocation.api.AbstractTaskAllocationOperation;
import
com.task.allocation.exception.TaskAllocationException
;
import
com.task.allocation.qo.InitTaskQO
;
import
com.task.allocation.util.TaskAllocationSdkClient
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.logging.log4j.LogManager
;
import
org.apache.logging.log4j.Logger
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -106,6 +107,7 @@ public class ClerkTaskServiceImpl extends AbstractTaskAllocationOperation implem
clerkDTO
.
setNationcode
(
t
.
getNationcode
().
trim
());
clerkDTO
.
setPhoneNumber
(
t
.
getPhoneNumber
().
trim
());
clerkDTO
.
setPositionName
(
t
.
getPositionName
().
trim
());
clerkDTO
.
setClerkType
(
StringUtils
.
equals
(
t
.
getClerkType
(),
"是"
)?
1
:
0
);
clerkDTO
.
setReason
(
ClerkLogReasonEnum
.
WEB
.
getCode
());
clerkDTO
.
setRemark
(
"批量导入"
);
...
...
gic-store-service/src/main/resources/mapper/TabClerkMapper.xml
View file @
f9ac815f
...
...
@@ -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-service/src/main/resources/mapper/TabClerkTmpMapper.xml
View file @
f9ac815f
...
...
@@ -12,6 +12,7 @@
<result
column=
"clerk_gender"
jdbcType=
"VARCHAR"
property=
"clerkGender"
/>
<result
column=
"nationcode"
jdbcType=
"VARCHAR"
property=
"nationcode"
/>
<result
column=
"phone_number"
jdbcType=
"VARCHAR"
property=
"phoneNumber"
/>
<result
column=
"clerk_type"
jdbcType=
"VARCHAR"
property=
"clerkType"
/>
<result
column=
"create_time"
jdbcType=
"TIMESTAMP"
property=
"createTime"
/>
<result
column=
"update_time"
jdbcType=
"TIMESTAMP"
property=
"updateTime"
/>
<result
column=
"error_message"
jdbcType=
"VARCHAR"
property=
"errorMessage"
/>
...
...
@@ -21,7 +22,7 @@
</resultMap>
<sql
id=
"Base_Column_List"
>
clerk_tmp_id, enterprise_id, clerk_name, clerk_code, store_name, store_code, position_name,
clerk_gender, nationcode, phone_number, create_time, update_time, error_message,
clerk_gender, nationcode, phone_number, c
lerk_type, c
reate_time, update_time, error_message,
sign_key, operator_id, operator_name
</sql>
<select
id=
"selectByPrimaryKey"
parameterType=
"java.lang.Integer"
resultMap=
"BaseResultMap"
>
...
...
@@ -38,15 +39,15 @@
insert into tab_clerk_tmp (clerk_tmp_id, enterprise_id, clerk_name,
clerk_code, store_name, store_code,
position_name, clerk_gender, nationcode,
phone_number, c
reate_time, upd
ate_time,
error_message, sign_key, operator_id
,
operator_name)
phone_number, c
lerk_type, cre
ate_time,
update_time, error_message, sign_key
,
operator_
id, operator_
name)
values (#{clerkTmpId,jdbcType=INTEGER}, #{enterpriseId,jdbcType=INTEGER}, #{clerkName,jdbcType=VARCHAR},
#{clerkCode,jdbcType=VARCHAR}, #{storeName,jdbcType=VARCHAR}, #{storeCode,jdbcType=VARCHAR},
#{positionName,jdbcType=VARCHAR}, #{clerkGender,jdbcType=VARCHAR}, #{nationcode,jdbcType=VARCHAR},
#{phoneNumber,jdbcType=VARCHAR}, #{c
reateTime,jdbcType=TIMESTAMP}, #{upd
ateTime,jdbcType=TIMESTAMP},
#{
errorMessage,jdbcType=VARCHAR}, #{signKey,jdbcType=VARCHAR}, #{operatorId,jdbcType=INTEGE
R},
#{operatorName,jdbcType=VARCHAR})
#{phoneNumber,jdbcType=VARCHAR}, #{c
lerkType,jdbcType=VARCHAR}, #{cre
ateTime,jdbcType=TIMESTAMP},
#{
updateTime,jdbcType=TIMESTAMP}, #{errorMessage,jdbcType=VARCHAR}, #{signKey,jdbcType=VARCHA
R},
#{operator
Id,jdbcType=INTEGER}, #{operator
Name,jdbcType=VARCHAR})
</insert>
<insert
id=
"insertSelective"
parameterType=
"com.gic.store.entity.TabClerkTmp"
>
insert into tab_clerk_tmp
...
...
@@ -81,6 +82,9 @@
<if
test=
"phoneNumber != null"
>
phone_number,
</if>
<if
test=
"clerkType != null"
>
clerk_type,
</if>
<if
test=
"createTime != null"
>
create_time,
</if>
...
...
@@ -131,6 +135,9 @@
<if
test=
"phoneNumber != null"
>
#{phoneNumber,jdbcType=VARCHAR},
</if>
<if
test=
"clerkType != null"
>
#{clerkType,jdbcType=VARCHAR},
</if>
<if
test=
"createTime != null"
>
#{createTime,jdbcType=TIMESTAMP},
</if>
...
...
@@ -181,6 +188,9 @@
<if
test=
"phoneNumber != null"
>
phone_number = #{phoneNumber,jdbcType=VARCHAR},
</if>
<if
test=
"clerkType != null"
>
clerk_type = #{clerkType,jdbcType=VARCHAR},
</if>
<if
test=
"createTime != null"
>
create_time = #{createTime,jdbcType=TIMESTAMP},
</if>
...
...
@@ -213,6 +223,7 @@
clerk_gender = #{clerkGender,jdbcType=VARCHAR},
nationcode = #{nationcode,jdbcType=VARCHAR},
phone_number = #{phoneNumber,jdbcType=VARCHAR},
clerk_type = #{clerkType,jdbcType=VARCHAR},
create_time = #{createTime,jdbcType=TIMESTAMP},
update_time = #{updateTime,jdbcType=TIMESTAMP},
error_message = #{errorMessage,jdbcType=VARCHAR},
...
...
gic-store-web/src/main/java/com/gic/store/web/controller/ClerkController.java
View file @
f9ac815f
...
...
@@ -134,6 +134,7 @@ public class ClerkController extends DownloadUtils {
for
(
ClerkDTO
clerkDTO
:
clerkList
)
{
clerkDTO
.
setStoreName
(
clerkStoreListDTO
.
getStoreName
());
clerkDTO
.
setHaobanStatusName
(
clerkDTO
.
getHaobanStatus
()
==
null
?
null
:
(
clerkDTO
.
getHaobanStatus
()
==
1
?
"已绑定"
:
"未绑定"
));
clerkDTO
.
setClerkTypeName
(
clerkDTO
.
getClerkType
()
==
null
?
null
:
(
clerkDTO
.
getClerkType
()
==
1
?
"是"
:
"否"
));
}
clerkDTOS
.
addAll
(
clerkList
);
}
...
...
@@ -272,6 +273,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 @
f9ac815f
...
...
@@ -121,7 +121,7 @@ public class ClerkImportController {
try
{
Workbook
workbook
=
ExcelUtils
.
getWorkbookFromUpload
(
file
.
getInputStream
(),
fileName
);
List
<
Map
<
Integer
,
String
>>
data
=
ExcelUtils
.
readExcel
(
6
,
fileName
.
substring
(
fileName
.
lastIndexOf
(
"."
)
+
1
),
workbook
,
null
);
if
(
CollectionUtils
.
isNotEmpty
(
data
)
&&
data
.
get
(
0
).
size
()
!=
9
)
{
if
(
CollectionUtils
.
isNotEmpty
(
data
)
&&
data
.
get
(
0
).
size
()
!=
10
)
{
return
RestResponse
.
failure
(
ErrorCode
.
OPERATION_FAILED
.
getCode
(),
"总列数与模板不一致"
);
}
clerkImportApiService
.
delClerkTmp
(
enterpriseId
);
...
...
@@ -232,9 +232,9 @@ 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个字
"
,
""
);
Collections
.
addAll
(
descriptionList
,
""
,
"必填,不能超过20个字"
,
"必填,不能超过20个字,为导购的唯一识别码"
,
"必填,不能超过20个字"
,
"必填,不能超过20个字"
,
"非必填,不能超过30个字"
,
"\"男\"或\"女\""
,
"区号,如不填默认为
+86"
,
"必填,不能超过20个字"
,
"必填, 是或否
"
,
""
);
Workbook
workbook
=
ExcelUtils
.
getWorkbook
(
"导购导入错误记录"
,
titleList
,
descriptionList
,
errorList
,
null
);
byte
[]
bytesName
=
fileName
.
getBytes
(
"UTF-8"
);
...
...
@@ -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
;
}
}
...
...
@@ -388,6 +389,23 @@ public class ClerkImportController {
bean
.
setErrorMessage
(
"手机号不能为空"
);
}
}
bean
.
setPhoneNumber
(
phoneNumber
.
trim
());
// 验证是否店长
String
clerkType
=
row
.
get
(
9
);
bean
.
setClerkType
(
clerkType
);
if
(
validate
)
{
if
(
StringUtils
.
isBlank
(
clerkType
))
{
bean
.
setErrorMessage
(
"是否店长不能为空"
);
validate
=
false
;
}
}
if
(
validate
)
{
if
(
StringUtils
.
equals
(
"是"
,
clerkType
)
&&
StringUtils
.
equals
(
"否"
,
clerkType
))
{
bean
.
setErrorMessage
(
"是否店长类型不存在"
);
validate
=
false
;
}
}
return
bean
;
}
...
...
gic-store-web/src/main/java/com/gic/store/web/controller/StoreImportController.java
View file @
f9ac815f
...
...
@@ -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 @
f9ac815f
...
...
@@ -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 @
f9ac815f
...
...
@@ -33,7 +33,7 @@ public class StoreQO implements Serializable {
/**
* 门店code
*/
@NotNull
(
message
=
"门店
关联主键
不能为空"
,
groups
=
{
SaveValidView
.
class
})
@NotNull
(
message
=
"门店
代码
不能为空"
,
groups
=
{
SaveValidView
.
class
})
private
String
storeCode
;
/**
...
...
gic-store-web/src/main/resources/excel/clerk_batch_import.xlsx
View file @
f9ac815f
No preview for this file type
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