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
ad453917
Commit
ad453917
authored
Jun 09, 2022
by
jianan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
电子报聘审批通知
parent
49f710ea
Hide whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
476 additions
and
4 deletions
+476
-4
yd-api/src/main/java/com/yd/api/agms/service/impl/AgmsHiringServiceImpl.java
+106
-0
yd-api/src/main/java/com/yd/api/practitioner/PractitionerHiringController.java
+14
-1
yd-api/src/main/java/com/yd/api/practitioner/service/PractitionerHiringService.java
+2
-0
yd-api/src/main/java/com/yd/api/practitioner/service/impl/PractitionerHiringServiceImpl.java
+28
-1
yd-api/src/main/java/com/yd/api/practitioner/vo/hiring/SaveWeChatQRcodeRequestVO.java
+10
-0
yd-api/src/main/java/com/yd/api/practitioner/vo/hiring/SaveWeChatQRcodeResponseVO.java
+11
-0
yd-api/src/main/java/com/yd/dal/entity/customer/AclPractitionerHiringBasicInfo.java
+7
-1
yd-api/src/main/java/com/yd/dal/entity/customer/practitioner/PractitionerInfo.java
+12
-0
yd-api/src/main/java/com/yd/rmi/tencent/wechatinterf/pojo/templetemessage/DataDetailInfo.java
+31
-0
yd-api/src/main/java/com/yd/rmi/tencent/wechatinterf/pojo/templetemessage/GetTemplateIdRequest.java
+16
-0
yd-api/src/main/java/com/yd/rmi/tencent/wechatinterf/pojo/templetemessage/GetTemplateIdResponse.java
+36
-0
yd-api/src/main/java/com/yd/rmi/tencent/wechatinterf/pojo/templetemessage/MiniProgramInfo.java
+26
-0
yd-api/src/main/java/com/yd/rmi/tencent/wechatinterf/pojo/templetemessage/SendTemplateRequest.java
+54
-0
yd-api/src/main/java/com/yd/rmi/tencent/wechatinterf/pojo/templetemessage/SendTemplateResponse.java
+36
-0
yd-api/src/main/java/com/yd/rmi/tencent/wechatinterf/pojo/templetemessage/TemplateDataInfo.java
+56
-0
yd-api/src/main/java/com/yd/rmi/tencent/wechatinterf/service/WechatInterfService.java
+7
-0
yd-api/src/main/java/com/yd/rmi/tencent/wechatinterf/service/impl/WechatInterfServiceImpl.java
+16
-0
yd-api/src/main/resources/mapper/customer/AclPractitionerHiringBasicInfoMapper.xml
+5
-1
yd-api/src/main/resources/mapper/customer/AclPractitionerMapper.xml
+3
-0
No files found.
yd-api/src/main/java/com/yd/api/agms/service/impl/AgmsHiringServiceImpl.java
View file @
ad453917
...
...
@@ -6,6 +6,7 @@ import com.yd.api.agms.vo.hiring.*;
import
com.yd.api.result.CommonResult
;
import
com.yd.dal.entity.agms.hiring.*
;
import
com.yd.dal.entity.customer.*
;
import
com.yd.dal.entity.customer.practitioner.PractitionerInfo
;
import
com.yd.dal.entity.meta.MdDropOptions
;
import
com.yd.dal.entity.meta.MdPractitionerHiringApproveSteps
;
import
com.yd.dal.entity.practitioner.hiring.HiringApproveRecords
;
...
...
@@ -22,6 +23,10 @@ import com.yd.dal.service.practitioner.PractitionerHiringDALService;
import
com.yd.dal.service.user.AclUserDALService
;
import
com.yd.rmi.ali.send.service.SendService
;
import
com.yd.rmi.cache.SystemConfigService
;
import
com.yd.rmi.tencent.wechatinterf.pojo.templetemessage.DataDetailInfo
;
import
com.yd.rmi.tencent.wechatinterf.pojo.templetemessage.SendTemplateRequest
;
import
com.yd.rmi.tencent.wechatinterf.pojo.templetemessage.TemplateDataInfo
;
import
com.yd.rmi.tencent.wechatinterf.service.WechatInterfService
;
import
com.yd.util.CommonUtil
;
import
com.yd.util.config.ZHBErrorConfig
;
import
com.yd.util.page.PageInfoUtils
;
...
...
@@ -69,6 +74,8 @@ public class AgmsHiringServiceImpl implements AgmsHiringService {
private
AclPractitionerPotentialAssignedTrackDALService
aclPractitionerPotentialAssignedTrackDALService
;
@Autowired
private
MdDropOptionsDALService
mdDropOptionsDALService
;
@Autowired
private
WechatInterfService
wechatInterfService
;
@Autowired
public
void
setAgmsHiringDalService
(
AgmsHiringDALService
agmsHiringDalService
){
...
...
@@ -413,6 +420,9 @@ public class AgmsHiringServiceImpl implements AgmsHiringService {
//不是他
boolean
flag
=
this
.
isHasNextStep
(
loginPractitionerId
,
mobileNo
,
basicInfoId
,
nextStep
);
if
(!
flag
)
{
// 发送短信通知及公众号推送通知下一位审批人进行审批
noticeNextStep
(
nextStep
,
basicInfoId
);
responseVO
.
setCommonResult
(
new
CommonResult
(
true
,
ZHBErrorConfig
.
getErrorInfo
(
"800000"
)));
return
;
}
...
...
@@ -421,6 +431,102 @@ public class AgmsHiringServiceImpl implements AgmsHiringService {
responseVO
.
setCommonResult
(
new
CommonResult
(
true
,
ZHBErrorConfig
.
getErrorInfo
(
"800000"
)));
}
private
void
noticeNextStep
(
MdPractitionerHiringApproveSteps
nextStep
,
Long
basicInfoId
)
{
AclPractitionerHiringBasicInfo
basicInfo
=
aclPractitionerHiringBasicInfoDalService
.
findById
(
basicInfoId
);
AclPractitionerHiringMembership
membership
=
membershipMapper
.
selectByHiringBasicInfoId
(
basicInfoId
);
// 1.获取下一步审批人的手机号
String
[]
mobileNoArray
=
new
String
[
0
];
// 1.1 如果是体系负责人
if
(
StringUtils
.
isNotEmpty
(
nextStep
.
getApproveRole
()))
{
Long
practitionerId
=
membership
.
getApprovedBy
();
AclPractitioner
aclPractitioner
=
aclPractitionerMapper
.
selectByPrimaryKey
(
practitionerId
);
mobileNoArray
[
0
]
=
aclPractitioner
.
getMobileNo
();
}
else
{
// 1.2 团队长之后的环节, 可能会有多个审批人
mobileNoArray
=
nextStep
.
getAppointedApprovePractitioners
().
split
(
","
);
}
// 1.3 查询审批人列表
List
<
PractitionerInfo
>
practitionerList
=
aclPractitionerDalService
.
findPractitionerInfoByMobileList
(
Arrays
.
asList
(
mobileNoArray
));
// 2.报聘人组织关系, 姓名
StringBuilder
name2
=
new
StringBuilder
();
String
s3SubordinateSystemName
=
membership
.
getS3SubordinateSystemName
();
String
s2SubordinateSystemName
=
membership
.
getS2SubordinateSystemName
();
String
s1SubordinateSystemName
=
membership
.
getS1SubordinateSystemName
();
if
(
StringUtils
.
isNotEmpty
(
s3SubordinateSystemName
))
{
name2
.
append
(
s3SubordinateSystemName
).
append
(
"纵队"
);
}
if
(
StringUtils
.
isNotEmpty
(
s2SubordinateSystemName
))
{
name2
.
append
(
s2SubordinateSystemName
).
append
(
"体系"
);
}
if
(
StringUtils
.
isNotEmpty
(
s1SubordinateSystemName
))
{
name2
.
append
(
s1SubordinateSystemName
).
append
(
"分部"
);
}
name2
.
append
(
"的"
).
append
(
basicInfo
.
getName
());
// 发送短信通知下一位审批人进行审批
this
.
noticeSendSMS
(
name2
.
toString
(),
practitionerList
,
basicInfo
);
// 公众号推送通知下一位审批人进行审批
this
.
noticeSendWeChatMsg
(
name2
.
toString
(),
practitionerList
,
basicInfo
);
}
private
void
noticeSendWeChatMsg
(
String
hiringName
,
List
<
PractitionerInfo
>
practitionerList
,
AclPractitionerHiringBasicInfo
basicInfo
)
{
// String templateId = systemConfigService.getSingleConfigValue("TENCENT_WECHAT_TEMPLATE_ID_XB");
// String jumpUrl = systemConfigService.getSingleConfigValue("hiringApprove_page_url") + orderId;
String
templateId
=
"4_GL7QFaFxucU4K35-2dy6RcjuPE6eQjJyf_2BKddx4"
;
String
jumpUrl
=
"https://mdev.zuihuibi.cn/ydLife/login"
;
// 组装模板数据
String
firstValue
=
systemConfigService
.
getSingleConfigValue
(
"TENCENT_WECHAT_TEMPLATE_FIRST_HIRING"
);
String
remarkValue
=
systemConfigService
.
getSingleConfigValue
(
"TENCENT_WECHAT_TEMPLATE_REMARK_HIRING"
);
String
color
=
systemConfigService
.
getSingleConfigValue
(
"TENCENT_WECHAT_TEMPLATE_COLOR_XB"
);
TemplateDataInfo
dataInfo
=
new
TemplateDataInfo
();
DataDetailInfo
first
=
new
DataDetailInfo
();
DataDetailInfo
keyword1
=
new
DataDetailInfo
(
hiringName
,
color
);
DataDetailInfo
keyword2
=
new
DataDetailInfo
(
CommonUtil
.
dateParseString
(
basicInfo
.
getCreatedAt
(),
"yyyy-MM-dd HH:mm:ss"
),
null
);
DataDetailInfo
remark
=
new
DataDetailInfo
(
remarkValue
,
null
);
dataInfo
.
setFirst
(
first
);
dataInfo
.
setKeyword1
(
keyword1
);
dataInfo
.
setKeyword2
(
keyword2
);
dataInfo
.
setRemark
(
remark
);
//TODO 调微信接口
if
(
StringUtils
.
isNotBlank
(
templateId
))
{
SendTemplateRequest
sendTemplateRequest
=
new
SendTemplateRequest
();
sendTemplateRequest
.
setTemplateId
(
templateId
);
sendTemplateRequest
.
setData
(
dataInfo
);
sendTemplateRequest
.
setUrl
(
jumpUrl
);
for
(
PractitionerInfo
practitionerInfo
:
practitionerList
)
{
// openId
sendTemplateRequest
.
setToUser
(
practitionerInfo
.
getYdWechatOpenid
());
// 审批人姓名
first
.
setValue
(
firstValue
.
replace
(
"name"
,
practitionerInfo
.
getName
()));
// 微信通知
wechatInterfService
.
sendTemplateMessage
(
sendTemplateRequest
);
}
}
}
private
void
noticeSendSMS
(
String
hiringName
,
List
<
PractitionerInfo
>
practitionerList
,
AclPractitionerHiringBasicInfo
basicInfo
)
{
// 审批人姓名, 手机号
String
name
;
String
mobileNo
;
for
(
PractitionerInfo
practitionerInfo
:
practitionerList
)
{
name
=
practitionerInfo
.
getName
();
mobileNo
=
practitionerInfo
.
getMobileNo
();
// 发短信
// ${name},您好!${name2}(S3纵队S2体系S1分部的XX)经纪人已提交报聘审批,请至“赢家平台>我的团队-报聘审批”进行查看审批,谢谢!
String
templateCode
=
systemConfigService
.
getSingleConfigValue
(
"ALI_SMS_HiringApproveNotice"
);
String
content
=
"{\"name\":\""
+
name
+
"\",\"hiringName\":\""
+
hiringName
+
"\"}"
;
sendService
.
sendEmailOrSMS
(
"sms"
,
mobileNo
,
"0"
,
content
,
templateCode
,
null
,
null
,
"电子报聘审批通知"
,
99
,
basicInfo
.
getId
());
}
}
private
boolean
isHasNextStep
(
Long
loginPractitionerId
,
String
mobileNo
,
Long
basicInfoId
,
MdPractitionerHiringApproveSteps
nextStep
)
{
// 判断是辅导人和团队长
if
(!
CommonUtil
.
isNullOrZero
(
loginPractitionerId
))
{
...
...
yd-api/src/main/java/com/yd/api/practitioner/PractitionerHiringController.java
View file @
ad453917
package
com
.
yd
.
api
.
practitioner
;
import
com.yd.api.practitioner.service.PractitionerHiringContractService
;
import
com.yd.api.practitioner.service.PractitionerHiringService
;
import
com.yd.api.practitioner.vo.hiring.*
;
import
com.yd.api.result.JsonResult
;
...
...
@@ -270,4 +269,17 @@ public class PractitionerHiringController {
result
.
setData
(
responseVO
);
return
result
;
}
/**
* 保存报聘经纪人微信个人二维码图片
*
*/
@RequestMapping
(
"/saveWeChatQRcode"
)
public
Object
saveWeChatQRcode
(
@RequestBody
SaveWeChatQRcodeRequestVO
requestVO
){
JsonResult
result
=
new
JsonResult
();
SaveWeChatQRcodeResponseVO
responseVO
=
practitionerHiringService
.
saveWeChatQRcode
(
requestVO
);
result
.
addResult
(
responseVO
);
result
.
setData
(
responseVO
);
return
result
;
}
}
\ No newline at end of file
yd-api/src/main/java/com/yd/api/practitioner/service/PractitionerHiringService.java
View file @
ad453917
...
...
@@ -58,4 +58,6 @@ public interface PractitionerHiringService {
QueryPractitionerInfoResponseVO
queryPractitionerInfo
(
QueryPractitionerInfoRequestVO
requestVO
);
CommonResultResponseVO
hiringSubmit
(
HiringBasicInfoIdRequestVO
requestVO
);
SaveWeChatQRcodeResponseVO
saveWeChatQRcode
(
SaveWeChatQRcodeRequestVO
requestVO
);
}
yd-api/src/main/java/com/yd/api/practitioner/service/impl/PractitionerHiringServiceImpl.java
View file @
ad453917
...
...
@@ -957,6 +957,33 @@ public class PractitionerHiringServiceImpl implements PractitionerHiringService
return
resp
;
}
@Override
public
SaveWeChatQRcodeResponseVO
saveWeChatQRcode
(
SaveWeChatQRcodeRequestVO
requestVO
)
{
SaveWeChatQRcodeResponseVO
resp
=
new
SaveWeChatQRcodeResponseVO
();
try
{
String
mediaId
=
requestVO
.
getVxUrlQRcode
();
Long
basicInfoId
=
requestVO
.
getHiringBasicInfoId
();
String
imgUrl
=
this
.
uploadImageToOss
(
mediaId
,
basicInfoId
,
2
);
if
(
imgUrl
==
null
)
{
resp
.
setCommonResult
(
new
CommonResult
(
false
,
ZHBErrorConfig
.
getErrorInfo
(
"830024"
)));
}
else
{
AclPractitionerHiringBasicInfo
basicInfo
=
new
AclPractitionerHiringBasicInfo
();
basicInfo
.
setId
(
basicInfoId
);
basicInfo
.
setWechatId
(
requestVO
.
getWechatId
());
basicInfo
.
setWechatQRcodeOssPath
(
imgUrl
);
basicInfoMapper
.
updateByPrimaryKeySelective
(
basicInfo
);
resp
.
setCommonResult
(
new
CommonResult
(
true
,
ZHBErrorConfig
.
getErrorInfo
(
"800000"
)));
resp
.
setImgUrl
(
imgUrl
);
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
resp
.
setCommonResult
(
new
CommonResult
(
false
,
e
.
getMessage
()));
}
return
resp
;
}
private
void
distributeToSubsystemOwner
(
AclPractitionerHiringMembership
memberShip
)
{
Long
hiringBasicInfoId
=
memberShip
.
getHiringBasicInfoId
();
String
mdDropOptionName
=
memberShip
.
getMdDropOptionName
();
...
...
@@ -1029,7 +1056,7 @@ public class PractitionerHiringServiceImpl implements PractitionerHiringService
private
String
uploadImageToOss
(
String
imgUrl
,
Long
hiringBasicInfoId
,
Integer
targetUseFor
)
throws
Exception
{
Map
<
String
,
Object
>
input
=
HttpUtil
.
getInput
(
imgUrl
);
if
(!(
boolean
)
input
.
get
(
"success"
))
{
throw
new
Exception
(
ZHBErrorConfig
.
getErrorInfo
(
"83002
4
"
));
throw
new
Exception
(
ZHBErrorConfig
.
getErrorInfo
(
"83002
5
"
));
}
//获取头像流
InputStream
inputStream
=
(
InputStream
)
input
.
get
(
"is"
);
...
...
yd-api/src/main/java/com/yd/api/practitioner/vo/hiring/SaveWeChatQRcodeRequestVO.java
0 → 100644
View file @
ad453917
package
com
.
yd
.
api
.
practitioner
.
vo
.
hiring
;
import
lombok.Data
;
@Data
public
class
SaveWeChatQRcodeRequestVO
{
private
Long
hiringBasicInfoId
;
private
String
wechatId
;
private
String
vxUrlQRcode
;
}
yd-api/src/main/java/com/yd/api/practitioner/vo/hiring/SaveWeChatQRcodeResponseVO.java
0 → 100644
View file @
ad453917
package
com
.
yd
.
api
.
practitioner
.
vo
.
hiring
;
import
com.yd.api.result.CommonResult
;
import
lombok.Data
;
@Data
public
class
SaveWeChatQRcodeResponseVO
{
private
CommonResult
commonResult
;
private
String
imgUrl
;
}
yd-api/src/main/java/com/yd/dal/entity/customer/AclPractitionerHiringBasicInfo.java
View file @
ad453917
package
com
.
yd
.
dal
.
entity
.
customer
;
import
java.util.Date
;
import
lombok.Data
;
import
java.util.Date
;
/**
* 報聘经纪人基本资料表
*/
...
...
@@ -94,6 +95,11 @@ public class AclPractitionerHiringBasicInfo {
private
String
wechatId
;
/**
* 从业人员微信二维码
*/
private
String
wechatQRcodeOssPath
;
/**
* email地址
*/
private
String
email
;
...
...
yd-api/src/main/java/com/yd/dal/entity/customer/practitioner/PractitionerInfo.java
View file @
ad453917
...
...
@@ -17,6 +17,10 @@ public class PractitionerInfo {
private
Long
canSeeSalaryList
;
private
String
mobileNo
;
private
Long
mentorId
;
//辅导人id
/**
* 银盾经纪公众号的微信客户标识,对当前开发账户唯一
*/
private
String
ydWechatOpenid
;
public
Long
getCustomerId
()
{
return
customerId
;
...
...
@@ -145,4 +149,12 @@ public class PractitionerInfo {
public
void
setMentorId
(
Long
mentorId
)
{
this
.
mentorId
=
mentorId
;
}
public
String
getYdWechatOpenid
()
{
return
ydWechatOpenid
;
}
public
void
setYdWechatOpenid
(
String
ydWechatOpenid
)
{
this
.
ydWechatOpenid
=
ydWechatOpenid
;
}
}
yd-api/src/main/java/com/yd/rmi/tencent/wechatinterf/pojo/templetemessage/DataDetailInfo.java
0 → 100644
View file @
ad453917
package
com
.
yd
.
rmi
.
tencent
.
wechatinterf
.
pojo
.
templetemessage
;
public
class
DataDetailInfo
{
private
String
value
;
private
String
color
;
public
DataDetailInfo
()
{
}
public
DataDetailInfo
(
String
value
,
String
color
)
{
this
.
value
=
value
;
this
.
color
=
color
;
}
public
String
getValue
()
{
return
value
;
}
public
void
setValue
(
String
value
)
{
this
.
value
=
value
;
}
public
String
getColor
()
{
return
color
;
}
public
void
setColor
(
String
color
)
{
this
.
color
=
color
;
}
}
yd-api/src/main/java/com/yd/rmi/tencent/wechatinterf/pojo/templetemessage/GetTemplateIdRequest.java
0 → 100644
View file @
ad453917
package
com
.
yd
.
rmi
.
tencent
.
wechatinterf
.
pojo
.
templetemessage
;
import
com.fasterxml.jackson.annotation.JsonProperty
;
public
class
GetTemplateIdRequest
{
@JsonProperty
(
"template_id_short"
)
private
String
templateIdShort
;
public
String
getTemplateIdShort
()
{
return
templateIdShort
;
}
public
void
setTemplateIdShort
(
String
templateIdShort
)
{
this
.
templateIdShort
=
templateIdShort
;
}
}
yd-api/src/main/java/com/yd/rmi/tencent/wechatinterf/pojo/templetemessage/GetTemplateIdResponse.java
0 → 100644
View file @
ad453917
package
com
.
yd
.
rmi
.
tencent
.
wechatinterf
.
pojo
.
templetemessage
;
import
com.fasterxml.jackson.annotation.JsonProperty
;
public
class
GetTemplateIdResponse
{
@JsonProperty
(
"errcode"
)
private
String
errCode
;
@JsonProperty
(
"errmsg"
)
private
String
errMsg
;
@JsonProperty
(
"template_id"
)
private
String
templateId
;
public
String
getErrCode
()
{
return
errCode
;
}
public
void
setErrCode
(
String
errCode
)
{
this
.
errCode
=
errCode
;
}
public
String
getErrMsg
()
{
return
errMsg
;
}
public
void
setErrMsg
(
String
errMsg
)
{
this
.
errMsg
=
errMsg
;
}
public
String
getTemplateId
()
{
return
templateId
;
}
public
void
setTemplateId
(
String
templateId
)
{
this
.
templateId
=
templateId
;
}
}
yd-api/src/main/java/com/yd/rmi/tencent/wechatinterf/pojo/templetemessage/MiniProgramInfo.java
0 → 100644
View file @
ad453917
package
com
.
yd
.
rmi
.
tencent
.
wechatinterf
.
pojo
.
templetemessage
;
import
com.fasterxml.jackson.annotation.JsonProperty
;
public
class
MiniProgramInfo
{
@JsonProperty
(
"appid"
)
private
String
appId
;
@JsonProperty
(
"pagepath"
)
private
String
pagePath
;
public
String
getAppId
()
{
return
appId
;
}
public
void
setAppId
(
String
appId
)
{
this
.
appId
=
appId
;
}
public
String
getPagePath
()
{
return
pagePath
;
}
public
void
setPagePath
(
String
pagePath
)
{
this
.
pagePath
=
pagePath
;
}
}
yd-api/src/main/java/com/yd/rmi/tencent/wechatinterf/pojo/templetemessage/SendTemplateRequest.java
0 → 100644
View file @
ad453917
package
com
.
yd
.
rmi
.
tencent
.
wechatinterf
.
pojo
.
templetemessage
;
import
com.fasterxml.jackson.annotation.JsonProperty
;
public
class
SendTemplateRequest
{
@JsonProperty
(
"touser"
)
private
String
toUser
;
@JsonProperty
(
"template_id"
)
private
String
templateId
;
private
String
url
;
@JsonProperty
(
"miniprogram"
)
private
MiniProgramInfo
miniProgram
;
private
TemplateDataInfo
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
TemplateDataInfo
getData
()
{
return
data
;
}
public
void
setData
(
TemplateDataInfo
data
)
{
this
.
data
=
data
;
}
}
yd-api/src/main/java/com/yd/rmi/tencent/wechatinterf/pojo/templetemessage/SendTemplateResponse.java
0 → 100644
View file @
ad453917
package
com
.
yd
.
rmi
.
tencent
.
wechatinterf
.
pojo
.
templetemessage
;
import
com.fasterxml.jackson.annotation.JsonProperty
;
public
class
SendTemplateResponse
{
@JsonProperty
(
"errcode"
)
private
String
errCode
;
@JsonProperty
(
"errmsg"
)
private
String
errMsg
;
@JsonProperty
(
"msgid"
)
private
String
msgId
;
public
String
getErrCode
()
{
return
errCode
;
}
public
void
setErrCode
(
String
errCode
)
{
this
.
errCode
=
errCode
;
}
public
String
getErrMsg
()
{
return
errMsg
;
}
public
void
setErrMsg
(
String
errMsg
)
{
this
.
errMsg
=
errMsg
;
}
public
String
getMsgId
()
{
return
msgId
;
}
public
void
setMsgId
(
String
msgId
)
{
this
.
msgId
=
msgId
;
}
}
yd-api/src/main/java/com/yd/rmi/tencent/wechatinterf/pojo/templetemessage/TemplateDataInfo.java
0 → 100644
View file @
ad453917
package
com
.
yd
.
rmi
.
tencent
.
wechatinterf
.
pojo
.
templetemessage
;
import
com.fasterxml.jackson.annotation.JsonProperty
;
public
class
TemplateDataInfo
{
@JsonProperty
(
"first"
)
private
DataDetailInfo
first
;
@JsonProperty
(
"keyword1"
)
private
DataDetailInfo
keyword1
;
@JsonProperty
(
"keyword2"
)
private
DataDetailInfo
keyword2
;
@JsonProperty
(
"keyword3"
)
private
DataDetailInfo
keyword3
;
@JsonProperty
(
"remark"
)
private
DataDetailInfo
remark
;
public
DataDetailInfo
getFirst
()
{
return
first
;
}
public
void
setFirst
(
DataDetailInfo
first
)
{
this
.
first
=
first
;
}
public
DataDetailInfo
getKeyword1
()
{
return
keyword1
;
}
public
void
setKeyword1
(
DataDetailInfo
keyword1
)
{
this
.
keyword1
=
keyword1
;
}
public
DataDetailInfo
getKeyword2
()
{
return
keyword2
;
}
public
void
setKeyword2
(
DataDetailInfo
keyword2
)
{
this
.
keyword2
=
keyword2
;
}
public
DataDetailInfo
getKeyword3
()
{
return
keyword3
;
}
public
void
setKeyword3
(
DataDetailInfo
keyword3
)
{
this
.
keyword3
=
keyword3
;
}
public
DataDetailInfo
getRemark
()
{
return
remark
;
}
public
void
setRemark
(
DataDetailInfo
remark
)
{
this
.
remark
=
remark
;
}
}
yd-api/src/main/java/com/yd/rmi/tencent/wechatinterf/service/WechatInterfService.java
View file @
ad453917
...
...
@@ -7,6 +7,7 @@ import com.yd.rmi.tencent.wechatinterf.pojo.accesstoken.AccessTokenResponse;
import
com.yd.rmi.tencent.wechatinterf.pojo.authorize.AuthorizeRequest
;
import
com.yd.rmi.tencent.wechatinterf.pojo.jscode2session.Jscode2sessionRequest
;
import
com.yd.rmi.tencent.wechatinterf.pojo.jscode2session.Jscode2sessionResponse
;
import
com.yd.rmi.tencent.wechatinterf.pojo.templetemessage.SendTemplateRequest
;
import
com.yd.rmi.tencent.wechatinterf.pojo.ticket.TicketRequest
;
import
com.yd.rmi.tencent.wechatinterf.pojo.ticket.TicketResponse
;
import
com.yd.rmi.tencent.wechatinterf.pojo.token.TokenRequest
;
...
...
@@ -90,4 +91,10 @@ public interface WechatInterfService {
*/
AccessTokenByCodeResponse
getAccessTokenByCode
(
AccessTokenByCodeRequest
accessTokenByCodeRequest
);
/**
* 发送模版信息
* @param sendTemplateRequest
*/
void
sendTemplateMessage
(
SendTemplateRequest
sendTemplateRequest
);
}
yd-api/src/main/java/com/yd/rmi/tencent/wechatinterf/service/impl/WechatInterfServiceImpl.java
View file @
ad453917
...
...
@@ -9,6 +9,7 @@ import com.yd.rmi.tencent.wechatinterf.pojo.accesstoken.AccessTokenResponse;
import
com.yd.rmi.tencent.wechatinterf.pojo.authorize.AuthorizeRequest
;
import
com.yd.rmi.tencent.wechatinterf.pojo.jscode2session.Jscode2sessionRequest
;
import
com.yd.rmi.tencent.wechatinterf.pojo.jscode2session.Jscode2sessionResponse
;
import
com.yd.rmi.tencent.wechatinterf.pojo.templetemessage.SendTemplateRequest
;
import
com.yd.rmi.tencent.wechatinterf.pojo.ticket.TicketRequest
;
import
com.yd.rmi.tencent.wechatinterf.pojo.ticket.TicketResponse
;
import
com.yd.rmi.tencent.wechatinterf.pojo.token.TokenRequest
;
...
...
@@ -18,6 +19,8 @@ import com.yd.rmi.tencent.wechatinterf.service.WechatInterfService;
import
com.yd.util.CommonUtil
;
import
com.yd.util.EncryptUtil
;
import
com.yd.util.JsonUtil
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.web.client.RestTemplate
;
...
...
@@ -35,6 +38,7 @@ import java.util.Map.Entry;
@Service
(
"wechatInterfService"
)
public
class
WechatInterfServiceImpl
implements
WechatInterfService
{
private
final
static
Logger
logger
=
LoggerFactory
.
getLogger
(
WechatInterfServiceImpl
.
class
);
@Autowired
private
SystemConfigService
systemConfigService
;
@Autowired
...
...
@@ -370,6 +374,18 @@ public class WechatInterfServiceImpl implements WechatInterfService {
return
(
AccessTokenByCodeResponse
)
JsonUtil
.
jsonToObj
(
responseStr
,
AccessTokenByCodeResponse
.
class
);
}
@Override
public
void
sendTemplateMessage
(
SendTemplateRequest
sendTemplateRequest
)
{
TokenResponse
token
=
this
.
token
(
new
TokenRequest
());
String
url
=
systemConfigService
.
getSingleConfigValue
(
"TENCENT_WECHAT_TEMPLATE_SEND_URL"
)
+
token
.
getAccess_token
();
logger
.
error
(
"【》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》发送微信模板消息开始"
);
tranLogDALService
.
logDB
(
"wechat"
,
"sendTemplateMessage"
,
"in"
,
sendTemplateRequest
.
getToUser
(),
url
,
null
,
null
);
String
responseStr
=
weChatTransaction
(
url
,
null
);
tranLogDALService
.
logDB
(
"wechat"
,
"sendTemplateMessage"
,
"out"
,
sendTemplateRequest
.
getToUser
(),
responseStr
,
null
,
null
);
}
/**
* 微信接口交互
*/
...
...
yd-api/src/main/resources/mapper/customer/AclPractitionerHiringBasicInfoMapper.xml
View file @
ad453917
...
...
@@ -21,6 +21,7 @@
<result
column=
"city_name"
jdbcType=
"VARCHAR"
property=
"cityName"
/>
<result
column=
"resident_address"
jdbcType=
"LONGVARCHAR"
property=
"residentAddress"
/>
<result
column=
"wechat_id"
jdbcType=
"VARCHAR"
property=
"wechatId"
/>
<result
column=
"wechat_QRcode_oss_path"
jdbcType=
"VARCHAR"
property=
"wechatQRcodeOssPath"
/>
<result
column=
"email"
jdbcType=
"VARCHAR"
property=
"email"
/>
<result
column=
"personer_picture_oss_path"
jdbcType=
"VARCHAR"
property=
"personerPictureOssPath"
/>
<result
column=
"payroll_oss_path"
jdbcType=
"VARCHAR"
property=
"payrollOssPath"
/>
...
...
@@ -43,7 +44,7 @@
<!--@mbg.generated-->
id, practitioner_potential_id, invitee_practitioner_id, `name`, mobile_no, id_type_id,
id_type, id_no, gender, practitioner_birthdate, province_id, province_name, city_id,
city_name, resident_address, wechat_id, email, personer_picture_oss_path, payroll_oss_path, id_front_page_oss_path,
city_name, resident_address, wechat_id,
wechat_QRcode_oss_path,
email, personer_picture_oss_path, payroll_oss_path, id_front_page_oss_path,
id_back_page_oss_path, last_graduate_code, last_graduate_grade, last_graduate_school, last_graduate_certification_oss_path,
bank_account_opening, bank_account_id, personal_sign_oss_path, is_active, created_at,
created_by, updated_at, updated_by, approve_status
...
...
@@ -324,6 +325,9 @@
<if
test=
"wechatId != null"
>
wechat_id = #{wechatId,jdbcType=VARCHAR},
</if>
<if
test=
"wechatQRcodeOssPath != null"
>
wechat_QRcode_oss_path = #{wechatQRcodeOssPath,jdbcType=VARCHAR},
</if>
<if
test=
"email != null"
>
email = #{email,jdbcType=VARCHAR},
</if>
...
...
yd-api/src/main/resources/mapper/customer/AclPractitionerMapper.xml
View file @
ad453917
...
...
@@ -1458,6 +1458,7 @@
<result
column=
"practitionerRegNo"
property=
"practitionerRegNo"
/>
<result
column=
"canSeeSalaryList"
property=
"canSeeSalaryList"
/>
<result
column=
"mentor_id"
property=
"mentorId"
/>
<result
column=
"yd_wechat_openid"
property=
"ydWechatOpenid"
/>
<result
column=
"mobile_no"
jdbcType=
"VARCHAR"
property=
"mobileNo"
typeHandler=
"com.yd.util.deshandler.DESTypeHandler"
/>
</resultMap>
...
...
@@ -1941,8 +1942,10 @@
p.practitioner_reg_no as practitionerRegNo,
p.mobile_no,
p.mentor_id mentorId,
c.yd_wechat_openid,
p.can_see_salary_list as canSeeSalaryList
from ag_acl_practitioner p
left join ag_acl_customer c on c.id = p.customer_id
left join ag_acl_insurer_branch b on p.insurer_branch_id = b.id
left join ag_acl_practitioner_subordinate_system sys on p.subordinate_system_id = sys.id
left join ag_acl_practitioner_setting s on p.id = s.practitioner_id
...
...
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