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
8eb5c78f
Commit
8eb5c78f
authored
May 23, 2020
by
huluobin
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' into 3.7
parents
74b436a2
0ab93c37
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
120 additions
and
69 deletions
+120
-69
ComplaintMainServiceImpl.java
...cation/store/complaint/impl/ComplaintMainServiceImpl.java
+3
-2
GogirlTokenServiceImpl.java
...m/gogirl/application/xcx/impl/GogirlTokenServiceImpl.java
+3
-2
OrderServe.java
src/main/java/com/gogirl/domain/order/serve/OrderServe.java
+2
-0
BaseProduceMapper.java
...nfrastructure/mapper/product/serve/BaseProduceMapper.java
+5
-0
Schedule.java
...ain/java/com/gogirl/infrastructure/schedule/Schedule.java
+94
-64
AchievementsPersonaResult.java
...va/com/gogirl/shared/admin/AchievementsPersonaResult.java
+5
-0
application-prod.yml
src/main/resources/application-prod.yml
+1
-1
BaseProduceMapper.xml
src/main/resources/mapper/product/BaseProduceMapper.xml
+7
-0
No files found.
src/main/java/com/gogirl/application/store/complaint/impl/ComplaintMainServiceImpl.java
View file @
8eb5c78f
...
...
@@ -21,6 +21,7 @@ import org.springframework.stereotype.Service;
import
javax.annotation.Resource
;
import
java.time.LocalDateTime
;
import
java.util.List
;
import
java.util.Set
;
import
java.util.stream.Collectors
;
/**
...
...
@@ -81,14 +82,14 @@ public class ComplaintMainServiceImpl extends ServiceImpl<ComplaintMainMapper, C
complaintDetailedService
.
saveBatch
(
complaintDetailedList
);
Lis
t
<
Integer
>
orderTechnicianIds
=
orderServeMapper
.
selectList
(
Se
t
<
Integer
>
orderTechnicianIds
=
orderServeMapper
.
selectList
(
new
LambdaQueryWrapper
<
OrderServe
>().
eq
(
OrderServe:
:
getOrderId
,
complaintMain
.
getOrderId
()))
.
stream
()
.
map
(
OrderServe:
:
getTechnicianId
)
.
map
(
technicianIds
->
Lists
.
newArrayList
(
technicianIds
.
split
(
","
)))
.
flatMap
(
List:
:
stream
)
.
map
(
Integer:
:
valueOf
)
.
collect
(
Collectors
.
to
Lis
t
());
.
collect
(
Collectors
.
to
Se
t
());
List
<
ComplaintDetailedTechnician
>
complaintDetailedTechnicianList
=
complaintDetailedList
.
stream
()
...
...
src/main/java/com/gogirl/application/xcx/impl/GogirlTokenServiceImpl.java
View file @
8eb5c78f
...
...
@@ -26,6 +26,7 @@ import org.springframework.stereotype.Service;
import
java.util.Date
;
import
java.util.List
;
import
java.util.concurrent.TimeUnit
;
@Service
...
...
@@ -37,7 +38,7 @@ public class GogirlTokenServiceImpl implements GogirlTokenService {
@Override
public
void
save
(
GogirlToken
gogirlToken
)
{
redisTemplate
.
opsForValue
().
set
(
gogirlToken
.
getToken
(),
JsonUtilByFsJson
.
beanToJson
(
gogirlToken
));
redisTemplate
.
opsForValue
().
set
(
gogirlToken
.
getToken
(),
JsonUtilByFsJson
.
beanToJson
(
gogirlToken
)
,
1
,
TimeUnit
.
DAYS
);
}
@Override
...
...
@@ -48,7 +49,7 @@ public class GogirlTokenServiceImpl implements GogirlTokenService {
@Override
public
void
updateByToken
(
GogirlToken
gogirlToken
)
{
redisTemplate
.
opsForValue
().
set
(
gogirlToken
.
getToken
(),
JsonUtilByFsJson
.
beanToJson
(
gogirlToken
));
redisTemplate
.
opsForValue
().
set
(
gogirlToken
.
getToken
(),
JsonUtilByFsJson
.
beanToJson
(
gogirlToken
)
,
1
,
TimeUnit
.
DAYS
);
}
@Override
...
...
src/main/java/com/gogirl/domain/order/serve/OrderServe.java
View file @
8eb5c78f
...
...
@@ -233,6 +233,8 @@ public class OrderServe implements Serializable {
private
BigDecimal
leisurePrice
;
public
void
addDiscountPrice
(
BigDecimal
discountPrice
)
{
this
.
discountPrice
=
this
.
discountPrice
.
add
(
discountPrice
);
this
.
payPrice
=
this
.
payPrice
.
subtract
(
discountPrice
);
...
...
src/main/java/com/gogirl/infrastructure/mapper/product/serve/BaseProduceMapper.java
View file @
8eb5c78f
...
...
@@ -36,4 +36,9 @@ public interface BaseProduceMapper extends BaseMapper<BaseProduce> {
@Param
(
"featuresId"
)
Integer
featuresId
,
@Param
(
"serveTypeId"
)
Integer
serveTypeId
,
@Param
(
"sort"
)
Integer
sort
);
/**
* 同步款式服务类型id
*/
void
syncProduceServeTypeId
();
}
src/main/java/com/gogirl/infrastructure/schedule/Schedule.java
View file @
8eb5c78f
...
...
@@ -25,6 +25,7 @@ import com.gogirl.domain.user.customer.Customer;
import
com.gogirl.domain.user.customer.CustomerBalanceRecord
;
import
com.gogirl.domain.xcx.WeekConfig
;
import
com.gogirl.infrastructure.common.util.DateUtils
;
import
com.gogirl.infrastructure.common.util.JsonUtilByJackson
;
import
com.gogirl.infrastructure.common.util.ListUtil
;
import
com.gogirl.infrastructure.config.property.GogirlProperties
;
import
com.gogirl.infrastructure.mapper.market.coupon.CouponCustomerRelevanceMapper
;
...
...
@@ -36,6 +37,7 @@ import com.gogirl.infrastructure.mapper.order.serve.ScheduleManageMapper;
import
com.gogirl.infrastructure.mapper.product.mall.MallCategoryMapper
;
import
com.gogirl.infrastructure.mapper.product.mall.MallProductMapper
;
import
com.gogirl.infrastructure.mapper.product.serve.BaseFeaturesMapper
;
import
com.gogirl.infrastructure.mapper.product.serve.BaseProduceMapper
;
import
com.gogirl.infrastructure.mapper.product.serve.FeaturesMappingMapper
;
import
com.gogirl.infrastructure.mapper.product.serve.ProduceSalesMapper
;
import
com.gogirl.infrastructure.mapper.store.career.CareerMapper
;
...
...
@@ -46,14 +48,28 @@ import com.gogirl.infrastructure.mapper.user.customer.CustomerBalanceRecordMappe
import
com.gogirl.infrastructure.mapper.xcx.WeekConfigMapper
;
import
com.gogirl.infrastructure.service.push.PushMsgService
;
import
com.gogirl.infrastructure.service.push.TechnicianPushService
;
import
com.gogirl.shared.admin.AdminPage
;
import
com.gogirl.shared.admin.AdminResult
;
import
com.gogirl.shared.admin.AdminTechnicianScore
;
import
com.gogirl.shared.admin.GetTechnicianPageRequest
;
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.HttpHeaders
;
import
org.springframework.http.HttpMethod
;
import
org.springframework.http.MediaType
;
import
org.springframework.scheduling.annotation.EnableScheduling
;
import
org.springframework.scheduling.annotation.Scheduled
;
import
org.springframework.stereotype.Component
;
import
org.springframework.web.client.RestTemplate
;
import
java.math.BigDecimal
;
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
;
...
...
@@ -106,6 +122,8 @@ public class Schedule {
private
final
TimesCardCustomerRelevanceMapper
timesCardCustomerRelevanceMapper
;
private
final
RestTemplate
restTemplate
;
/**
* 每天3点判断优惠券是否过期。
*/
...
...
@@ -366,7 +384,7 @@ public class Schedule {
/**
* 每天0点定时同步美甲师成长历程
*/
@Scheduled
(
cron
=
"0 0
0
* * *"
)
@Scheduled
(
cron
=
"0 0
/1 *
* * *"
)
public
void
syncTechnicianCareer
()
{
log
.
info
(
"定时同步美甲师成长历程** 任务开始"
);
...
...
@@ -376,50 +394,50 @@ public class Schedule {
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();
//
HttpHeaders headers = new HttpHeaders();
//
headers.setContentType(MediaType.APPLICATION_JSON);
//
HttpEntity<GetTechnicianPageRequest> allHttpEntity = new HttpEntity<>(allRequest, headers);
//
AdminTechnicianScore allAdminResult = restTemplate.exchange(gogirlProperties.getAdminBackendUrl(), 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)).toString(), LocalDateTime.now().toString()))
//
.technician_id(storeTechnician.getId())
//
.build();
//
//
HttpEntity<GetTechnicianPageRequest> monthHttpEntity = new HttpEntity<>(monthRequest, headers);
//
log.debug(JsonUtilByJackson.writeValueAsString(monthRequest));
//
AdminTechnicianScore monthAdminResult = restTemplate.exchange(gogirlProperties.getAdminBackendUrl(), HttpMethod.POST, monthHttpEntity, responseBodyType)
//
.getBody()
//
.getData()
//
.getItems()
//
.stream()
//
.findAny()
//
.orElse(new AdminTechnicianScore());
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
();
HttpHeaders
headers
=
new
HttpHeaders
();
headers
.
setContentType
(
MediaType
.
APPLICATION_JSON
);
HttpEntity
<
GetTechnicianPageRequest
>
allHttpEntity
=
new
HttpEntity
<>(
allRequest
,
headers
);
AdminTechnicianScore
allAdminResult
=
restTemplate
.
exchange
(
gogirlProperties
.
getAdminBackendUrl
(),
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
,
LocalDate
.
now
().
getMonth
()
,
1
),
LocalTime
.
of
(
0
,
0
)).
toString
(),
LocalDateTime
.
now
().
toString
()))
.
technician_id
(
storeTechnician
.
getId
())
.
build
();
HttpEntity
<
GetTechnicianPageRequest
>
monthHttpEntity
=
new
HttpEntity
<>(
monthRequest
,
headers
);
log
.
debug
(
JsonUtilByJackson
.
writeValueAsString
(
monthRequest
));
AdminTechnicianScore
monthAdminResult
=
restTemplate
.
exchange
(
gogirlProperties
.
getAdminBackendUrl
(),
HttpMethod
.
POST
,
monthHttpEntity
,
responseBodyType
)
.
getBody
()
.
getData
()
.
getItems
()
.
stream
()
.
findAny
()
.
orElse
(
new
AdminTechnicianScore
());
Career
career
=
careerMapper
.
selectOne
(
new
LambdaQueryWrapper
<
Career
>().
eq
(
Career:
:
getTechnicianId
,
storeTechnician
.
getId
()));
...
...
@@ -443,66 +461,66 @@ public class Schedule {
/*当月*/
//当月开卡数量
//
career.setMonthBalanceCardNum(monthAdminResult.getCard_count());
career
.
setMonthBalanceCardNum
(
monthAdminResult
.
getCard_count
());
//当月考勤准时
career
.
setMonthAttendancePercent
(
null
);
//当月信息录入完整度
//
career.setMonthInfoPercent(monthAdminResult.getAvg_data_integrity());
career
.
setMonthInfoPercent
(
monthAdminResult
.
getAvg_data_integrity
());
//当月订单总数
Integer
monthOrderNum
=
careerMapper
.
queryMonthOrderNum
(
storeTechnician
.
getId
(),
month
);
career
.
setMonthOrderNum
(
monthOrderNum
);
//当月客户好评率
//
career.setMonthPraisePercent(monthAdminResult.getPraise_proportion());
career
.
setMonthPraisePercent
(
monthAdminResult
.
getPraise_proportion
());
//当月复购率
//
career.setMonthRepurchasePercent(monthAdminResult.getRepeat_purchase_client_roportion());
career
.
setMonthRepurchasePercent
(
monthAdminResult
.
getRepeat_purchase_client_roportion
());
//当月服务客户数
//
career.setMonthServeCustomerNum(monthAdminResult.getTotal_client_count());
career
.
setMonthServeCustomerNum
(
monthAdminResult
.
getTotal_client_count
());
//当月服务次数
//
career.setMonthServeNum(monthAdminResult.getTotal_service_count());
career
.
setMonthServeNum
(
monthAdminResult
.
getTotal_service_count
());
//当月信息录入完整度
//
BigDecimal montInfoPercent = monthAdminResult.getAvg_data_integrity();
//
if (montInfoPercent != null) {
//
career.setMonthInfoPercent(montInfoPercent.divide(new BigDecimal(100), 2, BigDecimal.ROUND_HALF_UP));
//
}
BigDecimal
montInfoPercent
=
monthAdminResult
.
getAvg_data_integrity
();
if
(
montInfoPercent
!=
null
)
{
career
.
setMonthInfoPercent
(
montInfoPercent
.
divide
(
new
BigDecimal
(
100
),
2
,
BigDecimal
.
ROUND_HALF_UP
));
}
/*总计*/
//总考勤准时率
career
.
setTotalAttendancePercent
(
null
);
//总开卡数
//
career.setTotalBalanceCardNum(allAdminResult.getCard_count());
career
.
setTotalBalanceCardNum
(
allAdminResult
.
getCard_count
());
//总信息录入完整度
//
BigDecimal totalInfoPercent = allAdminResult.getAvg_data_integrity();
//
if (totalInfoPercent != null) {
//
career.setTotalInfoPercent(totalInfoPercent.divide(new BigDecimal(100), 2, BigDecimal.ROUND_HALF_UP));
//
}
BigDecimal
totalInfoPercent
=
allAdminResult
.
getAvg_data_integrity
();
if
(
totalInfoPercent
!=
null
)
{
career
.
setTotalInfoPercent
(
totalInfoPercent
.
divide
(
new
BigDecimal
(
100
),
2
,
BigDecimal
.
ROUND_HALF_UP
));
}
//总订单数
Integer
totalOrderNum
=
careerMapper
.
queryTotalOrderNum
(
storeTechnician
.
getId
(),
month
);
career
.
setTotalOrderNum
(
totalOrderNum
);
//总好评率
//
career.setTotalPraisePercent(allAdminResult.getPraise_proportion());
career
.
setTotalPraisePercent
(
allAdminResult
.
getPraise_proportion
());
//总考勤准时比率
career
.
setTotalAttendancePercent
(
null
);
//总复购率
//
career.setTotalRepurchasePercent(allAdminResult.getRepeat_purchase_client_roportion());
career
.
setTotalRepurchasePercent
(
allAdminResult
.
getRepeat_purchase_client_roportion
());
//服务客户总数
//
career.setTotalServeCustomerNum(allAdminResult.getTotal_client_count());
career
.
setTotalServeCustomerNum
(
allAdminResult
.
getTotal_client_count
());
//服务总次数
//
career.setTotalServeNum(allAdminResult.getTotal_service_count());
career
.
setTotalServeNum
(
allAdminResult
.
getTotal_service_count
());
/*美甲师信息*/
//美甲师名字
...
...
@@ -663,4 +681,16 @@ public class Schedule {
}
private
final
BaseProduceMapper
baseProduceMapper
;
/**
* 每天凌晨3点同步款式的服务类型id
*/
@Scheduled
(
cron
=
"0 0 3 * * ?"
)
public
void
syncProduceServeTypeId
()
{
log
.
info
(
"同步款式的服务类型id开始"
);
baseProduceMapper
.
syncProduceServeTypeId
();
log
.
info
(
"同步款式的服务类型id结束"
);
}
}
src/main/java/com/gogirl/shared/admin/AchievementsPersonaResult.java
View file @
8eb5c78f
...
...
@@ -71,4 +71,9 @@ public class AchievementsPersonaResult {
private
BigDecimal
shop_item_val
;
//0.0000;
private
BigDecimal
shop_item_score
;
//100.0000;
private
BigDecimal
shop_item_proportion
;
//0.2000
private
String
activate_a_card_val_str
;
private
String
praise_val_str
;
private
String
service_time_val_str
;
}
src/main/resources/application-prod.yml
View file @
8eb5c78f
...
...
@@ -91,7 +91,7 @@ gogirl:
#评论延迟时间
test-paper-time
:
1440
#后台后端接口访问地址
admin-backend-url
:
http://admin.begogirls.com:7712/api/ReportTable/GetTechnicianPage
Api
admin-backend-url
:
http://admin.begogirls.com:7712/api/ReportTable/GetTechnicianPage
#后台接口地址
admin-backend-achievements-url
:
http://admin.begogirls.com:7712/api/salary/AchievementsPersonaResultPageApi
#企业微信预约消息推送
...
...
src/main/resources/mapper/product/BaseProduceMapper.xml
View file @
8eb5c78f
...
...
@@ -69,6 +69,13 @@
<sql
id=
"bpSql"
>
bp.id, bp.name, bp.picture_path picturePath, bp.type, bp.label, bp.shop_sort shopSort, bp.req_grade reqQrade, bp.status, bp.remark, bp.details, bs.id serveId, bs.name serveName
</sql>
<update
id=
"syncProduceServeTypeId"
>
update base_produce t1
LEFT JOIN base_serve t2 on t1.service_id = t2.id
set t1.serve_type_id = t2.type_id
where t1.serve_type_id is null
and t2.id is not null
</update>
<select
id=
"getProduceForDetail"
resultMap=
"produceResultMap"
>
select
...
...
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