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
475b32e6
Commit
475b32e6
authored
May 18, 2020
by
zhiwj
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'developer' into 'master'
Developer See merge request
!10
parents
a55ba9c6
ed5d3ca1
Hide whitespace changes
Inline
Side-by-side
Showing
28 changed files
with
444 additions
and
39 deletions
+444
-39
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
OrderAddClerkDTO.java
...c/main/java/com/gic/store/dto/clerk/OrderAddClerkDTO.java
+69
-0
PosAddClerkDTO.java
...src/main/java/com/gic/store/dto/clerk/PosAddClerkDTO.java
+70
-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
+13
-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
+88
-7
ClerkImportApiServiceImpl.java
...c/store/service/outer/impl/ClerkImportApiServiceImpl.java
+1
-0
ClerkTaskServiceImpl.java
...om/gic/store/service/outer/impl/ClerkTaskServiceImpl.java
+2
-0
StoreApiServiceImpl.java
...com/gic/store/service/outer/impl/StoreApiServiceImpl.java
+2
-1
StoreGroupApiServiceImpl.java
...ic/store/service/outer/impl/StoreGroupApiServiceImpl.java
+2
-0
TabClerkMapper.xml
...tore-service/src/main/resources/mapper/TabClerkMapper.xml
+16
-0
TabClerkTmpMapper.xml
...e-service/src/main/resources/mapper/TabClerkTmpMapper.xml
+18
-7
TabStoreMapper.xml
...tore-service/src/main/resources/mapper/TabStoreMapper.xml
+1
-1
ClerkController.java
...in/java/com/gic/store/web/controller/ClerkController.java
+13
-0
ClerkImportController.java
...a/com/gic/store/web/controller/ClerkImportController.java
+25
-7
StoreController.java
...in/java/com/gic/store/web/controller/StoreController.java
+27
-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
+11
-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 @
475b32e6
...
...
@@ -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 @
475b32e6
...
...
@@ -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 @
475b32e6
...
...
@@ -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 @
475b32e6
...
...
@@ -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/OrderAddClerkDTO.java
0 → 100644
View file @
475b32e6
package
com
.
gic
.
store
.
dto
.
clerk
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* @author zhiwj
* @Description:
* @date 2020-05-15 11:08
*/
public
class
OrderAddClerkDTO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
8396198930481002753L
;
private
String
clerkName
;
private
String
clerkCode
;
private
Integer
storeInfoId
;
private
Integer
enterpriseId
;
private
String
orderNum
;
private
Date
orderTime
;
public
String
getClerkName
()
{
return
clerkName
;
}
public
void
setClerkName
(
String
clerkName
)
{
this
.
clerkName
=
clerkName
;
}
public
String
getClerkCode
()
{
return
clerkCode
;
}
public
void
setClerkCode
(
String
clerkCode
)
{
this
.
clerkCode
=
clerkCode
;
}
public
Integer
getStoreInfoId
()
{
return
storeInfoId
;
}
public
void
setStoreInfoId
(
Integer
storeInfoId
)
{
this
.
storeInfoId
=
storeInfoId
;
}
public
Integer
getEnterpriseId
()
{
return
enterpriseId
;
}
public
void
setEnterpriseId
(
Integer
enterpriseId
)
{
this
.
enterpriseId
=
enterpriseId
;
}
public
String
getOrderNum
()
{
return
orderNum
;
}
public
void
setOrderNum
(
String
orderNum
)
{
this
.
orderNum
=
orderNum
;
}
public
Date
getOrderTime
()
{
return
orderTime
;
}
public
void
setOrderTime
(
Date
orderTime
)
{
this
.
orderTime
=
orderTime
;
}
}
gic-store-api/src/main/java/com/gic/store/dto/clerk/PosAddClerkDTO.java
0 → 100644
View file @
475b32e6
package
com
.
gic
.
store
.
dto
.
clerk
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* @author zhiwj
* @Description:
* @date 2020-05-15 11:10
*/
public
class
PosAddClerkDTO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
3783721136741569586L
;
private
String
clerkName
;
private
String
clerkCode
;
private
Integer
storeInfoId
;
private
Integer
enterpriseId
;
private
String
cardNO
;
private
Date
openCardTime
;
public
String
getClerkName
()
{
return
clerkName
;
}
public
void
setClerkName
(
String
clerkName
)
{
this
.
clerkName
=
clerkName
;
}
public
String
getClerkCode
()
{
return
clerkCode
;
}
public
void
setClerkCode
(
String
clerkCode
)
{
this
.
clerkCode
=
clerkCode
;
}
public
Integer
getStoreInfoId
()
{
return
storeInfoId
;
}
public
void
setStoreInfoId
(
Integer
storeInfoId
)
{
this
.
storeInfoId
=
storeInfoId
;
}
public
Integer
getEnterpriseId
()
{
return
enterpriseId
;
}
public
void
setEnterpriseId
(
Integer
enterpriseId
)
{
this
.
enterpriseId
=
enterpriseId
;
}
public
String
getCardNO
()
{
return
cardNO
;
}
public
void
setCardNO
(
String
cardNO
)
{
this
.
cardNO
=
cardNO
;
}
public
Date
getOpenCardTime
()
{
return
openCardTime
;
}
public
void
setOpenCardTime
(
Date
openCardTime
)
{
this
.
openCardTime
=
openCardTime
;
}
}
gic-store-api/src/main/java/com/gic/store/dto/clerk/ProcessBatchClerkDTO.java
View file @
475b32e6
...
...
@@ -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 @
475b32e6
...
...
@@ -5,6 +5,8 @@ import com.gic.api.base.commons.ServiceResponse;
import
com.gic.store.dto.ClerkDTO
;
import
com.gic.store.dto.ClerkSearchDTO
;
import
com.gic.store.dto.ClerkStoreListDTO
;
import
com.gic.store.dto.clerk.OrderAddClerkDTO
;
import
com.gic.store.dto.clerk.PosAddClerkDTO
;
import
com.gic.store.dto.clerk.ProcessBatchClerkDTO
;
import
java.util.List
;
...
...
@@ -42,8 +44,10 @@ public interface ClerkApiService {
* @return
*/
ServiceResponse
<
Integer
>
saveClerkForPosMember
(
String
clerkName
,
String
clerkCode
,
Integer
storeInfoId
,
Integer
enterpriseId
,
String
cardNO
);
ServiceResponse
<
Integer
>
saveClerkForPosMember
(
PosAddClerkDTO
posAddClerkDTO
);
ServiceResponse
<
Integer
>
saveClerkByStoreInfoIdForOrder
(
String
clerkName
,
String
clerkCode
,
Integer
storeInfoId
,
Integer
enterpriseId
,
String
orderNum
);
ServiceResponse
<
Integer
>
saveClerkByStoreInfoIdForOrder
(
OrderAddClerkDTO
orderAddClerkDTO
);
/** @Description: 通过导购code查询导购
...
...
@@ -157,4 +161,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 @
475b32e6
...
...
@@ -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 @
475b32e6
...
...
@@ -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 @
475b32e6
...
...
@@ -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 @
475b32e6
...
...
@@ -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 @
475b32e6
...
...
@@ -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 @
475b32e6
...
...
@@ -14,6 +14,8 @@ import com.gic.store.constant.ImportClerkBatchResultEnum;
import
com.gic.store.constant.StoreLogTypeEnum
;
import
com.gic.store.constant.StoreOwnTypeEnum
;
import
com.gic.store.dto.*
;
import
com.gic.store.dto.clerk.OrderAddClerkDTO
;
import
com.gic.store.dto.clerk.PosAddClerkDTO
;
import
com.gic.store.dto.clerk.ProcessBatchClerkDTO
;
import
com.gic.store.entity.TabClerk
;
import
com.gic.store.entity.TabStoreGroup
;
...
...
@@ -63,7 +65,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,13 +80,25 @@ 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);
Integer
id
=
clerkService
.
save
(
clerkDTO
);
...
...
@@ -146,6 +160,30 @@ public class ClerkApiServiceImpl implements ClerkApiService {
}
@Override
public
ServiceResponse
<
Integer
>
saveClerkForPosMember
(
PosAddClerkDTO
posAddClerkDTO
)
{
ServiceResponse
<
StoreDTO
>
storeResponse
=
storeApiService
.
getStoreById
(
posAddClerkDTO
.
getEnterpriseId
(),
posAddClerkDTO
.
getStoreInfoId
());
if
(
storeResponse
.
getResult
()
!=
null
)
{
StoreDTO
store
=
storeResponse
.
getResult
();
ClerkDTO
clerkDTO
=
new
ClerkDTO
();
clerkDTO
.
setClerkName
(
posAddClerkDTO
.
getClerkName
());
clerkDTO
.
setClerkCode
(
posAddClerkDTO
.
getClerkCode
());
clerkDTO
.
setEnterpriseId
(
posAddClerkDTO
.
getEnterpriseId
());
clerkDTO
.
setStoreInfoId
(
store
.
getStoreInfoId
());
clerkDTO
.
setReason
(
ClerkLogReasonEnum
.
MEMBER
.
getCode
());
clerkDTO
.
setRemark
(
"卡号:"
+
posAddClerkDTO
.
getCardNO
());
clerkDTO
.
setStoreName
(
store
.
getStoreName
());
clerkDTO
.
setStatus
((
posAddClerkDTO
.
getOpenCardTime
().
getTime
()
+
15552000000L
)
>
new
Date
().
getTime
()
?
1
:
0
);
ServiceResponse
serviceResponse
=
this
.
saveOrUpdate
(
clerkDTO
);
return
serviceResponse
;
}
else
{
logger
.
warn
(
"门店不存在 enterpriseId:{}, storeInfoId:{}"
,
posAddClerkDTO
.
getEnterpriseId
(),
posAddClerkDTO
.
getStoreInfoId
());
return
EnterpriseServiceResponse
.
failure
(
ErrorCode
.
NOTEXISTS
.
getCode
(),
"门店不存在"
);
}
}
@Override
public
ServiceResponse
<
Integer
>
saveClerkByStoreInfoIdForOrder
(
String
clerkName
,
String
clerkCode
,
Integer
storeInfoId
,
Integer
enterpriseId
,
String
orderNum
)
{
// Integer storeId = this.storeService.getStoreIdByStoreInfoId(enterpriseId, storeInfoId);
// if (storeId != null) {
...
...
@@ -156,6 +194,7 @@ public class ClerkApiServiceImpl implements ClerkApiService {
clerkDTO
.
setStoreInfoId
(
storeInfoId
);
clerkDTO
.
setReason
(
ClerkLogReasonEnum
.
ORDER
.
getCode
());
clerkDTO
.
setRemark
(
"订单号:"
+
orderNum
);
ServiceResponse
serviceResponse
=
this
.
saveOrUpdate
(
clerkDTO
);
return
serviceResponse
;
// } else {
...
...
@@ -165,6 +204,21 @@ public class ClerkApiServiceImpl implements ClerkApiService {
}
@Override
public
ServiceResponse
<
Integer
>
saveClerkByStoreInfoIdForOrder
(
OrderAddClerkDTO
orderAddClerkDTO
)
{
ClerkDTO
clerkDTO
=
new
ClerkDTO
();
clerkDTO
.
setClerkName
(
orderAddClerkDTO
.
getClerkName
());
clerkDTO
.
setClerkCode
(
orderAddClerkDTO
.
getClerkCode
());
clerkDTO
.
setEnterpriseId
(
orderAddClerkDTO
.
getEnterpriseId
());
clerkDTO
.
setStoreInfoId
(
orderAddClerkDTO
.
getStoreInfoId
());
clerkDTO
.
setReason
(
ClerkLogReasonEnum
.
ORDER
.
getCode
());
clerkDTO
.
setRemark
(
"订单号:"
+
orderAddClerkDTO
.
getOrderNum
());
clerkDTO
.
setStatus
((
orderAddClerkDTO
.
getOrderTime
().
getTime
()
+
15552000000L
)
>
new
Date
().
getTime
()
?
1
:
0
);
ServiceResponse
serviceResponse
=
this
.
saveOrUpdate
(
clerkDTO
);
return
serviceResponse
;
}
@Override
public
ServiceResponse
<
ClerkDTO
>
getClerkByCode
(
Integer
enterpriseId
,
String
clerkCode
,
Integer
storeId
)
{
ServiceResponse
<
StoreDTO
>
storeResponse
=
storeApiService
.
getStoreById
(
enterpriseId
,
storeId
);
if
(
storeResponse
.
getResult
()
!=
null
)
{
...
...
@@ -260,7 +314,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
());
...
...
@@ -452,22 +514,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
());
...
...
@@ -524,6 +592,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 @
475b32e6
...
...
@@ -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 @
475b32e6
...
...
@@ -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/java/com/gic/store/service/outer/impl/StoreApiServiceImpl.java
View file @
475b32e6
...
...
@@ -526,7 +526,7 @@ public class StoreApiServiceImpl implements StoreApiService {
@Override
public
ServiceResponse
<
Long
>
queryStoreCountFromES
(
StoreSearchDTO
storeSearchDTO
){
JSONObject
json
=
this
.
buildSearchJSON
(
storeSearchDTO
);
logger
.
info
(
"es查询门店数量json:{}"
,
json
.
toJSONString
(
));
logger
.
info
(
"es查询门店数量json:{}"
,
JSON
.
toJSONString
(
json
));
DynamicSearchDTO
dynamicSearchDTO
=
new
DynamicSearchDTO
();
dynamicSearchDTO
.
setSearchJson
(
json
);
dynamicSearchDTO
.
setEnterpriseId
(
com
.
gic
.
enterprise
.
constants
.
Constants
.
INDEX_ENTERPRISEID
);
...
...
@@ -884,6 +884,7 @@ public class StoreApiServiceImpl implements StoreApiService {
@Override
public
ServiceResponse
<
Void
>
saveStoreAndClerkForBulkOrder
(
String
params
)
{
logger
.
info
(
"saveStoreAndClerkForBulkOrder:{}"
,
params
);
StoreBulkOrderDTO
dto
=
JSON
.
parseObject
(
params
,
StoreBulkOrderDTO
.
class
);
List
<
StoreOrderDTO
>
data
=
dto
.
getData
();
if
(
CollectionUtils
.
isNotEmpty
(
data
)){
...
...
gic-store-service/src/main/java/com/gic/store/service/outer/impl/StoreGroupApiServiceImpl.java
View file @
475b32e6
...
...
@@ -6,6 +6,7 @@ import java.util.List;
import
java.util.Stack
;
import
java.util.concurrent.TimeUnit
;
import
com.alibaba.fastjson.JSON
;
import
com.gic.store.service.StoreApiService
;
import
org.apache.commons.lang3.StringUtils
;
import
org.slf4j.Logger
;
...
...
@@ -159,6 +160,7 @@ public class StoreGroupApiServiceImpl implements StoreGroupApiService {
//刷新缓存
refreshRedisCache
(
storeGroupId
);
List
<
StoreGroupDTO
>
listChidrend
=
this
.
listStoreGroupAndChildren
(
storeGroupParentId
).
getResult
();
logger
.
info
(
"当前节点下的所有子节点"
,
JSON
.
toJSONString
(
listChidrend
));
for
(
StoreGroupDTO
dto
:
listChidrend
){
this
.
storeApiService
.
refreshStoreIndex
(
storeGroupDTO
.
getEnterpriseId
(),
dto
.
getStoreGroupId
());
}
...
...
gic-store-service/src/main/resources/mapper/TabClerkMapper.xml
View file @
475b32e6
...
...
@@ -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
...
...
@@ -311,6 +314,7 @@
select
<include
refid=
"Base_Column_List"
/>
from tab_clerk
<where>
<if
test=
"enterpriseId != null "
>
and enterprise_id = #{enterpriseId}
</if>
...
...
@@ -320,6 +324,7 @@
#{item}
</foreach>
</if>
</where>
</select>
<select
id=
"getClerkByCode"
resultMap=
"BaseResultMap"
>
select
...
...
@@ -329,4 +334,14 @@
and store_info_id = #{storeInfoId}
and clerk_code = #{clerkCode}
</select>
<!-- getClerkLeaderByStoreInfoId-->
<select
id=
"getClerkLeaderByStoreInfoId"
resultMap=
"BaseResultMap"
>
select
<include
refid=
"Base_Column_List"
/>
from tab_clerk
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 @
475b32e6
...
...
@@ -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-service/src/main/resources/mapper/TabStoreMapper.xml
View file @
475b32e6
...
...
@@ -244,7 +244,7 @@
and t1.store_info_id=t2.store_info_id
</update>
<update
id=
"refreshStoreIndexByStoreGroup"
>
update tab_store t1,tab_store_info t2 set t2.index_id=
t2.index_id
+ 1,t2.update_time=t2.update_time
update tab_store t1,tab_store_info t2 set t2.index_id=
IFNULL(t2.index_id,0)
+ 1,t2.update_time=t2.update_time
where t1.enterprise_id=#{enterpriseId}
and t1.store_group_id=#{storeGroupId}
and t1.store_info_id=t2.store_info_id
...
...
gic-store-web/src/main/java/com/gic/store/web/controller/ClerkController.java
View file @
475b32e6
...
...
@@ -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,18 @@ 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-in-store"
)
public
RestResponse
listClerkInStore
(
Integer
storeId
,
String
search
)
{
ServiceResponse
<
List
<
ClerkDTO
>>
serviceResponse
=
clerkApiService
.
listClerkByStoreId
(
UserDetailUtils
.
getUserDetail
().
getEnterpriseId
(),
storeId
,
search
);
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 @
475b32e6
...
...
@@ -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/StoreController.java
View file @
475b32e6
...
...
@@ -296,18 +296,34 @@ public class StoreController extends DownloadUtils {
}
@RequestMapping
(
"bulk-update-store"
)
public
RestResponse
bulkUpdateStatus
(
String
storeIds
,
String
value
,
int
type
,
String
toStoreId
)
{
public
RestResponse
bulkUpdateStatus
(
String
storeIds
,
String
value
,
int
type
,
Integer
toStoreId
)
{
Integer
enterpriseId
=
UserDetailUtils
.
getUserDetail
().
getEnterpriseId
();
if
(
StringUtils
.
isBlank
(
storeIds
)
||
StringUtils
.
isBlank
(
value
))
{
return
EnterpriseRestResponse
.
failure
(
ErrorCode
.
MISS_PARAMETER
);
}
ServiceResponse
response
=
this
.
storeApiService
.
bulkUpdateStore
(
storeIds
,
value
,
enterpriseId
,
type
,
UserDetailUtils
.
getUserDetail
().
getUserId
(),
UserDetailUtils
.
getUserDetail
().
getUserInfo
().
getUserName
());
if
(
response
.
isSuccess
())
{
if
(
type
==
1
&&
toStoreId
!=
null
)
{
// 如果是批量修改状态 要转移门店
StoreSearchDTO
storeSearchDTO
=
new
StoreSearchDTO
();
storeSearchDTO
.
setStoreIds
(
storeIds
.
replace
(
','
,
' '
));
List
<
String
>
list
=
this
.
storeApiService
.
listStore
(
storeSearchDTO
,
1
,
1000
,
"storeInfoId"
).
getResult
().
getResult
()
.
stream
().
map
(
e
->
e
.
getStoreInfoId
().
toString
()).
collect
(
Collectors
.
toList
());
Integer
storeInfoId
=
storeApiService
.
getStoreById
(
UserDetailUtils
.
getUserDetail
().
getEnterpriseId
(),
toStoreId
).
getResult
().
getStoreInfoId
();
StoreBatchUpdateDTO
storeBatchUpdateDTO
=
new
StoreBatchUpdateDTO
();
storeBatchUpdateDTO
.
setEnterpriseId
(
UserDetailUtils
.
getUserDetail
().
getEnterpriseId
());
storeBatchUpdateDTO
.
setSourceStoreInfoIdList
(
list
);
storeBatchUpdateDTO
.
setTargetStoreInfoId
(
storeInfoId
+
""
);
storeBatchUpdateDTO
.
setUserId
(
UserDetailUtils
.
getUserDetail
().
getUserId
());
logger
.
info
(
"transfer-store-member:{}"
,
JSON
.
toJSONString
(
storeBatchUpdateDTO
));
this
.
storeUpdateApiService
.
storeBatchUpdate
(
storeBatchUpdateDTO
);
}
// 写日志
String
[]
storeArr
=
storeIds
.
split
(
","
);
StoreSearchDTO
storeSearchDTO
=
new
StoreSearchDTO
();
storeSearchDTO
.
setEnterpriseId
(
enterpriseId
);
storeSearchDTO
.
setStoreIds
(
Joiner
.
on
(
" "
).
join
(
storeArr
));
Page
<
StoreDTO
>
page
=
this
.
storeApiService
.
listStore
(
storeSearchDTO
,
1
,
3
).
getResult
();
Page
<
StoreDTO
>
page
=
this
.
storeApiService
.
listStore
(
storeSearchDTO
,
1
,
3
,
"storeName"
).
getResult
();
if
(
page
!=
null
&&
CollectionUtils
.
isNotEmpty
(
page
.
getResult
()))
{
List
<
StoreDTO
>
storeList
=
page
.
getResult
();
if
(
CollectionUtils
.
isNotEmpty
(
storeList
))
{
...
...
@@ -471,9 +487,15 @@ public class StoreController extends DownloadUtils {
public
RestResponse
transferStoreMember
(
String
storeId
,
Integer
toStoreId
){
// 把参数改成storeInfoId
StoreSearchDTO
storeSearchDTO
=
new
StoreSearchDTO
();
storeSearchDTO
.
setStoreIds
(
storeId
.
replace
(
','
,
' '
));
List
<
String
>
list
=
this
.
storeApiService
.
listStore
(
storeSearchDTO
,
1
,
1000
,
"storeInfoId"
).
getResult
().
getResult
()
.
stream
().
map
(
e
->
e
.
getStoreInfoId
().
toString
()).
collect
(
Collectors
.
toList
());
List
<
StoreDTO
>
storeInfoList
;
if
(
StringUtils
.
equals
(
storeId
,
"all"
))
{
storeInfoList
=
this
.
storeApiService
.
listStore
(
storeSearchDTO
,
1
,
10000
,
"storeInfoId"
).
getResult
().
getResult
();
}
else
{
storeSearchDTO
.
setStoreIds
(
storeId
.
replace
(
','
,
' '
));
storeInfoList
=
this
.
storeApiService
.
listStore
(
storeSearchDTO
,
1
,
storeId
.
split
(
" "
).
length
,
"storeInfoId"
).
getResult
().
getResult
();
}
List
<
String
>
list
=
storeInfoList
.
stream
().
map
(
e
->
e
.
getStoreInfoId
().
toString
()).
collect
(
Collectors
.
toList
());
Integer
storeInfoId
=
storeApiService
.
getStoreById
(
UserDetailUtils
.
getUserDetail
().
getEnterpriseId
(),
toStoreId
).
getResult
().
getStoreInfoId
();
// List<String> list = Arrays.asList(storeId.split(","));
...
...
gic-store-web/src/main/java/com/gic/store/web/controller/StoreImportController.java
View file @
475b32e6
...
...
@@ -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 @
475b32e6
...
...
@@ -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
...
...
@@ -65,6 +65,8 @@ public class ClerkQO implements Serializable {
*/
private
Integer
status
;
private
Integer
clerkType
;
public
Integer
getClerkId
()
{
return
clerkId
;
}
...
...
@@ -136,4 +138,12 @@ public class ClerkQO implements Serializable {
public
void
setStatus
(
Integer
status
)
{
this
.
status
=
status
;
}
public
Integer
getClerkType
()
{
return
clerkType
;
}
public
void
setClerkType
(
Integer
clerkType
)
{
this
.
clerkType
=
clerkType
;
}
}
gic-store-web/src/main/java/com/gic/store/web/qo/store/StoreQO.java
View file @
475b32e6
...
...
@@ -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 @
475b32e6
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