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
591bc844
Commit
591bc844
authored
Mar 06, 2025
by
徐高华
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
朋友圈
parent
e4e333bf
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
331 additions
and
96 deletions
+331
-96
QwMomentPlanQDTO.java
...m/gic/haoban/manage/api/qdto/moment/QwMomentPlanQDTO.java
+77
-73
QwMomentPlanMapper.java
.../manage/service/dao/mapper/moment/QwMomentPlanMapper.java
+6
-0
QwMomentPlanServiceImpl.java
.../service/service/moment/impl/QwMomentPlanServiceImpl.java
+138
-10
qwMomentPlanMapper.xml
...e/src/main/resources/mapper/moment/qwMomentPlanMapper.xml
+52
-0
MomentTest.java
haoban-manage3-service/src/test/java/MomentTest.java
+20
-5
QwOpenTest.java
haoban-manage3-service/src/test/java/QwOpenTest.java
+0
-0
QwMomentController.java
...oban/manage/web/controller/moment/QwMomentController.java
+28
-8
QwMomentPlanQO.java
...a/com/gic/haoban/manage/web/qo/moment/QwMomentPlanQO.java
+10
-0
No files found.
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/qdto/moment/QwMomentPlanQDTO.java
View file @
591bc844
package
com
.
gic
.
haoban
.
manage
.
api
.
qdto
.
moment
;
import
com.gic.api.base.commons.BasePageInfo
;
import
java.io.Serializable
;
import
java.util.Date
;
import
java.util.List
;
...
...
@@ -13,139 +15,140 @@ import java.util.List;
* @Modify
* @CopyRight 杭州
*/
public
class
QwMomentPlanQDTO
implements
Serializable
{
public
class
QwMomentPlanQDTO
extends
BasePageInfo
{
private
static
final
long
serialVersionUID
=
67027585759300L
;
private
String
wxEnterpriseId
;
private
String
enterpriseId
;
/**
* 名称
*/
private
String
title
;
/**
* 描述
*/
private
String
remark
;
/**
* 几天后失效
* 活动名称或id
*/
private
int
expireDays
;
private
String
nameParams
;
private
String
nameParamsLike
;
/**
* 执行方式
0企微1好办小程序
* 执行方式
*/
private
int
execType
;
private
Integer
execType
;
/**
*
1立即发布2定时发布
*
1进行中 2终止 0未开始 3 已结束
*/
private
Integer
publishType
;
private
Integer
statusFlag
;
/**
*
发布
时间
*
开始
时间
*/
private
Date
publishTime
;
private
Date
startTime
;
/**
*
0全部导购 1部分导购
*
结束时间
*/
private
Integer
planClerkType
;
private
Date
endTime
;
/**
*
0自主上传 1内容
*
创建人
*/
private
Integer
mediaType
;
private
List
<
String
>
creatorIdList
;
/**
*
素材json
*
排序字段 完成率:exec_rate 点赞:total_like_count 评论:total_comment_count
*/
private
String
mediaInfo
;
private
String
sortColumn
;
/**
*
素材回显内容
*
desc / asc
*/
private
String
mediaInfoShow
;
// 选择的导购id列表
private
List
<
String
>
selectClerkIdList
;
private
String
sortType
;
public
List
<
String
>
get
SelectClerk
IdList
()
{
return
selectClerk
IdList
;
public
List
<
String
>
get
Creator
IdList
()
{
return
creator
IdList
;
}
public
void
set
SelectClerkIdList
(
List
<
String
>
selectClerk
IdList
)
{
this
.
selectClerkIdList
=
selectClerk
IdList
;
public
void
set
CreatorIdList
(
List
<
String
>
creator
IdList
)
{
this
.
creatorIdList
=
creator
IdList
;
}
public
String
get
Titl
e
()
{
return
titl
e
;
public
String
get
NameParamsLik
e
()
{
return
nameParamsLik
e
;
}
public
void
set
Title
(
String
titl
e
)
{
this
.
title
=
titl
e
;
public
void
set
NameParamsLike
(
String
nameParamsLik
e
)
{
this
.
nameParamsLike
=
nameParamsLik
e
;
}
public
String
get
Remark
()
{
return
remark
;
public
String
get
WxEnterpriseId
()
{
return
wxEnterpriseId
;
}
public
void
set
Remark
(
String
remark
)
{
this
.
remark
=
remark
;
public
void
set
WxEnterpriseId
(
String
wxEnterpriseId
)
{
this
.
wxEnterpriseId
=
wxEnterpriseId
;
}
public
int
getExpireDays
()
{
return
e
xpireDays
;
public
String
getEnterpriseId
()
{
return
e
nterpriseId
;
}
public
void
setE
xpireDays
(
int
expireDays
)
{
this
.
e
xpireDays
=
expireDays
;
public
void
setE
nterpriseId
(
String
enterpriseId
)
{
this
.
e
nterpriseId
=
enterpriseId
;
}
public
int
getExecType
()
{
return
execType
;
public
String
getSortColumn
()
{
return
sortColumn
;
}
public
void
set
ExecType
(
int
execType
)
{
this
.
execType
=
execType
;
public
void
set
SortColumn
(
String
sortColumn
)
{
this
.
sortColumn
=
sortColumn
;
}
public
Integer
getPublish
Type
()
{
return
publish
Type
;
public
String
getSort
Type
()
{
return
sort
Type
;
}
public
void
set
PublishType
(
Integer
publish
Type
)
{
this
.
publishType
=
publish
Type
;
public
void
set
SortType
(
String
sort
Type
)
{
this
.
sortType
=
sort
Type
;
}
public
Date
getPublishTime
()
{
return
publishTime
;
public
String
getNameParams
()
{
return
nameParams
;
}
public
void
set
PublishTime
(
Date
publishTime
)
{
this
.
publishTime
=
publishTime
;
public
void
set
NameParams
(
String
nameParams
)
{
this
.
nameParams
=
nameParams
;
}
public
Integer
get
PlanClerk
Type
()
{
return
planClerk
Type
;
public
Integer
get
Exec
Type
()
{
return
exec
Type
;
}
public
void
set
PlanClerkType
(
Integer
planClerk
Type
)
{
this
.
planClerkType
=
planClerk
Type
;
public
void
set
ExecType
(
Integer
exec
Type
)
{
this
.
execType
=
exec
Type
;
}
public
Integer
get
MediaType
()
{
return
mediaType
;
public
Integer
get
StatusFlag
()
{
return
statusFlag
;
}
public
void
set
MediaType
(
Integer
mediaType
)
{
this
.
mediaType
=
mediaType
;
public
void
set
StatusFlag
(
Integer
statusFlag
)
{
this
.
statusFlag
=
statusFlag
;
}
public
String
getMediaInfo
()
{
return
mediaInfo
;
public
Date
getStartTime
()
{
return
startTime
;
}
public
void
set
MediaInfo
(
String
mediaInfo
)
{
this
.
mediaInfo
=
mediaInfo
;
public
void
set
StartTime
(
Date
startTime
)
{
this
.
startTime
=
startTime
;
}
public
String
getMediaInfoShow
()
{
return
mediaInfoShow
;
public
Date
getEndTime
()
{
return
endTime
;
}
public
void
set
MediaInfoShow
(
String
mediaInfoShow
)
{
this
.
mediaInfoShow
=
mediaInfoShow
;
public
void
set
EndTime
(
Date
endTime
)
{
this
.
endTime
=
endTime
;
}
}
\ No newline at end of file
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/dao/mapper/moment/QwMomentPlanMapper.java
View file @
591bc844
package
com
.
gic
.
haoban
.
manage
.
service
.
dao
.
mapper
.
moment
;
import
com.gic.haoban.manage.api.dto.moment.QwMomentPlanDTO
;
import
com.gic.haoban.manage.api.qdto.moment.QwMomentPlanQDTO
;
import
com.gic.haoban.manage.service.entity.moment.TabQwMomentPlan
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
public
interface
QwMomentPlanMapper
{
void
insert
(
TabQwMomentPlan
tab
)
;
...
...
@@ -15,4 +18,7 @@ public interface QwMomentPlanMapper {
TabQwMomentPlan
getById
(
@Param
(
"planId"
)
Long
planId
)
;
void
updateClerkNum
(
@Param
(
"planId"
)
Long
planId
,
@Param
(
"totalNum"
)
int
totalNum
,
@Param
(
"taskClerkNum"
)
int
taskClerkNum
,
@Param
(
"doneNum"
)
int
doneNum
);
List
<
TabQwMomentPlan
>
list
(
QwMomentPlanQDTO
qdto
);
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/moment/impl/QwMomentPlanServiceImpl.java
View file @
591bc844
...
...
@@ -3,28 +3,38 @@ package com.gic.haoban.manage.service.service.moment.impl;
import
com.alibaba.fastjson.JSONObject
;
import
com.gic.api.base.commons.Page
;
import
com.gic.api.base.commons.ServiceResponse
;
import
com.gic.clerk.api.dto.ClerkDTO
;
import
com.gic.clerk.api.service.ClerkService
;
import
com.gic.clerk.api.service.PowerService
;
import
com.gic.commons.util.DateUtil
;
import
com.gic.commons.util.EntityUtil
;
import
com.gic.commons.util.PageHelperUtils
;
import
com.gic.commons.util.UniqueIdUtils
;
import
com.gic.enterprise.api.dto.EnterpriseSettingDTO
;
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.StaffClerkRelationDTO
;
import
com.gic.haoban.manage.api.dto.moment.QwMomentPlanDTO
;
import
com.gic.haoban.manage.api.enums.NoticeMessageTypeEnum
;
import
com.gic.haoban.manage.api.qdto.moment.QwMomentPlanQDTO
;
import
com.gic.haoban.manage.api.
util.notify.NoticeMessageUtil
;
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.moment.QwMomentPlanAttendService
;
import
com.gic.haoban.manage.service.service.moment.QwMomentPlanService
;
import
com.gic.quartz.api.dto.QuartzTaskDTO
;
import
com.gic.quartz.api.service.QuartzService
;
import
com.github.pagehelper.PageHelper
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.logging.log4j.LogManager
;
import
org.apache.logging.log4j.Logger
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.*
;
import
java.util.stream.Collectors
;
@Service
(
"qwMomentPlanService"
)
...
...
@@ -37,6 +47,37 @@ public class QwMomentPlanServiceImpl implements QwMomentPlanService {
private
QwMomentPlanAttendService
qwMomentPlanAttendService
;
@Autowired
private
QwMomentPlanAttendMapper
qwMomentPlanAttendMapper
;
@Autowired
private
QuartzService
quartzService
;
@Autowired
private
ClerkService
clerkService
;
@Autowired
private
EnterpriseService
enterpriseService
;
@Autowired
private
StoreService
storeService
;
@Autowired
private
StaffClerkRelationApiService
staffClerkRelationApiService
;
@Autowired
private
PowerService
powerService
;
@Autowired
private
StoreWidgetService
storeWidgetService
;
@Override
public
ServiceResponse
<
Page
<
QwMomentPlanDTO
>>
planList
(
QwMomentPlanQDTO
qdto
)
{
PageHelper
.
startPage
(
qdto
);
if
(
StringUtils
.
isNotEmpty
(
qdto
.
getNameParams
()))
{
qdto
.
setNameParamsLike
(
"%"
+
qdto
.
getNameParams
()+
"%"
);
}
if
(
StringUtils
.
isBlank
(
qdto
.
getSortColumn
()))
{
qdto
.
setSortColumn
(
"create_time"
);
}
if
(
StringUtils
.
isBlank
(
qdto
.
getSortType
()))
{
qdto
.
setSortType
(
"desc"
);
}
List
<
TabQwMomentPlan
>
list
=
this
.
qwMomentPlanMapper
.
list
(
qdto
);
Page
<
QwMomentPlanDTO
>
retPage
=
PageHelperUtils
.
changePageHelperToCurrentPage
(
list
,
QwMomentPlanDTO
.
class
);
return
ServiceResponse
.
success
(
retPage
);
}
@Override
public
ServiceResponse
<
QwMomentPlanDTO
>
save
(
QwMomentPlanDTO
dto
)
{
...
...
@@ -51,6 +92,7 @@ public class QwMomentPlanServiceImpl implements QwMomentPlanService {
plan
.
setPublishTime
(
now
);
}
boolean
createFlag
=
false
;
boolean
publishFlag
=
false
;
plan
.
setBeginDate
(
plan
.
getPublishTime
());
Date
endTime
=
DateUtil
.
addDay
(
plan
.
getBeginDate
(),
plan
.
getExpireDays
());
plan
.
setEndDate
(
endTime
);
...
...
@@ -63,6 +105,11 @@ public class QwMomentPlanServiceImpl implements QwMomentPlanService {
plan
.
setStatusFlag
(
1
);
this
.
qwMomentPlanMapper
.
insert
(
plan
);
}
else
{
TabQwMomentPlan
oldPlan
=
this
.
qwMomentPlanMapper
.
getById
(
planId
)
;
// 更新为立即发布
if
(
oldPlan
.
getPublishType
()==
2
&&
plan
.
getPublishType
()==
1
)
{
publishFlag
=
true
;
}
this
.
qwMomentPlanMapper
.
update
(
plan
);
}
// 参与导购
...
...
@@ -85,6 +132,22 @@ public class QwMomentPlanServiceImpl implements QwMomentPlanService {
}
}
}
if
(
plan
.
getPublishType
()==
2
)
{
this
.
addOrDelTimer
(
planId
,
plan
.
getPublishTime
(),
1
);
}
else
{
this
.
addOrDelTimer
(
planId
,
new
Date
(),
0
);
if
(
createFlag
||
publishFlag
)
{
/* JSONObject jsonObject = new JSONObject() ;
jsonObject.put("type",0) ;
jsonObject.put("planId",planId) ;
try {
clientInstance.sendMessage("clerkTaskInitClerkMQ", jsonObject.toJSONString(),10);
} catch (Exception e) {
throw new RuntimeException(e);
}*/
}
}
return
ServiceResponse
.
success
(
dto
);
}
...
...
@@ -96,7 +159,7 @@ public class QwMomentPlanServiceImpl implements QwMomentPlanService {
int
messageType
=
0
;
// NoticeMessageTypeEnum.CLERK_TASK_SEND_NOTICE.getType();
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"planId"
,
planId
)
;
NoticeMessageUtil
.
sendNoticeMessage
(
enterpriseId
,
clerkId
,
messageType
,
null
,
map
,
jsonObject
);
//
NoticeMessageUtil.sendNoticeMessage(enterpriseId,clerkId,messageType,null,map,jsonObject);
}
...
...
@@ -119,10 +182,75 @@ public class QwMomentPlanServiceImpl implements QwMomentPlanService {
return
ServiceResponse
.
success
(
dto
);
}
@Override
public
ServiceResponse
<
Page
<
QwMomentPlanDTO
>>
planList
(
QwMomentPlanQDTO
qdto
)
{
return
null
;
private
void
addOrDelTimer
(
Long
planId
,
Date
sendTime
,
int
status
)
{
logger
.
info
(
"添加1/删除0定时,{},{}"
,
status
,
planId
);
QuartzTaskDTO
quartzTask
=
new
QuartzTaskDTO
();
quartzTask
.
setTaskStatus
(
status
);
String
taskTimeInfo
=
this
.
getTaskTime
(
sendTime
);
quartzTask
.
setTaskTimeInfo
(
taskTimeInfo
);
quartzTask
.
setTaskService
(
"com.gic.marketing.pro.api.service.clerktask.ClerkTaskApiService"
);
quartzTask
.
setTaskMethod
(
"sendPlanNoticeTimer"
);
quartzTask
.
setTaskParam
(
planId
+
""
);
quartzTask
.
setReferId
(
planId
+
""
);
try
{
quartzService
.
addOrUpdateQuartzTask
(
quartzTask
);
}
catch
(
Exception
e
)
{
logger
.
warn
(
"提交定时任务异常"
,
e
);
}
}
private
String
getTaskTime
(
Date
date
)
{
String
timeInfo
=
DateUtil
.
dateToStr
(
date
,
"yyyyMMddHHmmss"
);
String
year
=
timeInfo
.
substring
(
0
,
4
);
int
month
=
Integer
.
parseInt
(
timeInfo
.
substring
(
4
,
6
));
int
day
=
Integer
.
parseInt
(
timeInfo
.
substring
(
6
,
8
));
int
hour
=
Integer
.
parseInt
(
timeInfo
.
substring
(
8
,
10
));
int
minute
=
Integer
.
parseInt
(
timeInfo
.
substring
(
10
,
12
));
int
second
=
Integer
.
parseInt
(
timeInfo
.
substring
(
12
,
14
));
String
time
=
new
StringBuilder
().
append
(
second
).
append
(
" "
).
append
(
minute
).
append
(
" "
).
append
(
hour
).
append
(
" "
)
.
append
(
day
).
append
(
" "
).
append
(
month
).
append
(
" "
).
append
(
year
).
toString
();
return
time
;
}
private
void
saveAttendClerkForOpenTask
(
Long
planId
)
{
TabQwMomentPlan
plan
=
this
.
qwMomentPlanMapper
.
getById
(
planId
)
;
String
creatorId
=
plan
.
getCreatorId
()
;
String
enterpriseId
=
plan
.
getEnterpriseId
()
;
ClerkDTO
clerkDTO
=
this
.
clerkService
.
getclerkById
(
creatorId
)
;
EnterpriseSettingDTO
enterpriseSetting
=
enterpriseService
.
getEnterpriseSettingByEnterpriseId
(
enterpriseId
);
List
<
String
>
storeIdList
=
null
;
if
(
clerkDTO
.
getClerkType
()==
3
||
!(
enterpriseSetting
.
getEnableAccessControl
()
!=
null
&&
enterpriseSetting
.
getEnableAccessControl
()
==
1
))
{
logger
.
info
(
"超管"
);
StoreSearchDTO
searchDTO
=
new
StoreSearchDTO
()
;
searchDTO
.
setEnterpriseId
(
plan
.
getEnterpriseId
());
searchDTO
.
setStatus
(
"2"
);
storeIdList
=
this
.
storeService
.
listStoreIds
(
searchDTO
)
;
}
else
{
storeIdList
=
this
.
getStoreIdList
(
clerkDTO
)
;
}
List
<
StaffClerkRelationDTO
>
list
=
this
.
staffClerkRelationApiService
.
listByStoreIds
(
null
,
storeIdList
)
;
List
<
String
>
clerkIdList
=
list
.
stream
().
map
(
o
->
o
.
getClerkId
()).
collect
(
Collectors
.
toList
())
;
Page
<
ClerkDTO
>
userPage
=
this
.
clerkService
.
pageUserBySearchName
(
plan
.
getEnterpriseId
(),
null
,
1
,
1000
)
;
List
<
String
>
userIdList
=
userPage
.
getResult
().
stream
().
map
(
o
->
o
.
getClerkId
()).
collect
(
Collectors
.
toList
());
logger
.
info
(
"管理员列表={}"
,
userIdList
);
clerkIdList
.
stream
().
filter
(
o
->!
userIdList
.
contains
(
o
)).
collect
(
Collectors
.
toList
())
;
logger
.
info
(
"导购数量={}"
,
clerkIdList
.
size
());
this
.
qwMomentPlanAttendService
.
saveClerk
(
plan
.
getEnterpriseId
(),
planId
,
clerkIdList
);
this
.
qwMomentPlanMapper
.
updateClerkNum
(
planId
,
clerkIdList
.
size
(),-
1
,-
1
);
}
private
List
<
String
>
getStoreIdList
(
ClerkDTO
clerkDTO
)
{
String
clerkId
=
clerkDTO
.
getClerkId
();
String
enterpriseId
=
clerkDTO
.
getEnterpriseId
();
String
storeWidgetId
=
this
.
powerService
.
getStoreWidgetId
(
null
,
clerkId
);
// 门店id列表
List
<
String
>
storeIdList
=
storeWidgetService
.
getStoreWidgetStore
(
storeWidgetId
,
enterpriseId
,
null
,
null
,
2
);
logger
.
info
(
"组件id={},上线数量:{}"
,
storeWidgetId
,
storeIdList
.
size
());
if
(
CollectionUtils
.
isEmpty
(
storeIdList
))
{
return
Collections
.
emptyList
();
}
return
storeIdList
;
}
}
haoban-manage3-service/src/main/resources/mapper/moment/qwMomentPlanMapper.xml
View file @
591bc844
...
...
@@ -194,6 +194,41 @@
select
<include
refid=
"Base_Column_List"
/>
from tab_haoban_qw_moment_plan where plan_id =#{planId} and delete_flag = 0
</select>
<select
id=
"list"
resultMap=
"result-map-tabHaobanQwMomentPlan"
parameterType=
"com.gic.haoban.manage.api.qdto.moment.QwMomentPlanQDTO"
>
select
<include
refid=
"Base_Column_List"
/>
from tab_haoban_qw_moment_plan where wx_enterprise_id=#{wxEnterpriseId} and enterprise_id = #{enterpriseId}
<if
test=
"statusFlag ==0"
>
and ( status_flag = 1 and begin_date
<![CDATA[ > ]]>
DATE_FORMAT(NOW(),'%Y-%m-%d') )
</if>
<if
test=
"statusFlag ==1"
>
and ( status_flag = 1 and end_date
<![CDATA[ >= ]]>
DATE_FORMAT(NOW(),'%Y-%m-%d') and begin_date
<![CDATA[ <= ]]>
now() )
</if>
<if
test=
"statusFlag ==2"
>
and ( status_flag = 2 )
</if>
<if
test=
"statusFlag ==3"
>
and ( status_flag = 1 and end_date
<![CDATA[ < ]]>
DATE_FORMAT(NOW(),'%Y-%m-%d') )
</if>
<if
test=
"null != startTime"
>
and create_time >= #{startTime} and create_time
<![CDATA[ <= ]]>
#{endTime}
</if>
<if
test=
"null != nameParamsLike"
>
and ( title like #{nameParamsLike} or plan_id = #{nameParamsLike} )
</if>
<if
test=
"null != execType"
>
and exec_type = #{execType}
</if>
<if
test=
"null != creatorIdList and creatorIdList.size()>0"
>
AND creator_id IN
<foreach
collection=
"creatorIdList"
separator=
","
open=
"("
close=
")"
item=
"item"
>
#{item}
</foreach>
</if>
and delete_flag = 0 order by ${sortColumn} ${sortType}
</select>
<update
id=
"del"
parameterType=
"java.lang.Long"
>
update tab_haoban_qw_moment_plan set delete_flag = 1 where plan_id = #{planId}
</update>
...
...
@@ -202,4 +237,20 @@
update tab_haoban_qw_moment_plan set status_flag = 2 where plan_id = #{planId}
</update>
<update
id=
"updateClerkNum"
>
update tab_haoban_qw_moment_plan
<set>
<if
test=
"-1 != totalNum"
>
total_num = #{totalNum} ,
</if>
<if
test=
"-1 != taskClerkNum"
>
task_clerk_num = #{taskClerkNum} ,
</if>
<if
test=
"-1 != doneNum"
>
done_num = #{doneNum} ,
</if>
</set>
where plan_id = #{planId}
</update>
</mapper>
\ No newline at end of file
haoban-manage3-service/src/test/java/MomentTest.java
View file @
591bc844
...
...
@@ -3,6 +3,7 @@ import com.gic.commons.util.DateUtil;
import
com.gic.haoban.manage.api.dto.ContentMaterialDTO
;
import
com.gic.haoban.manage.api.dto.StaffClerkRelationDTO
;
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.moment.QwMomentApiService
;
import
com.gic.haoban.manage.service.service.chat.GroupChatPlanService
;
import
com.gic.haoban.manage.service.service.content.impl.GroupMessageServiceImpl
;
...
...
@@ -37,18 +38,32 @@ public class MomentTest {
dto
.
setEnterpriseId
(
"123"
);
dto
.
setExecType
(
1
);
dto
.
setExpireDays
(
10
);
dto
.
setPlanClerkType
(
1
);
dto
.
setPlanId
(
770643491869106177L
);
// ,"b2ef17cce11f476b996d0b27ebadf7fb"
List
<
String
>
clerkIds
=
Arrays
.
asList
(
"a02065ae51594fb9832e4199d4e3a1b0"
,
"753a367d709d40a38b17ed25847d3b4b"
)
;
dto
.
setSelectClerkIdList
(
clerkIds
);
this
.
qwMomentApiService
.
save
(
dto
)
;
}
this
.
qwMomentApiService
.
save
(
dto
)
;
@Test
public
void
page
()
{
QwMomentPlanQDTO
qdto
=
new
QwMomentPlanQDTO
();
qdto
.
setEnterpriseId
(
"123"
);
qdto
.
setWxEnterpriseId
(
"123"
);
qdto
.
setExecType
(
1
);
qdto
.
setStatusFlag
(
1
);
qdto
.
setStartTime
(
new
Date
());
qdto
.
setEndTime
(
new
Date
());
qdto
.
setNameParams
(
"123"
);
qdto
.
setPageNum
(
1
);
qdto
.
setPageSize
(
2
);
this
.
qwMomentApiService
.
planList
(
qdto
)
;
}
}
haoban-manage3-service/src/test/java/QwOpenTest.java
View file @
591bc844
This source diff could not be displayed because it is too large. You can
view the blob
instead.
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/controller/moment/QwMomentController.java
View file @
591bc844
...
...
@@ -7,6 +7,8 @@ import com.gic.clerk.api.dto.AuthorizedUser;
import
com.gic.commons.util.EntityUtil
;
import
com.gic.commons.util.PageHelperUtils
;
import
com.gic.commons.webapi.reponse.RestResponse
;
import
com.gic.haoban.base.api.common.pojo.dto.WebLoginDTO
;
import
com.gic.haoban.common.utils.AuthWebRequestUtil
;
import
com.gic.haoban.manage.api.dto.moment.QwMomentPlanAttendDTO
;
import
com.gic.haoban.manage.api.dto.moment.QwMomentPlanDTO
;
import
com.gic.haoban.manage.api.dto.moment.QwMomentPlanDataDTO
;
...
...
@@ -19,6 +21,7 @@ import com.gic.haoban.manage.web.qo.moment.PlanClerkListQO;
import
com.gic.haoban.manage.web.qo.moment.PlanDataListQO
;
import
com.gic.haoban.manage.web.qo.moment.PlanListQO
;
import
com.gic.haoban.manage.web.qo.moment.QwMomentPlanQO
;
import
com.gic.haoban.manage.web.utils.CreatorUtils
;
import
com.gic.haoban.manage.web.vo.moment.HaobanQwMomentPlanVO
;
import
com.gic.haoban.manage.web.vo.moment.QwMomentPlanAttendVO
;
import
com.gic.haoban.manage.web.vo.moment.QwMomentPlanDataVO
;
...
...
@@ -54,8 +57,14 @@ public class QwMomentController {
@ResponseBody
public
RestResponse
<
String
>
add
(
@RequestBody
QwMomentPlanQO
qo
){
logger
.
info
(
"新建任务={}"
,
JSONObject
.
toJSONString
(
qo
));
AuthorizedUser
loginUser
=
SessionContextUtils
.
getLoginUser
()
;
return
null
;
QwMomentPlanDTO
plan
=
EntityUtil
.
changeEntityByJSON
(
QwMomentPlanDTO
.
class
,
qo
)
;
WebLoginDTO
loginUser
=
AuthWebRequestUtil
.
getLoginUser
();
plan
.
setEnterpriseId
(
loginUser
.
getEnterpriseId
());
plan
.
setWxEnterpriseId
(
loginUser
.
getWxEnterpriseId
());
plan
.
setCreatorId
(
loginUser
.
getClerkId
());
plan
.
setCreatorName
(
loginUser
.
getClerkName
());
ServiceResponse
<
QwMomentPlanDTO
>
resp
=
this
.
qwMomentApiService
.
save
(
plan
)
;
return
RestResponse
.
successResult
(
resp
.
getResult
().
getPlanId
()+
""
)
;
}
...
...
@@ -64,10 +73,20 @@ public class QwMomentController {
*/
@RequestMapping
(
"update"
)
@ResponseBody
@GicLogRecord
(
value
=
"${#logValue}"
,
category
=
GicLogRecordCategoryEnum
.
CLERKTASK
,
optType
=
GicLogRecordOptTypeEnum
.
CLERKTASK_EIDT
,
userFunc
=
LogRecordUserServiceImpl
.
class
,
optPage
=
"营销-导购任务"
)
//
@GicLogRecord(value = "${#logValue}", category = GicLogRecordCategoryEnum.CLERKTASK, optType = GicLogRecordOptTypeEnum.CLERKTASK_EIDT, userFunc = LogRecordUserServiceImpl.class, optPage = "营销-导购任务")
public
RestResponse
<
String
>
update
(
@RequestBody
QwMomentPlanQO
qo
)
{
return
null
;
logger
.
info
(
"更新任务={}"
,
JSONObject
.
toJSONString
(
qo
));
if
(
null
==
qo
.
getPlanId
())
{
return
RestResponse
.
failure
(
"9999"
,
"活动id为空"
)
;
}
QwMomentPlanDTO
plan
=
EntityUtil
.
changeEntityByJSON
(
QwMomentPlanDTO
.
class
,
qo
)
;
WebLoginDTO
loginUser
=
AuthWebRequestUtil
.
getLoginUser
();
plan
.
setEnterpriseId
(
loginUser
.
getEnterpriseId
());
plan
.
setWxEnterpriseId
(
loginUser
.
getWxEnterpriseId
());
plan
.
setCreatorId
(
loginUser
.
getClerkId
());
plan
.
setCreatorName
(
loginUser
.
getClerkName
());
ServiceResponse
<
QwMomentPlanDTO
>
resp
=
this
.
qwMomentApiService
.
save
(
plan
)
;
return
RestResponse
.
successResult
(
resp
.
getResult
().
getPlanId
()+
""
)
;
}
/**
...
...
@@ -76,7 +95,7 @@ public class QwMomentController {
*/
@RequestMapping
(
"del"
)
@ResponseBody
@GicLogRecord
(
value
=
"${#logValue}"
,
category
=
GicLogRecordCategoryEnum
.
CLERKTASK
,
optType
=
GicLogRecordOptTypeEnum
.
CLERKTASK_DEL
,
userFunc
=
LogRecordUserServiceImpl
.
class
,
optPage
=
"营销-导购任务"
)
//
@GicLogRecord(value = "${#logValue}", category = GicLogRecordCategoryEnum.CLERKTASK, optType = GicLogRecordOptTypeEnum.CLERKTASK_DEL, userFunc = LogRecordUserServiceImpl.class, optPage = "营销-导购任务")
public
RestResponse
<
Void
>
del
(
Long
planId
){
ServiceResponse
<
QwMomentPlanDTO
>
resp
=
this
.
qwMomentApiService
.
detail
(
planId
)
;
if
(
null
==
resp
.
getResult
())
{
...
...
@@ -95,7 +114,7 @@ public class QwMomentController {
*/
@RequestMapping
(
"stop"
)
@ResponseBody
@GicLogRecord
(
value
=
"${#logValue}"
,
category
=
GicLogRecordCategoryEnum
.
CLERKTASK
,
optType
=
GicLogRecordOptTypeEnum
.
CLERKTASK_STOP
,
userFunc
=
LogRecordUserServiceImpl
.
class
,
optPage
=
"营销-导购任务"
)
//
@GicLogRecord(value = "${#logValue}", category = GicLogRecordCategoryEnum.CLERKTASK, optType = GicLogRecordOptTypeEnum.CLERKTASK_STOP, userFunc = LogRecordUserServiceImpl.class, optPage = "营销-导购任务")
public
RestResponse
<
Void
>
stop
(
Long
planId
){
ServiceResponse
<
QwMomentPlanDTO
>
resp
=
this
.
qwMomentApiService
.
detail
(
planId
)
;
if
(
null
==
resp
.
getResult
())
{
...
...
@@ -136,7 +155,8 @@ public class QwMomentController {
*/
@RequestMapping
(
"plan-list"
)
public
RestResponse
<
Page
<
HaobanQwMomentPlanVO
>>
planList
(
@RequestBody
PlanListQO
qo
)
{
QwMomentPlanQDTO
qdto
=
new
QwMomentPlanQDTO
()
;
QwMomentPlanQDTO
qdto
=
EntityUtil
.
changeEntityByJSON
(
QwMomentPlanQDTO
.
class
,
qo
)
;
qdto
.
setCreatorIdList
(
CreatorUtils
.
getCreatorIdList
(
qo
.
getShowSelfFlag
()));
ServiceResponse
<
Page
<
QwMomentPlanDTO
>>
resp
=
this
.
qwMomentApiService
.
planList
(
qdto
)
;
Page
<
HaobanQwMomentPlanVO
>
retPage
=
PageHelperUtils
.
changePageToCurrentPage
(
resp
.
getResult
(),
HaobanQwMomentPlanVO
.
class
);
return
RestResponse
.
successResult
(
retPage
);
...
...
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/qo/moment/QwMomentPlanQO.java
View file @
591bc844
...
...
@@ -17,6 +17,8 @@ public class QwMomentPlanQO implements Serializable {
private
static
final
long
serialVersionUID
=
67027585759300L
;
private
Long
planId
;
/**
* 名称
*/
...
...
@@ -61,6 +63,14 @@ public class QwMomentPlanQO implements Serializable {
// 选择的导购id列表
private
List
<
String
>
selectClerkIdList
;
public
Long
getPlanId
()
{
return
planId
;
}
public
void
setPlanId
(
Long
planId
)
{
this
.
planId
=
planId
;
}
public
List
<
String
>
getSelectClerkIdList
()
{
return
selectClerkIdList
;
}
...
...
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