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
8dd153da
Commit
8dd153da
authored
Dec 09, 2022
by
徐高华
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
群发
parent
11e905c7
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
268 additions
and
190 deletions
+268
-190
GroupChatPlanDTO.java
.../com/gic/haoban/manage/api/dto/chat/GroupChatPlanDTO.java
+12
-2
GroupChatPlanMapper.java
...n/manage/service/dao/mapper/chat/GroupChatPlanMapper.java
+2
-0
TabGroupChatPlan.java
...c/haoban/manage/service/entity/chat/TabGroupChatPlan.java
+197
-168
GroupChatPlanBO.java
...c/haoban/manage/service/pojo/bo/chat/GroupChatPlanBO.java
+12
-2
GroupChatPlanServiceImpl.java
...e/service/service/chat/impl/GroupChatPlanServiceImpl.java
+20
-10
GroupChatDataMapper.xml
...ce/src/main/resources/mapper/chat/GroupChatDataMapper.xml
+1
-1
GroupChatPlanMapper.xml
...ce/src/main/resources/mapper/chat/GroupChatPlanMapper.xml
+9
-5
GroupChatPlanController.java
...n/manage/web/controller/chat/GroupChatPlanController.java
+15
-2
No files found.
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/dto/chat/GroupChatPlanDTO.java
View file @
8dd153da
...
...
@@ -46,8 +46,18 @@ public class GroupChatPlanDTO implements Serializable{
private
Integer
successChatCount
;
/**总群数*/
private
Integer
totalChatCount
;
public
String
getWxEnterpriseId
()
{
// 1代发送 2已发送
private
Integer
sendFlag
;
public
Integer
getSendFlag
()
{
return
sendFlag
;
}
public
void
setSendFlag
(
Integer
sendFlag
)
{
this
.
sendFlag
=
sendFlag
;
}
public
String
getWxEnterpriseId
()
{
return
wxEnterpriseId
;
}
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/dao/mapper/chat/GroupChatPlanMapper.java
View file @
8dd153da
...
...
@@ -23,6 +23,8 @@ public interface GroupChatPlanMapper {
public
int
deleteById
(
@Param
(
"planId"
)
Long
planId
,
@Param
(
"clerkId"
)
String
clerkId
,
@Param
(
"clerkName"
)
String
clerkName
);
public
int
updateSendFlag
(
@Param
(
"planId"
)
Long
planId
);
public
int
updateById
(
TabGroupChatPlan
entity
);
public
TabGroupChatPlan
selectById
(
Long
planId
);
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/entity/chat/TabGroupChatPlan.java
View file @
8dd153da
package
com
.
gic
.
haoban
.
manage
.
service
.
entity
.
chat
;
import
java.io.Serializable
;
import
java.io.Serializable
;
/**
*
...
...
@@ -11,44 +11,54 @@ import java.io.Serializable ;
* @Modify
* @CopyRight
*/
public
class
TabGroupChatPlan
implements
Serializable
{
private
static
final
long
serialVersionUID
=
21576537277600L
;
private
Long
planId
;
private
String
name
;
private
String
remark
;
/**[{relation_id:素材id,content:回显示内容}]*/
private
String
chatContent
;
private
String
creatorId
;
private
String
creatorName
;
public
class
TabGroupChatPlan
implements
Serializable
{
private
static
final
long
serialVersionUID
=
21576537277600L
;
private
Long
planId
;
private
String
name
;
private
String
remark
;
/**[{relation_id:素材id,content:回显示内容}]*/
private
String
chatContent
;
private
String
creatorId
;
private
String
creatorName
;
private
String
modifierId
;
private
String
modifierName
;
private
java
.
util
.
Date
createTime
;
private
java
.
util
.
Date
updateTime
;
/**0已删除 1有效*/
private
Integer
statusFlag
;
/**1立即发送 2定时发送*/
private
Integer
sendType
;
private
java
.
util
.
Date
sendTime
;
private
java
.
util
.
Date
startTime
;
private
java
.
util
.
Date
endTime
;
/**几天后失效*/
private
Integer
expireDays
;
private
String
staffIdList
;
/**群主数量*/
private
Integer
staffCount
;
/**已完成任务的群主数量*/
private
Integer
sendCount
;
/**已送达数的群数*/
private
Integer
successChatCount
;
/**总群数*/
private
Integer
totalChatCount
;
private
java
.
util
.
Date
createTime
;
private
java
.
util
.
Date
updateTime
;
/**0已删除 1有效*/
private
Integer
statusFlag
;
/**1立即发送 2定时发送*/
private
Integer
sendType
;
private
java
.
util
.
Date
sendTime
;
private
java
.
util
.
Date
startTime
;
private
java
.
util
.
Date
endTime
;
/**几天后失效*/
private
Integer
expireDays
;
private
String
staffIdList
;
/**群主数量*/
private
Integer
staffCount
;
/**已完成任务的群主数量*/
private
Integer
sendCount
;
/**已送达数的群数*/
private
Integer
successChatCount
;
/**总群数*/
private
Integer
totalChatCount
;
private
String
wxEnterpriseId
;
private
String
enterpriseId
;
public
String
getWxEnterpriseId
()
{
// 1代发送 2已发送
private
Integer
sendFlag
;
public
Integer
getSendFlag
()
{
return
sendFlag
;
}
public
void
setSendFlag
(
Integer
sendFlag
)
{
this
.
sendFlag
=
sendFlag
;
}
public
String
getWxEnterpriseId
()
{
return
wxEnterpriseId
;
}
...
...
@@ -80,137 +90,155 @@ public class TabGroupChatPlan implements Serializable{
this
.
modifierName
=
modifierName
;
}
public
void
setPlanId
(
Long
planId
){
this
.
planId
=
planId
;
}
public
Long
getPlanId
(){
return
planId
;
}
public
void
setName
(
String
name
){
this
.
name
=
name
;
}
public
String
getName
(){
return
name
;
}
public
void
setRemark
(
String
remark
){
this
.
remark
=
remark
;
}
public
String
getRemark
(){
return
remark
;
}
public
void
setChatContent
(
String
chatContent
){
this
.
chatContent
=
chatContent
;
}
public
String
getChatContent
(){
return
chatContent
;
}
public
void
setCreatorId
(
String
creatorId
){
this
.
creatorId
=
creatorId
;
}
public
String
getCreatorId
(){
return
creatorId
;
}
public
void
setCreatorName
(
String
creatorName
){
this
.
creatorName
=
creatorName
;
}
public
String
getCreatorName
(){
return
creatorName
;
}
public
void
setCreateTime
(
java
.
util
.
Date
createTime
){
this
.
createTime
=
createTime
;
}
public
java
.
util
.
Date
getCreateTime
(){
return
createTime
;
}
public
void
setUpdateTime
(
java
.
util
.
Date
updateTime
){
this
.
updateTime
=
updateTime
;
}
public
java
.
util
.
Date
getUpdateTime
(){
return
updateTime
;
}
public
void
setStatusFlag
(
Integer
statusFlag
){
this
.
statusFlag
=
statusFlag
;
}
public
Integer
getStatusFlag
(){
return
statusFlag
;
}
public
void
setSendType
(
Integer
sendType
){
this
.
sendType
=
sendType
;
}
public
Integer
getSendType
(){
return
sendType
;
}
public
void
setSendTime
(
java
.
util
.
Date
sendTime
){
this
.
sendTime
=
sendTime
;
}
public
java
.
util
.
Date
getSendTime
(){
return
sendTime
;
}
public
void
setStartTime
(
java
.
util
.
Date
startTime
){
this
.
startTime
=
startTime
;
}
public
java
.
util
.
Date
getStartTime
(){
return
startTime
;
}
public
void
setEndTime
(
java
.
util
.
Date
endTime
){
this
.
endTime
=
endTime
;
}
public
java
.
util
.
Date
getEndTime
(){
return
endTime
;
}
public
void
setExpireDays
(
Integer
expireDays
){
this
.
expireDays
=
expireDays
;
}
public
Integer
getExpireDays
(){
return
expireDays
;
}
public
void
setStaffIdList
(
String
staffIdList
){
this
.
staffIdList
=
staffIdList
;
}
public
String
getStaffIdList
(){
return
staffIdList
;
}
public
void
setStaffCount
(
Integer
staffCount
){
this
.
staffCount
=
staffCount
;
}
public
Integer
getStaffCount
(){
return
staffCount
;
}
public
void
setSendCount
(
Integer
sendCount
){
this
.
sendCount
=
sendCount
;
}
public
Integer
getSendCount
(){
return
sendCount
;
}
public
void
setSuccessChatCount
(
Integer
successChatCount
){
this
.
successChatCount
=
successChatCount
;
}
public
Integer
getSuccessChatCount
(){
return
successChatCount
;
}
public
void
setTotalChatCount
(
Integer
totalChatCount
){
this
.
totalChatCount
=
totalChatCount
;
}
public
Integer
getTotalChatCount
(){
return
totalChatCount
;
}
public
void
setPlanId
(
Long
planId
)
{
this
.
planId
=
planId
;
}
public
Long
getPlanId
()
{
return
planId
;
}
public
void
setName
(
String
name
)
{
this
.
name
=
name
;
}
public
String
getName
()
{
return
name
;
}
public
void
setRemark
(
String
remark
)
{
this
.
remark
=
remark
;
}
public
String
getRemark
()
{
return
remark
;
}
public
void
setChatContent
(
String
chatContent
)
{
this
.
chatContent
=
chatContent
;
}
public
String
getChatContent
()
{
return
chatContent
;
}
public
void
setCreatorId
(
String
creatorId
)
{
this
.
creatorId
=
creatorId
;
}
public
String
getCreatorId
()
{
return
creatorId
;
}
public
void
setCreatorName
(
String
creatorName
)
{
this
.
creatorName
=
creatorName
;
}
public
String
getCreatorName
()
{
return
creatorName
;
}
public
void
setCreateTime
(
java
.
util
.
Date
createTime
)
{
this
.
createTime
=
createTime
;
}
public
java
.
util
.
Date
getCreateTime
()
{
return
createTime
;
}
public
void
setUpdateTime
(
java
.
util
.
Date
updateTime
)
{
this
.
updateTime
=
updateTime
;
}
public
java
.
util
.
Date
getUpdateTime
()
{
return
updateTime
;
}
public
void
setStatusFlag
(
Integer
statusFlag
)
{
this
.
statusFlag
=
statusFlag
;
}
public
Integer
getStatusFlag
()
{
return
statusFlag
;
}
public
void
setSendType
(
Integer
sendType
)
{
this
.
sendType
=
sendType
;
}
public
Integer
getSendType
()
{
return
sendType
;
}
public
void
setSendTime
(
java
.
util
.
Date
sendTime
)
{
this
.
sendTime
=
sendTime
;
}
public
java
.
util
.
Date
getSendTime
()
{
return
sendTime
;
}
public
void
setStartTime
(
java
.
util
.
Date
startTime
)
{
this
.
startTime
=
startTime
;
}
public
java
.
util
.
Date
getStartTime
()
{
return
startTime
;
}
public
void
setEndTime
(
java
.
util
.
Date
endTime
)
{
this
.
endTime
=
endTime
;
}
public
java
.
util
.
Date
getEndTime
()
{
return
endTime
;
}
public
void
setExpireDays
(
Integer
expireDays
)
{
this
.
expireDays
=
expireDays
;
}
public
Integer
getExpireDays
()
{
return
expireDays
;
}
public
void
setStaffIdList
(
String
staffIdList
)
{
this
.
staffIdList
=
staffIdList
;
}
public
String
getStaffIdList
()
{
return
staffIdList
;
}
public
void
setStaffCount
(
Integer
staffCount
)
{
this
.
staffCount
=
staffCount
;
}
public
Integer
getStaffCount
()
{
return
staffCount
;
}
public
void
setSendCount
(
Integer
sendCount
)
{
this
.
sendCount
=
sendCount
;
}
public
Integer
getSendCount
()
{
return
sendCount
;
}
public
void
setSuccessChatCount
(
Integer
successChatCount
)
{
this
.
successChatCount
=
successChatCount
;
}
public
Integer
getSuccessChatCount
()
{
return
successChatCount
;
}
public
void
setTotalChatCount
(
Integer
totalChatCount
)
{
this
.
totalChatCount
=
totalChatCount
;
}
public
Integer
getTotalChatCount
()
{
return
totalChatCount
;
}
}
\ No newline at end of file
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/pojo/bo/chat/GroupChatPlanBO.java
View file @
8dd153da
...
...
@@ -47,8 +47,18 @@ public class GroupChatPlanBO implements Serializable{
private
Integer
successChatCount
;
/**总群数*/
private
Integer
totalChatCount
;
public
String
getWxEnterpriseId
()
{
// 1代发送 2已发送
private
Integer
sendFlag
;
public
Integer
getSendFlag
()
{
return
sendFlag
;
}
public
void
setSendFlag
(
Integer
sendFlag
)
{
this
.
sendFlag
=
sendFlag
;
}
public
String
getWxEnterpriseId
()
{
return
wxEnterpriseId
;
}
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/chat/impl/GroupChatPlanServiceImpl.java
View file @
8dd153da
...
...
@@ -101,22 +101,27 @@ public class GroupChatPlanServiceImpl implements GroupChatPlanService {
@Override
public
void
save
(
GroupChatPlanDTO
dto
)
{
TabGroupChatPlan
entity
=
EntityUtil
.
changeEntityByJSON
(
TabGroupChatPlan
.
class
,
dto
);
if
(
null
==
dto
.
getPlanId
())
{
entity
.
setPlanId
(
UniqueIdUtils
.
uniqueLong
());
Long
planId
=
dto
.
getPlanId
();
if
(
null
==
planId
)
{
planId
=
UniqueIdUtils
.
uniqueLong
();
entity
.
setPlanId
(
planId
);
if
(
entity
.
getSendType
()
==
1
)
{
entity
.
setSendTime
(
new
Date
());
}
this
.
groupChatPlanMapper
.
insert
(
entity
);
// 立即发送
if
(
entity
.
getSendType
()
==
1
)
{
this
.
sendMQ
(
entity
.
getPlanId
());
}
else
{
this
.
addTimer
(
entity
.
getPlanId
(),
entity
.
getSendTime
(),
1
);
}
else
{
this
.
add
OrDel
Timer
(
entity
.
getPlanId
(),
entity
.
getSendTime
(),
1
);
}
}
else
{
this
.
groupChatPlanMapper
.
updateById
(
entity
);
// 立即发送
if
(
entity
.
getSendType
()
==
1
)
{
this
.
sendMQ
(
entity
.
getPlanId
());
}
else
{
this
.
addTimer
(
entity
.
getPlanId
(),
entity
.
getSendTime
(),
1
);
}
else
{
this
.
add
OrDel
Timer
(
entity
.
getPlanId
(),
entity
.
getSendTime
(),
1
);
}
}
}
...
...
@@ -144,6 +149,11 @@ public class GroupChatPlanServiceImpl implements GroupChatPlanService {
logger
.
info
(
"计划不存在,planid={}"
,
planId
);
return
;
}
if
(
plan
.
getSendFlag
()
==
2
)
{
logger
.
info
(
"计划已执行过,planid={}"
,
planId
);
return
;
}
this
.
groupChatPlanMapper
.
updateSendFlag
(
planId
);
// 控制重复发送
String
[]
staffIdList
=
plan
.
getStaffIdList
().
split
(
","
);
String
wxEnterpriseId
=
plan
.
getWxEnterpriseId
();
...
...
@@ -229,11 +239,11 @@ public class GroupChatPlanServiceImpl implements GroupChatPlanService {
}
}
}
@Override
public
void
del
(
String
clerkId
,
String
clerkName
,
Long
planId
)
{
this
.
groupChatPlanMapper
.
deleteById
(
planId
,
clerkId
,
clerkName
)
;
this
.
addTimer
(
planId
,
new
Date
(),
0
);
this
.
groupChatPlanMapper
.
deleteById
(
planId
,
clerkId
,
clerkName
)
;
this
.
add
OrDel
Timer
(
planId
,
new
Date
(),
0
);
}
@Override
...
...
@@ -281,7 +291,7 @@ public class GroupChatPlanServiceImpl implements GroupChatPlanService {
return
retPage
;
}
public
void
addTimer
(
Long
planId
,
Date
sendTime
,
int
status
)
{
public
void
add
OrDel
Timer
(
Long
planId
,
Date
sendTime
,
int
status
)
{
QuartzTaskDTO
quartzTask
=
new
QuartzTaskDTO
();
quartzTask
.
setTaskStatus
(
status
);
String
taskTimeInfo
=
this
.
getTaskTime
(
sendTime
);
...
...
haoban-manage3-service/src/main/resources/mapper/chat/GroupChatDataMapper.xml
View file @
8dd153da
...
...
@@ -86,7 +86,7 @@
a. migrate_trainee_chat_cnt migrateTraineeChatCnt
from tab_haoban_group_chat_data a left join tab_haoban_staff b on a.staff_id = b.staff_id
where a.wx_enterprise_id = #{wxEnterpriseId}
and a.date >= #{startDate} and a.date
<
=
#{endDate}
and a.date >= #{startDate} and a.date
<
![CDATA[ <= ]]>
#{endDate}
<if
test=
"null != staffIdList and staffIdList.size > 0"
>
and a.staff_id in
<foreach
collection=
"staffIdList"
close=
")"
open=
"("
index=
"index"
item=
"staffId"
separator=
","
>
...
...
haoban-manage3-service/src/main/resources/mapper/chat/GroupChatPlanMapper.xml
View file @
8dd153da
...
...
@@ -28,6 +28,7 @@
<result
column=
"success_chat_count"
property=
"successChatCount"
/>
<result
column=
"total_chat_count"
property=
"totalChatCount"
/>
<result
column=
"delete_flag"
property=
"deleteFlag"
/>
<result
column=
"send_flag"
property=
"sendFlag"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
plan_id,
...
...
@@ -51,7 +52,7 @@
send_count,
success_chat_count,
total_chat_count ,
wx_enterprise_id , enterprise_id
wx_enterprise_id , enterprise_id
, send_flag , delete_flag
</sql>
<!-- ===================== 新增 ======================== -->
<insert
id=
"insert"
...
...
@@ -78,7 +79,7 @@
staff_count,
send_count,
success_chat_count,
total_chat_count , wx_enterprise_id , enterprise_id , delete_flag
total_chat_count , wx_enterprise_id , enterprise_id , delete_flag
, send_flag
)VALUES(
#{planId},
#{name},
...
...
@@ -100,7 +101,7 @@
#{staffCount},
#{sendCount},
#{successChatCount},
#{totalChatCount} , #{wxEnterpriseId} , #{enterpriseId} , 0
#{totalChatCount} , #{wxEnterpriseId} , #{enterpriseId} , 0
, 1
)
]]>
</insert>
...
...
@@ -111,8 +112,11 @@
tab_haoban_group_chat_plan SET delete_flag = 1 , modifierId =
#{clerkId} , modifierName = #{clerkName} WHERE plan_id = #{planId}
</update>
<update
id=
"updateSendFlag"
>
UPDATE tab_haoban_group_chat_plan SET send_flag = 2 , send_time = now() WHERE plan_id = #{planId}
</update>
<!-- ==================更新 ========== -->
<update
id=
"updateById"
parameterType=
"com.gic.haoban.manage.service.entity.chat.TabGroupChatPlan"
>
...
...
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/controller/chat/GroupChatPlanController.java
View file @
8dd153da
package
com
.
gic
.
haoban
.
manage
.
web
.
controller
.
chat
;
import
java.util.Date
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
...
...
@@ -48,12 +50,23 @@ public class GroupChatPlanController {
@RequestMapping
(
"del"
)
public
RestResponse
<
Object
>
del
(
Long
planId
)
{
WebLoginDTO
loginUser
=
AuthWebRequestUtil
.
getLoginUser
();
this
.
groupChatPlanApiService
.
del
(
loginUser
.
getClerkId
(),
loginUser
.
getClerkName
()
,
planId
);
this
.
groupChatPlanApiService
.
del
(
loginUser
.
getClerkId
(),
loginUser
.
getClerkName
(),
planId
);
return
RestResponse
.
successResult
();
}
@RequestMapping
(
"update"
)
public
RestResponse
<
Object
>
update
(
@RequestBody
GroupChatPlanDTO
dto
)
{
ServiceResponse
<
GroupChatPlanDTO
>
resp
=
this
.
groupChatPlanApiService
.
detail
(
dto
.
getPlanId
());
GroupChatPlanDTO
plan
=
resp
.
getResult
();
if
(
null
==
plan
)
{
return
RestResponse
.
failure
(
"9999"
,
"计划不存在"
);
}
if
(
plan
.
getSendType
()
==
1
)
{
return
RestResponse
.
failure
(
"9999"
,
"已发送的不能编辑"
);
}
if
(
null
!=
plan
.
getSendTime
()
&&
plan
.
getSendTime
().
before
(
new
Date
()))
{
return
RestResponse
.
failure
(
"9999"
,
"已发送的不能编辑"
);
}
WebLoginDTO
loginUser
=
AuthWebRequestUtil
.
getLoginUser
();
dto
.
setModifierId
(
loginUser
.
getClerkId
());
dto
.
setModifierName
(
loginUser
.
getClerkName
());
...
...
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