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
1b5bbdeb
Commit
1b5bbdeb
authored
Jul 15, 2021
by
xuwenqian
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat:新增查询所有与好办相关导购
parent
d71be61e
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
601 additions
and
552 deletions
+601
-552
StaffClerkInfoDTO.java
...java/com/gic/haoban/manage/api/dto/StaffClerkInfoDTO.java
+5
-6
StaffClerkRelationDTO.java
.../com/gic/haoban/manage/api/dto/StaffClerkRelationDTO.java
+22
-5
StaffClerkRelationApiService.java
...oban/manage/api/service/StaffClerkRelationApiService.java
+26
-15
TabHaobanStaffClerkRelationMapper.java
...service/dao/mapper/TabHaobanStaffClerkRelationMapper.java
+21
-8
StaffClerkRelationService.java
...ban/manage/service/service/StaffClerkRelationService.java
+25
-16
StaffClerkRelationServiceImpl.java
...e/service/service/impl/StaffClerkRelationServiceImpl.java
+14
-22
StaffClerkRelationApiServiceImpl.java
...ce/service/out/impl/StaffClerkRelationApiServiceImpl.java
+412
-418
TabHaobanStaffClerkRelationMapper.xml
...in/resources/mapper/TabHaobanStaffClerkRelationMapper.xml
+69
-58
StoreController.java
...com/gic/haoban/manage/web/controller/StoreController.java
+7
-4
No files found.
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/dto/StaffClerkInfoDTO.java
View file @
1b5bbdeb
...
...
@@ -3,10 +3,11 @@ package com.gic.haoban.manage.api.dto;
import
java.io.Serializable
;
import
java.util.Date
;
public
class
StaffClerkInfoDTO
implements
Serializable
{
private
String
staffClerkRelationId
;
public
class
StaffClerkInfoDTO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
private
String
staffClerkRelationId
;
private
String
staffId
;
...
...
@@ -48,8 +49,6 @@ public class StaffClerkInfoDTO implements Serializable{
this
.
mainStoreFlag
=
mainStoreFlag
;
}
private
static
final
long
serialVersionUID
=
1L
;
public
String
getEnterpriseName
()
{
return
enterpriseName
;
}
...
...
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/dto/StaffClerkRelationDTO.java
View file @
1b5bbdeb
...
...
@@ -3,10 +3,11 @@ package com.gic.haoban.manage.api.dto;
import
java.io.Serializable
;
import
java.util.Date
;
public
class
StaffClerkRelationDTO
implements
Serializable
{
private
String
staffClerkRelationId
;
public
class
StaffClerkRelationDTO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
private
String
staffClerkRelationId
;
private
String
staffId
;
...
...
@@ -28,7 +29,8 @@ public class StaffClerkRelationDTO implements Serializable{
private
Date
updateTime
;
private
static
final
long
serialVersionUID
=
1L
;
private
String
storeName
;
private
String
staffName
;
public
String
getStaffClerkRelationId
()
{
return
staffClerkRelationId
;
...
...
@@ -118,4 +120,19 @@ public class StaffClerkRelationDTO implements Serializable{
this
.
updateTime
=
updateTime
;
}
public
String
getStoreName
()
{
return
storeName
;
}
public
void
setStoreName
(
String
storeName
)
{
this
.
storeName
=
storeName
;
}
public
String
getStaffName
()
{
return
staffName
;
}
public
void
setStaffName
(
String
staffName
)
{
this
.
staffName
=
staffName
;
}
}
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/service/StaffClerkRelationApiService.java
View file @
1b5bbdeb
package
com
.
gic
.
haoban
.
manage
.
api
.
service
;
import
java.util.List
;
import
java.util.Set
;
import
com.gic.api.base.commons.Page
;
import
com.gic.haoban.base.api.common.BasePageInfo
;
import
com.gic.haoban.base.api.common.ServiceResponse
;
...
...
@@ -10,12 +7,16 @@ import com.gic.haoban.manage.api.dto.StaffClerkBindLogDetailDTO;
import
com.gic.haoban.manage.api.dto.StaffClerkInfoDTO
;
import
com.gic.haoban.manage.api.dto.StaffClerkRelationDTO
;
import
java.util.List
;
import
java.util.Set
;
public
interface
StaffClerkRelationApiService
{
/**
* 绑定日志
*
* @param params
*/
public
void
bindLogMq
(
String
params
);
void
bindLogMq
(
String
params
);
List
<
StaffClerkRelationDTO
>
listBindCode
(
String
enterpriseId
,
Set
<
String
>
clerkCodeList
);
...
...
@@ -30,9 +31,10 @@ public interface StaffClerkRelationApiService {
/**
* 绑定
*
* @return
*/
public
ServiceResponse
bindStaffClerk
(
StaffClerkRelationDTO
staffClerkRelationDTO
,
String
optStaffId
,
int
chanelCode
);
ServiceResponse
bindStaffClerk
(
StaffClerkRelationDTO
staffClerkRelationDTO
,
String
optStaffId
,
int
chanelCode
);
StaffClerkRelationDTO
getByCodeAndEnterpriseId
(
String
clerkCode
,
String
enterpriseId
);
...
...
@@ -96,40 +98,49 @@ public interface StaffClerkRelationApiService {
/**
* 搜索查询列表
*
* @param wxEnterpriseId
* @param search
* @param enterpriseId
* @param optType
* @return
*/
public
Page
<
StaffClerkBindLogDetailDTO
>
pageStaffClerkBindLog
(
String
wxEnterpriseId
,
String
search
,
String
enterpriseId
,
int
optType
,
BasePageInfo
pageInfo
);
Page
<
StaffClerkBindLogDetailDTO
>
pageStaffClerkBindLog
(
String
wxEnterpriseId
,
String
search
,
String
enterpriseId
,
int
optType
,
BasePageInfo
pageInfo
);
/**
* 追加到绑定日志
*
* @param staffId
* @param optStaffId
* @param optType
* @param channelCode
* @param relationId
*/
public
void
pushToBindLog
(
String
staffId
,
String
optStaffId
,
int
optType
,
int
channelCode
,
String
relationId
);
void
pushToBindLog
(
String
staffId
,
String
optStaffId
,
int
optType
,
int
channelCode
,
String
relationId
);
/**
* 获取config
*
* @param clerkId
* @param memberId
* @return
*/
ServiceResponse
<
String
>
getClerkMemberChatConfig
(
String
clerkId
);
/**
*
* @Description 方法描述:
* @return 返回值类型: <pre>
* @author 作者: WQ <pre>
* @date 时间: 2020年12月24日 上午11:21:38 <pre>
* @param wxEnterpriseId: <pre>
* @param pageInfo: <pre>
* @return 返回值类型: <pre>
* @author 作者: WQ <pre>
* @date 时间: 2020年12月24日 上午11:21:38 <pre>
* @param wxEnterpriseId: <pre>
* @param pageInfo: <pre>
* @Description 方法描述:
*/
Page
<
StaffClerkRelationDTO
>
pageByWxEnterpriseId
(
String
wxEnterpriseId
,
BasePageInfo
pageInfo
);
/**
* 查询状态正常导购
* @return
*/
public
Page
<
StaffClerkRelationDTO
>
pageByWxEnterpriseId
(
String
wxEnterpriseId
,
BasePageInfo
pageInfo
);
List
<
StaffClerkRelationDTO
>
listAll
(
);
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/dao/mapper/TabHaobanStaffClerkRelationMapper.java
View file @
1b5bbdeb
package
com
.
gic
.
haoban
.
manage
.
service
.
dao
.
mapper
;
import
java.util.List
;
import
java.util.Set
;
import
org.apache.ibatis.annotations.Param
;
import
com.gic.haoban.manage.api.dto.StaffClerkRelationDTO
;
import
com.gic.haoban.manage.service.entity.TabHaobanStaffClerkRelation
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
import
java.util.Set
;
public
interface
TabHaobanStaffClerkRelationMapper
{
int
deleteByPrimaryKey
(
String
staffClerkRelationId
);
...
...
@@ -24,15 +23,17 @@ public interface TabHaobanStaffClerkRelationMapper {
List
<
TabHaobanStaffClerkRelation
>
listBindCode
(
@Param
(
"enterpriseId"
)
String
enterpriseId
,
@Param
(
"clerkCodeList"
)
Set
<
String
>
clerkCodeList
);
List
<
TabHaobanStaffClerkRelation
>
listBindCodeByStaffId
(
@Param
(
"enterpriseIdList"
)
List
<
String
>
enterpriseIdList
,
@Param
(
"staffId"
)
String
staffId
);
TabHaobanStaffClerkRelation
getOneByClerkId
(
@Param
(
"clerkId"
)
String
clerkId
);
TabHaobanStaffClerkRelation
getOneByClerkId
(
@Param
(
"clerkId"
)
String
clerkId
);
/**
* 改变状态 格局clerkId
*
* @param clerkId
* @param status
* @return
*/
public
int
changeStatusByClerkId
(
@Param
(
"clerkId"
)
String
clerkId
,
@Param
(
"status"
)
Integer
status
);
int
changeStatusByClerkId
(
@Param
(
"clerkId"
)
String
clerkId
,
@Param
(
"status"
)
Integer
status
);
/**
* 更新信息
...
...
@@ -117,7 +118,18 @@ public interface TabHaobanStaffClerkRelationMapper {
/**
* 已使用的门店id列表
*
* @param enterpriseId
*/
List
<
TabHaobanStaffClerkRelation
>
listBindStoreIdByEnterpriseId
(
String
enterpriseId
);
/**
* 列出所有
*
* @return {@link List<TabHaobanStaffClerkRelation> }
* @author xuwenqian
* @date 2021-07-15 16:24:27
*/
List
<
StaffClerkRelationDTO
>
listAll
();
}
\ No newline at end of file
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/StaffClerkRelationService.java
View file @
1b5bbdeb
package
com
.
gic
.
haoban
.
manage
.
service
.
service
;
import
java.util.List
;
import
java.util.Set
;
import
com.gic.api.base.commons.Page
;
import
com.gic.haoban.base.api.common.BasePageInfo
;
import
com.gic.haoban.base.api.common.ServiceResponse
;
import
com.gic.haoban.manage.api.dto.StaffClerkRelationDTO
;
import
com.gic.haoban.manage.service.entity.MemberClerkChatConfig
;
import
com.gic.haoban.manage.service.entity.TabHaobanStaffClerkRelation
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
import
java.util.Set
;
public
interface
StaffClerkRelationService
{
...
...
@@ -20,10 +17,11 @@ public interface StaffClerkRelationService {
/**
* 删除绑定
*
* @param clerkId
* @return
*/
public
boolean
delBind
(
String
clerkId
,
String
optStaffId
,
int
chanelCode
);
boolean
delBind
(
String
clerkId
,
String
optStaffId
,
int
chanelCode
);
/**
* 删除绑定
...
...
@@ -32,7 +30,7 @@ public interface StaffClerkRelationService {
* @param storeIds
* @return
*/
public
boolean
delBindByStoreIds
(
String
wxEnterpriseId
,
Set
<
String
>
storeIds
,
String
optStaffId
,
int
chanelCode
);
boolean
delBindByStoreIds
(
String
wxEnterpriseId
,
Set
<
String
>
storeIds
,
String
optStaffId
,
int
chanelCode
);
/**
* 删除绑定
...
...
@@ -42,35 +40,37 @@ public interface StaffClerkRelationService {
* @param storeIds 解除除了这些门店之外的绑定的门店
* @return
*/
public
boolean
delBindNotInStoreIds
(
String
wxEnterpriseId
,
String
enterpriseId
,
Set
<
String
>
storeIds
,
String
optStaffId
,
int
chanelCode
);
boolean
delBindNotInStoreIds
(
String
wxEnterpriseId
,
String
enterpriseId
,
Set
<
String
>
storeIds
,
String
optStaffId
,
int
chanelCode
);
/**
* 绑定
*
* @param dto
* @return
*/
public
String
bind
(
StaffClerkRelationDTO
dto
,
String
optStaffId
,
int
chanelCode
);
String
bind
(
StaffClerkRelationDTO
dto
,
String
optStaffId
,
int
chanelCode
);
/**
* 根据clerkId 更新数据
* @param dto
* @return
*/
public
boolean
updateByClerkId
(
StaffClerkRelationDTO
dto
);
boolean
updateByClerkId
(
StaffClerkRelationDTO
dto
);
/**
* 查询绑定根据clerkId
*
* @param clerkId
* @param wxEnterpriseId
* @return
*/
public
StaffClerkRelationDTO
getBindByClerkId
(
String
clerkId
,
String
wxEnterpriseId
);
StaffClerkRelationDTO
getBindByClerkId
(
String
clerkId
,
String
wxEnterpriseId
);
StaffClerkRelationDTO
getByCodeAndEnterpriseId
(
String
clerkCode
,
String
enterpriseId
);
String
insert
(
StaffClerkRelationDTO
staffClerkRelation
);
public
int
cleanStaffClerk
(
String
wxEnterpriseId
,
List
<
String
>
staffIds
);
int
cleanStaffClerk
(
String
wxEnterpriseId
,
List
<
String
>
staffIds
);
StaffClerkRelationDTO
getOneBindCodeNoStatus
(
String
enterpriseId
,
String
clerkCode
);
...
...
@@ -86,15 +86,15 @@ public interface StaffClerkRelationService {
* 保存
* @param memberClerkChatConfig
*/
public
void
saveChatConfig
(
MemberClerkChatConfig
memberClerkChatConfig
);
void
saveChatConfig
(
MemberClerkChatConfig
memberClerkChatConfig
);
/**
*
* @param staffId
* @param memberId
* @return
*/
public
MemberClerkChatConfig
getChatConfig
(
String
staffId
,
String
memberId
);
MemberClerkChatConfig
getChatConfig
(
String
staffId
,
String
memberId
);
/**
* 根据企业查询
* @param wxEnterpriseId
...
...
@@ -121,5 +121,14 @@ public interface StaffClerkRelationService {
*/
List
<
StaffClerkRelationDTO
>
listBindStoreIdByEnterpriseId
(
String
enterpriseId
);
/**
* 查询所有正常导购
*
* @return {@link List<StaffClerkRelationDTO> }
* @author xuwenqian
* @date 2021-07-15 16:26:17
*/
List
<
StaffClerkRelationDTO
>
listAll
();
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/impl/StaffClerkRelationServiceImpl.java
View file @
1b5bbdeb
package
com
.
gic
.
haoban
.
manage
.
service
.
service
.
impl
;
import
java.util.*
;
import
java.util.stream.Collectors
;
import
com.alibaba.fastjson.JSONObject
;
import
com.gic.api.base.commons.Page
;
import
com.gic.commons.util.EntityUtil
;
import
com.gic.commons.util.ToolUtil
;
import
com.gic.haoban.base.api.common.BasePageInfo
;
import
com.gic.haoban.base.api.common.ServiceResponse
;
import
com.gic.haoban.common.utils.PageUtil
;
import
com.gic.haoban.common.utils.StringUtil
;
import
com.gic.haoban.manage.api.dto.StaffClerkRelationDTO
;
import
com.gic.haoban.manage.api.enums.BindTypeEnum
;
import
com.gic.haoban.manage.api.enums.ChannelCodeEnum
;
import
com.gic.haoban.manage.service.dao.mapper.TabHaobanMemberClerkChatConfigMapper
;
import
com.gic.haoban.manage.service.dao.mapper.TabHaobanStaffClerkRelationMapper
;
import
com.gic.haoban.manage.service.entity.MemberClerkChatConfig
;
import
com.gic.haoban.manage.service.entity.TabHaobanClerkMainStoreRelated
;
import
com.gic.haoban.manage.service.entity.TabHaobanStaffClerkBindLog
;
import
com.gic.haoban.manage.service.entity.TabHaobanStaffClerkRelation
;
import
com.gic.haoban.manage.service.service.ClerkMainStoreRelatedService
;
import
com.gic.haoban.manage.service.service.ExternalClerkRelatedService
;
import
com.gic.haoban.manage.service.service.StaffClerkBindLogService
;
import
com.gic.haoban.manage.service.service.StaffService
;
import
com.gic.wechat.api.dto.qywx.QywxExternalcontactDTO
;
import
com.gic.haoban.manage.service.service.*
;
import
com.github.pagehelper.PageHelper
;
import
com.github.pagehelper.PageInfo
;
import
javafx.scene.control.Tab
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.slf4j.Logger
;
...
...
@@ -31,14 +24,8 @@ import org.slf4j.LoggerFactory;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
com.gic.api.base.commons.Page
;
import
com.gic.commons.util.EntityUtil
;
import
com.gic.haoban.common.utils.PageUtil
;
import
com.gic.haoban.common.utils.StringUtil
;
import
com.gic.haoban.manage.api.dto.StaffClerkBindLogDetailDTO
;
import
com.gic.haoban.manage.api.dto.StaffClerkRelationDTO
;
import
com.gic.haoban.manage.service.dao.mapper.TabHaobanStaffClerkRelationMapper
;
import
com.gic.haoban.manage.service.service.StaffClerkRelationService
;
import
java.util.*
;
import
java.util.stream.Collectors
;
@Service
public
class
StaffClerkRelationServiceImpl
implements
StaffClerkRelationService
{
...
...
@@ -293,4 +280,9 @@ public class StaffClerkRelationServiceImpl implements StaffClerkRelationService
}
return
EntityUtil
.
changeEntityListNew
(
StaffClerkRelationDTO
.
class
,
clerkRelations
);
}
@Override
public
List
<
StaffClerkRelationDTO
>
listAll
()
{
return
mapper
.
listAll
();
}
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/out/impl/StaffClerkRelationApiServiceImpl.java
View file @
1b5bbdeb
...
...
@@ -38,422 +38,416 @@ import java.util.stream.Collectors;
@Service
public
class
StaffClerkRelationApiServiceImpl
implements
StaffClerkRelationApiService
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
StaffClerkRelationApiServiceImpl
.
class
);
@Autowired
private
StaffClerkRelationService
staffClerkRelatinService
;
@Autowired
private
EnterpriseService
enterpriseService
;
@Autowired
private
ClerkService
clerkService
;
@Autowired
private
StoreService
storeService
;
@Autowired
private
TabHaobanStaffClerkRelationMapper
tabHaobanStaffClerkRelationMapper
;
@Autowired
private
AuditApiService
auditApiService
;
@Autowired
private
ClerkMainStoreRelatedService
clerkMainStoreRelatedService
;
@Autowired
private
StaffClerkBindLogService
staffClerkBindLogService
;
@Autowired
private
WxEnterpriseRelatedService
wxEnterpriseRelatedService
;
@Autowired
private
ClerkNewService
clerkNewService
;
@Autowired
private
StaffService
staffService
;
@Autowired
private
ExternalClerkRelatedService
externalClerkRelatedService
;
@Autowired
private
QywxUserApiService
qywxUserApiService
;
@Autowired
private
SecretSettingService
secretSettingService
;
@Autowired
private
WxEnterpriseService
wxEnterpriseService
;
@Override
public
void
bindLogMq
(
String
params
)
{
logger
.
info
(
"绑定日志mq:{}"
,
params
);
StaffClerkBindLogInfoDTO
infoDTO
=
JSONObject
.
parseObject
(
params
,
StaffClerkBindLogInfoDTO
.
class
);
if
(
null
==
infoDTO
){
logger
.
info
(
"数据不存在"
);
return
;
}
TabHaobanStaffClerkRelation
clerkRelation
=
tabHaobanStaffClerkRelationMapper
.
selectByPrimaryKey
(
infoDTO
.
getRelationId
());
if
(
null
==
clerkRelation
)
{
logger
.
info
(
"不存在绑定数据"
);
return
;
}
ClerkDTO
clerkDTO
=
clerkService
.
getClerkByClerkIdNoStatus
(
clerkRelation
.
getClerkId
());
String
phoneNumber
=
""
;
if
(
null
!=
clerkDTO
)
{
phoneNumber
=
clerkDTO
.
getPhoneNumber
();
}
TabHaobanStaffClerkBindLog
staffClerkRelation
=
new
TabHaobanStaffClerkBindLog
();
staffClerkRelation
.
setClerkId
(
clerkRelation
.
getClerkId
());
staffClerkRelation
.
setChannelCode
(
infoDTO
.
getChannelCode
());
staffClerkRelation
.
setClerkCode
(
clerkRelation
.
getClerkCode
());
staffClerkRelation
.
setCreateTime
(
new
Date
());
staffClerkRelation
.
setEnterpriseId
(
clerkRelation
.
getEnterpriseId
());
staffClerkRelation
.
setOptStaffId
(
infoDTO
.
getOptStaffId
());
staffClerkRelation
.
setOptType
(
infoDTO
.
getOptType
());
staffClerkRelation
.
setStatusFlag
(
1
);
staffClerkRelation
.
setStaffId
(
clerkRelation
.
getStaffId
());
staffClerkRelation
.
setWxEnterpriseId
(
clerkRelation
.
getWxEnterpriseId
());
staffClerkRelation
.
setRelationId
(
infoDTO
.
getRelationId
());
staffClerkRelation
.
setClerkPhone
(
phoneNumber
);
staffClerkRelation
.
setUpdateTime
(
new
Date
());
staffClerkBindLogService
.
insert
(
staffClerkRelation
);
}
@Override
public
List
<
StaffClerkRelationDTO
>
listBindCode
(
String
enterpriseId
,
Set
<
String
>
clerkCodeList
)
{
return
staffClerkRelatinService
.
listBindCode
(
enterpriseId
,
clerkCodeList
);
}
@Override
public
List
<
StaffClerkRelationDTO
>
listBindCodeByStaffId
(
List
<
String
>
enterpriseIdList
,
String
staffId
)
{
return
staffClerkRelatinService
.
listBindCodeByStaffId
(
enterpriseIdList
,
staffId
);
}
@Override
public
List
<
StaffClerkInfoDTO
>
listBindDetailByStaffId
(
String
staffId
)
{
List
<
StaffClerkRelationDTO
>
list
=
staffClerkRelatinService
.
listBindCodeByStaffId
(
null
,
staffId
);
if
(
CollectionUtils
.
isEmpty
(
list
))
{
return
null
;
}
List
<
StaffClerkInfoDTO
>
infoDTOS
=
EntityUtil
.
changeEntityListByJSON
(
StaffClerkInfoDTO
.
class
,
list
);
Map
<
String
,
String
>
nameMap
=
new
HashMap
<>();
infoDTOS
.
forEach
(
infoDTO
->{
//企业
if
(!
nameMap
.
containsKey
(
infoDTO
.
getEnterpriseId
()))
{
EnterpriseDTO
enterpriseDTO
=
enterpriseService
.
getEnterpriseById
(
infoDTO
.
getEnterpriseId
());
if
(
null
!=
enterpriseDTO
)
{
nameMap
.
put
(
infoDTO
.
getEnterpriseId
(),
enterpriseDTO
.
getEnterpriseName
());
}
else
{
nameMap
.
put
(
infoDTO
.
getEnterpriseId
(),
"未知商户"
);
}
}
//门店店员名称
if
(!
nameMap
.
containsKey
(
infoDTO
.
getClerkId
()))
{
ClerkDTO
clerkDTO
=
clerkService
.
getClerkByClerkId
(
infoDTO
.
getClerkId
());
if
(
null
!=
clerkDTO
)
{
nameMap
.
put
(
infoDTO
.
getClerkId
(),
clerkDTO
.
getClerkName
());
nameMap
.
put
(
infoDTO
.
getStoreId
(),
clerkDTO
.
getStoreName
());
infoDTO
.
setClerkPhoneNumber
(
clerkDTO
.
getPhoneNumber
());
}
else
{
nameMap
.
put
(
infoDTO
.
getEnterpriseId
(),
"未知店员"
);
}
}
//门店店员名称
if
(!
nameMap
.
containsKey
(
infoDTO
.
getStoreId
()))
{
StoreDTO
storeDTO
=
storeService
.
getStore
(
infoDTO
.
getStoreId
());
if
(
null
!=
storeDTO
)
{
nameMap
.
put
(
infoDTO
.
getStoreId
(),
storeDTO
.
getStoreName
());
}
else
{
nameMap
.
put
(
infoDTO
.
getStoreId
(),
"未知门店"
);
}
}
infoDTO
.
setClerkName
(
nameMap
.
get
(
infoDTO
.
getClerkId
()));
infoDTO
.
setStoreName
(
nameMap
.
get
(
infoDTO
.
getStoreId
()));
infoDTO
.
setEnterpriseName
(
nameMap
.
get
(
infoDTO
.
getEnterpriseId
()));
});
return
infoDTOS
;
}
@Override
public
ServiceResponse
bindStaffClerk
(
StaffClerkRelationDTO
staffClerkRelationDTO
,
String
optStaffId
,
int
chanelCode
)
{
logger
.
info
(
"绑定clerk:{}"
,
JSONObject
.
toJSONString
(
staffClerkRelationDTO
));
ServiceResponse
<
Object
>
response
=
new
ServiceResponse
<>();
StaffClerkRelationDTO
relationDTO
=
staffClerkRelatinService
.
getBindByClerkId
(
staffClerkRelationDTO
.
getClerkId
(),
staffClerkRelationDTO
.
getWxEnterpriseId
());
if
(
null
!=
relationDTO
)
{
response
.
setCode
(
2
);
response
.
setMessage
(
"已经被绑定,不能绑定"
);
return
response
;
}
AuditDTO
auditDTO
=
auditApiService
.
findByBindRelatedIdAndAuditType
(
staffClerkRelationDTO
.
getClerkId
(),
AuditType
.
CLERK_BIND
.
getCode
());
if
(
null
!=
auditDTO
)
{
response
.
setCode
(
4
);
response
.
setMessage
(
"该导购已经被被申请绑定,请审核处理后再绑定"
);
return
response
;
}
List
<
AuditDTO
>
list
=
auditApiService
.
listByStoreId
(
staffClerkRelationDTO
.
getStoreId
());
if
(
CollectionUtils
.
isNotEmpty
(
list
))
{
Set
<
String
>
staffIds
=
list
.
stream
().
map
(
AuditDTO:
:
getCommitStaffId
).
collect
(
Collectors
.
toSet
());
if
(
staffIds
.
contains
(
staffClerkRelationDTO
.
getStaffId
()))
{
response
.
setCode
(
5
);
response
.
setMessage
(
"该成员已经已经在该门店下申请了绑定,请审核处理后再绑定"
);
return
response
;
}
}
StaffClerkRelationDTO
storeHasBind
=
staffClerkRelatinService
.
getOneBindByStoreId
(
staffClerkRelationDTO
.
getStaffId
(),
staffClerkRelationDTO
.
getStoreId
());
if
(
storeHasBind
!=
null
)
{
response
.
setCode
(
3
);
response
.
setMessage
(
"该导购已在该门店下有其它成员绑定"
);
return
response
;
}
String
relationId
=
staffClerkRelatinService
.
bind
(
staffClerkRelationDTO
,
optStaffId
,
chanelCode
);
response
.
setResult
(
relationId
);
return
response
;
}
@Override
public
StaffClerkRelationDTO
getByCodeAndEnterpriseId
(
String
clerkCode
,
String
enterpriseId
)
{
return
staffClerkRelatinService
.
getByCodeAndEnterpriseId
(
clerkCode
,
enterpriseId
);
}
@Override
public
String
delByStoreIdAndCode
(
String
storeId
,
String
clerkCode
)
{
TabHaobanStaffClerkRelation
staffClerkRelation
=
tabHaobanStaffClerkRelationMapper
.
getByCodeAndStoreId
(
clerkCode
,
storeId
);
tabHaobanStaffClerkRelationMapper
.
delByStoreIdAndCode
(
storeId
,
clerkCode
);
delSetMainStore
(
staffClerkRelation
);
return
null
;
}
@Override
public
List
<
StaffClerkRelationDTO
>
listByClerkIds
(
List
<
String
>
clerkIds
)
{
if
(
clerkIds
==
null
||
clerkIds
.
isEmpty
()){
return
Collections
.
EMPTY_LIST
;
}
List
<
TabHaobanStaffClerkRelation
>
list
=
tabHaobanStaffClerkRelationMapper
.
listByClerkIds
(
clerkIds
);
if
(
CollectionUtil
.
isEmpty
(
list
)){
return
new
ArrayList
<
StaffClerkRelationDTO
>();
}
List
<
StaffClerkRelationDTO
>
result
=
EntityUtil
.
changeEntityListByJSON
(
StaffClerkRelationDTO
.
class
,
list
);
return
result
;
}
@Override
public
List
<
StaffClerkRelationDTO
>
listByStoreId
(
String
storeId
)
{
List
<
TabHaobanStaffClerkRelation
>
list
=
tabHaobanStaffClerkRelationMapper
.
listByStoreId
(
storeId
);
if
(
CollectionUtil
.
isEmpty
(
list
)){
return
new
ArrayList
<
StaffClerkRelationDTO
>();
}
List
<
StaffClerkRelationDTO
>
result
=
EntityUtil
.
changeEntityListByJSON
(
StaffClerkRelationDTO
.
class
,
list
);
return
result
;
}
@Override
public
boolean
unbindByStaffAndClerkId
(
String
staffId
,
String
clerkId
)
{
boolean
b
=
staffClerkRelatinService
.
delBind
(
clerkId
,
staffId
,
ChannelCodeEnum
.
ADMIN_UNBIND
.
getCode
());
return
b
;
}
@Override
public
StaffClerkRelationDTO
getOneByClerkId
(
String
clerkId
)
{
TabHaobanStaffClerkRelation
tab
=
tabHaobanStaffClerkRelationMapper
.
getOneByClerkId
(
clerkId
);
StaffClerkRelationDTO
result
=
EntityUtil
.
changeEntityByJSON
(
StaffClerkRelationDTO
.
class
,
tab
);
return
result
;
}
public
StaffClerkRelationDTO
getByClerkId
(
String
clerkId
)
{
StaffClerkRelationDTO
staffRelation
=
staffClerkRelatinService
.
getByClerkId
(
clerkId
);
return
staffRelation
;
}
@Override
public
StaffClerkRelationDTO
getOneByStoreIdAndStaffId
(
String
storeId
,
String
staffId
)
{
TabHaobanStaffClerkRelation
tab
=
tabHaobanStaffClerkRelationMapper
.
getOneByStoreIdAndStaffId
(
storeId
,
staffId
);
if
(
tab
==
null
){
return
null
;
}
StaffClerkRelationDTO
dto
=
EntityUtil
.
changeEntity
(
StaffClerkRelationDTO
.
class
,
tab
);
return
dto
;
}
@Override
public
void
delAndInsert
(
StaffClerkRelationDTO
staffClerkRelation
,
String
optStaffId
,
int
chanelCode
)
{
if
(
StringUtils
.
isNotBlank
(
staffClerkRelation
.
getStaffClerkRelationId
())){
TabHaobanStaffClerkRelation
oldStaffClerkRelation
=
tabHaobanStaffClerkRelationMapper
.
selectByPrimaryKey
(
staffClerkRelation
.
getStaffClerkRelationId
());
tabHaobanStaffClerkRelationMapper
.
delByPrimaryKey
(
staffClerkRelation
.
getStaffClerkRelationId
());
staffClerkBindLogService
.
pushToMq
(
oldStaffClerkRelation
.
getStaffId
(),
optStaffId
,
BindTypeEnum
.
UNBIND
.
getVal
(),
chanelCode
,
staffClerkRelation
.
getStaffClerkRelationId
());
clerkMainStoreRelatedService
.
delMainStore
(
oldStaffClerkRelation
.
getStaffId
(),
oldStaffClerkRelation
.
getStoreId
(),
oldStaffClerkRelation
.
getWxEnterpriseId
());
}
String
relationId
=
staffClerkRelatinService
.
insert
(
staffClerkRelation
);
staffClerkBindLogService
.
pushToMq
(
staffClerkRelation
.
getStaffId
(),
optStaffId
,
BindTypeEnum
.
BIND
.
getVal
(),
chanelCode
,
relationId
);
//设置主门店
clerkMainStoreRelatedService
.
getMainStoreByStaffId
(
staffClerkRelation
.
getStaffId
(),
staffClerkRelation
.
getWxEnterpriseId
());
}
@Override
public
void
delByClerkId
(
String
clerkId
)
{
TabHaobanStaffClerkRelation
staffClerkRelation
=
tabHaobanStaffClerkRelationMapper
.
getOneByClerkId
(
clerkId
);
tabHaobanStaffClerkRelationMapper
.
delByClerkId
(
clerkId
);
delSetMainStore
(
staffClerkRelation
);
}
@Override
public
List
<
StaffClerkRelationDTO
>
listByEnterpriseIdAndWxUserId
(
String
enterpriseId
,
String
wxUserId
)
{
List
<
TabHaobanStaffClerkRelation
>
list
=
tabHaobanStaffClerkRelationMapper
.
listByEnterpriseIdAndWxUserId
(
enterpriseId
,
wxUserId
);
return
EntityUtil
.
changeEntityListByJSON
(
StaffClerkRelationDTO
.
class
,
list
);
}
@Override
public
Page
<
StaffClerkBindLogDetailDTO
>
pageStaffClerkBindLog
(
String
wxEnterpriseId
,
String
search
,
String
enterpriseId
,
int
optType
,
BasePageInfo
pageInfo
)
{
List
<
TabHaobanWxEnterpriseRelated
>
wxEnterpriseRelateds
=
wxEnterpriseRelatedService
.
getByWxEnterpriseId
(
wxEnterpriseId
);
if
(
CollectionUtils
.
isEmpty
(
wxEnterpriseRelateds
))
{
logger
.
info
(
"没有关联企业"
);
return
null
;
}
List
<
String
>
enterpriseList
=
wxEnterpriseRelateds
.
stream
().
map
(
TabHaobanWxEnterpriseRelated:
:
getEnterpriseId
)
.
filter
(
eid
->{
if
(
StringUtils
.
isBlank
(
enterpriseId
))
{
return
true
;
}
else
if
(
enterpriseId
.
equals
(
eid
))
{
return
true
;
}
else
{
return
false
;
}
}).
collect
(
Collectors
.
toList
());
if
(
CollectionUtils
.
isEmpty
(
enterpriseList
))
{
logger
.
info
(
"没有有效的企业"
);
return
null
;
}
List
<
String
>
clerkIds
=
null
;
// if (StringUtils.isNotBlank(search)) {
// List<ClerkDTO> clerk = clerkNewService.listClerkByEnterpriseIdAndSearch(enterpriseList, search);
// if (CollectionUtils.isEmpty(clerk)) {
// logger.info("没有搜索到相应信息");
// return new Page<StaffClerkBindLogDetailDTO>();
// }
// clerkIds = clerk.stream().map(ClerkDTO::getClerkId).collect(Collectors.toList());
// }
Page
<
StaffClerkBindLogDetailDTO
>
retList
=
staffClerkBindLogService
.
pageBindLog
(
wxEnterpriseId
,
clerkIds
,
null
,
enterpriseList
,
optType
,
search
,
pageInfo
);
if
(
CollectionUtils
.
isNotEmpty
(
retList
.
getResult
()))
{
retList
.
getResult
().
forEach
(
staffClerkBindLogDetailDTO
->
{
TabHaobanStaff
haobanStaff
=
staffService
.
selectById
(
staffClerkBindLogDetailDTO
.
getStaffId
());
if
(
null
!=
haobanStaff
)
{
staffClerkBindLogDetailDTO
.
setStaffName
(
haobanStaff
.
getStaffName
());
staffClerkBindLogDetailDTO
.
setWxUserId
(
haobanStaff
.
getWxUserId
());
}
else
{
staffClerkBindLogDetailDTO
.
setStaffName
(
"未知成员"
);
}
if
(
"-1"
.
equals
(
staffClerkBindLogDetailDTO
.
getOptStaffId
()))
{
staffClerkBindLogDetailDTO
.
setOptStaffName
(
"系统"
);
}
else
{
haobanStaff
=
staffService
.
selectById
(
staffClerkBindLogDetailDTO
.
getOptStaffId
());
if
(
null
!=
haobanStaff
)
{
staffClerkBindLogDetailDTO
.
setOptStaffName
(
haobanStaff
.
getStaffName
());
}
else
{
staffClerkBindLogDetailDTO
.
setOptStaffName
(
"未知成员"
);
}
}
ClerkDTO
clerkDTO
=
clerkService
.
getClerkByClerkIdNoStatus
(
staffClerkBindLogDetailDTO
.
getClerkId
());
if
(
null
!=
clerkDTO
)
{
staffClerkBindLogDetailDTO
.
setClerkName
(
clerkDTO
.
getClerkName
());
}
staffClerkBindLogDetailDTO
.
setClerkPhoneNumber
(
staffClerkBindLogDetailDTO
.
getClerkPhone
());
});
}
return
retList
;
}
@Override
public
void
pushToBindLog
(
String
staffId
,
String
optStaffId
,
int
optType
,
int
channelCode
,
String
relationId
)
{
staffClerkBindLogService
.
pushToMq
(
staffId
,
optStaffId
,
optType
,
channelCode
,
relationId
);
}
private
void
setMainStore
(
StaffClerkRelationDTO
staffClerkRelation
){
if
(
staffClerkRelation
==
null
){
logger
.
info
(
"staffClerkRelation为空"
);
return
;
}
String
staffId
=
staffClerkRelation
.
getStaffId
();
String
wxEnterpriseId
=
staffClerkRelation
.
getWxEnterpriseId
();
List
<
StaffClerkRelationDTO
>
list
=
staffClerkRelatinService
.
lisByStaffId
(
wxEnterpriseId
,
staffId
);
if
(
list
!=
null
&&
list
.
size
()
==
1
){
clerkMainStoreRelatedService
.
setMainStore
(
staffId
,
staffClerkRelation
.
getStoreId
(),
wxEnterpriseId
);
}
}
private
void
delSetMainStore
(
TabHaobanStaffClerkRelation
staffClerkRelation
){
if
(
staffClerkRelation
==
null
){
logger
.
info
(
"staffClerkRelation为空"
);
return
;
}
String
staffId
=
staffClerkRelation
.
getStaffId
();
String
wxEnterpriseId
=
staffClerkRelation
.
getWxEnterpriseId
();
externalClerkRelatedService
.
delByClerkIdAndStaffId
(
staffClerkRelation
.
getClerkId
(),
staffId
);
//删除主门店
clerkMainStoreRelatedService
.
delMainStore
(
staffId
,
staffClerkRelation
.
getStoreId
(),
wxEnterpriseId
);
// TabHaobanClerkMainStoreRelated r = clerkMainStoreRelatedService.selectByWxEnterpriseIdAndStoreId(staffId, wxEnterpriseId);
// r.setStatusFlag(0);
// clerkMainStoreRelatedService.update(r);
// List<StaffClerkRelationDTO> list = staffClerkRelatinService.lisByStaffId(wxEnterpriseId, staffId);
// if(list != null && list.size() >= 1){
// clerkMainStoreRelatedService.setMainStore(staffId, list.get(list.size()-1).getStoreId(), wxEnterpriseId);
// }
}
@Override
public
ServiceResponse
<
String
>
getClerkMemberChatConfig
(
String
clerkId
)
{
ServiceResponse
response
=
new
ServiceResponse
();
StaffClerkRelationDTO
relationDTO
=
staffClerkRelatinService
.
getByClerkId
(
clerkId
);
if
(
null
==
relationDTO
)
{
logger
.
info
(
"导购没有关联企业微信:{}"
,
clerkId
);
response
.
setCode
(
2
);
response
.
setMessage
(
"导购没有关联企业微信"
);
return
response
;
}
MemberClerkChatConfig
chatConfig
=
staffClerkRelatinService
.
getChatConfig
(
relationDTO
.
getStaffId
(),
"-1"
);
if
(
chatConfig
!=
null
)
{
response
.
setResult
(
chatConfig
.
getConfigId
());
return
response
;
}
QywxExternalcontactDTO
send
=
new
QywxExternalcontactDTO
();
send
.
setType
(
1
);
send
.
setScene
(
1
);
send
.
setRemark
(
"导购:"
+
relationDTO
.
getClerkCode
());
List
<
String
>
userIds
=
new
ArrayList
<>();
userIds
.
add
(
relationDTO
.
getWxUserId
());
send
.
setUser
(
userIds
);
SecretSettingDTO
secretSetting
=
secretSettingService
.
getSecretSetting
(
relationDTO
.
getWxEnterpriseId
(),
SecretTypeEnum
.
HAOBAN_HELP
.
getVal
());
if
(
null
==
secretSetting
||
secretSetting
.
getCheckFlag
()==
0
)
{
logger
.
info
(
"没有配置secret:{}"
,
relationDTO
.
getWxEnterpriseId
());
response
.
setCode
(
3
);
response
.
setMessage
(
"企业微信配置异常"
);
return
response
;
}
WxEnterpriseDTO
enterpriseDTO
=
wxEnterpriseService
.
selectById
(
relationDTO
.
getWxEnterpriseId
());
String
configId
=
qywxUserApiService
.
getExternalcontactByUserId
(
enterpriseDTO
.
getCorpid
(),
secretSetting
.
getSecretVal
(),
send
);
logger
.
info
(
"configId:{}"
,
configId
);
if
(
StringUtils
.
isBlank
(
configId
))
{
logger
.
info
(
"staff:{}"
,
configId
,
JSONObject
.
toJSONString
(
relationDTO
));
response
.
setCode
(
4
);
response
.
setMessage
(
"创建config失败"
);
return
response
;
}
MemberClerkChatConfig
clerkChatConfig
=
new
MemberClerkChatConfig
();
clerkChatConfig
.
setConfigId
(
configId
);
clerkChatConfig
.
setEnterpriseId
(
relationDTO
.
getEnterpriseId
());
clerkChatConfig
.
setMemberId
(
"-1"
);
clerkChatConfig
.
setStaffId
(
relationDTO
.
getStaffId
());
staffClerkRelatinService
.
saveChatConfig
(
clerkChatConfig
);
response
.
setResult
(
clerkChatConfig
.
getConfigId
());
return
response
;
}
@Override
public
Page
<
StaffClerkRelationDTO
>
pageByWxEnterpriseId
(
String
wxEnterpriseId
,
BasePageInfo
pageInfo
)
{
return
staffClerkRelatinService
.
pageByWxEnterpriseId
(
wxEnterpriseId
,
pageInfo
);
}
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
StaffClerkRelationApiServiceImpl
.
class
);
@Autowired
private
StaffClerkRelationService
staffClerkRelatinService
;
@Autowired
private
EnterpriseService
enterpriseService
;
@Autowired
private
ClerkService
clerkService
;
@Autowired
private
StoreService
storeService
;
@Autowired
private
TabHaobanStaffClerkRelationMapper
tabHaobanStaffClerkRelationMapper
;
@Autowired
private
AuditApiService
auditApiService
;
@Autowired
private
ClerkMainStoreRelatedService
clerkMainStoreRelatedService
;
@Autowired
private
StaffClerkBindLogService
staffClerkBindLogService
;
@Autowired
private
WxEnterpriseRelatedService
wxEnterpriseRelatedService
;
@Autowired
private
ClerkNewService
clerkNewService
;
@Autowired
private
StaffService
staffService
;
@Autowired
private
ExternalClerkRelatedService
externalClerkRelatedService
;
@Autowired
private
QywxUserApiService
qywxUserApiService
;
@Autowired
private
SecretSettingService
secretSettingService
;
@Autowired
private
WxEnterpriseService
wxEnterpriseService
;
@Override
public
void
bindLogMq
(
String
params
)
{
logger
.
info
(
"绑定日志mq:{}"
,
params
);
StaffClerkBindLogInfoDTO
infoDTO
=
JSONObject
.
parseObject
(
params
,
StaffClerkBindLogInfoDTO
.
class
);
if
(
null
==
infoDTO
)
{
logger
.
info
(
"数据不存在"
);
return
;
}
TabHaobanStaffClerkRelation
clerkRelation
=
tabHaobanStaffClerkRelationMapper
.
selectByPrimaryKey
(
infoDTO
.
getRelationId
());
if
(
null
==
clerkRelation
)
{
logger
.
info
(
"不存在绑定数据"
);
return
;
}
ClerkDTO
clerkDTO
=
clerkService
.
getClerkByClerkIdNoStatus
(
clerkRelation
.
getClerkId
());
String
phoneNumber
=
""
;
if
(
null
!=
clerkDTO
)
{
phoneNumber
=
clerkDTO
.
getPhoneNumber
();
}
TabHaobanStaffClerkBindLog
staffClerkRelation
=
new
TabHaobanStaffClerkBindLog
();
staffClerkRelation
.
setClerkId
(
clerkRelation
.
getClerkId
());
staffClerkRelation
.
setChannelCode
(
infoDTO
.
getChannelCode
());
staffClerkRelation
.
setClerkCode
(
clerkRelation
.
getClerkCode
());
staffClerkRelation
.
setCreateTime
(
new
Date
());
staffClerkRelation
.
setEnterpriseId
(
clerkRelation
.
getEnterpriseId
());
staffClerkRelation
.
setOptStaffId
(
infoDTO
.
getOptStaffId
());
staffClerkRelation
.
setOptType
(
infoDTO
.
getOptType
());
staffClerkRelation
.
setStatusFlag
(
1
);
staffClerkRelation
.
setStaffId
(
clerkRelation
.
getStaffId
());
staffClerkRelation
.
setWxEnterpriseId
(
clerkRelation
.
getWxEnterpriseId
());
staffClerkRelation
.
setRelationId
(
infoDTO
.
getRelationId
());
staffClerkRelation
.
setClerkPhone
(
phoneNumber
);
staffClerkRelation
.
setUpdateTime
(
new
Date
());
staffClerkBindLogService
.
insert
(
staffClerkRelation
);
}
@Override
public
List
<
StaffClerkRelationDTO
>
listBindCode
(
String
enterpriseId
,
Set
<
String
>
clerkCodeList
)
{
return
staffClerkRelatinService
.
listBindCode
(
enterpriseId
,
clerkCodeList
);
}
@Override
public
List
<
StaffClerkRelationDTO
>
listBindCodeByStaffId
(
List
<
String
>
enterpriseIdList
,
String
staffId
)
{
return
staffClerkRelatinService
.
listBindCodeByStaffId
(
enterpriseIdList
,
staffId
);
}
@Override
public
List
<
StaffClerkInfoDTO
>
listBindDetailByStaffId
(
String
staffId
)
{
List
<
StaffClerkRelationDTO
>
list
=
staffClerkRelatinService
.
listBindCodeByStaffId
(
null
,
staffId
);
if
(
CollectionUtils
.
isEmpty
(
list
))
{
return
null
;
}
List
<
StaffClerkInfoDTO
>
infoDTOS
=
EntityUtil
.
changeEntityListByJSON
(
StaffClerkInfoDTO
.
class
,
list
);
Map
<
String
,
String
>
nameMap
=
new
HashMap
<>();
infoDTOS
.
forEach
(
infoDTO
->
{
//企业
if
(!
nameMap
.
containsKey
(
infoDTO
.
getEnterpriseId
()))
{
EnterpriseDTO
enterpriseDTO
=
enterpriseService
.
getEnterpriseById
(
infoDTO
.
getEnterpriseId
());
if
(
null
!=
enterpriseDTO
)
{
nameMap
.
put
(
infoDTO
.
getEnterpriseId
(),
enterpriseDTO
.
getEnterpriseName
());
}
else
{
nameMap
.
put
(
infoDTO
.
getEnterpriseId
(),
"未知商户"
);
}
}
//门店店员名称
if
(!
nameMap
.
containsKey
(
infoDTO
.
getClerkId
()))
{
ClerkDTO
clerkDTO
=
clerkService
.
getClerkByClerkId
(
infoDTO
.
getClerkId
());
if
(
null
!=
clerkDTO
)
{
nameMap
.
put
(
infoDTO
.
getClerkId
(),
clerkDTO
.
getClerkName
());
nameMap
.
put
(
infoDTO
.
getStoreId
(),
clerkDTO
.
getStoreName
());
infoDTO
.
setClerkPhoneNumber
(
clerkDTO
.
getPhoneNumber
());
}
else
{
nameMap
.
put
(
infoDTO
.
getEnterpriseId
(),
"未知店员"
);
}
}
//门店店员名称
if
(!
nameMap
.
containsKey
(
infoDTO
.
getStoreId
()))
{
StoreDTO
storeDTO
=
storeService
.
getStore
(
infoDTO
.
getStoreId
());
if
(
null
!=
storeDTO
)
{
nameMap
.
put
(
infoDTO
.
getStoreId
(),
storeDTO
.
getStoreName
());
}
else
{
nameMap
.
put
(
infoDTO
.
getStoreId
(),
"未知门店"
);
}
}
infoDTO
.
setClerkName
(
nameMap
.
get
(
infoDTO
.
getClerkId
()));
infoDTO
.
setStoreName
(
nameMap
.
get
(
infoDTO
.
getStoreId
()));
infoDTO
.
setEnterpriseName
(
nameMap
.
get
(
infoDTO
.
getEnterpriseId
()));
});
return
infoDTOS
;
}
@Override
public
ServiceResponse
bindStaffClerk
(
StaffClerkRelationDTO
staffClerkRelationDTO
,
String
optStaffId
,
int
chanelCode
)
{
logger
.
info
(
"绑定clerk:{}"
,
JSONObject
.
toJSONString
(
staffClerkRelationDTO
));
ServiceResponse
<
Object
>
response
=
new
ServiceResponse
<>();
StaffClerkRelationDTO
relationDTO
=
staffClerkRelatinService
.
getBindByClerkId
(
staffClerkRelationDTO
.
getClerkId
(),
staffClerkRelationDTO
.
getWxEnterpriseId
());
if
(
null
!=
relationDTO
)
{
response
.
setCode
(
2
);
response
.
setMessage
(
"已经被绑定,不能绑定"
);
return
response
;
}
AuditDTO
auditDTO
=
auditApiService
.
findByBindRelatedIdAndAuditType
(
staffClerkRelationDTO
.
getClerkId
(),
AuditType
.
CLERK_BIND
.
getCode
());
if
(
null
!=
auditDTO
)
{
response
.
setCode
(
4
);
response
.
setMessage
(
"该导购已经被被申请绑定,请审核处理后再绑定"
);
return
response
;
}
List
<
AuditDTO
>
list
=
auditApiService
.
listByStoreId
(
staffClerkRelationDTO
.
getStoreId
());
if
(
CollectionUtils
.
isNotEmpty
(
list
))
{
Set
<
String
>
staffIds
=
list
.
stream
().
map
(
AuditDTO:
:
getCommitStaffId
).
collect
(
Collectors
.
toSet
());
if
(
staffIds
.
contains
(
staffClerkRelationDTO
.
getStaffId
()))
{
response
.
setCode
(
5
);
response
.
setMessage
(
"该成员已经已经在该门店下申请了绑定,请审核处理后再绑定"
);
return
response
;
}
}
StaffClerkRelationDTO
storeHasBind
=
staffClerkRelatinService
.
getOneBindByStoreId
(
staffClerkRelationDTO
.
getStaffId
(),
staffClerkRelationDTO
.
getStoreId
());
if
(
storeHasBind
!=
null
)
{
response
.
setCode
(
3
);
response
.
setMessage
(
"该导购已在该门店下有其它成员绑定"
);
return
response
;
}
String
relationId
=
staffClerkRelatinService
.
bind
(
staffClerkRelationDTO
,
optStaffId
,
chanelCode
);
response
.
setResult
(
relationId
);
return
response
;
}
@Override
public
StaffClerkRelationDTO
getByCodeAndEnterpriseId
(
String
clerkCode
,
String
enterpriseId
)
{
return
staffClerkRelatinService
.
getByCodeAndEnterpriseId
(
clerkCode
,
enterpriseId
);
}
@Override
public
String
delByStoreIdAndCode
(
String
storeId
,
String
clerkCode
)
{
TabHaobanStaffClerkRelation
staffClerkRelation
=
tabHaobanStaffClerkRelationMapper
.
getByCodeAndStoreId
(
clerkCode
,
storeId
);
tabHaobanStaffClerkRelationMapper
.
delByStoreIdAndCode
(
storeId
,
clerkCode
);
delSetMainStore
(
staffClerkRelation
);
return
null
;
}
@Override
public
List
<
StaffClerkRelationDTO
>
listByClerkIds
(
List
<
String
>
clerkIds
)
{
if
(
clerkIds
==
null
||
clerkIds
.
isEmpty
())
{
return
Collections
.
EMPTY_LIST
;
}
List
<
TabHaobanStaffClerkRelation
>
list
=
tabHaobanStaffClerkRelationMapper
.
listByClerkIds
(
clerkIds
);
if
(
CollectionUtil
.
isEmpty
(
list
))
{
return
new
ArrayList
<
StaffClerkRelationDTO
>();
}
List
<
StaffClerkRelationDTO
>
result
=
EntityUtil
.
changeEntityListByJSON
(
StaffClerkRelationDTO
.
class
,
list
);
return
result
;
}
@Override
public
List
<
StaffClerkRelationDTO
>
listByStoreId
(
String
storeId
)
{
List
<
TabHaobanStaffClerkRelation
>
list
=
tabHaobanStaffClerkRelationMapper
.
listByStoreId
(
storeId
);
if
(
CollectionUtil
.
isEmpty
(
list
))
{
return
new
ArrayList
<
StaffClerkRelationDTO
>();
}
List
<
StaffClerkRelationDTO
>
result
=
EntityUtil
.
changeEntityListByJSON
(
StaffClerkRelationDTO
.
class
,
list
);
return
result
;
}
@Override
public
boolean
unbindByStaffAndClerkId
(
String
staffId
,
String
clerkId
)
{
return
staffClerkRelatinService
.
delBind
(
clerkId
,
staffId
,
ChannelCodeEnum
.
ADMIN_UNBIND
.
getCode
());
}
@Override
public
StaffClerkRelationDTO
getOneByClerkId
(
String
clerkId
)
{
TabHaobanStaffClerkRelation
tab
=
tabHaobanStaffClerkRelationMapper
.
getOneByClerkId
(
clerkId
);
StaffClerkRelationDTO
result
=
EntityUtil
.
changeEntityByJSON
(
StaffClerkRelationDTO
.
class
,
tab
);
return
result
;
}
@Override
public
StaffClerkRelationDTO
getByClerkId
(
String
clerkId
)
{
StaffClerkRelationDTO
staffRelation
=
staffClerkRelatinService
.
getByClerkId
(
clerkId
);
return
staffRelation
;
}
@Override
public
StaffClerkRelationDTO
getOneByStoreIdAndStaffId
(
String
storeId
,
String
staffId
)
{
TabHaobanStaffClerkRelation
tab
=
tabHaobanStaffClerkRelationMapper
.
getOneByStoreIdAndStaffId
(
storeId
,
staffId
);
if
(
tab
==
null
)
{
return
null
;
}
return
EntityUtil
.
changeEntity
(
StaffClerkRelationDTO
.
class
,
tab
);
}
@Override
public
void
delAndInsert
(
StaffClerkRelationDTO
staffClerkRelation
,
String
optStaffId
,
int
chanelCode
)
{
if
(
StringUtils
.
isNotBlank
(
staffClerkRelation
.
getStaffClerkRelationId
()))
{
TabHaobanStaffClerkRelation
oldStaffClerkRelation
=
tabHaobanStaffClerkRelationMapper
.
selectByPrimaryKey
(
staffClerkRelation
.
getStaffClerkRelationId
());
tabHaobanStaffClerkRelationMapper
.
delByPrimaryKey
(
staffClerkRelation
.
getStaffClerkRelationId
());
staffClerkBindLogService
.
pushToMq
(
oldStaffClerkRelation
.
getStaffId
(),
optStaffId
,
BindTypeEnum
.
UNBIND
.
getVal
(),
chanelCode
,
staffClerkRelation
.
getStaffClerkRelationId
());
clerkMainStoreRelatedService
.
delMainStore
(
oldStaffClerkRelation
.
getStaffId
(),
oldStaffClerkRelation
.
getStoreId
(),
oldStaffClerkRelation
.
getWxEnterpriseId
());
}
String
relationId
=
staffClerkRelatinService
.
insert
(
staffClerkRelation
);
staffClerkBindLogService
.
pushToMq
(
staffClerkRelation
.
getStaffId
(),
optStaffId
,
BindTypeEnum
.
BIND
.
getVal
(),
chanelCode
,
relationId
);
//设置主门店
clerkMainStoreRelatedService
.
getMainStoreByStaffId
(
staffClerkRelation
.
getStaffId
(),
staffClerkRelation
.
getWxEnterpriseId
());
}
@Override
public
void
delByClerkId
(
String
clerkId
)
{
TabHaobanStaffClerkRelation
staffClerkRelation
=
tabHaobanStaffClerkRelationMapper
.
getOneByClerkId
(
clerkId
);
tabHaobanStaffClerkRelationMapper
.
delByClerkId
(
clerkId
);
delSetMainStore
(
staffClerkRelation
);
}
@Override
public
List
<
StaffClerkRelationDTO
>
listByEnterpriseIdAndWxUserId
(
String
enterpriseId
,
String
wxUserId
)
{
List
<
TabHaobanStaffClerkRelation
>
list
=
tabHaobanStaffClerkRelationMapper
.
listByEnterpriseIdAndWxUserId
(
enterpriseId
,
wxUserId
);
return
EntityUtil
.
changeEntityListByJSON
(
StaffClerkRelationDTO
.
class
,
list
);
}
@Override
public
Page
<
StaffClerkBindLogDetailDTO
>
pageStaffClerkBindLog
(
String
wxEnterpriseId
,
String
search
,
String
enterpriseId
,
int
optType
,
BasePageInfo
pageInfo
)
{
List
<
TabHaobanWxEnterpriseRelated
>
wxEnterpriseRelateds
=
wxEnterpriseRelatedService
.
getByWxEnterpriseId
(
wxEnterpriseId
);
if
(
CollectionUtils
.
isEmpty
(
wxEnterpriseRelateds
))
{
logger
.
info
(
"没有关联企业"
);
return
null
;
}
List
<
String
>
enterpriseList
=
wxEnterpriseRelateds
.
stream
().
map
(
TabHaobanWxEnterpriseRelated:
:
getEnterpriseId
)
.
filter
(
eid
->
{
if
(
StringUtils
.
isBlank
(
enterpriseId
))
{
return
true
;
}
else
{
return
enterpriseId
.
equals
(
eid
);
}
}).
collect
(
Collectors
.
toList
());
if
(
CollectionUtils
.
isEmpty
(
enterpriseList
))
{
logger
.
info
(
"没有有效的企业"
);
return
null
;
}
List
<
String
>
clerkIds
=
null
;
Page
<
StaffClerkBindLogDetailDTO
>
retList
=
staffClerkBindLogService
.
pageBindLog
(
wxEnterpriseId
,
clerkIds
,
null
,
enterpriseList
,
optType
,
search
,
pageInfo
);
if
(
CollectionUtils
.
isNotEmpty
(
retList
.
getResult
()))
{
retList
.
getResult
().
forEach
(
staffClerkBindLogDetailDTO
->
{
TabHaobanStaff
haobanStaff
=
staffService
.
selectById
(
staffClerkBindLogDetailDTO
.
getStaffId
());
if
(
null
!=
haobanStaff
)
{
staffClerkBindLogDetailDTO
.
setStaffName
(
haobanStaff
.
getStaffName
());
staffClerkBindLogDetailDTO
.
setWxUserId
(
haobanStaff
.
getWxUserId
());
}
else
{
staffClerkBindLogDetailDTO
.
setStaffName
(
"未知成员"
);
}
if
(
"-1"
.
equals
(
staffClerkBindLogDetailDTO
.
getOptStaffId
()))
{
staffClerkBindLogDetailDTO
.
setOptStaffName
(
"系统"
);
}
else
{
haobanStaff
=
staffService
.
selectById
(
staffClerkBindLogDetailDTO
.
getOptStaffId
());
if
(
null
!=
haobanStaff
)
{
staffClerkBindLogDetailDTO
.
setOptStaffName
(
haobanStaff
.
getStaffName
());
}
else
{
staffClerkBindLogDetailDTO
.
setOptStaffName
(
"未知成员"
);
}
}
ClerkDTO
clerkDTO
=
clerkService
.
getClerkByClerkIdNoStatus
(
staffClerkBindLogDetailDTO
.
getClerkId
());
if
(
null
!=
clerkDTO
)
{
staffClerkBindLogDetailDTO
.
setClerkName
(
clerkDTO
.
getClerkName
());
}
staffClerkBindLogDetailDTO
.
setClerkPhoneNumber
(
staffClerkBindLogDetailDTO
.
getClerkPhone
());
});
}
return
retList
;
}
@Override
public
void
pushToBindLog
(
String
staffId
,
String
optStaffId
,
int
optType
,
int
channelCode
,
String
relationId
)
{
staffClerkBindLogService
.
pushToMq
(
staffId
,
optStaffId
,
optType
,
channelCode
,
relationId
);
}
private
void
setMainStore
(
StaffClerkRelationDTO
staffClerkRelation
)
{
if
(
staffClerkRelation
==
null
)
{
logger
.
info
(
"staffClerkRelation为空"
);
return
;
}
String
staffId
=
staffClerkRelation
.
getStaffId
();
String
wxEnterpriseId
=
staffClerkRelation
.
getWxEnterpriseId
();
List
<
StaffClerkRelationDTO
>
list
=
staffClerkRelatinService
.
lisByStaffId
(
wxEnterpriseId
,
staffId
);
if
(
list
!=
null
&&
list
.
size
()
==
1
)
{
clerkMainStoreRelatedService
.
setMainStore
(
staffId
,
staffClerkRelation
.
getStoreId
(),
wxEnterpriseId
);
}
}
private
void
delSetMainStore
(
TabHaobanStaffClerkRelation
staffClerkRelation
)
{
if
(
staffClerkRelation
==
null
)
{
logger
.
info
(
"staffClerkRelation为空"
);
return
;
}
String
staffId
=
staffClerkRelation
.
getStaffId
();
String
wxEnterpriseId
=
staffClerkRelation
.
getWxEnterpriseId
();
externalClerkRelatedService
.
delByClerkIdAndStaffId
(
staffClerkRelation
.
getClerkId
(),
staffId
);
//删除主门店
clerkMainStoreRelatedService
.
delMainStore
(
staffId
,
staffClerkRelation
.
getStoreId
(),
wxEnterpriseId
);
}
@Override
public
ServiceResponse
<
String
>
getClerkMemberChatConfig
(
String
clerkId
)
{
ServiceResponse
response
=
new
ServiceResponse
();
StaffClerkRelationDTO
relationDTO
=
staffClerkRelatinService
.
getByClerkId
(
clerkId
);
if
(
null
==
relationDTO
)
{
logger
.
info
(
"导购没有关联企业微信:{}"
,
clerkId
);
response
.
setCode
(
2
);
response
.
setMessage
(
"导购没有关联企业微信"
);
return
response
;
}
MemberClerkChatConfig
chatConfig
=
staffClerkRelatinService
.
getChatConfig
(
relationDTO
.
getStaffId
(),
"-1"
);
if
(
chatConfig
!=
null
)
{
response
.
setResult
(
chatConfig
.
getConfigId
());
return
response
;
}
QywxExternalcontactDTO
send
=
new
QywxExternalcontactDTO
();
send
.
setType
(
1
);
send
.
setScene
(
1
);
send
.
setRemark
(
"导购:"
+
relationDTO
.
getClerkCode
());
List
<
String
>
userIds
=
new
ArrayList
<>();
userIds
.
add
(
relationDTO
.
getWxUserId
());
send
.
setUser
(
userIds
);
SecretSettingDTO
secretSetting
=
secretSettingService
.
getSecretSetting
(
relationDTO
.
getWxEnterpriseId
(),
SecretTypeEnum
.
HAOBAN_HELP
.
getVal
());
if
(
null
==
secretSetting
||
secretSetting
.
getCheckFlag
()
==
0
)
{
logger
.
info
(
"没有配置secret:{}"
,
relationDTO
.
getWxEnterpriseId
());
response
.
setCode
(
3
);
response
.
setMessage
(
"企业微信配置异常"
);
return
response
;
}
WxEnterpriseDTO
enterpriseDTO
=
wxEnterpriseService
.
selectById
(
relationDTO
.
getWxEnterpriseId
());
String
configId
=
qywxUserApiService
.
getExternalcontactByUserId
(
enterpriseDTO
.
getCorpid
(),
secretSetting
.
getSecretVal
(),
send
);
logger
.
info
(
"configId:{}"
,
configId
);
if
(
StringUtils
.
isBlank
(
configId
))
{
logger
.
info
(
"staff:{}"
,
configId
,
JSONObject
.
toJSONString
(
relationDTO
));
response
.
setCode
(
4
);
response
.
setMessage
(
"创建config失败"
);
return
response
;
}
MemberClerkChatConfig
clerkChatConfig
=
new
MemberClerkChatConfig
();
clerkChatConfig
.
setConfigId
(
configId
);
clerkChatConfig
.
setEnterpriseId
(
relationDTO
.
getEnterpriseId
());
clerkChatConfig
.
setMemberId
(
"-1"
);
clerkChatConfig
.
setStaffId
(
relationDTO
.
getStaffId
());
staffClerkRelatinService
.
saveChatConfig
(
clerkChatConfig
);
response
.
setResult
(
clerkChatConfig
.
getConfigId
());
return
response
;
}
@Override
public
Page
<
StaffClerkRelationDTO
>
pageByWxEnterpriseId
(
String
wxEnterpriseId
,
BasePageInfo
pageInfo
)
{
return
staffClerkRelatinService
.
pageByWxEnterpriseId
(
wxEnterpriseId
,
pageInfo
);
}
@Override
public
List
<
StaffClerkRelationDTO
>
listAll
()
{
return
staffClerkRelatinService
.
listAll
();
}
}
haoban-manage3-service/src/main/resources/mapper/TabHaobanStaffClerkRelationMapper.xml
View file @
1b5bbdeb
...
...
@@ -15,11 +15,11 @@
<result
column=
"update_time"
property=
"updateTime"
jdbcType=
"TIMESTAMP"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
staff_clerk_relation_id, staff_id, wx_enterprise_id, wx_user_id, enterprise_id, store_id,
staff_clerk_relation_id, staff_id, wx_enterprise_id, wx_user_id, enterprise_id, store_id,
clerk_id, clerk_code, status_flag, create_time, update_time
</sql>
<select
id=
"selectByPrimaryKey"
resultMap=
"BaseResultMap"
parameterType=
"java.lang.String"
>
select
select
<include
refid=
"Base_Column_List"
/>
from tab_haoban_staff_clerk_relation
where staff_clerk_relation_id = #{staffClerkRelationId,jdbcType=VARCHAR}
...
...
@@ -29,14 +29,14 @@
where staff_clerk_relation_id = #{staffClerkRelationId,jdbcType=VARCHAR}
</delete>
<insert
id=
"insert"
parameterType=
"com.gic.haoban.manage.service.entity.TabHaobanStaffClerkRelation"
>
insert into tab_haoban_staff_clerk_relation (staff_clerk_relation_id, staff_id, wx_enterprise_id,
wx_user_id, enterprise_id, store_id,
clerk_id, clerk_code, status_flag,
create_time, update_time)
values (#{staffClerkRelationId,jdbcType=VARCHAR}, #{staffId,jdbcType=VARCHAR}, #{wxEnterpriseId,jdbcType=VARCHAR},
#{wxUserId,jdbcType=VARCHAR}, #{enterpriseId,jdbcType=VARCHAR}, #{storeId,jdbcType=VARCHAR},
#{clerkId,jdbcType=VARCHAR}, #{clerkCode,jdbcType=VARCHAR}, #{statusFlag,jdbcType=INTEGER},
#{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP})
insert into tab_haoban_staff_clerk_relation (staff_clerk_relation_id, staff_id, wx_enterprise_id,
wx_user_id, enterprise_id, store_id,
clerk_id, clerk_code, status_flag,
create_time, update_time)
values (#{staffClerkRelationId,jdbcType=VARCHAR}, #{staffId,jdbcType=VARCHAR}, #{wxEnterpriseId,jdbcType=VARCHAR},
#{wxUserId,jdbcType=VARCHAR}, #{enterpriseId,jdbcType=VARCHAR}, #{storeId,jdbcType=VARCHAR},
#{clerkId,jdbcType=VARCHAR}, #{clerkCode,jdbcType=VARCHAR}, #{statusFlag,jdbcType=INTEGER},
#{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP})
</insert>
<insert
id=
"insertSelective"
parameterType=
"com.gic.haoban.manage.service.entity.TabHaobanStaffClerkRelation"
>
insert into tab_haoban_staff_clerk_relation
...
...
@@ -162,37 +162,37 @@
where staff_clerk_relation_id = #{staffClerkRelationId,jdbcType=VARCHAR}
</update>
<select
id=
"listBindCode"
resultMap=
"BaseResultMap"
parameterType=
"java.lang.String"
>
select
select
<include
refid=
"Base_Column_List"
/>
from tab_haoban_staff_clerk_relation
where enterprise_id = #{enterpriseId,jdbcType=VARCHAR}
and status_flag = 1
and clerk_code in
and clerk_code in
<foreach
collection=
"clerkCodeList"
item=
"id"
index=
"index"
open=
"("
close=
")"
separator=
","
>
#{id,jdbcType=VARCHAR}
</foreach>
</select>
<select
id=
"listBindCodeByStaffId"
resultMap=
"BaseResultMap"
parameterType=
"java.lang.String"
>
select
select
<include
refid=
"Base_Column_List"
/>
from tab_haoban_staff_clerk_relation
where staff_id = #{staffId,jdbcType=VARCHAR}
and status_flag = 1
<if
test=
"enterpriseIdList!=null and enterpriseIdList.size > 0"
>
and enterprise_id in
<foreach
collection=
"enterpriseIdList"
item=
"id"
index=
"index"
open=
"("
close=
")"
separator=
","
>
and enterprise_id in
<foreach
collection=
"enterpriseIdList"
item=
"id"
index=
"index"
open=
"("
close=
")"
separator=
","
>
#{id,jdbcType=VARCHAR}
</foreach>
</if>
</select>
<select
id=
"getOneByClerkId"
resultMap=
"BaseResultMap"
parameterType=
"java.lang.String"
>
select
select
<include
refid=
"Base_Column_List"
/>
from tab_haoban_staff_clerk_relation
where
status_flag = 1
where
status_flag = 1
and clerk_id = #{clerkId}
</select>
...
...
@@ -220,34 +220,33 @@
from tab_haoban_staff_clerk_relation
where clerk_id = #{clerkId,jdbcType=VARCHAR} and wx_enterprise_id=#{wxEnterpriseId} and status_flag=1
</select>
<select
id=
"getByCodeAndEnterpriseId"
resultMap=
"BaseResultMap"
parameterType=
"java.lang.String"
>
select
select
<include
refid=
"Base_Column_List"
/>
from tab_haoban_staff_clerk_relation
where
status_flag = 1
where
status_flag = 1
and enterprise_id = #{enterpriseId}
and clerk_code = #{clerkCode}
</select>
<update
id=
"delByStoreIdAndCode"
>
update tab_haoban_staff_clerk_relation
set
status_flag = 0,
update_time = now()
where clerk_code = #{clerkCode,jdbcType=VARCHAR}
and store_id = #{storeId,jdbcType=VARCHAR}
and status_flag =1
</update>
update tab_haoban_staff_clerk_relation
set status_flag = 0,
update_time = now()
where clerk_code = #{clerkCode,jdbcType=VARCHAR}
and store_id = #{storeId,jdbcType=VARCHAR}
and status_flag = 1
</update>
<select
id=
"listByClerkIds"
resultMap=
"BaseResultMap"
parameterType=
"java.lang.String"
>
select
<include
refid=
"Base_Column_List"
/>
from tab_haoban_staff_clerk_relation
where status_flag=1
and clerk_id in
<foreach
collection=
"clerkIds"
item=
"id"
index=
"index"
open=
"("
close=
")"
separator=
","
>
from tab_haoban_staff_clerk_relation
where status_flag=1
and clerk_id in
<foreach
collection=
"clerkIds"
item=
"id"
index=
"index"
open=
"("
close=
")"
separator=
","
>
#{id,jdbcType=VARCHAR}
</foreach>
</select>
...
...
@@ -259,7 +258,7 @@
where status_flag=1
and store_id = #{storeId,jdbcType=VARCHAR}
</select>
<select
id=
"getOneByStoreIdAndStaffId"
resultMap=
"BaseResultMap"
parameterType=
"java.lang.String"
>
select
<include
refid=
"Base_Column_List"
/>
...
...
@@ -302,7 +301,7 @@
and status_flag=1
order by update_time desc limit 1
</select>
<select
id=
"getByClerkId"
resultMap=
"BaseResultMap"
parameterType=
"java.lang.String"
>
select
<include
refid=
"Base_Column_List"
/>
...
...
@@ -310,8 +309,8 @@
where clerk_id = #{clerkId,jdbcType=VARCHAR}
and status_flag=1
</select>
<update
id=
"delByPrimaryKey"
>
<update
id=
"delByPrimaryKey"
>
update tab_haoban_staff_clerk_relation
set
status_flag = 0,
...
...
@@ -319,7 +318,7 @@
where staff_clerk_relation_id = #{staffClerkRelationId,jdbcType=VARCHAR}
and status_flag =1
</update>
<update
id=
"delByClerkId"
>
update tab_haoban_staff_clerk_relation
set
...
...
@@ -328,38 +327,38 @@
where clerk_id = #{clerkId,jdbcType=VARCHAR}
and status_flag =1
</update>
<select
id=
"listByEnterpriseIdAndWxUserId"
resultMap=
"BaseResultMap"
parameterType=
"java.lang.String"
>
<select
id=
"listByEnterpriseIdAndWxUserId"
resultMap=
"BaseResultMap"
parameterType=
"java.lang.String"
>
select
<include
refid=
"Base_Column_List"
/>
from tab_haoban_staff_clerk_relation
where
where
enterprise_id = #{enterpriseId,jdbcType=VARCHAR}
and wx_user_id = #{wxUserId}
</select>
<select
id=
"lisByStaffId"
resultMap=
"BaseResultMap"
parameterType=
"java.lang.String"
>
select
<include
refid=
"Base_Column_List"
/>
from tab_haoban_staff_clerk_relation
where
where
wx_enterprise_id = #{wxEnterpriseId,jdbcType=VARCHAR}
and staff_id = #{staffId}
and status_flag = 1
order by create_time desc
</select>
<select
id=
"getByCodeAndStoreId"
resultMap=
"BaseResultMap"
parameterType=
"java.lang.String"
>
select
<include
refid=
"Base_Column_List"
/>
from tab_haoban_staff_clerk_relation
where
where
clerk_code = #{clerkCode}
and store_id = #{storeId}
and status_flag = 1
</select>
<select
id=
"listByWxEnterpriseId"
resultMap=
"BaseResultMap"
>
<select
id=
"listByWxEnterpriseId"
resultMap=
"BaseResultMap"
>
select
<include
refid=
"Base_Column_List"
/>
from tab_haoban_staff_clerk_relation
...
...
@@ -367,7 +366,7 @@
and status_flag =1
group by wx_user_id
</select>
<select
id=
"pageByWxEnterpriseId"
resultMap=
"BaseResultMap"
>
select
<include
refid=
"Base_Column_List"
/>
...
...
@@ -426,13 +425,24 @@
</update>
<select
id=
"listBindStoreIdByEnterpriseId"
resultMap=
"BaseResultMap"
>
select
store_id,
wx_enterprise_id
select store_id,
wx_enterprise_id
from tab_haoban_staff_clerk_relation
where
enterprise_id = #{wxEnterpriseId,jdbcType=VARCHAR}
and status_flag =1
where enterprise_id = #{wxEnterpriseId,jdbcType=VARCHAR}
and status_flag = 1
group by store_id
</select>
<select
id=
"listAll"
resultType=
"com.gic.haoban.manage.api.dto.StaffClerkRelationDTO"
>
SELECT a.store_id,
a.staff_id,
a.clerk_id,
b.staff_name,
c.store_name
FROM tab_haoban_staff_clerk_relation a
LEFT JOIN tab_haoban_staff b ON b.staff_id = a.staff_id
LEFT JOIN tab_gic_clerk c ON c.clerk_id = a.clerk_id
WHERE a.status_flag = 1
GROUP BY a.staff_id
</select>
</mapper>
\ No newline at end of file
haoban-manage3-wx/src/main/java/com/gic/haoban/manage/web/controller/StoreController.java
View file @
1b5bbdeb
...
...
@@ -303,19 +303,22 @@ public class StoreController extends WebBaseController{
//获取门店详情
public
boolean
isEnterpriseOver
(
String
storeId
)
{
StoreDTO
store
=
storeService
.
getStore
(
storeId
);
if
(
store
==
null
)
{
if
(
store
==
null
)
{
return
true
;
}
EnterpriseDTO
enterprise
=
enterpriseService
.
getEnterpriseBy
Ei
d
(
store
.
getEnterpriseId
());
EnterpriseDTO
enterprise
=
enterpriseService
.
getEnterpriseBy
I
d
(
store
.
getEnterpriseId
());
if
(
enterprise
==
null
||
enterprise
.
getStatus
()
!=
1
)
{
return
true
;
}
if
(
enterprise
.
getExpireTime
()
==
null
)
{
if
(
enterprise
.
getEnabledState
()
==
null
)
{
return
false
;
}
else
return
enterprise
.
getEnabledState
()
!=
1
;
}
else
}
else
{
return
enterprise
.
getEnabledState
()
!=
1
;
}
}
else
{
return
enterprise
.
getExpireTime
().
getTime
()
<=
System
.
currentTimeMillis
()
||
enterprise
.
getEnabledState
()
!=
1
;
}
}
...
...
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