Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
H
haoban-manage3.0
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
haoban3.0
haoban-manage3.0
Commits
1d2bc45f
Commit
1d2bc45f
authored
Mar 17, 2022
by
墨竹
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix:删除无效代码
parent
a61d55f1
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
394 additions
and
681 deletions
+394
-681
MessageApiServiceImpl.java
...anage/service/service/out/impl/MessageApiServiceImpl.java
+2
-0
DepartmentContoller.java
...gic/haoban/manage/web/controller/DepartmentContoller.java
+392
-681
No files found.
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/out/impl/MessageApiServiceImpl.java
View file @
1d2bc45f
...
@@ -19,6 +19,7 @@ import com.gic.haoban.manage.service.config.Config;
...
@@ -19,6 +19,7 @@ import com.gic.haoban.manage.service.config.Config;
import
com.gic.haoban.manage.service.entity.*
;
import
com.gic.haoban.manage.service.entity.*
;
import
com.gic.haoban.manage.service.service.*
;
import
com.gic.haoban.manage.service.service.*
;
import
com.gic.mq.sdk.GicMQClient
;
import
com.gic.mq.sdk.GicMQClient
;
import
com.gic.redis.data.util.RedisUtil
;
import
com.gic.thirdparty.api.dto.PicUploadResDTO
;
import
com.gic.thirdparty.api.dto.PicUploadResDTO
;
import
com.gic.thirdparty.api.service.QQCloudPicService
;
import
com.gic.thirdparty.api.service.QQCloudPicService
;
import
com.gic.wechat.api.dto.qywx.ItemDTO
;
import
com.gic.wechat.api.dto.qywx.ItemDTO
;
...
@@ -397,6 +398,7 @@ public class MessageApiServiceImpl implements MessageApiService {
...
@@ -397,6 +398,7 @@ public class MessageApiServiceImpl implements MessageApiService {
log
.
info
(
"企微删除部门同步完成"
);
log
.
info
(
"企微删除部门同步完成"
);
}
}
}
}
RedisUtil
.
delLocalCache
(
"department-list-cache-"
+
wxEnterpriseId
);
log
.
info
(
"处理部门end:{}"
,
JSON
.
toJSONString
(
qywxCallBackDTO
));
log
.
info
(
"处理部门end:{}"
,
JSON
.
toJSONString
(
qywxCallBackDTO
));
}
}
...
...
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/controller/DepartmentContoller.java
View file @
1d2bc45f
...
@@ -2,7 +2,6 @@ package com.gic.haoban.manage.web.controller;
...
@@ -2,7 +2,6 @@ package com.gic.haoban.manage.web.controller;
import
cn.hutool.core.collection.CollectionUtil
;
import
cn.hutool.core.collection.CollectionUtil
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONArray
;
import
com.gic.api.base.commons.Page
;
import
com.gic.api.base.commons.Page
;
import
com.gic.clerk.api.dto.ClerkDTO
;
import
com.gic.clerk.api.dto.ClerkDTO
;
import
com.gic.clerk.api.dto.ClerkListDTO
;
import
com.gic.clerk.api.dto.ClerkListDTO
;
...
@@ -29,8 +28,6 @@ import com.gic.haoban.manage.api.service.DepartmentApiService;
...
@@ -29,8 +28,6 @@ import com.gic.haoban.manage.api.service.DepartmentApiService;
import
com.gic.haoban.manage.api.service.StaffApiService
;
import
com.gic.haoban.manage.api.service.StaffApiService
;
import
com.gic.haoban.manage.api.service.StaffDepartmentRelatedApiService
;
import
com.gic.haoban.manage.api.service.StaffDepartmentRelatedApiService
;
import
com.gic.haoban.manage.web.errCode.HaoBanErrCode
;
import
com.gic.haoban.manage.web.errCode.HaoBanErrCode
;
import
com.gic.haoban.manage.web.qo.DepartmentAddQO
;
import
com.gic.haoban.manage.web.qo.DepartmentEditQO
;
import
com.gic.haoban.manage.web.qo.SyncDepartmentQO
;
import
com.gic.haoban.manage.web.qo.SyncDepartmentQO
;
import
com.gic.haoban.manage.web.thread.SyncDepartmentThread
;
import
com.gic.haoban.manage.web.thread.SyncDepartmentThread
;
import
com.gic.haoban.manage.web.vo.DepartmentChainVO
;
import
com.gic.haoban.manage.web.vo.DepartmentChainVO
;
...
@@ -48,710 +45,424 @@ import org.springframework.web.bind.annotation.RestController;
...
@@ -48,710 +45,424 @@ import org.springframework.web.bind.annotation.RestController;
import
java.util.*
;
import
java.util.*
;
@RestController
@RestController
public
class
DepartmentContoller
extends
WebBaseController
{
public
class
DepartmentContoller
extends
WebBaseController
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
DepartmentContoller
.
class
);
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
DepartmentContoller
.
class
);
@Autowired
@Autowired
private
DepartmentApiService
departmentApiService
;
private
DepartmentApiService
departmentApiService
;
@Autowired
@Autowired
private
StoreGroupService
storeGroupService
;
private
StoreGroupService
storeGroupService
;
@Autowired
@Autowired
private
StoreService
storeService
;
private
StoreService
storeService
;
@Autowired
@Autowired
private
StaffApiService
staffApiService
;
private
StaffApiService
staffApiService
;
@Autowired
@Autowired
private
EnterpriseService
enterpriseService
;
private
EnterpriseService
enterpriseService
;
@Autowired
@Autowired
private
ClerkService
clerkService
;
private
ClerkService
clerkService
;
@Autowired
@Autowired
private
StaffDepartmentRelatedApiService
staffDepartmentRelatedApiService
;
private
StaffDepartmentRelatedApiService
staffDepartmentRelatedApiService
;
@RequestMapping
(
"department-list"
)
public
HaobanResponse
departmentList
(
String
parentId
,
BasePageInfo
pageInfo
,
String
keyWord
)
{
@RequestMapping
(
"department-list"
)
public
HaobanResponse
departmentList
(
String
parentId
,
BasePageInfo
pageInfo
,
String
keyWord
)
{
WebLoginDTO
login
=
AuthWebRequestUtil
.
getLoginUser
();
WebLoginDTO
login
=
AuthWebRequestUtil
.
getLoginUser
();
String
wxEnterpriseId
=
login
.
getWxEnterpriseId
();
String
wxEnterpriseId
=
login
.
getWxEnterpriseId
();
logger
.
info
(
"【部门列表】wxEnterpriseId={}"
,
wxEnterpriseId
);
logger
.
info
(
"【部门列表】wxEnterpriseId={}"
,
wxEnterpriseId
);
Page
<
DepartmentDTO
>
page
=
new
Page
<
DepartmentDTO
>();
Page
<
DepartmentDTO
>
page
=
new
Page
<
DepartmentDTO
>();
List
<
DepartmentDTO
>
list
=
new
ArrayList
<
DepartmentDTO
>();
List
<
DepartmentDTO
>
list
=
new
ArrayList
<
DepartmentDTO
>();
if
(
StringUtils
.
isNotBlank
(
parentId
))
{
if
(
StringUtils
.
isNotBlank
(
parentId
))
{
page
=
departmentApiService
.
pageByParentId
(
parentId
,
keyWord
,
pageInfo
);
page
=
departmentApiService
.
pageByParentId
(
parentId
,
keyWord
,
pageInfo
);
}
else
{
}
else
{
DepartmentDTO
dto
=
departmentApiService
.
getRootByEnterpriseId
(
wxEnterpriseId
);
DepartmentDTO
dto
=
departmentApiService
.
getRootByEnterpriseId
(
wxEnterpriseId
);
list
.
add
(
dto
);
list
.
add
(
dto
);
page
.
setTotalPage
(
1
);
page
.
setTotalPage
(
1
);
page
.
setTotalCount
(
1
);
page
.
setTotalCount
(
1
);
page
.
setResult
(
list
);
page
.
setResult
(
list
);
}
}
List
<
DepartmentDTO
>
result
=
page
.
getResult
();
List
<
DepartmentDTO
>
result
=
page
.
getResult
();
for
(
DepartmentDTO
departmentDTO
:
result
)
{
for
(
DepartmentDTO
departmentDTO
:
result
)
{
String
chainId
=
departmentDTO
.
getChainId
()
+
Constant
.
ID_SEPARATOR
+
departmentDTO
.
getDepartmentId
();
String
chainId
=
departmentDTO
.
getChainId
()
+
Constant
.
ID_SEPARATOR
+
departmentDTO
.
getDepartmentId
();
List
<
DepartmentDTO
>
sonList
=
departmentApiService
.
listByChainId
(
chainId
,
wxEnterpriseId
);
List
<
DepartmentDTO
>
sonList
=
departmentApiService
.
listByChainId
(
chainId
,
wxEnterpriseId
);
int
staffCount
=
0
;
int
staffCount
=
0
;
List
<
String
>
departmentIds
=
new
ArrayList
<>();
List
<
String
>
departmentIds
=
new
ArrayList
<>();
departmentIds
.
add
(
departmentDTO
.
getDepartmentId
());
departmentIds
.
add
(
departmentDTO
.
getDepartmentId
());
for
(
DepartmentDTO
departmentDTO2
:
sonList
)
{
for
(
DepartmentDTO
departmentDTO2
:
sonList
)
{
departmentIds
.
add
(
departmentDTO2
.
getDepartmentId
());
departmentIds
.
add
(
departmentDTO2
.
getDepartmentId
());
}
}
staffCount
+=
staffApiService
.
countByDepartmentIds
(
departmentIds
);
staffCount
+=
staffApiService
.
countByDepartmentIds
(
departmentIds
);
departmentDTO
.
setStaffCount
(
staffCount
);
departmentDTO
.
setStaffCount
(
staffCount
);
departmentDTO
.
setHasSonNode
(
departmentApiService
.
hasSonNode
(
departmentDTO
.
getDepartmentId
()));
departmentDTO
.
setHasSonNode
(
departmentApiService
.
hasSonNode
(
departmentDTO
.
getDepartmentId
()));
}
}
PageResult
<
DepartmentDTO
>
pageVo
=
new
PageResult
<>();
PageResult
<
DepartmentDTO
>
pageVo
=
new
PageResult
<>();
pageVo
.
setList
(
result
);
pageVo
.
setList
(
result
);
pageVo
.
setPageNum
(
page
.
getCurrentPage
());
pageVo
.
setPageNum
(
page
.
getCurrentPage
());
pageVo
.
setPages
(
page
.
getPages
());
pageVo
.
setPages
(
page
.
getPages
());
pageVo
.
setPageSize
(
page
.
getPageSize
());
pageVo
.
setPageSize
(
page
.
getPageSize
());
pageVo
.
setTotal
(
page
.
getTotalCount
());
pageVo
.
setTotal
(
page
.
getTotalCount
());
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
pageVo
);
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
pageVo
);
}
}
@RequestMapping
(
"department-list-level"
)
@RequestMapping
(
"department-list-level"
)
public
HaobanResponse
departmentLevelList
(
String
parentId
)
{
public
HaobanResponse
departmentLevelList
(
String
parentId
)
{
WebLoginDTO
login
=
AuthWebRequestUtil
.
getLoginUser
();
WebLoginDTO
login
=
AuthWebRequestUtil
.
getLoginUser
();
String
wxEnterpriseId
=
login
.
getWxEnterpriseId
();
String
wxEnterpriseId
=
login
.
getWxEnterpriseId
();
logger
.
info
(
"【部门层级列表】wxEnterpriseId={}"
,
wxEnterpriseId
);
logger
.
info
(
"【部门层级列表】wxEnterpriseId={}"
,
wxEnterpriseId
);
List
<
DepartmentDTO
>
list
=
new
ArrayList
<
DepartmentDTO
>();
List
<
DepartmentDTO
>
list
=
new
ArrayList
<
DepartmentDTO
>();
if
(
StringUtils
.
isNotBlank
(
parentId
))
{
if
(
StringUtils
.
isNotBlank
(
parentId
))
{
list
=
departmentApiService
.
listByParentId
(
parentId
);
list
=
departmentApiService
.
listByParentId
(
parentId
);
}
else
{
}
else
{
DepartmentDTO
dto
=
departmentApiService
.
getRootByEnterpriseId
(
wxEnterpriseId
);
DepartmentDTO
dto
=
departmentApiService
.
getRootByEnterpriseId
(
wxEnterpriseId
);
list
.
add
(
dto
);
list
.
add
(
dto
);
}
}
Set
<
String
>
enterpriseSet
=
new
HashSet
<>();
Set
<
String
>
enterpriseSet
=
new
HashSet
<>();
for
(
DepartmentDTO
departmentDTO
:
list
)
{
for
(
DepartmentDTO
departmentDTO
:
list
)
{
String
relatedId
=
departmentDTO
.
getRelatedId
();
String
relatedId
=
departmentDTO
.
getRelatedId
();
if
(
StringUtils
.
isBlank
(
relatedId
)){
if
(
StringUtils
.
isBlank
(
relatedId
))
{
departmentDTO
.
setBindFlag
(
0
);
departmentDTO
.
setBindFlag
(
0
);
}
else
{
}
else
{
String
gicEnterpriseId
=
departmentDTO
.
getEnterpriseId
();
String
gicEnterpriseId
=
departmentDTO
.
getEnterpriseId
();
enterpriseSet
.
add
(
gicEnterpriseId
);
enterpriseSet
.
add
(
gicEnterpriseId
);
departmentDTO
.
setBindFlag
(
1
);
departmentDTO
.
setBindFlag
(
1
);
}
}
departmentDTO
.
setHasSonNode
(
departmentApiService
.
hasSonNode
(
departmentDTO
.
getDepartmentId
()));
departmentDTO
.
setHasSonNode
(
departmentApiService
.
hasSonNode
(
departmentDTO
.
getDepartmentId
()));
}
}
Map
<
String
,
EnterpriseDTO
>
enterpriseMap
=
new
HashMap
<>();
Map
<
String
,
EnterpriseDTO
>
enterpriseMap
=
new
HashMap
<>();
List
<
String
>
enterpriseSetList
=
new
ArrayList
<>(
enterpriseSet
);
List
<
String
>
enterpriseSetList
=
new
ArrayList
<>(
enterpriseSet
);
logger
.
info
(
"size大小为=====================》{}"
,
enterpriseSetList
.
size
());
logger
.
info
(
"size大小为=====================》{}"
,
enterpriseSetList
.
size
());
List
<
EnterpriseDTO
>
enterprises
=
enterpriseService
.
listEnterpriseByIds
(
enterpriseSetList
);
List
<
EnterpriseDTO
>
enterprises
=
enterpriseService
.
listEnterpriseByIds
(
enterpriseSetList
);
if
(
CollectionUtil
.
isNotEmpty
(
enterprises
)){
if
(
CollectionUtil
.
isNotEmpty
(
enterprises
))
{
for
(
EnterpriseDTO
enterprise
:
enterprises
)
{
for
(
EnterpriseDTO
enterprise
:
enterprises
)
{
enterpriseMap
.
put
(
enterprise
.
getEnterpriseId
(),
enterprise
);
enterpriseMap
.
put
(
enterprise
.
getEnterpriseId
(),
enterprise
);
}
}
}
}
for
(
DepartmentDTO
departmentDTO
:
list
)
{
for
(
DepartmentDTO
departmentDTO
:
list
)
{
String
enterpriseId
=
departmentDTO
.
getEnterpriseId
();
String
enterpriseId
=
departmentDTO
.
getEnterpriseId
();
if
(
StringUtils
.
isNotBlank
(
enterpriseId
)){
if
(
StringUtils
.
isNotBlank
(
enterpriseId
))
{
EnterpriseDTO
enterprise
=
enterpriseMap
.
get
(
enterpriseId
);
EnterpriseDTO
enterprise
=
enterpriseMap
.
get
(
enterpriseId
);
if
(
enterprise
!=
null
){
if
(
enterprise
!=
null
)
{
departmentDTO
.
setGicEnterpriseName
(
enterprise
.
getEnterpriseName
());
departmentDTO
.
setGicEnterpriseName
(
enterprise
.
getEnterpriseName
());
}
}
}
}
departmentDTO
.
setHasSonNode
(
departmentApiService
.
hasSonNode
(
departmentDTO
.
getDepartmentId
()));
departmentDTO
.
setHasSonNode
(
departmentApiService
.
hasSonNode
(
departmentDTO
.
getDepartmentId
()));
}
}
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
EntityUtil
.
changeEntityListByJSON
(
DepartmentVO
.
class
,
list
));
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
EntityUtil
.
changeEntityListByJSON
(
DepartmentVO
.
class
,
list
));
}
}
@RequestMapping
(
"department-add"
)
@RequestMapping
(
"department-sel"
)
public
HaobanResponse
departmentAdd
(
String
parentId
,
String
departmentName
)
{
public
HaobanResponse
departmentSel
(
String
departmentId
)
{
DepartmentDTO
dto
=
departmentApiService
.
selectById
(
parentId
);
DepartmentDTO
dto
=
departmentApiService
.
selectById
(
departmentId
);
if
(
dto
==
null
||
dto
.
getStatusFlag
()
==
0
)
{
if
(
dto
==
null
||
dto
.
getStatusFlag
()
==
0
)
{
return
resultResponse
(
HaoBanErrCode
.
ERR_10001
);
return
resultResponse
(
HaoBanErrCode
.
ERR_10003
);
}
}
if
(
dto
.
getIsStore
()
==
1
)
{
return
resultResponse
(
HaoBanErrCode
.
ERR_10002
);
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
dto
);
}
DepartmentDTO
department
=
new
DepartmentDTO
();
}
department
.
setParentDepartmentId
(
parentId
);
department
.
setDepartmentName
(
departmentName
);
@RequestMapping
(
"department-recycle-count"
)
department
.
setWxEnterpriseId
(
dto
.
getWxEnterpriseId
());
public
HaobanResponse
departmentRecycleCount
()
{
department
.
setChainId
(
dto
.
getChainId
()
+
Constant
.
ID_SEPARATOR
+
dto
.
getDepartmentId
());
department
.
setIsStore
(
0
);
department
.
setLevel
(
dto
.
getLevel
()
+
1
);
ServiceResponse
<
DepartmentDTO
>
hr
=
departmentApiService
.
add
(
department
);
if
(
hr
.
getCode
()
!=
1
){
return
resultResponse
(
HaoBanErrCode
.
ERR_DEFINE
,
hr
.
getMessage
(),
null
,
hr
.
getMessage
());
}
DepartmentDTO
departmentDTO
=
hr
.
getResult
();
departmentDTO
.
setHasSonNode
(
false
);
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
departmentDTO
);
}
@RequestMapping
(
"department-edit"
)
public
HaobanResponse
departmentEdit
(
String
departmentId
,
String
departmentName
)
{
DepartmentDTO
dto
=
departmentApiService
.
selectById
(
departmentId
);
if
(
dto
==
null
||
dto
.
getStatusFlag
()
==
0
)
{
return
resultResponse
(
HaoBanErrCode
.
ERR_10001
);
}
dto
.
setDepartmentName
(
departmentName
);
departmentApiService
.
edit
(
dto
);
return
resultResponse
(
HaoBanErrCode
.
ERR_1
);
}
@RequestMapping
(
"department-sel"
)
public
HaobanResponse
departmentSel
(
String
departmentId
)
{
DepartmentDTO
dto
=
departmentApiService
.
selectById
(
departmentId
);
if
(
dto
==
null
||
dto
.
getStatusFlag
()
==
0
)
{
return
resultResponse
(
HaoBanErrCode
.
ERR_10003
);
}
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
dto
);
}
@RequestMapping
(
"department-recycle-count"
)
public
HaobanResponse
departmentRecycleCount
()
{
WebLoginDTO
login
=
AuthWebRequestUtil
.
getLoginUser
();
WebLoginDTO
login
=
AuthWebRequestUtil
.
getLoginUser
();
String
wxEnterpriseId
=
login
.
getWxEnterpriseId
();
String
wxEnterpriseId
=
login
.
getWxEnterpriseId
();
Integer
count
=
departmentApiService
.
departmentRecycleCount
(
wxEnterpriseId
);
Integer
count
=
departmentApiService
.
departmentRecycleCount
(
wxEnterpriseId
);
Map
<
String
,
Object
>
map
=
new
HashMap
<
String
,
Object
>();
Map
<
String
,
Object
>
map
=
new
HashMap
<
String
,
Object
>();
map
.
put
(
"count"
,
count
);
map
.
put
(
"count"
,
count
);
map
.
put
(
"syncDate"
,
RedisUtil
.
getCache
(
"haoban-sync-department-"
+
wxEnterpriseId
));
map
.
put
(
"syncDate"
,
RedisUtil
.
getCache
(
"haoban-sync-department-"
+
wxEnterpriseId
));
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
map
);
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
map
);
}
}
@RequestMapping
(
"department-del"
)
@RequestMapping
(
"department-batch-sync"
)
public
HaobanResponse
departmentDel
(
String
departmentId
)
{
@ResponseBody
DepartmentDTO
dto
=
departmentApiService
.
selectById
(
departmentId
);
public
HaobanResponse
departmentBatchSync
(
@RequestBody
SyncDepartmentQO
args
)
{
if
(
dto
==
null
||
dto
.
getStatusFlag
()
==
0
)
{
return
resultResponse
(
HaoBanErrCode
.
ERR_10003
);
}
if
(
dto
.
getTempFlag
()
!=
null
&&
dto
.
getTempFlag
()
==
1
){
return
resultResponse
(
HaoBanErrCode
.
ERR_100015
);
}
ServiceResponse
hr
;
if
(
StringUtils
.
isBlank
(
dto
.
getRelatedId
()))
{
hr
=
departmentApiService
.
del
(
departmentId
);
}
else
{
hr
=
departmentApiService
.
recycle
(
departmentId
);
}
if
(
hr
.
getCode
()
==
0
)
{
return
resultResponse
(
HaoBanErrCode
.
ERR_0
,
hr
.
getMessage
(),
null
,
hr
.
getMessage
());
}
return
resultResponse
(
HaoBanErrCode
.
ERR_1
);
}
@RequestMapping
(
"department-batch-sync"
)
@ResponseBody
public
HaobanResponse
departmentBatchSync
(
@RequestBody
SyncDepartmentQO
args
)
{
WebLoginDTO
login
=
AuthWebRequestUtil
.
getLoginUser
();
WebLoginDTO
login
=
AuthWebRequestUtil
.
getLoginUser
();
String
wxEnterpriseId
=
login
.
getWxEnterpriseId
();
String
wxEnterpriseId
=
login
.
getWxEnterpriseId
();
String
key
=
"haoban-sync-department-"
+
wxEnterpriseId
;
String
key
=
"haoban-sync-department-"
+
wxEnterpriseId
;
if
(
RedisUtil
.
getCache
(
key
)
!=
null
){
if
(
RedisUtil
.
getCache
(
key
)
!=
null
)
{
return
resultResponse
(
HaoBanErrCode
.
ERR_10011
);
return
resultResponse
(
HaoBanErrCode
.
ERR_10011
);
}
}
Object
editDepartmentObject
=
null
;
Object
editDepartmentObject
=
null
;
Object
addDepartmentObject
=
null
;
Object
addDepartmentObject
=
null
;
String
editDepartment
=
""
;
String
editDepartment
=
""
;
String
addDepartment
=
""
;
String
addDepartment
=
""
;
String
delDepartmentIds
=
""
;
String
delDepartmentIds
=
""
;
logger
.
info
(
"【部门同步】args={}"
,
JSON
.
toJSONString
(
args
));
logger
.
info
(
"【部门同步】args={}"
,
JSON
.
toJSONString
(
args
));
if
(
args
!=
null
){
if
(
args
!=
null
)
{
editDepartmentObject
=
args
.
getEditDepartment
();
editDepartmentObject
=
args
.
getEditDepartment
();
addDepartmentObject
=
args
.
getAddDepartment
();
addDepartmentObject
=
args
.
getAddDepartment
();
editDepartment
=
JSON
.
toJSONString
(
editDepartmentObject
);
editDepartment
=
JSON
.
toJSONString
(
editDepartmentObject
);
addDepartment
=
JSON
.
toJSONString
(
addDepartmentObject
);
addDepartment
=
JSON
.
toJSONString
(
addDepartmentObject
);
}
}
RedisUtil
.
setCache
(
key
,
1
,
3600L
);
RedisUtil
.
setCache
(
key
,
1
,
3600L
);
new
SyncDepartmentThread
(
this
,
editDepartment
,
delDepartmentIds
,
addDepartment
,
key
).
start
();
new
SyncDepartmentThread
(
this
,
editDepartment
,
delDepartmentIds
,
addDepartment
,
key
).
start
();
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
key
);
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
key
);
}
}
@RequestMapping
(
"department-chain"
)
@RequestMapping
(
"department-chain"
)
public
HaobanResponse
departmentChain
(
String
departmentId
)
{
public
HaobanResponse
departmentChain
(
String
departmentId
)
{
if
(
StringUtils
.
isBlank
(
departmentId
)){
if
(
StringUtils
.
isBlank
(
departmentId
))
{
return
resultResponse
(
HaoBanErrCode
.
ERR_2
);
return
resultResponse
(
HaoBanErrCode
.
ERR_2
);
}
}
DepartmentDTO
department
=
departmentApiService
.
selectById
(
departmentId
);
DepartmentDTO
department
=
departmentApiService
.
selectById
(
departmentId
);
if
(
department
==
null
){
if
(
department
==
null
)
{
return
resultResponse
(
HaoBanErrCode
.
ERR_10003
);
return
resultResponse
(
HaoBanErrCode
.
ERR_10003
);
}
}
String
chainId
=
departmentId
;
String
chainId
=
departmentId
;
while
(
department
!=
null
){
while
(
department
!=
null
)
{
department
=
departmentApiService
.
selectById
(
department
.
getParentDepartmentId
());
department
=
departmentApiService
.
selectById
(
department
.
getParentDepartmentId
());
if
(
department
!=
null
){
if
(
department
!=
null
)
{
chainId
=
department
.
getDepartmentId
()
+
Constant
.
ID_SEPARATOR
+
chainId
;
chainId
=
department
.
getDepartmentId
()
+
Constant
.
ID_SEPARATOR
+
chainId
;
}
}
}
}
String
[]
chainIdArr
=
chainId
.
split
(
Constant
.
ID_SEPARATOR
);
String
[]
chainIdArr
=
chainId
.
split
(
Constant
.
ID_SEPARATOR
);
List
<
DepartmentChainVO
>
list
=
new
ArrayList
<>();
List
<
DepartmentChainVO
>
list
=
new
ArrayList
<>();
for
(
String
string
:
chainIdArr
)
{
for
(
String
string
:
chainIdArr
)
{
DepartmentDTO
son
=
departmentApiService
.
selectById
(
string
);
DepartmentDTO
son
=
departmentApiService
.
selectById
(
string
);
DepartmentChainVO
chain
=
EntityUtil
.
changeEntityByJSON
(
DepartmentChainVO
.
class
,
son
);
DepartmentChainVO
chain
=
EntityUtil
.
changeEntityByJSON
(
DepartmentChainVO
.
class
,
son
);
if
(
son
!=
null
){
if
(
son
!=
null
)
{
list
.
add
(
chain
);
list
.
add
(
chain
);
}
}
}
}
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
list
);
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
list
);
}
}
@RequestMapping
(
"department-batch-sync-success"
)
@RequestMapping
(
"department-batch-sync-success"
)
public
HaobanResponse
syncSuccess
(
String
syncKey
)
{
public
HaobanResponse
syncSuccess
(
String
syncKey
)
{
if
(
RedisUtil
.
getCache
(
syncKey
)
==
null
){
if
(
RedisUtil
.
getCache
(
syncKey
)
==
null
)
{
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
true
);
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
true
);
}
else
{
}
else
{
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
false
);
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
false
);
}
}
}
}
public
void
syncDepartment
(
String
editDepartment
,
String
delDepartmentIds
,
String
addDepartment
){
if
(
StringUtils
.
isNotBlank
(
addDepartment
))
{
@RequestMapping
(
"unbind-department-list"
)
List
<
DepartmentAddQO
>
list
=
JSONArray
.
parseArray
(
addDepartment
,
DepartmentAddQO
.
class
);
public
HaobanResponse
unbindDepartmentList
(
String
departmentId
,
String
enterpriseId
,
Integer
type
)
{
long
sort
=
0
;
List
<
GicTreeDTO
>
departmentList
=
storeGroupService
.
listGicTree
(
enterpriseId
,
type
,
departmentId
);
long
maxSort
=
list
.
size
();
logger
.
info
(
"【未绑定部门列表】enterpriseId={},type={},departmentId={},departmentList={}"
,
enterpriseId
,
type
,
departmentId
,
JSON
.
toJSONString
(
departmentList
));
for
(
DepartmentAddQO
departmentAddQO
:
list
)
{
List
<
DepartmentDTO
>
dtoList
=
new
ArrayList
<
DepartmentDTO
>();
String
parentId
=
departmentAddQO
.
getParentId
();
for
(
GicTreeDTO
departmentDTO
:
departmentList
)
{
DepartmentDTO
dto
=
departmentApiService
.
selectById
(
parentId
);
DepartmentDTO
dto
=
departmentApiService
.
selectByRelatedId
(
departmentDTO
.
getId
());
if
(
dto
==
null
||
dto
.
getStatusFlag
()
==
0
)
{
if
(
dto
==
null
)
{
continue
;
}
if
(
dto
.
getIsStore
()
==
1
)
{
continue
;
}
Integer
type
=
departmentAddQO
.
getType
();
Integer
isStore
=
0
;
String
storeCode
=
""
;
if
(
type
!=
null
&&
type
==
3
){
isStore
=
1
;
StoreDTO
store
=
storeService
.
getStore
(
departmentAddQO
.
getRelatedId
());
if
(
store
!=
null
){
storeCode
=
store
.
getStoreCode
();
}
}
DepartmentDTO
department
=
new
DepartmentDTO
();
department
.
setParentDepartmentId
(
parentId
);
//department.setWxDepartmentId(dto.getWxDepartmentId());
department
.
setWxEnterpriseId
(
dto
.
getWxEnterpriseId
());
department
.
setDepartmentName
(
departmentAddQO
.
getDepartmentName
());
department
.
setChainId
(
dto
.
getChainId
()
+
Constant
.
ID_SEPARATOR
+
dto
.
getDepartmentId
());
department
.
setChainName
(
dto
.
getChainName
()
+
Constant
.
NAME_SEPARATOR
+
dto
.
getDepartmentName
());
if
(
departmentAddQO
.
getStoreFlag
()
!=
null
){
department
.
setIsStore
(
departmentAddQO
.
getStoreFlag
());
}
else
{
department
.
setIsStore
(
isStore
);
}
//department.setSort(departmentAddQO.getSort());
department
.
setLevel
(
dto
.
getLevel
()
+
1
);
department
.
setRelatedId
(
departmentAddQO
.
getRelatedId
());
department
.
setRelatedCode
(
storeCode
);
department
.
setSort
(
maxSort
-
sort
);
ServiceResponse
hr
=
departmentApiService
.
add
(
department
);
if
(
hr
.
getCode
()
!=
1
)
{
continue
;
}
DepartmentDTO
departmentAdd
=
(
DepartmentDTO
)
hr
.
getResult
();
String
departmentId
=
departmentAdd
.
getDepartmentId
();
String
sonDepartment
=
departmentAddQO
.
getChildren
();
handler
(
sonDepartment
,
departmentId
);
if
(
isStore
==
1
){
handerStoreClerk
(
departmentId
,
departmentAddQO
.
getRelatedId
());
}
}
}
logger
.
info
(
"【部门修改】editDepartment={}"
,
editDepartment
);
if
(
StringUtils
.
isNotBlank
(
editDepartment
))
{
List
<
DepartmentEditQO
>
list
=
JSONArray
.
parseArray
(
editDepartment
,
DepartmentEditQO
.
class
);
long
sort
=
0
;
long
maxSort
=
list
.
size
();
logger
.
info
(
"【部门修改】list={}"
,
JSON
.
toJSONString
(
list
));
for
(
DepartmentEditQO
departmentQO
:
list
)
{
String
parentId
=
departmentQO
.
getParentId
();
DepartmentDTO
parent
=
departmentApiService
.
selectById
(
parentId
);
if
(
parent
==
null
||
parent
.
getStatusFlag
()
==
0
)
{
continue
;
}
DepartmentDTO
department
=
departmentApiService
.
selectById
(
departmentQO
.
getDepartmentId
());
if
(
department
==
null
){
continue
;
}
department
.
setParentDepartmentId
(
parentId
);
department
.
setWxEnterpriseId
(
department
.
getWxEnterpriseId
());
department
.
setDepartmentName
(
departmentQO
.
getDepartmentName
());
department
.
setChainId
(
parent
.
getChainId
()
+
Constant
.
ID_SEPARATOR
+
parent
.
getDepartmentId
());
department
.
setChainName
(
parent
.
getChainName
()
+
Constant
.
NAME_SEPARATOR
+
parent
.
getDepartmentName
());
department
.
setLevel
(
parent
.
getLevel
()
+
1
);
//department.setSort(departmentQO.getSort());
department
.
setSort
(
maxSort
-
sort
);
logger
.
info
(
"【部门修改】department={}"
,
JSON
.
toJSONString
(
department
));
handerSonDepartment
(
departmentQO
.
getCurrDepartment
());
ServiceResponse
hr
=
departmentApiService
.
edit
(
department
);
String
sonDepartment
=
departmentQO
.
getChildren
();
handler
(
sonDepartment
,
department
.
getDepartmentId
());
}
}
if
(
StringUtils
.
isNotBlank
(
delDepartmentIds
))
{
String
[]
delIds
=
delDepartmentIds
.
split
(
","
);
for
(
String
string
:
delIds
)
{
DepartmentDTO
dto
=
departmentApiService
.
selectById
(
string
);
if
(
dto
==
null
||
dto
.
getStatusFlag
()
==
0
)
{
continue
;
}
if
(
StringUtils
.
isBlank
(
dto
.
getRelatedId
()))
{
departmentApiService
.
del
(
string
);
}
else
{
departmentApiService
.
recycle
(
string
);
}
}
}
}
/**
* 修改子孙部门
* @param departmentId
*/
private
void
handerSonDepartment
(
String
departmentId
)
{
DepartmentDTO
department
=
departmentApiService
.
selectById
(
departmentId
);
List
<
DepartmentDTO
>
list
=
departmentApiService
.
listByParentId
(
departmentId
);
if
(!
list
.
isEmpty
())
{
for
(
DepartmentDTO
departmentDTO
:
list
)
{
departmentDTO
.
setChainId
(
department
.
getChainId
()
+
Constant
.
ID_SEPARATOR
+
department
.
getDepartmentId
());
departmentDTO
.
setChainName
(
department
.
getChainName
()
+
Constant
.
NAME_SEPARATOR
+
department
.
getDepartmentName
());
departmentDTO
.
setLevel
(
department
.
getLevel
());
departmentApiService
.
edit
(
departmentDTO
);
}
}
}
@RequestMapping
(
"unbind-department-list"
)
public
HaobanResponse
unbindDepartmentList
(
String
departmentId
,
String
enterpriseId
,
Integer
type
)
{
List
<
GicTreeDTO
>
departmentList
=
storeGroupService
.
listGicTree
(
enterpriseId
,
type
,
departmentId
);
logger
.
info
(
"【未绑定部门列表】enterpriseId={},type={},departmentId={},departmentList={}"
,
enterpriseId
,
type
,
departmentId
,
JSON
.
toJSONString
(
departmentList
));
List
<
DepartmentDTO
>
dtoList
=
new
ArrayList
<
DepartmentDTO
>();
for
(
GicTreeDTO
departmentDTO
:
departmentList
)
{
DepartmentDTO
dto
=
departmentApiService
.
selectByRelatedId
(
departmentDTO
.
getId
());
if
(
dto
==
null
)
{
if
(
departmentDTO
.
getType
()
==
1
)
{
if
(
departmentDTO
.
getType
()
==
1
)
{
continue
;
continue
;
}
}
DepartmentDTO
unBindDTO
=
new
DepartmentDTO
();
DepartmentDTO
unBindDTO
=
new
DepartmentDTO
();
unBindDTO
.
setRelatedId
(
departmentDTO
.
getId
());
unBindDTO
.
setRelatedId
(
departmentDTO
.
getId
());
Integer
storeType
=
departmentDTO
.
getType
();
Integer
storeType
=
departmentDTO
.
getType
();
if
(
storeType
==
3
)
{
if
(
storeType
==
3
)
{
unBindDTO
.
setIsStore
(
1
);
unBindDTO
.
setIsStore
(
1
);
}
else
{
}
else
{
unBindDTO
.
setIsStore
(
0
);
unBindDTO
.
setIsStore
(
0
);
}
}
unBindDTO
.
setDepartmentName
(
departmentDTO
.
getName
());
unBindDTO
.
setDepartmentName
(
departmentDTO
.
getName
());
unBindDTO
.
setDepartmentId
(
departmentDTO
.
getId
());
unBindDTO
.
setDepartmentId
(
departmentDTO
.
getId
());
unBindDTO
.
setType
(
departmentDTO
.
getType
());
unBindDTO
.
setType
(
departmentDTO
.
getType
());
unBindDTO
.
setLevel
(
departmentDTO
.
getLevel
());
unBindDTO
.
setLevel
(
departmentDTO
.
getLevel
());
unBindDTO
.
setHasSonNode
(
departmentDTO
.
isHasChildren
());
unBindDTO
.
setHasSonNode
(
departmentDTO
.
isHasChildren
());
dtoList
.
add
(
unBindDTO
);
dtoList
.
add
(
unBindDTO
);
}
}
}
}
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
EntityUtil
.
changeEntityListByJSON
(
DepartmentVO
.
class
,
dtoList
));
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
EntityUtil
.
changeEntityListByJSON
(
DepartmentVO
.
class
,
dtoList
));
}
}
@RequestMapping
(
"department-recycle-list"
)
@RequestMapping
(
"department-recycle-list"
)
public
HaobanResponse
departmentRecycleList
(
String
keyWord
,
Integer
storeFlag
,
BasePageInfo
pageInfo
)
{
public
HaobanResponse
departmentRecycleList
(
String
keyWord
,
Integer
storeFlag
,
BasePageInfo
pageInfo
)
{
WebLoginDTO
login
=
AuthWebRequestUtil
.
getLoginUser
();
WebLoginDTO
login
=
AuthWebRequestUtil
.
getLoginUser
();
String
wxEnterpriseId
=
login
.
getWxEnterpriseId
();
String
wxEnterpriseId
=
login
.
getWxEnterpriseId
();
Integer
recycleFlag
=
1
;
Integer
recycleFlag
=
1
;
Page
<
DepartmentDTO
>
page
=
departmentApiService
.
pageDepartmentByParams
(
pageInfo
,
wxEnterpriseId
,
keyWord
,
storeFlag
,
recycleFlag
);
Page
<
DepartmentDTO
>
page
=
departmentApiService
.
pageDepartmentByParams
(
pageInfo
,
wxEnterpriseId
,
keyWord
,
storeFlag
,
recycleFlag
);
List
<
DepartmentDTO
>
list
=
page
.
getResult
();
List
<
DepartmentDTO
>
list
=
page
.
getResult
();
for
(
DepartmentDTO
departmentDTO
:
list
)
{
for
(
DepartmentDTO
departmentDTO
:
list
)
{
if
(
departmentDTO
.
getIsStore
()
!=
null
&&
departmentDTO
.
getIsStore
()
==
1
)
{
if
(
departmentDTO
.
getIsStore
()
!=
null
&&
departmentDTO
.
getIsStore
()
==
1
)
{
StoreDTO
store
=
storeService
.
getStore
(
departmentDTO
.
getRelatedId
());
StoreDTO
store
=
storeService
.
getStore
(
departmentDTO
.
getRelatedId
());
if
(
store
!=
null
)
{
if
(
store
!=
null
)
{
departmentDTO
.
setStoreCode
(
store
.
getStoreCode
());
departmentDTO
.
setStoreCode
(
store
.
getStoreCode
());
}
}
}
}
}
}
PageResult
<
DepartmentDTO
>
pageVo
=
new
PageResult
<>();
PageResult
<
DepartmentDTO
>
pageVo
=
new
PageResult
<>();
pageVo
.
setList
(
list
);
pageVo
.
setList
(
list
);
pageVo
.
setPageNum
(
page
.
getCurrentPage
());
pageVo
.
setPageNum
(
page
.
getCurrentPage
());
pageVo
.
setPages
(
page
.
getPages
());
pageVo
.
setPages
(
page
.
getPages
());
pageVo
.
setPageSize
(
page
.
getPageSize
());
pageVo
.
setPageSize
(
page
.
getPageSize
());
pageVo
.
setTotal
(
page
.
getTotalCount
());
pageVo
.
setTotal
(
page
.
getTotalCount
());
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
pageVo
);
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
pageVo
);
}
}
@RequestMapping
(
"department-repair"
)
@RequestMapping
(
"department-repair"
)
public
HaobanResponse
departmentRepair
(
String
departmentId
,
String
parentId
)
{
public
HaobanResponse
departmentRepair
(
String
departmentId
,
String
parentId
)
{
DepartmentDTO
dto
=
departmentApiService
.
selectById
(
departmentId
);
DepartmentDTO
dto
=
departmentApiService
.
selectById
(
departmentId
);
if
(
dto
==
null
||
dto
.
getStatusFlag
()
==
0
)
{
if
(
dto
==
null
||
dto
.
getStatusFlag
()
==
0
)
{
return
resultResponse
(
HaoBanErrCode
.
ERR_10003
);
return
resultResponse
(
HaoBanErrCode
.
ERR_10003
);
}
}
departmentApiService
.
repairRecycle
(
departmentId
,
parentId
);
departmentApiService
.
repairRecycle
(
departmentId
,
parentId
);
return
resultResponse
(
HaoBanErrCode
.
ERR_1
);
return
resultResponse
(
HaoBanErrCode
.
ERR_1
);
}
}
/**
private
void
handerStoreClerk
(
String
departmentId
,
String
storeId
)
{
* 处理子节点
logger
.
info
(
"【处理门店下导购】storeId={},departmentId={}"
,
storeId
,
departmentId
);
* @param sonDepartment
StoreDTO
store
=
storeService
.
getStore
(
storeId
);
* @param parentId
DepartmentDTO
departmentDTO
=
departmentApiService
.
selectById
(
departmentId
);
*/
if
(
departmentDTO
==
null
)
{
private
void
handler
(
String
sonDepartment
,
String
parentId
)
{
logger
.
info
(
"【处理门店下导购】部门为空"
);
logger
.
info
(
"【处理子节点】sonDepartment={},parentId={}"
,
sonDepartment
,
parentId
);
return
;
if
(
StringUtils
.
isNotBlank
(
sonDepartment
))
{
}
List
<
DepartmentAddQO
>
list
=
JSONArray
.
parseArray
(
sonDepartment
,
DepartmentAddQO
.
class
);
String
wxEnterpriseId
=
departmentDTO
.
getWxEnterpriseId
();
long
maxSort
=
list
.
size
();
if
(
store
!=
null
)
{
long
sort
=
0
;
String
enterpriseId
=
store
.
getEnterpriseId
();
for
(
DepartmentAddQO
departmentAddQO
:
list
)
{
List
<
ClerkListDTO
>
list
=
clerkService
.
getClerkByStoreId
(
store
.
getEnterpriseId
(),
storeId
);
Integer
type
=
departmentAddQO
.
getType
();
logger
.
info
(
"【处理门店下导购】list={}"
,
JSON
.
toJSONString
(
list
));
Integer
isStore
=
0
;
for
(
ClerkListDTO
clerkListDTO
:
list
)
{
String
storeCode
=
""
;
try
{
if
(
type
!=
null
&&
type
==
3
){
String
nationcode
=
clerkListDTO
.
getNationcode
();
isStore
=
1
;
if
(
StringUtils
.
isNotBlank
(
nationcode
)
&&
nationcode
.
startsWith
(
"+"
))
{
StoreDTO
store
=
storeService
.
getStore
(
departmentAddQO
.
getRelatedId
());
nationcode
=
nationcode
.
replace
(
"+"
,
""
);
if
(
store
!=
null
){
}
storeCode
=
store
.
getStoreCode
();
String
phoneNumber
=
clerkListDTO
.
getPhoneNumber
();
}
if
(
StringUtils
.
isBlank
(
phoneNumber
))
{
}
continue
;
String
sonParentId
=
""
;
}
DepartmentDTO
dto
=
departmentApiService
.
selectById
(
parentId
);
String
clerkCode
=
clerkListDTO
.
getClerkCode
();
if
(
dto
==
null
||
dto
.
getStatusFlag
()
==
0
)
{
StaffDTO
staff
=
staffApiService
.
selectByNationcodeAndPhoneNumber
(
wxEnterpriseId
,
nationcode
,
phoneNumber
);
continue
;
if
(
staff
==
null
)
{
}
staff
=
new
StaffDTO
();
if
(
dto
.
getIsStore
()
!=
null
&&
dto
.
getIsStore
()
==
1
)
{
staff
.
setNationCode
(
nationcode
);
continue
;
staff
.
setActiveFlag
(
1
);
}
staff
.
setDepartmentIds
(
departmentId
);
String
departmentId
=
departmentAddQO
.
getDepartmentId
();
staff
.
setBindFlag
(
1
);
Boolean
addFlag
=
departmentAddQO
.
getAddFlag
();
staff
.
setClerkCode
(
clerkCode
);
//在部门下新增部门
staff
.
setNickName
(
clerkListDTO
.
getClerkName
());
DepartmentDTO
oldDepartment
=
departmentApiService
.
selectById
(
departmentId
);
staff
.
setStaffName
(
clerkListDTO
.
getClerkName
());
if
(
addFlag
!=
null
&&
addFlag
&&
oldDepartment
==
null
)
{
staff
.
setPostion
(
clerkListDTO
.
getPositionName
());
DepartmentDTO
department
=
new
DepartmentDTO
();
staff
.
setWxEnterpriseId
(
wxEnterpriseId
);
department
.
setParentDepartmentId
(
parentId
);
staff
.
setPhoneNumber
(
phoneNumber
);
department
.
setWxEnterpriseId
(
dto
.
getWxEnterpriseId
());
try
{
department
.
setDepartmentName
(
departmentAddQO
.
getDepartmentName
());
staff
.
setSex
(
clerkListDTO
.
getClerkGender
()
==
null
?
null
:
Integer
.
parseInt
(
clerkListDTO
.
getClerkGender
()));
department
.
setChainId
(
dto
.
getChainId
()
+
Constant
.
ID_SEPARATOR
+
dto
.
getDepartmentId
());
}
catch
(
Exception
e
)
{
department
.
setChainName
(
dto
.
getChainName
()
+
Constant
.
NAME_SEPARATOR
+
dto
.
getDepartmentName
());
logger
.
info
(
"【同步店员】设置性别错误sex={}"
,
clerkListDTO
.
getClerkGender
());
//department.setSort(departmentAddQO.getSort());
}
department
.
setSort
(
maxSort
-
sort
);
staff
.
setSyncPostionFlag
(
1
);
department
.
setIsStore
(
departmentAddQO
.
getStoreFlag
());
department
.
setLevel
(
dto
.
getLevel
()
+
1
);
ServiceResponse
hr
=
staffApiService
.
add
(
staff
,
departmentId
);
if
(
departmentAddQO
.
getStoreFlag
()
!=
null
){
if
(
hr
.
getCode
()
==
1
)
{
department
.
setIsStore
(
departmentAddQO
.
getStoreFlag
());
StaffDepartmentRelatedDTO
staffRelated
=
staffApiService
.
getDepartmentIdAndStaffId
(
departmentId
,
hr
.
getResult
().
toString
());
}
else
{
StaffDepartmentRelatedDTO
isCodeExist
=
staffApiService
.
getDepartmentIdAndCode
(
departmentId
,
clerkCode
);
department
.
setIsStore
(
isStore
);
if
(
staffRelated
!=
null
&&
isCodeExist
==
null
)
{
}
staffRelated
.
setClerkCode
(
clerkCode
);
department
.
setRelatedId
(
departmentAddQO
.
getRelatedId
());
staffDepartmentRelatedApiService
.
updateById
(
staffRelated
);
department
.
setRelatedCode
(
storeCode
);
ServiceResponse
hr
=
departmentApiService
.
add
(
department
);
ClerkDTO
clerkDTO
=
clerkService
.
getClerkByCodeNoStatus
(
enterpriseId
,
clerkCode
);
if
(
hr
.
getCode
()
!=
1
)
{
if
(
clerkDTO
!=
null
&&
(!
clerkDTO
.
getClerkName
().
equals
(
staff
.
getStaffName
())
||
!
staff
.
getPhoneNumber
().
equals
(
clerkDTO
.
getPhoneNumber
())))
{
continue
;
logger
.
info
(
"【员工修改】clerkDTO={}"
,
JSON
.
toJSONString
(
clerkDTO
));
}
clerkDTO
.
setClerkName
(
staff
.
getStaffName
());
DepartmentDTO
departmentAdd
=
(
DepartmentDTO
)
hr
.
getResult
();
clerkDTO
.
setPhoneNumber
(
staff
.
getPhoneNumber
());
if
(
isStore
==
1
){
clerkService
.
updateClerk
(
clerkDTO
);
String
storeId
=
departmentAdd
.
getRelatedId
();
}
handerStoreClerk
(
departmentAdd
.
getDepartmentId
(),
storeId
);
}
}
}
sonParentId
=
departmentAdd
.
getDepartmentId
();
}
else
{
//别的部门调整过来的
String
staffId
=
staff
.
getStaffId
();
}
else
{
List
<
StaffDepartmentRelatedDTO
>
relatedList
=
staffApiService
.
listStaffDepartmentByStaffId
(
staffId
);
DepartmentDTO
department
=
departmentApiService
.
selectById
(
departmentId
);
String
departmentIds
=
departmentId
;
if
(
department
==
null
||
department
.
getStatusFlag
()
==
0
)
{
for
(
StaffDepartmentRelatedDTO
staffDepartmentRelatedDTO
:
relatedList
)
{
continue
;
departmentIds
+=
","
+
staffDepartmentRelatedDTO
.
getDepartmentId
();
}
}
department
.
setParentDepartmentId
(
parentId
);
Map
<
String
,
StaffDepartmentRelatedDTO
>
map
=
com
.
gic
.
commons
.
util
.
CollectionUtil
.
toMap
(
relatedList
,
"departmentId"
);
department
.
setDepartmentName
(
departmentAddQO
.
getDepartmentName
());
if
(
map
.
get
(
departmentId
)
==
null
)
{
department
.
setChainId
(
dto
.
getChainId
()
+
Constant
.
ID_SEPARATOR
+
dto
.
getDepartmentId
());
staffApiService
.
staffEdit
(
staff
,
departmentIds
);
department
.
setChainName
(
dto
.
getChainName
()
+
Constant
.
NAME_SEPARATOR
+
dto
.
getDepartmentName
());
}
department
.
setSort
(
departmentAddQO
.
getSort
());
StaffDepartmentRelatedDTO
staffRelated
=
staffApiService
.
getDepartmentIdAndStaffId
(
departmentId
,
staffId
);
ServiceResponse
hr
=
departmentApiService
.
edit
(
department
);
//如果这个人是未绑定的 则绑定clerk
if
(
hr
.
getCode
()
!=
1
)
{
StaffDepartmentRelatedDTO
isCodeExist
=
staffApiService
.
getDepartmentIdAndCode
(
departmentId
,
clerkCode
);
continue
;
if
(
StringUtils
.
isBlank
(
staffRelated
.
getClerkCode
())
&&
isCodeExist
==
null
)
{
}
ClerkDTO
clerkDTO
=
clerkService
.
getClerkByCodeNoStatus
(
enterpriseId
,
clerkCode
);
DepartmentDTO
departmentEdit
=
(
DepartmentDTO
)
hr
.
getResult
();
if
(
clerkDTO
!=
null
&&
(!
clerkDTO
.
getClerkName
().
equals
(
staff
.
getStaffName
())
||
!
staff
.
getPhoneNumber
().
equals
(
clerkDTO
.
getPhoneNumber
())))
{
sonParentId
=
departmentEdit
.
getDepartmentId
();
logger
.
info
(
"【员工修改】clerkDTO={}"
,
JSON
.
toJSONString
(
clerkDTO
));
}
clerkDTO
.
setClerkName
(
staff
.
getStaffName
());
clerkDTO
.
setPhoneNumber
(
staff
.
getPhoneNumber
());
sonDepartment
=
departmentAddQO
.
getChildren
();
clerkService
.
updateClerk
(
clerkDTO
);
handler
(
sonDepartment
,
sonParentId
);
}
}
staffRelated
.
setClerkCode
(
clerkCode
);
staffDepartmentRelatedApiService
.
updateById
(
staffRelated
);
}
}
}
}
}
catch
(
Exception
e
)
{
logger
.
info
(
"同步失败"
);
private
void
handerStoreClerk
(
String
departmentId
,
String
storeId
)
{
}
logger
.
info
(
"【处理门店下导购】storeId={},departmentId={}"
,
storeId
,
departmentId
);
}
StoreDTO
store
=
storeService
.
getStore
(
storeId
);
}
else
{
DepartmentDTO
departmentDTO
=
departmentApiService
.
selectById
(
departmentId
);
logger
.
info
(
"【处理门店下导购】门店为空"
);
if
(
departmentDTO
==
null
){
}
logger
.
info
(
"【处理门店下导购】部门为空"
);
return
;
}
}
String
wxEnterpriseId
=
departmentDTO
.
getWxEnterpriseId
();
if
(
store
!=
null
){
@RequestMapping
(
"department-cache"
)
String
enterpriseId
=
store
.
getEnterpriseId
();
public
HaobanResponse
departmentCache
(
String
wxEnterpriseId
)
{
List
<
ClerkListDTO
>
list
=
clerkService
.
getClerkByStoreId
(
store
.
getEnterpriseId
(),
storeId
);
RedisUtil
.
delCache
(
"haoban-sync-department-"
+
wxEnterpriseId
);
logger
.
info
(
"【处理门店下导购】list={}"
,
JSON
.
toJSONString
(
list
));
return
resultResponse
(
HaoBanErrCode
.
ERR_1
);
for
(
ClerkListDTO
clerkListDTO
:
list
)
{
try
{
}
String
nationcode
=
clerkListDTO
.
getNationcode
();
if
(
StringUtils
.
isNotBlank
(
nationcode
)
&&
nationcode
.
startsWith
(
"+"
)){
@RequestMapping
(
"department-user-init"
)
nationcode
=
nationcode
.
replace
(
"+"
,
""
);
public
HaobanResponse
departmentInit
(
String
corpid
,
String
suiteid
,
String
wxEnterpriseId
,
Integer
wxDepartmentId
)
{
}
RedisUtil
.
delCache
(
"haoban-user-department-"
+
wxEnterpriseId
);
String
phoneNumber
=
clerkListDTO
.
getPhoneNumber
();
//TODO 这里有段代码没提交上来
if
(
StringUtils
.
isBlank
(
phoneNumber
)){
staffApiService
.
initWxUser
(
corpid
,
suiteid
,
wxEnterpriseId
,
wxDepartmentId
,
""
);
continue
;
return
resultResponse
(
HaoBanErrCode
.
ERR_1
);
}
String
clerkCode
=
clerkListDTO
.
getClerkCode
();
}
StaffDTO
staff
=
staffApiService
.
selectByNationcodeAndPhoneNumber
(
wxEnterpriseId
,
nationcode
,
phoneNumber
);
if
(
staff
==
null
){
staff
=
new
StaffDTO
();
@RequestMapping
(
"department-search"
)
staff
.
setNationCode
(
nationcode
);
public
HaobanResponse
departmentSearch
(
String
search
)
{
staff
.
setActiveFlag
(
1
);
staff
.
setDepartmentIds
(
departmentId
);
staff
.
setBindFlag
(
1
);
staff
.
setClerkCode
(
clerkCode
);
staff
.
setNickName
(
clerkListDTO
.
getClerkName
());
staff
.
setStaffName
(
clerkListDTO
.
getClerkName
());
staff
.
setPostion
(
clerkListDTO
.
getPositionName
());
staff
.
setWxEnterpriseId
(
wxEnterpriseId
);
staff
.
setPhoneNumber
(
phoneNumber
);
try
{
staff
.
setSex
(
clerkListDTO
.
getClerkGender
()
==
null
?
null
:
Integer
.
parseInt
(
clerkListDTO
.
getClerkGender
()));
}
catch
(
Exception
e
)
{
logger
.
info
(
"【同步店员】设置性别错误sex={}"
,
clerkListDTO
.
getClerkGender
());
}
staff
.
setSyncPostionFlag
(
1
);
ServiceResponse
hr
=
staffApiService
.
add
(
staff
,
departmentId
);
if
(
hr
.
getCode
()
==
1
){
StaffDepartmentRelatedDTO
staffRelated
=
staffApiService
.
getDepartmentIdAndStaffId
(
departmentId
,
hr
.
getResult
().
toString
());
StaffDepartmentRelatedDTO
isCodeExist
=
staffApiService
.
getDepartmentIdAndCode
(
departmentId
,
clerkCode
);
if
(
staffRelated
!=
null
&&
isCodeExist
==
null
){
staffRelated
.
setClerkCode
(
clerkCode
);
staffDepartmentRelatedApiService
.
updateById
(
staffRelated
);
ClerkDTO
clerkDTO
=
clerkService
.
getClerkByCodeNoStatus
(
enterpriseId
,
clerkCode
);
if
(
clerkDTO
!=
null
&&
(!
clerkDTO
.
getClerkName
().
equals
(
staff
.
getStaffName
())
||
!
staff
.
getPhoneNumber
().
equals
(
clerkDTO
.
getPhoneNumber
()))){
logger
.
info
(
"【员工修改】clerkDTO={}"
,
JSON
.
toJSONString
(
clerkDTO
));
clerkDTO
.
setClerkName
(
staff
.
getStaffName
());
clerkDTO
.
setPhoneNumber
(
staff
.
getPhoneNumber
());
clerkService
.
updateClerk
(
clerkDTO
);
}
}
}
}
else
{
String
staffId
=
staff
.
getStaffId
();
List
<
StaffDepartmentRelatedDTO
>
relatedList
=
staffApiService
.
listStaffDepartmentByStaffId
(
staffId
);
String
departmentIds
=
departmentId
;
for
(
StaffDepartmentRelatedDTO
staffDepartmentRelatedDTO
:
relatedList
)
{
departmentIds
+=
","
+
staffDepartmentRelatedDTO
.
getDepartmentId
();
}
Map
<
String
,
StaffDepartmentRelatedDTO
>
map
=
com
.
gic
.
commons
.
util
.
CollectionUtil
.
toMap
(
relatedList
,
"departmentId"
);
if
(
map
.
get
(
departmentId
)
==
null
){
staffApiService
.
staffEdit
(
staff
,
departmentIds
);
}
StaffDepartmentRelatedDTO
staffRelated
=
staffApiService
.
getDepartmentIdAndStaffId
(
departmentId
,
staffId
);
//如果这个人是未绑定的 则绑定clerk
StaffDepartmentRelatedDTO
isCodeExist
=
staffApiService
.
getDepartmentIdAndCode
(
departmentId
,
clerkCode
);
if
(
StringUtils
.
isBlank
(
staffRelated
.
getClerkCode
())
&&
isCodeExist
==
null
){
ClerkDTO
clerkDTO
=
clerkService
.
getClerkByCodeNoStatus
(
enterpriseId
,
clerkCode
);
if
(
clerkDTO
!=
null
&&
(!
clerkDTO
.
getClerkName
().
equals
(
staff
.
getStaffName
())
||
!
staff
.
getPhoneNumber
().
equals
(
clerkDTO
.
getPhoneNumber
()))){
logger
.
info
(
"【员工修改】clerkDTO={}"
,
JSON
.
toJSONString
(
clerkDTO
));
clerkDTO
.
setClerkName
(
staff
.
getStaffName
());
clerkDTO
.
setPhoneNumber
(
staff
.
getPhoneNumber
());
clerkService
.
updateClerk
(
clerkDTO
);
}
staffRelated
.
setClerkCode
(
clerkCode
);
staffDepartmentRelatedApiService
.
updateById
(
staffRelated
);
}
}
}
catch
(
Exception
e
)
{
logger
.
info
(
"同步失败"
);
}
}
}
else
{
logger
.
info
(
"【处理门店下导购】门店为空"
);
}
}
@RequestMapping
(
"department-batch-del"
)
public
HaobanResponse
departmentBatchDel
(
String
departmentIds
)
{
String
[]
departmentIdArr
=
departmentIds
.
split
(
","
);
for
(
String
departmentId
:
departmentIdArr
)
{
ServiceResponse
hr
;
hr
=
departmentApiService
.
del
(
departmentId
);
}
return
resultResponse
(
HaoBanErrCode
.
ERR_1
);
}
@RequestMapping
(
"department-cache"
)
public
HaobanResponse
departmentCache
(
String
wxEnterpriseId
)
{
RedisUtil
.
delCache
(
"haoban-sync-department-"
+
wxEnterpriseId
);
return
resultResponse
(
HaoBanErrCode
.
ERR_1
);
}
@RequestMapping
(
"department-user-init"
)
public
HaobanResponse
departmentInit
(
String
corpid
,
String
suiteid
,
String
wxEnterpriseId
,
Integer
wxDepartmentId
)
{
RedisUtil
.
delCache
(
"haoban-user-department-"
+
wxEnterpriseId
);
//TODO 这里有段代码没提交上来
staffApiService
.
initWxUser
(
corpid
,
suiteid
,
wxEnterpriseId
,
wxDepartmentId
,
""
);
return
resultResponse
(
HaoBanErrCode
.
ERR_1
);
}
@RequestMapping
(
"department-search"
)
public
HaobanResponse
departmentSearch
(
String
search
)
{
WebLoginDTO
login
=
AuthWebRequestUtil
.
getLoginUser
();
WebLoginDTO
login
=
AuthWebRequestUtil
.
getLoginUser
();
String
wxEnterpriseId
=
login
.
getWxEnterpriseId
();
String
wxEnterpriseId
=
login
.
getWxEnterpriseId
();
if
(
StringUtils
.
isBlank
(
wxEnterpriseId
))
{
if
(
StringUtils
.
isBlank
(
wxEnterpriseId
))
{
return
resultResponse
(
HaoBanErrCode
.
ERR_6
);
return
resultResponse
(
HaoBanErrCode
.
ERR_6
);
}
}
List
<
DepartmentShortDTO
>
list
=
departmentApiService
.
searchDepartment
(
search
,
wxEnterpriseId
);
List
<
DepartmentShortDTO
>
list
=
departmentApiService
.
searchDepartment
(
search
,
wxEnterpriseId
);
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
list
);
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
list
);
}
}
/**
/**
* 加载
* 加载
* @return
*
*/
* @return
@RequestMapping
(
"department-list-cache"
)
*/
public
HaobanResponse
departmentCachelist
()
{
@RequestMapping
(
"department-list-cache"
)
public
HaobanResponse
departmentCachelist
()
{
WebLoginDTO
login
=
AuthWebRequestUtil
.
getLoginUser
();
WebLoginDTO
login
=
AuthWebRequestUtil
.
getLoginUser
();
String
wxEnterpriseId
=
login
.
getWxEnterpriseId
();
String
wxEnterpriseId
=
login
.
getWxEnterpriseId
();
if
(
StringUtils
.
isBlank
(
wxEnterpriseId
))
{
if
(
StringUtils
.
isBlank
(
wxEnterpriseId
))
{
return
resultResponse
(
HaoBanErrCode
.
ERR_6
);
return
resultResponse
(
HaoBanErrCode
.
ERR_6
);
}
}
Object
cache
=
RedisUtil
.
getLocalCache
(
"department-list-cache-"
+
wxEnterpriseId
);
Object
cache
=
RedisUtil
.
getLocalCache
(
"department-list-cache-"
+
wxEnterpriseId
);
if
(
null
==
cache
)
{
if
(
null
==
cache
)
{
List
<
DepartmentShortDTO
>
list
=
departmentApiService
.
listAllDepartment
(
wxEnterpriseId
);
List
<
DepartmentShortDTO
>
list
=
departmentApiService
.
listAllDepartment
(
wxEnterpriseId
);
RedisUtil
.
setLocalCache
(
"department-list-cache-"
+
wxEnterpriseId
,
list
,
-
1L
);
RedisUtil
.
setLocalCache
(
"department-list-cache-"
+
wxEnterpriseId
,
list
,
-
1L
);
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
list
);
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
list
);
}
else
{
}
else
{
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
cache
);
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
cache
);
}
}
}
}
}
}
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