Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Y
yd-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
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
AutogeneralShanghai
yd-backend
Commits
325713a9
Commit
325713a9
authored
Jun 30, 2023
by
Mahjong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
专家处理商机,更新预约状态,给客户发送预约成功短信,小程序发送预约成功通知2
parent
f70bda75
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
181 additions
and
4 deletions
+181
-4
yd-api/src/main/java/com/yd/api/practitioner/service/impl/PractitionerServiceImpl.java
+72
-3
yd-api/src/main/java/com/yd/api/practitioner/vo/opportunity/OwnOpportunityRecordSaveRequestVO.java
+3
-0
yd-api/src/main/java/com/yd/dal/entity/marketing/MktLeadsPool.java
+1
-0
yd-api/src/main/java/com/yd/rmi/tencent/wechatinterf/pojo/templetemessage/MiniProgramSfpInfo.java
+50
-0
yd-api/src/main/java/com/yd/rmi/tencent/wechatinterf/pojo/templetemessage/SendTemplateSfpRequest.java
+54
-0
yd-api/src/main/resources/mapper/marketing/MktLeadsPoolMapper.xml
+1
-1
No files found.
yd-api/src/main/java/com/yd/api/practitioner/service/impl/PractitionerServiceImpl.java
View file @
325713a9
package
com
.
yd
.
api
.
practitioner
.
service
.
impl
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.github.pagehelper.PageHelper
;
import
com.google.common.base.Strings
;
import
com.itextpdf.text.*
;
...
...
@@ -64,6 +66,7 @@ import com.yd.dal.service.marketing.*;
import
com.yd.dal.service.meta.*
;
import
com.yd.dal.service.order.PoOrderDALService
;
import
com.yd.dal.service.survey.SurveyCustomerAnswersDALService
;
import
com.yd.dal.service.tencent.TenInterfRecordDALService
;
import
com.yd.dal.service.user.AclUserDALService
;
import
com.yd.rmi.ali.mail.service.MailService
;
import
com.yd.rmi.ali.oss.service.OssService
;
...
...
@@ -80,11 +83,18 @@ import com.yd.rmi.n22.staff.pojo.Staff;
import
com.yd.rmi.n22.staff.service.N22StaffService
;
import
com.yd.rmi.tencent.wechat.service.WechatService
;
import
com.yd.rmi.tencent.wechat.vo.WeChatInfoByENV
;
import
com.yd.rmi.tencent.wechatinterf.pojo.accesstoken.AccessTokenRequest
;
import
com.yd.rmi.tencent.wechatinterf.pojo.templetemessage.DataDetailInfo
;
import
com.yd.rmi.tencent.wechatinterf.pojo.templetemessage.MiniProgramSfpInfo
;
import
com.yd.rmi.tencent.wechatinterf.pojo.templetemessage.SendTemplateSfpRequest
;
import
com.yd.rmi.tencent.wechatinterf.pojo.ticket.TicketRequest
;
import
com.yd.rmi.tencent.wechatinterf.pojo.token.TokenRequest
;
import
com.yd.rmi.tencent.wechatinterf.service.WechatInterfService
;
import
com.yd.util.CommonUtil
;
import
com.yd.util.HttpUtil
;
import
com.yd.util.JsonUtil
;
import
com.yd.util.PDFConfiguration
;
import
com.yd.util.SpringContextUtil
;
import
com.yd.util.config.ZHBErrorConfig
;
import
com.yd.util.deshandler.DESTypeHandler
;
import
lombok.extern.slf4j.Slf4j
;
...
...
@@ -209,7 +219,8 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service.
private
MktLeadsAssignedsMapper
mktLeadsAssignedsMapper
;
@Autowired
private
ScheduleTrackService
scheduleTrackService
;
@Autowired
private
WechatInterfService
wechatInterfService
;
@Autowired
private
SendService
sendService
;
@Override
...
...
@@ -1811,6 +1822,44 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service.
}
}
//小程序给客户发送预约成功通知
if
(
StringUtils
.
isNotBlank
(
pool
.
getWxOpenId
()))
{
JSONObject
result
=
null
;
String
requestJson
=
""
;
String
templateId
=
systemConfigService
.
getSingleConfigValue
(
"SFP_TENCENT_WECHAT_TEMPLATE_ID"
);
String
jumpUrl
=
systemConfigService
.
getSingleConfigValue
(
"SFP_PAGE_CUS_URL"
);
String
color
=
systemConfigService
.
getSingleConfigValue
(
"TENCENT_WECHAT_TEMPLATE_COLOR_XB"
);
String
remarkValue
=
systemConfigService
.
getSingleConfigValue
(
"SFP_TENCENT_WECHAT_TEMPLATE_CUS_REMARK"
);
String
accessToken
=
getAccessToken
();
String
url
=
systemConfigService
.
getSingleConfigValue
(
"SFP_TENCENT_WECHAT_TEMPLATE_SEND_URL"
)+
accessToken
;
// 组装模板数据
DataDetailInfo
thing2
=
new
DataDetailInfo
(
"SFP智能财策"
,
color
);
DataDetailInfo
thing3
=
new
DataDetailInfo
(
"网上预约"
,
null
);
DataDetailInfo
date4
=
new
DataDetailInfo
(
CommonUtil
.
dateParseString
(
new
Date
(),
"yyyy-MM-dd HH:mm:ss"
),
null
);
DataDetailInfo
thing5
=
new
DataDetailInfo
(
remarkValue
,
null
);
MiniProgramSfpInfo
dataInfo
=
new
MiniProgramSfpInfo
();
dataInfo
.
setThing2
(
thing2
);
dataInfo
.
setThing3
(
thing3
);
dataInfo
.
setDate4
(
date4
);
dataInfo
.
setThing5
(
thing5
);
SendTemplateSfpRequest
sendTemplateRequest
=
new
SendTemplateSfpRequest
();
sendTemplateRequest
.
setTemplateId
(
templateId
);
sendTemplateRequest
.
setUrl
(
jumpUrl
);
sendTemplateRequest
.
setData
(
dataInfo
);
sendTemplateRequest
.
setToUser
(
pool
.
getWxOpenId
());
requestJson
=
JsonUtil
.
objToJson
(
sendTemplateRequest
);
log
.
info
(
"ydLife,请求信息:{}"
,
JsonUtil
.
format
(
requestJson
));
String
responseJson
=
wechatInterfService
.
weChatTransaction
(
url
,
requestJson
);
result
=
JSON
.
parseObject
(
responseJson
);
log
.
info
(
"ydLife,返回信息:{}"
,
result
);
int
errCode
=
result
.
getIntValue
(
"errCode"
);
String
errMsg
=
result
.
getString
(
"errmsg"
);
log
.
info
(
"ydLife,错误代码{},错误信息{}"
,
errCode
,
errMsg
);
}
//关联商机
//添加到日程
AddScheduleTrackRequestVO
addScheduleTrackRequestVO
=
new
AddScheduleTrackRequestVO
();
...
...
@@ -1819,8 +1868,8 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service.
addScheduleTrackRequestVO
.
setReferLeadsId
(
track
.
getId
());
addScheduleTrackRequestVO
.
setTaskImportantTag
(
0
);
addScheduleTrackRequestVO
.
setIsActive
(
1
);
addScheduleTrackRequestVO
.
setTaskTimeFrom
(
"08:00:00"
);
addScheduleTrackRequestVO
.
setTaskTimeEnd
(
"22:00:00"
);
addScheduleTrackRequestVO
.
setTaskTimeFrom
(
requestVO
.
getTaskTimeFrom
()
);
addScheduleTrackRequestVO
.
setTaskTimeEnd
(
requestVO
.
getTaskTimeEnd
()
);
addScheduleTrackRequestVO
.
setCustomerId
(
track
.
getCustomerId
());
addScheduleTrackRequestVO
.
setMdDropOptionId
(
requestVO
.
getMdDropOptionId
());
addScheduleTrackRequestVO
.
setTrackTime
(
track
.
getTrackTime
());
...
...
@@ -1828,6 +1877,26 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service.
}
}
private
String
getAccessToken
()
{
String
appId
=
systemConfigService
.
getSingleConfigValue
(
"SFP_TENCENT_WECHAT_APPID"
);
String
secret
=
systemConfigService
.
getSingleConfigValue
(
"SFP_TENCENT_WECHAT_APPSECRET"
);
String
grantType
=
systemConfigService
.
getSingleConfigValue
(
"TENCENT_WECHAT_TOKEN_GRANT_TYPE"
);
AccessTokenRequest
accessTokenRequest
=
new
AccessTokenRequest
();
accessTokenRequest
.
setAppid
(
appId
);
accessTokenRequest
.
setSecret
(
secret
);
accessTokenRequest
.
setGrant_type
(
grantType
);
boolean
isLocal
=
SpringContextUtil
.
isLocal
();
return
isLocal
?
getAccessTokenByDEV
(
accessTokenRequest
)
:
wechatService
.
getAccessToken
(
accessTokenRequest
);
}
private
String
getAccessTokenByDEV
(
AccessTokenRequest
accessTokenRequest
)
{
String
requestJson
=
JsonUtil
.
objToJson
(
accessTokenRequest
);
String
responseJson
=
HttpUtil
.
postForJson
(
"https://mdev.zuihuibi.cn/api/getAccessToken"
,
requestJson
);
JSONObject
result
=
JSON
.
parseObject
(
responseJson
);
return
result
.
getString
(
"data"
);
}
@Override
public
OpportunityStatisticsResponseVO
opportunityStatistics
(
OpportunityStatisticsRequestVO
requestVO
)
{
OpportunityStatisticsResponseVO
resp
=
new
OpportunityStatisticsResponseVO
();
...
...
yd-api/src/main/java/com/yd/api/practitioner/vo/opportunity/OwnOpportunityRecordSaveRequestVO.java
View file @
325713a9
...
...
@@ -12,4 +12,7 @@ public class OwnOpportunityRecordSaveRequestVO {
private
Long
mdDropOptionId
;
private
String
noticeDate
;
private
Long
leadsAssignedId
;
private
String
taskTimeFrom
;
//跟进开始时间
private
String
taskTimeEnd
;
//跟进结束时间
}
yd-api/src/main/java/com/yd/dal/entity/marketing/MktLeadsPool.java
View file @
325713a9
...
...
@@ -58,5 +58,6 @@ public class MktLeadsPool {
private
Long
appointmentRecordId
;
//预约表id
private
Long
sfpMainId
;
private
String
mobile
;
private
String
wxOpenId
;
//sfp 用户小程序openid
}
yd-api/src/main/java/com/yd/rmi/tencent/wechatinterf/pojo/templetemessage/MiniProgramSfpInfo.java
0 → 100644
View file @
325713a9
package
com
.
yd
.
rmi
.
tencent
.
wechatinterf
.
pojo
.
templetemessage
;
import
com.fasterxml.jackson.annotation.JsonProperty
;
/**
* @author: hongzhong
* @date 2023年06月15日 17:13
*/
public
class
MiniProgramSfpInfo
{
@JsonProperty
(
"thing2"
)
private
DataDetailInfo
thing2
;
@JsonProperty
(
"thing3"
)
private
DataDetailInfo
thing3
;
@JsonProperty
(
"date4"
)
private
DataDetailInfo
date4
;
@JsonProperty
(
"thing5"
)
private
DataDetailInfo
thing5
;
public
DataDetailInfo
getThing2
()
{
return
thing2
;
}
public
void
setThing2
(
DataDetailInfo
thing2
)
{
this
.
thing2
=
thing2
;
}
public
DataDetailInfo
getThing3
()
{
return
thing3
;
}
public
void
setThing3
(
DataDetailInfo
thing3
)
{
this
.
thing3
=
thing3
;
}
public
DataDetailInfo
getDate4
()
{
return
date4
;
}
public
void
setDate4
(
DataDetailInfo
date4
)
{
this
.
date4
=
date4
;
}
public
DataDetailInfo
getThing5
()
{
return
thing5
;
}
public
void
setThing5
(
DataDetailInfo
thing5
)
{
this
.
thing5
=
thing5
;
}
}
yd-api/src/main/java/com/yd/rmi/tencent/wechatinterf/pojo/templetemessage/SendTemplateSfpRequest.java
0 → 100644
View file @
325713a9
package
com
.
yd
.
rmi
.
tencent
.
wechatinterf
.
pojo
.
templetemessage
;
import
com.fasterxml.jackson.annotation.JsonProperty
;
public
class
SendTemplateSfpRequest
{
@JsonProperty
(
"touser"
)
private
String
toUser
;
@JsonProperty
(
"template_id"
)
private
String
templateId
;
private
String
url
;
@JsonProperty
(
"miniprogram"
)
private
MiniProgramInfo
miniProgram
;
private
MiniProgramSfpInfo
data
;
public
String
getToUser
()
{
return
toUser
;
}
public
void
setToUser
(
String
toUser
)
{
this
.
toUser
=
toUser
;
}
public
String
getTemplateId
()
{
return
templateId
;
}
public
void
setTemplateId
(
String
templateId
)
{
this
.
templateId
=
templateId
;
}
public
String
getUrl
()
{
return
url
;
}
public
void
setUrl
(
String
url
)
{
this
.
url
=
url
;
}
public
MiniProgramInfo
getMiniProgram
()
{
return
miniProgram
;
}
public
void
setMiniProgram
(
MiniProgramInfo
miniProgram
)
{
this
.
miniProgram
=
miniProgram
;
}
public
MiniProgramSfpInfo
getData
()
{
return
data
;
}
public
void
setData
(
MiniProgramSfpInfo
data
)
{
this
.
data
=
data
;
}
}
yd-api/src/main/resources/mapper/marketing/MktLeadsPoolMapper.xml
View file @
325713a9
...
...
@@ -271,7 +271,7 @@
select
a.id, a.customer_id customerId, a.mkt_campaign mktCampaign, a.mkt_task mktTask, a.has_assigned hasAssigned, a.source_from sourceFrom,
a.is_active isActive,c.mobile mobile,
a.added_at addedAt, a.added_by addedBy,a.remark remark,a.appointment_record_id appointmentRecordId,b.sfp_main_id sfpMainId
a.added_at addedAt, a.added_by addedBy,a.remark remark,a.appointment_record_id appointmentRecordId,b.sfp_main_id sfpMainId
,c.wx_open_id wxOpenId
from ag_mkt_leads_pool a , ag_sfp_appointment_record b , ag_sfp_user c
where a.appointment_record_id=b.id and b.user_id=c.id
and b.status = 0 and b.is_complete =0
...
...
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