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
6b7c0713
Commit
6b7c0713
authored
Apr 14, 2020
by
huangZW
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'developer' of
http://115.159.76.241/haoban3.0/haoban-manage3.0.git
into developer
parents
324e96bc
f72e7612
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
33 changed files
with
2426 additions
and
20 deletions
+2426
-20
DealParamMqDTO.java
...in/java/com/gic/haoban/manage/api/dto/DealParamMqDTO.java
+38
-0
SyncCheckDTO.java
...main/java/com/gic/haoban/manage/api/dto/SyncCheckDTO.java
+66
-0
SyncSingleDealDTO.java
...java/com/gic/haoban/manage/api/dto/SyncSingleDealDTO.java
+75
-0
PreDealStatusEnum.java
...va/com/gic/haoban/manage/api/enums/PreDealStatusEnum.java
+25
-0
PreDealTypeEnum.java
...java/com/gic/haoban/manage/api/enums/PreDealTypeEnum.java
+24
-0
SyncTaskStatusEnum.java
...a/com/gic/haoban/manage/api/enums/SyncTaskStatusEnum.java
+28
-0
DealSyncOperationApiService.java
...aoban/manage/api/service/DealSyncOperationApiService.java
+79
-0
DepartmentApiService.java
...m/gic/haoban/manage/api/service/DepartmentApiService.java
+1
-1
PreDealLogMapper.java
...ic/haoban/manage/service/dao/mapper/PreDealLogMapper.java
+94
-0
SyncTaskMapper.java
.../gic/haoban/manage/service/dao/mapper/SyncTaskMapper.java
+32
-0
TabHaobanPreDealLog.java
...gic/haoban/manage/service/entity/TabHaobanPreDealLog.java
+236
-0
TabHaobanSyncTask.java
...m/gic/haoban/manage/service/entity/TabHaobanSyncTask.java
+188
-0
PreDealService.java
...com/gic/haoban/manage/service/service/PreDealService.java
+81
-0
SyncTaskService.java
...om/gic/haoban/manage/service/service/SyncTaskService.java
+34
-0
PreDealServiceImpl.java
...aoban/manage/service/service/impl/PreDealServiceImpl.java
+70
-0
SyncTaskServiceImpl.java
...oban/manage/service/service/impl/SyncTaskServiceImpl.java
+46
-0
DealSyncOperationApiServiceImpl.java
...ice/service/out/impl/DealSyncOperationApiServiceImpl.java
+0
-0
DepartmentApiServiceImpl.java
...ge/service/service/out/impl/DepartmentApiServiceImpl.java
+1
-1
MessageApiServiceImpl.java
...anage/service/service/out/impl/MessageApiServiceImpl.java
+1
-0
StaffApiServiceImpl.java
.../manage/service/service/out/impl/StaffApiServiceImpl.java
+2
-0
BaseSyncOperation.java
...com/gic/haoban/manage/service/task/BaseSyncOperation.java
+40
-0
ClerkSyncOperation.java
...om/gic/haoban/manage/service/task/ClerkSyncOperation.java
+164
-0
GroupSyncOperation.java
...om/gic/haoban/manage/service/task/GroupSyncOperation.java
+216
-0
StoreSyncOperation.java
...om/gic/haoban/manage/service/task/StoreSyncOperation.java
+206
-0
dubbo-haoban-manage-service.xml
...ervice/src/main/resources/dubbo-haoban-manage-service.xml
+3
-0
PreDealLogMapper.xml
...e3-service/src/main/resources/mapper/PreDealLogMapper.xml
+234
-0
SyncTaskMapper.xml
...age3-service/src/main/resources/mapper/SyncTaskMapper.xml
+117
-0
DealSyncTest.java
haoban-manage3-service/src/test/java/DealSyncTest.java
+61
-0
ServiceTest.java
haoban-manage3-service/src/test/java/ServiceTest.java
+112
-15
DepartmentContoller.java
...gic/haoban/manage/web/controller/DepartmentContoller.java
+4
-3
SyncDealContoller.java
...m/gic/haoban/manage/web/controller/SyncDealContoller.java
+116
-0
SyncDealQO.java
...rc/main/java/com/gic/haoban/manage/web/qo/SyncDealQO.java
+29
-0
dubbo-haoban-manage-web.xml
...3-web/src/main/webapp/WEB-INF/dubbo-haoban-manage-web.xml
+3
-0
No files found.
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/dto/DealParamMqDTO.java
0 → 100644
View file @
6b7c0713
package
com
.
gic
.
haoban
.
manage
.
api
.
dto
;
import
java.io.Serializable
;
/**
* Created 2020/4/10.
*
* @author hua
*/
public
class
DealParamMqDTO
implements
Serializable
{
private
String
taskId
;
private
String
data
;
private
Integer
type
;
public
String
getTaskId
()
{
return
taskId
;
}
public
void
setTaskId
(
String
taskId
)
{
this
.
taskId
=
taskId
;
}
public
String
getData
()
{
return
data
;
}
public
void
setData
(
String
data
)
{
this
.
data
=
data
;
}
public
Integer
getType
()
{
return
type
;
}
public
void
setType
(
Integer
type
)
{
this
.
type
=
type
;
}
}
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/dto/SyncCheckDTO.java
0 → 100644
View file @
6b7c0713
package
com
.
gic
.
haoban
.
manage
.
api
.
dto
;
import
java.io.Serializable
;
import
java.util.List
;
/**
* Created 2020/4/13.
*
* @author hua
*/
public
class
SyncCheckDTO
implements
Serializable
{
private
Integer
syncStatus
;
private
Integer
groupErrCount
;
private
Integer
storeErrCount
;
private
Integer
staffErrCount
;
private
Integer
totalDeal
;
private
Integer
hasDeal
;
public
Integer
getSyncStatus
()
{
return
syncStatus
;
}
public
void
setSyncStatus
(
Integer
syncStatus
)
{
this
.
syncStatus
=
syncStatus
;
}
public
Integer
getGroupErrCount
()
{
return
groupErrCount
;
}
public
void
setGroupErrCount
(
Integer
groupErrCount
)
{
this
.
groupErrCount
=
groupErrCount
;
}
public
Integer
getStoreErrCount
()
{
return
storeErrCount
;
}
public
void
setStoreErrCount
(
Integer
storeErrCount
)
{
this
.
storeErrCount
=
storeErrCount
;
}
public
Integer
getStaffErrCount
()
{
return
staffErrCount
;
}
public
void
setStaffErrCount
(
Integer
staffErrCount
)
{
this
.
staffErrCount
=
staffErrCount
;
}
public
Integer
getTotalDeal
()
{
return
totalDeal
;
}
public
void
setTotalDeal
(
Integer
totalDeal
)
{
this
.
totalDeal
=
totalDeal
;
}
public
Integer
getHasDeal
()
{
return
hasDeal
;
}
public
void
setHasDeal
(
Integer
hasDeal
)
{
this
.
hasDeal
=
hasDeal
;
}
}
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/dto/SyncSingleDealDTO.java
0 → 100644
View file @
6b7c0713
package
com
.
gic
.
haoban
.
manage
.
api
.
dto
;
import
java.io.Serializable
;
/**
* Created 2020/4/9.
*
* @author hua
*/
public
class
SyncSingleDealDTO
implements
Serializable
{
private
String
departmentId
;
private
String
departmentName
;
private
String
parentDepartmentId
;
private
String
relatedId
;
private
Integer
storeFlag
;
private
String
enterpriseId
;
//0 管理员 1 分组
private
Integer
type
;
public
Integer
getType
()
{
return
type
;
}
public
void
setType
(
Integer
type
)
{
this
.
type
=
type
;
}
public
String
getEnterpriseId
()
{
return
enterpriseId
;
}
public
void
setEnterpriseId
(
String
enterpriseId
)
{
this
.
enterpriseId
=
enterpriseId
;
}
public
String
getDepartmentId
()
{
return
departmentId
;
}
public
void
setDepartmentId
(
String
departmentId
)
{
this
.
departmentId
=
departmentId
;
}
public
String
getDepartmentName
()
{
return
departmentName
;
}
public
void
setDepartmentName
(
String
departmentName
)
{
this
.
departmentName
=
departmentName
;
}
public
String
getParentDepartmentId
()
{
return
parentDepartmentId
;
}
public
void
setParentDepartmentId
(
String
parentDepartmentId
)
{
this
.
parentDepartmentId
=
parentDepartmentId
;
}
public
String
getRelatedId
()
{
return
relatedId
;
}
public
void
setRelatedId
(
String
relatedId
)
{
this
.
relatedId
=
relatedId
;
}
public
Integer
getStoreFlag
()
{
return
storeFlag
;
}
public
void
setStoreFlag
(
Integer
storeFlag
)
{
this
.
storeFlag
=
storeFlag
;
}
}
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/enums/PreDealStatusEnum.java
0 → 100644
View file @
6b7c0713
package
com
.
gic
.
haoban
.
manage
.
api
.
enums
;
/**
* Created by hua on 2020/4/10.
*/
public
enum
PreDealStatusEnum
{
all
(-
1
),
pre
(
0
),
dealing
(
1
),
computed
(
2
),
exception
(
3
);
private
int
val
;
PreDealStatusEnum
(
int
val
)
{
this
.
val
=
val
;
}
public
int
getVal
()
{
return
val
;
}
public
void
setVal
(
int
val
)
{
this
.
val
=
val
;
}
}
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/enums/PreDealTypeEnum.java
0 → 100644
View file @
6b7c0713
package
com
.
gic
.
haoban
.
manage
.
api
.
enums
;
/**
* Created by hua on 2020/4/10.
*/
public
enum
PreDealTypeEnum
{
all
(-
1
),
group
(
0
),
store
(
1
),
clerk
(
2
);
private
int
val
;
PreDealTypeEnum
(
int
val
)
{
this
.
val
=
val
;
}
public
int
getVal
()
{
return
val
;
}
public
void
setVal
(
int
val
)
{
this
.
val
=
val
;
}
}
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/enums/SyncTaskStatusEnum.java
0 → 100644
View file @
6b7c0713
package
com
.
gic
.
haoban
.
manage
.
api
.
enums
;
/**
* Created by hua on 2020/4/10.
*/
public
enum
SyncTaskStatusEnum
{
init
(
0
),
group_sync
(
1
),
store_sync
(
2
),
clerk_sync
(
3
),
compute
(
4
),
exception_compute
(
5
),
exception_close
(
6
);
private
int
val
;
SyncTaskStatusEnum
(
int
val
)
{
this
.
val
=
val
;
}
public
int
getVal
()
{
return
val
;
}
public
void
setVal
(
int
val
)
{
this
.
val
=
val
;
}
}
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/service/DealSyncOperationApiService.java
0 → 100644
View file @
6b7c0713
package
com
.
gic
.
haoban
.
manage
.
api
.
service
;
import
com.gic.haoban.manage.api.dto.SyncCheckDTO
;
import
com.gic.haoban.manage.api.dto.SyncSingleDealDTO
;
import
java.util.List
;
/**
* Created 2020/4/9.
*
* @author hua
*/
public
interface
DealSyncOperationApiService
{
/**
* 部门同步处理
*
* @param params
*/
public
void
departmentDealMq
(
String
params
);
/**
* 处理前端数据
*
* @param addList
* @param editList
*/
public
void
dealDepartment
(
String
taskId
,
String
wxEnterpriseId
,
List
<
SyncSingleDealDTO
>
addList
,
List
<
SyncSingleDealDTO
>
editList
);
/**
* 重新执行任务
*
* @param taskId
*/
public
void
reDealDepartment
(
String
taskId
,
int
dataType
);
/**
* 创建任务
*
* @param taskName
* @param userId
* @param desc
*/
public
String
createTask
(
String
wxEnterpriseId
,
String
taskName
,
String
userId
,
String
desc
);
/**
* 关闭任务
*
* @param wxEnterpriseId
* @return
*/
public
boolean
closeTask
(
String
wxEnterpriseId
);
/**
* 解锁
*
* @param taskId
*/
public
void
unlockTask
(
String
taskId
);
/**
* 校验是否锁
*
* @param wxEnterpriseId
* @return
*/
public
String
getTaskLock
(
String
wxEnterpriseId
);
/**
* 校验同步状态
*
* @param wxEnterpriseId
* @return
*/
public
SyncCheckDTO
getTaskCheck
(
String
wxEnterpriseId
);
}
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/service/DepartmentApiService.java
View file @
6b7c0713
...
...
@@ -47,7 +47,7 @@ public interface DepartmentApiService {
* @param department
* @return
*/
ServiceResponse
add
(
DepartmentDTO
department
);
ServiceResponse
<
DepartmentDTO
>
add
(
DepartmentDTO
department
);
/**
* 修改部门
* @param department
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/dao/mapper/PreDealLogMapper.java
0 → 100644
View file @
6b7c0713
package
com
.
gic
.
haoban
.
manage
.
service
.
dao
.
mapper
;
import
com.gic.haoban.manage.api.dto.SyncCheckDTO
;
import
com.gic.haoban.manage.service.entity.TabHaobanPreDealLog
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
@Mapper
public
interface
PreDealLogMapper
{
/**
*/
int
deleteByPrimaryKey
(
Integer
id
);
/**
*/
int
insert
(
TabHaobanPreDealLog
record
);
/**
*/
int
insertSelective
(
TabHaobanPreDealLog
record
);
/**
*/
TabHaobanPreDealLog
selectByPrimaryKey
(
Integer
id
);
/**
*/
int
updateByPrimaryKeySelective
(
TabHaobanPreDealLog
record
);
/**
*/
int
updateByPrimaryKey
(
TabHaobanPreDealLog
record
);
/**
* 获取单条数据
*
* @param taskId
* @param dataId
* @return
*/
TabHaobanPreDealLog
getByDataId
(
@Param
(
"taskId"
)
String
taskId
,
@Param
(
"dataId"
)
String
dataId
,
@Param
(
"status"
)
int
status
);
/**
* 获取单条数据
*
* @param taskId
* @param pDataId
* @return
*/
List
<
TabHaobanPreDealLog
>
listByPDataId
(
@Param
(
"taskId"
)
String
taskId
,
@Param
(
"dataId"
)
String
pDataId
,
@Param
(
"status"
)
int
status
,
@Param
(
"dataType"
)
int
dataType
);
/**
* 更新状态
*
* @param taskId
* @param dataId
* @param status
* @return
*/
public
int
updateStatusByDataId
(
@Param
(
"taskId"
)
String
taskId
,
@Param
(
"dataId"
)
String
dataId
,
@Param
(
"status"
)
int
status
);
/**
* 校验任务
*
* @param taskId
* @param dataType
* @return
*/
public
int
checkTask
(
@Param
(
"taskId"
)
String
taskId
,
@Param
(
"dataType"
)
int
dataType
,
@Param
(
"status"
)
int
status
);
public
List
<
TabHaobanPreDealLog
>
listByTaskId
(
@Param
(
"taskId"
)
String
taskId
,
@Param
(
"dataType"
)
int
dataType
,
@Param
(
"status"
)
int
status
);
/**
* 统计任务数量
*
* @param taskId
* @return
*/
public
int
countByTaskId
(
@Param
(
"taskId"
)
String
taskId
,
@Param
(
"dataType"
)
int
dataType
,
@Param
(
"status"
)
int
status
);
/**
* 重试的时候 第一级部门
*
* @param taskId
* @return
*/
public
List
<
TabHaobanPreDealLog
>
listRebuildDepartByTaskId
(
@Param
(
"taskId"
)
String
taskId
);
}
\ No newline at end of file
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/dao/mapper/SyncTaskMapper.java
0 → 100644
View file @
6b7c0713
package
com
.
gic
.
haoban
.
manage
.
service
.
dao
.
mapper
;
import
com.gic.haoban.manage.service.entity.TabHaobanSyncTask
;
import
org.apache.ibatis.annotations.Mapper
;
@Mapper
public
interface
SyncTaskMapper
{
/**
*/
int
deleteByPrimaryKey
(
String
taskId
);
/**
*/
int
insert
(
TabHaobanSyncTask
record
);
/**
*/
int
insertSelective
(
TabHaobanSyncTask
record
);
/**
*/
TabHaobanSyncTask
selectByPrimaryKey
(
String
taskId
);
/**
*/
int
updateByPrimaryKeySelective
(
TabHaobanSyncTask
record
);
/**
*/
int
updateByPrimaryKey
(
TabHaobanSyncTask
record
);
}
\ No newline at end of file
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/entity/TabHaobanPreDealLog.java
0 → 100644
View file @
6b7c0713
package
com
.
gic
.
haoban
.
manage
.
service
.
entity
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* Created By MBG-GUI-EXTENSION https://github.com/spawpaw/mybatis-generator-gui-extension
* Description:
*
* @author fdh
*/
public
class
TabHaobanPreDealLog
implements
Serializable
{
/**
*
*/
private
Integer
id
;
/**
* 企业微信id
*/
private
String
wxEnterpriseId
;
/**
* 企业id
*/
private
String
enterpriseId
;
/**
* 数据id
*/
private
String
dataId
;
/**
* 父dataid
*/
private
String
pDataId
;
/**
* 任务id
*/
private
String
taskId
;
/**
* 数据类型 0 分组 1门店 2成员
*/
private
Integer
dataType
;
/**
* 状态 0 未同步 1同步完成 2 同步失败
*/
private
Integer
statusFlag
;
/**
*
*/
private
Date
createTime
;
/**
*
*/
private
Date
updateTime
;
/**
*/
private
static
final
long
serialVersionUID
=
1L
;
public
String
getEnterpriseId
()
{
return
enterpriseId
;
}
public
void
setEnterpriseId
(
String
enterpriseId
)
{
this
.
enterpriseId
=
enterpriseId
;
}
/**
* This method returns the value of the database column tab_haoban_pre_deal_log.id
*
* @return the value of tab_haoban_pre_deal_log.id
*/
public
Integer
getId
()
{
return
id
;
}
/**
* This method sets the value of the database column tab_haoban_pre_deal_log.id
*
* @param id the value for tab_haoban_pre_deal_log.id
*/
public
void
setId
(
Integer
id
)
{
this
.
id
=
id
;
}
/**
* This method returns the value of the database column tab_haoban_pre_deal_log.wx_enterprise_id
*
* @return the value of tab_haoban_pre_deal_log.wx_enterprise_id
*/
public
String
getWxEnterpriseId
()
{
return
wxEnterpriseId
;
}
/**
* This method sets the value of the database column tab_haoban_pre_deal_log.wx_enterprise_id
*
* @param wxEnterpriseId the value for tab_haoban_pre_deal_log.wx_enterprise_id
*/
public
void
setWxEnterpriseId
(
String
wxEnterpriseId
)
{
this
.
wxEnterpriseId
=
wxEnterpriseId
;
}
/**
* This method returns the value of the database column tab_haoban_pre_deal_log.data_id
*
* @return the value of tab_haoban_pre_deal_log.data_id
*/
public
String
getDataId
()
{
return
dataId
;
}
/**
* This method sets the value of the database column tab_haoban_pre_deal_log.data_id
*
* @param dataId the value for tab_haoban_pre_deal_log.data_id
*/
public
void
setDataId
(
String
dataId
)
{
this
.
dataId
=
dataId
;
}
/**
* This method returns the value of the database column tab_haoban_pre_deal_log.p_data_id
*
* @return the value of tab_haoban_pre_deal_log.p_data_id
*/
public
String
getpDataId
()
{
return
pDataId
;
}
/**
* This method sets the value of the database column tab_haoban_pre_deal_log.p_data_id
*
* @param pDataId the value for tab_haoban_pre_deal_log.p_data_id
*/
public
void
setpDataId
(
String
pDataId
)
{
this
.
pDataId
=
pDataId
;
}
/**
* This method returns the value of the database column tab_haoban_pre_deal_log.task_id
*
* @return the value of tab_haoban_pre_deal_log.task_id
*/
public
String
getTaskId
()
{
return
taskId
;
}
/**
* This method sets the value of the database column tab_haoban_pre_deal_log.task_id
*
* @param taskId the value for tab_haoban_pre_deal_log.task_id
*/
public
void
setTaskId
(
String
taskId
)
{
this
.
taskId
=
taskId
;
}
/**
* This method returns the value of the database column tab_haoban_pre_deal_log.data_type
*
* @return the value of tab_haoban_pre_deal_log.data_type
*/
public
Integer
getDataType
()
{
return
dataType
;
}
/**
* This method sets the value of the database column tab_haoban_pre_deal_log.data_type
*
* @param dataType the value for tab_haoban_pre_deal_log.data_type
*/
public
void
setDataType
(
Integer
dataType
)
{
this
.
dataType
=
dataType
;
}
/**
* This method returns the value of the database column tab_haoban_pre_deal_log.status_flag
*
* @return the value of tab_haoban_pre_deal_log.status_flag
*/
public
Integer
getStatusFlag
()
{
return
statusFlag
;
}
/**
* This method sets the value of the database column tab_haoban_pre_deal_log.status_flag
*
* @param statusFlag the value for tab_haoban_pre_deal_log.status_flag
*/
public
void
setStatusFlag
(
Integer
statusFlag
)
{
this
.
statusFlag
=
statusFlag
;
}
/**
* This method returns the value of the database column tab_haoban_pre_deal_log.create_time
*
* @return the value of tab_haoban_pre_deal_log.create_time
*/
public
Date
getCreateTime
()
{
return
createTime
;
}
/**
* This method sets the value of the database column tab_haoban_pre_deal_log.create_time
*
* @param createTime the value for tab_haoban_pre_deal_log.create_time
*/
public
void
setCreateTime
(
Date
createTime
)
{
this
.
createTime
=
createTime
;
}
/**
* This method returns the value of the database column tab_haoban_pre_deal_log.update_time
*
* @return the value of tab_haoban_pre_deal_log.update_time
*/
public
Date
getUpdateTime
()
{
return
updateTime
;
}
/**
* This method sets the value of the database column tab_haoban_pre_deal_log.update_time
*
* @param updateTime the value for tab_haoban_pre_deal_log.update_time
*/
public
void
setUpdateTime
(
Date
updateTime
)
{
this
.
updateTime
=
updateTime
;
}
}
\ No newline at end of file
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/entity/TabHaobanSyncTask.java
0 → 100644
View file @
6b7c0713
package
com
.
gic
.
haoban
.
manage
.
service
.
entity
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* Created By MBG-GUI-EXTENSION https://github.com/spawpaw/mybatis-generator-gui-extension
* Description:
*
* @author fdh
*/
public
class
TabHaobanSyncTask
implements
Serializable
{
/**
*
*/
private
String
taskId
;
private
String
wxEnterpriseId
;
/**
*
*/
private
String
taskName
;
/**
* 任务创建人
*/
private
String
addUser
;
/**
* 任务描述
*/
private
String
taskDesc
;
/**
* 任务状态
*/
private
Integer
statusFlag
;
/**
*
*/
private
Date
createTime
;
/**
*
*/
private
Date
updateTime
;
/**
*/
private
static
final
long
serialVersionUID
=
1L
;
public
String
getWxEnterpriseId
()
{
return
wxEnterpriseId
;
}
public
void
setWxEnterpriseId
(
String
wxEnterpriseId
)
{
this
.
wxEnterpriseId
=
wxEnterpriseId
;
}
/**
* This method returns the value of the database column tab_haoban_sync_task.task_id
*
* @return the value of tab_haoban_sync_task.task_id
*/
public
String
getTaskId
()
{
return
taskId
;
}
/**
* This method sets the value of the database column tab_haoban_sync_task.task_id
*
* @param taskId the value for tab_haoban_sync_task.task_id
*/
public
void
setTaskId
(
String
taskId
)
{
this
.
taskId
=
taskId
;
}
/**
* This method returns the value of the database column tab_haoban_sync_task.task_name
*
* @return the value of tab_haoban_sync_task.task_name
*/
public
String
getTaskName
()
{
return
taskName
;
}
/**
* This method sets the value of the database column tab_haoban_sync_task.task_name
*
* @param taskName the value for tab_haoban_sync_task.task_name
*/
public
void
setTaskName
(
String
taskName
)
{
this
.
taskName
=
taskName
;
}
/**
* This method returns the value of the database column tab_haoban_sync_task.add_user
*
* @return the value of tab_haoban_sync_task.add_user
*/
public
String
getAddUser
()
{
return
addUser
;
}
/**
* This method sets the value of the database column tab_haoban_sync_task.add_user
*
* @param addUser the value for tab_haoban_sync_task.add_user
*/
public
void
setAddUser
(
String
addUser
)
{
this
.
addUser
=
addUser
;
}
/**
* This method returns the value of the database column tab_haoban_sync_task.task_desc
*
* @return the value of tab_haoban_sync_task.task_desc
*/
public
String
getTaskDesc
()
{
return
taskDesc
;
}
/**
* This method sets the value of the database column tab_haoban_sync_task.task_desc
*
* @param taskDesc the value for tab_haoban_sync_task.task_desc
*/
public
void
setTaskDesc
(
String
taskDesc
)
{
this
.
taskDesc
=
taskDesc
;
}
/**
* This method returns the value of the database column tab_haoban_sync_task.status_flag
*
* @return the value of tab_haoban_sync_task.status_flag
*/
public
Integer
getStatusFlag
()
{
return
statusFlag
;
}
/**
* This method sets the value of the database column tab_haoban_sync_task.status_flag
*
* @param statusFlag the value for tab_haoban_sync_task.status_flag
*/
public
void
setStatusFlag
(
Integer
statusFlag
)
{
this
.
statusFlag
=
statusFlag
;
}
/**
* This method returns the value of the database column tab_haoban_sync_task.create_time
*
* @return the value of tab_haoban_sync_task.create_time
*/
public
Date
getCreateTime
()
{
return
createTime
;
}
/**
* This method sets the value of the database column tab_haoban_sync_task.create_time
*
* @param createTime the value for tab_haoban_sync_task.create_time
*/
public
void
setCreateTime
(
Date
createTime
)
{
this
.
createTime
=
createTime
;
}
/**
* This method returns the value of the database column tab_haoban_sync_task.update_time
*
* @return the value of tab_haoban_sync_task.update_time
*/
public
Date
getUpdateTime
()
{
return
updateTime
;
}
/**
* This method sets the value of the database column tab_haoban_sync_task.update_time
*
* @param updateTime the value for tab_haoban_sync_task.update_time
*/
public
void
setUpdateTime
(
Date
updateTime
)
{
this
.
updateTime
=
updateTime
;
}
}
\ No newline at end of file
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/PreDealService.java
0 → 100644
View file @
6b7c0713
package
com
.
gic
.
haoban
.
manage
.
service
.
service
;
import
com.gic.haoban.manage.api.dto.SyncCheckDTO
;
import
com.gic.haoban.manage.service.entity.TabHaobanPreDealLog
;
import
java.util.List
;
/**
* Created 2020/4/9.
*
* @author hua
*/
public
interface
PreDealService
{
/**
* 批量新增
*
* @param list
* @return
*/
public
boolean
insert
(
List
<
TabHaobanPreDealLog
>
list
);
/**
* 获取单条数据
*
* @param dataId
* @return
*/
public
TabHaobanPreDealLog
getByDataId
(
String
taskId
,
String
dataId
,
int
status
);
/**
* 根据父数据id 获取子节点
*
* @param pDataId
* @param status
* @return
*/
public
List
<
TabHaobanPreDealLog
>
listByPDataId
(
String
taskId
,
String
pDataId
,
int
status
);
/**
* 更新单条数据状态
*
* @param dataId
* @param status
* @return
*/
public
boolean
updateStatusByDataId
(
String
taskId
,
String
dataId
,
int
status
);
/**
* 获取任务是否有在同步中
*
* @param dataType
* @return
*/
public
boolean
checkTask
(
String
taskId
,
int
dataType
);
/**
* 获取任务列表
*
* @param type
* @param status
* @return
*/
public
List
<
TabHaobanPreDealLog
>
listByTaskId
(
String
taskId
,
int
dataType
,
int
status
);
/**
* 获取任务数量
*
* @param status
* @return
*/
public
int
countByTaskId
(
String
taskId
,
int
dataType
,
int
status
);
/**
* 获取重试时 需要处理的数据
*
* @param taskId
* @return
*/
public
List
<
TabHaobanPreDealLog
>
queryDepartRebuildDealLog
(
String
taskId
);
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/SyncTaskService.java
0 → 100644
View file @
6b7c0713
package
com
.
gic
.
haoban
.
manage
.
service
.
service
;
import
com.gic.haoban.manage.service.entity.TabHaobanSyncTask
;
/**
* Created 2020/4/10.
*
* @author hua
*/
public
interface
SyncTaskService
{
/**
* 创建任务
*
* @param tabHaobanSyncTask
*/
public
void
createTask
(
TabHaobanSyncTask
tabHaobanSyncTask
);
/**
* 更新任务状态
*
* @param taskId
* @param status
*/
public
boolean
updateTaskStatus
(
String
taskId
,
int
status
);
/**
* 获取任务
*
* @param taskId
* @return
*/
public
TabHaobanSyncTask
getSyncTask
(
String
taskId
);
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/impl/PreDealServiceImpl.java
0 → 100644
View file @
6b7c0713
package
com
.
gic
.
haoban
.
manage
.
service
.
service
.
impl
;
import
com.gic.haoban.manage.api.dto.SyncCheckDTO
;
import
com.gic.haoban.manage.api.enums.PreDealStatusEnum
;
import
com.gic.haoban.manage.api.enums.PreDealTypeEnum
;
import
com.gic.haoban.manage.service.dao.mapper.PreDealLogMapper
;
import
com.gic.haoban.manage.service.entity.TabHaobanPreDealLog
;
import
com.gic.haoban.manage.service.service.PreDealService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
/**
* Created 2020/4/9.
*
* @author hua
*/
@Service
public
class
PreDealServiceImpl
implements
PreDealService
{
@Autowired
private
PreDealLogMapper
preDealLogMapper
;
@Override
public
boolean
insert
(
List
<
TabHaobanPreDealLog
>
list
)
{
for
(
TabHaobanPreDealLog
tab
:
list
)
{
preDealLogMapper
.
insert
(
tab
);
}
return
true
;
}
@Override
public
TabHaobanPreDealLog
getByDataId
(
String
taskId
,
String
dataId
,
int
status
)
{
TabHaobanPreDealLog
byDataId
=
preDealLogMapper
.
getByDataId
(
taskId
,
dataId
,
status
);
return
byDataId
;
}
@Override
public
List
<
TabHaobanPreDealLog
>
listByPDataId
(
String
taskId
,
String
pDataId
,
int
status
)
{
return
preDealLogMapper
.
listByPDataId
(
taskId
,
pDataId
,
status
,
PreDealTypeEnum
.
group
.
getVal
());
}
@Override
public
boolean
updateStatusByDataId
(
String
taskId
,
String
dataId
,
int
status
)
{
int
i
=
preDealLogMapper
.
updateStatusByDataId
(
taskId
,
dataId
,
status
);
return
i
>=
0
;
}
@Override
public
boolean
checkTask
(
String
taskId
,
int
dataType
)
{
int
i
=
preDealLogMapper
.
checkTask
(
taskId
,
dataType
,
PreDealStatusEnum
.
pre
.
getVal
());
return
i
==
0
;
}
@Override
public
List
<
TabHaobanPreDealLog
>
listByTaskId
(
String
taskId
,
int
dataType
,
int
status
)
{
return
preDealLogMapper
.
listByTaskId
(
taskId
,
dataType
,
status
);
}
@Override
public
int
countByTaskId
(
String
taskId
,
int
dataType
,
int
status
)
{
return
preDealLogMapper
.
countByTaskId
(
taskId
,
dataType
,
status
);
}
@Override
public
List
<
TabHaobanPreDealLog
>
queryDepartRebuildDealLog
(
String
taskId
)
{
return
preDealLogMapper
.
listRebuildDepartByTaskId
(
taskId
);
}
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/impl/SyncTaskServiceImpl.java
0 → 100644
View file @
6b7c0713
package
com
.
gic
.
haoban
.
manage
.
service
.
service
.
impl
;
import
com.gic.commons.util.ToolUtil
;
import
com.gic.haoban.manage.api.enums.SyncTaskStatusEnum
;
import
com.gic.haoban.manage.service.dao.mapper.SyncTaskMapper
;
import
com.gic.haoban.manage.service.entity.TabHaobanSyncTask
;
import
com.gic.haoban.manage.service.service.SyncTaskService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.Date
;
/**
* Created 2020/4/10.
*
* @author hua
*/
@Service
public
class
SyncTaskServiceImpl
implements
SyncTaskService
{
@Autowired
private
SyncTaskMapper
syncTaskMapper
;
@Override
public
void
createTask
(
TabHaobanSyncTask
tabHaobanSyncTask
)
{
tabHaobanSyncTask
.
setTaskId
(
ToolUtil
.
randomUUID
());
tabHaobanSyncTask
.
setStatusFlag
(
SyncTaskStatusEnum
.
init
.
getVal
());
syncTaskMapper
.
insert
(
tabHaobanSyncTask
);
}
@Override
public
boolean
updateTaskStatus
(
String
taskId
,
int
status
)
{
TabHaobanSyncTask
tabHaobanSyncTask
=
new
TabHaobanSyncTask
();
tabHaobanSyncTask
.
setTaskId
(
taskId
);
tabHaobanSyncTask
.
setStatusFlag
(
status
);
tabHaobanSyncTask
.
setUpdateTime
(
new
Date
());
int
i
=
syncTaskMapper
.
updateByPrimaryKeySelective
(
tabHaobanSyncTask
);
return
i
>=
0
;
}
@Override
public
TabHaobanSyncTask
getSyncTask
(
String
taskId
)
{
return
syncTaskMapper
.
selectByPrimaryKey
(
taskId
);
}
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/out/impl/DealSyncOperationApiServiceImpl.java
0 → 100644
View file @
6b7c0713
This diff is collapsed.
Click to expand it.
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/out/impl/DepartmentApiServiceImpl.java
View file @
6b7c0713
...
...
@@ -88,7 +88,7 @@ public class DepartmentApiServiceImpl implements DepartmentApiService {
}
@Override
public
ServiceResponse
add
(
DepartmentDTO
department
)
{
public
ServiceResponse
<
DepartmentDTO
>
add
(
DepartmentDTO
department
)
{
ServiceResponse
hr
=
new
ServiceResponse
();
hr
.
setCode
(
1
);
//调微信的新增接口
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/out/impl/MessageApiServiceImpl.java
View file @
6b7c0713
...
...
@@ -126,6 +126,7 @@ public class MessageApiServiceImpl implements MessageApiService {
ServiceResponse
response
=
this
.
departmentApiService
.
add
(
departmentDTO
);
GicClerkDTO
gicClerkDTO
=
dto
.
getGicClerkDTO
();
if
(
gicClerkDTO
!=
null
){
gicClerkDTO
.
setPostionName
(
"店长"
);
staffApiService
.
addGicClerk
(
gicClerkDTO
);
}
log
.
info
(
"添加结果:{}"
,
JSON
.
toJSONString
(
response
));
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/out/impl/StaffApiServiceImpl.java
View file @
6b7c0713
...
...
@@ -432,6 +432,7 @@ public class StaffApiServiceImpl implements StaffApiService {
}
ClerkDTO
clerkDTO
=
clerkService
.
getClerkByCodeNoStatus
(
enterpriseId
,
related
.
getClerkCode
());
//if(!staffDTO.getPhoneNumber().equals(related.getPhoneNumber())||!staffDTO.getStaffName().equals(clerkDTO.getStaffName())){
logger
.
info
(
"clerkDto:{}"
,
JSONObject
.
toJSONString
(
clerkDTO
));
String
headPic
=
staffDTO
.
getHeadImg
();
if
(
clerkDTO
!=
null
&&
(
StringUtils
.
isNotBlank
(
staffName
)
&&
!
clerkDTO
.
getClerkName
().
equals
(
staffName
)
||
!
staffDTO
.
getPhoneNumber
().
equals
(
clerkDTO
.
getPhoneNumber
()))
||
(
org
.
apache
.
commons
.
lang3
.
StringUtils
.
isNotBlank
(
headPic
)
&&
!
headPic
.
equals
(
clerkDTO
.
getImageUrl
()))
...
...
@@ -696,6 +697,7 @@ public class StaffApiServiceImpl implements StaffApiService {
//修改
}
else
{
staff
.
setHeadImg
(
headPic
);
staff
.
setSex
(
sex
);
//staff.setPostion(postion);
// staff.setStaffName(staffName);
if
(
staff
.
getActiveFlag
()
!=
null
&&
staff
.
getActiveFlag
()
!=
1
){
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/task/BaseSyncOperation.java
0 → 100644
View file @
6b7c0713
package
com
.
gic
.
haoban
.
manage
.
service
.
task
;
import
com.gic.haoban.manage.api.dto.DealParamMqDTO
;
import
com.gic.haoban.manage.service.entity.TabHaobanPreDealLog
;
/**
* Created 2020/4/13.
*
* @author hua
*/
public
interface
BaseSyncOperation
{
/**
* 处理单条数据
*
* @param dealParamMqDTO
*/
public
abstract
void
dealSingleByMq
(
DealParamMqDTO
dealParamMqDTO
,
TabHaobanPreDealLog
dataPre
);
/**
* 单条处理异常
*
* @param taskId
* @param dataId
* @param enterpriseId
* @param reason
*/
public
abstract
void
dealException
(
String
taskId
,
String
dataId
,
String
enterpriseId
,
String
reason
);
/**
* 单条处理成功
*
* @param taskId
* @param dataId
* @param wxEnterpriseId
*/
public
abstract
void
dealSuccess
(
String
taskId
,
String
dataId
,
String
enterpriseId
,
String
wxEnterpriseId
);
public
void
checkDepartmentTask
(
String
taskId
);
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/task/ClerkSyncOperation.java
0 → 100644
View file @
6b7c0713
package
com
.
gic
.
haoban
.
manage
.
service
.
task
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.gic.clerk.api.dto.ClerkDTO
;
import
com.gic.clerk.api.dto.ClerkListDTO
;
import
com.gic.clerk.api.service.ClerkService
;
import
com.gic.commons.util.GICMQClientUtil
;
import
com.gic.enterprise.api.dto.StoreDTO
;
import
com.gic.enterprise.api.service.StoreGroupService
;
import
com.gic.enterprise.api.service.StoreService
;
import
com.gic.haoban.base.api.common.Constant
;
import
com.gic.haoban.base.api.common.ServiceResponse
;
import
com.gic.haoban.manage.api.dto.*
;
import
com.gic.haoban.manage.api.enums.PreDealStatusEnum
;
import
com.gic.haoban.manage.api.enums.PreDealTypeEnum
;
import
com.gic.haoban.manage.api.enums.SyncTaskStatusEnum
;
import
com.gic.haoban.manage.api.service.DealSyncOperationApiService
;
import
com.gic.haoban.manage.api.service.DepartmentApiService
;
import
com.gic.haoban.manage.api.service.StaffApiService
;
import
com.gic.haoban.manage.service.entity.TabHaobanDepartment
;
import
com.gic.haoban.manage.service.entity.TabHaobanPreDealLog
;
import
com.gic.haoban.manage.service.entity.TabHaobanSyncTask
;
import
com.gic.haoban.manage.service.service.DepartmentService
;
import
com.gic.haoban.manage.service.service.PreDealService
;
import
com.gic.haoban.manage.service.service.StaffService
;
import
com.gic.haoban.manage.service.service.SyncTaskService
;
import
com.gic.mq.sdk.GicMQClient
;
import
com.gic.redis.data.util.RedisUtil
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Set
;
import
java.util.stream.Collectors
;
/**
* Created 2020/4/13.
*
* @author hua
*/
@Service
public
class
ClerkSyncOperation
implements
BaseSyncOperation
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
ClerkSyncOperation
.
class
);
@Autowired
private
DepartmentService
departmentService
;
@Autowired
private
StoreGroupService
storeGroupService
;
@Autowired
private
PreDealService
preDealService
;
@Autowired
private
DepartmentApiService
departmentApiService
;
@Autowired
private
SyncTaskService
syncTaskService
;
@Autowired
private
StoreService
storeService
;
@Autowired
private
ClerkService
clerkService
;
@Autowired
private
StaffApiService
staffApiService
;
@Autowired
private
DealSyncOperationApiService
dealSyncOperationApiService
;
@Override
public
void
dealSingleByMq
(
DealParamMqDTO
dealParamMqDTO
,
TabHaobanPreDealLog
dataPre
)
{
logger
.
info
(
"成员处理:{}"
,
JSONObject
.
toJSONString
(
dealParamMqDTO
));
ClerkDTO
clerkDTO
=
clerkService
.
getClerkByClerkId
(
dealParamMqDTO
.
getData
());
boolean
dealFlag
=
true
;
if
(
clerkDTO
==
null
)
{
logger
.
info
(
"成员不存在:t:{},d:{}"
,
dealParamMqDTO
.
getTaskId
(),
dealParamMqDTO
.
getData
());
dealException
(
dealParamMqDTO
.
getTaskId
(),
dealParamMqDTO
.
getData
(),
dataPre
.
getEnterpriseId
(),
"成员不存在"
);
return
;
}
//处理clerk
try
{
GicClerkDTO
gicClerkDTO
=
new
GicClerkDTO
();
gicClerkDTO
.
setNationcode
(
clerkDTO
.
getNationcode
());
gicClerkDTO
.
setClerkCode
(
clerkDTO
.
getClerkCode
());
gicClerkDTO
.
setPostionName
(
clerkDTO
.
getPositionName
());
gicClerkDTO
.
setHeadImgUrl
(
clerkDTO
.
getHeadImgUrl
());
gicClerkDTO
.
setPhoneNumber
(
clerkDTO
.
getPhoneNumber
());
gicClerkDTO
.
setStatus
(
clerkDTO
.
getStatus
());
gicClerkDTO
.
setClerkGender
(
Integer
.
valueOf
(
clerkDTO
.
getClerkGender
()));
gicClerkDTO
.
setClerkName
(
clerkDTO
.
getClerkName
());
gicClerkDTO
.
setStoreId
(
clerkDTO
.
getStoreId
());
gicClerkDTO
.
setEnterpriseId
(
clerkDTO
.
getEnterpriseId
());
staffApiService
.
addGicClerk
(
gicClerkDTO
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
logger
.
info
(
"同步失败:"
,
JSONObject
.
toJSONString
(
dataPre
));
dealFlag
=
false
;
}
finally
{
if
(!
dealFlag
)
{
dealException
(
dealParamMqDTO
.
getTaskId
(),
dealParamMqDTO
.
getData
(),
dataPre
.
getEnterpriseId
(),
"成员处理异常"
);
}
else
{
dealSuccess
(
dealParamMqDTO
.
getTaskId
(),
dealParamMqDTO
.
getData
(),
dataPre
.
getEnterpriseId
(),
dataPre
.
getWxEnterpriseId
());
}
}
}
@Override
public
void
dealException
(
String
taskId
,
String
dataId
,
String
enterpriseId
,
String
reason
)
{
logger
.
info
(
"成员处理失败:t:{},d:{}"
,
taskId
,
dataId
);
boolean
b
=
preDealService
.
updateStatusByDataId
(
taskId
,
dataId
,
PreDealStatusEnum
.
exception
.
getVal
());
if
(!
b
)
{
logger
.
info
(
"成员处理异常:t:{}, d:{}"
,
taskId
,
dataId
);
return
;
}
checkDepartmentTask
(
taskId
);
}
@Override
public
void
dealSuccess
(
String
taskId
,
String
dataId
,
String
enterpriseId
,
String
wxEnterpriseId
)
{
logger
.
info
(
"成员处理成功:t:{},d:{}"
,
taskId
,
dataId
);
boolean
b
=
preDealService
.
updateStatusByDataId
(
taskId
,
dataId
,
PreDealStatusEnum
.
computed
.
getVal
());
if
(!
b
)
{
logger
.
info
(
"成功修改错误!{}"
,
dataId
);
return
;
}
checkDepartmentTask
(
taskId
);
}
@Override
public
void
checkDepartmentTask
(
String
taskId
)
{
boolean
b
=
preDealService
.
checkTask
(
taskId
,
PreDealTypeEnum
.
clerk
.
getVal
());
if
(!
b
)
{
return
;
}
logger
.
info
(
"店员同步成功:{}"
,
taskId
);
String
key
=
"haoban_sync_clerk_task_"
+
taskId
;
RedisUtil
.
lock
(
key
,
3L
);
TabHaobanSyncTask
syncTask
=
syncTaskService
.
getSyncTask
(
taskId
);
//同步成功 进入门店处理
if
(
syncTask
.
getStatusFlag
().
equals
(
SyncTaskStatusEnum
.
clerk_sync
.
getVal
()))
{
int
errCount
=
preDealService
.
countByTaskId
(
taskId
,
-
1
,
PreDealStatusEnum
.
exception
.
getVal
());
if
(
errCount
>
0
)
{
syncTaskService
.
updateTaskStatus
(
taskId
,
SyncTaskStatusEnum
.
exception_compute
.
getVal
());
}
else
{
syncTaskService
.
updateTaskStatus
(
taskId
,
SyncTaskStatusEnum
.
compute
.
getVal
());
dealSyncOperationApiService
.
unlockTask
(
taskId
);
}
}
RedisUtil
.
unlock
(
key
);
}
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/task/GroupSyncOperation.java
0 → 100644
View file @
6b7c0713
package
com
.
gic
.
haoban
.
manage
.
service
.
task
;
import
com.alibaba.fastjson.JSONObject
;
import
com.gic.commons.util.GICMQClientUtil
;
import
com.gic.enterprise.api.dto.StoreDTO
;
import
com.gic.enterprise.api.dto.StoreGroupDTO
;
import
com.gic.enterprise.api.service.StoreGroupService
;
import
com.gic.enterprise.api.service.StoreService
;
import
com.gic.haoban.base.api.common.Constant
;
import
com.gic.haoban.base.api.common.ServiceResponse
;
import
com.gic.haoban.manage.api.dto.DealParamMqDTO
;
import
com.gic.haoban.manage.api.dto.DepartmentDTO
;
import
com.gic.haoban.manage.api.enums.PreDealStatusEnum
;
import
com.gic.haoban.manage.api.enums.PreDealTypeEnum
;
import
com.gic.haoban.manage.api.enums.SyncTaskStatusEnum
;
import
com.gic.haoban.manage.api.service.DepartmentApiService
;
import
com.gic.haoban.manage.service.entity.TabHaobanDepartment
;
import
com.gic.haoban.manage.service.entity.TabHaobanPreDealLog
;
import
com.gic.haoban.manage.service.entity.TabHaobanSyncTask
;
import
com.gic.haoban.manage.service.service.DepartmentService
;
import
com.gic.haoban.manage.service.service.PreDealService
;
import
com.gic.haoban.manage.service.service.SyncTaskService
;
import
com.gic.mq.sdk.GicMQClient
;
import
com.gic.redis.data.util.RedisUtil
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
import
java.util.Set
;
import
java.util.stream.Collectors
;
/**
* Created 2020/4/13.
*
* @author hua
*/
@Service
public
class
GroupSyncOperation
implements
BaseSyncOperation
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
GroupSyncOperation
.
class
);
@Autowired
private
DepartmentService
departmentService
;
@Autowired
private
StoreGroupService
storeGroupService
;
@Autowired
private
PreDealService
preDealService
;
@Autowired
private
DepartmentApiService
departmentApiService
;
@Autowired
private
SyncTaskService
syncTaskService
;
@Autowired
private
StoreService
storeService
;
@Override
public
void
dealSingleByMq
(
DealParamMqDTO
dealParamMqDTO
,
TabHaobanPreDealLog
dataPre
)
{
logger
.
info
(
"处理单条部门分组:{}"
,
JSONObject
.
toJSONString
(
dealParamMqDTO
));
DepartmentDTO
departmentDTO
=
departmentApiService
.
selectByRelatedId
(
dataPre
.
getDataId
());
if
(
departmentDTO
!=
null
)
{
logger
.
info
(
"已经同步过了:{}"
,
dataPre
.
getDataId
());
dealException
(
dealParamMqDTO
.
getTaskId
(),
dealParamMqDTO
.
getData
(),
dataPre
.
getEnterpriseId
(),
"该部门不存在"
);
return
;
}
TabHaobanDepartment
pParentDepartment
=
departmentService
.
selectByRelatedId
(
dataPre
.
getpDataId
());
if
(
null
==
pParentDepartment
)
{
pParentDepartment
=
departmentService
.
selectById
(
dataPre
.
getpDataId
());
}
if
(
null
==
pParentDepartment
)
{
logger
.
info
(
"不存在该父部门:c:{},p:{}"
,
dataPre
.
getDataId
(),
dataPre
.
getpDataId
());
return
;
}
StoreGroupDTO
groupDTO
=
storeGroupService
.
getStoreGroupById
(
dealParamMqDTO
.
getData
());
if
(
null
==
groupDTO
)
{
logger
.
info
(
"该部门不存在"
);
dealException
(
dealParamMqDTO
.
getTaskId
(),
dealParamMqDTO
.
getData
(),
dataPre
.
getEnterpriseId
(),
"该部门不存在"
);
return
;
}
DepartmentDTO
department
=
new
DepartmentDTO
();
department
.
setParentDepartmentId
(
pParentDepartment
.
getDepartmentId
());
department
.
setWxEnterpriseId
(
pParentDepartment
.
getWxEnterpriseId
());
department
.
setDepartmentName
(
groupDTO
.
getStoreGroupName
());
department
.
setChainId
(
pParentDepartment
.
getChainId
()
+
Constant
.
ID_SEPARATOR
+
dealParamMqDTO
.
getData
());
department
.
setChainName
(
pParentDepartment
.
getChainName
()
+
Constant
.
NAME_SEPARATOR
+
department
.
getDepartmentName
());
department
.
setIsStore
(
0
);
department
.
setLevel
(
pParentDepartment
.
getLevel
()
+
1
);
department
.
setRelatedId
(
dealParamMqDTO
.
getData
());
department
.
setSort
(
groupDTO
.
getStoreGroupSort
());
//状态 处理状态
boolean
resultFlag
=
true
;
try
{
ServiceResponse
add
=
departmentApiService
.
add
(
department
);
if
(
add
.
getCode
()
!=
1
)
{
resultFlag
=
false
;
logger
.
info
(
"处理失败"
);
return
;
}
}
catch
(
Exception
e
)
{
resultFlag
=
false
;
e
.
printStackTrace
();
logger
.
info
(
"处理异常"
);
}
finally
{
if
(!
resultFlag
)
{
dealException
(
dealParamMqDTO
.
getTaskId
(),
dealParamMqDTO
.
getData
(),
dataPre
.
getEnterpriseId
(),
"处理异常或失败"
);
}
else
{
dealSuccess
(
dealParamMqDTO
.
getTaskId
(),
dealParamMqDTO
.
getData
(),
dataPre
.
getEnterpriseId
(),
dataPre
.
getWxEnterpriseId
());
}
}
}
@Override
public
void
dealException
(
String
taskId
,
String
dataId
,
String
enterpriseId
,
String
reason
)
{
List
<
String
>
ids
=
storeGroupService
.
getStoreGroupIdsByParentId
(
enterpriseId
,
dataId
);
if
(
CollectionUtils
.
isEmpty
(
ids
))
{
logger
.
info
(
"下面层级不存在"
);
//todo 是否需要加锁判断
return
;
}
//todo 需要优化 测试
for
(
String
id
:
ids
)
{
preDealService
.
updateStatusByDataId
(
taskId
,
id
,
PreDealStatusEnum
.
exception
.
getVal
());
}
checkDepartmentTask
(
taskId
);
}
@Override
public
void
dealSuccess
(
String
taskId
,
String
dataId
,
String
enterpriseId
,
String
wxEnterpriseId
)
{
boolean
b
=
preDealService
.
updateStatusByDataId
(
taskId
,
dataId
,
PreDealStatusEnum
.
computed
.
getVal
());
if
(!
b
)
{
logger
.
info
(
"成功修改错误!{}"
,
dataId
);
return
;
}
List
<
StoreDTO
>
storeDTOS
=
storeService
.
listStoreByStoreGroupId
(
dataId
);
//预处理门店 写入预处理表
if
(
CollectionUtils
.
isNotEmpty
(
storeDTOS
))
{
List
<
TabHaobanPreDealLog
>
preDealLogList
=
storeDTOS
.
stream
().
map
(
storeDTO
->
{
TabHaobanPreDealLog
dealLog
=
new
TabHaobanPreDealLog
();
dealLog
.
setDataId
(
storeDTO
.
getStoreId
());
dealLog
.
setpDataId
(
dataId
);
dealLog
.
setDataType
(
PreDealTypeEnum
.
store
.
getVal
());
dealLog
.
setStatusFlag
(
0
);
dealLog
.
setTaskId
(
taskId
);
dealLog
.
setEnterpriseId
(
storeDTO
.
getEnterpriseId
());
dealLog
.
setWxEnterpriseId
(
wxEnterpriseId
);
dealLog
.
setEnterpriseId
(
enterpriseId
);
return
dealLog
;
}).
collect
(
Collectors
.
toList
());
preDealService
.
insert
(
preDealLogList
);
}
List
<
TabHaobanPreDealLog
>
list
=
preDealService
.
listByPDataId
(
taskId
,
dataId
,
PreDealStatusEnum
.
pre
.
getVal
());
if
(
CollectionUtils
.
isNotEmpty
(
list
))
{
Set
<
String
>
mid
=
list
.
stream
().
map
(
tab
->
tab
.
getDataId
()).
collect
(
Collectors
.
toSet
());
dealDepartmentToMq
(
taskId
,
mid
,
SyncTaskStatusEnum
.
group_sync
);
}
else
{
checkDepartmentTask
(
taskId
);
}
}
@Override
public
void
checkDepartmentTask
(
String
taskId
)
{
boolean
b
=
preDealService
.
checkTask
(
taskId
,
PreDealTypeEnum
.
group
.
getVal
());
if
(!
b
)
{
return
;
}
logger
.
info
(
"部门继续成功,开始门店同步:{}"
,
taskId
);
String
key
=
"haoban_sync_department_task_"
+
taskId
;
RedisUtil
.
lock
(
key
,
3L
);
TabHaobanSyncTask
syncTask
=
syncTaskService
.
getSyncTask
(
taskId
);
//同步成功 进入门店处理
if
(
syncTask
.
getStatusFlag
().
equals
(
SyncTaskStatusEnum
.
group_sync
.
getVal
()))
{
syncTaskService
.
updateTaskStatus
(
taskId
,
SyncTaskStatusEnum
.
store_sync
.
getVal
());
List
<
TabHaobanPreDealLog
>
dealLogs
=
preDealService
.
listByTaskId
(
taskId
,
PreDealTypeEnum
.
store
.
getVal
(),
PreDealStatusEnum
.
pre
.
getVal
());
if
(
CollectionUtils
.
isEmpty
(
dealLogs
))
{
syncTaskService
.
updateTaskStatus
(
taskId
,
SyncTaskStatusEnum
.
compute
.
getVal
());
}
else
{
logger
.
info
(
"处理门店开始"
);
Set
<
String
>
dataIds
=
dealLogs
.
stream
().
map
(
TabHaobanPreDealLog:
:
getDataId
).
collect
(
Collectors
.
toSet
());
dealDepartmentToMq
(
taskId
,
dataIds
,
SyncTaskStatusEnum
.
store_sync
);
}
}
RedisUtil
.
unlock
(
key
);
}
/**
* 放入mq处理部门数据
*
* @param taskId
* @param dealList
*/
private
void
dealDepartmentToMq
(
String
taskId
,
Set
<
String
>
dealList
,
SyncTaskStatusEnum
syncTaskStatusEnum
)
{
//预处理分组任务
syncTaskService
.
updateTaskStatus
(
taskId
,
syncTaskStatusEnum
.
getVal
());
dealList
.
forEach
(
relationId
->
{
DealParamMqDTO
dealParamMqDTO
=
new
DealParamMqDTO
();
dealParamMqDTO
.
setTaskId
(
taskId
);
dealParamMqDTO
.
setData
(
relationId
);
dealParamMqDTO
.
setType
(
syncTaskStatusEnum
.
getVal
());
GicMQClient
clientInstance
=
GICMQClientUtil
.
getClientInstance
();
try
{
clientInstance
.
sendMessage
(
"departmentSyncDealMq"
,
JSONObject
.
toJSONString
(
dealParamMqDTO
));
}
catch
(
Exception
e
)
{
logger
.
info
(
"发送失败:{},{}"
,
taskId
,
relationId
);
e
.
printStackTrace
();
}
});
}
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/task/StoreSyncOperation.java
0 → 100644
View file @
6b7c0713
package
com
.
gic
.
haoban
.
manage
.
service
.
task
;
import
com.alibaba.fastjson.JSONObject
;
import
com.gic.clerk.api.dto.ClerkListDTO
;
import
com.gic.clerk.api.service.ClerkService
;
import
com.gic.commons.util.GICMQClientUtil
;
import
com.gic.enterprise.api.dto.StoreDTO
;
import
com.gic.enterprise.api.dto.StoreGroupDTO
;
import
com.gic.enterprise.api.service.StoreGroupService
;
import
com.gic.enterprise.api.service.StoreService
;
import
com.gic.haoban.base.api.common.Constant
;
import
com.gic.haoban.base.api.common.ServiceResponse
;
import
com.gic.haoban.manage.api.dto.DealParamMqDTO
;
import
com.gic.haoban.manage.api.dto.DepartmentDTO
;
import
com.gic.haoban.manage.api.enums.PreDealStatusEnum
;
import
com.gic.haoban.manage.api.enums.PreDealTypeEnum
;
import
com.gic.haoban.manage.api.enums.SyncTaskStatusEnum
;
import
com.gic.haoban.manage.api.service.DepartmentApiService
;
import
com.gic.haoban.manage.service.entity.TabHaobanDepartment
;
import
com.gic.haoban.manage.service.entity.TabHaobanPreDealLog
;
import
com.gic.haoban.manage.service.entity.TabHaobanSyncTask
;
import
com.gic.haoban.manage.service.service.DepartmentService
;
import
com.gic.haoban.manage.service.service.PreDealService
;
import
com.gic.haoban.manage.service.service.SyncTaskService
;
import
com.gic.mq.sdk.GicMQClient
;
import
com.gic.redis.data.util.RedisUtil
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
import
java.util.Set
;
import
java.util.stream.Collectors
;
/**
* Created 2020/4/13.
*
* @author hua
*/
@Service
public
class
StoreSyncOperation
implements
BaseSyncOperation
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
StoreSyncOperation
.
class
);
@Autowired
private
DepartmentService
departmentService
;
@Autowired
private
StoreGroupService
storeGroupService
;
@Autowired
private
PreDealService
preDealService
;
@Autowired
private
DepartmentApiService
departmentApiService
;
@Autowired
private
SyncTaskService
syncTaskService
;
@Autowired
private
StoreService
storeService
;
@Autowired
private
ClerkService
clerkService
;
@Override
public
void
dealSingleByMq
(
DealParamMqDTO
dealParamMqDTO
,
TabHaobanPreDealLog
dataPre
)
{
logger
.
info
(
"处理单条门店:{}"
,
JSONObject
.
toJSONString
(
dealParamMqDTO
));
DepartmentDTO
departmentDTO
=
departmentApiService
.
selectByRelatedId
(
dataPre
.
getDataId
());
if
(
departmentDTO
!=
null
)
{
logger
.
info
(
"已经同步过了:{}"
,
dataPre
.
getDataId
());
dealException
(
dealParamMqDTO
.
getTaskId
(),
dealParamMqDTO
.
getData
(),
dataPre
.
getEnterpriseId
(),
"该部门不存在"
);
return
;
}
TabHaobanDepartment
pParentDepartment
=
departmentService
.
selectByRelatedId
(
dataPre
.
getpDataId
());
if
(
null
==
pParentDepartment
)
{
logger
.
info
(
"不存在该父部门:c:{},p:{}"
,
dataPre
.
getDataId
(),
dataPre
.
getpDataId
());
return
;
}
StoreDTO
storeDTO
=
storeService
.
getStore
(
dealParamMqDTO
.
getData
());
if
(
null
==
storeDTO
)
{
logger
.
info
(
"该部门不存在"
);
dealException
(
dealParamMqDTO
.
getTaskId
(),
dealParamMqDTO
.
getData
(),
dataPre
.
getEnterpriseId
(),
"该部门不存在"
);
return
;
}
DepartmentDTO
department
=
new
DepartmentDTO
();
department
.
setParentDepartmentId
(
pParentDepartment
.
getDepartmentId
());
department
.
setWxEnterpriseId
(
pParentDepartment
.
getWxEnterpriseId
());
department
.
setDepartmentName
(
storeDTO
.
getStoreName
());
department
.
setChainId
(
pParentDepartment
.
getChainId
()
+
Constant
.
ID_SEPARATOR
+
dealParamMqDTO
.
getData
());
department
.
setChainName
(
pParentDepartment
.
getChainName
()
+
Constant
.
NAME_SEPARATOR
+
department
.
getDepartmentName
());
department
.
setIsStore
(
1
);
department
.
setLevel
(
pParentDepartment
.
getLevel
()
+
1
);
department
.
setRelatedId
(
dealParamMqDTO
.
getData
());
//状态 处理状态
boolean
resultFlag
=
true
;
try
{
ServiceResponse
add
=
departmentApiService
.
add
(
department
);
if
(
add
.
getCode
()
!=
1
)
{
resultFlag
=
false
;
logger
.
info
(
"处理失败"
);
return
;
}
}
catch
(
Exception
e
)
{
resultFlag
=
false
;
e
.
printStackTrace
();
logger
.
info
(
"处理异常"
);
}
finally
{
if
(!
resultFlag
)
{
dealException
(
dealParamMqDTO
.
getTaskId
(),
dealParamMqDTO
.
getData
(),
dataPre
.
getEnterpriseId
(),
"处理异常或失败"
);
}
else
{
dealSuccess
(
dealParamMqDTO
.
getTaskId
(),
dealParamMqDTO
.
getData
(),
dataPre
.
getEnterpriseId
(),
dataPre
.
getWxEnterpriseId
());
}
}
}
@Override
public
void
dealException
(
String
taskId
,
String
dataId
,
String
enterpriseId
,
String
reason
)
{
//处理异常
preDealService
.
updateStatusByDataId
(
taskId
,
dataId
,
PreDealStatusEnum
.
exception
.
getVal
());
checkDepartmentTask
(
taskId
);
}
@Override
public
void
dealSuccess
(
String
taskId
,
String
dataId
,
String
enterpriseId
,
String
wxEnterpriseId
)
{
boolean
b
=
preDealService
.
updateStatusByDataId
(
taskId
,
dataId
,
PreDealStatusEnum
.
computed
.
getVal
());
if
(!
b
)
{
logger
.
info
(
"成功修改错误!{}"
,
dataId
);
return
;
}
List
<
ClerkListDTO
>
clerks
=
clerkService
.
getClerkByStoreId
(
enterpriseId
,
dataId
);
logger
.
info
(
"导入clerk:{},{},{}"
,
enterpriseId
,
dataId
,
JSONObject
.
toJSONString
(
clerks
));
//预处理门店 写入预处理表
if
(
CollectionUtils
.
isNotEmpty
(
clerks
))
{
List
<
TabHaobanPreDealLog
>
preDealLogList
=
clerks
.
stream
().
map
(
clerkMid
->
{
TabHaobanPreDealLog
dealLog
=
new
TabHaobanPreDealLog
();
dealLog
.
setDataId
(
clerkMid
.
getClerkId
());
dealLog
.
setpDataId
(
dataId
);
dealLog
.
setDataType
(
PreDealTypeEnum
.
clerk
.
getVal
());
dealLog
.
setStatusFlag
(
0
);
dealLog
.
setTaskId
(
taskId
);
dealLog
.
setEnterpriseId
(
clerkMid
.
getEnterpriseId
());
dealLog
.
setWxEnterpriseId
(
wxEnterpriseId
);
return
dealLog
;
}).
collect
(
Collectors
.
toList
());
preDealService
.
insert
(
preDealLogList
);
}
checkDepartmentTask
(
taskId
);
}
@Override
public
void
checkDepartmentTask
(
String
taskId
)
{
boolean
b
=
preDealService
.
checkTask
(
taskId
,
PreDealTypeEnum
.
store
.
getVal
());
if
(!
b
)
{
return
;
}
logger
.
info
(
"门店继续成功,成员同步:{}"
,
taskId
);
String
key
=
"haoban_sync_store_task_"
+
taskId
;
RedisUtil
.
lock
(
key
,
3L
);
TabHaobanSyncTask
syncTask
=
syncTaskService
.
getSyncTask
(
taskId
);
//同步成功 进入门店处理
if
(
syncTask
.
getStatusFlag
().
equals
(
SyncTaskStatusEnum
.
store_sync
.
getVal
()))
{
syncTaskService
.
updateTaskStatus
(
taskId
,
SyncTaskStatusEnum
.
clerk_sync
.
getVal
());
//是否有成员 需要处理
List
<
TabHaobanPreDealLog
>
dealLogs
=
preDealService
.
listByTaskId
(
taskId
,
PreDealTypeEnum
.
clerk
.
getVal
(),
PreDealStatusEnum
.
pre
.
getVal
());
if
(
CollectionUtils
.
isEmpty
(
dealLogs
))
{
syncTaskService
.
updateTaskStatus
(
taskId
,
SyncTaskStatusEnum
.
compute
.
getVal
());
}
else
{
logger
.
info
(
"处理成员开始"
);
Set
<
String
>
dataIds
=
dealLogs
.
stream
().
map
(
TabHaobanPreDealLog:
:
getDataId
).
collect
(
Collectors
.
toSet
());
dealDepartmentToMq
(
taskId
,
dataIds
,
SyncTaskStatusEnum
.
clerk_sync
);
}
}
RedisUtil
.
unlock
(
key
);
}
/**
* 放入mq处理部门数据
*
* @param taskId
* @param dealList
*/
private
void
dealDepartmentToMq
(
String
taskId
,
Set
<
String
>
dealList
,
SyncTaskStatusEnum
syncTaskStatusEnum
)
{
//预处理分组任务
syncTaskService
.
updateTaskStatus
(
taskId
,
syncTaskStatusEnum
.
getVal
());
dealList
.
forEach
(
relationId
->
{
DealParamMqDTO
dealParamMqDTO
=
new
DealParamMqDTO
();
dealParamMqDTO
.
setTaskId
(
taskId
);
dealParamMqDTO
.
setData
(
relationId
);
dealParamMqDTO
.
setType
(
syncTaskStatusEnum
.
getVal
());
GicMQClient
clientInstance
=
GICMQClientUtil
.
getClientInstance
();
try
{
clientInstance
.
sendMessage
(
"departmentSyncDealMq"
,
JSONObject
.
toJSONString
(
dealParamMqDTO
));
}
catch
(
Exception
e
)
{
logger
.
info
(
"发送失败:{},{}"
,
taskId
,
relationId
);
e
.
printStackTrace
();
}
});
}
}
haoban-manage3-service/src/main/resources/dubbo-haoban-manage-service.xml
View file @
6b7c0713
...
...
@@ -37,6 +37,9 @@
<dubbo:service
interface=
"com.gic.haoban.manage.api.service.DictApiService"
ref=
"dictApiServiceImpl"
timeout=
"10000"
/>
<dubbo:service
interface=
"com.gic.haoban.manage.api.service.AuditApiService"
ref=
"auditApiServiceImpl"
timeout=
"10000"
/>
<dubbo:service
interface=
"com.gic.haoban.manage.api.service.DealSyncOperationApiService"
ref=
"dealSyncOperationApiServiceImpl"
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"
/>
...
...
haoban-manage3-service/src/main/resources/mapper/PreDealLogMapper.xml
0 → 100644
View file @
6b7c0713
<?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.PreDealLogMapper"
>
<resultMap
id=
"BaseResultMap"
type=
"com.gic.haoban.manage.service.entity.TabHaobanPreDealLog"
>
<id
column=
"id"
jdbcType=
"INTEGER"
property=
"id"
/>
<result
column=
"wx_enterprise_id"
jdbcType=
"VARCHAR"
property=
"wxEnterpriseId"
/>
<result
column=
"enterprise_id"
jdbcType=
"VARCHAR"
property=
"enterpriseId"
/>
<result
column=
"data_id"
jdbcType=
"VARCHAR"
property=
"dataId"
/>
<result
column=
"p_data_id"
jdbcType=
"VARCHAR"
property=
"pDataId"
/>
<result
column=
"task_id"
jdbcType=
"VARCHAR"
property=
"taskId"
/>
<result
column=
"data_type"
jdbcType=
"INTEGER"
property=
"dataType"
/>
<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"
>
id, wx_enterprise_id,enterprise_id, data_id, p_data_id, task_id, data_type, 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_pre_deal_log
where id = #{id,jdbcType=INTEGER}
</select>
<delete
id=
"deleteByPrimaryKey"
parameterType=
"java.lang.Integer"
>
delete from tab_haoban_pre_deal_log
where id = #{id,jdbcType=INTEGER}
</delete>
<insert
id=
"insert"
parameterType=
"com.gic.haoban.manage.service.entity.TabHaobanPreDealLog"
>
insert into tab_haoban_pre_deal_log ( wx_enterprise_id,enterprise_id, data_id,
p_data_id, task_id, data_type,
status_flag, create_time, update_time
)
values (#{wxEnterpriseId,jdbcType=VARCHAR},#{enterpriseId,jdbcType=VARCHAR}, #{dataId,jdbcType=VARCHAR},
#{pDataId,jdbcType=VARCHAR}, #{taskId,jdbcType=VARCHAR}, #{dataType,jdbcType=INTEGER},
#{statusFlag,jdbcType=INTEGER}, now(), now()
)
</insert>
<insert
id=
"insertSelective"
parameterType=
"com.gic.haoban.manage.service.entity.TabHaobanPreDealLog"
>
insert into tab_haoban_pre_deal_log
<trim
prefix=
"("
suffix=
")"
suffixOverrides=
","
>
<if
test=
"id != null"
>
id,
</if>
<if
test=
"wxEnterpriseId != null"
>
wx_enterprise_id,
</if>
<if
test=
"enterpriseId != null"
>
enterprise_id,
</if>
<if
test=
"dataId != null"
>
data_id,
</if>
<if
test=
"pDataId != null"
>
p_data_id,
</if>
<if
test=
"taskId != null"
>
task_id,
</if>
<if
test=
"dataType != null"
>
data_type,
</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=
"id != null"
>
#{id,jdbcType=INTEGER},
</if>
<if
test=
"wxEnterpriseId != null"
>
#{wxEnterpriseId,jdbcType=VARCHAR},
</if>
<if
test=
"enterpriseId != null"
>
#{enterpriseId,jdbcType=VARCHAR},
</if>
<if
test=
"dataId != null"
>
#{dataId,jdbcType=VARCHAR},
</if>
<if
test=
"pDataId != null"
>
#{pDataId,jdbcType=VARCHAR},
</if>
<if
test=
"taskId != null"
>
#{taskId,jdbcType=VARCHAR},
</if>
<if
test=
"dataType != null"
>
#{dataType,jdbcType=INTEGER},
</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.TabHaobanPreDealLog"
>
update tab_haoban_pre_deal_log
<set>
<if
test=
"wxEnterpriseId != null"
>
wx_enterprise_id = #{wxEnterpriseId,jdbcType=VARCHAR},
</if>
<if
test=
"enterpriseId != null"
>
enterprise_id = #{enterpriseId,jdbcType=VARCHAR},
</if>
<if
test=
"dataId != null"
>
data_id = #{dataId,jdbcType=VARCHAR},
</if>
<if
test=
"pDataId != null"
>
p_data_id = #{pDataId,jdbcType=VARCHAR},
</if>
<if
test=
"taskId != null"
>
task_id = #{taskId,jdbcType=VARCHAR},
</if>
<if
test=
"dataType != null"
>
data_type = #{dataType,jdbcType=INTEGER},
</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 id = #{id,jdbcType=INTEGER}
</update>
<update
id=
"updateByPrimaryKey"
parameterType=
"com.gic.haoban.manage.service.entity.TabHaobanPreDealLog"
>
update tab_haoban_pre_deal_log
set wx_enterprise_id = #{wxEnterpriseId,jdbcType=VARCHAR},
data_id = #{dataId,jdbcType=VARCHAR},
p_data_id = #{pDataId,jdbcType=VARCHAR},
task_id = #{taskId,jdbcType=VARCHAR},
data_type = #{dataType,jdbcType=INTEGER},
status_flag = #{statusFlag,jdbcType=INTEGER},
create_time = #{createTime,jdbcType=TIMESTAMP},
update_time = #{updateTime,jdbcType=TIMESTAMP}
where id = #{id,jdbcType=INTEGER}
</update>
<select
id=
"getByDataId"
resultMap=
"BaseResultMap"
>
select
<include
refid=
"Base_Column_List"
/>
from tab_haoban_pre_deal_log
where task_id = #{taskId} and data_id=#{dataId}
<if
test=
"status!=-1"
>
and status_flag=#{status}
</if>
</select>
<select
id=
"listByPDataId"
resultMap=
"BaseResultMap"
>
select
<include
refid=
"Base_Column_List"
/>
from tab_haoban_pre_deal_log
where task_id = #{taskId} and p_data_id=#{dataId} and data_type=#{dataType}
<if
test=
"status!=-1"
>
and status_flag=#{status}
</if>
</select>
<update
id=
"updateStatusByDataId"
>
update tab_haoban_pre_deal_log
<set>
status_flag = #{status,jdbcType=INTEGER},
update_time = now()
</set>
where data_id = #{dataId,jdbcType=INTEGER} and task_id=#{taskId}
</update>
<select
id=
"checkTask"
resultType=
"Integer"
>
select
count(*)
from tab_haoban_pre_deal_log
where task_id = #{taskId} and data_type=#{dataType}
and status_flag=#{status}
</select>
<select
id=
"listByTaskId"
resultMap=
"BaseResultMap"
>
select
<include
refid=
"Base_Column_List"
/>
from tab_haoban_pre_deal_log
where task_id = #{taskId} and data_type=#{dataType}
and status_flag=#{status}
</select>
<select
id=
"countByTaskId"
resultType=
"Integer"
>
select
COUNT(*)
from tab_haoban_pre_deal_log
where task_id = #{taskId}
<if
test=
"dataType!=-1"
>
and data_type=#{dataType}
</if>
<if
test=
"status!=-1"
>
and status_flag=#{status}
</if>
</select>
<select
id=
"listRebuildDepartByTaskId"
resultMap=
"BaseResultMap"
>
SELECT
<include
refid=
"Base_Column_List"
/>
FROM
tab_haoban_pre_deal_log a
WHERE
a.task_id = #{taskId}
AND data_type = 0
AND status_flag = 3
AND EXISTS (
SELECT
1
FROM
tab_haoban_pre_deal_log b
WHERE
b.task_id = #{taskId}
AND data_type = 0
AND a.p_data_id = b.data_id
AND b.status_flag = 2
)
</select>
</mapper>
\ No newline at end of file
haoban-manage3-service/src/main/resources/mapper/SyncTaskMapper.xml
0 → 100644
View file @
6b7c0713
<?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.SyncTaskMapper"
>
<resultMap
id=
"BaseResultMap"
type=
"com.gic.haoban.manage.service.entity.TabHaobanSyncTask"
>
<id
column=
"task_id"
jdbcType=
"VARCHAR"
property=
"taskId"
/>
<result
column=
"task_name"
jdbcType=
"VARCHAR"
property=
"taskName"
/>
<result
column=
"add_user"
jdbcType=
"VARCHAR"
property=
"addUser"
/>
<result
column=
"task_desc"
jdbcType=
"VARCHAR"
property=
"taskDesc"
/>
<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"
>
task_id, task_name, add_user, task_desc, status_flag, create_time, update_time
</sql>
<select
id=
"selectByPrimaryKey"
parameterType=
"java.lang.String"
resultMap=
"BaseResultMap"
>
select
<include
refid=
"Base_Column_List"
/>
from tab_haoban_sync_task
where task_id = #{taskId,jdbcType=VARCHAR}
</select>
<delete
id=
"deleteByPrimaryKey"
parameterType=
"java.lang.String"
>
delete from tab_haoban_sync_task
where task_id = #{taskId,jdbcType=VARCHAR}
</delete>
<insert
id=
"insert"
parameterType=
"com.gic.haoban.manage.service.entity.TabHaobanSyncTask"
>
insert into tab_haoban_sync_task (task_id,wx_enterprise_id, task_name, add_user,
task_desc, status_flag, create_time,
update_time)
values (#{taskId,jdbcType=VARCHAR},#{wxEnterpriseId}, #{taskName,jdbcType=VARCHAR}, #{addUser,jdbcType=VARCHAR},
#{taskDesc,jdbcType=VARCHAR}, #{statusFlag,jdbcType=INTEGER}, now(),now())
</insert>
<insert
id=
"insertSelective"
parameterType=
"com.gic.haoban.manage.service.entity.TabHaobanSyncTask"
>
insert into tab_haoban_sync_task
<trim
prefix=
"("
suffix=
")"
suffixOverrides=
","
>
<if
test=
"taskId != null"
>
task_id,
</if>
<if
test=
"taskName != null"
>
task_name,
</if>
<if
test=
"addUser != null"
>
add_user,
</if>
<if
test=
"taskDesc != null"
>
task_desc,
</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=
"taskId != null"
>
#{taskId,jdbcType=VARCHAR},
</if>
<if
test=
"taskName != null"
>
#{taskName,jdbcType=VARCHAR},
</if>
<if
test=
"addUser != null"
>
#{addUser,jdbcType=VARCHAR},
</if>
<if
test=
"taskDesc != null"
>
#{taskDesc,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.TabHaobanSyncTask"
>
update tab_haoban_sync_task
<set>
<if
test=
"taskName != null"
>
task_name = #{taskName,jdbcType=VARCHAR},
</if>
<if
test=
"addUser != null"
>
add_user = #{addUser,jdbcType=VARCHAR},
</if>
<if
test=
"taskDesc != null"
>
task_desc = #{taskDesc,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 task_id = #{taskId,jdbcType=VARCHAR}
</update>
<update
id=
"updateByPrimaryKey"
parameterType=
"com.gic.haoban.manage.service.entity.TabHaobanSyncTask"
>
update tab_haoban_sync_task
set task_name = #{taskName,jdbcType=VARCHAR},
add_user = #{addUser,jdbcType=VARCHAR},
task_desc = #{taskDesc,jdbcType=VARCHAR},
status_flag = #{statusFlag,jdbcType=INTEGER},
create_time = #{createTime,jdbcType=TIMESTAMP},
update_time = #{updateTime,jdbcType=TIMESTAMP}
where task_id = #{taskId,jdbcType=VARCHAR}
</update>
</mapper>
\ No newline at end of file
haoban-manage3-service/src/test/java/DealSyncTest.java
0 → 100644
View file @
6b7c0713
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.gic.api.base.commons.JSONResponse
;
import
com.gic.haoban.manage.api.dto.SyncSingleDealDTO
;
import
com.gic.haoban.manage.api.service.DealSyncOperationApiService
;
import
com.gic.haoban.manage.api.service.DepartmentApiService
;
import
com.gic.haoban.manage.api.service.WxEnterpriseRelatedApiService
;
import
com.gic.wechat.api.dto.qywx.DepartmentDTO
;
import
com.gic.wechat.api.dto.qywx.QywxXcxSendMessageDTO
;
import
com.gic.wechat.api.dto.qywx.UserDTO
;
import
com.gic.wechat.api.service.qywx.QywxDepartmentApiService
;
import
com.gic.wechat.api.service.qywx.QywxSuiteApiService
;
import
com.gic.wechat.api.service.qywx.QywxUserApiService
;
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.ArrayList
;
import
java.util.Iterator
;
import
java.util.List
;
@RunWith
(
SpringJUnit4ClassRunner
.
class
)
@ContextConfiguration
(
locations
=
{
"classpath:applicationContext-conf.xml"
})
public
class
DealSyncTest
{
@Autowired
private
DealSyncOperationApiService
dealSyncOperationApiService
;
@Test
public
void
test
()
{
List
<
SyncSingleDealDTO
>
add
=
new
ArrayList
<>();
List
<
SyncSingleDealDTO
>
edit
=
new
ArrayList
<>();
{
SyncSingleDealDTO
dealDTO
=
new
SyncSingleDealDTO
();
dealDTO
.
setDepartmentId
(
"ff80808166c3a1050166c43175d9000e"
);
dealDTO
.
setParentDepartmentId
(
"a101b3a51cd549e79f3daec1aa628301"
);
dealDTO
.
setDepartmentName
(
"西溪花园"
);
dealDTO
.
setRelatedId
(
"ff80808166c3a1050166c43175d9000e"
);
dealDTO
.
setStoreFlag
(
0
);
dealDTO
.
setEnterpriseId
(
"ff8080815dacd3a2015dacd3ef5c0000"
);
add
.
add
(
dealDTO
);
}
{
SyncSingleDealDTO
dealDTO
=
new
SyncSingleDealDTO
();
dealDTO
.
setDepartmentId
(
"100333808083"
);
dealDTO
.
setParentDepartmentId
(
"a101b3a51cd549e79f3daec1aa628301"
);
dealDTO
.
setDepartmentName
(
"测试门店1003338"
);
dealDTO
.
setRelatedId
(
"100333808083"
);
dealDTO
.
setStoreFlag
(
1
);
dealDTO
.
setEnterpriseId
(
"ff8080815dacd3a2015dacd3ef5c0000"
);
add
.
add
(
dealDTO
);
}
dealSyncOperationApiService
.
dealDepartment
(
"111"
,
"ca66a01b79474c40b3e7c7f93daf1a3b"
,
add
,
edit
);
}
}
haoban-manage3-service/src/test/java/ServiceTest.java
View file @
6b7c0713
//import com.gic.haoban.manage.api.service.MemberUnionidRelatedApiService;
//import com.gic.wechat.api.service.qywx.QywxUserApiService;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.gic.api.base.commons.JSONResponse
;
import
com.gic.haoban.manage.api.service.WxEnterpriseRelatedApiService
;
import
com.gic.wechat.api.dto.qywx.DepartmentDTO
;
import
com.gic.wechat.api.dto.qywx.QywxXcxSendMessageDTO
;
import
com.gic.wechat.api.dto.qywx.UserDTO
;
import
com.gic.wechat.api.service.qywx.QywxDepartmentApiService
;
import
com.gic.wechat.api.service.qywx.QywxSuiteApiService
;
import
com.gic.wechat.api.service.qywx.QywxUserApiService
;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
//
import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.test.context.ContextConfiguration
;
import
org.springframework.test.context.junit4.SpringJUnit4ClassRunner
;
//import com.gic.haoban.manage.api.service.WxEnterpriseRelatedApiService;
import
com.gic.redis.data.util.RedisUtil
;
import
java.util.ArrayList
;
import
java.util.Iterator
;
import
java.util.List
;
@RunWith
(
SpringJUnit4ClassRunner
.
class
)
@ContextConfiguration
(
locations
=
{
"classpath:applicationContext-conf.xml"
})
public
class
ServiceTest
{
//
@Autowired
//
private WxEnterpriseRelatedApiService wxEnterpriseRelatedApiService;
@Autowired
private
WxEnterpriseRelatedApiService
wxEnterpriseRelatedApiService
;
// @Autowired
// private QywxUserApiService qywxUserApiService;
@Autowired
private
QywxUserApiService
qywxUserApiService
;
@Autowired
private
QywxDepartmentApiService
qywxDepartmentApiService
;
@Autowired
private
QywxSuiteApiService
qywxSuiteApiService
;
@Test
public
void
test
()
{
//wxEnterpriseRelatedApiService.listEnterpriseByWxEnterpriseId("073e89a37eb14acabf258e59a57359b6");
RedisUtil
.
delCache
(
"haoban-sync-department-ca66a01b79474c40b3e7c7f93daf1a3b"
);
}
// @Test
// public void test1() {
// String corpSelfExternalUseridInfo = qywxUserApiService.getCorpSelfExternalUseridInfo("ww50d418adce14b4a9"
// , "1azg6LG5Vj_YKFO-X27to4S4x_y-f6APR0fwE9YnQd8", "wm-0J8CQAAbGIhtnLd51B97OO_0gf3zw");
// System.out.println(corpSelfExternalUseridInfo);
@Test
public
void
test1
()
{
String
res
=
qywxUserApiService
.
leaveClerkExternal
(
"ww9ede832a84b7ae5f"
,
"01YQ-pcdYzF3K0So8uCFfkB5i8D5EBW7KcVB4qA8Ktk"
,
0
,
1000
);
JSONArray
jsonArray
=
JSONArray
.
parseArray
(
res
);
jsonArray
.
forEach
(
o
->
{
JSONObject
mid
=
(
JSONObject
)
o
;
qywxUserApiService
.
leaveClerkReTransfer
(
"ww9ede832a84b7ae5f"
,
"01YQ-pcdYzF3K0So8uCFfkB5i8D5EBW7KcVB4qA8Ktk"
,
mid
.
getString
(
"handover_userid"
)
,
mid
.
getString
(
"handover_userid"
),
mid
.
getString
(
"external_userid"
));
});
System
.
out
.
println
(
res
);
}
@Test
public
void
test2
()
{
UserDTO
userDTO
=
new
UserDTO
();
userDTO
.
setUserid
(
"niweizhong"
);
userDTO
.
setName
(
"空闻大师"
);
userDTO
.
setDepartment
(
new
Integer
[]{
4
});
userDTO
.
setMobile
(
"17605628855"
);
userDTO
.
setCorpid
(
"ww9ede832a84b7ae5f"
);
JSONResponse
workWxUser
=
qywxUserApiService
.
createWorkWxUser
(
userDTO
,
"ww9ede832a84b7ae5f"
,
"ww7d6566614055cf27"
);
System
.
out
.
println
(
JSONObject
.
toJSONString
(
workWxUser
));
}
@Test
public
void
list
()
{
List
<
DepartmentDTO
>
list
=
qywxDepartmentApiService
.
listSelfDepartment
(
"ww9ede832a84b7ae5f"
,
"3aOw7jbcHlHkDmOi5TuG42Ta8NqskOhZxy5urrmaGl8"
,
1
);
Iterator
<
DepartmentDTO
>
iterator
=
list
.
iterator
();
// while (iterator.hasNext()) {
// DepartmentDTO next = iterator.next();
// if(!next.getParentid().equals("1")) {
// iterator.remove();
// }
// }
System
.
out
.
println
(
JSONObject
.
toJSONString
(
list
));
}
@Test
public
void
addDepart
()
{
DepartmentDTO
dto
=
new
DepartmentDTO
();
// dto.set
// JSONResponse department = qywxDepartmentApiService.createDepartment("ww9ede832a84b7ae5f"
// , "ww7d6566614055cf27", null);
// List<DepartmentDTO> list = (List<DepartmentDTO>) department;
// System.out.println(JSONObject.toJSONString(list));
}
@Test
public
void
getUser
()
{
DepartmentDTO
dto
=
new
DepartmentDTO
();
// dto.set
UserDTO
phonenumber
=
qywxUserApiService
.
getWxUserByPhonenumber
(
"ww9ede832a84b7ae5f"
,
"ww7d6566614055cf27"
,
"13735457631"
);
// String phonenumber = phonenumber;
// UserDTO phonenumber = (UserDTO) useridBymobile;
System
.
out
.
println
(
JSONObject
.
toJSONString
(
phonenumber
));
}
@Test
public
void
createSelfUser
()
{
UserDTO
userDTO
=
new
UserDTO
();
userDTO
.
setUserid
(
"niweizhong2"
);
userDTO
.
setName
(
"空闻大师2"
);
userDTO
.
setDepartment
(
new
Integer
[]{
5072
});
userDTO
.
setMobile
(
"17605628851"
);
userDTO
.
setCorpid
(
"ww9ede832a84b7ae5f"
);
JSONResponse
workWxUser
=
qywxUserApiService
.
createSelfWorkWxUser
(
userDTO
,
"ww9ede832a84b7ae5f"
,
"3aOw7jbcHlHkDmOi5TuG42Ta8NqskOhZxy5urrmaGl8"
);
System
.
out
.
println
(
JSONObject
.
toJSONString
(
workWxUser
));
}
@Test
public
void
sendMessage
()
{
QywxXcxSendMessageDTO
messageDTO
=
new
QywxXcxSendMessageDTO
();
messageDTO
.
setAppid
(
"wx6054e7be35015afc"
);
ArrayList
<
String
>
userIDs
=
new
ArrayList
<>();
userIDs
.
add
(
"9ae4c4f1277340a186b16a17d937c72c"
);
messageDTO
.
setUserIds
(
userIDs
);
messageDTO
.
setTitle
(
"我的测试test"
);
messageDTO
.
setDescription
(
"我的测试test11111"
);
boolean
ret
=
qywxSuiteApiService
.
sendMessage
(
"ww9ede832a84b7ae5f"
,
"ww2c34dc56739bb105"
,
messageDTO
);
System
.
out
.
println
(
JSONObject
.
toJSONString
(
ret
));
}
}
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/controller/DepartmentContoller.java
View file @
6b7c0713
...
...
@@ -186,12 +186,13 @@ public class DepartmentContoller extends WebBaseController{
department
.
setChainId
(
dto
.
getChainId
()
+
Constant
.
ID_SEPARATOR
+
dto
.
getDepartmentId
());
department
.
setIsStore
(
0
);
department
.
setLevel
(
dto
.
getLevel
()
+
1
);
ServiceResponse
hr
=
departmentApiService
.
add
(
department
);
ServiceResponse
<
DepartmentDTO
>
hr
=
departmentApiService
.
add
(
department
);
if
(
hr
.
getCode
()
!=
1
){
return
resultResponse
(
HaoBanErrCode
.
ERR_DEFINE
,
hr
.
getMessage
(),
null
,
hr
.
getMessage
());
}
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
hr
.
getResult
());
DepartmentDTO
departmentDTO
=
hr
.
getResult
();
departmentDTO
.
setHasSonNode
(
false
);
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
departmentDTO
);
}
...
...
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/controller/SyncDealContoller.java
0 → 100644
View file @
6b7c0713
package
com
.
gic
.
haoban
.
manage
.
web
.
controller
;
import
com.gic.haoban.common.utils.HaobanResponse
;
import
com.gic.haoban.manage.api.dto.SyncCheckDTO
;
import
com.gic.haoban.manage.api.service.DealSyncOperationApiService
;
import
com.gic.haoban.manage.web.auth.AuthRequestUtil
;
import
com.gic.haoban.manage.web.errCode.HaoBanErrCode
;
import
com.gic.haoban.manage.web.qo.SyncDealQO
;
import
com.gic.haoban.manage.web.vo.LoginVO
;
import
com.gic.redis.data.util.RedisUtil
;
import
org.apache.commons.lang.StringUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
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.ResponseBody
;
import
org.springframework.web.bind.annotation.RestController
;
@RestController
public
class
SyncDealContoller
extends
WebBaseController
{
private
static
Logger
logger
=
LoggerFactory
.
getLogger
(
SyncDealContoller
.
class
);
@Autowired
private
DealSyncOperationApiService
dealSyncOperationApiService
;
@RequestMapping
(
"/test/department-sync"
)
@ResponseBody
public
HaobanResponse
departmentBatchSyncTest
(
@RequestBody
SyncDealQO
qo
,
String
wxEid
)
{
String
task
=
null
;
if
(
StringUtils
.
isNotBlank
(
wxEid
))
{
task
=
dealSyncOperationApiService
.
createTask
(
wxEid
,
"门店同步"
,
"11111"
,
"部门同步"
);
dealSyncOperationApiService
.
dealDepartment
(
task
,
wxEid
,
qo
.
getAddDepartment
(),
qo
.
getEditDepartment
());
}
else
{
LoginVO
login
=
(
LoginVO
)
AuthRequestUtil
.
getSessionUser
();
String
wxEnterpriseId
=
login
.
getWxEnterpriseId
();
String
key
=
"haoban-sync-department-"
+
wxEnterpriseId
;
if
(
RedisUtil
.
getCache
(
key
)
!=
null
)
{
return
resultResponse
(
HaoBanErrCode
.
ERR_10011
);
}
task
=
dealSyncOperationApiService
.
createTask
(
wxEnterpriseId
,
"门店同步"
,
login
.
getStaffDTO
().
getStaffId
(),
"部门同步"
);
dealSyncOperationApiService
.
dealDepartment
(
task
,
login
.
getWxEnterpriseId
(),
qo
.
getAddDepartment
(),
qo
.
getEditDepartment
());
}
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
task
);
}
@RequestMapping
(
"/department-sync"
)
@ResponseBody
public
HaobanResponse
departmentBatchSync
(
@RequestBody
SyncDealQO
qo
)
{
String
task
=
null
;
LoginVO
login
=
(
LoginVO
)
AuthRequestUtil
.
getSessionUser
();
String
wxEnterpriseId
=
login
.
getWxEnterpriseId
();
String
taskLock
=
dealSyncOperationApiService
.
getTaskLock
(
wxEnterpriseId
);
if
(
null
!=
taskLock
)
{
return
resultResponse
(
HaoBanErrCode
.
ERR_10011
);
}
task
=
dealSyncOperationApiService
.
createTask
(
wxEnterpriseId
,
"门店同步"
,
login
.
getStaffDTO
().
getStaffId
(),
"部门同步"
);
dealSyncOperationApiService
.
dealDepartment
(
task
,
login
.
getWxEnterpriseId
(),
qo
.
getAddDepartment
(),
qo
.
getEditDepartment
());
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
task
);
}
/**
* 同步状态校验
*
* @param syncKey
* @return
*/
@RequestMapping
(
"department-sync-check"
)
public
HaobanResponse
syncSuccess
(
String
wxEnterpriseId
)
{
if
(
StringUtils
.
isBlank
(
wxEnterpriseId
))
{
LoginVO
login
=
(
LoginVO
)
AuthRequestUtil
.
getSessionUser
();
wxEnterpriseId
=
login
.
getWxEnterpriseId
();
}
SyncCheckDTO
taskCheck
=
dealSyncOperationApiService
.
getTaskCheck
(
wxEnterpriseId
);
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
taskCheck
);
}
/**
* 同步状态校验
*
* @param syncKey
* @return
*/
@RequestMapping
(
"/test/department-sync-check"
)
public
HaobanResponse
testSyncSuccess
(
String
wxEnterpriseId
)
{
if
(
StringUtils
.
isBlank
(
wxEnterpriseId
))
{
LoginVO
login
=
(
LoginVO
)
AuthRequestUtil
.
getSessionUser
();
wxEnterpriseId
=
login
.
getWxEnterpriseId
();
}
SyncCheckDTO
taskCheck
=
dealSyncOperationApiService
.
getTaskCheck
(
wxEnterpriseId
);
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
taskCheck
);
}
@RequestMapping
(
"/re-sync"
)
@ResponseBody
public
HaobanResponse
clerkReSync
(
String
taskId
)
{
if
(
StringUtils
.
isBlank
(
taskId
))
{
LoginVO
login
=
(
LoginVO
)
AuthRequestUtil
.
getSessionUser
();
String
wxEnterpriseId
=
login
.
getWxEnterpriseId
();
taskId
=
dealSyncOperationApiService
.
getTaskLock
(
wxEnterpriseId
);
}
dealSyncOperationApiService
.
reDealDepartment
(
taskId
,
-
1
);
return
resultResponse
(
HaoBanErrCode
.
ERR_1
);
}
}
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/qo/SyncDealQO.java
0 → 100644
View file @
6b7c0713
package
com
.
gic
.
haoban
.
manage
.
web
.
qo
;
import
com.gic.haoban.manage.api.dto.SyncSingleDealDTO
;
import
java.io.Serializable
;
import
java.util.List
;
public
class
SyncDealQO
implements
Serializable
{
private
List
<
SyncSingleDealDTO
>
editDepartment
;
private
List
<
SyncSingleDealDTO
>
addDepartment
;
public
List
<
SyncSingleDealDTO
>
getEditDepartment
()
{
return
editDepartment
;
}
public
void
setEditDepartment
(
List
<
SyncSingleDealDTO
>
editDepartment
)
{
this
.
editDepartment
=
editDepartment
;
}
public
List
<
SyncSingleDealDTO
>
getAddDepartment
()
{
return
addDepartment
;
}
public
void
setAddDepartment
(
List
<
SyncSingleDealDTO
>
addDepartment
)
{
this
.
addDepartment
=
addDepartment
;
}
}
haoban-manage3-web/src/main/webapp/WEB-INF/dubbo-haoban-manage-web.xml
View file @
6b7c0713
...
...
@@ -52,4 +52,7 @@
<dubbo:reference
interface=
"com.gic.wechat.token.api.service.QywxTokenManageService"
id=
"qywxTokenManageService"
/>
<dubbo:reference
interface=
"com.gic.haoban.manage.api.service.DealSyncOperationApiService"
id=
"dealSyncOperationApiService"
/>
</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