Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
gic-spark-tag-4.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
wangxiaokang
gic-spark-tag-4.0
Commits
9cba724f
Commit
9cba724f
authored
Aug 26, 2020
by
guos
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
会员标签4.0
parent
53ada911
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
40 additions
and
23 deletions
+40
-23
Test.java
src/main/java/com/gic/spark/Test.java
+6
-7
TrdEcuBrandLabelBean.java
.../java/com/gic/spark/entity/bean/TrdEcuBrandLabelBean.java
+10
-1
TagAssociatedPurchaseRateFilter.java
...com/gic/spark/filter/TagAssociatedPurchaseRateFilter.java
+2
-2
TagPerCustomerTransactionFilter.java
...com/gic/spark/filter/TagPerCustomerTransactionFilter.java
+2
-2
TagUnitPriceFilter.java
src/main/java/com/gic/spark/filter/TagUnitPriceFilter.java
+20
-11
No files found.
src/main/java/com/gic/spark/Test.java
View file @
9cba724f
...
@@ -2,7 +2,9 @@ package com.gic.spark;
...
@@ -2,7 +2,9 @@ package com.gic.spark;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
import
com.gic.spark.entity.enumtype.TimeRangeType
;
import
com.gic.spark.entity.enumtype.TimeRangeType
;
import
com.gic.spark.util.DataUtil
;
import
com.gic.spark.util.DateUtil
;
import
com.gic.spark.util.DateUtil
;
import
com.gic.spark.util.IndexRequestUtil
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
java.util.*
;
import
java.util.*
;
...
@@ -36,13 +38,10 @@ public class Test {
...
@@ -36,13 +38,10 @@ public class Test {
// System.out.println(strs.length);
// System.out.println(strs.length);
// System.out.println(strs[0]);
// System.out.println(strs[0]);
System
.
out
.
println
(
Pattern
.
compile
(
"flag"
).
matcher
(
"flag.mcuInfo.flag"
).
find
());
// IndexRequestUtil.getGoodsSkucod(29,"170922121378263146",true);
IndexRequestUtil
.
getStoreId
(
29
,
"1023"
,
true
);
String
[]
keys
=
"flag.mcuInfo.flag"
.
split
(
"flag"
);
System
.
out
.
println
(
"keys[0]==>"
+
keys
[
0
]);
System
.
out
.
println
(
"keys[1]==>"
+
keys
[
1
]);
for
(
String
key
:
keys
)
{
System
.
out
.
println
(
"k==>"
+
key
.
replaceAll
(
"\\."
,
""
));
}
}
}
}
}
src/main/java/com/gic/spark/entity/bean/TrdEcuBrandLabelBean.java
View file @
9cba724f
...
@@ -14,7 +14,8 @@ public class TrdEcuBrandLabelBean implements Serializable {
...
@@ -14,7 +14,8 @@ public class TrdEcuBrandLabelBean implements Serializable {
private
Long
ecu_id
;
//用户id
private
Long
ecu_id
;
//用户id
private
Integer
store_info_id
;
//门店id
private
Integer
store_info_id
;
//门店id
private
Integer
order_times
;
//消费次数(根据配置取的)
private
Integer
order_times
;
//消费次数(根据配置取的)
private
Integer
seff_goods_num
;
//净销售件数
private
Integer
seff_order_cnt
;
//配置订单数
private
Integer
seff_goods_num
;
//配置销售件数
private
Double
receive_amt
;
//应收额
private
Double
receive_amt
;
//应收额
private
Double
pay_amt
;
//实付额
private
Double
pay_amt
;
//实付额
private
Double
total_amt
;
//吊牌价总额
private
Double
total_amt
;
//吊牌价总额
...
@@ -108,4 +109,12 @@ public class TrdEcuBrandLabelBean implements Serializable {
...
@@ -108,4 +109,12 @@ public class TrdEcuBrandLabelBean implements Serializable {
public
void
setReceive_amt
(
Double
receive_amt
)
{
public
void
setReceive_amt
(
Double
receive_amt
)
{
this
.
receive_amt
=
receive_amt
;
this
.
receive_amt
=
receive_amt
;
}
}
public
Integer
getSeff_order_cnt
()
{
return
seff_order_cnt
;
}
public
void
setSeff_order_cnt
(
Integer
seff_order_cnt
)
{
this
.
seff_order_cnt
=
seff_order_cnt
;
}
}
}
src/main/java/com/gic/spark/filter/TagAssociatedPurchaseRateFilter.java
View file @
9cba724f
...
@@ -44,14 +44,14 @@ public class TagAssociatedPurchaseRateFilter extends AbstractTagConsumFilter{
...
@@ -44,14 +44,14 @@ public class TagAssociatedPurchaseRateFilter extends AbstractTagConsumFilter{
JavaRDD
<
Long
>
ecuRdd
=
consumeRDD
.
mapToPair
(
data
->
Tuple2
.
apply
(
data
.
getEcu_id
(),
data
))
JavaRDD
<
Long
>
ecuRdd
=
consumeRDD
.
mapToPair
(
data
->
Tuple2
.
apply
(
data
.
getEcu_id
(),
data
))
.
reduceByKey
((
x
,
y
)->{
.
reduceByKey
((
x
,
y
)->{
x
.
setSeff_goods_num
(
x
.
getSeff_goods_num
()+
y
.
getSeff_goods_num
());
x
.
setSeff_goods_num
(
x
.
getSeff_goods_num
()+
y
.
getSeff_goods_num
());
x
.
set
Order_times
(
x
.
getOrder_times
()+
y
.
getOrder_times
());
x
.
set
Seff_order_cnt
(
x
.
getSeff_order_cnt
()+
y
.
getSeff_order_cnt
());
return
x
;
return
x
;
})
})
.
mapPartitions
(
data
->{
.
mapPartitions
(
data
->{
List
<
Long
>
result
=
new
ArrayList
();
List
<
Long
>
result
=
new
ArrayList
();
while
(
data
.
hasNext
()){
while
(
data
.
hasNext
()){
Tuple2
<
Long
,
TrdEcuBrandLabelBean
>
tp2
=
data
.
next
();
Tuple2
<
Long
,
TrdEcuBrandLabelBean
>
tp2
=
data
.
next
();
double
jointRate
=
CommonUtil
.
isEmptyInteger2int
(
tp2
.
_2
().
getSeff_goods_num
())/
CommonUtil
.
isEmptyInteger2int
(
tp2
.
_2
().
get
Order_times
());
double
jointRate
=
CommonUtil
.
isEmptyInteger2int
(
tp2
.
_2
().
getSeff_goods_num
())/
CommonUtil
.
isEmptyInteger2int
(
tp2
.
_2
().
get
Seff_order_cnt
());
switch
(
consumeRequest
.
getNumberType
()){
switch
(
consumeRequest
.
getNumberType
()){
case
gt:
case
gt:
if
(
jointRate
>
consumeRequest
.
getBeginNum
()){
if
(
jointRate
>
consumeRequest
.
getBeginNum
()){
...
...
src/main/java/com/gic/spark/filter/TagPerCustomerTransactionFilter.java
View file @
9cba724f
...
@@ -52,8 +52,8 @@ public class TagPerCustomerTransactionFilter extends AbstractTagConsumFilter{
...
@@ -52,8 +52,8 @@ public class TagPerCustomerTransactionFilter extends AbstractTagConsumFilter{
List
<
Long
>
result
=
new
ArrayList
();
List
<
Long
>
result
=
new
ArrayList
();
while
(
data
.
hasNext
()){
while
(
data
.
hasNext
()){
Tuple2
<
Long
,
TrdEcuBrandLabelBean
>
tp2
=
data
.
next
();
Tuple2
<
Long
,
TrdEcuBrandLabelBean
>
tp2
=
data
.
next
();
double
CusSinglePiece
=
1
==
configStatus
?
CommonUtil
.
isEmptyDouble2double
(
tp2
.
_2
().
getPay_amt
())/
CommonUtil
.
isEmptyInteger2int
(
tp2
.
_2
().
get
Order_times
())
double
CusSinglePiece
=
1
==
configStatus
?
CommonUtil
.
isEmptyDouble2double
(
tp2
.
_2
().
getPay_amt
())/
CommonUtil
.
isEmptyInteger2int
(
tp2
.
_2
().
get
Seff_order_cnt
())
:
CommonUtil
.
isEmptyDouble2double
(
tp2
.
_2
().
getReceive_amt
())/
CommonUtil
.
isEmptyInteger2int
(
tp2
.
_2
().
get
Order_times
());
:
CommonUtil
.
isEmptyDouble2double
(
tp2
.
_2
().
getReceive_amt
())/
CommonUtil
.
isEmptyInteger2int
(
tp2
.
_2
().
get
Seff_order_cnt
());
switch
(
consumeRequest
.
getNumberType
()){
switch
(
consumeRequest
.
getNumberType
()){
case
gt:
case
gt:
if
(
CusSinglePiece
>
consumeRequest
.
getBeginNum
()){
if
(
CusSinglePiece
>
consumeRequest
.
getBeginNum
()){
...
...
src/main/java/com/gic/spark/filter/TagUnitPriceFilter.java
View file @
9cba724f
...
@@ -5,6 +5,7 @@ import com.gic.spark.datasource.mysql.MysqlRddManager;
...
@@ -5,6 +5,7 @@ import com.gic.spark.datasource.mysql.MysqlRddManager;
import
com.gic.spark.entity.bean.TrdEcuBrandLabelBean
;
import
com.gic.spark.entity.bean.TrdEcuBrandLabelBean
;
import
com.gic.spark.entity.request.AbstractFilterRequest
;
import
com.gic.spark.entity.request.AbstractFilterRequest
;
import
com.gic.spark.entity.request.TagConsumeRequest
;
import
com.gic.spark.entity.request.TagConsumeRequest
;
import
com.gic.spark.util.CommonUtil
;
import
org.apache.spark.api.java.JavaRDD
;
import
org.apache.spark.api.java.JavaRDD
;
import
scala.Tuple2
;
import
scala.Tuple2
;
...
@@ -39,41 +40,49 @@ public class TagUnitPriceFilter extends AbstractTagConsumFilter{
...
@@ -39,41 +40,49 @@ public class TagUnitPriceFilter extends AbstractTagConsumFilter{
public
JavaRDD
<
Long
>
filterValidMember
(
Integer
enterpriseId
,
AbstractFilterRequest
request
)
{
public
JavaRDD
<
Long
>
filterValidMember
(
Integer
enterpriseId
,
AbstractFilterRequest
request
)
{
TagConsumeRequest
consumeRequest
=(
TagConsumeRequest
)
request
;
TagConsumeRequest
consumeRequest
=(
TagConsumeRequest
)
request
;
JavaRDD
<
TrdEcuBrandLabelBean
>
consumeRDD
=
MysqlRddManager
.
getPojoFromDataset
(
dataSourceHive
.
getDatasetByEntId
(
enterpriseId
),
TrdEcuBrandLabelBean
.
class
).
javaRDD
();
JavaRDD
<
TrdEcuBrandLabelBean
>
consumeRDD
=
MysqlRddManager
.
getPojoFromDataset
(
dataSourceHive
.
getDatasetByEntId
(
enterpriseId
),
TrdEcuBrandLabelBean
.
class
).
javaRDD
();
consumeRDD
=
statisticsTypeHandle
(
consumeRDD
,
consumeRequest
);
int
configStatus
=
CommonUtil
.
getConfigStatus
(
enterpriseId
);
JavaRDD
<
Long
>
ecuRdd
=
consumeRDD
.
mapToPair
(
data
->
Tuple2
.
apply
(
data
.
getEcu_id
(),
data
.
getOrder_times
())).
reduceByKey
((
x
,
y
)->
x
+
y
)
JavaRDD
<
Long
>
ecuRdd
=
consumeRDD
.
mapToPair
(
data
->
Tuple2
.
apply
(
data
.
getEcu_id
(),
data
))
.
reduceByKey
((
x
,
y
)->{
x
.
setReceive_amt
(
x
.
getReceive_amt
()+
y
.
getReceive_amt
());
x
.
setPay_amt
(
x
.
getPay_amt
()+
y
.
getPay_amt
());
x
.
setOrder_times
(
x
.
getOrder_times
()+
y
.
getOrder_times
());
return
x
;
})
.
mapPartitions
(
data
->{
.
mapPartitions
(
data
->{
List
<
Long
>
result
=
new
ArrayList
();
List
<
Long
>
result
=
new
ArrayList
();
while
(
data
.
hasNext
()){
while
(
data
.
hasNext
()){
Tuple2
<
Long
,
Integer
>
tp2
=
data
.
next
();
Tuple2
<
Long
,
TrdEcuBrandLabelBean
>
tp2
=
data
.
next
();
double
CusSinglePiece
=
1
==
configStatus
?
CommonUtil
.
isEmptyDouble2double
(
tp2
.
_2
().
getPay_amt
())/
CommonUtil
.
isEmptyInteger2int
(
tp2
.
_2
().
getSeff_goods_num
())
:
CommonUtil
.
isEmptyDouble2double
(
tp2
.
_2
().
getReceive_amt
())/
CommonUtil
.
isEmptyInteger2int
(
tp2
.
_2
().
getSeff_goods_num
());
switch
(
consumeRequest
.
getNumberType
()){
switch
(
consumeRequest
.
getNumberType
()){
case
gt:
case
gt:
if
(
tp2
.
_2
()
>
consumeRequest
.
getBeginNum
()){
if
(
CusSinglePiece
>
consumeRequest
.
getBeginNum
()){
result
.
add
(
tp2
.
_1
());
result
.
add
(
tp2
.
_1
());
}
}
break
;
break
;
case
gte:
case
gte:
if
(
tp2
.
_2
()
>=
consumeRequest
.
getBeginNum
()){
if
(
CusSinglePiece
>=
consumeRequest
.
getBeginNum
()){
result
.
add
(
tp2
.
_1
());
result
.
add
(
tp2
.
_1
());
}
}
break
;
break
;
case
lt:
case
lt:
if
(
tp2
.
_2
()
<
consumeRequest
.
getEndNum
()){
if
(
CusSinglePiece
<
consumeRequest
.
getEndNum
()){
result
.
add
(
tp2
.
_1
());
result
.
add
(
tp2
.
_1
());
}
}
break
;
break
;
case
lte:
case
lte:
if
(
tp2
.
_2
()
<=
consumeRequest
.
getEndNum
()){
if
(
CusSinglePiece
<=
consumeRequest
.
getEndNum
()){
result
.
add
(
tp2
.
_1
());
result
.
add
(
tp2
.
_1
());
}
}
break
;
break
;
case
eq:
case
eq:
if
(
tp2
.
_2
().
intValue
()
==
consumeRequest
.
getEqualNum
()){
if
(
CusSinglePiece
==
consumeRequest
.
getEqualNum
()){
result
.
add
(
tp2
.
_1
());
result
.
add
(
tp2
.
_1
());
}
}
break
;
break
;
case
between:
case
between:
if
(
tp2
.
_2
()
>=
consumeRequest
.
getBeginNum
()
if
(
CusSinglePiece
>=
consumeRequest
.
getBeginNum
()
&&
tp2
.
_2
()
<=
consumeRequest
.
getEndNum
()){
&&
CusSinglePiece
<=
consumeRequest
.
getEndNum
()){
result
.
add
(
tp2
.
_1
());
result
.
add
(
tp2
.
_1
());
}
}
default
:
break
;
default
:
break
;
...
...
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