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
185598ad
Commit
185598ad
authored
Apr 14, 2020
by
huluobin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
企业微信消息
parent
b6943319
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
93 additions
and
9 deletions
+93
-9
ScheduleManageServiceImpl.java
...plication/order/serve/impl/ScheduleManageServiceImpl.java
+7
-0
EnterpriseWxMsg.java
src/main/java/com/gogirl/dto/EnterpriseWxMsg.java
+1
-1
Schedule.java
...ain/java/com/gogirl/infrastructure/schedule/Schedule.java
+7
-0
TechnicianPushServiceImpl.java
...tructure/service/push/impl/TechnicianPushServiceImpl.java
+78
-8
No files found.
src/main/java/com/gogirl/application/order/serve/impl/ScheduleManageServiceImpl.java
View file @
185598ad
...
@@ -42,6 +42,7 @@ import com.gogirl.infrastructure.mapper.product.serve.TechnicianServeMapper;
...
@@ -42,6 +42,7 @@ import com.gogirl.infrastructure.mapper.product.serve.TechnicianServeMapper;
import
com.gogirl.infrastructure.mapper.store.oa.TakeLeaveEventMapper
;
import
com.gogirl.infrastructure.mapper.store.oa.TakeLeaveEventMapper
;
import
com.gogirl.infrastructure.mapper.store.store.StoreManageMapper
;
import
com.gogirl.infrastructure.mapper.store.store.StoreManageMapper
;
import
com.gogirl.infrastructure.mapper.store.store.StoreTechnicianMapper
;
import
com.gogirl.infrastructure.mapper.store.store.StoreTechnicianMapper
;
import
com.gogirl.infrastructure.service.push.TechnicianPushService
;
import
com.gogirl.infrastructure.util.MapDistanceUtils
;
import
com.gogirl.infrastructure.util.MapDistanceUtils
;
import
com.gogirl.infrastructure.util.SessionUtils
;
import
com.gogirl.infrastructure.util.SessionUtils
;
import
com.gogirl.shared.order.serve.command.schedule.*
;
import
com.gogirl.shared.order.serve.command.schedule.*
;
...
@@ -101,6 +102,8 @@ public class ScheduleManageServiceImpl extends ServiceImpl<ScheduleManageMapper,
...
@@ -101,6 +102,8 @@ public class ScheduleManageServiceImpl extends ServiceImpl<ScheduleManageMapper,
private
final
PurchaseSkuMapper
purchaseSkuMapper
;
private
final
PurchaseSkuMapper
purchaseSkuMapper
;
private
final
BaseProduceMapper
baseProduceMapper
;
private
final
BaseProduceMapper
baseProduceMapper
;
private
final
TechnicianPushService
technicianPushService
;
@Override
@Override
public
List
<
StoreTechnicianPeriod
>
queryStoreTechnicianPeriod
(
Integer
scheduledId
,
public
List
<
StoreTechnicianPeriod
>
queryStoreTechnicianPeriod
(
Integer
scheduledId
,
Integer
departmentId
,
Integer
departmentId
,
...
@@ -585,6 +588,8 @@ public class ScheduleManageServiceImpl extends ServiceImpl<ScheduleManageMapper,
...
@@ -585,6 +588,8 @@ public class ScheduleManageServiceImpl extends ServiceImpl<ScheduleManageMapper,
});
});
scheduleManageMapper
.
updateById
(
scheduleManage
);
scheduleManageMapper
.
updateById
(
scheduleManage
);
technicianPushService
.
cancelScheduledMsg
(
scheduleManage
.
getId
());
}
}
@Override
@Override
...
@@ -903,6 +908,8 @@ public class ScheduleManageServiceImpl extends ServiceImpl<ScheduleManageMapper,
...
@@ -903,6 +908,8 @@ public class ScheduleManageServiceImpl extends ServiceImpl<ScheduleManageMapper,
});
});
//保存预约详情
//保存预约详情
scheduleManage
.
getScheduleServeList
().
forEach
(
scheduleServeMapper:
:
insert
);
scheduleManage
.
getScheduleServeList
().
forEach
(
scheduleServeMapper:
:
insert
);
technicianPushService
.
scheduledMsg
(
scheduleManage
.
getId
());
}
}
@Override
@Override
...
...
src/main/java/com/gogirl/dto/EnterpriseWxMsg.java
View file @
185598ad
...
@@ -7,7 +7,7 @@ import java.util.List;
...
@@ -7,7 +7,7 @@ import java.util.List;
@Data
@Data
public
class
EnterpriseWxMsg
{
public
class
EnterpriseWxMsg
{
private
String
msg
T
ype
;
private
String
msg
t
ype
;
private
EnterpriseTextWxMsg
text
;
private
EnterpriseTextWxMsg
text
;
@Data
@Data
...
...
src/main/java/com/gogirl/infrastructure/schedule/Schedule.java
View file @
185598ad
...
@@ -44,6 +44,7 @@ import com.gogirl.infrastructure.mapper.store.store.StoreTechnicianMapper;
...
@@ -44,6 +44,7 @@ import com.gogirl.infrastructure.mapper.store.store.StoreTechnicianMapper;
import
com.gogirl.infrastructure.mapper.user.customer.CustomerBalanceRecordMapper
;
import
com.gogirl.infrastructure.mapper.user.customer.CustomerBalanceRecordMapper
;
import
com.gogirl.infrastructure.mapper.xcx.WeekConfigMapper
;
import
com.gogirl.infrastructure.mapper.xcx.WeekConfigMapper
;
import
com.gogirl.infrastructure.service.push.PushMsgService
;
import
com.gogirl.infrastructure.service.push.PushMsgService
;
import
com.gogirl.infrastructure.service.push.TechnicianPushService
;
import
com.google.common.collect.Lists
;
import
com.google.common.collect.Lists
;
import
lombok.AllArgsConstructor
;
import
lombok.AllArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
...
@@ -113,6 +114,7 @@ public class Schedule {
...
@@ -113,6 +114,7 @@ public class Schedule {
* config
* config
*/
*/
private
final
GogirlProperties
gogirlProperties
;
private
final
GogirlProperties
gogirlProperties
;
private
final
TechnicianPushService
technicianPushService
;
/**
/**
* 每天3点判断优惠券是否过期。
* 每天3点判断优惠券是否过期。
...
@@ -201,11 +203,16 @@ public class Schedule {
...
@@ -201,11 +203,16 @@ public class Schedule {
Customer
customer
=
customerService
.
getById
(
scheduleManage
.
getScheduledUser
());
Customer
customer
=
customerService
.
getById
(
scheduleManage
.
getScheduledUser
());
StoreManage
storeManage
=
storeManageService
.
getById
(
scheduleManage
.
getDepartmentId
());
StoreManage
storeManage
=
storeManageService
.
getById
(
scheduleManage
.
getDepartmentId
());
/*用户超时提醒*/
List
<
ScheduleServe
>
scheduleServeList
=
scheduleManageMapper
.
selectByScheduleId
(
scheduleManage
.
getId
());
List
<
ScheduleServe
>
scheduleServeList
=
scheduleManageMapper
.
selectByScheduleId
(
scheduleManage
.
getId
());
pushMsgService
.
sendScheduleMsg
(
customer
.
getOpenid1
(),
scheduleServeList
.
get
(
0
).
getServeName
(),
scheduleManage
.
getArriveTime
(),
storeManage
.
getName
(),
storeManage
.
getAddress
());
pushMsgService
.
sendScheduleMsg
(
customer
.
getOpenid1
(),
scheduleServeList
.
get
(
0
).
getServeName
(),
scheduleManage
.
getArriveTime
(),
storeManage
.
getName
(),
storeManage
.
getAddress
());
/*美甲师超时预约提醒*/
technicianPushService
.
ScheduledOverTimeMsg
(
scheduleManage
.
getId
());
scheduleManage
.
setIsSend
(
1
);
scheduleManage
.
setIsSend
(
1
);
scheduleManageMapper
.
updateById
(
scheduleManage
);
scheduleManageMapper
.
updateById
(
scheduleManage
);
}
}
});
});
...
...
src/main/java/com/gogirl/infrastructure/service/push/impl/TechnicianPushServiceImpl.java
View file @
185598ad
...
@@ -5,6 +5,7 @@ import com.gogirl.domain.order.serve.ScheduleManage;
...
@@ -5,6 +5,7 @@ import com.gogirl.domain.order.serve.ScheduleManage;
import
com.gogirl.domain.order.serve.ScheduleServe
;
import
com.gogirl.domain.order.serve.ScheduleServe
;
import
com.gogirl.domain.store.store.StoreTechnician
;
import
com.gogirl.domain.store.store.StoreTechnician
;
import
com.gogirl.dto.EnterpriseWxMsg
;
import
com.gogirl.dto.EnterpriseWxMsg
;
import
com.gogirl.infrastructure.common.util.JsonUtilByFsJson
;
import
com.gogirl.infrastructure.config.property.GogirlProperties
;
import
com.gogirl.infrastructure.config.property.GogirlProperties
;
import
com.gogirl.infrastructure.mapper.order.serve.ScheduleManageMapper
;
import
com.gogirl.infrastructure.mapper.order.serve.ScheduleManageMapper
;
import
com.gogirl.infrastructure.mapper.order.serve.ScheduleServeMapper
;
import
com.gogirl.infrastructure.mapper.order.serve.ScheduleServeMapper
;
...
@@ -13,11 +14,13 @@ import com.gogirl.infrastructure.service.push.TechnicianPushService;
...
@@ -13,11 +14,13 @@ import com.gogirl.infrastructure.service.push.TechnicianPushService;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.http.HttpEntity
;
import
org.springframework.http.HttpEntity
;
import
org.springframework.http.HttpHeaders
;
import
org.springframework.http.HttpHeaders
;
import
org.springframework.http.HttpMethod
;
import
org.springframework.http.MediaType
;
import
org.springframework.http.MediaType
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.web.client.RestTemplate
;
import
org.springframework.web.client.RestTemplate
;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
import
java.text.SimpleDateFormat
;
import
java.util.List
;
import
java.util.List
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
...
@@ -40,7 +43,7 @@ public class TechnicianPushServiceImpl implements TechnicianPushService {
...
@@ -40,7 +43,7 @@ public class TechnicianPushServiceImpl implements TechnicianPushService {
ScheduleManage
scheduleManage
=
scheduleManageMapper
.
selectById
(
scheduledId
);
ScheduleManage
scheduleManage
=
scheduleManageMapper
.
selectById
(
scheduledId
);
String
name
=
scheduleManage
.
getStoreScheduleUsername
();
String
name
=
scheduleManage
.
getStoreScheduleUsername
();
String
phone
=
scheduleManage
.
getTelephone
();
String
phone
=
scheduleManage
.
getTelephone
();
String
date
=
scheduleManage
.
getArriveTime
().
toString
(
);
String
date
=
new
SimpleDateFormat
(
"yyyy年MM月dd日 HH:mm:ss"
).
format
(
scheduleManage
.
getArriveTime
()
);
List
<
ScheduleServe
>
scheduleServeList
=
scheduleServeMapper
.
selectList
(
new
LambdaQueryWrapper
<
ScheduleServe
>().
eq
(
ScheduleServe:
:
getSchId
,
scheduledId
));
List
<
ScheduleServe
>
scheduleServeList
=
scheduleServeMapper
.
selectList
(
new
LambdaQueryWrapper
<
ScheduleServe
>().
eq
(
ScheduleServe:
:
getSchId
,
scheduledId
));
String
serves
=
scheduleServeList
.
stream
().
map
(
ScheduleServe:
:
getServeName
).
collect
(
Collectors
.
joining
(
","
));
String
serves
=
scheduleServeList
.
stream
().
map
(
ScheduleServe:
:
getServeName
).
collect
(
Collectors
.
joining
(
","
));
...
@@ -50,15 +53,15 @@ public class TechnicianPushServiceImpl implements TechnicianPushService {
...
@@ -50,15 +53,15 @@ public class TechnicianPushServiceImpl implements TechnicianPushService {
HttpHeaders
httpHeaders
=
new
HttpHeaders
();
HttpHeaders
httpHeaders
=
new
HttpHeaders
();
httpHeaders
.
setContentType
(
MediaType
.
APPLICATION_JSON
);
httpHeaders
.
setContentType
(
MediaType
.
APPLICATION_JSON
);
EnterpriseWxMsg
enterpriseWxMsg
=
new
EnterpriseWxMsg
();
EnterpriseWxMsg
enterpriseWxMsg
=
new
EnterpriseWxMsg
();
enterpriseWxMsg
.
setMsg
T
ype
(
"text"
);
enterpriseWxMsg
.
setMsg
t
ype
(
"text"
);
EnterpriseWxMsg
.
EnterpriseTextWxMsg
textWxMsg
=
new
EnterpriseWxMsg
.
EnterpriseTextWxMsg
();
EnterpriseWxMsg
.
EnterpriseTextWxMsg
textWxMsg
=
new
EnterpriseWxMsg
.
EnterpriseTextWxMsg
();
StringBuilder
builder
=
new
StringBuilder
();
StringBuilder
builder
=
new
StringBuilder
();
String
content
=
builder
.
append
(
"预约提醒\n"
)
String
content
=
builder
.
append
(
"预约提醒\n
\n
"
)
.
append
(
"预约客户
:
"
).
append
(
name
).
append
(
"\n"
)
.
append
(
"预约客户
:
"
).
append
(
name
).
append
(
"\n"
)
.
append
(
"预约客户手机
:
"
).
append
(
phone
).
append
(
"\n"
)
.
append
(
"预约客户手机
:
"
).
append
(
phone
).
append
(
"\n"
)
.
append
(
"预约时间
:
"
).
append
(
date
).
append
(
"\n"
)
.
append
(
"预约时间
:
"
).
append
(
date
).
append
(
"\n"
)
.
append
(
"预约技师"
).
append
(
technicianNames
).
append
(
"\n"
)
.
append
(
"预约技师
:
"
).
append
(
technicianNames
).
append
(
"\n"
)
.
append
(
"预约项目: "
).
append
(
serves
).
append
(
"\n"
)
.
append
(
"预约项目: "
).
append
(
serves
).
append
(
"\n"
)
.
toString
();
.
toString
();
textWxMsg
.
setMentioned_mobile_list
(
storeTechnicianList
.
stream
().
map
(
StoreTechnician:
:
getMobile
).
collect
(
Collectors
.
toList
()));
textWxMsg
.
setMentioned_mobile_list
(
storeTechnicianList
.
stream
().
map
(
StoreTechnician:
:
getMobile
).
collect
(
Collectors
.
toList
()));
...
@@ -66,16 +69,83 @@ public class TechnicianPushServiceImpl implements TechnicianPushService {
...
@@ -66,16 +69,83 @@ public class TechnicianPushServiceImpl implements TechnicianPushService {
enterpriseWxMsg
.
setText
(
textWxMsg
);
enterpriseWxMsg
.
setText
(
textWxMsg
);
HttpEntity
<
EnterpriseWxMsg
>
httpEntity
=
new
HttpEntity
<>(
enterpriseWxMsg
,
httpHeaders
);
HttpEntity
<
EnterpriseWxMsg
>
httpEntity
=
new
HttpEntity
<>(
enterpriseWxMsg
,
httpHeaders
);
restTemplate
.
postForEntity
(
gogirlProperties
.
getEnterpriseWechatWebhook
(),
httpEntity
,
String
.
class
);
log
.
info
(
"发送企业微信消息参数:{}"
,
JsonUtilByFsJson
.
beanToJson
(
enterpriseWxMsg
));
String
response
=
restTemplate
.
exchange
(
gogirlProperties
.
getEnterpriseWechatWebhook
(),
HttpMethod
.
POST
,
httpEntity
,
String
.
class
).
getBody
();
log
.
info
(
"发送企业微信消息响应:{}"
,
response
);
}
}
@Override
@Override
public
void
cancelScheduledMsg
(
Integer
scheduledId
)
{
public
void
cancelScheduledMsg
(
Integer
scheduledId
)
{
ScheduleManage
scheduleManage
=
scheduleManageMapper
.
selectById
(
scheduledId
);
String
name
=
scheduleManage
.
getStoreScheduleUsername
();
String
phone
=
scheduleManage
.
getTelephone
();
String
date
=
new
SimpleDateFormat
(
"yyyy年MM月dd日 HH:mm:ss"
).
format
(
scheduleManage
.
getArriveTime
());
List
<
ScheduleServe
>
scheduleServeList
=
scheduleServeMapper
.
selectList
(
new
LambdaQueryWrapper
<
ScheduleServe
>().
eq
(
ScheduleServe:
:
getSchId
,
scheduledId
));
String
serves
=
scheduleServeList
.
stream
().
map
(
ScheduleServe:
:
getServeName
).
collect
(
Collectors
.
joining
(
","
));
List
<
StoreTechnician
>
storeTechnicianList
=
storeTechnicianMapper
.
selectBatchIds
(
scheduleServeList
.
stream
().
map
(
ScheduleServe:
:
getTechnicianId
).
collect
(
Collectors
.
toList
()));
String
technicianNames
=
storeTechnicianList
.
stream
().
map
(
StoreTechnician:
:
getName
).
collect
(
Collectors
.
joining
(
","
));
HttpHeaders
httpHeaders
=
new
HttpHeaders
();
httpHeaders
.
setContentType
(
MediaType
.
APPLICATION_JSON
);
EnterpriseWxMsg
enterpriseWxMsg
=
new
EnterpriseWxMsg
();
enterpriseWxMsg
.
setMsgtype
(
"text"
);
EnterpriseWxMsg
.
EnterpriseTextWxMsg
textWxMsg
=
new
EnterpriseWxMsg
.
EnterpriseTextWxMsg
();
StringBuilder
builder
=
new
StringBuilder
();
String
content
=
builder
.
append
(
"用户取消预约提醒\n\n"
)
.
append
(
"预约客户: "
).
append
(
name
).
append
(
"\n"
)
.
append
(
"预约客户手机: "
).
append
(
phone
).
append
(
"\n"
)
.
append
(
"预约时间: "
).
append
(
date
).
append
(
"\n"
)
.
append
(
"预约技师: "
).
append
(
technicianNames
).
append
(
"\n"
)
.
append
(
"预约项目: "
).
append
(
serves
).
append
(
"\n"
)
.
append
(
"取消原因: 用户取消"
)
.
toString
();
textWxMsg
.
setMentioned_mobile_list
(
storeTechnicianList
.
stream
().
map
(
StoreTechnician:
:
getMobile
).
collect
(
Collectors
.
toList
()));
textWxMsg
.
setContent
(
content
);
enterpriseWxMsg
.
setText
(
textWxMsg
);
HttpEntity
<
EnterpriseWxMsg
>
httpEntity
=
new
HttpEntity
<>(
enterpriseWxMsg
,
httpHeaders
);
log
.
info
(
"发送企业微信消息参数:{}"
,
JsonUtilByFsJson
.
beanToJson
(
enterpriseWxMsg
));
String
response
=
restTemplate
.
exchange
(
gogirlProperties
.
getEnterpriseWechatWebhook
(),
HttpMethod
.
POST
,
httpEntity
,
String
.
class
).
getBody
();
log
.
info
(
"发送企业微信消息响应:{}"
,
response
);
}
}
@Override
@Override
public
void
ScheduledOverTimeMsg
(
Integer
scheduledId
)
{
public
void
ScheduledOverTimeMsg
(
Integer
scheduledId
)
{
ScheduleManage
scheduleManage
=
scheduleManageMapper
.
selectById
(
scheduledId
);
String
name
=
scheduleManage
.
getStoreScheduleUsername
();
String
phone
=
scheduleManage
.
getTelephone
();
String
date
=
new
SimpleDateFormat
(
"yyyy年MM月dd日 HH:mm:ss"
).
format
(
scheduleManage
.
getArriveTime
());
List
<
ScheduleServe
>
scheduleServeList
=
scheduleServeMapper
.
selectList
(
new
LambdaQueryWrapper
<
ScheduleServe
>().
eq
(
ScheduleServe:
:
getSchId
,
scheduledId
));
String
serves
=
scheduleServeList
.
stream
().
map
(
ScheduleServe:
:
getServeName
).
collect
(
Collectors
.
joining
(
","
));
List
<
StoreTechnician
>
storeTechnicianList
=
storeTechnicianMapper
.
selectBatchIds
(
scheduleServeList
.
stream
().
map
(
ScheduleServe:
:
getTechnicianId
).
collect
(
Collectors
.
toList
()));
String
technicianNames
=
storeTechnicianList
.
stream
().
map
(
StoreTechnician:
:
getName
).
collect
(
Collectors
.
joining
(
","
));
HttpHeaders
httpHeaders
=
new
HttpHeaders
();
httpHeaders
.
setContentType
(
MediaType
.
APPLICATION_JSON
);
EnterpriseWxMsg
enterpriseWxMsg
=
new
EnterpriseWxMsg
();
enterpriseWxMsg
.
setMsgtype
(
"text"
);
EnterpriseWxMsg
.
EnterpriseTextWxMsg
textWxMsg
=
new
EnterpriseWxMsg
.
EnterpriseTextWxMsg
();
StringBuilder
builder
=
new
StringBuilder
();
String
content
=
(
builder
.
append
(
"超时取消提醒\n\n"
)
.
append
(
"预约客户: "
).
append
(
name
).
append
(
"\n"
)
.
append
(
"预约客户手机: "
).
append
(
phone
).
append
(
"\n"
)
.
append
(
"预约时间: "
).
append
(
date
).
append
(
"\n"
)
.
append
(
"预约技师: "
).
append
(
technicianNames
).
append
(
"\n"
)
.
append
(
"预约项目: "
).
append
(
serves
).
append
(
"\n"
)
.
append
(
"取消原因: 超时取消"
))
.
toString
();
textWxMsg
.
setMentioned_mobile_list
(
storeTechnicianList
.
stream
().
map
(
StoreTechnician:
:
getMobile
).
collect
(
Collectors
.
toList
()));
textWxMsg
.
setContent
(
content
);
enterpriseWxMsg
.
setText
(
textWxMsg
);
HttpEntity
<
EnterpriseWxMsg
>
httpEntity
=
new
HttpEntity
<>(
enterpriseWxMsg
,
httpHeaders
);
log
.
info
(
"发送企业微信消息参数:{}"
,
JsonUtilByFsJson
.
beanToJson
(
enterpriseWxMsg
));
String
response
=
restTemplate
.
exchange
(
gogirlProperties
.
getEnterpriseWechatWebhook
(),
HttpMethod
.
POST
,
httpEntity
,
String
.
class
).
getBody
();
log
.
info
(
"发送企业微信消息响应:{}"
,
response
);
}
}
}
}
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