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
dabb8067
Commit
dabb8067
authored
Jun 12, 2025
by
徐高华
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'feature/xgh/202506迭代' into 'developer'
Feature/xgh/202506迭代 See merge request
!2952
parents
dd6bba17
a2c74fac
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
59 additions
and
21 deletions
+59
-21
QywxCallbackController.java
.../haoban/manage/web/controller/QywxCallbackController.java
+1
-1
GroupChatPlanController.java
...n/manage/web/controller/chat/GroupChatPlanController.java
+20
-20
QywxOpenTaskController.java
...an/manage/web/controller/open/QywxOpenTaskController.java
+12
-0
GroupChatPlanExcelVO.java
...m/gic/haoban/manage/web/vo/chat/GroupChatPlanExcelVO.java
+26
-0
No files found.
haoban-manage3-operation-web/src/main/java/com/gic/haoban/manage/web/controller/QywxCallbackController.java
View file @
dabb8067
...
...
@@ -135,7 +135,7 @@ public class QywxCallbackController extends WebBaseController {
private
void
chat
(
String
uuid
,
JSONObject
json
)
{
int
msgtype
=
json
.
getIntValue
(
"msgtype"
);
// 群发任务
if
(
msgtype
==
573
)
{
if
(
msgtype
==
573
||
msgtype
==
529
)
{
json
.
put
(
"uuid"
,
uuid
);
this
.
openQwApiService
.
saveNotice
(
json
.
toJSONString
());
return
;
...
...
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/controller/chat/GroupChatPlanController.java
View file @
dabb8067
...
...
@@ -49,7 +49,7 @@ import javax.servlet.http.HttpServletResponse;
/**
*
* @ClassName: GroupChatPlanController
* @Description: 群群发
任务
* @Description: 群群发
活动
* @author xugh
* @date 2022年11月26日 上午9:32:56
*
...
...
@@ -94,12 +94,12 @@ public class GroupChatPlanController {
public
RestResponse
<
Object
>
del
(
Long
planId
)
{
if
(
null
==
planId
)
{
GicLogRecordEvaluationContext
.
noWriteLog
();
return
RestResponse
.
failure
(
"9999"
,
"
任务
ID空"
);
return
RestResponse
.
failure
(
"9999"
,
"
活动
ID空"
);
}
ServiceResponse
<
GroupChatPlanDTO
>
planResp
=
this
.
groupChatPlanApiService
.
detail
(
planId
);
if
(!
planResp
.
isSuccess
())
{
GicLogRecordEvaluationContext
.
noWriteLog
();
return
RestResponse
.
failure
(
"1"
,
"
任务
不存在"
);
return
RestResponse
.
failure
(
"1"
,
"
活动
不存在"
);
}
WebLoginDTO
loginUser
=
AuthWebRequestUtil
.
getLoginUser
();
this
.
groupChatPlanApiService
.
del
(
loginUser
.
getClerkId
(),
loginUser
.
getClerkName
(),
planId
);
...
...
@@ -123,17 +123,17 @@ public class GroupChatPlanController {
public
RestResponse
<
Object
>
stop
(
Long
planId
)
{
if
(
null
==
planId
)
{
GicLogRecordEvaluationContext
.
noWriteLog
();
return
RestResponse
.
failure
(
"9999"
,
"
任务
ID空"
);
return
RestResponse
.
failure
(
"9999"
,
"
活动
ID空"
);
}
ServiceResponse
<
GroupChatPlanDTO
>
planResp
=
this
.
groupChatPlanApiService
.
detail
(
planId
);
if
(!
planResp
.
isSuccess
())
{
GicLogRecordEvaluationContext
.
noWriteLog
();
return
RestResponse
.
failure
(
"1"
,
"
任务
不存在"
);
return
RestResponse
.
failure
(
"1"
,
"
活动
不存在"
);
}
GroupChatPlanDTO
plan
=
planResp
.
getResult
();
if
(
plan
.
getEndTime
().
getTime
()
<=
new
Date
().
getTime
())
{
GicLogRecordEvaluationContext
.
noWriteLog
();
return
RestResponse
.
failure
(
"1"
,
"
任务
已结束"
);
return
RestResponse
.
failure
(
"1"
,
"
活动
已结束"
);
}
WebLoginDTO
loginUser
=
AuthWebRequestUtil
.
getLoginUser
();
this
.
groupChatPlanApiService
.
stop
(
loginUser
.
getClerkId
(),
loginUser
.
getClerkName
(),
planId
);
...
...
@@ -151,12 +151,12 @@ public class GroupChatPlanController {
GroupChatPlanDTO
oldPlan
=
oldResp
.
getResult
();
if
(
null
==
oldPlan
)
{
GicLogRecordEvaluationContext
.
noWriteLog
();
return
RestResponse
.
failure
(
"9999"
,
"
任务
不存在"
);
return
RestResponse
.
failure
(
"9999"
,
"
活动
不存在"
);
}
long
now
=
System
.
currentTimeMillis
();
if
(
oldPlan
.
getEndTime
().
getTime
()
<=
now
||
oldPlan
.
getStatusFlag
()
==
0
)
{
GicLogRecordEvaluationContext
.
noWriteLog
();
return
RestResponse
.
failure
(
"9999"
,
"
任务
已结束"
);
return
RestResponse
.
failure
(
"9999"
,
"
活动
已结束"
);
}
WebLoginDTO
loginUser
=
AuthWebRequestUtil
.
getLoginUser
();
dto
.
setWxEnterpriseId
(
loginUser
.
getWxEnterpriseId
());
...
...
@@ -164,7 +164,7 @@ public class GroupChatPlanController {
dto
.
setModifierId
(
loginUser
.
getClerkId
());
dto
.
setModifierName
(
loginUser
.
getClerkName
());
ServiceResponse
<
GroupChatPlanDTO
>
resp
=
null
;
//
任务
进行中只能编辑备注
//
活动
进行中只能编辑备注
if
(
oldPlan
.
getStartTime
().
getTime
()
<=
now
&&
oldPlan
.
getEndTime
().
getTime
()
>=
now
)
{
resp
=
this
.
groupChatPlanApiService
.
updateRemark
(
dto
);
}
else
{
...
...
@@ -187,11 +187,11 @@ public class GroupChatPlanController {
String
wxEnterpriseId
=
newDTO
.
getWxEnterpriseId
();
String
enterpriseId
=
newDTO
.
getEnterpriseId
();
StringBuilder
content
=
new
StringBuilder
();
String
a
=
comp
(
wxEnterpriseId
,
enterpriseId
,
"
任务
标题"
,
oldDTO
.
getName
(),
newDTO
.
getName
(),
0
);
String
a
=
comp
(
wxEnterpriseId
,
enterpriseId
,
"
活动
标题"
,
oldDTO
.
getName
(),
newDTO
.
getName
(),
0
);
if
(
null
!=
a
)
{
content
.
append
(
a
);
}
String
b
=
comp
(
wxEnterpriseId
,
enterpriseId
,
"
任务
描述"
,
oldDTO
.
getRemark
(),
newDTO
.
getRemark
(),
0
);
String
b
=
comp
(
wxEnterpriseId
,
enterpriseId
,
"
活动
描述"
,
oldDTO
.
getRemark
(),
newDTO
.
getRemark
(),
0
);
if
(
null
!=
b
)
{
content
.
append
(
b
);
}
...
...
@@ -298,7 +298,7 @@ public class GroupChatPlanController {
public
RestResponse
<
Object
>
detail
(
Long
planId
,
@RequestParam
(
defaultValue
=
"0"
)
int
updteFlag
)
{
ServiceResponse
<
GroupChatPlanDTO
>
planResp
=
this
.
groupChatPlanApiService
.
detail
(
planId
);
if
(!
planResp
.
isSuccess
())
{
return
RestResponse
.
failure
(
"1"
,
"
任务
不存在"
);
return
RestResponse
.
failure
(
"1"
,
"
活动
不存在"
);
}
GroupChatPlanDTO
plan
=
planResp
.
getResult
();
plan
.
getStaffIdList
();
...
...
@@ -355,14 +355,14 @@ public class GroupChatPlanController {
@RequestMapping
(
"owner-log"
)
public
RestResponse
<
Object
>
ownerLog
(
Long
planId
,
GroupChatPlanSearchQDTO
qdto
,
BasePageInfo
basePageInfo
)
{
if
(
null
==
planId
)
{
return
RestResponse
.
failure
(
"9999"
,
"
任务
ID空"
);
return
RestResponse
.
failure
(
"9999"
,
"
活动
ID空"
);
}
WebLoginDTO
loginUser
=
AuthWebRequestUtil
.
getLoginUser
();
qdto
.
setWxEnterpriseId
(
loginUser
.
getWxEnterpriseId
());
ServiceResponse
<
Page
<
GroupChatPlanOwnerLogDTO
>>
resp
=
this
.
groupChatPlanApiService
.
listOwnerLogPage
(
planId
,
qdto
,
basePageInfo
);
if
(!
resp
.
isSuccess
())
{
return
RestResponse
.
failure
(
"1"
,
"
任务
不存在"
);
return
RestResponse
.
failure
(
"1"
,
"
活动
不存在"
);
}
return
RestResponse
.
successResult
(
resp
.
getResult
());
}
...
...
@@ -370,14 +370,14 @@ public class GroupChatPlanController {
@RequestMapping
(
"log"
)
public
RestResponse
<
Object
>
log
(
Long
planId
,
GroupChatPlanSearchQDTO
qdto
,
BasePageInfo
basePageInfo
)
{
if
(
null
==
planId
)
{
return
RestResponse
.
failure
(
"9999"
,
"
任务
ID空"
);
return
RestResponse
.
failure
(
"9999"
,
"
活动
ID空"
);
}
WebLoginDTO
loginUser
=
AuthWebRequestUtil
.
getLoginUser
();
qdto
.
setWxEnterpriseId
(
loginUser
.
getWxEnterpriseId
());
ServiceResponse
<
Page
<
GroupChatPlanLogDTO
>>
resp
=
this
.
groupChatPlanApiService
.
listLogPage
(
planId
,
qdto
,
basePageInfo
);
if
(!
resp
.
isSuccess
())
{
return
RestResponse
.
failure
(
"1"
,
"
任务
不存在"
);
return
RestResponse
.
failure
(
"1"
,
"
活动
不存在"
);
}
return
RestResponse
.
successResult
(
resp
.
getResult
());
}
...
...
@@ -445,9 +445,9 @@ public class GroupChatPlanController {
}
//设置sheet的表头与表名
String
[]
groupChatListSheetHead
=
{
"
任务名称"
,
"任务状态"
,
"已完成群主数"
,
"未完成群主数"
,
"完成率"
,
"已送达群数"
,
"任务开始时间"
,
"任务
结束时间"
,
"创建人"
,
"创建时间"
};
String
[]
sendSheetHead
=
{
"
任务名称"
,
"发送人"
,
"关联导购"
,
"关联导购code"
,
"关联门店"
,
"关联门店code"
,
"完成状态"
,
"已送达客户群数"
,
"发送时间"
,
"任务开始时间"
,
"任务
结束时间"
};
String
[]
receiveSheetHead
=
{
"
任务名称"
,
"群名称"
,
"群人数"
,
"发送人"
,
"关联导购"
,
"关联导购code"
,
"关联门店"
,
"关联门店code"
,
"发送状态"
,
"发送时间"
,
"任务开始时间"
,
"任务
结束时间"
};
String
[]
groupChatListSheetHead
=
{
"
活动名称"
,
"活动状态"
,
"执行方式"
,
"已完成群主数"
,
"未完成群主数"
,
"完成率"
,
"已送达群数"
,
"活动开始时间"
,
"活动
结束时间"
,
"创建人"
,
"创建时间"
};
String
[]
sendSheetHead
=
{
"
活动名称"
,
"发送人"
,
"关联导购"
,
"关联导购code"
,
"关联门店"
,
"关联门店code"
,
"完成状态"
,
"已送达客户群数"
,
"发送时间"
,
"活动开始时间"
,
"活动
结束时间"
};
String
[]
receiveSheetHead
=
{
"
活动名称"
,
"群名称"
,
"群人数"
,
"发送人"
,
"关联导购"
,
"关联导购code"
,
"关联门店"
,
"关联门店code"
,
"发送状态"
,
"发送时间"
,
"活动开始时间"
,
"活动
结束时间"
};
List
<
ExcelSheet
>
mysheet
=
new
ArrayList
<>();
ExcelSheet
groupChatListExcel
=
new
ExcelSheet
(
"客户群发列表"
,
groupChatListSheetHead
,
changeGroupChatPlanExcelVOList
(
groupChatPlanExcelVOList
));
...
...
@@ -467,7 +467,7 @@ public class GroupChatPlanController {
String
startTime
=
DateUtil
.
formatString
(
vo
.
getStartTime
(),
DateUtil
.
FORMAT_DATETIME_19
);
String
endTime
=
DateUtil
.
formatString
(
vo
.
getEndTime
(),
DateUtil
.
FORMAT_DATETIME_19
);
String
createTime
=
DateUtil
.
formatString
(
vo
.
getCreateTime
(),
DateUtil
.
FORMAT_DATETIME_19
);
String
[]
a
=
{
vo
.
getName
(),
vo
.
getStatus
(),
vo
.
getSendCount
()==
null
?
""
:
vo
.
getSendCount
().
toString
(),
vo
.
getStaffCount
()==
null
?
""
:
vo
.
getStaffCount
().
toString
(),
String
[]
a
=
{
vo
.
getName
(),
vo
.
getStatus
(),
vo
.
get
ExecTypeExcel
(),
vo
.
get
SendCount
()==
null
?
""
:
vo
.
getSendCount
().
toString
(),
vo
.
getStaffCount
()==
null
?
""
:
vo
.
getStaffCount
().
toString
(),
vo
.
getCompletionRate
(),
vo
.
getSuccessChatCount
()==
null
?
""
:
vo
.
getSuccessChatCount
().
toString
(),
startTime
,
endTime
,
vo
.
getCreatorName
(),
createTime
};
result
.
add
(
a
);
}
...
...
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/controller/open/QywxOpenTaskController.java
View file @
dabb8067
...
...
@@ -726,6 +726,18 @@ public class QywxOpenTaskController {
}
newType
+=
"社群群发"
;
}
if
(
oldSendType
.
contains
(
"3"
))
{
if
(
StringUtils
.
isNotBlank
(
oldType
))
{
oldType
+=
"、"
;
}
oldType
+=
"企微朋友圈"
;
}
if
(
newSendType
.
contains
(
"3"
))
{
if
(
StringUtils
.
isNotBlank
(
newType
))
{
newType
+=
"、"
;
}
newType
+=
"企微朋友圈"
;
}
if
(!
oldType
.
equals
(
newType
))
{
logContent2
+=
"执行消息类型从【"
+
oldType
+
"】修改为【"
+
newType
+
"】"
;
}
...
...
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/vo/chat/GroupChatPlanExcelVO.java
View file @
dabb8067
...
...
@@ -60,6 +60,30 @@ public class GroupChatPlanExcelVO extends Object implements Serializable{
*/
private
Date
createTime
;
private
int
execType
;
// 执行方式 0企微1好办小程序
private
String
execTypeExcel
;
public
int
getExecType
()
{
return
execType
;
}
public
void
setExecType
(
int
execType
)
{
this
.
execType
=
execType
;
}
public
String
getExecTypeExcel
()
{
if
(
execType
==
1
)
{
return
"好办小程序发送"
;
}
return
"企微快捷键发送"
;
}
public
void
setExecTypeExcel
(
String
execTypeExcel
)
{
this
.
execTypeExcel
=
execTypeExcel
;
}
public
String
getName
()
{
return
name
;
}
...
...
@@ -80,6 +104,8 @@ public class GroupChatPlanExcelVO extends Object implements Serializable{
return
status
;
}
public
void
setStatus
(
String
status
)
{
this
.
status
=
status
;
}
...
...
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