Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
cloud-platform
Project
Project
Details
Activity
Releases
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
youjj
cloud-platform
Commits
4cbc45f1
Commit
4cbc45f1
authored
Aug 13, 2019
by
jiaorz
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/dev' into dev
parents
64e2e7e2
294fefbf
Changes
18
Show whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
366 additions
and
23 deletions
+366
-23
ActivityListDTO.java
.../java/com/xxfc/platform/activity/dto/ActivityListDTO.java
+17
-0
ActivityPopularizeRelationDTO.java
.../platform/activity/dto/ActivityPopularizeRelationDTO.java
+31
-0
ActivityFeign.java
.../java/com/xxfc/platform/activity/feign/ActivityFeign.java
+16
-5
ActivityListBiz.java
.../java/com/xxfc/platform/activity/biz/ActivityListBiz.java
+13
-0
ActivityPopularizeRelationBiz.java
.../platform/activity/biz/ActivityPopularizeRelationBiz.java
+14
-0
ActivityPopularizeRelationMapper.java
...orm/activity/mapper/ActivityPopularizeRelationMapper.java
+7
-2
ActivityListController.java
...m/xxfc/platform/activity/rest/ActivityListController.java
+7
-0
ActivityPopularizeRelationController.java
...m/activity/rest/ActivityPopularizeRelationController.java
+13
-0
ActivityPopularizeRelationMapper.xml
...ain/resources/mapper/ActivityPopularizeRelationMapper.xml
+28
-0
BehaviorEnum.java
.../com/xxfc/platform/user/behavior/common/BehaviorEnum.java
+20
-5
CustomerBehaviorNotes.java
.../platform/user/behavior/entity/CustomerBehaviorNotes.java
+14
-0
BehaviorNoteCollectVo.java
...xxfc/platform/user/behavior/vo/BehaviorNoteCollectVo.java
+46
-0
pom.xml
xx-user-behavior-collect/xx-user-behavior-server/pom.xml
+6
-0
UserBeHaviorApplication.java
.../xxfc/platform/user/behavior/UserBeHaviorApplication.java
+2
-0
CustomerBehaviorNotesBiz.java
.../platform/user/behavior/biz/CustomerBehaviorNotesBiz.java
+99
-6
CustomerBehaviorNotesMapper.java
...orm/user/behavior/mapper/CustomerBehaviorNotesMapper.java
+5
-1
CustomerBehaviorNotesAdminController.java
...vior/rest/admin/CustomerBehaviorNotesAdminController.java
+13
-3
CustomerBehaviorNotesMapper.xml
...src/main/resources/mapper/CustomerBehaviorNotesMapper.xml
+15
-1
No files found.
xx-activity/xx-activity-api/src/main/java/com/xxfc/platform/activity/dto/ActivityListDTO.java
0 → 100644
View file @
4cbc45f1
package
com
.
xxfc
.
platform
.
activity
.
dto
;
import
lombok.Data
;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/8/13 9:59
*/
@Data
public
class
ActivityListDTO
{
private
Long
activity_startTime
;
private
Long
activity_endTime
;
}
xx-activity/xx-activity-api/src/main/java/com/xxfc/platform/activity/dto/ActivityPopularizeRelationDTO.java
0 → 100644
View file @
4cbc45f1
package
com
.
xxfc
.
platform
.
activity
.
dto
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.io.Serializable
;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/8/12 19:01
*/
@Data
public
class
ActivityPopularizeRelationDTO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
/**
* 主用户
*/
@ApiModelProperty
(
value
=
"主用户"
)
private
Integer
majorUserId
;
/**
* 次要用户
*/
@ApiModelProperty
(
value
=
"次要用户"
)
private
Integer
minorUserId
;
}
xx-activity/xx-activity-api/src/main/java/com/xxfc/platform/activity/feign/ActivityFeign.java
View file @
4cbc45f1
...
...
@@ -2,6 +2,8 @@ package com.xxfc.platform.activity.feign;
import
com.github.wxiaoqi.security.admin.dto.UserInfoDTO
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.xxfc.platform.activity.dto.ActivityListDTO
;
import
com.xxfc.platform.activity.dto.ActivityPopularizeRelationDTO
;
import
com.xxfc.platform.activity.entity.IntegralUserTotal
;
import
com.xxfc.platform.activity.vo.UserCouponVo
;
import
io.swagger.annotations.ApiModelProperty
;
...
...
@@ -46,11 +48,11 @@ public interface ActivityFeign {
@ApiOperation
(
"优惠卷取消使用"
)
@RequestMapping
(
value
=
"/user/cancelUse"
,
method
=
RequestMethod
.
POST
)
public
ObjectRestResponse
cancelUse
(
@RequestParam
(
value
=
"TickerNo"
,
defaultValue
=
""
)
String
TickerNo
);
public
ObjectRestResponse
cancelUse
(
@RequestParam
(
value
=
"TickerNo"
,
defaultValue
=
""
)
String
TickerNo
);
@ApiOperation
(
"新人有礼参加活动"
)
@RequestMapping
(
value
=
"/join/user"
,
method
=
RequestMethod
.
POST
)
public
ObjectRestResponse
join
(
@RequestParam
(
value
=
"userId"
,
defaultValue
=
"0"
)
Integer
userId
);
public
ObjectRestResponse
join
(
@RequestParam
(
value
=
"userId"
,
defaultValue
=
"0"
)
Integer
userId
);
@ApiModelProperty
(
"获取用户积分"
)
@GetMapping
(
value
=
"/user/info"
)
...
...
@@ -60,4 +62,13 @@ public interface ActivityFeign {
@GetMapping
(
"/activity_data/clear"
)
ObjectRestResponse
<
Void
>
clearDate
(
@RequestParam
(
value
=
"userIds"
)
List
<
Integer
>
userIds
);
@ApiOperation
(
"查询活动邀请数据"
)
@GetMapping
(
"/activityPopularizeRelation/activity_popularize"
)
List
<
ActivityPopularizeRelationDTO
>
findActivityPopularizeRelationByActivityIdAndTime
(
@RequestParam
(
value
=
"activityId"
)
Integer
activityId
,
@RequestParam
(
value
=
"startTime"
,
required
=
false
)
Long
startTime
,
@RequestParam
(
value
=
"endTime"
,
required
=
false
)
Long
endTime
);
@ApiOperation
(
"查询活动的时间"
)
@GetMapping
(
"/activityList/time/{activityId}"
)
ActivityListDTO
findActivityStartTimeAndEndTimeById
(
@PathVariable
(
value
=
"activityId"
)
Integer
activityId
);
}
xx-activity/xx-activity-server/src/main/java/com/xxfc/platform/activity/biz/ActivityListBiz.java
View file @
4cbc45f1
package
com
.
xxfc
.
platform
.
activity
.
biz
;
import
com.xxfc.platform.activity.dto.ActivityListDTO
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.stereotype.Service
;
import
com.xxfc.platform.activity.entity.ActivityList
;
...
...
@@ -10,6 +12,7 @@ import tk.mybatis.mapper.weekend.WeekendSqls;
import
java.lang.reflect.InvocationTargetException
;
import
java.util.List
;
import
java.util.Objects
;
/**
* 活动(活动列表)
...
...
@@ -30,4 +33,14 @@ public class ActivityListBiz extends BaseBiz<ActivityListMapper,ActivityList> {
List
<
ActivityList
>
activityLists
=
selectByExample
(
exa
);
return
activityLists
;
}
public
ActivityListDTO
findActivityStartTimeAndEndTimeById
(
Integer
activityId
)
{
ActivityListDTO
activityListDTO
=
new
ActivityListDTO
();
ActivityList
activityList
=
mapper
.
selectByPrimaryKey
(
activityId
);
if
(
Objects
.
nonNull
(
activityList
)){
activityListDTO
.
setActivity_startTime
(
activityList
.
getStartTime
());
activityListDTO
.
setActivity_endTime
(
activityList
.
getEndTime
());
}
return
activityListDTO
;
}
}
\ No newline at end of file
xx-activity/xx-activity-server/src/main/java/com/xxfc/platform/activity/biz/ActivityPopularizeRelationBiz.java
View file @
4cbc45f1
package
com
.
xxfc
.
platform
.
activity
.
biz
;
import
com.xxfc.platform.activity.dto.ActivityPopularizeRelationDTO
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.springframework.stereotype.Service
;
import
com.xxfc.platform.activity.entity.ActivityPopularizeRelation
;
import
com.xxfc.platform.activity.mapper.ActivityPopularizeRelationMapper
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* 活动的参与者关系表
*
...
...
@@ -15,4 +20,13 @@ import com.github.wxiaoqi.security.common.biz.BaseBiz;
*/
@Service
public
class
ActivityPopularizeRelationBiz
extends
BaseBiz
<
ActivityPopularizeRelationMapper
,
ActivityPopularizeRelation
>
{
public
List
<
ActivityPopularizeRelationDTO
>
findActivityPopularizeRelationsByActivityIdAndTime
(
Integer
activityId
,
Long
startTime
,
Long
endTime
)
{
List
<
ActivityPopularizeRelationDTO
>
activityPopularizeRelationDTOS
=
new
ArrayList
<>();
List
<
ActivityPopularizeRelationDTO
>
relations
=
mapper
.
findActivityPopularizeRelationsByActivityIdAndTime
(
activityId
,
startTime
,
endTime
);
if
(
CollectionUtils
.
isNotEmpty
(
relations
)){
activityPopularizeRelationDTOS
.
addAll
(
relations
);
}
return
activityPopularizeRelationDTOS
;
}
}
\ No newline at end of file
xx-activity/xx-activity-server/src/main/java/com/xxfc/platform/activity/mapper/ActivityPopularizeRelationMapper.java
View file @
4cbc45f1
package
com
.
xxfc
.
platform
.
activity
.
mapper
;
import
com.xxfc.platform.activity.dto.ActivityPopularizeRelationDTO
;
import
com.xxfc.platform.activity.entity.ActivityPopularizeRelation
;
import
org.apache.ibatis.annotations.Param
;
import
tk.mybatis.mapper.common.Mapper
;
import
java.util.List
;
/**
* 活动的参与者关系表
*
...
...
@@ -12,4 +16,5 @@ import tk.mybatis.mapper.common.Mapper;
*/
public
interface
ActivityPopularizeRelationMapper
extends
Mapper
<
ActivityPopularizeRelation
>
{
List
<
ActivityPopularizeRelationDTO
>
findActivityPopularizeRelationsByActivityIdAndTime
(
@Param
(
"activityId"
)
Integer
activityId
,
@Param
(
"startTime"
)
Long
startTime
,
@Param
(
"endTime"
)
Long
endTime
);
}
xx-activity/xx-activity-server/src/main/java/com/xxfc/platform/activity/rest/ActivityListController.java
View file @
4cbc45f1
...
...
@@ -4,12 +4,14 @@ import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import
com.github.wxiaoqi.security.common.rest.BaseController
;
import
com.xxfc.platform.activity.biz.ActivityListBiz
;
import
com.xxfc.platform.activity.biz.HomeActivitiesBiz
;
import
com.xxfc.platform.activity.dto.ActivityListDTO
;
import
com.xxfc.platform.activity.entity.ActivityList
;
import
com.xxfc.platform.activity.entity.ActivityManagement
;
import
com.xxfc.platform.activity.entity.HomeActivities
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PathVariable
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
...
...
@@ -34,4 +36,9 @@ public class ActivityListController extends BaseController<ActivityListBiz,Activ
// List<ActivityList> list= baseBiz.activities();
return
ObjectRestResponse
.
succ
(
activities
);
}
@GetMapping
(
"/time/{activityId}"
)
public
ActivityListDTO
findActivityStartTimeAndEndTimeById
(
@PathVariable
(
value
=
"activityId"
)
Integer
activityId
){
return
baseBiz
.
findActivityStartTimeAndEndTimeById
(
activityId
);
}
}
\ No newline at end of file
xx-activity/xx-activity-server/src/main/java/com/xxfc/platform/activity/rest/ActivityPopularizeRelationController.java
View file @
4cbc45f1
...
...
@@ -2,13 +2,26 @@ package com.xxfc.platform.activity.rest;
import
com.github.wxiaoqi.security.common.rest.BaseController
;
import
com.xxfc.platform.activity.biz.ActivityPopularizeRelationBiz
;
import
com.xxfc.platform.activity.dto.ActivityPopularizeRelationDTO
;
import
com.xxfc.platform.activity.entity.ActivityPopularizeRelation
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.List
;
@RestController
@RequestMapping
(
"activityPopularizeRelation"
)
public
class
ActivityPopularizeRelationController
extends
BaseController
<
ActivityPopularizeRelationBiz
,
ActivityPopularizeRelation
>
{
@GetMapping
(
"/activity_popularize"
)
public
List
<
ActivityPopularizeRelationDTO
>
findActivityPopularizeRelationByActivityIdAndTime
(
@RequestParam
(
value
=
"activityId"
)
Integer
activityId
,
@RequestParam
(
value
=
"startTime"
,
required
=
false
)
Long
startTime
,
@RequestParam
(
value
=
"endTime"
,
required
=
false
)
Long
endTime
){
return
baseBiz
.
findActivityPopularizeRelationsByActivityIdAndTime
(
activityId
,
startTime
,
endTime
);
}
}
\ No newline at end of file
xx-activity/xx-activity-server/src/main/resources/mapper/ActivityPopularizeRelationMapper.xml
0 → 100644
View file @
4cbc45f1
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.xxfc.platform.activity.mapper.ActivityPopularizeRelationMapper"
>
<!-- 可根据自己的需求,是否要使用 -->
<resultMap
type=
"com.xxfc.platform.activity.entity.ActivityPopularizeRelation"
id=
"activityPopularizeRelationMap"
>
<result
property=
"id"
column=
"id"
/>
<result
property=
"crtTime"
column=
"crt_time"
/>
<result
property=
"updTime"
column=
"upd_time"
/>
<result
property=
"popularizeId"
column=
"popularize_id"
/>
<result
property=
"majorUserId"
column=
"major_user_id"
/>
<result
property=
"minorUserId"
column=
"minor_user_id"
/>
</resultMap>
<select
id=
"findActivityPopularizeRelationsByActivityIdAndTime"
resultMap=
"activityPopularizeRelationMap"
>
select * from `activity_popularize_relation` where `popularize_id`=#{activityId}
<if
test=
"startTime != null and endTime !=null"
>
and `crt_time` between #{startTime} and #{endTime}
</if>
<if
test=
"startTime != null and endTime == null"
>
and
<![CDATA[ `crt_time` >= #{startTime}]]>
</if>
<if
test=
"endTime != null and startTime ==null"
>
and
<![CDATA[ `crt_time` <= #{endTime}]]>
</if>
</select>
</mapper>
\ No newline at end of file
xx-user-behavior-collect/xx-user-behavior-api/src/main/java/com/xxfc/platform/user/behavior/common/BehaviorEnum.java
View file @
4cbc45f1
...
...
@@ -16,7 +16,7 @@ public enum BehaviorEnum {
/**
* 立即前往(弹窗)
*/
DIALOG_WINDOW_TO
(
1
,
"立即前往"
),
DIALOG_WINDOW_TO
(
1
,
"立即前往
(活动详情页)
"
),
/**
* banner 点击
...
...
@@ -33,20 +33,35 @@ public enum BehaviorEnum {
*/
REGISTRY
(
4
,
"注册"
),
/**
* 活动页面访问量
*/
ACTIVITY_VISITS
(
5
,
"活动页面访问"
),
/**
* 领取任务
*/
CLAIM_TASK
(
5
,
"领取任务"
),
CLAIM_TASK
(
6
,
"领取任务"
),
/**
* 分享
*/
SHARE
(
6
,
"分享"
),
SHARE
(
7
,
"分享"
),
/**
* App访问
*/
APP_VISIT_COUNT
(
8
,
"App访问量"
),
/**
* 成功邀请人数
*/
SUCCESS_INVIT
(
9
,
"成功邀请人数"
),
/**
*
邀请
*
成功邀请人数大于10
*/
INVITATION
(
7
,
"邀请
"
);
SUCCESS_MORE_10_INVIT
(
10
,
"成功邀请人数大于10
"
);
BehaviorEnum
(
int
code
,
String
name
)
{
this
.
code
=
code
;
...
...
xx-user-behavior-collect/xx-user-behavior-api/src/main/java/com/xxfc/platform/user/behavior/entity/CustomerBehaviorNotes.java
View file @
4cbc45f1
...
...
@@ -8,6 +8,7 @@ import javax.persistence.GeneratedValue;
import
javax.persistence.Id
;
import
javax.persistence.Table
;
import
java.io.Serializable
;
import
java.util.Objects
;
/**
...
...
@@ -61,4 +62,17 @@ public class CustomerBehaviorNotes implements Serializable {
@Column
(
name
=
"request_id"
)
@ApiModelProperty
(
value
=
"请求id"
)
private
String
requestId
;
@Override
public
boolean
equals
(
Object
o
)
{
if
(
this
==
o
)
return
true
;
if
(
o
==
null
||
getClass
()
!=
o
.
getClass
())
return
false
;
CustomerBehaviorNotes
that
=
(
CustomerBehaviorNotes
)
o
;
return
Objects
.
equals
(
customerId
,
that
.
customerId
);
}
@Override
public
int
hashCode
()
{
return
Objects
.
hash
(
customerId
);
}
}
xx-user-behavior-collect/xx-user-behavior-api/src/main/java/com/xxfc/platform/user/behavior/vo/BehaviorNoteCollectVo.java
0 → 100644
View file @
4cbc45f1
package
com
.
xxfc
.
platform
.
user
.
behavior
.
vo
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/8/12 18:32
*/
@Data
@Builder
(
toBuilder
=
true
)
@NoArgsConstructor
@AllArgsConstructor
public
class
BehaviorNoteCollectVo
implements
Serializable
{
/**
* @see com.xxfc.platform.user.behavior.common.BehaviorEnum + 成功邀请人数 ,邀请人数>=10 ,App 访问量
* 行为
*/
private
String
behavior
;
/**
* 日访问数
*/
private
long
p_count
;
/**
* 日平均访问数
*/
private
long
p_avg_count
;
/**
* 用户每日访问总数
*/
private
long
u_count
;
/**
* 用户每日平均访问总数
*/
private
long
u_avg_count
;
}
xx-user-behavior-collect/xx-user-behavior-server/pom.xml
View file @
4cbc45f1
...
...
@@ -25,5 +25,11 @@
<artifactId>
xx-user-behavior-api
</artifactId>
<version>
2.0-SNAPSHOT
</version>
</dependency>
<dependency>
<groupId>
com.xxfc.platform
</groupId>
<artifactId>
xx-activity-api
</artifactId>
<version>
2.0-SNAPSHOT
</version>
</dependency>
</dependencies>
</project>
\ No newline at end of file
xx-user-behavior-collect/xx-user-behavior-server/src/main/java/com/xxfc/platform/user/behavior/UserBeHaviorApplication.java
View file @
4cbc45f1
...
...
@@ -3,6 +3,7 @@ package com.xxfc.platform.user.behavior;
import
org.springframework.boot.SpringApplication
;
import
org.springframework.boot.autoconfigure.SpringBootApplication
;
import
org.springframework.cloud.client.discovery.EnableDiscoveryClient
;
import
org.springframework.cloud.openfeign.EnableFeignClients
;
import
tk.mybatis.spring.annotation.MapperScan
;
/**
...
...
@@ -12,6 +13,7 @@ import tk.mybatis.spring.annotation.MapperScan;
* @data 2019/8/12 10:04
*/
@EnableDiscoveryClient
@EnableFeignClients
(
basePackages
=
"com.xxfc.platform.*.feign"
)
@MapperScan
(
basePackages
=
"com.xxfc.platform.user.behavior.mapper"
)
@SpringBootApplication
public
class
UserBeHaviorApplication
{
...
...
xx-user-behavior-collect/xx-user-behavior-server/src/main/java/com/xxfc/platform/user/behavior/biz/CustomerBehaviorNotesBiz.java
View file @
4cbc45f1
package
com
.
xxfc
.
platform
.
user
.
behavior
.
biz
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
com.xxfc.platform.activity.dto.ActivityListDTO
;
import
com.xxfc.platform.activity.dto.ActivityPopularizeRelationDTO
;
import
com.xxfc.platform.activity.feign.ActivityFeign
;
import
com.xxfc.platform.user.behavior.common.BehaviorEnum
;
import
com.xxfc.platform.user.behavior.dto.CustomerBehaviorNoteDTO
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.stereotype.Service
;
import
com.xxfc.platform.user.behavior.entity.CustomerBehaviorNotes
;
import
com.xxfc.platform.user.behavior.mapper.CustomerBehaviorNotesMapper
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
com.xxfc.platform.user.behavior.vo.BehaviorNoteCollectVo
;
import
lombok.RequiredArgsConstructor
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.time.Instant
;
import
java.time.temporal.ChronoUnit
;
import
java.util.*
;
import
java.util.stream.Collectors
;
/**
* 用户行为记录表
...
...
@@ -18,12 +28,95 @@ import java.time.Instant;
* @date 2019-08-12 14:03:55
*/
@Service
public
class
CustomerBehaviorNotesBiz
extends
BaseBiz
<
CustomerBehaviorNotesMapper
,
CustomerBehaviorNotes
>
{
@RequiredArgsConstructor
(
onConstructor
=
@__
({
@Autowired
}))
public
class
CustomerBehaviorNotesBiz
extends
BaseBiz
<
CustomerBehaviorNotesMapper
,
CustomerBehaviorNotes
>
{
private
final
ActivityFeign
activityFeign
;
public
void
saveCustomerBehavior
(
CustomerBehaviorNoteDTO
customerBehaviorNoteDTO
)
{
CustomerBehaviorNotes
customerBehaviorNotes
=
new
CustomerBehaviorNotes
();
BeanUtils
.
copyProperties
(
customerBehaviorNoteDTO
,
customerBehaviorNotes
);
BeanUtils
.
copyProperties
(
customerBehaviorNoteDTO
,
customerBehaviorNotes
);
customerBehaviorNotes
.
setCrtTime
(
Instant
.
now
().
toEpochMilli
());
mapper
.
insertSelective
(
customerBehaviorNotes
);
}
public
List
<
BehaviorNoteCollectVo
>
findBehaviorCollectByActivityId
(
Integer
activityId
,
Long
startTime
,
Long
endTime
)
{
List
<
BehaviorNoteCollectVo
>
behaviorNoteCollectVos
=
new
ArrayList
<>();
List
<
CustomerBehaviorNotes
>
customerBehaviorNotes
=
mapper
.
selectByActivityIdAndTime
(
activityId
,
startTime
,
endTime
);
boolean
isEmpty
=
CollectionUtils
.
isEmpty
(
customerBehaviorNotes
);
List
<
ActivityPopularizeRelationDTO
>
popularizeRelations
=
new
ArrayList
<>();
Map
<
Integer
,
List
<
CustomerBehaviorNotes
>>
behaviorAndDataMap
=
null
;
if
(!
isEmpty
)
{
//邀请成功记录
popularizeRelations
=
activityFeign
.
findActivityPopularizeRelationByActivityIdAndTime
(
activityId
,
startTime
,
endTime
);
behaviorAndDataMap
=
customerBehaviorNotes
.
stream
().
collect
(
Collectors
.
groupingBy
(
CustomerBehaviorNotes:
:
getType
,
Collectors
.
toList
()));
}
long
between_day
=
0
;
if
(
startTime
!=
null
&&
endTime
!=
null
){
between_day
=
ChronoUnit
.
DAYS
.
between
(
Instant
.
ofEpochMilli
(
startTime
),
Instant
.
ofEpochMilli
(
endTime
));
}
else
{
ActivityListDTO
activityListDTO
=
activityFeign
.
findActivityStartTimeAndEndTimeById
(
activityId
);
if
(
startTime
!=
null
){
between_day
=
ChronoUnit
.
DAYS
.
between
(
Instant
.
ofEpochMilli
(
startTime
),
Instant
.
now
());
}
if
(
endTime
!=
null
){
between_day
=
ChronoUnit
.
DAYS
.
between
(
Instant
.
ofEpochMilli
(
activityListDTO
.
getActivity_startTime
()),
Instant
.
ofEpochMilli
(
endTime
));
}
if
(
startTime
==
null
&&
endTime
==
null
){
between_day
=
ChronoUnit
.
DAYS
.
between
(
Instant
.
ofEpochMilli
(
activityListDTO
.
getActivity_startTime
()),
Instant
.
now
());
}
}
between_day
=
Math
.
abs
(
between_day
)==
0
?
1
:
Math
.
abs
(
between_day
);
EnumSet
<
BehaviorEnum
>
behaviorEnums
=
EnumSet
.
allOf
(
BehaviorEnum
.
class
);
BehaviorNoteCollectVo
behaviorNoteCollectVo
;
for
(
BehaviorEnum
behaviorEnum
:
behaviorEnums
)
{
behaviorNoteCollectVo
=
new
BehaviorNoteCollectVo
();
behaviorNoteCollectVo
.
setBehavior
(
behaviorEnum
.
getName
());
if
(
isEmpty
)
{
behaviorNoteCollectVos
.
add
(
behaviorNoteCollectVo
);
continue
;
}
else
{
switch
(
behaviorEnum
)
{
case
SUCCESS_INVIT:
int
total
=
popularizeRelations
.
size
();
long
avg
=
(
total
/
between_day
);
behaviorNoteCollectVo
.
setP_count
(
total
);
behaviorNoteCollectVo
.
setP_avg_count
(
avg
);
behaviorNoteCollectVo
.
setU_count
(
total
);
behaviorNoteCollectVo
.
setU_avg_count
(
avg
);
break
;
case
SUCCESS_MORE_10_INVIT:
long
default_totalMore10
=
popularizeRelations
.
stream
().
collect
(
Collectors
.
groupingBy
(
ActivityPopularizeRelationDTO:
:
getMajorUserId
,
Collectors
.
counting
())).
values
().
stream
().
filter
(
x
->
x
>=
10
).
count
();
long
default_avgMore10
=
default_totalMore10
/
between_day
;
behaviorNoteCollectVo
.
setP_count
(
default_totalMore10
);
behaviorNoteCollectVo
.
setP_avg_count
(
default_avgMore10
);
behaviorNoteCollectVo
.
setU_count
(
default_totalMore10
);
behaviorNoteCollectVo
.
setU_avg_count
(
default_avgMore10
);
break
;
default
:
//访问量
List
<
CustomerBehaviorNotes
>
customerBehaviors
=
behaviorAndDataMap
==
null
?
Collections
.
EMPTY_LIST
:
behaviorAndDataMap
.
get
(
behaviorEnum
.
getCode
());
boolean
typeIsEmpty
=
CollectionUtils
.
isEmpty
(
customerBehaviors
);
long
default_p_total
=
typeIsEmpty
?
0
:
customerBehaviors
.
size
();
long
default_p_avg
=
default_p_total
/
between_day
;
behaviorNoteCollectVo
.
setP_count
(
default_p_total
);
behaviorNoteCollectVo
.
setP_avg_count
(
default_p_avg
);
//用户访问量
Set
<
CustomerBehaviorNotes
>
customerBehaviorsSet
=
new
HashSet
<>(
typeIsEmpty
?
Collections
.
EMPTY_SET
:
customerBehaviorNotes
);
long
default_u_total
=
customerBehaviorsSet
.
size
();
long
default_u_avg
=
default_u_total
/
between_day
;
behaviorNoteCollectVo
.
setU_count
(
default_u_total
);
behaviorNoteCollectVo
.
setU_avg_count
(
default_u_avg
);
break
;
}
behaviorNoteCollectVos
.
add
(
behaviorNoteCollectVo
);
}
}
return
behaviorNoteCollectVos
;
}
}
\ No newline at end of file
xx-user-behavior-collect/xx-user-behavior-server/src/main/java/com/xxfc/platform/user/behavior/mapper/CustomerBehaviorNotesMapper.java
View file @
4cbc45f1
package
com
.
xxfc
.
platform
.
user
.
behavior
.
mapper
;
import
com.xxfc.platform.user.behavior.entity.CustomerBehaviorNotes
;
import
org.apache.ibatis.annotations.Param
;
import
tk.mybatis.mapper.common.Mapper
;
import
java.util.List
;
/**
* 用户行为记录表
*
...
...
@@ -12,4 +15,5 @@ import tk.mybatis.mapper.common.Mapper;
*/
public
interface
CustomerBehaviorNotesMapper
extends
Mapper
<
CustomerBehaviorNotes
>
{
List
<
CustomerBehaviorNotes
>
selectByActivityIdAndTime
(
@Param
(
"activityId"
)
Integer
activityId
,
@Param
(
"startTime"
)
Long
startTime
,
@Param
(
"endTime"
)
Long
endTime
);
}
xx-user-behavior-collect/xx-user-behavior-server/src/main/java/com/xxfc/platform/user/behavior/rest/admin/CustomerBehaviorNotesAdminController.java
View file @
4cbc45f1
package
com
.
xxfc
.
platform
.
user
.
behavior
.
rest
.
admin
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.xxfc.platform.user.behavior.biz.CustomerBehaviorNotesBiz
;
import
com.xxfc.platform.user.behavior.vo.BehaviorNoteCollectVo
;
import
lombok.RequiredArgsConstructor
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.List
;
/**
* @author libin
...
...
@@ -19,4 +22,11 @@ public class CustomerBehaviorNotesAdminController {
private
final
CustomerBehaviorNotesBiz
customerBehaviorNotesBiz
;
@GetMapping
(
"/collect/{activityId}"
)
public
ObjectRestResponse
<
List
<
BehaviorNoteCollectVo
>>
findCollectByActivityId
(
@PathVariable
(
value
=
"activityId"
)
Integer
activityId
,
@RequestParam
(
value
=
"startTime"
,
required
=
false
)
Long
startTime
,
@RequestParam
(
value
=
"endTime"
,
required
=
false
)
Long
endTime
)
{
List
<
BehaviorNoteCollectVo
>
behaviorNoteCollectVos
=
customerBehaviorNotesBiz
.
findBehaviorCollectByActivityId
(
activityId
,
startTime
,
endTime
);
return
ObjectRestResponse
.
succ
(
behaviorNoteCollectVos
);
}
}
xx-user-behavior-collect/xx-user-behavior-server/src/main/resources/mapper/CustomerBehaviorNotesMapper.xml
View file @
4cbc45f1
...
...
@@ -11,5 +11,19 @@
<result
property=
"type"
column=
"type"
/>
<result
property=
"typeId"
column=
"type_id"
/>
<result
property=
"crtTime"
column=
"crt_time"
/>
<result
property=
"requestId"
column=
"request_id"
/>
</resultMap>
<select
id=
"selectByActivityIdAndTime"
resultMap=
"customerBehaviorNotesMap"
>
select * from `customer_behavior_notes` where `type_id`=#{activityId}
<if
test=
"startTime != null and endTime !=null"
>
and `crt_time` between #{startTime} and #{endTime}
</if>
<if
test=
"startTime != null and endTime == null"
>
and
<![CDATA[`crt_time` >= #{startTime}]]>
</if>
<if
test=
"endTime != null and startTime == null"
>
and
<![CDATA[ `crt_time` <= #{endTime}]]>
</if>
</select>
</mapper>
\ No newline at end of file
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