Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
T
task-kolon
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
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
piplus-v3
task-kolon
Commits
e24c7782
Commit
e24c7782
authored
Jun 06, 2016
by
刘文胜
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
会员同步
parent
f8f8375e
Changes
7
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
149 additions
and
30 deletions
+149
-30
KolonMember.java
src/main/java/com/hdp/pi/domain/kolon/KolonMember.java
+4
-4
KolonMemberPreassignSn.java
.../java/com/hdp/pi/domain/kolon/KolonMemberPreassignSn.java
+38
-0
KolonMemberDTO.java
src/main/java/com/hdp/pi/dto/kolon/KolonMemberDTO.java
+19
-23
KolonMemberPreassignSnRepository.java
...pi/repository/kolon/KolonMemberPreassignSnRepository.java
+21
-0
KolonMemberRepository.java
...va/com/hdp/pi/repository/kolon/KolonMemberRepository.java
+2
-0
KolonMemberServiceImpl.java
...java/com/hdp/pi/service/kolon/KolonMemberServiceImpl.java
+29
-3
CONSTANTS.java
src/main/java/com/hdp/pi/utils/kolon/CONSTANTS.java
+36
-0
No files found.
src/main/java/com/hdp/pi/domain/kolon/KolonMember.java
View file @
e24c7782
...
@@ -26,6 +26,9 @@ public class KolonMember implements Serializable {
...
@@ -26,6 +26,9 @@ public class KolonMember implements Serializable {
@Column
(
name
=
"cs_no"
,
nullable
=
false
)
@Column
(
name
=
"cs_no"
,
nullable
=
false
)
public
Long
csNo
;
public
Long
csNo
;
@Column
(
name
=
"card_no"
,
nullable
=
true
)
public
String
cardNo
;
@Column
(
name
=
"phone"
,
nullable
=
true
)
@Column
(
name
=
"phone"
,
nullable
=
true
)
public
String
phone
;
public
String
phone
;
...
@@ -57,7 +60,7 @@ public class KolonMember implements Serializable {
...
@@ -57,7 +60,7 @@ public class KolonMember implements Serializable {
* 1.First time buyer 2.Active 3. Defecting 4.Inactive
* 1.First time buyer 2.Active 3. Defecting 4.Inactive
*/
*/
@Column
(
name
=
"lifecycle"
,
nullable
=
true
)
@Column
(
name
=
"lifecycle"
,
nullable
=
true
)
public
Integer
lifecycle
;
public
String
lifecycle
;
/**
/**
* 1.现存顾客 2.潜在顾客
* 1.现存顾客 2.潜在顾客
...
@@ -65,9 +68,6 @@ public class KolonMember implements Serializable {
...
@@ -65,9 +68,6 @@ public class KolonMember implements Serializable {
@Column
(
name
=
"customer_type"
,
nullable
=
true
)
@Column
(
name
=
"customer_type"
,
nullable
=
true
)
public
Integer
customerType
;
public
Integer
customerType
;
@Column
(
name
=
"last_purchase_date"
,
nullable
=
true
)
public
Date
lastPurchaseDate
;
/**
/**
* pi_member ID
* pi_member ID
*/
*/
...
...
src/main/java/com/hdp/pi/domain/kolon/KolonMemberPreassignSn.java
0 → 100644
View file @
e24c7782
package
com
.
hdp
.
pi
.
domain
.
kolon
;
import
java.io.Serializable
;
import
java.util.Date
;
import
javax.persistence.Column
;
import
javax.persistence.Entity
;
import
javax.persistence.GeneratedValue
;
import
javax.persistence.GenerationType
;
import
javax.persistence.Id
;
import
javax.persistence.Table
;
@Entity
@Table
(
name
=
"pi_kolon_member_preassign_sn"
)
public
class
KolonMemberPreassignSn
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
8345843310258363286L
;
@Id
@GeneratedValue
(
strategy
=
GenerationType
.
AUTO
)
public
Long
id
;
@Column
(
name
=
"cs_no"
,
nullable
=
false
)
public
String
csNo
;
@Column
(
name
=
"card_no"
,
nullable
=
false
)
public
String
cardNo
;
@Column
(
name
=
"use_status"
,
nullable
=
true
)
public
Integer
useStatus
;
@Column
(
name
=
"create_time"
,
nullable
=
true
)
public
Date
createTime
;
@Column
(
name
=
"update_time"
,
nullable
=
true
)
public
Date
updateTime
;
}
src/main/java/com/hdp/pi/dto/kolon/KolonMemberDTO.java
View file @
e24c7782
package
com
.
hdp
.
pi
.
dto
.
kolon
;
package
com
.
hdp
.
pi
.
dto
.
kolon
;
import
java.io.Serializable
;
import
java.io.Serializable
;
import
java.time.LocalDate
;
import
java.time.ZoneId
;
import
com.hdp.pi.utils.kolon.CONSTANTS
;
import
java.util.Date
;
public
class
KolonMemberDTO
implements
Serializable
{
public
class
KolonMemberDTO
implements
Serializable
{
/**
*
*/
private
static
final
long
serialVersionUID
=
1L
;
private
static
final
long
serialVersionUID
=
1L
;
public
Long
csNo
;
public
Long
csNo
;
public
String
cardNo
;
public
String
phone
;
public
String
phone
;
public
String
lastName
;
public
String
lastName
;
...
@@ -26,31 +24,29 @@ public class KolonMemberDTO implements Serializable {
...
@@ -26,31 +24,29 @@ public class KolonMemberDTO implements Serializable {
public
Integer
bonus
;
public
Integer
bonus
;
public
Integer
lifecycle
;
public
String
lifecycle
;
public
Integer
customerType
;
public
Integer
customerType
;
public
Date
lastPurchaseDate
;
public
String
wechatLastName
;
public
String
wechatLastName
;
public
String
wechatFirstName
;
public
String
wechatFirstName
;
public
KolonMemberDTO
(){
}
public
KolonMemberDTO
(
String
[]
s
)
{
public
KolonMemberDTO
(
String
[]
s
)
{
super
();
super
();
this
.
csNo
=
Long
.
valueOf
(
s
[
0
]);
this
.
csNo
=
Long
.
valueOf
(
s
[
1
]);
this
.
lastName
=
s
[
1
];
this
.
status
=
CONSTANTS
.
STATUS
.
get
(
s
[
2
]);
this
.
firstName
=
s
[
2
];
this
.
bonus
=
Integer
.
valueOf
(
s
[
3
]);
this
.
phone
=
s
[
3
];
this
.
cardNo
=
s
[
4
];
this
.
email
=
s
[
4
];
this
.
lifecycle
=
s
[
5
];
this
.
status
=
Integer
.
valueOf
(
s
[
5
]);
this
.
customerType
=
CONSTANTS
.
CUSTERMERTYPE
.
get
(
s
[
6
]);
this
.
bonus
=
Integer
.
valueOf
(
s
[
6
]);
this
.
lastName
=
s
[
7
];
this
.
lifecycle
=
Integer
.
valueOf
(
s
[
7
]);
this
.
firstName
=
s
[
8
];
this
.
customerType
=
Integer
.
valueOf
(
s
[
8
]);
this
.
email
=
s
[
9
];
LocalDate
dateToConvert
=
LocalDate
.
parse
(
s
[
9
]);
this
.
phone
=
s
[
10
];
Date
convertToDate
=
Date
.
from
(
dateToConvert
.
atStartOfDay
().
atZone
(
ZoneId
.
systemDefault
()).
toInstant
());
this
.
lastPurchaseDate
=
convertToDate
;
this
.
wechatLastName
=
this
.
lastName
;
this
.
wechatLastName
=
this
.
lastName
;
this
.
wechatFirstName
=
this
.
firstName
;
this
.
wechatFirstName
=
this
.
firstName
;
}
}
...
...
src/main/java/com/hdp/pi/repository/kolon/KolonMemberPreassignSnRepository.java
0 → 100644
View file @
e24c7782
/**
*
*/
package
com
.
hdp
.
pi
.
repository
.
kolon
;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
org.springframework.data.jpa.repository.JpaSpecificationExecutor
;
import
org.springframework.data.jpa.repository.Modifying
;
import
org.springframework.data.jpa.repository.Query
;
import
org.springframework.data.repository.query.Param
;
import
org.springframework.stereotype.Repository
;
import
com.hdp.pi.domain.kolon.KolonMemberPreassignSn
;
@Repository
public
interface
KolonMemberPreassignSnRepository
extends
JpaRepository
<
KolonMemberPreassignSn
,
Long
>,
JpaSpecificationExecutor
<
KolonMemberPreassignSn
>
{
@Modifying
@Query
(
"update KolonMemberPreassignSn SET useStatus=2,updateTime = SYSDATE() where csNo=:csNo"
)
public
void
setStatusWithKolonReplace
(
@Param
(
"csNo"
)
Long
csNo
);
}
src/main/java/com/hdp/pi/repository/kolon/KolonMemberRepository.java
View file @
e24c7782
...
@@ -21,6 +21,8 @@ public interface KolonMemberRepository extends JpaRepository<KolonMember, Long>,
...
@@ -21,6 +21,8 @@ public interface KolonMemberRepository extends JpaRepository<KolonMember, Long>,
KolonMember
findFirstByCsNo
(
Long
csNo
);
KolonMember
findFirstByCsNo
(
Long
csNo
);
KolonMember
findFirstByPhone
(
String
phone
);
List
<
KolonMember
>
findByUpdateTimeGreaterThan
(
Date
updateTime
);
List
<
KolonMember
>
findByUpdateTimeGreaterThan
(
Date
updateTime
);
/**
/**
...
...
src/main/java/com/hdp/pi/service/kolon/KolonMemberServiceImpl.java
View file @
e24c7782
...
@@ -8,6 +8,7 @@ import java.util.ArrayList;
...
@@ -8,6 +8,7 @@ import java.util.ArrayList;
import
java.util.Date
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.List
;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.transaction.annotation.Propagation
;
import
org.springframework.transaction.annotation.Propagation
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.annotation.Transactional
;
...
@@ -16,6 +17,7 @@ import au.com.bytecode.opencsv.CSVWriter;
...
@@ -16,6 +17,7 @@ import au.com.bytecode.opencsv.CSVWriter;
import
com.hdp.pi.domain.kolon.KolonMember
;
import
com.hdp.pi.domain.kolon.KolonMember
;
import
com.hdp.pi.dto.kolon.KolonMemberDTO
;
import
com.hdp.pi.dto.kolon.KolonMemberDTO
;
import
com.hdp.pi.repository.kolon.KolonMemberPreassignSnRepository
;
import
com.hdp.pi.repository.kolon.KolonMemberRepository
;
import
com.hdp.pi.repository.kolon.KolonMemberRepository
;
import
com.hdp.pi.utils.kolon.FtpUtil
;
import
com.hdp.pi.utils.kolon.FtpUtil
;
import
com.hdp.pi.utils.kolon.Util
;
import
com.hdp.pi.utils.kolon.Util
;
...
@@ -32,6 +34,9 @@ public class KolonMemberServiceImpl implements KolonMemberService {
...
@@ -32,6 +34,9 @@ public class KolonMemberServiceImpl implements KolonMemberService {
@Autowired
@Autowired
private
KolonMemberRepository
kolonMemberRepository
;
private
KolonMemberRepository
kolonMemberRepository
;
@Autowired
private
KolonMemberPreassignSnRepository
kolonMemberPreassignSnRepository
;
@Override
@Override
public
KolonMember
findOneByCsNo
(
Long
csNo
)
{
public
KolonMember
findOneByCsNo
(
Long
csNo
)
{
return
kolonMemberRepository
.
findFirstByCsNo
(
csNo
);
return
kolonMemberRepository
.
findFirstByCsNo
(
csNo
);
...
@@ -56,10 +61,17 @@ public class KolonMemberServiceImpl implements KolonMemberService {
...
@@ -56,10 +61,17 @@ public class KolonMemberServiceImpl implements KolonMemberService {
}
}
@Override
@Override
@Transactional
(
propagation
=
Propagation
.
REQUIRED
,
rollbackFor
=
Exception
.
class
)
public
void
matchData
(
String
[]
s
)
{
public
void
matchData
(
String
[]
s
)
{
Long
csNo
=
Long
.
valueOf
(
s
[
0
]);
KolonMember
kolonMember
=
this
.
findOneByCsNo
(
csNo
);
KolonMemberDTO
kolonMemberDTO
=
new
KolonMemberDTO
(
s
);
KolonMemberDTO
kolonMemberDTO
=
new
KolonMemberDTO
(
s
);
Long
csNo
=
kolonMemberDTO
.
csNo
;
KolonMember
kolonMember
=
null
;
if
(
StringUtils
.
isNotEmpty
(
kolonMemberDTO
.
phone
)){
kolonMember
=
kolonMemberRepository
.
findFirstByPhone
(
kolonMemberDTO
.
phone
);
}
if
(
kolonMember
==
null
){
kolonMember
=
this
.
findOneByCsNo
(
csNo
);
}
if
(
kolonMember
==
null
)
{
// 插入数据
if
(
kolonMember
==
null
)
{
// 插入数据
kolonMember
=
new
KolonMember
();
kolonMember
=
new
KolonMember
();
kolonMember
.
csNo
=
csNo
;
kolonMember
.
csNo
=
csNo
;
...
@@ -71,7 +83,6 @@ public class KolonMemberServiceImpl implements KolonMemberService {
...
@@ -71,7 +83,6 @@ public class KolonMemberServiceImpl implements KolonMemberService {
kolonMember
.
bonus
=
kolonMemberDTO
.
bonus
;
kolonMember
.
bonus
=
kolonMemberDTO
.
bonus
;
kolonMember
.
lifecycle
=
kolonMemberDTO
.
lifecycle
;
kolonMember
.
lifecycle
=
kolonMemberDTO
.
lifecycle
;
kolonMember
.
customerType
=
kolonMemberDTO
.
customerType
;
kolonMember
.
customerType
=
kolonMemberDTO
.
customerType
;
kolonMember
.
lastPurchaseDate
=
kolonMemberDTO
.
lastPurchaseDate
;
kolonMember
.
dataSource
=
2
;
kolonMember
.
dataSource
=
2
;
Date
date
=
new
Date
();
Date
date
=
new
Date
();
kolonMember
.
joinTime
=
date
;
kolonMember
.
joinTime
=
date
;
...
@@ -79,6 +90,18 @@ public class KolonMemberServiceImpl implements KolonMemberService {
...
@@ -79,6 +90,18 @@ public class KolonMemberServiceImpl implements KolonMemberService {
this
.
save
(
kolonMember
);
this
.
save
(
kolonMember
);
}
else
{
// 更新
}
else
{
// 更新
boolean
flag
=
false
;
boolean
flag
=
false
;
Long
oldCsNo
=
null
;
//是否更新了csno
if
(!
kolonMemberDTO
.
csNo
.
equals
(
kolonMember
.
csNo
)){
//kolon和派加都注册了,以kolon为准
oldCsNo
=
kolonMember
.
csNo
;
kolonMember
.
csNo
=
kolonMemberDTO
.
csNo
;
flag
=
true
;
}
if
(!
kolonMemberDTO
.
cardNo
.
equals
(
kolonMember
.
cardNo
)){
//kolon和派加都注册了,以kolon为准
kolonMember
.
cardNo
=
kolonMemberDTO
.
cardNo
;
flag
=
true
;
}
if
(!
Util
.
isNotNull
(
kolonMember
.
email
)
if
(!
Util
.
isNotNull
(
kolonMember
.
email
)
||
!
kolonMember
.
email
.
endsWith
(
kolonMemberDTO
.
email
))
{
||
!
kolonMember
.
email
.
endsWith
(
kolonMemberDTO
.
email
))
{
kolonMember
.
email
=
kolonMemberDTO
.
email
;
kolonMember
.
email
=
kolonMemberDTO
.
email
;
...
@@ -99,6 +122,9 @@ public class KolonMemberServiceImpl implements KolonMemberService {
...
@@ -99,6 +122,9 @@ public class KolonMemberServiceImpl implements KolonMemberService {
if
(
flag
)
{
if
(
flag
)
{
kolonMember
.
updateTime
=
new
Date
();
kolonMember
.
updateTime
=
new
Date
();
this
.
save
(
kolonMember
);
this
.
save
(
kolonMember
);
if
(
oldCsNo
!=
null
){
//csno被kolon覆盖
kolonMemberPreassignSnRepository
.
setStatusWithKolonReplace
(
oldCsNo
);
}
}
}
}
}
}
}
...
...
src/main/java/com/hdp/pi/utils/kolon/CONSTANTS.java
0 → 100644
View file @
e24c7782
/**
* @Title: CONSTANTS.java
* @Package com.hdp.pi.utils.kolon
* @Description: TODO
* @author new12304508_163_com
* @date 2016年6月6日 下午12:00:05
* @version V1.0
*/
package
com
.
hdp
.
pi
.
utils
.
kolon
;
import
java.util.HashMap
;
import
java.util.Map
;
public
class
CONSTANTS
{
public
static
final
Map
<
String
,
Integer
>
STATUS
=
new
HashMap
<
String
,
Integer
>();
public
static
final
Map
<
String
,
Integer
>
CUSTERMERTYPE
=
new
HashMap
<
String
,
Integer
>();
static
{
STATUS
.
put
(
null
,
5
);
STATUS
.
put
(
""
,
5
);
STATUS
.
put
(
"green"
,
5
);
STATUS
.
put
(
"silver"
,
4
);
STATUS
.
put
(
"gold"
,
3
);
STATUS
.
put
(
"platinum"
,
2
);
STATUS
.
put
(
"diamond"
,
1
);
CUSTERMERTYPE
.
put
(
null
,
1
);
CUSTERMERTYPE
.
put
(
""
,
1
);
CUSTERMERTYPE
.
put
(
"customer"
,
1
);
CUSTERMERTYPE
.
put
(
"lead"
,
2
);
}
private
CONSTANTS
(){}
}
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