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
cb7c2a99
Commit
cb7c2a99
authored
Mar 06, 2025
by
徐高华
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
朋友圈
parent
c7f95ea8
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
238 additions
and
21 deletions
+238
-21
QwMomentApiService.java
.../haoban/manage/api/service/moment/QwMomentApiService.java
+13
-0
QwMomentPlanMapper.java
.../manage/service/dao/mapper/moment/QwMomentPlanMapper.java
+1
-0
StaffClerkBO.java
...ic/haoban/manage/service/pojo/bo/moment/StaffClerkBO.java
+24
-0
QwMomentPlanService.java
...an/manage/service/service/moment/QwMomentPlanService.java
+3
-0
QwMomentPlanServiceImpl.java
.../service/service/moment/impl/QwMomentPlanServiceImpl.java
+63
-12
QwMomentApiServiceImpl.java
...rvice/service/out/impl/moment/QwMomentApiServiceImpl.java
+10
-0
qwMomentPlanMapper.xml
...e/src/main/resources/mapper/moment/qwMomentPlanMapper.xml
+1
-1
MomentTest.java
haoban-manage3-service/src/test/java/MomentTest.java
+6
-7
QwMomentController.java
...oban/manage/web/controller/moment/QwMomentController.java
+1
-1
PlanClerkListVO.java
.../com/gic/haoban/manage/web/vo/moment/PlanClerkListVO.java
+11
-0
PlanDetailVO.java
...ava/com/gic/haoban/manage/web/vo/moment/PlanDetailVO.java
+105
-0
No files found.
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/service/moment/QwMomentApiService.java
View file @
cb7c2a99
...
...
@@ -25,4 +25,17 @@ public interface QwMomentApiService {
ServiceResponse
<
Page
<
QwMomentPlanDataDTO
>>
dataList
(
PlanDataListQDTO
qdto
)
;
/**
* 全部导购处理
* @param params
*/
void
initTaskClerk
(
String
params
)
;
/**
* 定时发送任务创建通知/执行
* @param params
*/
void
sendPlanNoticeTimer
(
String
params
)
;
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/dao/mapper/moment/QwMomentPlanMapper.java
View file @
cb7c2a99
...
...
@@ -14,6 +14,7 @@ public interface QwMomentPlanMapper {
void
update
(
TabQwMomentPlan
tab
)
;
void
del
(
@Param
(
"planId"
)
Long
planId
)
;
void
stop
(
@Param
(
"planId"
)
Long
planId
)
;
TabQwMomentPlan
getById
(
@Param
(
"planId"
)
Long
planId
)
;
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/pojo/bo/moment/StaffClerkBO.java
0 → 100644
View file @
cb7c2a99
package
com
.
gic
.
haoban
.
manage
.
service
.
pojo
.
bo
.
moment
;
public
class
StaffClerkBO
{
private
String
staffId
;
private
String
clerkId
;
public
String
getStaffId
()
{
return
staffId
;
}
public
void
setStaffId
(
String
staffId
)
{
this
.
staffId
=
staffId
;
}
public
String
getClerkId
()
{
return
clerkId
;
}
public
void
setClerkId
(
String
clerkId
)
{
this
.
clerkId
=
clerkId
;
}
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/moment/QwMomentPlanService.java
View file @
cb7c2a99
...
...
@@ -17,4 +17,7 @@ public interface QwMomentPlanService {
ServiceResponse
<
Page
<
QwMomentPlanDTO
>>
planList
(
QwMomentPlanQDTO
qdto
)
;
void
initTaskClerk
(
String
params
);
void
sendPlanNoticeTimer
(
String
params
);
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/moment/impl/QwMomentPlanServiceImpl.java
View file @
cb7c2a99
...
...
@@ -15,13 +15,16 @@ import com.gic.enterprise.api.dto.StoreSearchDTO;
import
com.gic.enterprise.api.service.EnterpriseService
;
import
com.gic.enterprise.api.service.StoreService
;
import
com.gic.enterprise.api.service.StoreWidgetService
;
import
com.gic.haoban.manage.api.dto.ContentMaterialDTO
;
import
com.gic.haoban.manage.api.dto.StaffClerkRelationDTO
;
import
com.gic.haoban.manage.api.dto.moment.QwMomentPlanAttendDTO
;
import
com.gic.haoban.manage.api.dto.moment.QwMomentPlanDTO
;
import
com.gic.haoban.manage.api.qdto.moment.QwMomentPlanQDTO
;
import
com.gic.haoban.manage.api.service.StaffClerkRelationApiService
;
import
com.gic.haoban.manage.service.dao.mapper.moment.QwMomentPlanAttendMapper
;
import
com.gic.haoban.manage.service.dao.mapper.moment.QwMomentPlanMapper
;
import
com.gic.haoban.manage.service.entity.moment.TabQwMomentPlan
;
import
com.gic.haoban.manage.service.service.QywxSendService
;
import
com.gic.haoban.manage.service.service.moment.QwMomentPlanAttendService
;
import
com.gic.haoban.manage.service.service.moment.QwMomentPlanService
;
import
com.gic.quartz.api.dto.QuartzTaskDTO
;
...
...
@@ -61,6 +64,8 @@ public class QwMomentPlanServiceImpl implements QwMomentPlanService {
private
PowerService
powerService
;
@Autowired
private
StoreWidgetService
storeWidgetService
;
@Autowired
private
QywxSendService
qywxSendService
;
@Override
public
ServiceResponse
<
Page
<
QwMomentPlanDTO
>>
planList
(
QwMomentPlanQDTO
qdto
)
{
...
...
@@ -125,11 +130,6 @@ public class QwMomentPlanServiceImpl implements QwMomentPlanService {
if
(
CollectionUtils
.
isNotEmpty
(
delList
))
{
this
.
qwMomentPlanAttendMapper
.
delClerks
(
planId
,
delList
);
}
if
(
CollectionUtils
.
isNotEmpty
(
addList
))
{
for
(
String
clerkId
:
addList
)
{
this
.
sendTaskToClerk
(
plan
.
getEnterpriseId
(),
clerkId
,
plan
.
getPlanId
());
}
}
}
}
...
...
@@ -138,20 +138,19 @@ public class QwMomentPlanServiceImpl implements QwMomentPlanService {
}
else
{
this
.
addOrDelTimer
(
planId
,
new
Date
(),
0
);
if
(
createFlag
||
publishFlag
)
{
/* JSONObject jsonObject = new JSONObject() ;
jsonObject.put("type",0) ;
JSONObject
jsonObject
=
new
JSONObject
()
;
jsonObject
.
put
(
"planId"
,
planId
)
;
this
.
initTaskClerk
(
jsonObject
.
toJSONString
());
try
{
clientInstance.sendMessage("clerkTaskInitClerkMQ", jsonObject.toJSONString(),10);
//
clientInstance.sendMessage("clerkTaskInitClerkMQ", jsonObject.toJSONString(),10);
}
catch
(
Exception
e
)
{
throw
new
RuntimeException
(
e
);
}
*/
}
}
}
return
ServiceResponse
.
success
(
dto
);
}
private
void
sendTaskToClerk
(
String
enterpriseId
,
String
clerkId
,
Long
planId
)
{
logger
.
info
(
"发送任务通知,clerkId={}"
,
clerkId
);
// 发送通知
...
...
@@ -188,7 +187,7 @@ public class QwMomentPlanServiceImpl implements QwMomentPlanService {
quartzTask
.
setTaskStatus
(
status
);
String
taskTimeInfo
=
this
.
getTaskTime
(
sendTime
);
quartzTask
.
setTaskTimeInfo
(
taskTimeInfo
);
quartzTask
.
setTaskService
(
"com.gic.
marketing.pro.api.service.clerktask.ClerkTask
ApiService"
);
quartzTask
.
setTaskService
(
"com.gic.
haoban.manage.api.service.moment.QwMoment
ApiService"
);
quartzTask
.
setTaskMethod
(
"sendPlanNoticeTimer"
);
quartzTask
.
setTaskParam
(
planId
+
""
);
quartzTask
.
setReferId
(
planId
+
""
);
...
...
@@ -213,7 +212,7 @@ public class QwMomentPlanServiceImpl implements QwMomentPlanService {
}
private
void
saveAttendClerkFor
Open
Task
(
Long
planId
)
{
private
void
saveAttendClerkForTask
(
Long
planId
)
{
TabQwMomentPlan
plan
=
this
.
qwMomentPlanMapper
.
getById
(
planId
)
;
String
creatorId
=
plan
.
getCreatorId
()
;
String
enterpriseId
=
plan
.
getEnterpriseId
()
;
...
...
@@ -253,4 +252,56 @@ public class QwMomentPlanServiceImpl implements QwMomentPlanService {
return
storeIdList
;
}
@Override
public
void
initTaskClerk
(
String
params
)
{
JSONObject
json
=
JSONObject
.
parseObject
(
params
)
;
Long
planId
=
json
.
getLong
(
"planId"
)
;
TabQwMomentPlan
plan
=
this
.
qwMomentPlanMapper
.
getById
(
planId
)
;
// 0全部导购 1部分导购
if
(
plan
.
getPlanClerkType
()==
0
)
{
this
.
saveAttendClerkForTask
(
planId
)
;
}
this
.
sendPlanNotice
(
plan
);
}
// 发送活动通知
private
void
sendPlanNotice
(
TabQwMomentPlan
plan
)
{
if
(
plan
.
getPublishType
()==
1
||
plan
.
getPublishTime
().
getTime
()
<=
System
.
currentTimeMillis
())
{
long
planId
=
plan
.
getPlanId
();
if
(
plan
.
getExecType
()==
1
)
{
// 好办小程序
List
<
QwMomentPlanAttendDTO
>
list
=
this
.
qwMomentPlanAttendMapper
.
listClerk
(
planId
);
if
(
CollectionUtils
.
isNotEmpty
(
list
))
{
for
(
QwMomentPlanAttendDTO
dto
:
list
)
{
this
.
sendTaskToClerk
(
plan
.
getEnterpriseId
(),
dto
.
getClerkId
(),
plan
.
getPlanId
());
}
}
}
else
{
// 企微下发任务
this
.
sendToQiwei
(
plan
);
}
}
}
private
void
sendToQiwei
(
TabQwMomentPlan
plan
)
{
List
<
ContentMaterialDTO
>
imageList
=
new
ArrayList
<>()
;
ContentMaterialDTO
d1
=
new
ContentMaterialDTO
();
d1
.
setMaterialType
(
2
);
d1
.
setImgUrl
(
"https://platform-1251519181.cos.ap-shanghai.myqcloud.com/image/jhdm/common-8ed0204b143c4cc0803ec153cd51f481.png?imageView2/format/jpg/q/50"
);
imageList
.
add
(
d1
)
;
ServiceResponse
<
String
>
resp
=
this
.
qywxSendService
.
share
(
plan
.
getWxEnterpriseId
(),
Arrays
.
asList
(
"b2ef17cce11f476b996d0b27ebadf7fb"
),
"朋友圈"
,
imageList
)
;
logger
.
info
(
"发企微朋友={}"
,
JSONObject
.
toJSONString
(
resp
));
}
@Override
public
void
sendPlanNoticeTimer
(
String
params
)
{
logger
.
info
(
"定时发布任务发送通知={}"
,
params
);
Long
planId
=
Long
.
valueOf
(
params
)
;
TabQwMomentPlan
plan
=
this
.
qwMomentPlanMapper
.
getById
(
planId
)
;
// 0全部导购 1部分导购
if
(
plan
.
getPlanClerkType
()==
0
)
{
this
.
saveAttendClerkForTask
(
planId
)
;
}
this
.
sendPlanNotice
(
plan
);
}
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/out/impl/moment/QwMomentApiServiceImpl.java
View file @
cb7c2a99
...
...
@@ -58,4 +58,14 @@ public class QwMomentApiServiceImpl implements QwMomentApiService {
public
ServiceResponse
<
Page
<
QwMomentPlanDataDTO
>>
dataList
(
PlanDataListQDTO
qdto
)
{
return
this
.
qwMomentPlanDataService
.
dataList
(
qdto
)
;
}
@Override
public
void
initTaskClerk
(
String
params
)
{
this
.
qwMomentPlanService
.
initTaskClerk
(
params
)
;
}
@Override
public
void
sendPlanNoticeTimer
(
String
params
)
{
this
.
qwMomentPlanService
.
sendPlanNoticeTimer
(
params
)
;
}
}
haoban-manage3-service/src/main/resources/mapper/moment/qwMomentPlanMapper.xml
View file @
cb7c2a99
...
...
@@ -232,7 +232,7 @@
</update>
<update
id=
"stop"
parameterType=
"java.lang.Long"
>
update tab_haoban_qw_moment_plan set status_flag = 2 where plan_id = #{planId}
update tab_haoban_qw_moment_plan set status_flag = 2
, stop_time = now()
where plan_id = #{planId}
</update>
<update
id=
"updateClerkNum"
>
...
...
haoban-manage3-service/src/test/java/MomentTest.java
View file @
cb7c2a99
...
...
@@ -30,16 +30,15 @@ public class MomentTest {
@Test
public
void
ddd
()
{
QwMomentPlanDTO
dto
=
new
QwMomentPlanDTO
()
;
dto
.
setPublishType
(
2
);
dto
.
setPublishType
(
1
);
dto
.
setPublishTime
(
new
Date
());
dto
.
setWxEnterpriseId
(
"
123
"
);
dto
.
setCreatorId
(
"
11
"
);
dto
.
setCreatorName
(
"
222
"
);
dto
.
setEnterpriseId
(
"
123
"
);
dto
.
setExecType
(
1
);
dto
.
setWxEnterpriseId
(
"
ca66a01b79474c40b3e7c7f93daf1a3b
"
);
dto
.
setCreatorId
(
"
fefd1c81641711e69d0818c58a146fd2
"
);
dto
.
setCreatorName
(
"
达摩管理
"
);
dto
.
setEnterpriseId
(
"
ff8080815dacd3a2015dacd3ef5c0000
"
);
dto
.
setExecType
(
0
);
dto
.
setExpireDays
(
10
);
dto
.
setPlanClerkType
(
1
);
dto
.
setPlanId
(
770643491869106177L
);
// ,"b2ef17cce11f476b996d0b27ebadf7fb"
List
<
String
>
clerkIds
=
Arrays
.
asList
(
"a02065ae51594fb9832e4199d4e3a1b0"
,
"753a367d709d40a38b17ed25847d3b4b"
)
;
dto
.
setSelectClerkIdList
(
clerkIds
);
...
...
haoban-manage3-wx/src/main/java/com/gic/haoban/manage/web/controller/moment/QwMomentController.java
View file @
cb7c2a99
...
...
@@ -56,7 +56,7 @@ public class QwMomentController {
* 活动任务详情
*/
@RequestMapping
(
"detail"
)
public
RestResponse
<
P
age
<
PlanDetailVO
>
>
detail
(
Long
planId
,
String
execClerkId
)
{
public
RestResponse
<
P
lanDetailVO
>
detail
(
Long
planId
,
String
execClerkId
)
{
return
null
;
}
...
...
haoban-manage3-wx/src/main/java/com/gic/haoban/manage/web/vo/moment/PlanClerkListVO.java
View file @
cb7c2a99
...
...
@@ -44,6 +44,17 @@ public class PlanClerkListVO implements Serializable {
*/
private
Integer
taskStatus
;
// 完成时间
private
Date
sendTime
;
public
Date
getSendTime
()
{
return
sendTime
;
}
public
void
setSendTime
(
Date
sendTime
)
{
this
.
sendTime
=
sendTime
;
}
public
Long
getPlanId
()
{
return
planId
;
}
...
...
haoban-manage3-wx/src/main/java/com/gic/haoban/manage/web/vo/moment/PlanDetailVO.java
View file @
cb7c2a99
...
...
@@ -47,4 +47,109 @@ public class PlanDetailVO implements Serializable {
/**任务执行完成时间*/
private
Date
sendTime
;
/**
* 执行方式 0企微1好办小程序
*/
private
int
execType
;
/**
* 数据更新时间
*/
private
Date
qwDataTime
;
public
Long
getPlanId
()
{
return
planId
;
}
public
void
setPlanId
(
Long
planId
)
{
this
.
planId
=
planId
;
}
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
getName
()
{
return
name
;
}
public
void
setName
(
String
name
)
{
this
.
name
=
name
;
}
public
String
getRemark
()
{
return
remark
;
}
public
void
setRemark
(
String
remark
)
{
this
.
remark
=
remark
;
}
public
Date
getStartTime
()
{
return
startTime
;
}
public
void
setStartTime
(
Date
startTime
)
{
this
.
startTime
=
startTime
;
}
public
Date
getEndTime
()
{
return
endTime
;
}
public
void
setEndTime
(
Date
endTime
)
{
this
.
endTime
=
endTime
;
}
public
int
getLinkCount
()
{
return
linkCount
;
}
public
void
setLinkCount
(
int
linkCount
)
{
this
.
linkCount
=
linkCount
;
}
public
int
getCommentCount
()
{
return
commentCount
;
}
public
void
setCommentCount
(
int
commentCount
)
{
this
.
commentCount
=
commentCount
;
}
public
Date
getSendTime
()
{
return
sendTime
;
}
public
void
setSendTime
(
Date
sendTime
)
{
this
.
sendTime
=
sendTime
;
}
public
int
getExecType
()
{
return
execType
;
}
public
void
setExecType
(
int
execType
)
{
this
.
execType
=
execType
;
}
public
Date
getQwDataTime
()
{
return
qwDataTime
;
}
public
void
setQwDataTime
(
Date
qwDataTime
)
{
this
.
qwDataTime
=
qwDataTime
;
}
}
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