Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
gogirl-miniapp-backend
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
huluobin
gogirl-miniapp-backend
Commits
0f13a603
Commit
0f13a603
authored
Apr 07, 2020
by
huluobin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
美甲师数据定时任务
parent
f5bcc352
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
101 additions
and
19 deletions
+101
-19
StoreTechnician.java
...n/java/com/gogirl/domain/store/store/StoreTechnician.java
+1
-0
AdminPage.java
src/main/java/com/gogirl/dto/admin/AdminPage.java
+4
-0
GetTechnicianPageRequest.java
...n/java/com/gogirl/dto/admin/GetTechnicianPageRequest.java
+7
-3
GogirlProperties.java
...girl/infrastructure/config/property/GogirlProperties.java
+8
-0
Schedule.java
...ain/java/com/gogirl/infrastructure/schedule/Schedule.java
+81
-16
No files found.
src/main/java/com/gogirl/domain/store/store/StoreTechnician.java
View file @
0f13a603
...
...
@@ -121,4 +121,5 @@ public class StoreTechnician {
@TableField
(
exist
=
false
)
private
StoreTechnicianDTO
applyStoreTechnicianDTO
;
private
Boolean
isAdmin
;
}
src/main/java/com/gogirl/dto/admin/AdminPage.java
View file @
0f13a603
package
com
.
gogirl
.
dto
.
admin
;
import
lombok.Data
;
import
java.util.List
;
@Data
public
class
AdminPage
<
T
>
{
List
<
T
>
items
;
}
src/main/java/com/gogirl/dto/admin/GetTechnicianPageRequest.java
View file @
0f13a603
package
com
.
gogirl
.
dto
.
admin
;
import
lombok.Builder
;
import
lombok.Data
;
import
java.
util.Dat
e
;
import
java.
time.LocalDateTim
e
;
import
java.util.List
;
@Data
@Builder
public
class
GetTechnicianPageRequest
{
/**
...
...
@@ -34,8 +36,10 @@ public class GetTechnicianPageRequest {
/**
* 排序 asc
*/
private
String
sor
t
;
private
String
sor
d
;
private
List
<
Date
>
date_utc
;
private
List
<
LocalDateTime
>
date_utc
;
private
Integer
technician_id
;
}
src/main/java/com/gogirl/infrastructure/config/property/GogirlProperties.java
View file @
0f13a603
...
...
@@ -51,5 +51,13 @@ public class GogirlProperties {
private
String
endTime
;
/**
* 发送评价是假
*/
public
long
testPaperTime
;
/**
* 后台地址
*/
private
String
adminBackendUrl
;
}
src/main/java/com/gogirl/infrastructure/schedule/Schedule.java
View file @
0f13a603
...
...
@@ -22,6 +22,10 @@ import com.gogirl.domain.store.store.StoreTechnician;
import
com.gogirl.domain.user.customer.Customer
;
import
com.gogirl.domain.user.customer.CustomerBalanceRecord
;
import
com.gogirl.domain.xcx.WeekConfig
;
import
com.gogirl.dto.admin.AdminPage
;
import
com.gogirl.dto.admin.AdminResult
;
import
com.gogirl.dto.admin.AdminTechnicianScore
;
import
com.gogirl.dto.admin.GetTechnicianPageRequest
;
import
com.gogirl.infrastructure.common.util.ListUtil
;
import
com.gogirl.infrastructure.config.property.GogirlProperties
;
import
com.gogirl.infrastructure.mapper.market.coupon.CouponCustomerRelevanceMapper
;
...
...
@@ -39,14 +43,22 @@ import com.gogirl.infrastructure.mapper.store.store.StoreTechnicianMapper;
import
com.gogirl.infrastructure.mapper.user.customer.CustomerBalanceRecordMapper
;
import
com.gogirl.infrastructure.mapper.xcx.WeekConfigMapper
;
import
com.gogirl.infrastructure.subscribe.SubscribeService
;
import
com.google.common.collect.Lists
;
import
lombok.AllArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.core.ParameterizedTypeReference
;
import
org.springframework.http.HttpEntity
;
import
org.springframework.http.HttpMethod
;
import
org.springframework.scheduling.annotation.EnableScheduling
;
import
org.springframework.scheduling.annotation.Scheduled
;
import
org.springframework.stereotype.Component
;
import
org.springframework.web.client.RestTemplate
;
import
javax.annotation.Resource
;
import
java.text.SimpleDateFormat
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
import
java.time.LocalTime
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.List
;
...
...
@@ -322,6 +334,9 @@ public class Schedule {
log
.
debug
(
"同步闲时折扣周 结束"
);
}
@Resource
RestTemplate
restTemplate
;
/**
* 定时同步美甲师成长历程
*/
...
...
@@ -330,18 +345,65 @@ public class Schedule {
log
.
info
(
"定时同步美甲师成长历程** 任务开始"
);
List
<
StoreTechnician
>
storeTechnicianList
=
storeTechnicianMapper
.
selectList
(
new
LambdaQueryWrapper
<
StoreTechnician
>()
.
eq
(
StoreTechnician:
:
getStatus
,
1
));
.
eq
(
StoreTechnician:
:
getStatus
,
1
)
.
eq
(
StoreTechnician:
:
getIsAdmin
,
false
));
storeTechnicianList
.
forEach
(
storeTechnician
->
{
ParameterizedTypeReference
<
AdminResult
<
AdminPage
<
AdminTechnicianScore
>>>
responseBodyType
=
new
ParameterizedTypeReference
<
AdminResult
<
AdminPage
<
AdminTechnicianScore
>>>()
{
};
GetTechnicianPageRequest
allRequest
=
GetTechnicianPageRequest
.
builder
()
.
page
(
1
)
.
rows
(
30
)
.
sidx
(
"grade"
)
.
sord
(
"asc"
)
//在职
.
status
(
1
)
.
technician_id
(
storeTechnician
.
getId
())
.
build
();
HttpEntity
<
GetTechnicianPageRequest
>
allHttpEntity
=
new
HttpEntity
<>(
allRequest
);
AdminTechnicianScore
monthAdminResult
=
restTemplate
.
exchange
(
gogirlProperties
.
getAdminBackendUrl
()
+
"/api/ReportTable/GetTechnicianPage"
,
HttpMethod
.
POST
,
allHttpEntity
,
responseBodyType
)
.
getBody
()
.
getData
()
.
getItems
()
.
stream
()
.
findAny
()
.
orElse
(
new
AdminTechnicianScore
());
GetTechnicianPageRequest
monthRequest
=
GetTechnicianPageRequest
.
builder
()
.
page
(
1
)
.
rows
(
30
)
.
sidx
(
"grade"
)
.
sord
(
"asc"
)
//在职
.
status
(
1
)
.
date_utc
(
Lists
.
newArrayList
(
LocalDateTime
.
of
(
LocalDate
.
of
(
2020
,
4
,
1
),
LocalTime
.
of
(
0
,
0
)),
LocalDateTime
.
now
()))
.
technician_id
(
storeTechnician
.
getId
())
.
build
();
HttpEntity
<
GetTechnicianPageRequest
>
monthHttpEntity
=
new
HttpEntity
<>(
monthRequest
);
AdminTechnicianScore
allAdminResult
=
restTemplate
.
exchange
(
gogirlProperties
.
getAdminBackendUrl
()
+
"/api/ReportTable/GetTechnicianPage"
,
HttpMethod
.
POST
,
monthHttpEntity
,
responseBodyType
)
.
getBody
()
.
getData
()
.
getItems
()
.
stream
()
.
findAny
()
.
orElse
(
new
AdminTechnicianScore
());
Career
career
=
careerMapper
.
selectOne
(
new
LambdaQueryWrapper
<
Career
>().
eq
(
Career:
:
getTechnicianId
,
storeTechnician
.
getId
()));
if
(
career
==
null
)
{
career
=
new
Career
();
career
.
setTechnicianId
(
storeTechnician
.
getTechnicianId
());
}
career
.
setJoinDate
(
storeTechnician
.
getCreateTime
());
if
(
storeTechnician
.
getCreateTime
()
!=
null
)
{
long
pastMills
=
System
.
currentTimeMillis
()
-
storeTechnician
.
getCreateTime
().
getTime
();
int
day
=
(
int
)
(
pastMills
/
1000
/
60
/
60
/
24
);
career
.
setOnJobTime
(
day
);
...
...
@@ -352,19 +414,19 @@ public class Schedule {
//当月开卡数量
Integer
MonthBalanceCardNum
=
careerMapper
.
queryMonthBalanceCardNum
(
storeTechnician
.
getId
(),
month
);
career
.
setMonthBalanceCardNum
(
MonthBalanceCardNum
);
career
.
setMonthBalanceCardNum
(
monthAdminResult
.
getCard_count
()
);
//考勤准时
career
.
setMonthAttendancePercent
(
null
);
//信息录入完整度
career
.
setMonthInfoPercent
(
null
);
career
.
setMonthInfoPercent
(
monthAdminResult
.
getAvg_data_integrity
().
doubleValue
()
);
//当月订单总数
Integer
monthOrderNum
=
careerMapper
.
queryMonthOrderNum
(
storeTechnician
.
getId
(),
month
);
career
.
setMonthOrderNum
(
monthOrderNum
);
//客户好评率
career
.
setMonthPraisePercent
(
null
);
career
.
setMonthPraisePercent
(
monthAdminResult
.
getPraise_proportion
().
doubleValue
()
);
//当月复购率
//复购率
...
...
@@ -372,13 +434,17 @@ public class Schedule {
if
(
monthOrderNum
!=
null
&&
monthOrderNum
!=
0
)
{
career
.
setMonthRepurchasePercent
((
double
)
monthRepurchaseNum
/
monthOrderNum
);
}
career
.
setMonthRepurchasePercent
(
monthAdminResult
.
getRepeat_purchase_client_roportion
().
doubleValue
());
//当月服务客户总数
Integer
monthServeCustomerNum
=
careerMapper
.
queryMonthServeCustomerNum
(
storeTechnician
.
getId
(),
month
);
career
.
setMonthServeCustomerNum
(
month
ServeCustomerNum
);
career
.
setMonthServeCustomerNum
(
month
AdminResult
.
getTotal_client_count
()
);
//当月服务总次数
career
.
setMonthServeNum
(
monthServeCustomerNum
);
career
.
setMonthServeNum
(
monthAdminResult
.
getTotal_service_count
());
//信息录入完整度
career
.
setMonthInfoPercent
(
monthAdminResult
.
getAvg_data_integrity
().
doubleValue
());
//总考勤准时率
career
.
setTotalAttendancePercent
(
null
);
...
...
@@ -387,10 +453,10 @@ public class Schedule {
//开卡总数
Integer
totalBalanceCardNum
=
careerMapper
.
queryTotalBalanceCardNum
(
storeTechnician
.
getId
(),
month
);
career
.
setTotalBalanceCardNum
(
totalBalanceCardNum
);
career
.
setTotalBalanceCardNum
(
allAdminResult
.
getCard_count
()
);
//信息录入完整度
career
.
setTotalInfoPercent
(
null
);
career
.
setTotalInfoPercent
(
allAdminResult
.
getAvg_data_integrity
().
doubleValue
()
);
//订单总数
Integer
totalOrderNum
=
careerMapper
.
queryTotalOrderNum
(
storeTechnician
.
getId
(),
month
);
...
...
@@ -398,13 +464,11 @@ public class Schedule {
//客户好评率
Double
totalPraisePercent
=
careerMapper
.
queryTotalPraisePercent
(
storeTechnician
.
getId
());
career
.
setTotalPraisePercent
(
totalPraisePercent
);
Double
monthPraisePercent
=
careerMapper
.
queryMonthPraisePercent
(
storeTechnician
.
getId
(),
month
);
career
.
set
MonthPraisePercent
(
monthPraisePercent
);
//总好评率
career
.
set
TotalPraisePercent
(
allAdminResult
.
getPraise_proportion
().
doubleValue
()
);
//信息录入完整度
career
.
setMonthInfoPercent
(
storeTechnician
.
getInformationIntegrity
());
//总考勤准时比率
career
.
setTotalAttendancePercent
(
storeTechnician
.
getInformationIntegrity
());
//复购率
...
...
@@ -412,13 +476,14 @@ public class Schedule {
if
(
totalOrderNum
!=
null
&&
totalOrderNum
!=
0
)
{
career
.
setTotalRepurchasePercent
((
double
)
totalRepurchaseNum
/
totalOrderNum
);
}
career
.
setTotalRepurchasePercent
(
allAdminResult
.
getRepeat_purchase_client_roportion
().
doubleValue
());
//服务客户总数
Integer
totalServeCustomerNum
=
careerMapper
.
queryTotalServeCustomerNum
(
storeTechnician
.
getId
(),
month
);
career
.
setTotalServeCustomerNum
(
totalServeCustomerNum
);
career
.
setTotalServeCustomerNum
(
allAdminResult
.
getTotal_client_count
()
);
//服务总次数
career
.
setTotalServeNum
(
totalServeCustomerNum
);
career
.
setTotalServeNum
(
allAdminResult
.
getTotal_service_count
()
);
career
.
setTechnicianId
(
storeTechnician
.
getId
());
if
(
career
.
getId
()
!=
null
)
{
...
...
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