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
1f552878
Commit
1f552878
authored
Sep 09, 2021
by
墨竹
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'developer' of
http://git.gicdev.com/haoban3.0/haoban-manage3.0
parents
2abd298c
f92e3e97
Hide whitespace changes
Inline
Side-by-side
Showing
51 changed files
with
2782 additions
and
1485 deletions
+2782
-1485
pom.xml
haoban-manage3-api/pom.xml
+1
-0
OperationSettingDTO.java
...va/com/gic/haoban/manage/api/dto/OperationSettingDTO.java
+111
-0
AlertTypeEnum.java
...n/java/com/gic/haoban/manage/api/enums/AlertTypeEnum.java
+2
-1
AppPageType.java
...ain/java/com/gic/haoban/manage/api/enums/AppPageType.java
+10
-10
ChannelCodeEnum.java
...java/com/gic/haoban/manage/api/enums/ChannelCodeEnum.java
+10
-0
OperationSettingApiService.java
...haoban/manage/api/service/OperationSettingApiService.java
+28
-0
StaffClerkRelationApiService.java
...oban/manage/api/service/StaffClerkRelationApiService.java
+151
-132
StaffDepartmentRelatedApiService.java
.../manage/api/service/StaffDepartmentRelatedApiService.java
+27
-19
pom.xml
haoban-manage3-operation-web/pom.xml
+1
-2
TestController.java
...gic/haoban/manage/web/controller/test/TestController.java
+66
-10
QywxTagSyncInfoQo.java
.../java/com/gic/haoban/manage/web/qo/QywxTagSyncInfoQo.java
+123
-0
dubbo-haoban-manage3-operation-web.xml
...ain/webapp/WEB-INF/dubbo-haoban-manage3-operation-web.xml
+3
-0
pom.xml
haoban-manage3-service/pom.xml
+1
-0
StaffClerkBindLogMapper.java
...an/manage/service/dao/mapper/StaffClerkBindLogMapper.java
+12
-1
TabHaobanExternalClerkRelatedMapper.java
...rvice/dao/mapper/TabHaobanExternalClerkRelatedMapper.java
+9
-0
TabHaobanOperationSettingMapper.java
...e/service/dao/mapper/TabHaobanOperationSettingMapper.java
+77
-0
TabHaobanStaffClerkRelationMapper.java
...service/dao/mapper/TabHaobanStaffClerkRelationMapper.java
+3
-1
TabHaobanOperationSetting.java
...oban/manage/service/entity/TabHaobanOperationSetting.java
+98
-0
ExternalClerkRelatedService.java
...n/manage/service/service/ExternalClerkRelatedService.java
+9
-0
StaffClerkBindLogService.java
...oban/manage/service/service/StaffClerkBindLogService.java
+6
-3
StaffClerkRelationService.java
...ban/manage/service/service/StaffClerkRelationService.java
+2
-2
ExternalClerkRelatedServiceImpl.java
...service/service/impl/ExternalClerkRelatedServiceImpl.java
+52
-0
StaffClerkBindLogServiceImpl.java
...ge/service/service/impl/StaffClerkBindLogServiceImpl.java
+13
-5
StaffClerkRelationServiceImpl.java
...e/service/service/impl/StaffClerkRelationServiceImpl.java
+6
-0
CheckQywxSettingApiServiceImpl.java
...vice/service/out/impl/CheckQywxSettingApiServiceImpl.java
+2
-1
ExternalClerkRelatedApiServiceImpl.java
.../service/out/impl/ExternalClerkRelatedApiServiceImpl.java
+15
-0
OperationSettingApiServiceImpl.java
...vice/service/out/impl/OperationSettingApiServiceImpl.java
+65
-0
QywxTagApiServiceImpl.java
...anage/service/service/out/impl/QywxTagApiServiceImpl.java
+8
-4
StaffClerkRelationApiServiceImpl.java
...ce/service/out/impl/StaffClerkRelationApiServiceImpl.java
+53
-5
StaffDepartmentRelatedApiServiceImpl.java
...ervice/out/impl/StaffDepartmentRelatedApiServiceImpl.java
+30
-35
dubbo-haoban-manage-service.xml
...ervice/src/main/resources/dubbo-haoban-manage-service.xml
+3
-0
StaffClerkBindLogMapper.xml
...ice/src/main/resources/mapper/StaffClerkBindLogMapper.xml
+229
-210
TabHaobanAuditMapper.xml
...ervice/src/main/resources/mapper/TabHaobanAuditMapper.xml
+6
-1
TabHaobanExternalClerkRelatedMapper.xml
.../resources/mapper/TabHaobanExternalClerkRelatedMapper.xml
+12
-0
TabHaobanOperationSettingMapper.xml
...main/resources/mapper/TabHaobanOperationSettingMapper.xml
+150
-0
TabHaobanStaffClerkRelationMapper.xml
...in/resources/mapper/TabHaobanStaffClerkRelationMapper.xml
+7
-0
TestOperDatabase.java
haoban-manage3-service/src/test/java/TestOperDatabase.java
+36
-0
pom.xml
haoban-manage3-web/pom.xml
+1
-4
MaidianDataController.java
...c/haoban/manage/web/controller/MaidianDataController.java
+189
-198
SendCodeController.java
.../gic/haoban/manage/web/controller/SendCodeController.java
+2
-2
SettingController.java
...m/gic/haoban/manage/web/controller/SettingController.java
+51
-0
StaffController.java
...com/gic/haoban/manage/web/controller/StaffController.java
+506
-549
dubbo-haoban-manage-web.xml
...3-web/src/main/webapp/WEB-INF/dubbo-haoban-manage-web.xml
+21
-15
pom.xml
haoban-manage3-wx/pom.xml
+1
-0
AuditController.java
...com/gic/haoban/manage/web/controller/AuditController.java
+291
-260
ClerkController.java
...com/gic/haoban/manage/web/controller/ClerkController.java
+39
-3
SendCodeController.java
.../gic/haoban/manage/web/controller/SendCodeController.java
+22
-12
HaoBanErrCode.java
...java/com/gic/haoban/manage/web/errCode/HaoBanErrCode.java
+2
-0
OperationSettingVO.java
...java/com/gic/haoban/manage/web/vo/OperationSettingVO.java
+123
-0
StaffClerkBindLogDetailVO.java
...m/gic/haoban/manage/web/vo/StaffClerkBindLogDetailVO.java
+94
-0
dubbo-haoban-manage-wx.xml
...ge3-wx/src/main/webapp/WEB-INF/dubbo-haoban-manage-wx.xml
+3
-0
No files found.
haoban-manage3-api/pom.xml
View file @
1f552878
...
...
@@ -6,6 +6,7 @@
<groupId>
com.gic
</groupId>
<artifactId>
gic-pom-base
</artifactId>
<version>
3.0-SNAPSHOT
</version>
<relativePath/>
</parent>
<modelVersion>
4.0.0
</modelVersion>
...
...
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/dto/OperationSettingDTO.java
0 → 100644
View file @
1f552878
package
com
.
gic
.
haoban
.
manage
.
api
.
dto
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
*
* @author YongEn
* @date 2021-08-26 10:38:04
*/
public
class
OperationSettingDTO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
6986750061550226819L
;
/**
* 操作设置id
*/
private
String
settingId
;
/**
* 企业微信id
*/
private
String
wxEnterpriseId
;
/**
* 导购手机号是否必填 1 是 0 否
*/
private
Integer
clerkPhoneFlag
;
/**
* 店长是否可编辑门店 1 是 0 否
*/
private
Integer
storeEditFlag
;
/**
* 创建时间
*/
private
Date
createTime
;
/**
* 更新时间
*/
private
Date
updateTime
;
/**
* 数据状态 1 正常 0 已删除
*/
private
Integer
statusFlag
;
public
String
getSettingId
()
{
return
settingId
;
}
public
void
setSettingId
(
String
settingId
)
{
this
.
settingId
=
settingId
;
}
public
String
getWxEnterpriseId
()
{
return
wxEnterpriseId
;
}
public
void
setWxEnterpriseId
(
String
wxEnterpriseId
)
{
this
.
wxEnterpriseId
=
wxEnterpriseId
;
}
public
Integer
getClerkPhoneFlag
()
{
return
clerkPhoneFlag
;
}
public
void
setClerkPhoneFlag
(
Integer
clerkPhoneFlag
)
{
this
.
clerkPhoneFlag
=
clerkPhoneFlag
;
}
public
Integer
getStoreEditFlag
()
{
return
storeEditFlag
;
}
public
void
setStoreEditFlag
(
Integer
storeEditFlag
)
{
this
.
storeEditFlag
=
storeEditFlag
;
}
public
Date
getCreateTime
()
{
return
createTime
;
}
public
void
setCreateTime
(
Date
createTime
)
{
this
.
createTime
=
createTime
;
}
public
Date
getUpdateTime
()
{
return
updateTime
;
}
public
void
setUpdateTime
(
Date
updateTime
)
{
this
.
updateTime
=
updateTime
;
}
public
Integer
getStatusFlag
()
{
return
statusFlag
;
}
public
void
setStatusFlag
(
Integer
statusFlag
)
{
this
.
statusFlag
=
statusFlag
;
}
@Override
public
String
toString
()
{
return
"OperationSettingDTO{"
+
"settingId='"
+
settingId
+
'\''
+
", wxEnterpriseId='"
+
wxEnterpriseId
+
'\''
+
", clerkPhoneFlag="
+
clerkPhoneFlag
+
", storeEditFlag="
+
storeEditFlag
+
", createTime="
+
createTime
+
", updateTime="
+
updateTime
+
", statusFlag="
+
statusFlag
+
'}'
;
}
}
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/enums/AlertTypeEnum.java
View file @
1f552878
...
...
@@ -6,7 +6,8 @@ package com.gic.haoban.manage.api.enums;
public
enum
AlertTypeEnum
{
QYWX_TAG_SYNC
(
1
,
"企微标签同步"
,
null
),
QUNFA_MESSAGE
(
2
,
"企微群发"
,
null
),
FRIEND_ADD
(
3
,
"企微好友添加"
,
null
),;
FRIEND_ADD
(
3
,
"企微好友添加"
,
null
),
CLOUD_STORE_CHANGE
(
4
,
"观云台门店进回收站"
,
null
),;
private
Integer
type
;
private
String
name
;
private
String
dingUrl
;
...
...
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/enums/AppPageType.java
View file @
1f552878
...
...
@@ -11,19 +11,19 @@ public enum AppPageType {
//任务详情(会话、话务、不良评价)
TASK_DETAIL
(
3
,
"hbapp_task_detail"
),
//日报详情
DAILY_DETAIL
(
4
,
"hbapp_task_daily_report_detail"
),
DAILY_DETAIL
(
4
,
"hbapp_task_daily_report_detail"
),
//指标管理详情
PERFORMANCE_DETAIL
(
5
,
"hbapp_task_kpi_detail"
),
PERFORMANCE_DETAIL
(
5
,
"hbapp_task_kpi_detail"
),
//顾客详情
CUSTOMER_DETAIL
(
6
,
"hbapp_customer_detail"
),
CUSTOMER_DETAIL
(
6
,
"hbapp_customer_detail"
),
//会员列表
MEMBER_LIST
(
7
,
"hbapp_customer_list"
),
MEMBER_LIST
(
7
,
"hbapp_customer_list"
),
//分配会员
DISTRIBUTE_MEMBER
(
8
,
"hbapp_customer_distribute"
),
DISTRIBUTE_MEMBER
(
8
,
"hbapp_customer_distribute"
),
//任务列表
TASK_LIST
(
9
,
"hbapp_task_list
"
),
TASK_LIST
(
9
,
"hbapp_task_list_new
"
),
//商品详情
GOOD_DETAIL
(
10
,
"hbapp_commodity_detail"
),
GOOD_DETAIL
(
10
,
"hbapp_commodity_detail"
),
//我的关联记录
MY_RELATED_RECORD
(
11
,
"store_relate_my_record_list"
),
//门店关联记录
...
...
@@ -34,9 +34,9 @@ public enum AppPageType {
FACE_ARRIVAL
(
14
,
"hbapp_customer_bind_faceId"
),
//完善标签
PERFECT_TAG
(
15
,
"hbapp_customer_edit_tag"
),
//销售线索任务列表
MARKET_CLUE_TASK
(
16
,
"hbapp_
sales_lead_main
"
),
//话务任务
逾期提醒
//销售线索任务列表
(hbapp_sales_lead_main废弃,改为新的hbapp_marketing_task_list)
MARKET_CLUE_TASK
(
16
,
"hbapp_
marketing_task_list
"
),
//话务任务
TEL_WITHIN_TIME_LIMIT
(
17
,
"hbapp_marketing_task_list"
),
;
...
...
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/enums/ChannelCodeEnum.java
View file @
1f552878
...
...
@@ -40,4 +40,14 @@ public enum ChannelCodeEnum {
public
void
setName
(
String
name
)
{
this
.
name
=
name
;
}
public
static
String
getNameByCode
(
int
code
)
{
ChannelCodeEnum
[]
values
=
ChannelCodeEnum
.
values
();
for
(
ChannelCodeEnum
channelCodeEnum
:
values
)
{
if
(
channelCodeEnum
.
getCode
()
==
code
)
{
return
channelCodeEnum
.
getName
();
}
}
return
null
;
}
}
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/service/OperationSettingApiService.java
0 → 100644
View file @
1f552878
package
com
.
gic
.
haoban
.
manage
.
api
.
service
;
import
com.gic.haoban.manage.api.dto.OperationSettingDTO
;
/**
* desc:操作设置对外服务
*
* @author: YongEn
* @date: 2021/8/26
**/
public
interface
OperationSettingApiService
{
/**
* 保存设置
*
* @param dto dto
*/
void
saveOrUpdate
(
OperationSettingDTO
dto
);
/**
* 根据企业微信id查询
*
* @param wxEnterpriseId 企业微信id
* @return dto
*/
OperationSettingDTO
getByWxEnterpriseId
(
String
wxEnterpriseId
);
}
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/service/StaffClerkRelationApiService.java
View file @
1f552878
...
...
@@ -11,136 +11,155 @@ import java.util.List;
import
java.util.Set
;
public
interface
StaffClerkRelationApiService
{
/**
* 绑定日志
*
* @param params
*/
void
bindLogMq
(
String
params
);
List
<
StaffClerkRelationDTO
>
listBindCode
(
String
enterpriseId
,
Set
<
String
>
clerkCodeList
);
List
<
StaffClerkRelationDTO
>
listBindCodeByStaffId
(
List
<
String
>
enterpriseIdList
,
String
staffId
);
/**
* 根据staffid 获取列表
* @param staffId
* @return
*/
List
<
StaffClerkInfoDTO
>
listBindDetailByStaffId
(
String
staffId
);
/**
* 绑定
*
* @return
*/
ServiceResponse
bindStaffClerk
(
StaffClerkRelationDTO
staffClerkRelationDTO
,
String
optStaffId
,
int
chanelCode
);
StaffClerkRelationDTO
getByCodeAndEnterpriseId
(
String
clerkCode
,
String
enterpriseId
);
void
delAndInsert
(
StaffClerkRelationDTO
staffClerkRelation
,
String
optStaffId
,
int
chanelCode
);
/**
* 解绑
* @param storeId
* @param clerkCode
* @return
*/
String
delByStoreIdAndCode
(
String
storeId
,
String
clerkCode
);
StaffClerkRelationDTO
getOneByClerkId
(
String
clerkId
);
List
<
StaffClerkRelationDTO
>
listByClerkIds
(
List
<
String
>
clerkIds
);
/**
* 导购列表
* @param storeId
* @return
*/
List
<
StaffClerkRelationDTO
>
listByStoreId
(
String
storeId
);
/**
* 解绑
* @param staffId 操作人
* @param clerkId
* @return
*/
boolean
unbindByStaffAndClerkId
(
String
staffId
,
String
clerkId
);
/**
* 查询导购信息
* @param clerkId
* @return
*/
StaffClerkRelationDTO
getOneByStoreIdAndStaffId
(
String
storeId
,
String
staffId
);
/**
* 查询导购信息
* @param clerkId
* @return
*/
StaffClerkRelationDTO
getByClerkId
(
String
clerkId
);
/**
*
* @param enterpriseId
* @param wxUserId
* @return
*/
List
<
StaffClerkRelationDTO
>
listByEnterpriseIdAndWxUserId
(
String
enterpriseId
,
String
wxUserId
);
/**
* 删除关联关系
* @param clerkId
*/
void
delByClerkId
(
String
clerkId
);
/**
* 搜索查询列表
*
* @param wxEnterpriseId
* @param search
* @param enterpriseId
* @param optType
* @return
*/
Page
<
StaffClerkBindLogDetailDTO
>
pageStaffClerkBindLog
(
String
wxEnterpriseId
,
String
search
,
String
enterpriseId
,
int
optType
,
BasePageInfo
pageInfo
);
/**
* 追加到绑定日志
*
* @param staffId
* @param optStaffId
* @param optType
* @param channelCode
* @param relationId
*/
void
pushToBindLog
(
String
staffId
,
String
optStaffId
,
int
optType
,
int
channelCode
,
String
relationId
);
/**
* 获取config
*
* @param clerkId
* @param memberId
* @return
*/
ServiceResponse
<
String
>
getClerkMemberChatConfig
(
String
clerkId
);
/**
* @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
*/
List
<
StaffClerkRelationDTO
>
listAll
();
/**
* 绑定日志
*
* @param params
*/
void
bindLogMq
(
String
params
);
List
<
StaffClerkRelationDTO
>
listBindCode
(
String
enterpriseId
,
Set
<
String
>
clerkCodeList
);
List
<
StaffClerkRelationDTO
>
listBindCodeByStaffId
(
List
<
String
>
enterpriseIdList
,
String
staffId
);
/**
* 根据staffid 获取列表
*
* @param staffId
* @return
*/
List
<
StaffClerkInfoDTO
>
listBindDetailByStaffId
(
String
staffId
);
/**
* 绑定
*
* @return
*/
ServiceResponse
bindStaffClerk
(
StaffClerkRelationDTO
staffClerkRelationDTO
,
String
optStaffId
,
int
chanelCode
);
StaffClerkRelationDTO
getByCodeAndEnterpriseId
(
String
clerkCode
,
String
enterpriseId
);
void
delAndInsert
(
StaffClerkRelationDTO
staffClerkRelation
,
String
optStaffId
,
int
chanelCode
);
/**
* 解绑
*
* @param storeId
* @param clerkCode
* @return
*/
String
delByStoreIdAndCode
(
String
storeId
,
String
clerkCode
);
StaffClerkRelationDTO
getOneByClerkId
(
String
clerkId
);
List
<
StaffClerkRelationDTO
>
listByClerkIds
(
List
<
String
>
clerkIds
);
/**
* 导购列表
*
* @param storeId
* @return
*/
List
<
StaffClerkRelationDTO
>
listByStoreId
(
String
storeId
);
/**
* 解绑
*
* @param staffId 操作人
* @param clerkId
* @return
*/
boolean
unbindByStaffAndClerkId
(
String
staffId
,
String
clerkId
);
/**
* 查询导购信息
*
* @param clerkId
* @return
*/
StaffClerkRelationDTO
getOneByStoreIdAndStaffId
(
String
storeId
,
String
staffId
);
/**
* 查询导购信息
*
* @param clerkId
* @return
*/
StaffClerkRelationDTO
getByClerkId
(
String
clerkId
);
/**
* @param enterpriseId
* @param wxUserId
* @return
*/
List
<
StaffClerkRelationDTO
>
listByEnterpriseIdAndWxUserId
(
String
enterpriseId
,
String
wxUserId
);
/**
* 删除关联关系
*
* @param clerkId
*/
void
delByClerkId
(
String
clerkId
);
/**
* 搜索查询列表
*
* @param wxEnterpriseId
* @param search
* @param enterpriseId
* @param optType
* @return
*/
Page
<
StaffClerkBindLogDetailDTO
>
pageStaffClerkBindLog
(
String
wxEnterpriseId
,
String
search
,
String
enterpriseId
,
int
optType
,
BasePageInfo
pageInfo
);
/**
* 搜索解绑列表
*
* @param wxEnterpriseId
* @param clerkId
* @param enterpriseId
* @param pageInfo
* @return
*/
Page
<
StaffClerkBindLogDetailDTO
>
pageStaffClerkUnBindLog
(
String
wxEnterpriseId
,
String
clerkId
,
String
enterpriseId
,
int
optType
,
BasePageInfo
pageInfo
);
/**
* 追加到绑定日志
*
* @param staffId
* @param optStaffId
* @param optType
* @param channelCode
* @param relationId
*/
void
pushToBindLog
(
String
staffId
,
String
optStaffId
,
int
optType
,
int
channelCode
,
String
relationId
);
/**
* 获取config
*
* @param clerkId
* @param memberId
* @return
*/
ServiceResponse
<
String
>
getClerkMemberChatConfig
(
String
clerkId
);
/**
* @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
*/
List
<
StaffClerkRelationDTO
>
listAll
();
}
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/service/StaffDepartmentRelatedApiService.java
View file @
1f552878
package
com
.
gic
.
haoban
.
manage
.
api
.
service
;
import
com.gic.haoban.manage.api.dto.StaffDepartmentRelatedDTO
;
import
java.util.List
;
import
java.util.Map
;
import
com.gic.haoban.manage.api.dto.StaffDepartmentRelatedDTO
;
public
interface
StaffDepartmentRelatedApiService
{
...
...
@@ -25,41 +25,49 @@ public interface StaffDepartmentRelatedApiService {
*/
StaffDepartmentRelatedDTO
getByStaffDepartmentRelatedId
(
String
staffDepartmentRelatedId
);
void
deleteCode
(
StaffDepartmentRelatedDTO
dto
);
void
deleteCode
(
StaffDepartmentRelatedDTO
dto
);
StaffDepartmentRelatedDTO
getOneByClerkCodeAndDepartmentId
(
String
clerkCode
,
String
departmentId
);
StaffDepartmentRelatedDTO
getOneByStaffIdAndDepartmentId
(
String
staffId
,
String
departmentId
);
Map
<
String
,
String
>
getWxUserIdByClerkId
(
String
clerkId
);
String
getPageUrl
(
int
type
,
String
data
);
//发送消息,单人发送
boolean
sendSingleMessage
(
String
clerkId
,
String
title
,
String
content
,
String
pageUrl
);
Map
<
String
,
String
>
getWxUserIdByClerkId
(
String
clerkId
);
String
getPageUrl
(
int
type
,
String
data
);
/**
* 发送消息,单人发送
*
* @param clerkId
* @param title
* @param content
* @param pageUrl
* @return
*/
boolean
sendSingleMessage
(
String
clerkId
,
String
title
,
String
content
,
String
pageUrl
);
/**
* 单人消息发送通用方法
*
* @param clerkId : 接收人id
* @param title : 通知标题
* @param clerkId
: 接收人id
* @param title
: 通知标题
* @param contentMap : 时间集合, key 为类型, value : 内容(例如 接收事件 : 事件内容)
* @param pageUrl : 跳转地址
* @param pageUrl
: 跳转地址
* @return : 返回是否发送成功
*/
Boolean
sendSingleMessage
(
String
clerkId
,
String
title
,
Map
<
String
,
String
>
contentMap
,
String
pageUrl
);
//发送消息,带审核理由
public
boolean
sendAuditMessage
(
String
clerkId
,
String
title
,
String
content
,
String
pageUrl
,
int
auditStatus
,
String
auditReason
);
boolean
sendAuditMessage
(
String
clerkId
,
String
title
,
String
content
,
String
pageUrl
,
int
auditStatus
,
String
auditReason
);
List
<
StaffDepartmentRelatedDTO
>
listByStaffIds
(
List
<
String
>
staffIds
);
public
void
sendClerkBind
(
String
staffId
,
String
clerkCode
,
String
storeId
,
int
auditStatus
,
String
auditReason
);
public
void
sendStaffBind
(
String
staffId
,
String
clerkCode
,
String
storeId
,
int
auditStatus
,
String
auditReason
);
public
void
sendClerkAdd
(
String
clerkName
,
String
clerkCode
,
String
storeId
,
int
auditStatus
,
String
auditReason
);
void
sendClerkBind
(
String
staffId
,
String
clerkCode
,
String
storeId
,
int
auditStatus
,
String
auditReason
);
void
sendStaffBind
(
String
staffId
,
String
clerkCode
,
String
storeId
,
int
auditStatus
,
String
auditReason
);
void
sendClerkAdd
(
String
clerkName
,
String
clerkCode
,
String
storeId
,
int
auditStatus
,
String
auditReason
);
public
void
sendClerkDel
(
String
clerkName
,
String
clerkCode
,
String
storeId
,
int
auditStatus
,
String
auditReason
);
void
sendClerkDel
(
String
clerkName
,
String
clerkCode
,
String
storeId
,
int
auditStatus
,
String
auditReason
);
}
haoban-manage3-operation-web/pom.xml
View file @
1f552878
...
...
@@ -6,6 +6,7 @@
<groupId>
com.gic
</groupId>
<artifactId>
gic-pom-base
</artifactId>
<version>
3.0-SNAPSHOT
</version>
<relativePath/>
</parent>
<modelVersion>
4.0.0
</modelVersion>
...
...
@@ -14,8 +15,6 @@
<packaging>
war
</packaging>
<name>
haoban-manage3-operation-web Maven Webapp
</name>
<!-- FIXME change it to the project's website -->
<url>
http://www.example.com
</url>
<properties>
<project.build.sourceEncoding>
UTF-8
</project.build.sourceEncoding>
...
...
haoban-manage3-operation-web/src/main/java/com/gic/haoban/manage/web/controller/test/TestController.java
View file @
1f552878
...
...
@@ -2,30 +2,28 @@ package com.gic.haoban.manage.web.controller.test;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.gic.api.base.commons.Page
;
import
com.gic.commons.util.EntityUtil
;
import
com.gic.haoban.base.api.common.BasePageInfo
;
import
com.gic.haoban.common.utils.CheckContainUtil
;
import
com.gic.commons.util.GICMQClientUtil
;
import
com.gic.haoban.common.utils.HaobanResponse
;
import
com.gic.haoban.manage.api.dto.
Test
DTO
;
import
com.gic.haoban.manage.api.dto.
Staff
DTO
;
import
com.gic.haoban.manage.api.enums.QuartzEnum
;
import
com.gic.haoban.manage.api.enums.SyncTaskTypeEnum
;
import
com.gic.haoban.manage.api.service.DealSyncOperationApiService
;
import
com.gic.haoban.manage.api.service.StaffApiService
;
import
com.gic.haoban.manage.api.service.TestApiService
;
import
com.gic.haoban.manage.api.service.TestService
;
import
com.gic.haoban.manage.web.controller.WebBaseController
;
import
com.gic.haoban.manage.web.errCode.HaoBanErrCode
;
import
com.gic.haoban.manage.web.qo.
Test
Qo
;
import
com.gic.
haoban.manage.web.vo.TestVo
;
import
com.gic.haoban.manage.web.qo.
QywxTagSyncInfo
Qo
;
import
com.gic.
mq.sdk.GicMQClient
;
import
com.gic.sharing.core.service.api.service.MqApiService
;
import
org.apache.commons.lang3.StringUtils
;
import
org.slf4j.Logger
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.ResponseBody
;
import
java.util.List
;
import
java.util.
Map
;
import
java.util.
stream.Collectors
;
import
static
org
.
slf4j
.
LoggerFactory
.
getLogger
;
...
...
@@ -44,6 +42,12 @@ public class TestController extends WebBaseController {
@Autowired
private
MqApiService
mqApiService
;
@Autowired
private
StaffApiService
staffApiService
;
@Autowired
private
DealSyncOperationApiService
dealSyncOperationApiService
;
//
// @RequestMapping("/testList")
// @ResponseBody
...
...
@@ -135,4 +139,56 @@ public class TestController extends WebBaseController {
}
return
resultResponse
(
HaoBanErrCode
.
ERR_1
);
}
/**
* 刷新好友
*
* @return
*/
@RequestMapping
(
"/flush-friend-batch"
)
@ResponseBody
public
HaobanResponse
flushFriend
(
String
key
)
{
if
(
StringUtils
.
isBlank
(
key
))
{
return
resultResponse
(
HaoBanErrCode
.
ERR_0
);
}
String
[]
split
=
key
.
split
(
","
);
for
(
String
staffId
:
split
)
{
StaffDTO
staff
=
staffApiService
.
selectById
(
staffId
);
if
(
null
==
staff
)
{
continue
;
}
String
wxEnterpriseId
=
staff
.
getWxEnterpriseId
();
String
wxUserId
=
staff
.
getWxUserId
();
String
taskName
=
"刷新企业微信好友("
+
staff
.
getStaffName
()
+
")"
;
String
taskId
=
dealSyncOperationApiService
.
createWxFriendTaskSingle
(
staff
.
getWxEnterpriseId
(),
taskName
,
staffId
,
staff
.
getStaffName
(),
SyncTaskTypeEnum
.
FRIEND_SINGLE
.
getType
());
if
(
StringUtils
.
isNotBlank
(
taskId
))
{
dealSyncOperationApiService
.
dealWxFriendClerkSingle
(
taskId
,
wxUserId
,
staffId
,
wxEnterpriseId
);
}
}
return
resultResponse
(
HaoBanErrCode
.
ERR_1
);
}
/**
* 刷新单个标签同步到队列
*
* @return
*/
@RequestMapping
(
"/qywx-tag-mq"
)
@ResponseBody
public
HaobanResponse
qywxTagMq
(
String
key
)
{
if
(
StringUtils
.
isBlank
(
key
))
{
return
resultResponse
(
HaoBanErrCode
.
ERR_0
);
}
JSONArray
jsonArray
=
JSONArray
.
parseArray
(
key
);
List
<
String
>
mqList
=
jsonArray
.
stream
().
map
(
qo
->
JSONObject
.
toJSONString
(
qo
)).
collect
(
Collectors
.
toList
());
GicMQClient
clientInstance
=
GICMQClientUtil
.
getClientInstance
();
try
{
clientInstance
.
sendBatchMessages
(
"qywxTagSyncDeal"
,
mqList
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
logger
.
info
(
"批量异常:{}"
,
e
);
}
return
resultResponse
(
HaoBanErrCode
.
ERR_1
);
}
}
haoban-manage3-operation-web/src/main/java/com/gic/haoban/manage/web/qo/QywxTagSyncInfoQo.java
0 → 100644
View file @
1f552878
package
com
.
gic
.
haoban
.
manage
.
web
.
qo
;
import
java.io.Serializable
;
import
java.util.List
;
/**
* Created 2021/7/19.
*
* @author hua
*/
public
class
QywxTagSyncInfoQo
implements
Serializable
{
/**
* 任务id
*/
private
String
taskId
;
/**
* 任务类型 0标签同步 1会员标签同步
* #taskTypeEnum
*/
private
int
taskType
;
/**
* 数据id 对应memberId
*/
private
String
dataId
;
/**
* 同步类型
*/
private
int
syncType
;
private
Integer
times
=
0
;
/**
* 批量导入时
*/
private
List
<
String
>
memberIds
;
/**
* 非必传
*/
private
String
wxEnterpriseId
;
/**
* 非必传
*/
private
String
enterpriseId
;
public
String
getWxEnterpriseId
()
{
return
wxEnterpriseId
;
}
public
void
setWxEnterpriseId
(
String
wxEnterpriseId
)
{
this
.
wxEnterpriseId
=
wxEnterpriseId
;
}
public
String
getEnterpriseId
()
{
return
enterpriseId
;
}
public
void
setEnterpriseId
(
String
enterpriseId
)
{
this
.
enterpriseId
=
enterpriseId
;
}
public
List
<
String
>
getMemberIds
()
{
return
memberIds
;
}
public
void
setMemberIds
(
List
<
String
>
memberIds
)
{
this
.
memberIds
=
memberIds
;
}
public
int
getSyncType
()
{
return
syncType
;
}
public
void
setSyncType
(
int
syncType
)
{
this
.
syncType
=
syncType
;
}
/**
* 同步的id
*/
private
Integer
syncLogId
;
public
Integer
getTimes
()
{
return
times
;
}
public
void
setTimes
(
Integer
times
)
{
this
.
times
=
times
;
}
public
Integer
getSyncLogId
()
{
return
syncLogId
;
}
public
void
setSyncLogId
(
Integer
syncLogId
)
{
this
.
syncLogId
=
syncLogId
;
}
public
String
getTaskId
()
{
return
taskId
;
}
public
void
setTaskId
(
String
taskId
)
{
this
.
taskId
=
taskId
;
}
public
int
getTaskType
()
{
return
taskType
;
}
public
void
setTaskType
(
int
taskType
)
{
this
.
taskType
=
taskType
;
}
public
String
getDataId
()
{
return
dataId
;
}
public
void
setDataId
(
String
dataId
)
{
this
.
dataId
=
dataId
;
}
}
haoban-manage3-operation-web/src/main/webapp/WEB-INF/dubbo-haoban-manage3-operation-web.xml
View file @
1f552878
...
...
@@ -51,6 +51,9 @@
<dubbo:reference
interface=
"com.gic.haoban.manage.api.service.HandoverOperationApiService"
id=
"handoverOperationApiService"
/>
<dubbo:reference
interface=
"com.gic.haoban.manage.api.service.DealSyncOperationApiService"
id=
"dealSyncOperationApiService"
/>
<dubbo:reference
interface=
"com.gic.sharing.core.service.api.service.MqApiService"
id=
"mqApiService"
/>
...
...
haoban-manage3-service/pom.xml
View file @
1f552878
...
...
@@ -6,6 +6,7 @@
<groupId>
com.gic
</groupId>
<artifactId>
gic-pom-base
</artifactId>
<version>
3.0-SNAPSHOT
</version>
<relativePath/>
</parent>
<modelVersion>
4.0.0
</modelVersion>
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/dao/mapper/StaffClerkBindLogMapper.java
View file @
1f552878
...
...
@@ -10,31 +10,38 @@ import java.util.List;
@Mapper
public
interface
StaffClerkBindLogMapper
{
/**
*
*/
int
deleteByPrimaryKey
(
Integer
logId
);
/**
*
*/
int
insert
(
TabHaobanStaffClerkBindLog
record
);
/**
*
*/
int
insertSelective
(
TabHaobanStaffClerkBindLog
record
);
/**
*
*/
TabHaobanStaffClerkBindLog
selectByPrimaryKey
(
Integer
logId
);
/**
*
*/
int
updateByPrimaryKeySelective
(
TabHaobanStaffClerkBindLog
record
);
/**
*
*/
int
updateByPrimaryKey
(
TabHaobanStaffClerkBindLog
record
);
/**
* 列表
*
* @param clerkIds
* @param staffIds
* @param enterpriseIds
...
...
@@ -42,5 +49,8 @@ public interface StaffClerkBindLogMapper {
* @return
*/
public
List
<
TabHaobanStaffClerkBindLog
>
listStaffClerkBindLog
(
@Param
(
"wxEnterpriseId"
)
String
wxEnterpriseId
,
@Param
(
"clerkIds"
)
List
<
String
>
clerkIds
,
@Param
(
"staffIds"
)
List
<
String
>
staffIds
,
@Param
(
"enterpriseIds"
)
List
<
String
>
enterpriseIds
,
@Param
(
"optType"
)
int
optType
,
@Param
(
"search"
)
String
search
);
,
@Param
(
"staffIds"
)
List
<
String
>
staffIds
,
@Param
(
"enterpriseIds"
)
List
<
String
>
enterpriseIds
,
@Param
(
"optType"
)
int
optType
,
@Param
(
"search"
)
String
search
);
public
List
<
TabHaobanStaffClerkBindLog
>
staffClerkUnBindLog
(
@Param
(
"wxEnterpriseId"
)
String
wxEnterpriseId
,
@Param
(
"clerkId"
)
String
clerkIds
,
@Param
(
"enterpriseId"
)
String
enterpriseIds
,
@Param
(
"optType"
)
int
optType
);
}
\ No newline at end of file
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/dao/mapper/TabHaobanExternalClerkRelatedMapper.java
View file @
1f552878
...
...
@@ -193,4 +193,12 @@ public interface TabHaobanExternalClerkRelatedMapper {
* @return
*/
List
<
TabHaobanExternalClerkRelated
>
listByExternalUserId
(
@Param
(
"wxEnterpriseId"
)
String
wxEnterpriseId
,
@Param
(
"externalUserId"
)
String
externalUserId
);
/**
* 根据会员id更新新老会员id
*
* @param memberId
* @return
*/
int
updateMemberIdByMemberId
(
@Param
(
"memberId"
)
String
memberId
,
@Param
(
"oldMemberId"
)
String
oldMemberId
);
}
\ No newline at end of file
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/dao/mapper/TabHaobanOperationSettingMapper.java
0 → 100644
View file @
1f552878
package
com
.
gic
.
haoban
.
manage
.
service
.
dao
.
mapper
;
import
com.gic.haoban.manage.service.entity.TabHaobanOperationSetting
;
import
org.apache.ibatis.annotations.Param
;
import
org.springframework.stereotype.Repository
;
import
java.util.List
;
/**
* 操作设置表(TabHaobanOperationSetting)表数据库访问层
*
* @author YongEn
* @date 2021-08-26 10:39:45
*/
@Repository
public
interface
TabHaobanOperationSettingMapper
{
/**
* 新增数据
*
* @param setting 实例对象
* @return 影响行数
*/
int
insert
(
TabHaobanOperationSetting
setting
);
/**
* 修改数据
*
* @param setting 实例对象
* @return 影响行数
*/
int
update
(
TabHaobanOperationSetting
setting
);
/**
* 通过主键删除数据
*
* @param settingId 主键
* @return 影响行数
*/
int
deleteById
(
String
settingId
);
/**
* 通过ID查询单条数据
*
* @param settingId 主键
* @return 实例对象
*/
TabHaobanOperationSetting
queryById
(
String
settingId
);
/**
* 通过实体作为筛选条件查询
*
* @param setting 实例对象
* @return 对象列表
*/
List
<
TabHaobanOperationSetting
>
queryAll
(
TabHaobanOperationSetting
setting
);
/**
* 分页总数
*
* @return 对象列表
*/
int
queryCountByPage
();
/**
* 分页列表
*
* @param offset 查询起始位置
* @param limit 查询条数
* @return 对象列表
*/
List
<
TabHaobanOperationSetting
>
queryListByPage
(
@Param
(
"offset"
)
int
offset
,
@Param
(
"limit"
)
int
limit
);
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/dao/mapper/TabHaobanStaffClerkRelationMapper.java
View file @
1f552878
...
...
@@ -74,7 +74,9 @@ public interface TabHaobanStaffClerkRelationMapper {
TabHaobanStaffClerkRelation
getOneBindStoreId
(
@Param
(
"staffId"
)
String
staffId
,
@Param
(
"storeId"
)
String
storeId
);
TabHaobanStaffClerkRelation
getByClerkId
(
@Param
(
"clerkId"
)
String
clerkId
);
TabHaobanStaffClerkRelation
getByClerkIdNoStatus
(
@Param
(
"clerkId"
)
String
clerkId
);
int
delByPrimaryKey
(
@Param
(
"staffClerkRelationId"
)
String
staffClerkRelationId
);
void
delByClerkId
(
@Param
(
"clerkId"
)
String
clerkId
);
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/entity/TabHaobanOperationSetting.java
0 → 100644
View file @
1f552878
package
com
.
gic
.
haoban
.
manage
.
service
.
entity
;
/**
* 操作设置表(TabHaobanOperationSetting)实体类
*
* @author YongEn
* @date 2021-08-26 10:38:04
*/
import
java.util.Date
;
public
class
TabHaobanOperationSetting
{
/**
* 操作设置id
*/
private
String
settingId
;
/**
* 企业微信id
*/
private
String
wxEnterpriseId
;
/**
* 导购手机号是否必填 1 是 0 否
*/
private
Integer
clerkPhoneFlag
;
/**
* 店长是否可编辑门店 1 是 0 否
*/
private
Integer
storeEditFlag
;
/**
* 创建时间
*/
private
Date
createTime
;
/**
* 更新时间
*/
private
Date
updateTime
;
/**
* 数据状态 1 正常 0 已删除
*/
private
Integer
statusFlag
;
public
String
getSettingId
()
{
return
settingId
;
}
public
void
setSettingId
(
String
settingId
)
{
this
.
settingId
=
settingId
;
}
public
String
getWxEnterpriseId
()
{
return
wxEnterpriseId
;
}
public
void
setWxEnterpriseId
(
String
wxEnterpriseId
)
{
this
.
wxEnterpriseId
=
wxEnterpriseId
;
}
public
Integer
getClerkPhoneFlag
()
{
return
clerkPhoneFlag
;
}
public
void
setClerkPhoneFlag
(
Integer
clerkPhoneFlag
)
{
this
.
clerkPhoneFlag
=
clerkPhoneFlag
;
}
public
Integer
getStoreEditFlag
()
{
return
storeEditFlag
;
}
public
void
setStoreEditFlag
(
Integer
storeEditFlag
)
{
this
.
storeEditFlag
=
storeEditFlag
;
}
public
Date
getCreateTime
()
{
return
createTime
;
}
public
void
setCreateTime
(
Date
createTime
)
{
this
.
createTime
=
createTime
;
}
public
Date
getUpdateTime
()
{
return
updateTime
;
}
public
void
setUpdateTime
(
Date
updateTime
)
{
this
.
updateTime
=
updateTime
;
}
public
Integer
getStatusFlag
()
{
return
statusFlag
;
}
public
void
setStatusFlag
(
Integer
statusFlag
)
{
this
.
statusFlag
=
statusFlag
;
}
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/ExternalClerkRelatedService.java
View file @
1f552878
...
...
@@ -58,4 +58,13 @@ public interface ExternalClerkRelatedService {
*/
List
<
TabHaobanExternalClerkRelated
>
listExternalByExternalUserid
(
String
wxEnterpriseId
,
String
externalUserid
);
/**
* 校验会员id与unionid的对应 主要修复会员合并是没有更新会老的情况
*
* @param memberId
* @param unionId
* @return
*/
String
checkAndUpdateMemberByUnonId
(
String
enterpriseId
,
String
memberId
,
String
unionId
);
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/StaffClerkBindLogService.java
View file @
1f552878
...
...
@@ -15,19 +15,21 @@ import java.util.List;
public
interface
StaffClerkBindLogService
{
/**
* 绑定日志
*
* @param bindLog
*/
public
void
insert
(
TabHaobanStaffClerkBindLog
bindLog
);
/**
* 插入日志到mq
*
* @param staffId
* @param optStaffId
* @param optType
* @param channelCode
* @param relationId
*/
public
void
pushToMq
(
String
staffId
,
String
optStaffId
,
int
optType
,
int
channelCode
,
String
relationId
);
public
void
pushToMq
(
String
staffId
,
String
optStaffId
,
int
optType
,
int
channelCode
,
String
relationId
);
/**
* 插入日志到mq
...
...
@@ -40,8 +42,9 @@ public interface StaffClerkBindLogService {
public
void
pushToMqBatch
(
String
optStaffId
,
int
optType
,
int
channelCode
,
List
<
String
>
relationIds
);
/**
*
* @return
*/
public
Page
<
StaffClerkBindLogDetailDTO
>
pageBindLog
(
String
wxEnterpriseId
,
List
<
String
>
clerkIds
,
List
<
String
>
staffIds
,
List
<
String
>
enterpriseIds
,
int
optType
,
String
search
,
BasePageInfo
pageInfo
);
public
Page
<
StaffClerkBindLogDetailDTO
>
pageBindLog
(
String
wxEnterpriseId
,
List
<
String
>
clerkIds
,
List
<
String
>
staffIds
,
List
<
String
>
enterpriseIds
,
int
optType
,
String
search
,
BasePageInfo
pageInfo
);
public
Page
<
StaffClerkBindLogDetailDTO
>
pageUnBindLog
(
String
wxEnterpriseId
,
String
clerkId
,
String
enterpriseId
,
int
optType
,
BasePageInfo
pageInfo
);
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/StaffClerkRelationService.java
View file @
1f552878
...
...
@@ -78,6 +78,8 @@ public interface StaffClerkRelationService {
StaffClerkRelationDTO
getByClerkId
(
String
clerkId
);
StaffClerkRelationDTO
getByClerkIdNoStatus
(
String
clerkId
);
List
<
StaffClerkRelationDTO
>
listByClerkIds
(
List
<
String
>
clerkList
);
List
<
StaffClerkRelationDTO
>
lisByStaffId
(
String
wxEnterpriseId
,
String
staffId
);
...
...
@@ -129,6 +131,4 @@ public interface StaffClerkRelationService {
* @date 2021-07-15 16:26:17
*/
List
<
StaffClerkRelationDTO
>
listAll
();
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/impl/ExternalClerkRelatedServiceImpl.java
View file @
1f552878
...
...
@@ -5,6 +5,14 @@ import java.util.Date;
import
java.util.List
;
import
java.util.Set
;
import
com.alibaba.fastjson.JSONObject
;
import
com.gic.member.api.dto.MemberDTO
;
import
com.gic.member.api.service.MemberService
;
import
com.gic.search.engine.api.dto.ESResponseQuerySingle
;
import
com.gic.search.engine.api.dto.dynamic.DynamicSearchDTO
;
import
com.gic.search.engine.api.service.dynamic.ESDataDynamicOperationApiService
;
import
org.apache.commons.lang3.StringUtils
;
import
org.slf4j.Logger
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
com.alibaba.dubbo.config.annotation.Service
;
...
...
@@ -16,12 +24,22 @@ import com.gic.haoban.manage.service.dao.mapper.TabHaobanExternalClerkRelatedMap
import
com.gic.haoban.manage.service.entity.TabHaobanExternalClerkRelated
;
import
com.gic.haoban.manage.service.service.ExternalClerkRelatedService
;
import
static
org
.
slf4j
.
LoggerFactory
.
getLogger
;
@Service
public
class
ExternalClerkRelatedServiceImpl
implements
ExternalClerkRelatedService
{
private
static
final
Logger
logger
=
getLogger
(
ExternalClerkRelatedServiceImpl
.
class
);
@Autowired
private
TabHaobanExternalClerkRelatedMapper
mapper
;
@Autowired
private
ESDataDynamicOperationApiService
esDataDynamicOperationApiService
;
@Autowired
private
MemberService
memberService
;
@Override
public
void
insert
(
TabHaobanExternalClerkRelated
related
)
{
String
clerkId
=
related
.
getClerkId
();
...
...
@@ -110,4 +128,38 @@ public class ExternalClerkRelatedServiceImpl implements ExternalClerkRelatedServ
public
List
<
TabHaobanExternalClerkRelated
>
listExternalByExternalUserid
(
String
wxEnterpriseId
,
String
externalUserid
)
{
return
mapper
.
listByExternalUserId
(
wxEnterpriseId
,
externalUserid
);
}
@Override
public
String
checkAndUpdateMemberByUnonId
(
String
enterpriseId
,
String
memberId
,
String
unionId
)
{
String
returnFields
=
"id"
;
try
{
JSONObject
searchJson
=
new
JSONObject
();
searchJson
.
put
(
"id"
,
memberId
);
DynamicSearchDTO
search
=
new
DynamicSearchDTO
();
search
.
setSearchJson
(
searchJson
);
search
.
setEnterpriseId
(
enterpriseId
);
search
.
setColumnCategoryCode
(
"member"
);
if
(
StringUtils
.
isNotBlank
(
returnFields
))
{
search
.
setReturnFileds
(
returnFields
);
}
ESResponseQuerySingle
single
=
esDataDynamicOperationApiService
.
queryDataSingle
(
search
);
JSONObject
res
=
single
.
getRes
();
logger
.
info
(
"返回数据:{}"
,
JSONObject
.
toJSONString
(
res
));
if
(
res
!=
null
&&
res
.
size
()
>
0
)
{
return
memberId
;
}
MemberDTO
memberDTO
=
memberService
.
getMemberByUnionid
(
unionId
,
enterpriseId
);
if
(
null
==
memberDTO
||
memberDTO
.
getMemberId
()
==
null
)
{
logger
.
info
(
"会员不存在:{}"
,
unionId
);
return
null
;
}
//更新会员id
mapper
.
updateMemberIdByMemberId
(
memberDTO
.
getMemberId
(),
memberId
);
return
memberDTO
.
getMemberId
();
}
catch
(
Exception
e
)
{
logger
.
info
(
"异常:{}"
,
e
);
logger
.
info
(
"从搜索引擎中搜索会员数据异常, memberId : {}"
,
memberId
);
}
return
null
;
}
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/impl/StaffClerkBindLogServiceImpl.java
View file @
1f552878
...
...
@@ -30,12 +30,12 @@ import java.util.stream.Collectors;
@Service
public
class
StaffClerkBindLogServiceImpl
implements
StaffClerkBindLogService
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
StaffClerkBindLogServiceImpl
.
class
);
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
StaffClerkBindLogServiceImpl
.
class
);
@Autowired
private
StaffClerkBindLogMapper
staffClerkBindLogMapper
;
private
static
final
String
STAFF_LOG_MQ
=
"haobanStaffClerkBindLogMq"
;
private
static
final
String
STAFF_LOG_MQ
=
"haobanStaffClerkBindLogMq"
;
@Override
public
void
insert
(
TabHaobanStaffClerkBindLog
bindLog
)
{
...
...
@@ -54,7 +54,7 @@ public class StaffClerkBindLogServiceImpl implements StaffClerkBindLogService {
GicMQClient
clientInstance
=
GICMQClientUtil
.
getClientInstance
();
try
{
String
ret
=
JSONObject
.
toJSONString
(
infoDTO
);
logger
.
info
(
"绑定的mq日志:{}"
,
ret
);
logger
.
info
(
"绑定的mq日志:{}"
,
ret
);
clientInstance
.
sendMessage
(
STAFF_LOG_MQ
,
ret
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
...
...
@@ -85,9 +85,17 @@ public class StaffClerkBindLogServiceImpl implements StaffClerkBindLogService {
}
@Override
public
Page
<
StaffClerkBindLogDetailDTO
>
pageBindLog
(
String
wxEnterpriseId
,
List
<
String
>
clerkIds
,
List
<
String
>
staffIds
,
List
<
String
>
enterpriseIds
,
int
optType
,
String
search
,
BasePageInfo
pageInfo
)
{
public
Page
<
StaffClerkBindLogDetailDTO
>
pageBindLog
(
String
wxEnterpriseId
,
List
<
String
>
clerkIds
,
List
<
String
>
staffIds
,
List
<
String
>
enterpriseIds
,
int
optType
,
String
search
,
BasePageInfo
pageInfo
)
{
PageHelper
.
startPage
(
pageInfo
);
List
<
TabHaobanStaffClerkBindLog
>
clerkBindLogList
=
staffClerkBindLogMapper
.
listStaffClerkBindLog
(
wxEnterpriseId
,
clerkIds
,
staffIds
,
enterpriseIds
,
optType
,
search
);
List
<
TabHaobanStaffClerkBindLog
>
clerkBindLogList
=
staffClerkBindLogMapper
.
listStaffClerkBindLog
(
wxEnterpriseId
,
clerkIds
,
staffIds
,
enterpriseIds
,
optType
,
search
);
Page
<
StaffClerkBindLogDetailDTO
>
retPage
=
PageUtil
.
changePageHelperToCurrentPage
(
new
PageInfo
<>(
clerkBindLogList
),
StaffClerkBindLogDetailDTO
.
class
);
return
retPage
;
}
@Override
public
Page
<
StaffClerkBindLogDetailDTO
>
pageUnBindLog
(
String
wxEnterpriseId
,
String
clerkId
,
String
enterpriseId
,
int
optType
,
BasePageInfo
pageInfo
)
{
PageHelper
.
startPage
(
pageInfo
);
List
<
TabHaobanStaffClerkBindLog
>
clerkBindLogList
=
staffClerkBindLogMapper
.
staffClerkUnBindLog
(
wxEnterpriseId
,
clerkId
,
enterpriseId
,
optType
);
Page
<
StaffClerkBindLogDetailDTO
>
retPage
=
PageUtil
.
changePageHelperToCurrentPage
(
new
PageInfo
<>(
clerkBindLogList
),
StaffClerkBindLogDetailDTO
.
class
);
return
retPage
;
}
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/impl/StaffClerkRelationServiceImpl.java
View file @
1f552878
...
...
@@ -184,6 +184,8 @@ public class StaffClerkRelationServiceImpl implements StaffClerkRelationService
return
EntityUtil
.
changeEntityByJSON
(
StaffClerkRelationDTO
.
class
,
mapper
.
getByCodeAndEnterpriseId
(
clerkCode
,
enterpriseId
));
}
@Override
public
String
insert
(
StaffClerkRelationDTO
staffClerkRelation
)
{
String
uuid
=
StringUtil
.
randomUUID
();
...
...
@@ -226,6 +228,10 @@ public class StaffClerkRelationServiceImpl implements StaffClerkRelationService
return
EntityUtil
.
changeEntityByJSON
(
StaffClerkRelationDTO
.
class
,
mapper
.
getByClerkId
(
clerkId
));
}
public
StaffClerkRelationDTO
getByClerkIdNoStatus
(
String
clerkId
){
return
EntityUtil
.
changeEntityByJSON
(
StaffClerkRelationDTO
.
class
,
mapper
.
getByClerkIdNoStatus
(
clerkId
));
}
@Override
public
List
<
StaffClerkRelationDTO
>
listByClerkIds
(
List
<
String
>
clerkList
)
{
if
(
clerkList
==
null
||
clerkList
.
isEmpty
())
{
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/out/impl/CheckQywxSettingApiServiceImpl.java
View file @
1f552878
...
...
@@ -136,7 +136,8 @@ public class CheckQywxSettingApiServiceImpl implements CheckQywxSettingApiServic
}
//告警是否拦截重复告警 防止批量触发
if
(
StringUtils
.
isNotBlank
(
messageDTO
.
getKey
()))
{
RBucket
<
Object
>
bucket
=
RedisUtil
.
getRedisClient
().
getBucket
(
messageDTO
.
getKey
());
String
key
=
messageDTO
.
getKey
()
+
messageDTO
.
getAlertType
();
RBucket
<
Object
>
bucket
=
RedisUtil
.
getRedisClient
().
getBucket
(
key
);
boolean
b
=
bucket
.
trySet
(
1
,
60L
,
TimeUnit
.
SECONDS
);
if
(!
b
)
{
return
;
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/out/impl/ExternalClerkRelatedApiServiceImpl.java
View file @
1f552878
...
...
@@ -5,6 +5,8 @@ import com.alibaba.fastjson.JSONObject;
import
com.gic.api.base.commons.Page
;
import
com.gic.commons.util.EntityUtil
;
import
com.gic.commons.util.GICMQClientUtil
;
import
com.gic.haoban.app.customer.dto.SearchComputeDTO
;
import
com.gic.haoban.app.customer.dto.SearchDataDTO
;
import
com.gic.haoban.app.customer.enums.GicQywxSyncTypeEnum
;
import
com.gic.haoban.app.customer.enums.QywxSyncTaskTypeEnum
;
import
com.gic.haoban.base.api.common.BasePageInfo
;
...
...
@@ -18,14 +20,26 @@ import com.gic.haoban.manage.service.dao.mapper.TabHaobanExternalClerkRelatedMap
import
com.gic.haoban.manage.service.entity.MemberUnionidRelated
;
import
com.gic.haoban.manage.service.entity.TabHaobanExternalClerkRelated
;
import
com.gic.haoban.manage.service.pojo.QywxTagSyncInfoPojo
;
import
com.gic.member.api.dto.MemberDTO
;
import
com.gic.member.api.service.MemberApiService
;
import
com.gic.member.api.service.MemberService
;
import
com.gic.mq.sdk.GicMQClient
;
import
com.gic.search.engine.api.constant.MemberDataEnum
;
import
com.gic.search.engine.api.constant.OperateEnum
;
import
com.gic.search.engine.api.dto.ESResponseQueryBatch
;
import
com.gic.search.engine.api.dto.ESResponseQuerySingle
;
import
com.gic.search.engine.api.dto.dynamic.DynamicSearchDTO
;
import
com.gic.search.engine.api.service.dynamic.ESDataDynamicOperationApiService
;
import
com.github.pagehelper.PageHelper
;
import
com.github.pagehelper.PageInfo
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.logging.log4j.LogManager
;
import
org.apache.logging.log4j.Logger
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.ArrayList
;
import
java.util.Collections
;
import
java.util.Date
;
import
java.util.List
;
...
...
@@ -217,4 +231,5 @@ public class ExternalClerkRelatedApiServiceImpl implements ExternalClerkRelatedA
List
<
TabHaobanExternalClerkRelated
>
list
=
tabHaobanExternalClerkRelatedMapper
.
listByMemberId
(
memberId
);
return
EntityUtil
.
changeEntityListNew
(
ExternalClerkRelatedShortInfoDTO
.
class
,
list
);
}
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/out/impl/OperationSettingApiServiceImpl.java
0 → 100644
View file @
1f552878
package
com
.
gic
.
haoban
.
manage
.
service
.
service
.
out
.
impl
;
import
com.gic.haoban.common.utils.EntityUtil
;
import
com.gic.haoban.common.utils.UuidUtil
;
import
com.gic.haoban.manage.api.dto.OperationSettingDTO
;
import
com.gic.haoban.manage.api.service.OperationSettingApiService
;
import
com.gic.haoban.manage.service.dao.mapper.TabHaobanOperationSettingMapper
;
import
com.gic.haoban.manage.service.entity.TabHaobanOperationSetting
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.util.StringUtils
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Objects
;
/**
* desc:操作设置对外服务实现
*
* @author: YongEn
* @date: 2021/8/26
**/
@Service
public
class
OperationSettingApiServiceImpl
implements
OperationSettingApiService
{
@Autowired
private
TabHaobanOperationSettingMapper
operationSettingMapper
;
@Override
public
void
saveOrUpdate
(
OperationSettingDTO
dto
)
{
// 查询
OperationSettingDTO
settingDTO
=
this
.
getByWxEnterpriseId
(
dto
.
getWxEnterpriseId
());
TabHaobanOperationSetting
setting
=
new
TabHaobanOperationSetting
();
setting
.
setClerkPhoneFlag
(
Objects
.
isNull
(
dto
.
getClerkPhoneFlag
())
?
0
:
dto
.
getClerkPhoneFlag
());
setting
.
setStoreEditFlag
(
Objects
.
isNull
(
dto
.
getStoreEditFlag
())
?
0
:
dto
.
getStoreEditFlag
());
if
(
Objects
.
isNull
(
settingDTO
))
{
// save
setting
.
setCreateTime
(
new
Date
());
setting
.
setStatusFlag
(
1
);
setting
.
setSettingId
(
UuidUtil
.
randomUUID
());
setting
.
setWxEnterpriseId
(
dto
.
getWxEnterpriseId
());
operationSettingMapper
.
insert
(
setting
);
return
;
}
// update
setting
.
setSettingId
(
settingDTO
.
getSettingId
());
setting
.
setUpdateTime
(
new
Date
());
operationSettingMapper
.
update
(
setting
);
}
@Override
public
OperationSettingDTO
getByWxEnterpriseId
(
String
wxEnterpriseId
)
{
if
(
StringUtils
.
isEmpty
(
wxEnterpriseId
))
{
return
null
;
}
TabHaobanOperationSetting
setting
=
new
TabHaobanOperationSetting
();
// 暂无合适枚举 1 代表正常数据
setting
.
setStatusFlag
(
1
);
setting
.
setWxEnterpriseId
(
wxEnterpriseId
);
List
<
TabHaobanOperationSetting
>
settingList
=
operationSettingMapper
.
queryAll
(
setting
);
return
CollectionUtils
.
isEmpty
(
settingList
)
?
null
:
EntityUtil
.
changeEntityByJSON
(
OperationSettingDTO
.
class
,
settingList
.
get
(
0
));
}
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/out/impl/QywxTagApiServiceImpl.java
View file @
1f552878
...
...
@@ -677,9 +677,13 @@ public class QywxTagApiServiceImpl implements QywxTagApiService {
logger
.
info
(
"该企业下没有配置需要同步的:{},{}"
,
externalUserId
,
clerkRelated
.
getEnterpriseId
());
continue
;
}
String
memberId
=
externalClerkRelatedService
.
checkAndUpdateMemberByUnonId
(
clerkRelated
.
getEnterpriseId
(),
clerkRelated
.
getMemberId
(),
clerkRelated
.
getUnionid
());
if
(
null
==
memberId
)
{
logger
.
info
(
"会员不存在:{}"
,
externalUserId
);
continue
;
}
//该会员打的标签
List
<
MemberTagDTO
>
gicItems
=
memberTagService
.
listMemberTag
(
clerkRelated
.
getEnterpriseId
(),
clerkRelated
.
getMemberId
()
);
List
<
MemberTagDTO
>
gicItems
=
memberTagService
.
listMemberTag
(
clerkRelated
.
getEnterpriseId
(),
memberId
);
Set
<
String
>
noSyncTagItemIds
=
new
HashSet
<>();
if
(!
CollectionUtils
.
isEmpty
(
gicItems
))
{
noSyncTagItemIds
=
gicItems
.
stream
().
filter
(
item
->
!
entQywxSyncTagItemIds
.
contains
(
item
.
getTagsId
())).
map
(
dto
->
dto
.
getTagsId
()).
collect
(
Collectors
.
toSet
());
...
...
@@ -692,9 +696,9 @@ public class QywxTagApiServiceImpl implements QywxTagApiService {
logger
.
info
(
"该企业会员需要打的标签:{}"
,
JSONObject
.
toJSONString
(
entMemberNeedSetQywxKeys
));
//更新标签 会自动同步
if
(
CollectionUtils
.
isEmpty
(
saveTagIds
))
{
saveMemberTags
(
new
HashSet
<>(),
clerkRelated
.
getEnterpriseId
(),
clerkRelated
.
getMemberId
()
,
clerkRelated
.
getClerkId
());
saveMemberTags
(
new
HashSet
<>(),
clerkRelated
.
getEnterpriseId
(),
memberId
,
clerkRelated
.
getClerkId
());
}
else
{
saveMemberTags
(
saveTagIds
,
clerkRelated
.
getEnterpriseId
(),
clerkRelated
.
getMemberId
()
,
clerkRelated
.
getClerkId
());
saveMemberTags
(
saveTagIds
,
clerkRelated
.
getEnterpriseId
(),
memberId
,
clerkRelated
.
getClerkId
());
}
// hasSaveMemberId.add(clerkRelated.getMemberId());
// //同步企业的标签到企业微信
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/out/impl/StaffClerkRelationApiServiceImpl.java
View file @
1f552878
...
...
@@ -144,7 +144,7 @@ public class StaffClerkRelationApiServiceImpl implements StaffClerkRelationApiSe
if
(!
nameMap
.
containsKey
(
infoDTO
.
getEnterpriseId
()))
{
EnterpriseDTO
enterpriseDTO
=
enterpriseService
.
getEnterpriseById
(
infoDTO
.
getEnterpriseId
());
if
(
null
!=
enterpriseDTO
)
{
nameMap
.
put
(
infoDTO
.
getEnterpriseId
(),
enterpriseDTO
.
getEnterpriseName
()
+
"_"
+
enterpriseDTO
.
getBrandName
());
nameMap
.
put
(
infoDTO
.
getEnterpriseId
(),
enterpriseDTO
.
getEnterpriseName
()
+
"_"
+
enterpriseDTO
.
getBrandName
());
}
else
{
nameMap
.
put
(
infoDTO
.
getEnterpriseId
(),
"未知商户"
);
}
...
...
@@ -173,11 +173,11 @@ public class StaffClerkRelationApiServiceImpl implements StaffClerkRelationApiSe
infoDTO
.
setClerkName
(
nameMap
.
get
(
infoDTO
.
getClerkId
()));
infoDTO
.
setStoreName
(
nameMap
.
get
(
infoDTO
.
getStoreId
()));
if
((
nameMap
.
get
(
infoDTO
.
getEnterpriseId
()))
!=
null
)
{
String
EnterpriseandBrandName
=
nameMap
.
get
(
infoDTO
.
getEnterpriseId
());
String
split
[]
=
EnterpriseandBrandName
.
split
(
"_"
);
if
((
nameMap
.
get
(
infoDTO
.
getEnterpriseId
()))
!=
null
)
{
String
EnterpriseandBrandName
=
nameMap
.
get
(
infoDTO
.
getEnterpriseId
());
String
split
[]
=
EnterpriseandBrandName
.
split
(
"_"
);
infoDTO
.
setEnterpriseName
(
split
[
0
]);
if
(
split
[
1
]
!=
null
)
{
if
(
split
[
1
]
!=
null
)
{
infoDTO
.
setBrandName
(
split
[
1
]);
}
}
...
...
@@ -367,6 +367,54 @@ public class StaffClerkRelationApiServiceImpl implements StaffClerkRelationApiSe
}
@Override
public
Page
<
StaffClerkBindLogDetailDTO
>
pageStaffClerkUnBindLog
(
String
wxEnterpriseId
,
String
clerkId
,
String
enterpriseId
,
int
optType
,
BasePageInfo
pageInfo
)
{
if
(
wxEnterpriseId
==
null
)
{
logger
.
info
(
"没有关联企业"
);
return
null
;
}
// StaffClerkRelationDTO staffClerkRelationDTO=staffClerkRelatinService.getByClerkIdNoStatus(clerkId);
// if (staffClerkRelationDTO == null) {
// logger.info("导购未绑定");
// return null;
// }
// String clerkCode = staffClerkRelationDTO.getClerkCode();
// StaffClerkRelationDTO relationDTO = staffClerkRelatinService.getOneBindCodeNoStatus(enterpriseId, clerkCode);
// if (null == relationDTO) {
// logger.info("没有解绑信息");
// return null;
// }
Page
<
StaffClerkBindLogDetailDTO
>
retList
=
staffClerkBindLogService
.
pageUnBindLog
(
wxEnterpriseId
,
clerkId
,
enterpriseId
,
optType
,
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
);
}
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/out/impl/StaffDepartmentRelatedApiServiceImpl.java
View file @
1f552878
...
...
@@ -14,11 +14,9 @@ import com.gic.haoban.manage.service.config.Config;
import
com.gic.haoban.manage.service.dao.mapper.StaffDepartmentRelatedMapper
;
import
com.gic.haoban.manage.service.dao.mapper.TabHaobanStaffClerkRelationMapper
;
import
com.gic.haoban.manage.service.dao.mapper.WxEnterpriseMapper
;
import
com.gic.haoban.manage.service.dao.mapper.WxEnterpriseRelatedMapper
;
import
com.gic.haoban.manage.service.entity.TabHaobanStaffClerkRelation
;
import
com.gic.haoban.manage.service.entity.TabHaobanStaffDepartmentRelated
;
import
com.gic.haoban.manage.service.entity.TabHaobanWxEnterprise
;
import
com.gic.haoban.manage.service.service.DepartmentService
;
import
com.gic.haoban.manage.service.service.StaffDepartmentRelatedService
;
import
com.gic.wechat.api.dto.qywx.ItemDTO
;
import
com.gic.wechat.api.dto.qywx.QywxXcxSendMessageDTO
;
...
...
@@ -37,7 +35,7 @@ import java.util.*;
@Service
public
class
StaffDepartmentRelatedApiServiceImpl
implements
StaffDepartmentRelatedApiService
{
private
static
Logger
logger
=
LoggerFactory
.
getLogger
(
StaffDepartmentRelatedApiServiceImpl
.
class
);
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
StaffDepartmentRelatedApiServiceImpl
.
class
);
@Autowired
private
StaffDepartmentRelatedService
staffDepartmentRelatedService
;
...
...
@@ -50,10 +48,6 @@ public class StaffDepartmentRelatedApiServiceImpl implements StaffDepartmentRela
@Autowired
private
WxEnterpriseMapper
wxEnterpriseMapper
;
@Autowired
private
WxEnterpriseRelatedMapper
wxEnterpriseRelatedMapper
;
@Autowired
private
DepartmentService
departmentService
;
@Autowired
private
Config
config
;
@Autowired
private
TabHaobanStaffClerkRelationMapper
tabHaobanStaffClerkRelationMapper
;
...
...
@@ -61,20 +55,19 @@ public class StaffDepartmentRelatedApiServiceImpl implements StaffDepartmentRela
private
StaffApiService
staffApiService
;
@Override
public
List
<
StaffDepartmentRelatedDTO
>
listByDepartmentId
(
String
departmentId
)
{
public
List
<
StaffDepartmentRelatedDTO
>
listByDepartmentId
(
String
departmentId
)
{
List
<
TabHaobanStaffDepartmentRelated
>
list
=
staffDepartmentRelatedService
.
listByDepartmentId
(
departmentId
);
List
<
StaffDepartmentRelatedDTO
>
resultList
=
EntityUtil
.
changeEntityListByJSON
(
StaffDepartmentRelatedDTO
.
class
,
list
);
return
resultList
;
}
@Override
public
List
<
StaffDepartmentRelatedDTO
>
listByDepartmentIds
(
List
<
String
>
departmentIds
)
{
public
List
<
StaffDepartmentRelatedDTO
>
listByDepartmentIds
(
List
<
String
>
departmentIds
)
{
List
<
TabHaobanStaffDepartmentRelated
>
list
=
staffDepartmentRelatedMapper
.
listByDepartmentIds
(
departmentIds
);
List
<
StaffDepartmentRelatedDTO
>
resultList
=
EntityUtil
.
changeEntityListByJSON
(
StaffDepartmentRelatedDTO
.
class
,
list
);
return
resultList
;
}
@Override
public
void
updateById
(
StaffDepartmentRelatedDTO
dto
)
{
TabHaobanStaffDepartmentRelated
tab
=
EntityUtil
.
changeEntityByJSON
(
TabHaobanStaffDepartmentRelated
.
class
,
dto
);
...
...
@@ -187,13 +180,13 @@ public class StaffDepartmentRelatedApiServiceImpl implements StaffDepartmentRela
String
wxUserId
=
staffDTO
.
getWxUserId
();
String
corpId
=
tabHaobanWxEnterprise
.
getCorpid
();
String
name
=
staffDTO
.
getStaffName
();
if
(
content
.
length
()>
30
)
{
if
(
content
.
length
()
>
30
)
{
content
=
content
.
substring
(
0
,
26
);
content
=
content
+
"..."
;
content
=
content
+
"..."
;
}
//先发送下,试试
QywxXcxSendMessageDTO
messageDTO
=
new
QywxXcxSendMessageDTO
();
List
<
ItemDTO
>
items
=
new
ArrayList
();
;
List
<
ItemDTO
>
items
=
new
ArrayList
();
ItemDTO
dto1
=
new
ItemDTO
();
ItemDTO
dto2
=
new
ItemDTO
();
ItemDTO
dto3
=
new
ItemDTO
();
...
...
@@ -269,17 +262,18 @@ public class StaffDepartmentRelatedApiServiceImpl implements StaffDepartmentRela
}
//导购删除,,审核记录,,消息发送
public
void
sendClerkDel
(
String
clerkName
,
String
clerkCode
,
String
storeId
,
int
auditStatus
,
String
auditReason
){
//TODO huang 发送店长,门店关联记录列表
String
messageTitle
=
"门店导购变更"
;
String
messageContent
=
"删除导购:"
+
clerkName
+
"("
+
clerkCode
+
")"
;
@Override
public
void
sendClerkDel
(
String
clerkName
,
String
clerkCode
,
String
storeId
,
int
auditStatus
,
String
auditReason
)
{
//TODO huang 发送店长,门店关联记录列表
String
messageTitle
=
"门店导购变更"
;
String
messageContent
=
"删除导购:"
+
clerkName
+
"("
+
clerkCode
+
")"
;
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"storeId"
,
storeId
);
String
data
=
jsonObject
.
toJSONString
();
ClerkDTO
gicClerk
=
clerkService
.
getClerkLeaderByStoreId
(
storeId
);
if
(
gicClerk
==
null
)
{
logger
.
info
(
"店长不存在,发送消息失败{}"
,
storeId
);
return
;
ClerkDTO
gicClerk
=
clerkService
.
getClerkLeaderByStoreId
(
storeId
);
if
(
gicClerk
==
null
)
{
logger
.
info
(
"店长不存在,发送消息失败{}"
,
storeId
);
return
;
}
TabHaobanStaffClerkRelation
tab
=
tabHaobanStaffClerkRelationMapper
.
getOneByClerkId
(
gicClerk
.
getClerkId
());
if
(
tab
==
null
){
...
...
@@ -301,17 +295,17 @@ public class StaffDepartmentRelatedApiServiceImpl implements StaffDepartmentRela
String
corpId
=
map
.
get
(
"corpId"
);
String
name
=
map
.
get
(
"clerkName"
);
if
(
jodd
.
util
.
StringUtil
.
isEmpty
(
wxUserId
))
{
logger
.
info
(
"wxUserId不存在============clerkId={}"
,
clerkId
);
if
(
jodd
.
util
.
StringUtil
.
isEmpty
(
wxUserId
))
{
logger
.
info
(
"wxUserId不存在============clerkId={}"
,
clerkId
);
return
false
;
}
if
(
content
.
length
()>
30
)
{
if
(
content
.
length
()
>
30
)
{
content
=
content
.
substring
(
0
,
26
);
content
=
content
+
"..."
;
content
=
content
+
"..."
;
}
//先发送下,试试
QywxXcxSendMessageDTO
messageDTO
=
new
QywxXcxSendMessageDTO
();
List
<
ItemDTO
>
items
=
new
ArrayList
();
;
List
<
ItemDTO
>
items
=
new
ArrayList
();
ItemDTO
dto1
=
new
ItemDTO
();
ItemDTO
dto2
=
new
ItemDTO
();
dto1
.
setKey
(
"接收人"
);
...
...
@@ -320,8 +314,8 @@ public class StaffDepartmentRelatedApiServiceImpl implements StaffDepartmentRela
dto2
.
setValue
(
content
);
items
.
add
(
dto1
);
items
.
add
(
dto2
);
ArrayList
<
String
>
list
=
new
ArrayList
<>();
list
.
add
(
wxUserId
);
ArrayList
<
String
>
list
=
new
ArrayList
<>();
list
.
add
(
wxUserId
);
messageDTO
.
setAppid
(
config
.
getAppid
());
messageDTO
.
setUserIds
(
list
);
messageDTO
.
setPage
(
pageUrl
);
...
...
@@ -391,22 +385,22 @@ public class StaffDepartmentRelatedApiServiceImpl implements StaffDepartmentRela
@Override
public
boolean
sendAuditMessage
(
String
staffId
,
String
title
,
String
content
,
String
pageUrl
,
int
auditStatus
,
String
auditReason
)
{
Map
<
String
,
String
>
map
=
getWxUserIdByStaffId
(
staffId
);
Map
<
String
,
String
>
map
=
getWxUserIdByStaffId
(
staffId
);
String
wxUserId
=
map
.
get
(
"wxUserId"
);
String
corpId
=
map
.
get
(
"corpId"
);
String
name
=
map
.
get
(
"staffName"
);
if
(
jodd
.
util
.
StringUtil
.
isEmpty
(
wxUserId
))
{
logger
.
info
(
"wxUserId不存在============clerkId={}"
,
staffId
);
if
(
StringUtils
.
isEmpty
(
wxUserId
))
{
logger
.
info
(
"wxUserId不存在============clerkId={}"
,
staffId
);
return
false
;
}
if
(
content
.
length
()>
30
)
{
if
(
content
.
length
()
>
30
)
{
content
=
content
.
substring
(
0
,
26
);
content
=
content
+
"..."
;
content
=
content
+
"..."
;
}
//先发送下,试试
QywxXcxSendMessageDTO
messageDTO
=
new
QywxXcxSendMessageDTO
();
List
<
ItemDTO
>
items
=
new
ArrayList
();
;
List
<
ItemDTO
>
items
=
new
ArrayList
();
ItemDTO
dto1
=
new
ItemDTO
();
ItemDTO
dto2
=
new
ItemDTO
();
ItemDTO
dto3
=
new
ItemDTO
();
...
...
@@ -440,6 +434,7 @@ public class StaffDepartmentRelatedApiServiceImpl implements StaffDepartmentRela
logger
.
info
(
"发送===============》{}"
,
b
);
return
b
;
}
@Override
public
String
getPageUrl
(
int
type
,
String
data
)
{
String
baseUrl
=
"/pages/route/index"
;
...
...
haoban-manage3-service/src/main/resources/dubbo-haoban-manage-service.xml
View file @
1f552878
...
...
@@ -56,6 +56,9 @@
<dubbo:service
interface=
"com.gic.haoban.manage.api.service.QywxTagApiService"
ref=
"qywxTagApiServiceImpl"
timeout=
"10000"
/>
<dubbo:service
interface=
"com.gic.haoban.manage.api.service.OperationSettingApiService"
ref=
"operationSettingApiServiceImpl"
timeout=
"10000"
/>
<dubbo:reference
interface=
"com.gic.enterprise.api.service.DepartmentService"
id=
"gicDepartmentService"
/>
<dubbo:reference
interface=
"com.gic.wechat.api.service.qywx.QywxDepartmentApiService"
id=
"qywxDepartmentApiService"
/>
<dubbo:reference
interface=
"com.gic.wechat.api.service.qywx.QywxSuiteApiService"
id=
"qywxSuiteApiService"
/>
...
...
haoban-manage3-service/src/main/resources/mapper/StaffClerkBindLogMapper.xml
View file @
1f552878
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.gic.haoban.manage.service.dao.mapper.StaffClerkBindLogMapper"
>
<resultMap
id=
"BaseResultMap"
type=
"com.gic.haoban.manage.service.entity.TabHaobanStaffClerkBindLog"
>
<id
column=
"log_id"
jdbcType=
"INTEGER"
property=
"logId"
/>
<result
column=
"staff_id"
jdbcType=
"VARCHAR"
property=
"staffId"
/>
<result
column=
"wx_enterprise_id"
jdbcType=
"VARCHAR"
property=
"wxEnterpriseId"
/>
<result
column=
"opt_staff_id"
jdbcType=
"VARCHAR"
property=
"optStaffId"
/>
<result
column=
"opt_type"
jdbcType=
"INTEGER"
property=
"optType"
/>
<result
column=
"channel_code"
jdbcType=
"INTEGER"
property=
"channelCode"
/>
<result
column=
"enterprise_id"
jdbcType=
"VARCHAR"
property=
"enterpriseId"
/>
<result
column=
"clerk_id"
jdbcType=
"VARCHAR"
property=
"clerkId"
/>
<result
column=
"clerk_code"
jdbcType=
"VARCHAR"
property=
"clerkCode"
/>
<result
column=
"clerk_phone"
jdbcType=
"VARCHAR"
property=
"clerkPhone"
/>
<result
column=
"status_flag"
jdbcType=
"INTEGER"
property=
"statusFlag"
/>
<result
column=
"create_time"
jdbcType=
"TIMESTAMP"
property=
"createTime"
/>
<result
column=
"update_time"
jdbcType=
"TIMESTAMP"
property=
"updateTime"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
log_id, staff_id, wx_enterprise_id, opt_staff_id, opt_type, channel_code, enterprise_id,
<resultMap
id=
"BaseResultMap"
type=
"com.gic.haoban.manage.service.entity.TabHaobanStaffClerkBindLog"
>
<id
column=
"log_id"
jdbcType=
"INTEGER"
property=
"logId"
/>
<result
column=
"staff_id"
jdbcType=
"VARCHAR"
property=
"staffId"
/>
<result
column=
"wx_enterprise_id"
jdbcType=
"VARCHAR"
property=
"wxEnterpriseId"
/>
<result
column=
"opt_staff_id"
jdbcType=
"VARCHAR"
property=
"optStaffId"
/>
<result
column=
"opt_type"
jdbcType=
"INTEGER"
property=
"optType"
/>
<result
column=
"channel_code"
jdbcType=
"INTEGER"
property=
"channelCode"
/>
<result
column=
"enterprise_id"
jdbcType=
"VARCHAR"
property=
"enterpriseId"
/>
<result
column=
"clerk_id"
jdbcType=
"VARCHAR"
property=
"clerkId"
/>
<result
column=
"clerk_code"
jdbcType=
"VARCHAR"
property=
"clerkCode"
/>
<result
column=
"clerk_phone"
jdbcType=
"VARCHAR"
property=
"clerkPhone"
/>
<result
column=
"status_flag"
jdbcType=
"INTEGER"
property=
"statusFlag"
/>
<result
column=
"create_time"
jdbcType=
"TIMESTAMP"
property=
"createTime"
/>
<result
column=
"update_time"
jdbcType=
"TIMESTAMP"
property=
"updateTime"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
log_id
, staff_id, wx_enterprise_id, opt_staff_id, opt_type, channel_code, enterprise_id,
clerk_id, clerk_code,clerk_phone, status_flag, create_time, update_time
</sql>
<select
id=
"selectByPrimaryKey"
parameterType=
"java.lang.Integer"
resultMap=
"BaseResultMap"
>
select
<include
refid=
"Base_Column_List"
/>
from tab_haoban_staff_clerk_bind_log
where log_id = #{logId,jdbcType=INTEGER}
</select>
<delete
id=
"deleteByPrimaryKey"
parameterType=
"java.lang.Integer"
>
delete from tab_haoban_staff_clerk_bind_log
where log_id = #{logId,jdbcType=INTEGER}
</delete>
<insert
id=
"insert"
parameterType=
"com.gic.haoban.manage.service.entity.TabHaobanStaffClerkBindLog"
>
insert into tab_haoban_staff_clerk_bind_log (staff_id, wx_enterprise_id,
opt_staff_id, opt_type, channel_code,
enterprise_id, clerk_id, clerk_code, clerk_phon
e,
status_flag, create_time, update_time
)
values (
#{staffId,jdbcType=VARCHAR}, #{wxEnterpriseId,jdbcType=VARCHAR},
#{optStaffId,jdbcType=VARCHAR}, #{optType,jdbcType=INTEGER}, #{channelCode,jdbcType=INTEGER},
#{enterpriseId,jdbcType=VARCHAR}, #{clerkId,jdbcType=VARCHAR}, #{clerkCode,jdbcType=VARCHAR},#{clerk_phon
e,jdbcType=VARCHAR},
#{statusFlag,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP}
)
</insert>
<insert
id=
"insertSelective"
parameterType=
"com.gic.haoban.manage.service.entity.TabHaobanStaffClerkBindLog"
>
insert into tab_haoban_staff_clerk_bind_log
<trim
prefix=
"("
suffix=
")"
suffixOverrides=
","
>
<if
test=
"logId != null"
>
log_id,
</if>
<if
test=
"staffId != null"
>
staff_id,
</if>
<if
test=
"wxEnterpriseId != null"
>
wx_enterprise_id,
</if>
<if
test=
"optStaffId != null"
>
opt_staff_id,
</if>
<if
test=
"optType != null"
>
opt_type,
</if>
<if
test=
"channelCode != null"
>
channel_code,
</if>
<if
test=
"enterpriseId != null"
>
enterprise_id,
</if>
<if
test=
"clerkId != null"
>
clerk_id,
</if>
<if
test=
"clerkCode != null"
>
clerk_code,
</if>
<if
test=
"clerkPhone != null"
>
clerk_phone,
</if>
<if
test=
"statusFlag != null"
>
status_flag,
</if>
<if
test=
"createTime != null"
>
create_time,
</if>
<if
test=
"updateTime != null"
>
update_time,
</if>
</trim>
<trim
prefix=
"values ("
suffix=
")"
suffixOverrides=
","
>
<if
test=
"logId != null"
>
#{logId,jdbcType=INTEGER},
</if>
<if
test=
"staffId != null"
>
#{staffId,jdbcType=VARCHAR},
</if>
<if
test=
"wxEnterpriseId != null"
>
#{wxEnterpriseId,jdbcType=VARCHAR},
</if>
<if
test=
"optStaffId != null"
>
#{optStaffId,jdbcType=VARCHAR},
</if>
<if
test=
"optType != null"
>
#{optType,jdbcType=INTEGER},
</if>
<if
test=
"channelCode != null"
>
#{channelCode,jdbcType=INTEGER},
</if>
<if
test=
"enterpriseId != null"
>
#{enterpriseId,jdbcType=VARCHAR},
</if>
<if
test=
"clerkId != null"
>
#{clerkId,jdbcType=VARCHAR},
</if>
<if
test=
"clerkCode != null"
>
#{clerkCode,jdbcType=VARCHAR},
</if>
<if
test=
"clerkPhone != null"
>
#{clerkPhone,jdbcType=VARCHAR},
</if>
</sql>
<select
id=
"selectByPrimaryKey"
parameterType=
"java.lang.Integer"
resultMap=
"BaseResultMap"
>
select
<include
refid=
"Base_Column_List"
/>
from tab_haoban_staff_clerk_bind_log
where log_id = #{logId,jdbcType=INTEGER}
</select>
<delete
id=
"deleteByPrimaryKey"
parameterType=
"java.lang.Integer"
>
delete
from tab_haoban_staff_clerk_bind_log
where log_id = #{logId,jdbcType=INTEGER}
</delete
>
<insert
id=
"insert"
parameterType=
"com.gic.haoban.manage.service.entity.TabHaobanStaffClerkBindLog"
>
insert into tab_haoban_staff_clerk_bind_log (staff_id, wx_enterprise_id,
opt_staff_id, opt_type, channel_cod
e,
enterprise_id, clerk_id, clerk_code, clerk_phone,
status_flag, create_time, update_time
)
values (
#{staffId,jdbcType=VARCHAR}, #{wxEnterpriseId,jdbcType=VARCHAR},
#{optStaffId,jdbcType=VARCHAR}, #{optType,jdbcType=INTEGER}, #{channelCode,jdbcType=INTEGER},
#{enterpriseId,jdbcType=VARCHAR}, #{clerkId,jdbcType=VARCHAR}, #{clerkCod
e,jdbcType=VARCHAR},
#{clerk_phone,jdbcType=VARCHAR},
#{statusFlag,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP}
)
</insert>
<insert
id=
"insertSelective"
parameterType=
"com.gic.haoban.manage.service.entity.TabHaobanStaffClerkBindLog"
>
insert into tab_haoban_staff_clerk_bind_log
<trim
prefix=
"("
suffix=
")"
suffixOverrides=
","
>
<if
test=
"logId != null"
>
log_id,
</if>
<if
test=
"staffId != null"
>
staff_id,
</if>
<if
test=
"wxEnterpriseId != null"
>
wx_enterprise_id,
</if>
<if
test=
"optStaffId != null"
>
opt_staff_id,
</if>
<if
test=
"optType != null"
>
opt_type,
</if>
<if
test=
"channelCode != null"
>
channel_code,
</if>
<if
test=
"enterpriseId != null"
>
enterprise_id,
</if>
<if
test=
"clerkId != null"
>
clerk_id,
</if>
<if
test=
"clerkCode != null"
>
clerk_code,
</if>
<if
test=
"clerkPhone != null"
>
clerk_phone,
</if>
<if
test=
"statusFlag != null"
>
status_flag,
</if>
<if
test=
"createTime != null"
>
create_time,
</if>
<if
test=
"updateTime != null"
>
update_time,
</if>
</trim>
<trim
prefix=
"values ("
suffix=
")"
suffixOverrides=
","
>
<if
test=
"logId != null"
>
#{logId,jdbcType=INTEGER},
</if>
<if
test=
"staffId != null"
>
#{staffId,jdbcType=VARCHAR},
</if>
<if
test=
"wxEnterpriseId != null"
>
#{wxEnterpriseId,jdbcType=VARCHAR},
</if>
<if
test=
"optStaffId != null"
>
#{optStaffId,jdbcType=VARCHAR},
</if>
<if
test=
"optType != null"
>
#{optType,jdbcType=INTEGER},
</if>
<if
test=
"channelCode != null"
>
#{channelCode,jdbcType=INTEGER},
</if>
<if
test=
"enterpriseId != null"
>
#{enterpriseId,jdbcType=VARCHAR},
</if>
<if
test=
"clerkId != null"
>
#{clerkId,jdbcType=VARCHAR},
</if>
<if
test=
"clerkCode != null"
>
#{clerkCode,jdbcType=VARCHAR},
</if>
<if
test=
"clerkPhone != null"
>
#{clerkPhone,jdbcType=VARCHAR},
</if>
<if
test=
"statusFlag != null"
>
#{statusFlag,jdbcType=INTEGER},
</if>
<if
test=
"createTime != null"
>
#{createTime,jdbcType=TIMESTAMP},
</if>
<if
test=
"updateTime != null"
>
#{updateTime,jdbcType=TIMESTAMP},
</if>
</trim>
</insert>
<update
id=
"updateByPrimaryKeySelective"
parameterType=
"com.gic.haoban.manage.service.entity.TabHaobanStaffClerkBindLog"
>
update tab_haoban_staff_clerk_bind_log
<set>
<if
test=
"staffId != null"
>
staff_id = #{staffId,jdbcType=VARCHAR},
</if>
<if
test=
"wxEnterpriseId != null"
>
wx_enterprise_id = #{wxEnterpriseId,jdbcType=VARCHAR},
</if>
<if
test=
"optStaffId != null"
>
opt_staff_id = #{optStaffId,jdbcType=VARCHAR},
</if>
<if
test=
"optType != null"
>
opt_type = #{optType,jdbcType=INTEGER},
</if>
<if
test=
"channelCode != null"
>
channel_code = #{channelCode,jdbcType=INTEGER},
</if>
<if
test=
"enterpriseId != null"
>
enterprise_id = #{enterpriseId,jdbcType=VARCHAR},
</if>
<if
test=
"clerkId != null"
>
clerk_id = #{clerkId,jdbcType=VARCHAR},
</if>
<if
test=
"clerkCode != null"
>
clerk_code = #{clerkCode,jdbcType=VARCHAR},
</if>
<if
test=
"statusFlag != null"
>
status_flag = #{statusFlag,jdbcType=INTEGER},
</if>
<if
test=
"createTime != null"
>
create_time = #{createTime,jdbcType=TIMESTAMP},
</if>
<if
test=
"updateTime != null"
>
update_time = #{updateTime,jdbcType=TIMESTAMP},
</if>
</set>
where log_id = #{logId,jdbcType=INTEGER}
</update>
<update
id=
"updateByPrimaryKey"
parameterType=
"com.gic.haoban.manage.service.entity.TabHaobanStaffClerkBindLog"
>
update tab_haoban_staff_clerk_bind_log
set staff_id = #{staffId,jdbcType=VARCHAR},
wx_enterprise_id = #{wxEnterpriseId,jdbcType=VARCHAR},
opt_staff_id = #{optStaffId,jdbcType=VARCHAR},
opt_type = #{optType,jdbcType=INTEGER},
channel_code = #{channelCode,jdbcType=INTEGER},
enterprise_id = #{enterpriseId,jdbcType=VARCHAR},
clerk_id = #{clerkId,jdbcType=VARCHAR},
clerk_code = #{clerkCode,jdbcType=VARCHAR},
status_flag = #{statusFlag,jdbcType=INTEGER},
create_time = #{createTime,jdbcType=TIMESTAMP},
update_time = #{updateTime,jdbcType=TIMESTAMP}
where log_id = #{logId,jdbcType=INTEGER}
</update>
<select
id=
"listStaffClerkBindLog"
resultMap=
"BaseResultMap"
>
select
<include
refid=
"Base_Column_List"
/>
from tab_haoban_staff_clerk_bind_log
where wx_enterprise_id=#{wxEnterpriseId}
<if
test=
"clerkIds!=null and clerkIds.size()>0"
>
and clerk_id in
<foreach
collection=
"clerkIds"
item=
"item"
open=
"("
close=
")"
separator=
","
>
#{item}
</foreach>
</if>
<if
test=
"staffIds!=null and staffIds.size()>0"
>
and staff_id in
<foreach
collection=
"staffIds"
item=
"item"
open=
"("
close=
")"
separator=
","
>
#{item}
</foreach>
</if>
<if
test=
"enterpriseIds!=null and enterpriseIds.size()>0"
>
and enterprise_id in
<foreach
collection=
"enterpriseIds"
item=
"item"
open=
"("
close=
")"
separator=
","
>
#{item}
</foreach>
</if>
<if
test=
"optType!=-1"
>
and opt_type=#{optType}
</if>
<if
test=
"search!=null and search.length()>0"
>
and (clerk_code = #{search} or clerk_phone = #{search})
</if>
order by create_time desc
</select>
<if
test=
"statusFlag != null"
>
#{statusFlag,jdbcType=INTEGER},
</if>
<if
test=
"createTime != null"
>
#{createTime,jdbcType=TIMESTAMP},
</if>
<if
test=
"updateTime != null"
>
#{updateTime,jdbcType=TIMESTAMP},
</if>
</trim>
</insert>
<update
id=
"updateByPrimaryKeySelective"
parameterType=
"com.gic.haoban.manage.service.entity.TabHaobanStaffClerkBindLog"
>
update tab_haoban_staff_clerk_bind_log
<set>
<if
test=
"staffId != null"
>
staff_id = #{staffId,jdbcType=VARCHAR},
</if>
<if
test=
"wxEnterpriseId != null"
>
wx_enterprise_id = #{wxEnterpriseId,jdbcType=VARCHAR},
</if>
<if
test=
"optStaffId != null"
>
opt_staff_id = #{optStaffId,jdbcType=VARCHAR},
</if>
<if
test=
"optType != null"
>
opt_type = #{optType,jdbcType=INTEGER},
</if>
<if
test=
"channelCode != null"
>
channel_code = #{channelCode,jdbcType=INTEGER},
</if>
<if
test=
"enterpriseId != null"
>
enterprise_id = #{enterpriseId,jdbcType=VARCHAR},
</if>
<if
test=
"clerkId != null"
>
clerk_id = #{clerkId,jdbcType=VARCHAR},
</if>
<if
test=
"clerkCode != null"
>
clerk_code = #{clerkCode,jdbcType=VARCHAR},
</if>
<if
test=
"statusFlag != null"
>
status_flag = #{statusFlag,jdbcType=INTEGER},
</if>
<if
test=
"createTime != null"
>
create_time = #{createTime,jdbcType=TIMESTAMP},
</if>
<if
test=
"updateTime != null"
>
update_time = #{updateTime,jdbcType=TIMESTAMP},
</if>
</set>
where log_id = #{logId,jdbcType=INTEGER}
</update>
<update
id=
"updateByPrimaryKey"
parameterType=
"com.gic.haoban.manage.service.entity.TabHaobanStaffClerkBindLog"
>
update tab_haoban_staff_clerk_bind_log
set staff_id = #{staffId,jdbcType=VARCHAR},
wx_enterprise_id = #{wxEnterpriseId,jdbcType=VARCHAR},
opt_staff_id = #{optStaffId,jdbcType=VARCHAR},
opt_type = #{optType,jdbcType=INTEGER},
channel_code = #{channelCode,jdbcType=INTEGER},
enterprise_id = #{enterpriseId,jdbcType=VARCHAR},
clerk_id = #{clerkId,jdbcType=VARCHAR},
clerk_code = #{clerkCode,jdbcType=VARCHAR},
status_flag = #{statusFlag,jdbcType=INTEGER},
create_time = #{createTime,jdbcType=TIMESTAMP},
update_time = #{updateTime,jdbcType=TIMESTAMP}
where log_id = #{logId,jdbcType=INTEGER}
</update>
<select
id=
"listStaffClerkBindLog"
resultMap=
"BaseResultMap"
>
select
<include
refid=
"Base_Column_List"
/>
from tab_haoban_staff_clerk_bind_log
where wx_enterprise_id=#{wxEnterpriseId}
<if
test=
"clerkIds!=null and clerkIds.size()>0"
>
and clerk_id in
<foreach
collection=
"clerkIds"
item=
"item"
open=
"("
close=
")"
separator=
","
>
#{item}
</foreach>
</if>
<if
test=
"staffIds!=null and staffIds.size()>0"
>
and staff_id in
<foreach
collection=
"staffIds"
item=
"item"
open=
"("
close=
")"
separator=
","
>
#{item}
</foreach>
</if>
<if
test=
"enterpriseIds!=null and enterpriseIds.size()>0"
>
and enterprise_id in
<foreach
collection=
"enterpriseIds"
item=
"item"
open=
"("
close=
")"
separator=
","
>
#{item}
</foreach>
</if>
<if
test=
"optType!=-1"
>
and opt_type=#{optType}
</if>
<if
test=
"search!=null and search.length()>0"
>
and (clerk_code = #{search} or clerk_phone = #{search})
</if>
order by create_time desc
</select>
<select
id=
"staffClerkUnBindLog"
resultMap=
"BaseResultMap"
>
select
<include
refid=
"Base_Column_List"
/>
from tab_haoban_staff_clerk_bind_log
where wx_enterprise_id = #{wxEnterpriseId}
<if
test=
"clerkId!=null "
>
and clerk_id = #{clerkId}
</if>
<if
test=
"enterpriseId!=null"
>
and enterprise_id = #{enterpriseId}
</if>
<if
test=
"optType!=-1"
>
and opt_type= #{optType}
</if>
order by create_time desc
</select>
</mapper>
\ No newline at end of file
haoban-manage3-service/src/main/resources/mapper/TabHaobanAuditMapper.xml
View file @
1f552878
...
...
@@ -437,7 +437,11 @@
and audit_type = 3
and audit_status = 0
and enterprise_id = #{enterpriseId,jdbcType=VARCHAR}
and (related_Id = #{clerkCode} or old_value like concat ('%',#{phoneNumber},'%'))
and (related_Id = #{clerkCode}
<if
test=
"phoneNumber != null and phoneNumber != ''"
>
or old_value like concat ('%',#{phoneNumber},'%')
</if>
)
</select>
</mapper>
\ No newline at end of file
haoban-manage3-service/src/main/resources/mapper/TabHaobanExternalClerkRelatedMapper.xml
View file @
1f552878
...
...
@@ -573,4 +573,15 @@
and status_flag = 1
and external_user_id = #{externalUserId}
</select>
<update
id=
"updateMemberIdByMemberId"
>
UPDATE
tab_haoban_external_clerk_related
SET
member_id=#{memberId},
update_time = now()
where
member_id = #{oldMemberId}
and status_flag = 1
</update>
</mapper>
\ No newline at end of file
haoban-manage3-service/src/main/resources/mapper/TabHaobanOperationSettingMapper.xml
0 → 100644
View file @
1f552878
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.gic.haoban.manage.service.dao.mapper.TabHaobanOperationSettingMapper"
>
<resultMap
type=
"com.gic.haoban.manage.service.entity.TabHaobanOperationSetting"
id=
"TabHaobanOperationSettingMap"
>
<result
property=
"settingId"
column=
"setting_id"
jdbcType=
"VARCHAR"
/>
<result
property=
"wxEnterpriseId"
column=
"wx_enterprise_id"
jdbcType=
"VARCHAR"
/>
<result
property=
"clerkPhoneFlag"
column=
"clerk_phone_flag"
jdbcType=
"INTEGER"
/>
<result
property=
"storeEditFlag"
column=
"store_edit_flag"
jdbcType=
"INTEGER"
/>
<result
property=
"createTime"
column=
"create_time"
jdbcType=
"TIMESTAMP"
/>
<result
property=
"updateTime"
column=
"update_time"
jdbcType=
"TIMESTAMP"
/>
<result
property=
"statusFlag"
column=
"status_flag"
jdbcType=
"INTEGER"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
setting_id, wx_enterprise_id, clerk_phone_flag, store_edit_flag, create_time, update_time, status_flag
</sql>
<!--新增所有列-->
<insert
id=
"insert"
keyProperty=
"settingId"
useGeneratedKeys=
"true"
parameterType=
"com.gic.haoban.manage.service.entity.TabHaobanOperationSetting"
>
INSERT INTO tab_haoban_operation_setting
<trim
prefix=
"("
suffix=
")"
suffixOverrides=
","
>
<if
test=
"settingId != null and settingId != ''"
>
setting_id,
</if>
<if
test=
"wxEnterpriseId != null and wxEnterpriseId != ''"
>
wx_enterprise_id,
</if>
<if
test=
"clerkPhoneFlag != null"
>
clerk_phone_flag,
</if>
<if
test=
"storeEditFlag != null"
>
store_edit_flag,
</if>
<if
test=
"createTime != null"
>
create_time,
</if>
<if
test=
"updateTime != null"
>
update_time,
</if>
<if
test=
"statusFlag != null"
>
status_flag,
</if>
</trim>
<trim
prefix=
"values ("
suffix=
")"
suffixOverrides=
","
>
<if
test=
"settingId != null and settingId != ''"
>
#{settingId},
</if>
<if
test=
"wxEnterpriseId != null and wxEnterpriseId != ''"
>
#{wxEnterpriseId},
</if>
<if
test=
"clerkPhoneFlag != null"
>
#{clerkPhoneFlag},
</if>
<if
test=
"storeEditFlag != null"
>
#{storeEditFlag},
</if>
<if
test=
"createTime != null"
>
#{createTime},
</if>
<if
test=
"updateTime != null"
>
#{updateTime},
</if>
<if
test=
"statusFlag != null"
>
#{statusFlag},
</if>
</trim>
</insert>
<!--通过主键修改数据-->
<update
id=
"update"
parameterType=
"com.gic.haoban.manage.service.entity.TabHaobanOperationSetting"
>
update tab_haoban_operation_setting
<set>
<if
test=
"wxEnterpriseId != null and wxEnterpriseId != ''"
>
wx_enterprise_id = #{wxEnterpriseId},
</if>
<if
test=
"clerkPhoneFlag != null"
>
clerk_phone_flag = #{clerkPhoneFlag},
</if>
<if
test=
"storeEditFlag != null"
>
store_edit_flag = #{storeEditFlag},
</if>
<if
test=
"createTime != null"
>
create_time = #{createTime},
</if>
<if
test=
"updateTime != null"
>
update_time = #{updateTime},
</if>
<if
test=
"statusFlag != null"
>
status_flag = #{statusFlag},
</if>
</set>
where setting_id = #{settingId}
</update>
<!--通过主键删除-->
<delete
id=
"deleteById"
>
delete from tab_haoban_operation_setting where setting_id = #{settingId}
</delete>
<!--查询单个-->
<select
id=
"queryById"
resultMap=
"TabHaobanOperationSettingMap"
>
select
<include
refid=
"Base_Column_List"
/>
from tab_haoban_operation_setting
where setting_id = #{settingId}
</select>
<!--通过实体作为筛选条件查询-->
<select
id=
"queryAll"
parameterType=
"com.gic.haoban.manage.service.entity.TabHaobanOperationSetting"
resultMap=
"TabHaobanOperationSettingMap"
>
select
<include
refid=
"Base_Column_List"
/>
from tab_haoban_operation_setting
<where>
<if
test=
"settingId != null and settingId != ''"
>
and setting_id = #{settingId}
</if>
<if
test=
"wxEnterpriseId != null and wxEnterpriseId != ''"
>
and wx_enterprise_id = #{wxEnterpriseId}
</if>
<if
test=
"clerkPhoneFlag != null"
>
and clerk_phone_flag = #{clerkPhoneFlag}
</if>
<if
test=
"storeEditFlag != null"
>
and store_edit_flag = #{storeEditFlag}
</if>
<if
test=
"createTime != null"
>
and create_time = #{createTime}
</if>
<if
test=
"updateTime != null"
>
and update_time = #{updateTime}
</if>
<if
test=
"statusFlag != null"
>
and status_flag = #{statusFlag}
</if>
</where>
</select>
<select
id=
"queryCountByPage"
resultType=
"int"
>
select
count(*)
from tab_haoban_operation_setting
</select>
<select
id=
"queryListByPage"
resultMap=
"TabHaobanOperationSettingMap"
>
select
<include
refid=
"Base_Column_List"
/>
from tab_haoban_operation_setting
limit #{offset}, #{limit}
</select>
</mapper>
haoban-manage3-service/src/main/resources/mapper/TabHaobanStaffClerkRelationMapper.xml
View file @
1f552878
...
...
@@ -310,6 +310,13 @@
and status_flag=1
</select>
<select
id=
"getByClerkIdNoStatus"
resultMap=
"BaseResultMap"
parameterType=
"java.lang.String"
>
select
<include
refid=
"Base_Column_List"
/>
from tab_haoban_staff_clerk_relation
where clerk_id = #{clerkId,jdbcType=VARCHAR}
</select>
<update
id=
"delByPrimaryKey"
>
update tab_haoban_staff_clerk_relation
set
...
...
haoban-manage3-service/src/test/java/TestOperDatabase.java
0 → 100644
View file @
1f552878
import
com.gic.haoban.common.utils.UuidUtil
;
import
com.gic.haoban.manage.api.service.ExternalClerkRelatedApiService
;
import
com.gic.haoban.manage.service.dao.mapper.TabHaobanOperationSettingMapper
;
import
com.gic.haoban.manage.service.entity.TabHaobanOperationSetting
;
import
com.gic.haoban.manage.service.service.ExternalClerkRelatedService
;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.test.context.ContextConfiguration
;
import
org.springframework.test.context.junit4.SpringJUnit4ClassRunner
;
import
java.util.Date
;
/**
* desc:
*
* @author: YongEn
* @date: 2021/8/26
**/
@RunWith
(
SpringJUnit4ClassRunner
.
class
)
@ContextConfiguration
(
locations
=
{
"classpath:applicationContext-conf.xml"
})
public
class
TestOperDatabase
{
@Autowired
private
TabHaobanOperationSettingMapper
tabHaobanOperationSettingMapper
;
@Autowired
private
ExternalClerkRelatedService
externalClerkRelatedService
;
@Test
public
void
testOperSetting
()
{
String
s
=
externalClerkRelatedService
.
checkAndUpdateMemberByUnonId
(
"ff8080815dacd3a2015dacd3ef5c0000"
,
"ff8080817b95cd7e017b95f2c0ec009d"
,
"orXl9t9_320bmRutZoL8YEpPAc00"
);
System
.
out
.
println
(
s
);
}
}
haoban-manage3-web/pom.xml
View file @
1f552878
...
...
@@ -6,17 +6,14 @@
<groupId>
com.gic
</groupId>
<artifactId>
gic-pom-base
</artifactId>
<version>
3.0-SNAPSHOT
</version>
<relativePath/>
</parent>
<modelVersion>
4.0.0
</modelVersion>
<artifactId>
haoban-manage3-web
</artifactId>
<version>
${libraryVersion}
</version>
<packaging>
war
</packaging>
<name>
haoban-manage3-web Maven Webapp
</name>
<!-- FIXME change it to the project's website -->
<url>
http://www.example.com
</url>
<properties>
<project.build.sourceEncoding>
UTF-8
</project.build.sourceEncoding>
<haobanService>
1.0-SNAPSHOT
</haobanService>
...
...
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/controller/MaidianDataController.java
View file @
1f552878
package
com
.
gic
.
haoban
.
manage
.
web
.
controller
;
import
java.text.SimpleDateFormat
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
org.apache.commons.lang3.StringUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
cn.hutool.core.collection.CollectionUtil
;
import
com.gic.cloud.common.api.base.Page
;
import
com.gic.cloud.data.api.dto.AdsGicLogHaobanStoreIntervalLoginDDTO
;
import
com.gic.cloud.data.api.dto.AdsGicLogHaobanStoreLoginDDTO
;
import
com.gic.cloud.data.api.dto.AreaLoginDTO
;
import
com.gic.cloud.data.api.dto.HaobanClerkLoginDTO
;
import
com.gic.cloud.data.api.dto.HaobanLoginInfoDTO
;
import
com.gic.cloud.data.api.dto.MemberAnalyzeParamsDTO
;
import
com.gic.cloud.data.api.dto.*
;
import
com.gic.cloud.data.api.service.MaidianDataService
;
import
com.gic.cloud.web.service.api.dto.CloudStoreGroupDTO
;
import
com.gic.cloud.web.service.api.service.CloudStoreGroupService
;
import
com.gic.commons.util.EntityUtil
;
import
com.gic.haoban.common.utils.ExcelUtils
;
import
com.gic.haoban.common.utils.HaobanResponse
;
import
com.gic.haoban.manage.api.service.WxEnterpriseRelatedApiService
;
import
com.gic.haoban.manage.web.errCode.HaoBanErrCode
;
import
com.gic.redis.data.util.RedisUtil
;
import
org.apache.commons.lang3.StringUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
java.text.SimpleDateFormat
;
import
java.util.*
;
@RestController
@RequestMapping
(
"web"
)
public
class
MaidianDataController
extends
WebBaseController
{
private
static
Logger
logger
=
LoggerFactory
.
getLogger
(
MaidianDataController
.
class
);
@Autowired
private
MaidianDataService
maidianDataService
;
@Autowired
private
CloudStoreGroupService
cloudStoreGroupService
;
@Autowired
private
WxEnterpriseRelatedApiService
wxEnterpriseRelatedApiService
;
//首页-分组列表
public
class
MaidianDataController
extends
WebBaseController
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
MaidianDataController
.
class
);
@Autowired
private
MaidianDataService
maidianDataService
;
@Autowired
private
CloudStoreGroupService
cloudStoreGroupService
;
//首页-分组列表
@RequestMapping
(
"/use-haoban3-service"
)
public
HaobanResponse
useHaoban3Service
(
String
wxEnterpriseId
)
{
Object
o
=
RedisUtil
.
getCache
(
"usesMaidianWxEnterpriseId"
);
boolean
b
=
false
;
if
(
o
==
null
){
}
else
{
String
wxEnterpriseIds
=
o
.
toString
();
if
(
wxEnterpriseIds
.
contains
(
wxEnterpriseId
)||
"-1"
.
equals
(
wxEnterpriseIds
)){
b
=
true
;
}
}
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
b
);
Object
o
=
RedisUtil
.
getCache
(
"usesMaidianWxEnterpriseId"
);
boolean
b
=
false
;
if
(
o
!=
null
)
{
String
wxEnterpriseIds
=
o
.
toString
();
if
(
wxEnterpriseIds
.
contains
(
wxEnterpriseId
)
||
"-1"
.
equals
(
wxEnterpriseIds
))
{
b
=
true
;
}
}
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
b
);
}
//首页-分组列表
//首页-分组列表
@RequestMapping
(
"/cloud-grouplist-pid"
)
public
HaobanResponse
cloudGrouplistPid
(
String
enterpriseId
)
{
Map
<
String
,
Object
>
returnMap
=
new
HashMap
<
String
,
Object
>();
List
<
CloudStoreGroupDTO
>
list
=
cloudStoreGroupService
.
queryAllStoreGroupByStoreGroupId
(
enterpriseId
);
if
(
CollectionUtil
.
isEmpty
(
list
))
{
list
=
new
ArrayList
<>();
if
(
CollectionUtil
.
isEmpty
(
list
))
{
list
=
new
ArrayList
<>();
}
returnMap
.
put
(
"list"
,
list
);
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
returnMap
);
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
returnMap
);
}
//首页-企业概况
//首页-企业概况
@RequestMapping
(
"/total-activation-data"
)
public
HaobanResponse
totalActivationData
(
MemberAnalyzeParamsDTO
paramsDTO
)
{
paramsDTO
.
setWebFlag
(
1
);
paramsDTO
.
setWebFlag
(
1
);
Map
<
String
,
Object
>
returnMap
=
new
HashMap
<
String
,
Object
>();
AdsGicLogHaobanStoreLoginDDTO
dto
=
maidianDataService
.
totalActivationData
(
paramsDTO
);
if
(
dto
==
null
)
{
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
returnMap
);
if
(
dto
==
null
)
{
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
returnMap
);
}
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
"yyyy-MM-dd"
);
paramsDTO
.
setStartDate
(
sdf
.
format
(
new
Date
()));
AdsGicLogHaobanStoreLoginDDTO
today
=
maidianDataService
.
totalActivationData
(
paramsDTO
);
if
(
today
==
null
)
{
today
=
new
AdsGicLogHaobanStoreLoginDDTO
();
if
(
today
==
null
)
{
today
=
new
AdsGicLogHaobanStoreLoginDDTO
();
}
returnMap
.
put
(
"loginClerkCnt"
,
dto
.
getLoginClerkCnt
())
;
returnMap
.
put
(
"activeClerkCnt"
,
dto
.
getActiveClerkCnt
())
;
returnMap
.
put
(
"loginClerkTimes"
,
dto
.
getLoginClerkTimes
())
;
returnMap
.
put
(
"notActiveClerkCnt"
,
dto
.
getNotActiveClerkCnt
())
;
returnMap
.
put
(
"totalClerkCnt"
,
dto
.
getTotalClerkCnt
())
;
returnMap
.
put
(
"notLoginClerkCnt"
,
dto
.
getNotLoginClerkCnt
())
;
if
(
dto
.
getLoginClerkCnt
()
==
null
||
dto
.
getLoginClerkCnt
()==
0
)
{
returnMap
.
put
(
"avgLoginTimes"
,
0
)
;
returnMap
.
put
(
"avgVisitTime"
,
0
)
;
}
else
{
returnMap
.
put
(
"avgLoginTimes"
,
dto
.
getLoginClerkTimes
()
/
dto
.
getLoginClerkCnt
())
;
returnMap
.
put
(
"avgVisitTime"
,
dto
.
getStayTime
()
/
dto
.
getLoginClerkCnt
())
;
returnMap
.
put
(
"loginClerkCnt"
,
dto
.
getLoginClerkCnt
());
returnMap
.
put
(
"activeClerkCnt"
,
dto
.
getActiveClerkCnt
());
returnMap
.
put
(
"loginClerkTimes"
,
dto
.
getLoginClerkTimes
());
returnMap
.
put
(
"notActiveClerkCnt"
,
dto
.
getNotActiveClerkCnt
());
returnMap
.
put
(
"totalClerkCnt"
,
dto
.
getTotalClerkCnt
());
returnMap
.
put
(
"notLoginClerkCnt"
,
dto
.
getNotLoginClerkCnt
());
if
(
dto
.
getLoginClerkCnt
()
==
null
||
dto
.
getLoginClerkCnt
()
==
0
)
{
returnMap
.
put
(
"avgLoginTimes"
,
0
)
;
returnMap
.
put
(
"avgVisitTime"
,
0
)
;
}
else
{
returnMap
.
put
(
"avgLoginTimes"
,
dto
.
getLoginClerkTimes
()
/
dto
.
getLoginClerkCnt
())
;
returnMap
.
put
(
"avgVisitTime"
,
dto
.
getStayTime
()
/
dto
.
getLoginClerkCnt
())
;
}
returnMap
.
put
(
"toDayLoginClerkCnt"
,
today
.
getLoginClerkCnt
())
;
returnMap
.
put
(
"toDayLoginClerkCnt"
,
today
.
getLoginClerkCnt
());
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
returnMap
);
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
returnMap
);
}
//首页-好办登陆信息总人数概况
@RequestMapping
(
"/total-login-data"
)
public
HaobanResponse
totalLoginData
(
MemberAnalyzeParamsDTO
paramsDTO
,
int
datesType
)
{
paramsDTO
.
setWebFlag
(
1
);
public
HaobanResponse
totalLoginData
(
MemberAnalyzeParamsDTO
paramsDTO
,
int
datesType
)
{
paramsDTO
.
setWebFlag
(
1
);
Map
<
String
,
Object
>
returnMap
=
new
HashMap
<
String
,
Object
>();
List
<
HaobanLoginInfoDTO
>
resultList
=
new
ArrayList
<
HaobanLoginInfoDTO
>();
if
(
datesType
==
1
)
{
//近7日
List
<
AdsGicLogHaobanStoreLoginDDTO
>
list
=
maidianDataService
.
totalLoginData
(
paramsDTO
);
resultList
=
EntityUtil
.
changeEntityListByJSON
(
HaobanLoginInfoDTO
.
class
,
list
);
}
else
{
//当日
List
<
AdsGicLogHaobanStoreIntervalLoginDDTO
>
list
=
maidianDataService
.
totalLoginInternalData
(
paramsDTO
);
resultList
=
EntityUtil
.
changeEntityListByJSON
(
HaobanLoginInfoDTO
.
class
,
list
);
if
(
datesType
==
1
)
{
//近7日
List
<
AdsGicLogHaobanStoreLoginDDTO
>
list
=
maidianDataService
.
totalLoginData
(
paramsDTO
);
resultList
=
EntityUtil
.
changeEntityListByJSON
(
HaobanLoginInfoDTO
.
class
,
list
);
}
else
{
//当日
List
<
AdsGicLogHaobanStoreIntervalLoginDDTO
>
list
=
maidianDataService
.
totalLoginInternalData
(
paramsDTO
);
resultList
=
EntityUtil
.
changeEntityListByJSON
(
HaobanLoginInfoDTO
.
class
,
list
);
}
for
(
HaobanLoginInfoDTO
dto
:
resultList
)
{
if
(
dto
.
getLoginClerkCnt
()
==
0
)
{
dto
.
setAvgVisitTime
(
"0"
);
dto
.
setAvgLoginTimes
(
"0"
);
}
else
{
dto
.
setAvgVisitTime
((
double
)
dto
.
getStayTime
()/
dto
.
getLoginClerkCnt
()+
""
);
dto
.
setAvgLoginTimes
(
dto
.
getLoginClerkTimes
()/
dto
.
getLoginClerkCnt
()+
""
);
}
for
(
HaobanLoginInfoDTO
dto
:
resultList
)
{
if
(
dto
.
getLoginClerkCnt
()
==
0
)
{
dto
.
setAvgVisitTime
(
"0"
);
dto
.
setAvgLoginTimes
(
"0"
);
}
else
{
dto
.
setAvgVisitTime
((
double
)
dto
.
getStayTime
()
/
dto
.
getLoginClerkCnt
()
+
""
);
dto
.
setAvgLoginTimes
(
dto
.
getLoginClerkTimes
()
/
dto
.
getLoginClerkCnt
()
+
""
);
}
}
if
(
CollectionUtil
.
isEmpty
(
resultList
))
{
resultList
=
new
ArrayList
<>();
if
(
CollectionUtil
.
isEmpty
(
resultList
))
{
resultList
=
new
ArrayList
<>();
}
returnMap
.
put
(
"result"
,
resultList
)
;
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
returnMap
);
returnMap
.
put
(
"result"
,
resultList
);
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
returnMap
);
}
//首页-区域排行
@RequestMapping
(
"/area-login-ranking"
)
public
HaobanResponse
areaLoginRanking
(
MemberAnalyzeParamsDTO
paramsDTO
)
{
paramsDTO
.
setWebFlag
(
1
);
paramsDTO
.
setWebFlag
(
1
);
Map
<
String
,
Object
>
returnMap
=
new
HashMap
<
String
,
Object
>();
List
<
AreaLoginDTO
>
list
=
maidianDataService
.
areaLoginRanking
(
paramsDTO
);
if
(
CollectionUtil
.
isEmpty
(
list
))
{
list
=
new
ArrayList
<>();
if
(
CollectionUtil
.
isEmpty
(
list
))
{
list
=
new
ArrayList
<>();
}
returnMap
.
put
(
"result"
,
list
)
;
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
returnMap
);
returnMap
.
put
(
"result"
,
list
);
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
returnMap
);
}
//激活明细-激活趋势图
@RequestMapping
(
"/activite-date"
)
public
HaobanResponse
activiteDate
(
MemberAnalyzeParamsDTO
paramsDTO
)
{
paramsDTO
.
setWebFlag
(
1
);
paramsDTO
.
setWebFlag
(
1
);
Map
<
String
,
Object
>
returnMap
=
new
HashMap
<
String
,
Object
>();
List
<
HaobanLoginInfoDTO
>
resultList
=
new
ArrayList
<
HaobanLoginInfoDTO
>();
//近7日
List
<
AdsGicLogHaobanStoreLoginDDTO
>
list
=
maidianDataService
.
totalLoginData
(
paramsDTO
);
resultList
=
EntityUtil
.
changeEntityListByJSON
(
HaobanLoginInfoDTO
.
class
,
list
);
if
(
CollectionUtil
.
isEmpty
(
resultList
))
{
resultList
=
new
ArrayList
<>();
List
<
AdsGicLogHaobanStoreLoginDDTO
>
list
=
maidianDataService
.
totalLoginData
(
paramsDTO
);
resultList
=
EntityUtil
.
changeEntityListByJSON
(
HaobanLoginInfoDTO
.
class
,
list
);
if
(
CollectionUtil
.
isEmpty
(
resultList
))
{
resultList
=
new
ArrayList
<>();
}
returnMap
.
put
(
"result"
,
resultList
)
;
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
returnMap
);
returnMap
.
put
(
"result"
,
resultList
);
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
returnMap
);
}
//激活明细-激活列表
@RequestMapping
(
"/activite-list"
)
public
HaobanResponse
activiteList
(
MemberAnalyzeParamsDTO
paramsDTO
)
{
paramsDTO
.
setWebFlag
(
1
);
Page
<
HaobanClerkLoginDTO
>
page
=
maidianDataService
.
pageActiviteList
(
paramsDTO
);
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
page
);
paramsDTO
.
setWebFlag
(
1
);
Page
<
HaobanClerkLoginDTO
>
page
=
maidianDataService
.
pageActiviteList
(
paramsDTO
);
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
page
);
}
//导出-激活明细-激活列表
@RequestMapping
(
"/export-activite-list"
)
public
HaobanResponse
exportActiviteList
(
HttpServletRequest
request
,
HttpServletResponse
response
,
MemberAnalyzeParamsDTO
paramsDTO
)
{
paramsDTO
.
setWebFlag
(
1
);
public
HaobanResponse
exportActiviteList
(
HttpServletRequest
request
,
HttpServletResponse
response
,
MemberAnalyzeParamsDTO
paramsDTO
)
{
paramsDTO
.
setWebFlag
(
1
);
paramsDTO
.
setCurrentPage
(
1
);
paramsDTO
.
setPageSize
(
Integer
.
MAX_VALUE
);
Page
<
HaobanClerkLoginDTO
>
page
=
maidianDataService
.
pageActiviteList
(
paramsDTO
);
List
<
String
>
titleList
=
Arrays
.
asList
(
"导购姓名"
,
"导购代码"
,
"归属门店"
,
"最后登录时间"
,
"活跃状态"
);
List
<
String
>
fileList
=
Arrays
.
asList
(
"clerkName"
,
"clerkCode"
,
"storeName"
,
"lastLoginTime"
,
"activationStatus"
);
try
{
ExcelUtils
.
xls
(
response
,
request
,
"详情报表"
,
page
.
getList
(),
fileList
,
titleList
);
}
catch
(
Exception
e
)
{
logger
.
info
(
e
.
getMessage
(),
e
);
}
Page
<
HaobanClerkLoginDTO
>
page
=
maidianDataService
.
pageActiviteList
(
paramsDTO
);
List
<
String
>
titleList
=
Arrays
.
asList
(
"导购姓名"
,
"导购代码"
,
"归属门店"
,
"最后登录时间"
,
"活跃状态"
);
List
<
String
>
fileList
=
Arrays
.
asList
(
"clerkName"
,
"clerkCode"
,
"storeName"
,
"lastLoginTime"
,
"activationStatus"
);
try
{
ExcelUtils
.
xls
(
response
,
request
,
"详情报表"
,
page
.
getList
(),
fileList
,
titleList
);
}
catch
(
Exception
e
)
{
logger
.
info
(
e
.
getMessage
(),
e
);
}
return
resultResponse
(
HaoBanErrCode
.
ERR_1
);
}
//导出-登陆明细-明细列表
@RequestMapping
(
"/export-login-detail-list"
)
public
HaobanResponse
exportLoginDetailList
(
HttpServletRequest
request
,
HttpServletResponse
response
,
MemberAnalyzeParamsDTO
paramsDTO
)
{
paramsDTO
.
setWebFlag
(
1
);
//默认排序
if
(
StringUtils
.
isEmpty
(
paramsDTO
.
getSortColumn
()))
{
paramsDTO
.
setSortColumn
(
"lastLoginTime"
);
}
if
(
StringUtils
.
isEmpty
(
paramsDTO
.
getSortType
()))
{
paramsDTO
.
setSortType
(
"desc"
);
}
public
HaobanResponse
exportLoginDetailList
(
HttpServletRequest
request
,
HttpServletResponse
response
,
MemberAnalyzeParamsDTO
paramsDTO
)
{
paramsDTO
.
setWebFlag
(
1
);
//默认排序
if
(
StringUtils
.
isEmpty
(
paramsDTO
.
getSortColumn
()))
{
paramsDTO
.
setSortColumn
(
"lastLoginTime"
);
}
if
(
StringUtils
.
isEmpty
(
paramsDTO
.
getSortType
()))
{
paramsDTO
.
setSortType
(
"desc"
);
}
paramsDTO
.
setCurrentPage
(
1
);
paramsDTO
.
setPageSize
(
Integer
.
MAX_VALUE
);
Map
<
String
,
Object
>
returnMap
=
new
HashMap
<
String
,
Object
>();
Page
<
HaobanClerkLoginDTO
>
page
=
maidianDataService
.
pageClerkLogin
(
paramsDTO
);
if
(
paramsDTO
.
getLoginStatus
()
==
1
)
{
//已登陆
try
{
List
<
String
>
titleList
=
Arrays
.
asList
(
"导购姓名"
,
"导购代码"
,
"归属门店"
,
"最后登录时间"
,
"登录次数"
,
"平均访问总时长"
);
List
<
String
>
fileList
=
Arrays
.
asList
(
"clerkName"
,
"clerkCode"
,
"storeName"
,
"lastLoginTime"
,
"loginTimes"
,
"avgVisitTimeString"
);
ExcelUtils
.
xls
(
response
,
request
,
"详情报表"
,
page
.
getList
(),
fileList
,
titleList
);
}
catch
(
Exception
e
)
{
logger
.
info
(
e
.
getMessage
(),
e
);
}
}
else
{
//未登陆
try
{
List
<
String
>
titleList
=
Arrays
.
asList
(
"导购姓名"
,
"导购代码"
,
"归属门店"
,
"最后登录时间"
);
List
<
String
>
fileList
=
Arrays
.
asList
(
"clerkName"
,
"clerkCode"
,
"storeName"
,
"lastLoginTime"
);
ExcelUtils
.
xls
(
response
,
request
,
"详情报表"
,
page
.
getList
(),
fileList
,
titleList
);
}
catch
(
Exception
e
)
{
logger
.
info
(
e
.
getMessage
(),
e
);
}
}
return
resultResponse
(
HaoBanErrCode
.
ERR_1
);
Page
<
HaobanClerkLoginDTO
>
page
=
maidianDataService
.
pageClerkLogin
(
paramsDTO
);
if
(
paramsDTO
.
getLoginStatus
()
==
1
)
{
//已登陆
try
{
List
<
String
>
titleList
=
Arrays
.
asList
(
"导购姓名"
,
"导购代码"
,
"归属门店"
,
"最后登录时间"
,
"登录次数"
,
"平均访问总时长"
);
List
<
String
>
fileList
=
Arrays
.
asList
(
"clerkName"
,
"clerkCode"
,
"storeName"
,
"lastLoginTime"
,
"loginTimes"
,
"avgVisitTimeString"
);
ExcelUtils
.
xls
(
response
,
request
,
"详情报表"
,
page
.
getList
(),
fileList
,
titleList
);
}
catch
(
Exception
e
)
{
logger
.
info
(
e
.
getMessage
(),
e
);
}
}
else
{
//未登陆
try
{
List
<
String
>
titleList
=
Arrays
.
asList
(
"导购姓名"
,
"导购代码"
,
"归属门店"
,
"最后登录时间"
);
List
<
String
>
fileList
=
Arrays
.
asList
(
"clerkName"
,
"clerkCode"
,
"storeName"
,
"lastLoginTime"
);
ExcelUtils
.
xls
(
response
,
request
,
"详情报表"
,
page
.
getList
(),
fileList
,
titleList
);
}
catch
(
Exception
e
)
{
logger
.
info
(
e
.
getMessage
(),
e
);
}
}
return
resultResponse
(
HaoBanErrCode
.
ERR_1
);
}
//登陆明细-明细列表
@RequestMapping
(
"/login-detail-list"
)
public
HaobanResponse
loginDetailList
(
MemberAnalyzeParamsDTO
paramsDTO
)
{
paramsDTO
.
setWebFlag
(
1
);
//默认排序
if
(
StringUtils
.
isEmpty
(
paramsDTO
.
getSortColumn
()))
{
paramsDTO
.
setSortColumn
(
"lastLoginTime"
);
}
if
(
StringUtils
.
isEmpty
(
paramsDTO
.
getSortType
()))
{
paramsDTO
.
setSortType
(
"desc"
);
}
paramsDTO
.
setWebFlag
(
1
);
//默认排序
if
(
StringUtils
.
isEmpty
(
paramsDTO
.
getSortColumn
()))
{
paramsDTO
.
setSortColumn
(
"lastLoginTime"
);
}
if
(
StringUtils
.
isEmpty
(
paramsDTO
.
getSortType
()))
{
paramsDTO
.
setSortType
(
"desc"
);
}
Map
<
String
,
Object
>
returnMap
=
new
HashMap
<
String
,
Object
>();
Page
<
HaobanClerkLoginDTO
>
page
=
maidianDataService
.
pageClerkLogin
(
paramsDTO
);
returnMap
.
put
(
"result"
,
page
)
;
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
returnMap
);
Page
<
HaobanClerkLoginDTO
>
page
=
maidianDataService
.
pageClerkLogin
(
paramsDTO
);
returnMap
.
put
(
"result"
,
page
);
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
returnMap
);
}
//区域排行-区域图表
@RequestMapping
(
"area-ranking-date"
)
public
HaobanResponse
areaRankingDate
(
MemberAnalyzeParamsDTO
paramsDTO
)
{
paramsDTO
.
setWebFlag
(
1
);
paramsDTO
.
setWebFlag
(
1
);
Map
<
String
,
Object
>
returnMap
=
new
HashMap
<
String
,
Object
>();
List
<
AreaLoginDTO
>
list
=
maidianDataService
.
areaRankingDate
(
paramsDTO
);
returnMap
.
put
(
"result"
,
list
)
;
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
returnMap
);
returnMap
.
put
(
"result"
,
list
);
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
returnMap
);
}
//区域排行-区域列表
@RequestMapping
(
"/area-ranking-list"
)
public
HaobanResponse
areaRankingList
(
MemberAnalyzeParamsDTO
paramsDTO
)
{
paramsDTO
.
setWebFlag
(
1
);
//默认排序
if
(
StringUtils
.
isEmpty
(
paramsDTO
.
getSortColumn
()))
{
paramsDTO
.
setSortColumn
(
"loginRate"
);
}
if
(
StringUtils
.
isEmpty
(
paramsDTO
.
getSortType
()))
{
paramsDTO
.
setSortType
(
"desc"
);
}
paramsDTO
.
setAreaType
(
"store"
);
paramsDTO
.
setWebFlag
(
1
);
//默认排序
if
(
StringUtils
.
isEmpty
(
paramsDTO
.
getSortColumn
()))
{
paramsDTO
.
setSortColumn
(
"loginRate"
);
}
if
(
StringUtils
.
isEmpty
(
paramsDTO
.
getSortType
()))
{
paramsDTO
.
setSortType
(
"desc"
);
}
paramsDTO
.
setAreaType
(
"store"
);
Map
<
String
,
Object
>
returnMap
=
new
HashMap
<
String
,
Object
>();
Page
<
AreaLoginDTO
>
page
=
maidianDataService
.
areaRankingList
(
paramsDTO
);
returnMap
.
put
(
"result"
,
page
)
;
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
returnMap
);
returnMap
.
put
(
"result"
,
page
);
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
returnMap
);
}
//导出-区域排行-区域列表
@RequestMapping
(
"/export-area-ranking-list"
)
public
HaobanResponse
exportAreaRankingList
(
HttpServletRequest
request
,
HttpServletResponse
response
,
MemberAnalyzeParamsDTO
paramsDTO
)
{
paramsDTO
.
setWebFlag
(
1
);
//默认排序
if
(
StringUtils
.
isEmpty
(
paramsDTO
.
getSortColumn
()))
{
paramsDTO
.
setSortColumn
(
"loginRate"
);
}
if
(
StringUtils
.
isEmpty
(
paramsDTO
.
getSortType
()))
{
paramsDTO
.
setSortType
(
"desc"
);
}
paramsDTO
.
setAreaType
(
"store"
);
paramsDTO
.
setCurrentPage
(
1
);
paramsDTO
.
setPageSize
(
Integer
.
MAX_VALUE
);
public
HaobanResponse
exportAreaRankingList
(
HttpServletRequest
request
,
HttpServletResponse
response
,
MemberAnalyzeParamsDTO
paramsDTO
)
{
paramsDTO
.
setWebFlag
(
1
);
//默认排序
if
(
StringUtils
.
isEmpty
(
paramsDTO
.
getSortColumn
()))
{
paramsDTO
.
setSortColumn
(
"loginRate"
);
}
if
(
StringUtils
.
isEmpty
(
paramsDTO
.
getSortType
()))
{
paramsDTO
.
setSortType
(
"desc"
);
}
paramsDTO
.
setAreaType
(
"store"
);
paramsDTO
.
setCurrentPage
(
1
);
paramsDTO
.
setPageSize
(
Integer
.
MAX_VALUE
);
Page
<
AreaLoginDTO
>
page
=
maidianDataService
.
areaRankingList
(
paramsDTO
);
List
<
String
>
titleList
=
Arrays
.
asList
(
"门店名称"
,
"门店code"
,
"分组名称"
,
"登录率"
,
"登录人数"
);
List
<
String
>
fileList
=
Arrays
.
asList
(
"exportName"
,
"storeCode"
,
"storeGroupName"
,
"loginRateString"
,
"loginClerkCnt"
);
try
{
ExcelUtils
.
xls
(
response
,
request
,
"详情报表"
,
page
.
getList
(),
fileList
,
titleList
);
}
catch
(
Exception
e
)
{
logger
.
info
(
e
.
getMessage
(),
e
);
}
return
resultResponse
(
HaoBanErrCode
.
ERR_1
);
List
<
String
>
titleList
=
Arrays
.
asList
(
"门店名称"
,
"门店code"
,
"分组名称"
,
"登录率"
,
"登录人数"
);
List
<
String
>
fileList
=
Arrays
.
asList
(
"exportName"
,
"storeCode"
,
"storeGroupName"
,
"loginRateString"
,
"loginClerkCnt"
);
try
{
ExcelUtils
.
xls
(
response
,
request
,
"详情报表"
,
page
.
getList
(),
fileList
,
titleList
);
}
catch
(
Exception
e
)
{
logger
.
info
(
e
.
getMessage
(),
e
);
}
return
resultResponse
(
HaoBanErrCode
.
ERR_1
);
}
}
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/controller/SendCodeController.java
View file @
1f552878
...
...
@@ -37,7 +37,7 @@ private static Logger logger = LoggerFactory.getLogger(SendCodeController.class)
*/
@RequestMapping
(
"/send-code"
)
public
HaobanResponse
sendCode
(
String
phoneNumber
,
@RequestParam
(
defaultValue
=
"86"
)
String
nationcode
,
Integer
type
,
@RequestParam
(
defaultValue
=
"0"
)
int
isTest
,
String
wxE
nterpriseId
)
{
Integer
type
,
@RequestParam
(
defaultValue
=
"0"
)
int
isTest
,
String
e
nterpriseId
)
{
if
(
StringUtils
.
isBlank
(
phoneNumber
)
||
null
==
type
)
{
logger
.
info
(
"没有phoneNumber!"
);
return
resultResponse
(
HaoBanErrCode
.
ERR_5
);
...
...
@@ -76,7 +76,7 @@ private static Logger logger = LoggerFactory.getLogger(SendCodeController.class)
logger
.
info
(
"{}-{} 的 验证码:{}"
,
nationcode
,
phoneNumber
,
smsCode
);
//非测试
if
(
isTest
!=
1
)
{
SendSmsResponse
smsResponse
=
validationCodeService
.
sendValidationCode
(
nationcode
,
phoneNumber
,
smsCod
e
);
SendSmsResponse
smsResponse
=
validationCodeService
.
sendValidationCode
Hb3
(
nationcode
,
phoneNumber
,
smsCode
,
enterpriseId
,
null
,
null
,
fals
e
);
logger
.
info
(
"{}-{} 的 验证码 发送结果回执:{}"
,
nationcode
,
phoneNumber
,
JSON
.
toJSONString
(
smsResponse
));
if
(!
smsResponse
.
isSuccess
())
{
HaobanResponse
response
=
new
HaobanResponse
();
...
...
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/controller/SettingController.java
0 → 100644
View file @
1f552878
package
com
.
gic
.
haoban
.
manage
.
web
.
controller
;
import
com.gic.haoban.common.utils.HaobanResponse
;
import
com.gic.haoban.manage.api.dto.OperationSettingDTO
;
import
com.gic.haoban.manage.api.service.OperationSettingApiService
;
import
com.gic.haoban.manage.web.anno.HttpLimit
;
import
com.gic.haoban.manage.web.errCode.HaoBanErrCode
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMethod
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.Objects
;
/**
* desc:设置controller
*
* @author: YongEn
* @date: 2021/8/26
**/
@RestController
@RequestMapping
(
"/setting"
)
public
class
SettingController
extends
WebBaseController
{
@Autowired
private
OperationSettingApiService
operationSettingApiService
;
@RequestMapping
(
"/operation-setting/save-or-update"
)
private
HaobanResponse
operationSettingSaveOrUpdate
(
OperationSettingDTO
dto
)
{
// 保存或更新操作设置
if
(
Objects
.
isNull
(
dto
)
||
StringUtils
.
isEmpty
(
dto
.
getWxEnterpriseId
()))
{
return
resultResponse
(
HaoBanErrCode
.
ERR_2
);
}
operationSettingApiService
.
saveOrUpdate
(
dto
);
return
resultResponse
(
HaoBanErrCode
.
ERR_1
);
}
@RequestMapping
(
value
=
"/get-operation-setting"
,
method
=
RequestMethod
.
GET
)
private
HaobanResponse
getOperationSetting
(
String
wxEnterpriseId
)
{
// 查询操作配置
OperationSettingDTO
dto
=
operationSettingApiService
.
getByWxEnterpriseId
(
wxEnterpriseId
);
if
(
Objects
.
isNull
(
dto
))
{
return
resultResponse
(
HaoBanErrCode
.
ERR_8
);
}
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
dto
);
}
}
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/controller/StaffController.java
View file @
1f552878
...
...
@@ -9,25 +9,21 @@ import com.gic.clerk.api.service.ClerkNewService;
import
com.gic.clerk.api.service.ClerkService
;
import
com.gic.commons.util.DateUtil
;
import
com.gic.commons.util.ExcelUtils
;
import
com.gic.enterprise.api.dto.*
;
import
com.gic.enterprise.api.dto.EnterpriseDTO
;
import
com.gic.enterprise.api.service.*
;
import
com.gic.enterprise.api.dto.StoreDTO
;
import
com.gic.enterprise.api.service.EnterpriseService
;
import
com.gic.enterprise.api.service.StoreService
;
import
com.gic.haoban.base.api.common.BasePageInfo
;
import
com.gic.haoban.base.api.common.PageResult
;
import
com.gic.haoban.base.api.common.ServiceResponse
;
import
com.gic.haoban.common.utils.EntityUtil
;
import
com.gic.haoban.common.utils.HaobanResponse
;
import
com.gic.haoban.manage.api.dto.*
;
import
com.gic.haoban.manage.api.dto.DepartmentDTO
;
import
com.gic.haoban.manage.api.enums.BindTypeEnum
;
import
com.gic.haoban.manage.api.enums.ChannelCodeEnum
;
import
com.gic.haoban.manage.api.service.*
;
import
com.gic.haoban.manage.web.auth.AuthRequestUtil
;
import
com.gic.haoban.manage.web.errCode.HaoBanErrCode
;
import
com.gic.haoban.manage.web.qo.StaffEditJsonQO
;
import
com.gic.haoban.manage.web.vo.ClerkInfoVo
;
import
com.gic.haoban.manage.web.vo.StaffExportVO
;
import
com.gic.haoban.manage.web.vo.StaffVO
;
import
com.gic.wechat.api.service.qywx.QywxUserApiService
;
...
...
@@ -40,560 +36,521 @@ import org.springframework.web.bind.annotation.RequestMapping;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Set
;
import
java.util.stream.Collector
;
import
java.util.stream.Collectors
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
java.util.*
;
import
java.util.stream.Collectors
;
@RestController
public
class
StaffController
extends
WebBaseController
{
private
static
Logger
logger
=
LoggerFactory
.
getLogger
(
StaffController
.
class
);
@Autowired
private
StaffApiService
staffApiService
;
@Autowired
private
DepartmentApiService
departmentApiService
;
@Autowired
private
StaffDepartmentRelatedApiService
staffDepartmentRelatedApiService
;
@Autowired
private
QywxUserApiService
qywxUserApiService
;
@Autowired
private
WxEnterpriseApiService
wxEnterpriseApiService
;
@Autowired
private
WxApplicationApiService
wxApplicationApiService
;
@Autowired
private
ClerkService
clerkService
;
@Autowired
private
ClerkNewService
clerkNewService
;
@Autowired
private
StoreService
storeService
;
@Autowired
private
StaffClerkRelationApiService
staffClerkRelationApiService
;
@Autowired
private
WxEnterpriseRelatedApiService
wxEnterpriseRelatedApiService
;
@Autowired
private
EnterpriseService
enterpriseService
;
@Autowired
private
ClerkMainStoreRelatedApiService
clerkMainStoreRelatedApiService
;
@RequestMapping
(
"staff-add"
)
public
HaobanResponse
staffAdd
(
StaffDTO
staffDTO
,
String
departmentIds
)
{
LoginDTO
login
=
(
LoginDTO
)
AuthRequestUtil
.
getLoginUser
();
String
wxEnterpriseId
=
login
.
getWxEnterpriseId
();
String
staffName
=
staffDTO
.
getStaffName
();
String
phoneNumber
=
staffDTO
.
getPhoneNumber
();
String
nationcode
=
staffDTO
.
getNationCode
();
staffDTO
.
setWxEnterpriseId
(
wxEnterpriseId
);
if
(
StringUtils
.
isBlank
(
staffName
))
{
return
resultResponse
(
HaoBanErrCode
.
ERR_10004
);
}
StaffDTO
staff
=
staffApiService
.
selectByNationcodeAndPhoneNumber
(
wxEnterpriseId
,
nationcode
,
phoneNumber
);
if
(
staff
!=
null
)
{
return
resultResponse
(
HaoBanErrCode
.
ERR_10005
);
}
ServiceResponse
hr
=
staffApiService
.
add
(
staffDTO
,
departmentIds
);
if
(
hr
.
getCode
()
==
0
)
{
return
resultResponse
(
HaoBanErrCode
.
ERR_DEFINE
,
hr
.
getMessage
(),
null
,
hr
.
getMessage
());
}
return
resultResponse
(
HaoBanErrCode
.
ERR_1
);
}
@RequestMapping
(
"staff-sel"
)
public
HaobanResponse
staffSel
(
String
staffId
,
String
staffDepartmentRelatedId
)
{
StaffDTO
staff
=
staffApiService
.
selectById
(
staffId
);
List
<
StaffDepartmentRelatedDTO
>
list
=
staffApiService
.
listStaffDepartmentByStaffId
(
staffId
);
List
<
DepartmentDTO
>
departmentList
=
new
ArrayList
<
DepartmentDTO
>();
for
(
StaffDepartmentRelatedDTO
staffDepartmentRelatedDTO
:
list
)
{
DepartmentDTO
dto
=
departmentApiService
.
selectById
(
staffDepartmentRelatedDTO
.
getDepartmentId
());
departmentList
.
add
(
dto
);
}
staff
.
setDepartmentList
(
departmentList
);
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
staff
);
}
@RequestMapping
(
"staff-list"
)
public
HaobanResponse
staffList
(
String
departmentId
,
Integer
activeFlag
,
String
keyWord
,
BasePageInfo
pageInfo
)
{
LoginDTO
login
=
(
LoginDTO
)
AuthRequestUtil
.
getLoginUser
();
String
wxEnterpriseId
=
login
.
getWxEnterpriseId
();
List
<
String
>
departmentIdSet
=
new
ArrayList
<>();
departmentIdSet
.
add
(
departmentId
);
List
<
DepartmentDTO
>
sonDepartmentList
=
departmentApiService
.
listSonByDepartmentIds
(
departmentIdSet
,
wxEnterpriseId
);
List
<
String
>
departmentIds
=
sonDepartmentList
.
stream
().
map
(
DepartmentDTO:
:
getDepartmentId
).
collect
(
Collectors
.
toList
());
Page
<
StaffDTO
>
page
=
staffApiService
.
pageStaff
(
departmentIds
,
activeFlag
,
keyWord
,
pageInfo
);
List
<
StaffDTO
>
list
=
page
.
getResult
();
logger
.
info
(
"pages={},totalPage={}"
,
page
.
getCurrentPage
(),
page
.
getTotalPage
());
PageResult
<
StaffDTO
>
pageVo
=
new
PageResult
<>();
public
class
StaffController
extends
WebBaseController
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
StaffController
.
class
);
@Autowired
private
StaffApiService
staffApiService
;
@Autowired
private
DepartmentApiService
departmentApiService
;
@Autowired
private
StaffDepartmentRelatedApiService
staffDepartmentRelatedApiService
;
@Autowired
private
QywxUserApiService
qywxUserApiService
;
@Autowired
private
WxEnterpriseApiService
wxEnterpriseApiService
;
@Autowired
private
WxApplicationApiService
wxApplicationApiService
;
@Autowired
private
ClerkService
clerkService
;
@Autowired
private
ClerkNewService
clerkNewService
;
@Autowired
private
StoreService
storeService
;
@Autowired
private
StaffClerkRelationApiService
staffClerkRelationApiService
;
@Autowired
private
WxEnterpriseRelatedApiService
wxEnterpriseRelatedApiService
;
@Autowired
private
EnterpriseService
enterpriseService
;
@Autowired
private
ClerkMainStoreRelatedApiService
clerkMainStoreRelatedApiService
;
@RequestMapping
(
"staff-add"
)
public
HaobanResponse
staffAdd
(
StaffDTO
staffDTO
,
String
departmentIds
)
{
LoginDTO
login
=
(
LoginDTO
)
AuthRequestUtil
.
getLoginUser
();
String
wxEnterpriseId
=
login
.
getWxEnterpriseId
();
String
staffName
=
staffDTO
.
getStaffName
();
String
phoneNumber
=
staffDTO
.
getPhoneNumber
();
String
nationcode
=
staffDTO
.
getNationCode
();
staffDTO
.
setWxEnterpriseId
(
wxEnterpriseId
);
if
(
StringUtils
.
isBlank
(
staffName
))
{
return
resultResponse
(
HaoBanErrCode
.
ERR_10004
);
}
StaffDTO
staff
=
staffApiService
.
selectByNationcodeAndPhoneNumber
(
wxEnterpriseId
,
nationcode
,
phoneNumber
);
if
(
staff
!=
null
)
{
return
resultResponse
(
HaoBanErrCode
.
ERR_10005
);
}
ServiceResponse
hr
=
staffApiService
.
add
(
staffDTO
,
departmentIds
);
if
(
hr
.
getCode
()
==
0
)
{
return
resultResponse
(
HaoBanErrCode
.
ERR_DEFINE
,
hr
.
getMessage
(),
null
,
hr
.
getMessage
());
}
return
resultResponse
(
HaoBanErrCode
.
ERR_1
);
}
@RequestMapping
(
"staff-sel"
)
public
HaobanResponse
staffSel
(
String
staffId
)
{
StaffDTO
staff
=
staffApiService
.
selectById
(
staffId
);
List
<
StaffDepartmentRelatedDTO
>
list
=
staffApiService
.
listStaffDepartmentByStaffId
(
staffId
);
List
<
DepartmentDTO
>
departmentList
=
new
ArrayList
<
DepartmentDTO
>();
for
(
StaffDepartmentRelatedDTO
staffDepartmentRelatedDTO
:
list
)
{
DepartmentDTO
dto
=
departmentApiService
.
selectById
(
staffDepartmentRelatedDTO
.
getDepartmentId
());
departmentList
.
add
(
dto
);
}
staff
.
setDepartmentList
(
departmentList
);
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
staff
);
}
@RequestMapping
(
"staff-list"
)
public
HaobanResponse
staffList
(
String
departmentId
,
Integer
activeFlag
,
String
keyWord
,
BasePageInfo
pageInfo
)
{
LoginDTO
login
=
(
LoginDTO
)
AuthRequestUtil
.
getLoginUser
();
String
wxEnterpriseId
=
login
.
getWxEnterpriseId
();
List
<
String
>
departmentIdSet
=
new
ArrayList
<>();
departmentIdSet
.
add
(
departmentId
);
List
<
DepartmentDTO
>
sonDepartmentList
=
departmentApiService
.
listSonByDepartmentIds
(
departmentIdSet
,
wxEnterpriseId
);
List
<
String
>
departmentIds
=
sonDepartmentList
.
stream
().
map
(
DepartmentDTO:
:
getDepartmentId
).
collect
(
Collectors
.
toList
());
Page
<
StaffDTO
>
page
=
staffApiService
.
pageStaff
(
departmentIds
,
activeFlag
,
keyWord
,
pageInfo
);
List
<
StaffDTO
>
list
=
page
.
getResult
();
logger
.
info
(
"pages={},totalPage={}"
,
page
.
getCurrentPage
(),
page
.
getTotalPage
());
PageResult
<
StaffDTO
>
pageVo
=
new
PageResult
<>();
pageVo
.
setList
(
list
);
pageVo
.
setPageNum
(
page
.
getCurrentPage
());
pageVo
.
setPages
(
page
.
getPages
());
pageVo
.
setPageSize
(
page
.
getPageSize
());
pageVo
.
setTotal
(
page
.
getTotalCount
());
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
pageVo
);
}
@RequestMapping
(
"staff-del"
)
public
HaobanResponse
staffDel
(
String
staffDepartmentStaffRelatedId
){
StaffDepartmentRelatedDTO
related
=
staffDepartmentRelatedApiService
.
getByStaffDepartmentRelatedId
(
staffDepartmentStaffRelatedId
);
if
(
related
==
null
){
return
resultResponse
(
HaoBanErrCode
.
ERR_8
);
}
DepartmentDTO
department
=
departmentApiService
.
selectById
(
related
.
getDepartmentId
());
if
(
department
.
getTempFlag
()
!=
null
&&
department
.
getTempFlag
()
==
1
){
return
resultResponse
(
HaoBanErrCode
.
ERR_10014
);
}
staffApiService
.
del
(
staffDepartmentStaffRelatedId
);
return
resultResponse
(
HaoBanErrCode
.
ERR_1
);
}
@RequestMapping
(
"staff-batch-del"
)
public
HaobanResponse
staffBatchDel
(
String
staffDepartmentRelatedIds
){
if
(
StringUtils
.
isBlank
(
staffDepartmentRelatedIds
)){
return
resultResponse
(
HaoBanErrCode
.
ERR_2
);
}
String
[]
staffArr
=
staffDepartmentRelatedIds
.
split
(
","
);
int
size
=
staffArr
.
length
;
for
(
String
string
:
staffArr
)
{
StaffDepartmentRelatedDTO
related
=
staffDepartmentRelatedApiService
.
getByStaffDepartmentRelatedId
(
string
);
if
(
related
==
null
){
continue
;
}
DepartmentDTO
department
=
departmentApiService
.
selectById
(
related
.
getDepartmentId
());
if
(
department
.
getTempFlag
()
!=
null
&&
department
.
getTempFlag
()
==
1
){
if
(
size
==
1
){
return
resultResponse
(
HaoBanErrCode
.
ERR_10014
);
}
continue
;
}
staffApiService
.
del
(
string
);
}
return
resultResponse
(
HaoBanErrCode
.
ERR_1
);
}
@RequestMapping
(
"staff-edit"
)
public
HaobanResponse
staffEdit
(
StaffDTO
staffDTO
,
String
departmentIds
){
String
staffId
=
staffDTO
.
getStaffId
();
StaffDTO
staff
=
staffApiService
.
selectById
(
staffId
);
if
(
staff
==
null
)
{
return
resultResponse
(
HaoBanErrCode
.
ERR_10006
);
}
String
phoneNumber
=
staffDTO
.
getPhoneNumber
();
String
nationcode
=
staffDTO
.
getNationCode
();
String
wxEnterpriseId
=
staff
.
getWxEnterpriseId
();
StaffDTO
old
=
staffApiService
.
selectByNationcodeAndPhoneNumber
(
wxEnterpriseId
,
nationcode
,
phoneNumber
);
if
(
old
!=
null
&&
!
old
.
getStaffId
().
equals
(
staffId
)){
return
resultResponse
(
HaoBanErrCode
.
ERR_10005
);
}
staffApiService
.
staffEdit
(
staffDTO
,
departmentIds
);
return
resultResponse
(
HaoBanErrCode
.
ERR_1
);
}
@RequestMapping
(
"staff-invite"
)
public
HaobanResponse
staffInvite
(
String
staffIds
){
if
(
StringUtils
.
isBlank
(
staffIds
)){
return
resultResponse
(
HaoBanErrCode
.
ERR_2
);
}
String
[]
staffArr
=
staffIds
.
split
(
","
);
List
<
String
>
userArr
=
new
ArrayList
<>();
String
wxEnterpriseId
=
""
;
for
(
String
staffId
:
staffArr
)
{
StaffDTO
staff
=
staffApiService
.
selectById
(
staffId
);
if
(
staff
!=
null
){
String
userId
=
staff
.
getWxUserId
();
wxEnterpriseId
=
staff
.
getWxEnterpriseId
();
userArr
.
add
(
userId
);
}
}
WxEnterpriseDTO
enterpriseDTO
=
wxEnterpriseApiService
.
getOne
(
wxEnterpriseId
);
WxApplicationDTO
application
=
wxApplicationApiService
.
selectByWxEnterpriseIdAndApplicationType
(
wxEnterpriseId
,
1
);
if
(
enterpriseDTO
!=
null
)
{
if
(
application
!=
null
)
{
qywxUserApiService
.
inviteUser
(
enterpriseDTO
.
getCorpid
(),
application
.
getSiteId
(),
userArr
);
}
}
return
resultResponse
(
HaoBanErrCode
.
ERR_1
);
}
@RequestMapping
(
"staff-batch-edit-department"
)
public
HaobanResponse
staffBatchEditDepartment
(
String
params
){
List
<
StaffEditJsonQO
>
list
=
JSON
.
parseArray
(
params
,
StaffEditJsonQO
.
class
);
for
(
StaffEditJsonQO
staffEditJsonQO
:
list
)
{
String
staffDepartmentRelatedId
=
staffEditJsonQO
.
getStaffDepartmentRelatedId
();
String
departmentIds
=
staffEditJsonQO
.
getCurrDepartmentIds
();
StaffDepartmentRelatedDTO
related
=
staffDepartmentRelatedApiService
.
getByStaffDepartmentRelatedId
(
staffDepartmentRelatedId
);
if
(
related
!=
null
)
{
StaffDTO
staff
=
staffApiService
.
selectById
(
related
.
getStaffId
());
if
(
staff
!=
null
)
{
staffApiService
.
staffEdit
(
staff
,
departmentIds
);
}
}
}
return
resultResponse
(
HaoBanErrCode
.
ERR_1
);
}
@RequestMapping
(
"get-clerk-info"
)
public
HaobanResponse
getClerkInfo
(
String
clerkId
){
StaffVO
staffVO
=
new
StaffVO
();
ClerkDTO
clerk
=
clerkService
.
getClerkByClerkId
(
clerkId
);
if
(
clerk
!=
null
)
{
String
storeId
=
clerk
.
getStoreId
();
StoreDTO
storeDTO
=
storeService
.
getStore
(
storeId
);
staffVO
.
setStaffName
(
clerk
.
getClerkName
());
staffVO
.
setNationCode
(
clerk
.
getNationcode
());
staffVO
.
setPhoneNumber
(
clerk
.
getPhoneNumber
());
staffVO
.
setPosition
(
clerk
.
getPositionName
());
staffVO
.
setHeadImg
(
clerk
.
getHeadImgUrl
());
staffVO
.
setDepartmentName
(
storeDTO
==
null
?
""
:
storeDTO
.
getStoreName
());
}
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
staffVO
);
}
@RequestMapping
(
"get-staff-info"
)
public
HaobanResponse
getStaffInfo
(
String
staffId
){
StaffVO
staffVO
=
new
StaffVO
();
StaffDTO
staff
=
staffApiService
.
selectById
(
staffId
);
if
(
staff
!=
null
)
{
List
<
StaffDepartmentRelatedDTO
>
list
=
staffDepartmentRelatedApiService
.
listByStaffId
(
staffId
);
staffVO
.
setStaffName
(
staff
.
getStaffName
());
staffVO
.
setNationCode
(
staff
.
getNationCode
());
staffVO
.
setPhoneNumber
(
staff
.
getPhoneNumber
());
staffVO
.
setPosition
(
staff
.
getPostion
());
staffVO
.
setHeadImg
(
staff
.
getHeadImg
());
if
(
CollectionUtil
.
isNotEmpty
(
list
)){
String
departmentId
=
list
.
get
(
0
).
getDepartmentId
();
DepartmentDTO
departmentDTO
=
departmentApiService
.
selectById
(
departmentId
);
if
(
departmentDTO
!=
null
){
staffVO
.
setDepartmentName
(
departmentDTO
.
getDepartmentName
());
}
}
}
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
staffVO
);
}
/**
* 成员关联关系接口
* @param staffId
* @return
*/
@RequestMapping
(
"staff-clerk-relation"
)
public
HaobanResponse
staffClerkList
(
String
staffId
){
StaffDTO
staff
=
staffApiService
.
selectById
(
staffId
);
if
(
staff
==
null
)
{
return
resultResponse
(
HaoBanErrCode
.
ERR_10007
);
}
List
<
StaffClerkInfoDTO
>
retList
=
staffClerkRelationApiService
.
listBindDetailByStaffId
(
staffId
);
if
(
CollectionUtils
.
isEmpty
(
retList
))
{
return
resultResponse
(
HaoBanErrCode
.
ERR_1
);
}
ClerkMainStoreRelatedDTO
mainStoreRelatedDTO
=
clerkMainStoreRelatedApiService
.
getWxEnterpriseIdAndStaffId
(
staff
.
getWxEnterpriseId
(),
staffId
);
if
(
null
!=
mainStoreRelatedDTO
)
{
retList
.
forEach
(
dto
->
{
if
(
dto
.
getStoreId
().
equals
(
mainStoreRelatedDTO
.
getStoreId
()))
{
dto
.
setMainStoreFlag
(
1
);
}
else
{
dto
.
setMainStoreFlag
(
0
);
}
});
}
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
retList
);
}
/**
* 成员关联关系接口
* @param staffId
* @return
*/
@RequestMapping
(
"del-clerk-relation"
)
public
HaobanResponse
delStaffClerkList
(
String
staffId
,
String
clerkId
){
LoginDTO
login
=
(
LoginDTO
)
AuthRequestUtil
.
getLoginUser
();
StaffDTO
staffDTO
=
login
.
getStaffDTO
();
if
(
staffDTO
==
null
)
{
logger
.
info
(
"登录异常"
);
return
resultResponse
(
HaoBanErrCode
.
ERR_4
);
}
StaffDTO
staff
=
staffApiService
.
selectById
(
staffId
);
if
(
staff
==
null
)
{
return
resultResponse
(
HaoBanErrCode
.
ERR_10007
);
}
boolean
b
=
staffClerkRelationApiService
.
unbindByStaffAndClerkId
(
staffDTO
.
getStaffId
(),
clerkId
);
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
b
);
}
//获取门店详情
public
boolean
isEnterpriseOver
(
String
eid
)
{
com
.
gic
.
enterprise
.
api
.
dto
.
EnterpriseDTO
enterprise
=
enterpriseService
.
getEnterpriseByEid
(
eid
);
if
(
enterprise
==
null
)
{
return
true
;
}
if
(
enterprise
.
getExpireTime
()
==
null
)
{
if
(
enterprise
.
getEnabledState
()
==
null
)
{
return
false
;
}
else
if
(
enterprise
.
getEnabledState
()
==
1
)
{
return
false
;
}
else
{
return
true
;
}
}
else
if
(
enterprise
.
getExpireTime
().
getTime
()
>
System
.
currentTimeMillis
()
&&
enterprise
.
getEnabledState
()
==
1
)
{
return
false
;
}
return
true
;
}
/**
* 成员关联关系搜索接口
* @param search
* @return
*/
@RequestMapping
(
"search-clerk-relation"
)
public
HaobanResponse
staffClerkSearch
(
String
search
){
LoginDTO
login
=
(
LoginDTO
)
AuthRequestUtil
.
getLoginUser
();
String
wxEnterpriseId
=
login
.
getWxEnterpriseId
();
if
(
null
==
wxEnterpriseId
)
{
return
resultResponse
(
HaoBanErrCode
.
ERR_4
);
}
List
<
EnterpriseDetailDTO
>
list
=
wxEnterpriseRelatedApiService
.
listEnterpriseByWxEnterpriseId
(
wxEnterpriseId
);
if
(
CollectionUtil
.
isEmpty
(
list
))
{
return
resultResponse
(
HaoBanErrCode
.
ERR_10010
);
}
List
<
String
>
enterpriseIds
=
list
.
stream
().
filter
(
dto
->{
boolean
over
=
isEnterpriseOver
(
dto
.
getEnterpriseId
());
return
!
over
;
}).
map
(
EnterpriseDetailDTO:
:
getEnterpriseId
).
collect
(
Collectors
.
toList
());
List
<
String
>
storeIds
=
wxEnterpriseRelatedApiService
.
listStoreIdByWxEnterpriseId
(
wxEnterpriseId
);
if
(
CollectionUtils
.
isEmpty
(
storeIds
))
{
logger
.
info
(
"没有权限门店"
);
return
resultResponse
(
HaoBanErrCode
.
ERR_1
);
}
List
<
ClerkDTO
>
clerkDTOList
=
clerkNewService
.
listClerkByEnterpriseIdAndSearch
(
enterpriseIds
,
storeIds
,
search
);
List
<
ClerkInfoVo
>
retList
=
EntityUtil
.
changeEntityListByJSON
(
ClerkInfoVo
.
class
,
clerkDTOList
);
if
(
CollectionUtils
.
isNotEmpty
(
retList
))
{
List
<
String
>
clerkIds
=
retList
.
stream
().
map
(
ClerkInfoVo:
:
getClerkId
).
collect
(
Collectors
.
toList
());
List
<
StaffClerkRelationDTO
>
dtos
=
staffClerkRelationApiService
.
listByClerkIds
(
clerkIds
);
if
(
CollectionUtils
.
isNotEmpty
(
dtos
))
{
Map
<
String
,
StaffClerkRelationDTO
>
hasRelationClerkIds
=
dtos
.
stream
().
collect
(
Collectors
.
toMap
(
StaffClerkRelationDTO:
:
getClerkId
,
mid
->
mid
));
retList
.
forEach
(
clerkInfoVo
->
{
if
(
hasRelationClerkIds
.
containsKey
(
clerkInfoVo
.
getClerkId
()))
{
clerkInfoVo
.
setRelationStatus
(
1
);
StaffDTO
staffDTO
=
staffApiService
.
selectById
(
hasRelationClerkIds
.
get
(
clerkInfoVo
.
getClerkId
()).
getStaffId
());
if
(
staffDTO
!=
null
)
{
clerkInfoVo
.
setStaffName
(
staffDTO
.
getStaffName
());
clerkInfoVo
.
setStaffId
(
staffDTO
.
getStaffId
());
}
}
StoreDTO
store
=
storeService
.
getStore
(
clerkInfoVo
.
getStoreId
());
if
(
null
!=
store
)
{
clerkInfoVo
.
setStoreName
(
store
.
getStoreName
());
}
});
}
}
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
retList
);
//todo 还没好
}
/**
* 新建关联
* @param staffId
* @return
*/
@RequestMapping
(
"add-clerk-relation"
)
public
HaobanResponse
staffClerkSearch
(
String
staffId
,
String
clerkId
){
LoginDTO
login
=
(
LoginDTO
)
AuthRequestUtil
.
getLoginUser
();
StaffDTO
loginStaffDTO
=
login
.
getStaffDTO
();
if
(
null
==
loginStaffDTO
)
{
return
resultResponse
(
HaoBanErrCode
.
ERR_4
);
}
if
(
StringUtils
.
isAnyBlank
(
staffId
,
clerkId
))
{
return
resultResponse
(
HaoBanErrCode
.
ERR_2
);
}
StaffDTO
staffDTO
=
staffApiService
.
selectById
(
staffId
);
if
(
null
==
staffDTO
)
{
return
resultResponse
(
HaoBanErrCode
.
ERR_10007
);
}
ClerkDTO
clerkDTO
=
clerkService
.
getClerkByClerkId
(
clerkId
);
if
(
null
==
clerkDTO
)
{
return
resultResponse
(
HaoBanErrCode
.
ERR_5
);
}
StaffClerkRelationDTO
relationDTO
=
new
StaffClerkRelationDTO
();
relationDTO
.
setClerkCode
(
clerkDTO
.
getClerkCode
());
relationDTO
.
setClerkId
(
clerkId
);
relationDTO
.
setStaffId
(
staffId
);
relationDTO
.
setEnterpriseId
(
clerkDTO
.
getEnterpriseId
());
relationDTO
.
setStoreId
(
clerkDTO
.
getStoreId
());
relationDTO
.
setWxEnterpriseId
(
staffDTO
.
getWxEnterpriseId
());
relationDTO
.
setWxUserId
(
staffDTO
.
getWxUserId
());
ServiceResponse
response
=
staffClerkRelationApiService
.
bindStaffClerk
(
relationDTO
,
loginStaffDTO
.
getStaffId
(),
ChannelCodeEnum
.
ADMIN_BIND
.
getCode
());
logger
.
info
(
"返回信息:{}"
,
JSONObject
.
toJSONString
(
response
));
if
(
response
.
getCode
()==
1
)
{
return
resultResponse
(
HaoBanErrCode
.
ERR_1
);
}
else
{
HaoBanErrCode
errDefine
=
HaoBanErrCode
.
ERR_DEFINE
;
errDefine
.
setMsg
(
response
.
getMessage
());
return
resultResponse
(
errDefine
);
}
}
/**
* 绑定日志
* @return
*/
@RequestMapping
(
"staff-clerk-bind-log"
)
public
HaobanResponse
bindLogs
(
String
search
,
String
enterpriseId
,
@RequestParam
(
defaultValue
=
"-1"
)
Integer
optType
,
BasePageInfo
qo
){
LoginDTO
login
=
(
LoginDTO
)
AuthRequestUtil
.
getLoginUser
();
StaffDTO
loginStaffDTO
=
login
.
getStaffDTO
();
if
(
null
==
loginStaffDTO
)
{
return
resultResponse
(
HaoBanErrCode
.
ERR_4
);
}
Page
<
StaffClerkBindLogDetailDTO
>
page
=
staffClerkRelationApiService
.
pageStaffClerkBindLog
(
loginStaffDTO
.
getWxEnterpriseId
(),
search
,
enterpriseId
,
optType
,
qo
);
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
page
);
}
/**
*
* @Description 会员导出
* @return 返回值类型: <pre>
* @author 作者: qwm
* @date 时间: 2020年12月18日 上午11:11:35 <pre>
*/
@RequestMapping
(
"staff-export"
)
public
HaobanResponse
staffExport
(
HttpServletResponse
response
,
HttpServletRequest
request
){
BasePageInfo
pageInfo
=
new
BasePageInfo
();
int
pageSize
=
1000
;
int
pageNum
=
1
;
pageInfo
.
setPageNum
(
pageNum
);
pageInfo
.
setPageSize
(
pageSize
);
LoginDTO
login
=
(
LoginDTO
)
AuthRequestUtil
.
getLoginUser
();
String
wxEnterpriseId
=
login
.
getWxEnterpriseId
();
WxEnterpriseDTO
enterprise
=
wxEnterpriseApiService
.
getOne
(
wxEnterpriseId
);
String
wxEnterpriseName
=
""
;
if
(
enterprise
!=
null
){
wxEnterpriseName
=
enterprise
.
getCorpName
();
}
List
<
DepartmentShortDTO
>
relationList
=
departmentApiService
.
listAllDepartment
(
wxEnterpriseId
);
Map
<
String
,
DepartmentShortDTO
>
departmentMap
=
relationList
.
stream
().
collect
(
Collectors
.
toMap
(
DepartmentShortDTO:
:
getDepartmentId
,
s
->
s
));
List
<
String
>
departmentIds
=
relationList
.
stream
().
map
(
DepartmentShortDTO:
:
getDepartmentId
).
collect
(
Collectors
.
toList
());
Page
<
StaffDTO
>
page
=
staffApiService
.
pageStaff
(
departmentIds
,
null
,
null
,
pageInfo
);
List
<
StaffDTO
>
list
=
page
.
getResult
();
logger
.
info
(
"pages={},totalPage={}"
,
page
.
getCurrentPage
(),
page
.
getTotalPage
());
while
(
page
.
getCurrentPage
()
<
page
.
getTotalPage
()){
pageNum
++
;
pageInfo
.
setPageNum
(
pageNum
);
page
=
staffApiService
.
pageStaff
(
departmentIds
,
null
,
null
,
pageInfo
);
List
<
StaffDTO
>
sonList
=
page
.
getResult
();
if
(
CollectionUtils
.
isNotEmpty
(
sonList
)){
list
.
addAll
(
sonList
);
}
logger
.
info
(
"sonList={}"
,
sonList
.
size
());
}
List
<
StaffExportVO
>
voList
=
new
ArrayList
<>();
for
(
StaffDTO
staffDTO
:
list
)
{
StaffExportVO
vo
=
new
StaffExportVO
();
vo
.
setStaffId
(
staffDTO
.
getStaffId
());
vo
.
setPhoneNumber
(
staffDTO
.
getPhoneNumber
());
vo
.
setStaffName
(
staffDTO
.
getStaffName
());
vo
.
setPosition
(
staffDTO
.
getPostion
());
vo
.
setDepartmentName
(
departmentMap
.
get
(
staffDTO
.
getDepartmentIds
())
==
null
?
null
:
departmentMap
.
get
(
staffDTO
.
getDepartmentIds
()).
getDepartmentName
());
String
active
=
"是"
;
if
(
staffDTO
.
getActiveFlag
()
==
null
||
staffDTO
.
getActiveFlag
()
==
0
){
active
=
"否"
;
}
vo
.
setActiveFlag
(
active
);
voList
.
add
(
vo
);
}
//拼接导购信息
mergeClerkInfo
(
voList
,
wxEnterpriseId
);
String
fileName
=
wxEnterpriseName
+
"通讯录"
+
DateUtil
.
dateToStr
(
new
Date
(),
DateUtil
.
FORMAT_DATE_8
);
List
<
String
>
fileList
=
new
ArrayList
<>();
List
<
String
>
titleList
=
new
ArrayList
<>();
titleList
.
add
(
"姓名"
);
titleList
.
add
(
"职务"
);
titleList
.
add
(
"部门"
);
titleList
.
add
(
"手机号"
);
titleList
.
add
(
"使用状态"
);
titleList
.
add
(
"关联导购"
);
fileList
.
add
(
"staffName"
);
fileList
.
add
(
"position"
);
fileList
.
add
(
"departmentName"
);
fileList
.
add
(
"phoneNumber"
);
fileList
.
add
(
"activeFlag"
);
fileList
.
add
(
"clerkName"
);
try
{
ExcelUtils
.
csv
(
response
,
request
,
fileName
,
voList
,
fileList
,
titleList
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
logger
.
info
(
"导出失败"
);
}
}
@RequestMapping
(
"staff-del"
)
public
HaobanResponse
staffDel
(
String
staffDepartmentStaffRelatedId
)
{
StaffDepartmentRelatedDTO
related
=
staffDepartmentRelatedApiService
.
getByStaffDepartmentRelatedId
(
staffDepartmentStaffRelatedId
);
if
(
related
==
null
)
{
return
resultResponse
(
HaoBanErrCode
.
ERR_8
);
}
DepartmentDTO
department
=
departmentApiService
.
selectById
(
related
.
getDepartmentId
());
if
(
department
.
getTempFlag
()
!=
null
&&
department
.
getTempFlag
()
==
1
)
{
return
resultResponse
(
HaoBanErrCode
.
ERR_10014
);
}
staffApiService
.
del
(
staffDepartmentStaffRelatedId
);
return
resultResponse
(
HaoBanErrCode
.
ERR_1
);
}
@RequestMapping
(
"staff-batch-del"
)
public
HaobanResponse
staffBatchDel
(
String
staffDepartmentRelatedIds
)
{
if
(
StringUtils
.
isBlank
(
staffDepartmentRelatedIds
))
{
return
resultResponse
(
HaoBanErrCode
.
ERR_2
);
}
String
[]
staffArr
=
staffDepartmentRelatedIds
.
split
(
","
);
int
size
=
staffArr
.
length
;
for
(
String
string
:
staffArr
)
{
StaffDepartmentRelatedDTO
related
=
staffDepartmentRelatedApiService
.
getByStaffDepartmentRelatedId
(
string
);
if
(
related
==
null
)
{
continue
;
}
DepartmentDTO
department
=
departmentApiService
.
selectById
(
related
.
getDepartmentId
());
if
(
department
.
getTempFlag
()
!=
null
&&
department
.
getTempFlag
()
==
1
)
{
if
(
size
==
1
)
{
return
resultResponse
(
HaoBanErrCode
.
ERR_10014
);
}
continue
;
}
staffApiService
.
del
(
string
);
}
return
resultResponse
(
HaoBanErrCode
.
ERR_1
);
}
@RequestMapping
(
"staff-edit"
)
public
HaobanResponse
staffEdit
(
StaffDTO
staffDTO
,
String
departmentIds
)
{
String
staffId
=
staffDTO
.
getStaffId
();
StaffDTO
staff
=
staffApiService
.
selectById
(
staffId
);
if
(
staff
==
null
)
{
return
resultResponse
(
HaoBanErrCode
.
ERR_10006
);
}
String
phoneNumber
=
staffDTO
.
getPhoneNumber
();
String
nationcode
=
staffDTO
.
getNationCode
();
String
wxEnterpriseId
=
staff
.
getWxEnterpriseId
();
StaffDTO
old
=
staffApiService
.
selectByNationcodeAndPhoneNumber
(
wxEnterpriseId
,
nationcode
,
phoneNumber
);
if
(
old
!=
null
&&
!
old
.
getStaffId
().
equals
(
staffId
))
{
return
resultResponse
(
HaoBanErrCode
.
ERR_10005
);
}
staffApiService
.
staffEdit
(
staffDTO
,
departmentIds
);
return
resultResponse
(
HaoBanErrCode
.
ERR_1
);
}
@RequestMapping
(
"staff-invite"
)
public
HaobanResponse
staffInvite
(
String
staffIds
)
{
if
(
StringUtils
.
isBlank
(
staffIds
))
{
return
resultResponse
(
HaoBanErrCode
.
ERR_2
);
}
String
[]
staffArr
=
staffIds
.
split
(
","
);
List
<
String
>
userArr
=
new
ArrayList
<>();
String
wxEnterpriseId
=
""
;
for
(
String
staffId
:
staffArr
)
{
StaffDTO
staff
=
staffApiService
.
selectById
(
staffId
);
if
(
staff
!=
null
)
{
String
userId
=
staff
.
getWxUserId
();
wxEnterpriseId
=
staff
.
getWxEnterpriseId
();
userArr
.
add
(
userId
);
}
}
WxEnterpriseDTO
enterpriseDTO
=
wxEnterpriseApiService
.
getOne
(
wxEnterpriseId
);
WxApplicationDTO
application
=
wxApplicationApiService
.
selectByWxEnterpriseIdAndApplicationType
(
wxEnterpriseId
,
1
);
if
(
enterpriseDTO
!=
null
)
{
if
(
application
!=
null
)
{
qywxUserApiService
.
inviteUser
(
enterpriseDTO
.
getCorpid
(),
application
.
getSiteId
(),
userArr
);
}
}
return
resultResponse
(
HaoBanErrCode
.
ERR_1
);
}
@RequestMapping
(
"staff-batch-edit-department"
)
public
HaobanResponse
staffBatchEditDepartment
(
String
params
)
{
List
<
StaffEditJsonQO
>
list
=
JSON
.
parseArray
(
params
,
StaffEditJsonQO
.
class
);
for
(
StaffEditJsonQO
staffEditJsonQO
:
list
)
{
String
staffDepartmentRelatedId
=
staffEditJsonQO
.
getStaffDepartmentRelatedId
();
String
departmentIds
=
staffEditJsonQO
.
getCurrDepartmentIds
();
StaffDepartmentRelatedDTO
related
=
staffDepartmentRelatedApiService
.
getByStaffDepartmentRelatedId
(
staffDepartmentRelatedId
);
if
(
related
!=
null
)
{
StaffDTO
staff
=
staffApiService
.
selectById
(
related
.
getStaffId
());
if
(
staff
!=
null
)
{
staffApiService
.
staffEdit
(
staff
,
departmentIds
);
}
}
}
return
resultResponse
(
HaoBanErrCode
.
ERR_1
);
}
@RequestMapping
(
"get-clerk-info"
)
public
HaobanResponse
getClerkInfo
(
String
clerkId
)
{
StaffVO
staffVO
=
new
StaffVO
();
ClerkDTO
clerk
=
clerkService
.
getClerkByClerkId
(
clerkId
);
if
(
clerk
!=
null
)
{
String
storeId
=
clerk
.
getStoreId
();
StoreDTO
storeDTO
=
storeService
.
getStore
(
storeId
);
staffVO
.
setStaffName
(
clerk
.
getClerkName
());
staffVO
.
setNationCode
(
clerk
.
getNationcode
());
staffVO
.
setPhoneNumber
(
clerk
.
getPhoneNumber
());
staffVO
.
setPosition
(
clerk
.
getPositionName
());
staffVO
.
setHeadImg
(
clerk
.
getHeadImgUrl
());
staffVO
.
setDepartmentName
(
storeDTO
==
null
?
""
:
storeDTO
.
getStoreName
());
}
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
staffVO
);
}
@RequestMapping
(
"get-staff-info"
)
public
HaobanResponse
getStaffInfo
(
String
staffId
)
{
StaffVO
staffVO
=
new
StaffVO
();
StaffDTO
staff
=
staffApiService
.
selectById
(
staffId
);
if
(
staff
!=
null
)
{
List
<
StaffDepartmentRelatedDTO
>
list
=
staffDepartmentRelatedApiService
.
listByStaffId
(
staffId
);
staffVO
.
setStaffName
(
staff
.
getStaffName
());
staffVO
.
setNationCode
(
staff
.
getNationCode
());
staffVO
.
setPhoneNumber
(
staff
.
getPhoneNumber
());
staffVO
.
setPosition
(
staff
.
getPostion
());
staffVO
.
setHeadImg
(
staff
.
getHeadImg
());
if
(
CollectionUtil
.
isNotEmpty
(
list
))
{
String
departmentId
=
list
.
get
(
0
).
getDepartmentId
();
DepartmentDTO
departmentDTO
=
departmentApiService
.
selectById
(
departmentId
);
if
(
departmentDTO
!=
null
)
{
staffVO
.
setDepartmentName
(
departmentDTO
.
getDepartmentName
());
}
}
}
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
staffVO
);
}
/**
* 成员关联关系接口
*
* @param staffId
* @return
*/
@RequestMapping
(
"staff-clerk-relation"
)
public
HaobanResponse
staffClerkList
(
String
staffId
)
{
StaffDTO
staff
=
staffApiService
.
selectById
(
staffId
);
if
(
staff
==
null
)
{
return
resultResponse
(
HaoBanErrCode
.
ERR_10007
);
}
List
<
StaffClerkInfoDTO
>
retList
=
staffClerkRelationApiService
.
listBindDetailByStaffId
(
staffId
);
if
(
CollectionUtils
.
isEmpty
(
retList
))
{
return
resultResponse
(
HaoBanErrCode
.
ERR_1
);
}
ClerkMainStoreRelatedDTO
mainStoreRelatedDTO
=
clerkMainStoreRelatedApiService
.
getWxEnterpriseIdAndStaffId
(
staff
.
getWxEnterpriseId
(),
staffId
);
if
(
null
!=
mainStoreRelatedDTO
)
{
retList
.
forEach
(
dto
->
{
if
(
dto
.
getStoreId
().
equals
(
mainStoreRelatedDTO
.
getStoreId
()))
{
dto
.
setMainStoreFlag
(
1
);
}
else
{
dto
.
setMainStoreFlag
(
0
);
}
});
}
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
retList
);
}
/**
* 成员关联关系接口
*
* @param staffId
* @return
*/
@RequestMapping
(
"del-clerk-relation"
)
public
HaobanResponse
delStaffClerkList
(
String
staffId
,
String
clerkId
)
{
LoginDTO
login
=
(
LoginDTO
)
AuthRequestUtil
.
getLoginUser
();
StaffDTO
staffDTO
=
login
.
getStaffDTO
();
if
(
staffDTO
==
null
)
{
logger
.
info
(
"登录异常"
);
return
resultResponse
(
HaoBanErrCode
.
ERR_4
);
}
StaffDTO
staff
=
staffApiService
.
selectById
(
staffId
);
if
(
staff
==
null
)
{
return
resultResponse
(
HaoBanErrCode
.
ERR_10007
);
}
boolean
b
=
staffClerkRelationApiService
.
unbindByStaffAndClerkId
(
staffDTO
.
getStaffId
(),
clerkId
);
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
b
);
}
//获取门店详情
public
boolean
isEnterpriseOver
(
String
eid
)
{
com
.
gic
.
enterprise
.
api
.
dto
.
EnterpriseDTO
enterprise
=
enterpriseService
.
getEnterpriseByEid
(
eid
);
if
(
enterprise
==
null
)
{
return
true
;
}
if
(
enterprise
.
getExpireTime
()
==
null
)
{
if
(
enterprise
.
getEnabledState
()
==
null
)
{
return
false
;
}
else
return
enterprise
.
getEnabledState
()
!=
1
;
}
else
return
enterprise
.
getExpireTime
().
getTime
()
<=
System
.
currentTimeMillis
()
||
enterprise
.
getEnabledState
()
!=
1
;
}
/**
* 成员关联关系搜索接口
*
* @param search
* @return
*/
@RequestMapping
(
"search-clerk-relation"
)
public
HaobanResponse
staffClerkSearch
(
String
search
)
{
LoginDTO
login
=
(
LoginDTO
)
AuthRequestUtil
.
getLoginUser
();
String
wxEnterpriseId
=
login
.
getWxEnterpriseId
();
if
(
null
==
wxEnterpriseId
)
{
return
resultResponse
(
HaoBanErrCode
.
ERR_4
);
}
List
<
EnterpriseDetailDTO
>
list
=
wxEnterpriseRelatedApiService
.
listEnterpriseByWxEnterpriseId
(
wxEnterpriseId
);
if
(
CollectionUtil
.
isEmpty
(
list
))
{
return
resultResponse
(
HaoBanErrCode
.
ERR_10010
);
}
List
<
String
>
enterpriseIds
=
list
.
stream
().
filter
(
dto
->
{
boolean
over
=
isEnterpriseOver
(
dto
.
getEnterpriseId
());
return
!
over
;
}).
map
(
EnterpriseDetailDTO:
:
getEnterpriseId
).
collect
(
Collectors
.
toList
());
List
<
String
>
storeIds
=
wxEnterpriseRelatedApiService
.
listStoreIdByWxEnterpriseId
(
wxEnterpriseId
);
if
(
CollectionUtils
.
isEmpty
(
storeIds
))
{
logger
.
info
(
"没有权限门店"
);
return
resultResponse
(
HaoBanErrCode
.
ERR_1
);
}
List
<
ClerkDTO
>
clerkDTOList
=
clerkNewService
.
listClerkByEnterpriseIdAndSearch
(
enterpriseIds
,
storeIds
,
search
);
List
<
ClerkInfoVo
>
retList
=
EntityUtil
.
changeEntityListByJSON
(
ClerkInfoVo
.
class
,
clerkDTOList
);
if
(
CollectionUtils
.
isNotEmpty
(
retList
))
{
List
<
String
>
clerkIds
=
retList
.
stream
().
map
(
ClerkInfoVo:
:
getClerkId
).
collect
(
Collectors
.
toList
());
List
<
StaffClerkRelationDTO
>
dtos
=
staffClerkRelationApiService
.
listByClerkIds
(
clerkIds
);
if
(
CollectionUtils
.
isNotEmpty
(
dtos
))
{
Map
<
String
,
StaffClerkRelationDTO
>
hasRelationClerkIds
=
dtos
.
stream
().
collect
(
Collectors
.
toMap
(
StaffClerkRelationDTO:
:
getClerkId
,
mid
->
mid
));
retList
.
forEach
(
clerkInfoVo
->
{
if
(
hasRelationClerkIds
.
containsKey
(
clerkInfoVo
.
getClerkId
()))
{
clerkInfoVo
.
setRelationStatus
(
1
);
StaffDTO
staffDTO
=
staffApiService
.
selectById
(
hasRelationClerkIds
.
get
(
clerkInfoVo
.
getClerkId
()).
getStaffId
());
if
(
staffDTO
!=
null
)
{
clerkInfoVo
.
setStaffName
(
staffDTO
.
getStaffName
());
clerkInfoVo
.
setStaffId
(
staffDTO
.
getStaffId
());
}
}
StoreDTO
store
=
storeService
.
getStore
(
clerkInfoVo
.
getStoreId
());
if
(
null
!=
store
)
{
clerkInfoVo
.
setStoreName
(
store
.
getStoreName
());
}
});
}
}
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
retList
);
}
/**
* 新建关联
*
* @param staffId
* @return
*/
@RequestMapping
(
"add-clerk-relation"
)
public
HaobanResponse
staffClerkSearch
(
String
staffId
,
String
clerkId
)
{
LoginDTO
login
=
(
LoginDTO
)
AuthRequestUtil
.
getLoginUser
();
StaffDTO
loginStaffDTO
=
login
.
getStaffDTO
();
if
(
null
==
loginStaffDTO
)
{
return
resultResponse
(
HaoBanErrCode
.
ERR_4
);
}
if
(
StringUtils
.
isAnyBlank
(
staffId
,
clerkId
))
{
return
resultResponse
(
HaoBanErrCode
.
ERR_2
);
}
StaffDTO
staffDTO
=
staffApiService
.
selectById
(
staffId
);
if
(
null
==
staffDTO
)
{
return
resultResponse
(
HaoBanErrCode
.
ERR_10007
);
}
ClerkDTO
clerkDTO
=
clerkService
.
getClerkByClerkId
(
clerkId
);
if
(
null
==
clerkDTO
)
{
return
resultResponse
(
HaoBanErrCode
.
ERR_5
);
}
StaffClerkRelationDTO
relationDTO
=
new
StaffClerkRelationDTO
();
relationDTO
.
setClerkCode
(
clerkDTO
.
getClerkCode
());
relationDTO
.
setClerkId
(
clerkId
);
relationDTO
.
setStaffId
(
staffId
);
relationDTO
.
setEnterpriseId
(
clerkDTO
.
getEnterpriseId
());
relationDTO
.
setStoreId
(
clerkDTO
.
getStoreId
());
relationDTO
.
setWxEnterpriseId
(
staffDTO
.
getWxEnterpriseId
());
relationDTO
.
setWxUserId
(
staffDTO
.
getWxUserId
());
ServiceResponse
response
=
staffClerkRelationApiService
.
bindStaffClerk
(
relationDTO
,
loginStaffDTO
.
getStaffId
(),
ChannelCodeEnum
.
ADMIN_BIND
.
getCode
());
logger
.
info
(
"返回信息:{}"
,
JSONObject
.
toJSONString
(
response
));
if
(
response
.
getCode
()
==
1
)
{
return
resultResponse
(
HaoBanErrCode
.
ERR_1
);
}
else
{
HaoBanErrCode
errDefine
=
HaoBanErrCode
.
ERR_DEFINE
;
errDefine
.
setMsg
(
response
.
getMessage
());
return
resultResponse
(
errDefine
);
}
}
/**
* 绑定日志
*
* @return
*/
@RequestMapping
(
"staff-clerk-bind-log"
)
public
HaobanResponse
bindLogs
(
String
search
,
String
enterpriseId
,
@RequestParam
(
defaultValue
=
"-1"
)
Integer
optType
,
BasePageInfo
qo
)
{
LoginDTO
login
=
(
LoginDTO
)
AuthRequestUtil
.
getLoginUser
();
StaffDTO
loginStaffDTO
=
login
.
getStaffDTO
();
if
(
null
==
loginStaffDTO
)
{
return
resultResponse
(
HaoBanErrCode
.
ERR_4
);
}
Page
<
StaffClerkBindLogDetailDTO
>
page
=
staffClerkRelationApiService
.
pageStaffClerkBindLog
(
loginStaffDTO
.
getWxEnterpriseId
(),
search
,
enterpriseId
,
optType
,
qo
);
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
page
);
}
/**
* @return 返回值类型: <pre>
* @author 作者: qwm
* @date 时间: 2020年12月18日 上午11:11:35 <pre>
* @Description 会员导出
*/
@RequestMapping
(
"staff-export"
)
public
HaobanResponse
staffExport
(
HttpServletRequest
request
,
HttpServletResponse
response
,
String
departmentId
,
Integer
activeFlag
,
String
keyWord
,
BasePageInfo
pageInfo
)
{
pageInfo
.
setPageSize
(
Integer
.
MAX_VALUE
);
List
<
String
>
departmentIdSet
=
new
ArrayList
<>();
departmentIdSet
.
add
(
departmentId
);
LoginDTO
login
=
(
LoginDTO
)
AuthRequestUtil
.
getLoginUser
();
String
wxEnterpriseId
=
login
.
getWxEnterpriseId
();
List
<
DepartmentDTO
>
relationList
=
departmentApiService
.
listSonByDepartmentIds
(
departmentIdSet
,
wxEnterpriseId
);
Map
<
String
,
DepartmentDTO
>
departmentMap
=
relationList
.
stream
().
collect
(
Collectors
.
toMap
(
DepartmentDTO:
:
getDepartmentId
,
s
->
s
));
List
<
String
>
departmentIds
=
relationList
.
stream
().
map
(
DepartmentDTO:
:
getDepartmentId
).
collect
(
Collectors
.
toList
());
Page
<
StaffDTO
>
page
=
staffApiService
.
pageStaff
(
departmentIds
,
activeFlag
,
keyWord
,
pageInfo
);
List
<
StaffDTO
>
list
=
page
.
getResult
();
List
<
StaffExportVO
>
voList
=
new
ArrayList
<>();
for
(
StaffDTO
staffDTO
:
list
)
{
StaffExportVO
vo
=
new
StaffExportVO
();
vo
.
setStaffId
(
staffDTO
.
getStaffId
());
vo
.
setPhoneNumber
(
staffDTO
.
getPhoneNumber
());
vo
.
setStaffName
(
staffDTO
.
getStaffName
());
vo
.
setPosition
(
staffDTO
.
getPostion
());
vo
.
setDepartmentName
(
departmentMap
.
get
(
staffDTO
.
getDepartmentIds
())
==
null
?
null
:
departmentMap
.
get
(
staffDTO
.
getDepartmentIds
()).
getDepartmentName
());
vo
.
setActiveFlag
((
staffDTO
.
getActiveFlag
()
==
null
||
staffDTO
.
getActiveFlag
()
==
0
)
?
"否"
:
"是"
);
voList
.
add
(
vo
);
}
//拼接导购信息
WxEnterpriseDTO
enterprise
=
wxEnterpriseApiService
.
getOne
(
wxEnterpriseId
);
String
wxEnterpriseName
=
""
;
if
(
enterprise
!=
null
)
{
wxEnterpriseName
=
enterprise
.
getCorpName
();
}
mergeClerkInfo
(
voList
,
wxEnterpriseId
);
String
fileName
=
wxEnterpriseName
+
"通讯录"
+
DateUtil
.
dateToStr
(
new
Date
(),
DateUtil
.
FORMAT_DATE_8
);
List
<
String
>
titleList
=
Arrays
.
asList
(
"姓名"
,
"职务"
,
"部门"
,
"手机号"
,
"使用状态"
,
"关联导购"
);
List
<
String
>
fileList
=
Arrays
.
asList
(
"staffName"
,
"position"
,
"departmentName"
,
"phoneNumber"
,
"activeFlag"
,
"clerkName"
);
try
{
ExcelUtils
.
xls
(
response
,
request
,
fileName
,
voList
,
fileList
,
titleList
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
logger
.
info
(
"导出失败"
);
}
return
null
;
}
private
void
mergeClerkInfo
(
List
<
StaffExportVO
>
list
,
String
wxEnterpriseId
)
{
BasePageInfo
pageInfoRelation
=
new
BasePageInfo
();
int
pageSizeRelation
=
1000
;
int
pageNumRelation
=
1
;
pageInfoRelation
.
setPageNum
(
pageNumRelation
);
pageInfoRelation
.
setPageSize
(
pageSizeRelation
);
Page
<
StaffClerkRelationDTO
>
bindPage
=
staffClerkRelationApiService
.
pageByWxEnterpriseId
(
wxEnterpriseId
,
pageInfoRelation
);
List
<
StaffClerkRelationDTO
>
bindList
=
bindPage
.
getResult
();
Set
<
String
>
clerkIdList
=
bindList
.
stream
().
map
(
StaffClerkRelationDTO:
:
getClerkId
).
collect
(
Collectors
.
toSet
());
List
<
ClerkDTO
>
clerkList
=
clerkService
.
getClerkByClerkIds
(
clerkIdList
);
while
(
bindPage
.
getCurrentPage
()
<
bindPage
.
getTotalPage
())
{
pageNumRelation
++
;
pageInfoRelation
.
setPageNum
(
pageNumRelation
);
bindPage
=
staffClerkRelationApiService
.
pageByWxEnterpriseId
(
wxEnterpriseId
,
pageInfoRelation
);
List
<
StaffClerkRelationDTO
>
sonList
=
bindPage
.
getResult
();
Set
<
String
>
clerkSonIdList
=
sonList
.
stream
().
map
(
StaffClerkRelationDTO:
:
getClerkId
).
collect
(
Collectors
.
toSet
());
List
<
ClerkDTO
>
sonClerkList
=
clerkService
.
getClerkByClerkIds
(
clerkSonIdList
);
if
(
CollectionUtils
.
isNotEmpty
(
sonClerkList
))
{
clerkList
.
addAll
(
sonClerkList
);
}
if
(
CollectionUtils
.
isNotEmpty
(
sonList
))
{
bindList
.
addAll
(
sonList
);
}
}
Map
<
String
,
List
<
StaffClerkRelationDTO
>>
bindMap
=
bindList
.
stream
().
collect
(
Collectors
.
groupingBy
(
StaffClerkRelationDTO:
:
getStaffId
));
Map
<
String
,
ClerkDTO
>
clerkMap
=
clerkList
.
stream
().
collect
(
Collectors
.
toMap
(
ClerkDTO:
:
getClerkId
,
s
->
s
,
(
v1
,
v2
)
->
v2
));
for
(
StaffExportVO
staffDTO
:
list
)
{
List
<
StaffClerkRelationDTO
>
relationList
=
bindMap
.
get
(
staffDTO
.
getStaffId
());
if
(
CollectionUtils
.
isNotEmpty
(
relationList
))
{
String
clerkName
=
""
;
for
(
StaffClerkRelationDTO
staffClerkRelationDTO
:
relationList
)
{
ClerkDTO
clerk
=
clerkMap
.
get
(
staffClerkRelationDTO
.
getClerkId
());
if
(
clerk
!=
null
)
{
clerkName
+=
clerk
.
getClerkName
()
+
","
;
}
}
if
(
StringUtils
.
isNoneBlank
(
clerkName
))
{
clerkName
=
clerkName
.
substring
(
0
,
clerkName
.
length
()
-
1
);
}
staffDTO
.
setClerkName
(
clerkName
);
}
}
}
}
private
void
mergeClerkInfo
(
List
<
StaffExportVO
>
list
,
String
wxEnterpriseId
)
{
BasePageInfo
pageInfoRelation
=
new
BasePageInfo
();
int
pageSizeRelation
=
1000
;
int
pageNumRelation
=
1
;
pageInfoRelation
.
setPageNum
(
pageNumRelation
);
pageInfoRelation
.
setPageSize
(
pageSizeRelation
);
Page
<
StaffClerkRelationDTO
>
bindPage
=
staffClerkRelationApiService
.
pageByWxEnterpriseId
(
wxEnterpriseId
,
pageInfoRelation
);
List
<
StaffClerkRelationDTO
>
bindList
=
bindPage
.
getResult
();
Set
<
String
>
clerkIdList
=
bindList
.
stream
().
map
(
StaffClerkRelationDTO:
:
getClerkId
).
collect
(
Collectors
.
toSet
());
List
<
ClerkDTO
>
clerkList
=
clerkService
.
getClerkByClerkIds
(
clerkIdList
);
while
(
bindPage
.
getCurrentPage
()
<
bindPage
.
getTotalPage
())
{
pageNumRelation
++
;
pageInfoRelation
.
setPageNum
(
pageNumRelation
);
bindPage
=
staffClerkRelationApiService
.
pageByWxEnterpriseId
(
wxEnterpriseId
,
pageInfoRelation
);
List
<
StaffClerkRelationDTO
>
sonList
=
bindPage
.
getResult
();
Set
<
String
>
clerkSonIdList
=
sonList
.
stream
().
map
(
StaffClerkRelationDTO:
:
getClerkId
).
collect
(
Collectors
.
toSet
());
List
<
ClerkDTO
>
sonClerkList
=
clerkService
.
getClerkByClerkIds
(
clerkSonIdList
);
if
(
CollectionUtils
.
isNotEmpty
(
sonClerkList
))
{
clerkList
.
addAll
(
sonClerkList
);
}
if
(
CollectionUtils
.
isNotEmpty
(
sonList
))
{
bindList
.
addAll
(
sonList
);
}
}
Map
<
String
,
List
<
StaffClerkRelationDTO
>>
bindMap
=
bindList
.
stream
().
collect
(
Collectors
.
groupingBy
(
StaffClerkRelationDTO:
:
getStaffId
));
Map
<
String
,
ClerkDTO
>
clerkMap
=
clerkList
.
stream
().
collect
(
Collectors
.
toMap
(
ClerkDTO:
:
getClerkId
,
s
->
s
,
(
v1
,
v2
)
->
v2
));
for
(
StaffExportVO
staffDTO
:
list
)
{
List
<
StaffClerkRelationDTO
>
relationList
=
bindMap
.
get
(
staffDTO
.
getStaffId
());
if
(
CollectionUtils
.
isNotEmpty
(
relationList
))
{
StringBuffer
clerkName
=
new
StringBuffer
()
;
for
(
StaffClerkRelationDTO
staffClerkRelationDTO
:
relationList
)
{
ClerkDTO
clerk
=
clerkMap
.
get
(
staffClerkRelationDTO
.
getClerkId
());
if
(
clerk
!=
null
)
{
clerkName
.
append
(
clerk
.
getClerkName
()).
append
(
","
)
;
}
}
if
(
StringUtils
.
isNoneBlank
(
clerkName
.
toString
()))
{
clerkName
=
new
StringBuffer
(
clerkName
.
substring
(
0
,
clerkName
.
length
()
-
1
)
);
}
staffDTO
.
setClerkName
(
clerkName
.
toString
()
);
}
}
}
}
haoban-manage3-web/src/main/webapp/WEB-INF/dubbo-haoban-manage-web.xml
View file @
1f552878
...
...
@@ -9,27 +9,30 @@
http://www.springframework.org/schema/context/spring-context.xsd
http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd"
>
<context:component-scan
base-package=
"com.gic.haoban"
/>
<context:component-scan
base-package=
"com.gic.haoban"
/>
<!-- 应用名称 -->
<dubbo:application
name=
"haoban-manage3-web"
/>
<dubbo:application
name=
"haoban-manage3-web"
/>
<dubbo:protocol
name=
"dubbo"
port=
"30009"
/>
<!-- 使用zookeeper注册中心暴露服务地址 -->
<!-- <dubbo:registry address="zookeeper://192.168.1.118:2181" protocol="dubbo" id="localAdd"/> -->
<!--<dubbo:registry address="zookeeper://115.159.182.172:2199" protocol="dubbo" id="remoteAdd"/>-->
<!--<dubbo:registry address="zookeeper://localhost:2181|zookeeper://115.159.182.172:2199" protocol="dubbo"/>-->
<dubbo:protocol
name=
"dubbo"
port=
"30009"
/>
<!-- 使用zookeeper注册中心暴露服务地址 -->
<!-- <dubbo:registry address="zookeeper://192.168.1.118:2181" protocol="dubbo" id="localAdd"/> -->
<!--<dubbo:registry address="zookeeper://115.159.182.172:2199" protocol="dubbo" id="remoteAdd"/>-->
<!--<dubbo:registry address="zookeeper://localhost:2181|zookeeper://115.159.182.172:2199" protocol="dubbo"/>-->
<dubbo:reference
interface=
"com.gic.haoban.manage.api.service.StaffApiService"
id=
"staffApiService"
/>
<dubbo:reference
interface=
"com.gic.haoban.manage.api.service.StaffClerkRelationApiService"
id=
"staffClerkRelationApiService"
/>
<dubbo:reference
interface=
"com.gic.haoban.manage.api.service.WxEnterpriseRelatedApiService"
id=
"wxEnterpriseRelatedApiService"
/>
<dubbo:reference
interface=
"com.gic.haoban.manage.api.service.StaffApiService"
id=
"staffApiService"
timeout=
"15000"
/>
<dubbo:reference
interface=
"com.gic.haoban.manage.api.service.StaffClerkRelationApiService"
id=
"staffClerkRelationApiService"
/>
<dubbo:reference
interface=
"com.gic.haoban.manage.api.service.WxEnterpriseRelatedApiService"
id=
"wxEnterpriseRelatedApiService"
/>
<dubbo:reference
interface=
"com.gic.haoban.manage.api.service.ApplicationApiService"
id=
"applicationApiService"
/>
<dubbo:reference
interface=
"com.gic.haoban.manage.api.service.WxEnterpriseApiService"
id=
"wxEnterpriseApiService"
/>
<dubbo:reference
interface=
"com.gic.haoban.manage.api.service.ClerkMainStoreRelatedApiService"
id=
"clerkMainStoreRelatedApiService"
/>
<dubbo:reference
interface=
"com.gic.haoban.manage.api.service.ClerkMainStoreRelatedApiService"
id=
"clerkMainStoreRelatedApiService"
/>
<dubbo:reference
interface=
"com.gic.enterprise.api.service.EnterpriseService"
id=
"enterpriseService"
/>
<dubbo:reference
interface=
"com.gic.enterprise.api.service.StoreService"
id=
"storeService"
/>
<dubbo:reference
interface=
"com.gic.enterprise.api.service.DepartmentService"
id=
"departmentService"
/>
<dubbo:reference
interface=
"com.gic.haoban.manage.api.service.DepartmentApiService"
id=
"departmentApiService"
>
...
...
@@ -75,5 +78,8 @@
<dubbo:reference
id=
"maidianLogApiService"
interface=
"com.gic.haoban.manage.api.service.MaidianLogApiService"
timeout=
"10000"
retries=
"0"
check=
"false"
/>
<dubbo:reference
id=
"authorizeService"
interface=
"com.gic.enterprise.api.service.AuthorizeService"
timeout=
"10000"
retries=
"0"
check=
"false"
/>
<dubbo:reference
id=
"operationSettingApiServiceImpl"
interface=
"com.gic.haoban.manage.api.service.OperationSettingApiService"
timeout=
"10000"
retries=
"0"
check=
"false"
/>
</beans>
haoban-manage3-wx/pom.xml
View file @
1f552878
...
...
@@ -6,6 +6,7 @@
<groupId>
com.gic
</groupId>
<artifactId>
gic-pom-base
</artifactId>
<version>
3.0-SNAPSHOT
</version>
<relativePath/>
</parent>
<modelVersion>
4.0.0
</modelVersion>
...
...
haoban-manage3-wx/src/main/java/com/gic/haoban/manage/web/controller/AuditController.java
View file @
1f552878
package
com
.
gic
.
haoban
.
manage
.
web
.
controller
;
import
java.util.ArrayList
;
import
java.util.List
;
import
com.gic.haoban.manage.api.enums.ChannelCodeEnum
;
import
com.gic.redis.data.util.RedisUtil
;
import
org.apache.commons.lang3.StringUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.gic.api.base.commons.Page
;
...
...
@@ -26,10 +13,11 @@ import com.gic.haoban.common.utils.HaobanResponse;
import
com.gic.haoban.common.utils.PageUtil
;
import
com.gic.haoban.communicate.api.service.SyncHaobanToGicServiceApi
;
import
com.gic.haoban.manage.api.dto.AuditDTO
;
import
com.gic.haoban.manage.api.dto.StaffClerkBindLogDetailDTO
;
import
com.gic.haoban.manage.api.dto.StaffClerkRelationDTO
;
import
com.gic.haoban.manage.api.dto.StaffDTO
;
import
com.gic.haoban.manage.api.enums.AuditRsultType
;
import
com.gic.haoban.manage.api.enums.AuditType
;
import
com.gic.haoban.manage.api.enums.ChannelCodeEnum
;
import
com.gic.haoban.manage.api.service.AuditApiService
;
import
com.gic.haoban.manage.api.service.StaffApiService
;
import
com.gic.haoban.manage.api.service.StaffClerkRelationApiService
;
...
...
@@ -37,258 +25,301 @@ import com.gic.haoban.manage.api.service.StaffDepartmentRelatedApiService;
import
com.gic.haoban.manage.web.anno.HttpLimit
;
import
com.gic.haoban.manage.web.errCode.HaoBanErrCode
;
import
com.gic.haoban.manage.web.vo.AuditVO
;
import
com.gic.haoban.manage.web.vo.StaffClerkBindLogDetailVO
;
import
com.gic.redis.data.util.RedisUtil
;
import
org.apache.commons.lang3.StringUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.ArrayList
;
import
java.util.List
;
@RestController
public
class
AuditController
extends
WebBaseController
{
private
static
Logger
logger
=
LoggerFactory
.
getLogger
(
AuditController
.
class
);
@Autowired
private
AuditApiService
auditApiService
;
@Autowired
private
StaffClerkRelationApiService
staffClerkRelationApiService
;
@Autowired
private
StaffApiService
staffApiService
;
@Autowired
private
SyncHaobanToGicServiceApi
syncHaobanToGicServiceApi
;
@Autowired
private
StaffDepartmentRelatedApiService
staffDepartmentRelatedApiService
;
@Autowired
private
ClerkService
clerkService
;
//关联记录列表
@RequestMapping
(
"clerk-apply-list"
)
public
HaobanResponse
staffStoreList
(
String
staffId
,
Integer
auditType
,
Integer
auditStatus
,
String
wxEnterpriseId
,
BasePageInfo
pageInfo
){
if
(
StringUtils
.
isAnyBlank
(
staffId
,
wxEnterpriseId
)){
return
resultResponse
(
HaoBanErrCode
.
ERR_2
);
}
Page
<
AuditDTO
>
page
=
auditApiService
.
listByStaffId
(
staffId
,
auditType
,
auditStatus
,
pageInfo
);
List
<
AuditDTO
>
list
=
page
.
getResult
();
List
<
AuditVO
>
voList
=
new
ArrayList
<
AuditVO
>();
for
(
AuditDTO
auditDTO
:
list
)
{
AuditVO
vo
=
EntityUtil
.
changeEntityByJSON
(
AuditVO
.
class
,
auditDTO
);
String
clerkCode
=
""
;
String
staffName
=
""
;
String
oldValue
=
auditDTO
.
getOldValue
();
JSONObject
json
=
JSON
.
parseObject
(
oldValue
);
clerkCode
=
json
.
getString
(
"clerkCode"
);
staffName
=
json
.
getString
(
"staffName"
);
if
(
auditDTO
.
getAuditType
()
==
3
){
vo
.
setCommitReason
(
"添加导购账号:("
+
clerkCode
+
")"
);
}
else
if
(
auditDTO
.
getAuditType
()
==
4
){
vo
.
setCommitReason
(
"删除导购账号:("
+
clerkCode
+
")"
);
}
else
{
vo
.
setCommitReason
(
"绑定申请{"
+
staffName
+
"}绑定登录导购code "
+
clerkCode
);
}
voList
.
add
(
vo
);
}
Page
<
AuditVO
>
pageVO
=
new
Page
<>();
pageVO
.
setCurrentPage
(
page
.
getCurrentPage
());
pageVO
.
setPageSize
(
page
.
getPageSize
());
pageVO
.
setResult
(
voList
);
pageVO
.
setTotalCount
(
page
.
getTotalCount
());
pageVO
.
setTotalPage
(
page
.
getTotalPage
());
PageResult2
pageResult2
=
PageUtil
.
getPageInfo
(
pageVO
);
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
pageResult2
);
}
//门店记录列表
@RequestMapping
(
"store-apply-list"
)
public
HaobanResponse
storeApplyList
(
String
storeId
,
String
wxEnterpriseId
,
BasePageInfo
pageInfo
,
Integer
auditType
,
Integer
auditStatus
){
if
(
StringUtils
.
isAnyBlank
(
storeId
,
wxEnterpriseId
)){
return
resultResponse
(
HaoBanErrCode
.
ERR_2
);
}
Page
<
AuditDTO
>
page
=
auditApiService
.
pageStoreListByParams
(
storeId
,
pageInfo
,
auditType
,
auditStatus
);
List
<
AuditDTO
>
list
=
page
.
getResult
();
List
<
AuditVO
>
voList
=
new
ArrayList
<
AuditVO
>();
for
(
AuditDTO
auditDTO
:
list
)
{
AuditVO
vo
=
EntityUtil
.
changeEntityByJSON
(
AuditVO
.
class
,
auditDTO
);
String
clerkCode
=
""
;
String
staffName
=
""
;
String
oldValue
=
auditDTO
.
getOldValue
();
JSONObject
json
=
JSON
.
parseObject
(
oldValue
);
clerkCode
=
json
.
getString
(
"clerkCode"
);
staffName
=
json
.
getString
(
"staffName"
);
String
headPic
=
json
.
get
(
"headPic"
)==
null
?
""
:
json
.
get
(
"headPic"
).
toString
();
public
class
AuditController
extends
WebBaseController
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
AuditController
.
class
);
@Autowired
private
AuditApiService
auditApiService
;
@Autowired
private
StaffClerkRelationApiService
staffClerkRelationApiService
;
@Autowired
private
StaffApiService
staffApiService
;
@Autowired
private
SyncHaobanToGicServiceApi
syncHaobanToGicServiceApi
;
@Autowired
private
StaffDepartmentRelatedApiService
staffDepartmentRelatedApiService
;
@Autowired
private
ClerkService
clerkService
;
//关联记录列表
@RequestMapping
(
"clerk-apply-list"
)
public
HaobanResponse
staffStoreList
(
String
staffId
,
Integer
auditType
,
Integer
auditStatus
,
String
wxEnterpriseId
,
BasePageInfo
pageInfo
)
{
if
(
StringUtils
.
isAnyBlank
(
staffId
,
wxEnterpriseId
))
{
return
resultResponse
(
HaoBanErrCode
.
ERR_2
);
}
Page
<
AuditDTO
>
page
=
auditApiService
.
listByStaffId
(
staffId
,
auditType
,
auditStatus
,
pageInfo
);
List
<
AuditDTO
>
list
=
page
.
getResult
();
List
<
AuditVO
>
voList
=
new
ArrayList
<
AuditVO
>();
for
(
AuditDTO
auditDTO
:
list
)
{
AuditVO
vo
=
EntityUtil
.
changeEntityByJSON
(
AuditVO
.
class
,
auditDTO
);
String
clerkCode
=
""
;
String
staffName
=
""
;
String
oldValue
=
auditDTO
.
getOldValue
();
JSONObject
json
=
JSON
.
parseObject
(
oldValue
);
clerkCode
=
json
.
getString
(
"clerkCode"
);
staffName
=
json
.
getString
(
"staffName"
);
if
(
auditDTO
.
getAuditType
()
==
3
)
{
vo
.
setCommitReason
(
"添加导购账号:("
+
clerkCode
+
")"
);
}
else
if
(
auditDTO
.
getAuditType
()
==
4
)
{
vo
.
setCommitReason
(
"删除导购账号:("
+
clerkCode
+
")"
);
}
else
{
vo
.
setCommitReason
(
"绑定申请{"
+
staffName
+
"}绑定登录导购code "
+
clerkCode
);
}
voList
.
add
(
vo
);
}
Page
<
AuditVO
>
pageVO
=
new
Page
<>();
pageVO
.
setCurrentPage
(
page
.
getCurrentPage
());
pageVO
.
setPageSize
(
page
.
getPageSize
());
pageVO
.
setResult
(
voList
);
pageVO
.
setTotalCount
(
page
.
getTotalCount
());
pageVO
.
setTotalPage
(
page
.
getTotalPage
());
PageResult2
pageResult2
=
PageUtil
.
getPageInfo
(
pageVO
);
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
pageResult2
);
}
/**
* @param wxEnterpriseId 微信企业Id
* @param clerkId 导购Id
* @param enterpriseId 企业Id
* @param optType 操作类型 0 绑定 1解绑 默认传 1
* @param pageInfo 页面
* @return
*/
@RequestMapping
(
"clerk-unbind-list"
)
public
HaobanResponse
staffUnbindList
(
String
wxEnterpriseId
,
String
clerkId
,
String
enterpriseId
,
@RequestParam
(
defaultValue
=
"1"
)
Integer
optType
,
BasePageInfo
pageInfo
)
{
Page
<
StaffClerkBindLogDetailDTO
>
page
=
staffClerkRelationApiService
.
pageStaffClerkUnBindLog
(
wxEnterpriseId
,
clerkId
,
enterpriseId
,
optType
,
pageInfo
);
if
(
page
==
null
)
{
return
resultResponse
(
HaoBanErrCode
.
ERR_8
);
}
List
<
StaffClerkBindLogDetailDTO
>
list
=
page
.
getResult
();
List
<
StaffClerkBindLogDetailVO
>
voList
=
new
ArrayList
<
StaffClerkBindLogDetailVO
>();
for
(
StaffClerkBindLogDetailDTO
staffClerkBindLogDetailDTO
:
list
)
{
if
(
staffClerkBindLogDetailDTO
.
getChannelCode
()
!=
ChannelCodeEnum
.
AUDIT_BIND
.
getCode
())
{
StaffClerkBindLogDetailVO
vo
=
EntityUtil
.
changeEntityByJSON
(
StaffClerkBindLogDetailVO
.
class
,
staffClerkBindLogDetailDTO
);
vo
.
setUnbindReason
(
ChannelCodeEnum
.
getNameByCode
(
vo
.
getChannelCode
()));
voList
.
add
(
vo
);
}
}
Page
<
StaffClerkBindLogDetailVO
>
pageVO
=
new
Page
<>();
pageVO
.
setCurrentPage
(
page
.
getCurrentPage
());
pageVO
.
setPageSize
(
page
.
getPageSize
());
pageVO
.
setResult
(
voList
);
pageVO
.
setTotalCount
(
page
.
getTotalCount
());
pageVO
.
setTotalPage
(
page
.
getTotalPage
());
PageResult2
pageResult2
=
PageUtil
.
getPageInfo
(
pageVO
);
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
pageResult2
);
}
if
(
auditDTO
.
getAuditType
()
==
3
){
vo
.
setCommitReason
(
"添加导购账号:("
+
clerkCode
+
")"
);
}
else
if
(
auditDTO
.
getAuditType
()
==
4
){
vo
.
setCommitReason
(
"删除导购账号:("
+
clerkCode
+
")"
);
}
else
if
(
auditDTO
.
getAuditType
()
==
5
){
vo
.
setCommitReason
(
"解除绑定:("
+
clerkCode
+
")"
);
}
else
{
vo
.
setCommitReason
(
"绑定申请{"
+
staffName
+
"}绑定登录导购code "
+
clerkCode
);
}
vo
.
setCommitName
(
auditDTO
.
getCommitStaffName
());
vo
.
setFailReason
(
auditDTO
.
getAuditReason
());
vo
.
setStaffName
(
auditDTO
.
getCommitName
());
vo
.
setClerkName
(
auditDTO
.
getCommitName
());
vo
.
setHeadPic
(
headPic
);
if
(
auditDTO
.
getAuditType
()
!=
0
){
vo
.
setUpdateTime
(
auditDTO
.
getUpdateTime
());
}
voList
.
add
(
vo
);
}
Page
<
AuditVO
>
pageVO
=
new
Page
<>();
pageVO
.
setCurrentPage
(
page
.
getCurrentPage
());
pageVO
.
setPageSize
(
page
.
getPageSize
());
pageVO
.
setResult
(
voList
);
pageVO
.
setTotalCount
(
page
.
getTotalCount
());
pageVO
.
setTotalPage
(
page
.
getTotalPage
());
PageResult2
pageResult2
=
PageUtil
.
getPageInfo
(
pageVO
);
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
pageResult2
);
}
//查单个
@RequestMapping
(
"get-store-record"
)
public
HaobanResponse
getStoreRecord
(
String
auditId
){
if
(
auditId
==
null
){
return
resultResponse
(
HaoBanErrCode
.
ERR_2
);
}
AuditDTO
auditDTO
=
auditApiService
.
findById
(
auditId
);
AuditVO
vo
=
EntityUtil
.
changeEntityByJSON
(
AuditVO
.
class
,
auditDTO
);
String
clerkCode
=
""
;
String
staffName
=
""
;
String
oldValue
=
auditDTO
.
getOldValue
();
JSONObject
json
=
JSON
.
parseObject
(
oldValue
);
clerkCode
=
json
.
getString
(
"clerkCode"
);
staffName
=
json
.
getString
(
"staffName"
);
String
headPic
=
json
.
get
(
"headPic"
)==
null
?
""
:
json
.
get
(
"headPic"
).
toString
();
if
(
auditDTO
.
getAuditType
()
==
3
){
vo
.
setCommitReason
(
"添加导购账号:("
+
clerkCode
+
")"
);
}
else
if
(
auditDTO
.
getAuditType
()
==
4
){
vo
.
setCommitReason
(
"删除导购账号:("
+
clerkCode
+
")"
);
}
else
if
(
auditDTO
.
getAuditType
()
==
5
){
vo
.
setCommitReason
(
"解除绑定:("
+
clerkCode
+
")"
);
}
else
{
vo
.
setCommitReason
(
"绑定申请{"
+
staffName
+
"}绑定登录导购code "
+
clerkCode
);
}
vo
.
setHeadPic
(
headPic
);
vo
.
setCommitName
(
auditDTO
.
getCommitStaffName
());
vo
.
setFailReason
(
auditDTO
.
getAuditReason
());
vo
.
setStaffName
(
auditDTO
.
getCommitName
());
vo
.
setClerkName
(
auditDTO
.
getCommitName
());
if
(
auditDTO
.
getAuditType
()
!=
0
){
vo
.
setUpdateTime
(
auditDTO
.
getUpdateTime
());
}
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
vo
);
}
//审核,1同意,2拒绝,3取消审核
@HttpLimit
@RequestMapping
(
"clerk-audit"
)
public
HaobanResponse
clerkAudit
(
String
auditId
,
String
auditReason
,
Integer
auditStatus
,
String
wxEnterpriseId
,
String
staffId
){
if
(
StringUtils
.
isAnyBlank
(
auditId
,
wxEnterpriseId
)){
return
resultResponse
(
HaoBanErrCode
.
ERR_2
);
}
if
(
auditStatus
==
null
){
return
resultResponse
(
HaoBanErrCode
.
ERR_2
);
}
String
key
=
"audit-"
+
auditId
;
RedisUtil
.
lock
(
key
,
10L
);
//门店记录列表
@RequestMapping
(
"store-apply-list"
)
public
HaobanResponse
storeApplyList
(
String
storeId
,
String
wxEnterpriseId
,
BasePageInfo
pageInfo
,
Integer
auditType
,
Integer
auditStatus
)
{
if
(
StringUtils
.
isAnyBlank
(
storeId
,
wxEnterpriseId
))
{
return
resultResponse
(
HaoBanErrCode
.
ERR_2
);
}
AuditDTO
audit
=
auditApiService
.
findById
(
auditId
);
if
(
audit
==
null
||
audit
.
getAuditStatus
()
!=
0
)
{
RedisUtil
.
unlock
(
key
);
return
resultResponse
(
HaoBanErrCode
.
ERR_10017
);
}
StaffDTO
staff
=
staffApiService
.
selectById
(
staffId
);
if
(
staff
!=
null
){
audit
.
setAuditName
(
staff
.
getStaffName
());
}
String
oldValue
=
audit
.
getOldValue
();
JSONObject
json
=
JSON
.
parseObject
(
oldValue
);
String
clerkCode
=
json
.
get
(
"clerkCode"
)==
null
?
""
:
json
.
get
(
"clerkCode"
).
toString
();
String
enterpriseId
=
audit
.
getEnterpriseId
();
String
clerkId
=
json
.
getString
(
"clerkId"
)==
null
?
""
:
json
.
get
(
"clerkId"
).
toString
();
String
clerkName
=
json
.
get
(
"clerkName"
)==
null
?
""
:
json
.
get
(
"clerkName"
).
toString
();
String
wxUserId
=
json
.
getString
(
"wxUserId"
)==
null
?
""
:
json
.
get
(
"wxUserId"
).
toString
();
Integer
sex
=
json
.
getInteger
(
"sex"
)==
null
?
0
:
json
.
getInteger
(
"sex"
);
String
phoneNumber
=
json
.
getString
(
"phoneNumber"
)==
null
?
""
:
json
.
get
(
"phoneNumber"
).
toString
();
String
nationCode
=
json
.
getString
(
"nationCode"
)==
null
?
""
:
json
.
get
(
"nationCode"
).
toString
();
String
auditStaffId
=
json
.
getString
(
"staffId"
)==
null
?
""
:
json
.
get
(
"staffId"
).
toString
();
Page
<
AuditDTO
>
page
=
auditApiService
.
pageStoreListByParams
(
storeId
,
pageInfo
,
auditType
,
auditStatus
);
List
<
AuditDTO
>
list
=
page
.
getResult
();
List
<
AuditVO
>
voList
=
new
ArrayList
<
AuditVO
>();
for
(
AuditDTO
auditDTO
:
list
)
{
AuditVO
vo
=
EntityUtil
.
changeEntityByJSON
(
AuditVO
.
class
,
auditDTO
);
String
clerkCode
=
""
;
String
staffName
=
""
;
String
oldValue
=
auditDTO
.
getOldValue
();
JSONObject
json
=
JSON
.
parseObject
(
oldValue
);
clerkCode
=
json
.
getString
(
"clerkCode"
);
staffName
=
json
.
getString
(
"staffName"
);
String
headPic
=
json
.
get
(
"headPic"
)
==
null
?
""
:
json
.
get
(
"headPic"
).
toString
();
String
storeId
=
audit
.
getCommitStoreId
();
if
(
auditStatus
==
1
){
//审核同意
if
(
audit
.
getAuditType
()
==
AuditType
.
CLERK_BIND
.
getCode
()){
//导购绑定
StaffClerkRelationDTO
staffClerkRelation
=
staffClerkRelationApiService
.
getByCodeAndEnterpriseId
(
clerkCode
,
enterpriseId
);
StaffClerkRelationDTO
have
=
staffClerkRelationApiService
.
getOneByStoreIdAndStaffId
(
storeId
,
auditStaffId
);
if
(
have
!=
null
){
audit
.
setAuditStatus
(
5
);
audit
.
setAuditReason
(
"该成员在该门店下已经绑定过一个导购了"
);
}
else
{
ClerkDTO
clerkDTO
=
clerkService
.
getClerkByClerkId
(
clerkId
);
if
(
clerkDTO
==
null
){
audit
.
setAuditStatus
(
5
);
audit
.
setAuditReason
(
"gic已删除该导购"
);
}
else
{
if
(
staffClerkRelation
==
null
){
staffClerkRelation
=
new
StaffClerkRelationDTO
();
}
staffClerkRelation
.
setEnterpriseId
(
enterpriseId
);
staffClerkRelation
.
setClerkCode
(
clerkCode
);
staffClerkRelation
.
setClerkId
(
clerkId
);
staffClerkRelation
.
setStoreId
(
storeId
);
staffClerkRelation
.
setWxEnterpriseId
(
wxEnterpriseId
);
staffClerkRelation
.
setWxUserId
(
wxUserId
);
staffClerkRelation
.
setStaffId
(
auditStaffId
);
staffClerkRelationApiService
.
delAndInsert
(
staffClerkRelation
,
staffId
,
ChannelCodeEnum
.
AUDIT_BIND
.
getCode
());
audit
.
setAuditStatus
(
1
);
//发送消息
staffDepartmentRelatedApiService
.
sendClerkBind
(
auditStaffId
,
clerkCode
,
storeId
,
auditStatus
,
auditReason
);
}
}
}
if
(
audit
.
getAuditType
()
==
AuditType
.
CLERK_ADD
.
getCode
()){
//导购新增
boolean
flag
=
syncHaobanToGicServiceApi
.
syncClerkToGicClerkAdd
(
storeId
,
clerkCode
,
sex
,
clerkName
,
phoneNumber
,
nationCode
,
null
);
if
(!
flag
){
return
resultResponse
(
HaoBanErrCode
.
ERR_10010
);
}
audit
.
setAuditStatus
(
1
);
if
(
auditDTO
.
getAuditType
()
==
3
)
{
vo
.
setCommitReason
(
"添加导购账号:("
+
clerkCode
+
")"
);
}
else
if
(
auditDTO
.
getAuditType
()
==
4
)
{
vo
.
setCommitReason
(
"删除导购账号:("
+
clerkCode
+
")"
);
}
else
if
(
auditDTO
.
getAuditType
()
==
5
)
{
vo
.
setCommitReason
(
"解除绑定:("
+
clerkCode
+
")"
);
}
else
{
vo
.
setCommitReason
(
"绑定申请{"
+
staffName
+
"}绑定登录导购code "
+
clerkCode
);
}
vo
.
setCommitName
(
auditDTO
.
getCommitStaffName
());
vo
.
setFailReason
(
auditDTO
.
getAuditReason
());
vo
.
setStaffName
(
auditDTO
.
getCommitName
());
vo
.
setClerkName
(
auditDTO
.
getCommitName
());
vo
.
setHeadPic
(
headPic
);
if
(
auditDTO
.
getAuditType
()
!=
0
)
{
vo
.
setUpdateTime
(
auditDTO
.
getUpdateTime
());
}
voList
.
add
(
vo
);
}
Page
<
AuditVO
>
pageVO
=
new
Page
<>();
pageVO
.
setCurrentPage
(
page
.
getCurrentPage
());
pageVO
.
setPageSize
(
page
.
getPageSize
());
pageVO
.
setResult
(
voList
);
pageVO
.
setTotalCount
(
page
.
getTotalCount
());
pageVO
.
setTotalPage
(
page
.
getTotalPage
());
PageResult2
pageResult2
=
PageUtil
.
getPageInfo
(
pageVO
);
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
pageResult2
);
}
//查单个
@RequestMapping
(
"get-store-record"
)
public
HaobanResponse
getStoreRecord
(
String
auditId
)
{
if
(
auditId
==
null
)
{
return
resultResponse
(
HaoBanErrCode
.
ERR_2
);
}
AuditDTO
auditDTO
=
auditApiService
.
findById
(
auditId
);
AuditVO
vo
=
EntityUtil
.
changeEntityByJSON
(
AuditVO
.
class
,
auditDTO
);
String
clerkCode
=
""
;
String
staffName
=
""
;
String
oldValue
=
auditDTO
.
getOldValue
();
JSONObject
json
=
JSON
.
parseObject
(
oldValue
);
clerkCode
=
json
.
getString
(
"clerkCode"
);
staffName
=
json
.
getString
(
"staffName"
);
String
headPic
=
json
.
get
(
"headPic"
)
==
null
?
""
:
json
.
get
(
"headPic"
).
toString
();
if
(
auditDTO
.
getAuditType
()
==
3
)
{
vo
.
setCommitReason
(
"添加导购账号:("
+
clerkCode
+
")"
);
}
else
if
(
auditDTO
.
getAuditType
()
==
4
)
{
vo
.
setCommitReason
(
"删除导购账号:("
+
clerkCode
+
")"
);
}
else
if
(
auditDTO
.
getAuditType
()
==
5
)
{
vo
.
setCommitReason
(
"解除绑定:("
+
clerkCode
+
")"
);
}
else
{
vo
.
setCommitReason
(
"绑定申请{"
+
staffName
+
"}绑定登录导购code "
+
clerkCode
);
}
vo
.
setHeadPic
(
headPic
);
vo
.
setCommitName
(
auditDTO
.
getCommitStaffName
());
vo
.
setFailReason
(
auditDTO
.
getAuditReason
());
vo
.
setStaffName
(
auditDTO
.
getCommitName
());
vo
.
setClerkName
(
auditDTO
.
getCommitName
());
if
(
auditDTO
.
getAuditType
()
!=
0
)
{
vo
.
setUpdateTime
(
auditDTO
.
getUpdateTime
());
}
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
vo
);
}
//审核,1同意,2拒绝,3取消审核
@HttpLimit
@RequestMapping
(
"clerk-audit"
)
public
HaobanResponse
clerkAudit
(
String
auditId
,
String
auditReason
,
Integer
auditStatus
,
String
wxEnterpriseId
,
String
staffId
)
{
if
(
StringUtils
.
isAnyBlank
(
auditId
,
wxEnterpriseId
))
{
return
resultResponse
(
HaoBanErrCode
.
ERR_2
);
}
if
(
auditStatus
==
null
)
{
return
resultResponse
(
HaoBanErrCode
.
ERR_2
);
}
String
key
=
"audit-"
+
auditId
;
RedisUtil
.
lock
(
key
,
10L
);
AuditDTO
audit
=
auditApiService
.
findById
(
auditId
);
if
(
audit
==
null
||
audit
.
getAuditStatus
()
!=
0
)
{
RedisUtil
.
unlock
(
key
);
return
resultResponse
(
HaoBanErrCode
.
ERR_10017
);
}
StaffDTO
staff
=
staffApiService
.
selectById
(
staffId
);
if
(
staff
!=
null
)
{
audit
.
setAuditName
(
staff
.
getStaffName
());
}
String
oldValue
=
audit
.
getOldValue
();
JSONObject
json
=
JSON
.
parseObject
(
oldValue
);
String
clerkCode
=
json
.
get
(
"clerkCode"
)
==
null
?
""
:
json
.
get
(
"clerkCode"
).
toString
();
String
enterpriseId
=
audit
.
getEnterpriseId
();
String
clerkId
=
json
.
getString
(
"clerkId"
)
==
null
?
""
:
json
.
get
(
"clerkId"
).
toString
();
String
clerkName
=
json
.
get
(
"clerkName"
)
==
null
?
""
:
json
.
get
(
"clerkName"
).
toString
();
String
wxUserId
=
json
.
getString
(
"wxUserId"
)
==
null
?
""
:
json
.
get
(
"wxUserId"
).
toString
();
Integer
sex
=
json
.
getInteger
(
"sex"
)
==
null
?
0
:
json
.
getInteger
(
"sex"
);
String
phoneNumber
=
json
.
getString
(
"phoneNumber"
)
==
null
?
""
:
json
.
get
(
"phoneNumber"
).
toString
();
String
nationCode
=
json
.
getString
(
"nationCode"
)
==
null
?
""
:
json
.
get
(
"nationCode"
).
toString
();
String
auditStaffId
=
json
.
getString
(
"staffId"
)
==
null
?
""
:
json
.
get
(
"staffId"
).
toString
();
String
storeId
=
audit
.
getCommitStoreId
();
if
(
auditStatus
==
1
)
{
//审核同意
if
(
audit
.
getAuditType
()
==
AuditType
.
CLERK_BIND
.
getCode
())
{
//导购绑定
StaffClerkRelationDTO
staffClerkRelation
=
staffClerkRelationApiService
.
getByCodeAndEnterpriseId
(
clerkCode
,
enterpriseId
);
StaffClerkRelationDTO
have
=
staffClerkRelationApiService
.
getOneByStoreIdAndStaffId
(
storeId
,
auditStaffId
);
if
(
have
!=
null
)
{
audit
.
setAuditStatus
(
5
);
audit
.
setAuditReason
(
"该成员在该门店下已经绑定过一个导购了"
);
}
else
{
ClerkDTO
clerkDTO
=
clerkService
.
getClerkByClerkId
(
clerkId
);
if
(
clerkDTO
==
null
)
{
audit
.
setAuditStatus
(
5
);
audit
.
setAuditReason
(
"gic已删除该导购"
);
}
else
{
if
(
staffClerkRelation
==
null
)
{
staffClerkRelation
=
new
StaffClerkRelationDTO
();
}
staffClerkRelation
.
setEnterpriseId
(
enterpriseId
);
staffClerkRelation
.
setClerkCode
(
clerkCode
);
staffClerkRelation
.
setClerkId
(
clerkId
);
staffClerkRelation
.
setStoreId
(
storeId
);
staffClerkRelation
.
setWxEnterpriseId
(
wxEnterpriseId
);
staffClerkRelation
.
setWxUserId
(
wxUserId
);
staffClerkRelation
.
setStaffId
(
auditStaffId
);
staffClerkRelationApiService
.
delAndInsert
(
staffClerkRelation
,
staffId
,
ChannelCodeEnum
.
AUDIT_BIND
.
getCode
());
audit
.
setAuditStatus
(
1
);
//发送消息
staffDepartmentRelatedApiService
.
sendClerkBind
(
auditStaffId
,
clerkCode
,
storeId
,
auditStatus
,
auditReason
);
}
}
}
if
(
audit
.
getAuditType
()
==
AuditType
.
CLERK_ADD
.
getCode
())
{
//导购新增
boolean
flag
=
syncHaobanToGicServiceApi
.
syncClerkToGicClerkAdd
(
storeId
,
clerkCode
,
sex
,
clerkName
,
phoneNumber
,
nationCode
,
null
);
if
(!
flag
)
{
return
resultResponse
(
HaoBanErrCode
.
ERR_10010
);
}
audit
.
setAuditStatus
(
1
);
// ClerkDTO clerkDTO = clerkService.getClerkByClerkCode(enterpriseId, clerkCode);
staffDepartmentRelatedApiService
.
sendClerkAdd
(
clerkName
,
clerkCode
,
storeId
,
auditStatus
,
auditReason
);
}
if
(
audit
.
getAuditType
()
==
AuditType
.
CLERK_DEL
.
getCode
())
{
//导购删除
syncHaobanToGicServiceApi
.
delGicClerk
(
clerkId
);
audit
.
setAuditStatus
(
1
);
staffDepartmentRelatedApiService
.
sendClerkDel
(
clerkName
,
clerkCode
,
storeId
,
auditStatus
,
auditReason
);
}
}
else
if
(
auditStatus
==
2
)
{
//审核拒绝
audit
.
setAuditReason
(
auditReason
);
audit
.
setAuditStatus
(
2
);
//发送消息
if
(
audit
.
getAuditType
()
==
AuditType
.
CLERK_BIND
.
getCode
())
{
staffDepartmentRelatedApiService
.
sendStaffBind
(
auditStaffId
,
clerkCode
,
storeId
,
auditStatus
,
auditReason
);
}
else
if
(
audit
.
getAuditType
()
==
AuditType
.
CLERK_ADD
.
getCode
())
{
staffDepartmentRelatedApiService
.
sendClerkAdd
(
clerkName
,
clerkCode
,
storeId
,
auditStatus
,
auditReason
);
}
else
if
(
audit
.
getAuditType
()
==
AuditType
.
CLERK_DEL
.
getCode
())
{
staffDepartmentRelatedApiService
.
sendClerkDel
(
clerkName
,
clerkCode
,
storeId
,
auditStatus
,
auditReason
);
}
}
else
if
(
auditStatus
==
3
)
{
//取消审核
audit
.
setAuditStatus
(
3
);
}
auditApiService
.
update
(
audit
);
RedisUtil
.
unlock
(
key
);
return
resultResponse
(
HaoBanErrCode
.
ERR_1
);
}
staffDepartmentRelatedApiService
.
sendClerkAdd
(
clerkName
,
clerkCode
,
storeId
,
auditStatus
,
auditReason
);
}
if
(
audit
.
getAuditType
()
==
AuditType
.
CLERK_DEL
.
getCode
())
{
//导购删除
syncHaobanToGicServiceApi
.
delGicClerk
(
clerkId
);
audit
.
setAuditStatus
(
1
);
staffDepartmentRelatedApiService
.
sendClerkDel
(
clerkName
,
clerkCode
,
storeId
,
auditStatus
,
auditReason
);
}
}
else
if
(
auditStatus
==
2
)
{
//审核拒绝
audit
.
setAuditReason
(
auditReason
);
audit
.
setAuditStatus
(
2
);
//发送消息
if
(
audit
.
getAuditType
()
==
AuditType
.
CLERK_BIND
.
getCode
())
{
staffDepartmentRelatedApiService
.
sendStaffBind
(
auditStaffId
,
clerkCode
,
storeId
,
auditStatus
,
auditReason
);
}
else
if
(
audit
.
getAuditType
()
==
AuditType
.
CLERK_ADD
.
getCode
())
{
staffDepartmentRelatedApiService
.
sendClerkAdd
(
clerkName
,
clerkCode
,
storeId
,
auditStatus
,
auditReason
);
}
else
if
(
audit
.
getAuditType
()
==
AuditType
.
CLERK_DEL
.
getCode
())
{
staffDepartmentRelatedApiService
.
sendClerkDel
(
clerkName
,
clerkCode
,
storeId
,
auditStatus
,
auditReason
);
}
}
else
if
(
auditStatus
==
3
)
{
//取消审核
audit
.
setAuditStatus
(
3
);
}
auditApiService
.
update
(
audit
);
RedisUtil
.
unlock
(
key
);
return
resultResponse
(
HaoBanErrCode
.
ERR_1
);
}
}
haoban-manage3-wx/src/main/java/com/gic/haoban/manage/web/controller/ClerkController.java
View file @
1f552878
...
...
@@ -32,6 +32,7 @@ import org.apache.commons.lang3.StringUtils;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
...
...
@@ -80,6 +81,10 @@ public class ClerkController extends WebBaseController{
@Autowired
private
ExternalClerkRelatedApiService
externalClerkRelatedApiService
;
@Autowired
private
OperationSettingApiService
operationSettingApiService
;
//选择成员列表
@RequestMapping
(
"/staff-list"
)
public
HaobanResponse
staffList
(
String
storeId
)
{
...
...
@@ -214,6 +219,24 @@ public class ClerkController extends WebBaseController{
auditSettingVO
.
setFreshFriendFlag
(
mainStore
.
getFreshFriendFlag
());
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
auditSettingVO
);
}
@RequestMapping
(
"/get-operation-setting"
)
public
HaobanResponse
getOperatorSetting
(
String
wxEnterpriseId
,
String
enterpriseId
)
{
// 查询操作配置
OperationSettingDTO
dto
=
operationSettingApiService
.
getByWxEnterpriseId
(
wxEnterpriseId
);
if
(
Objects
.
isNull
(
dto
))
{
return
resultResponse
(
HaoBanErrCode
.
ERR_8
);
}
OperationSettingVO
vo
=
EntityUtil
.
changeEntity
(
OperationSettingVO
.
class
,
dto
);
// 是否开启导购编辑,如果不开启,默认无效
WxEnterpriseRelationDetailDTO
info
=
wxEnterpriseRelatedApiService
.
getEnterpriseBindInfo
(
wxEnterpriseId
,
enterpriseId
);
if
(
Objects
.
nonNull
(
info
)
&&
info
.
getClerkEditFlag
()
==
1
)
{
vo
.
setEffectFlag
(
1
);
}
else
{
vo
.
setEffectFlag
(
0
);
}
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
vo
);
}
//新增店员
@HttpLimit
...
...
@@ -226,12 +249,20 @@ public class ClerkController extends WebBaseController{
String
nationcode
=
staffDTO
.
getNationCode
();
String
postion
=
staffDTO
.
getPostion
();
Integer
sex
=
staffDTO
.
getSex
();
if
(
StringUtils
.
isAnyBlank
(
staffName
,
phoneNumber
,
commitName
))
{
if
(
StringUtils
.
isAnyBlank
(
staffName
,
commitName
))
{
return
resultResponse
(
HaoBanErrCode
.
ERR_10004
);
}
if
(!
GooglePhoneNumberUtil
.
checkPhoneNumber
(
phoneNumber
,
nationcode
)){
if
(
StringUtils
.
isEmpty
(
clerkCode
))
{
return
resultResponse
(
HaoBanErrCode
.
ERR_111116
);
}
if
(
StringUtils
.
isNotEmpty
(
phoneNumber
)
&&
!
GooglePhoneNumberUtil
.
checkPhoneNumber
(
phoneNumber
,
nationcode
)){
return
resultResponse
(
HaoBanErrCode
.
ERR_10012
);
}
// 导购code校验-字母和数字
if
(!
clerkCode
.
matches
(
"[a-zA-Z0-9]+"
))
{
return
resultResponse
(
HaoBanErrCode
.
ERR_10023
);
}
if
(
version
==
null
){
StaffDTO
staff
=
staffApiService
.
selectByNationcodeAndPhoneNumber
(
wxEnterpriseId
,
nationcode
,
phoneNumber
);
if
(
staff
!=
null
)
{
...
...
@@ -255,7 +286,12 @@ public class ClerkController extends WebBaseController{
return
resultResponse
(
HaoBanErrCode
.
ERR_10013
);
}
AuditSettingDTO
dto
=
auditSettingApiService
.
findSettingByWxEnterpriseId
(
wxEnterpriseId
);
if
(
dto
.
getClerkChangeFlag
()
==
1
){
// 企业绑定详情-导购编辑权限
WxEnterpriseRelationDetailDTO
enterpriseBindInfo
=
wxEnterpriseRelatedApiService
.
getEnterpriseBindInfo
(
wxEnterpriseId
,
enterpriseId
);
if
(
dto
.
getAuditFlag
()
==
1
&&
dto
.
getClerkChangeFlag
()
==
1
&&
enterpriseBindInfo
.
getClerkEditFlag
()
==
1
)
{
AuditDTO
auditDTO
=
auditApiService
.
findByBindRelatedIdAndAuditType
(
clerkCode
,
AuditType
.
CLERK_ADD
.
getCode
());
if
(
auditDTO
!=
null
){
logger
.
info
(
"已经存在了审核记录,待审核{}"
,
clerkCode
);
...
...
haoban-manage3-wx/src/main/java/com/gic/haoban/manage/web/controller/SendCodeController.java
View file @
1f552878
package
com
.
gic
.
haoban
.
manage
.
web
.
controller
;
import
org.apache.commons.lang3.StringUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
import
com.alibaba.fastjson.JSON
;
import
com.gic.enterprise.api.dto.StoreDTO
;
import
com.gic.enterprise.api.service.StoreService
;
import
com.gic.haoban.common.utils.CheckSmsCodeUtil
;
import
com.gic.haoban.common.utils.GooglePhoneNumberUtil
;
import
com.gic.haoban.common.utils.HaobanResponse
;
import
com.gic.haoban.communicate.api.service.valid.ValidationCodeService
;
import
com.gic.haoban.manage.api.dto.StaffDTO
;
import
com.gic.haoban.manage.api.service.StaffApiService
;
import
com.gic.haoban.manage.web.errCode.HaoBanErrCode
;
import
com.gic.redis.data.util.RedisUtil
;
import
com.gic.reponse.SendSmsResponse
;
import
org.apache.commons.lang3.StringUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
@RestController
public
class
SendCodeController
extends
WebBaseController
{
...
...
@@ -30,7 +30,11 @@ public class SendCodeController extends WebBaseController{
@Autowired
private
ValidationCodeService
validationCodeService
;
/**
@Autowired
private
StoreService
storeService
;
/**
* 验证码发送
*
* @param phoneNumber
...
...
@@ -38,7 +42,7 @@ public class SendCodeController extends WebBaseController{
*/
@RequestMapping
(
"/send-code"
)
public
HaobanResponse
sendCode
(
String
phoneNumber
,
@RequestParam
(
defaultValue
=
"86"
)
String
nationcode
,
Integer
type
,
@RequestParam
(
defaultValue
=
"0"
)
int
isTest
,
String
wxEnterprise
Id
)
{
Integer
type
,
@RequestParam
(
defaultValue
=
"0"
)
int
isTest
,
String
wxEnterpriseId
,
String
storeId
,
String
clerk
Id
)
{
if
(
StringUtils
.
isBlank
(
phoneNumber
)
||
null
==
type
)
{
logger
.
info
(
"没有phoneNumber!"
);
return
resultResponse
(
HaoBanErrCode
.
ERR_5
);
...
...
@@ -81,7 +85,13 @@ public class SendCodeController extends WebBaseController{
logger
.
info
(
"{}-{} 的 验证码:{}"
,
nationcode
,
phoneNumber
,
smsCode
);
//非测试
if
(
isTest
!=
1
)
{
SendSmsResponse
smsResponse
=
validationCodeService
.
sendValidationCode
(
nationcode
,
phoneNumber
,
smsCode
);
SendSmsResponse
smsResponse
=
null
;
if
(
StringUtils
.
isAnyBlank
(
storeId
,
clerkId
))
{
smsResponse
=
validationCodeService
.
sendValidationCode
(
nationcode
,
phoneNumber
,
smsCode
);
}
else
{
StoreDTO
storeDTO
=
storeService
.
getStore
(
storeId
);
smsResponse
=
validationCodeService
.
sendValidationCodeHb3
(
nationcode
,
phoneNumber
,
smsCode
,
storeDTO
.
getEnterpriseId
(),
storeId
,
clerkId
,
true
);
}
logger
.
info
(
"{}-{} 的 验证码 发送结果回执:{}"
,
nationcode
,
phoneNumber
,
JSON
.
toJSONString
(
smsResponse
));
if
(!
smsResponse
.
isSuccess
())
{
HaobanResponse
response
=
new
HaobanResponse
();
...
...
haoban-manage3-wx/src/main/java/com/gic/haoban/manage/web/errCode/HaoBanErrCode.java
View file @
1f552878
...
...
@@ -218,6 +218,8 @@ public enum HaoBanErrCode {
ERR_10022
(
10022
,
"已有刷新在执行中,请不要重复刷新"
),
ERR_10023
(
10023
,
"code格式不正确"
),
ERR_11122
(
11122
,
"手机号已存在"
),
ERR_11123
(
11123
,
"请到好办端刷新企业微信好友"
),
...
...
haoban-manage3-wx/src/main/java/com/gic/haoban/manage/web/vo/OperationSettingVO.java
0 → 100644
View file @
1f552878
package
com
.
gic
.
haoban
.
manage
.
web
.
vo
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
*
* @author YongEn
* @date 2021-08-26 10:38:04
*/
public
class
OperationSettingVO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
382528365529162044L
;
/**
* 是否生效
*/
private
Integer
effectFlag
;
/**
* 操作设置id
*/
private
String
settingId
;
/**
* 企业微信id
*/
private
String
wxEnterpriseId
;
/**
* 导购手机号是否必填 1 是 0 否
*/
private
Integer
clerkPhoneFlag
;
/**
* 店长是否可编辑门店 1 是 0 否
*/
private
Integer
storeEditFlag
;
/**
* 创建时间
*/
private
Date
createTime
;
/**
* 更新时间
*/
private
Date
updateTime
;
/**
* 数据状态 1 正常 0 已删除
*/
private
Integer
statusFlag
;
public
Integer
getEffectFlag
()
{
return
effectFlag
;
}
public
void
setEffectFlag
(
Integer
effectFlag
)
{
this
.
effectFlag
=
effectFlag
;
}
public
String
getSettingId
()
{
return
settingId
;
}
public
void
setSettingId
(
String
settingId
)
{
this
.
settingId
=
settingId
;
}
public
String
getWxEnterpriseId
()
{
return
wxEnterpriseId
;
}
public
void
setWxEnterpriseId
(
String
wxEnterpriseId
)
{
this
.
wxEnterpriseId
=
wxEnterpriseId
;
}
public
Integer
getClerkPhoneFlag
()
{
return
clerkPhoneFlag
;
}
public
void
setClerkPhoneFlag
(
Integer
clerkPhoneFlag
)
{
this
.
clerkPhoneFlag
=
clerkPhoneFlag
;
}
public
Integer
getStoreEditFlag
()
{
return
storeEditFlag
;
}
public
void
setStoreEditFlag
(
Integer
storeEditFlag
)
{
this
.
storeEditFlag
=
storeEditFlag
;
}
public
Date
getCreateTime
()
{
return
createTime
;
}
public
void
setCreateTime
(
Date
createTime
)
{
this
.
createTime
=
createTime
;
}
public
Date
getUpdateTime
()
{
return
updateTime
;
}
public
void
setUpdateTime
(
Date
updateTime
)
{
this
.
updateTime
=
updateTime
;
}
public
Integer
getStatusFlag
()
{
return
statusFlag
;
}
public
void
setStatusFlag
(
Integer
statusFlag
)
{
this
.
statusFlag
=
statusFlag
;
}
@Override
public
String
toString
()
{
return
"OperationSettingDTO{"
+
"settingId='"
+
settingId
+
'\''
+
", wxEnterpriseId='"
+
wxEnterpriseId
+
'\''
+
", clerkPhoneFlag="
+
clerkPhoneFlag
+
", storeEditFlag="
+
storeEditFlag
+
", createTime="
+
createTime
+
", updateTime="
+
updateTime
+
", statusFlag="
+
statusFlag
+
'}'
;
}
}
haoban-manage3-wx/src/main/java/com/gic/haoban/manage/web/vo/StaffClerkBindLogDetailVO.java
0 → 100644
View file @
1f552878
package
com
.
gic
.
haoban
.
manage
.
web
.
vo
;
import
java.io.Serializable
;
import
java.util.Date
;
public
class
StaffClerkBindLogDetailVO
implements
Serializable
{
private
Integer
logId
;
private
String
staffId
;
private
String
staffName
;
private
String
optStaffId
;
private
String
optStaffName
;
private
String
clerkId
;
private
String
clerkName
;
private
String
clerkPhoneNumber
;
private
String
clerkCode
;
private
String
wxEnterpriseId
;
private
Integer
channelCode
;
private
String
unbindReason
;
private
Date
updateTime
;
private
Date
createTime
;
public
Integer
getLogId
()
{
return
logId
;
}
public
void
setLogId
(
Integer
logId
)
{
this
.
logId
=
logId
;
}
public
String
getStaffId
()
{
return
staffId
;
}
public
void
setStaffId
(
String
staffId
)
{
this
.
staffId
=
staffId
;
}
public
String
getStaffName
()
{
return
staffName
;
}
public
void
setStaffName
(
String
staffName
)
{
this
.
staffName
=
staffName
;
}
public
String
getOptStaffId
()
{
return
optStaffId
;
}
public
void
setOpStaffId
(
String
opStaffId
)
{
this
.
optStaffId
=
opStaffId
;
}
public
String
getOptStaffName
()
{
return
optStaffName
;
}
public
void
setOptStaffName
(
String
opStaffName
)
{
this
.
optStaffName
=
opStaffName
;
}
public
void
setOptStaffId
(
String
optStaffId
)
{
this
.
optStaffId
=
optStaffId
;
}
public
String
getClerkId
()
{
return
clerkId
;
}
public
void
setClerkId
(
String
clerkId
)
{
this
.
clerkId
=
clerkId
;
}
public
String
getClerkName
()
{
return
clerkName
;
}
public
void
setClerkName
(
String
clerkName
)
{
this
.
clerkName
=
clerkName
;
}
public
String
getClerkPhoneNumber
()
{
return
clerkPhoneNumber
;
}
public
void
setClerkPhoneNumber
(
String
clerkPhoneNumber
)
{
this
.
clerkPhoneNumber
=
clerkPhoneNumber
;
}
public
String
getClerkCode
()
{
return
clerkCode
;
}
public
void
setClerkCode
(
String
clerkCode
)
{
this
.
clerkCode
=
clerkCode
;
}
public
String
getWxEnterpriseId
()
{
return
wxEnterpriseId
;
}
public
void
setWxEnterpriseId
(
String
wxEnterpriseId
)
{
this
.
wxEnterpriseId
=
wxEnterpriseId
;
}
public
Integer
getChannelCode
()
{
return
channelCode
;
}
public
void
setChannelCode
(
Integer
channelCode
)
{
this
.
channelCode
=
channelCode
;
}
public
String
getUnbindReason
()
{
return
unbindReason
;
}
public
void
setUnbindReason
(
String
unbindReason
)
{
this
.
unbindReason
=
unbindReason
;
}
public
Date
getUpdateTime
()
{
return
updateTime
;
}
public
void
setUpdateTime
(
Date
updateTime
)
{
this
.
updateTime
=
updateTime
;
}
public
Date
getCreateTime
()
{
return
createTime
;
}
public
void
setCreateTime
(
Date
createTime
)
{
this
.
createTime
=
createTime
;
}
}
haoban-manage3-wx/src/main/webapp/WEB-INF/dubbo-haoban-manage-wx.xml
View file @
1f552878
...
...
@@ -71,4 +71,7 @@
<dubbo:reference
interface=
"com.gic.haoban.manage.api.service.ExternalClerkRelatedApiService"
id=
"externalClerkRelatedApiService"
/>
<dubbo:reference
id=
"operationSettingApiServiceImpl"
interface=
"com.gic.haoban.manage.api.service.OperationSettingApiService"
timeout=
"10000"
retries=
"0"
check=
"false"
/>
</beans>
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