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
11ec7efa
Commit
11ec7efa
authored
Oct 11, 2024
by
王祖波
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
活动奖励保存修改
parent
cad08b94
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
351 additions
and
127 deletions
+351
-127
GroupChatActivityBaseDTO.java
.../haoban/manage/api/dto/chat/GroupChatActivityBaseDTO.java
+4
-2
GroupChatActivityDTO.java
.../gic/haoban/manage/api/dto/chat/GroupChatActivityDTO.java
+7
-6
GroupChatActivityRewardBaseDTO.java
...n/manage/api/dto/chat/GroupChatActivityRewardBaseDTO.java
+196
-0
GroupChatActivityRewardDTO.java
...aoban/manage/api/dto/chat/GroupChatActivityRewardDTO.java
+11
-59
GroupChatActivityRewardDetailDTO.java
...manage/api/dto/chat/GroupChatActivityRewardDetailDTO.java
+62
-0
GroupChatActivityQDTO.java
...ic/haoban/manage/api/qdto/chat/GroupChatActivityQDTO.java
+7
-6
BusinessManager.java
...c/haoban/manage/service/context/chat/BusinessManager.java
+3
-5
GroupChatActivityService.java
...manage/service/service/chat/GroupChatActivityService.java
+7
-7
GroupChatActivityServiceImpl.java
...rvice/service/chat/impl/GroupChatActivityServiceImpl.java
+49
-32
GroupChatActivityController.java
...nage/web/controller/chat/GroupChatActivityController.java
+5
-10
No files found.
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/dto/chat/GroupChatActivityBaseDTO.java
View file @
11ec7efa
package
com
.
gic
.
haoban
.
manage
.
api
.
dto
.
chat
;
import
com.fasterxml.jackson.annotation.JsonIgnoreProperties
;
import
com.fasterxml.jackson.databind.annotation.JsonSerialize
;
import
com.fasterxml.jackson.databind.ser.std.ToStringSerializer
;
import
com.gic.haoban.manage.api.qdto.chat.GroupChatActivityJoinQDTO
;
import
java.io.Serializable
;
...
...
@@ -18,7 +20,7 @@ public class GroupChatActivityBaseDTO implements Serializable {
/**
* 社群活动id
*/
@Json
IgnoreProperties
(
ignoreUnknown
=
true
)
@Json
Serialize
(
using
=
ToStringSerializer
.
class
)
private
Long
chatActivityId
;
/**
* 活动名称
...
...
@@ -79,7 +81,7 @@ public class GroupChatActivityBaseDTO implements Serializable {
/**
* 入群兜底群活码id
*/
@Json
IgnoreProperties
(
ignoreUnknown
=
true
)
@Json
Serialize
(
using
=
ToStringSerializer
.
class
)
private
Long
joinChatHmId
;
/**
* 邀请类型 0不限制1入群前未处于任何企业群聊内算有效邀请2首次加入企业群聊才算有效邀请
...
...
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/dto/chat/GroupChatActivityDTO.java
View file @
11ec7efa
...
...
@@ -5,6 +5,7 @@ import com.gic.haoban.manage.api.qdto.chat.GroupChatActivityJoinQDTO;
import
java.io.Serializable
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Map
;
/**
* 社群邀请有礼表(TabHaobanGroupChatActivity)实体类
...
...
@@ -16,21 +17,21 @@ public class GroupChatActivityDTO extends GroupChatActivityBaseDTO implements Se
private
static
final
long
serialVersionUID
=
973688857967269973L
;
/**
* 奖励规则
列表
* 奖励规则
map key为奖励邀请人类型
*/
private
List
<
GroupChatActivityRewardDTO
>
rewardList
;
private
Map
<
Integer
,
List
<
GroupChatActivityRewardDTO
>>
rewardMap
;
/**
* 入群规则列表
*/
private
List
<
GroupChatActivityJoinDTO
>
joinList
;
public
List
<
GroupChatActivityRewardDTO
>
getRewardList
()
{
return
reward
List
;
public
Map
<
Integer
,
List
<
GroupChatActivityRewardDTO
>>
getRewardMap
()
{
return
reward
Map
;
}
public
void
setReward
List
(
List
<
GroupChatActivityRewardDTO
>
rewardList
)
{
this
.
reward
List
=
rewardList
;
public
void
setReward
Map
(
Map
<
Integer
,
List
<
GroupChatActivityRewardDTO
>>
rewardMap
)
{
this
.
reward
Map
=
rewardMap
;
}
public
List
<
GroupChatActivityJoinDTO
>
getJoinList
()
{
...
...
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/dto/chat/GroupChatActivityRewardBaseDTO.java
0 → 100644
View file @
11ec7efa
package
com
.
gic
.
haoban
.
manage
.
api
.
dto
.
chat
;
import
com.fasterxml.jackson.databind.annotation.JsonSerialize
;
import
com.fasterxml.jackson.databind.ser.std.ToStringSerializer
;
import
com.google.common.base.Objects
;
import
org.apache.commons.collections.CollectionUtils
;
import
java.io.Serializable
;
import
java.util.*
;
import
java.util.stream.Collectors
;
/**
* 社群邀请有礼奖励规则表(TabHaobanGroupChatActivityReward)实体类
*
* @author makejava
* @since 2024-09-27 16:09:56
*/
public
class
GroupChatActivityRewardBaseDTO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
78111537762472232L
;
/**
* 社群活动奖励规则id
*/
@JsonSerialize
(
using
=
ToStringSerializer
.
class
)
private
Long
chatActivityRewardId
;
/**
* 内容活动id
*/
@JsonSerialize
(
using
=
ToStringSerializer
.
class
)
private
Long
chatActivityId
;
/**
* 奖励邀请人数
*/
private
Integer
inviteNumber
;
/**
* 奖励阶梯 固定奖励默认1
*/
private
Integer
inviteLevel
;
/**
* 奖励人类型 1邀请人2受邀人
*/
private
Integer
rewardInvite
;
/**
* 奖励类型 1积分2成长值3卡券
*/
private
Integer
rewardType
;
/**
* 最多奖励数量
*/
private
Integer
limitReward
;
/**
* 奖励内容 积分值 成长值 卡券id(逗号分隔)
*/
private
String
rewardValue
;
/**
* 奖励名称 积分名称 成长值名称 卡券名称(逗号分隔)
*/
private
String
rewardName
;
public
Long
getChatActivityRewardId
()
{
return
chatActivityRewardId
;
}
public
void
setChatActivityRewardId
(
Long
chatActivityRewardId
)
{
this
.
chatActivityRewardId
=
chatActivityRewardId
;
}
public
Long
getChatActivityId
()
{
return
chatActivityId
;
}
public
void
setChatActivityId
(
Long
chatActivityId
)
{
this
.
chatActivityId
=
chatActivityId
;
}
public
Integer
getInviteNumber
()
{
return
inviteNumber
;
}
public
void
setInviteNumber
(
Integer
inviteNumber
)
{
this
.
inviteNumber
=
inviteNumber
;
}
public
Integer
getInviteLevel
()
{
return
inviteLevel
;
}
public
void
setInviteLevel
(
Integer
inviteLevel
)
{
this
.
inviteLevel
=
inviteLevel
;
}
public
Integer
getRewardInvite
()
{
return
rewardInvite
;
}
public
void
setRewardInvite
(
Integer
rewardInvite
)
{
this
.
rewardInvite
=
rewardInvite
;
}
public
Integer
getRewardType
()
{
return
rewardType
;
}
public
void
setRewardType
(
Integer
rewardType
)
{
this
.
rewardType
=
rewardType
;
}
public
Integer
getLimitReward
()
{
return
limitReward
;
}
public
void
setLimitReward
(
Integer
limitReward
)
{
this
.
limitReward
=
limitReward
;
}
public
String
getRewardValue
()
{
return
rewardValue
;
}
public
void
setRewardValue
(
String
rewardValue
)
{
this
.
rewardValue
=
rewardValue
;
}
public
String
getRewardName
()
{
return
rewardName
;
}
public
void
setRewardName
(
String
rewardName
)
{
this
.
rewardName
=
rewardName
;
}
public
static
List
<
GroupChatActivityRewardBaseDTO
>
mapConvert
(
Map
<
Integer
,
List
<
GroupChatActivityRewardDTO
>>
rewardMap
)
{
List
<
GroupChatActivityRewardBaseDTO
>
list
=
new
ArrayList
<>();
rewardMap
.
forEach
((
k
,
v
)->{
for
(
GroupChatActivityRewardDTO
rewardDTO
:
v
)
{
List
<
GroupChatActivityRewardDetailDTO
>
detailList
=
rewardDTO
.
getDetailList
();
for
(
GroupChatActivityRewardDetailDTO
detailDTO
:
detailList
)
{
GroupChatActivityRewardBaseDTO
rewardBaseDTO
=
new
GroupChatActivityRewardBaseDTO
();
rewardBaseDTO
.
setChatActivityRewardId
(
detailDTO
.
getChatActivityRewardId
());
rewardBaseDTO
.
setRewardInvite
(
k
);
rewardBaseDTO
.
setChatActivityId
(
rewardDTO
.
getChatActivityId
());
rewardBaseDTO
.
setInviteNumber
(
rewardDTO
.
getInviteNumber
());
rewardBaseDTO
.
setInviteLevel
(
rewardDTO
.
getInviteLevel
());
rewardBaseDTO
.
setLimitReward
(
rewardDTO
.
getLimitReward
());
rewardBaseDTO
.
setRewardType
(
detailDTO
.
getRewardType
());
rewardBaseDTO
.
setRewardValue
(
detailDTO
.
getRewardValue
());
rewardBaseDTO
.
setRewardName
(
detailDTO
.
getRewardName
());
list
.
add
(
rewardBaseDTO
);
}
}
});
return
list
;
}
public
static
Map
<
Integer
,
List
<
GroupChatActivityRewardDTO
>>
reverseMapConvert
(
List
<
GroupChatActivityRewardBaseDTO
>
baseList
)
{
return
baseList
.
stream
()
.
collect
(
Collectors
.
groupingBy
(
GroupChatActivityRewardBaseDTO:
:
getRewardInvite
,
Collectors
.
mapping
(
baseDTO
->
{
GroupChatActivityRewardDTO
rewardDTO
=
new
GroupChatActivityRewardDTO
();
rewardDTO
.
setChatActivityId
(
baseDTO
.
getChatActivityId
());
rewardDTO
.
setInviteNumber
(
baseDTO
.
getInviteNumber
());
rewardDTO
.
setInviteLevel
(
baseDTO
.
getInviteLevel
());
rewardDTO
.
setLimitReward
(
baseDTO
.
getLimitReward
());
rewardDTO
.
setRewardInvite
(
baseDTO
.
getRewardInvite
());
GroupChatActivityRewardDetailDTO
detailDTO
=
new
GroupChatActivityRewardDetailDTO
();
detailDTO
.
setChatActivityRewardId
(
baseDTO
.
getChatActivityRewardId
());
detailDTO
.
setRewardType
(
baseDTO
.
getRewardType
());
detailDTO
.
setRewardValue
(
baseDTO
.
getRewardValue
());
detailDTO
.
setRewardName
(
baseDTO
.
getRewardName
());
if
(
rewardDTO
.
getDetailList
()
==
null
)
{
rewardDTO
.
setDetailList
(
new
ArrayList
<>());
}
rewardDTO
.
getDetailList
().
add
(
detailDTO
);
return
rewardDTO
;
},
Collectors
.
toList
())
));
}
@Override
public
boolean
equals
(
Object
o
)
{
if
(
this
==
o
)
return
true
;
if
(
o
==
null
||
getClass
()
!=
o
.
getClass
())
return
false
;
GroupChatActivityRewardBaseDTO
that
=
(
GroupChatActivityRewardBaseDTO
)
o
;
return
Objects
.
equal
(
chatActivityId
,
that
.
chatActivityId
)
&&
Objects
.
equal
(
inviteNumber
,
that
.
inviteNumber
)
&&
Objects
.
equal
(
inviteLevel
,
that
.
inviteLevel
)
&&
Objects
.
equal
(
rewardInvite
,
that
.
rewardInvite
)
&&
Objects
.
equal
(
rewardType
,
that
.
rewardType
)
&&
Objects
.
equal
(
limitReward
,
that
.
limitReward
)
&&
Objects
.
equal
(
rewardValue
,
that
.
rewardValue
);
}
@Override
public
int
hashCode
()
{
return
Objects
.
hashCode
(
chatActivityId
,
inviteNumber
,
inviteLevel
,
rewardInvite
,
rewardType
,
limitReward
,
rewardValue
);
}
}
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/dto/chat/GroupChatActivityRewardDTO.java
View file @
11ec7efa
package
com
.
gic
.
haoban
.
manage
.
api
.
dto
.
chat
;
import
com.fasterxml.jackson.
annotation.JsonIgnoreProperties
;
import
com.
google.common.base.Objects
;
import
com.fasterxml.jackson.
databind.annotation.JsonSerialize
;
import
com.
fasterxml.jackson.databind.ser.std.ToStringSerializer
;
import
java.io.Serializable
;
import
java.util.
Date
;
import
java.util.
List
;
/**
* 社群邀请有礼奖励规则表(TabHaobanGroupChatActivityReward)实体类
...
...
@@ -15,14 +15,9 @@ import java.util.Date;
public
class
GroupChatActivityRewardDTO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
78111537762472232L
;
/**
* 社群活动奖励规则id
*/
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
private
Long
chatActivityRewardId
;
/**
* 内容活动id
*/
@Json
IgnoreProperties
(
ignoreUnknown
=
true
)
@Json
Serialize
(
using
=
ToStringSerializer
.
class
)
private
Long
chatActivityId
;
/**
* 奖励邀请人数
...
...
@@ -37,29 +32,15 @@ public class GroupChatActivityRewardDTO implements Serializable {
*/
private
Integer
rewardInvite
;
/**
* 奖励类型 1积分2成长值3卡券
*/
private
Integer
rewardType
;
/**
* 最多奖励数量
*/
private
Integer
limitReward
;
/**
* 奖励内容 积分值 成长值 卡券id
*/
private
String
rewardValue
;
/**
* 奖励名称 卡券名称
* 奖励明细列表
*/
private
String
rewardName
;
private
List
<
GroupChatActivityRewardDetailDTO
>
detailList
;
public
Long
getChatActivityRewardId
()
{
return
chatActivityRewardId
;
}
public
void
setChatActivityRewardId
(
Long
chatActivityRewardId
)
{
this
.
chatActivityRewardId
=
chatActivityRewardId
;
}
public
Long
getChatActivityId
()
{
return
chatActivityId
;
...
...
@@ -93,14 +74,6 @@ public class GroupChatActivityRewardDTO implements Serializable {
this
.
rewardInvite
=
rewardInvite
;
}
public
Integer
getRewardType
()
{
return
rewardType
;
}
public
void
setRewardType
(
Integer
rewardType
)
{
this
.
rewardType
=
rewardType
;
}
public
Integer
getLimitReward
()
{
return
limitReward
;
}
...
...
@@ -109,33 +82,12 @@ public class GroupChatActivityRewardDTO implements Serializable {
this
.
limitReward
=
limitReward
;
}
public
String
getRewardValue
()
{
return
rewardValue
;
}
public
void
setRewardValue
(
String
rewardValue
)
{
this
.
rewardValue
=
rewardValue
;
}
public
String
getRewardName
()
{
return
rewardName
;
}
public
void
setRewardName
(
String
rewardName
)
{
this
.
rewardName
=
rewardName
;
}
@Override
public
boolean
equals
(
Object
o
)
{
if
(
this
==
o
)
return
true
;
if
(
o
==
null
||
getClass
()
!=
o
.
getClass
())
return
false
;
GroupChatActivityRewardDTO
that
=
(
GroupChatActivityRewardDTO
)
o
;
return
Objects
.
equal
(
chatActivityId
,
that
.
chatActivityId
)
&&
Objects
.
equal
(
inviteNumber
,
that
.
inviteNumber
)
&&
Objects
.
equal
(
inviteLevel
,
that
.
inviteLevel
)
&&
Objects
.
equal
(
rewardInvite
,
that
.
rewardInvite
)
&&
Objects
.
equal
(
rewardType
,
that
.
rewardType
)
&&
Objects
.
equal
(
limitReward
,
that
.
limitReward
)
&&
Objects
.
equal
(
rewardValue
,
that
.
rewardValue
);
public
List
<
GroupChatActivityRewardDetailDTO
>
getDetailList
()
{
return
detailList
;
}
@Override
public
int
hashCode
()
{
return
Objects
.
hashCode
(
chatActivityId
,
inviteNumber
,
inviteLevel
,
rewardInvite
,
rewardType
,
limitReward
,
rewardValue
);
public
void
setDetailList
(
List
<
GroupChatActivityRewardDetailDTO
>
detailList
)
{
this
.
detailList
=
detailList
;
}
}
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/dto/chat/GroupChatActivityRewardDetailDTO.java
0 → 100644
View file @
11ec7efa
package
com
.
gic
.
haoban
.
manage
.
api
.
dto
.
chat
;
import
com.fasterxml.jackson.databind.annotation.JsonSerialize
;
import
com.fasterxml.jackson.databind.ser.std.ToStringSerializer
;
import
java.io.Serializable
;
public
class
GroupChatActivityRewardDetailDTO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
78111537762472232L
;
/**
* 社群活动奖励规则id
*/
@JsonSerialize
(
using
=
ToStringSerializer
.
class
)
private
Long
chatActivityRewardId
;
/**
* 奖励类型 1积分2成长值3卡券
*/
private
Integer
rewardType
;
/**
* 奖励内容 积分值 成长值 卡券id(逗号分隔)
*/
private
String
rewardValue
;
/**
* 奖励名称 积分名称 成长值名称 卡券名称(逗号分隔)
*/
private
String
rewardName
;
public
Long
getChatActivityRewardId
()
{
return
chatActivityRewardId
;
}
public
void
setChatActivityRewardId
(
Long
chatActivityRewardId
)
{
this
.
chatActivityRewardId
=
chatActivityRewardId
;
}
public
Integer
getRewardType
()
{
return
rewardType
;
}
public
void
setRewardType
(
Integer
rewardType
)
{
this
.
rewardType
=
rewardType
;
}
public
String
getRewardValue
()
{
return
rewardValue
;
}
public
void
setRewardValue
(
String
rewardValue
)
{
this
.
rewardValue
=
rewardValue
;
}
public
String
getRewardName
()
{
return
rewardName
;
}
public
void
setRewardName
(
String
rewardName
)
{
this
.
rewardName
=
rewardName
;
}
}
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/qdto/chat/GroupChatActivityQDTO.java
View file @
11ec7efa
...
...
@@ -5,6 +5,7 @@ import com.gic.haoban.manage.api.dto.chat.GroupChatActivityRewardDTO;
import
java.io.Serializable
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Map
;
/**
* 社群邀请有礼表(TabHaobanGroupChatActivity)实体类
...
...
@@ -112,9 +113,9 @@ public class GroupChatActivityQDTO implements Serializable {
private
String
creatorName
;
/**
* 奖励规则
列表
* 奖励规则
map key为奖励邀请人类型
*/
private
List
<
GroupChatActivityRewardDTO
>
rewardList
;
private
Map
<
Integer
,
List
<
GroupChatActivityRewardDTO
>>
rewardMap
;
/**
* 入群规则列表
...
...
@@ -321,12 +322,12 @@ public class GroupChatActivityQDTO implements Serializable {
this
.
creatorName
=
creatorName
;
}
public
List
<
GroupChatActivityRewardDTO
>
getRewardList
()
{
return
reward
List
;
public
Map
<
Integer
,
List
<
GroupChatActivityRewardDTO
>>
getRewardMap
()
{
return
reward
Map
;
}
public
void
setReward
List
(
List
<
GroupChatActivityRewardDTO
>
rewardList
)
{
this
.
reward
List
=
rewardList
;
public
void
setReward
Map
(
Map
<
Integer
,
List
<
GroupChatActivityRewardDTO
>>
rewardMap
)
{
this
.
reward
Map
=
rewardMap
;
}
public
List
<
GroupChatActivityJoinQDTO
>
getJoinList
()
{
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/context/chat/BusinessManager.java
View file @
11ec7efa
...
...
@@ -2,9 +2,7 @@ package com.gic.haoban.manage.service.context.chat;
import
com.gic.api.base.commons.Constant
;
import
com.gic.enterprise.api.service.ScreeningDetailService
;
import
com.gic.haoban.manage.api.dto.chat.GroupChatActivityDTO
;
import
com.gic.haoban.manage.api.dto.chat.GroupChatActivityJoinDTO
;
import
com.gic.haoban.manage.api.dto.chat.GroupChatActivityRewardDTO
;
import
com.gic.haoban.manage.api.dto.chat.*
;
import
com.gic.haoban.manage.api.enums.chat.ChatActivityRewardEnum
;
import
com.gic.haoban.manage.service.entity.chat.TabGroupChatActivity
;
import
com.gic.haoban.manage.service.entity.chat.TabGroupChatActivityJoin
;
...
...
@@ -81,9 +79,9 @@ public class BusinessManager {
couponReferAlarmQDTO
.
setStartTime
(
activityDTO
.
getStartDate
());
couponReferAlarmQDTO
.
setEndTime
(
activityDTO
.
getLimitDate
()
!=
null
?
activityDTO
.
getLimitDate
()
:
activityDTO
.
getEndDate
());
couponReferAlarmQDTO
.
setCreatorId
(
activityDTO
.
getCreatorId
());
List
<
String
>
couponIdList
=
activityDTO
.
getRewardList
(
).
stream
()
List
<
String
>
couponIdList
=
GroupChatActivityRewardBaseDTO
.
mapConvert
(
activityDTO
.
getRewardMap
()
).
stream
()
.
filter
(
x
->
Objects
.
equals
(
x
.
getRewardType
(),
ChatActivityRewardEnum
.
COUPON
.
value
))
.
map
(
GroupChatActivityRewardDTO:
:
getRewardValue
)
.
map
(
GroupChatActivityReward
Base
DTO:
:
getRewardValue
)
.
flatMap
(
x
->
Arrays
.
stream
(
x
.
split
(
","
)))
.
distinct
().
collect
(
Collectors
.
toList
());
couponReferAlarmQDTO
.
setCouponIdList
(
couponIdList
);
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/chat/GroupChatActivityService.java
View file @
11ec7efa
...
...
@@ -8,7 +8,7 @@ import com.gic.haoban.manage.api.qdto.chat.GroupChatActivityHmQDTO;
import
com.gic.haoban.manage.api.qdto.chat.GroupChatActivityQDTO
;
import
com.gic.haoban.manage.api.qdto.chat.GroupChatActivitySearchQDTO
;
import
com.gic.haoban.manage.service.entity.chat.TabGroupChatActivity
;
import
com.gic.haoban.manage.service.
entity.chat.TabGroupChatHm
;
import
com.gic.haoban.manage.service.
pojo.bo.chat.GroupChatHmBO
;
import
java.util.List
;
...
...
@@ -107,10 +107,10 @@ public interface GroupChatActivityService {
*/
void
activityQuartzUpdateStatus
();
/**
* 获取入群活码列表
* @param activityHmQDTO
* @return
*/
List
<
TabGroupChatHm
>
listHm
(
GroupChatActivityHmQDTO
activityHmQDTO
)
;
//
/**
//
* 获取入群活码列表
//
* @param activityHmQDTO
//
* @return
//
*/
// List<GroupChatHmBO> listGroupChatHm(GroupChatActivityHmQDTO activityHmQDTO) throws BusinessException
;
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/chat/impl/GroupChatActivityServiceImpl.java
View file @
11ec7efa
...
...
@@ -14,6 +14,7 @@ import com.gic.commons.util.UniqueIdUtils;
import
com.gic.content.api.enums.activity.ContentActivityStatusEnum
;
import
com.gic.haoban.manage.api.dto.chat.GroupChatActivityDTO
;
import
com.gic.haoban.manage.api.dto.chat.GroupChatActivityJoinDTO
;
import
com.gic.haoban.manage.api.dto.chat.GroupChatActivityRewardBaseDTO
;
import
com.gic.haoban.manage.api.dto.chat.GroupChatActivityRewardDTO
;
import
com.gic.haoban.manage.api.enums.chat.ChatActivityJoinEnum
;
import
com.gic.haoban.manage.api.enums.chat.ChatActivityStatusEnum
;
...
...
@@ -22,11 +23,12 @@ import com.gic.haoban.manage.api.qdto.chat.GroupChatActivityJoinQDTO;
import
com.gic.haoban.manage.api.qdto.chat.GroupChatActivityQDTO
;
import
com.gic.haoban.manage.api.qdto.chat.GroupChatActivitySearchQDTO
;
import
com.gic.haoban.manage.service.context.chat.BusinessManager
;
import
com.gic.haoban.manage.service.context.chat.JoinRuleManager
;
import
com.gic.haoban.manage.service.dao.mapper.chat.GroupChatActivityMapper
;
import
com.gic.haoban.manage.service.entity.chat.TabGroupChatActivity
;
import
com.gic.haoban.manage.service.entity.chat.TabGroupChatActivityJoin
;
import
com.gic.haoban.manage.service.entity.chat.TabGroupChatActivityReward
;
import
com.gic.haoban.manage.service.
entity.chat.TabGroupChatHm
;
import
com.gic.haoban.manage.service.
pojo.bo.chat.GroupChatHmBO
;
import
com.gic.haoban.manage.service.service.chat.GroupChatActivityJoinService
;
import
com.gic.haoban.manage.service.service.chat.GroupChatActivityRewardService
;
import
com.gic.haoban.manage.service.service.chat.GroupChatActivityService
;
...
...
@@ -66,6 +68,8 @@ public class GroupChatActivityServiceImpl implements GroupChatActivityService {
private
GroupChatActivityJoinService
groupChatActivityJoinService
;
@Autowired
private
BusinessManager
businessManager
;
@Autowired
private
JoinRuleManager
joinRuleManager
;
@Override
...
...
@@ -91,8 +95,9 @@ public class GroupChatActivityServiceImpl implements GroupChatActivityService {
}
else
{
groupChatActivityMapper
.
update
(
activity
);
}
List
<
GroupChatActivityRewardDTO
>
ruleList
=
qdto
.
getRewardList
();
List
<
TabGroupChatActivityReward
>
activityRewards
=
EntityUtil
.
changeEntityListNew
(
TabGroupChatActivityReward
.
class
,
ruleList
);
Map
<
Integer
,
List
<
GroupChatActivityRewardDTO
>>
rewardMap
=
qdto
.
getRewardMap
();
List
<
GroupChatActivityRewardBaseDTO
>
rewardList
=
GroupChatActivityRewardBaseDTO
.
mapConvert
(
rewardMap
);
List
<
TabGroupChatActivityReward
>
activityRewards
=
EntityUtil
.
changeEntityListNew
(
TabGroupChatActivityReward
.
class
,
rewardList
);
activityRewards
.
forEach
(
rule
->{
rule
.
setEnterpriseId
(
enterpriseId
);
rule
.
setWxEnterpriseId
(
wxEnterpriseId
);
...
...
@@ -122,8 +127,8 @@ public class GroupChatActivityServiceImpl implements GroupChatActivityService {
String
enterpriseId
=
qdto
.
getEnterpriseId
();
qdto
.
setEndDate
(
DateUtil
.
endOfDay
(
qdto
.
getEndDate
()));
Date
startDate
=
qdto
.
getStartDate
();
List
<
GroupChatActivityRewardDTO
>
rewardList
=
qdto
.
getRewardList
();
if
(
CollectionUtils
.
isEmpty
(
rewardList
))
{
Map
<
Integer
,
List
<
GroupChatActivityRewardDTO
>>
rewardMap
=
qdto
.
getRewardMap
();
if
(
MapUtils
.
isEmpty
(
rewardMap
))
{
throw
new
BusinessException
(
"500"
,
"奖励规则不能为空"
);
}
List
<
GroupChatActivityJoinQDTO
>
joinList
=
qdto
.
getJoinList
();
...
...
@@ -167,10 +172,15 @@ public class GroupChatActivityServiceImpl implements GroupChatActivityService {
if
(!
Objects
.
equals
(
qdto
.
getInviteRewardType
(),
inviteRewardType
))
{
throw
new
BusinessException
(
"500"
,
"活动已开始,奖励类型不支持编辑"
);
}
List
<
GroupChatActivityRewardDTO
>
oldRewardList
=
activity
.
getRewardList
();
if
(
!
CollUtil
.
isEqualList
(
oldRewardList
,
rewardList
))
{
Map
<
Integer
,
List
<
GroupChatActivityRewardDTO
>>
oldRewardMap
=
activity
.
getRewardMap
();
if
(
Objects
.
equals
(
oldRewardMap
.
size
(),
rewardMap
.
size
()
))
{
throw
new
BusinessException
(
"500"
,
"活动已开始,奖励规则不支持编辑"
);
}
for
(
Map
.
Entry
<
Integer
,
List
<
GroupChatActivityRewardDTO
>>
entry
:
rewardMap
.
entrySet
()){
if
(!
CollectionUtil
.
isEqualList
(
entry
.
getValue
(),
oldRewardMap
.
get
(
entry
.
getKey
())))
{
throw
new
BusinessException
(
"500"
,
"活动已开始,奖励规则不支持编辑"
);
}
}
if
(!
Objects
.
equals
(
qdto
.
getJoinType
(),
activity
.
getJoinType
()))
{
throw
new
BusinessException
(
"500"
,
"活动已开始,入群方式不支持编辑"
);
}
...
...
@@ -213,8 +223,8 @@ public class GroupChatActivityServiceImpl implements GroupChatActivityService {
//组装奖励规则
List
<
TabGroupChatActivityReward
>
activityRewards
=
groupChatActivityRewardService
.
listByActivityId
(
chatActivityId
);
List
<
GroupChatActivityReward
DTO
>
rewardList
=
EntityUtil
.
changeEntityListNew
(
GroupChatActivityReward
DTO
.
class
,
activityRewards
);
chatActivityDTO
.
setReward
List
(
rewardList
);
List
<
GroupChatActivityReward
BaseDTO
>
rewardList
=
EntityUtil
.
changeEntityListNew
(
GroupChatActivityRewardBase
DTO
.
class
,
activityRewards
);
chatActivityDTO
.
setReward
Map
(
GroupChatActivityRewardBaseDTO
.
reverseMapConvert
(
rewardList
)
);
//组装奖励规则
List
<
TabGroupChatActivityJoin
>
activityJoins
=
groupChatActivityJoinService
.
listByActivityId
(
chatActivityId
);
List
<
GroupChatActivityJoinDTO
>
joinList
=
EntityUtil
.
changeEntityListNew
(
GroupChatActivityJoinDTO
.
class
,
activityJoins
);
...
...
@@ -268,7 +278,8 @@ public class GroupChatActivityServiceImpl implements GroupChatActivityService {
result
.
forEach
(
activity
->{
List
<
TabGroupChatActivityReward
>
activityRewards
=
rewardMap
.
get
(
activity
.
getChatActivityId
());
if
(
CollectionUtils
.
isNotEmpty
(
activityRewards
))
{
activity
.
setRewardList
(
EntityUtil
.
changeEntityListNew
(
GroupChatActivityRewardDTO
.
class
,
activityRewards
));
List
<
GroupChatActivityRewardBaseDTO
>
rewardList
=
EntityUtil
.
changeEntityListNew
(
GroupChatActivityRewardBaseDTO
.
class
,
activityRewards
);
activity
.
setRewardMap
(
GroupChatActivityRewardBaseDTO
.
reverseMapConvert
(
rewardList
));
}
});
}
...
...
@@ -331,40 +342,46 @@ public class GroupChatActivityServiceImpl implements GroupChatActivityService {
logger
.
info
(
"处理活动状态:{}"
,
now
);
TabGroupChatActivity
startSearchQDTO
=
new
TabGroupChatActivity
();
startSearchQDTO
.
setStatus
(
ChatActivityStatusEnum
.
NOT_START
.
value
);
startSearchQDTO
.
setStartDate
(
DateUtil
.
beginOfDay
(
now
)
);
startSearchQDTO
.
setStartDate
(
now
);
List
<
TabGroupChatActivity
>
startList
=
groupChatActivityMapper
.
listActivityByDate
(
startSearchQDTO
);
if
(
CollectionUtils
.
isNotEmpty
(
startList
))
{
for
(
TabGroupChatActivity
activity
:
startList
)
{
updateStatusActivity
(
activity
.
getEnterpriseId
(),
activity
.
getChatActivityId
(),
ContentActivityStatusEnum
.
START
.
value
);
try
{
updateStatusActivity
(
activity
.
getEnterpriseId
(),
activity
.
getChatActivityId
(),
ContentActivityStatusEnum
.
START
.
value
);
}
catch
(
Exception
e
)
{
logger
.
info
(
"处理活动状态异常"
,
e
);
}
}
}
TabGroupChatActivity
endSearchQDTO
=
new
TabGroupChatActivity
();
endSearchQDTO
.
setStatus
(
ChatActivityStatusEnum
.
START
.
value
);
endSearchQDTO
.
setEndDate
(
DateUtil
.
endOfDay
(
DateUtil
.
offsetDay
(
now
,
-
1
))
);
endSearchQDTO
.
setEndDate
(
now
);
List
<
TabGroupChatActivity
>
endList
=
groupChatActivityMapper
.
listActivityByDate
(
endSearchQDTO
);
if
(
CollectionUtils
.
isNotEmpty
(
endList
))
{
for
(
TabGroupChatActivity
activity
:
endList
)
{
updateStatusActivity
(
activity
.
getEnterpriseId
(),
activity
.
getChatActivityId
(),
ContentActivityStatusEnum
.
END
.
value
);
//处理会员分组
businessManager
.
dealMemberTagByActivity
(
activity
,
null
,
true
);
GroupChatActivityDTO
activityDTO
=
EntityUtil
.
changeEntityNew
(
GroupChatActivityDTO
.
class
,
activity
);
//处理卡券异常通知
businessManager
.
dealCouponAlarmByActivity
(
activityDTO
,
true
);
try
{
updateStatusActivity
(
activity
.
getEnterpriseId
(),
activity
.
getChatActivityId
(),
ContentActivityStatusEnum
.
END
.
value
);
//处理会员分组
businessManager
.
dealMemberTagByActivity
(
activity
,
null
,
true
);
GroupChatActivityDTO
activityDTO
=
EntityUtil
.
changeEntityNew
(
GroupChatActivityDTO
.
class
,
activity
);
//处理卡券异常通知
businessManager
.
dealCouponAlarmByActivity
(
activityDTO
,
true
);
}
catch
(
Exception
e
)
{
logger
.
info
(
"处理活动状态异常"
,
e
);
}
}
}
}
@Override
public
List
<
TabGroupChatHm
>
listHm
(
GroupChatActivityHmQDTO
activityHmQDTO
)
{
Long
chatActivityId
=
activityHmQDTO
.
getChatActivityId
();
TabGroupChatActivity
chatActivity
=
groupChatActivityMapper
.
queryById
(
chatActivityId
);
if
(
chatActivity
==
null
)
{
return
Collections
.
emptyList
();
}
Integer
joinType
=
chatActivity
.
getJoinType
();
if
(
Objects
.
equals
(
ChatActivityJoinEnum
.
RULE
.
value
,
joinType
))
{
}
return
Collections
.
emptyList
();
}
// @Override
// public List<GroupChatHmBO> listGroupChatHm(GroupChatActivityHmQDTO activityHmQDTO) throws BusinessException{
// Long chatActivityId = activityHmQDTO.getChatActivityId();
// String enterpriseId = activityHmQDTO.getEnterpriseId();
// GroupChatActivityDTO chatActivity = getActivityDetail(enterpriseId,chatActivityId);
// if (chatActivity == null) {
// return Collections.emptyList();
// }
// activityHmQDTO.setChatActivity(chatActivity);
// return joinRuleManager.listGroupHm(activityHmQDTO);
// }
}
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/controller/chat/GroupChatActivityController.java
View file @
11ec7efa
...
...
@@ -5,17 +5,13 @@ import com.gic.api.base.commons.BasePageInfo;
import
com.gic.api.base.commons.Page
;
import
com.gic.api.base.commons.ServiceResponse
;
import
com.gic.clerk.api.dto.AuthorizedUser
;
import
com.gic.commons.util.DateUtil
;
import
com.gic.commons.util.EntityUtil
;
import
com.gic.commons.util.PageHelperUtils
;
import
com.gic.commons.webapi.reponse.RestResponse
;
import
com.gic.enterprise.api.service.EnterpriseWxaLinkService
;
import
com.gic.haoban.base.api.common.pojo.dto.WebLoginDTO
;
import
com.gic.haoban.common.utils.AuthWebRequestUtil
;
import
com.gic.haoban.manage.api.dto.chat.GroupChatActivityDTO
;
import
com.gic.haoban.manage.api.dto.chat.GroupChatActivityJoinDTO
;
import
com.gic.haoban.manage.api.dto.chat.GroupChatActivityRewardDTO
;
import
com.gic.haoban.manage.api.dto.chat.GroupChatHmDTO
;
import
com.gic.haoban.manage.api.dto.chat.*
;
import
com.gic.haoban.manage.api.dto.qdto.chat.ChatHmSearchQDTO
;
import
com.gic.haoban.manage.api.enums.chat.ChatActivityRewardEnum
;
import
com.gic.haoban.manage.api.qdto.chat.GroupChatActivityQDTO
;
...
...
@@ -34,7 +30,6 @@ import com.gic.log.record.anno.GicLogRecord;
import
com.gic.log.record.util.GicLogRecordCategoryEnum
;
import
com.gic.log.record.util.GicLogRecordEvaluationContext
;
import
com.gic.log.record.util.GicLogRecordOptTypeEnum
;
import
com.gic.marketing.api.dto.CoupCardDTO
;
import
com.gic.marketing.api.dto.card.CardStockAndInvalidDTO
;
import
com.gic.marketing.api.service.CouponCardService
;
import
com.gic.member.tag.api.dto.MemberTagGroupDTO
;
...
...
@@ -127,9 +122,9 @@ public class GroupChatActivityController {
hmIdList
.
add
(
joinChatHmId
);
}
//构建卡券map
List
<
String
>
couponIdList
=
activityVO
.
getRewardList
(
).
stream
()
List
<
String
>
couponIdList
=
GroupChatActivityRewardBaseDTO
.
mapConvert
(
activityVO
.
getRewardMap
()
).
stream
()
.
filter
(
x
->
Objects
.
equals
(
x
.
getRewardType
(),
ChatActivityRewardEnum
.
COUPON
.
value
))
.
map
(
GroupChatActivityRewardDTO:
:
getRewardValue
)
.
map
(
GroupChatActivityReward
Base
DTO:
:
getRewardValue
)
.
flatMap
(
rewardValue
->
Arrays
.
stream
(
rewardValue
.
split
(
","
)))
.
distinct
().
collect
(
Collectors
.
toList
());
if
(
CollectionUtils
.
isNotEmpty
(
couponIdList
))
{
...
...
@@ -149,7 +144,7 @@ public class GroupChatActivityController {
memberWeightView
.
put
(
"searchId"
,
"GROUP_CHAT_SEARCH_ID_"
+
joinDTO
.
getChatActivityJoinId
());
}
else
if
(
Objects
.
equals
(
memberType
,
1
))
{
// 会员分组
memberWeightView
.
put
(
"tagGroupList"
,
listMemberTagGroupInfoByGoupIds
(
joinDTO
.
getFilterJson
()));
memberWeightView
.
put
(
"tagGroupList"
,
listMemberTagGroupInfoByG
r
oupIds
(
joinDTO
.
getFilterJson
()));
}
activityVO
.
setMemberWeightViewList
(
memberWeightViewList
);
Long
chatHmId
=
joinDTO
.
getChatHmId
();
...
...
@@ -178,7 +173,7 @@ public class GroupChatActivityController {
}
public
List
<
MemberTagGroupVO
>
listMemberTagGroupInfoByGoupIds
(
String
tagGroupIds
)
{
public
List
<
MemberTagGroupVO
>
listMemberTagGroupInfoByG
r
oupIds
(
String
tagGroupIds
)
{
List
<
MemberTagGroupVO
>
result
=
new
ArrayList
<>();
if
(
StringUtils
.
isBlank
(
tagGroupIds
))
{
...
...
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